react-native-inapp-inspector 1.1.16 → 1.1.18

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 (67) hide show
  1. package/README.md +13 -0
  2. package/dist/commonjs/components/AnimatedEntrance.js +3 -0
  3. package/dist/commonjs/components/AppHeaderLogo.d.ts +8 -0
  4. package/dist/commonjs/components/AppHeaderLogo.js +85 -0
  5. package/dist/commonjs/components/Inspector/BundleTab.d.ts +46 -0
  6. package/dist/commonjs/components/Inspector/BundleTab.js +2439 -0
  7. package/dist/commonjs/components/Inspector/InspectorHeader.js +185 -52
  8. package/dist/commonjs/components/Inspector/MainScreen.js +93 -7
  9. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +22 -0
  10. package/dist/commonjs/components/Inspector/PerformanceTab.js +1143 -0
  11. package/dist/commonjs/components/Inspector/ReduxDetail.d.ts +3 -0
  12. package/dist/commonjs/components/Inspector/ReduxDetail.js +576 -0
  13. package/dist/commonjs/components/Inspector/ReduxTab.js +433 -49
  14. package/dist/commonjs/components/Inspector/SettingsPanel.js +13 -2
  15. package/dist/commonjs/components/Inspector/TabBar.js +16 -6
  16. package/dist/commonjs/components/JsonViewer.js +91 -30
  17. package/dist/commonjs/components/LogCard.js +3 -4
  18. package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
  19. package/dist/commonjs/components/NetworkIcons.js +63 -1
  20. package/dist/commonjs/constants/version.d.ts +1 -1
  21. package/dist/commonjs/constants/version.js +1 -1
  22. package/dist/commonjs/customHooks/consoleLogger.js +37 -9
  23. package/dist/commonjs/customHooks/reduxLogger.js +4 -2
  24. package/dist/commonjs/helpers/index.js +6 -2
  25. package/dist/commonjs/index.js +18 -1
  26. package/dist/commonjs/styles/AppColors.js +163 -163
  27. package/dist/commonjs/styles/index.d.ts +14 -0
  28. package/dist/commonjs/styles/index.js +14 -0
  29. package/dist/commonjs/types/enums.d.ts +2 -2
  30. package/dist/commonjs/types/interfaces.d.ts +11 -0
  31. package/dist/esm/components/AnimatedEntrance.js +4 -1
  32. package/dist/esm/components/AppHeaderLogo.d.ts +8 -0
  33. package/dist/esm/components/AppHeaderLogo.js +45 -0
  34. package/dist/esm/components/Inspector/BundleTab.d.ts +46 -0
  35. package/dist/esm/components/Inspector/BundleTab.js +2401 -0
  36. package/dist/esm/components/Inspector/InspectorHeader.js +151 -51
  37. package/dist/esm/components/Inspector/MainScreen.js +60 -7
  38. package/dist/esm/components/Inspector/PerformanceTab.d.ts +22 -0
  39. package/dist/esm/components/Inspector/PerformanceTab.js +1105 -0
  40. package/dist/esm/components/Inspector/ReduxDetail.d.ts +3 -0
  41. package/dist/esm/components/Inspector/ReduxDetail.js +538 -0
  42. package/dist/esm/components/Inspector/ReduxTab.js +402 -51
  43. package/dist/esm/components/Inspector/SettingsPanel.js +14 -3
  44. package/dist/esm/components/Inspector/TabBar.js +17 -7
  45. package/dist/esm/components/JsonViewer.js +92 -31
  46. package/dist/esm/components/LogCard.js +3 -4
  47. package/dist/esm/components/NetworkIcons.d.ts +9 -0
  48. package/dist/esm/components/NetworkIcons.js +55 -1
  49. package/dist/esm/constants/version.d.ts +1 -1
  50. package/dist/esm/constants/version.js +1 -1
  51. package/dist/esm/customHooks/consoleLogger.js +37 -9
  52. package/dist/esm/customHooks/reduxLogger.js +4 -2
  53. package/dist/esm/helpers/index.js +6 -2
  54. package/dist/esm/index.js +18 -1
  55. package/dist/esm/styles/AppColors.js +163 -163
  56. package/dist/esm/styles/index.d.ts +14 -0
  57. package/dist/esm/styles/index.js +14 -0
  58. package/dist/esm/types/enums.d.ts +2 -2
  59. package/dist/esm/types/interfaces.d.ts +11 -0
  60. package/example/App.tsx +5 -1
  61. package/example/assets/app_icon.png +0 -0
  62. package/example/ios/Podfile.lock +3 -3
  63. package/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json +18 -9
  64. package/example/ios/example/Images.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  65. package/example/package-lock.json +824 -10
  66. package/example/package.json +6 -2
  67. package/package.json +4 -2
@@ -2,70 +2,70 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateAppColorsTheme = exports.AppColors = exports.getThemeColors = void 0;
4
4
  const LightColors = {
5
- // ─── Core (theme-switching) ───
5
+ // ─── Core (Thai Airways Royal Palette) ───
6
6
  primaryLight: '#FFFFFF',
7
- purple: '#684B9B',
8
- purpleShade50: '#F9F5FF',
9
- offerPurple: '#F246CB',
10
- grayBorderSecondary: '#DFE0EB',
11
- grayBackground: '#F9F9FC',
12
- grayText: '#6A6D87',
13
- grayTextWeak: '#9596AC',
14
- greenColor: '#55CD7D',
15
- graySurface: '#DFE0EB',
16
- skyBlue: '#007AFF',
17
- primaryBlack: '#2C3059',
18
- grayTextStrong: '#2C3059',
19
- dividerColor: '#EBECEF',
20
- warningIconGold: '#BFA252',
21
- shadowColorString: '#101828',
22
- errorColor: '#FF2E57',
23
- lightOrange: '#FFC738',
24
- darkOrange: '#996F04',
25
- successGreen: '#55CD7D',
26
- purpleShade700: '#6941C6',
27
- greenStatus: '#D0F8DE',
28
- greenBaggageText: '#159E44',
29
- paleYellow: '#F9DB7C',
30
- // ─── Brand / UI (fixed) ───
7
+ purple: '#5C2D91', // Thai Royal Purple
8
+ purpleShade50: '#F8F4FC', // Orchid Silk Tint
9
+ offerPurple: '#9B2677', // Thai Orchid Magenta
10
+ grayBorderSecondary: '#E2DFEB',
11
+ grayBackground: '#F8F7FB', // Pearl White Surface
12
+ grayText: '#625D73',
13
+ grayTextWeak: '#8F8A9E',
14
+ greenColor: '#10B981',
15
+ graySurface: '#E2DFEB',
16
+ skyBlue: '#2563EB',
17
+ primaryBlack: '#211B30', // Royal Midnight Dark
18
+ grayTextStrong: '#211B30',
19
+ dividerColor: '#EBE7F2',
20
+ warningIconGold: '#C5A059', // Thai Orchid Gold
21
+ shadowColorString: '#211B30',
22
+ errorColor: '#E11D48',
23
+ lightOrange: '#E5C158', // Thai Warm Gold Light
24
+ darkOrange: '#B89758', // Thai Silk Gold
25
+ successGreen: '#10B981',
26
+ purpleShade700: '#481E78', // Thai Deep Violet
27
+ greenStatus: '#D1FAE5',
28
+ greenBaggageText: '#059669',
29
+ paleYellow: '#F7E9C4', // Thai Pale Gold
30
+ // ─── Brand / UI ───
31
31
  white: '#FFFFFF',
32
32
  black: '#000000',
33
- brandPurple: '#6B4EFF',
34
- liveGreen: '#4ADE80',
35
- firebaseOrange: '#E07B1A',
33
+ brandPurple: '#4B1B7D', // Iconic Thai Airways Purple
34
+ liveGreen: '#10B981',
35
+ firebaseOrange: '#D97706',
36
36
  greenA400: '#00E676',
37
- // ─── Code / slate (fixed) ───
38
- slate900: '#0F172A',
39
- slate700: '#334155',
40
- slate600: '#475569',
41
- slate500: '#64748B',
42
- slate400: '#94A3B8',
43
- slate200: '#E2E8F0',
44
- slate100: '#F1F5F9',
45
- slate50: '#F8FAFC',
46
- gray700: '#374151',
47
- gray300: '#D1D5DB',
37
+ // ─── Code / Slate ───
38
+ slate900: '#171226',
39
+ slate700: '#332C4A',
40
+ slate600: '#4D446B',
41
+ slate500: '#6E648D',
42
+ slate400: '#948BAF',
43
+ slate200: '#E4DFEE',
44
+ slate100: '#F3F0F8',
45
+ slate50: '#F9F7FC',
46
+ gray700: '#373147',
47
+ gray300: '#D5D0E0',
48
48
  highlightYellow: '#FDE047',
49
49
  yellowHighlight: '#FFE44D',
50
- // ─── Status / syntax (fixed) ───
50
+ // ─── Status / Syntax ───
51
51
  teal600: '#0D9488',
52
52
  cyan600: '#0891B2',
53
53
  sky600: '#0284C7',
54
54
  blue500: '#3B82F6',
55
55
  blue600: '#2563EB',
56
- blue700: '#1565C0',
57
- blue800: '#1976D2',
56
+ blue700: '#1D4ED8',
57
+ blue800: '#1E40AF',
58
58
  indigo600: '#4F46E5',
59
59
  violet600: '#7C3AED',
60
60
  violet500: '#8B5CF6',
61
- purpleText: '#7B1FA2',
62
- pink600: '#DB2777',
61
+ purpleText: '#5C2D91',
62
+ pink600: '#9B2677',
63
63
  rose600: '#E11D48',
64
64
  orange600: '#EA580C',
65
- amber500: '#F59E0B',
66
- amber600: '#EAB308',
67
- amber700: '#D97706',
68
- amber800: '#854D0E',
65
+ amber500: '#C5A059',
66
+ amber600: '#B89758',
67
+ amber700: '#A17D3B',
68
+ amber800: '#785A1D',
69
69
  green500: '#22C55E',
70
70
  green600: '#16A34A',
71
71
  green700: '#15803D',
@@ -79,86 +79,86 @@ const LightColors = {
79
79
  googleGreen: '#34A853',
80
80
  googleOrange: '#F57C00',
81
81
  googleRed: '#E53935',
82
- googlePurple: '#9C27B0',
82
+ googlePurple: '#5C2D91',
83
83
  googleTeal: '#00897B',
84
- // ─── Tint backgrounds / borders (theme-aware) ───
85
- errorCardBg: '#FFF5F6',
86
- warnCardBg: '#FFFDF6',
87
- blueTintBg: '#E6F2FF',
88
- purpleTintBg: '#F4EBFF',
89
- purpleTint2: '#EAE5FF',
90
- roseBg: '#FFE4E6',
91
- roseBorder: '#FCC2D7',
92
- errorBorder: '#FCA5A5',
93
- amberBg: '#FEF3C7',
94
- amberBorder: '#FDE68A',
84
+ // ─── Tint Backgrounds / Borders (Theme-Aware) ───
85
+ errorCardBg: '#FFF1F3',
86
+ warnCardBg: '#FDFBF4',
87
+ blueTintBg: '#EFF6FF',
88
+ purpleTintBg: '#F6F0FA',
89
+ purpleTint2: '#EFE7F7',
90
+ roseBg: '#FDF2F8',
91
+ roseBorder: '#FBCFE8',
92
+ errorBorder: '#FECDD3',
93
+ amberBg: '#FDF8EE',
94
+ amberBorder: '#E8D6AC',
95
95
  emeraldBg: '#ECFDF5',
96
96
  emeraldBorder: '#A7F3D0',
97
- blueBg: '#E3F2FD',
98
- blueBorder: '#BBDEFB',
99
- greenBg: '#E8F5E9',
100
- greenBorder: '#C8E6C9',
101
- purpleBg: '#F3E5F5',
102
- purpleBorder: '#E1BEE7',
103
- greyBg: '#F5F5F5',
104
- greyBorder: '#E0E0E0',
105
- paperBg: '#FAF9F6',
106
- contentBg: '#F8F9FB',
107
- // ─── Domain colors (fixed) ───
97
+ blueBg: '#EFF6FF',
98
+ blueBorder: '#BFDBFE',
99
+ greenBg: '#F0FDF4',
100
+ greenBorder: '#BBF7D0',
101
+ purpleBg: '#F6F0FA',
102
+ purpleBorder: '#E4D5F2',
103
+ greyBg: '#F5F4F8',
104
+ greyBorder: '#E3DFEC',
105
+ paperBg: '#FBF9FC',
106
+ contentBg: '#F8F7FB',
107
+ // ─── Domain Colors (Thai Airways Themed) ───
108
108
  domainColors: [
109
- '#1a5276',
110
- '#8e44ad',
111
- '#1e8449',
112
- '#c0392b',
113
- '#d35400',
114
- '#d68910',
115
- '#16a085',
116
- '#27ae60',
117
- '#2c3e50',
118
- '#c2185b',
109
+ '#5C2D91',
110
+ '#9B2677',
111
+ '#C5A059',
112
+ '#4B1B7D',
113
+ '#0D9488',
114
+ '#2563EB',
115
+ '#B89758',
116
+ '#059669',
117
+ '#3B1359',
118
+ '#D1208A',
119
119
  ],
120
120
  };
121
121
  const DarkColors = {
122
- primaryLight: '#1E1E24',
123
- purple: '#A78BFA',
124
- purpleShade50: '#2E224E',
122
+ primaryLight: '#1C1628', // Thai Dark Card
123
+ purple: '#B68FE8', // Luminous Thai Orchid
124
+ purpleShade50: '#2A1C3E',
125
125
  offerPurple: '#F472B6',
126
- grayBorderSecondary: '#374151',
127
- grayBackground: '#121214',
128
- grayText: '#9CA3AF',
129
- grayTextWeak: '#6B7280',
126
+ grayBorderSecondary: '#362C4E',
127
+ grayBackground: '#130F1F', // Thai Airways Midnight Sky
128
+ grayText: '#A197B8',
129
+ grayTextWeak: '#756C8C',
130
130
  greenColor: '#34D399',
131
- graySurface: '#374151',
131
+ graySurface: '#362C4E',
132
132
  skyBlue: '#60A5FA',
133
- primaryBlack: '#F3F4F6',
134
- grayTextStrong: '#F3F4F6',
135
- dividerColor: '#1F2937',
136
- warningIconGold: '#F59E0B',
133
+ primaryBlack: '#F7F5FC',
134
+ grayTextStrong: '#F7F5FC',
135
+ dividerColor: '#2B2240',
136
+ warningIconGold: '#E5C158', // Thai Luminous Gold
137
137
  shadowColorString: '#000000',
138
- errorColor: '#EF4444',
139
- lightOrange: '#FCD34D',
140
- darkOrange: '#D97706',
138
+ errorColor: '#F87171',
139
+ lightOrange: '#FDE68A',
140
+ darkOrange: '#D4AF37',
141
141
  successGreen: '#34D399',
142
- purpleShade700: '#8B5CF6',
142
+ purpleShade700: '#8E4DBE',
143
143
  greenStatus: '#064E3B',
144
144
  greenBaggageText: '#34D399',
145
145
  paleYellow: '#78350F',
146
146
  white: '#FFFFFF',
147
147
  black: '#000000',
148
- brandPurple: '#6B4EFF',
149
- liveGreen: '#4ADE80',
150
- firebaseOrange: '#E07B1A',
148
+ brandPurple: '#7B3DB8',
149
+ liveGreen: '#34D399',
150
+ firebaseOrange: '#F59E0B',
151
151
  greenA400: '#00E676',
152
- slate900: '#0F172A',
153
- slate700: '#334155',
154
- slate600: '#475569',
155
- slate500: '#64748B',
156
- slate400: '#94A3B8',
157
- slate200: '#E2E8F0',
158
- slate100: '#F1F5F9',
159
- slate50: '#F8FAFC',
160
- gray700: '#374151',
161
- gray300: '#D1D5DB',
152
+ slate900: '#0B0813',
153
+ slate700: '#261F38',
154
+ slate600: '#3D3357',
155
+ slate500: '#5C4F7F',
156
+ slate400: '#8E82B0',
157
+ slate200: '#C7BEDE',
158
+ slate100: '#E4DFEE',
159
+ slate50: '#F3F0F8',
160
+ gray700: '#312847',
161
+ gray300: '#C7BEDE',
162
162
  highlightYellow: '#FDE047',
163
163
  yellowHighlight: '#FFE44D',
164
164
  teal600: '#0D9488',
@@ -166,67 +166,67 @@ const DarkColors = {
166
166
  sky600: '#0284C7',
167
167
  blue500: '#3B82F6',
168
168
  blue600: '#2563EB',
169
- blue700: '#1565C0',
170
- blue800: '#1976D2',
171
- indigo600: '#4F46E5',
172
- violet600: '#7C3AED',
173
- violet500: '#8B5CF6',
174
- purpleText: '#7B1FA2',
175
- pink600: '#DB2777',
176
- rose600: '#E11D48',
177
- orange600: '#EA580C',
178
- amber500: '#F59E0B',
179
- amber600: '#EAB308',
180
- amber700: '#D97706',
181
- amber800: '#854D0E',
169
+ blue700: '#1D4ED8',
170
+ blue800: '#1E40AF',
171
+ indigo600: '#6366F1',
172
+ violet600: '#8B5CF6',
173
+ violet500: '#A78BFA',
174
+ purpleText: '#C084FC',
175
+ pink600: '#F472B6',
176
+ rose600: '#FB7185',
177
+ orange600: '#FB923C',
178
+ amber500: '#E5C158',
179
+ amber600: '#D4AF37',
180
+ amber700: '#C5A059',
181
+ amber800: '#B89758',
182
182
  green500: '#22C55E',
183
183
  green600: '#16A34A',
184
184
  green700: '#15803D',
185
185
  green800: '#166534',
186
186
  emerald500: '#10B981',
187
187
  emerald600: '#059669',
188
- grey600: '#616161',
189
- redErrorText: '#991B1B',
188
+ grey600: '#756C8C',
189
+ redErrorText: '#FCA5A5',
190
190
  materialGreen: '#2E7D32',
191
- googleBlue: '#4285F4',
192
- googleGreen: '#34A853',
193
- googleOrange: '#F57C00',
194
- googleRed: '#E53935',
195
- googlePurple: '#9C27B0',
196
- googleTeal: '#00897B',
197
- errorCardBg: '#3B1D23',
198
- warnCardBg: '#3B341C',
199
- blueTintBg: '#1C2F4A',
200
- purpleTintBg: '#2E2447',
201
- purpleTint2: '#2B2540',
202
- roseBg: '#3B1D21',
203
- roseBorder: '#7F2D44',
204
- errorBorder: '#7F2D36',
205
- amberBg: '#3B3017',
206
- amberBorder: '#7F6A2D',
207
- emeraldBg: '#16302B',
208
- emeraldBorder: '#2D6A52',
209
- blueBg: '#16263D',
210
- blueBorder: '#2D4A73',
211
- greenBg: '#16271A',
212
- greenBorder: '#2D5C33',
213
- purpleBg: '#2B1E31',
214
- purpleBorder: '#5A3872',
215
- greyBg: '#1E1E24',
216
- greyBorder: '#374151',
217
- paperBg: '#201F1B',
218
- contentBg: '#16181D',
191
+ googleBlue: '#60A5FA',
192
+ googleGreen: '#34D399',
193
+ googleOrange: '#FBBF24',
194
+ googleRed: '#F87171',
195
+ googlePurple: '#C084FC',
196
+ googleTeal: '#2DD4BF',
197
+ errorCardBg: '#34151B',
198
+ warnCardBg: '#342B16',
199
+ blueTintBg: '#15243B',
200
+ purpleTintBg: '#281B3B',
201
+ purpleTint2: '#32224A',
202
+ roseBg: '#341626',
203
+ roseBorder: '#782352',
204
+ errorBorder: '#782330',
205
+ amberBg: '#342914',
206
+ amberBorder: '#785E22',
207
+ emeraldBg: '#122D25',
208
+ emeraldBorder: '#236952',
209
+ blueBg: '#13243D',
210
+ blueBorder: '#234978',
211
+ greenBg: '#122D1B',
212
+ greenBorder: '#236939',
213
+ purpleBg: '#2D1B40',
214
+ purpleBorder: '#62358F',
215
+ greyBg: '#1C1628',
216
+ greyBorder: '#362C4E',
217
+ paperBg: '#181224',
218
+ contentBg: '#130F1F',
219
219
  domainColors: [
220
- '#1a5276',
221
- '#8e44ad',
222
- '#1e8449',
223
- '#c0392b',
224
- '#d35400',
225
- '#d68910',
226
- '#16a085',
227
- '#27ae60',
228
- '#2c3e50',
229
- '#c2185b',
220
+ '#B68FE8',
221
+ '#F472B6',
222
+ '#E5C158',
223
+ '#8E4DBE',
224
+ '#2DD4BF',
225
+ '#60A5FA',
226
+ '#D4AF37',
227
+ '#34D399',
228
+ '#A78BFA',
229
+ '#FB7185',
230
230
  ],
231
231
  };
232
232
  const getThemeColors = (isDark) => {
@@ -39,6 +39,20 @@ export declare const getRawStyles: (colors: typeof AppColors) => {
39
39
  letterSpacing: number;
40
40
  paddingBottom: number;
41
41
  };
42
+ envBadge: {
43
+ paddingHorizontal: number;
44
+ paddingVertical: number;
45
+ borderRadius: number;
46
+ borderWidth: number;
47
+ alignItems: string;
48
+ justifyContent: string;
49
+ marginBottom: number;
50
+ };
51
+ envBadgeText: {
52
+ fontFamily: string;
53
+ fontSize: number;
54
+ letterSpacing: number;
55
+ };
42
56
  headerDetailCenter: {
43
57
  alignItems: string;
44
58
  justifyContent: string;
@@ -68,6 +68,20 @@ const getRawStyles = (colors) => ({
68
68
  letterSpacing: 0.3,
69
69
  paddingBottom: 4,
70
70
  },
71
+ envBadge: {
72
+ paddingHorizontal: 6,
73
+ paddingVertical: 2,
74
+ borderRadius: 6,
75
+ borderWidth: 1,
76
+ alignItems: 'center',
77
+ justifyContent: 'center',
78
+ marginBottom: 4,
79
+ },
80
+ envBadgeText: {
81
+ fontFamily: AppFonts_1.AppFonts.interBold,
82
+ fontSize: 9.5,
83
+ letterSpacing: 0.5,
84
+ },
71
85
  headerDetailCenter: {
72
86
  alignItems: 'center',
73
87
  justifyContent: 'center',
@@ -1,9 +1,9 @@
1
- export type ActiveTab = 'apis' | 'analytics' | 'logs' | 'redux';
1
+ export type ActiveTab = 'apis' | 'analytics' | 'logs' | 'redux' | 'bundle' | 'performance';
2
2
  export type Method = 'ALL' | 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
3
3
  export type StatusFilter = 'ALL' | '2xx' | '3xx' | '4xx' | '5xx' | 'Failed';
4
4
  export type SortOrder = 'newest' | 'oldest';
5
5
  export type LocalFilter = 'success' | 'failed' | 'loading';
6
6
  export type ModalAnimationType = 'slide' | 'fade' | 'none';
7
- export type SettingsPage = 'main' | 'apis' | 'logs' | 'analytics' | 'redux' | null;
7
+ export type SettingsPage = 'main' | 'apis' | 'logs' | 'analytics' | 'redux' | 'bundle' | 'performance' | null;
8
8
  export type SettingsSubTab = 'module' | 'ui';
9
9
  export type LogFilter = 'all' | 'info' | 'warn' | 'error' | 'user-log' | 'analytics';
@@ -55,6 +55,7 @@ export interface ReduxHistoryEntry {
55
55
  type: string;
56
56
  payload: any;
57
57
  timestamp: string;
58
+ updatedAt?: number;
58
59
  affectedSlices: string[];
59
60
  prevState?: any;
60
61
  nextState?: any;
@@ -86,6 +87,8 @@ export interface NetworkInspectorProps {
86
87
  isEnabled?: boolean;
87
88
  storage?: InspectorStorage;
88
89
  navigationRef?: any;
90
+ appIcon?: any;
91
+ environment?: 'DEV' | 'UAT' | 'PrePROD' | 'PROD' | 'QA' | 'Staging' | string;
89
92
  }
90
93
  export interface NavigationTrackerProps {
91
94
  onStateChange: (state: any) => void;
@@ -96,6 +99,8 @@ export interface InspectorContextValue {
96
99
  closeModal: () => void;
97
100
  isReady: boolean;
98
101
  isEnabled: boolean;
102
+ appIcon?: any;
103
+ environment?: string;
99
104
  modalHeightPercent: number;
100
105
  setModalHeightPercent: React.Dispatch<React.SetStateAction<number>>;
101
106
  modalAnimationType: 'slide' | 'fade' | 'none';
@@ -198,6 +203,12 @@ export interface InspectorContextValue {
198
203
  reduxLastActionMap: Record<string, any>;
199
204
  reduxSearch: string;
200
205
  setReduxSearch: React.Dispatch<React.SetStateAction<string>>;
206
+ selectedReduxSlice: string | null;
207
+ setSelectedReduxSlice: React.Dispatch<React.SetStateAction<string | null>>;
208
+ selectedReduxAction: any | null;
209
+ setSelectedReduxAction: React.Dispatch<React.SetStateAction<any | null>>;
210
+ reduxActiveSubTab: 'state' | 'timeline';
211
+ setReduxActiveSubTab: React.Dispatch<React.SetStateAction<'state' | 'timeline'>>;
201
212
  settingsActiveSubTab: SettingsSubTab;
202
213
  setSettingsActiveSubTab: React.Dispatch<React.SetStateAction<SettingsSubTab>>;
203
214
  defaultTab: ActiveTab;
@@ -1,6 +1,9 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
- import { Animated } from 'react-native';
2
+ import { Animated, Platform, View } from 'react-native';
3
3
  const AnimatedEntrance = React.memo(function AnimatedEntrance({ children, delay = 0, distance = 10, duration = 220, index = 0, style, }) {
4
+ if (Platform.OS === 'android') {
5
+ return <View style={style}>{children}</View>;
6
+ }
4
7
  const progress = useRef(new Animated.Value(0)).current;
5
8
  useEffect(() => {
6
9
  progress.setValue(0);
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ImageSourcePropType } from 'react-native';
3
+ interface AppHeaderLogoProps {
4
+ size?: number;
5
+ customIcon?: ImageSourcePropType | null;
6
+ }
7
+ export declare const AppHeaderLogo: React.FC<AppHeaderLogoProps>;
8
+ export default AppHeaderLogo;
@@ -0,0 +1,45 @@
1
+ import React, { useState } from 'react';
2
+ import { Image, Platform, StyleSheet, View, } from 'react-native';
3
+ import BrandSquareIcon from './BrandSquareIcon';
4
+ import { AppColors } from '../styles/AppColors';
5
+ export const AppHeaderLogo = ({ size = 46, customIcon, }) => {
6
+ const [loadError, setLoadError] = useState(false);
7
+ // 1. If customIcon is explicitly provided, render it directly
8
+ if (customIcon) {
9
+ return (<View style={[logoStyles.container, { width: size, height: size }]}>
10
+ <Image source={customIcon} style={{ width: size - 4, height: size - 4, borderRadius: 10 }} resizeMode="cover"/>
11
+ </View>);
12
+ }
13
+ // 2. Dynamically query installed native app icon (AppIcon on iOS, ic_launcher on Android)
14
+ if (!loadError && Platform.OS !== 'web') {
15
+ const nativeSource = Platform.select({
16
+ ios: { uri: 'AppIcon' },
17
+ android: { uri: 'ic_launcher' },
18
+ default: { uri: 'AppIcon' },
19
+ });
20
+ return (<View style={[logoStyles.container, { width: size, height: size }]}>
21
+ <Image source={nativeSource} style={{ width: size - 4, height: size - 4, borderRadius: 10 }} resizeMode="cover" onError={() => setLoadError(true)}/>
22
+ </View>);
23
+ }
24
+ // 3. Fallback: Inspector's Signature Owl Brand Logo
25
+ return (<View style={[logoStyles.container, { width: size, height: size }]}>
26
+ <BrandSquareIcon size={size - 4}/>
27
+ </View>);
28
+ };
29
+ const logoStyles = StyleSheet.create({
30
+ container: {
31
+ alignItems: 'center',
32
+ justifyContent: 'center',
33
+ borderRadius: 12,
34
+ backgroundColor: `${AppColors.white}24`,
35
+ borderWidth: 1.5,
36
+ borderColor: `${AppColors.white}4D`,
37
+ overflow: 'hidden',
38
+ shadowColor: AppColors.primaryBlack,
39
+ shadowOffset: { width: 0, height: 2 },
40
+ shadowOpacity: 0.15,
41
+ shadowRadius: 4,
42
+ elevation: 3,
43
+ },
44
+ });
45
+ export default AppHeaderLogo;
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ export type BundleSubTab = 'overview' | 'files' | 'packages' | 'media' | 'optimizer';
3
+ export type FileTypeCategory = 'image' | 'typescript' | 'javascript' | 'font' | 'json';
4
+ export interface BundleFileItem {
5
+ id: string;
6
+ name: string;
7
+ path: string;
8
+ ext: string;
9
+ category: FileTypeCategory;
10
+ sizeKb: number;
11
+ meta: string;
12
+ color: string;
13
+ status?: 'optimal' | 'warning' | 'info';
14
+ advice?: string;
15
+ previewUri?: string;
16
+ isConsumed?: boolean;
17
+ }
18
+ export interface BundlePackageItem {
19
+ id: string;
20
+ name: string;
21
+ version: string;
22
+ sizeKb: number;
23
+ percentage: number;
24
+ type: 'direct' | 'peer' | 'transitive';
25
+ category: 'core' | 'navigation' | 'network' | 'ui' | 'utils';
26
+ color: string;
27
+ description: string;
28
+ logoUri?: string;
29
+ latestVersion?: string;
30
+ isDeprecated?: boolean;
31
+ deprecationReason?: string;
32
+ lastActive?: string;
33
+ npmUrl?: string;
34
+ }
35
+ export interface TreeNode {
36
+ id: string;
37
+ name: string;
38
+ fullPath: string;
39
+ isFolder: boolean;
40
+ fileItem?: BundleFileItem;
41
+ sizeKb: number;
42
+ fileCount: number;
43
+ children: TreeNode[];
44
+ }
45
+ declare const BundleTab: React.MemoExoticComponent<() => React.JSX.Element>;
46
+ export default BundleTab;