@sudobility/di_rn 0.1.0 → 0.1.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.
Files changed (47) hide show
  1. package/dist/analytics/analytics.rn.d.ts.map +1 -1
  2. package/dist/analytics/analytics.rn.js +35 -15
  3. package/dist/analytics/analytics.rn.js.map +1 -1
  4. package/dist/env/env.rn.d.ts.map +1 -1
  5. package/dist/env/env.rn.js +10 -3
  6. package/dist/env/env.rn.js.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/info/InfoBanner.d.ts +17 -0
  12. package/dist/info/InfoBanner.d.ts.map +1 -0
  13. package/dist/info/InfoBanner.js +69 -0
  14. package/dist/info/InfoBanner.js.map +1 -0
  15. package/dist/info/index.d.ts +3 -0
  16. package/dist/info/index.d.ts.map +1 -0
  17. package/dist/info/index.js +3 -0
  18. package/dist/info/index.js.map +1 -0
  19. package/dist/info/info.rn.d.ts +28 -0
  20. package/dist/info/info.rn.d.ts.map +1 -0
  21. package/dist/info/info.rn.js +97 -0
  22. package/dist/info/info.rn.js.map +1 -0
  23. package/dist/initialize/index.d.ts +2 -0
  24. package/dist/initialize/index.d.ts.map +1 -0
  25. package/dist/initialize/index.js +2 -0
  26. package/dist/initialize/index.js.map +1 -0
  27. package/dist/initialize/initialize.d.ts +39 -0
  28. package/dist/initialize/initialize.d.ts.map +1 -0
  29. package/dist/initialize/initialize.js +117 -0
  30. package/dist/initialize/initialize.js.map +1 -0
  31. package/dist/network/network.rn.d.ts +5 -2
  32. package/dist/network/network.rn.d.ts.map +1 -1
  33. package/dist/network/network.rn.js +38 -6
  34. package/dist/network/network.rn.js.map +1 -1
  35. package/dist/notification/notification.rn.d.ts +2 -1
  36. package/dist/notification/notification.rn.d.ts.map +1 -1
  37. package/dist/notification/notification.rn.js +65 -14
  38. package/dist/notification/notification.rn.js.map +1 -1
  39. package/dist/storage/storage.rn.d.ts +10 -0
  40. package/dist/storage/storage.rn.d.ts.map +1 -1
  41. package/dist/storage/storage.rn.js +40 -7
  42. package/dist/storage/storage.rn.js.map +1 -1
  43. package/dist/theme/theme.rn.d.ts +4 -1
  44. package/dist/theme/theme.rn.d.ts.map +1 -1
  45. package/dist/theme/theme.rn.js +27 -3
  46. package/dist/theme/theme.rn.js.map +1 -1
  47. package/package.json +51 -54
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.rn.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKlD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAA0B;IAKxC,UAAU,CAAC,WAAW,EAAE,cAAc,GAAG,kBAAkB,GAAG,IAAI;IAwBlE,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe5D,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAczC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAY3C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAgB1E,SAAS,IAAI,OAAO;IAOpB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;CAG9B;AAKD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAKtD;AAED,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,CAGnB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"analytics.rn.d.ts","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAuBlD,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAA0B;IAKxC,UAAU,CAAC,WAAW,EAAE,cAAc,GAAG,kBAAkB,GAAG,IAAI;IAwBlE,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAe5D,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAczC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAa3C,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;IAkB1E,SAAS,IAAI,OAAO;IAOpB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;CAG9B;AAKD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAKtD;AAED,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,iBAAiB,GACzB,iBAAiB,CAGnB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -1,4 +1,17 @@
1
- import analytics from '@react-native-firebase/analytics';
1
+ let analyticsModule = null;
2
+ function getAnalytics() {
3
+ if (!analyticsModule) {
4
+ try {
5
+ const mod = require('@react-native-firebase/analytics');
6
+ analyticsModule = mod;
7
+ }
8
+ catch (e) {
9
+ console.warn('Firebase analytics not available:', e);
10
+ }
11
+ }
12
+ const analytics = analyticsModule?.default ?? analyticsModule;
13
+ return typeof analytics === 'function' ? analytics() : null;
14
+ }
2
15
  export class RNAnalyticsClient {
3
16
  constructor() {
4
17
  this.enabled = true;
@@ -7,27 +20,29 @@ export class RNAnalyticsClient {
7
20
  trackEvent(eventOrData) {
8
21
  if (!this.enabled)
9
22
  return;
23
+ const analytics = getAnalytics();
24
+ if (!analytics)
25
+ return;
10
26
  if (typeof eventOrData === 'object' && 'event' in eventOrData) {
11
27
  const { event, parameters } = eventOrData;
12
- analytics()
28
+ analytics
13
29
  .logEvent(event, parameters)
14
30
  .catch(() => {
15
31
  });
16
32
  }
17
33
  else {
18
- analytics()
19
- .logEvent(eventOrData)
20
- .catch(() => {
34
+ analytics.logEvent(eventOrData).catch(() => {
21
35
  });
22
36
  }
23
37
  }
24
38
  setUserProperties(properties) {
25
39
  if (!this.enabled)
26
40
  return;
41
+ const analytics = getAnalytics();
42
+ if (!analytics)
43
+ return;
27
44
  for (const [key, value] of Object.entries(properties)) {
28
- analytics()
29
- .setUserProperty(key, String(value))
30
- .catch(() => {
45
+ analytics.setUserProperty(key, String(value)).catch(() => {
31
46
  });
32
47
  }
33
48
  }
@@ -35,22 +50,27 @@ export class RNAnalyticsClient {
35
50
  this.userId = userId;
36
51
  if (!this.enabled)
37
52
  return;
38
- analytics()
39
- .setUserId(userId ?? null)
40
- .catch(() => {
53
+ const analytics = getAnalytics();
54
+ if (!analytics)
55
+ return;
56
+ analytics.setUserId(userId ?? null).catch(() => {
41
57
  });
42
58
  }
43
59
  setAnalyticsEnabled(enabled) {
44
60
  this.enabled = enabled;
45
- analytics()
46
- .setAnalyticsCollectionEnabled(enabled)
47
- .catch(() => {
61
+ const analytics = getAnalytics();
62
+ if (!analytics)
63
+ return;
64
+ analytics.setAnalyticsCollectionEnabled(enabled).catch(() => {
48
65
  });
49
66
  }
50
67
  setCurrentScreen(screenName, screenClass) {
51
68
  if (!this.enabled)
52
69
  return;
53
- analytics()
70
+ const analytics = getAnalytics();
71
+ if (!analytics)
72
+ return;
73
+ analytics
54
74
  .logScreenView({
55
75
  screen_name: screenName,
56
76
  screen_class: screenClass ?? screenName,
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.rn.js","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAWzD,MAAM,OAAO,iBAAiB;IAA9B;QACU,YAAO,GAAY,IAAI,CAAC;QACxB,WAAM,GAAqB,IAAI,CAAC;IAgG1C,CAAC;IA3FC,UAAU,CAAC,WAAgD;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAG1B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;YAC1C,SAAS,EAAE;iBACR,QAAQ,CAAC,KAAK,EAAE,UAA6C,CAAC;iBAC9D,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YAEN,SAAS,EAAE;iBACR,QAAQ,CAAC,WAAW,CAAC;iBACrB,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAKD,iBAAiB,CAAC,UAAmC;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,SAAS,EAAE;iBACR,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnC,KAAK,CAAC,GAAG,EAAE;YAEZ,CAAC,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAKD,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,SAAS,EAAE;aACR,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,SAAS,EAAE;aACR,6BAA6B,CAAC,OAAO,CAAC;aACtC,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,gBAAgB,CAAC,UAAkB,EAAE,WAA8B;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,SAAS,EAAE;aACR,aAAa,CAAC;YACb,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,WAAW,IAAI,UAAU;SACxC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;QAEZ,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAGD,IAAI,eAAe,GAA6B,IAAI,CAAC;AAErD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAA0B;IAE1B,eAAe,GAAG,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"analytics.rn.js","sourceRoot":"","sources":["../../src/analytics/analytics.rn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.rn.d.ts","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,qBAAa,aAAc,YAAW,WAAW;IAC/C,GAAG,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACtC,GAAG,EAAE,CAAC,EACN,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAK7C,MAAM,IAAI,oBAAoB;IAI9B,aAAa,IAAI,OAAO;IAKxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;CAGlB;AAKD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,GAAG,SAAS,CAqBvE;AA8BD,eAAO,MAAM,aAAa,eAAsB,CAAC;AACjD,eAAO,MAAM,WAAW,WAAmC,CAAC;AAG5D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"env.rn.d.ts","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,qBAAa,aAAc,YAAW,WAAW;IAC/C,GAAG,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACtC,GAAG,EAAE,CAAC,EACN,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAO7C,MAAM,IAAI,oBAAoB;IAI9B,aAAa,IAAI,OAAO;IAKxB,YAAY,IAAI,OAAO;IAIvB,MAAM,IAAI,OAAO;CAGlB;AAKD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,GAAG,SAAS,CAqBvE;AA8BD,eAAO,MAAM,aAAa,eAAsB,CAAC;AACjD,eAAO,MAAM,WAAW,WAAmC,CAAC;AAG5D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC"}
@@ -1,8 +1,15 @@
1
- import Config from 'react-native-config';
1
+ let Config = {};
2
+ try {
3
+ const maybeConfig = require('react-native-config');
4
+ Config = (maybeConfig?.default ?? maybeConfig ?? {});
5
+ }
6
+ catch (error) {
7
+ throw new Error(`[di_rn] react-native-config not available; cannot initialize env provider: ${error}`);
8
+ }
2
9
  export class RNEnvProvider {
3
10
  get(key, defaultValue) {
4
11
  const value = Config[key];
5
- return value ?? defaultValue ?? null;
12
+ return (value ?? defaultValue ?? null);
6
13
  }
7
14
  getAll() {
8
15
  return Config;
@@ -43,7 +50,7 @@ function createFirebaseConfig(envProvider) {
43
50
  messagingSenderId: envProvider.get('VITE_FIREBASE_MESSAGING_SENDER_ID') ?? '',
44
51
  appId: envProvider.get('VITE_FIREBASE_APP_ID') ?? '',
45
52
  measurementId: envProvider.get('VITE_FIREBASE_MEASUREMENT_ID') ??
46
- undefined,
53
+ '',
47
54
  };
48
55
  }
49
56
  export const rnEnvProvider = new RNEnvProvider();
@@ -1 +1 @@
1
- {"version":3,"file":"env.rn.js","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAazC,MAAM,OAAO,aAAa;IACxB,GAAG,CACD,GAAM,EACN,YAA+B;QAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAa,CAAC,CAAC;QACpC,OAAO,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,MAAyC,CAAC;IACnD,CAAC;IAED,aAAa;QAEX,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,CAAC;IAC5D,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;IACzC,CAAC;CACF;AAKD,MAAM,UAAU,iBAAiB,CAAC,WAA0B;IAC1D,OAAO;QACL,kBAAkB,EACf,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB;YAC5D,6BAA6B;QAC/B,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAwB;YAC3D,4BAA4B;QAC9B,sBAAsB,EACnB,WAAW,CAAC,GAAG,CAAC,+BAA+B,CAElC,IAAI,EAAE;QACtB,gBAAgB,EACb,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAwB,IAAI,EAAE;QAC1E,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB,IAAI,EAAE;QACpE,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,EAAE;QACvB,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;KAC9D,CAAC;AACJ,CAAC;AAKD,SAAS,oBAAoB,CAAC,WAA0B;IACtD,OAAO;QACL,MAAM,EACH,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAwB,IAAI,EAAE;QACxE,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAwB;YACpE,EAAE;QACJ,SAAS,EACN,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAwB,IAAI,EAAE;QAC3E,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,EAAE;QACJ,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,mCAAmC,CAEtC,IAAI,EAAE;QACtB,KAAK,EACF,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAwB,IAAI,EAAE;QACvE,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,SAAS;KACZ,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"env.rn.js","sourceRoot":"","sources":["../../src/env/env.rn.ts"],"names":[],"mappings":"AASA,IAAI,MAAM,GAAuC,EAAE,CAAC;AACpD,IAAI,CAAC;IAGH,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,MAAM,GAAG,CAAC,WAAW,EAAE,OAAO,IAAI,WAAW,IAAI,EAAE,CAGlD,CAAC;AACJ,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,IAAI,KAAK,CACb,8EAA8E,KAAK,EAAE,CACtF,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,aAAa;IACxB,GAAG,CACD,GAAM,EACN,YAA+B;QAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAa,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAEpC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,MAAyC,CAAC;IACnD,CAAC;IAED,aAAa;QAEX,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,CAAC;IAC5D,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;IACzC,CAAC;CACF;AAKD,MAAM,UAAU,iBAAiB,CAAC,WAA0B;IAC1D,OAAO;QACL,kBAAkB,EACf,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB;YAC5D,6BAA6B;QAC/B,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAwB;YAC3D,4BAA4B;QAC9B,sBAAsB,EACnB,WAAW,CAAC,GAAG,CAAC,+BAA+B,CAElC,IAAI,EAAE;QACtB,gBAAgB,EACb,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAwB,IAAI,EAAE;QAC1E,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAwB,IAAI,EAAE;QACpE,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,EAAE;QACvB,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM;KAC9D,CAAC;AACJ,CAAC;AAKD,SAAS,oBAAoB,CAAC,WAA0B;IACtD,OAAO;QACL,MAAM,EACH,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAwB,IAAI,EAAE;QACxE,UAAU,EACP,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAwB;YACpE,EAAE;QACJ,SAAS,EACN,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAwB,IAAI,EAAE;QAC3E,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,EAAE;QACJ,iBAAiB,EACd,WAAW,CAAC,GAAG,CAAC,mCAAmC,CAEtC,IAAI,EAAE;QACtB,KAAK,EACF,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAwB,IAAI,EAAE;QACvE,aAAa,EACV,WAAW,CAAC,GAAG,CAAC,8BAA8B,CAAwB;YACvE,EAAE;KACL,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,6 @@ export { RNThemeService, getThemeService, initializeThemeService, resetThemeServ
10
10
  export type { ThemeMode, FontSize } from './theme/theme.rn.js';
11
11
  export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
12
12
  export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
13
+ export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, type BannerState, type BannerStateListener, InfoBanner, useInfoBanner, type InfoBannerProps, } from './info/index.js';
14
+ export { initializeRNApp, type RNAppInitOptions, type RevenueCatConfig, type RNFirebaseOptions, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, type AnalyticsEventParams, } from './initialize/index.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,UAAU,EACV,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -8,4 +8,6 @@ export { RNNotificationService, getNotificationService, initializeNotificationSe
8
8
  export { RNThemeService, getThemeService, initializeThemeService, resetThemeService, rnThemeService, } from './theme/theme.rn.js';
9
9
  export { RNLogger, RNLoggerProvider, getLoggerProvider, getLogger, initializeLoggerProvider, resetLoggerProvider, rnLogger, rnLoggerProvider, } from './logging/logging.rn.js';
10
10
  export { RNNavigationService, getNavigationService, initializeNavigationService, resetNavigationService, rnNavigationService, } from './navigation/navigation.rn.js';
11
+ export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, InfoBanner, useInfoBanner, } from './info/index.js';
12
+ export { initializeRNApp, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, } from './initialize/index.js';
11
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EAGtB,UAAU,EACV,aAAa,GAEd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EAIf,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { type BannerState } from './info.rn.js';
3
+ type ToastConfig = any;
4
+ export declare function useInfoBanner(): {
5
+ state: BannerState;
6
+ dismiss: () => void;
7
+ };
8
+ export interface InfoBannerProps {
9
+ toastConfig?: ToastConfig;
10
+ position?: 'top' | 'bottom';
11
+ topOffset?: number;
12
+ bottomOffset?: number;
13
+ visibilityTime?: number;
14
+ }
15
+ export declare function InfoBanner({ toastConfig, position, topOffset, bottomOffset, visibilityTime, }: InfoBannerProps): React.ReactElement | null;
16
+ export type { BannerState } from './info.rn.js';
17
+ //# sourceMappingURL=InfoBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBanner.d.ts","sourceRoot":"","sources":["../../src/info/InfoBanner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAMtB,KAAK,WAAW,GAAG,GAAG,CAAC;AAuCvB,wBAAgB,aAAa,IAAI;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAaA;AAKD,MAAM,WAAW,eAAe;IAE9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyBD,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,QAAgB,EAChB,SAAc,EACd,YAAY,EACZ,cAAc,GACf,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAgD7C;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect, useCallback, useRef } from 'react';
3
+ import { getInfoService, mapInfoTypeToToastType, } from './info.rn.js';
4
+ let Toast = null;
5
+ function getToast() {
6
+ if (!Toast) {
7
+ try {
8
+ const toastModule = require('react-native-toast-message');
9
+ Toast = toastModule.default ?? toastModule;
10
+ }
11
+ catch {
12
+ console.warn('[di_rn] react-native-toast-message not available. InfoBanner will not work.');
13
+ }
14
+ }
15
+ return Toast;
16
+ }
17
+ export function useInfoBanner() {
18
+ const service = getInfoService();
19
+ const [state, setState] = useState(service.getState());
20
+ useEffect(() => {
21
+ return service.subscribe(setState);
22
+ }, [service]);
23
+ const dismiss = useCallback(() => {
24
+ service.dismiss();
25
+ }, [service]);
26
+ return { state, dismiss };
27
+ }
28
+ export function InfoBanner({ toastConfig, position = 'top', topOffset = 50, bottomOffset, visibilityTime, }) {
29
+ const { state } = useInfoBanner();
30
+ const lastShownStateRef = useRef(null);
31
+ const ToastComponent = getToast();
32
+ useEffect(() => {
33
+ if (!ToastComponent) {
34
+ return;
35
+ }
36
+ if (state.isVisible &&
37
+ (!lastShownStateRef.current ||
38
+ lastShownStateRef.current.title !== state.title ||
39
+ lastShownStateRef.current.description !== state.description ||
40
+ lastShownStateRef.current.variant !== state.variant)) {
41
+ lastShownStateRef.current = state;
42
+ ToastComponent.show({
43
+ type: mapInfoTypeToToastType(state.variant),
44
+ text1: state.title,
45
+ text2: state.description,
46
+ position,
47
+ topOffset,
48
+ bottomOffset,
49
+ visibilityTime: visibilityTime ?? state.duration ?? 4000,
50
+ });
51
+ }
52
+ else if (!state.isVisible && lastShownStateRef.current?.isVisible) {
53
+ lastShownStateRef.current = state;
54
+ ToastComponent.hide();
55
+ }
56
+ }, [
57
+ state,
58
+ ToastComponent,
59
+ position,
60
+ topOffset,
61
+ bottomOffset,
62
+ visibilityTime,
63
+ ]);
64
+ if (!ToastComponent) {
65
+ return null;
66
+ }
67
+ return _jsx(ToastComponent, { config: toastConfig });
68
+ }
69
+ //# sourceMappingURL=InfoBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBanner.js","sourceRoot":"","sources":["../../src/info/InfoBanner.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, type BannerState, type BannerStateListener, } from './info.rn.js';
2
+ export { InfoBanner, useInfoBanner, type InfoBannerProps, } from './InfoBanner.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/info/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { RNInfoService, createRNInfoService, initializeInfoService, getInfoService, resetInfoService, mapInfoTypeToToastType, } from './info.rn.js';
2
+ export { InfoBanner, useInfoBanner, } from './InfoBanner.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/info/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,aAAa,GAEd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type InfoInterface } from '@sudobility/di';
2
+ import { InfoType, type Optional } from '@sudobility/types';
3
+ export interface BannerState {
4
+ isVisible: boolean;
5
+ title: string;
6
+ description: string;
7
+ variant: InfoType;
8
+ duration?: number;
9
+ }
10
+ export type BannerStateListener = (state: BannerState) => void;
11
+ export declare function mapInfoTypeToToastType(type: InfoType): 'success' | 'error' | 'info';
12
+ export declare class RNInfoService implements InfoInterface {
13
+ private state;
14
+ private listeners;
15
+ private dismissTimeoutId;
16
+ subscribe(listener: BannerStateListener): () => void;
17
+ getState(): BannerState;
18
+ dismiss(): void;
19
+ show(title: string, text: string, type: InfoType, interval?: Optional<number>): void;
20
+ private setState;
21
+ private notifyListeners;
22
+ private clearDismissTimeout;
23
+ }
24
+ export declare function createRNInfoService(): RNInfoService;
25
+ export declare function initializeInfoService(service?: RNInfoService): void;
26
+ export declare function getInfoService(): RNInfoService;
27
+ export declare function resetInfoService(): void;
28
+ //# sourceMappingURL=info.rn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.rn.d.ts","sourceRoot":"","sources":["../../src/info/info.rn.ts"],"names":[],"mappings":"AAkCA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK5D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAK/D,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,GACb,SAAS,GAAG,OAAO,GAAG,MAAM,CAY9B;AASD,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,gBAAgB,CAA8C;IAMtE,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAYpD,QAAQ,IAAI,WAAW;IAOvB,OAAO,IAAI,IAAI;IAWf,IAAI,CACF,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,IAAI;IAyBP,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;CAM5B;AAKD,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAOnE;AAMD,wBAAgB,cAAc,IAAI,aAAa,CAO9C;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
@@ -0,0 +1,97 @@
1
+ import { initializeInfoService as initializeDiInfoService, } from '@sudobility/di';
2
+ import { InfoType } from '@sudobility/types';
3
+ export function mapInfoTypeToToastType(type) {
4
+ switch (type) {
5
+ case InfoType.SUCCESS:
6
+ return 'success';
7
+ case InfoType.ERROR:
8
+ return 'error';
9
+ case InfoType.WARNING:
10
+ return 'error';
11
+ case InfoType.INFO:
12
+ default:
13
+ return 'info';
14
+ }
15
+ }
16
+ export class RNInfoService {
17
+ constructor() {
18
+ this.state = {
19
+ isVisible: false,
20
+ title: '',
21
+ description: '',
22
+ variant: InfoType.INFO,
23
+ };
24
+ this.listeners = new Set();
25
+ this.dismissTimeoutId = null;
26
+ }
27
+ subscribe(listener) {
28
+ this.listeners.add(listener);
29
+ listener(this.state);
30
+ return () => {
31
+ this.listeners.delete(listener);
32
+ };
33
+ }
34
+ getState() {
35
+ return this.state;
36
+ }
37
+ dismiss() {
38
+ this.clearDismissTimeout();
39
+ this.setState({
40
+ ...this.state,
41
+ isVisible: false,
42
+ });
43
+ }
44
+ show(title, text, type, interval) {
45
+ this.clearDismissTimeout();
46
+ const newState = {
47
+ isVisible: true,
48
+ title,
49
+ description: text,
50
+ variant: type,
51
+ };
52
+ if (interval != null) {
53
+ newState.duration = interval;
54
+ }
55
+ this.setState(newState);
56
+ const dismissAfter = interval ?? 4000;
57
+ if (dismissAfter > 0) {
58
+ this.dismissTimeoutId = setTimeout(() => {
59
+ this.dismiss();
60
+ }, dismissAfter);
61
+ }
62
+ }
63
+ setState(newState) {
64
+ this.state = newState;
65
+ this.notifyListeners();
66
+ }
67
+ notifyListeners() {
68
+ this.listeners.forEach((listener) => listener(this.state));
69
+ }
70
+ clearDismissTimeout() {
71
+ if (this.dismissTimeoutId) {
72
+ clearTimeout(this.dismissTimeoutId);
73
+ this.dismissTimeoutId = null;
74
+ }
75
+ }
76
+ }
77
+ export function createRNInfoService() {
78
+ return new RNInfoService();
79
+ }
80
+ let infoServiceInstance = null;
81
+ export function initializeInfoService(service) {
82
+ if (infoServiceInstance) {
83
+ return;
84
+ }
85
+ infoServiceInstance = service ?? new RNInfoService();
86
+ initializeDiInfoService(infoServiceInstance);
87
+ }
88
+ export function getInfoService() {
89
+ if (!infoServiceInstance) {
90
+ throw new Error('Info service not initialized. Call initializeInfoService() at app startup.');
91
+ }
92
+ return infoServiceInstance;
93
+ }
94
+ export function resetInfoService() {
95
+ infoServiceInstance = null;
96
+ }
97
+ //# sourceMappingURL=info.rn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.rn.js","sourceRoot":"","sources":["../../src/info/info.rn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { initializeRNApp, type RNAppInitOptions, type RevenueCatConfig, type RNFirebaseOptions, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, type AnalyticsEventParams, getAnalyticsClient, } from './initialize.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/initialize/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGtB,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,oBAAoB,EAGzB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { initializeRNApp, FirebaseAnalyticsService, initializeFirebaseAnalytics, getAnalyticsService, resetAnalyticsService, getAnalyticsClient, } from './initialize.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/initialize/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,eAAe,EAMf,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EAIrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { getAnalyticsClient } from '../analytics/analytics.rn.js';
2
+ export interface AnalyticsEventParams {
3
+ [key: string]: unknown;
4
+ }
5
+ export declare class FirebaseAnalyticsService {
6
+ trackEvent(eventName: string, params?: AnalyticsEventParams): void;
7
+ trackScreenView(screenName: string, screenClass?: string): void;
8
+ trackButtonClick(buttonName: string, params?: AnalyticsEventParams): void;
9
+ trackLinkClick(linkUrl: string, linkText?: string, params?: AnalyticsEventParams): void;
10
+ trackError(errorMessage: string, errorCode?: string): void;
11
+ isEnabled(): boolean;
12
+ }
13
+ export declare function initializeFirebaseAnalytics(): FirebaseAnalyticsService;
14
+ export declare function getAnalyticsService(): FirebaseAnalyticsService;
15
+ export declare function resetAnalyticsService(): void;
16
+ export interface RevenueCatConfig {
17
+ apiKey: string;
18
+ apiKeySandbox?: string;
19
+ isProduction?: boolean;
20
+ freeTierPackage?: {
21
+ packageId: string;
22
+ name: string;
23
+ };
24
+ }
25
+ export interface RNFirebaseOptions {
26
+ enableAnalytics?: boolean;
27
+ enableRemoteConfig?: boolean;
28
+ enableMessaging?: boolean;
29
+ enableDevelopmentMode?: boolean;
30
+ }
31
+ export interface RNAppInitOptions {
32
+ enableFirebaseAuth?: boolean;
33
+ revenueCatConfig?: RevenueCatConfig;
34
+ initializeI18n?: () => void | Promise<void>;
35
+ firebaseOptions?: RNFirebaseOptions;
36
+ }
37
+ export declare function initializeRNApp(options?: RNAppInitOptions): Promise<FirebaseAnalyticsService>;
38
+ export { getAnalyticsClient };
39
+ //# sourceMappingURL=initialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../src/initialize/initialize.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD,qBAAa,wBAAwB;IAInC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAiBlE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAU/D,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAUzE,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,IAAI;IAWP,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAU1D,SAAS,IAAI,OAAO;CAQrB;AAQD,wBAAgB,2BAA2B,IAAI,wBAAwB,CAKtE;AAMD,wBAAgB,mBAAmB,IAAI,wBAAwB,CAO9D;AAKD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AASD,MAAM,WAAW,gBAAgB;IAE/B,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAKD,MAAM,WAAW,iBAAiB;IAEhC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAKD,MAAM,WAAW,gBAAgB;IAE/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5C,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAkBD,wBAAsB,eAAe,CACnC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CA8EnC;AAKD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { initializeFirebaseService, getFirebaseService, initializeNetworkService as initializeDiNetworkService, } from '@sudobility/di/rn';
2
+ import { initializeStorageService } from '../index.js';
3
+ import { initializeInfoService } from '../info/index.js';
4
+ import { initializeAnalyticsClient, getAnalyticsClient, } from '../analytics/analytics.rn.js';
5
+ export class FirebaseAnalyticsService {
6
+ trackEvent(eventName, params) {
7
+ try {
8
+ const service = getFirebaseService();
9
+ if (service.analytics.isSupported()) {
10
+ service.analytics.logEvent(eventName, {
11
+ ...params,
12
+ timestamp: Date.now(),
13
+ });
14
+ }
15
+ }
16
+ catch {
17
+ }
18
+ }
19
+ trackScreenView(screenName, screenClass) {
20
+ this.trackEvent('screen_view', {
21
+ screen_name: screenName,
22
+ screen_class: screenClass ?? screenName,
23
+ });
24
+ }
25
+ trackButtonClick(buttonName, params) {
26
+ this.trackEvent('button_click', {
27
+ button_name: buttonName,
28
+ ...params,
29
+ });
30
+ }
31
+ trackLinkClick(linkUrl, linkText, params) {
32
+ this.trackEvent('link_click', {
33
+ link_url: linkUrl,
34
+ link_text: linkText,
35
+ ...params,
36
+ });
37
+ }
38
+ trackError(errorMessage, errorCode) {
39
+ this.trackEvent('error_occurred', {
40
+ error_message: errorMessage,
41
+ error_code: errorCode,
42
+ });
43
+ }
44
+ isEnabled() {
45
+ try {
46
+ const service = getFirebaseService();
47
+ return service.analytics.isSupported();
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ }
54
+ let analyticsService = null;
55
+ export function initializeFirebaseAnalytics() {
56
+ if (!analyticsService) {
57
+ analyticsService = new FirebaseAnalyticsService();
58
+ }
59
+ return analyticsService;
60
+ }
61
+ export function getAnalyticsService() {
62
+ if (!analyticsService) {
63
+ throw new Error('Analytics service not initialized. Call initializeFirebaseAnalytics() first.');
64
+ }
65
+ return analyticsService;
66
+ }
67
+ export function resetAnalyticsService() {
68
+ analyticsService = null;
69
+ }
70
+ export async function initializeRNApp(options = {}) {
71
+ const { enableFirebaseAuth = false, revenueCatConfig, initializeI18n, firebaseOptions, } = options;
72
+ initializeStorageService();
73
+ initializeFirebaseService(firebaseOptions);
74
+ const analytics = initializeFirebaseAnalytics();
75
+ initializeAnalyticsClient();
76
+ if (enableFirebaseAuth) {
77
+ try {
78
+ const authLib = await import('@sudobility/auth_lib');
79
+ authLib.initializeFirebaseAuth();
80
+ initializeDiNetworkService(new authLib.FirebaseAuthNetworkService());
81
+ }
82
+ catch (error) {
83
+ console.error('[di_rn] Failed to initialize Firebase Auth. Make sure @sudobility/auth_lib is installed.', error);
84
+ initializeDiNetworkService();
85
+ }
86
+ }
87
+ else {
88
+ initializeDiNetworkService();
89
+ }
90
+ initializeInfoService();
91
+ if (revenueCatConfig) {
92
+ try {
93
+ const subscriptionLib = await import('@sudobility/subscription_lib');
94
+ const isProduction = revenueCatConfig.isProduction ?? true;
95
+ const apiKey = isProduction
96
+ ? revenueCatConfig.apiKey
97
+ : (revenueCatConfig.apiKeySandbox ?? revenueCatConfig.apiKey);
98
+ subscriptionLib.configureRevenueCatAdapter(apiKey);
99
+ subscriptionLib.initializeSubscription({
100
+ adapter: subscriptionLib.createRevenueCatAdapter(),
101
+ freeTier: revenueCatConfig.freeTierPackage ?? {
102
+ packageId: 'free',
103
+ name: 'Free',
104
+ },
105
+ });
106
+ }
107
+ catch (error) {
108
+ console.error('[di_rn] Failed to initialize RevenueCat. Make sure @sudobility/subscription_lib is installed.', error);
109
+ }
110
+ }
111
+ if (initializeI18n) {
112
+ await initializeI18n();
113
+ }
114
+ return analytics;
115
+ }
116
+ export { getAnalyticsClient };
117
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize/initialize.ts"],"names":[],"mappings":"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"}