@hopeplayer/core 1.5.0 → 1.7.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.
- package/dist/HopePlayerElement.d.ts +47 -0
- package/dist/HopePlayerElement.d.ts.map +1 -1
- package/dist/chunks/adTriggers-DVqgm92F.js +420 -0
- package/dist/chunks/adTriggers-DVqgm92F.js.map +1 -0
- package/dist/chunks/{ads-C4tDPsUs.js → ads-eSKyiH1o.js} +2 -2
- package/dist/chunks/{ads-C4tDPsUs.js.map → ads-eSKyiH1o.js.map} +1 -1
- package/dist/chunks/audioDescription-cpprKeB-.js +146 -0
- package/dist/chunks/audioDescription-cpprKeB-.js.map +1 -0
- package/dist/chunks/{cast-Baxvu76A.js → cast-DEowHmqA.js} +29 -28
- package/dist/chunks/{cast-Baxvu76A.js.map → cast-DEowHmqA.js.map} +1 -1
- package/dist/chunks/docPip-Bh6BWPk-.js +92 -0
- package/dist/chunks/docPip-Bh6BWPk-.js.map +1 -0
- package/dist/chunks/heatmap-Bz_EMQFk.js +117 -0
- package/dist/chunks/heatmap-Bz_EMQFk.js.map +1 -0
- package/dist/chunks/{history-CvydU0aN.js → history-ZSdDDsRF.js} +35 -34
- package/dist/chunks/{history-CvydU0aN.js.map → history-ZSdDDsRF.js.map} +1 -1
- package/dist/chunks/interactive-ClJC5Vyo.js +213 -0
- package/dist/chunks/interactive-ClJC5Vyo.js.map +1 -0
- package/dist/chunks/{loopSection-CvF4l5uf.js → loopSection-Bwk4W8vz.js} +16 -16
- package/dist/chunks/loopSection-Bwk4W8vz.js.map +1 -0
- package/dist/chunks/{markers-Dr4-CCxE.js → markers-D32rI-x-.js} +53 -51
- package/dist/chunks/markers-D32rI-x-.js.map +1 -0
- package/dist/chunks/multiview-CL1WfJKt.js +295 -0
- package/dist/chunks/multiview-CL1WfJKt.js.map +1 -0
- package/dist/chunks/{pauseAd-BQQe21X4.js → pauseAd-DF7KGwUs.js} +32 -31
- package/dist/chunks/{pauseAd-BQQe21X4.js.map → pauseAd-DF7KGwUs.js.map} +1 -1
- package/dist/chunks/{player-DV4Hf5Cw.js → player-B7mYS--8.js} +1580 -1284
- package/dist/chunks/player-B7mYS--8.js.map +1 -0
- package/dist/chunks/{playlist-DJsdK6xm.js → playlist-BkhIOfCy.js} +2 -2
- package/dist/chunks/{playlist-DJsdK6xm.js.map → playlist-BkhIOfCy.js.map} +1 -1
- package/dist/chunks/plugin-style-CPJELe-i.js +17 -0
- package/dist/chunks/plugin-style-CPJELe-i.js.map +1 -0
- package/dist/chunks/{pluginHost-GxNfyP5E.js → pluginHost-CXqkjNV1.js} +2 -2
- package/dist/chunks/{pluginHost-GxNfyP5E.js.map → pluginHost-CXqkjNV1.js.map} +1 -1
- package/dist/chunks/redirectScreen-DgmjFVJH.js +251 -0
- package/dist/chunks/redirectScreen-DgmjFVJH.js.map +1 -0
- package/dist/chunks/rewardedUnlock-BL97P5ht.js +265 -0
- package/dist/chunks/{rewardedUnlock-jFOdzfSq.js.map → rewardedUnlock-BL97P5ht.js.map} +1 -1
- package/dist/chunks/segments-CuQQEIAX.js +66 -0
- package/dist/chunks/segments-CuQQEIAX.js.map +1 -0
- package/dist/chunks/share-BdqQ8sGE.js +216 -0
- package/dist/chunks/share-BdqQ8sGE.js.map +1 -0
- package/dist/chunks/{skipSegments-vJMhdiJn.js → skipSegments-BbepQ4Y6.js} +2 -2
- package/dist/chunks/{skipSegments-vJMhdiJn.js.map → skipSegments-BbepQ4Y6.js.map} +1 -1
- package/dist/chunks/sponsorship-DoAZBbHE.js +241 -0
- package/dist/chunks/{sponsorship-BT21uwN5.js.map → sponsorship-DoAZBbHE.js.map} +1 -1
- package/dist/chunks/{spriteThumbnails-BoxVY--_.js → spriteThumbnails-BYg-DHx4.js} +28 -28
- package/dist/chunks/spriteThumbnails-BYg-DHx4.js.map +1 -0
- package/dist/chunks/{sticky-D_eLCNFk.js → sticky-BDStzjBM.js} +27 -26
- package/dist/chunks/sticky-BDStzjBM.js.map +1 -0
- package/dist/chunks/{story-BRkhSDhR.js → story-DcBG6jUg.js} +2 -2
- package/dist/chunks/{story-BRkhSDhR.js.map → story-DcBG6jUg.js.map} +1 -1
- package/dist/chunks/transcript-CHPQ6S6E.js +206 -0
- package/dist/chunks/transcript-CHPQ6S6E.js.map +1 -0
- package/dist/controls/ContextMenu.d.ts +1 -0
- package/dist/controls/ContextMenu.d.ts.map +1 -1
- package/dist/controls/ControlBar.d.ts +6 -0
- package/dist/controls/ControlBar.d.ts.map +1 -1
- package/dist/controls/SeekBar.d.ts +5 -2
- package/dist/controls/SeekBar.d.ts.map +1 -1
- package/dist/controls/SettingsMenu.d.ts +2 -1
- package/dist/controls/SettingsMenu.d.ts.map +1 -1
- package/dist/hls/SourceManager.d.ts +2 -0
- package/dist/hls/SourceManager.d.ts.map +1 -1
- package/dist/hope-player.js +3 -3
- package/dist/i18n/index.d.ts +9 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en.d.ts +2 -2
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/tr.d.ts +2 -2
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/types.d.ts +52 -0
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/plugins/ad-triggers/AdTriggers.d.ts +5 -0
- package/dist/plugins/ad-triggers/AdTriggers.d.ts.map +1 -1
- package/dist/plugins/ad-triggers/index.d.ts.map +1 -1
- package/dist/plugins/audio-description/AudioDescription.d.ts +52 -0
- package/dist/plugins/audio-description/AudioDescription.d.ts.map +1 -0
- package/dist/plugins/audio-description/index.d.ts +6 -0
- package/dist/plugins/audio-description/index.d.ts.map +1 -0
- package/dist/plugins/audio-description/strings.d.ts +8 -0
- package/dist/plugins/audio-description/strings.d.ts.map +1 -0
- package/dist/plugins/cast/index.d.ts.map +1 -1
- package/dist/plugins/doc-pip/DocumentPip.d.ts +44 -0
- package/dist/plugins/doc-pip/DocumentPip.d.ts.map +1 -0
- package/dist/plugins/doc-pip/index.d.ts +5 -0
- package/dist/plugins/doc-pip/index.d.ts.map +1 -0
- package/dist/plugins/doc-pip/strings.d.ts +8 -0
- package/dist/plugins/doc-pip/strings.d.ts.map +1 -0
- package/dist/plugins/heatmap/Heatmap.d.ts +44 -0
- package/dist/plugins/heatmap/Heatmap.d.ts.map +1 -0
- package/dist/plugins/heatmap/index.d.ts +6 -0
- package/dist/plugins/heatmap/index.d.ts.map +1 -0
- package/dist/plugins/heatmap/strings.d.ts +8 -0
- package/dist/plugins/heatmap/strings.d.ts.map +1 -0
- package/dist/plugins/history/index.d.ts.map +1 -1
- package/dist/plugins/interactive/Interactive.d.ts +45 -0
- package/dist/plugins/interactive/Interactive.d.ts.map +1 -0
- package/dist/plugins/interactive/index.d.ts +6 -0
- package/dist/plugins/interactive/index.d.ts.map +1 -0
- package/dist/plugins/interactive/strings.d.ts +8 -0
- package/dist/plugins/interactive/strings.d.ts.map +1 -0
- package/dist/plugins/markers/MarkProgress.d.ts +3 -1
- package/dist/plugins/markers/MarkProgress.d.ts.map +1 -1
- package/dist/plugins/multiview/Multiview.d.ts +92 -0
- package/dist/plugins/multiview/Multiview.d.ts.map +1 -0
- package/dist/plugins/multiview/index.d.ts +6 -0
- package/dist/plugins/multiview/index.d.ts.map +1 -0
- package/dist/plugins/multiview/strings.d.ts +8 -0
- package/dist/plugins/multiview/strings.d.ts.map +1 -0
- package/dist/plugins/pause-ad/index.d.ts.map +1 -1
- package/dist/plugins/redirect-screen/RedirectScreen.d.ts +3 -1
- package/dist/plugins/redirect-screen/RedirectScreen.d.ts.map +1 -1
- package/dist/plugins/redirect-screen/index.d.ts.map +1 -1
- package/dist/plugins/redirect-screen/strings.d.ts +8 -0
- package/dist/plugins/redirect-screen/strings.d.ts.map +1 -0
- package/dist/plugins/rewarded/index.d.ts.map +1 -1
- package/dist/plugins/segments/Segments.d.ts +1 -0
- package/dist/plugins/segments/Segments.d.ts.map +1 -1
- package/dist/plugins/share/Share.d.ts +45 -0
- package/dist/plugins/share/Share.d.ts.map +1 -0
- package/dist/plugins/share/index.d.ts +6 -0
- package/dist/plugins/share/index.d.ts.map +1 -0
- package/dist/plugins/share/strings.d.ts +8 -0
- package/dist/plugins/share/strings.d.ts.map +1 -0
- package/dist/plugins/skip-segments/index.d.ts.map +1 -1
- package/dist/plugins/sponsorship/index.d.ts.map +1 -1
- package/dist/plugins/sprite-thumbnails/SpriteThumbnails.d.ts +1 -0
- package/dist/plugins/sprite-thumbnails/SpriteThumbnails.d.ts.map +1 -1
- package/dist/plugins/sticky/StickyManager.d.ts +2 -0
- package/dist/plugins/sticky/StickyManager.d.ts.map +1 -1
- package/dist/plugins/transcript/Transcript.d.ts +65 -0
- package/dist/plugins/transcript/Transcript.d.ts.map +1 -0
- package/dist/plugins/transcript/index.d.ts +6 -0
- package/dist/plugins/transcript/index.d.ts.map +1 -0
- package/dist/plugins/transcript/strings.d.ts +8 -0
- package/dist/plugins/transcript/strings.d.ts.map +1 -0
- package/dist/subtitles/attachTracks.d.ts +6 -0
- package/dist/subtitles/attachTracks.d.ts.map +1 -1
- package/dist/types/index.d.ts +257 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/plugin-style.d.ts +5 -0
- package/dist/utils/plugin-style.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/chunks/adTriggers-DXmtF4t2.js +0 -410
- package/dist/chunks/adTriggers-DXmtF4t2.js.map +0 -1
- package/dist/chunks/loopSection-CvF4l5uf.js.map +0 -1
- package/dist/chunks/markers-Dr4-CCxE.js.map +0 -1
- package/dist/chunks/player-DV4Hf5Cw.js.map +0 -1
- package/dist/chunks/redirectScreen-BT_26-5g.js +0 -208
- package/dist/chunks/redirectScreen-BT_26-5g.js.map +0 -1
- package/dist/chunks/rewardedUnlock-jFOdzfSq.js +0 -264
- package/dist/chunks/segments--hl_QVrI.js +0 -63
- package/dist/chunks/segments--hl_QVrI.js.map +0 -1
- package/dist/chunks/sponsorship-BT21uwN5.js +0 -240
- package/dist/chunks/spriteThumbnails-BoxVY--_.js.map +0 -1
- package/dist/chunks/sticky-D_eLCNFk.js.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ShareOptions } from '../../types';
|
|
2
|
+
import type { HopeLocaleStrings } from '../../i18n/types';
|
|
3
|
+
export interface SharePlayerContext {
|
|
4
|
+
hostEl: HTMLElement;
|
|
5
|
+
videoEl: HTMLVideoElement;
|
|
6
|
+
overlayEl: HTMLElement;
|
|
7
|
+
i18n: HopeLocaleStrings;
|
|
8
|
+
addButton(label: string, iconName: string, onClick: () => void): {
|
|
9
|
+
btn: HTMLButtonElement;
|
|
10
|
+
icon: HTMLElement;
|
|
11
|
+
};
|
|
12
|
+
isLive(): boolean;
|
|
13
|
+
}
|
|
14
|
+
/** "90", "1:30", "1:02:03", "1m30s", "1h2m3s" → saniye; geçersizse null. */
|
|
15
|
+
export declare function parseTimeParam(raw: string | null): number | null;
|
|
16
|
+
/**
|
|
17
|
+
* Paylaşım paneli: bağlantıyı kopyala, "bu andan başlat" (?t=), seçilen sosyal ağlar ve cihazın kendi paylaşım menüsü
|
|
18
|
+
* (Web Share API, varsa). Sayfa ?t= ile açılınca video o saniyeden başlar.
|
|
19
|
+
*/
|
|
20
|
+
export declare class Share {
|
|
21
|
+
private readonly ctx;
|
|
22
|
+
private readonly options;
|
|
23
|
+
private panel;
|
|
24
|
+
private button;
|
|
25
|
+
private copyTimer;
|
|
26
|
+
private readonly param;
|
|
27
|
+
constructor(ctx: SharePlayerContext, options: ShareOptions);
|
|
28
|
+
refreshLabels(): void;
|
|
29
|
+
destroy(): void;
|
|
30
|
+
/** Paylaşılacak temel adres: verilen, canonical ya da sayfa adresi (zaman parametresi temizlenir). */
|
|
31
|
+
private baseUrl;
|
|
32
|
+
private time;
|
|
33
|
+
private shareUrl;
|
|
34
|
+
private emit;
|
|
35
|
+
open(): void;
|
|
36
|
+
close(): void;
|
|
37
|
+
/** Sayfa ?t=… ile açıldıysa video o saniyeden başlar (yalnızca ilk yüklemede). */
|
|
38
|
+
private applyStartParam;
|
|
39
|
+
private startAt;
|
|
40
|
+
private startTries;
|
|
41
|
+
private readonly seekToParam;
|
|
42
|
+
private readonly confirmStart;
|
|
43
|
+
private stopStart;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=Share.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../../src/plugins/share/Share.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAC/G,MAAM,IAAI,OAAO,CAAC;CACrB;AAoCD,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQhE;AAED;;;GAGG;AACH,qBAAa,KAAK;IAOV,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP5B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAGV,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,YAAY;IAW1C,aAAa,IAAI,IAAI;IAQrB,OAAO,IAAI,IAAI;IAMf,sGAAsG;IACtG,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;IAIZ,IAAI,IAAI,IAAI;IAmIZ,KAAK,IAAI,IAAI;IAQb,kFAAkF;IAClF,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAU1B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IAEF,OAAO,CAAC,SAAS;CAOpB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Share, parseTimeParam, type SharePlayerContext } from './Share';
|
|
2
|
+
import type { ShareOptions } from '../../types';
|
|
3
|
+
export declare function installShare(ctx: SharePlayerContext, options: ShareOptions): Share;
|
|
4
|
+
export { Share, parseTimeParam };
|
|
5
|
+
export type { SharePlayerContext };
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/share/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAElF;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AACjC,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HopeLocaleStrings } from '../../i18n/types';
|
|
2
|
+
type Strings = Pick<HopeLocaleStrings, 'share' | 'shareCopy' | 'shareCopied' | 'shareStartAt' | 'shareMore' | 'shareClose' | 'shareLink' | 'shareEmail'>;
|
|
3
|
+
export declare const strings: {
|
|
4
|
+
tr: Strings;
|
|
5
|
+
en: Strings;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/plugins/share/strings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;AAEzJ,eAAO,MAAM,OAAO,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAqB/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-segments/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-segments/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,YAAY,CAGzG;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,2CAiB7B,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/sponsorship/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/sponsorship/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,GAAG,gBAAgB,CAGzG;AAED,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -6,6 +6,7 @@ export interface SpriteThumbnailsPlayerContext {
|
|
|
6
6
|
readonly el: HTMLElement;
|
|
7
7
|
ratioAtClientX(clientX: number): number;
|
|
8
8
|
suppressHoverTime(key: string, suppressed: boolean): void;
|
|
9
|
+
markerLabelAt?(clientX: number): string | null;
|
|
9
10
|
};
|
|
10
11
|
/** Responsive ölçekleme için referans genişlik — genelde player/video alanının genişliği. */
|
|
11
12
|
playerWidth(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteThumbnails.d.ts","sourceRoot":"","sources":["../../../src/plugins/sprite-thumbnails/SpriteThumbnails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,+GAA+G;IAC/G,OAAO,EAAE;QACL,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;QACzB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACxC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SpriteThumbnails.d.ts","sourceRoot":"","sources":["../../../src/plugins/sprite-thumbnails/SpriteThumbnails.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export interface StickyPlayerContext {
|
|
|
12
12
|
*/
|
|
13
13
|
closeButtonMountEl: HTMLElement;
|
|
14
14
|
isAdActive(): boolean;
|
|
15
|
+
/** true iken köşeye yapışmaz (ör. video Document PiP penceresinde). */
|
|
16
|
+
isSuspended?(): boolean;
|
|
15
17
|
i18n: HopeLocaleStrings;
|
|
16
18
|
}
|
|
17
19
|
/** `register()`'ın döndürdüğü unregister fonksiyonu — dil sonradan değişince close butonunun statik etiketini tazelemek için `refreshLabels` da taşıyor (bkz. loop-section'daki aynı "fonksiyona metod ekleme" deseni). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyManager.d.ts","sourceRoot":"","sources":["../../../src/plugins/sticky/StickyManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,yGAAyG;IACzG,SAAS,EAAE,WAAW,CAAC;IACvB;;;OAGG;IACH,kBAAkB,EAAE,WAAW,CAAC;IAChC,UAAU,IAAI,OAAO,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,2NAA2N;AAC3N,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAoC7E,sGAAsG;AACtG,cAAM,iBAAiB;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAqC;IAErD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAS;IAE9B,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,GAAG,gBAAgB;IA4F5E,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"StickyManager.d.ts","sourceRoot":"","sources":["../../../src/plugins/sticky/StickyManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,yGAAyG;IACzG,SAAS,EAAE,WAAW,CAAC;IACvB;;;OAGG;IACH,kBAAkB,EAAE,WAAW,CAAC;IAChC,UAAU,IAAI,OAAO,CAAC;IACtB,uEAAuE;IACvE,WAAW,CAAC,IAAI,OAAO,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,2NAA2N;AAC3N,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAoC7E,sGAAsG;AACtG,cAAM,iBAAiB;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAqC;IAErD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,aAAa,CAAS;IAE9B,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,GAAG,gBAAgB;IA4F5E,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,KAAK;IAsCb,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;CAsB7B;AAED,eAAO,MAAM,aAAa,mBAA0B,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { TranscriptOptions } from '../../types';
|
|
2
|
+
import type { HopeLocaleStrings } from '../../i18n/types';
|
|
3
|
+
export interface TranscriptPlayerContext {
|
|
4
|
+
hostEl: HTMLElement;
|
|
5
|
+
videoEl: HTMLVideoElement;
|
|
6
|
+
overlayEl: HTMLElement;
|
|
7
|
+
i18n: HopeLocaleStrings;
|
|
8
|
+
/** Altyazı menüsündeki izler (dosya + yayın). */
|
|
9
|
+
getTracks(): {
|
|
10
|
+
label: string;
|
|
11
|
+
track: TextTrack;
|
|
12
|
+
}[];
|
|
13
|
+
/** Seçili altyazının adı (kapalıysa null). */
|
|
14
|
+
activeLabel(): string | null;
|
|
15
|
+
addButton(label: string, iconName: string, onClick: () => void): {
|
|
16
|
+
btn: HTMLButtonElement;
|
|
17
|
+
icon: HTMLElement;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Transkript paneli: seçili (ya da `track`) altyazı izinin tüm satırları; tıklayınca o ana gider, oynayan satır
|
|
22
|
+
* vurgulanır ve görünür tutulur, aranabilir. Dosyadan gelen altyazılar iz kapalıyken de okunur; yayın içi izler
|
|
23
|
+
* (HLS / DASH) yalnızca açıkken dolar.
|
|
24
|
+
*/
|
|
25
|
+
export declare class Transcript {
|
|
26
|
+
private readonly ctx;
|
|
27
|
+
private readonly options;
|
|
28
|
+
private readonly panel;
|
|
29
|
+
private readonly list;
|
|
30
|
+
private readonly status;
|
|
31
|
+
private readonly select;
|
|
32
|
+
private readonly search;
|
|
33
|
+
private readonly titleEl;
|
|
34
|
+
private readonly closeBtn;
|
|
35
|
+
private button;
|
|
36
|
+
private lines;
|
|
37
|
+
private activeIndex;
|
|
38
|
+
private sourceLabel;
|
|
39
|
+
private sourceTrack;
|
|
40
|
+
private cueCount;
|
|
41
|
+
private query;
|
|
42
|
+
private open;
|
|
43
|
+
private userScrollUntil;
|
|
44
|
+
private lastSync;
|
|
45
|
+
private readonly autoScroll;
|
|
46
|
+
constructor(ctx: TranscriptPlayerContext, options: TranscriptOptions);
|
|
47
|
+
get isOpen(): boolean;
|
|
48
|
+
setOpen(open: boolean, emit?: boolean): void;
|
|
49
|
+
/** Altyazı listesi / seçimi değişti — kaynak iz yeniden seçilir. */
|
|
50
|
+
readonly onTracksChanged: () => void;
|
|
51
|
+
refreshLabels(): void;
|
|
52
|
+
destroy(): void;
|
|
53
|
+
private readonly onAd;
|
|
54
|
+
/** Seçili izin cue'larını baştan kurar. */
|
|
55
|
+
private load;
|
|
56
|
+
/** Cue sayısı değiştiyse (yayın izi parça parça dolar) satırları yeniden çizer. */
|
|
57
|
+
private syncCues;
|
|
58
|
+
private buildLine;
|
|
59
|
+
private readonly onTimeUpdate;
|
|
60
|
+
private scrollToActive;
|
|
61
|
+
/** Arama: eşleşmeyen satırlar gizlenir, eşleşen kısım <mark> ile vurgulanır. */
|
|
62
|
+
private applyFilter;
|
|
63
|
+
private updateStatus;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=Transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transcript.d.ts","sourceRoot":"","sources":["../../../src/plugins/transcript/Transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAO1D,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,iDAAiD;IACjD,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IACnD,8CAA8C;IAC9C,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CAClH;AA0BD;;;;GAIG;AACH,qBAAa,UAAU;IAqBf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IArB5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;gBAGhB,GAAG,EAAE,uBAAuB,EAC5B,OAAO,EAAE,iBAAiB;IAgF/C,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,UAAO,GAAG,IAAI;IAazC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,QAAO,IAAI,CAmBjC;IAEF,aAAa,IAAI,IAAI;IAcrB,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,QAAQ,CAAC,IAAI,CAEnB;IAEF,2CAA2C;IAC3C,OAAO,CAAC,IAAI;IAOZ,mFAAmF;IACnF,OAAO,CAAC,QAAQ;IAyBhB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CA0B3B;IAEF,OAAO,CAAC,cAAc;IAYtB,gFAAgF;IAChF,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,YAAY;CASvB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Transcript, type TranscriptPlayerContext } from './Transcript';
|
|
2
|
+
import type { TranscriptOptions } from '../../types';
|
|
3
|
+
export declare function installTranscript(ctx: TranscriptPlayerContext, options: TranscriptOptions): Transcript;
|
|
4
|
+
export { Transcript };
|
|
5
|
+
export type { TranscriptPlayerContext };
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/transcript/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,uBAAuB,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAEtG;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HopeLocaleStrings } from '../../i18n/types';
|
|
2
|
+
type Strings = Pick<HopeLocaleStrings, 'transcript' | 'transcriptSearch' | 'transcriptClose' | 'transcriptTrack' | 'transcriptEmpty' | 'transcriptNoResults' | 'transcriptWaiting'>;
|
|
3
|
+
export declare const strings: {
|
|
4
|
+
tr: Strings;
|
|
5
|
+
en: Strings;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../../src/plugins/transcript/strings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,KAAK,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;AAEpL,eAAO,MAAM,OAAO,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAmB/C,CAAC"}
|
|
@@ -11,6 +11,12 @@ interface ParsedCue {
|
|
|
11
11
|
}
|
|
12
12
|
/** Havuz kapsamı: `options.subtitles` izleri ile yayının (HLS manifest / CEA-608) izleri birbirini temizlemesin. */
|
|
13
13
|
export type TrackScope = 'options' | 'stream';
|
|
14
|
+
/** İzin cue'ları: dosyadan yüklendiyse hep, yayın iziyse yalnızca açıkken (kapalı izde tarayıcı null döner). */
|
|
15
|
+
export declare function trackCues(track: TextTrack): {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
text: string;
|
|
19
|
+
}[] | null;
|
|
14
20
|
export declare function isPooledTrack(track: TextTrack): boolean;
|
|
15
21
|
/** Havuzdan iz al (yoksa oluştur) — kapalı ve boş döner. */
|
|
16
22
|
export declare function pooledTrack(video: HTMLVideoElement, scope: TrackScope, kind: TextTrackKind, label: string, lang: string): TextTrack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachTracks.d.ts","sourceRoot":"","sources":["../../src/subtitles/attachTracks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,oHAAoH;AACpH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"attachTracks.d.ts","sourceRoot":"","sources":["../../src/subtitles/attachTracks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,SAAS;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,oHAAoH;AACpH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAY9C,gHAAgH;AAChH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAMjG;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEvD;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAWnI;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAW9G;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAGjE;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQnG;AAmCD,iHAAiH;AACjH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CActD"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -666,6 +666,8 @@ export interface MarkerItem {
|
|
|
666
666
|
}
|
|
667
667
|
export interface MarkersOptions {
|
|
668
668
|
items: MarkerItem[];
|
|
669
|
+
/** Seek bar'daki tüm işaret noktalarının rengi (öğedeki `color` önceliklidir). CSS: `--hp-seek-marker-color`. */
|
|
670
|
+
color?: string;
|
|
669
671
|
/** true ise seek sırasında da marker tetiklenebilir — vars. false (yalnızca normal oynatma ilerlemesi tetikler). */
|
|
670
672
|
triggerOnSeek?: boolean;
|
|
671
673
|
seekJumpThresholdSec?: number;
|
|
@@ -827,29 +829,209 @@ export interface GeoCheckerOptions {
|
|
|
827
829
|
export interface RedirectScreenSuggestion {
|
|
828
830
|
url: string;
|
|
829
831
|
title: string;
|
|
830
|
-
image
|
|
832
|
+
image?: string;
|
|
833
|
+
/** Başlığın altındaki kısa metin (kanal, izlenme…). */
|
|
834
|
+
subtitle?: string;
|
|
831
835
|
/** Görselin üstündeki süre rozeti, ör. "12:34". */
|
|
832
836
|
duration?: string;
|
|
833
837
|
}
|
|
838
|
+
/** Paylaşım ağları. */
|
|
839
|
+
export type ShareNetwork = 'x' | 'whatsapp' | 'facebook' | 'linkedin' | 'telegram' | 'reddit' | 'email';
|
|
840
|
+
export interface ShareOptions {
|
|
841
|
+
/** Paylaşılacak adres. Varsayılan: sayfanın canonical adresi, yoksa sayfa adresi. */
|
|
842
|
+
url?: string;
|
|
843
|
+
/** Paylaşım metni. Varsayılan sayfa başlığı. */
|
|
844
|
+
title?: string;
|
|
845
|
+
/** Gösterilecek ağlar ve sırası. Varsayılan ['x', 'whatsapp', 'facebook', 'linkedin', 'telegram', 'email']; [] → yalnızca kopyala. */
|
|
846
|
+
networks?: ShareNetwork[];
|
|
847
|
+
/** "Bu andan başlat" seçeneği (bağlantıya ?t= eklenir). Varsayılan true. */
|
|
848
|
+
startAt?: boolean;
|
|
849
|
+
/** Zaman parametresinin adı. Varsayılan 't'. */
|
|
850
|
+
param?: string;
|
|
851
|
+
/** Sayfa ?t=… ile açılınca o saniyeden başlat (90, 1:30, 1m30s). Varsayılan true. */
|
|
852
|
+
readParam?: boolean;
|
|
853
|
+
/** Kontrol çubuğu butonu. Varsayılan true (`player.openShare()` ile de açılır). */
|
|
854
|
+
button?: boolean;
|
|
855
|
+
}
|
|
856
|
+
export interface AudioDescriptionOptions {
|
|
857
|
+
/** Ayrı anlatım dosyası (mp3 / m4a): videoyla eş zamanlı çalar, orijinal sesin üstüne karışır. */
|
|
858
|
+
src?: string;
|
|
859
|
+
/** Başlangıçta açık (izleyicinin kayıtlı tercihi yoksa). Varsayılan false. */
|
|
860
|
+
default?: boolean;
|
|
861
|
+
/** Anlatımın ses düzeyi (0–1), player sesiyle çarpılır. Varsayılan 1. */
|
|
862
|
+
volume?: number;
|
|
863
|
+
}
|
|
864
|
+
export interface MultiviewSource {
|
|
865
|
+
/** Kamera kimliği (olaylarda ve `switchCamera()`'da). */
|
|
866
|
+
id: string;
|
|
867
|
+
/** Görünen ad, ör. "Sahne", "Seyirci". */
|
|
868
|
+
label: string;
|
|
869
|
+
/** Yayın adresi (HLS önerilir; MP4 de olur). */
|
|
870
|
+
src: string;
|
|
871
|
+
type?: string;
|
|
872
|
+
/** Önizleme görseli (küçük ekranlar ve poster önizleme). */
|
|
873
|
+
poster?: string;
|
|
874
|
+
/**
|
|
875
|
+
* Saat etiketi (EXT-X-PROGRAM-DATE-TIME) yoksa senkron için: bu kamera etkinliğin kaçıncı saniyesinde başladı.
|
|
876
|
+
* Kameraların biri etiketsizse hepsine verin.
|
|
877
|
+
*/
|
|
878
|
+
offset?: number;
|
|
879
|
+
}
|
|
880
|
+
export interface MultiviewOptions {
|
|
881
|
+
sources: MultiviewSource[];
|
|
882
|
+
/** Başlangıç kamerası (`id`). Varsayılan ilk kamera. */
|
|
883
|
+
start?: string;
|
|
884
|
+
/** 'focus' (varsayılan): seçili kamera büyük, diğerleri küçük; 'grid': bölünmüş ekran (2–4). */
|
|
885
|
+
layout?: 'focus' | 'grid';
|
|
886
|
+
/** 'focus' görünümünde küçük ekranların yeri. Varsayılan 'bottom'. */
|
|
887
|
+
thumbnails?: 'bottom' | 'right';
|
|
888
|
+
/**
|
|
889
|
+
* Küçük ekranlarda ne görünsün: 'video' canlı (düşük kaliteli) akış, 'poster' görsel. 'auto' (varsayılan):
|
|
890
|
+
* masaüstünde video, mobilde poster — veri ve pil için.
|
|
891
|
+
*/
|
|
892
|
+
previews?: 'auto' | 'video' | 'poster';
|
|
893
|
+
/** Poster önizlemelerini kaç saniyede bir yenile (canlı yayın kareleri için). Varsayılan 0 (yenileme yok). */
|
|
894
|
+
posterRefresh?: number;
|
|
895
|
+
/** Mobilde aynı anda en fazla kaç akış (ana dahil). Varsayılan 2. */
|
|
896
|
+
maxMobileStreams?: number;
|
|
897
|
+
/** Kamera değişince ve oynarken kameraları aynı ana hizala. Varsayılan true. */
|
|
898
|
+
sync?: boolean;
|
|
899
|
+
/** Kontrol çubuğunda görünüm (tek / bölünmüş) butonu. Varsayılan true. */
|
|
900
|
+
button?: boolean;
|
|
901
|
+
}
|
|
902
|
+
export interface DocumentPipOptions {
|
|
903
|
+
/** Pencere genişliği (px). Varsayılan: player genişliği (320–640). */
|
|
904
|
+
width?: number;
|
|
905
|
+
/** Pencere yüksekliği (px). Varsayılan: genişlik × player oranı. */
|
|
906
|
+
height?: number;
|
|
907
|
+
}
|
|
908
|
+
export interface InteractiveChoice {
|
|
909
|
+
/** Seçenek kimliği — olaylarda ve sonuçta döner. Verilmezse sırası. */
|
|
910
|
+
id?: string;
|
|
911
|
+
text: string;
|
|
912
|
+
}
|
|
913
|
+
export interface InteractiveItemBase {
|
|
914
|
+
/** Benzersiz kimlik (olaylarda döner, verilmezse sırası). */
|
|
915
|
+
id?: string;
|
|
916
|
+
/** Görüneceği saniye. */
|
|
917
|
+
time: number;
|
|
918
|
+
/** Kaç saniye açık kalsın (videonun zamanıyla). Varsayılan: anket / quiz 15, kart 8. */
|
|
919
|
+
duration?: number;
|
|
920
|
+
/** Açılınca videoyu duraklat (cevaplanınca / kapatınca devam eder). Varsayılan false. */
|
|
921
|
+
pause?: boolean;
|
|
922
|
+
/** Köşe. Varsayılan 'top-right' (anket / quiz için 'center' de olur). */
|
|
923
|
+
position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
|
|
924
|
+
/** Kapat (X) butonu. Varsayılan true. */
|
|
925
|
+
dismissible?: boolean;
|
|
926
|
+
/** Bu öğenin seek bar noktasının rengi (`InteractiveOptions.markerColor`'dan önceliklidir). */
|
|
927
|
+
markerColor?: string;
|
|
928
|
+
}
|
|
929
|
+
export interface InteractivePoll extends InteractiveItemBase {
|
|
930
|
+
type: 'poll';
|
|
931
|
+
question: string;
|
|
932
|
+
choices: (string | InteractiveChoice)[];
|
|
933
|
+
/** Oy dağılımı (yüzde gösterimi için) — verilmezse yalnızca seçim işaretlenir. Sunucudan da gelebilir: bkz. `onAnswer`. */
|
|
934
|
+
results?: number[];
|
|
935
|
+
}
|
|
936
|
+
export interface InteractiveQuiz extends InteractiveItemBase {
|
|
937
|
+
type: 'quiz';
|
|
938
|
+
question: string;
|
|
939
|
+
choices: (string | InteractiveChoice)[];
|
|
940
|
+
/** Doğru seçeneğin sırası (0'dan). */
|
|
941
|
+
answer: number;
|
|
942
|
+
/** Cevaptan sonra gösterilecek açıklama. */
|
|
943
|
+
explanation?: string;
|
|
944
|
+
}
|
|
945
|
+
export interface InteractiveCard extends InteractiveItemBase {
|
|
946
|
+
/** 'product': fiyatlı ürün kartı; 'link': başlık + buton. */
|
|
947
|
+
type: 'product' | 'link';
|
|
948
|
+
title: string;
|
|
949
|
+
url: string;
|
|
950
|
+
image?: string;
|
|
951
|
+
/** Ürün fiyatı, ör. "₺1.299". */
|
|
952
|
+
price?: string;
|
|
953
|
+
/** Eski fiyat (üstü çizili). */
|
|
954
|
+
oldPrice?: string;
|
|
955
|
+
/** Kısa metin (marka, açıklama). */
|
|
956
|
+
subtitle?: string;
|
|
957
|
+
/** Buton metni. Varsayılan: ürün → "Satın al", bağlantı → "Git". */
|
|
958
|
+
cta?: string;
|
|
959
|
+
/** "Sponsorlu" etiketi. */
|
|
960
|
+
sponsored?: boolean;
|
|
961
|
+
/** Yeni sekmede aç. Varsayılan true. */
|
|
962
|
+
newTab?: boolean;
|
|
963
|
+
}
|
|
964
|
+
export type InteractiveItem = InteractivePoll | InteractiveQuiz | InteractiveCard;
|
|
965
|
+
export interface InteractiveOptions {
|
|
966
|
+
items: InteractiveItem[];
|
|
967
|
+
/**
|
|
968
|
+
* Cevap gelince çağrılır (anket oyu, quiz cevabı). Anket için güncel oy dağılımını (`number[]`, yüzde ya da sayı)
|
|
969
|
+
* döndürürseniz sonuçlar onunla gösterilir — ör. sunucunuza POST edip cevabı döndürün.
|
|
970
|
+
*/
|
|
971
|
+
onAnswer?: (answer: {
|
|
972
|
+
item: InteractiveItem;
|
|
973
|
+
id: string;
|
|
974
|
+
choice: number;
|
|
975
|
+
choiceId: string;
|
|
976
|
+
correct?: boolean;
|
|
977
|
+
}) => void | number[] | Promise<void | number[]>;
|
|
978
|
+
/** Aynı öğe bir izleyiciye bir kez sorulsun (localStorage, `id` ile). Varsayılan true. */
|
|
979
|
+
rememberAnswers?: boolean;
|
|
980
|
+
/** Seek bar'da öğe noktaları. Varsayılan true. */
|
|
981
|
+
markers?: boolean;
|
|
982
|
+
/** Noktaların rengi. Varsayılan altın sarısı (#f5c518). CSS: `--hp-ia-marker-color`. */
|
|
983
|
+
markerColor?: string;
|
|
984
|
+
}
|
|
985
|
+
export interface TranscriptOptions {
|
|
986
|
+
/** Başlangıçta açık. Varsayılan false. */
|
|
987
|
+
open?: boolean;
|
|
988
|
+
/** Gösterilecek altyazı izi (label ya da srclang). Varsayılan: seçili altyazı, yoksa ilk iz. */
|
|
989
|
+
track?: string;
|
|
990
|
+
/** Arama kutusu. Varsayılan true. */
|
|
991
|
+
search?: boolean;
|
|
992
|
+
/** Oynayan satırı görünür tut. Varsayılan true. */
|
|
993
|
+
autoScroll?: boolean;
|
|
994
|
+
/** Kontrol çubuğunda aç / kapat butonu. Varsayılan true. */
|
|
995
|
+
button?: boolean;
|
|
996
|
+
/** Panelin yeri. Varsayılan 'right'. */
|
|
997
|
+
position?: 'right' | 'left';
|
|
998
|
+
}
|
|
999
|
+
export interface HeatmapOptions {
|
|
1000
|
+
/** Tepe noktasının üzerine gelince "En çok izlenen an" etiketi. `string` → kendi metniniz. Varsayılan true. */
|
|
1001
|
+
peakLabel?: boolean | string;
|
|
1002
|
+
/** Yoğunluk değerleri — videoya eşit aralıklarla yayılır; ölçek serbest (en yüksek değere göre normalize). */
|
|
1003
|
+
data?: number[];
|
|
1004
|
+
/** `data` yerine: sayı dizisi döndüren JSON adresi. */
|
|
1005
|
+
src?: string;
|
|
1006
|
+
/** 'hover' (varsayılan): seek bar üzerine gelince; 'always': kontroller görünürken hep. */
|
|
1007
|
+
show?: 'hover' | 'always';
|
|
1008
|
+
/** Eğrinin en yüksek noktası (px). Varsayılan 36. */
|
|
1009
|
+
height?: number;
|
|
1010
|
+
}
|
|
834
1011
|
export type RedirectCardPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
835
1012
|
export interface RedirectScreenOptions {
|
|
836
1013
|
enabled?: boolean;
|
|
837
|
-
/** 'screen' modunda video bittikten sonraki geri sayım (sn). */
|
|
838
|
-
time
|
|
1014
|
+
/** 'screen' modunda video bittikten sonraki geri sayım (sn). Varsayılan 10. */
|
|
1015
|
+
time?: number;
|
|
839
1016
|
/** Sıradaki videonun başlığı. */
|
|
840
1017
|
title?: string;
|
|
841
1018
|
/** Sıradaki videonun görseli (16:9 önerilir). */
|
|
842
1019
|
image?: string;
|
|
843
|
-
/** Yönlendirilecek adres. */
|
|
844
|
-
url
|
|
845
|
-
/**
|
|
1020
|
+
/** Yönlendirilecek adres ('screen' / 'card' modunda zorunlu). */
|
|
1021
|
+
url?: string;
|
|
1022
|
+
/** Öneri ızgarası: 'endScreen' modunda video bitince, diğer modlarda iptal edilince gösterilir. */
|
|
846
1023
|
suggestions?: RedirectScreenSuggestion[];
|
|
847
1024
|
/**
|
|
848
1025
|
* 'screen' (varsayılan): video bitince tam alan "Sıradaki video" ekranı + `time` sn geri sayım.
|
|
849
1026
|
* 'card': video bitmeden `showBefore` sn kala köşede küçük "Sıradaki" kartı; geri sayım videoyla birlikte işler,
|
|
850
1027
|
* video bitince yönlendirilir. Karta tıklayınca hemen gidilir, X ile iptal edilir.
|
|
1028
|
+
* 'endScreen': yönlendirme yok — video bitince doğrudan `suggestions` ızgarası (bitiş ekranı).
|
|
851
1029
|
*/
|
|
852
|
-
mode?: 'screen' | 'card';
|
|
1030
|
+
mode?: 'screen' | 'card' | 'endScreen';
|
|
1031
|
+
/** Öneri ızgarasının başlığı. Verilmezse dil dosyasından ("Önerilen videolar"). */
|
|
1032
|
+
suggestionsTitle?: string;
|
|
1033
|
+
/** Öneri ızgarasında "Tekrar izle" butonu. Varsayılan true. */
|
|
1034
|
+
replay?: boolean;
|
|
853
1035
|
/** 'card' modunda bitişe kaç sn kala kart görünsün. Varsayılan 10. */
|
|
854
1036
|
showBefore?: number;
|
|
855
1037
|
/** 'card' modunda kartın köşesi. Varsayılan 'bottom-right'. */
|
|
@@ -1127,6 +1309,22 @@ export interface HopePlayerOptions {
|
|
|
1127
1309
|
liveSeekBar?: boolean;
|
|
1128
1310
|
/** Kontrol çubuğundaki Picture-in-Picture butonu. Varsayılan true (tarayıcı destekliyorsa); `false` gizler. */
|
|
1129
1311
|
pipButton?: boolean;
|
|
1312
|
+
/**
|
|
1313
|
+
* Document Picture-in-Picture (Chrome / Edge 116+): PiP penceresinde player'ın kendi kontrolleri, altyazı, menüler
|
|
1314
|
+
* ve reklam katmanı. Desteklemeyen tarayıcıda normal PiP. Varsayılan kapalı.
|
|
1315
|
+
*/
|
|
1316
|
+
documentPip?: boolean | DocumentPipOptions;
|
|
1317
|
+
/** Belirli anlarda anket, quiz, ürün kartı ya da bağlantı kartı. */
|
|
1318
|
+
interactive?: InteractiveOptions;
|
|
1319
|
+
/** Çoklu kamera: aynı etkinliğin birden fazla yayını — kamera seçimi ve bölünmüş ekran (en fazla 4). */
|
|
1320
|
+
multiview?: MultiviewOptions;
|
|
1321
|
+
/** Paylaşım: bağlantıyı kopyala, "bu andan" bağlantısı (?t=) ve seçilen sosyal ağlar. */
|
|
1322
|
+
share?: boolean | ShareOptions;
|
|
1323
|
+
/**
|
|
1324
|
+
* Sesli betimleme: `true` yayının kendi betimleme ses izini (HLS CHARACTERISTICS="public.accessibility.describes-video")
|
|
1325
|
+
* kullanır; `{ src }` ayrı bir anlatım dosyasını videoyla eş zamanlı, orijinal sesin üstüne karıştırır.
|
|
1326
|
+
*/
|
|
1327
|
+
audioDescription?: boolean | AudioDescriptionOptions;
|
|
1130
1328
|
/**
|
|
1131
1329
|
* Kontrol çubuğundaki tam ekran butonu. Varsayılan true; `false` gizler. Yalnızca buton: `F` kısayolu ve
|
|
1132
1330
|
* `tapGestures`'taki `toggleFullscreen` çalışmaya devam eder.
|
|
@@ -1219,6 +1417,10 @@ export interface HopePlayerOptions {
|
|
|
1219
1417
|
markers?: MarkersOptions;
|
|
1220
1418
|
/** Seekbar üzerinde bölüm/segment bantları. */
|
|
1221
1419
|
segments?: SegmentItem[];
|
|
1420
|
+
/** Altyazıdan üretilen, aranabilir ve tıklayınca o ana giden transkript paneli. */
|
|
1421
|
+
transcript?: boolean | TranscriptOptions;
|
|
1422
|
+
/** Seek bar üzerinde "en çok izlenen" yoğunluk eğrisi — değerler dizisi ya da HeatmapOptions. */
|
|
1423
|
+
heatmap?: number[] | HeatmapOptions;
|
|
1222
1424
|
/** "İntroyu atla" / "Özeti atla" / "Jeneriği atla" butonları — bölüm oynarken görünür, basınca sonuna atlar. */
|
|
1223
1425
|
skipSegments?: SkipSegment[];
|
|
1224
1426
|
/**
|
|
@@ -1365,14 +1567,57 @@ export type HopePlayerEventMap = {
|
|
|
1365
1567
|
}>;
|
|
1366
1568
|
/**
|
|
1367
1569
|
* Yönlendirme ekranı / kartı. `shown`: göründü (`mode`), `cancel`: kullanıcı iptal etti, `redirect`: yönlendirilecek
|
|
1368
|
-
* (`reason`: auto | click). `redirect` olayı iptal edilebilir — `preventDefault()`
|
|
1369
|
-
* kendiniz yaparsınız (ör. SPA router, playlist).
|
|
1570
|
+
* (`reason`: auto | click | suggestion — öneri kartı, `index` ile). `redirect` olayı iptal edilebilir — `preventDefault()`
|
|
1571
|
+
* ile sayfa değişmez, yönlendirmeyi kendiniz yaparsınız (ör. SPA router, playlist). `replay`: "Tekrar izle".
|
|
1370
1572
|
*/
|
|
1371
1573
|
'hp:redirect': CustomEvent<{
|
|
1372
|
-
state: 'shown' | 'cancel' | 'redirect';
|
|
1574
|
+
state: 'shown' | 'cancel' | 'redirect' | 'replay';
|
|
1373
1575
|
url: string;
|
|
1374
|
-
mode: 'screen' | 'card';
|
|
1375
|
-
reason?: 'auto' | 'click';
|
|
1576
|
+
mode: 'screen' | 'card' | 'endScreen';
|
|
1577
|
+
reason?: 'auto' | 'click' | 'suggestion';
|
|
1578
|
+
index?: number;
|
|
1579
|
+
}>;
|
|
1580
|
+
/** Paylaşım: `open`, `copy`, `native` (cihazın paylaşım menüsü) ya da bir ağ — iptal edilebilir (`preventDefault()`). */
|
|
1581
|
+
'hp:share': CustomEvent<{
|
|
1582
|
+
action: 'open' | 'copy' | 'native' | ShareNetwork;
|
|
1583
|
+
url: string;
|
|
1584
|
+
time: number | null;
|
|
1585
|
+
}>;
|
|
1586
|
+
/** Sesli betimleme açıldı / kapandı (`source`: yayının izi ya da ayrı dosya). */
|
|
1587
|
+
'hp:audiodescription': CustomEvent<{
|
|
1588
|
+
enabled: boolean;
|
|
1589
|
+
source: 'stream' | 'file' | null;
|
|
1590
|
+
}>;
|
|
1591
|
+
/** Çoklu kamera: kamera değişti (`switch`, `from`) ya da görünüm değişti (`layout`). */
|
|
1592
|
+
'hp:multiview': CustomEvent<{
|
|
1593
|
+
state: 'switch' | 'layout';
|
|
1594
|
+
id: string;
|
|
1595
|
+
from?: string;
|
|
1596
|
+
layout: 'focus' | 'grid';
|
|
1597
|
+
}>;
|
|
1598
|
+
/** Picture-in-Picture'a girildi / çıkıldı — `mode`: 'document' (Document PiP) ya da 'native'. */
|
|
1599
|
+
'hp:pip': CustomEvent<{
|
|
1600
|
+
state: 'enter' | 'exit';
|
|
1601
|
+
mode: 'document' | 'native';
|
|
1602
|
+
}>;
|
|
1603
|
+
/**
|
|
1604
|
+
* Etkileşimli öğe: `shown`, `answer` (`choice`, quiz'de `correct`), `click` (kart, `url` — iptal edilebilir:
|
|
1605
|
+
* `preventDefault()` → sayfa açılmaz), `dismiss` (X ya da süre doldu: `reason`).
|
|
1606
|
+
*/
|
|
1607
|
+
'hp:interactive': CustomEvent<{
|
|
1608
|
+
state: 'shown' | 'answer' | 'click' | 'dismiss';
|
|
1609
|
+
id: string;
|
|
1610
|
+
type: 'poll' | 'quiz' | 'product' | 'link';
|
|
1611
|
+
choice?: number;
|
|
1612
|
+
choiceId?: string;
|
|
1613
|
+
correct?: boolean;
|
|
1614
|
+
url?: string;
|
|
1615
|
+
reason?: 'user' | 'timeout' | 'seek';
|
|
1616
|
+
}>;
|
|
1617
|
+
/** Transkript paneli açıldı / kapandı ya da bir satıra tıklanıp o ana gidildi (`seek`, `time`). */
|
|
1618
|
+
'hp:transcript': CustomEvent<{
|
|
1619
|
+
state: 'open' | 'close' | 'seek';
|
|
1620
|
+
time?: number;
|
|
1376
1621
|
}>;
|
|
1377
1622
|
'hp:pausead': CustomEvent<{
|
|
1378
1623
|
state: 'shown' | 'hidden' | 'empty';
|