design-angular-kit 1.2.2 → 1.3.0

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.
Files changed (39) hide show
  1. package/assets/i18n/en.json +89 -0
  2. package/assets/i18n/it.json +89 -0
  3. package/esm2022/lib/abstracts/abstract-form.component.mjs +19 -6
  4. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +8 -6
  5. package/esm2022/lib/components/core/video-player/video-player-i18n.model.mjs +2 -0
  6. package/esm2022/lib/components/core/video-player/video-player-i18n.service.mjs +130 -0
  7. package/esm2022/lib/components/core/video-player/video-player.component.mjs +303 -0
  8. package/esm2022/lib/components/core/video-player/video-player.config.mjs +43 -0
  9. package/esm2022/lib/components/core/video-player/video-player.cookie.mjs +25 -0
  10. package/esm2022/lib/components/core/video-player/video-player.model.mjs +3 -0
  11. package/esm2022/lib/components/core/video-player/video-player.module.mjs +16 -0
  12. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +144 -78
  13. package/esm2022/lib/components/form/form.module.mjs +6 -2
  14. package/esm2022/lib/components/form/input/input.component.mjs +3 -3
  15. package/esm2022/lib/components/form/search/search.component.mjs +112 -0
  16. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +2 -3
  17. package/esm2022/lib/design-angular-kit.module.mjs +8 -4
  18. package/esm2022/lib/interfaces/form.mjs +1 -1
  19. package/esm2022/lib/validators/it-validators.mjs +6 -1
  20. package/esm2022/public_api.mjs +7 -3
  21. package/fesm2022/design-angular-kit.mjs +782 -90
  22. package/fesm2022/design-angular-kit.mjs.map +1 -1
  23. package/lib/abstracts/abstract-form.component.d.ts +6 -4
  24. package/lib/components/core/carousel/carousel/carousel.component.d.ts +1 -1
  25. package/lib/components/core/video-player/video-player-i18n.model.d.ts +179 -0
  26. package/lib/components/core/video-player/video-player-i18n.service.d.ts +17 -0
  27. package/lib/components/core/video-player/video-player.component.d.ts +48 -0
  28. package/lib/components/core/video-player/video-player.config.d.ts +68 -0
  29. package/lib/components/core/video-player/video-player.cookie.d.ts +6 -0
  30. package/lib/components/core/video-player/video-player.model.d.ts +44 -0
  31. package/lib/components/core/video-player/video-player.module.d.ts +7 -0
  32. package/lib/components/form/autocomplete/autocomplete.component.d.ts +55 -39
  33. package/lib/components/form/form.module.d.ts +13 -12
  34. package/lib/components/form/search/search.component.d.ts +59 -0
  35. package/lib/design-angular-kit.module.d.ts +18 -17
  36. package/lib/interfaces/form.d.ts +3 -3
  37. package/lib/validators/it-validators.d.ts +1 -0
  38. package/package.json +20 -7
  39. package/public_api.d.ts +6 -2
@@ -0,0 +1,130 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { tap } from 'rxjs';
5
+ import videojs from 'video.js';
6
+ import * as i0 from "@angular/core";
7
+ export class VideoPlayerI18nService {
8
+ #translate = inject(TranslateService);
9
+ init(player, destroyRef) {
10
+ this.#translate.onLangChange
11
+ .pipe(takeUntilDestroyed(destroyRef), tap({
12
+ next: e => {
13
+ const language = e.lang;
14
+ videojs.addLanguage(language, this.getTranslations());
15
+ player.language(language);
16
+ },
17
+ }))
18
+ .subscribe(x => {
19
+ console.log('onLangChange', x);
20
+ });
21
+ }
22
+ getLanguage() {
23
+ const language = this.#translate.currentLang ?? 'it';
24
+ return {
25
+ languages: { [language]: mapToVideoJsTranslation(this.#translate.instant('it.video-player')) },
26
+ language,
27
+ };
28
+ }
29
+ getTranslations() {
30
+ return mapToVideoJsTranslation(this.#translate.instant('it.video-player'));
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerI18nService, providedIn: 'root' }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerI18nService, decorators: [{
36
+ type: Injectable,
37
+ args: [{ providedIn: 'root' }]
38
+ }] });
39
+ function mapToVideoJsTranslation(translations) {
40
+ return {
41
+ 'Audio Player': translations['audio-player'],
42
+ 'Video Player': translations['video-player'],
43
+ Play: translations.play,
44
+ Pause: translations.pause,
45
+ Replay: translations.replay,
46
+ 'Current Time': translations['current-time'],
47
+ Duration: translations.duration,
48
+ 'Remaining Time': translations['remaining-time'],
49
+ 'Stream Type': translations['stream-type'],
50
+ LIVE: translations.live,
51
+ Loaded: translations.loaded,
52
+ Progress: translations.progress,
53
+ 'Progress Bar': translations['progress-bar'],
54
+ 'progress bar timing: currentTime={1} duration={2}': translations['progress-bar-timing:-currenttime={1}-duration={2}'],
55
+ Fullscreen: translations.fullscreen,
56
+ 'Exit Fullscreen': translations['exit-fullscreen'],
57
+ Mute: translations.mute,
58
+ Unmute: translations.unmute,
59
+ 'Playback Rate': translations['playback-rate'],
60
+ Subtitles: translations.subtitles,
61
+ 'subtitles off': translations['subtitles-off'],
62
+ Captions: translations.captions,
63
+ 'captions off': translations['captions-off'],
64
+ Chapters: translations.chapters,
65
+ Descriptions: translations.descriptions,
66
+ 'descriptions off': translations['descriptions-off'],
67
+ 'Audio Track': translations['audio-track'],
68
+ 'Volume Level': translations['volume-level'],
69
+ 'You aborted the media playback': translations['you-aborted-the-media-playback'],
70
+ 'A network error caused the media download to fail part-way.': translations['a-network-error-caused-the-media-download-to-fail-part-way.'],
71
+ 'The media could not be loaded, either because the server or network failed or because the format is not supported.': translations['the-media-could-not-be-loaded,-either-because-the-server-or-network-failed-or-because-the-format-is-not-supported.'],
72
+ 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.': translations['the-media-playback-was-aborted-due-to-a-corruption-problem-or-because-the-media-used-features-your-browser-did-not-support.'],
73
+ 'No compatible source was found for this media.': translations['no-compatible-source-was-found-for-this-media.'],
74
+ 'The media is encrypted and we do not have the keys to decrypt it.': translations['the-media-is-encrypted-and-we-do-not-have-the-keys-to-decrypt-it.'],
75
+ 'Play Video': translations['play-video'],
76
+ Close: translations.close,
77
+ 'Close Modal Dialog': translations['close-modal-dialog'],
78
+ 'Modal Window': translations['modal-window'],
79
+ 'This is a modal window': translations['this-is-a-modal-window'],
80
+ 'This modal can be closed by pressing the Escape key or activating the close button.': translations['this-modal-can-be-closed-by-pressing-the-escape-key-or-activating-the-close-button.'],
81
+ ', opens captions settings dialog': translations[',-opens-captions-settings-dialog'],
82
+ ', opens subtitles settings dialog': translations[',-opens-subtitles-settings-dialog'],
83
+ ', opens descriptions settings dialog': translations[',-opens-descriptions-settings-dialog'],
84
+ ', selected': translations[',-selected'],
85
+ 'captions settings': translations['captions-settings'],
86
+ 'subtitles settings': translations['subtitles-settings'],
87
+ 'descriptions settings': translations['descriptions-settings'],
88
+ Text: translations.text,
89
+ White: translations.white,
90
+ Black: translations.black,
91
+ Red: translations.red,
92
+ Green: translations.green,
93
+ Blue: translations.blue,
94
+ Yellow: translations.yellow,
95
+ Magenta: translations.magenta,
96
+ Cyan: translations.cyan,
97
+ Background: translations.background,
98
+ Window: translations.window,
99
+ Transparent: translations.transparent,
100
+ 'Semi-Transparent': translations['semi-transparent'],
101
+ Opaque: translations.opaque,
102
+ 'Font Size': translations['font-size'],
103
+ 'Text Edge Style': translations['text-edge-style'],
104
+ None: translations.none,
105
+ Uniform: translations.uniform,
106
+ 'Drop shadow': translations['drop-shadow'],
107
+ 'Font Family': translations['font-family'],
108
+ 'Proportional Sans-Serif': translations['proportional-sans-serif'],
109
+ 'Monospace Sans-Serif': translations['monospace-sans-serif'],
110
+ 'Proportional Serif': translations['proportional-serif'],
111
+ 'Monospace Serif': translations['monospace-serif'],
112
+ 'Small Caps': translations['small-caps'],
113
+ Reset: translations.reset,
114
+ 'restore all settings to the default values': translations['restore-all-settings-to-the-default-values'],
115
+ Done: translations.done,
116
+ 'Caption Settings Dialog': translations['caption-settings-dialog'],
117
+ 'Beginning of dialog window. Escape will cancel and close the window.': translations['beginning-of-dialog-window.-escape-will-cancel-and-close-the-window.'],
118
+ 'End of dialog window.': translations['end-of-dialog-window.'],
119
+ '{1} is loading.': translations['{1}-is-loading.'],
120
+ 'Exit Picture-in-Picture': translations['exit-picture-in-picture'],
121
+ 'Picture-in-Picture': translations['picture-in-picture'],
122
+ Color: translations.color,
123
+ Opacity: translations.opacity,
124
+ 'Text Background': translations['text-background'],
125
+ 'Caption Area Background': translations['caption-area-background'],
126
+ 'Skip forward {1} seconds': translations['skip-forward-{1}-seconds'],
127
+ 'Skip backward {1} seconds': translations['skip-backward-{1}-seconds'],
128
+ };
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLWkxOG4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLWkxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sT0FBTyxNQUFNLFVBQVUsQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixVQUFVLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFL0MsSUFBSSxDQUFDLE1BQWMsRUFBRSxVQUFzQjtRQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVk7YUFDekIsSUFBSSxDQUNILGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUM5QixHQUFHLENBQUM7WUFDRixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0JBQ3RELE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsQ0FBQztTQUNGLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFD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QUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdmlkZW9qcyBmcm9tICd2aWRlby5qcyc7XG5pbXBvcnQgUGxheWVyIGZyb20gJ3ZpZGVvLmpzL2Rpc3QvdHlwZXMvcGxheWVyJztcbmltcG9ydCB7IFZpZGVvSnNUcmFuc2xhdGlvbiwgVmlkZW9QbGF5ZXJUcmFuc2xhdGlvbnMgfSBmcm9tICcuL3ZpZGVvLXBsYXllci1pMThuLm1vZGVsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBWaWRlb1BsYXllckkxOG5TZXJ2aWNlIHtcbiAgcmVhZG9ubHkgI3RyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBpbml0KHBsYXllcjogUGxheWVyLCBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7XG4gICAgdGhpcy4jdHJhbnNsYXRlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChkZXN0cm95UmVmKSxcbiAgICAgICAgdGFwKHtcbiAgICAgICAgICBuZXh0OiBlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmd1YWdlID0gZS5sYW5nO1xuICAgICAgICAgICAgdmlkZW9qcy5hZGRMYW5ndWFnZShsYW5ndWFnZSwgdGhpcy5nZXRUcmFuc2xhdGlvbnMoKSk7XG4gICAgICAgICAgICBwbGF5ZXIubGFuZ3VhZ2UobGFuZ3VhZ2UpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHggPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25MYW5nQ2hhbmdlJywgeCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldExhbmd1YWdlKCkge1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy4jdHJhbnNsYXRlLmN1cnJlbnRMYW5nID8/ICdpdCc7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFuZ3VhZ2VzOiB7IFtsYW5ndWFnZV06IG1hcFRvVmlkZW9Kc1RyYW5zbGF0aW9uKHRoaXMuI3RyYW5zbGF0ZS5pbnN0YW50KCdpdC52aWRlby1wbGF5ZXInKSkgfSxcbiAgICAgIGxhbmd1YWdlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zbGF0aW9ucygpIHtcbiAgICByZXR1cm4gbWFwVG9WaWRlb0pzVHJhbnNsYXRpb24odGhpcy4jdHJhbnNsYXRlLmluc3RhbnQoJ2l0LnZpZGVvLXBsYXllcicpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBUb1ZpZGVvSnNUcmFuc2xhdGlvbih0cmFuc2xhdGlvbnM6IFZpZGVvUGxheWVyVHJhbnNsYXRpb25zKTogVmlkZW9Kc1RyYW5zbGF0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICAnQXVkaW8gUGxheWVyJzogdHJhbnNsYXRpb25zWydhdWRpby1wbGF5ZXInXSxcbiAgICAnVmlkZW8gUGxheWVyJzogdHJhbnNsYXRpb25zWyd2aWRlby1wbGF5ZXInXSxcbiAgICBQbGF5OiB0cmFuc2xhdGlvbnMucGxheSxcbiAgICBQYXVzZTogdHJhbnNsYXRpb25zLnBhdXNlLFxuICAgIFJlcGxheTogdHJhbnNsYXRpb25zLnJlcGxheSxcbiAgICAnQ3VycmVudCBUaW1lJzogdHJhbnNsYXRpb25zWydjdXJyZW50LXRpbWUnXSxcbiAgICBEdXJhdGlvbjogdHJhbnNsYXRpb25zLmR1cmF0aW9uLFxuICAgICdSZW1haW5pbmcgVGltZSc6IHRyYW5zbGF0aW9uc1sncmVtYWluaW5nLXRpbWUnXSxcbiAgICAnU3RyZWFtIFR5cGUnOiB0cmFuc2xhdGlvbnNbJ3N0cmVhbS10eXBlJ10sXG4gICAgTElWRTogdHJhbnNsYXRpb25zLmxpdmUsXG4gICAgTG9hZGVkOiB0cmFuc2xhdGlvbnMubG9hZGVkLFxuICAgIFByb2dyZXNzOiB0cmFuc2xhdGlvbnMucHJvZ3Jlc3MsXG4gICAgJ1Byb2dyZXNzIEJhcic6IHRyYW5zbGF0aW9uc1sncHJvZ3Jlc3MtYmFyJ10sXG4gICAgJ3Byb2dyZXNzIGJhciB0aW1pbmc6IGN1cnJlbnRUaW1lPXsxfSBkdXJhdGlvbj17Mn0nOiB0cmFuc2xhdGlvbnNbJ3Byb2dyZXNzLWJhci10aW1pbmc6LWN1cnJlbnR0aW1lPXsxfS1kdXJhdGlvbj17Mn0nXSxcbiAgICBGdWxsc2NyZWVuOiB0cmFuc2xhdGlvbnMuZnVsbHNjcmVlbixcbiAgICAnRXhpdCBGdWxsc2NyZWVuJzogdHJhbnNsYXRpb25zWydleGl0LWZ1bGxzY3JlZW4nXSxcbiAgICBNdXRlOiB0cmFuc2xhdGlvbnMubXV0ZSxcbiAgICBVbm11dGU6IHRyYW5zbGF0aW9ucy51bm11dGUsXG4gICAgJ1BsYXliYWNrIFJhdGUnOiB0cmFuc2xhdGlvbnNbJ3BsYXliYWNrLXJhdGUnXSxcbiAgICBTdWJ0aXRsZXM6IHRyYW5zbGF0aW9ucy5zdWJ0aXRsZXMsXG4gICAgJ3N1YnRpdGxlcyBvZmYnOiB0cmFuc2xhdGlvbnNbJ3N1YnRpdGxlcy1vZmYnXSxcbiAgICBDYXB0aW9uczogdHJhbnNsYXRpb25zLmNhcHRpb25zLFxuICAgICdjYXB0aW9ucyBvZmYnOiB0cmFuc2xhdGlvbnNbJ2NhcHRpb25zLW9mZiddLFxuICAgIENoYXB0ZXJzOiB0cmFuc2xhdGlvbnMuY2hhcHRlcnMsXG4gICAgRGVzY3JpcHRpb25zOiB0cmFuc2xhdGlvbnMuZGVzY3JpcHRpb25zLFxuICAgICdkZXNjcmlwdGlvbnMgb2ZmJzogdHJhbnNsYXRpb25zWydkZXNjcmlwdGlvbnMtb2ZmJ10sXG4gICAgJ0F1ZGlvIFRyYWNrJzogdHJhbnNsYXRpb25zWydhdWRpby10cmFjayddLFxuICAgICdWb2x1bWUgTGV2ZWwnOiB0cmFuc2xhdGlvbnNbJ3ZvbHVtZS1sZXZlbCddLFxuICAgICdZb3UgYWJvcnRlZCB0aGUgbWVkaWEgcGxheWJhY2snOiB0cmFuc2xhdGlvbnNbJ3lvdS1hYm9ydGVkLXRoZS1tZWRpYS1wbGF5YmFjayddLFxuICAgICdBIG5ldHdvcmsgZXJyb3IgY2F1c2VkIHRoZSBtZWRpYSBkb3dubG9hZCB0byBmYWlsIHBhcnQtd2F5Lic6XG4gICAgICB0cmFuc2xhdGlvbnNbJ2EtbmV0d29yay1lcnJvci1jYXVzZWQtdGhlLW1lZGlhLWRvd25sb2FkLXRvLWZhaWwtcGFydC13YXkuJ10sXG4gICAgJ1RoZSBtZWRpYSBjb3VsZCBub3QgYmUgbG9hZGVkLCBlaXRoZXIgYmVjYXVzZSB0aGUgc2VydmVyIG9yIG5ldHdvcmsgZmFpbGVkIG9yIGJlY2F1c2UgdGhlIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLic6XG4gICAgICB0cmFuc2xhdGlvbnNbJ3RoZS1tZWRpYS1jb3VsZC1ub3QtYmUtbG9hZGVkLC1laXRoZXItYmVjYXVzZS10aGUtc2VydmVyLW9yLW5ldHdvcmstZmFpbGVkLW9yLWJlY2F1c2UtdGhlLWZvcm1hdC1pcy1ub3Qtc3VwcG9ydGVkLiddLFxuICAgICdUaGUgbWVkaWEgcGxheWJhY2sgd2FzIGFib3J0ZWQgZHVlIHRvIGEgY29ycnVwdGlvbiBwcm9ibGVtIG9yIGJlY2F1c2UgdGhlIG1lZGlhIHVzZWQgZmVhdHVyZXMgeW91ciBicm93c2VyIGRpZCBub3Qgc3VwcG9ydC4nOlxuICAgICAgdHJhbnNsYXRpb25zW1xuICAgICAgICAndGhlLW1lZGlhLXBsYXliYWNrLXdhcy1hYm9ydGVkLWR1ZS10by1hLWNvcnJ1cHRpb24tcHJvYmxlbS1vci1iZWNhdXNlLXRoZS1tZWRpYS11c2VkLWZlYXR1cmVzLXlvdXItYnJvd3Nlci1kaWQtbm90LXN1cHBvcnQuJ1xuICAgICAgXSxcbiAgICAnTm8gY29tcGF0aWJsZSBzb3VyY2Ugd2FzIGZvdW5kIGZvciB0aGlzIG1lZGlhLic6IHRyYW5zbGF0aW9uc1snbm8tY29tcGF0aWJsZS1zb3VyY2Utd2FzLWZvdW5kLWZvci10aGlzLW1lZGlhLiddLFxuICAgICdUaGUgbWVkaWEgaXMgZW5jcnlwdGVkIGFuZCB3ZSBkbyBub3QgaGF2ZSB0aGUga2V5cyB0byBkZWNyeXB0IGl0Lic6XG4gICAgICB0cmFuc2xhdGlvbnNbJ3RoZS1tZWRpYS1pcy1lbmNyeXB0ZWQtYW5kLXdlLWRvLW5vdC1oYXZlLXRoZS1rZXlzLXRvLWRlY3J5cHQtaXQuJ10sXG4gICAgJ1BsYXkgVmlkZW8nOiB0cmFuc2xhdGlvbnNbJ3BsYXktdmlkZW8nXSxcbiAgICBDbG9zZTogdHJhbnNsYXRpb25zLmNsb3NlLFxuICAgICdDbG9zZSBNb2RhbCBEaWFsb2cnOiB0cmFuc2xhdGlvbnNbJ2Nsb3NlLW1vZGFsLWRpYWxvZyddLFxuICAgICdNb2RhbCBXaW5kb3cnOiB0cmFuc2xhdGlvbnNbJ21vZGFsLXdpbmRvdyddLFxuICAgICdUaGlzIGlzIGEgbW9kYWwgd2luZG93JzogdHJhbnNsYXRpb25zWyd0aGlzLWlzLWEtbW9kYWwtd2luZG93J10sXG4gICAgJ1RoaXMgbW9kYWwgY2FuIGJlIGNsb3NlZCBieSBwcmVzc2luZyB0aGUgRXNjYXBlIGtleSBvciBhY3RpdmF0aW5nIHRoZSBjbG9zZSBidXR0b24uJzpcbiAgICAgIHRyYW5zbGF0aW9uc1sndGhpcy1tb2RhbC1jYW4tYmUtY2xvc2VkLWJ5LXByZXNzaW5nLXRoZS1lc2NhcGUta2V5LW9yLWFjdGl2YXRpbmctdGhlLWNsb3NlLWJ1dHRvbi4nXSxcbiAgICAnLCBvcGVucyBjYXB0aW9ucyBzZXR0aW5ncyBkaWFsb2cnOiB0cmFuc2xhdGlvbnNbJywtb3BlbnMtY2FwdGlvbnMtc2V0dGluZ3MtZGlhbG9nJ10sXG4gICAgJywgb3BlbnMgc3VidGl0bGVzIHNldHRpbmdzIGRpYWxvZyc6IHRyYW5zbGF0aW9uc1snLC1vcGVucy1zdWJ0aXRsZXMtc2V0dGluZ3MtZGlhbG9nJ10sXG4gICAgJywgb3BlbnMgZGVzY3JpcHRpb25zIHNldHRpbmdzIGRpYWxvZyc6IHRyYW5zbGF0aW9uc1snLC1vcGVucy1kZXNjcmlwdGlvbnMtc2V0dGluZ3MtZGlhbG9nJ10sXG4gICAgJywgc2VsZWN0ZWQnOiB0cmFuc2xhdGlvbnNbJywtc2VsZWN0ZWQnXSxcbiAgICAnY2FwdGlvbnMgc2V0dGluZ3MnOiB0cmFuc2xhdGlvbnNbJ2NhcHRpb25zLXNldHRpbmdzJ10sXG4gICAgJ3N1YnRpdGxlcyBzZXR0aW5ncyc6IHRyYW5zbGF0aW9uc1snc3VidGl0bGVzLXNldHRpbmdzJ10sXG4gICAgJ2Rlc2NyaXB0aW9ucyBzZXR0aW5ncyc6IHRyYW5zbGF0aW9uc1snZGVzY3JpcHRpb25zLXNldHRpbmdzJ10sXG4gICAgVGV4dDogdHJhbnNsYXRpb25zLnRleHQsXG4gICAgV2hpdGU6IHRyYW5zbGF0aW9ucy53aGl0ZSxcbiAgICBCbGFjazogdHJhbnNsYXRpb25zLmJsYWNrLFxuICAgIFJlZDogdHJhbnNsYXRpb25zLnJlZCxcbiAgICBHcmVlbjogdHJhbnNsYXRpb25zLmdyZWVuLFxuICAgIEJsdWU6IHRyYW5zbGF0aW9ucy5ibHVlLFxuICAgIFllbGxvdzogdHJhbnNsYXRpb25zLnllbGxvdyxcbiAgICBNYWdlbnRhOiB0cmFuc2xhdGlvbnMubWFnZW50YSxcbiAgICBDeWFuOiB0cmFuc2xhdGlvbnMuY3lhbixcbiAgICBCYWNrZ3JvdW5kOiB0cmFuc2xhdGlvbnMuYmFja2dyb3VuZCxcbiAgICBXaW5kb3c6IHRyYW5zbGF0aW9ucy53aW5kb3csXG4gICAgVHJhbnNwYXJlbnQ6IHRyYW5zbGF0aW9ucy50cmFuc3BhcmVudCxcbiAgICAnU2VtaS1UcmFuc3BhcmVudCc6IHRyYW5zbGF0aW9uc1snc2VtaS10cmFuc3BhcmVudCddLFxuICAgIE9wYXF1ZTogdHJhbnNsYXRpb25zLm9wYXF1ZSxcbiAgICAnRm9udCBTaXplJzogdHJhbnNsYXRpb25zWydmb250LXNpemUnXSxcbiAgICAnVGV4dCBFZGdlIFN0eWxlJzogdHJhbnNsYXRpb25zWyd0ZXh0LWVkZ2Utc3R5bGUnXSxcbiAgICBOb25lOiB0cmFuc2xhdGlvbnMubm9uZSxcbiAgICBVbmlmb3JtOiB0cmFuc2xhdGlvbnMudW5pZm9ybSxcbiAgICAnRHJvcCBzaGFkb3cnOiB0cmFuc2xhdGlvbnNbJ2Ryb3Atc2hhZG93J10sXG4gICAgJ0ZvbnQgRmFtaWx5JzogdHJhbnNsYXRpb25zWydmb250LWZhbWlseSddLFxuICAgICdQcm9wb3J0aW9uYWwgU2Fucy1TZXJpZic6IHRyYW5zbGF0aW9uc1sncHJvcG9ydGlvbmFsLXNhbnMtc2VyaWYnXSxcbiAgICAnTW9ub3NwYWNlIFNhbnMtU2VyaWYnOiB0cmFuc2xhdGlvbnNbJ21vbm9zcGFjZS1zYW5zLXNlcmlmJ10sXG4gICAgJ1Byb3BvcnRpb25hbCBTZXJpZic6IHRyYW5zbGF0aW9uc1sncHJvcG9ydGlvbmFsLXNlcmlmJ10sXG4gICAgJ01vbm9zcGFjZSBTZXJpZic6IHRyYW5zbGF0aW9uc1snbW9ub3NwYWNlLXNlcmlmJ10sXG4gICAgJ1NtYWxsIENhcHMnOiB0cmFuc2xhdGlvbnNbJ3NtYWxsLWNhcHMnXSxcbiAgICBSZXNldDogdHJhbnNsYXRpb25zLnJlc2V0LFxuICAgICdyZXN0b3JlIGFsbCBzZXR0aW5ncyB0byB0aGUgZGVmYXVsdCB2YWx1ZXMnOiB0cmFuc2xhdGlvbnNbJ3Jlc3RvcmUtYWxsLXNldHRpbmdzLXRvLXRoZS1kZWZhdWx0LXZhbHVlcyddLFxuICAgIERvbmU6IHRyYW5zbGF0aW9ucy5kb25lLFxuICAgICdDYXB0aW9uIFNldHRpbmdzIERpYWxvZyc6IHRyYW5zbGF0aW9uc1snY2FwdGlvbi1zZXR0aW5ncy1kaWFsb2cnXSxcbiAgICAnQmVnaW5uaW5nIG9mIGRpYWxvZyB3aW5kb3cuIEVzY2FwZSB3aWxsIGNhbmNlbCBhbmQgY2xvc2UgdGhlIHdpbmRvdy4nOlxuICAgICAgdHJhbnNsYXRpb25zWydiZWdpbm5pbmctb2YtZGlhbG9nLXdpbmRvdy4tZXNjYXBlLXdpbGwtY2FuY2VsLWFuZC1jbG9zZS10aGUtd2luZG93LiddLFxuICAgICdFbmQgb2YgZGlhbG9nIHdpbmRvdy4nOiB0cmFuc2xhdGlvbnNbJ2VuZC1vZi1kaWFsb2ctd2luZG93LiddLFxuICAgICd7MX0gaXMgbG9hZGluZy4nOiB0cmFuc2xhdGlvbnNbJ3sxfS1pcy1sb2FkaW5nLiddLFxuICAgICdFeGl0IFBpY3R1cmUtaW4tUGljdHVyZSc6IHRyYW5zbGF0aW9uc1snZXhpdC1waWN0dXJlLWluLXBpY3R1cmUnXSxcbiAgICAnUGljdHVyZS1pbi1QaWN0dXJlJzogdHJhbnNsYXRpb25zWydwaWN0dXJlLWluLXBpY3R1cmUnXSxcbiAgICBDb2xvcjogdHJhbnNsYXRpb25zLmNvbG9yLFxuICAgIE9wYWNpdHk6IHRyYW5zbGF0aW9ucy5vcGFjaXR5LFxuICAgICdUZXh0IEJhY2tncm91bmQnOiB0cmFuc2xhdGlvbnNbJ3RleHQtYmFja2dyb3VuZCddLFxuICAgICdDYXB0aW9uIEFyZWEgQmFja2dyb3VuZCc6IHRyYW5zbGF0aW9uc1snY2FwdGlvbi1hcmVhLWJhY2tncm91bmQnXSxcbiAgICAnU2tpcCBmb3J3YXJkIHsxfSBzZWNvbmRzJzogdHJhbnNsYXRpb25zWydza2lwLWZvcndhcmQtezF9LXNlY29uZHMnXSxcbiAgICAnU2tpcCBiYWNrd2FyZCB7MX0gc2Vjb25kcyc6IHRyYW5zbGF0aW9uc1snc2tpcC1iYWNrd2FyZC17MX0tc2Vjb25kcyddLFxuICB9O1xufVxuIl19
@@ -0,0 +1,303 @@
1
+ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, inject, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { BehaviorSubject, delay, tap } from 'rxjs';
5
+ import videojs from 'video.js';
6
+ import { ItAbstractComponent } from '../../../abstracts/abstract.component';
7
+ import { VideoPlayerI18nService } from './video-player-i18n.service';
8
+ import { cookies } from './video-player.cookie';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./video-player.config";
11
+ var ViewType;
12
+ (function (ViewType) {
13
+ ViewType["Default"] = "DEFAULT";
14
+ ViewType["Overlay"] = "OVERLAY";
15
+ })(ViewType || (ViewType = {}));
16
+ /**
17
+ * Video Player
18
+ * @description Component that allows playing a video.
19
+ */
20
+ export class ItVideoPlayerComponent extends ItAbstractComponent {
21
+ #destroyRef;
22
+ get viewType() {
23
+ return this.viewType$.value;
24
+ }
25
+ constructor(config) {
26
+ super();
27
+ this.config = config;
28
+ this.viewTypes = ViewType;
29
+ this.viewType$ = new BehaviorSubject(undefined);
30
+ this.cookieAccepted$ = new BehaviorSubject(false);
31
+ this.i18nService = inject(VideoPlayerI18nService);
32
+ this.#destroyRef = inject(DestroyRef);
33
+ }
34
+ async ngOnInit() {
35
+ const config = this.config.mergeConfig(this.options);
36
+ this.setViewType(config);
37
+ await this.config.configureTech(config);
38
+ if (!this.videoPlayerRef) {
39
+ this.cookieAccepted$
40
+ .pipe(takeUntilDestroyed(this.#destroyRef), delay(0), tap({
41
+ next: value => {
42
+ if (value && !this.player) {
43
+ this.initVideoPlayer();
44
+ }
45
+ },
46
+ }))
47
+ .subscribe();
48
+ return;
49
+ }
50
+ this.initVideoPlayer();
51
+ }
52
+ ngAfterViewInit() {
53
+ if (this.viewType === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com')) {
54
+ this.hideOverlay();
55
+ }
56
+ }
57
+ ngOnDestroy() {
58
+ if (this.player) {
59
+ this.player.dispose();
60
+ }
61
+ }
62
+ acceptCookieHandler() {
63
+ this.rememberHandler();
64
+ this.hideOverlay();
65
+ this.cookieAccepted$.next(true);
66
+ }
67
+ initVideoPlayer() {
68
+ const config = this.config.mergeConfig(this.options);
69
+ this.setVideoAttributes(config);
70
+ this.setVideoPlayer();
71
+ }
72
+ setVideoPlayer() {
73
+ const config = this.config.mergeConfig(this.options);
74
+ const onPlayerReadyCb = () => {
75
+ if (!this.player) {
76
+ return;
77
+ }
78
+ this.i18nService.init(this.player, this.#destroyRef);
79
+ };
80
+ if (!this.videoPlayerRef) {
81
+ throw Error('videoPlayerRef is undefined');
82
+ }
83
+ this.player = videojs(this.videoPlayerRef.nativeElement, config, onPlayerReadyCb.bind(this));
84
+ }
85
+ setViewType(config) {
86
+ this.viewType$.next(config.tech === 'youtube' ? ViewType.Overlay : ViewType.Default);
87
+ this.cookieAccepted$.next(this.viewType === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com'));
88
+ }
89
+ hideOverlay() {
90
+ if (!this.acceptOverlayableRef) {
91
+ return;
92
+ }
93
+ const classes = ['show'];
94
+ this.acceptOverlayableRef.nativeElement.classList.remove(...classes);
95
+ if (!this.acceptOveralyRef) {
96
+ return;
97
+ }
98
+ this.acceptOveralyRef.nativeElement.classList.remove(...classes);
99
+ this.acceptOveralyRef.nativeElement.setAttribute('aria-hidden', 'true');
100
+ }
101
+ rememberHandler() {
102
+ if (!this.chrRememberRef) {
103
+ return;
104
+ }
105
+ const remember = this.chrRememberRef.nativeElement.checked;
106
+ cookies.rememberChoice('youtube.com', remember);
107
+ }
108
+ setVideoAttributes(options) {
109
+ if (!this.videoPlayerRef) {
110
+ return;
111
+ }
112
+ const v = this.videoPlayerRef.nativeElement;
113
+ const { autoplay, controls, loop, muted, poster, fluid } = options;
114
+ if (autoplay) {
115
+ v.setAttribute('autoplay', autoplay.toString());
116
+ }
117
+ if (controls) {
118
+ v.setAttribute('controls', '');
119
+ }
120
+ if (loop) {
121
+ v.setAttribute('loop', '');
122
+ }
123
+ if (muted) {
124
+ v.setAttribute('muted', '');
125
+ }
126
+ if (poster) {
127
+ v.setAttribute('poster', poster);
128
+ }
129
+ if (fluid) {
130
+ v.setAttribute('fluid', '');
131
+ }
132
+ v.setAttribute('preload', 'none');
133
+ v.setAttribute('playsinline', '');
134
+ }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerComponent, deps: [{ token: i1.VideoPlayerConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItVideoPlayerComponent, isStandalone: true, selector: "it-video-player", inputs: { options: "options" }, viewQueries: [{ propertyName: "videoPlayerRef", first: true, predicate: ["videoPlayer"], descendants: true }, { propertyName: "acceptOveralyRef", first: true, predicate: ["acceptOveraly"], descendants: true }, { propertyName: "acceptOverlayableRef", first: true, predicate: ["acceptOverlayable"], descendants: true }, { propertyName: "chrRememberRef", first: true, predicate: ["chkRemember"], descendants: true }], usesInheritance: true, ngImport: i0, template: `@switch (viewType$ | async) {
137
+ @case (viewTypes.Default) {
138
+ <div class="row">
139
+ <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
140
+ <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
141
+ </div>
142
+ }
143
+ @case (viewTypes.Overlay) {
144
+ <div #acceptOverlayable class="acceptoverlayable show">
145
+ <div #acceptOveraly class="acceptoverlay acceptoverlay-primary fade show">
146
+ <div class="acceptoverlay-inner">
147
+ <div class="acceptoverlay-icon">
148
+ <svg class="icon icon-xl"><use href="/bootstrap-italia/dist/svg/sprites.svg#it-video"></use></svg>
149
+ </div>
150
+ <p>
151
+ Accetta i cookie di YouTube per vedere il video. Puoi gestire le preferenze nella
152
+ <a href="#" class="text-white">cookie policy</a>.
153
+ </p>
154
+ <div class="acceptoverlay-buttons bg-dark">
155
+ <button type="button" class="btn btn-primary" (click)="acceptCookieHandler()">Accetta</button>
156
+ <div class="form-check">
157
+ <input id="chk-remember{{ id }}" type="checkbox" #chkRemember />
158
+ <label for="chk-remember{{ id }}">Ricorda per tutti i video</label>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ @if (cookieAccepted$ | async) {
164
+ <div>
165
+ <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
166
+ <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
167
+ </div>
168
+ }
169
+ </div>
170
+ }
171
+ @default {
172
+ <h1>No video provider</h1>
173
+ }
174
+ }
175
+ <ng-template #videoTemplate>
176
+ <div>
177
+ <video #videoPlayer class="video-js vjs-theme-bootstrap-italia vjs-fluid vjs-big-play-centered"></video>
178
+ </div>
179
+ </ng-template>
180
+
181
+ <ng-template #transcriptionTemplate>
182
+ <div class="vjs-transcription accordion">
183
+ <div class="accordion-item">
184
+ <h2 class="accordion-header " id="transcription-{{ id }}-head">
185
+ <button
186
+ class="accordion-button collapsed"
187
+ type="button"
188
+ data-bs-toggle="collapse"
189
+ [attr.data-bs-target]="'#transcription-' + id"
190
+ [attr.aria-controls]="'transcription-' + id"
191
+ aria-expanded="true">
192
+ <ng-content select="[transcriptionTitle]">Trascrizione</ng-content>
193
+ </button>
194
+ </h2>
195
+ <div
196
+ id="transcription-{{ id }}"
197
+ class="accordion-collapse collapse"
198
+ role="region"
199
+ [attr.aria-labelledby]="'transcription-' + id + '-head'">
200
+ <div class="accordion-body">
201
+ <ng-content select="[transcriptionText]">-</ng-content>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ </ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
+ }
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerComponent, decorators: [{
209
+ type: Component,
210
+ args: [{
211
+ standalone: true,
212
+ selector: 'it-video-player',
213
+ template: `@switch (viewType$ | async) {
214
+ @case (viewTypes.Default) {
215
+ <div class="row">
216
+ <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
217
+ <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
218
+ </div>
219
+ }
220
+ @case (viewTypes.Overlay) {
221
+ <div #acceptOverlayable class="acceptoverlayable show">
222
+ <div #acceptOveraly class="acceptoverlay acceptoverlay-primary fade show">
223
+ <div class="acceptoverlay-inner">
224
+ <div class="acceptoverlay-icon">
225
+ <svg class="icon icon-xl"><use href="/bootstrap-italia/dist/svg/sprites.svg#it-video"></use></svg>
226
+ </div>
227
+ <p>
228
+ Accetta i cookie di YouTube per vedere il video. Puoi gestire le preferenze nella
229
+ <a href="#" class="text-white">cookie policy</a>.
230
+ </p>
231
+ <div class="acceptoverlay-buttons bg-dark">
232
+ <button type="button" class="btn btn-primary" (click)="acceptCookieHandler()">Accetta</button>
233
+ <div class="form-check">
234
+ <input id="chk-remember{{ id }}" type="checkbox" #chkRemember />
235
+ <label for="chk-remember{{ id }}">Ricorda per tutti i video</label>
236
+ </div>
237
+ </div>
238
+ </div>
239
+ </div>
240
+ @if (cookieAccepted$ | async) {
241
+ <div>
242
+ <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
243
+ <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
244
+ </div>
245
+ }
246
+ </div>
247
+ }
248
+ @default {
249
+ <h1>No video provider</h1>
250
+ }
251
+ }
252
+ <ng-template #videoTemplate>
253
+ <div>
254
+ <video #videoPlayer class="video-js vjs-theme-bootstrap-italia vjs-fluid vjs-big-play-centered"></video>
255
+ </div>
256
+ </ng-template>
257
+
258
+ <ng-template #transcriptionTemplate>
259
+ <div class="vjs-transcription accordion">
260
+ <div class="accordion-item">
261
+ <h2 class="accordion-header " id="transcription-{{ id }}-head">
262
+ <button
263
+ class="accordion-button collapsed"
264
+ type="button"
265
+ data-bs-toggle="collapse"
266
+ [attr.data-bs-target]="'#transcription-' + id"
267
+ [attr.aria-controls]="'transcription-' + id"
268
+ aria-expanded="true">
269
+ <ng-content select="[transcriptionTitle]">Trascrizione</ng-content>
270
+ </button>
271
+ </h2>
272
+ <div
273
+ id="transcription-{{ id }}"
274
+ class="accordion-collapse collapse"
275
+ role="region"
276
+ [attr.aria-labelledby]="'transcription-' + id + '-head'">
277
+ <div class="accordion-body">
278
+ <ng-content select="[transcriptionText]">-</ng-content>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ </div>
283
+ </ng-template> `,
284
+ imports: [AsyncPipe, NgTemplateOutlet],
285
+ encapsulation: ViewEncapsulation.None,
286
+ changeDetection: ChangeDetectionStrategy.OnPush,
287
+ }]
288
+ }], ctorParameters: () => [{ type: i1.VideoPlayerConfigService }], propDecorators: { options: [{
289
+ type: Input
290
+ }], videoPlayerRef: [{
291
+ type: ViewChild,
292
+ args: ['videoPlayer', { static: false }]
293
+ }], acceptOveralyRef: [{
294
+ type: ViewChild,
295
+ args: ['acceptOveraly', { static: false }]
296
+ }], acceptOverlayableRef: [{
297
+ type: ViewChild,
298
+ args: ['acceptOverlayable', { static: false }]
299
+ }], chrRememberRef: [{
300
+ type: ViewChild,
301
+ args: ['chkRemember', { static: false }]
302
+ }] } });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2hELElBQUssUUFHSjtBQUhELFdBQUssUUFBUTtJQUNYLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFISSxRQUFRLEtBQVIsUUFBUSxRQUdaO0FBRUQ7OztHQUdHO0FBK0VILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUF3QnBELFdBQVcsQ0FBc0I7SUFFMUMsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQW9CLE1BQWdDO1FB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O1FBQ2xDLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBaEtVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlpQkEzRXZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQXNFUSx1REFDUixTQUFTLDhDQUFFLGdCQUFnQjs7MkZBSTFCLHNCQUFzQjtrQkE5RWxDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQkFzRVE7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDdEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs2RkFLVSxPQUFPO3NCQUFmLEtBQUs7Z0JBRXVDLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFSSxnQkFBZ0I7c0JBQTlELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFTSxvQkFBb0I7c0JBQXRFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVKLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlbGF5LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB2aWRlb2pzIGZyb20gJ3ZpZGVvLmpzJztcbmltcG9ydCBQbGF5ZXIgZnJvbSAndmlkZW8uanMvZGlzdC90eXBlcy9wbGF5ZXInO1xuaW1wb3J0IHsgSXRBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlkZW9QbGF5ZXJJMThuU2VydmljZSB9IGZyb20gJy4vdmlkZW8tcGxheWVyLWkxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUZWNoLCBWaWRlb1BsYXllckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5jb25maWcnO1xuaW1wb3J0IHsgY29va2llcyB9IGZyb20gJy4vdmlkZW8tcGxheWVyLmNvb2tpZSc7XG5pbXBvcnQgeyBJdFZpZGVvUGxheWVyQ29uZmlnLCBJdFZpZGVvUGxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmlkZW8tcGxheWVyLm1vZGVsJztcblxuZW51bSBWaWV3VHlwZSB7XG4gIERlZmF1bHQgPSAnREVGQVVMVCcsXG4gIE92ZXJsYXkgPSAnT1ZFUkxBWScsXG59XG5cbi8qKlxuICogVmlkZW8gUGxheWVyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50IHRoYXQgYWxsb3dzIHBsYXlpbmcgYSB2aWRlby5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdmlkZW8tcGxheWVyJyxcbiAgdGVtcGxhdGU6IGBAc3dpdGNoICh2aWV3VHlwZSQgfCBhc3luYykge1xuICAgICAgQGNhc2UgKHZpZXdUeXBlcy5EZWZhdWx0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlkZW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NyaXB0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAY2FzZSAodmlld1R5cGVzLk92ZXJsYXkpIHtcbiAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmxheWFibGUgY2xhc3M9XCJhY2NlcHRvdmVybGF5YWJsZSBzaG93XCI+XG4gICAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmFseSBjbGFzcz1cImFjY2VwdG92ZXJsYXkgYWNjZXB0b3ZlcmxheS1wcmltYXJ5IGZhZGUgc2hvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaW5uZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaWNvblwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uIGljb24teGxcIj48dXNlIGhyZWY9XCIvYm9vdHN0cmFwLWl0YWxpYS9kaXN0L3N2Zy9zcHJpdGVzLnN2ZyNpdC12aWRlb1wiPjwvdXNlPjwvc3ZnPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgQWNjZXR0YSBpIGNvb2tpZSBkaSBZb3VUdWJlIHBlciB2ZWRlcmUgaWwgdmlkZW8uIFB1b2kgZ2VzdGlyZSBsZSBwcmVmZXJlbnplIG5lbGxhXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtd2hpdGVcIj5jb29raWUgcG9saWN5PC9hPi5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjZXB0b3ZlcmxheS1idXR0b25zIGJnLWRhcmtcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhY2NlcHRDb29raWVIYW5kbGVyKClcIj5BY2NldHRhPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImNoay1yZW1lbWJlcnt7IGlkIH19XCIgdHlwZT1cImNoZWNrYm94XCIgI2Noa1JlbWVtYmVyIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2hrLXJlbWVtYmVye3sgaWQgfX1cIj5SaWNvcmRhIHBlciB0dXR0aSBpIHZpZGVvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKGNvb2tpZUFjY2VwdGVkJCB8IGFzeW5jKSB7XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlkZW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJhbnNjcmlwdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGRlZmF1bHQge1xuICAgICAgICA8aDE+Tm8gdmlkZW8gcHJvdmlkZXI8L2gxPlxuICAgICAgfVxuICAgIH1cbiAgICA8bmctdGVtcGxhdGUgI3ZpZGVvVGVtcGxhdGU+XG4gICAgICA8ZGl2PlxuICAgICAgICA8dmlkZW8gI3ZpZGVvUGxheWVyIGNsYXNzPVwidmlkZW8tanMgdmpzLXRoZW1lLWJvb3RzdHJhcC1pdGFsaWEgdmpzLWZsdWlkIHZqcy1iaWctcGxheS1jZW50ZXJlZFwiPjwvdmlkZW8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0cmFuc2NyaXB0aW9uVGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwidmpzLXRyYW5zY3JpcHRpb24gYWNjb3JkaW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXIgXCIgaWQ9XCJ0cmFuc2NyaXB0aW9uLXt7IGlkIH19LWhlYWRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2NvcmRpb24tYnV0dG9uIGNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10YXJnZXRdPVwiJyN0cmFuc2NyaXB0aW9uLScgKyBpZFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RyYW5zY3JpcHRpb24tJyArIGlkXCJcbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cInRydWVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RyYW5zY3JpcHRpb25UaXRsZV1cIj5UcmFzY3JpemlvbmU8L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwidHJhbnNjcmlwdGlvbi17eyBpZCB9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1jb2xsYXBzZSBjb2xsYXBzZVwiXG4gICAgICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndHJhbnNjcmlwdGlvbi0nICsgaWQgKyAnLWhlYWQnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWJvZHlcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RyYW5zY3JpcHRpb25UZXh0XVwiPi08L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPiBgLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEl0VmlkZW9QbGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdmlkZW8gcGxheWVyIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBJdFZpZGVvUGxheWVyT3B0aW9ucztcblxuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWRlb1BsYXllclJlZj86IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYWNjZXB0T3ZlcmFseScsIHsgc3RhdGljOiBmYWxzZSB9KSBhY2NlcHRPdmVyYWx5UmVmPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYWNjZXB0T3ZlcmxheWFibGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgYWNjZXB0T3ZlcmxheWFibGVSZWY/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdjaGtSZW1lbWJlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaHJSZW1lbWJlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcGxheWVyPzogUGxheWVyO1xuXG4gIHJlYWRvbmx5IHZpZXdUeXBlcyA9IFZpZXdUeXBlO1xuXG4gIHJlYWRvbmx5IHZpZXdUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld1R5cGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29va2llQWNjZXB0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGkxOG5TZXJ2aWNlID0gaW5qZWN0KFZpZGVvUGxheWVySTE4blNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgZ2V0IHZpZXdUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdUeXBlJC52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBWaWRlb1BsYXllckNvbmZpZ1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcubWVyZ2VDb25maWcodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnNldFZpZXdUeXBlKGNvbmZpZyk7XG4gICAgYXdhaXQgdGhpcy5jb25maWcuY29uZmlndXJlVGVjaChjb25maWcgYXMgeyB0ZWNoOiBUZWNoIH0pO1xuXG4gICAgaWYgKCF0aGlzLnZpZGVvUGxheWVyUmVmKSB7XG4gICAgICB0aGlzLmNvb2tpZUFjY2VwdGVkJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG4gICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLnBsYXllcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFZpZGVvUGxheWVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbml0VmlkZW9QbGF5ZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy52aWV3VHlwZSA9PT0gVmlld1R5cGUuT3ZlcmxheSAmJiBjb29raWVzLmlzQ2hvaWNlUmVtZW1iZXJlZCgneW91dHViZS5jb20nKSkge1xuICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnBsYXllcikge1xuICAgICAgdGhpcy5wbGF5ZXIuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFjY2VwdENvb2tpZUhhbmRsZXIoKSB7XG4gICAgdGhpcy5yZW1lbWJlckhhbmRsZXIoKTtcbiAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgdGhpcy5jb29raWVBY2NlcHRlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFZpZGVvUGxheWVyKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnLm1lcmdlQ29uZmlnKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5zZXRWaWRlb0F0dHJpYnV0ZXMoY29uZmlnKTtcbiAgICB0aGlzLnNldFZpZGVvUGxheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFZpZGVvUGxheWVyKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnLm1lcmdlQ29uZmlnKHRoaXMub3B0aW9ucyk7XG4gICAgY29uc3Qgb25QbGF5ZXJSZWFkeUNiID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnBsYXllcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmkxOG5TZXJ2aWNlLmluaXQodGhpcy5wbGF5ZXIsIHRoaXMuI2Rlc3Ryb3lSZWYpO1xuICAgIH07XG5cbiAgICBpZiAoIXRoaXMudmlkZW9QbGF5ZXJSZWYpIHtcbiAgICAgIHRocm93IEVycm9yKCd2aWRlb1BsYXllclJlZiBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLnBsYXllciA9IHZpZGVvanModGhpcy52aWRlb1BsYXllclJlZi5uYXRpdmVFbGVtZW50LCBjb25maWcsIG9uUGxheWVyUmVhZHlDYi5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Vmlld1R5cGUoY29uZmlnOiBJdFZpZGVvUGxheWVyQ29uZmlnKSB7XG4gICAgdGhpcy52aWV3VHlwZSQubmV4dChjb25maWcudGVjaCA9PT0gJ3lvdXR1YmUnID8gVmlld1R5cGUuT3ZlcmxheSA6IFZpZXdUeXBlLkRlZmF1bHQpO1xuXG4gICAgdGhpcy5jb29raWVBY2NlcHRlZCQubmV4dCh0aGlzLnZpZXdUeXBlID09PSBWaWV3VHlwZS5PdmVybGF5ICYmIGNvb2tpZXMuaXNDaG9pY2VSZW1lbWJlcmVkKCd5b3V0dWJlLmNvbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLmFjY2VwdE92ZXJsYXlhYmxlUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzZXMgPSBbJ3Nob3cnXTtcbiAgICB0aGlzLmFjY2VwdE92ZXJsYXlhYmxlUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzKTtcbiAgICBpZiAoIXRoaXMuYWNjZXB0T3ZlcmFseVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFjY2VwdE92ZXJhbHlSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmNsYXNzZXMpO1xuICAgIHRoaXMuYWNjZXB0T3ZlcmFseVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1lbWJlckhhbmRsZXIoKSB7XG4gICAgaWYgKCF0aGlzLmNoclJlbWVtYmVyUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlbWVtYmVyID0gdGhpcy5jaHJSZW1lbWJlclJlZi5uYXRpdmVFbGVtZW50LmNoZWNrZWQ7XG4gICAgY29va2llcy5yZW1lbWJlckNob2ljZSgneW91dHViZS5jb20nLCByZW1lbWJlcik7XG4gIH1cblxuICBwcml2YXRlIHNldFZpZGVvQXR0cmlidXRlcyhvcHRpb25zOiBJdFZpZGVvUGxheWVyT3B0aW9ucykge1xuICAgIGlmICghdGhpcy52aWRlb1BsYXllclJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2ID0gdGhpcy52aWRlb1BsYXllclJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyBhdXRvcGxheSwgY29udHJvbHMsIGxvb3AsIG11dGVkLCBwb3N0ZXIsIGZsdWlkIH0gPSBvcHRpb25zO1xuXG4gICAgaWYgKGF1dG9wbGF5KSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCBhdXRvcGxheS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbHMpIHtcbiAgICAgIHYuc2V0QXR0cmlidXRlKCdjb250cm9scycsICcnKTtcbiAgICB9XG5cbiAgICBpZiAobG9vcCkge1xuICAgICAgdi5zZXRBdHRyaWJ1dGUoJ2xvb3AnLCAnJyk7XG4gICAgfVxuXG4gICAgaWYgKG11dGVkKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnbXV0ZWQnLCAnJyk7XG4gICAgfVxuXG4gICAgaWYgKHBvc3Rlcikge1xuICAgICAgdi5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHBvc3Rlcik7XG4gICAgfVxuXG4gICAgaWYgKGZsdWlkKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnZmx1aWQnLCAnJyk7XG4gICAgfVxuXG4gICAgdi5zZXRBdHRyaWJ1dGUoJ3ByZWxvYWQnLCAnbm9uZScpO1xuICAgIHYuc2V0QXR0cmlidXRlKCdwbGF5c2lubGluZScsICcnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,43 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
+ // @ts-ignore
4
+ import { initYoutubePlugin } from 'bootstrap-italia/dist/plugins/util/youtube-video.js';
5
+ import videojs from 'video.js';
6
+ import { VideoPlayerI18nService } from './video-player-i18n.service';
7
+ import * as i0 from "@angular/core";
8
+ const hasYoutubeVideo = (options) => options.source?.type === 'video/youtube';
9
+ export class VideoPlayerConfigService {
10
+ #languageService = inject(VideoPlayerI18nService);
11
+ async configureTech({ tech }) {
12
+ if (tech === 'youtube') {
13
+ initYoutubePlugin(videojs);
14
+ }
15
+ }
16
+ mergeConfig(o) {
17
+ const options = o;
18
+ const captions = options.captions ? options.captions.map(c => ({ ...c, kind: 'captions' })) : [];
19
+ const chapters = options.chapters ? options.chapters.map(c => ({ ...c, kind: 'chapters' })) : [];
20
+ const isYoutubeVideo = hasYoutubeVideo(options);
21
+ const DEFAULT_CONFIG = this.#languageService.getLanguage();
22
+ const tech = isYoutubeVideo ? 'youtube' : 'html5';
23
+ const techOrder = [tech];
24
+ //https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#preload
25
+ const preload = options.preload ?? 'metadata';
26
+ const config = { ...DEFAULT_CONFIG, ...options, preload, techOrder, tracks: [...captions, ...chapters], tech: 'html5' };
27
+ return isYoutubeVideo
28
+ ? {
29
+ ...config,
30
+ sources: [o.source],
31
+ tech: 'youtube',
32
+ youtube: { ytControls: 2, rel: 0, fs: 0, modestbranding: 1 },
33
+ }
34
+ : config;
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, providedIn: 'root' }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: VideoPlayerConfigService, decorators: [{
40
+ type: Injectable,
41
+ args: [{ providedIn: 'root' }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUMvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHckUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUE2QixFQUFFLEVBQUUsQ0FBRSxPQUFxQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssZUFBZSxDQUFDO0FBS25JLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFM0QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBa0I7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBdUI7UUFDakMsTUFBTSxPQUFPLEdBQUcsQ0FBK0IsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakcsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pHLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLHlFQUF5RTtRQUN6RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDeEgsT0FBTyxjQUFjO1lBQ25CLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsT0FBTyxFQUFFLENBQUUsQ0FBK0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xELElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLEVBQUU7YUFDN0Q7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2IsQ0FBQzs4R0E1QlUsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FEWCxNQUFNOzsyRkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgaW5pdFlvdXR1YmVQbHVnaW4gfSBmcm9tICdib290c3RyYXAtaXRhbGlhL2Rpc3QvcGx1Z2lucy91dGlsL3lvdXR1YmUtdmlkZW8uanMnO1xuaW1wb3J0IHZpZGVvanMgZnJvbSAndmlkZW8uanMnO1xuaW1wb3J0IHsgVmlkZW9QbGF5ZXJJMThuU2VydmljZSB9IGZyb20gJy4vdmlkZW8tcGxheWVyLWkxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zLCBJdE5hdGl2ZVZpZGVvUGxheWVyT3B0aW9ucywgSXRWaWRlb1BsYXllck9wdGlvbnMgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5tb2RlbCc7XG5cbmNvbnN0IGhhc1lvdXR1YmVWaWRlbyA9IChvcHRpb25zOiBJdFZpZGVvUGxheWVyT3B0aW9ucykgPT4gKG9wdGlvbnMgYXMgSXRFbWJlZFZpZGVvUGxheWVyT3B0aW9ucykuc291cmNlPy50eXBlID09PSAndmlkZW8veW91dHViZSc7XG5cbmV4cG9ydCB0eXBlIFRlY2ggPSAnaHRtbDUnIHwgJ3lvdXR1YmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZpZGVvUGxheWVyQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5ICNsYW5ndWFnZVNlcnZpY2UgPSBpbmplY3QoVmlkZW9QbGF5ZXJJMThuU2VydmljZSk7XG5cbiAgYXN5bmMgY29uZmlndXJlVGVjaCh7IHRlY2ggfTogeyB0ZWNoOiBUZWNoIH0pIHtcbiAgICBpZiAodGVjaCA9PT0gJ3lvdXR1YmUnKSB7XG4gICAgICBpbml0WW91dHViZVBsdWdpbih2aWRlb2pzKTtcbiAgICB9XG4gIH1cblxuICBtZXJnZUNvbmZpZyhvOiBJdFZpZGVvUGxheWVyT3B0aW9ucykge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBvIGFzIEl0TmF0aXZlVmlkZW9QbGF5ZXJPcHRpb25zO1xuICAgIGNvbnN0IGNhcHRpb25zID0gb3B0aW9ucy5jYXB0aW9ucyA/IG9wdGlvbnMuY2FwdGlvbnMubWFwKGMgPT4gKHsgLi4uYywga2luZDogJ2NhcHRpb25zJyB9KSkgOiBbXTtcbiAgICBjb25zdCBjaGFwdGVycyA9IG9wdGlvbnMuY2hhcHRlcnMgPyBvcHRpb25zLmNoYXB0ZXJzLm1hcChjID0+ICh7IC4uLmMsIGtpbmQ6ICdjaGFwdGVycycgfSkpIDogW107XG4gICAgY29uc3QgaXNZb3V0dWJlVmlkZW8gPSBoYXNZb3V0dWJlVmlkZW8ob3B0aW9ucyk7XG4gICAgY29uc3QgREVGQVVMVF9DT05GSUcgPSB0aGlzLiNsYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICBjb25zdCB0ZWNoID0gaXNZb3V0dWJlVmlkZW8gPyAneW91dHViZScgOiAnaHRtbDUnO1xuICAgIGNvbnN0IHRlY2hPcmRlciA9IFt0ZWNoXTtcbiAgICAvL2h0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC92aWRlbyNwcmVsb2FkXG4gICAgY29uc3QgcHJlbG9hZCA9IG9wdGlvbnMucHJlbG9hZCA/PyAnbWV0YWRhdGEnO1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLm9wdGlvbnMsIHByZWxvYWQsIHRlY2hPcmRlciwgdHJhY2tzOiBbLi4uY2FwdGlvbnMsIC4uLmNoYXB0ZXJzXSwgdGVjaDogJ2h0bWw1JyB9O1xuICAgIHJldHVybiBpc1lvdXR1YmVWaWRlb1xuICAgICAgPyB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIHNvdXJjZXM6IFsobyBhcyBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zKS5zb3VyY2VdLFxuICAgICAgICAgIHRlY2g6ICd5b3V0dWJlJyxcbiAgICAgICAgICB5b3V0dWJlOiB7IHl0Q29udHJvbHM6IDIsIHJlbDogMCwgZnM6IDAsIG1vZGVzdGJyYW5kaW5nOiAxIH0sXG4gICAgICAgIH1cbiAgICAgIDogY29uZmlnO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ const preferencesMap = { ck3: {} };
2
+ const STORAGE_KEY = 'bs-ck3';
3
+ /*
4
+ Possible choices:
5
+ false => Accept once
6
+ true => Accept always
7
+ */
8
+ const rememberChoice = (service, remember) => {
9
+ preferencesMap.ck3[service] = remember;
10
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(preferencesMap.ck3));
11
+ };
12
+ const isChoiceRemembered = (service) => {
13
+ preferencesMap.ck3 = JSON.parse(localStorage.getItem(STORAGE_KEY) || '{}');
14
+ return Boolean(preferencesMap.ck3[service]) || false;
15
+ };
16
+ const clearAllRememberedChoices = () => {
17
+ localStorage.removeItem(STORAGE_KEY);
18
+ };
19
+ const cookies = {
20
+ rememberChoice,
21
+ isChoiceRemembered,
22
+ clearAllRememberedChoices,
23
+ };
24
+ export { cookies };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvb2tpZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvb2tpZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGNBQWMsR0FJaEIsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDaEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQzdCOzs7O0VBSUU7QUFDRixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWUsRUFBRSxRQUFpQixFQUFFLEVBQUU7SUFDNUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDdkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDN0MsY0FBYyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7SUFDM0UsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHLEdBQUcsRUFBRTtJQUNyQyxZQUFZLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsY0FBYztJQUNkLGtCQUFrQjtJQUNsQix5QkFBeUI7Q0FDMUIsQ0FBQztBQUVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHByZWZlcmVuY2VzTWFwOiB7XG4gIGNrMzoge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG59ID0geyBjazM6IHt9IH07XG5jb25zdCBTVE9SQUdFX0tFWSA9ICdicy1jazMnO1xuLypcbiAgUG9zc2libGUgY2hvaWNlczpcbiAgZmFsc2UgPT4gQWNjZXB0IG9uY2VcbiAgdHJ1ZSA9PiBBY2NlcHQgYWx3YXlzXG4qL1xuY29uc3QgcmVtZW1iZXJDaG9pY2UgPSAoc2VydmljZTogc3RyaW5nLCByZW1lbWJlcjogYm9vbGVhbikgPT4ge1xuICBwcmVmZXJlbmNlc01hcC5jazNbc2VydmljZV0gPSByZW1lbWJlcjtcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHByZWZlcmVuY2VzTWFwLmNrMykpO1xufTtcblxuY29uc3QgaXNDaG9pY2VSZW1lbWJlcmVkID0gKHNlcnZpY2U6IHN0cmluZykgPT4ge1xuICBwcmVmZXJlbmNlc01hcC5jazMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZKSB8fCAne30nKTtcbiAgcmV0dXJuIEJvb2xlYW4ocHJlZmVyZW5jZXNNYXAuY2szW3NlcnZpY2VdKSB8fCBmYWxzZTtcbn07XG5cbmNvbnN0IGNsZWFyQWxsUmVtZW1iZXJlZENob2ljZXMgPSAoKSA9PiB7XG4gIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFNUT1JBR0VfS0VZKTtcbn07XG5cbmNvbnN0IGNvb2tpZXMgPSB7XG4gIHJlbWVtYmVyQ2hvaWNlLFxuICBpc0Nob2ljZVJlbWVtYmVyZWQsXG4gIGNsZWFyQWxsUmVtZW1iZXJlZENob2ljZXMsXG59O1xuXG5leHBvcnQgeyBjb29raWVzIH07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ // See options: https://videojs.com/guides/options
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3ZpZGVvLXBsYXllci92aWRlby1wbGF5ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU2VlIG9wdGlvbnM6IGh0dHBzOi8vdmlkZW9qcy5jb20vZ3VpZGVzL29wdGlvbnNcblxuaW50ZXJmYWNlIFNvdXJjZSB7XG4gIHNyYzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDYXB0aW9uIHtcbiAgbGFuZzogc3RyaW5nO1xuICBzcmM6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVmYXVsdD86IHRydWU7XG59XG5cbmludGVyZmFjZSBDaGFwdGVyIHtcbiAgbGFuZzogc3RyaW5nO1xuICBzcmM6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVmYXVsdD86IHRydWU7XG59XG5cbnR5cGUgU291cmNlcyA9IEFycmF5PFNvdXJjZT47XG50eXBlIENhcHRpb25zID0gQXJyYXk8Q2FwdGlvbj47XG50eXBlIENoYXB0ZXJzID0gQXJyYXk8Q2hhcHRlcj47XG50eXBlIFByZWxvYWQgPSAnYXV0bycgfCAnbm9uZScgfCAnbWV0YWRhdGEnIHwgJyc7XG50eXBlIEVtYmVkU291cmNlVHlwZSA9ICd2aWRlby95b3V0dWJlJztcbnR5cGUgVEF1dG9wbGF5ID0gJ211dGVkJyB8ICdwbGF5JyB8ICdhbnknO1xuXG50eXBlIEl0TmF0aXZlVmlkZW9QbGF5ZXJPcHRpb25zID0ge1xuICBhdXRvcGxheT86IGJvb2xlYW4gfCBUQXV0b3BsYXk7XG4gIGNvbnRyb2xzPzogYm9vbGVhbjtcbiAgZmx1aWQ/OiBib29sZWFuO1xuICBsb29wPzogYm9vbGVhbjtcbiAgbXV0ZWQ/OiBib29sZWFuO1xuICBwb3N0ZXI/OiBzdHJpbmc7XG4gIHByZWxvYWQ/OiBQcmVsb2FkO1xuICBzb3VyY2VzOiBTb3VyY2VzO1xuICBjYXB0aW9ucz86IENhcHRpb25zO1xuICBjaGFwdGVycz86IENoYXB0ZXJzO1xufTtcblxudHlwZSBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zID0gT21pdDxJdE5hdGl2ZVZpZGVvUGxheWVyT3B0aW9ucywgJ3NvdXJjZXMnIHwgJ2NhcHRpb25zJyB8ICdjaGFwdGVycyc+ICYge1xuICBzb3VyY2U6IFNvdXJjZSAmIHsgdHlwZTogRW1iZWRTb3VyY2VUeXBlIH07XG59O1xuXG50eXBlIEl0VmlkZW9QbGF5ZXJPcHRpb25zID0gSXROYXRpdmVWaWRlb1BsYXllck9wdGlvbnMgfCBJdEVtYmVkVmlkZW9QbGF5ZXJPcHRpb25zO1xuXG50eXBlIEl0VmlkZW9QbGF5ZXJDb25maWcgPSBJdFZpZGVvUGxheWVyT3B0aW9ucyAmIHsgdGVjaDogc3RyaW5nIH07XG5cbmV4cG9ydCB0eXBlIHsgQ2FwdGlvbiwgQ2hhcHRlciwgSXRFbWJlZFZpZGVvUGxheWVyT3B0aW9ucywgSXROYXRpdmVWaWRlb1BsYXllck9wdGlvbnMsIEl0VmlkZW9QbGF5ZXJDb25maWcsIEl0VmlkZW9QbGF5ZXJPcHRpb25zLCBTb3VyY2UgfTtcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ItVideoPlayerComponent } from './video-player.component';
3
+ import * as i0 from "@angular/core";
4
+ export class ItVideoPlayerModule {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerModule, imports: [ItVideoPlayerComponent], exports: [ItVideoPlayerComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerModule }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [ItVideoPlayerComponent],
13
+ exports: [ItVideoPlayerComponent],
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU1sRSxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQUhwQixzQkFBc0IsYUFDdEIsc0JBQXNCOytHQUVyQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdFZpZGVvUGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi92aWRlby1wbGF5ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0l0VmlkZW9QbGF5ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbSXRWaWRlb1BsYXllckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0VmlkZW9QbGF5ZXJNb2R1bGUge31cbiJdfQ==