ez-vid-ang 0.0.10 → 21.0.1

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/README.md CHANGED
@@ -2,9 +2,6 @@
2
2
 
3
3
  Highly configurable, performant and easy-to-use Angular component library for video playback and streaming.
4
4
 
5
- > [!CAUTION]
6
- > This package is still under development and is not ready for use in production. Use at your own risk.
7
-
8
5
  ## Why to use it?
9
6
  🚦 **Signal based components** - Granular and optimized render updates<br/>
10
7
  ⚡ **Zoneless** - Built for zoneless Angular applications by default<br/>
@@ -915,10 +915,10 @@ class EvaApi {
915
915
  }
916
916
  return parsed;
917
917
  }
918
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
919
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaApi, providedIn: 'root' });
918
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaApi, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
919
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaApi, providedIn: 'root' });
920
920
  }
921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaApi, decorators: [{
921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaApi, decorators: [{
922
922
  type: Injectable,
923
923
  args: [{
924
924
  providedIn: 'root',
@@ -954,10 +954,10 @@ class EvaBuffering {
954
954
  * @default true
955
955
  */
956
956
  defaultSpinner = input(true, ...(ngDevMode ? [{ debugName: "defaultSpinner" }] : []));
957
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaBuffering, deps: [], target: i0.ɵɵFactoryTarget.Component });
958
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaBuffering, isStandalone: true, selector: "eva-buffering", inputs: { defaultSpinner: { classPropertyName: "defaultSpinner", publicName: "defaultSpinner", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.eva-display-buffering": "evaAPI.isBuffering()" } }, ngImport: i0, template: "@if(defaultSpinner()) {\n<div class=\"eva-loader-meteor\"></div>\n}\n@else {\n<ng-content></ng-content>\n}", styles: [":host{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;transition:visibility var(--eva-transition-duration) linear,opacity var(--eva-transition-duration) linear;background-color:var(--eva-buffering-background-color);z-index:302;visibility:hidden;opacity:0}:host(.eva-display-buffering){visibility:visible!important;opacity:1!important}.eva-loader-meteor{width:var(--eva-buffering-default-spinner-size);height:var(--eva-buffering-default-spinner-size);border-radius:50%;display:inline-block;border-top:3px solid #fff;border-right:3px solid transparent;box-sizing:border-box;animation:eva-loader-meteor-rotation var(--eva-buffering-spinner-animation-speed) linear infinite}@keyframes eva-loader-meteor-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
957
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaBuffering, deps: [], target: i0.ɵɵFactoryTarget.Component });
958
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaBuffering, isStandalone: true, selector: "eva-buffering", inputs: { defaultSpinner: { classPropertyName: "defaultSpinner", publicName: "defaultSpinner", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.eva-display-buffering": "evaAPI.isBuffering()" } }, ngImport: i0, template: "@if(defaultSpinner()) {\n<div class=\"eva-loader-meteor\"></div>\n}\n@else {\n<ng-content></ng-content>\n}", styles: [":host{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;transition:visibility var(--eva-transition-duration) linear,opacity var(--eva-transition-duration) linear;background-color:var(--eva-buffering-background-color);z-index:302;visibility:hidden;opacity:0}:host(.eva-display-buffering){visibility:visible!important;opacity:1!important}.eva-loader-meteor{width:var(--eva-buffering-default-spinner-size);height:var(--eva-buffering-default-spinner-size);border-radius:50%;display:inline-block;border-top:3px solid #fff;border-right:3px solid transparent;box-sizing:border-box;animation:eva-loader-meteor-rotation var(--eva-buffering-spinner-animation-speed) linear infinite}@keyframes eva-loader-meteor-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
959
959
  }
960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaBuffering, decorators: [{
960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaBuffering, decorators: [{
961
961
  type: Component,
962
962
  args: [{ selector: 'eva-buffering', changeDetection: ChangeDetectionStrategy.OnPush, host: {
963
963
  "[class.eva-display-buffering]": "evaAPI.isBuffering()"
@@ -1261,10 +1261,10 @@ class EvaActiveChapter {
1261
1261
  this.activeChapterClicked();
1262
1262
  }
1263
1263
  }
1264
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaActiveChapter, deps: [], target: i0.ɵɵFactoryTarget.Component });
1265
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaActiveChapter, isStandalone: true, selector: "eva-active-chapter", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { evaChapterClicked: "evaChapterClicked" }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "activeChapterClicked()", "keydown": "activeChapterClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel" } }, ngImport: i0, template: "@if(activeChapter()){\n<span>{{activeChapter()!.title ? activeChapter()!.title : \"\"}}</span>\n\n@if(evaCustomIcon()){\n<ng-content />\n}\n@else {\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"var(--eva-active-chapter-icon-color)\"\n\tviewBox=\"0 0 16 16\">\n\t<path fill-rule=\"evenodd\"\n\t\td=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708\" />\n</svg>\n}\n}", styles: [":host{position:relative;display:flex;justify-content:space-between;align-items:center;height:var(--eva-control-element-height);min-width:var(--eva-active-chapter-min-width);width:var(--eva-active-chapter-width);max-width:var(--eva-active-chapter-max-width);cursor:pointer;color:var(--eva-icon-color);font-family:var(--eva-font-family);outline:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;padding:var(--eva-active-chapter-padding)}:host:hover{background-color:var(--eva-active-chapter-hover-background);border-radius:4px}:host>span{padding-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1264
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaActiveChapter, deps: [], target: i0.ɵɵFactoryTarget.Component });
1265
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaActiveChapter, isStandalone: true, selector: "eva-active-chapter", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { evaChapterClicked: "evaChapterClicked" }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "activeChapterClicked()", "keydown": "activeChapterClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel" } }, ngImport: i0, template: "@if(activeChapter()){\n<span>{{activeChapter()!.title ? activeChapter()!.title : \"\"}}</span>\n\n@if(evaCustomIcon()){\n<ng-content />\n}\n@else {\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"var(--eva-active-chapter-icon-color)\"\n\tviewBox=\"0 0 16 16\">\n\t<path fill-rule=\"evenodd\"\n\t\td=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708\" />\n</svg>\n}\n}", styles: [":host{position:relative;display:flex;justify-content:space-between;align-items:center;height:var(--eva-control-element-height);min-width:var(--eva-active-chapter-min-width);width:var(--eva-active-chapter-width);max-width:var(--eva-active-chapter-max-width);cursor:pointer;color:var(--eva-icon-color);font-family:var(--eva-font-family);outline:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;padding:var(--eva-active-chapter-padding)}:host:hover{background-color:var(--eva-active-chapter-hover-background);border-radius:4px}:host>span{padding-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1266
1266
  }
1267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaActiveChapter, decorators: [{
1267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaActiveChapter, decorators: [{
1268
1268
  type: Component,
1269
1269
  args: [{ selector: 'eva-active-chapter', changeDetection: ChangeDetectionStrategy.OnPush, host: {
1270
1270
  "tabindex": "0",
@@ -1344,10 +1344,10 @@ class EvaBackward {
1344
1344
  this.backwardClicked();
1345
1345
  }
1346
1346
  }
1347
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaBackward, deps: [], target: i0.ɵɵFactoryTarget.Component });
1348
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaBackward, isStandalone: true, selector: "eva-backward", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaForwardSeconds: { classPropertyName: "evaForwardSeconds", publicName: "evaForwardSeconds", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "backwardClicked()", "keydown": "backwardClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-replay_10": "!evaCustomIcon() && evaForwardSeconds() === 10", "class.eva-icon-replay_30": "!evaCustomIcon() && evaForwardSeconds() === 30" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaBackward, deps: [], target: i0.ɵɵFactoryTarget.Component });
1348
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaBackward, isStandalone: true, selector: "eva-backward", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaForwardSeconds: { classPropertyName: "evaForwardSeconds", publicName: "evaForwardSeconds", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "backwardClicked()", "keydown": "backwardClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-replay_10": "!evaCustomIcon() && evaForwardSeconds() === 10", "class.eva-icon-replay_30": "!evaCustomIcon() && evaForwardSeconds() === 30" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1349
1349
  }
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaBackward, decorators: [{
1350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaBackward, decorators: [{
1351
1351
  type: Component,
1352
1352
  args: [{ selector: 'eva-backward', changeDetection: ChangeDetectionStrategy.OnPush, host: {
1353
1353
  "tabindex": "0",
@@ -1392,10 +1392,10 @@ class EvaControlsDivider {
1392
1392
  * - `ariaLabel` → `"Controls divider"`
1393
1393
  */
1394
1394
  evaAria = input(transformEvaControlsDividerAria(undefined), { ...(ngDevMode ? { debugName: "evaAria" } : {}), transform: transformEvaControlsDividerAria });
1395
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaControlsDivider, deps: [], target: i0.ɵɵFactoryTarget.Component });
1396
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.2", type: EvaControlsDivider, isStandalone: true, selector: "eva-controls-divider", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "separator", "aria-orientation": "horizontal", "aria-valuemin": "0", "aria-valuemax": "100" }, properties: { "attr.aria-label": "evaAria().ariaLabel" } }, ngImport: i0, template: "", styles: [":host{display:flex;align-items:center;justify-content:center;height:var(--eva-scrub-bar-heights);flex-grow:1;flex-basis:0;margin:0;padding:0;border:0;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1395
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaControlsDivider, deps: [], target: i0.ɵɵFactoryTarget.Component });
1396
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: EvaControlsDivider, isStandalone: true, selector: "eva-controls-divider", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "separator", "aria-orientation": "horizontal", "aria-valuemin": "0", "aria-valuemax": "100" }, properties: { "attr.aria-label": "evaAria().ariaLabel" } }, ngImport: i0, template: "", styles: [":host{display:flex;align-items:center;justify-content:center;height:var(--eva-scrub-bar-heights);flex-grow:1;flex-basis:0;margin:0;padding:0;border:0;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1397
1397
  }
1398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaControlsDivider, decorators: [{
1398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaControlsDivider, decorators: [{
1399
1399
  type: Component,
1400
1400
  args: [{ selector: 'eva-controls-divider', changeDetection: ChangeDetectionStrategy.OnPush, host: {
1401
1401
  "tabindex": "0",
@@ -1701,10 +1701,10 @@ class EvaControlsContainer {
1701
1701
  this.evaAPI.componentsContainerVisibilityStateSubject.next(true);
1702
1702
  }, this.evaAutohideTime());
1703
1703
  }
1704
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaControlsContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
1705
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.2", type: EvaControlsContainer, isStandalone: true, selector: "eva-controls-container", inputs: { evaAutohide: { classPropertyName: "evaAutohide", publicName: "evaAutohide", isSignal: true, isRequired: false, transformFunction: null }, evaAutohideTime: { classPropertyName: "evaAutohideTime", publicName: "evaAutohideTime", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.hide": "hideControls()" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{position:absolute;bottom:0;left:0;display:flex;align-items:center;column-gap:var(--eva-controls-container-controls-spacing);width:100%;height:var(--eva-control-element-height);z-index:302;background-color:var(--eva-controls-container-background-color);opacity:1;transition:bottom var(--eva-transition-duration) ease-in-out,opacity var(--eva-transition-duration) ease-in-out}:host(.hide){bottom:calc(-1 * var(--eva-control-element-height))!important;opacity:0!important}\n"] });
1704
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaControlsContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
1705
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: EvaControlsContainer, isStandalone: true, selector: "eva-controls-container", inputs: { evaAutohide: { classPropertyName: "evaAutohide", publicName: "evaAutohide", isSignal: true, isRequired: false, transformFunction: null }, evaAutohideTime: { classPropertyName: "evaAutohideTime", publicName: "evaAutohideTime", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.hide": "hideControls()" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{position:absolute;bottom:0;left:0;display:flex;align-items:center;column-gap:var(--eva-controls-container-controls-spacing);width:100%;height:var(--eva-control-element-height);z-index:302;background-color:var(--eva-controls-container-background-color);opacity:1;transition:bottom var(--eva-transition-duration) ease-in-out,opacity var(--eva-transition-duration) ease-in-out}:host(.hide){bottom:calc(-1 * var(--eva-control-element-height))!important;opacity:0!important}\n"] });
1706
1706
  }
1707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaControlsContainer, decorators: [{
1707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaControlsContainer, decorators: [{
1708
1708
  type: Component,
1709
1709
  args: [{ selector: 'eva-controls-container', host: {
1710
1710
  "[class.hide]": "hideControls()"
@@ -1780,10 +1780,10 @@ class EvaForward {
1780
1780
  this.forwardClicked();
1781
1781
  }
1782
1782
  }
1783
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaForward, deps: [], target: i0.ɵɵFactoryTarget.Component });
1784
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaForward, isStandalone: true, selector: "eva-forward", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaForwardSeconds: { classPropertyName: "evaForwardSeconds", publicName: "evaForwardSeconds", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "forwardClicked()", "keydown": "forwardClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-forward_10": "!evaCustomIcon() && evaForwardSeconds() === 10", "class.eva-icon-forward_30": "!evaCustomIcon() && evaForwardSeconds() === 30" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1783
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaForward, deps: [], target: i0.ɵɵFactoryTarget.Component });
1784
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaForward, isStandalone: true, selector: "eva-forward", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaForwardSeconds: { classPropertyName: "evaForwardSeconds", publicName: "evaForwardSeconds", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "forwardClicked()", "keydown": "forwardClickedKeyboard($event)" }, properties: { "attr.aria-label": "evaAria().ariaLabel", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-forward_10": "!evaCustomIcon() && evaForwardSeconds() === 10", "class.eva-icon-forward_30": "!evaCustomIcon() && evaForwardSeconds() === 30" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1785
1785
  }
1786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaForward, decorators: [{
1786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaForward, decorators: [{
1787
1787
  type: Component,
1788
1788
  args: [{ selector: 'eva-forward', changeDetection: ChangeDetectionStrategy.OnPush, host: {
1789
1789
  "tabindex": "0",
@@ -2073,10 +2073,10 @@ class EvaFullscreenAPI {
2073
2073
  destroy() {
2074
2074
  this.isFullscreenSubject.complete();
2075
2075
  }
2076
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaFullscreenAPI, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2077
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaFullscreenAPI, providedIn: 'root' });
2076
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaFullscreenAPI, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2077
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaFullscreenAPI, providedIn: 'root' });
2078
2078
  }
2079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaFullscreenAPI, decorators: [{
2079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaFullscreenAPI, decorators: [{
2080
2080
  type: Injectable,
2081
2081
  args: [{
2082
2082
  providedIn: 'root',
@@ -2217,10 +2217,10 @@ class EvaFullscreen {
2217
2217
  }
2218
2218
  return null;
2219
2219
  }
2220
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaFullscreen, deps: [], target: i0.ɵɵFactoryTarget.Component });
2221
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.2", type: EvaFullscreen, isStandalone: true, selector: "eva-fullscreen", inputs: { evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "fullscreenClicked()", "keydown": "fullscreenClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-fullscreen": "!evaCustomIcon()" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:flex;justify-content:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2220
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaFullscreen, deps: [], target: i0.ɵɵFactoryTarget.Component });
2221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: EvaFullscreen, isStandalone: true, selector: "eva-fullscreen", inputs: { evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "fullscreenClicked()", "keydown": "fullscreenClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-fullscreen": "!evaCustomIcon()" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:flex;justify-content:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2222
2222
  }
2223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaFullscreen, decorators: [{
2223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaFullscreen, decorators: [{
2224
2224
  type: Component,
2225
2225
  args: [{ selector: 'eva-fullscreen', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2226
2226
  "tabindex": "0",
@@ -2370,10 +2370,10 @@ class EvaMute {
2370
2370
  this.muteClicked();
2371
2371
  }
2372
2372
  }
2373
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaMute, deps: [], target: i0.ɵɵFactoryTarget.Component });
2374
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaMute, isStandalone: true, selector: "eva-mute", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaLowVolume: { classPropertyName: "evaLowVolume", publicName: "evaLowVolume", isSignal: true, isRequired: false, transformFunction: null }, evaMiddleVolume: { classPropertyName: "evaMiddleVolume", publicName: "evaMiddleVolume", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "muteClicked()", "keydown": "muteClickKeyboard($event)" }, properties: { "attr.aria-label": "muteAriaLabel()", "attr.aria-valuetext": "muteAriaValueText()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-volume_up": "!evaCustomIcon() && evaIconVolumeUp()", "class.eva-icon-volume_middle": "!evaCustomIcon() && evaIconVolumeMiddle()", "class.eva-icon-volume_low": "!evaCustomIcon() && evaIconVolumeLow()", "class.eva-icon-volume_off": "!evaCustomIcon() && evaIconVolumeOff()" } }, ngImport: i0, template: "@if (evaCustomIcon() && evaIconVolumeOff()) {\n<ng-content select=\"[evaVolumeOff]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeLow()) {\n<ng-content select=\"[evaVolumeLow]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeMiddle()) {\n<ng-content select=\"[evaVolumeMiddle]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeUp()) {\n<ng-content select=\"[evaVolumeUp]\"></ng-content>\n}", styles: [":host{display:flex;justify-content:center;width:50px;height:var(--eva-control-element-height);color:var(--eva-icon-color);cursor:pointer;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2373
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaMute, deps: [], target: i0.ɵɵFactoryTarget.Component });
2374
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaMute, isStandalone: true, selector: "eva-mute", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaLowVolume: { classPropertyName: "evaLowVolume", publicName: "evaLowVolume", isSignal: true, isRequired: false, transformFunction: null }, evaMiddleVolume: { classPropertyName: "evaMiddleVolume", publicName: "evaMiddleVolume", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "muteClicked()", "keydown": "muteClickKeyboard($event)" }, properties: { "attr.aria-label": "muteAriaLabel()", "attr.aria-valuetext": "muteAriaValueText()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-volume_up": "!evaCustomIcon() && evaIconVolumeUp()", "class.eva-icon-volume_middle": "!evaCustomIcon() && evaIconVolumeMiddle()", "class.eva-icon-volume_low": "!evaCustomIcon() && evaIconVolumeLow()", "class.eva-icon-volume_off": "!evaCustomIcon() && evaIconVolumeOff()" } }, ngImport: i0, template: "@if (evaCustomIcon() && evaIconVolumeOff()) {\n<ng-content select=\"[evaVolumeOff]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeLow()) {\n<ng-content select=\"[evaVolumeLow]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeMiddle()) {\n<ng-content select=\"[evaVolumeMiddle]\"></ng-content>\n}\n@if (evaCustomIcon() && evaIconVolumeUp()) {\n<ng-content select=\"[evaVolumeUp]\"></ng-content>\n}", styles: [":host{display:flex;justify-content:center;width:50px;height:var(--eva-control-element-height);color:var(--eva-icon-color);cursor:pointer;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2375
2375
  }
2376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaMute, decorators: [{
2376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaMute, decorators: [{
2377
2377
  type: Component,
2378
2378
  args: [{ selector: 'eva-mute', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2379
2379
  "tabindex": "0",
@@ -2478,10 +2478,10 @@ class EvaOverlayPlay {
2478
2478
  this.playClicked();
2479
2479
  }
2480
2480
  }
2481
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaOverlayPlay, deps: [], target: i0.ɵɵFactoryTarget.Component });
2482
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.2", type: EvaOverlayPlay, isStandalone: true, selector: "eva-overlay-play", inputs: { evaOvelayPlayAria: { classPropertyName: "evaOvelayPlayAria", publicName: "evaOvelayPlayAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, listeners: { "click": "playClicked()", "keydown": "playClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-play_arrow": "!evaCustomIcon() && evaIconPlay()", "class.eva-display-overlay-play": "evaIconPlay() && !evaAPI.isBuffering()" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:flex;align-items:center;justify-content:center;width:100%;height:calc(100% - var(--eva-control-element-height));cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;position:absolute;top:0;left:0;transition:visibility var(--eva-transition-duration) linear,background-color var(--eva-transition-duration) linear,opacity var(--eva-transition-duration) linear;background-color:#0000;z-index:301;visibility:hidden;opacity:0}:host(.eva-display-overlay-play){background-color:var(--eva-overlay-play-background-color)!important;opacity:1!important;visibility:visible!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2481
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaOverlayPlay, deps: [], target: i0.ɵɵFactoryTarget.Component });
2482
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.9", type: EvaOverlayPlay, isStandalone: true, selector: "eva-overlay-play", inputs: { evaOvelayPlayAria: { classPropertyName: "evaOvelayPlayAria", publicName: "evaOvelayPlayAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0" }, listeners: { "click": "playClicked()", "keydown": "playClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-play_arrow": "!evaCustomIcon() && evaIconPlay()", "class.eva-display-overlay-play": "evaIconPlay() && !evaAPI.isBuffering()" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [":host{display:flex;align-items:center;justify-content:center;width:100%;height:calc(100% - var(--eva-control-element-height));cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;position:absolute;top:0;left:0;transition:visibility var(--eva-transition-duration) linear,background-color var(--eva-transition-duration) linear,opacity var(--eva-transition-duration) linear;background-color:#0000;z-index:301;visibility:hidden;opacity:0}:host(.eva-display-overlay-play){background-color:var(--eva-overlay-play-background-color)!important;opacity:1!important;visibility:visible!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2483
2483
  }
2484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaOverlayPlay, decorators: [{
2484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaOverlayPlay, decorators: [{
2485
2485
  type: Component,
2486
2486
  args: [{ selector: 'eva-overlay-play', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2487
2487
  "tabindex": "0",
@@ -2608,10 +2608,10 @@ class EvaPictureInPicture {
2608
2608
  this.pipClicked();
2609
2609
  }
2610
2610
  }
2611
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPictureInPicture, deps: [], target: i0.ɵɵFactoryTarget.Component });
2612
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaPictureInPicture, isStandalone: true, selector: "eva-picture-in-picture", inputs: { evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "pipClicked()", "keydown": "pipClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValueText()" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}\n@else {\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"var(--eva-icon-color)\"\n\tstyle=\"width: 50%; height: 50%\">\n\t<path\n\t\td=\"M19,11H11V17H19V11M23,19V5C23,3.88 22.1,3 21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19M21,19H3V4.97H21V19Z\" />\n</svg>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>svg{pointer-events:none!important;user-select:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPictureInPicture, deps: [], target: i0.ɵɵFactoryTarget.Component });
2612
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaPictureInPicture, isStandalone: true, selector: "eva-picture-in-picture", inputs: { evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "pipClicked()", "keydown": "pipClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValueText()" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n<ng-content></ng-content>\n}\n@else {\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"var(--eva-icon-color)\"\n\tstyle=\"width: 50%; height: 50%\">\n\t<path\n\t\td=\"M19,11H11V17H19V11M23,19V5C23,3.88 22.1,3 21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19M21,19H3V4.97H21V19Z\" />\n</svg>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}:host>svg{pointer-events:none!important;user-select:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2613
2613
  }
2614
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPictureInPicture, decorators: [{
2614
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPictureInPicture, decorators: [{
2615
2615
  type: Component,
2616
2616
  args: [{ selector: 'eva-picture-in-picture', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2617
2617
  "tabindex": "0",
@@ -2683,10 +2683,10 @@ class EvaTimeDisplayPipe {
2683
2683
  pad(num) {
2684
2684
  return num.toString().padStart(2, '0');
2685
2685
  }
2686
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTimeDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2687
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: EvaTimeDisplayPipe, isStandalone: true, name: "evaTimeDisplay" });
2686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTimeDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2687
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.9", ngImport: i0, type: EvaTimeDisplayPipe, isStandalone: true, name: "evaTimeDisplay" });
2688
2688
  }
2689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTimeDisplayPipe, decorators: [{
2689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTimeDisplayPipe, decorators: [{
2690
2690
  type: Pipe,
2691
2691
  args: [{
2692
2692
  name: 'evaTimeDisplay',
@@ -2833,10 +2833,10 @@ class EvaPlayPause {
2833
2833
  this.playPauseClicked();
2834
2834
  }
2835
2835
  }
2836
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlayPause, deps: [], target: i0.ɵɵFactoryTarget.Component });
2837
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaPlayPause, isStandalone: true, selector: "eva-play-pause", inputs: { evaPlayPauseAria: { classPropertyName: "evaPlayPauseAria", publicName: "evaPlayPauseAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { playingStateChanged: "playingStateChanged" }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "playPauseClicked()", "keydown": "playPauseClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValueText()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-pause": "!evaCustomIcon() && evaIconPause()", "class.eva-icon-play_arrow": "!evaCustomIcon() && evaIconPlay()" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n@if(evaIconPause()){\n<ng-content select=\"[evaPause]\"></ng-content>\n}\n@if(evaIconPlay()){\n<ng-content select=\"[evaPlay]\"></ng-content>\n}\n}", styles: [":host{display:flex;justify-content:center;height:var(--eva-control-element-height);width:50px;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:pointer}:host>img{pointer-events:none;-webkit-user-select:none;user-select:none;width:32px;height:32px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2836
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlayPause, deps: [], target: i0.ɵɵFactoryTarget.Component });
2837
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaPlayPause, isStandalone: true, selector: "eva-play-pause", inputs: { evaPlayPauseAria: { classPropertyName: "evaPlayPauseAria", publicName: "evaPlayPauseAria", isSignal: true, isRequired: false, transformFunction: null }, evaCustomIcon: { classPropertyName: "evaCustomIcon", publicName: "evaCustomIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { playingStateChanged: "playingStateChanged" }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "playPauseClicked()", "keydown": "playPauseClickedKeyboard($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValueText()", "class.eva-icon": "!evaCustomIcon()", "class.eva-icon-pause": "!evaCustomIcon() && evaIconPause()", "class.eva-icon-play_arrow": "!evaCustomIcon() && evaIconPlay()" } }, ngImport: i0, template: "@if(evaCustomIcon()){\n@if(evaIconPause()){\n<ng-content select=\"[evaPause]\"></ng-content>\n}\n@if(evaIconPlay()){\n<ng-content select=\"[evaPlay]\"></ng-content>\n}\n}", styles: [":host{display:flex;justify-content:center;height:var(--eva-control-element-height);width:50px;color:var(--eva-icon-color);user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:pointer}:host>img{pointer-events:none;-webkit-user-select:none;user-select:none;width:32px;height:32px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2838
2838
  }
2839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlayPause, decorators: [{
2839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlayPause, decorators: [{
2840
2840
  type: Component,
2841
2841
  args: [{ selector: 'eva-play-pause', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2842
2842
  "tabindex": "0",
@@ -3075,10 +3075,10 @@ class EvaPlaybackSpeed {
3075
3075
  this.evaAPI.controlsSelectorComponentActive.next(false);
3076
3076
  }
3077
3077
  }
3078
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlaybackSpeed, deps: [], target: i0.ɵɵFactoryTarget.Component });
3079
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaPlaybackSpeed, isStandalone: true, selector: "eva-playback-speed", inputs: { evaPlaybackSpeeds: { classPropertyName: "evaPlaybackSpeeds", publicName: "evaPlaybackSpeeds", isSignal: true, isRequired: true, transformFunction: null }, evaDefaultPlaybackSpeed: { classPropertyName: "evaDefaultPlaybackSpeed", publicName: "evaDefaultPlaybackSpeed", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "playbackClicked()", "keydown": "playbackClickedKeyboard($event)", "blur": "handleBlur($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "currentSpeed() + 'x'", "class.open": "isOpen()" } }, ngImport: i0, template: "<div class=\"eva-playback-speed-container\">\n\t<!-- Current Speed Display Button -->\n\t<div class=\"eva-playback-speed-button\">\n\t\t<span class=\"speed-icon\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">{{ formatSpeed(currentSpeed()) }}</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-playback-speed-dropdown\" [class.show]=\"isOpen()\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\">{{evaAria().ariaLabel}}</div>\n\t\t\t<div class=\"speed-options\">\n\t\t\t\t@for (speed of evaPlaybackSpeeds(); track speed) {\n\t\t\t\t<button type=\"button\" class=\"speed-option\" [class.active]=\"speed === currentSpeed()\"\n\t\t\t\t\t(click)=\"selectSpeed(speed, $index)\" [attr.aria-selected]=\"speed === currentSpeed()\" role=\"option\">\n\t\t\t\t\t<span class=\"speed-text\">{{ formatSpeed(speed) }}</span>\n\t\t\t\t\t@if (speed === currentSpeed()) {\n\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:80px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-playback-speed-hover-background);border-radius:4px}:host.open{background-color:var(--eva-playback-speed-opened-background);border-radius:4px}.eva-playback-speed-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-playback-speed-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-playback-speed-button .speed-icon{display:none}.eva-playback-speed-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-label-font-size);color:var(--eva-playback-speed-label-color);white-space:nowrap;line-height:1}.eva-playback-speed-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-playback-speed-dropdown-arrow-size);height:var(--eva-playback-speed-dropdown-arrow-size);color:var(--eva-playback-speed-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-playback-speed-button .dropdown-arrow svg{width:100%;height:100%}.eva-playback-speed-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-playback-speed-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-12px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-playback-speed-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(calc(-12px - var(--eva-scrub-bar-heights))) scale(1)}@media(max-width:768px){.eva-playback-speed-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-playback-speed-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-playback-speed-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-playback-speed-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-playback-speed-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-playback-speed-dropdown-content-header-font-color);border-bottom:var(--eva-playback-speed-dropdown-content-header-bottom-border)}.speed-options{padding:4px;max-height:280px;overflow-y:auto}.speed-options::-webkit-scrollbar{width:6px}.speed-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.speed-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.speed-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.speed-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-durations) ease,transform var(--eva-transition-duration) ease;outline:none}.speed-option:hover{background-color:var(--eva-playback-speed-dropdown-content-speed-option-bacground-hover)}.speed-option:active{transform:scale(.98)}.speed-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.speed-option.active{background-color:var(--eva-playback-speed-dropdown-content-speed-option-icon-active)}.speed-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-dropdown-content-speed-option-font-size);font-weight:500;color:var(--eva-playback-speed-dropdown-content-speed-option-font-color);transition:color var(--eva-transition-duration) ease}.speed-option .checkmark{display:flex;align-items:center;width:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-size);height:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-size);color:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.speed-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlaybackSpeed, deps: [], target: i0.ɵɵFactoryTarget.Component });
3079
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaPlaybackSpeed, isStandalone: true, selector: "eva-playback-speed", inputs: { evaPlaybackSpeeds: { classPropertyName: "evaPlaybackSpeeds", publicName: "evaPlaybackSpeeds", isSignal: true, isRequired: true, transformFunction: null }, evaDefaultPlaybackSpeed: { classPropertyName: "evaDefaultPlaybackSpeed", publicName: "evaDefaultPlaybackSpeed", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "playbackClicked()", "keydown": "playbackClickedKeyboard($event)", "blur": "handleBlur($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "currentSpeed() + 'x'", "class.open": "isOpen()" } }, ngImport: i0, template: "<div class=\"eva-playback-speed-container\">\n\t<!-- Current Speed Display Button -->\n\t<div class=\"eva-playback-speed-button\">\n\t\t<span class=\"speed-icon\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">{{ formatSpeed(currentSpeed()) }}</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-playback-speed-dropdown\" [class.show]=\"isOpen()\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\">{{evaAria().ariaLabel}}</div>\n\t\t\t<div class=\"speed-options\">\n\t\t\t\t@for (speed of evaPlaybackSpeeds(); track speed) {\n\t\t\t\t<button type=\"button\" class=\"speed-option\" [class.active]=\"speed === currentSpeed()\"\n\t\t\t\t\t(click)=\"selectSpeed(speed, $index)\" [attr.aria-selected]=\"speed === currentSpeed()\" role=\"option\">\n\t\t\t\t\t<span class=\"speed-text\">{{ formatSpeed(speed) }}</span>\n\t\t\t\t\t@if (speed === currentSpeed()) {\n\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:80px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-playback-speed-hover-background);border-radius:4px}:host.open{background-color:var(--eva-playback-speed-opened-background);border-radius:4px}.eva-playback-speed-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-playback-speed-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-playback-speed-button .speed-icon{display:none}.eva-playback-speed-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-label-font-size);color:var(--eva-playback-speed-label-color);white-space:nowrap;line-height:1}.eva-playback-speed-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-playback-speed-dropdown-arrow-size);height:var(--eva-playback-speed-dropdown-arrow-size);color:var(--eva-playback-speed-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-playback-speed-button .dropdown-arrow svg{width:100%;height:100%}.eva-playback-speed-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-playback-speed-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-12px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-playback-speed-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(calc(-12px - var(--eva-scrub-bar-heights))) scale(1)}@media(max-width:768px){.eva-playback-speed-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-playback-speed-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-playback-speed-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-playback-speed-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-playback-speed-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-playback-speed-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-playback-speed-dropdown-content-header-font-color);border-bottom:var(--eva-playback-speed-dropdown-content-header-bottom-border)}.speed-options{padding:4px;max-height:280px;overflow-y:auto}.speed-options::-webkit-scrollbar{width:6px}.speed-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.speed-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.speed-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.speed-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-durations) ease,transform var(--eva-transition-duration) ease;outline:none}.speed-option:hover{background-color:var(--eva-playback-speed-dropdown-content-speed-option-bacground-hover)}.speed-option:active{transform:scale(.98)}.speed-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.speed-option.active{background-color:var(--eva-playback-speed-dropdown-content-speed-option-icon-active)}.speed-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-playback-speed-dropdown-content-speed-option-font-size);font-weight:500;color:var(--eva-playback-speed-dropdown-content-speed-option-font-color);transition:color var(--eva-transition-duration) ease}.speed-option .checkmark{display:flex;align-items:center;width:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-size);height:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-size);color:var(--eva-playback-speed-dropdown-content-speed-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.speed-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3080
3080
  }
3081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlaybackSpeed, decorators: [{
3081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlaybackSpeed, decorators: [{
3082
3082
  type: Component,
3083
3083
  args: [{ selector: 'eva-playback-speed', changeDetection: ChangeDetectionStrategy.OnPush, host: {
3084
3084
  "tabindex": "0",
@@ -3294,10 +3294,10 @@ class EvaQualitySelector {
3294
3294
  this.evaAPI.controlsSelectorComponentActive.next(false);
3295
3295
  }
3296
3296
  }
3297
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaQualitySelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
3298
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaQualitySelector, isStandalone: true, selector: "eva-quality-selector", inputs: { evaQualitySelectorText: { classPropertyName: "evaQualitySelectorText", publicName: "evaQualitySelectorText", isSignal: true, isRequired: false, transformFunction: null }, evaQualityAutoText: { classPropertyName: "evaQualityAutoText", publicName: "evaQualityAutoText", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "onClicked()", "keydown": "onKeyDown($event)", "blur": "onBlur($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "currentQuality()?.label ?? evaQualityAutoText()", "class.open": "isOpen()" } }, ngImport: i0, template: "<div class=\"eva-quality-selector-container\">\n\t<!-- Current Quality Display Button -->\n\t<div class=\"eva-quality-selector-button\">\n\t\t<span class=\"speed-icon\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">\n\t\t\t{{ currentQuality() ? formatQuality(currentQuality()!) : evaQualityAutoText() }}\n\t\t</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-quality-selector-dropdown\" [class.show]=\"isOpen()\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\">{{ evaQualitySelectorText() }}</div>\n\t\t\t<div class=\"quality-options\">\n\t\t\t\t@for (quality of qualities(); track quality.qualityIndex) {\n\t\t\t\t<button type=\"button\" class=\"quality-option\"\n\t\t\t\t\t[class.active]=\"quality.qualityIndex === currentQuality()?.qualityIndex\"\n\t\t\t\t\t(click)=\"selectQuality(quality, $index)\"\n\t\t\t\t\t[attr.aria-selected]=\"quality.qualityIndex === currentQuality()?.qualityIndex\" role=\"option\">\n\t\t\t\t\t<span class=\"speed-text\">{{ formatQuality(quality) }}</span>\n\t\t\t\t\t@if (quality.qualityIndex === currentQuality()?.qualityIndex) {\n\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:80px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-quality-selector-hover-background);border-radius:4px}:host.open{background-color:var(--eva-quality-selector-opened-background);border-radius:4px}.eva-quality-selector-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-quality-selector-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-quality-selector-button .speed-icon{display:none}.eva-quality-selector-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-label-font-size);color:var(--eva-quality-selector-label-color);white-space:nowrap;line-height:1}.eva-quality-selector-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-quality-selector-dropdown-arrow-size);height:var(--eva-quality-selector-dropdown-arrow-size);color:var(--eva-quality-selector-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-quality-selector-button .dropdown-arrow svg{width:100%;height:100%}.eva-quality-selector-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-quality-selector-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-12px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-quality-selector-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(calc(-12px - var(--eva-scrub-bar-heights))) scale(1)}@media(max-width:768px){.eva-quality-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-quality-selector-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-quality-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-quality-selector-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-quality-selector-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-quality-selector-dropdown-content-header-font-color);border-bottom:var(--eva-quality-selector-dropdown-content-header-bottom-border)}.quality-options{padding:4px;max-height:280px;overflow-y:auto}.quality-options::-webkit-scrollbar{width:6px}.quality-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.quality-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.quality-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.quality-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-durations) ease,transform var(--eva-transition-duration) ease;outline:none}.quality-option:hover{background-color:var(--eva-quality-selector-dropdown-content-quality-option-bacground-hover)}.quality-option:active{transform:scale(.98)}.quality-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.quality-option.active{background-color:var(--eva-quality-selector-dropdown-content-quality-option-icon-active)}.quality-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-dropdown-content-quality-option-font-size);font-weight:500;color:var(--eva-quality-selector-dropdown-content-quality-option-font-color);transition:color var(--eva-transition-duration) ease}.quality-option .checkmark{display:flex;align-items:center;width:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-size);height:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-size);color:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.quality-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3297
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaQualitySelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
3298
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaQualitySelector, isStandalone: true, selector: "eva-quality-selector", inputs: { evaQualitySelectorText: { classPropertyName: "evaQualitySelectorText", publicName: "evaQualitySelectorText", isSignal: true, isRequired: false, transformFunction: null }, evaQualityAutoText: { classPropertyName: "evaQualityAutoText", publicName: "evaQualityAutoText", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "button" }, listeners: { "click": "onClicked()", "keydown": "onKeyDown($event)", "blur": "onBlur($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "currentQuality()?.label ?? evaQualityAutoText()", "class.open": "isOpen()" } }, ngImport: i0, template: "<div class=\"eva-quality-selector-container\">\n\t<!-- Current Quality Display Button -->\n\t<div class=\"eva-quality-selector-button\">\n\t\t<span class=\"speed-icon\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">\n\t\t\t{{ currentQuality() ? formatQuality(currentQuality()!) : evaQualityAutoText() }}\n\t\t</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-quality-selector-dropdown\" [class.show]=\"isOpen()\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\">{{ evaQualitySelectorText() }}</div>\n\t\t\t<div class=\"quality-options\">\n\t\t\t\t@for (quality of qualities(); track quality.qualityIndex) {\n\t\t\t\t<button type=\"button\" class=\"quality-option\"\n\t\t\t\t\t[class.active]=\"quality.qualityIndex === currentQuality()?.qualityIndex\"\n\t\t\t\t\t(click)=\"selectQuality(quality, $index)\"\n\t\t\t\t\t[attr.aria-selected]=\"quality.qualityIndex === currentQuality()?.qualityIndex\" role=\"option\">\n\t\t\t\t\t<span class=\"speed-text\">{{ formatQuality(quality) }}</span>\n\t\t\t\t\t@if (quality.qualityIndex === currentQuality()?.qualityIndex) {\n\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:80px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-quality-selector-hover-background);border-radius:4px}:host.open{background-color:var(--eva-quality-selector-opened-background);border-radius:4px}.eva-quality-selector-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-quality-selector-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-quality-selector-button .speed-icon{display:none}.eva-quality-selector-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-label-font-size);color:var(--eva-quality-selector-label-color);white-space:nowrap;line-height:1}.eva-quality-selector-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-quality-selector-dropdown-arrow-size);height:var(--eva-quality-selector-dropdown-arrow-size);color:var(--eva-quality-selector-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-quality-selector-button .dropdown-arrow svg{width:100%;height:100%}.eva-quality-selector-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-quality-selector-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-12px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-quality-selector-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(calc(-12px - var(--eva-scrub-bar-heights))) scale(1)}@media(max-width:768px){.eva-quality-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-quality-selector-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-quality-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-quality-selector-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-quality-selector-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-quality-selector-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-quality-selector-dropdown-content-header-font-color);border-bottom:var(--eva-quality-selector-dropdown-content-header-bottom-border)}.quality-options{padding:4px;max-height:280px;overflow-y:auto}.quality-options::-webkit-scrollbar{width:6px}.quality-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.quality-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.quality-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.quality-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-durations) ease,transform var(--eva-transition-duration) ease;outline:none}.quality-option:hover{background-color:var(--eva-quality-selector-dropdown-content-quality-option-bacground-hover)}.quality-option:active{transform:scale(.98)}.quality-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.quality-option.active{background-color:var(--eva-quality-selector-dropdown-content-quality-option-icon-active)}.quality-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-quality-selector-dropdown-content-quality-option-font-size);font-weight:500;color:var(--eva-quality-selector-dropdown-content-quality-option-font-color);transition:color var(--eva-transition-duration) ease}.quality-option .checkmark{display:flex;align-items:center;width:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-size);height:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-size);color:var(--eva-quality-selector-dropdown-content-quality-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.quality-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3299
3299
  }
3300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaQualitySelector, decorators: [{
3300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaQualitySelector, decorators: [{
3301
3301
  type: Component,
3302
3302
  args: [{ selector: 'eva-quality-selector', changeDetection: ChangeDetectionStrategy.OnPush, host: {
3303
3303
  'tabindex': '0',
@@ -3412,10 +3412,10 @@ class EvaScrubBarBufferingTime {
3412
3412
  }
3413
3413
  this.bufferedPercentage.set(bufferTime);
3414
3414
  }
3415
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBarBufferingTime, deps: [], target: i0.ɵɵFactoryTarget.Component });
3416
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: EvaScrubBarBufferingTime, isStandalone: true, selector: "eva-scrub-bar-buffering-time", ngImport: i0, template: "<div class=\"buffer-container\" [style.width]=\"bufferedPercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.buffer-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-buffering-background)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3415
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBarBufferingTime, deps: [], target: i0.ɵɵFactoryTarget.Component });
3416
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.9", type: EvaScrubBarBufferingTime, isStandalone: true, selector: "eva-scrub-bar-buffering-time", ngImport: i0, template: "<div class=\"buffer-container\" [style.width]=\"bufferedPercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.buffer-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-buffering-background)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3417
3417
  }
3418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBarBufferingTime, decorators: [{
3418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBarBufferingTime, decorators: [{
3419
3419
  type: Component,
3420
3420
  args: [{ selector: 'eva-scrub-bar-buffering-time', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"buffer-container\" [style.width]=\"bufferedPercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.buffer-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-buffering-background)}\n"] }]
3421
3421
  }] });
@@ -3456,10 +3456,10 @@ class EvaScrubBarCurrentTime {
3456
3456
  }
3457
3457
  return Math.round(time.current * 100) / time.total + "%";
3458
3458
  }, ...(ngDevMode ? [{ debugName: "currentTimePercentage" }] : []));
3459
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBarCurrentTime, deps: [], target: i0.ɵɵFactoryTarget.Component });
3460
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: EvaScrubBarCurrentTime, isStandalone: true, selector: "eva-scrub-bar-current-time", ngImport: i0, template: "<div class=\"current-time-container\" [style.width]=\"currentTimePercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.current-time-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-current-time-background)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3459
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBarCurrentTime, deps: [], target: i0.ɵɵFactoryTarget.Component });
3460
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.9", type: EvaScrubBarCurrentTime, isStandalone: true, selector: "eva-scrub-bar-current-time", ngImport: i0, template: "<div class=\"current-time-container\" [style.width]=\"currentTimePercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.current-time-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-current-time-background)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3461
3461
  }
3462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBarCurrentTime, decorators: [{
3462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBarCurrentTime, decorators: [{
3463
3463
  type: Component,
3464
3464
  args: [{ selector: 'eva-scrub-bar-current-time', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"current-time-container\" [style.width]=\"currentTimePercentage()\">\n</div>", styles: [":host{display:flex;width:100%;height:var(--eva-scrub-bar-heights);pointer-events:none;position:absolute;left:0;top:0;border-radius:2px}div.current-time-container{height:var(--eva-scrub-bar-heights);background-color:var(--eva-scrub-bar-current-time-background)}\n"] }]
3465
3465
  }] });
@@ -4067,10 +4067,10 @@ class EvaScrubBar {
4067
4067
  this.hideControls.set(true);
4068
4068
  }, this.evaAutohideTime());
4069
4069
  }
4070
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
4071
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaScrubBar, isStandalone: true, selector: "eva-scrub-bar", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, hideWithControlsContainer: { classPropertyName: "hideWithControlsContainer", publicName: "hideWithControlsContainer", isSignal: true, isRequired: false, transformFunction: null }, evaSlidingEnabled: { classPropertyName: "evaSlidingEnabled", publicName: "evaSlidingEnabled", isSignal: true, isRequired: false, transformFunction: null }, evaAutohideTime: { classPropertyName: "evaAutohideTime", publicName: "evaAutohideTime", isSignal: true, isRequired: false, transformFunction: null }, evaShowTimeOnHover: { classPropertyName: "evaShowTimeOnHover", publicName: "evaShowTimeOnHover", isSignal: true, isRequired: false, transformFunction: null }, evaTimeFormat: { classPropertyName: "evaTimeFormat", publicName: "evaTimeFormat", isSignal: true, isRequired: false, transformFunction: null }, evaShowChapters: { classPropertyName: "evaShowChapters", publicName: "evaShowChapters", isSignal: true, isRequired: false, transformFunction: null }, evaChapters: { classPropertyName: "evaChapters", publicName: "evaChapters", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "slider", "aria-level": "polite", "aria-valuemin": "0", "aria-valuemax": "100" }, listeners: { "mousedown": "mouseDownScrub($event)", "document:mouseup": "mouseUpScrubBar($event)", "touchstart": "touchStartScrub($event)", "document:touchcancel": "touchCancelScrub($event)", "document:touchend": "touchEndScrub($event)", "keydown": "arrowAdjustTime($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuenow": "getPercentage()", "attr.aria-valuetext": "getPercentage()", "class.hide": "hideControls()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n@if (evaShowChapters() && chapters().length > 0) {\n<div class=\"eva-chapter-markers\">\n\t@for (chapter of chapters(); track chapter.startTime) {\n\t<div class=\"eva-chapter-marker\" [style.left]=\"getChapterLeftPercent(chapter)\"\n\t\t[style.width]=\"getChapterWidthPercent(chapter)\">\n\t</div>\n\t}\n</div>\n}\n\n@if (hoverTime() !== null) {\n<div class=\"eva-hover-tooltip\" [style.left.px]=\"hoverLeft()\">\n\t<span class=\"eva-hover-time\">{{ hoverTime() }} @if(hoverChapter()) { {{hoverChapter()}}}</span>\n</div>\n}", styles: [":host{user-select:none;position:absolute;width:100%;height:var(--eva-scrub-bar-heights);bottom:var(--eva-control-element-height);margin:0;cursor:pointer;display:flex;align-items:center;background:var(--eva-scrub-bar-background);z-index:303;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transition:bottom var(--eva-transition-duration) ease-in-out,opacity var(--eva-transition-duration) ease-in-out}:host-context(eva-controls-container){position:relative;bottom:0;background:var(--eva-scrub-bar-background);height:var(--eva-scrub-bar-heights);flex-grow:1;flex-basis:0;margin:0 10px;-webkit-transition:initial;-khtml-transition:initial;-moz-transition:initial;-ms-transition:initial;transition:initial}:host(.hide){bottom:0!important;opacity:1}.eva-chapter-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.eva-chapter-marker{position:absolute;top:0;height:100%;border-right:var(--eva-scrub-bar-chapter-marker-width) solid var(--eva-scrub-bar-chapter-marker-color);box-sizing:border-box}.eva-chapter-marker:last-child{border-right:none}.eva-hover-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:400;will-change:left}.eva-hover-chapter{background-color:var(--eva-scrub-bar-chapter-hover-background-color);color:var(--eva-scrub-bar-chapter-hover-text-color);padding:3px 8px;border-radius:4px;font-size:var(--eva-scrub-bar-chapter-hover-font-size);white-space:nowrap;text-align:center;max-width:160px;overflow:hidden;text-overflow:ellipsis}.eva-hover-time{background-color:var(--eva-scrub-bar-chapter-hover-tooltip-background-color);color:var(--eva-scrub-bar-chapter-hover-tooltip-text-color);padding:4px 8px;border-radius:4px;font-size:var(--eva-scrub-bar-chapter-hover-tooltip-font-size);font-family:var(--eva-font-family);white-space:nowrap;text-align:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4070
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBar, deps: [], target: i0.ɵɵFactoryTarget.Component });
4071
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaScrubBar, isStandalone: true, selector: "eva-scrub-bar", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null }, hideWithControlsContainer: { classPropertyName: "hideWithControlsContainer", publicName: "hideWithControlsContainer", isSignal: true, isRequired: false, transformFunction: null }, evaSlidingEnabled: { classPropertyName: "evaSlidingEnabled", publicName: "evaSlidingEnabled", isSignal: true, isRequired: false, transformFunction: null }, evaAutohideTime: { classPropertyName: "evaAutohideTime", publicName: "evaAutohideTime", isSignal: true, isRequired: false, transformFunction: null }, evaShowTimeOnHover: { classPropertyName: "evaShowTimeOnHover", publicName: "evaShowTimeOnHover", isSignal: true, isRequired: false, transformFunction: null }, evaTimeFormat: { classPropertyName: "evaTimeFormat", publicName: "evaTimeFormat", isSignal: true, isRequired: false, transformFunction: null }, evaShowChapters: { classPropertyName: "evaShowChapters", publicName: "evaShowChapters", isSignal: true, isRequired: false, transformFunction: null }, evaChapters: { classPropertyName: "evaChapters", publicName: "evaChapters", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "slider", "aria-level": "polite", "aria-valuemin": "0", "aria-valuemax": "100" }, listeners: { "mousedown": "mouseDownScrub($event)", "document:mouseup": "mouseUpScrubBar($event)", "touchstart": "touchStartScrub($event)", "document:touchcancel": "touchCancelScrub($event)", "document:touchend": "touchEndScrub($event)", "keydown": "arrowAdjustTime($event)" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuenow": "getPercentage()", "attr.aria-valuetext": "getPercentage()", "class.hide": "hideControls()" } }, ngImport: i0, template: "<ng-content></ng-content>\n\n@if (evaShowChapters() && chapters().length > 0) {\n<div class=\"eva-chapter-markers\">\n\t@for (chapter of chapters(); track chapter.startTime) {\n\t<div class=\"eva-chapter-marker\" [style.left]=\"getChapterLeftPercent(chapter)\"\n\t\t[style.width]=\"getChapterWidthPercent(chapter)\">\n\t</div>\n\t}\n</div>\n}\n\n@if (hoverTime() !== null) {\n<div class=\"eva-hover-tooltip\" [style.left.px]=\"hoverLeft()\">\n\t<span class=\"eva-hover-time\">{{ hoverTime() }} @if(hoverChapter()) { {{hoverChapter()}}}</span>\n</div>\n}", styles: [":host{user-select:none;position:absolute;width:100%;height:var(--eva-scrub-bar-heights);bottom:var(--eva-control-element-height);margin:0;cursor:pointer;display:flex;align-items:center;background:var(--eva-scrub-bar-background);z-index:303;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transition:bottom var(--eva-transition-duration) ease-in-out,opacity var(--eva-transition-duration) ease-in-out}:host-context(eva-controls-container){position:relative;bottom:0;background:var(--eva-scrub-bar-background);height:var(--eva-scrub-bar-heights);flex-grow:1;flex-basis:0;margin:0 10px;-webkit-transition:initial;-khtml-transition:initial;-moz-transition:initial;-ms-transition:initial;transition:initial}:host(.hide){bottom:0!important;opacity:1}.eva-chapter-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.eva-chapter-marker{position:absolute;top:0;height:100%;border-right:var(--eva-scrub-bar-chapter-marker-width) solid var(--eva-scrub-bar-chapter-marker-color);box-sizing:border-box}.eva-chapter-marker:last-child{border-right:none}.eva-hover-tooltip{position:absolute;bottom:calc(100% + 8px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:400;will-change:left}.eva-hover-chapter{background-color:var(--eva-scrub-bar-chapter-hover-background-color);color:var(--eva-scrub-bar-chapter-hover-text-color);padding:3px 8px;border-radius:4px;font-size:var(--eva-scrub-bar-chapter-hover-font-size);white-space:nowrap;text-align:center;max-width:160px;overflow:hidden;text-overflow:ellipsis}.eva-hover-time{background-color:var(--eva-scrub-bar-chapter-hover-tooltip-background-color);color:var(--eva-scrub-bar-chapter-hover-tooltip-text-color);padding:4px 8px;border-radius:4px;font-size:var(--eva-scrub-bar-chapter-hover-tooltip-font-size);font-family:var(--eva-font-family);white-space:nowrap;text-align:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4072
4072
  }
4073
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaScrubBar, decorators: [{
4073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaScrubBar, decorators: [{
4074
4074
  type: Component,
4075
4075
  args: [{ selector: 'eva-scrub-bar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
4076
4076
  "tabindex": "0",
@@ -4178,10 +4178,10 @@ class EvaSubtitleDisplay {
4178
4178
  this.controlsVisibility$?.unsubscribe();
4179
4179
  this.pipWindowActive$?.unsubscribe();
4180
4180
  }
4181
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaSubtitleDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
4182
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaSubtitleDisplay, isStandalone: true, selector: "eva-subtitle-display", host: { properties: { "class.eva-subtitle-display--visible": "cue() !== null && !pipWindowActive()", "style.padding-bottom": "controlsCointainerNotVisible() ? '8px' : 'calc(var(--eva-control-element-height) + var(--eva-scrub-bar-heights) + 12px)'" } }, ngImport: i0, template: "@if (cue() && !pipWindowActive()) {\n<span class=\"eva-subtitle-cue\" [innerHTML]=\"cue()\"></span>\n}", styles: [":host{display:none;visibility:hidden;position:absolute;inset-inline:0;bottom:0;pointer-events:none;text-align:center;z-index:10;transition:padding-bottom var(--eva-transition-duration) ease-in-out}:host(.eva-subtitle-display--visible){display:block!important;visibility:visible!important}.eva-subtitle-cue{display:inline-block;font-size:var(--eva-subtitle-font-size);line-height:1.4;font-family:var(--eva-subtitle-font-family);color:var(--eva-subtitle-color, #ffffff);background-color:var(--eva-subtitle-background, rgba(0, 0, 0, .72));padding:var(--eva-subtitle-padding);border-radius:3px;white-space:pre-line}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaSubtitleDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
4182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaSubtitleDisplay, isStandalone: true, selector: "eva-subtitle-display", host: { properties: { "class.eva-subtitle-display--visible": "cue() !== null && !pipWindowActive()", "style.padding-bottom": "controlsCointainerNotVisible() ? '8px' : 'calc(var(--eva-control-element-height) + var(--eva-scrub-bar-heights) + 12px)'" } }, ngImport: i0, template: "@if (cue() && !pipWindowActive()) {\n<span class=\"eva-subtitle-cue\" [innerHTML]=\"cue()\"></span>\n}", styles: [":host{display:none;visibility:hidden;position:absolute;inset-inline:0;bottom:0;pointer-events:none;text-align:center;z-index:10;transition:padding-bottom var(--eva-transition-duration) ease-in-out}:host(.eva-subtitle-display--visible){display:block!important;visibility:visible!important}.eva-subtitle-cue{display:inline-block;font-size:var(--eva-subtitle-font-size);line-height:1.4;font-family:var(--eva-subtitle-font-family);color:var(--eva-subtitle-color, #ffffff);background-color:var(--eva-subtitle-background, rgba(0, 0, 0, .72));padding:var(--eva-subtitle-padding);border-radius:3px;white-space:pre-line}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4183
4183
  }
4184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaSubtitleDisplay, decorators: [{
4184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaSubtitleDisplay, decorators: [{
4185
4185
  type: Component,
4186
4186
  args: [{ selector: "eva-subtitle-display", changeDetection: ChangeDetectionStrategy.OnPush, host: {
4187
4187
  // Suppressed during PiP — the browser renders subtitles natively inside the PiP window
@@ -4323,10 +4323,10 @@ class EvaTimeDisplay {
4323
4323
  return `${minutes}:${secs.toString().padStart(2, '0')}`;
4324
4324
  }
4325
4325
  }
4326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTimeDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
4327
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaTimeDisplay, isStandalone: true, selector: "eva-time-display", inputs: { evaTimeProperty: { classPropertyName: "evaTimeProperty", publicName: "evaTimeProperty", isSignal: true, isRequired: true, transformFunction: null }, evaTimeFormating: { classPropertyName: "evaTimeFormating", publicName: "evaTimeFormating", isSignal: true, isRequired: true, transformFunction: null }, evaLiveText: { classPropertyName: "evaLiveText", publicName: "evaLiveText", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "timer" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-live": "'off'", "attr.aria-atomic": "'true'", "attr.aria-valuetext": "displayText()" } }, ngImport: i0, template: "@if(evaAPI.isLive()){\n<span>{{evaLiveText()}}</span>\n}\n@else {\n<span>{{evaAPI.time()[evaTimeProperty()] | evaTimeDisplay: evaTimeFormating(): evaTimeProperty()}}</span>\n}", styles: [":host{display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);min-width:30px;cursor:pointer;color:var(--eva-time-display-text-color);pointer-events:none;padding:0 6px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host>span{font-family:var(--eva-font-family)}\n"], dependencies: [{ kind: "pipe", type: EvaTimeDisplayPipe, name: "evaTimeDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4326
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTimeDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
4327
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaTimeDisplay, isStandalone: true, selector: "eva-time-display", inputs: { evaTimeProperty: { classPropertyName: "evaTimeProperty", publicName: "evaTimeProperty", isSignal: true, isRequired: true, transformFunction: null }, evaTimeFormating: { classPropertyName: "evaTimeFormating", publicName: "evaTimeFormating", isSignal: true, isRequired: true, transformFunction: null }, evaLiveText: { classPropertyName: "evaLiveText", publicName: "evaLiveText", isSignal: true, isRequired: false, transformFunction: null }, evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "timer" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-live": "'off'", "attr.aria-atomic": "'true'", "attr.aria-valuetext": "displayText()" } }, ngImport: i0, template: "@if(evaAPI.isLive()){\n<span>{{evaLiveText()}}</span>\n}\n@else {\n<span>{{evaAPI.time()[evaTimeProperty()] | evaTimeDisplay: evaTimeFormating(): evaTimeProperty()}}</span>\n}", styles: [":host{display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);min-width:30px;cursor:pointer;color:var(--eva-time-display-text-color);pointer-events:none;padding:0 6px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host>span{font-family:var(--eva-font-family)}\n"], dependencies: [{ kind: "pipe", type: EvaTimeDisplayPipe, name: "evaTimeDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4328
4328
  }
4329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTimeDisplay, decorators: [{
4329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTimeDisplay, decorators: [{
4330
4330
  type: Component,
4331
4331
  args: [{ selector: 'eva-time-display', changeDetection: ChangeDetectionStrategy.OnPush, host: {
4332
4332
  "tabindex": "0",
@@ -4691,10 +4691,10 @@ class EvaTrackSelector {
4691
4691
  let t = this.localTracks().find(a => a.selected === true);
4692
4692
  this.evaAPI.subtitlesChanged(t ? t : null);
4693
4693
  }
4694
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTrackSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
4695
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaTrackSelector, isStandalone: true, selector: "eva-track-selector", inputs: { evaTrackSelectorText: { classPropertyName: "evaTrackSelectorText", publicName: "evaTrackSelectorText", isSignal: true, isRequired: false, transformFunction: null }, evaTrackOffText: { classPropertyName: "evaTrackOffText", publicName: "evaTrackOffText", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.eva-icon": "true", "class.open": "isOpen()", "attr.aria-label": "evaTrackSelectorText()" } }, ngImport: i0, template: "<div class=\"eva-track-selector-container\">\n\t<!-- Current Track Display Button -->\n\t<button type=\"button\" class=\"eva-track-selector-button\"\n\t\t[attr.aria-label]=\"evaTrackSelectorText() + ': ' + (currentTrack() || evaTrackOffText())\"\n\t\t[attr.aria-expanded]=\"isOpen()\" [attr.aria-haspopup]=\"'listbox'\"\n\t\t[attr.aria-controls]=\"'track-dropdown-' + uniqueId\" (click)=\"trackSelectorClicked()\"\n\t\t(keydown)=\"playbackClickedKeyboard($event)\">\n\t\t<span class=\"speed-icon\" aria-hidden=\"true\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">{{ currentTrack() || evaTrackOffText() }}</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\" aria-hidden=\"true\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</button>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-track-selector-dropdown\" [class.show]=\"isOpen()\" [attr.id]=\"'track-dropdown-' + uniqueId\"\n\t\trole=\"listbox\" [attr.aria-label]=\"evaTrackSelectorText()\"\n\t\t[attr.aria-activedescendant]=\"isOpen() ? 'track-option-' + uniqueId + '-' + getActiveIndex() : null\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\" id=\"track-header-{{uniqueId}}\" role=\"presentation\">\n\t\t\t\t{{evaTrackSelectorText()}}\n\t\t\t</div>\n\t\t\t<div class=\"speed-options\" role=\"presentation\">\n\t\t\t\t@for (tr of localTracks(); track tr.id; let i = $index) {\n\t\t\t\t<button type=\"button\" class=\"speed-option\" [class.active]=\"tr.selected\"\n\t\t\t\t\t[attr.id]=\"'track-option-' + uniqueId + '-' + i\" (click)=\"selectTrack(tr, i)\"\n\t\t\t\t\t[attr.aria-selected]=\"tr.selected\" role=\"option\" [attr.tabindex]=\"isOpen() ? 0 : -1\">\n\t\t\t\t\t<span class=\"speed-text\">{{ tr.label }}</span>\n\t\t\t\t\t@if (tr.selected) {\n\t\t\t\t\t<span class=\"checkmark\" aria-hidden=\"true\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-track-selector-hover-background);border-radius:4px}:host.open{background-color:var(--eva-track-selector-opened-background);border-radius:4px}.eva-track-selector-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-track-selector-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-track-selector-button .speed-icon{display:none}.eva-track-selector-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-track-selector-label-font-size);font-weight:600;color:var(--eva-track-selector-label-color);white-space:nowrap;line-height:1}.eva-track-selector-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-track-selector-dropdown-arrow-size);height:var(--eva-track-selector-dropdown-arrow-size);color:var(--eva-track-selector-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-track-selector-button .dropdown-arrow svg{width:100%;height:100%}.eva-track-selector-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-track-selector-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-track-selector-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(-8px) scale(1)}@media(max-width:768px){.eva-track-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-track-selector-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-track-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-track-selector-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-track-selector-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-track-selector-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-track-selector-dropdown-content-header-font-color);border-bottom:var(--eva-track-selector-dropdown-content-header-bottom-border)}.speed-options{padding:4px;max-height:280px;overflow-y:auto}.speed-options::-webkit-scrollbar{width:6px}.speed-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.speed-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.speed-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.speed-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-duration) ease,transform var(--eva-transition-duration) ease;outline:none}.speed-option:hover{background-color:var(--eva-track-selector-dropdown-content-speed-option-bacground-hover)}.speed-option:active{transform:scale(.98)}.speed-option.active{background-color:#3b82f64d}.speed-option.active:hover{background-color:#3b82f666}.speed-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-track-selector-dropdown-content-speed-option-font-size);font-weight:500;color:var(--eva-track-selector-dropdown-content-speed-option-font-color);transition:color var(--eva-transition-duration) ease}.speed-option .checkmark{display:flex;align-items:center;width:var(--eva-track-selector-dropdown-content-speed-option-checkmark-size);height:var(--eva-track-selector-dropdown-content-speed-option-checkmark-size);color:var(--eva-track-selector-dropdown-content-speed-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.speed-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.eva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.speed-option:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.speed-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.eva-track-selector-dropdown:not(.show){display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4694
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTrackSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
4695
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaTrackSelector, isStandalone: true, selector: "eva-track-selector", inputs: { evaTrackSelectorText: { classPropertyName: "evaTrackSelectorText", publicName: "evaTrackSelectorText", isSignal: true, isRequired: false, transformFunction: null }, evaTrackOffText: { classPropertyName: "evaTrackOffText", publicName: "evaTrackOffText", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.eva-icon": "true", "class.open": "isOpen()", "attr.aria-label": "evaTrackSelectorText()" } }, ngImport: i0, template: "<div class=\"eva-track-selector-container\">\n\t<!-- Current Track Display Button -->\n\t<button type=\"button\" class=\"eva-track-selector-button\"\n\t\t[attr.aria-label]=\"evaTrackSelectorText() + ': ' + (currentTrack() || evaTrackOffText())\"\n\t\t[attr.aria-expanded]=\"isOpen()\" [attr.aria-haspopup]=\"'listbox'\"\n\t\t[attr.aria-controls]=\"'track-dropdown-' + uniqueId\" (click)=\"trackSelectorClicked()\"\n\t\t(keydown)=\"playbackClickedKeyboard($event)\">\n\t\t<span class=\"speed-icon\" aria-hidden=\"true\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" />\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"speed-label\">{{ currentTrack() || evaTrackOffText() }}</span>\n\t\t<span class=\"dropdown-arrow\" [class.rotated]=\"isOpen()\" aria-hidden=\"true\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t<polyline points=\"6 9 12 15 18 9\"></polyline>\n\t\t\t</svg>\n\t\t</span>\n\t</button>\n\n\t<!-- Dropdown Menu -->\n\t<div class=\"eva-track-selector-dropdown\" [class.show]=\"isOpen()\" [attr.id]=\"'track-dropdown-' + uniqueId\"\n\t\trole=\"listbox\" [attr.aria-label]=\"evaTrackSelectorText()\"\n\t\t[attr.aria-activedescendant]=\"isOpen() ? 'track-option-' + uniqueId + '-' + getActiveIndex() : null\">\n\t\t<div class=\"dropdown-content\">\n\t\t\t<div class=\"dropdown-header\" id=\"track-header-{{uniqueId}}\" role=\"presentation\">\n\t\t\t\t{{evaTrackSelectorText()}}\n\t\t\t</div>\n\t\t\t<div class=\"speed-options\" role=\"presentation\">\n\t\t\t\t@for (tr of localTracks(); track tr.id; let i = $index) {\n\t\t\t\t<button type=\"button\" class=\"speed-option\" [class.active]=\"tr.selected\"\n\t\t\t\t\t[attr.id]=\"'track-option-' + uniqueId + '-' + i\" (click)=\"selectTrack(tr, i)\"\n\t\t\t\t\t[attr.aria-selected]=\"tr.selected\" role=\"option\" [attr.tabindex]=\"isOpen() ? 0 : -1\">\n\t\t\t\t\t<span class=\"speed-text\">{{ tr.label }}</span>\n\t\t\t\t\t@if (tr.selected) {\n\t\t\t\t\t<span class=\"checkmark\" aria-hidden=\"true\">\n\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n\t\t\t\t\t\t\tstroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t\t\t\t\t\t<polyline points=\"20 6 9 17 4 12\"></polyline>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;height:var(--eva-control-element-height);width:50px;cursor:pointer;color:#fff;position:relative;outline:none}:host:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;border-radius:4px}:host:hover{background-color:var(--eva-track-selector-hover-background);border-radius:4px}:host.open{background-color:var(--eva-track-selector-opened-background);border-radius:4px}.eva-track-selector-container{position:relative;display:flex;align-items:center;justify-content:center}.eva-track-selector-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:2px}.eva-track-selector-button .speed-icon{display:none}.eva-track-selector-button .speed-label{font-family:var(--eva-font-family);font-size:var(--eva-track-selector-label-font-size);font-weight:600;color:var(--eva-track-selector-label-color);white-space:nowrap;line-height:1}.eva-track-selector-button .dropdown-arrow{display:flex;align-items:center;width:var(--eva-track-selector-dropdown-arrow-size);height:var(--eva-track-selector-dropdown-arrow-size);color:var(--eva-track-selector-dropdown-arrow-color);transition:transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.eva-track-selector-button .dropdown-arrow svg{width:100%;height:100%}.eva-track-selector-button .dropdown-arrow.rotated{transform:rotate(180deg)}.eva-track-selector-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);margin-bottom:4px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),visibility var(--eva-transition-duration) cubic-bezier(.4,0,.2,1),transform var(--eva-transition-duration) cubic-bezier(.4,0,.2,1);transform:translate(-50%) translateY(0) scale(.95);transform-origin:bottom center}.eva-track-selector-dropdown.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(-8px) scale(1)}@media(max-width:768px){.eva-track-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}.eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}}:host-context(.controls-left) .eva-track-selector-dropdown{left:0;transform:translateY(-8px)}:host-context(.controls-left) .eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}:host-context(.controls-right) .eva-track-selector-dropdown{left:auto;right:0;transform:translateY(-8px)}:host-context(.controls-right) .eva-track-selector-dropdown.show{transform:translateY(-8px) scale(1)}.dropdown-content{background:var(--eva-track-selector-dropdown-content-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;box-shadow:var(--eva-track-selector-dropdown-content-box-shadow);overflow:hidden;min-width:180px;animation:slideIn var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.dropdown-content{min-width:150px}}@keyframes slideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:10px 14px 8px;font-family:var(--eva-font-family);font-size:var(--eva-track-selector-dropdown-content-header-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--eva-track-selector-dropdown-content-header-font-color);border-bottom:var(--eva-track-selector-dropdown-content-header-bottom-border)}.speed-options{padding:4px;max-height:280px;overflow-y:auto}.speed-options::-webkit-scrollbar{width:6px}.speed-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.speed-options::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.speed-options::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.speed-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color var(--eva-transition-duration) ease,transform var(--eva-transition-duration) ease;outline:none}.speed-option:hover{background-color:var(--eva-track-selector-dropdown-content-speed-option-bacground-hover)}.speed-option:active{transform:scale(.98)}.speed-option.active{background-color:#3b82f64d}.speed-option.active:hover{background-color:#3b82f666}.speed-option .speed-text{font-family:var(--eva-font-family);font-size:var(--eva-track-selector-dropdown-content-speed-option-font-size);font-weight:500;color:var(--eva-track-selector-dropdown-content-speed-option-font-color);transition:color var(--eva-transition-duration) ease}.speed-option .checkmark{display:flex;align-items:center;width:var(--eva-track-selector-dropdown-content-speed-option-checkmark-size);height:var(--eva-track-selector-dropdown-content-speed-option-checkmark-size);color:var(--eva-track-selector-dropdown-content-speed-option-checkmark-color);animation:checkmarkAppear var(--eva-transition-duration) cubic-bezier(.4,0,.2,1)}.speed-option .checkmark svg{width:100%;height:100%}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.eva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.speed-option:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.speed-option:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.eva-track-selector-dropdown:not(.show){display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4696
4696
  }
4697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaTrackSelector, decorators: [{
4697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaTrackSelector, decorators: [{
4698
4698
  type: Component,
4699
4699
  args: [{ selector: 'eva-track-selector', changeDetection: ChangeDetectionStrategy.OnPush, host: {
4700
4700
  "[class.eva-icon]": "true",
@@ -5053,10 +5053,10 @@ class EvaVolume {
5053
5053
  onBlur() {
5054
5054
  this.isFocused.set(false);
5055
5055
  }
5056
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaVolume, deps: [], target: i0.ɵɵFactoryTarget.Component });
5057
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaVolume, isStandalone: true, selector: "eva-volume", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "slider", "aria-level": "polite", "aria-orientation": "horizontal", "aria-valuemin": "0", "aria-valuemax": "100" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValue()", "class.eva-volume-focused": "isFocused()" } }, viewQueries: [{ propertyName: "volumeBar", first: true, predicate: ["volumeBar"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #volumeBar class=\"volumeBar\" tabindex=\"0\" role=\"slider\" [attr.aria-label]=\"'Volume control'\"\n\t[attr.aria-valuenow]=\"ariaValue()\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-orientation=\"horizontal\"\n\t[attr.aria-valuetext]=\"ariaValue() + ' percent'\" (click)=\"onClick($event)\" (mousedown)=\"onMouseDown($event)\"\n\t(keydown)=\"onKeyDown($event)\" (touchstart)=\"onTouchStart($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\n\t<div class=\"volumeBackground\" [class.dragging]=\"isDragging()\">\n\t\t<div class=\"volumeValue\" [style.width]=\"videoVolume() * (100 - 15) + '%'\" aria-hidden=\"true\"></div>\n\t\t<div class=\"volumeKnob\" [style.left]=\"videoVolume() * (100 - 15) + '%'\" aria-hidden=\"true\"></div>\n\t</div>\n</div>\n\n<!-- Screen reader announcements for volume changes -->\n<div class=\"eva-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t@if (shouldAnnounceVolume()) {\n\t<span>Volume {{ ariaValue() }} percent</span>\n\t}\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;justify-content:center;height:var(--eva-control-element-height);width:var(--eva-volume-width);cursor:pointer;position:relative;padding:0 8px}.volumeBar{position:relative;display:flex;flex-grow:1;align-items:center;outline:none;border-radius:4px;transition:background-color var(--eva-transition-duration) ease}.volumeBar:focus{outline:none}.volumeBar:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;background-color:#ffffff0d}.volumeBar:active .volumeKnob{transform:translateY(-50%) scale(1.1)}.volumeBackground{display:flex;flex-grow:1;height:var(--eva-volume-track-height);pointer-events:none;background-color:var(--eva-volume-background-color);border-radius:3px;position:relative;transition:height var(--eva-transition-duration) ease}.volumeBackground.dragging{height:var(--eva-volume-track-height-dragging)}.volumeValue{display:flex;height:100%;pointer-events:none;background-color:var(--eva-volume-track-background-color);transition:width var(--eva-transition-duration) ease-out;border-radius:3px;position:relative}.volumeKnob{position:absolute;width:var(--eva-volume-knob-size);height:var(--eva-volume-knob-size);left:0;top:50%;transform:translateY(-50%);border-radius:50%;pointer-events:none;background-color:var(--eva-volume-knob-background-color);box-shadow:var(--eva-volume-knob-box-shadow);transition:all var(--eva-transition-duration) ease-out;z-index:1}.volumeKnob:before{content:\"\";position:absolute;inset:2px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),transparent)}.volumeBackground.dragging .volumeValue,.volumeBackground.dragging .volumeKnob{transition:none}.eva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){.volumeBar:focus-visible{outline-width:3px}.volumeBackground{background-color:#fff6}}@media(prefers-reduced-motion:reduce){.volumeBar,.volumeBackground,.volumeValue,.volumeKnob{transition:none!important}}@media(pointer:coarse){.volumeBar{padding:8px 0}.volumeKnob{width:18px;height:18px}}:host.eva-volume-focused .volumeBackground{background-color:#ffffff40}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5056
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaVolume, deps: [], target: i0.ɵɵFactoryTarget.Component });
5057
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaVolume, isStandalone: true, selector: "eva-volume", inputs: { evaAria: { classPropertyName: "evaAria", publicName: "evaAria", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tabindex": "0", "role": "slider", "aria-level": "polite", "aria-orientation": "horizontal", "aria-valuemin": "0", "aria-valuemax": "100" }, properties: { "attr.aria-label": "ariaLabel()", "attr.aria-valuetext": "ariaValue()", "class.eva-volume-focused": "isFocused()" } }, viewQueries: [{ propertyName: "volumeBar", first: true, predicate: ["volumeBar"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #volumeBar class=\"volumeBar\" tabindex=\"0\" role=\"slider\" [attr.aria-label]=\"'Volume control'\"\n\t[attr.aria-valuenow]=\"ariaValue()\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-orientation=\"horizontal\"\n\t[attr.aria-valuetext]=\"ariaValue() + ' percent'\" (click)=\"onClick($event)\" (mousedown)=\"onMouseDown($event)\"\n\t(keydown)=\"onKeyDown($event)\" (touchstart)=\"onTouchStart($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\n\t<div class=\"volumeBackground\" [class.dragging]=\"isDragging()\">\n\t\t<div class=\"volumeValue\" [style.width]=\"videoVolume() * (100 - 15) + '%'\" aria-hidden=\"true\"></div>\n\t\t<div class=\"volumeKnob\" [style.left]=\"videoVolume() * (100 - 15) + '%'\" aria-hidden=\"true\"></div>\n\t</div>\n</div>\n\n<!-- Screen reader announcements for volume changes -->\n<div class=\"eva-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t@if (shouldAnnounceVolume()) {\n\t<span>Volume {{ ariaValue() }} percent</span>\n\t}\n</div>", styles: [":host{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;justify-content:center;height:var(--eva-control-element-height);width:var(--eva-volume-width);cursor:pointer;position:relative;padding:0 8px}.volumeBar{position:relative;display:flex;flex-grow:1;align-items:center;outline:none;border-radius:4px;transition:background-color var(--eva-transition-duration) ease}.volumeBar:focus{outline:none}.volumeBar:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px;background-color:#ffffff0d}.volumeBar:active .volumeKnob{transform:translateY(-50%) scale(1.1)}.volumeBackground{display:flex;flex-grow:1;height:var(--eva-volume-track-height);pointer-events:none;background-color:var(--eva-volume-background-color);border-radius:3px;position:relative;transition:height var(--eva-transition-duration) ease}.volumeBackground.dragging{height:var(--eva-volume-track-height-dragging)}.volumeValue{display:flex;height:100%;pointer-events:none;background-color:var(--eva-volume-track-background-color);transition:width var(--eva-transition-duration) ease-out;border-radius:3px;position:relative}.volumeKnob{position:absolute;width:var(--eva-volume-knob-size);height:var(--eva-volume-knob-size);left:0;top:50%;transform:translateY(-50%);border-radius:50%;pointer-events:none;background-color:var(--eva-volume-knob-background-color);box-shadow:var(--eva-volume-knob-box-shadow);transition:all var(--eva-transition-duration) ease-out;z-index:1}.volumeKnob:before{content:\"\";position:absolute;inset:2px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4),transparent)}.volumeBackground.dragging .volumeValue,.volumeBackground.dragging .volumeKnob{transition:none}.eva-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:high){.volumeBar:focus-visible{outline-width:3px}.volumeBackground{background-color:#fff6}}@media(prefers-reduced-motion:reduce){.volumeBar,.volumeBackground,.volumeValue,.volumeKnob{transition:none!important}}@media(pointer:coarse){.volumeBar{padding:8px 0}.volumeKnob{width:18px;height:18px}}:host.eva-volume-focused .volumeBackground{background-color:#ffffff40}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5058
5058
  }
5059
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaVolume, decorators: [{
5059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaVolume, decorators: [{
5060
5060
  type: Component,
5061
5061
  args: [{ selector: 'eva-volume', changeDetection: ChangeDetectionStrategy.OnPush, host: {
5062
5062
  "tabindex": "0",
@@ -5155,10 +5155,10 @@ class EvaCueChangeDirective {
5155
5155
  this.handler = null;
5156
5156
  }
5157
5157
  }
5158
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaCueChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5159
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.2", type: EvaCueChangeDirective, isStandalone: true, selector: "track[evaCueChange]", inputs: { evaCueChangeActive: { classPropertyName: "evaCueChangeActive", publicName: "evaCueChangeActive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
5158
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaCueChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5159
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: EvaCueChangeDirective, isStandalone: true, selector: "track[evaCueChange]", inputs: { evaCueChangeActive: { classPropertyName: "evaCueChangeActive", publicName: "evaCueChangeActive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
5160
5160
  }
5161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaCueChangeDirective, decorators: [{
5161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaCueChangeDirective, decorators: [{
5162
5162
  type: Directive,
5163
5163
  args: [{
5164
5164
  selector: 'track[evaCueChange]'
@@ -5451,10 +5451,10 @@ class EvaMediaEventListenersDirective {
5451
5451
  this.waitingSub?.unsubscribe();
5452
5452
  this.waitingForKeySub?.unsubscribe();
5453
5453
  }
5454
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaMediaEventListenersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5455
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: EvaMediaEventListenersDirective, isStandalone: true, selector: "video[evaMediaEventListeners]", ngImport: i0 });
5454
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaMediaEventListenersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5455
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: EvaMediaEventListenersDirective, isStandalone: true, selector: "video[evaMediaEventListeners]", ngImport: i0 });
5456
5456
  }
5457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaMediaEventListenersDirective, decorators: [{
5457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaMediaEventListenersDirective, decorators: [{
5458
5458
  type: Directive,
5459
5459
  args: [{
5460
5460
  selector: 'video[evaMediaEventListeners]',
@@ -5543,10 +5543,10 @@ class EvaUserInteractionEventsDirective {
5543
5543
  this.evaAPI.triggerUserInteraction.next(t);
5544
5544
  });
5545
5545
  }
5546
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaUserInteractionEventsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5547
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: EvaUserInteractionEventsDirective, isStandalone: true, selector: "eva-controls-container[evaUserInteractionEvents]", ngImport: i0 });
5546
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaUserInteractionEventsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5547
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: EvaUserInteractionEventsDirective, isStandalone: true, selector: "eva-controls-container[evaUserInteractionEvents]", ngImport: i0 });
5548
5548
  }
5549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaUserInteractionEventsDirective, decorators: [{
5549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaUserInteractionEventsDirective, decorators: [{
5550
5550
  type: Directive,
5551
5551
  args: [{
5552
5552
  selector: 'eva-controls-container[evaUserInteractionEvents]',
@@ -5707,10 +5707,10 @@ class EvaVideoConfigurationDirective {
5707
5707
  this.elementRef.nativeElement.poster = this.sanitizer.sanitize(SecurityContext.URL, config.poster) ?? '';
5708
5708
  }
5709
5709
  }
5710
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaVideoConfigurationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5711
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.2", type: EvaVideoConfigurationDirective, isStandalone: true, selector: "video[evaVideoConfiguration]", inputs: { evaVideoConfig: { classPropertyName: "evaVideoConfig", publicName: "evaVideoConfig", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { videoConfigurationDone: "videoConfigurationDone" }, usesOnChanges: true, ngImport: i0 });
5710
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaVideoConfigurationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5711
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: EvaVideoConfigurationDirective, isStandalone: true, selector: "video[evaVideoConfiguration]", inputs: { evaVideoConfig: { classPropertyName: "evaVideoConfig", publicName: "evaVideoConfig", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { videoConfigurationDone: "videoConfigurationDone" }, usesOnChanges: true, ngImport: i0 });
5712
5712
  }
5713
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaVideoConfigurationDirective, decorators: [{
5713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaVideoConfigurationDirective, decorators: [{
5714
5714
  type: Directive,
5715
5715
  args: [{
5716
5716
  selector: 'video[evaVideoConfiguration]',
@@ -5848,10 +5848,10 @@ class EvaPlayer {
5848
5848
  videoConfigReady() {
5849
5849
  this.playerMainAPI.onPlayerReady();
5850
5850
  }
5851
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlayer, deps: [], target: i0.ɵɵFactoryTarget.Component });
5852
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: EvaPlayer, isStandalone: true, selector: "eva-player", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, evaVideoSources: { classPropertyName: "evaVideoSources", publicName: "evaVideoSources", isSignal: true, isRequired: true, transformFunction: null }, evaVideoConfiguration: { classPropertyName: "evaVideoConfiguration", publicName: "evaVideoConfiguration", isSignal: true, isRequired: false, transformFunction: null }, evaVideoTracks: { classPropertyName: "evaVideoTracks", publicName: "evaVideoTracks", isSignal: true, isRequired: false, transformFunction: null }, evaNotSupportedText: { classPropertyName: "evaNotSupportedText", publicName: "evaNotSupportedText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [EvaApi, EvaFullscreenAPI], viewQueries: [{ propertyName: "evaVideoElement", first: true, predicate: ["evaVideoElement"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<video #evaVideoElement [id]=\"id()\" evaMediaEventListeners evaVideoConfiguration\n\t[evaVideoConfig]=\"evaVideoConfiguration()\" (videoConfigurationDone)=\"videoConfigReady()\">\n\t@for (vs of evaVideoSources(); track $index) {\n\t<source #evaVideoSources [type]=\"vs.type\" [src]=\"vs.src\" />\n\t}\n\t@if(evaNotSupportedText()){\n\t<p>{{evaNotSupportedText()}}</p>\n\t}\n\n\t@for (t of evaVideoTracks(); track $index) {\n\t<track #evaVideoTracks [default]=\"t.default\" [kind]=\"t.kind\" [label]=\"t.label\" [src]=\"t.src\" [srclang]=\"t.srclang\"\n\t\t[ariaLabel]=\"t.label\" evaCueChange\n\t\t[evaCueChangeActive]=\"t.kind === 'subtitles' && activeSubtitleLabel === t.label\" />\n\t}\n</video>\n\n<ng-content></ng-content>", styles: [":host{display:block;position:relative;padding:0;margin:0;border:0;border-radius:0;overflow:hidden}:host>video{display:block;width:100%;object-fit:contain;object-position:0 0;transition:padding-bottom var(--eva-transition-duration) ease-in-out}:host(video::cue){font-family:var(--eva-font-family);color:unset;background-color:transparent;font-size:0px;text-decoration:none;text-shadow:none}\n"], dependencies: [{ kind: "directive", type: EvaMediaEventListenersDirective, selector: "video[evaMediaEventListeners]" }, { kind: "directive", type: EvaVideoConfigurationDirective, selector: "video[evaVideoConfiguration]", inputs: ["evaVideoConfig"], outputs: ["videoConfigurationDone"] }, { kind: "directive", type: EvaCueChangeDirective, selector: "track[evaCueChange]", inputs: ["evaCueChangeActive"] }] });
5851
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlayer, deps: [], target: i0.ɵɵFactoryTarget.Component });
5852
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: EvaPlayer, isStandalone: true, selector: "eva-player", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, evaVideoSources: { classPropertyName: "evaVideoSources", publicName: "evaVideoSources", isSignal: true, isRequired: true, transformFunction: null }, evaVideoConfiguration: { classPropertyName: "evaVideoConfiguration", publicName: "evaVideoConfiguration", isSignal: true, isRequired: false, transformFunction: null }, evaVideoTracks: { classPropertyName: "evaVideoTracks", publicName: "evaVideoTracks", isSignal: true, isRequired: false, transformFunction: null }, evaNotSupportedText: { classPropertyName: "evaNotSupportedText", publicName: "evaNotSupportedText", isSignal: true, isRequired: false, transformFunction: null } }, providers: [EvaApi, EvaFullscreenAPI], viewQueries: [{ propertyName: "evaVideoElement", first: true, predicate: ["evaVideoElement"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<video #evaVideoElement [id]=\"id()\" evaMediaEventListeners evaVideoConfiguration\n\t[evaVideoConfig]=\"evaVideoConfiguration()\" (videoConfigurationDone)=\"videoConfigReady()\">\n\t@for (vs of evaVideoSources(); track $index) {\n\t<source #evaVideoSources [type]=\"vs.type\" [src]=\"vs.src\" />\n\t}\n\t@if(evaNotSupportedText()){\n\t<p>{{evaNotSupportedText()}}</p>\n\t}\n\n\t@for (t of evaVideoTracks(); track $index) {\n\t<track #evaVideoTracks [default]=\"t.default\" [kind]=\"t.kind\" [label]=\"t.label\" [src]=\"t.src\" [srclang]=\"t.srclang\"\n\t\t[ariaLabel]=\"t.label\" evaCueChange\n\t\t[evaCueChangeActive]=\"t.kind === 'subtitles' && activeSubtitleLabel === t.label\" />\n\t}\n</video>\n\n<ng-content></ng-content>", styles: [":host{display:block;position:relative;padding:0;margin:0;border:0;border-radius:0;overflow:hidden}:host>video{display:block;width:100%;object-fit:contain;object-position:0 0;transition:padding-bottom var(--eva-transition-duration) ease-in-out}:host(video::cue){font-family:var(--eva-font-family);color:unset;background-color:transparent;font-size:0px;text-decoration:none;text-shadow:none}\n"], dependencies: [{ kind: "directive", type: EvaMediaEventListenersDirective, selector: "video[evaMediaEventListeners]" }, { kind: "directive", type: EvaVideoConfigurationDirective, selector: "video[evaVideoConfiguration]", inputs: ["evaVideoConfig"], outputs: ["videoConfigurationDone"] }, { kind: "directive", type: EvaCueChangeDirective, selector: "track[evaCueChange]", inputs: ["evaCueChangeActive"] }] });
5853
5853
  }
5854
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaPlayer, decorators: [{
5854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaPlayer, decorators: [{
5855
5855
  type: Component,
5856
5856
  args: [{ selector: 'eva-player', imports: [EvaMediaEventListenersDirective, EvaVideoConfigurationDirective, EvaCueChangeDirective], providers: [EvaApi, EvaFullscreenAPI], template: "<video #evaVideoElement [id]=\"id()\" evaMediaEventListeners evaVideoConfiguration\n\t[evaVideoConfig]=\"evaVideoConfiguration()\" (videoConfigurationDone)=\"videoConfigReady()\">\n\t@for (vs of evaVideoSources(); track $index) {\n\t<source #evaVideoSources [type]=\"vs.type\" [src]=\"vs.src\" />\n\t}\n\t@if(evaNotSupportedText()){\n\t<p>{{evaNotSupportedText()}}</p>\n\t}\n\n\t@for (t of evaVideoTracks(); track $index) {\n\t<track #evaVideoTracks [default]=\"t.default\" [kind]=\"t.kind\" [label]=\"t.label\" [src]=\"t.src\" [srclang]=\"t.srclang\"\n\t\t[ariaLabel]=\"t.label\" evaCueChange\n\t\t[evaCueChangeActive]=\"t.kind === 'subtitles' && activeSubtitleLabel === t.label\" />\n\t}\n</video>\n\n<ng-content></ng-content>", styles: [":host{display:block;position:relative;padding:0;margin:0;border:0;border-radius:0;overflow:hidden}:host>video{display:block;width:100%;object-fit:contain;object-position:0 0;transition:padding-bottom var(--eva-transition-duration) ease-in-out}:host(video::cue){font-family:var(--eva-font-family);color:unset;background-color:transparent;font-size:0px;text-decoration:none;text-shadow:none}\n"] }]
5857
5857
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], evaVideoSources: [{ type: i0.Input, args: [{ isSignal: true, alias: "evaVideoSources", required: true }] }], evaVideoConfiguration: [{ type: i0.Input, args: [{ isSignal: true, alias: "evaVideoConfiguration", required: false }] }], evaVideoTracks: [{ type: i0.Input, args: [{ isSignal: true, alias: "evaVideoTracks", required: false }] }], evaNotSupportedText: [{ type: i0.Input, args: [{ isSignal: true, alias: "evaNotSupportedText", required: false }] }], evaVideoElement: [{ type: i0.ViewChild, args: ['evaVideoElement', { isSignal: true }] }] } });
@@ -6062,10 +6062,10 @@ class EvaDashDirective {
6062
6062
  getDashInstance() {
6063
6063
  return this.dash;
6064
6064
  }
6065
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaDashDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6066
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.2", type: EvaDashDirective, isStandalone: true, selector: "eva-player[evaDash]", inputs: { evaDashSrc: { classPropertyName: "evaDashSrc", publicName: "evaDashSrc", isSignal: true, isRequired: true, transformFunction: null }, evaDashDRMToken: { classPropertyName: "evaDashDRMToken", publicName: "evaDashDRMToken", isSignal: true, isRequired: false, transformFunction: null }, evaDashDRMLicenseServer: { classPropertyName: "evaDashDRMLicenseServer", publicName: "evaDashDRMLicenseServer", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["evaDash"], usesOnChanges: true, ngImport: i0 });
6065
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaDashDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6066
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: EvaDashDirective, isStandalone: true, selector: "eva-player[evaDash]", inputs: { evaDashSrc: { classPropertyName: "evaDashSrc", publicName: "evaDashSrc", isSignal: true, isRequired: true, transformFunction: null }, evaDashDRMToken: { classPropertyName: "evaDashDRMToken", publicName: "evaDashDRMToken", isSignal: true, isRequired: false, transformFunction: null }, evaDashDRMLicenseServer: { classPropertyName: "evaDashDRMLicenseServer", publicName: "evaDashDRMLicenseServer", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["evaDash"], usesOnChanges: true, ngImport: i0 });
6067
6067
  }
6068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaDashDirective, decorators: [{
6068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaDashDirective, decorators: [{
6069
6069
  type: Directive,
6070
6070
  args: [{
6071
6071
  selector: 'eva-player[evaDash]',
@@ -6249,10 +6249,10 @@ class EvaHlsDirective {
6249
6249
  getHlsInstance() {
6250
6250
  return this.hls;
6251
6251
  }
6252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaHlsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6253
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.2", type: EvaHlsDirective, isStandalone: true, selector: "eva-player[evaHls]", inputs: { evaHlsSrc: { classPropertyName: "evaHlsSrc", publicName: "evaHlsSrc", isSignal: true, isRequired: true, transformFunction: null }, evaHlsHeaders: { classPropertyName: "evaHlsHeaders", publicName: "evaHlsHeaders", isSignal: true, isRequired: false, transformFunction: null }, evaHlsConfig: { classPropertyName: "evaHlsConfig", publicName: "evaHlsConfig", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["evaHls"], usesOnChanges: true, ngImport: i0 });
6252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaHlsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6253
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.9", type: EvaHlsDirective, isStandalone: true, selector: "eva-player[evaHls]", inputs: { evaHlsSrc: { classPropertyName: "evaHlsSrc", publicName: "evaHlsSrc", isSignal: true, isRequired: true, transformFunction: null }, evaHlsHeaders: { classPropertyName: "evaHlsHeaders", publicName: "evaHlsHeaders", isSignal: true, isRequired: false, transformFunction: null }, evaHlsConfig: { classPropertyName: "evaHlsConfig", publicName: "evaHlsConfig", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["evaHls"], usesOnChanges: true, ngImport: i0 });
6254
6254
  }
6255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: EvaHlsDirective, decorators: [{
6255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: EvaHlsDirective, decorators: [{
6256
6256
  type: Directive,
6257
6257
  args: [{
6258
6258
  selector: 'eva-player[evaHls]',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ez-vid-ang",
3
- "version": "0.0.10",
3
+ "version": "21.0.1",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  "./assets/styling.scss": {
@@ -15,8 +15,7 @@
15
15
  }
16
16
  },
17
17
  "peerDependencies": {
18
- "@angular/common": "^21.1.0",
19
- "@angular/core": "^21.1.0"
18
+ "@angular/core": "~21.0.0"
20
19
  },
21
20
  "dependencies": {
22
21
  "tslib": "^2.3.0"