react-native-theoplayer 9.3.0 → 9.4.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 (138) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/com/theoplayer/media/MediaPlaybackService.kt +7 -11
  4. package/android/src/main/java/com/theoplayer/presentation/PipConfig.kt +7 -0
  5. package/android/src/main/java/com/theoplayer/presentation/PipConfigAdapter.kt +7 -1
  6. package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +1 -1
  7. package/android/src/main/java/com/theoplayer/track/TextTrackStyleAdapter.kt +8 -0
  8. package/app.plugin.js +2 -46
  9. package/lib/commonjs/api/backgroundAudio/BackgroundAudioConfiguration.js.map +1 -1
  10. package/lib/commonjs/api/cache/CachingTaskParameters.js +1 -2
  11. package/lib/commonjs/api/cache/CachingTaskParameters.js.map +1 -1
  12. package/lib/commonjs/api/source/SourceDescription.js +1 -2
  13. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  14. package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
  15. package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js.map +1 -1
  16. package/lib/commonjs/api/track/TextTrackStyle.js.map +1 -1
  17. package/lib/commonjs/manifest.json +1 -1
  18. package/lib/commonjs/plugins/expo/withTHEOplayer.js +13 -0
  19. package/lib/commonjs/plugins/expo/withTHEOplayer.js.map +1 -0
  20. package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js +57 -0
  21. package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js.map +1 -0
  22. package/lib/commonjs/plugins/typedoc-platform-icons/package-lock.json +237 -0
  23. package/lib/commonjs/plugins/typedoc-platform-icons/package.json +20 -0
  24. package/lib/commonjs/plugins/typedoc-platform-icons/src/index.js +96 -0
  25. package/lib/commonjs/plugins/typedoc-platform-icons/src/index.js.map +1 -0
  26. package/lib/commonjs/plugins/typedoc-platform-icons/tsconfig.json +24 -0
  27. package/lib/module/api/backgroundAudio/BackgroundAudioConfiguration.js.map +1 -1
  28. package/lib/module/api/cache/CachingTaskParameters.js +1 -2
  29. package/lib/module/api/cache/CachingTaskParameters.js.map +1 -1
  30. package/lib/module/api/source/SourceDescription.js +1 -2
  31. package/lib/module/api/source/SourceDescription.js.map +1 -1
  32. package/lib/module/api/source/ads/Ads.js.map +1 -1
  33. package/lib/module/api/source/cmcd/CmcdConfiguration.js.map +1 -1
  34. package/lib/module/api/track/TextTrackStyle.js.map +1 -1
  35. package/lib/module/manifest.json +1 -1
  36. package/lib/module/plugins/expo/withTHEOplayer.js +9 -0
  37. package/lib/module/plugins/expo/withTHEOplayer.js.map +1 -0
  38. package/lib/module/plugins/expo/withTHEOplayerAndroid.js +52 -0
  39. package/lib/module/plugins/expo/withTHEOplayerAndroid.js.map +1 -0
  40. package/lib/module/plugins/typedoc-platform-icons/package-lock.json +237 -0
  41. package/lib/module/plugins/typedoc-platform-icons/package.json +20 -0
  42. package/lib/module/plugins/typedoc-platform-icons/src/index.js +92 -0
  43. package/lib/module/plugins/typedoc-platform-icons/src/index.js.map +1 -0
  44. package/lib/module/plugins/typedoc-platform-icons/tsconfig.json +24 -0
  45. package/lib/typescript/api/THEOplayerView.d.ts +1 -2
  46. package/lib/typescript/api/THEOplayerView.d.ts.map +1 -1
  47. package/lib/typescript/api/abr/ABRConfiguration.d.ts +8 -12
  48. package/lib/typescript/api/abr/ABRConfiguration.d.ts.map +1 -1
  49. package/lib/typescript/api/ads/AdsConfiguration.d.ts +5 -5
  50. package/lib/typescript/api/ads/AdsConfiguration.d.ts.map +1 -1
  51. package/lib/typescript/api/ads/GoogleImaAd.d.ts +2 -4
  52. package/lib/typescript/api/ads/GoogleImaAd.d.ts.map +1 -1
  53. package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts +4 -1
  54. package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts.map +1 -1
  55. package/lib/typescript/api/ads/Omid.d.ts +1 -0
  56. package/lib/typescript/api/ads/Omid.d.ts.map +1 -1
  57. package/lib/typescript/api/backgroundAudio/BackgroundAudioConfiguration.d.ts +4 -2
  58. package/lib/typescript/api/backgroundAudio/BackgroundAudioConfiguration.d.ts.map +1 -1
  59. package/lib/typescript/api/cache/CachingTask.d.ts +2 -1
  60. package/lib/typescript/api/cache/CachingTask.d.ts.map +1 -1
  61. package/lib/typescript/api/cache/CachingTaskParameters.d.ts +10 -9
  62. package/lib/typescript/api/cache/CachingTaskParameters.d.ts.map +1 -1
  63. package/lib/typescript/api/config/PlayerConfiguration.d.ts +9 -11
  64. package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
  65. package/lib/typescript/api/event/AdEvent.d.ts +4 -8
  66. package/lib/typescript/api/event/AdEvent.d.ts.map +1 -1
  67. package/lib/typescript/api/event/PlayerEvent.d.ts +1 -2
  68. package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
  69. package/lib/typescript/api/media/MediaControlConfiguration.d.ts +2 -4
  70. package/lib/typescript/api/media/MediaControlConfiguration.d.ts.map +1 -1
  71. package/lib/typescript/api/millicast/MillicastConnectOptions.d.ts +4 -0
  72. package/lib/typescript/api/millicast/MillicastConnectOptions.d.ts.map +1 -1
  73. package/lib/typescript/api/pip/PiPConfiguration.d.ts +10 -1
  74. package/lib/typescript/api/pip/PiPConfiguration.d.ts.map +1 -1
  75. package/lib/typescript/api/playback/PlaybackSettingsAPI.d.ts +3 -6
  76. package/lib/typescript/api/playback/PlaybackSettingsAPI.d.ts.map +1 -1
  77. package/lib/typescript/api/player/THEOplayer.d.ts +5 -9
  78. package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
  79. package/lib/typescript/api/source/SourceDescription.d.ts +12 -27
  80. package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
  81. package/lib/typescript/api/source/ads/Ads.d.ts +0 -1
  82. package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
  83. package/lib/typescript/api/source/ads/TheoAdDescription.d.ts +3 -3
  84. package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +2 -1
  85. package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts.map +1 -1
  86. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts +5 -10
  87. package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts.map +1 -1
  88. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +10 -16
  89. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts.map +1 -1
  90. package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts +0 -3
  91. package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts.map +1 -1
  92. package/lib/typescript/api/theoads/TheoAdsAPI.d.ts +1 -2
  93. package/lib/typescript/api/theoads/TheoAdsAPI.d.ts.map +1 -1
  94. package/lib/typescript/api/theolive/TheoLiveConfiguration.d.ts +4 -8
  95. package/lib/typescript/api/theolive/TheoLiveConfiguration.d.ts.map +1 -1
  96. package/lib/typescript/api/track/TextTrackStyle.d.ts +11 -9
  97. package/lib/typescript/api/track/TextTrackStyle.d.ts.map +1 -1
  98. package/lib/typescript/plugins/expo/withTHEOplayer.d.ts +4 -0
  99. package/lib/typescript/plugins/expo/withTHEOplayer.d.ts.map +1 -0
  100. package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts +8 -0
  101. package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts.map +1 -0
  102. package/lib/typescript/plugins/typedoc-platform-icons/src/index.d.ts +3 -0
  103. package/lib/typescript/plugins/typedoc-platform-icons/src/index.d.ts.map +1 -0
  104. package/package.json +3 -3
  105. package/src/api/THEOplayerView.ts +1 -2
  106. package/src/api/abr/ABRConfiguration.ts +8 -12
  107. package/src/api/ads/AdsConfiguration.ts +5 -5
  108. package/src/api/ads/GoogleImaAd.ts +2 -4
  109. package/src/api/ads/GoogleImaConfiguration.ts +6 -3
  110. package/src/api/ads/Omid.ts +1 -0
  111. package/src/api/backgroundAudio/BackgroundAudioConfiguration.ts +4 -2
  112. package/src/api/cache/CachingTask.ts +2 -1
  113. package/src/api/cache/CachingTaskParameters.ts +10 -9
  114. package/src/api/config/PlayerConfiguration.ts +9 -11
  115. package/src/api/event/AdEvent.ts +4 -8
  116. package/src/api/event/PlayerEvent.ts +1 -2
  117. package/src/api/media/MediaControlConfiguration.ts +2 -4
  118. package/src/api/millicast/MillicastConnectOptions.ts +5 -1
  119. package/src/api/pip/PiPConfiguration.ts +11 -1
  120. package/src/api/playback/PlaybackSettingsAPI.ts +3 -6
  121. package/src/api/player/THEOplayer.ts +5 -9
  122. package/src/api/source/SourceDescription.ts +12 -27
  123. package/src/api/source/ads/Ads.ts +0 -1
  124. package/src/api/source/ads/TheoAdDescription.ts +3 -3
  125. package/src/api/source/ads/ssai/GoogleDAIConfiguration.ts +2 -1
  126. package/src/api/source/cmcd/CmcdConfiguration.ts +5 -10
  127. package/src/api/source/dash/DashPlaybackConfiguration.ts +10 -16
  128. package/src/api/source/hls/HlsPlaybackConfiguration.ts +0 -3
  129. package/src/api/theoads/TheoAdsAPI.ts +1 -2
  130. package/src/api/theolive/TheoLiveConfiguration.ts +4 -8
  131. package/src/api/track/TextTrackStyle.ts +11 -9
  132. package/src/manifest.json +1 -1
  133. package/src/plugins/expo/withTHEOplayer.ts +9 -0
  134. package/src/plugins/expo/withTHEOplayerAndroid.ts +58 -0
  135. package/src/plugins/typedoc-platform-icons/package-lock.json +237 -0
  136. package/src/plugins/typedoc-platform-icons/package.json +20 -0
  137. package/src/plugins/typedoc-platform-icons/src/index.tsx +90 -0
  138. package/src/plugins/typedoc-platform-icons/tsconfig.json +24 -0
@@ -6,16 +6,14 @@ export interface CmcdConfiguration {
6
6
  /**
7
7
  * The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.
8
8
  *
9
- * @remarks
10
- * Web only
9
+ * @platform web
11
10
  */
12
11
  contentID?: string;
13
12
 
14
13
  /**
15
14
  * The session ID parameter which should be passed as a CMCD value. If left empty, a UUIDv4 will be generated when applying the configuration.
16
15
  *
17
- * @remarks
18
- * Web only
16
+ * @platform web
19
17
  */
20
18
  sessionID?: string;
21
19
 
@@ -23,8 +21,7 @@ export interface CmcdConfiguration {
23
21
  * A flag to indicate if request IDs should be sent or not.
24
22
  * When set to a truthy value, a UUIDv4 will be sent as a request id (`rid`) with every request to allow for request tracing.
25
23
  *
26
- * @remarks
27
- * Web only
24
+ * @platform web
28
25
  */
29
26
  sendRequestID?: boolean;
30
27
 
@@ -32,8 +29,7 @@ export interface CmcdConfiguration {
32
29
  * The target URI where client data is to be delivered in case the {@link transmissionMode} is set
33
30
  * to {@link CmcdTransmissionMode.JSON_OBJECT}.
34
31
  *
35
- * @remarks
36
- * Web only
32
+ * @platform web
37
33
  */
38
34
  jsonObjectTargetURI?: string;
39
35
 
@@ -42,8 +38,7 @@ export interface CmcdConfiguration {
42
38
  * Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future
43
39
  * revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
44
40
  *
45
- * @remarks
46
- * Web only
41
+ * @platform web
47
42
  */
48
43
  customKeys?: {
49
44
  [key: string]: string | number | boolean;
@@ -15,17 +15,13 @@ export type SeamlessPeriodSwitchStrategy = 'auto' | 'always' | 'never';
15
15
  /**
16
16
  * Represents a configuration for controlling playback of an MPEG-DASH stream.
17
17
  *
18
- * @remarks
19
- * <br/> - Available since v2.79.0.
20
- *
21
18
  * @public
22
19
  */
23
20
  export interface DashPlaybackConfiguration {
24
21
  /**
25
22
  * Whether to seamlessly switch between DASH periods.
26
23
  *
27
- * @remarks
28
- * <br/> - Available on Web only.
24
+ * @platform web
29
25
  *
30
26
  * The player supports two strategies for handling a switch between two periods in an MPEG-DASH stream:
31
27
  * <br/> - <strong>Seamless</strong>: Once the player is done buffering the current period, it immediately starts buffering the next period.
@@ -49,9 +45,9 @@ export interface DashPlaybackConfiguration {
49
45
  * (Experimental) Whether the timescales of the media data need to be shifted,
50
46
  * in order to work around platform-specific issues on certain smart TV platforms.
51
47
  *
48
+ * @platform android
49
+ *
52
50
  * @remarks
53
- * <br/> - Available since v4.1.0.
54
- * <br/> - Available on Web only.
55
51
  * <br/> - On certain smart TV platforms (such as Tizen 2), playback issues may arise when
56
52
  * the timescale of the media data changes across periods or discontinuities.
57
53
  * In that case, the player may need to shift all the timescales first,
@@ -66,9 +62,9 @@ export interface DashPlaybackConfiguration {
66
62
  /**
67
63
  * (Experimental) The desired timescale to which the media data should be shifted.
68
64
  *
65
+ * @platform web
66
+ *
69
67
  * @remarks
70
- * <br/> - Available since v4.11.0.
71
- * <br/> - Available on Web only.
72
68
  * <br/> - When specified, if the player decides to shift the timescale (see {@link DashPlaybackConfiguration.needsTimescaleShifting}), the timescale will be set to the
73
69
  * given desired timescale.
74
70
  * <br/> - When not specified, if the player decides to shift timescale, the player will decide the timescale to which it should shift.
@@ -82,8 +78,7 @@ export interface DashPlaybackConfiguration {
82
78
  *
83
79
  * @internal
84
80
  *
85
- * @remarks
86
- * <br/> - Available on Web only.
81
+ * @platform web
87
82
  */
88
83
  forceSeekToSynchronize?: boolean;
89
84
 
@@ -91,9 +86,9 @@ export interface DashPlaybackConfiguration {
91
86
  * (Experimental) Force the player to ignore the availability window of individual segments in the MPD,
92
87
  * and instead consider every listed segment to be immediately available.
93
88
  *
89
+ * @platform web,android
90
+ *
94
91
  * @remarks
95
- * <br/> - Available since v5.2.0.
96
- * <br/> - Available on Web and Android.
97
92
  * <br/> - This only applies to livestreams (with `<MPD type="dynamic">`).
98
93
  * <br/> - This only applies to streams that use `<SegmentTimeline>`.
99
94
  */
@@ -102,10 +97,9 @@ export interface DashPlaybackConfiguration {
102
97
  /**
103
98
  * A flag to indicate whether timestamps of segmented WebVTT subtitles are relative to the segment start time.
104
99
  *
105
- * @remarks
106
- * <br/> - Available on Web only.
100
+ * @platform web
107
101
  *
108
- * @defaultValue `true`
102
+ * @defaultValue `true`
109
103
  */
110
104
  segmentRelativeVttTiming?: boolean;
111
105
  }
@@ -23,9 +23,6 @@ export type HlsDiscontinuityAlignment = 'auto' | 'playlist' | 'media';
23
23
  /**
24
24
  * Represents a configuration for controlling playback of an MPEG-DASH stream.
25
25
  *
26
- * @remarks
27
- * <br/> - Available since v2.82.0.
28
- *
29
26
  * @public
30
27
  */
31
28
  export interface HlsPlaybackConfiguration {
@@ -3,8 +3,7 @@ import { Interstitial } from './interstitial/Interstitial';
3
3
  /**
4
4
  * The THEOads API.
5
5
  *
6
- * @remarks
7
- * <br/> - Available since v8.17.0.
6
+ * @since React Native THEOplayer SDK v8.17.0.
8
7
  *
9
8
  * @category THEOads
10
9
  * @public
@@ -7,32 +7,28 @@ export interface TheoLiveConfiguration {
7
7
  /**
8
8
  * An id used to report usage analytics, if not explicitly given a random UUID is used.
9
9
  *
10
- * @remarks
11
- * <br/> - Available on Web and Android only.
10
+ * @platform web,android
12
11
  */
13
12
  readonly externalSessionId?: string;
14
13
 
15
14
  /**
16
15
  * Whether this player should fallback or not when it has a fallback configured.
17
16
  *
18
- * @remarks
19
- * <br/> - Available on Web only.
17
+ * @platform web
20
18
  */
21
19
  readonly fallbackEnabled?: boolean;
22
20
 
23
21
  /**
24
22
  * An optional header that can be passed during discovery.
25
23
  *
26
- * @remarks
27
- * <br/> - Available on Web only.
24
+ * @platform web
28
25
  */
29
26
  readonly discoveryHeader?: string;
30
27
 
31
28
  /**
32
29
  * Whether THEOlive analytics should be disabled or not.
33
30
  *
34
- * @remarks
35
- * <br/> - Available on Android only.
31
+ * @platform android
36
32
  *
37
33
  * @defaultValue `false`
38
34
  */
@@ -15,7 +15,7 @@ export interface TextTrackStyle {
15
15
  * @example
16
16
  * <br/> - `red` will set the color of the text to red.
17
17
  * <br/> - `#ff0000` will set the color of the text to red.
18
- * <br/> - Available on Web only: `rgba(255,0,0,0.5)` will set the color of the text to red, with 50% opacity.
18
+ * <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the color of the text to red, with 50% opacity.
19
19
  */
20
20
  fontColor: string | undefined;
21
21
 
@@ -36,21 +36,22 @@ export interface TextTrackStyle {
36
36
  * @example
37
37
  * <br/> - `red` will set the background color of the text track to red.
38
38
  * <br/> - `#ff0000` will set the background color of the text track to red.
39
- * <br/> - Available on Web only: `rgba(255,0,0,0.5)` will set the background color of the text track to red, with 50% opacity.
39
+ * <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the background color of the text track to red, with 50% opacity.
40
40
  */
41
41
  backgroundColor: string | undefined;
42
42
 
43
43
  /**
44
44
  * The window color for the text track.
45
45
  *
46
+ * @platform web,android
47
+ *
46
48
  * @remarks
47
49
  * <br/> - This targets the area covering the full width of the text track.
48
- * <br/> - Available on Web and Android only.
49
50
  *
50
51
  * @example
51
52
  * <br/> - `red` will set the background color of the window of the text track to red.
52
53
  * <br/> - `#ff0000` will set the background color of the window of the text track to red.
53
- * <br/> - Available on Web only: `rgba(255,0,0,0.5)` will set the background color of the window of the text track to red, with 50% opacity.
54
+ * <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the background color of the window of the text track to red, with 50% opacity.
54
55
  */
55
56
  windowColor: string | undefined;
56
57
 
@@ -60,15 +61,14 @@ export interface TextTrackStyle {
60
61
  * <br/> - `'dropshadow'`
61
62
  * <br/> - `'raised'`
62
63
  * <br/> - `'depressed'`
63
- * <br/> - `'uniform`
64
+ * <br/> - `'uniform'`
64
65
  */
65
66
  edgeStyle: EdgeStyle | undefined;
66
67
 
67
68
  /**
68
69
  * The edge color for the text track.
69
70
  *
70
- * @remarks
71
- * <br/> - Available on Android only.
71
+ * @platform android
72
72
  */
73
73
  edgeColor: string | undefined;
74
74
 
@@ -83,9 +83,10 @@ export interface TextTrackStyle {
83
83
  /**
84
84
  * The bottom margin of the area where subtitles are being rendered.
85
85
  *
86
+ * @platform web,android
87
+ *
86
88
  * @remarks
87
89
  * <br/> - The margin is in number of pixels.
88
- * <br/> - Available on Web only.
89
90
  */
90
91
  marginBottom: number | undefined;
91
92
  /**
@@ -98,10 +99,11 @@ export interface TextTrackStyle {
98
99
  /**
99
100
  * The right margin of the area where subtitles are being rendered.
100
101
  *
102
+ * @platform web,android
103
+ *
101
104
  * @remarks
102
105
  * <br/> - The margin is in number of pixels.
103
106
  * <br/> - Useful for pushing the subtitles left, so they don't overlap with the UI.
104
- * <br/> - Available on Web only.
105
107
  */
106
108
  marginRight: number | undefined;
107
109
  }
package/src/manifest.json CHANGED
@@ -1 +1 @@
1
- {"version":"9.3.0","buildDate":"2025-06-02T11:43:22.126Z"}
1
+ {"version":"9.4.0","buildDate":"2025-06-12T09:31:27.640Z"}
@@ -0,0 +1,9 @@
1
+ import { ConfigPlugin } from '@expo/config-plugins';
2
+ import { withAndroidTHEOplayer } from './withTHEOplayerAndroid';
3
+
4
+ const withTHEOplayerAndroidWrapper: ConfigPlugin = (config, props: any) => {
5
+ // Apply Android modifications
6
+ return withAndroidTHEOplayer(config, props);
7
+ };
8
+
9
+ export default withTHEOplayerAndroidWrapper;
@@ -0,0 +1,58 @@
1
+ import { ConfigPlugin, withProjectBuildGradle, withGradleProperties } from '@expo/config-plugins';
2
+ import { PropertiesItem } from '@expo/config-plugins/build/android/Properties';
3
+
4
+ type Extension = 'ima' | 'dai' | 'cast' | 'theoads' | 'millicast';
5
+
6
+ interface THEOplayerPluginProps {
7
+ extensions?: Extension[];
8
+ }
9
+
10
+ function mapAndroidExtensionKey(ext: Extension): string | undefined {
11
+ switch (ext) {
12
+ case 'ima':
13
+ return 'THEOplayer_extensionGoogleIMA';
14
+ case 'dai':
15
+ return 'THEOplayer_extensionGoogleDAI';
16
+ case 'cast':
17
+ return 'THEOplayer_extensionCast';
18
+ case 'theoads':
19
+ return 'THEOplayer_extensionTHEOads';
20
+ case 'millicast':
21
+ return 'THEOplayer_extensionMillicast';
22
+ default:
23
+ return undefined;
24
+ }
25
+ }
26
+
27
+ const applyAndroidExtensions: ConfigPlugin<THEOplayerPluginProps['extensions']> = (config, extensions) => {
28
+ return withGradleProperties(config, (config) => {
29
+ extensions?.forEach((ext) => {
30
+ const key = mapAndroidExtensionKey(ext);
31
+ if (key) {
32
+ const prop: PropertiesItem = { type: 'property', key, value: 'true' };
33
+ config.modResults.push(prop);
34
+ }
35
+ });
36
+ return config;
37
+ });
38
+ };
39
+
40
+ export const withAndroidTHEOplayer: ConfigPlugin<THEOplayerPluginProps> = (config, props = {}) => {
41
+ const { extensions } = props;
42
+
43
+ // Apply Android extensions
44
+ config = applyAndroidExtensions(config, extensions);
45
+
46
+ // Add THEOplayer and local Maven repos to the project's repositories
47
+ return withProjectBuildGradle(config, (config) => {
48
+ const localMaven = 'maven { url("$rootDir/../node_modules/react-native-theoplayer/android/local") }';
49
+ const THEOplayerMaven = 'maven { url("https://maven.theoplayer.com/releases") }';
50
+
51
+ config.modResults.contents = config.modResults.contents.replace(
52
+ /allprojects\s*\{\s*repositories\s*\{/,
53
+ `$&\n\t\t${localMaven}\n\t\t${THEOplayerMaven}`,
54
+ );
55
+
56
+ return config;
57
+ });
58
+ };
@@ -0,0 +1,237 @@
1
+ {
2
+ "name": "typedoc-platform-icons",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "typedoc-platform-icons",
9
+ "version": "1.0.0",
10
+ "devDependencies": {
11
+ "typedoc": "^0.28.1",
12
+ "typescript": "^5.1.6"
13
+ }
14
+ },
15
+ "node_modules/@gerrit0/mini-shiki": {
16
+ "version": "3.2.1",
17
+ "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.2.1.tgz",
18
+ "integrity": "sha512-HbzRC6MKB6U8kQhczz0APKPIzFHTrcqhaC7es2EXInq1SpjPVnpVSIsBe6hNoLWqqCx1n5VKiPXq6PfXnHZKOQ==",
19
+ "dev": true,
20
+ "license": "MIT",
21
+ "dependencies": {
22
+ "@shikijs/engine-oniguruma": "^3.2.1",
23
+ "@shikijs/types": "^3.2.1",
24
+ "@shikijs/vscode-textmate": "^10.0.2"
25
+ }
26
+ },
27
+ "node_modules/@shikijs/engine-oniguruma": {
28
+ "version": "3.2.1",
29
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.2.1.tgz",
30
+ "integrity": "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==",
31
+ "dev": true,
32
+ "license": "MIT",
33
+ "dependencies": {
34
+ "@shikijs/types": "3.2.1",
35
+ "@shikijs/vscode-textmate": "^10.0.2"
36
+ }
37
+ },
38
+ "node_modules/@shikijs/types": {
39
+ "version": "3.2.1",
40
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.2.1.tgz",
41
+ "integrity": "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==",
42
+ "dev": true,
43
+ "license": "MIT",
44
+ "dependencies": {
45
+ "@shikijs/vscode-textmate": "^10.0.2",
46
+ "@types/hast": "^3.0.4"
47
+ }
48
+ },
49
+ "node_modules/@shikijs/vscode-textmate": {
50
+ "version": "10.0.2",
51
+ "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
52
+ "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
53
+ "dev": true,
54
+ "license": "MIT"
55
+ },
56
+ "node_modules/@types/hast": {
57
+ "version": "3.0.4",
58
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
59
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
60
+ "dev": true,
61
+ "license": "MIT",
62
+ "dependencies": {
63
+ "@types/unist": "*"
64
+ }
65
+ },
66
+ "node_modules/@types/unist": {
67
+ "version": "3.0.3",
68
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
69
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
70
+ "dev": true,
71
+ "license": "MIT"
72
+ },
73
+ "node_modules/argparse": {
74
+ "version": "2.0.1",
75
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
76
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
77
+ "dev": true,
78
+ "license": "Python-2.0"
79
+ },
80
+ "node_modules/balanced-match": {
81
+ "version": "1.0.2",
82
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
83
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
84
+ "dev": true,
85
+ "license": "MIT"
86
+ },
87
+ "node_modules/brace-expansion": {
88
+ "version": "2.0.1",
89
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
90
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
91
+ "dev": true,
92
+ "license": "MIT",
93
+ "dependencies": {
94
+ "balanced-match": "^1.0.0"
95
+ }
96
+ },
97
+ "node_modules/entities": {
98
+ "version": "4.5.0",
99
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
100
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
101
+ "dev": true,
102
+ "license": "BSD-2-Clause",
103
+ "engines": {
104
+ "node": ">=0.12"
105
+ },
106
+ "funding": {
107
+ "url": "https://github.com/fb55/entities?sponsor=1"
108
+ }
109
+ },
110
+ "node_modules/linkify-it": {
111
+ "version": "5.0.0",
112
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
113
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
114
+ "dev": true,
115
+ "license": "MIT",
116
+ "dependencies": {
117
+ "uc.micro": "^2.0.0"
118
+ }
119
+ },
120
+ "node_modules/lunr": {
121
+ "version": "2.3.9",
122
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
123
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
124
+ "dev": true,
125
+ "license": "MIT"
126
+ },
127
+ "node_modules/markdown-it": {
128
+ "version": "14.1.0",
129
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
130
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
131
+ "dev": true,
132
+ "license": "MIT",
133
+ "dependencies": {
134
+ "argparse": "^2.0.1",
135
+ "entities": "^4.4.0",
136
+ "linkify-it": "^5.0.0",
137
+ "mdurl": "^2.0.0",
138
+ "punycode.js": "^2.3.1",
139
+ "uc.micro": "^2.1.0"
140
+ },
141
+ "bin": {
142
+ "markdown-it": "bin/markdown-it.mjs"
143
+ }
144
+ },
145
+ "node_modules/mdurl": {
146
+ "version": "2.0.0",
147
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
148
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
149
+ "dev": true,
150
+ "license": "MIT"
151
+ },
152
+ "node_modules/minimatch": {
153
+ "version": "9.0.5",
154
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
155
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
156
+ "dev": true,
157
+ "license": "ISC",
158
+ "dependencies": {
159
+ "brace-expansion": "^2.0.1"
160
+ },
161
+ "engines": {
162
+ "node": ">=16 || 14 >=14.17"
163
+ },
164
+ "funding": {
165
+ "url": "https://github.com/sponsors/isaacs"
166
+ }
167
+ },
168
+ "node_modules/punycode.js": {
169
+ "version": "2.3.1",
170
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
171
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
172
+ "dev": true,
173
+ "license": "MIT",
174
+ "engines": {
175
+ "node": ">=6"
176
+ }
177
+ },
178
+ "node_modules/typedoc": {
179
+ "version": "0.28.1",
180
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.1.tgz",
181
+ "integrity": "sha512-Mn2VPNMaxoe/hlBiLriG4U55oyAa3Xo+8HbtEwV7F5WEOPXqtxzGuMZhJYHaqFJpajeQ6ZDUC2c990NAtTbdgw==",
182
+ "dev": true,
183
+ "license": "Apache-2.0",
184
+ "dependencies": {
185
+ "@gerrit0/mini-shiki": "^3.2.1",
186
+ "lunr": "^2.3.9",
187
+ "markdown-it": "^14.1.0",
188
+ "minimatch": "^9.0.5",
189
+ "yaml": "^2.7.0 "
190
+ },
191
+ "bin": {
192
+ "typedoc": "bin/typedoc"
193
+ },
194
+ "engines": {
195
+ "node": ">= 18",
196
+ "pnpm": ">= 10"
197
+ },
198
+ "peerDependencies": {
199
+ "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x"
200
+ }
201
+ },
202
+ "node_modules/typescript": {
203
+ "version": "5.8.2",
204
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
205
+ "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
206
+ "dev": true,
207
+ "license": "Apache-2.0",
208
+ "bin": {
209
+ "tsc": "bin/tsc",
210
+ "tsserver": "bin/tsserver"
211
+ },
212
+ "engines": {
213
+ "node": ">=14.17"
214
+ }
215
+ },
216
+ "node_modules/uc.micro": {
217
+ "version": "2.1.0",
218
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
219
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
220
+ "dev": true,
221
+ "license": "MIT"
222
+ },
223
+ "node_modules/yaml": {
224
+ "version": "2.7.0",
225
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz",
226
+ "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==",
227
+ "dev": true,
228
+ "license": "ISC",
229
+ "bin": {
230
+ "yaml": "bin.mjs"
231
+ },
232
+ "engines": {
233
+ "node": ">= 14"
234
+ }
235
+ }
236
+ }
237
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "typedoc-platform-icons",
3
+ "version": "1.0.0",
4
+ "description": "TypeDoc plugin which renders icon tags for iOS, Android and Web",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "build": "tsc"
9
+ },
10
+ "devDependencies": {
11
+ "typedoc": "^0.25.13",
12
+ "typescript": "^5.1.6"
13
+ },
14
+ "files": [
15
+ "dist/plugin.js"
16
+ ],
17
+ "peerDependencies": {
18
+ "typedoc": "0.23.x || 0.24.x || 0.25.x || 0.26.x || 0.27.x || 0.28.x"
19
+ }
20
+ }