rn-onboarding-analytics 1.7.2 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,10 +25,11 @@ A private AI app that runs entirely offline on your device, with no data sent to
25
25
  npm install rn-onboarding-analytics
26
26
  ```
27
27
 
28
- The library requires these dependencies for animations and safe area context:
28
+ The library requires these dependencies :
29
29
 
30
30
  ```sh
31
31
  npm install react-native-reanimated react-native-safe-area-context expo-constants expo-localization react-native-iap
32
+
32
33
  ```
33
34
 
34
35
  ```
@@ -515,12 +516,6 @@ A private AI app that runs entirely offline on your device, with no data sent to
515
516
  npm install rn-onboarding-analytics
516
517
  ```
517
518
 
518
- The library requires these dependencies for animations and safe area context:
519
-
520
- ```sh
521
- npm install react-native-reanimated react-native-safe-area-context
522
- ```
523
-
524
519
  Optionally for image support, install one of:
525
520
 
526
521
  ```sh
@@ -6,6 +6,7 @@ import { initConnection, getSubscriptions, getProducts, requestSubscription, req
6
6
  import { useTheme } from "../../utils/ThemeContext.js";
7
7
  import PrimaryButton from "../buttons/PrimaryButton.js";
8
8
  import { fontSizes, lineHeights } from "../../utils/fontStyles.js";
9
+ import Skeleton from "./Skeleton.js";
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const {
11
12
  height: screenHeight
@@ -54,8 +55,13 @@ function OnboardingPaywallPanel({
54
55
  }, [products, plans]);
55
56
  const [selectedPlanId, setSelectedPlanId] = useState(initialPlanId);
56
57
  const [iapProducts, setIapProducts] = useState([]);
58
+
59
+ // Determine if we need to fetch data
60
+ const shouldFetch = !!(products?.length || subscriptionSkus);
61
+ const [isLoading, setIsLoading] = useState(shouldFetch);
57
62
  useEffect(() => {
58
63
  let isMounted = true;
64
+ let timeoutId;
59
65
  const fetchIapProducts = async skus => {
60
66
  try {
61
67
  await initConnection();
@@ -72,43 +78,59 @@ function OnboardingPaywallPanel({
72
78
  const allItems = [...subs, ...prods];
73
79
  const uniqueItems = Array.from(new Map(allItems.map(item => [item.productId, item])).values());
74
80
  setIapProducts(uniqueItems);
81
+ setIsLoading(false);
75
82
  }
76
83
  } catch (err) {
77
84
  console.warn('IAP Error:', err);
85
+ if (isMounted) setIsLoading(false);
78
86
  }
79
87
  };
80
- if (products && products.length > 0) {
81
- // Collect all SKUs from all products for current platform
82
- const allSkus = products.flatMap(p => {
83
- if (Array.isArray(p.SKus)) {
84
- return p.SKus;
88
+ if (shouldFetch) {
89
+ // Set 120s timeout
90
+ timeoutId = setTimeout(() => {
91
+ if (isMounted) {
92
+ console.warn('IAP Fetch Timeout (120s) - showing partial data');
93
+ setIsLoading(false);
85
94
  }
86
- const skusObj = p.SKus;
95
+ }, 120000);
96
+
97
+ // Collect all SKUs from all products for current platform
98
+ let allSkus = [];
99
+ if (products && products.length > 0) {
100
+ allSkus = products.flatMap(p => {
101
+ if (Array.isArray(p.SKus)) {
102
+ return p.SKus;
103
+ }
104
+ const skusObj = p.SKus;
105
+ const skus = Platform.select({
106
+ ios: skusObj.ios,
107
+ android: skusObj.android
108
+ });
109
+ return skus || [];
110
+ });
111
+ } else if (subscriptionSkus) {
87
112
  const skus = Platform.select({
88
- ios: skusObj.ios,
89
- android: skusObj.android
113
+ ios: subscriptionSkus.ios,
114
+ android: subscriptionSkus.android
90
115
  });
91
- return skus || [];
92
- });
116
+ if (skus) allSkus = skus;
117
+ }
93
118
  if (allSkus.length > 0) {
94
119
  fetchIapProducts(allSkus);
120
+ } else {
121
+ setIsLoading(false);
95
122
  }
96
- } else if (subscriptionSkus) {
97
- const skus = Platform.select({
98
- ios: subscriptionSkus.ios,
99
- android: subscriptionSkus.android
100
- });
101
- if (skus && skus.length > 0) {
102
- fetchIapProducts(skus);
103
- }
123
+ } else {
124
+ setIsLoading(false);
104
125
  }
105
126
  return () => {
106
127
  isMounted = false;
107
- if (subscriptionSkus || products) {
128
+ clearTimeout(timeoutId);
129
+ if (shouldFetch) {
108
130
  endConnection();
109
131
  }
110
132
  };
111
- }, [subscriptionSkus, products]);
133
+ }, [subscriptionSkus, products, shouldFetch]);
112
134
  const displayPlans = useMemo(() => {
113
135
  // New Configuration Mode
114
136
  if (products && products.length > 0) {
@@ -182,6 +204,21 @@ function OnboardingPaywallPanel({
182
204
  }, [products, plans, iapProducts]);
183
205
  const selectedPlan = displayPlans.find(p => p.id === selectedPlanId);
184
206
  const renderTitle = () => {
207
+ if (isLoading) {
208
+ return /*#__PURE__*/_jsx(View, {
209
+ style: {
210
+ alignItems: 'center',
211
+ marginBottom: 8
212
+ },
213
+ children: /*#__PURE__*/_jsx(Skeleton, {
214
+ width: 200,
215
+ height: 32,
216
+ style: {
217
+ borderRadius: 8
218
+ }
219
+ })
220
+ });
221
+ }
185
222
  if (!title) return null;
186
223
  if (typeof title === 'string') {
187
224
  return /*#__PURE__*/_jsx(Text, {
@@ -192,6 +229,28 @@ function OnboardingPaywallPanel({
192
229
  return title;
193
230
  };
194
231
  const renderSubtitle = () => {
232
+ if (isLoading) {
233
+ return /*#__PURE__*/_jsxs(View, {
234
+ style: {
235
+ alignItems: 'center',
236
+ marginTop: 8
237
+ },
238
+ children: [/*#__PURE__*/_jsx(Skeleton, {
239
+ width: 280,
240
+ height: 16,
241
+ style: {
242
+ borderRadius: 4,
243
+ marginBottom: 4
244
+ }
245
+ }), /*#__PURE__*/_jsx(Skeleton, {
246
+ width: 180,
247
+ height: 16,
248
+ style: {
249
+ borderRadius: 4
250
+ }
251
+ })]
252
+ });
253
+ }
195
254
  if (!subtitle) return null;
196
255
  if (typeof subtitle === 'string') {
197
256
  return /*#__PURE__*/_jsx(Text, {
@@ -202,6 +261,28 @@ function OnboardingPaywallPanel({
202
261
  return subtitle;
203
262
  };
204
263
  const renderFeatures = () => {
264
+ if (isLoading) {
265
+ return /*#__PURE__*/_jsx(View, {
266
+ style: styles.featuresContainer,
267
+ children: [1, 2, 3].map(i => /*#__PURE__*/_jsxs(View, {
268
+ style: styles.featureRow,
269
+ children: [/*#__PURE__*/_jsx(Skeleton, {
270
+ width: 20,
271
+ height: 20,
272
+ style: {
273
+ borderRadius: 10,
274
+ marginRight: 12
275
+ }
276
+ }), /*#__PURE__*/_jsx(Skeleton, {
277
+ width: 200,
278
+ height: 16,
279
+ style: {
280
+ borderRadius: 4
281
+ }
282
+ })]
283
+ }, i))
284
+ });
285
+ }
205
286
  if (!selectedPlan?.features || selectedPlan.features.length === 0) return null;
206
287
  return /*#__PURE__*/_jsx(View, {
207
288
  style: styles.featuresContainer,
@@ -217,7 +298,56 @@ function OnboardingPaywallPanel({
217
298
  }, index))
218
299
  });
219
300
  };
301
+ const renderSkeletonPlans = () => {
302
+ return /*#__PURE__*/_jsx(View, {
303
+ style: styles.plansContainer,
304
+ children: [1, 2, 3].map(key => /*#__PURE__*/_jsxs(View, {
305
+ style: [styles.planCard, {
306
+ opacity: 1,
307
+ padding: 16
308
+ }],
309
+ children: [/*#__PURE__*/_jsxs(View, {
310
+ style: {
311
+ flexDirection: 'row',
312
+ alignItems: 'center'
313
+ },
314
+ children: [/*#__PURE__*/_jsx(Skeleton, {
315
+ width: 24,
316
+ height: 24,
317
+ style: {
318
+ borderRadius: 12,
319
+ marginRight: 12
320
+ }
321
+ }), /*#__PURE__*/_jsxs(View, {
322
+ children: [/*#__PURE__*/_jsx(Skeleton, {
323
+ width: 100,
324
+ height: 16,
325
+ style: {
326
+ marginBottom: 6,
327
+ borderRadius: 4
328
+ }
329
+ }), /*#__PURE__*/_jsx(Skeleton, {
330
+ width: 60,
331
+ height: 12,
332
+ style: {
333
+ borderRadius: 4
334
+ }
335
+ })]
336
+ })]
337
+ }), /*#__PURE__*/_jsx(Skeleton, {
338
+ width: 70,
339
+ height: 20,
340
+ style: {
341
+ borderRadius: 4
342
+ }
343
+ })]
344
+ }, key))
345
+ });
346
+ };
220
347
  const renderPlans = () => {
348
+ if (isLoading) {
349
+ return renderSkeletonPlans();
350
+ }
221
351
  return /*#__PURE__*/_jsx(View, {
222
352
  style: styles.plansContainer,
223
353
  children: displayPlans.map(plan => {
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useState","useEffect","Image","StyleSheet","Text","View","TouchableOpacity","ScrollView","Dimensions","Platform","initConnection","getSubscriptions","getProducts","requestSubscription","requestPurchase","endConnection","useTheme","PrimaryButton","fontSizes","lineHeights","jsx","_jsx","jsxs","_jsxs","height","screenHeight","get","OnboardingPaywallPanel","onPressContinue","title","subtitle","button","image","plans","products","helperTextContinue","onRestorePurchase","onTerms","onPrivacy","subscriptionSkus","onPurchaseResult","theme","styles","createStyles","initialPlanId","length","firstProduct","firstSku","Array","isArray","SKus","skusObj","skus","select","ios","android","id","selectedPlanId","setSelectedPlanId","iapProducts","setIapProducts","isMounted","fetchIapProducts","subs","prods","Promise","all","catch","allItems","uniqueItems","from","Map","map","item","productId","values","err","console","warn","allSkus","flatMap","p","displayPlans","mappedPlans","config","targetSkus","iapProduct","find","includes","price","OS","localizedPrice","offer","subscriptionOfferDetails","pricingPhases","pricingPhaseList","formattedPrice","features","featues","interval","sortOrder","helperText","sort","a","b","String","localeCompare","plan","selectedPlan","renderTitle","style","text","line1","titleText","children","renderSubtitle","line2","subtitleText","renderFeatures","featuresContainer","feature","index","featureRow","checkIcon","featureText","renderPlans","plansContainer","isSelected","planCard","planCardSelected","onPress","activeOpacity","planTitle","planTitleSelected","planInterval","planIntervalSelected","helperTextContainer","helperTextBadge","substring","trim","planPrice","planPriceSelected","renderButton","handlePress","log","result","isSubscription","offerToken","sku","subscriptionOffers","subErr","purchErr","status","planId","data","JSON","stringify","error","renderFooterLinks","footerLinksContainer","footerLinkText","footerLinkSeparator","mainContainer","headerImageContainer","source","resizeMode","sheetContainer","container","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","bounces","contentWrapper","headerContainer","footerContainer","create","flex","backgroundColor","bg","secondary","width","marginTop","borderTopLeftRadius","borderTopRightRadius","overflow","paddingBottom","paddingHorizontal","marginBottom","paddingTop","alignItems","fontSize","xxl","lineHeight","textAlign","color","primary","md","fontFamily","fonts","introTitle","fontWeight","introSubtitle","flexDirection","accent","lg","marginRight","gap","justifyContent","padding","minHeight","borderRadius","borderWidth","borderColor","label","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","sm","paddingVertical","alignSelf","contrast","xs"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingPaywallPanel.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useState","useEffect","Image","StyleSheet","Text","View","TouchableOpacity","ScrollView","Dimensions","Platform","initConnection","getSubscriptions","getProducts","requestSubscription","requestPurchase","endConnection","useTheme","PrimaryButton","fontSizes","lineHeights","Skeleton","jsx","_jsx","jsxs","_jsxs","height","screenHeight","get","OnboardingPaywallPanel","onPressContinue","title","subtitle","button","image","plans","products","helperTextContinue","onRestorePurchase","onTerms","onPrivacy","subscriptionSkus","onPurchaseResult","theme","styles","createStyles","initialPlanId","length","firstProduct","firstSku","Array","isArray","SKus","skusObj","skus","select","ios","android","id","selectedPlanId","setSelectedPlanId","iapProducts","setIapProducts","shouldFetch","isLoading","setIsLoading","isMounted","timeoutId","fetchIapProducts","subs","prods","Promise","all","catch","allItems","uniqueItems","from","Map","map","item","productId","values","err","console","warn","setTimeout","allSkus","flatMap","p","clearTimeout","displayPlans","mappedPlans","config","targetSkus","iapProduct","find","includes","price","OS","localizedPrice","offer","subscriptionOfferDetails","pricingPhases","pricingPhaseList","formattedPrice","features","featues","interval","sortOrder","helperText","sort","a","b","String","localeCompare","plan","selectedPlan","renderTitle","style","alignItems","marginBottom","children","width","borderRadius","text","line1","titleText","renderSubtitle","marginTop","line2","subtitleText","renderFeatures","featuresContainer","i","featureRow","marginRight","feature","index","checkIcon","featureText","renderSkeletonPlans","plansContainer","key","planCard","opacity","padding","flexDirection","renderPlans","isSelected","planCardSelected","onPress","activeOpacity","planTitle","planTitleSelected","planInterval","planIntervalSelected","helperTextContainer","helperTextBadge","substring","trim","planPrice","planPriceSelected","renderButton","handlePress","log","result","isSubscription","offerToken","sku","subscriptionOffers","subErr","purchErr","status","planId","data","JSON","stringify","error","renderFooterLinks","footerLinksContainer","footerLinkText","footerLinkSeparator","mainContainer","headerImageContainer","source","resizeMode","sheetContainer","container","contentContainerStyle","contentContainer","showsVerticalScrollIndicator","bounces","contentWrapper","headerContainer","footerContainer","create","flex","backgroundColor","bg","secondary","borderTopLeftRadius","borderTopRightRadius","overflow","paddingBottom","paddingHorizontal","paddingTop","fontSize","xxl","lineHeight","textAlign","color","primary","md","fontFamily","fonts","introTitle","fontWeight","introSubtitle","accent","lg","gap","justifyContent","minHeight","borderWidth","borderColor","label","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","sm","paddingVertical","alignSelf","contrast","xs"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingPaywallPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
 
3
- import React, { useMemo } from 'react';
3
+ import React, { useMemo, forwardRef } from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
5
  import Reanimated, { FadeIn, FadeInDown, FadeOut, FadeOutDown } from 'react-native-reanimated';
6
6
  import SkipButton from "../buttons/SkipButton.js";
7
7
  import { useTheme } from "../../utils/ThemeContext.js";
8
8
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
- function OnboardingStepContainer({
9
+ const OnboardingStepContainer = /*#__PURE__*/forwardRef(({
10
10
  currentStep,
11
11
  showCloseButton,
12
12
  animationDuration,
13
13
  onSkip,
14
- ref,
15
14
  renderStepContent,
16
15
  skipButton
17
- }) {
16
+ }, ref) => {
18
17
  const {
19
18
  theme
20
19
  } = useTheme();
@@ -40,7 +39,7 @@ function OnboardingStepContainer({
40
39
  children: renderStepContent()
41
40
  })]
42
41
  });
43
- }
42
+ });
44
43
  export default OnboardingStepContainer;
45
44
  const createStyles = theme => StyleSheet.create({
46
45
  bottomPanel: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","StyleSheet","Reanimated","FadeIn","FadeInDown","FadeOut","FadeOutDown","SkipButton","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","OnboardingStepContainer","currentStep","showCloseButton","animationDuration","onSkip","ref","renderStepContent","skipButton","theme","styles","createStyles","children","View","entering","duration","exiting","style","close","onPress","bottomPanel","create","paddingHorizontal","paddingBottom","insets","bottom","position","left","right","top"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingStepContainer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAwB,OAAO;AACtD,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,UAAU,IACfC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,WAAW,QACN,yBAAyB;AAChC,OAAOC,UAAU,MAAM,0BAAuB;AAC9C,SAASC,QAAQ,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAcpD,SAASC,uBAAuBA,CAAC;EAC/BC,WAAW;EACXC,eAAe;EACfC,iBAAiB;EACjBC,MAAM;EACNC,GAAG;EACHC,iBAAiB;EACjBC;AAC4B,CAAC,EAAE;EAC/B,MAAM;IAAEC;EAAM,CAAC,GAAGf,QAAQ,CAAC,CAAC;EAC5B,MAAMgB,MAAM,GAAGxB,OAAO,CAAC,MAAMyB,YAAY,CAACF,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE1D,IAAI,CAACP,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,oBACEF,KAAA,CAAAF,SAAA;IAAAc,QAAA,GACGT,eAAe,IAAIE,MAAM,iBACxBT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdC,QAAQ,EAAEzB,MAAM,CAAC0B,QAAQ,CAACX,iBAAiB,CAAE;MAC7CY,OAAO,EAAEzB,OAAO,CAACwB,QAAQ,CAACX,iBAAiB,CAAE;MAC7Ca,KAAK,EAAEP,MAAM,CAACQ,KAAM;MAAAN,QAAA,EAEnBJ,UAAU,GACTA,UAAU,CAAC;QAAEW,OAAO,EAAEd;MAAO,CAAC,CAAC,gBAE/BT,IAAA,CAACH,UAAU;QAAC0B,OAAO,EAAEd;MAAO,CAAE;IAC/B,CACc,CAClB,eAEDT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdP,GAAG,EAAEA,GAAI;MACTQ,QAAQ,EAAExB,UAAU,CAACyB,QAAQ,CAACX,iBAAiB,CAAE;MACjDY,OAAO,EAAExB,WAAW,CAACuB,QAAQ,CAACX,iBAAiB,CAAE;MACjDa,KAAK,EAAEP,MAAM,CAACU,WAAY;MAAAR,QAAA,EAEzBL,iBAAiB,CAAC;IAAC,CACL,CAAC;EAAA,CAClB,CAAC;AAEP;AAEA,eAAeN,uBAAuB;AAEtC,MAAMU,YAAY,GAAIF,KAAY,IAChCtB,UAAU,CAACkC,MAAM,CAAC;EAChBD,WAAW,EAAE;IACXE,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,EAAE,GAAGd,KAAK,CAACe,MAAM,CAACC,MAAM;IACvCC,QAAQ,EAAE,UAAU;IACpBD,MAAM,EAAE,CAAC;IACTE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT,CAAC;EACDV,KAAK,EAAE;IACLQ,QAAQ,EAAE,UAAU;IACpBG,GAAG,EAAEpB,KAAK,CAACe,MAAM,CAACK,GAAG,GAAG,EAAE;IAC1BD,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","forwardRef","StyleSheet","Reanimated","FadeIn","FadeInDown","FadeOut","FadeOutDown","SkipButton","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","OnboardingStepContainer","currentStep","showCloseButton","animationDuration","onSkip","renderStepContent","skipButton","ref","theme","styles","createStyles","children","View","entering","duration","exiting","style","close","onPress","bottomPanel","create","paddingHorizontal","paddingBottom","insets","bottom","position","left","right","top"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/OnboardingStepContainer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAkBC,UAAU,QAAQ,OAAO;AAClE,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,UAAU,IACfC,MAAM,EACNC,UAAU,EACVC,OAAO,EACPC,WAAW,QACN,yBAAyB;AAChC,OAAOC,UAAU,MAAM,0BAAuB;AAC9C,SAASC,QAAQ,QAAQ,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAapD,MAAMC,uBAAuB,gBAAGf,UAAU,CACxC,CACE;EACEgB,WAAW;EACXC,eAAe;EACfC,iBAAiB;EACjBC,MAAM;EACNC,iBAAiB;EACjBC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IAAEC;EAAM,CAAC,GAAGf,QAAQ,CAAC,CAAC;EAC5B,MAAMgB,MAAM,GAAGzB,OAAO,CAAC,MAAM0B,YAAY,CAACF,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE1D,IAAI,CAACP,WAAW,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,oBACEF,KAAA,CAAAF,SAAA;IAAAc,QAAA,GACGT,eAAe,IAAIE,MAAM,iBACxBT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdC,QAAQ,EAAEzB,MAAM,CAAC0B,QAAQ,CAACX,iBAAiB,CAAE;MAC7CY,OAAO,EAAEzB,OAAO,CAACwB,QAAQ,CAACX,iBAAiB,CAAE;MAC7Ca,KAAK,EAAEP,MAAM,CAACQ,KAAM;MAAAN,QAAA,EAEnBL,UAAU,GACTA,UAAU,CAAC;QAAEY,OAAO,EAAEd;MAAO,CAAC,CAAC,gBAE/BT,IAAA,CAACH,UAAU;QAAC0B,OAAO,EAAEd;MAAO,CAAE;IAC/B,CACc,CAClB,eAEDT,IAAA,CAACR,UAAU,CAACyB,IAAI;MACdL,GAAG,EAAEA,GAAI;MACTM,QAAQ,EAAExB,UAAU,CAACyB,QAAQ,CAACX,iBAAiB,CAAE;MACjDY,OAAO,EAAExB,WAAW,CAACuB,QAAQ,CAACX,iBAAiB,CAAE;MACjDa,KAAK,EAAEP,MAAM,CAACU,WAAY;MAAAR,QAAA,EAEzBN,iBAAiB,CAAC;IAAC,CACL,CAAC;EAAA,CAClB,CAAC;AAEP,CACF,CAAC;AAED,eAAeL,uBAAuB;AAEtC,MAAMU,YAAY,GAAIF,KAAY,IAChCtB,UAAU,CAACkC,MAAM,CAAC;EAChBD,WAAW,EAAE;IACXE,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,EAAE,GAAGd,KAAK,CAACe,MAAM,CAACC,MAAM;IACvCC,QAAQ,EAAE,UAAU;IACpBD,MAAM,EAAE,CAAC;IACTE,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT,CAAC;EACDV,KAAK,EAAE;IACLQ,QAAQ,EAAE,UAAU;IACpBG,GAAG,EAAEpB,KAAK,CAACe,MAAM,CAACK,GAAG,GAAG,EAAE;IAC1BD,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from 'react';
4
+ import Animated, { useAnimatedStyle, withRepeat, withSequence, withTiming, useSharedValue } from 'react-native-reanimated';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function Skeleton({
7
+ width,
8
+ height,
9
+ style
10
+ }) {
11
+ const opacity = useSharedValue(0.3);
12
+ useEffect(() => {
13
+ opacity.value = withRepeat(withSequence(withTiming(0.7, {
14
+ duration: 1000
15
+ }), withTiming(0.3, {
16
+ duration: 1000
17
+ })), -1, true);
18
+ }, [opacity]);
19
+ const animatedStyle = useAnimatedStyle(() => ({
20
+ opacity: opacity.value
21
+ }));
22
+ return /*#__PURE__*/_jsx(Animated.View, {
23
+ style: [{
24
+ backgroundColor: '#E0E0E0',
25
+ borderRadius: 4,
26
+ width: width,
27
+ height: height
28
+ }, style, animatedStyle]
29
+ });
30
+ }
31
+ export default Skeleton;
32
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","Animated","useAnimatedStyle","withRepeat","withSequence","withTiming","useSharedValue","jsx","_jsx","Skeleton","width","height","style","opacity","value","duration","animatedStyle","View","backgroundColor","borderRadius"],"sourceRoot":"../../../../src","sources":["spill-onboarding/components/Skeleton.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,cAAc,QACT,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQjC,OAAO,SAASC,QAAQA,CAAC;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAqB,CAAC,EAAE;EAChE,MAAMC,OAAO,GAAGP,cAAc,CAAC,GAAG,CAAC;EAEnCN,SAAS,CAAC,MAAM;IACda,OAAO,CAACC,KAAK,GAAGX,UAAU,CACxBC,YAAY,CACVC,UAAU,CAAC,GAAG,EAAE;MAAEU,QAAQ,EAAE;IAAK,CAAC,CAAC,EACnCV,UAAU,CAAC,GAAG,EAAE;MAAEU,QAAQ,EAAE;IAAK,CAAC,CACpC,CAAC,EACD,CAAC,CAAC,EACF,IACF,CAAC;EACH,CAAC,EAAE,CAACF,OAAO,CAAC,CAAC;EAEb,MAAMG,aAAa,GAAGd,gBAAgB,CAAC,OAAO;IAC5CW,OAAO,EAAEA,OAAO,CAACC;EACnB,CAAC,CAAC,CAAC;EAEH,oBACEN,IAAA,CAACP,QAAQ,CAACgB,IAAI;IACZL,KAAK,EAAE,CACL;MACEM,eAAe,EAAE,SAAS;MAC1BC,YAAY,EAAE,CAAC;MACfT,KAAK,EAAEA,KAAK;MACZC,MAAM,EAAEA;IACV,CAAC,EACDC,KAAK,EACLI,aAAa;EACb,CACH,CAAC;AAEN;AAEA,eAAeP,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingPaywallPanel.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingPaywallPanel.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,2BAA2B,EAAe,MAAM,UAAU,CAAC;AAIzE,iBAAS,sBAAsB,CAAC,EAC9B,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,2BAA2B,2CAud7B;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"OnboardingPaywallPanel.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingPaywallPanel.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,2BAA2B,EAAe,MAAM,UAAU,CAAC;AAKzE,iBAAS,sBAAsB,CAAC,EAC9B,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,EAAE,2BAA2B,2CAqjB7B;AAED,eAAe,sBAAsB,CAAC"}
@@ -5,12 +5,11 @@ interface OnboardingStepContainerProps {
5
5
  showCloseButton?: boolean;
6
6
  animationDuration: number;
7
7
  onSkip?: () => void;
8
- ref: React.RefObject<any>;
9
8
  renderStepContent: () => React.ReactNode;
10
9
  skipButton?: ({ onPress }: {
11
10
  onPress: () => void;
12
11
  }) => ReactNode;
13
12
  }
14
- declare function OnboardingStepContainer({ currentStep, showCloseButton, animationDuration, onSkip, ref, renderStepContent, skipButton, }: OnboardingStepContainerProps): import("react/jsx-runtime").JSX.Element | null;
13
+ declare const OnboardingStepContainer: React.ForwardRefExoticComponent<OnboardingStepContainerProps & React.RefAttributes<any>>;
15
14
  export default OnboardingStepContainer;
16
15
  //# sourceMappingURL=OnboardingStepContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingStepContainer.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingStepContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,4BAA4B;IACpC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,iBAAiB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;CAClE;AAED,iBAAS,uBAAuB,CAAC,EAC/B,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,GAAG,EACH,iBAAiB,EACjB,UAAU,GACX,EAAE,4BAA4B,kDAkC9B;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"OnboardingStepContainer.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/OnboardingStepContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,4BAA4B;IACpC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iBAAiB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;CAClE;AAED,QAAA,MAAM,uBAAuB,0FA8C5B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface SkeletonProps {
2
+ width?: number | string;
3
+ height?: number;
4
+ style?: any;
5
+ }
6
+ export declare function Skeleton({ width, height, style }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
7
+ export default Skeleton;
8
+ //# sourceMappingURL=Skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/spill-onboarding/components/Skeleton.tsx"],"names":[],"mappings":"AASA,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,2CAgC/D;AAED,eAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-onboarding-analytics",
3
- "version": "1.7.2",
3
+ "version": "1.7.4",
4
4
  "description": "Onboarding/tutorial flow for React Native with analytics.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "prepack": "sed -i '' '1s|.*|![Banner](assets/banner.png)|' README.md",
40
40
  "postpack": "git checkout README.md",
41
41
  "release": "release-it --only-version",
42
- "watch:yalc": "nodemon --watch src --ext ts,tsx,js,json --exec 'npm run prepare && yalc push'"
42
+ "yalc:watch": "nodemon --watch src --ext ts,tsx,js,json --exec 'npm run prepare && yalc push'"
43
43
  },
44
44
  "keywords": [
45
45
  "react-native",
@@ -25,6 +25,7 @@ import type { Theme } from '../../utils/theme';
25
25
  import PrimaryButton from '../buttons/PrimaryButton';
26
26
  import { fontSizes, lineHeights } from '../../utils/fontStyles';
27
27
  import type { OnboardingPaywallPanelProps, PlatformSku } from '../types';
28
+ import Skeleton from './Skeleton';
28
29
 
29
30
  const { height: screenHeight } = Dimensions.get('window');
30
31
 
@@ -74,8 +75,13 @@ function OnboardingPaywallPanel({
74
75
  []
75
76
  );
76
77
 
78
+ // Determine if we need to fetch data
79
+ const shouldFetch = !!(products?.length || subscriptionSkus);
80
+ const [isLoading, setIsLoading] = useState(shouldFetch);
81
+
77
82
  useEffect(() => {
78
83
  let isMounted = true;
84
+ let timeoutId: NodeJS.Timeout;
79
85
 
80
86
  const fetchIapProducts = async (skus: string[]) => {
81
87
  try {
@@ -95,47 +101,63 @@ function OnboardingPaywallPanel({
95
101
  new Map(allItems.map((item) => [item.productId, item])).values()
96
102
  );
97
103
  setIapProducts(uniqueItems);
104
+ setIsLoading(false);
98
105
  }
99
106
  } catch (err) {
100
107
  console.warn('IAP Error:', err);
108
+ if (isMounted) setIsLoading(false);
101
109
  }
102
110
  };
103
111
 
104
- if (products && products.length > 0) {
105
- // Collect all SKUs from all products for current platform
106
- const allSkus = products.flatMap((p) => {
107
- if (Array.isArray(p.SKus)) {
108
- return p.SKus;
112
+ if (shouldFetch) {
113
+ // Set 120s timeout
114
+ timeoutId = setTimeout(() => {
115
+ if (isMounted) {
116
+ console.warn('IAP Fetch Timeout (120s) - showing partial data');
117
+ setIsLoading(false);
109
118
  }
110
- const skusObj = p.SKus as PlatformSku;
119
+ }, 120000);
120
+
121
+ // Collect all SKUs from all products for current platform
122
+ let allSkus: string[] = [];
123
+
124
+ if (products && products.length > 0) {
125
+ allSkus = products.flatMap((p) => {
126
+ if (Array.isArray(p.SKus)) {
127
+ return p.SKus;
128
+ }
129
+ const skusObj = p.SKus as PlatformSku;
130
+ const skus = Platform.select({
131
+ ios: skusObj.ios,
132
+ android: skusObj.android,
133
+ });
134
+ return skus || [];
135
+ });
136
+ } else if (subscriptionSkus) {
111
137
  const skus = Platform.select({
112
- ios: skusObj.ios,
113
- android: skusObj.android,
138
+ ios: subscriptionSkus.ios,
139
+ android: subscriptionSkus.android,
114
140
  });
115
- return skus || [];
116
- });
141
+ if (skus) allSkus = skus;
142
+ }
117
143
 
118
144
  if (allSkus.length > 0) {
119
145
  fetchIapProducts(allSkus);
146
+ } else {
147
+ setIsLoading(false);
120
148
  }
121
- } else if (subscriptionSkus) {
122
- const skus = Platform.select({
123
- ios: subscriptionSkus.ios,
124
- android: subscriptionSkus.android,
125
- });
126
-
127
- if (skus && skus.length > 0) {
128
- fetchIapProducts(skus);
129
- }
149
+ } else {
150
+ setIsLoading(false);
130
151
  }
131
152
 
132
153
  return () => {
133
154
  isMounted = false;
134
- if (subscriptionSkus || products) {
155
+ clearTimeout(timeoutId);
156
+ if (shouldFetch) {
135
157
  endConnection();
136
158
  }
137
159
  };
138
- }, [subscriptionSkus, products]);
160
+ }, [subscriptionSkus, products, shouldFetch]);
139
161
 
140
162
  const displayPlans = useMemo(() => {
141
163
  // New Configuration Mode
@@ -227,6 +249,13 @@ function OnboardingPaywallPanel({
227
249
  const selectedPlan = displayPlans.find((p) => p.id === selectedPlanId);
228
250
 
229
251
  const renderTitle = () => {
252
+ if (isLoading) {
253
+ return (
254
+ <View style={{ alignItems: 'center', marginBottom: 8 }}>
255
+ <Skeleton width={200} height={32} style={{ borderRadius: 8 }} />
256
+ </View>
257
+ );
258
+ }
230
259
  if (!title) return null;
231
260
  if (typeof title === 'string') {
232
261
  return (
@@ -239,6 +268,18 @@ function OnboardingPaywallPanel({
239
268
  };
240
269
 
241
270
  const renderSubtitle = () => {
271
+ if (isLoading) {
272
+ return (
273
+ <View style={{ alignItems: 'center', marginTop: 8 }}>
274
+ <Skeleton
275
+ width={280}
276
+ height={16}
277
+ style={{ borderRadius: 4, marginBottom: 4 }}
278
+ />
279
+ <Skeleton width={180} height={16} style={{ borderRadius: 4 }} />
280
+ </View>
281
+ );
282
+ }
242
283
  if (!subtitle) return null;
243
284
  if (typeof subtitle === 'string') {
244
285
  return (
@@ -251,6 +292,22 @@ function OnboardingPaywallPanel({
251
292
  };
252
293
 
253
294
  const renderFeatures = () => {
295
+ if (isLoading) {
296
+ return (
297
+ <View style={styles.featuresContainer}>
298
+ {[1, 2, 3].map((i) => (
299
+ <View key={i} style={styles.featureRow}>
300
+ <Skeleton
301
+ width={20}
302
+ height={20}
303
+ style={{ borderRadius: 10, marginRight: 12 }}
304
+ />
305
+ <Skeleton width={200} height={16} style={{ borderRadius: 4 }} />
306
+ </View>
307
+ ))}
308
+ </View>
309
+ );
310
+ }
254
311
  if (!selectedPlan?.features || selectedPlan.features.length === 0)
255
312
  return null;
256
313
 
@@ -266,7 +323,45 @@ function OnboardingPaywallPanel({
266
323
  );
267
324
  };
268
325
 
326
+ const renderSkeletonPlans = () => {
327
+ return (
328
+ <View style={styles.plansContainer}>
329
+ {[1, 2, 3].map((key) => (
330
+ <View
331
+ key={key}
332
+ style={[styles.planCard, { opacity: 1, padding: 16 }]}
333
+ >
334
+ <View style={{ flexDirection: 'row', alignItems: 'center' }}>
335
+ {/* Radio button placeholder */}
336
+ <Skeleton
337
+ width={24}
338
+ height={24}
339
+ style={{ borderRadius: 12, marginRight: 12 }}
340
+ />
341
+ <View>
342
+ {/* Title */}
343
+ <Skeleton
344
+ width={100}
345
+ height={16}
346
+ style={{ marginBottom: 6, borderRadius: 4 }}
347
+ />
348
+ {/* Interval/Subtitle */}
349
+ <Skeleton width={60} height={12} style={{ borderRadius: 4 }} />
350
+ </View>
351
+ </View>
352
+ {/* Price */}
353
+ <Skeleton width={70} height={20} style={{ borderRadius: 4 }} />
354
+ </View>
355
+ ))}
356
+ </View>
357
+ );
358
+ };
359
+
269
360
  const renderPlans = () => {
361
+ if (isLoading) {
362
+ return renderSkeletonPlans();
363
+ }
364
+
270
365
  return (
271
366
  <View style={styles.plansContainer}>
272
367
  {displayPlans.map((plan) => {
@@ -1,4 +1,4 @@
1
- import React, { useMemo, type ReactNode } from 'react';
1
+ import React, { useMemo, type ReactNode, forwardRef } from 'react';
2
2
  import { StyleSheet } from 'react-native';
3
3
  import Reanimated, {
4
4
  FadeIn,
@@ -16,54 +16,57 @@ interface OnboardingStepContainerProps {
16
16
  showCloseButton?: boolean;
17
17
  animationDuration: number;
18
18
  onSkip?: () => void;
19
- ref: React.RefObject<any>;
20
19
  renderStepContent: () => React.ReactNode;
21
20
  skipButton?: ({ onPress }: { onPress: () => void }) => ReactNode;
22
21
  }
23
22
 
24
- function OnboardingStepContainer({
25
- currentStep,
26
- showCloseButton,
27
- animationDuration,
28
- onSkip,
29
- ref,
30
- renderStepContent,
31
- skipButton,
32
- }: OnboardingStepContainerProps) {
33
- const { theme } = useTheme();
34
- const styles = useMemo(() => createStyles(theme), [theme]);
23
+ const OnboardingStepContainer = forwardRef<any, OnboardingStepContainerProps>(
24
+ (
25
+ {
26
+ currentStep,
27
+ showCloseButton,
28
+ animationDuration,
29
+ onSkip,
30
+ renderStepContent,
31
+ skipButton,
32
+ },
33
+ ref
34
+ ) => {
35
+ const { theme } = useTheme();
36
+ const styles = useMemo(() => createStyles(theme), [theme]);
35
37
 
36
- if (!currentStep) {
37
- return null;
38
- }
38
+ if (!currentStep) {
39
+ return null;
40
+ }
41
+
42
+ return (
43
+ <>
44
+ {showCloseButton && onSkip && (
45
+ <Reanimated.View
46
+ entering={FadeIn.duration(animationDuration)}
47
+ exiting={FadeOut.duration(animationDuration)}
48
+ style={styles.close}
49
+ >
50
+ {skipButton ? (
51
+ skipButton({ onPress: onSkip })
52
+ ) : (
53
+ <SkipButton onPress={onSkip} />
54
+ )}
55
+ </Reanimated.View>
56
+ )}
39
57
 
40
- return (
41
- <>
42
- {showCloseButton && onSkip && (
43
58
  <Reanimated.View
44
- entering={FadeIn.duration(animationDuration)}
45
- exiting={FadeOut.duration(animationDuration)}
46
- style={styles.close}
59
+ ref={ref}
60
+ entering={FadeInDown.duration(animationDuration)}
61
+ exiting={FadeOutDown.duration(animationDuration)}
62
+ style={styles.bottomPanel}
47
63
  >
48
- {skipButton ? (
49
- skipButton({ onPress: onSkip })
50
- ) : (
51
- <SkipButton onPress={onSkip} />
52
- )}
64
+ {renderStepContent()}
53
65
  </Reanimated.View>
54
- )}
55
-
56
- <Reanimated.View
57
- ref={ref}
58
- entering={FadeInDown.duration(animationDuration)}
59
- exiting={FadeOutDown.duration(animationDuration)}
60
- style={styles.bottomPanel}
61
- >
62
- {renderStepContent()}
63
- </Reanimated.View>
64
- </>
65
- );
66
- }
66
+ </>
67
+ );
68
+ }
69
+ );
67
70
 
68
71
  export default OnboardingStepContainer;
69
72
 
@@ -0,0 +1,50 @@
1
+ import { useEffect } from 'react';
2
+ import Animated, {
3
+ useAnimatedStyle,
4
+ withRepeat,
5
+ withSequence,
6
+ withTiming,
7
+ useSharedValue,
8
+ } from 'react-native-reanimated';
9
+
10
+ interface SkeletonProps {
11
+ width?: number | string;
12
+ height?: number;
13
+ style?: any;
14
+ }
15
+
16
+ export function Skeleton({ width, height, style }: SkeletonProps) {
17
+ const opacity = useSharedValue(0.3);
18
+
19
+ useEffect(() => {
20
+ opacity.value = withRepeat(
21
+ withSequence(
22
+ withTiming(0.7, { duration: 1000 }),
23
+ withTiming(0.3, { duration: 1000 })
24
+ ),
25
+ -1,
26
+ true
27
+ );
28
+ }, [opacity]);
29
+
30
+ const animatedStyle = useAnimatedStyle(() => ({
31
+ opacity: opacity.value,
32
+ }));
33
+
34
+ return (
35
+ <Animated.View
36
+ style={[
37
+ {
38
+ backgroundColor: '#E0E0E0',
39
+ borderRadius: 4,
40
+ width: width,
41
+ height: height,
42
+ },
43
+ style,
44
+ animatedStyle,
45
+ ]}
46
+ />
47
+ );
48
+ }
49
+
50
+ export default Skeleton;