react-native-inapp-inspector 2.4.1 → 2.5.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 (295) hide show
  1. package/README.ar.md +163 -0
  2. package/README.de.md +163 -0
  3. package/README.es.md +164 -0
  4. package/README.fr.md +163 -0
  5. package/README.hi.md +163 -0
  6. package/README.ja.md +180 -0
  7. package/README.ko.md +163 -0
  8. package/README.md +340 -243
  9. package/README.pt-BR.md +163 -0
  10. package/README.ru.md +163 -0
  11. package/README.zh-CN.md +387 -0
  12. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +605 -23
  13. package/assets/banner_dark.svg +186 -0
  14. package/assets/banner_light.svg +186 -0
  15. package/assets/icon_circle.svg +148 -0
  16. package/assets/icon_square.svg +369 -0
  17. package/assets/inapp_inspector_icon.gif +0 -0
  18. package/assets/inapp_inspector_icon_original.gif +0 -0
  19. package/assets/social_preview.png +0 -0
  20. package/assets/walkthrough.gif +0 -0
  21. package/dist/commonjs/capture.d.ts +2 -0
  22. package/dist/commonjs/capture.js +1 -1
  23. package/dist/commonjs/components/AnalyticsDetail.js +23 -23
  24. package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
  25. package/dist/commonjs/components/AnalyticsGraph.js +44 -44
  26. package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
  27. package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
  28. package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
  29. package/dist/commonjs/components/AppHeaderLogo.js +5 -3
  30. package/dist/commonjs/components/BrandCircleIcon.js +28 -28
  31. package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
  32. package/dist/commonjs/components/BrandSquareIcon.js +139 -0
  33. package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
  34. package/dist/commonjs/components/ConsoleLogCard.js +23 -39
  35. package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
  36. package/dist/commonjs/components/Inspector/AnalyticsTab.js +6 -6
  37. package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
  38. package/dist/commonjs/components/Inspector/ConfirmationModal.js +30 -0
  39. package/dist/commonjs/components/Inspector/ConsoleTab.js +12 -12
  40. package/dist/commonjs/components/Inspector/CrashTab.js +44 -9
  41. package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
  42. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
  43. package/dist/commonjs/components/Inspector/FabLauncher.js +30 -33
  44. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
  45. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  46. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
  47. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  48. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
  49. package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
  50. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  51. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +172 -0
  52. package/dist/commonjs/components/Inspector/MainScreen.js +55 -35
  53. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +40 -35
  54. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
  55. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +341 -135
  56. package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
  57. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
  58. package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
  59. package/dist/commonjs/components/Inspector/PushCard.js +5 -4
  60. package/dist/commonjs/components/Inspector/PushDetail.js +41 -32
  61. package/dist/commonjs/components/Inspector/PushTab.js +12 -12
  62. package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
  63. package/dist/commonjs/components/Inspector/ReduxTab.js +10 -8
  64. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  65. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  66. package/dist/commonjs/components/Inspector/SettingsPanel.js +287 -139
  67. package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
  68. package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
  69. package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
  70. package/dist/commonjs/components/Inspector/SocketDetail.js +327 -0
  71. package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
  72. package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
  73. package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
  74. package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
  75. package/dist/commonjs/components/Inspector/StorageTab.js +39 -37
  76. package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
  77. package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
  78. package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
  79. package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
  80. package/dist/commonjs/components/Inspector/TabBar.js +24 -23
  81. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
  82. package/dist/commonjs/components/JsonViewer.js +50 -48
  83. package/dist/commonjs/components/LogCard.d.ts +3 -2
  84. package/dist/commonjs/components/LogCard.js +27 -25
  85. package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
  86. package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
  87. package/dist/commonjs/components/NetworkIcons.d.ts +42 -0
  88. package/dist/commonjs/components/NetworkIcons.js +139 -6
  89. package/dist/commonjs/components/SegmentedTabs.js +1 -1
  90. package/dist/commonjs/constants/version.d.ts +1 -1
  91. package/dist/commonjs/constants/version.js +1 -1
  92. package/dist/commonjs/crash.d.ts +1 -1
  93. package/dist/commonjs/crash.js +1 -1
  94. package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
  95. package/dist/commonjs/customHooks/crashHandler.js +7 -7
  96. package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
  97. package/dist/commonjs/customHooks/socketLogger.js +2 -0
  98. package/dist/commonjs/editor.d.ts +13 -0
  99. package/dist/commonjs/editor.js +1 -0
  100. package/dist/commonjs/helpers/index.d.ts +1 -0
  101. package/dist/commonjs/helpers/index.js +3 -3
  102. package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
  103. package/dist/commonjs/helpers/memoryManager.js +1 -1
  104. package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
  105. package/dist/commonjs/helpers/searchQueryParser.js +5 -1
  106. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  107. package/dist/commonjs/helpers/settingsStore.js +1 -1
  108. package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
  109. package/dist/commonjs/helpers/shareFormatter.js +8 -7
  110. package/dist/commonjs/helpers/telemetry.js +1 -1
  111. package/dist/commonjs/i18n/index.d.ts +99 -1
  112. package/dist/commonjs/i18n/index.js +1 -1
  113. package/dist/commonjs/i18n/locales/ar.json +1 -1
  114. package/dist/commonjs/i18n/locales/bn.json +1 -0
  115. package/dist/commonjs/i18n/locales/de.json +1 -1
  116. package/dist/commonjs/i18n/locales/en.json +1 -1
  117. package/dist/commonjs/i18n/locales/es.json +1 -1
  118. package/dist/commonjs/i18n/locales/fr.json +1 -1
  119. package/dist/commonjs/i18n/locales/gu.json +1 -0
  120. package/dist/commonjs/i18n/locales/hi.json +1 -1
  121. package/dist/commonjs/i18n/locales/id.json +1 -0
  122. package/dist/commonjs/i18n/locales/it.json +1 -0
  123. package/dist/commonjs/i18n/locales/ja.json +1 -1
  124. package/dist/commonjs/i18n/locales/kn.json +1 -0
  125. package/dist/commonjs/i18n/locales/ko.json +1 -1
  126. package/dist/commonjs/i18n/locales/ml.json +1 -0
  127. package/dist/commonjs/i18n/locales/mr.json +1 -0
  128. package/dist/commonjs/i18n/locales/nl.json +1 -0
  129. package/dist/commonjs/i18n/locales/pa.json +1 -0
  130. package/dist/commonjs/i18n/locales/pl.json +1 -0
  131. package/dist/commonjs/i18n/locales/pt.json +1 -1
  132. package/dist/commonjs/i18n/locales/ru.json +1 -1
  133. package/dist/commonjs/i18n/locales/ta.json +1 -0
  134. package/dist/commonjs/i18n/locales/te.json +1 -0
  135. package/dist/commonjs/i18n/locales/tr.json +1 -0
  136. package/dist/commonjs/i18n/locales/vi.json +1 -0
  137. package/dist/commonjs/i18n/locales/zh.json +1 -1
  138. package/dist/commonjs/index.d.ts +16 -13
  139. package/dist/commonjs/index.js +5 -4
  140. package/dist/commonjs/native/NativeInspector.d.ts +4 -0
  141. package/dist/commonjs/native/NativeInspector.js +1 -1
  142. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  143. package/dist/commonjs/socket.d.ts +4 -0
  144. package/dist/commonjs/socket.js +1 -0
  145. package/dist/commonjs/styles/AppColors.d.ts +42 -2
  146. package/dist/commonjs/styles/AppColors.js +1 -1
  147. package/dist/commonjs/styles/common.js +1 -1
  148. package/dist/commonjs/styles/index.d.ts +30 -0
  149. package/dist/commonjs/styles/index.js +1 -1
  150. package/dist/commonjs/types/editor.d.ts +96 -0
  151. package/dist/commonjs/types/editor.js +1 -0
  152. package/dist/commonjs/types/enums.d.ts +40 -0
  153. package/dist/commonjs/types/enums.js +1 -1
  154. package/dist/commonjs/types/interfaces.d.ts +143 -1
  155. package/dist/esm/capture.d.ts +2 -0
  156. package/dist/esm/capture.js +1 -1
  157. package/dist/esm/components/AnalyticsDetail.js +31 -31
  158. package/dist/esm/components/AnalyticsEventCard.js +1 -1
  159. package/dist/esm/components/AnalyticsGraph.js +74 -74
  160. package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
  161. package/dist/esm/components/AnimatedBrandOwl.js +175 -0
  162. package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
  163. package/dist/esm/components/AppHeaderLogo.js +7 -5
  164. package/dist/esm/components/BrandCircleIcon.js +70 -70
  165. package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
  166. package/dist/esm/components/BrandSquareIcon.js +139 -0
  167. package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
  168. package/dist/esm/components/ConsoleLogCard.js +61 -77
  169. package/dist/esm/components/Inspector/AboutModal.js +85 -95
  170. package/dist/esm/components/Inspector/AnalyticsTab.js +24 -24
  171. package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
  172. package/dist/esm/components/Inspector/ConfirmationModal.js +30 -0
  173. package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
  174. package/dist/esm/components/Inspector/CrashTab.js +203 -168
  175. package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
  176. package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
  177. package/dist/esm/components/Inspector/FabLauncher.js +57 -60
  178. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
  179. package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  180. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
  181. package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  182. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
  183. package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
  184. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
  185. package/dist/esm/components/Inspector/LanguageSelectorModal.js +172 -0
  186. package/dist/esm/components/Inspector/MainScreen.js +130 -110
  187. package/dist/esm/components/Inspector/MediaGalleryTab.js +83 -78
  188. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
  189. package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -139
  190. package/dist/esm/components/Inspector/NetworkTab.js +130 -130
  191. package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
  192. package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
  193. package/dist/esm/components/Inspector/PushCard.js +23 -22
  194. package/dist/esm/components/Inspector/PushDetail.js +45 -36
  195. package/dist/esm/components/Inspector/PushTab.js +23 -23
  196. package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
  197. package/dist/esm/components/Inspector/ReduxTab.js +20 -18
  198. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  199. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  200. package/dist/esm/components/Inspector/SettingsPanel.js +526 -378
  201. package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
  202. package/dist/esm/components/Inspector/SocketCard.js +116 -0
  203. package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
  204. package/dist/esm/components/Inspector/SocketDetail.js +327 -0
  205. package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
  206. package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
  207. package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
  208. package/dist/esm/components/Inspector/SocketTab.js +112 -0
  209. package/dist/esm/components/Inspector/StorageTab.js +139 -137
  210. package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
  211. package/dist/esm/components/Inspector/SupportModal.js +125 -0
  212. package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
  213. package/dist/esm/components/Inspector/SupportPage.js +227 -0
  214. package/dist/esm/components/Inspector/TabBar.js +36 -35
  215. package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
  216. package/dist/esm/components/JsonViewer.js +66 -64
  217. package/dist/esm/components/LogCard.d.ts +3 -2
  218. package/dist/esm/components/LogCard.js +57 -55
  219. package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
  220. package/dist/esm/components/ModuleErrorBoundary.js +23 -23
  221. package/dist/esm/components/NetworkIcons.d.ts +42 -0
  222. package/dist/esm/components/NetworkIcons.js +139 -6
  223. package/dist/esm/components/SegmentedTabs.js +7 -7
  224. package/dist/esm/constants/version.d.ts +1 -1
  225. package/dist/esm/constants/version.js +1 -1
  226. package/dist/esm/crash.d.ts +1 -1
  227. package/dist/esm/crash.js +1 -1
  228. package/dist/esm/customHooks/crashHandler.d.ts +2 -1
  229. package/dist/esm/customHooks/crashHandler.js +7 -7
  230. package/dist/esm/customHooks/socketLogger.d.ts +26 -0
  231. package/dist/esm/customHooks/socketLogger.js +2 -0
  232. package/dist/esm/editor.d.ts +13 -0
  233. package/dist/esm/editor.js +1 -0
  234. package/dist/esm/helpers/index.d.ts +1 -0
  235. package/dist/esm/helpers/index.js +4 -4
  236. package/dist/esm/helpers/memoryManager.d.ts +1 -0
  237. package/dist/esm/helpers/memoryManager.js +1 -1
  238. package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
  239. package/dist/esm/helpers/searchQueryParser.js +5 -1
  240. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  241. package/dist/esm/helpers/settingsStore.js +1 -1
  242. package/dist/esm/helpers/shareFormatter.d.ts +3 -1
  243. package/dist/esm/helpers/shareFormatter.js +8 -7
  244. package/dist/esm/helpers/telemetry.js +1 -1
  245. package/dist/esm/i18n/index.d.ts +99 -1
  246. package/dist/esm/i18n/index.js +1 -1
  247. package/dist/esm/i18n/locales/ar.json +1 -1
  248. package/dist/esm/i18n/locales/bn.json +1 -0
  249. package/dist/esm/i18n/locales/de.json +1 -1
  250. package/dist/esm/i18n/locales/en.json +1 -1
  251. package/dist/esm/i18n/locales/es.json +1 -1
  252. package/dist/esm/i18n/locales/fr.json +1 -1
  253. package/dist/esm/i18n/locales/gu.json +1 -0
  254. package/dist/esm/i18n/locales/hi.json +1 -1
  255. package/dist/esm/i18n/locales/id.json +1 -0
  256. package/dist/esm/i18n/locales/it.json +1 -0
  257. package/dist/esm/i18n/locales/ja.json +1 -1
  258. package/dist/esm/i18n/locales/kn.json +1 -0
  259. package/dist/esm/i18n/locales/ko.json +1 -1
  260. package/dist/esm/i18n/locales/ml.json +1 -0
  261. package/dist/esm/i18n/locales/mr.json +1 -0
  262. package/dist/esm/i18n/locales/nl.json +1 -0
  263. package/dist/esm/i18n/locales/pa.json +1 -0
  264. package/dist/esm/i18n/locales/pl.json +1 -0
  265. package/dist/esm/i18n/locales/pt.json +1 -1
  266. package/dist/esm/i18n/locales/ru.json +1 -1
  267. package/dist/esm/i18n/locales/ta.json +1 -0
  268. package/dist/esm/i18n/locales/te.json +1 -0
  269. package/dist/esm/i18n/locales/tr.json +1 -0
  270. package/dist/esm/i18n/locales/vi.json +1 -0
  271. package/dist/esm/i18n/locales/zh.json +1 -1
  272. package/dist/esm/index.d.ts +16 -13
  273. package/dist/esm/index.js +8 -7
  274. package/dist/esm/native/NativeInspector.d.ts +4 -0
  275. package/dist/esm/native/NativeInspector.js +1 -1
  276. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  277. package/dist/esm/socket.d.ts +4 -0
  278. package/dist/esm/socket.js +1 -0
  279. package/dist/esm/styles/AppColors.d.ts +42 -2
  280. package/dist/esm/styles/AppColors.js +1 -1
  281. package/dist/esm/styles/common.js +1 -1
  282. package/dist/esm/styles/index.d.ts +30 -0
  283. package/dist/esm/styles/index.js +1 -1
  284. package/dist/esm/types/editor.d.ts +96 -0
  285. package/dist/esm/types/editor.js +1 -0
  286. package/dist/esm/types/enums.d.ts +40 -0
  287. package/dist/esm/types/enums.js +1 -1
  288. package/dist/esm/types/interfaces.d.ts +143 -1
  289. package/editor.d.ts +1 -0
  290. package/editor.js +1 -0
  291. package/ios/NetworkInspectorModule.mm +531 -12
  292. package/package.json +213 -2
  293. package/react-native-inapp-inspector.podspec +1 -1
  294. package/src/native/NativeInspector.ts +65 -4
  295. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,r,i,l){l===void 0&&(l=i);var o=Object.getOwnPropertyDescriptor(r,i);(!o||("get"in o?!r.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return r[i]}}),Object.defineProperty(e,l,o)}):(function(e,r,i,l){l===void 0&&(l=i),e[l]=r[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}):function(e,r){e.default=r}),__importStar=this&&this.__importStar||(function(){var e=function(r){return e=Object.getOwnPropertyNames||function(i){var l=[];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(l[l.length]=o);return l},e(r)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var l=e(r),o=0;o<l.length;o++)l[o]!=="default"&&__createBinding(i,r,l[o]);return __setModuleDefault(i,r),i}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),CopyButton_1=__importDefault(require("./CopyButton")),ShareButton_1=__importDefault(require("./ShareButton")),JsonViewer_1=__importDefault(require("./JsonViewer")),SegmentedTabs_1=__importDefault(require("./SegmentedTabs")),HighlightText_1=__importDefault(require("./HighlightText")),AnimatedEntrance_1=__importDefault(require("./AnimatedEntrance")),AppFonts_1=require("../styles/AppFonts"),AppColors_1=require("../styles/AppColors"),helpers_1=require("../helpers"),shareFormatter_1=require("../helpers/shareFormatter"),gaAnalyticsRegistry_1=require("../helpers/gaAnalyticsRegistry"),i18n_1=require("../i18n"),NetworkIcons_1=require("./NetworkIcons"),AnalyticsDetail=({event:e})=>{const{t:r}=(0,i18n_1.useTranslation)(),[i,l]=(0,react_1.useState)("overview"),[o,w]=(0,react_1.useState)(""),a=(0,react_1.useMemo)(()=>e.params??{},[e.params]),d=(0,react_1.useMemo)(()=>e.userProperties??{},[e.userProperties]),u=(0,react_1.useMemo)(()=>Object.keys(a),[a]),s=(0,react_1.useMemo)(()=>Object.keys(d),[d]),b=(0,react_1.useMemo)(()=>(0,gaAnalyticsRegistry_1.getEventCategory)(e.name,a),[e.name,a]),y=(0,react_1.useMemo)(()=>({name:e.name,timestamp:e.timestamp,source:e.source,...e.screenName?{screenName:e.screenName}:{},...e.screenClass?{screenClass:e.screenClass}:{},...e.userId?{userId:e.userId}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.trackingId?{trackingId:e.trackingId}:{},params:a,...s.length>0?{userProperties:d}:{}}),[e,a,s.length,d]),m=(0,react_1.useMemo)(()=>{const t=a.value??a.price,n=a.currency??"USD";return t!=null&&!isNaN(Number(t))?{amount:Number(t).toFixed(2),currency:String(n).toUpperCase()}:null},[a]),f=(0,react_1.useMemo)(()=>Array.isArray(a.items)?a.items.length:null,[a.items]),h=(0,react_1.useMemo)(()=>e.screenName||a.firebase_screen||a.screen_name||a.page_title||e.screenClass||a.firebase_screen_class,[e.screenName,e.screenClass,a]),x=(0,react_1.useMemo)(()=>{const t=Object.entries(a);if(!o.trim())return t;const n=o.toLowerCase();return t.filter(([_,c])=>{const C=typeof c=="object"?JSON.stringify(c):String(c);return _.toLowerCase().includes(n)||C.toLowerCase().includes(n)})},[a,o]),p=(0,react_1.useMemo)(()=>{switch(b){case"ecommerce":return{label:r("analytics.ecommerceCategory"),color:AppColors_1.AppColors.amber700,bg:AppColors_1.AppColors.amber100,border:AppColors_1.AppColors.amber200,icon:t=><NetworkIcons_1.CartIcon color={t}size={11}/>};case"page_view":return{label:r("analytics.screensCategory"),color:AppColors_1.AppColors.sky600,bg:AppColors_1.AppColors.sky100,border:AppColors_1.AppColors.sky400,icon:t=><NetworkIcons_1.GlobeIcon color={t}size={11}/>};case"system":return{label:r("analytics.systemCategory"),color:AppColors_1.AppColors.purple,bg:AppColors_1.AppColors.purple100,border:AppColors_1.AppColors.purple200,icon:t=><NetworkIcons_1.BoltIcon color={t}size={11}/>};default:return{label:r("analytics.customCategory"),color:AppColors_1.AppColors.brandPurple,bg:AppColors_1.AppColors.purple100,border:AppColors_1.AppColors.purple200,icon:t=><NetworkIcons_1.SparkleIcon color={t}size={11}/>}}},[b,r]),T=[{key:"overview",label:`${r("analytics.overviewTab")} (${u.length})`,icon:t=><NetworkIcons_1.TableIcon color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"json",label:"JSON Payload",icon:t=><NetworkIcons_1.PrettyIcon color={t?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>}];return<react_native_1.ScrollView style={detailStyles.scroll}contentContainerStyle={detailStyles.content}showsVerticalScrollIndicator contentInsetAdjustmentBehavior="never"automaticallyAdjustContentInsets={!1}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,i,l){l===void 0&&(l=i);var o=Object.getOwnPropertyDescriptor(t,i);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,l,o)}):(function(e,t,i,l){l===void 0&&(l=i),e[l]=t[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(i){var l=[];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(l[l.length]=o);return l},e(t)};return function(t){if(t&&t.__esModule)return t;var i={};if(t!=null)for(var l=e(t),o=0;o<l.length;o++)l[o]!=="default"&&__createBinding(i,t,l[o]);return __setModuleDefault(i,t),i}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),CopyButton_1=__importDefault(require("./CopyButton")),ShareButton_1=__importDefault(require("./ShareButton")),JsonViewer_1=__importDefault(require("./JsonViewer")),SegmentedTabs_1=__importDefault(require("./SegmentedTabs")),HighlightText_1=__importDefault(require("./HighlightText")),AnimatedEntrance_1=__importDefault(require("./AnimatedEntrance")),AppFonts_1=require("../styles/AppFonts"),AppColors_1=require("../styles/AppColors"),helpers_1=require("../helpers"),shareFormatter_1=require("../helpers/shareFormatter"),gaAnalyticsRegistry_1=require("../helpers/gaAnalyticsRegistry"),i18n_1=require("../i18n"),NetworkIcons_1=require("./NetworkIcons"),AnalyticsDetail=({event:e})=>{const{t}=(0,i18n_1.useTranslation)(),[i,l]=(0,react_1.useState)("overview"),[o,w]=(0,react_1.useState)(""),a=(0,react_1.useMemo)(()=>e.params??{},[e.params]),d=(0,react_1.useMemo)(()=>e.userProperties??{},[e.userProperties]),u=(0,react_1.useMemo)(()=>Object.keys(a),[a]),s=(0,react_1.useMemo)(()=>Object.keys(d),[d]),b=(0,react_1.useMemo)(()=>(0,gaAnalyticsRegistry_1.getEventCategory)(e.name,a),[e.name,a]),y=(0,react_1.useMemo)(()=>({name:e.name,timestamp:e.timestamp,source:e.source,...e.screenName?{screenName:e.screenName}:{},...e.screenClass?{screenClass:e.screenClass}:{},...e.userId?{userId:e.userId}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.trackingId?{trackingId:e.trackingId}:{},params:a,...s.length>0?{userProperties:d}:{}}),[e,a,s.length,d]),m=(0,react_1.useMemo)(()=>{const r=a.value??a.price,n=a.currency??"USD";return r!=null&&!isNaN(Number(r))?{amount:Number(r).toFixed(2),currency:String(n).toUpperCase()}:null},[a]),f=(0,react_1.useMemo)(()=>Array.isArray(a.items)?a.items.length:null,[a.items]),h=(0,react_1.useMemo)(()=>e.screenName||a.firebase_screen||a.screen_name||a.page_title||e.screenClass||a.firebase_screen_class,[e.screenName,e.screenClass,a]),x=(0,react_1.useMemo)(()=>{const r=Object.entries(a);if(!o.trim())return r;const n=o.toLowerCase();return r.filter(([_,c])=>{const C=typeof c=="object"?JSON.stringify(c):String(c);return _.toLowerCase().includes(n)||C.toLowerCase().includes(n)})},[a,o]),p=(0,react_1.useMemo)(()=>{switch(b){case"ecommerce":return{label:t("analytics.ecommerceCategory"),color:AppColors_1.AppColors.amber700,bg:AppColors_1.AppColors.amber100,border:AppColors_1.AppColors.amber200,icon:r=><NetworkIcons_1.CartIcon color={r}size={11}/>};case"page_view":return{label:t("analytics.screensCategory"),color:AppColors_1.AppColors.sky600,bg:AppColors_1.AppColors.sky100,border:AppColors_1.AppColors.sky400,icon:r=><NetworkIcons_1.GlobeIcon color={r}size={11}/>};case"system":return{label:t("analytics.systemCategory"),color:AppColors_1.AppColors.purple,bg:AppColors_1.AppColors.purple100,border:AppColors_1.AppColors.purple200,icon:r=><NetworkIcons_1.BoltIcon color={r}size={11}/>};default:return{label:t("analytics.customCategory"),color:AppColors_1.AppColors.brandPurple,bg:AppColors_1.AppColors.purple100,border:AppColors_1.AppColors.purple200,icon:r=><NetworkIcons_1.SparkleIcon color={r}size={11}/>}}},[b,t]),T=[{key:"overview",label:`${t("analytics.overviewTab")} (${u.length})`,icon:r=><NetworkIcons_1.TableIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"json",label:"JSON Payload",icon:r=><NetworkIcons_1.PrettyIcon color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>}];return<react_native_1.ScrollView style={detailStyles.scroll}contentContainerStyle={detailStyles.content}showsVerticalScrollIndicator contentInsetAdjustmentBehavior="never"automaticallyAdjustContentInsets={!1}>
2
2
 
3
3
 
4
4
  <react_native_1.View style={detailStyles.heroCard}>
@@ -16,7 +16,7 @@
16
16
  <react_native_1.View style={[detailStyles.sourceBadge,e.source==="firebase"?{backgroundColor:AppColors_1.AppColors.amberBg,borderColor:AppColors_1.AppColors.amberBorder}:{backgroundColor:AppColors_1.AppColors.purpleBg,borderColor:AppColors_1.AppColors.purpleBorder}]}>
17
17
  <react_native_1.View style={[detailStyles.sourceDot,{backgroundColor:e.source==="firebase"?AppColors_1.AppColors.firebaseOrange:AppColors_1.AppColors.purple}]}/>
18
18
  <react_native_1.Text style={[detailStyles.sourceBadgeText,{color:e.source==="firebase"?AppColors_1.AppColors.amber800Warm:AppColors_1.AppColors.purple}]}>
19
- {e.source==="firebase"?r("analytics.sourceFirebase"):r("analytics.sourceCustom")}
19
+ {e.source==="firebase"?t("analytics.sourceFirebase"):t("analytics.sourceCustom")}
20
20
  </react_native_1.Text>
21
21
  </react_native_1.View>
22
22
 
@@ -32,7 +32,7 @@
32
32
 
33
33
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
34
34
  <ShareButton_1.default onShare={()=>(0,shareFormatter_1.shareAnalyticsReport)(e)}/>
35
- <CopyButton_1.default value={JSON.stringify(y,null,2)}label={r("analytics.eventDetails")}/>
35
+ <CopyButton_1.default value={JSON.stringify(y,null,2)}label={t("analytics.eventDetails")}/>
36
36
  </react_native_1.View>
37
37
  </react_native_1.View>
38
38
 
@@ -63,17 +63,17 @@
63
63
 
64
64
  <react_native_1.View style={detailStyles.metricsBar}>
65
65
  <react_native_1.View style={detailStyles.metricPill}>
66
- <react_native_1.Text style={detailStyles.metricLabel}>Params:</react_native_1.Text>
66
+ <react_native_1.Text style={detailStyles.metricLabel}>{t("analytics.metricParams","Params:")}</react_native_1.Text>
67
67
  <react_native_1.Text style={detailStyles.metricValue}>{u.length}</react_native_1.Text>
68
68
  </react_native_1.View>
69
69
 
70
70
  {s.length>0&&<react_native_1.View style={detailStyles.metricPill}>
71
- <react_native_1.Text style={detailStyles.metricLabel}>User Props:</react_native_1.Text>
71
+ <react_native_1.Text style={detailStyles.metricLabel}>{t("analytics.metricUserProps","User Props:")}</react_native_1.Text>
72
72
  <react_native_1.Text style={detailStyles.metricValue}>{s.length}</react_native_1.Text>
73
73
  </react_native_1.View>}
74
74
 
75
75
  <react_native_1.View style={detailStyles.metricPill}>
76
- <react_native_1.Text style={detailStyles.metricLabel}>Size:</react_native_1.Text>
76
+ <react_native_1.Text style={detailStyles.metricLabel}>{t("analytics.metricSize","Size:")}</react_native_1.Text>
77
77
  <react_native_1.Text style={detailStyles.metricValue}>{(0,helpers_1.getSize)(y)}</react_native_1.Text>
78
78
  </react_native_1.View>
79
79
 
@@ -87,7 +87,7 @@
87
87
  {f!==null&&<react_native_1.View style={detailStyles.itemsPill}>
88
88
  <NetworkIcons_1.PackageIcon size={12}color={AppColors_1.AppColors.blue700}/>
89
89
  <react_native_1.Text style={detailStyles.itemsValue}>
90
- {f} items
90
+ {t("analytics.metricItems",{count:f},"{{count}} items")}
91
91
  </react_native_1.Text>
92
92
  </react_native_1.View>}
93
93
  </react_native_1.View>
@@ -95,7 +95,7 @@
95
95
 
96
96
 
97
97
  <react_native_1.View style={detailStyles.tabsWrap}>
98
- <SegmentedTabs_1.default tabs={T}activeKey={i}onChange={t=>l(t)}/>
98
+ <SegmentedTabs_1.default tabs={T}activeKey={i}onChange={r=>l(r)}/>
99
99
  </react_native_1.View>
100
100
 
101
101
 
@@ -104,19 +104,19 @@
104
104
  {(e.userId||e.sessionId||e.trackingId)&&<react_native_1.View style={detailStyles.sectionCard}>
105
105
  <react_native_1.View style={detailStyles.sectionHeader}>
106
106
  <NetworkIcons_1.LayersIcon color={AppColors_1.AppColors.purple}size={12}/>
107
- <react_native_1.Text style={detailStyles.sectionTitle}>SESSION & IDENTITY</react_native_1.Text>
107
+ <react_native_1.Text style={detailStyles.sectionTitle}>{t("analytics.sessionIdentity","SESSION & IDENTITY")}</react_native_1.Text>
108
108
  </react_native_1.View>
109
109
  <react_native_1.View style={detailStyles.sectionBody}>
110
110
  {e.userId&&<react_native_1.View style={detailStyles.kvRow}>
111
- <react_native_1.Text style={detailStyles.kvKey}>User ID:</react_native_1.Text>
111
+ <react_native_1.Text style={detailStyles.kvKey}>{t("analytics.userId","User ID")}:</react_native_1.Text>
112
112
  <react_native_1.Text style={detailStyles.kvVal}selectable>{e.userId}</react_native_1.Text>
113
113
  </react_native_1.View>}
114
114
  {e.sessionId&&<react_native_1.View style={detailStyles.kvRow}>
115
- <react_native_1.Text style={detailStyles.kvKey}>Session ID:</react_native_1.Text>
115
+ <react_native_1.Text style={detailStyles.kvKey}>{t("analytics.sessionId","Session ID")}:</react_native_1.Text>
116
116
  <react_native_1.Text style={detailStyles.kvVal}selectable>{e.sessionId}</react_native_1.Text>
117
117
  </react_native_1.View>}
118
118
  {e.trackingId&&<react_native_1.View style={detailStyles.kvRow}>
119
- <react_native_1.Text style={detailStyles.kvKey}>Tracking ID:</react_native_1.Text>
119
+ <react_native_1.Text style={detailStyles.kvKey}>{t("analytics.trackingId","Tracking ID")}:</react_native_1.Text>
120
120
  <react_native_1.Text style={detailStyles.kvVal}selectable>{e.trackingId}</react_native_1.Text>
121
121
  </react_native_1.View>}
122
122
  </react_native_1.View>
@@ -128,18 +128,18 @@
128
128
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
129
129
  <NetworkIcons_1.TableIcon color={AppColors_1.AppColors.brandPurple}size={12}/>
130
130
  <react_native_1.Text style={detailStyles.sectionTitle}>
131
- EVENT PARAMETERS ({u.length})
131
+ {t("analytics.eventParameters",{count:u.length},"EVENT PARAMETERS ({{count}})")}
132
132
  </react_native_1.Text>
133
133
  </react_native_1.View>
134
134
  <react_native_1.Text style={detailStyles.sectionSubtitle}>
135
- Key-Value Attributes
135
+ {t("analytics.keyValueAttributes","Key-Value Attributes")}
136
136
  </react_native_1.Text>
137
137
  </react_native_1.View>
138
138
 
139
139
 
140
140
  {u.length>4&&<react_native_1.View style={detailStyles.searchBar}>
141
141
  <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
142
- <react_native_1.TextInput placeholder="Filter parameters by key or value..."placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={w}style={detailStyles.searchInput}autoCorrect={!1}autoCapitalize="none"/>
142
+ <react_native_1.TextInput placeholder={t("analytics.filterParamsPlaceholder","Filter parameters by key or value...")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={w}style={detailStyles.searchInput}autoCorrect={!1}autoCapitalize="none"/>
143
143
  {o.length>0&&<react_native_1.Pressable onPress={()=>w("")}hitSlop={8}>
144
144
  <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
145
145
  </react_native_1.Pressable>}
@@ -148,19 +148,19 @@
148
148
  {u.length===0?<react_native_1.View style={detailStyles.emptyParamsBox}>
149
149
  <NetworkIcons_1.DocIcon color={AppColors_1.AppColors.grayTextWeak}size={16}/>
150
150
  <react_native_1.Text style={detailStyles.emptyParamsText}>
151
- No custom parameters recorded for this event.
151
+ {t("analytics.noParamsRecorded","No custom parameters recorded for this event.")}
152
152
  </react_native_1.Text>
153
153
  </react_native_1.View>:x.length===0?<react_native_1.View style={detailStyles.emptyParamsBox}>
154
154
  <react_native_1.Text style={detailStyles.emptyParamsText}>
155
- No parameters matching "{o}"
155
+ {t("analytics.noParamsMatching",{search:o},'No parameters matching "{{search}}"')}
156
156
  </react_native_1.Text>
157
157
  </react_native_1.View>:<react_native_1.View style={detailStyles.paramList}>
158
- {x.map(([t,n],_)=>{const c=typeof n=="object"&&n!==null,C=Array.isArray(n);let g=typeof n;n===null?g="null":C?g=`array [${n.length}]`:c&&(g="object");const A=c?JSON.stringify(n,null,2):String(n),V=t==="value"||t==="price"||t==="currency"||t==="screen_name"||t==="item_id"||t==="item_name";return<AnimatedEntrance_1.default key={t}index={_}distance={4}>
158
+ {x.map(([r,n],_)=>{const c=typeof n=="object"&&n!==null,C=Array.isArray(n);let g=typeof n;n===null?g="null":C?g=`array [${n.length}]`:c&&(g="object");const A=c?JSON.stringify(n,null,2):String(n),V=r==="value"||r==="price"||r==="currency"||r==="screen_name"||r==="item_id"||r==="item_name";return<AnimatedEntrance_1.default key={r}index={_}distance={4}>
159
159
  <react_native_1.View style={detailStyles.paramCard}>
160
160
 
161
161
  <react_native_1.View style={detailStyles.paramCardHeader}>
162
162
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0}}>
163
- <HighlightText_1.default text={t}search={o}style={[detailStyles.paramKeyText,V&&detailStyles.paramKeyHighlighted]}highlightStyle={detailStyles.highlight}/>
163
+ <HighlightText_1.default text={r}search={o}style={[detailStyles.paramKeyText,V&&detailStyles.paramKeyHighlighted]}highlightStyle={detailStyles.highlight}/>
164
164
  <react_native_1.View style={detailStyles.typeBadge}>
165
165
  <react_native_1.Text style={detailStyles.typeBadgeText}>
166
166
  {g.toUpperCase()}
@@ -168,7 +168,7 @@
168
168
  </react_native_1.View>
169
169
  </react_native_1.View>
170
170
 
171
- <CopyButton_1.default value={A}label={t}/>
171
+ <CopyButton_1.default value={A}label={r}/>
172
172
  </react_native_1.View>
173
173
 
174
174
 
@@ -189,10 +189,10 @@
189
189
  </react_native_1.Text>
190
190
  </react_native_1.View>
191
191
  <react_native_1.View style={detailStyles.sectionBody}>
192
- {s.map(t=><react_native_1.View key={t}style={detailStyles.kvRow}>
193
- <react_native_1.Text style={detailStyles.kvKey}>{t}:</react_native_1.Text>
192
+ {s.map(r=><react_native_1.View key={r}style={detailStyles.kvRow}>
193
+ <react_native_1.Text style={detailStyles.kvKey}>{r}:</react_native_1.Text>
194
194
  <react_native_1.Text style={detailStyles.kvVal}selectable>
195
- {String(d[t])}
195
+ {String(d[r])}
196
196
  </react_native_1.Text>
197
197
  </react_native_1.View>)}
198
198
  </react_native_1.View>
@@ -97,4 +97,4 @@
97
97
  </react_native_1.View>
98
98
  </react_native_1.View>
99
99
  </TouchableScale_1.default>
100
- </react_native_1.View>}),cardStyles=react_native_1.StyleSheet.create({container:{paddingHorizontal:10,paddingVertical:4,height:86,justifyContent:"center"},gapContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",marginVertical:4,gap:8},gapLine:{flex:1,height:1,backgroundColor:`${AppColors_1.AppColors.dividerColor}`},gapText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.5},modernCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:12,paddingVertical:9,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.03,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1,overflow:"hidden",height:78,justifyContent:"space-between"},cardHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",height:24},iconBadge:{width:22,height:22,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center"},eventName:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,letterSpacing:.1,color:AppColors_1.AppColors.primaryBlack},timestamp:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardBody:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:24,overflow:"hidden"},chipsRow:{flexDirection:"row",alignItems:"center",flexWrap:"nowrap",gap:6,flex:1,overflow:"hidden"},chip:{flexDirection:"row",alignItems:"center",paddingHorizontal:6,paddingVertical:2.5,borderRadius:4.5,borderWidth:1,gap:3.5},chipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayText},screenDot:{width:5,height:5,borderRadius:2.5},duplicateBadge:{backgroundColor:AppColors_1.AppColors.roseBg,borderColor:AppColors_1.AppColors.roseBorder,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},duplicateText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.rose600,textTransform:"uppercase"},idBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:5,backgroundColor:`${AppColors_1.AppColors.slate500}12`,borderWidth:1,borderColor:`${AppColors_1.AppColors.slate500}22`},idBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2},categoryBadge:{borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},categoryText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,textTransform:"uppercase",letterSpacing:.4}});exports.default=AnalyticsEventCard;
100
+ </react_native_1.View>}),cardStyles=react_native_1.StyleSheet.create({container:{paddingHorizontal:5,paddingVertical:4,height:86,justifyContent:"center"},gapContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",marginVertical:4,gap:8},gapLine:{flex:1,height:1,backgroundColor:`${AppColors_1.AppColors.dividerColor}`},gapText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.5},modernCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:8,paddingVertical:8,shadowColor:AppColors_1.AppColors.black,shadowOpacity:.03,shadowRadius:3,shadowOffset:{width:0,height:1},elevation:1,overflow:"hidden",height:78,justifyContent:"space-between"},cardHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",height:24},iconBadge:{width:22,height:22,borderRadius:6,borderWidth:1,alignItems:"center",justifyContent:"center"},eventName:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,lineHeight:17,letterSpacing:.1,color:AppColors_1.AppColors.primaryBlack},timestamp:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,lineHeight:14,color:AppColors_1.AppColors.grayTextWeak},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardBody:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:24,overflow:"hidden"},chipsRow:{flexDirection:"row",alignItems:"center",flexWrap:"nowrap",gap:6,flex:1,overflow:"hidden"},chip:{flexDirection:"row",alignItems:"center",paddingHorizontal:6,paddingVertical:2.5,borderRadius:4.5,borderWidth:1,gap:3.5},chipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayText},screenDot:{width:5,height:5,borderRadius:2.5},duplicateBadge:{backgroundColor:AppColors_1.AppColors.roseBg,borderColor:AppColors_1.AppColors.roseBorder,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},duplicateText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.rose600,textTransform:"uppercase"},idBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:5,backgroundColor:`${AppColors_1.AppColors.slate500}12`,borderWidth:1,borderColor:`${AppColors_1.AppColors.slate500}22`},idBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2},categoryBadge:{borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},categoryText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,textTransform:"uppercase",letterSpacing:.4}});exports.default=AnalyticsEventCard;
@@ -1,56 +1,56 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,a){a===void 0&&(a=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,a,n)}):(function(t,e,r,a){a===void 0&&(a=r),t[a]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var a=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(a[a.length]=n);return a},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var a=t(e),n=0;n<a.length;n++)a[n]!=="default"&&__createBinding(r,e,a[n]);return __setModuleDefault(r,e),r}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importDefault(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),AppFonts_1=require("../styles/AppFonts"),BAR_HEIGHT=24,PADDING_Y=12,AnalyticsGraph=({event:t,accentColor:e})=>{const r=t.params||{},n=(Array.isArray(r.items)?r.items:null)?.filter(l=>typeof l.price=="number")||[],s=[];Object.entries(r).forEach(([l,p])=>{typeof p=="number"&&!l.toLowerCase().includes("id")&&!l.toLowerCase().includes("timestamp")&&s.push({key:l,value:p})});const o=[];Object.entries(r).forEach(([l,p])=>{if(typeof p=="string"&&p.length>=10&&/^\d{4}-\d{2}-\d{2}/.test(p)){const g=new Date(p);isNaN(g.getTime())||o.push({key:l,date:g})}});const i={string:0,number:0,boolean:0,object:0},c=[];Object.entries(r).forEach(([l,p])=>{const g=typeof p;g==="string"?(i.string++,c.push({label:l,value:p.length})):g==="number"?i.number++:g==="boolean"?i.boolean++:g==="object"&&p!==null&&i.object++});const u=[{label:"Strings",value:i.string,color:AppColors_1.AppColors.purple},{label:"Numbers",value:i.number,color:AppColors_1.AppColors.skyBlue},{label:"Booleans",value:i.boolean,color:AppColors_1.AppColors.amber500},{label:"Objects",value:i.object,color:AppColors_1.AppColors.greenColor}].filter(l=>l.value>0);c.sort((l,p)=>p.value-l.value);const h=c.slice(0,5),y=n.length>0,d=s.length>0,_=o.length>0,m=h.length>0,v=u.length>0,f=react_native_1.Dimensions.get("window").width-60-40;return<react_native_1.View style={graphStyles.container}>
2
- <react_native_1.Text style={graphStyles.headerTitle}>Data Visualization</react_native_1.Text>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(a,t,r,e){e===void 0&&(e=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(a,e,n)}):(function(a,t,r,e){e===void 0&&(e=r),a[e]=t[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(a,t){Object.defineProperty(a,"default",{enumerable:!0,value:t})}):function(a,t){a.default=t}),__importStar=this&&this.__importStar||(function(){var a=function(t){return a=Object.getOwnPropertyNames||function(r){var e=[];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[e.length]=n);return e},a(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var e=a(t),n=0;n<e.length;n++)e[n]!=="default"&&__createBinding(r,t,e[n]);return __setModuleDefault(r,t),r}})(),__importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importDefault(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),AppFonts_1=require("../styles/AppFonts"),i18n_1=require("../i18n"),BAR_HEIGHT=24,PADDING_Y=12,AnalyticsGraph=({event:a,accentColor:t})=>{const{t:r}=(0,i18n_1.useTranslation)(),e=a.params||{},l=(Array.isArray(e.items)?e.items:null)?.filter(i=>typeof i.price=="number")||[],o=[];Object.entries(e).forEach(([i,s])=>{typeof s=="number"&&!i.toLowerCase().includes("id")&&!i.toLowerCase().includes("timestamp")&&o.push({key:i,value:s})});const c=[],p=/^\d{4}-\d{2}-\d{2}/;Object.entries(e).forEach(([i,s])=>{if(typeof s=="string"&&s.length>=10&&p.test(s)){const g=new Date(s);isNaN(g.getTime())||c.push({key:i,date:g})}});const u={};Object.values(e).forEach(i=>{let s=typeof i;i===null&&(s="null"),Array.isArray(i)&&(s="array"),u[s]=(u[s]||0)+1});const h=[AppColors_1.AppColors.purple,AppColors_1.AppColors.skyBlue,AppColors_1.AppColors.amber500,AppColors_1.AppColors.greenColor],y=Object.entries(u).map(([i,s],g)=>({label:i,value:s,color:h[g%h.length]})),d=[];Object.entries(e).forEach(([i,s])=>{typeof s=="string"&&d.push({label:i,value:s.length})}),d.sort((i,s)=>s.value-i.value);const f=d.slice(0,5),m=l.length>0,v=o.length>0,w=c.length>0,x=f.length>0,C=y.length>0,_=react_native_1.Dimensions.get("window").width-60-40;return<react_native_1.View style={graphStyles.container}>
2
+ <react_native_1.Text style={graphStyles.headerTitle}>{r("analytics.dataVisualization","Data Visualization")}</react_native_1.Text>
3
3
 
4
- {v&&<react_native_1.View style={graphStyles.chartBlock}>
5
- <react_native_1.Text style={graphStyles.chartTitle}>Data Types Breakdown</react_native_1.Text>
6
- <DonutChart data={u}/>
4
+ {C&&<react_native_1.View style={graphStyles.chartBlock}>
5
+ <react_native_1.Text style={graphStyles.chartTitle}>{r("analytics.dataTypesBreakdown","Data Types Breakdown")}</react_native_1.Text>
6
+ <DonutChart data={y}/>
7
7
  </react_native_1.View>}
8
8
 
9
- {m&&<react_native_1.View style={graphStyles.chartBlock}>
10
- <react_native_1.Text style={graphStyles.chartTitle}>Highest Payload Strings</react_native_1.Text>
11
- <BarChart data={h}accentColor={AppColors_1.AppColors.purple}maxBarWidth={f}isGradient/>
9
+ {x&&<react_native_1.View style={graphStyles.chartBlock}>
10
+ <react_native_1.Text style={graphStyles.chartTitle}>{r("analytics.highestPayloadStrings","Highest Payload Strings")}</react_native_1.Text>
11
+ <BarChart data={f}accentColor={AppColors_1.AppColors.purple}maxBarWidth={_}isGradient/>
12
12
  </react_native_1.View>}
13
13
 
14
- {d&&<react_native_1.View style={graphStyles.chartBlock}>
15
- <react_native_1.Text style={graphStyles.chartTitle}>Top-Level Metrics</react_native_1.Text>
16
- <GaugeChart data={s.map(l=>({label:l.key,value:l.value}))}accentColor={e}/>
14
+ {v&&<react_native_1.View style={graphStyles.chartBlock}>
15
+ <react_native_1.Text style={graphStyles.chartTitle}>{r("analytics.topLevelMetrics","Top-Level Metrics")}</react_native_1.Text>
16
+ <GaugeChart data={o.map(i=>({label:i.key,value:i.value}))}accentColor={t}/>
17
17
  </react_native_1.View>}
18
18
 
19
- {_&&<react_native_1.View style={graphStyles.chartBlock}>
20
- <react_native_1.Text style={graphStyles.chartTitle}>Important Dates</react_native_1.Text>
21
- <CalendarChart data={o.map(l=>({label:l.key,date:l.date}))}accentColor={e}/>
19
+ {w&&<react_native_1.View style={graphStyles.chartBlock}>
20
+ <react_native_1.Text style={graphStyles.chartTitle}>{r("analytics.importantDates","Important Dates")}</react_native_1.Text>
21
+ <CalendarChart data={c.map(i=>({label:i.key,date:i.date}))}accentColor={t}/>
22
22
  </react_native_1.View>}
23
23
 
24
- {y&&<react_native_1.View style={graphStyles.chartBlock}>
25
- <react_native_1.Text style={graphStyles.chartTitle}>Item Prices</react_native_1.Text>
26
- <BarChart data={n.map((l,p)=>({label:l.item_name||l.item_id||`Item ${p+1}`,value:l.price}))}accentColor={AppColors_1.AppColors.successGreen}maxBarWidth={f}isGradient={!1}/>
24
+ {m&&<react_native_1.View style={graphStyles.chartBlock}>
25
+ <react_native_1.Text style={graphStyles.chartTitle}>{r("analytics.itemPrices","Item Prices")}</react_native_1.Text>
26
+ <BarChart data={l.map((i,s)=>({label:i.item_name||i.item_id||`Item ${s+1}`,value:i.price}))}accentColor={AppColors_1.AppColors.successGreen}maxBarWidth={_}isGradient={!1}/>
27
27
  </react_native_1.View>}
28
- </react_native_1.View>},polarToCartesian=(t,e,r,a)=>{const n=(a-90)*Math.PI/180;return{x:t+r*Math.cos(n),y:e+r*Math.sin(n)}},getPiePath=(t,e,r,a,n,s)=>{const o=polarToCartesian(t,e,r,s),i=polarToCartesian(t,e,r,n),c=polarToCartesian(t,e,a,s),u=polarToCartesian(t,e,a,n),h=s-n<=180?"0":"1";return`
28
+ </react_native_1.View>},polarToCartesian=(a,t,r,e)=>{const n=(e-90)*Math.PI/180;return{x:a+r*Math.cos(n),y:t+r*Math.sin(n)}},getPiePath=(a,t,r,e,n,l)=>{const o=polarToCartesian(a,t,r,l),c=polarToCartesian(a,t,r,n),p=polarToCartesian(a,t,e,l),u=polarToCartesian(a,t,e,n),h=l-n<=180?"0":"1";return`
29
29
  M ${o.x} ${o.y}
30
- A ${r} ${r} 0 ${h} 0 ${i.x} ${i.y}
30
+ A ${r} ${r} 0 ${h} 0 ${c.x} ${c.y}
31
31
  L ${u.x} ${u.y}
32
- A ${a} ${a} 0 ${h} 1 ${c.x} ${c.y}
32
+ A ${e} ${e} 0 ${h} 1 ${p.x} ${p.y}
33
33
  Z
34
- `},DonutChart=({data:t})=>{const e=t.reduce((o,i)=>o+i.value,0);if(e===0)return null;let r=0;const a=50,n=30,s=60;return<react_native_1.View style={{flexDirection:"row",alignItems:"center"}}>
34
+ `},DonutChart=({data:a})=>{const t=a.reduce((o,c)=>o+c.value,0);if(t===0)return null;let r=0;const e=50,n=30,l=60;return<react_native_1.View style={{flexDirection:"row",alignItems:"center"}}>
35
35
  <react_native_svg_1.default width="120"height="120"viewBox="0 0 120 120">
36
- {t.map((o,i)=>{if(o.value===0)return null;const c=o.value/e*360,u=r,h=r+c;if(r+=c,c===360)return<react_1.default.Fragment key={i}>
37
- <react_native_svg_1.Circle cx={s}cy={s}r={a}fill={o.color}/>
38
- <react_native_svg_1.Circle cx={s}cy={s}r={n}fill={AppColors_1.AppColors.primaryLight}/>
39
- </react_1.default.Fragment>;const y=getPiePath(s,s,a,n,u,h);return<react_native_svg_1.Path key={i}d={y}fill={o.color}/>})}
36
+ {a.map((o,c)=>{if(o.value===0)return null;const p=o.value/t*360,u=r,h=r+p;if(r+=p,p===360)return<react_1.default.Fragment key={c}>
37
+ <react_native_svg_1.Circle cx={l}cy={l}r={e}fill={o.color}/>
38
+ <react_native_svg_1.Circle cx={l}cy={l}r={n}fill={AppColors_1.AppColors.primaryLight}/>
39
+ </react_1.default.Fragment>;const y=getPiePath(l,l,e,n,u,h);return<react_native_svg_1.Path key={c}d={y}fill={o.color}/>})}
40
40
  </react_native_svg_1.default>
41
41
  <react_native_1.View style={{marginLeft:16,flex:1,gap:6}}>
42
- {t.map((o,i)=>o.value===0?null:<react_native_1.View key={i}style={{flexDirection:"row",alignItems:"center",gap:6}}>
42
+ {a.map((o,c)=>o.value===0?null:<react_native_1.View key={c}style={{flexDirection:"row",alignItems:"center",gap:6}}>
43
43
  <react_native_1.View style={{width:10,height:10,borderRadius:5,backgroundColor:o.color}}/>
44
44
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextStrong}}>
45
45
  {o.label} ({o.value})
46
46
  </react_native_1.Text>
47
47
  </react_native_1.View>)}
48
48
  </react_native_1.View>
49
- </react_native_1.View>},GaugeChart=({data:t,accentColor:e})=>{const r=Math.max(...t.map(o=>Math.abs(o.value)),1),a=26,n=5,s=2*Math.PI*a;return<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{gap:16,paddingRight:16,paddingTop:6,paddingBottom:6}}>
50
- {t.map(o=>{const i=Math.min(Math.abs(o.value)/r,1),c=Math.max(s-i*s,.001);return<react_native_1.View key={o.label}style={{alignItems:"center",width:70}}>
49
+ </react_native_1.View>},GaugeChart=({data:a,accentColor:t})=>{const r=Math.max(...a.map(o=>Math.abs(o.value)),1),e=26,n=5,l=2*Math.PI*e;return<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{gap:16,paddingRight:16,paddingTop:6,paddingBottom:6}}>
50
+ {a.map(o=>{const c=Math.min(Math.abs(o.value)/r,1),p=Math.max(l-c*l,.001);return<react_native_1.View key={o.label}style={{alignItems:"center",width:70}}>
51
51
  <react_native_svg_1.default width="60"height="60"viewBox="0 0 60 60">
52
- <react_native_svg_1.Circle cx="30"cy="30"r={a}stroke={AppColors_1.AppColors.grayBorderSecondary}strokeWidth={n}fill="none"/>
53
- <react_native_svg_1.Circle cx="30"cy="30"r={a}stroke={e}strokeWidth={n}fill="none"strokeLinecap="round"strokeDasharray={s}strokeDashoffset={c}rotation="-90"origin="30, 30"/>
52
+ <react_native_svg_1.Circle cx="30"cy="30"r={e}stroke={AppColors_1.AppColors.grayBorderSecondary}strokeWidth={n}fill="none"/>
53
+ <react_native_svg_1.Circle cx="30"cy="30"r={e}stroke={t}strokeWidth={n}fill="none"strokeLinecap="round"strokeDasharray={l}strokeDashoffset={p}rotation="-90"origin="30, 30"/>
54
54
  </react_native_svg_1.default>
55
55
  <react_native_1.View style={{position:"absolute",top:20,height:20,width:60,justifyContent:"center",alignItems:"center"}}>
56
56
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,color:AppColors_1.AppColors.primaryBlack,textAlign:"center"}}>
@@ -61,13 +61,13 @@
61
61
  {o.label}
62
62
  </react_native_1.Text>
63
63
  </react_native_1.View>})}
64
- </react_native_1.ScrollView>},CalendarChart=({data:t,accentColor:e})=>{const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{gap:16,paddingRight:16,paddingTop:6,paddingBottom:6}}>
65
- {t.map((a,n)=>{const s=r[a.date.getMonth()],o=a.date.getDate(),i=a.date.getFullYear();return<react_native_1.View key={a.label+n}style={{width:70,alignItems:"center"}}>
64
+ </react_native_1.ScrollView>},CalendarChart=({data:a,accentColor:t})=>{const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{gap:16,paddingRight:16,paddingTop:6,paddingBottom:6}}>
65
+ {a.map((e,n)=>{const l=r[e.date.getMonth()],o=e.date.getDate(),c=e.date.getFullYear();return<react_native_1.View key={e.label+n}style={{width:70,alignItems:"center"}}>
66
66
  <react_native_1.View style={{width:58,height:62,backgroundColor:AppColors_1.AppColors.white,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,overflow:"hidden",shadowColor:AppColors_1.AppColors.black,shadowOpacity:.05,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:2}}>
67
67
 
68
- <react_native_1.View style={{backgroundColor:e,height:18,justifyContent:"center",alignItems:"center"}}>
68
+ <react_native_1.View style={{backgroundColor:t,height:18,justifyContent:"center",alignItems:"center"}}>
69
69
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.white,textTransform:"uppercase",letterSpacing:.5}}>
70
- {s} {i}
70
+ {l} {c}
71
71
  </react_native_1.Text>
72
72
  </react_native_1.View>
73
73
 
@@ -79,31 +79,31 @@
79
79
  </react_native_1.View>
80
80
 
81
81
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayTextWeak,marginTop:8,textAlign:"center"}}numberOfLines={2}>
82
- {a.label.replace(/_/g," ")}
82
+ {e.label.replace(/_/g," ")}
83
83
  </react_native_1.Text>
84
84
  </react_native_1.View>})}
85
- </react_native_1.ScrollView>},BarChart=({data:t,accentColor:e,maxBarWidth:r,isGradient:a=!1})=>{const n=Math.max(...t.map(o=>o.value),1),s=t.length*(BAR_HEIGHT+PADDING_Y)+10;return<react_native_1.View style={graphStyles.svgContainer}>
86
- <react_native_svg_1.default width="100%"height={s}>
85
+ </react_native_1.ScrollView>},BarChart=({data:a,accentColor:t,maxBarWidth:r,isGradient:e=!1})=>{const n=Math.max(...a.map(o=>o.value),1),l=a.length*(BAR_HEIGHT+PADDING_Y)+10;return<react_native_1.View style={graphStyles.svgContainer}>
86
+ <react_native_svg_1.default width="100%"height={l}>
87
87
  <react_native_svg_1.Defs>
88
88
  <react_native_svg_1.LinearGradient id="barGrad"x1="0"y1="0"x2="1"y2="0">
89
- <react_native_svg_1.Stop offset="0"stopColor={e}stopOpacity="0.6"/>
90
- <react_native_svg_1.Stop offset="1"stopColor={e}stopOpacity="1"/>
89
+ <react_native_svg_1.Stop offset="0"stopColor={t}stopOpacity="0.6"/>
90
+ <react_native_svg_1.Stop offset="1"stopColor={t}stopOpacity="1"/>
91
91
  </react_native_svg_1.LinearGradient>
92
92
  </react_native_svg_1.Defs>
93
- {t.map((o,i)=>{const c=i*(BAR_HEIGHT+PADDING_Y),u=Math.max(o.value/n*r,2);return<react_1.default.Fragment key={o.label}>
93
+ {a.map((o,c)=>{const p=c*(BAR_HEIGHT+PADDING_Y),u=Math.max(o.value/n*r,2);return<react_1.default.Fragment key={o.label}>
94
94
 
95
- <react_native_svg_1.Text x={0}y={c+12}fill={AppColors_1.AppColors.grayTextStrong}fontSize="11"fontFamily={AppFonts_1.AppFonts.interMedium}>
95
+ <react_native_svg_1.Text x={0}y={p+12}fill={AppColors_1.AppColors.grayTextStrong}fontSize="11"fontFamily={AppFonts_1.AppFonts.interMedium}>
96
96
  {o.label}
97
97
  </react_native_svg_1.Text>
98
98
 
99
99
 
100
- <react_native_svg_1.Line x1={0}y1={c+24}x2={r}y2={c+24}stroke={AppColors_1.AppColors.grayBorderSecondary}strokeDasharray="4"/>
100
+ <react_native_svg_1.Line x1={0}y1={p+24}x2={r}y2={p+24}stroke={AppColors_1.AppColors.grayBorderSecondary}strokeDasharray="4"/>
101
101
 
102
102
 
103
- <react_native_svg_1.Rect x={0}y={c+16}width={u}height={14}fill={a?"url(#barGrad)":e}rx={4}opacity={.85}/>
103
+ <react_native_svg_1.Rect x={0}y={p+16}width={u}height={14}fill={e?"url(#barGrad)":t}rx={4}opacity={.85}/>
104
104
 
105
105
 
106
- <react_native_svg_1.Text x={u+6}y={c+26}fill={AppColors_1.AppColors.primaryBlack}fontSize="11"fontFamily={AppFonts_1.AppFonts.interBold}>
106
+ <react_native_svg_1.Text x={u+6}y={p+26}fill={AppColors_1.AppColors.primaryBlack}fontSize="11"fontFamily={AppFonts_1.AppFonts.interBold}>
107
107
  {o.value}
108
108
  </react_native_svg_1.Text>
109
109
  </react_1.default.Fragment>})}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface AnimatedBrandOwlProps {
3
+ size?: number;
4
+ shape?: 'square' | 'circle';
5
+ }
6
+ export declare const AnimatedBrandOwl: React.FC<AnimatedBrandOwlProps>;
7
+ export default AnimatedBrandOwl;
@@ -0,0 +1,175 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,t,e,r){r===void 0&&(r=e);var a=Object.getOwnPropertyDescriptor(t,e);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(o,r,a)}):(function(o,t,e,r){r===void 0&&(r=e),o[r]=t[e]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,t){Object.defineProperty(o,"default",{enumerable:!0,value:t})}):function(o,t){o.default=t}),__importStar=this&&this.__importStar||(function(){var o=function(t){return o=Object.getOwnPropertyNames||function(e){var r=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(r[r.length]=a);return r},o(t)};return function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r=o(t),a=0;a<r.length;a++)r[a]!=="default"&&__createBinding(e,t,r[a]);return __setModuleDefault(e,t),e}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnimatedBrandOwl=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_svg_1=__importStar(require("react-native-svg")),AppColors_1=require("../styles/AppColors"),AnimatedBrandOwl=({size:o=64,shape:t="square"})=>{const e=(0,react_1.useRef)(new react_native_1.Animated.Value(0)).current;(0,react_1.useEffect)(()=>{const l=react_native_1.Animated.loop(react_native_1.Animated.sequence([react_native_1.Animated.timing(e,{toValue:1,duration:2200,easing:react_native_1.Easing.inOut(react_native_1.Easing.sin),useNativeDriver:!0}),react_native_1.Animated.timing(e,{toValue:0,duration:2200,easing:react_native_1.Easing.inOut(react_native_1.Easing.sin),useNativeDriver:!0})]));return l.start(),()=>l.stop()},[e]);const r=e.interpolate({inputRange:[0,1],outputRange:[0,-8]}),a=e.interpolate({inputRange:[0,.5,1],outputRange:["0deg","-1.8deg","0deg"]}),i=t==="square",s=i?Math.round(o*.2265):o/2;return<react_native_1.View style={[styles.container,{width:o,height:o,borderRadius:s}]}>
2
+ <react_native_1.Animated.View style={[styles.animatedLayer,{transform:[{translateY:r},{rotate:a}]}]}>
3
+ <react_native_svg_1.default width={o}height={o}viewBox="0 0 256 256"fill="none">
4
+ <react_native_svg_1.Defs>
5
+
6
+ <react_native_svg_1.LinearGradient id="owl_beam"x1="70"y1="74"x2="194"y2="187"gradientUnits="userSpaceOnUse">
7
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.teal300}/>
8
+ <react_native_svg_1.Stop offset="0.5"stopColor={AppColors_1.AppColors.sky400}/>
9
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.purple400}/>
10
+ </react_native_svg_1.LinearGradient>
11
+
12
+
13
+ <react_native_svg_1.RadialGradient id="owl_halo"cx="0.5"cy="0.45"r="0.55">
14
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.sky400}stopOpacity={.25}/>
15
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.sky400}stopOpacity={0}/>
16
+ </react_native_svg_1.RadialGradient>
17
+
18
+
19
+ <react_native_svg_1.LinearGradient id="owl_body"x1="78"y1="60"x2="178"y2="186"gradientUnits="userSpaceOnUse">
20
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.navy700}/>
21
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy900}/>
22
+ </react_native_svg_1.LinearGradient>
23
+
24
+
25
+ <react_native_svg_1.LinearGradient id="owl_beak"x1="120"y1="151"x2="136"y2="168"gradientUnits="userSpaceOnUse">
26
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.amber300}/>
27
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.orange400}/>
28
+ </react_native_svg_1.LinearGradient>
29
+
30
+
31
+ <react_native_svg_1.RadialGradient id="owl_iris"cx="0.42"cy="0.38"r="0.72">
32
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.amber200}/>
33
+ <react_native_svg_1.Stop offset="0.5"stopColor={AppColors_1.AppColors.amber400}/>
34
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.amber500}/>
35
+ </react_native_svg_1.RadialGradient>
36
+
37
+
38
+ <react_native_svg_1.RadialGradient id="owl_blush"cx="0.5"cy="0.5"r="0.5">
39
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.rose400}stopOpacity={.6}/>
40
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.rose400}stopOpacity={0}/>
41
+ </react_native_svg_1.RadialGradient>
42
+
43
+
44
+ <react_native_svg_1.LinearGradient id="owl_wing"x1="70"y1="120"x2="190"y2="206"gradientUnits="userSpaceOnUse">
45
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.navy800}/>
46
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy950}/>
47
+ </react_native_svg_1.LinearGradient>
48
+
49
+
50
+ <react_native_svg_1.LinearGradient id="owl_faceplate"x1="70"y1="72"x2="186"y2="152"gradientUnits="userSpaceOnUse">
51
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.steel500}/>
52
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy700}/>
53
+ </react_native_svg_1.LinearGradient>
54
+
55
+
56
+ <react_native_svg_1.RadialGradient id="owl_lensglass"cx="0.4"cy="0.32"r="0.75">
57
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.sky300}stopOpacity={.25}/>
58
+ <react_native_svg_1.Stop offset="0.7"stopColor={AppColors_1.AppColors.sky300}stopOpacity={.06}/>
59
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.sky300}stopOpacity={0}/>
60
+ </react_native_svg_1.RadialGradient>
61
+
62
+
63
+ <react_native_svg_1.LinearGradient id="owl_belly"x1="94"y1="126"x2="162"y2="212"gradientUnits="userSpaceOnUse">
64
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.steel600}/>
65
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy700}/>
66
+ </react_native_svg_1.LinearGradient>
67
+
68
+
69
+ <react_native_svg_1.LinearGradient id="owl_tile"x1="30"y1="30"x2="210"y2="222"gradientUnits="userSpaceOnUse">
70
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.navy900}/>
71
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy950}/>
72
+ </react_native_svg_1.LinearGradient>
73
+
74
+
75
+ <react_native_svg_1.LinearGradient id="owl_edge"x1="14"y1="22"x2="220"y2="228"gradientUnits="userSpaceOnUse">
76
+ <react_native_svg_1.Stop offset="0"stopColor={AppColors_1.AppColors.steel600}/>
77
+ <react_native_svg_1.Stop offset="1"stopColor={AppColors_1.AppColors.navy800}/>
78
+ </react_native_svg_1.LinearGradient>
79
+ </react_native_svg_1.Defs>
80
+
81
+
82
+ {i?<>
83
+ <react_native_svg_1.Rect x={8}y={8}width={240}height={240}rx={58}fill="url(#owl_tile)"/>
84
+ <react_native_svg_1.Rect x={8.6}y={8.6}width={238.8}height={238.8}rx={57.4}fill="none"stroke="url(#owl_edge)"strokeOpacity={.75}strokeWidth={1.6}/>
85
+ <react_native_svg_1.Circle cx={128}cy={128}r={104}fill="url(#owl_halo)"/>
86
+ </>:<>
87
+ <react_native_svg_1.Circle cx={128}cy={128}r={122}fill="url(#owl_tile)"/>
88
+ <react_native_svg_1.Circle cx={128}cy={128}r={121.4}fill="none"stroke="url(#owl_edge)"strokeOpacity={.75}strokeWidth={1.6}/>
89
+ <react_native_svg_1.Circle cx={128}cy={128}r={105}fill="url(#owl_halo)"/>
90
+ </>}
91
+
92
+
93
+ <react_native_svg_1.G transform={i?"translate(128 128) scale(1.16) translate(-128 -134)":"translate(128 132) scale(1.08) translate(-128 -134)"}>
94
+
95
+ <react_native_svg_1.Path d="M74 124 C58 154 60 190 86 204 C79 176 77 148 88 126 Z"fill="url(#owl_wing)"stroke="url(#owl_beam)"strokeWidth={2.5}strokeOpacity={.5}/>
96
+ <react_native_svg_1.Path d="M182 124 C198 154 196 190 170 204 C177 176 179 148 168 126 Z"fill="url(#owl_wing)"stroke="url(#owl_beam)"strokeWidth={2.5}strokeOpacity={.5}/>
97
+
98
+
99
+ <react_native_svg_1.Path d="M62 150 C58 104 70 70 90 58 L98 42 L116 62 Q128 57 140 62 L158 42 L166 58 C186 70 198 104 194 150 C198 180 184 204 152 212 C140 216 116 216 104 212 C72 204 58 180 62 150 Z"fill="url(#owl_body)"stroke="url(#owl_beam)"strokeWidth={4}strokeLinejoin="round"/>
100
+
101
+
102
+ <react_native_svg_1.Path d="M99 48 L114 62 L104 63 L98 55 Z"fill="#080F22"opacity={.55}/>
103
+ <react_native_svg_1.Path d="M157 48 L142 62 L152 63 L158 55 Z"fill="#080F22"opacity={.55}/>
104
+
105
+
106
+ <react_native_svg_1.G stroke="#22325A"strokeWidth={2.2}fill="none"strokeLinecap="round"opacity={.75}>
107
+ <react_native_svg_1.Path d="M80 138 q-5 26 3 50"/>
108
+ <react_native_svg_1.Path d="M90 134 q-4 26 3 48"/>
109
+ <react_native_svg_1.Path d="M176 138 q5 26 -3 50"/>
110
+ <react_native_svg_1.Path d="M166 134 q4 26 -3 48"/>
111
+ </react_native_svg_1.G>
112
+
113
+
114
+ <react_native_svg_1.Path d="M128 126 C151 126 164 148 162 174 C160 198 146 212 128 212 C110 212 96 198 94 174 C92 148 105 126 128 126 Z"fill="url(#owl_belly)"/>
115
+
116
+
117
+ <react_native_svg_1.G stroke="#4A659E"strokeWidth={2.3}fill="none"strokeLinecap="round"opacity={.45}>
118
+ <react_native_svg_1.Path d="M110 154 Q118 162 126 154"/>
119
+ <react_native_svg_1.Path d="M126 154 Q134 162 142 154"/>
120
+ <react_native_svg_1.Path d="M142 154 Q150 162 158 154"/>
121
+ <react_native_svg_1.Path d="M102 172 Q110 180 118 172"/>
122
+ <react_native_svg_1.Path d="M150 172 Q158 180 166 172"/>
123
+ <react_native_svg_1.Path d="M112 190 Q120 198 128 190"/>
124
+ <react_native_svg_1.Path d="M128 190 Q136 198 144 190"/>
125
+ </react_native_svg_1.G>
126
+
127
+
128
+ <react_native_svg_1.Rect x={107}y={161}width={42}height={32}rx={9}fill="#0A1020"stroke="url(#owl_beam)"strokeWidth={2}strokeOpacity={.8}/>
129
+ <react_native_svg_1.G stroke="#7DD3FC"strokeWidth={3}strokeLinecap="round"strokeLinejoin="round"fill="none">
130
+ <react_native_svg_1.Path d="M122 170 L115 177 L122 184"/>
131
+ <react_native_svg_1.Path d="M134 170 L141 177 L134 184"/>
132
+ <react_native_svg_1.Path d="M130 168 L126 186"/>
133
+ </react_native_svg_1.G>
134
+
135
+
136
+ <react_native_svg_1.Path d="M128 92 C148 70 186 78 186 108 C186 134 160 152 128 152 C96 152 70 134 70 108 C70 78 108 70 128 92 Z"fill="url(#owl_faceplate)"stroke="#52709E"strokeWidth={2.6}strokeOpacity={.7}/>
137
+ <react_native_svg_1.Path d="M128 96 L128 120"stroke="#52709E"strokeWidth={2}strokeLinecap="round"strokeOpacity={.45}/>
138
+
139
+
140
+ <react_native_svg_1.G stroke="url(#owl_beak)"strokeWidth={5}strokeLinecap="round"fill="none">
141
+ <react_native_svg_1.Path d="M111 209 L105 224 M111 209 L111 226 M111 209 L117 224"/>
142
+ <react_native_svg_1.Path d="M145 209 L139 224 M145 209 L145 226 M145 209 L151 224"/>
143
+ </react_native_svg_1.G>
144
+
145
+
146
+ <react_native_svg_1.Circle cx={153}cy={107}r={17}fill="url(#owl_iris)"stroke="#1A1205"strokeWidth={2.2}/>
147
+ <react_native_svg_1.Circle cx={153}cy={108}r={8.2}fill="#0A0E18"/>
148
+ <react_native_svg_1.Circle cx={156.2}cy={104}r={3.1}fill="#FFFFFF"opacity={.95}/>
149
+ <react_native_svg_1.Circle cx={149.6}cy={111}r={1.6}fill="#FFFFFF"opacity={.7}/>
150
+
151
+
152
+ <react_native_svg_1.Path d="M123.5 123 Q128 121 132.5 123 Q131 132 128 134.5 Q125 132 123.5 123 Z"fill="url(#owl_beak)"/>
153
+
154
+
155
+ <react_native_svg_1.Circle cx={95}cy={103}r={20}fill="url(#owl_iris)"stroke="#1A1205"strokeWidth={2.6}/>
156
+ <react_native_svg_1.Circle cx={95}cy={104}r={10}fill="#0A0E18"/>
157
+ <react_native_svg_1.Circle cx={98.6}cy={100}r={3.4}fill="#FFFFFF"opacity={.95}/>
158
+ <react_native_svg_1.Circle cx={91}cy={107}r={1.8}fill="#FFFFFF"opacity={.7}/>
159
+ <react_native_svg_1.Circle cx={95}cy={103}r={28}fill="url(#owl_lensglass)"/>
160
+ <react_native_svg_1.Path d="M77 87 A28 28 0 0 1 106 79"fill="none"stroke="#FFFFFF"strokeWidth={4}strokeLinecap="round"strokeOpacity={.5}/>
161
+
162
+
163
+ <react_native_svg_1.Line x1={75}y1={123}x2={54}y2={147}stroke="#0A0F1C"strokeWidth={14}strokeLinecap="round"/>
164
+ <react_native_svg_1.Line x1={75}y1={123}x2={54}y2={147}stroke="url(#owl_beam)"strokeWidth={8.5}strokeLinecap="round"/>
165
+
166
+
167
+ <react_native_svg_1.Circle cx={95}cy={103}r={28}fill="none"stroke="url(#owl_beam)"strokeWidth={7}/>
168
+
169
+
170
+ <react_native_svg_1.Ellipse cx={83}cy={127}rx={9}ry={6}fill="url(#owl_blush)"/>
171
+ <react_native_svg_1.Ellipse cx={167}cy={122}rx={9}ry={6}fill="url(#owl_blush)"/>
172
+ </react_native_svg_1.G>
173
+ </react_native_svg_1.default>
174
+ </react_native_1.Animated.View>
175
+ </react_native_1.View>};exports.AnimatedBrandOwl=AnimatedBrandOwl;const styles=react_native_1.StyleSheet.create({container:{overflow:"visible",alignItems:"center",justifyContent:"center",backgroundColor:"transparent"},animatedLayer:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center"}});exports.default=exports.AnimatedBrandOwl;
@@ -3,6 +3,7 @@ import { ImageSourcePropType } from 'react-native';
3
3
  interface AppHeaderLogoProps {
4
4
  size?: number;
5
5
  customIcon?: ImageSourcePropType | null;
6
+ shape?: 'square' | 'circle';
6
7
  }
7
8
  export declare const AppHeaderLogo: React.FC<AppHeaderLogoProps>;
8
9
  export default AppHeaderLogo;
@@ -1,5 +1,7 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppHeaderLogo=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),BrandCircleIcon_1=__importDefault(require("./BrandCircleIcon")),AppHeaderLogo=({size:e=52,customIcon:t})=>{const r=Math.round(e*.23);if(t){if(react_1.default.isValidElement(t)){const n=react_1.default.cloneElement(t,{size:e,width:e,height:e});return<react_native_1.View style={[logoStyles.container,{width:e,height:e,borderRadius:r}]}>
2
- {n}
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppHeaderLogo=void 0;const react_1=__importDefault(require("react")),react_native_1=require("react-native"),BrandCircleIcon_1=require("./BrandCircleIcon"),AppHeaderLogo=({size:e=64,customIcon:t,shape:n="circle"})=>{const r=n==="circle"?e/2:Math.round(e*.2265);if(t){if(react_1.default.isValidElement(t)){const a=react_1.default.cloneElement(t,{size:e,width:e,height:e});return<react_native_1.View style={[logoStyles.container,{width:e,height:e,borderRadius:r}]}>
2
+ {a}
3
3
  </react_native_1.View>}return<react_native_1.View style={[logoStyles.imageContainer,{width:e,height:e,borderRadius:r}]}>
4
4
  <react_native_1.Image source={t}style={[logoStyles.image,{borderRadius:r}]}resizeMode="cover"/>
5
- </react_native_1.View>}return<BrandCircleIcon_1.default size={e}/>};exports.AppHeaderLogo=AppHeaderLogo;const logoStyles=react_native_1.StyleSheet.create({container:{overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:"transparent"},imageContainer:{overflow:"hidden",backgroundColor:"transparent",alignItems:"center",justifyContent:"center"},image:{width:"100%",height:"100%"}});exports.default=exports.AppHeaderLogo;
5
+ </react_native_1.View>}return<react_native_1.View style={[logoStyles.container,{width:e,height:e,borderRadius:r}]}>
6
+ <BrandCircleIcon_1.BrandCircleIcon size={e}/>
7
+ </react_native_1.View>};exports.AppHeaderLogo=AppHeaderLogo;const logoStyles=react_native_1.StyleSheet.create({container:{overflow:"hidden",alignItems:"center",justifyContent:"center",backgroundColor:"transparent"},imageContainer:{overflow:"hidden",backgroundColor:"transparent",alignItems:"center",justifyContent:"center"},image:{width:"100%",height:"100%"}});exports.default=exports.AppHeaderLogo;