react-native-inapp-inspector 2.3.24 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +26 -5
  2. package/dist/commonjs/components/AnalyticsDetail.js +15 -12
  3. package/dist/commonjs/components/AnalyticsEventCard.js +11 -8
  4. package/dist/commonjs/components/AppHeaderLogo.js +4 -6
  5. package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -0
  6. package/dist/commonjs/components/ConsoleLogCard.js +92 -80
  7. package/dist/commonjs/components/EndOfListFooter.d.ts +5 -1
  8. package/dist/commonjs/components/EndOfListFooter.js +27 -5
  9. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
  10. package/dist/commonjs/components/Inspector/AnalyticsTab.js +27 -299
  11. package/dist/commonjs/components/Inspector/ConsoleTab.js +36 -94
  12. package/dist/commonjs/components/Inspector/CrashDetail.js +11 -10
  13. package/dist/commonjs/components/Inspector/CrashTab.js +43 -33
  14. package/dist/commonjs/components/Inspector/DebuggingTab.js +13 -13
  15. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +107 -71
  16. package/dist/commonjs/components/Inspector/FabLauncher.js +8 -9
  17. package/dist/commonjs/components/Inspector/InspectorHeader.js +93 -70
  18. package/dist/commonjs/components/Inspector/LogDetail.js +10 -7
  19. package/dist/commonjs/components/Inspector/MainScreen.js +66 -30
  20. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +1 -1
  21. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +3 -3
  22. package/dist/commonjs/components/Inspector/NetworkDetail.js +29 -28
  23. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +1 -1
  24. package/dist/commonjs/components/Inspector/NetworkTab.js +87 -85
  25. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +3 -3
  26. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +21 -22
  27. package/dist/commonjs/components/Inspector/PushCard.d.ts +4 -0
  28. package/dist/commonjs/components/Inspector/PushCard.js +89 -0
  29. package/dist/commonjs/components/Inspector/PushDetail.d.ts +4 -0
  30. package/dist/commonjs/components/Inspector/PushDetail.js +190 -0
  31. package/dist/commonjs/components/Inspector/PushTab.d.ts +3 -0
  32. package/dist/commonjs/components/Inspector/PushTab.js +45 -0
  33. package/dist/commonjs/components/Inspector/ReduxDetail.js +16 -13
  34. package/dist/commonjs/components/Inspector/ReduxTab.js +109 -106
  35. package/dist/commonjs/components/Inspector/SettingsPanel.js +230 -134
  36. package/dist/commonjs/components/Inspector/StorageTab.js +55 -51
  37. package/dist/commonjs/components/Inspector/TabBar.js +30 -26
  38. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  39. package/dist/commonjs/components/JsonViewer.js +151 -159
  40. package/dist/commonjs/components/LogCard.js +34 -38
  41. package/dist/commonjs/components/LogSyntaxHighlighter.js +3 -3
  42. package/dist/commonjs/components/ModuleErrorBoundary.d.ts +24 -0
  43. package/dist/commonjs/components/ModuleErrorBoundary.js +33 -0
  44. package/dist/commonjs/components/NetworkIcons.d.ts +3 -3
  45. package/dist/commonjs/components/NetworkIcons.js +10 -6
  46. package/dist/commonjs/components/SegmentedTabs.d.ts +8 -2
  47. package/dist/commonjs/components/SegmentedTabs.js +11 -7
  48. package/dist/commonjs/components/ShareButton.d.ts +11 -0
  49. package/dist/commonjs/components/ShareButton.js +6 -0
  50. package/dist/commonjs/constants/index.js +1 -1
  51. package/dist/commonjs/constants/version.d.ts +1 -1
  52. package/dist/commonjs/constants/version.js +1 -1
  53. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  54. package/dist/commonjs/customHooks/networkLogger.js +1 -2
  55. package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
  56. package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
  57. package/dist/commonjs/helpers/index.d.ts +6 -0
  58. package/dist/commonjs/helpers/index.js +4 -4
  59. package/dist/commonjs/helpers/memoryManager.d.ts +2 -2
  60. package/dist/commonjs/helpers/memoryManager.js +1 -1
  61. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  62. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  63. package/dist/commonjs/helpers/settingsStore.js +1 -1
  64. package/dist/commonjs/helpers/shareFormatter.d.ts +13 -0
  65. package/dist/commonjs/helpers/shareFormatter.js +7 -0
  66. package/dist/commonjs/i18n/index.d.ts +35 -0
  67. package/dist/commonjs/i18n/index.js +1 -1
  68. package/dist/commonjs/i18n/locales/ar.json +1 -0
  69. package/dist/commonjs/i18n/locales/de.json +1 -0
  70. package/dist/commonjs/i18n/locales/en.json +1 -1
  71. package/dist/commonjs/i18n/locales/es.json +1 -0
  72. package/dist/commonjs/i18n/locales/fr.json +1 -0
  73. package/dist/commonjs/i18n/locales/hi.json +1 -0
  74. package/dist/commonjs/i18n/locales/ja.json +1 -0
  75. package/dist/commonjs/i18n/locales/ko.json +1 -0
  76. package/dist/commonjs/i18n/locales/pt.json +1 -0
  77. package/dist/commonjs/i18n/locales/ru.json +1 -0
  78. package/dist/commonjs/i18n/locales/zh.json +1 -0
  79. package/dist/commonjs/index.d.ts +6 -5
  80. package/dist/commonjs/index.js +4 -4
  81. package/dist/commonjs/push.d.ts +4 -0
  82. package/dist/commonjs/push.js +1 -0
  83. package/dist/commonjs/styles/AppColors.d.ts +40 -0
  84. package/dist/commonjs/styles/AppColors.js +1 -1
  85. package/dist/commonjs/styles/index.js +1 -1
  86. package/dist/commonjs/types/enums.d.ts +30 -20
  87. package/dist/commonjs/types/enums.js +1 -1
  88. package/dist/commonjs/types/index.d.ts +10 -0
  89. package/dist/commonjs/types/interfaces.d.ts +63 -7
  90. package/dist/esm/components/AnalyticsDetail.js +84 -81
  91. package/dist/esm/components/AnalyticsEventCard.js +20 -17
  92. package/dist/esm/components/AppHeaderLogo.js +5 -7
  93. package/dist/esm/components/ConsoleLogCard.d.ts +1 -0
  94. package/dist/esm/components/ConsoleLogCard.js +98 -86
  95. package/dist/esm/components/EndOfListFooter.d.ts +5 -1
  96. package/dist/esm/components/EndOfListFooter.js +36 -14
  97. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
  98. package/dist/esm/components/Inspector/AnalyticsTab.js +44 -316
  99. package/dist/esm/components/Inspector/ConsoleTab.js +55 -113
  100. package/dist/esm/components/Inspector/CrashDetail.js +53 -52
  101. package/dist/esm/components/Inspector/CrashTab.js +74 -64
  102. package/dist/esm/components/Inspector/DebuggingTab.js +33 -33
  103. package/dist/esm/components/Inspector/DeviceInfoTab.js +174 -138
  104. package/dist/esm/components/Inspector/FabLauncher.js +41 -42
  105. package/dist/esm/components/Inspector/InspectorHeader.js +138 -115
  106. package/dist/esm/components/Inspector/LogDetail.js +24 -21
  107. package/dist/esm/components/Inspector/MainScreen.js +98 -62
  108. package/dist/esm/components/Inspector/MediaGalleryTab.js +1 -1
  109. package/dist/esm/components/Inspector/MediaPreviewModal.js +31 -31
  110. package/dist/esm/components/Inspector/NetworkDetail.js +88 -87
  111. package/dist/esm/components/Inspector/NetworkFilterModal.js +8 -8
  112. package/dist/esm/components/Inspector/NetworkTab.js +132 -130
  113. package/dist/esm/components/Inspector/NpmStarPrompt.js +42 -42
  114. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -46
  115. package/dist/esm/components/Inspector/PushCard.d.ts +4 -0
  116. package/dist/esm/components/Inspector/PushCard.js +89 -0
  117. package/dist/esm/components/Inspector/PushDetail.d.ts +4 -0
  118. package/dist/esm/components/Inspector/PushDetail.js +190 -0
  119. package/dist/esm/components/Inspector/PushTab.d.ts +3 -0
  120. package/dist/esm/components/Inspector/PushTab.js +45 -0
  121. package/dist/esm/components/Inspector/ReduxDetail.js +40 -37
  122. package/dist/esm/components/Inspector/ReduxTab.js +155 -152
  123. package/dist/esm/components/Inspector/SettingsPanel.js +380 -284
  124. package/dist/esm/components/Inspector/StorageTab.js +177 -173
  125. package/dist/esm/components/Inspector/TabBar.js +38 -34
  126. package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
  127. package/dist/esm/components/JsonViewer.js +161 -169
  128. package/dist/esm/components/LogCard.js +38 -42
  129. package/dist/esm/components/LogSyntaxHighlighter.js +1 -1
  130. package/dist/esm/components/ModuleErrorBoundary.d.ts +24 -0
  131. package/dist/esm/components/ModuleErrorBoundary.js +33 -0
  132. package/dist/esm/components/NetworkIcons.d.ts +3 -3
  133. package/dist/esm/components/NetworkIcons.js +7 -3
  134. package/dist/esm/components/SegmentedTabs.d.ts +8 -2
  135. package/dist/esm/components/SegmentedTabs.js +12 -8
  136. package/dist/esm/components/ShareButton.d.ts +11 -0
  137. package/dist/esm/components/ShareButton.js +6 -0
  138. package/dist/esm/constants/index.js +1 -1
  139. package/dist/esm/constants/version.d.ts +1 -1
  140. package/dist/esm/constants/version.js +1 -1
  141. package/dist/esm/customHooks/crashHandler.js +6 -6
  142. package/dist/esm/customHooks/networkLogger.js +1 -2
  143. package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
  144. package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
  145. package/dist/esm/helpers/index.d.ts +6 -0
  146. package/dist/esm/helpers/index.js +4 -4
  147. package/dist/esm/helpers/memoryManager.d.ts +2 -2
  148. package/dist/esm/helpers/memoryManager.js +1 -1
  149. package/dist/esm/helpers/remoteConfig.js +1 -1
  150. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  151. package/dist/esm/helpers/settingsStore.js +1 -1
  152. package/dist/esm/helpers/shareFormatter.d.ts +13 -0
  153. package/dist/esm/helpers/shareFormatter.js +7 -0
  154. package/dist/esm/i18n/index.d.ts +35 -0
  155. package/dist/esm/i18n/index.js +1 -1
  156. package/dist/esm/i18n/locales/ar.json +1 -0
  157. package/dist/esm/i18n/locales/de.json +1 -0
  158. package/dist/esm/i18n/locales/en.json +1 -1
  159. package/dist/esm/i18n/locales/es.json +1 -0
  160. package/dist/esm/i18n/locales/fr.json +1 -0
  161. package/dist/esm/i18n/locales/hi.json +1 -0
  162. package/dist/esm/i18n/locales/ja.json +1 -0
  163. package/dist/esm/i18n/locales/ko.json +1 -0
  164. package/dist/esm/i18n/locales/pt.json +1 -0
  165. package/dist/esm/i18n/locales/ru.json +1 -0
  166. package/dist/esm/i18n/locales/zh.json +1 -0
  167. package/dist/esm/index.d.ts +6 -5
  168. package/dist/esm/index.js +7 -7
  169. package/dist/esm/push.d.ts +4 -0
  170. package/dist/esm/push.js +1 -0
  171. package/dist/esm/styles/AppColors.d.ts +40 -0
  172. package/dist/esm/styles/AppColors.js +1 -1
  173. package/dist/esm/styles/index.js +1 -1
  174. package/dist/esm/types/enums.d.ts +30 -20
  175. package/dist/esm/types/enums.js +1 -1
  176. package/dist/esm/types/index.d.ts +10 -0
  177. package/dist/esm/types/interfaces.d.ts +63 -7
  178. package/package.json +53 -24
  179. package/src/native/NativeInspector.ts +0 -1
  180. package/dist/commonjs/bundle.d.ts +0 -2
  181. package/dist/commonjs/bundle.js +0 -1
  182. package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
  183. package/dist/commonjs/components/BrandSquareIcon.js +0 -112
  184. package/dist/commonjs/components/Inspector/BundleTab.d.ts +0 -48
  185. package/dist/commonjs/components/Inspector/BundleTab.js +0 -1297
  186. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +0 -27
  187. package/dist/commonjs/components/Inspector/PerformanceTab.js +0 -454
  188. package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +0 -115
  189. package/dist/commonjs/customHooks/bundleAnalyzer.js +0 -1
  190. package/dist/commonjs/customHooks/performanceTracker.d.ts +0 -144
  191. package/dist/commonjs/customHooks/performanceTracker.js +0 -63
  192. package/dist/commonjs/performance.d.ts +0 -2
  193. package/dist/commonjs/performance.js +0 -1
  194. package/dist/esm/bundle.d.ts +0 -2
  195. package/dist/esm/bundle.js +0 -1
  196. package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
  197. package/dist/esm/components/BrandSquareIcon.js +0 -112
  198. package/dist/esm/components/Inspector/BundleTab.d.ts +0 -48
  199. package/dist/esm/components/Inspector/BundleTab.js +0 -1297
  200. package/dist/esm/components/Inspector/PerformanceTab.d.ts +0 -27
  201. package/dist/esm/components/Inspector/PerformanceTab.js +0 -454
  202. package/dist/esm/customHooks/bundleAnalyzer.d.ts +0 -115
  203. package/dist/esm/customHooks/bundleAnalyzer.js +0 -1
  204. package/dist/esm/customHooks/performanceTracker.d.ts +0 -144
  205. package/dist/esm/customHooks/performanceTracker.js +0 -63
  206. package/dist/esm/performance.d.ts +0 -2
  207. package/dist/esm/performance.js +0 -1
@@ -3,9 +3,8 @@ export declare const ActiveTab: {
3
3
  readonly Analytics: "analytics";
4
4
  readonly Logs: "logs";
5
5
  readonly Redux: "redux";
6
- readonly Bundle: "bundle";
7
- readonly Performance: "performance";
8
6
  readonly Crash: "crash";
7
+ readonly Push: "push";
9
8
  readonly Device: "device";
10
9
  readonly Storage: "storage";
11
10
  readonly Debugging: "debugging";
@@ -56,13 +55,12 @@ export declare const SettingsPage: {
56
55
  readonly Logs: "logs";
57
56
  readonly Analytics: "analytics";
58
57
  readonly Redux: "redux";
59
- readonly Bundle: "bundle";
60
- readonly Performance: "performance";
61
58
  readonly Crash: "crash";
62
59
  readonly Device: "device";
63
60
  readonly Storage: "storage";
64
61
  readonly Debugging: "debugging";
65
62
  readonly Media: "media";
63
+ readonly Push: "push";
66
64
  };
67
65
  export type SettingsPage = (typeof SettingsPage)[keyof typeof SettingsPage] | null;
68
66
  export declare const SettingsSubTab: {
@@ -112,22 +110,6 @@ export declare const DiffResultType: {
112
110
  readonly Changed: "changed";
113
111
  };
114
112
  export type DiffResultType = (typeof DiffResultType)[keyof typeof DiffResultType];
115
- export declare const BundleSubTab: {
116
- readonly Overview: "overview";
117
- readonly Production: "production";
118
- readonly Files: "files";
119
- readonly Packages: "packages";
120
- readonly Media: "media";
121
- readonly Optimizer: "optimizer";
122
- };
123
- export type BundleSubTab = (typeof BundleSubTab)[keyof typeof BundleSubTab];
124
- export declare const PerformanceSubTab: {
125
- readonly Overview: "overview";
126
- readonly Renders: "renders";
127
- readonly Interactions: "interactions";
128
- readonly Memory: "memory";
129
- };
130
- export type PerformanceSubTab = (typeof PerformanceSubTab)[keyof typeof PerformanceSubTab];
131
113
  export declare const CrashType: {
132
114
  readonly Native: "native";
133
115
  readonly Js: "js";
@@ -167,3 +149,31 @@ export declare const BreadcrumbType: {
167
149
  readonly System: "system";
168
150
  };
169
151
  export type BreadcrumbType = (typeof BreadcrumbType)[keyof typeof BreadcrumbType];
152
+ export declare const PushAppState: {
153
+ readonly Foreground: "foreground";
154
+ readonly Background: "background";
155
+ readonly Quit: "quit";
156
+ readonly ColdStart: "cold_start";
157
+ };
158
+ export type PushAppState = (typeof PushAppState)[keyof typeof PushAppState] | string;
159
+ export declare const PushActionType: {
160
+ readonly Received: "received";
161
+ readonly Opened: "opened";
162
+ readonly Dismissed: "dismissed";
163
+ readonly ActionPress: "action_press";
164
+ };
165
+ export type PushActionType = (typeof PushActionType)[keyof typeof PushActionType] | string;
166
+ export declare const PushDetailSubTab: {
167
+ readonly Preview: "preview";
168
+ readonly Payload: "payload";
169
+ readonly Headers: "headers";
170
+ readonly Raw: "raw";
171
+ };
172
+ export type PushDetailSubTab = (typeof PushDetailSubTab)[keyof typeof PushDetailSubTab];
173
+ export declare const PushFilterType: {
174
+ readonly All: "all";
175
+ readonly Foreground: "foreground";
176
+ readonly Background: "background";
177
+ readonly Opened: "opened";
178
+ };
179
+ export type PushFilterType = (typeof PushFilterType)[keyof typeof PushFilterType] | string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.PerformanceSubTab=exports.BundleSubTab=exports.DiffResultType=exports.StackFrameType=exports.GAEventCategory=exports.AnalyticsEventSource=exports.ConsoleLogType=exports.LogFilter=exports.SettingsSubTab=exports.SettingsPage=exports.ModalAnimationType=exports.LocalFilter=exports.SortOrder=exports.StatusFilter=exports.Method=exports.ActiveTab=void 0,exports.ActiveTab={Apis:"apis",Analytics:"analytics",Logs:"logs",Redux:"redux",Bundle:"bundle",Performance:"performance",Crash:"crash",Device:"device",Storage:"storage",Debugging:"debugging",Media:"media"},exports.Method={All:"ALL",Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Query:"QUERY",Options:"OPTIONS",Head:"HEAD"},exports.StatusFilter={All:"ALL",TwoXx:"2xx",ThreeXx:"3xx",FourXx:"4xx",FiveXx:"5xx",Failed:"Failed"},exports.SortOrder={Newest:"newest",Oldest:"oldest"},exports.LocalFilter={Success:"success",Failed:"failed",Loading:"loading"},exports.ModalAnimationType={Slide:"slide",Fade:"fade",None:"none"},exports.SettingsPage={Main:"main",Apis:"apis",Logs:"logs",Analytics:"analytics",Redux:"redux",Bundle:"bundle",Performance:"performance",Crash:"crash",Device:"device",Storage:"storage",Debugging:"debugging",Media:"media"},exports.SettingsSubTab={Module:"module",Ui:"ui",Limits:"limits",Capture:"capture"},exports.LogFilter={All:"all",Info:"info",Warn:"warn",Error:"error",UserLog:"user-log",Analytics:"analytics"},exports.ConsoleLogType={Info:"info",Warn:"warn",Error:"error"},exports.AnalyticsEventSource={Firebase:"firebase",Manual:"manual"},exports.GAEventCategory={PageView:"page_view",Ecommerce:"ecommerce",System:"system",Custom:"custom"},exports.StackFrameType={App:"app",Dependency:"dependency",Runtime:"runtime",Native:"native"},exports.DiffResultType={Added:"added",Removed:"removed",Changed:"changed"},exports.BundleSubTab={Overview:"overview",Production:"production",Files:"files",Packages:"packages",Media:"media",Optimizer:"optimizer"},exports.PerformanceSubTab={Overview:"overview",Renders:"renders",Interactions:"interactions",Memory:"memory"},exports.CrashType={Native:"native",Js:"js",Promise:"promise",Render:"render",Custom:"custom"},exports.CrashExportFormat={Text:"text",Markdown:"markdown",Json:"json"},exports.CrashDetailSubTab={Stack:"stack",Diagnostics:"diagnostics",Breadcrumbs:"breadcrumbs",Raw:"raw"},exports.CrashFilterType={All:"all",Fatal:"fatal",Js:"js",Promise:"promise",Render:"render",Native:"native"},exports.BreadcrumbType={Navigation:"navigation",Network:"network",Redux:"redux",Console:"console",User:"user",System:"system"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PushFilterType=exports.PushDetailSubTab=exports.PushActionType=exports.PushAppState=exports.BreadcrumbType=exports.CrashFilterType=exports.CrashDetailSubTab=exports.CrashExportFormat=exports.CrashType=exports.DiffResultType=exports.StackFrameType=exports.GAEventCategory=exports.AnalyticsEventSource=exports.ConsoleLogType=exports.LogFilter=exports.SettingsSubTab=exports.SettingsPage=exports.ModalAnimationType=exports.LocalFilter=exports.SortOrder=exports.StatusFilter=exports.Method=exports.ActiveTab=void 0,exports.ActiveTab={Apis:"apis",Analytics:"analytics",Logs:"logs",Redux:"redux",Crash:"crash",Push:"push",Device:"device",Storage:"storage",Debugging:"debugging",Media:"media"},exports.Method={All:"ALL",Get:"GET",Post:"POST",Put:"PUT",Patch:"PATCH",Delete:"DELETE",Query:"QUERY",Options:"OPTIONS",Head:"HEAD"},exports.StatusFilter={All:"ALL",TwoXx:"2xx",ThreeXx:"3xx",FourXx:"4xx",FiveXx:"5xx",Failed:"Failed"},exports.SortOrder={Newest:"newest",Oldest:"oldest"},exports.LocalFilter={Success:"success",Failed:"failed",Loading:"loading"},exports.ModalAnimationType={Slide:"slide",Fade:"fade",None:"none"},exports.SettingsPage={Main:"main",Apis:"apis",Logs:"logs",Analytics:"analytics",Redux:"redux",Crash:"crash",Device:"device",Storage:"storage",Debugging:"debugging",Media:"media",Push:"push"},exports.SettingsSubTab={Module:"module",Ui:"ui",Limits:"limits",Capture:"capture"},exports.LogFilter={All:"all",Info:"info",Warn:"warn",Error:"error",UserLog:"user-log",Analytics:"analytics"},exports.ConsoleLogType={Info:"info",Warn:"warn",Error:"error"},exports.AnalyticsEventSource={Firebase:"firebase",Manual:"manual"},exports.GAEventCategory={PageView:"page_view",Ecommerce:"ecommerce",System:"system",Custom:"custom"},exports.StackFrameType={App:"app",Dependency:"dependency",Runtime:"runtime",Native:"native"},exports.DiffResultType={Added:"added",Removed:"removed",Changed:"changed"},exports.CrashType={Native:"native",Js:"js",Promise:"promise",Render:"render",Custom:"custom"},exports.CrashExportFormat={Text:"text",Markdown:"markdown",Json:"json"},exports.CrashDetailSubTab={Stack:"stack",Diagnostics:"diagnostics",Breadcrumbs:"breadcrumbs",Raw:"raw"},exports.CrashFilterType={All:"all",Fatal:"fatal",Js:"js",Promise:"promise",Render:"render",Native:"native"},exports.BreadcrumbType={Navigation:"navigation",Network:"network",Redux:"redux",Console:"console",User:"user",System:"system"},exports.PushAppState={Foreground:"foreground",Background:"background",Quit:"quit",ColdStart:"cold_start"},exports.PushActionType={Received:"received",Opened:"opened",Dismissed:"dismissed",ActionPress:"action_press"},exports.PushDetailSubTab={Preview:"preview",Payload:"payload",Headers:"headers",Raw:"raw"},exports.PushFilterType={All:"all",Foreground:"foreground",Background:"background",Opened:"opened"};
@@ -22,6 +22,16 @@ export type GroupedListItem = {
22
22
  log: NetworkLog;
23
23
  isLast: boolean;
24
24
  color: string;
25
+ } | {
26
+ type: 'loadMore';
27
+ id: string | number;
28
+ pageName: string;
29
+ color: string;
30
+ remainingCount: number;
31
+ totalCount: number;
32
+ loadedCount: number;
33
+ loadMoreStep: number;
34
+ hasMore: boolean;
25
35
  };
26
36
  export type DiffResult = {
27
37
  type: 'added' | 'removed' | 'changed';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
  import { Animated, PanResponderInstance } from 'react-native';
4
- import type { ActiveTab, BreadcrumbType, CrashType, GroupedListItem, LocalFilter, LogFilter, Method, SettingsPage, SettingsSubTab, SortOrder, StatusFilter } from './index';
4
+ import type { ActiveTab, BreadcrumbType, CrashType, GroupedListItem, LocalFilter, LogFilter, Method, PushActionType, PushAppState, SettingsPage, SettingsSubTab, SortOrder, StatusFilter } from './index';
5
5
  export type SearchScope = 'all' | 'url' | 'reqBody' | 'resBody' | 'headers';
6
6
  export interface ParsedStackFrame {
7
7
  method: string;
@@ -141,6 +141,7 @@ export interface PersistedSettings {
141
141
  maxConsoleLogs?: number;
142
142
  maxAnalyticsEventsLimit?: number;
143
143
  maxCrashLogs?: number;
144
+ maxPushLogsLimit?: number;
144
145
  isAutoRamLimitEnabled?: boolean;
145
146
  showConsoleLevels?: {
146
147
  info: boolean;
@@ -254,9 +255,8 @@ export interface InspectorContextValue {
254
255
  newLogIds: Set<number>;
255
256
  toggleSectionFilter: (pageName: string, filter: LocalFilter) => void;
256
257
  toggleSectionCollapse: (pageName: string) => void;
258
+ loadMoreSection: (pageName: string, step?: number) => void;
257
259
  handleDelete: () => void;
258
- isNetworkPaused: boolean;
259
- setIsNetworkPaused: React.Dispatch<React.SetStateAction<boolean>>;
260
260
  detailTitle: string;
261
261
  detailDisplayUrl: string;
262
262
  apiDetailActiveTab: 'metadata' | 'headers' | 'request' | 'response';
@@ -284,8 +284,6 @@ export interface InspectorContextValue {
284
284
  logCounts: Record<string, string>;
285
285
  logSortOrder: SortOrder;
286
286
  setLogSortOrder: React.Dispatch<React.SetStateAction<SortOrder>>;
287
- isConsolePaused: boolean;
288
- setIsConsolePaused: React.Dispatch<React.SetStateAction<boolean>>;
289
287
  analyticsEvents: AnalyticsEvent[];
290
288
  filteredAnalyticsEvents: (AnalyticsEvent & {
291
289
  count?: number;
@@ -301,8 +299,6 @@ export interface InspectorContextValue {
301
299
  setIsAnalyticsLayoutReady: React.Dispatch<React.SetStateAction<boolean>>;
302
300
  analyticsHeaderExpanded: boolean;
303
301
  setAnalyticsHeaderExpanded: React.Dispatch<React.SetStateAction<boolean>>;
304
- isAnalyticsPaused: boolean;
305
- setIsAnalyticsPaused: React.Dispatch<React.SetStateAction<boolean>>;
306
302
  reduxState: any;
307
303
  setReduxState: React.Dispatch<React.SetStateAction<any>>;
308
304
  reduxLastActionMap: Record<string, any>;
@@ -322,6 +318,20 @@ export interface InspectorContextValue {
322
318
  maxCrashLogs: number;
323
319
  setMaxCrashLogs: React.Dispatch<React.SetStateAction<number>>;
324
320
  clearAllCrashes: () => void;
321
+ pushRecords: PushNotificationRecord[];
322
+ filteredPushRecords: PushNotificationRecord[];
323
+ selectedPush: PushNotificationRecord | null;
324
+ setSelectedPush: React.Dispatch<React.SetStateAction<PushNotificationRecord | null>>;
325
+ pushSearch: string;
326
+ setPushSearch: React.Dispatch<React.SetStateAction<string>>;
327
+ pushQuickFilter: string;
328
+ setPushQuickFilter: React.Dispatch<React.SetStateAction<string>>;
329
+ lastReadPushCount: number;
330
+ unreadPushCount: number;
331
+ maxPushLogs: number;
332
+ setMaxPushLogs: React.Dispatch<React.SetStateAction<number>>;
333
+ clearAllPushLogs: () => void;
334
+ simulatePush: (preset?: 'salesforce' | 'fcm' | 'apns' | 'deeplink' | 'rich_media' | 'custom', customData?: any) => void;
325
335
  settingsActiveSubTab: SettingsSubTab;
326
336
  setSettingsActiveSubTab: React.Dispatch<React.SetStateAction<SettingsSubTab>>;
327
337
  defaultTab: ActiveTab;
@@ -466,3 +476,49 @@ export interface ErrorBoundaryState {
466
476
  hasError: boolean;
467
477
  error: Error | null;
468
478
  }
479
+ export type PushSource = string;
480
+ export interface PushNotificationRecord {
481
+ id: string;
482
+ title?: string;
483
+ body?: string;
484
+ subtitle?: string;
485
+ source: PushSource;
486
+ domain?: string;
487
+ appState: PushAppState;
488
+ action: PushActionType;
489
+ actionId?: string;
490
+ userText?: string;
491
+ timestamp: number;
492
+ data: Record<string, any>;
493
+ rawPayload: any;
494
+ channelId?: string;
495
+ imageUrl?: string;
496
+ sound?: string;
497
+ badge?: number;
498
+ collapseKey?: string;
499
+ priority?: string;
500
+ customDomainAttributes?: Record<string, any>;
501
+ }
502
+ export interface PushFilterState {
503
+ search: string;
504
+ source: string;
505
+ appState: string;
506
+ action: string;
507
+ }
508
+ export interface PushStats {
509
+ total: number;
510
+ foreground: number;
511
+ background: number;
512
+ opened: number;
513
+ sources: Record<string, number>;
514
+ }
515
+ export interface PushCardProps {
516
+ item: PushNotificationRecord;
517
+ onPress: () => void;
518
+ searchStr?: string;
519
+ isNew?: boolean;
520
+ }
521
+ export interface PushDetailProps {
522
+ item: PushNotificationRecord | null;
523
+ onClose: () => void;
524
+ }
@@ -1,4 +1,4 @@
1
- import{useState as q,useMemo as z}from"react";import{Pressable as Ce,ScrollView as Te,StyleSheet as Be,Text as V,TextInput as Ve,View as C}from"react-native";import G from"./CopyButton";import Y from"./JsonViewer";import Se from"./SegmentedTabs";import Q from"./HighlightText";import Ie from"./AnimatedEntrance";import{AppFonts as S}from"../styles/AppFonts";import{AppColors as e}from"../styles/AppColors";import{getSize as ze,formatDateTime as Pe}from"../helpers";import{getEventCategory as De}from"../helpers/gaAnalyticsRegistry";import{useTranslation as Re}from"../i18n";import{SparkleIcon as X,ClockIcon as Fe,SearchIcon as We,ClearIcon as He,LayersIcon as Ee,CartIcon as Ne,GlobeIcon as Ae,BoltIcon as Oe,PinIcon as Ke,MoneyIcon as Le,PrettyIcon as Me,TableIcon as Z,DocIcon as $e,PackageIcon as _e}from"./NetworkIcons";const Je=({event:T})=>{const{t:P}=Re(),[j,ee]=q("overview"),[D,v]=q(""),k=z(()=>T.params??{},[T.params]),H=z(()=>T.userProperties??{},[T.userProperties]),E=z(()=>Object.keys(k),[k]),R=z(()=>Object.keys(H),[H]),M=z(()=>De(T.name,k),[T.name,k]),A=z(()=>({name:T.name,timestamp:T.timestamp,source:T.source,...T.screenName?{screenName:T.screenName}:{},...T.screenClass?{screenClass:T.screenClass}:{},...T.userId?{userId:T.userId}:{},...T.sessionId?{sessionId:T.sessionId}:{},...T.trackingId?{trackingId:T.trackingId}:{},params:k,...R.length>0?{userProperties:H}:{}}),[T,k,R.length,H]),O=z(()=>{const B=k.value??k.price,I=k.currency??"USD";return B!=null&&!isNaN(Number(B))?{amount:Number(B).toFixed(2),currency:String(I).toUpperCase()}:null},[k]),$=z(()=>Array.isArray(k.items)?k.items.length:null,[k.items]),_=z(()=>T.screenName||k.firebase_screen||k.screen_name||k.page_title||T.screenClass||k.firebase_screen_class,[T.screenName,T.screenClass,k]),J=z(()=>{const B=Object.entries(k);if(!D.trim())return B;const I=D.toLowerCase();return B.filter(([K,F])=>{const L=typeof F=="object"?JSON.stringify(F):String(F);return K.toLowerCase().includes(I)||L.toLowerCase().includes(I)})},[k,D]),W=z(()=>{switch(M){case"ecommerce":return{label:P("analytics.ecommerceCategory"),color:e.amber700,bg:e.amber100,border:e.amber200,icon:B=><Ne color={B}size={11}/>};case"page_view":return{label:P("analytics.screensCategory"),color:e.sky600,bg:e.sky100,border:e.sky400,icon:B=><Ae color={B}size={11}/>};case"system":return{label:P("analytics.systemCategory"),color:e.purple,bg:e.purple100,border:e.purple200,icon:B=><Oe color={B}size={11}/>};default:return{label:P("analytics.customCategory"),color:e.brandPurple,bg:e.purple100,border:e.purple200,icon:B=><X color={B}size={11}/>}}},[M,P]),re=[{key:"overview",label:`${P("analytics.overviewTab")} (${E.length})`,icon:B=><Z color={B?e.white:e.grayText}size={12}/>},{key:"json",label:"JSON Payload",icon:B=><Me color={B?e.white:e.grayText}size={12}/>}];return<Te style={r.scroll}contentContainerStyle={r.content}showsVerticalScrollIndicator contentInsetAdjustmentBehavior="never"automaticallyAdjustContentInsets={!1}>
1
+ import{useState as q,useMemo as z}from"react";import{Pressable as Ce,ScrollView as Te,StyleSheet as Ve,Text as B,TextInput as Be,View as C}from"react-native";import G from"./CopyButton";import Se from"./ShareButton";import Y from"./JsonViewer";import Ie from"./SegmentedTabs";import Q from"./HighlightText";import Pe from"./AnimatedEntrance";import{AppFonts as S}from"../styles/AppFonts";import{AppColors as e}from"../styles/AppColors";import{getSize as Re,formatDateTime as De}from"../helpers";import{shareAnalyticsReport as We}from"../helpers/shareFormatter";import{getEventCategory as He}from"../helpers/gaAnalyticsRegistry";import{useTranslation as Fe}from"../i18n";import{SparkleIcon as X,ClockIcon as Ne,SearchIcon as Ae,ClearIcon as Oe,LayersIcon as Ee,CartIcon as Ke,GlobeIcon as Le,BoltIcon as Me,PinIcon as $e,MoneyIcon as _e,PrettyIcon as Je,TableIcon as Z,DocIcon as Ue,PackageIcon as Ge}from"./NetworkIcons";const Ye=({event:T})=>{const{t:P}=Fe(),[A,ee]=q("overview"),[R,v]=q(""),k=z(()=>T.params??{},[T.params]),F=z(()=>T.userProperties??{},[T.userProperties]),N=z(()=>Object.keys(k),[k]),D=z(()=>Object.keys(F),[F]),M=z(()=>He(T.name,k),[T.name,k]),O=z(()=>({name:T.name,timestamp:T.timestamp,source:T.source,...T.screenName?{screenName:T.screenName}:{},...T.screenClass?{screenClass:T.screenClass}:{},...T.userId?{userId:T.userId}:{},...T.sessionId?{sessionId:T.sessionId}:{},...T.trackingId?{trackingId:T.trackingId}:{},params:k,...D.length>0?{userProperties:F}:{}}),[T,k,D.length,F]),E=z(()=>{const V=k.value??k.price,I=k.currency??"USD";return V!=null&&!isNaN(Number(V))?{amount:Number(V).toFixed(2),currency:String(I).toUpperCase()}:null},[k]),$=z(()=>Array.isArray(k.items)?k.items.length:null,[k.items]),_=z(()=>T.screenName||k.firebase_screen||k.screen_name||k.page_title||T.screenClass||k.firebase_screen_class,[T.screenName,T.screenClass,k]),J=z(()=>{const V=Object.entries(k);if(!R.trim())return V;const I=R.toLowerCase();return V.filter(([K,W])=>{const L=typeof W=="object"?JSON.stringify(W):String(W);return K.toLowerCase().includes(I)||L.toLowerCase().includes(I)})},[k,R]),H=z(()=>{switch(M){case"ecommerce":return{label:P("analytics.ecommerceCategory"),color:e.amber700,bg:e.amber100,border:e.amber200,icon:V=><Ke color={V}size={11}/>};case"page_view":return{label:P("analytics.screensCategory"),color:e.sky600,bg:e.sky100,border:e.sky400,icon:V=><Le color={V}size={11}/>};case"system":return{label:P("analytics.systemCategory"),color:e.purple,bg:e.purple100,border:e.purple200,icon:V=><Me color={V}size={11}/>};default:return{label:P("analytics.customCategory"),color:e.brandPurple,bg:e.purple100,border:e.purple200,icon:V=><X color={V}size={11}/>}}},[M,P]),re=[{key:"overview",label:`${P("analytics.overviewTab")} (${N.length})`,icon:V=><Z color={V?e.white:e.grayText}size={12}/>},{key:"json",label:"JSON Payload",icon:V=><Je color={V?e.white:e.grayText}size={12}/>}];return<Te style={r.scroll}contentContainerStyle={r.content}showsVerticalScrollIndicator contentInsetAdjustmentBehavior="never"automaticallyAdjustContentInsets={!1}>
2
2
 
3
3
 
4
4
  <C style={r.heroCard}>
@@ -7,114 +7,117 @@ import{useState as q,useMemo as z}from"react";import{Pressable as Ce,ScrollView
7
7
  <C style={{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap",flex:1}}>
8
8
 
9
9
  <C style={r.idBadge}>
10
- <V style={r.idBadgeText}>
10
+ <B style={r.idBadgeText}>
11
11
  #{T.id!=null?T.id+1:1}
12
- </V>
12
+ </B>
13
13
  </C>
14
14
 
15
15
 
16
16
  <C style={[r.sourceBadge,T.source==="firebase"?{backgroundColor:e.amberBg,borderColor:e.amberBorder}:{backgroundColor:e.purpleBg,borderColor:e.purpleBorder}]}>
17
17
  <C style={[r.sourceDot,{backgroundColor:T.source==="firebase"?e.firebaseOrange:e.purple}]}/>
18
- <V style={[r.sourceBadgeText,{color:T.source==="firebase"?e.amber800Warm:e.purple}]}>
18
+ <B style={[r.sourceBadgeText,{color:T.source==="firebase"?e.amber800Warm:e.purple}]}>
19
19
  {T.source==="firebase"?P("analytics.sourceFirebase"):P("analytics.sourceCustom")}
20
- </V>
20
+ </B>
21
21
  </C>
22
22
 
23
23
 
24
- <C style={[r.catBadge,{backgroundColor:W.bg,borderColor:W.border}]}>
25
- {W.icon(W.color)}
26
- <V style={[r.catBadgeText,{color:W.color}]}>
27
- {W.label}
28
- </V>
24
+ <C style={[r.catBadge,{backgroundColor:H.bg,borderColor:H.border}]}>
25
+ {H.icon(H.color)}
26
+ <B style={[r.catBadgeText,{color:H.color}]}>
27
+ {H.label}
28
+ </B>
29
29
  </C>
30
30
  </C>
31
31
 
32
32
 
33
- <G value={JSON.stringify(A,null,2)}label={P("analytics.eventDetails")}/>
33
+ <C style={{flexDirection:"row",alignItems:"center",gap:6}}>
34
+ <Se onShare={()=>We(T)}/>
35
+ <G value={JSON.stringify(O,null,2)}label={P("analytics.eventDetails")}/>
36
+ </C>
34
37
  </C>
35
38
 
36
39
 
37
40
  <C style={r.titleRow}>
38
- <V style={r.eventTitle}selectable numberOfLines={2}>
41
+ <B style={r.eventTitle}selectable numberOfLines={2}>
39
42
  {T.name}
40
- </V>
43
+ </B>
41
44
  </C>
42
45
 
43
46
 
44
47
  <C style={r.metaRow}>
45
48
  <C style={r.timePill}>
46
- <Fe color={e.purple}size={11}/>
47
- <V style={r.timeText}>
48
- {Pe(T.timestamp)}
49
- </V>
49
+ <Ne color={e.purple}size={11}/>
50
+ <B style={r.timeText}>
51
+ {De(T.timestamp)}
52
+ </B>
50
53
  </C>
51
54
 
52
55
  {_&&<C style={r.screenPill}>
53
- <Ke color={e.sky600}size={11}/>
54
- <V style={r.screenText}numberOfLines={1}>
56
+ <$e color={e.sky600}size={11}/>
57
+ <B style={r.screenText}numberOfLines={1}>
55
58
  {String(_)}
56
- </V>
59
+ </B>
57
60
  </C>}
58
61
  </C>
59
62
 
60
63
 
61
64
  <C style={r.metricsBar}>
62
65
  <C style={r.metricPill}>
63
- <V style={r.metricLabel}>Params:</V>
64
- <V style={r.metricValue}>{E.length}</V>
66
+ <B style={r.metricLabel}>Params:</B>
67
+ <B style={r.metricValue}>{N.length}</B>
65
68
  </C>
66
69
 
67
- {R.length>0&&<C style={r.metricPill}>
68
- <V style={r.metricLabel}>User Props:</V>
69
- <V style={r.metricValue}>{R.length}</V>
70
+ {D.length>0&&<C style={r.metricPill}>
71
+ <B style={r.metricLabel}>User Props:</B>
72
+ <B style={r.metricValue}>{D.length}</B>
70
73
  </C>}
71
74
 
72
75
  <C style={r.metricPill}>
73
- <V style={r.metricLabel}>Size:</V>
74
- <V style={r.metricValue}>{ze(A)}</V>
76
+ <B style={r.metricLabel}>Size:</B>
77
+ <B style={r.metricValue}>{Re(O)}</B>
75
78
  </C>
76
79
 
77
- {O&&<C style={r.revenuePill}>
78
- <Le color={e.emerald600}size={11}/>
79
- <V style={r.revenueValue}>
80
- ${O.amount} {O.currency}
81
- </V>
80
+ {E&&<C style={r.revenuePill}>
81
+ <_e color={e.emerald600}size={11}/>
82
+ <B style={r.revenueValue}>
83
+ ${E.amount} {E.currency}
84
+ </B>
82
85
  </C>}
83
86
 
84
87
  {$!==null&&<C style={r.itemsPill}>
85
- <_e size={12}color="#1D4ED8"/>
86
- <V style={r.itemsValue}>
88
+ <Ge size={12}color={e.blue700}/>
89
+ <B style={r.itemsValue}>
87
90
  {$} items
88
- </V>
91
+ </B>
89
92
  </C>}
90
93
  </C>
91
94
  </C>
92
95
 
93
96
 
94
97
  <C style={r.tabsWrap}>
95
- <Se tabs={re}activeKey={j}onChange={B=>ee(B)}/>
98
+ <Ie tabs={re}activeKey={A}onChange={V=>ee(V)}/>
96
99
  </C>
97
100
 
98
101
 
99
- {j==="overview"&&<C style={r.tabContent}>
102
+ {A==="overview"&&<C style={r.tabContent}>
100
103
 
101
104
  {(T.userId||T.sessionId||T.trackingId)&&<C style={r.sectionCard}>
102
105
  <C style={r.sectionHeader}>
103
106
  <Ee color={e.purple}size={12}/>
104
- <V style={r.sectionTitle}>SESSION & IDENTITY</V>
107
+ <B style={r.sectionTitle}>SESSION & IDENTITY</B>
105
108
  </C>
106
109
  <C style={r.sectionBody}>
107
110
  {T.userId&&<C style={r.kvRow}>
108
- <V style={r.kvKey}>User ID:</V>
109
- <V style={r.kvVal}selectable>{T.userId}</V>
111
+ <B style={r.kvKey}>User ID:</B>
112
+ <B style={r.kvVal}selectable>{T.userId}</B>
110
113
  </C>}
111
114
  {T.sessionId&&<C style={r.kvRow}>
112
- <V style={r.kvKey}>Session ID:</V>
113
- <V style={r.kvVal}selectable>{T.sessionId}</V>
115
+ <B style={r.kvKey}>Session ID:</B>
116
+ <B style={r.kvVal}selectable>{T.sessionId}</B>
114
117
  </C>}
115
118
  {T.trackingId&&<C style={r.kvRow}>
116
- <V style={r.kvKey}>Tracking ID:</V>
117
- <V style={r.kvVal}selectable>{T.trackingId}</V>
119
+ <B style={r.kvKey}>Tracking ID:</B>
120
+ <B style={r.kvVal}selectable>{T.trackingId}</B>
118
121
  </C>}
119
122
  </C>
120
123
  </C>}
@@ -124,80 +127,80 @@ import{useState as q,useMemo as z}from"react";import{Pressable as Ce,ScrollView
124
127
  <C style={r.sectionHeaderBetween}>
125
128
  <C style={{flexDirection:"row",alignItems:"center",gap:6}}>
126
129
  <Z color={e.brandPurple}size={12}/>
127
- <V style={r.sectionTitle}>
128
- EVENT PARAMETERS ({E.length})
129
- </V>
130
+ <B style={r.sectionTitle}>
131
+ EVENT PARAMETERS ({N.length})
132
+ </B>
130
133
  </C>
131
- <V style={r.sectionSubtitle}>
134
+ <B style={r.sectionSubtitle}>
132
135
  Key-Value Attributes
133
- </V>
136
+ </B>
134
137
  </C>
135
138
 
136
139
 
137
- {E.length>4&&<C style={r.searchBar}>
138
- <We color={e.grayTextWeak}size={13}/>
139
- <Ve placeholder="Filter parameters by key or value..."placeholderTextColor={e.grayTextWeak}value={D}onChangeText={v}style={r.searchInput}autoCorrect={!1}autoCapitalize="none"/>
140
- {D.length>0&&<Ce onPress={()=>v("")}hitSlop={8}>
141
- <He color={e.grayTextWeak}size={13}/>
140
+ {N.length>4&&<C style={r.searchBar}>
141
+ <Ae color={e.grayTextWeak}size={13}/>
142
+ <Be placeholder="Filter parameters by key or value..."placeholderTextColor={e.grayTextWeak}value={R}onChangeText={v}style={r.searchInput}autoCorrect={!1}autoCapitalize="none"/>
143
+ {R.length>0&&<Ce onPress={()=>v("")}hitSlop={8}>
144
+ <Oe color={e.grayTextWeak}size={13}/>
142
145
  </Ce>}
143
146
  </C>}
144
147
 
145
- {E.length===0?<C style={r.emptyParamsBox}>
146
- <$e color={e.grayTextWeak}size={16}/>
147
- <V style={r.emptyParamsText}>
148
+ {N.length===0?<C style={r.emptyParamsBox}>
149
+ <Ue color={e.grayTextWeak}size={16}/>
150
+ <B style={r.emptyParamsText}>
148
151
  No custom parameters recorded for this event.
149
- </V>
152
+ </B>
150
153
  </C>:J.length===0?<C style={r.emptyParamsBox}>
151
- <V style={r.emptyParamsText}>
152
- No parameters matching "{D}"
153
- </V>
154
+ <B style={r.emptyParamsText}>
155
+ No parameters matching "{R}"
156
+ </B>
154
157
  </C>:<C style={r.paramList}>
155
- {J.map(([B,I],K)=>{const F=typeof I=="object"&&I!==null,L=Array.isArray(I);let N=typeof I;I===null?N="null":L?N=`array [${I.length}]`:F&&(N="object");const U=F?JSON.stringify(I,null,2):String(I),te=B==="value"||B==="price"||B==="currency"||B==="screen_name"||B==="item_id"||B==="item_name";return<Ie key={B}index={K}distance={4}>
158
+ {J.map(([V,I],K)=>{const W=typeof I=="object"&&I!==null,L=Array.isArray(I);let j=typeof I;I===null?j="null":L?j=`array [${I.length}]`:W&&(j="object");const U=W?JSON.stringify(I,null,2):String(I),te=V==="value"||V==="price"||V==="currency"||V==="screen_name"||V==="item_id"||V==="item_name";return<Pe key={V}index={K}distance={4}>
156
159
  <C style={r.paramCard}>
157
160
 
158
161
  <C style={r.paramCardHeader}>
159
162
  <C style={{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0}}>
160
- <Q text={B}search={D}style={[r.paramKeyText,te&&r.paramKeyHighlighted]}highlightStyle={r.highlight}/>
163
+ <Q text={V}search={R}style={[r.paramKeyText,te&&r.paramKeyHighlighted]}highlightStyle={r.highlight}/>
161
164
  <C style={r.typeBadge}>
162
- <V style={r.typeBadgeText}>
163
- {N.toUpperCase()}
164
- </V>
165
+ <B style={r.typeBadgeText}>
166
+ {j.toUpperCase()}
167
+ </B>
165
168
  </C>
166
169
  </C>
167
170
 
168
- <G value={U}label={B}/>
171
+ <G value={U}label={V}/>
169
172
  </C>
170
173
 
171
174
 
172
175
  <C style={r.paramValBox}>
173
- {F?<Y data={I}search={D}hideTabs wrap/>:<Q text={U}search={D}style={r.paramValText}highlightStyle={r.highlight}selectable/>}
176
+ {W?<Y data={I}search={R}hideTabs wrap/>:<Q text={U}search={R}style={r.paramValText}highlightStyle={r.highlight}selectable/>}
174
177
  </C>
175
178
  </C>
176
- </Ie>})}
179
+ </Pe>})}
177
180
  </C>}
178
181
  </C>
179
182
 
180
183
 
181
- {R.length>0&&<C style={r.sectionCard}>
184
+ {D.length>0&&<C style={r.sectionCard}>
182
185
  <C style={r.sectionHeader}>
183
186
  <X color={e.purple}size={12}/>
184
- <V style={r.sectionTitle}>
185
- USER PROPERTIES SNAPSHOT ({R.length})
186
- </V>
187
+ <B style={r.sectionTitle}>
188
+ USER PROPERTIES SNAPSHOT ({D.length})
189
+ </B>
187
190
  </C>
188
191
  <C style={r.sectionBody}>
189
- {R.map(B=><C key={B}style={r.kvRow}>
190
- <V style={r.kvKey}>{B}:</V>
191
- <V style={r.kvVal}selectable>
192
- {String(H[B])}
193
- </V>
192
+ {D.map(V=><C key={V}style={r.kvRow}>
193
+ <B style={r.kvKey}>{V}:</B>
194
+ <B style={r.kvVal}selectable>
195
+ {String(F[V])}
196
+ </B>
194
197
  </C>)}
195
198
  </C>
196
199
  </C>}
197
200
  </C>}
198
201
 
199
202
 
200
- {j==="json"&&<C style={r.jsonContainer}>
201
- <Y data={A}defaultExpandDepth={2}fullHeight/>
203
+ {A==="json"&&<C style={r.jsonContainer}>
204
+ <Y data={O}defaultExpandDepth={2}fullHeight/>
202
205
  </C>}
203
- </Te>},r=Be.create({scroll:{flex:1,backgroundColor:e.grayBackground},content:{paddingTop:12,paddingBottom:40,paddingHorizontal:12},heroCard:{backgroundColor:e.white,borderRadius:12,padding:14,borderWidth:1,borderColor:e.dividerColor,shadowColor:e.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:4,elevation:2,marginBottom:12},heroTopRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:10},idBadge:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:5,backgroundColor:`${e.slate500}12`,borderWidth:1,borderColor:`${e.slate500}22`},idBadgeText:{fontFamily:S.interBold,fontSize:10,color:e.grayTextWeak,letterSpacing:.2},sourceBadge:{flexDirection:"row",alignItems:"center",gap:4.5,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1},sourceDot:{width:6,height:6,borderRadius:3},sourceBadgeText:{fontFamily:S.interBold,fontSize:9.5,letterSpacing:.4},catBadge:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1},catBadgeText:{fontFamily:S.interBold,fontSize:9.5,letterSpacing:.3},titleRow:{marginBottom:8},eventTitle:{fontFamily:S.interBold,fontSize:16,color:e.primaryBlack,lineHeight:22},metaRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap",marginBottom:10},timePill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.purple}14`,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:`${e.purple}2E`},timeText:{fontFamily:S.interMedium,fontSize:10.5,color:e.purple},screenPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.sky500}14`,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:`${e.sky500}2E`,maxWidth:220},screenText:{fontFamily:S.interMedium,fontSize:10.5,color:e.sky600},metricsBar:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap",paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor},metricPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.grayBackground,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:e.dividerColor},metricLabel:{fontFamily:S.interMedium,fontSize:10.5,color:e.grayTextWeak},metricValue:{fontFamily:S.interBold,fontSize:10.5,color:e.primaryBlack},revenuePill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.emeraldBg,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:e.emeraldBorder},revenueValue:{fontFamily:S.interBold,fontSize:10.5,color:"#047857"},itemsPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"#EFF6FF",paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:"#BFDBFE"},itemsValue:{fontFamily:S.interBold,fontSize:10.5,color:"#1D4ED8"},tabsWrap:{marginBottom:12},tabContent:{gap:12},sectionCard:{backgroundColor:e.white,borderRadius:12,padding:12,borderWidth:1,borderColor:e.dividerColor,shadowColor:e.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:4,elevation:2},sectionHeader:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:10,paddingBottom:6,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionHeaderBetween:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:10,paddingBottom:6,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionTitle:{fontFamily:S.interBold,fontSize:11,color:e.slate700,letterSpacing:.4},sectionSubtitle:{fontFamily:S.interMedium,fontSize:10,color:e.grayTextWeak},sectionBody:{gap:6},kvRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:3},kvKey:{fontFamily:S.interMedium,fontSize:11,color:e.grayTextWeak},kvVal:{fontFamily:S.interBold,fontSize:11,color:e.primaryBlack},searchBar:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:8,paddingHorizontal:8,paddingVertical:5,borderWidth:1,borderColor:e.dividerColor,marginBottom:10,gap:6},searchInput:{flex:1,fontFamily:S.interRegular,fontSize:11,color:e.primaryBlack,paddingVertical:0},emptyParamsBox:{alignItems:"center",justifyContent:"center",paddingVertical:20,gap:6},emptyParamsText:{fontFamily:S.interMedium,fontSize:11,color:e.grayTextWeak},paramList:{gap:8},paramCard:{backgroundColor:e.grayBackground,borderRadius:8,padding:9,borderWidth:1,borderColor:e.dividerColor},paramCardHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:4},paramKeyText:{fontFamily:S.interBold,fontSize:11.5,color:e.primaryBlack},paramKeyHighlighted:{color:e.brandPurple},typeBadge:{backgroundColor:"#E2E8F0",paddingHorizontal:5,paddingVertical:1.5,borderRadius:3},typeBadgeText:{fontFamily:S.interBold,fontSize:8.5,color:e.slate700,letterSpacing:.3},paramValBox:{marginTop:2},paramValText:{fontFamily:S.interRegular,fontSize:11,color:e.slate700,lineHeight:16},jsonContainer:{borderRadius:12,borderWidth:1,borderColor:e.dividerColor,overflow:"hidden",backgroundColor:e.white,minHeight:300},highlight:{backgroundColor:"#FEF08A",color:"#854D0E",fontFamily:S.interBold}});export default Je;
206
+ </Te>},r=Ve.create({scroll:{flex:1,backgroundColor:e.grayBackground},content:{paddingTop:12,paddingBottom:40,paddingHorizontal:12},heroCard:{backgroundColor:e.white,borderRadius:12,padding:14,borderWidth:1,borderColor:e.dividerColor,shadowColor:e.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:4,elevation:2,marginBottom:12},heroTopRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:10},idBadge:{paddingHorizontal:6,paddingVertical:2.5,borderRadius:5,backgroundColor:`${e.slate500}12`,borderWidth:1,borderColor:`${e.slate500}22`},idBadgeText:{fontFamily:S.interBold,fontSize:10,color:e.grayTextWeak,letterSpacing:.2},sourceBadge:{flexDirection:"row",alignItems:"center",gap:4.5,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1},sourceDot:{width:6,height:6,borderRadius:3},sourceBadgeText:{fontFamily:S.interBold,fontSize:9.5,letterSpacing:.4},catBadge:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1},catBadgeText:{fontFamily:S.interBold,fontSize:9.5,letterSpacing:.3},titleRow:{marginBottom:8},eventTitle:{fontFamily:S.interBold,fontSize:16,color:e.primaryBlack,lineHeight:22},metaRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap",marginBottom:10},timePill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.purple}14`,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:`${e.purple}2E`},timeText:{fontFamily:S.interMedium,fontSize:10.5,color:e.purple},screenPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${e.sky500}14`,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:`${e.sky500}2E`,maxWidth:220},screenText:{fontFamily:S.interMedium,fontSize:10.5,color:e.sky600},metricsBar:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap",paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor},metricPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.grayBackground,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:e.dividerColor},metricLabel:{fontFamily:S.interMedium,fontSize:10.5,color:e.grayTextWeak},metricValue:{fontFamily:S.interBold,fontSize:10.5,color:e.primaryBlack},revenuePill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.emeraldBg,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:e.emeraldBorder},revenueValue:{fontFamily:S.interBold,fontSize:10.5,color:e.greenSuccessDark},itemsPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:e.blueTintBg,paddingHorizontal:7,paddingVertical:3,borderRadius:5,borderWidth:1,borderColor:e.sky100},itemsValue:{fontFamily:S.interBold,fontSize:10.5,color:e.blue700},tabsWrap:{marginBottom:12},tabContent:{gap:12},sectionCard:{backgroundColor:e.white,borderRadius:12,padding:12,borderWidth:1,borderColor:e.dividerColor,shadowColor:e.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:4,elevation:2},sectionHeader:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:10,paddingBottom:6,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionHeaderBetween:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:10,paddingBottom:6,borderBottomWidth:1,borderBottomColor:e.dividerColor},sectionTitle:{fontFamily:S.interBold,fontSize:11,color:e.slate700,letterSpacing:.4},sectionSubtitle:{fontFamily:S.interMedium,fontSize:10,color:e.grayTextWeak},sectionBody:{gap:6},kvRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:3},kvKey:{fontFamily:S.interMedium,fontSize:11,color:e.grayTextWeak},kvVal:{fontFamily:S.interBold,fontSize:11,color:e.primaryBlack},searchBar:{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:8,paddingHorizontal:8,paddingVertical:5,borderWidth:1,borderColor:e.dividerColor,marginBottom:10,gap:6},searchInput:{flex:1,fontFamily:S.interRegular,fontSize:11,color:e.primaryBlack,paddingVertical:0},emptyParamsBox:{alignItems:"center",justifyContent:"center",paddingVertical:20,gap:6},emptyParamsText:{fontFamily:S.interMedium,fontSize:11,color:e.grayTextWeak},paramList:{gap:8},paramCard:{backgroundColor:e.grayBackground,borderRadius:8,padding:9,borderWidth:1,borderColor:e.dividerColor},paramCardHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:4},paramKeyText:{fontFamily:S.interBold,fontSize:11.5,color:e.primaryBlack},paramKeyHighlighted:{color:e.brandPurple},typeBadge:{backgroundColor:e.slate200,paddingHorizontal:5,paddingVertical:1.5,borderRadius:3},typeBadgeText:{fontFamily:S.interBold,fontSize:8.5,color:e.slate700,letterSpacing:.3},paramValBox:{marginTop:2},paramValText:{fontFamily:S.interRegular,fontSize:11,color:e.slate700,lineHeight:16},jsonContainer:{borderRadius:12,borderWidth:1,borderColor:e.dividerColor,overflow:"hidden",backgroundColor:e.white,minHeight:300},highlight:{backgroundColor:e.yellow200,color:e.yellow800,fontFamily:S.interBold}});export default Ye;