@tivio/sdk-react 5.0.1 → 5.0.3-alpha

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,6 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { FunctionComponentElement } from 'react';
3
+ import { GeoPoint } from '@firebase/firestore-types';
3
4
  import { OperatingSystem } from 'detect-browser';
4
5
  import { default as React_2 } from 'react';
5
6
 
@@ -1100,18 +1101,44 @@ export declare type LiveTvChannelSource = SourceBase & {
1100
1101
  };
1101
1102
 
1102
1103
  /**
1104
+ * If value of the field (only 1st level) is undefined it means that it was never saved
1105
+ * and might or might not be present in maxmind service.
1106
+ *
1107
+ * If it is null it means that maxmind does not have data for this field.
1108
+ *
1103
1109
  * @public
1104
1110
  */
1105
- export declare type LocationField = {
1111
+ export declare interface LocationField {
1106
1112
  /**
1107
- * Two-letter uppercase continent code (TODO not sure if this ISO-3166 format or something else, we get these from maxmind service)
1113
+ * Two-letter uppercase continent code (TODO not sure if this ISO-3166 format or something else, we get these from maxmind service).
1108
1114
  */
1109
- continentCode?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA';
1115
+ continentCode?: 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA' | null;
1110
1116
  /**
1111
- * Two-letter uppercase country code according to ISO-3166 format (see https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
1117
+ * Two-letter uppercase country code according to ISO-3166 format (see https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).
1112
1118
  */
1113
- countryIsoCode?: string;
1114
- };
1119
+ countryIsoCode?: string | null;
1120
+ /**
1121
+ *
1122
+ */
1123
+ city?: {
1124
+ /**
1125
+ * Maxmind specific id, works as key for identifying cities
1126
+ * (see https://support.maxmind.com/hc/en-us/articles/4414877149467-IP-Geolocation-Data#h_01FRRNFD5Z5EWNCAXM6SZZ5H2C).
1127
+ */
1128
+ geonameId: number;
1129
+ /**
1130
+ * City name in english (see https://maxmind.github.io/GeoIP2-node/interfaces/CityRecord.html#names).
1131
+ */
1132
+ cityName?: string;
1133
+ } | null;
1134
+ /**
1135
+ * The approximate latitude and longitude of the location associated with the IP address.
1136
+ * This value is not precise and should not be used to identify a particular address or household.
1137
+ *
1138
+ * Source https://maxmind.github.io/GeoIP2-node/interfaces/LocationRecord.html#latitude.
1139
+ */
1140
+ geoPoint?: GeoPoint | null;
1141
+ }
1115
1142
 
1116
1143
  declare interface Logger {
1117
1144
  /** important messages */
@@ -2552,7 +2579,7 @@ export declare type TivioComponents = {
2552
2579
  onEnded?: () => any;
2553
2580
  }>;
2554
2581
  TvApp: React_2.ComponentType<TvAppProps>;
2555
- FeatureSupportCheck: React_2.ComponentType<{}>;
2582
+ FeatureSupportCheck: React_2.ComponentType;
2556
2583
  CustomerScreen: React_2.ComponentType<{
2557
2584
  screenId: string;
2558
2585
  }>;
@@ -2692,6 +2719,7 @@ export declare type TivioHooks = {
2692
2719
  applyInviteCode: (code: string) => void;
2693
2720
  inviteCodeReset: () => void;
2694
2721
  };
2722
+ useChannelSource: UseChannelSource;
2695
2723
  };
2696
2724
 
2697
2725
  /**
@@ -2751,7 +2779,6 @@ export declare type TivioInternalHooks = {
2751
2779
  loading: boolean;
2752
2780
  });
2753
2781
  useTvChannel: UseTvChannel;
2754
- useChannelSource: UseChannelSource;
2755
2782
  useUser: () => {
2756
2783
  user: User | null;
2757
2784
  error: string | null;
@@ -2948,6 +2975,11 @@ export declare type TivioVodSource = SourceBase & StartAndContinuePosition & {
2948
2975
  */
2949
2976
  export declare const TivioWidget: React_2.ForwardRefExoticComponent<Omit<TivioWidgetProps, "ref"> & React_2.RefAttributes<TivioWidgetRef>>;
2950
2977
 
2978
+ /**
2979
+ * @public
2980
+ */
2981
+ export declare const TivioWidgetApp: React_2.ForwardRefExoticComponent<Omit<TivioWidgetProps, "ref"> & React_2.RefAttributes<unknown>>;
2982
+
2951
2983
  /**
2952
2984
  * @public
2953
2985
  */
@@ -2974,6 +3006,7 @@ export declare interface TivioWidgetProps {
2974
3006
  width: number;
2975
3007
  x: number;
2976
3008
  }) => any;
3009
+ navigateFunction?: any;
2977
3010
  }
2978
3011
 
2979
3012
  /**
@@ -3149,6 +3182,16 @@ export declare type UseChannelSource = (tvChannelId: string) => {
3149
3182
  error: Error | null;
3150
3183
  };
3151
3184
 
3185
+ /**
3186
+ * Use channel source
3187
+ * @param tvChannelId
3188
+ * @public
3189
+ */
3190
+ export declare const useChannelSource: (tvChannelId: string) => {
3191
+ source: ChannelSourcePojo | null;
3192
+ error: Error | null;
3193
+ };
3194
+
3152
3195
  /**
3153
3196
  * @public
3154
3197
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tivio/sdk-react",
3
- "version": "5.0.1",
3
+ "version": "5.0.3-alpha",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "source": "src/index.ts",
@@ -13,7 +13,7 @@
13
13
  "build:dev": "cat ./.env.dev > ./.env && yarn build --config=webpack.config.dev.js && yarn typesRollup",
14
14
  "build:prod": "cat ./.env.prod > ./.env && yarn build --config=webpack.config.prod.js && yarn typesRollup",
15
15
  "build:local": "bash ./scripts/build_with_local_bundle.sh && yarn typesRollup",
16
- "release": "ts-node ./scripts/release.ts -p=sdk-react",
16
+ "release": "ts-node ./scripts/release.ts -p=sdk-react -c=README.md",
17
17
  "release:patch": "yarn release -r=patch",
18
18
  "release:minor": "yarn release -r=minor",
19
19
  "release:major": "yarn release -r=major",
@@ -33,7 +33,7 @@
33
33
  "@material-ui/core": "^4.11.2",
34
34
  "@material-ui/icons": "^4.11.2",
35
35
  "@sentry/browser": "^6.1.0",
36
- "@tivio/common": "1.1.103",
36
+ "@tivio/common": "1.1.105",
37
37
  "dayjs": "^1.11.0",
38
38
  "es7-object-polyfill": "^1.0.1",
39
39
  "firebase": "8.10.1",
package/changelog.md DELETED
@@ -1,224 +0,0 @@
1
- # Changelog @tivio/sdk-react
2
-
3
- * 5.0.0
4
- * major: upgrade to React 18, change react and react-dom peer dependencies to 17.x || 18.x
5
- * major: fix typing for useReferralInfo, now correctly showing that `null` can be returned
6
- * major: fix typing for `WebRowProps.onTileClick`, now correctly showing that `null` can be accepted
7
- * minor: add analytics
8
- * minor: add getSourceUrl function to video and tv channel types
9
- * minor: add uri property to tv channel type
10
- * minor: add useChannelSource to hooks
11
-
12
- * v4.5.0
13
- * minor: extend PurchaseEndpointPayload type with purchase previousStatus and newStatus fields
14
-
15
- * v4.4.1
16
- * patch: added waitForTags param in useSearch hook for videos
17
-
18
- * v4.4.0
19
- * minor: PrimaryButton component props type set to any for now
20
- * patch: isPurchasableAsVoucher added to PurchasableMonetization
21
- * patch: voucherPurchase flag added to purchase overlays
22
- * patch: item added to MonetizationsSelectOverlayData
23
- * minor: added hungarian language to `LangCode` enum
24
-
25
- * v4.3.0:
26
- * minor: add GetPurchaseInfoResponse and PurchaseEndpointPayload to exported types
27
- * minor: support for disabling purchase of specified subscriptions (new param in useOrganizationSubscriptions hook)
28
- * minor: more specific PurchasableMonetization type usage instead of Monetization
29
- * minor: monetization property deleted from Video type
30
- * minor: monetization now has originalPrice and promotion properties available
31
- * patch: remove not used OrganizationSubscriptionsContext, **this change requires bundle 3.20.0 or newer**
32
-
33
- * v4.2.0:
34
- * minor: fix useSearch loading type
35
- * patch: added italian language to `LangCode` enum
36
-
37
- * v4.1.0
38
- * patch: added italian language to `LangCode` enum
39
- * minor: fixed spanish language code in `LangCode` enum (`sp` -> `es`)
40
- * minor: other misc type changes
41
-
42
- * v4.0.1
43
- * patch: added setBundleVersion setter to bundle type
44
- * patch: added setStorageManager setter to bundle type
45
- * patch: `Purchase.isPurchased` is deprecated
46
- * patch: fill `useSearch` field `hasNextPage` with proper value
47
-
48
- * v4.0.0
49
- * minor: Types cleanup
50
- * MAJOR: Remove deprecated and unused stuff
51
- * auth
52
- * changePassword
53
- * changeUserPhoto
54
- * removeUserPhoto
55
- * getPurchasedVodsWithInitializedVideos
56
- * initializeUser
57
- * createFreePurchase
58
- * components
59
- * VideoAdBanner
60
- * getters
61
- * getExportedConfig
62
- * getChannelById
63
- * getSectionById
64
- * getWidgetById
65
- * hooks
66
- * useLastVideoByWidgetId
67
- * useScreen
68
- * useFreePurchase
69
- * useWidget
70
- * useChannel
71
- * useSection
72
- * useVideosInSection
73
- * useSectionsInChannel
74
- * useChannelsInWidget
75
- * subscriptions
76
- * subscribeToWidget
77
- * subscribeToChannel
78
- * subscribeToSection
79
- * subscribeToVideosInSection
80
- * subscribeToSectionsInChannel
81
- * subscribeToChannelsInWidget
82
- * subscribeToScreen
83
- ---
84
- _Versions <= v3.7.0 requires core-react-dom bundle < v3.0.0 (because sdk-react used some sdk API deleted in core-react-dom@4.0.0)_
85
-
86
- * v3.7.0
87
- * minor: purchase contains created and updated
88
-
89
- * v3.6.3
90
- * patch: improve README.md
91
-
92
- * v3.6.2
93
- * patch: Fix types
94
-
95
- * v3.6.1
96
- * patch: Fix README
97
-
98
- * v3.6.0
99
- * minor: Update types
100
-
101
- * v3.5.2
102
- * patch: All types are available again.
103
-
104
- * v3.5.1
105
- * patch: remove incorrect dependency (@tivio/types)
106
-
107
- * v3.5.0
108
- * minor: Types change - Video.price and Video.detailedPrice can be null
109
- * minor: Types change - Video.cover is marked as deprecated
110
-
111
- * v3.4.0
112
- * minor: more precise type for errors in usePurchaseRecovery and usePurchaseRecovery
113
- * patch: jsdocs for usePurchaseRecovery and usePurchaseRecovery
114
- * minor: inviteCodeReset in useApplyInviteCode
115
- * minor: Reset forgotten password
116
- * minor: Consolidating monetization logic
117
- * v3.3.2
118
- * patch: Adding new optional parameters (where, orderBy) to useTaggedVideos hook
119
- * v3.3.1
120
- * patch: Fixed types of `setUser`
121
- * v3.3.0
122
- * minor: Add getPlayerCapabilities to getters.
123
- * patch: Added option to log out via `setUser(null)`, requires @tivio/core-react-dom@2.17.9
124
- * v3.2.5
125
- * patch: added recovery flag to QerkoPaymentInfo type
126
- * patch: bundle.types changes - internal.components.WebVideoScreen
127
- * patch: types changes - add new onBack prop to WebPlayerProps
128
- * patch: Refactor useVideo hook, now uses hook from core-react
129
- * v3.2.4
130
- * minor: added useApplyInviteCode
131
- * minor: better errors from useVoucher
132
- * v3.2.3
133
- * minor: added usePurchaseRecovery hook
134
- * patch: deprecated `useLastVideoByWidgetId`
135
- * v3.2.2
136
- * minor: useRowsInScreen, useItemsInRow, useTaggedVideos - hasNextPage and loading added to pagination
137
- * minor: useRowsInScreen, useItemsInRow, useTaggedVideos - implementation moved to remote bundle
138
- * patch: Fixed Tivio startup on Tizen 6
139
- * minor: Added `forceCloudFnResolver` option
140
- * v3.2.1
141
- * patch: fix of @tivio/common version
142
- * v3.2.0
143
- * minor: Added `capabilitiesOptions` for finer configuration of device capabilities
144
- * minor: tag names are returned in correct language (the one from tivio config); language value should be one from enum "LangCode"
145
- * v3.1.3
146
- * patch: Hotfix made sure disabled Tivio does not break React Native
147
- * v3.1.2
148
- * patch: Allow `conf` prop of `TivioProvider` to be `null` or `undefined` in order to turn off Tivio
149
- * v3.1.1
150
- * patch: fixed `setUser()` crash when bundle fails to load
151
- * v3.1.0
152
- * patch: `useAdSegment()` now returns null if no monetization is configured, ad segments are not managed in that situation
153
- * minor: enriched `AdSegment` type from `useAdSegment()`
154
- * minor: Added `setUser()` function for login and logout
155
- * v3.0.0
156
- * minor: Added hook `useWatchWithoutAdsOffer` to trigger purchase dialog to "watch without ads", if available
157
- * patch: fix peerDependency declaration for react, react-dom
158
- * major: TivioProvider requires deviceCapabilities
159
- * major: TivioProvider requires currency
160
- * minor: add voucher support (see usePurchaseSubscription and useTransactionPayment hooks)
161
- * minor: device limit support
162
- * minor: drm (Widevine, PlayReady) support
163
- * minor: watermarking support
164
- * minor: add useSearch hook
165
- * patch: price on video is 0 when purchased
166
- * v2.4.2
167
- * patch: added back changelog
168
- * v2.4.1
169
- * patch: improved doc about player wrapper
170
- * v2.4.0
171
- * patch: improved Player wrapper types
172
- * minor: added Tivio DOM events `tivio_key_input_handling_change`, `tivio_context_switch` and `tivio_request_goto`
173
- * patch: added support for remote code on browsers that do not implement [indexedDB API](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)
174
- * patch: added support for browsers that do not implement [indexedDB API](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)
175
- * v2.3.4
176
- * patch: fix of usePurchaseSubscription not reactive
177
- * v2.3.3
178
- * patch: fix of useUser not updating
179
- * v2.3.2
180
- * patch: next app doesn't fail anymore due to "self is not defined"
181
- * v2.3.1
182
- * patch: fix of @tivio/common dependency
183
- * v2.3.0
184
- * minor: add useTaggedVideos that allows to fetch videos with given tags
185
- * minor: add option to fetch tags (on hook useItemsInRow), useVideo always fetching videos tags
186
- * v2.2.1
187
- * patch: disable Sentry when no config is supplied to `TivioProvider`
188
- * v2.2.0
189
- * patch: reduced bundle size
190
- * minor: disable Sentry when no config is supplied to `TivioProvider` or when Tivio is disabled `{ enable: false }`, or when Sentry is disabled via config `{ enableSentry: false }`
191
- * v2.1.5
192
- * patch fix of `useVideosInSection` hook (fetching video's monetizations)
193
- * v2.1.4
194
- * patch: fix re-rendering of `useAd` during non-skippable ads (requires core-react-dom@2.1.9)
195
- * v2.1.3
196
- * patch: fix changelog
197
- * v2.1.2
198
- * patch: Fixed exported types
199
- * v2.1.1
200
- * patch: TivioWidget now correctly reports `false` via `onEnabled` callback when in invalid internal state
201
- * v2.1.0
202
- * patch: fix of useItemsInRow hook
203
- * patch: fix of useScreen hook
204
- * add: useRowsInScreen hook
205
- * v2.0.3
206
- * patch: fix of useItemsInRow hook
207
- * v2.0.2
208
- * patch: screen and row IDs fixed
209
- * `TivioBundle.subscriptions.subscribeToItemsInRow` now accepts user-defined ID via studio.tiv.io
210
- * `TivioBundle.subscriptions.subscribeToScreen` now accepts user-defined ID via studio.tiv.io
211
- * `Screen` and `Row` types returned by `useScreen()` return their user-defined IDs (`.id`) correctly
212
- * v2.0.1
213
- * no changes
214
- * v2.0.0
215
- * major: video.channelId can now be `string | null` used to be `string`
216
- * minor: added data API and hooks for screens (screens, rows of screen and row items)
217
- * hooks: `useScreen()`, `useItemsInRow()`
218
- * api: `TivioBundle.subscriptions.subscribeToScreen`, `TivioBundle.subscriptions.subscribeToItemsInRow`
219
- * v1.3.6
220
- * ?
221
- * v1.3.5
222
- * minor: added WebPlayer props (canReplay, showMarkers, customShortcuts, enableKeyboardShortcuts, source.poster)
223
- * v1.3.4
224
- * ...