@hopeplayer/core 1.3.1 → 1.5.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 (97) hide show
  1. package/README.md +4 -0
  2. package/dist/HopePlayerElement.d.ts +29 -4
  3. package/dist/HopePlayerElement.d.ts.map +1 -1
  4. package/dist/chunks/NativeEme-CXosVcw8.js +80 -0
  5. package/dist/chunks/NativeEme-CXosVcw8.js.map +1 -0
  6. package/dist/chunks/{accessibility-CehDBG3h.js → accessibility-DFx4CE0H.js} +45 -41
  7. package/dist/chunks/accessibility-DFx4CE0H.js.map +1 -0
  8. package/dist/chunks/{ads-BFmyld9u.js → ads-C4tDPsUs.js} +3 -3
  9. package/dist/chunks/ads-C4tDPsUs.js.map +1 -0
  10. package/dist/chunks/analytics-DEjTAJO9.js +281 -0
  11. package/dist/chunks/analytics-DEjTAJO9.js.map +1 -0
  12. package/dist/chunks/{cast-DJXOJLEZ.js → cast-Baxvu76A.js} +2 -2
  13. package/dist/chunks/{cast-DJXOJLEZ.js.map → cast-Baxvu76A.js.map} +1 -1
  14. package/dist/chunks/dash-CWjy-y7B.js +22 -0
  15. package/dist/chunks/dash-CWjy-y7B.js.map +1 -0
  16. package/dist/chunks/{history-YQ9A8HBv.js → history-CvydU0aN.js} +2 -2
  17. package/dist/chunks/{history-YQ9A8HBv.js.map → history-CvydU0aN.js.map} +1 -1
  18. package/dist/chunks/keySystems-CNzjRq6e.js +70 -0
  19. package/dist/chunks/keySystems-CNzjRq6e.js.map +1 -0
  20. package/dist/chunks/{markers-BmcD53SJ.js → markers-Dr4-CCxE.js} +2 -2
  21. package/dist/chunks/{markers-BmcD53SJ.js.map → markers-Dr4-CCxE.js.map} +1 -1
  22. package/dist/chunks/{player-BVkwkn4b.js → player-DV4Hf5Cw.js} +1320 -993
  23. package/dist/chunks/player-DV4Hf5Cw.js.map +1 -0
  24. package/dist/chunks/{playlist-jDbObKz3.js → playlist-DJsdK6xm.js} +29 -21
  25. package/dist/chunks/playlist-DJsdK6xm.js.map +1 -0
  26. package/dist/chunks/pluginHost-GxNfyP5E.js +566 -0
  27. package/dist/chunks/pluginHost-GxNfyP5E.js.map +1 -0
  28. package/dist/chunks/{redirectScreen-CFZKtEdv.js → redirectScreen-BT_26-5g.js} +2 -2
  29. package/dist/chunks/{redirectScreen-CFZKtEdv.js.map → redirectScreen-BT_26-5g.js.map} +1 -1
  30. package/dist/chunks/{rewardedUnlock-Cn4_68a3.js → rewardedUnlock-jFOdzfSq.js} +2 -2
  31. package/dist/chunks/{rewardedUnlock-Cn4_68a3.js.map → rewardedUnlock-jFOdzfSq.js.map} +1 -1
  32. package/dist/chunks/{segments-DXARAkpS.js → segments--hl_QVrI.js} +2 -2
  33. package/dist/chunks/{segments-DXARAkpS.js.map → segments--hl_QVrI.js.map} +1 -1
  34. package/dist/chunks/{skipSegments-U0aUwoDt.js → skipSegments-vJMhdiJn.js} +55 -42
  35. package/dist/chunks/{skipSegments-U0aUwoDt.js.map → skipSegments-vJMhdiJn.js.map} +1 -1
  36. package/dist/chunks/{spriteThumbnails-DLfTFsPU.js → spriteThumbnails-BoxVY--_.js} +76 -53
  37. package/dist/chunks/spriteThumbnails-BoxVY--_.js.map +1 -0
  38. package/dist/chunks/{statsPanel-DSClIwA3.js → statsPanel-D0DtoFgS.js} +2 -2
  39. package/dist/chunks/statsPanel-D0DtoFgS.js.map +1 -0
  40. package/dist/chunks/{story-Ce56rEaN.js → story-BRkhSDhR.js} +2 -2
  41. package/dist/chunks/{story-Ce56rEaN.js.map → story-BRkhSDhR.js.map} +1 -1
  42. package/dist/controls/ControlBar.d.ts +2 -0
  43. package/dist/controls/ControlBar.d.ts.map +1 -1
  44. package/dist/controls/SeekBar.d.ts.map +1 -1
  45. package/dist/controls/SettingsMenu.d.ts +5 -0
  46. package/dist/controls/SettingsMenu.d.ts.map +1 -1
  47. package/dist/drm/NativeEme.d.ts +23 -0
  48. package/dist/drm/NativeEme.d.ts.map +1 -0
  49. package/dist/drm/keySystems.d.ts +18 -0
  50. package/dist/drm/keySystems.d.ts.map +1 -0
  51. package/dist/hls/SourceManager.d.ts +31 -5
  52. package/dist/hls/SourceManager.d.ts.map +1 -1
  53. package/dist/hls/dashEngine.d.ts +85 -0
  54. package/dist/hls/dashEngine.d.ts.map +1 -0
  55. package/dist/hls/sourceGroups.d.ts.map +1 -1
  56. package/dist/hope-player.js +6 -3
  57. package/dist/i18n/locales/en.d.ts.map +1 -1
  58. package/dist/i18n/locales/tr.d.ts.map +1 -1
  59. package/dist/i18n/types.d.ts +3 -0
  60. package/dist/i18n/types.d.ts.map +1 -1
  61. package/dist/index.d.ts +4 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/keyboard/KeyboardController.d.ts +14 -0
  64. package/dist/keyboard/KeyboardController.d.ts.map +1 -1
  65. package/dist/plugin-api/PluginAds.d.ts +61 -0
  66. package/dist/plugin-api/PluginAds.d.ts.map +1 -0
  67. package/dist/plugin-api/PluginHost.d.ts +71 -0
  68. package/dist/plugin-api/PluginHost.d.ts.map +1 -0
  69. package/dist/plugin-api/registry.d.ts +10 -0
  70. package/dist/plugin-api/registry.d.ts.map +1 -0
  71. package/dist/plugin-api/types.d.ts +209 -0
  72. package/dist/plugin-api/types.d.ts.map +1 -0
  73. package/dist/plugins/accessibility/Accessibility.d.ts +5 -0
  74. package/dist/plugins/accessibility/Accessibility.d.ts.map +1 -1
  75. package/dist/plugins/ads/AdsController.d.ts +2 -0
  76. package/dist/plugins/ads/AdsController.d.ts.map +1 -1
  77. package/dist/plugins/analytics/QoeTracker.d.ts +71 -0
  78. package/dist/plugins/analytics/QoeTracker.d.ts.map +1 -0
  79. package/dist/plugins/analytics/index.d.ts +6 -0
  80. package/dist/plugins/analytics/index.d.ts.map +1 -0
  81. package/dist/plugins/playlist/PlaylistRunner.d.ts +2 -0
  82. package/dist/plugins/playlist/PlaylistRunner.d.ts.map +1 -1
  83. package/dist/plugins/skip-segments/index.d.ts +2 -0
  84. package/dist/plugins/skip-segments/index.d.ts.map +1 -1
  85. package/dist/plugins/sprite-thumbnails/SpriteThumbnails.d.ts +8 -0
  86. package/dist/plugins/sprite-thumbnails/SpriteThumbnails.d.ts.map +1 -1
  87. package/dist/screens/ErrorScreen.d.ts +1 -1
  88. package/dist/screens/ErrorScreen.d.ts.map +1 -1
  89. package/dist/types/index.d.ts +159 -4
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/package.json +2 -1
  92. package/dist/chunks/accessibility-CehDBG3h.js.map +0 -1
  93. package/dist/chunks/ads-BFmyld9u.js.map +0 -1
  94. package/dist/chunks/player-BVkwkn4b.js.map +0 -1
  95. package/dist/chunks/playlist-jDbObKz3.js.map +0 -1
  96. package/dist/chunks/spriteThumbnails-DLfTFsPU.js.map +0 -1
  97. package/dist/chunks/statsPanel-DSClIwA3.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { HopePlayerElement, HOPE_PLAYER_VERSION } from './HopePlayerElement';
2
2
  export { HopePlayerElement, HOPE_PLAYER_VERSION };
3
+ export { definePlugin, registerPlugin } from './plugin-api/registry';
4
+ export { PLUGIN_API_VERSION } from './plugin-api/types';
5
+ export type { HopePlugin, PlayerApi, PluginEntry, PluginLoader, PluginCleanup, PluginLabel, PluginButtonOptions, PluginButtonHandle, PluginLayerOptions, PluginLayerHandle, PluginLayerPosition, PluginUiApi, PluginSettingsApi, PluginSettingsHandle, PluginSettingsItem, PluginKeysApi, PluginI18nApi, PluginStorageApi, PluginInstanceHandle, PluginAdsApi, PluginAdBreak, PluginAdBreakOptions, PluginAdBreakType, } from './plugin-api/types';
3
6
  export type { PlaybackEngineInfo } from './hls/SourceManager';
4
- export type { HopeThemePreset, HopeLocale, HopeLocaleStrings, HopePlayerOptions, HopeSourceOption, HopeSourceFormat, HopePlayerEventMap, AdsOptions, AdsRetryOptions, PrebidOptions, PrebidBreakOptions, PrebidBidderConfig, GestureOptions, LoopSectionOptions, InViewAutoplayOptions, StickyOptions, StickyCorner, PlayableItem, PlaylistOptions, PlaylistUiOptions, StoryOptions, StoryUiOptions, StoryGestureOptions, MarkerPopupOptions, MarkerPingOptions, MarkerAction, MarkerItem, MarkersOptions, SegmentItem, SpriteThumbnailsOptions, CountdownScreenOptions, GeoCheckerOptions, RedirectScreenSuggestion, RedirectScreenOptions, RedirectCardPosition, QrResumeOptions, PauseAdOptions, SkipButtonsOptions, HopeHlsOptions, ContextMenuOptions, TapGesture, TapGestureType, TapRegion, TapPointer, TapAction, DubbingTrack, DubbingOptions, LiveWallClockOptions, DaiOptions, LiveAdsOptions, OmidAccessMode, OmidVendor, AudioOptions, VinylOptions, RewardedUnlockOptions, RewardedProvider, RewardedResult, SponsorshipOptions, SponsorshipConfig, AdTriggersOptions, AdTriggersConfig, AdTriggerRule, AdTrigger, AdTriggerLayout, AdTriggerCustParams, CustParams, CastOptions, CastSource, } from './types';
7
+ export type { HopeThemePreset, HopeLocale, HopeLocaleStrings, HopePlayerOptions, HopeSourceOption, HopeSourceFormat, HopePlayerEventMap, AdsOptions, AdsRetryOptions, PrebidOptions, PrebidBreakOptions, PrebidBidderConfig, GestureOptions, LoopSectionOptions, InViewAutoplayOptions, StickyOptions, StickyCorner, PlayableItem, PlaylistOptions, PlaylistUiOptions, StoryOptions, StoryUiOptions, StoryGestureOptions, MarkerPopupOptions, MarkerPingOptions, MarkerAction, MarkerItem, MarkersOptions, SegmentItem, SpriteThumbnailsOptions, SpriteLowResOptions, CountdownScreenOptions, GeoCheckerOptions, RedirectScreenSuggestion, RedirectScreenOptions, RedirectCardPosition, QrResumeOptions, PauseAdOptions, SkipButtonsOptions, HopeHlsOptions, HopeDashOptions, HopeDrmOptions, HopeDrmLicense, HopeFairPlayOptions, HopeAnalyticsOptions, HopeAnalyticsEvent, HopeAnalyticsEventType, HopeAnalyticsPayload, HopeQoeMetrics, QualityLimitOptions, HopeCmcdOptions, ContextMenuOptions, TapGesture, TapGestureType, TapRegion, TapPointer, TapAction, DubbingTrack, DubbingOptions, LiveWallClockOptions, DaiOptions, LiveAdsOptions, OmidAccessMode, OmidVendor, AudioOptions, VinylOptions, RewardedUnlockOptions, RewardedProvider, RewardedResult, SponsorshipOptions, SponsorshipConfig, AdTriggersOptions, AdTriggersConfig, AdTriggerRule, AdTrigger, AdTriggerLayout, AdTriggerCustParams, CustParams, CastOptions, CastSource, } from './types';
5
8
  export type { SettingsSubmenuDef, SettingsSubmenuItem } from './controls/SettingsMenu';
6
9
  export type { ErrorLog, PlayerLogEntry, PlayerLogSource } from './debug/ErrorLog';
7
10
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM7E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,iBAAiB,CAAC;KACpC;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM7E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,iBAAiB,CAAC;KACpC;CACJ"}
@@ -9,7 +9,21 @@ export declare class KeyboardController {
9
9
  onSeek: ((delta: number) => void) | null;
10
10
  /** Space/K'den önce sorulur — true dönerse işlenmiştir (ör. preroll beklemesini iptal). */
11
11
  interceptTogglePlay: (() => boolean) | null;
12
+ /** `options.frameRate`; verilmezse oynarken ölçülür. */
13
+ frameRate: number | null;
14
+ /** Oynarken ölçülen kare süresi (sn). */
15
+ private measuredFrame;
16
+ private frameSamples;
17
+ private lastMediaTime;
18
+ private frameCb;
12
19
  constructor(host: HTMLElement, video: HTMLVideoElement, toggleFullscreen: () => void);
20
+ /** Bir karenin süresi (sn). */
21
+ get frameDuration(): number;
22
+ private readonly resetFrame;
23
+ /** requestVideoFrameCallback ile ardışık karelerin mediaTime farkından kare süresi. */
24
+ private readonly measure;
25
+ /** Bir kare ileri / geri; oynuyorsa önce durdurur. */
26
+ private stepFrame;
13
27
  private readonly onKeyDown;
14
28
  destroy(): void;
15
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardController.d.ts","sourceRoot":"","sources":["../../src/keyboard/KeyboardController.ts"],"names":[],"mappings":"AAEA,gGAAgG;AAChG,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,mEAAmE;IACnE,QAAQ,SAAK;IACb,0EAA0E;IAC1E,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,2FAA2F;IAC3F,mBAAmB,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,IAAI,CAAQ;gBAEvC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,IAAI;IAOpF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAkDxB;IAEF,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"KeyboardController.d.ts","sourceRoot":"","sources":["../../src/keyboard/KeyboardController.ts"],"names":[],"mappings":"AAYA,gGAAgG;AAChG,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,mEAAmE;IACnE,QAAQ,SAAK;IACb,0EAA0E;IAC1E,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,2FAA2F;IAC3F,mBAAmB,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,IAAI,CAAQ;IACnD,wDAAwD;IACxD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,yCAAyC;IACzC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,OAAO,CAAuB;gBAE1B,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,IAAI;IASpF,+BAA+B;IAC/B,IAAI,aAAa,IAAI,MAAM,CAG1B;IAED,OAAO,CAAC,QAAQ,CAAC,UAAU,CAIzB;IAEF,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAiBtB;IAEF,sDAAsD;IACtD,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAwDxB;IAEF,OAAO,IAAI,IAAI;CAMlB"}
@@ -0,0 +1,61 @@
1
+ import type { PluginAdBreak, PluginAdBreakOptions, PluginAdBreakType, PluginCleanup } from './types';
2
+ export interface PluginAdsContext {
3
+ element: HTMLElement;
4
+ video: HTMLVideoElement;
5
+ videoArea: HTMLElement;
6
+ isAdPlaying(): boolean;
7
+ /** Player'ın reklam kilidi (kontroller gizli, isAdPlaying true). */
8
+ blockAds(): void;
9
+ unblockAds(): void;
10
+ log(message: string, details?: Record<string, string | number | boolean | undefined>): void;
11
+ }
12
+ type Guard = <A extends unknown[]>(fn: (...args: A) => unknown, where?: string) => (...args: A) => void;
13
+ export declare class PluginAds {
14
+ private readonly ctx;
15
+ private active;
16
+ private prerolls;
17
+ private mids;
18
+ private pauses;
19
+ private endeds;
20
+ private transforms;
21
+ private prerollDone;
22
+ private gateRunning;
23
+ private contentStarted;
24
+ private lastPos;
25
+ private seekPending;
26
+ private pauseTimer;
27
+ private pauseCleanups;
28
+ constructor(ctx: PluginAdsContext);
29
+ destroy(): void;
30
+ /** Eklenti kaldırılınca onun kayıtları ve süren arası. */
31
+ removeOwner(owner: string): void;
32
+ /** IMA isteği öncesi tüm eklentilerin dönüşümleri. */
33
+ transformTag(url: string, type: PluginAdBreakType): string;
34
+ /** Bir eklentiye verilen `ads` nesnesi. */
35
+ api(owner: string, guard: Guard): {
36
+ requestBreak: (run: (ad: PluginAdBreak) => void | Promise<void>, options?: PluginAdBreakOptions) => Promise<boolean>;
37
+ beforeContent: (run: () => unknown) => () => void;
38
+ atTime: (seconds: number | number[], run: (s: number) => unknown, options?: {
39
+ seekPast?: "last" | "skip";
40
+ }) => () => void;
41
+ onPause: (run: () => void | PluginCleanup, options?: {
42
+ delayMs?: number;
43
+ }) => () => void;
44
+ onEnded: (run: () => unknown) => () => void;
45
+ transformTag: (fn: (url: string, type: PluginAdBreakType) => string) => () => void;
46
+ };
47
+ private requestBreak;
48
+ private emit;
49
+ private readonly onLoadStart;
50
+ private readonly onPlay;
51
+ private runPrerolls;
52
+ private readonly onPlaying;
53
+ private readonly onSeeking;
54
+ private readonly onTimeUpdate;
55
+ private readonly onPause;
56
+ private clearPause;
57
+ private readonly onEnded;
58
+ private readonly onKeyDown;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=PluginAds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginAds.d.ts","sourceRoot":"","sources":["../../src/plugin-api/PluginAds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAErG,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC;IACvB,oEAAoE;IACpE,QAAQ,IAAI,IAAI,CAAC;IACjB,UAAU,IAAI,IAAI,CAAC;IACnB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;CAC/F;AAQD,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAexG,qBAAa,SAAS;IAeN,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdhC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAqE;IACnF,OAAO,CAAC,MAAM,CAAiD;IAC/D,OAAO,CAAC,UAAU,CAAsF;IACxG,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,aAAa,CAAyB;gBAEjB,GAAG,EAAE,gBAAgB;IAalD,OAAO,IAAI,IAAI;IAcf,0DAA0D;IAC1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAShC,sDAAsD;IACtD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM;IAa1D,2CAA2C;IAC3C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;4BASH,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,oBAAoB;6BAC1E,MAAM,OAAO,WATM,IAAI;0BAU1B,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,YAAY;YAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,WAVlE,IAAI;uBAe7B,MAAM,IAAI,GAAG,aAAa,YAAY;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,WAfjC,IAAI;uBAiB7B,MAAM,OAAO,WAjBY,IAAI;2BAkBzB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,KAAK,MAAM,WAlB3B,IAAI;;IAwBpD,OAAO,CAAC,YAAY;IAoDpB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAM1B;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAYrB;YAEY,WAAW;IAgBzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAgB3B;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAiBtB;IAEF,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;CACL"}
@@ -0,0 +1,71 @@
1
+ import type { SettingsSubmenuDef } from '../controls/SettingsMenu';
2
+ import { PLUGIN_API_VERSION, type PluginEntry } from './types';
3
+ /** Player → PluginHost bağlamı (eklentiler görmez). */
4
+ export interface PluginHostContext {
5
+ element: HTMLElement;
6
+ video: HTMLVideoElement;
7
+ videoArea: HTMLElement;
8
+ /** Alt katmanlar bunun önüne eklenir. */
9
+ chromeEl: HTMLElement;
10
+ labels: Readonly<Record<string, unknown>>;
11
+ locale(): string;
12
+ currentSrc(): string | null;
13
+ isAdPlaying(): boolean;
14
+ /** Reklam kilidi (`blockChrome('ads')`). */
15
+ blockAds(): void;
16
+ unblockAds(): void;
17
+ isFullscreen(): boolean;
18
+ addControlButton(button: HTMLButtonElement, position: 'left' | 'right'): void;
19
+ settings: {
20
+ registerToggle(row: {
21
+ key: string;
22
+ label: string;
23
+ getValueLabel(): string;
24
+ onToggle(): void;
25
+ }): void;
26
+ unregisterToggle(key: string): void;
27
+ registerSubmenu(def: SettingsSubmenuDef): void;
28
+ unregisterSubmenu(key: string): void;
29
+ };
30
+ log(message: string, details?: Record<string, string | number | boolean | undefined>): void;
31
+ }
32
+ export interface PluginShortcut {
33
+ keys: string[];
34
+ description: string;
35
+ }
36
+ export declare class PluginHost {
37
+ private readonly ctx;
38
+ private readonly instances;
39
+ private readonly shortcutList;
40
+ private syncSeq;
41
+ private toastEl;
42
+ private toastTimer;
43
+ /** Ayar satırı anahtarları. */
44
+ private keySeq;
45
+ private readonly ads;
46
+ constructor(ctx: PluginHostContext);
47
+ /** IMA tag'i eklenti dönüşümlerinden geçirir. */
48
+ transformAdTag(url: string, type: 'preroll' | 'midroll' | 'postroll'): string;
49
+ /** Listeye eşitler: kurar, kaldırır, günceller (aynı adlıda sonraki kazanır). */
50
+ sync(builtin: PluginEntry[], user: PluginEntry[]): Promise<void>;
51
+ /** Dil değişince. */
52
+ refreshLabels(): void;
53
+ /** `?` listesi için. */
54
+ shortcuts(): PluginShortcut[];
55
+ has(name: string): boolean;
56
+ destroy(): void;
57
+ private resolveEntry;
58
+ private install;
59
+ private dispose;
60
+ private report;
61
+ /** Eklenti kodu hep bundan çağrılır; hata player'a geçmez. */
62
+ private guard;
63
+ private readonly onKeyDown;
64
+ private createApi;
65
+ private addButton;
66
+ private addLayer;
67
+ private toast;
68
+ }
69
+ export { PLUGIN_API_VERSION };
70
+ export type { PluginShortcut as Shortcut };
71
+ //# sourceMappingURL=PluginHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-api/PluginHost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { HopePlugin, PluginEntry, PluginLoader } from './types';
2
+ /** Eklenti tanımlar (tip yardımcısı + ad denetimi). */
3
+ export declare function definePlugin<O = unknown>(plugin: HopePlugin<O>): HopePlugin<O>;
4
+ /** Eklentiyi sayfadaki tüm player'lara ekler; player'ın kendi aynı adlı eklentisi kazanır. */
5
+ export declare function registerPlugin<O>(plugin: HopePlugin<O> | PluginLoader, options?: O): () => void;
6
+ /** @internal */
7
+ export declare function globalPluginEntries(): PluginEntry[];
8
+ /** @internal */
9
+ export declare function onGlobalPluginsChange(listener: () => void): () => void;
10
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugin-api/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAM9E;AAKD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAW/F;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAEnD;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGtE"}
@@ -0,0 +1,209 @@
1
+ /** API sürümü; eklenti daha yenisini isterse uyarı yazılır. */
2
+ export declare const PLUGIN_API_VERSION = 1;
3
+ /** Metin ya da güncel metni döndüren fonksiyon (dil değişince yeniden okunur). */
4
+ export type PluginLabel = string | (() => string);
5
+ export type PluginCleanup = () => void;
6
+ export interface HopePlugin<O = unknown> {
7
+ /** Benzersiz ad; olay öneki de budur. */
8
+ name: string;
9
+ apiVersion?: number;
10
+ /** API ile eklenen her şey eklenti kaldırılınca kendiliğinden temizlenir. */
11
+ setup(player: PlayerApi, options: O): void | PluginCleanup | Promise<void | PluginCleanup>;
12
+ /** Seçenekler değişince; yoksa eklenti yeniden kurulur. */
13
+ update?(options: O): void;
14
+ }
15
+ /** Tembel yükleme: `() => import('./my-plugin')` (default ya da `plugin` export'u). */
16
+ export type PluginLoader = () => Promise<HopePlugin<any> | {
17
+ default: HopePlugin<any>;
18
+ } | {
19
+ plugin: HopePlugin<any>;
20
+ }>;
21
+ /** Eklenti, yükleyici ya da `[eklenti | yükleyici, seçenekler]`. */
22
+ export type PluginEntry = HopePlugin<any> | PluginLoader | [HopePlugin<any> | PluginLoader, unknown?];
23
+ export interface PluginButtonOptions {
24
+ label: PluginLabel;
25
+ /** Satır içi SVG ya da player ikon adı (`play`, `settings`, `loop`…). */
26
+ icon: string;
27
+ /** Varsayılan `'right'`. */
28
+ position?: 'left' | 'right';
29
+ /** Verilirse aç / kapa butonu (`aria-pressed`). */
30
+ active?: boolean;
31
+ onClick?(event: MouseEvent, button: PluginButtonHandle): void;
32
+ }
33
+ export interface PluginButtonHandle {
34
+ readonly el: HTMLButtonElement;
35
+ readonly active: boolean;
36
+ setLabel(label: PluginLabel): void;
37
+ setIcon(icon: string): void;
38
+ setActive(active: boolean): void;
39
+ show(): void;
40
+ hide(): void;
41
+ remove(): void;
42
+ }
43
+ export type PluginLayerPosition = 'fill' | 'top' | 'bottom' | 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
44
+ export interface PluginLayerOptions {
45
+ /** Varsayılan `'fill'`. */
46
+ position?: PluginLayerPosition;
47
+ /** Kontrollerin üstünde (varsayılan altında). */
48
+ above?: boolean;
49
+ /** Kontrollerle birlikte gizlenir. */
50
+ autoHide?: boolean;
51
+ /** Tüm katman tıklanabilir; varsayılan yalnızca içindeki butonlar / linkler. */
52
+ interactive?: boolean;
53
+ /** Katmana CSS (shadow DOM içinde). */
54
+ css?: string;
55
+ /** Varsayılan true. */
56
+ visible?: boolean;
57
+ }
58
+ export interface PluginLayerHandle {
59
+ readonly el: HTMLDivElement;
60
+ readonly visible: boolean;
61
+ show(): void;
62
+ hide(): void;
63
+ toggle(force?: boolean): void;
64
+ remove(): void;
65
+ }
66
+ export interface PluginUiApi {
67
+ addButton(options: PluginButtonOptions): PluginButtonHandle;
68
+ addLayer(options?: PluginLayerOptions): PluginLayerHandle;
69
+ toast(message: string, options?: {
70
+ durationMs?: number;
71
+ }): void;
72
+ }
73
+ export interface PluginSettingsItem {
74
+ label: PluginLabel;
75
+ active?: boolean;
76
+ onSelect(): void;
77
+ }
78
+ export interface PluginSettingsHandle {
79
+ /** Satırı güncel değerle yeniden çizer. */
80
+ refresh(): void;
81
+ remove(): void;
82
+ }
83
+ export interface PluginSettingsApi {
84
+ /** Ana menüde aç / kapa satırı. */
85
+ addToggle(options: {
86
+ label: PluginLabel;
87
+ get(): boolean;
88
+ set(value: boolean): void;
89
+ }): PluginSettingsHandle;
90
+ /** Alt menüde seçenek listesi. */
91
+ addSelect<V extends string | number>(options: {
92
+ label: PluginLabel;
93
+ options: Array<{
94
+ value: V;
95
+ label: PluginLabel;
96
+ }> | (() => Array<{
97
+ value: V;
98
+ label: PluginLabel;
99
+ }>);
100
+ get(): V;
101
+ set(value: V): void;
102
+ }): PluginSettingsHandle;
103
+ /** Serbest alt menü; satırlar her açılışta `items()` ile üretilir. */
104
+ addSubmenu(options: {
105
+ label: PluginLabel;
106
+ value?: () => string;
107
+ items(): PluginSettingsItem[];
108
+ }): PluginSettingsHandle;
109
+ }
110
+ export interface PluginKeysApi {
111
+ /** `'w'`, `'Shift+W'`, `'Alt+l'`; player'ın kendi tuşlarını ezmez, `?` listesinde görünür. */
112
+ add(key: string, handler: (event: KeyboardEvent) => void, description?: PluginLabel): () => void;
113
+ }
114
+ export interface PluginI18nApi {
115
+ /** `{ tr: { key: '…' }, en: { key: '…' } }` */
116
+ add(strings: Record<string, Record<string, string>>): void;
117
+ /** Player dili → İngilizce → `fallback` → anahtar. */
118
+ t(key: string, fallback?: string): string;
119
+ }
120
+ export interface PluginStorageApi {
121
+ /** Eklentiye ayrılmış localStorage alanı. */
122
+ get<T>(key: string, fallback?: T): T | undefined;
123
+ set(key: string, value: unknown): void;
124
+ remove(key: string): void;
125
+ }
126
+ export type PluginAdBreakType = 'preroll' | 'midroll' | 'postroll';
127
+ /** `requestBreak` içinde reklamın çizildiği ve bittiğinin bildirildiği nesne. */
128
+ export interface PluginAdBreak {
129
+ readonly type: PluginAdBreakType;
130
+ /** Video alanını kaplayan, kontrollerin üstündeki tıklanabilir katman. */
131
+ readonly layer: HTMLDivElement;
132
+ /** Arayı player bitirince (zaman aşımı, eklenti kaldırıldı) iptal olur. */
133
+ readonly signal: AbortSignal;
134
+ /** Arayı hemen bitirir (ör. "Reklamı geç"). */
135
+ end(): void;
136
+ }
137
+ export interface PluginAdBreakOptions {
138
+ /** Verilmezse durumdan çıkarılır (başta preroll, bitişte postroll, arada midroll). */
139
+ type?: PluginAdBreakType;
140
+ /** Ara en fazla bu kadar sürer. Varsayılan 60000 ms. */
141
+ timeoutMs?: number;
142
+ }
143
+ export interface PluginAdsApi {
144
+ /**
145
+ * Reklam arası: içerik durur, kontroller ve sarma kilitlenir, `isAdPlaying` true, `hp:adstart` / `hp:adend`.
146
+ * `run` bitince içerik kaldığı yerden sürer. Başka bir reklam oynuyorsa başlamaz (`false`).
147
+ */
148
+ requestBreak(run: (ad: PluginAdBreak) => void | Promise<void>, options?: PluginAdBreakOptions): Promise<boolean>;
149
+ /** Preroll: içerik ilk oynatmada bu bitene kadar bekler (kaynak başına bir kez). */
150
+ beforeContent(handler: () => void | Promise<unknown>): () => void;
151
+ /** Midroll: oynatma bu saniyelere doğal yoldan gelince. İleri sarılırsa varsayılan: geçilen son nokta bir kez. */
152
+ atTime(seconds: number | number[], handler: (seconds: number) => void | Promise<unknown>, options?: {
153
+ seekPast?: 'last' | 'skip';
154
+ }): () => void;
155
+ /** İzleyici duraklatınca (`delayMs` sonra hâlâ duraklatılmışsa). Dönen fonksiyon oynatılınca çağrılır. */
156
+ onPause(handler: () => void | PluginCleanup, options?: {
157
+ delayMs?: number;
158
+ }): () => void;
159
+ /** Postroll: video bitince; playlist ve yönlendirme reklam arası bitene kadar bekler. */
160
+ onEnded(handler: () => void | Promise<unknown>): () => void;
161
+ /** IMA tag adresini istek öncesi değiştirir (ör. hedefleme parametresi eklemek). */
162
+ transformTag(transform: (url: string, type: PluginAdBreakType) => string): () => void;
163
+ }
164
+ export interface PlayerApi {
165
+ readonly plugin: string;
166
+ readonly apiVersion: number;
167
+ /** `<hope-player>` elementi. */
168
+ readonly element: HTMLElement;
169
+ /** İçerik videosu (reklamlar ayrı öğede). */
170
+ readonly video: HTMLVideoElement;
171
+ readonly locale: string;
172
+ /** Player'ın kendi metinleri (salt okunur). */
173
+ readonly labels: Readonly<Record<string, unknown>>;
174
+ readonly currentTime: number;
175
+ readonly duration: number;
176
+ readonly paused: boolean;
177
+ readonly isLive: boolean;
178
+ readonly isAdPlaying: boolean;
179
+ readonly isFullscreen: boolean;
180
+ readonly src: string | null;
181
+ play(): Promise<void>;
182
+ pause(): void;
183
+ seek(time: number): void;
184
+ /** Video olayları ve `hp:*` olayları; dönen fonksiyon dinlemeyi bırakır. */
185
+ on(event: string, handler: (event: Event) => void): () => void;
186
+ once(event: string, handler: (event: Event) => void): () => void;
187
+ /** Elementte `<eklenti>:<olay>` CustomEvent'i yayar. */
188
+ emit(event: string, detail?: unknown): void;
189
+ onSourceChange(handler: (src: string | null) => void): () => void;
190
+ onLocaleChange(handler: (locale: string) => void): () => void;
191
+ onDestroy(handler: () => void): void;
192
+ /** Eklenti kaldırılınca iptal edilen zamanlayıcılar. */
193
+ setTimeout(handler: () => void, ms: number): number;
194
+ setInterval(handler: () => void, ms: number): number;
195
+ readonly ui: PluginUiApi;
196
+ readonly settings: PluginSettingsApi;
197
+ readonly keys: PluginKeysApi;
198
+ readonly i18n: PluginI18nApi;
199
+ readonly storage: PluginStorageApi;
200
+ readonly ads: PluginAdsApi;
201
+ /** Player'ın hata kaydına yazar. */
202
+ log(message: string, details?: Record<string, string | number | boolean | undefined>): void;
203
+ }
204
+ /** `player.use()` tutamacı. */
205
+ export interface PluginInstanceHandle {
206
+ readonly name: string;
207
+ remove(): void;
208
+ }
209
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin-api/types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ export interface AccessibilityPlayerContext {
12
12
  addQuickButton(btn: HTMLButtonElement, getDef: () => SettingsSubmenuDef, getParents: () => SettingsSubmenuDef[]): void;
13
13
  /** Klavyeyle sarma adımı (sn) — kısayol listesinde gösterilir. */
14
14
  seekStep(): number;
15
+ /** Eklentilerin kısayolları (listeye eklenir). */
16
+ extraShortcuts?(): Array<{
17
+ keys: string[];
18
+ description: string;
19
+ }>;
15
20
  }
16
21
  /**
17
22
  * Erişilebilirlik alt menüsü: yakınlaştırma (sürükle / Shift+ok / iki parmak), görüntü filtreleri, mono ses, ses
@@ -1 +1 @@
1
- {"version":3,"file":"Accessibility.d.ts","sourceRoot":"","sources":["../../../src/plugins/accessibility/Accessibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,oBAAoB,EAAsB,MAAM,aAAa,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,6BAA6B,CAAC;AAG3F,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kFAAkF;IAClF,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACvH,kEAAkE;IAClE,QAAQ,IAAI,MAAM,CAAC;CACtB;AAqDD;;;GAGG;AACH,qBAAa,aAAa;IAgBlB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgG;IACtH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,gFAAgF;IAChF,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,IAAI,CAAiF;IAC7F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;gBAGjD,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,oBAAoB;IAsBlD,OAAO,IAAI,IAAI;IAyBf,kEAAkE;IAClE,aAAa,IAAI,IAAI;IAWrB,OAAO,CAAC,IAAI;IAyCZ,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,QAAQ;IAShB,kGAAkG;IAClG,OAAO,CAAC,SAAS;IAejB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAkBxB;IAEF,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAIF,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAa5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAmB5B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAa1B;IAEF,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAgCxB;IAIF,OAAO,CAAC,aAAa;IA2ErB,OAAO,CAAC,cAAc;CAOzB"}
1
+ {"version":3,"file":"Accessibility.d.ts","sourceRoot":"","sources":["../../../src/plugins/accessibility/Accessibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,oBAAoB,EAAsB,MAAM,aAAa,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,6BAA6B,CAAC;AAG3F,MAAM,WAAW,0BAA0B;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kFAAkF;IAClF,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACvH,kEAAkE;IAClE,QAAQ,IAAI,MAAM,CAAC;IACnB,kDAAkD;IAClD,cAAc,CAAC,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAqDD;;;GAGG;AACH,qBAAa,aAAa;IAgBlB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgG;IACtH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,gFAAgF;IAChF,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,IAAI,CAAiF;IAC7F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;gBAGjD,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,oBAAoB;IAsBlD,OAAO,IAAI,IAAI;IAyBf,kEAAkE;IAClE,aAAa,IAAI,IAAI;IAWrB,OAAO,CAAC,IAAI;IAyCZ,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,QAAQ;IAShB,kGAAkG;IAClG,OAAO,CAAC,SAAS;IAejB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAkBxB;IAEF,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAIF,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAa5B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAmB5B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAa1B;IAEF,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAgCxB;IAIF,OAAO,CAAC,aAAa;IA6ErB,OAAO,CAAC,cAAc;CAOzB"}
@@ -32,6 +32,8 @@ export interface AdsPlayerContext {
32
32
  surface?: AdSurfaceGuardContext;
33
33
  /** Ses reklamında IMA'nın göstereceği görsel (options.audio.adPoster) — mutlak URL. Yoksa player'ın kendi sahnesi görünür. */
34
34
  audioPoster?: string;
35
+ /** Eklentilerin `ads.transformTag` dönüşümleri. */
36
+ transformTag?(url: string, type: 'preroll' | 'midroll' | 'postroll'): Promise<string>;
35
37
  }
36
38
  /** Google IMA SDK ile doğrudan konuşan reklam çekirdeği (preroll/midroll/postroll, VMAP, retry, Prebid, SCTE-35). */
37
39
  export declare class AdsController {
@@ -1 +1 @@
1
- {"version":3,"file":"AdsController.d.ts","sourceRoot":"","sources":["../../../src/plugins/ads/AdsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdsController.d.ts","sourceRoot":"","sources":["../../../src/plugins/ads/AdsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { HopeAnalyticsOptions, HopeQoeMetrics } from '../../types';
2
+ export interface AnalyticsPlayerContext {
3
+ hostEl: HTMLElement;
4
+ videoEl: HTMLVideoElement;
5
+ currentSrc(): string | null;
6
+ isAdActive(): boolean;
7
+ currentLevel(): {
8
+ height: number;
9
+ bitrate: number | null;
10
+ } | null;
11
+ engine(): string;
12
+ isFullscreen(): boolean;
13
+ /** `options.id`. */
14
+ playerId(): string | undefined;
15
+ /** Kaynağın oturum kimliği (CMCD ile aynı). */
16
+ sessionId?(): string;
17
+ }
18
+ export declare class QoeTracker {
19
+ private readonly ctx;
20
+ private readonly options;
21
+ private sessionId;
22
+ private sessionStart;
23
+ private queue;
24
+ private m;
25
+ private playIntentAt;
26
+ private started;
27
+ private lastPos;
28
+ private seeking;
29
+ private stallAt;
30
+ private adStartAt;
31
+ private volumeTimer;
32
+ private lastVolumeKey;
33
+ private fullscreen;
34
+ private pip;
35
+ private bitrateTime;
36
+ private bitrateSum;
37
+ private lastLevelKey;
38
+ private milestones;
39
+ private timer;
40
+ private srcAtStart;
41
+ constructor(ctx: AnalyticsPlayerContext, options: HopeAnalyticsOptions);
42
+ get metrics(): HopeQoeMetrics;
43
+ destroy(): void;
44
+ private readonly onLoadStart;
45
+ private readonly onPlay;
46
+ private readonly onPlaying;
47
+ private readonly onPause;
48
+ private readonly onWaiting;
49
+ private endStall;
50
+ private readonly onSeeking;
51
+ private readonly onSeeked;
52
+ private readonly onTimeUpdate;
53
+ private checkLevel;
54
+ private readonly onEnded;
55
+ private readonly onError;
56
+ private readonly onPlayerError;
57
+ private readonly onAdStart;
58
+ private readonly onVolume;
59
+ private readonly onFullscreen;
60
+ private readonly onPip;
61
+ private readonly onAdEnd;
62
+ private readonly onInterval;
63
+ private readonly onPageHide;
64
+ private readonly onVisibility;
65
+ private track;
66
+ private endSession;
67
+ private flush;
68
+ private ga4;
69
+ private snapshot;
70
+ }
71
+ //# sourceMappingURL=QoeTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QoeTracker.d.ts","sourceRoot":"","sources":["../../../src/plugins/analytics/QoeTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8C,oBAAoB,EAAwB,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1I,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,IAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,IAAI,OAAO,CAAC;IACtB,YAAY,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,MAAM,IAAI,MAAM,CAAC;IACjB,YAAY,IAAI,OAAO,CAAC;IACxB,oBAAoB;IACpB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC;IAC/B,+CAA+C;IAC/C,SAAS,CAAC,IAAI,MAAM,CAAC;CACxB;AAsBD,qBAAa,UAAU;IAuBf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAvB5B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,CAAC,CAAkC;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,UAAU,CAAuB;gBAGpB,GAAG,EAAE,sBAAsB,EAC3B,OAAO,EAAE,oBAAoB;IA6BlD,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,OAAO,IAAI,IAAI;IA6Bf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAwB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOrB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAQxB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIxB;IAEF,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGvB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CA6B3B;IAEF,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAM5B;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKxB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAiBvB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAM3B;IAEF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAOpB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAIzB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IAEtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;IAIF,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,KAAK;IAgCb,OAAO,CAAC,GAAG;IAyBX,OAAO,CAAC,QAAQ;CAenB"}
@@ -0,0 +1,6 @@
1
+ import { QoeTracker, type AnalyticsPlayerContext } from './QoeTracker';
2
+ import type { HopeAnalyticsOptions } from '../../types';
3
+ export declare function installAnalytics(ctx: AnalyticsPlayerContext, options: HopeAnalyticsOptions): QoeTracker;
4
+ export { QoeTracker };
5
+ export type { AnalyticsPlayerContext };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAEvG;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -9,6 +9,8 @@ export interface PlaylistPlayerContext {
9
9
  setPoster(url: string): void;
10
10
  /** AdsController varsa retry/VMAP durumunu sıfırlayıp item'ın (varsa) kendi adTagPreroll'üyle yeniden reklam ister — yoksa no-op. */
11
11
  requestFreshAd(prerollTag?: string): void;
12
+ /** Postroll sürüyorsa sonraki öğe `hp:adend`'i bekler. */
13
+ isAdActive?(): boolean;
12
14
  i18n: HopeLocaleStrings;
13
15
  }
14
16
  /** Tek player üzerinde sıralı oynatma listesi (startMode, loop, hata fallback zinciri). */
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistRunner.d.ts","sourceRoot":"","sources":["../../../src/plugins/playlist/PlaylistRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,iEAAiE;IACjE,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qIAAqI;IACrI,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAqBD,2FAA2F;AAC3F,qBAAa,cAAc;IA0BnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IA1B/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmE;IAC3F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IAEvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,sBAAsB,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAOjB;gBAGmB,GAAG,EAAE,qBAAqB,EAC1B,UAAU,EAAE,eAAe;IAahD,OAAO,CAAC,IAAI;IAcZ,aAAa,IAAI,IAAI;IAUrB,OAAO,IAAI,IAAI;IAWf,KAAK,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAS1C,IAAI,IAAI,IAAI;IAYZ,IAAI,IAAI,IAAI;IASZ,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,OAAO;IAMnB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAStB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAQtB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;YAIY,WAAW;YAgDX,cAAc;IAyB5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,OAAO;IA+Ef,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;CAMrB"}
1
+ {"version":3,"file":"PlaylistRunner.d.ts","sourceRoot":"","sources":["../../../src/plugins/playlist/PlaylistRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,iEAAiE;IACjE,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qIAAqI;IACrI,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,0DAA0D;IAC1D,UAAU,CAAC,IAAI,OAAO,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAqBD,2FAA2F;AAC3F,qBAAa,cAAc;IA0BnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IA1B/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmE;IAC3F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IAEvC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,sBAAsB,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAOjB;gBAGmB,GAAG,EAAE,qBAAqB,EAC1B,UAAU,EAAE,eAAe;IAahD,OAAO,CAAC,IAAI;IAcZ,aAAa,IAAI,IAAI;IAUrB,OAAO,IAAI,IAAI;IAWf,KAAK,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI;IAS1C,IAAI,IAAI,IAAI;IAYZ,IAAI,IAAI,IAAI;IASZ,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,OAAO;IAMnB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAkBtB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAQtB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;YAIY,WAAW;YAgDX,cAAc;IAyB5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,OAAO;IA+Ef,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;CAMrB"}
@@ -1,6 +1,8 @@
1
1
  import { SkipSegments, type SkipSegmentsPlayerContext } from './SkipSegments';
2
2
  import type { SkipSegment } from '../../types';
3
3
  export declare function installSkipSegments(ctx: SkipSegmentsPlayerContext, segments: SkipSegment[]): SkipSegments;
4
+ /** "İntroyu atla", herkese açık eklenti API'si üzerinden. */
5
+ export declare const skipSegmentsPlugin: import("../..").HopePlugin<SkipSegment[]>;
4
6
  export { SkipSegments };
5
7
  export type { SkipSegmentsPlayerContext };
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-segments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,YAAY,CAEzG;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/skip-segments/index.ts"],"names":[],"mappings":"AAAA,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,CAEzG;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,2CAiB7B,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,yBAAyB,EAAE,CAAC"}