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.
- package/README.ar.md +163 -0
- package/README.de.md +163 -0
- package/README.es.md +164 -0
- package/README.fr.md +163 -0
- package/README.hi.md +163 -0
- package/README.ja.md +180 -0
- package/README.ko.md +163 -0
- package/README.md +340 -243
- package/README.pt-BR.md +163 -0
- package/README.ru.md +163 -0
- package/README.zh-CN.md +387 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +605 -23
- package/assets/banner_dark.svg +186 -0
- package/assets/banner_light.svg +186 -0
- package/assets/icon_circle.svg +148 -0
- package/assets/icon_square.svg +369 -0
- package/assets/inapp_inspector_icon.gif +0 -0
- package/assets/inapp_inspector_icon_original.gif +0 -0
- package/assets/social_preview.png +0 -0
- package/assets/walkthrough.gif +0 -0
- package/dist/commonjs/capture.d.ts +2 -0
- package/dist/commonjs/capture.js +1 -1
- package/dist/commonjs/components/AnalyticsDetail.js +23 -23
- package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
- package/dist/commonjs/components/AnalyticsGraph.js +44 -44
- package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
- package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
- package/dist/commonjs/components/AppHeaderLogo.js +5 -3
- package/dist/commonjs/components/BrandCircleIcon.js +28 -28
- package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
- package/dist/commonjs/components/BrandSquareIcon.js +139 -0
- package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
- package/dist/commonjs/components/ConsoleLogCard.js +23 -39
- package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +6 -6
- package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/ConfirmationModal.js +30 -0
- package/dist/commonjs/components/Inspector/ConsoleTab.js +12 -12
- package/dist/commonjs/components/Inspector/CrashTab.js +44 -9
- package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
- package/dist/commonjs/components/Inspector/FabLauncher.js +30 -33
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
- package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
- package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
- package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +172 -0
- package/dist/commonjs/components/Inspector/MainScreen.js +55 -35
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +40 -35
- package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +341 -135
- package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
- package/dist/commonjs/components/Inspector/PushCard.js +5 -4
- package/dist/commonjs/components/Inspector/PushDetail.js +41 -32
- package/dist/commonjs/components/Inspector/PushTab.js +12 -12
- package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
- package/dist/commonjs/components/Inspector/ReduxTab.js +10 -8
- package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
- package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
- package/dist/commonjs/components/Inspector/SettingsPanel.js +287 -139
- package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
- package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/SocketDetail.js +327 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
- package/dist/commonjs/components/Inspector/StorageTab.js +39 -37
- package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
- package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
- package/dist/commonjs/components/Inspector/TabBar.js +24 -23
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
- package/dist/commonjs/components/JsonViewer.js +50 -48
- package/dist/commonjs/components/LogCard.d.ts +3 -2
- package/dist/commonjs/components/LogCard.js +27 -25
- package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
- package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
- package/dist/commonjs/components/NetworkIcons.d.ts +42 -0
- package/dist/commonjs/components/NetworkIcons.js +139 -6
- package/dist/commonjs/components/SegmentedTabs.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/crash.d.ts +1 -1
- package/dist/commonjs/crash.js +1 -1
- package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
- package/dist/commonjs/customHooks/crashHandler.js +7 -7
- package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
- package/dist/commonjs/customHooks/socketLogger.js +2 -0
- package/dist/commonjs/editor.d.ts +13 -0
- package/dist/commonjs/editor.js +1 -0
- package/dist/commonjs/helpers/index.d.ts +1 -0
- package/dist/commonjs/helpers/index.js +3 -3
- package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
- package/dist/commonjs/helpers/searchQueryParser.js +5 -1
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/shareFormatter.d.ts +3 -1
- package/dist/commonjs/helpers/shareFormatter.js +8 -7
- package/dist/commonjs/helpers/telemetry.js +1 -1
- package/dist/commonjs/i18n/index.d.ts +99 -1
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -0
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -0
- package/dist/commonjs/i18n/locales/it.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -0
- package/dist/commonjs/i18n/locales/mr.json +1 -0
- package/dist/commonjs/i18n/locales/nl.json +1 -0
- package/dist/commonjs/i18n/locales/pa.json +1 -0
- package/dist/commonjs/i18n/locales/pl.json +1 -0
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -0
- package/dist/commonjs/i18n/locales/te.json +1 -0
- package/dist/commonjs/i18n/locales/tr.json +1 -0
- package/dist/commonjs/i18n/locales/vi.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +16 -13
- package/dist/commonjs/index.js +5 -4
- package/dist/commonjs/native/NativeInspector.d.ts +4 -0
- package/dist/commonjs/native/NativeInspector.js +1 -1
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
- package/dist/commonjs/socket.d.ts +4 -0
- package/dist/commonjs/socket.js +1 -0
- package/dist/commonjs/styles/AppColors.d.ts +42 -2
- package/dist/commonjs/styles/AppColors.js +1 -1
- package/dist/commonjs/styles/common.js +1 -1
- package/dist/commonjs/styles/index.d.ts +30 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/editor.d.ts +96 -0
- package/dist/commonjs/types/editor.js +1 -0
- package/dist/commonjs/types/enums.d.ts +40 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +143 -1
- package/dist/esm/capture.d.ts +2 -0
- package/dist/esm/capture.js +1 -1
- package/dist/esm/components/AnalyticsDetail.js +31 -31
- package/dist/esm/components/AnalyticsEventCard.js +1 -1
- package/dist/esm/components/AnalyticsGraph.js +74 -74
- package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/esm/components/AnimatedBrandOwl.js +175 -0
- package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
- package/dist/esm/components/AppHeaderLogo.js +7 -5
- package/dist/esm/components/BrandCircleIcon.js +70 -70
- package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
- package/dist/esm/components/BrandSquareIcon.js +139 -0
- package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
- package/dist/esm/components/ConsoleLogCard.js +61 -77
- package/dist/esm/components/Inspector/AboutModal.js +85 -95
- package/dist/esm/components/Inspector/AnalyticsTab.js +24 -24
- package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/esm/components/Inspector/ConfirmationModal.js +30 -0
- package/dist/esm/components/Inspector/ConsoleTab.js +48 -48
- package/dist/esm/components/Inspector/CrashTab.js +203 -168
- package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
- package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
- package/dist/esm/components/Inspector/FabLauncher.js +57 -60
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
- package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
- package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
- package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
- package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
- package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/esm/components/Inspector/LanguageSelectorModal.js +172 -0
- package/dist/esm/components/Inspector/MainScreen.js +130 -110
- package/dist/esm/components/Inspector/MediaGalleryTab.js +83 -78
- package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
- package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -139
- package/dist/esm/components/Inspector/NetworkTab.js +130 -130
- package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
- package/dist/esm/components/Inspector/PushCard.js +23 -22
- package/dist/esm/components/Inspector/PushDetail.js +45 -36
- package/dist/esm/components/Inspector/PushTab.js +23 -23
- package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
- package/dist/esm/components/Inspector/ReduxTab.js +20 -18
- package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
- package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
- package/dist/esm/components/Inspector/SettingsPanel.js +526 -378
- package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/esm/components/Inspector/SocketCard.js +116 -0
- package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/SocketDetail.js +327 -0
- package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/esm/components/Inspector/SocketTab.js +112 -0
- package/dist/esm/components/Inspector/StorageTab.js +139 -137
- package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/esm/components/Inspector/SupportModal.js +125 -0
- package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/esm/components/Inspector/SupportPage.js +227 -0
- package/dist/esm/components/Inspector/TabBar.js +36 -35
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
- package/dist/esm/components/JsonViewer.js +66 -64
- package/dist/esm/components/LogCard.d.ts +3 -2
- package/dist/esm/components/LogCard.js +57 -55
- package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
- package/dist/esm/components/ModuleErrorBoundary.js +23 -23
- package/dist/esm/components/NetworkIcons.d.ts +42 -0
- package/dist/esm/components/NetworkIcons.js +139 -6
- package/dist/esm/components/SegmentedTabs.js +7 -7
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/crash.d.ts +1 -1
- package/dist/esm/crash.js +1 -1
- package/dist/esm/customHooks/crashHandler.d.ts +2 -1
- package/dist/esm/customHooks/crashHandler.js +7 -7
- package/dist/esm/customHooks/socketLogger.d.ts +26 -0
- package/dist/esm/customHooks/socketLogger.js +2 -0
- package/dist/esm/editor.d.ts +13 -0
- package/dist/esm/editor.js +1 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +4 -4
- package/dist/esm/helpers/memoryManager.d.ts +1 -0
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
- package/dist/esm/helpers/searchQueryParser.js +5 -1
- package/dist/esm/helpers/settingsStore.d.ts +1 -0
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/shareFormatter.d.ts +3 -1
- package/dist/esm/helpers/shareFormatter.js +8 -7
- package/dist/esm/helpers/telemetry.js +1 -1
- package/dist/esm/i18n/index.d.ts +99 -1
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -0
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -0
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -0
- package/dist/esm/i18n/locales/it.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -0
- package/dist/esm/i18n/locales/mr.json +1 -0
- package/dist/esm/i18n/locales/nl.json +1 -0
- package/dist/esm/i18n/locales/pa.json +1 -0
- package/dist/esm/i18n/locales/pl.json +1 -0
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -0
- package/dist/esm/i18n/locales/te.json +1 -0
- package/dist/esm/i18n/locales/tr.json +1 -0
- package/dist/esm/i18n/locales/vi.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +16 -13
- package/dist/esm/index.js +8 -7
- package/dist/esm/native/NativeInspector.d.ts +4 -0
- package/dist/esm/native/NativeInspector.js +1 -1
- package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
- package/dist/esm/socket.d.ts +4 -0
- package/dist/esm/socket.js +1 -0
- package/dist/esm/styles/AppColors.d.ts +42 -2
- package/dist/esm/styles/AppColors.js +1 -1
- package/dist/esm/styles/common.js +1 -1
- package/dist/esm/styles/index.d.ts +30 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/editor.d.ts +96 -0
- package/dist/esm/types/editor.js +1 -0
- package/dist/esm/types/enums.d.ts +40 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +143 -1
- package/editor.d.ts +1 -0
- package/editor.js +1 -0
- package/ios/NetworkInspectorModule.mm +531 -12
- package/package.json +213 -2
- package/react-native-inapp-inspector.podspec +1 -1
- package/src/native/NativeInspector.ts +65 -4
- package/src/native/NativeNetworkInspector.ts +4 -0
|
@@ -47,6 +47,7 @@ export declare const DebugIcon: ({ color, size }: IconProps) => React.JSX.Elemen
|
|
|
47
47
|
export declare const SunIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
48
48
|
export declare const MoonIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
49
49
|
export { BrandCircleIcon } from './BrandCircleIcon';
|
|
50
|
+
export { BrandSquareIcon } from './BrandSquareIcon';
|
|
50
51
|
export declare const HtmlIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
51
52
|
export declare const CssIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
52
53
|
export declare const JsIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
@@ -144,6 +145,9 @@ export declare const HelpCircleIcon: ({ color, size, }: IconProps) => React.JSX.
|
|
|
144
145
|
export declare const SendIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
145
146
|
export declare const LifeBuoyIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
146
147
|
export declare const CameraIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
148
|
+
export declare const ScreenshotCaptureIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
149
|
+
export declare const CameraLensIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
150
|
+
export declare const ScreenRecordIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
147
151
|
export declare const VideoCameraIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
148
152
|
export declare const MicrophoneIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
149
153
|
export declare const GifIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
@@ -168,3 +172,41 @@ export declare const HeartFaceIcon: ({ color, size, }: IconProps) => React.JSX.E
|
|
|
168
172
|
export declare const BellIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
169
173
|
export declare const NotificationIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
170
174
|
export declare const CloudPushIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
175
|
+
export declare const SocketIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
176
|
+
export declare const WebsocketIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
177
|
+
export declare const SendFrameIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
178
|
+
export declare const ReceiveFrameIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
179
|
+
export declare const PingIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
180
|
+
export declare const BroadcastIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
181
|
+
export declare const VolumeIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
182
|
+
export declare const BuildingIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
183
|
+
export declare const ArrowUpIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
184
|
+
export declare const ArrowDownIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
185
|
+
export declare const SupportIcon: ({ color, size, }: IconProps) => React.JSX.Element;
|
|
186
|
+
export declare const HeartIcon: ({ color, size, fill, }: IconProps & {
|
|
187
|
+
fill?: string;
|
|
188
|
+
}) => React.JSX.Element;
|
|
189
|
+
export declare const CropIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
190
|
+
export declare const RotateIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
191
|
+
export declare const RedactIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
192
|
+
export declare const AnnotateIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
193
|
+
export declare const ScissorsIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
194
|
+
export declare const VolumeXIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
195
|
+
export declare const MailIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
196
|
+
export declare const ActivityIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
197
|
+
export declare const SpeedIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
198
|
+
export declare const BatteryChargingIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
199
|
+
export declare const BatteryFullIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
200
|
+
export declare const PenIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
201
|
+
export declare const ShapesIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
202
|
+
export declare const RectangleIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
203
|
+
export declare const CircleIconOutline: ({ color, size }: IconProps) => React.JSX.Element;
|
|
204
|
+
export declare const EllipseIconOutline: ({ color, size }: IconProps) => React.JSX.Element;
|
|
205
|
+
export declare const TypeIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
206
|
+
export declare const BlurIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
207
|
+
export declare const ZoomInIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
208
|
+
export declare const ZoomOutIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
209
|
+
export declare const UndoIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
210
|
+
export declare const ResizeIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
211
|
+
export declare const AspectRatioIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
212
|
+
export declare const GripVerticalIcon: ({ color, size }: IconProps) => React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}from"react-native-svg";import{AppColors as p}from"../styles/AppColors";export const EmptyRadarIcon=({color:e=p.purple,size:t=32})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
1
|
+
import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Polygon as V,Polyline as C,Rect as B}from"react-native-svg";import{AppColors as p}from"../styles/AppColors";export const EmptyRadarIcon=({color:e=p.purple,size:t=32})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
2
2
|
<L d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
3
3
|
<M cx="12"cy="11"r="3"stroke={e}strokeWidth="1.5"/>
|
|
4
4
|
<L d="M12 14v3"stroke={e}strokeWidth="1.5"strokeLinecap="round"/>
|
|
@@ -80,8 +80,8 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
80
80
|
<L d="M4 6h4M4 12h7M4 18h10"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
81
81
|
<L d="M18 18V6m0 0l-3 3m3-3l3 3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
82
82
|
</>}
|
|
83
|
-
</W>,ChevronIcon=({color:e=p.grayTextWeak,size:t=14,direction:I="down"})=>{let
|
|
84
|
-
<L d={
|
|
83
|
+
</W>,ChevronIcon=({color:e=p.grayTextWeak,size:t=14,direction:I="down"})=>{let m="M6 9l6 6 6-6";return I==="up"?m="M18 15l-6-6-6 6":I==="right"?m="M9 18l6-6-6-6":I==="left"&&(m="M15 18l-6-6 6-6"),<W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
84
|
+
<L d={m}stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
85
85
|
</W>},FilterIcon=({color:e=p.grayTextWeak,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
86
86
|
<L d="M4 6h16M7 12h10M10 18h4"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
87
87
|
</W>,DownloadIcon=({color:e=p.primaryLight,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
@@ -114,7 +114,7 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
114
114
|
<L d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
115
115
|
</W>,MoonIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
116
116
|
<L d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"fill={e}stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
117
|
-
</W>;export{BrandCircleIcon}from"./BrandCircleIcon";export const HtmlIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
117
|
+
</W>;export{BrandCircleIcon}from"./BrandCircleIcon";export{BrandSquareIcon}from"./BrandSquareIcon";export const HtmlIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
118
118
|
<L d="M17.5 8.5L21 12l-3.5 3.5M6.5 8.5L3 12l3.5 3.5M14 4.5l-4 15"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
119
119
|
</W>,CssIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
120
120
|
<L d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
@@ -260,7 +260,7 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
260
260
|
</W>,PackageBoxIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
261
261
|
<L d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
262
262
|
<L d="M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
263
|
-
</W>,StarIcon=({color:e=
|
|
263
|
+
</W>,StarIcon=({color:e=p.amber500,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill={e}>
|
|
264
264
|
<L d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"stroke={e}strokeWidth="1.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
265
265
|
</W>,GitHubIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
266
266
|
<L d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
@@ -336,7 +336,7 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
336
336
|
<L d="M8 3c-2 1-3 2.5-3 5 0 2-1 3.5-2 4 1 .5 2 2 2 4 0 2.5 1 4 3 5M16 3c2 1 3 2.5 3 5 0 2 1 3.5 2 4-1 .5-2 2-2 4 0 2.5-1 4-3 5"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
337
337
|
</W>,AppFramesIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
338
338
|
<L d="M4 6h16M4 10h11M4 14h16M4 18h9"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
339
|
-
<L d="M18 12.5l2 2 3-3.5"stroke=
|
|
339
|
+
<L d="M18 12.5l2 2 3-3.5"stroke={p.emerald600}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
340
340
|
</W>,AllFramesIcon=({color:e=p.grayTextWeak,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
341
341
|
<L d="M4 4h16M4 8h16M4 12h16M4 16h16M4 20h10"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
342
342
|
<B x="16"y="16"width="4"height="4"rx="1"fill={e}/>
|
|
@@ -441,6 +441,19 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
441
441
|
</W>,CameraIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
442
442
|
<L d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
443
443
|
<M cx="12"cy="13"r="4"stroke={e}strokeWidth="2"/>
|
|
444
|
+
</W>,ScreenshotCaptureIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
445
|
+
<L d="M3 7V4a1 1 0 0 1 1-1h3M17 3h3a1 1 0 0 1 1 1v3M21 17v3a1 1 0 0 1-1 1h-3M7 21H4a1 1 0 0 1-1-1v-3"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
446
|
+
<M cx="12"cy="12"r="4.2"stroke={e}strokeWidth="2"/>
|
|
447
|
+
<M cx="12"cy="12"r="1.8"fill={e}/>
|
|
448
|
+
</W>,CameraLensIcon=({color:e=p.white,size:t=20})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
449
|
+
<M cx="12"cy="12"r="9"stroke={e}strokeWidth="1.8"/>
|
|
450
|
+
<M cx="12"cy="12"r="6"stroke={e}strokeWidth="1.4"strokeDasharray="3 2"/>
|
|
451
|
+
<M cx="12"cy="12"r="3"fill={e}/>
|
|
452
|
+
<L d="M12 3v2M12 19v2M3 12h2M19 12h2"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
453
|
+
</W>,ScreenRecordIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
454
|
+
<B x="2"y="4"width="14"height="16"rx="3"stroke={e}strokeWidth="2"/>
|
|
455
|
+
<L d="M16 10l5-3.5v11L16 14v-4z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
456
|
+
<M cx="9"cy="12"r="2.5"fill={e}/>
|
|
444
457
|
</W>,VideoCameraIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
445
458
|
<L d="M23 7l-7 5 7 5V7z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
446
459
|
<B x="1"y="5"width="15"height="14"rx="2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
@@ -537,4 +550,124 @@ import"react";import W,{Circle as M,Ellipse as T,Line as S,Path as L,Rect as B}f
|
|
|
537
550
|
</W>,NotificationIcon=BellIcon,CloudPushIcon=({color:e=p.brandPurple,size:t=20})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
538
551
|
<L d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
539
552
|
<L d="m12 13 3 3m0 0-3 3m3-3H7"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
553
|
+
</W>,SocketIcon=({color:e=p.blue600,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
554
|
+
<L d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
555
|
+
<L d="M12 6v6l4 2"stroke={e}strokeWidth="1.8"strokeLinecap="round"strokeLinejoin="round"/>
|
|
556
|
+
<L d="M4.93 4.93l4.24 4.24m5.66 5.66l4.24 4.24"stroke={e}strokeWidth="1.6"strokeLinecap="round"strokeLinejoin="round"/>
|
|
557
|
+
</W>,WebsocketIcon=({color:e=p.blue600,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
558
|
+
<L d="M7 8h10M17 8l-3-3M17 8l-3 3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
559
|
+
<L d="M17 16H7M7 16l3-3M7 16l3 3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
560
|
+
<M cx="4"cy="8"r="1.5"fill={e}/>
|
|
561
|
+
<M cx="20"cy="16"r="1.5"fill={e}/>
|
|
562
|
+
</W>,SendFrameIcon=({color:e=p.blue600,size:t=12})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
563
|
+
<L d="m12 19V5m-7 7 7-7 7 7"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
564
|
+
</W>,ReceiveFrameIcon=({color:e=p.emerald600,size:t=12})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
565
|
+
<L d="m12 5v14m-7-7 7 7 7-7"stroke={e}strokeWidth="2.2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
566
|
+
</W>,PingIcon=({color:e=p.amber600,size:t=12})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
567
|
+
<L d="M22 12h-4l-3 9L9 3l-3 9H2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
568
|
+
</W>,BroadcastIcon=({color:e=p.brandPurple,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
569
|
+
<L d="M4.93 4.93a10 10 0 0 1 14.14 0M7.76 7.76a6 6 0 0 1 8.48 0"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
570
|
+
<M cx="12"cy="12"r="2"fill={e}/>
|
|
571
|
+
</W>,VolumeIcon=({color:e=p.violet600,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
572
|
+
<L d="M11 5L6 9H2v6h4l5 4V5zM19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.08"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
573
|
+
</W>,BuildingIcon=({color:e=p.blue600,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
574
|
+
<L d="M3 21h18M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16M9 9h1M9 13h1M9 17h1M14 9h1M14 13h1M14 17h1"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
575
|
+
</W>,ArrowUpIcon=({color:e=p.green600,size:t=12})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
576
|
+
<L d="M12 19V5M5 12l7-7 7 7"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
577
|
+
</W>,ArrowDownIcon=({color:e=p.blue600,size:t=12})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
578
|
+
<L d="M12 5v14M19 12l-7 7-7-7"stroke={e}strokeWidth="2.5"strokeLinecap="round"strokeLinejoin="round"/>
|
|
579
|
+
</W>,SupportIcon=({color:e=p.white,size:t=14})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
580
|
+
<M cx="12"cy="12"r="9.5"stroke={e}strokeWidth="1.8"/>
|
|
581
|
+
<M cx="12"cy="12"r="4"stroke={e}strokeWidth="1.8"/>
|
|
582
|
+
<S x1="4.93"y1="4.93"x2="9.17"y2="9.17"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
583
|
+
<S x1="14.83"y1="9.17"x2="19.07"y2="4.93"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
584
|
+
<S x1="14.83"y1="14.83"x2="19.07"y2="19.07"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
585
|
+
<S x1="4.93"y1="19.07"x2="9.17"y2="14.83"stroke={e}strokeWidth="1.8"strokeLinecap="round"/>
|
|
586
|
+
</W>,HeartIcon=({color:e=p.red500,size:t=20,fill:I=e})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
587
|
+
<L d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"fill={I}/>
|
|
588
|
+
</W>,CropIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
589
|
+
<L d="M6.13 1L6 16a2 2 0 0 0 2 2h15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
590
|
+
<L d="M1 6.13L16 6a2 2 0 0 1 2 2v15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
591
|
+
</W>,RotateIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
592
|
+
<L d="M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.67"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
593
|
+
</W>,RedactIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
594
|
+
<L d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
595
|
+
<S x1="1"y1="1"x2="23"y2="23"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
596
|
+
</W>,AnnotateIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
597
|
+
<L d="M12 20h9"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
598
|
+
<L d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
599
|
+
</W>,ScissorsIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
600
|
+
<M cx="6"cy="6"r="3"stroke={e}strokeWidth="2"/>
|
|
601
|
+
<M cx="6"cy="18"r="3"stroke={e}strokeWidth="2"/>
|
|
602
|
+
<S x1="20"y1="4"x2="8.12"y2="15.88"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
603
|
+
<S x1="14.47"y1="14.48"x2="20"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
604
|
+
<S x1="8.12"y1="8.12"x2="12"y2="12"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
605
|
+
</W>,VolumeXIcon=({color:e=p.white,size:t=18})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
606
|
+
<V points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
607
|
+
<S x1="23"y1="9"x2="17"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
608
|
+
<S x1="17"y1="9"x2="23"y2="15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
609
|
+
</W>,MailIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
610
|
+
<L d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
611
|
+
<L d="M22 6l-10 7L2 6"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
612
|
+
</W>,ActivityIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
613
|
+
<L d="M22 12h-4l-3 9L9 3l-3 9H2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
614
|
+
</W>,SpeedIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
615
|
+
<L d="M12 2v4M4.93 4.93l2.83 2.83M2 12h4M4.93 19.07l2.83-2.83M12 22v-4M19.07 19.07l-2.83-2.83M22 12h-4M19.07 4.93l-2.83 2.83"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
616
|
+
</W>,BatteryChargingIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
617
|
+
<L d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2M19 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2M23 13v-2"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
618
|
+
<L d="M11 6l-4 7h6l-4 7"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
619
|
+
</W>,BatteryFullIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
620
|
+
<B x="1"y="6"width="18"height="12"rx="2"stroke={e}strokeWidth="2"/>
|
|
621
|
+
<S x1="23"y1="13"x2="23"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
622
|
+
<B x="4"y="9"width="12"height="6"fill={e}rx="1"/>
|
|
623
|
+
</W>,PenIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
624
|
+
<L d="M12 19l7-7 3 3-7 7-3-3z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
625
|
+
<L d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
626
|
+
<L d="M2 2l7.586 7.586"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
627
|
+
<M cx="11"cy="11"r="2"stroke={e}strokeWidth="2"/>
|
|
628
|
+
</W>,ShapesIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
629
|
+
<B x="3"y="3"width="8"height="8"rx="1.5"stroke={e}strokeWidth="2"/>
|
|
630
|
+
<M cx="17.5"cy="17.5"r="4.5"stroke={e}strokeWidth="2"/>
|
|
631
|
+
<V points="18,3 22,11 14,11"stroke={e}strokeWidth="2"strokeLinejoin="round"/>
|
|
632
|
+
</W>,RectangleIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
633
|
+
<B x="3"y="5"width="18"height="14"rx="2"stroke={e}strokeWidth="2"/>
|
|
634
|
+
</W>,CircleIconOutline=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
635
|
+
<M cx="12"cy="12"r="9"stroke={e}strokeWidth="2"/>
|
|
636
|
+
</W>,EllipseIconOutline=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
637
|
+
<T cx="12"cy="12"rx="10"ry="6"stroke={e}strokeWidth="2"/>
|
|
638
|
+
</W>,TypeIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
639
|
+
<C points="4 7 4 4 20 4 20 7"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
640
|
+
<S x1="9"y1="20"x2="15"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
641
|
+
<S x1="12"y1="4"x2="12"y2="20"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
642
|
+
</W>,BlurIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
643
|
+
<M cx="12"cy="12"r="10"stroke={e}strokeWidth="2"/>
|
|
644
|
+
<L d="M12 2a10 10 0 0 1 0 20V2z"fill={e}opacity={.4}/>
|
|
645
|
+
<S x1="12"y1="2"x2="12"y2="22"stroke={e}strokeWidth="2"/>
|
|
646
|
+
</W>,ZoomInIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
647
|
+
<M cx="11"cy="11"r="8"stroke={e}strokeWidth="2"/>
|
|
648
|
+
<S x1="21"y1="21"x2="16.65"y2="16.65"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
649
|
+
<S x1="11"y1="8"x2="11"y2="14"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
650
|
+
<S x1="8"y1="11"x2="14"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
651
|
+
</W>,ZoomOutIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
652
|
+
<M cx="11"cy="11"r="8"stroke={e}strokeWidth="2"/>
|
|
653
|
+
<S x1="21"y1="21"x2="16.65"y2="16.65"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
654
|
+
<S x1="8"y1="11"x2="14"y2="11"stroke={e}strokeWidth="2"strokeLinecap="round"/>
|
|
655
|
+
</W>,UndoIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
656
|
+
<L d="M3 7v6h6"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
657
|
+
<L d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
658
|
+
</W>,ResizeIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
659
|
+
<C points="15 3 21 3 21 9"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
660
|
+
<C points="9 21 3 21 3 15"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
661
|
+
<S x1="21"y1="3"x2="14"y2="10"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
662
|
+
<S x1="3"y1="21"x2="10"y2="14"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
663
|
+
</W>,AspectRatioIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
664
|
+
<B x="2"y="4"width="20"height="16"rx="2"stroke={e}strokeWidth="2"/>
|
|
665
|
+
<L d="M8 8H5v3M16 16h3v-3"stroke={e}strokeWidth="2"strokeLinecap="round"strokeLinejoin="round"/>
|
|
666
|
+
</W>,GripVerticalIcon=({color:e=p.white,size:t=16})=><W width={t}height={t}viewBox="0 0 24 24"fill="none">
|
|
667
|
+
<M cx="9"cy="5"r="1.5"fill={e}/>
|
|
668
|
+
<M cx="9"cy="12"r="1.5"fill={e}/>
|
|
669
|
+
<M cx="9"cy="19"r="1.5"fill={e}/>
|
|
670
|
+
<M cx="15"cy="5"r="1.5"fill={e}/>
|
|
671
|
+
<M cx="15"cy="12"r="1.5"fill={e}/>
|
|
672
|
+
<M cx="15"cy="19"r="1.5"fill={e}/>
|
|
540
673
|
</W>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import A from"react";import{Pressable as R,ScrollView as V,Text as D,View as C}from"react-native";import{AppColors as e}from"../styles/AppColors";import{AppFonts as E}from"../styles/AppFonts";export const DEFAULT_INNER_TAB_THEMES={metadata:e.sky600,headers:e.teal600,request:e.amber600,response:e.brandPurple,req:e.amber600,res:e.brandPurple,output:e.teal600,arguments:e.amber600,stack:e.errorColor,caller:e.sky600,error:e.errorColor,app:e.green600,all:e.brandPurple,live:e.violet600,timeline:e.orange600,persisted:e.teal600,payload:e.violet600,diff:e.green600,raw:e.brandPurple,diagnostics:e.amber600,breadcrumbs:e.orange600,overview:e.sky600,json:e.brandPurple,tree:e.violet600,preview:e.brandPurple,delivery:e.amber600,domainAttrs:e.sky600,messages:e.violet600,params:e.teal600,code:e.amber600,pretty:e.violet600,table:e.teal600,production:e.brandPurple,files:e.teal600,packages:e.orange600,media:e.pink600,optimizer:e.violet600,hardware:e.orange600,network:e.teal600,display:e.pink600,runtime:e.amber600,security:e.errorColor,fatal:e.errorColor,promise:e.orange600,render:e.pink600,native:e.cyan600,js:e.amber600,asyncStorage:e.brandPurple,mmkv:e.teal600};const I=A.memo(({tabs:P,activeKey:x,onChange:S,style:i,scrollable:t})=>{const n=P.map(r=>{const o=x===r.key,a=r.themeColor||r.color||DEFAULT_INNER_TAB_THEMES[r.key]||e.brandPurple;return<R key={r.key}onPress={()=>S(r.key)}style={({pressed:T})=>[{flex:t?void 0:1,paddingVertical:7,paddingHorizontal:t?12:6,borderRadius:7,backgroundColor:o?a:"transparent",alignItems:"center",justifyContent:"center",gap:4.5,flexDirection:"row",opacity:T?.8:1},o&&{shadowColor:a,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:3,elevation:2}]}>
|
|
2
2
|
{r.icon?typeof r.icon=="function"?r.icon(o,a):r.icon:null}
|
|
3
|
-
<
|
|
3
|
+
<D numberOfLines={1}style={{fontFamily:E.interBold,fontSize:10.5,color:o?e.white:e.grayText,letterSpacing:.2}}>
|
|
4
4
|
{r.label}
|
|
5
|
-
</
|
|
6
|
-
</
|
|
7
|
-
<
|
|
5
|
+
</D>
|
|
6
|
+
</R>});return t?<C style={[{borderRadius:10,backgroundColor:`${e.slate200}80`,padding:3,borderWidth:1,borderColor:e.dividerColor},i]}>
|
|
7
|
+
<V horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:4}}>
|
|
8
8
|
{n}
|
|
9
|
-
</
|
|
9
|
+
</V>
|
|
10
10
|
</C>:<C style={[{flexDirection:"row",borderRadius:10,backgroundColor:`${e.slate200}80`,padding:3,borderWidth:1,borderColor:e.dividerColor,gap:3,minWidth:0},i]}>
|
|
11
11
|
{n}
|
|
12
|
-
</C>});export default
|
|
12
|
+
</C>});export default I;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "2.
|
|
1
|
+
export declare const LIB_VERSION = "2.5.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LIB_VERSION="2.
|
|
1
|
+
export const LIB_VERSION="2.5.0";
|
package/dist/esm/crash.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { setupGlobalCrashHandler, subscribeCrashEvents, emitCrashEvent, getCrashRecords, clearCrashRecords, simulateTestCrash, exportCrashReport, parseCrashStackTrace, setMaxCrashLogsLimit, getMaxCrashLogsLimit, pruneCrashRecords, setCrashModuleEnabled, getCrashModuleEnabled, } from './customHooks/crashHandler';
|
|
1
|
+
export { setupGlobalCrashHandler, subscribeCrashEvents, emitCrashEvent, getCrashRecords, clearCrashRecords, simulateTestCrash, exportCrashReport, parseCrashStackTrace, triggerGlobalCrashScreen, setMaxCrashLogsLimit, getMaxCrashLogsLimit, pruneCrashRecords, setCrashModuleEnabled, getCrashModuleEnabled, } from './customHooks/crashHandler';
|
|
2
2
|
export type { CrashRecord, CrashBreadcrumb, } from './types';
|
|
3
3
|
export { CrashType, CrashExportFormat, CrashDetailSubTab, CrashFilterType, BreadcrumbType, } from './types';
|
package/dist/esm/crash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{setupGlobalCrashHandler,subscribeCrashEvents,emitCrashEvent,getCrashRecords,clearCrashRecords,simulateTestCrash,exportCrashReport,parseCrashStackTrace,setMaxCrashLogsLimit,getMaxCrashLogsLimit,pruneCrashRecords,setCrashModuleEnabled,getCrashModuleEnabled}from"./customHooks/crashHandler";export{CrashType,CrashExportFormat,CrashDetailSubTab,CrashFilterType,BreadcrumbType}from"./types";
|
|
1
|
+
export{setupGlobalCrashHandler,subscribeCrashEvents,emitCrashEvent,getCrashRecords,clearCrashRecords,simulateTestCrash,exportCrashReport,parseCrashStackTrace,triggerGlobalCrashScreen,setMaxCrashLogsLimit,getMaxCrashLogsLimit,pruneCrashRecords,setCrashModuleEnabled,getCrashModuleEnabled}from"./customHooks/crashHandler";export{CrashType,CrashExportFormat,CrashDetailSubTab,CrashFilterType,BreadcrumbType}from"./types";
|
|
@@ -35,6 +35,7 @@ export declare const recordCustomCrash: (error: Error | string, options?: {
|
|
|
35
35
|
type?: CrashType;
|
|
36
36
|
componentStack?: string;
|
|
37
37
|
}) => CrashRecord;
|
|
38
|
-
export declare const
|
|
38
|
+
export declare const triggerGlobalCrashScreen: (crashRecord: CrashRecord) => void;
|
|
39
|
+
export declare const simulateTestCrash: (type?: CrashType, customMessage?: string, customStack?: string, isFatal?: boolean) => CrashRecord;
|
|
39
40
|
export declare const exportCrashReport: (crash: CrashRecord, format?: CrashExportFormat) => string;
|
|
40
41
|
export declare const setupGlobalCrashHandler: () => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{LogBox as M,NativeModules as v,TurboModuleRegistry as D,NativeEventEmitter as F,Platform as y,AppState as L,Dimensions as B}from"react-native";import{CrashExportFormat as A,CrashType as
|
|
2
|
-
`),n=[];for(const o of
|
|
3
|
-
`):
|
|
4
|
-
`).slice(1,6).map(
|
|
5
|
-
`)}catch{}};export const exportCrashReport=(e,
|
|
6
|
-
`)}const o=[];return o.push("===================================================="),o.push(` ${s("crash.reportTitle")} `),o.push("===================================================="),o.push(`${s("crash.reportErrorName")} ${e.name||"Error"}`),o.push(`${s("crash.reportMessage")} ${e.message}`),o.push(`${s("crash.reportType")} ${e.type.toUpperCase()}`),o.push(`${s("crash.reportFatal")} ${e.isFatal?s("crash.reportFatalYes"):s("crash.reportFatalNo")}`),o.push(`${s("crash.reportTimestamp")} ${e.dateStr} ${e.timeStr} (${e.timestamp})`),o.push(`${s("crash.reportUptime")} ${s("crash.reportUptimeValue",{seconds:n})}`),o.push(`${s("crash.reportPlatform")} ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),o.push(`${s("crash.reportReactNative")} ${e.deviceInfo?.rnVersion||"N/A"}`),o.push(`${s("crash.reportHermes")} ${e.deviceInfo?.isHermes?s("crash.reportEnabled"):s("crash.reportDisabled")}`),o.push(`${s("crash.reportArchitecture")} ${e.deviceInfo?.isFabric?s("crash.reportFabricNew"):s("crash.reportPaperLegacy")}`),o.push(`${s("crash.reportScreenSize")} ${z()}`),o.push(`${s("crash.reportAppState")} ${e.deviceInfo?.appState||"active"}`),e.memoryInfo&&o.push(`${s("crash.reportJsMemory")} ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),o.push("----------------------------------------------------"),o.push(`${s("crash.reportStackTrace")}`),o.push(e.stack||s("crash.reportNoStackTrace")),e.componentStack&&(o.push("----------------------------------------------------"),o.push(`${s("crash.reportComponentHierarchy")}`),o.push(e.componentStack)),e.breadcrumbs&&e.breadcrumbs.length>0&&(o.push("----------------------------------------------------"),o.push(`${s("crash.reportRecentBreadcrumbs")}`),e.breadcrumbs.forEach(
|
|
7
|
-
`)},setupGlobalCrashHandler=()=>{if(!
|
|
1
|
+
import{LogBox as M,NativeModules as v,TurboModuleRegistry as D,NativeEventEmitter as F,Platform as y,AppState as L,Dimensions as B}from"react-native";import{CrashExportFormat as A,CrashType as h}from"../types/enums";import{addLogFromCrash as H}from"./consoleLogger";import{showNativeFloatingButton as U,setNativeFloatingButtonBadge as _}from"../native/NativeInspector";import{t as s}from"../i18n";export{A as CrashExportFormat};let E=[],N=!1,I=0,l=[],f=[];const R=50;let S=100;const T=Date.now();let k=!1;export const setCrashModuleEnabled=e=>{k=e},getCrashModuleEnabled=()=>k,setMaxCrashLogsLimit=e=>{S=Math.max(10,e),l.length>S&&(l=l.slice(0,S))},getMaxCrashLogsLimit=()=>S,pruneCrashRecords=e=>{const r=e!==void 0?Math.max(0,e):Math.floor(l.length/2),n=l.length-r;return n>0&&(l=l.slice(0,r)),f.length>20&&(f=f.slice(0,20)),Math.max(0,n)},addCrashBreadcrumb=(e,r,n)=>{if(k)try{const o={type:e,message:r,timestamp:Date.now(),data:n};f.unshift(o),f.length>R&&(f=f.slice(0,R))}catch{}},recordNavigationBreadcrumb=(e,r)=>{addCrashBreadcrumb("navigation",s("crash.breadcrumbNavigation",{from:e||"/",to:r||"/"}),{from:e,to:r})},recordNetworkBreadcrumb=(e,r,n,o)=>{const t=n!=null?` [${n}]`:"",a=o!=null?` (${Math.round(o)}ms)`:"";addCrashBreadcrumb("network",`${r.toUpperCase()} ${e}${t}${a}`,{url:e,method:r,status:n,duration:o})},recordReduxBreadcrumb=(e,r)=>{addCrashBreadcrumb("redux",s("crash.breadcrumbAction",{actionType:e}),{type:e,payloadSummary:typeof r=="object"&&r!==null?Object.keys(r):typeof r})},recordUserActionBreadcrumb=(e,r)=>{addCrashBreadcrumb("user",e,r)},clearCrashBreadcrumbs=()=>{f=[]},getCrashBreadcrumbs=()=>[...f],parseCrashStackTrace=e=>{if(!e||typeof e!="string")return[];const r=e.split(`
|
|
2
|
+
`),n=[];for(const o of r){const t=o.trim();if(!t||t.includes("crashHandler.ts")||t.includes("handleInterceptedCrash")||t.includes("addLogFromCrash")||t.includes("setupGlobalCrashHandler"))continue;const a=t.match(/^([^@]+)@(.*):(\d+):(\d+)$/);if(a){const[,c,i,m,g]=a,b=i.split("?")[0].split("/").pop()||i,x=!i.includes("node_modules")&&!i.includes("react-native")&&!i.includes("react-dom")&&!i.includes("hermes")&&!i.includes("internal");n.push({method:c.trim(),file:b,lineNumber:parseInt(m,10),column:parseInt(g,10),raw:t,isAppCode:x});continue}const u=t.match(/^at\s+(.+)\s+\((.+):(\d+):(\d+)\)$/);if(u){const[,c,i,m,g]=u,b=i.split("?")[0].split("/").pop()||i,x=!i.includes("node_modules")&&!i.includes("react-native")&&!i.includes("react-dom")&&!i.includes("internal");n.push({method:c.trim(),file:b,lineNumber:parseInt(m,10),column:parseInt(g,10),raw:t,isAppCode:x});continue}const d=t.match(/^at\s+(.+):(\d+):(\d+)$/);if(d){const[,c,i,m]=d,g=c.split("?")[0].split("/").pop()||c,b=!c.includes("node_modules")&&!c.includes("react-native");n.push({method:"<anonymous>",file:g,lineNumber:parseInt(i,10),column:parseInt(m,10),raw:t,isAppCode:b});continue}const $=t.match(/^at\s+([a-zA-Z0-9_$.]+)\(([a-zA-Z0-9_$]+\.java):(\d+)\)$/);if($){const[,c,i,m]=$,g=!c.startsWith("com.facebook.react")&&!c.startsWith("android.");n.push({method:c,file:i,lineNumber:parseInt(m,10),column:0,raw:t,isAppCode:g});continue}const p=t.match(/^\d+\s+([^\s]+)\s+(0x[0-9a-fA-F]+)\s+(.+)$/);if(p){const[,c,,i]=p,m=!c.startsWith("lib")&&!c.startsWith("Core")&&!c.startsWith("React");n.push({method:i,file:c,lineNumber:0,column:0,raw:t,isAppCode:m});continue}n.push({method:t.startsWith("at ")?t.slice(3):t,file:"runtime",lineNumber:0,column:0,raw:t,isAppCode:!1})}return n};const J=()=>{try{const e=globalThis.performance;if(e&&e.memory)return{usedJSHeapSize:Math.round(e.memory.usedJSHeapSize/(1024*1024)),totalJSHeapSize:Math.round(e.memory.totalJSHeapSize/(1024*1024))}}catch{}},z=()=>{try{const e=B.get("window");return`${Math.round(e.width)}x${Math.round(e.height)} (${e.scale}x)`}catch{return s("crash.unknown")}};export const computeCrashFingerprint=e=>{const r=e.type||"js",n=e.name||"Error",o=e.parsedStack&&e.parsedStack.length>0?e.parsedStack[0]:null,t=o?`${o.file}:${o.lineNumber}`:"unknown";return`${r}_${n}_${t}`},getCrashRecords=()=>[...l],clearCrashRecords=()=>{l=[],emitCrashEvent({error:null,message:"__CLEARED__",timestamp:Date.now()})},subscribeCrashEvents=e=>(E.push(e),()=>{E=E.filter(r=>r!==e)}),emitCrashEvent=e=>{if(e.message!=="__CLEARED__"){const r=Date.now();if(r-I<250)return;I=r}E.forEach(r=>{try{r(e)}catch{}})},handleInterceptedCrash=(e,r,n=!1,o,t)=>{try{const a=e instanceof Error||typeof e=="object"&&e!==null?e:new Error(String(e||s("crash.runtimeException"))),u=a.message||(typeof e=="string"?e:s("crash.runtimeException"));let d="";typeof r=="string"?d=r:Array.isArray(r)?d=r.map(C=>`at ${C.methodName||"<anonymous>"} (${C.file||"unknown"}:${C.lineNumber||0}:${C.column||0})`).join(`
|
|
3
|
+
`):d=a.stack||new Error().stack||"";let $=o||h.Js;const p=u.toLowerCase();o||(p.includes("native")||p.includes("sigsegv")||p.includes("nsrange")||p.includes("nullpointerexception")||p.includes("fatal signal")?$=h.Native:p.includes("promise")||p.includes("unhandled rejection")||p.includes("unhandledrejection")?$=h.Promise:p.includes("render")||p.includes("errorboundary")||t?$=h.Render:$=h.Js);const c=new Date,i=c.toLocaleDateString(),m=c.toLocaleTimeString(),g=parseCrashStackTrace(d),b=H(a,`[${n?s("crash.logFatalCrash"):s("crash.logUnhandledError")}] ${u}`,d,n),x=typeof globalThis.HermesInternal<"u",j=typeof globalThis.nativeFabricUIManager<"u",w={id:`crash_${Date.now()}_${Math.random().toString(36).substr(2,6)}`,error:a,isFatal:n,type:$,message:u,name:a.name||(n?s("crash.errorNameFatal"):s("crash.errorNameUnhandled")),stack:d,parsedStack:g,componentStack:t||void 0,timestamp:Date.now(),dateStr:i,timeStr:m,deviceInfo:{platform:y.OS,osVersion:String(y.Version),rnVersion:y.constants?.reactNativeVersion?`${y.constants.reactNativeVersion.major}.${y.constants.reactNativeVersion.minor}.${y.constants.reactNativeVersion.patch}`:s("crash.unknown"),isHermes:x,isFabric:j,appState:L.currentState||"active"},memoryInfo:J(),breadcrumbs:[...f],logId:b?.id};l.unshift(w),l.length>S&&(l=l.slice(0,S)),emitCrashEvent({error:a,isFatal:n,message:`[${n?s("crash.logFatalCrash"):s("crash.logUnhandledError")}] ${u}`,stack:d,timestamp:Date.now(),logId:b?.id,crashRecord:w});try{U(),_(!0)}catch{}return w}catch{return{id:`crash_${Date.now()}`,isFatal:!0,type:h.Js,message:String(e||s("crash.unknownException")),timestamp:Date.now(),dateStr:new Date().toLocaleDateString(),timeStr:new Date().toLocaleTimeString()}}},recordCustomCrash=(e,r)=>handleInterceptedCrash(e,typeof e=="object"?e.stack:void 0,r?.isFatal??!1,r?.type||h.Custom,r?.componentStack),triggerGlobalCrashScreen=e=>{emitCrashEvent({error:e.error||new Error(e.message),isFatal:!0,message:e.message,stack:e.stack,timestamp:e.timestamp||Date.now(),logId:e.logId,crashRecord:e})},simulateTestCrash=(e=h.Js,r,n,o=!0)=>{const t=new Error(r||P(e));return handleInterceptedCrash(e===h.Native?t.message:t,n||t.stack,o,e,e===h.Render?V():void 0)};const P=e=>{switch(e){case"native":return s("crash.simNativeMessage");case"promise":return s("crash.simPromiseMessage");case"render":return s("crash.simRenderMessage");default:return s("crash.simJsMessage")}},V=()=>{try{const e=new Error;if(e.stack)return e.stack.split(`
|
|
4
|
+
`).slice(1,6).map(r=>` ${r.trim()}`).join(`
|
|
5
|
+
`)}catch{}};export const exportCrashReport=(e,r="text")=>{if(r==="json")return JSON.stringify(e,null,2);const n=Math.round((e.timestamp-T)/1e3);if(r==="markdown"){const t=[];return t.push(`## ${s("crash.mdReportTitle",{name:e.name||"Error"})}`),t.push(`> **${e.message}**`),t.push(""),t.push(`- **${s("crash.reportType")}** \`${e.type.toUpperCase()}\``),t.push(`- **${s("crash.reportFatal")}** \`${e.isFatal?s("crash.mdSeverityFatal"):s("crash.mdSeverityHandled")}\``),t.push(`- **${s("crash.reportTimestamp")}** ${e.dateStr} ${e.timeStr}`),t.push(`- **${s("crash.reportUptime")}** ${n}s`),t.push(`- **${s("crash.reportPlatform")}** ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),t.push(`- **${s("crash.reportReactNative")}** v${e.deviceInfo?.rnVersion||"N/A"}`),t.push(`- **${s("crash.jsEngine")}** ${e.deviceInfo?.isHermes?s("crash.hermesEngine"):s("crash.jsc")}`),t.push(`- **${s("crash.reportArchitecture")}** ${e.deviceInfo?.isFabric?s("crash.reportFabricNew"):s("crash.reportPaperLegacy")}`),e.memoryInfo&&t.push(`- **${s("crash.reportJsMemory")}** ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),t.push(""),t.push(`### ${s("crash.mdStackTrace")}`),t.push("```"),t.push(e.stack||s("crash.reportNoStackTrace")),t.push("```"),e.componentStack&&(t.push(""),t.push(`### ${s("crash.mdComponentHierarchy")}`),t.push("```"),t.push(e.componentStack),t.push("```")),e.breadcrumbs&&e.breadcrumbs.length>0&&(t.push(""),t.push(`### ${s("crash.mdRecentBreadcrumbs")}`),e.breadcrumbs.forEach(a=>{const u=new Date(a.timestamp).toLocaleTimeString();t.push(`- \`[${u}]\` **[${a.type.toUpperCase()}]** ${a.message}`)})),t.join(`
|
|
6
|
+
`)}const o=[];return o.push("===================================================="),o.push(` ${s("crash.reportTitle")} `),o.push("===================================================="),o.push(`${s("crash.reportErrorName")} ${e.name||"Error"}`),o.push(`${s("crash.reportMessage")} ${e.message}`),o.push(`${s("crash.reportType")} ${e.type.toUpperCase()}`),o.push(`${s("crash.reportFatal")} ${e.isFatal?s("crash.reportFatalYes"):s("crash.reportFatalNo")}`),o.push(`${s("crash.reportTimestamp")} ${e.dateStr} ${e.timeStr} (${e.timestamp})`),o.push(`${s("crash.reportUptime")} ${s("crash.reportUptimeValue",{seconds:n})}`),o.push(`${s("crash.reportPlatform")} ${e.deviceInfo?.platform?.toUpperCase()} (v${e.deviceInfo?.osVersion})`),o.push(`${s("crash.reportReactNative")} ${e.deviceInfo?.rnVersion||"N/A"}`),o.push(`${s("crash.reportHermes")} ${e.deviceInfo?.isHermes?s("crash.reportEnabled"):s("crash.reportDisabled")}`),o.push(`${s("crash.reportArchitecture")} ${e.deviceInfo?.isFabric?s("crash.reportFabricNew"):s("crash.reportPaperLegacy")}`),o.push(`${s("crash.reportScreenSize")} ${z()}`),o.push(`${s("crash.reportAppState")} ${e.deviceInfo?.appState||"active"}`),e.memoryInfo&&o.push(`${s("crash.reportJsMemory")} ${e.memoryInfo.usedJSHeapSize} MB / ${e.memoryInfo.totalJSHeapSize} MB`),o.push("----------------------------------------------------"),o.push(`${s("crash.reportStackTrace")}`),o.push(e.stack||s("crash.reportNoStackTrace")),e.componentStack&&(o.push("----------------------------------------------------"),o.push(`${s("crash.reportComponentHierarchy")}`),o.push(e.componentStack)),e.breadcrumbs&&e.breadcrumbs.length>0&&(o.push("----------------------------------------------------"),o.push(`${s("crash.reportRecentBreadcrumbs")}`),e.breadcrumbs.forEach(t=>{const a=new Date(t.timestamp).toLocaleTimeString();o.push(` [${a}] [${t.type.toUpperCase()}] ${t.message}`)})),o.push("===================================================="),o.join(`
|
|
7
|
+
`)},setupGlobalCrashHandler=()=>{if(!N){N=!0;try{M&&typeof M.ignoreAllLogs=="function"&&M.ignoreAllLogs(!0)}catch{}try{const e=require("react-native/Libraries/LogBox/Data/LogBoxData");e&&typeof e.setDisabled=="function"&&e.setDisabled(!0)}catch{}try{const e=v?.NetworkInspectorModule;e&&(typeof e.enableNativeCrashProtection=="function"&&e.enableNativeCrashProtection(),new F(e).addListener("onNativeCrash",n=>{const t=`[${(n?.platform||y.OS).toUpperCase()} ${s("crash.nativeCrashTitle")}] ${n?.message||s("crash.nativeUncaughtException")}`,a=n?.stack||"";handleInterceptedCrash(t,a,!0,"native")}))}catch{}try{const e=D||globalThis.__turboModuleProxy,r=v?.ExceptionsManager||(e?.get?e.get("ExceptionsManager"):null);if(r){r.reportFatalException=(o,t,a)=>{handleInterceptedCrash(o,t,!0,"native");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportSoftException=(o,t,a)=>{handleInterceptedCrash(o,t,!1,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.reportException=o=>{const t=o?.message||o?.title||s("crash.nativeException"),a=o?.stack||o?.rawStack;handleInterceptedCrash(t,a,o?.isFatal??!0,"js");try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}},r.updateExceptionMessage=()=>{};try{typeof r.dismissRedbox=="function"&&r.dismissRedbox()}catch{}}const n=v?.RedBox||v?.RCTRedBox||(e?.get?e.get("RedBox")||e.get("RCTRedBox"):null);n&&(typeof n.showErrorMessage=="function"&&(n.showErrorMessage=()=>{}),typeof n.showUserError=="function"&&(n.showUserError=()=>{}),typeof n.dismiss=="function"&&n.dismiss())}catch{}try{const r=globalThis.ErrorUtils;r&&(typeof r.setGlobalHandler=="function"&&r.setGlobalHandler((n,o)=>{handleInterceptedCrash(n,n?.stack,o??!1,"js")}),typeof r.reportFatalError=="function"&&(r.reportFatalError=n=>{handleInterceptedCrash(n,n?.stack,!0,"js")}),typeof r.reportError=="function"&&(r.reportError=n=>{handleInterceptedCrash(n,n?.stack,!1,"js")}))}catch{}try{const e=globalThis,r=n=>{try{const o=n?.reason||n?.detail?.reason||n,t=o?.stack||(n?.stack??new Error().stack);handleInterceptedCrash(o,t,!1,"promise")}catch{}};typeof e.addEventListener=="function"&&e.addEventListener("unhandledrejection",r),typeof e.onunhandledrejection<"u"&&(e.onunhandledrejection=r)}catch{}}};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SocketConnectionRecord, SocketFrame, SocketFrameDirection, SocketFrameType, RouteInfo } from '../types';
|
|
2
|
+
export declare const setSocketRouteInfoProvider: (provider: (() => RouteInfo | null) | null) => void;
|
|
3
|
+
export declare const setSocketModuleEnabled: (enabled: boolean) => void;
|
|
4
|
+
export declare const getSocketModuleEnabled: () => boolean;
|
|
5
|
+
export declare const setMaxSocketRecordsLimit: (limit: number) => void;
|
|
6
|
+
export declare const getMaxSocketRecordsLimit: () => number;
|
|
7
|
+
export declare function getSocketRecords(): SocketConnectionRecord[];
|
|
8
|
+
export declare function clearSocketRecords(): void;
|
|
9
|
+
export declare function deleteSocketRecord(id: string): void;
|
|
10
|
+
export declare function deleteMultipleSocketRecords(ids: string[]): void;
|
|
11
|
+
export declare function subscribeSocketRecords(callback: (records: SocketConnectionRecord[]) => void): () => void;
|
|
12
|
+
export declare function pruneSocketRecords(keepCount?: number): void;
|
|
13
|
+
interface ParsedPayloadInfo {
|
|
14
|
+
data: any;
|
|
15
|
+
type: SocketFrameType;
|
|
16
|
+
eventName?: string;
|
|
17
|
+
size: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function analyzeSocketPayload(raw: any): ParsedPayloadInfo;
|
|
20
|
+
export declare function recordSocketConnection(url: string, options?: Partial<SocketConnectionRecord>): SocketConnectionRecord;
|
|
21
|
+
export declare function recordSocketFrame(socketId: string, rawPayload: any, direction?: SocketFrameDirection, options?: Partial<SocketFrame>): SocketFrame | null;
|
|
22
|
+
export declare function recordSocketClose(socketId: string, closeCode?: number, closeReason?: string): void;
|
|
23
|
+
export declare function recordSocketError(socketId: string, error: any): void;
|
|
24
|
+
export declare function setupSocketLogger(): void;
|
|
25
|
+
export declare function simulateTestSocket(preset?: 'chat' | 'crypto' | 'socketio' | 'echo' | 'custom', customData?: any): SocketConnectionRecord;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let r=[],m=50,h=!0,b=!1,g=null;const S=new Set;export const setSocketRouteInfoProvider=e=>{g=e},setSocketModuleEnabled=e=>{h=e},getSocketModuleEnabled=()=>h,setMaxSocketRecordsLimit=e=>{m=Math.max(10,Math.min(500,e)),r.length>m&&(r=r.slice(0,m),d())},getMaxSocketRecordsLimit=()=>m;export function getSocketRecords(){return[...r]}export function clearSocketRecords(){r=[],d()}export function deleteSocketRecord(e){r=r.filter(t=>t.id!==e),d()}export function deleteMultipleSocketRecords(e){const t=new Set(e);r=r.filter(s=>!t.has(s.id)),d()}export function subscribeSocketRecords(e){return S.add(e),e([...r]),()=>{S.delete(e)}}export function pruneSocketRecords(e=25){r.length>e&&(r=r.slice(0,e),d())}function d(){const e=[...r];S.forEach(t=>{try{t(e)}catch{}})}function y(){return`ws_${Date.now()}_${Math.random().toString(36).substring(2,8)}`}function a(){return`f_${Date.now()}_${Math.random().toString(36).substring(2,7)}`}function z(){try{const e=new Error().stack;if(!e)return;const t=e.split(`
|
|
2
|
+
`);for(const s of t)if(!s.includes("socketLogger")&&!s.includes("NativeInspector")&&!s.includes("InspectorWebSocket")&&!s.includes("node_modules/react-native")&&!s.includes("node_modules/expo")&&s.includes(".js")||s.includes(".tsx")||s.includes(".ts")){const i=s.match(/(?:at\s+)?(?:(.+?)\s+\()?(.*?):(\d+):(\d+)\)?$/);if(i){const n=i[1]||"anonymous",u=i[2]?.split("/").pop()||i[2],l=i[3];return`${u}:${l} (${n})`}}}catch{}}function _(e){const t={};try{const s=e.indexOf("?");if(s>=0){const n=e.substring(s+1).split("#")[0].split("&");for(const u of n){const[l,p]=u.split("=");l&&(t[decodeURIComponent(l)]=p?decodeURIComponent(p):"")}}}catch{}return t}export function analyzeSocketPayload(e){if(e==null)return{data:null,type:"text",size:0};if(typeof e=="string"){const t=(new Blob,e.length);if(/^\d+/.test(e)){if(e.startsWith("2"))return{data:"ping",type:"ping",size:t};if(e.startsWith("3"))return{data:"pong",type:"pong",size:t};if(e.startsWith("42")||e.startsWith("43"))try{const i=e.substring(2),n=JSON.parse(i);if(Array.isArray(n)&&n.length>0){const u=typeof n[0]=="string"?n[0]:"socket.io",l=n.length>1?n.length===2?n[1]:n.slice(1):null;return{data:l!==null?l:n,type:"socket.io",eventName:u,size:t}}}catch{}if(e.startsWith("0"))try{return{data:JSON.parse(e.substring(1)),type:"socket.io",eventName:"handshake",size:t}}catch{}}const s=e.trim();if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return{data:JSON.parse(s),type:"json",size:t}}catch{}return{data:e,type:"text",size:t}}return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?{data:`[ArrayBuffer ${e.byteLength} bytes]`,type:"binary",size:e.byteLength}:typeof Uint8Array<"u"&&e instanceof Uint8Array?{data:`[Uint8Array ${e.byteLength} bytes]`,type:"binary",size:e.byteLength}:typeof Blob<"u"&&e instanceof Blob?{data:`[Blob ${e.size} bytes: ${e.type||"binary"}]`,type:"binary",size:e.size}:typeof e=="object"?{data:e,type:"json",size:JSON.stringify(e).length}:{data:String(e),type:"text",size:String(e).length}}export function recordSocketConnection(e,t){const s=_(e),i=e.includes("/socket.io")||t?.client==="socket.io",n={id:t?.id||y(),url:e,protocols:t?.protocols,readyState:t?.readyState??1,status:t?.status||"open",startTime:t?.startTime||Date.now(),client:t?.client||(i?"socket.io":"websocket"),frames:t?.frames||[],sentCount:t?.sentCount||0,receivedCount:t?.receivedCount||0,totalBytesSent:t?.totalBytesSent||0,totalBytesReceived:t?.totalBytesReceived||0,caller:t?.caller||z(),query:s,headers:t?.headers,routeInfo:t?.routeInfo||g&&g()||void 0};return r.unshift(n),r.length>m&&(r=r.slice(0,m)),d(),n}export function recordSocketFrame(e,t,s="send",i){const n=r.find(p=>p.id===e);if(!n)return null;const u=analyzeSocketPayload(t),l={id:i?.id||a(),timestamp:i?.timestamp||Date.now(),direction:s,type:i?.type||u.type,data:i?.data!==void 0?i.data:u.data,raw:t,size:i?.size!==void 0?i.size:u.size,eventName:i?.eventName||u.eventName,ackId:i?.ackId};return n.frames.push(l),s==="send"?(n.sentCount+=1,n.totalBytesSent+=l.size||0):(n.receivedCount+=1,n.totalBytesReceived+=l.size||0),d(),l}export function recordSocketClose(e,t=1e3,s="Normal closure"){const i=r.find(n=>n.id===e);i&&(i.readyState=3,i.status="closed",i.closeCode=t,i.closeReason=s,i.endTime=Date.now(),i.duration=i.endTime-i.startTime,d())}export function recordSocketError(e,t){const s=r.find(i=>i.id===e);s&&(s.status="error",s.error=typeof t=="string"?t:t?.message||"WebSocket error occurred",d())}const x=typeof global<"u"&&global.WebSocket?global.WebSocket:void 0;export function setupSocketLogger(){if(b||!x)return;class e extends x{constructor(s,i){const n=typeof s=="string"?s:s.toString();if(super(s,i),this._inspectorUrl=n,this._inspectorId=y(),h){const u=_(n),l=n.includes("/socket.io"),p={id:this._inspectorId,url:n,protocols:i,readyState:0,status:"connecting",startTime:Date.now(),client:l?"socket.io":"websocket",frames:[],sentCount:0,receivedCount:0,totalBytesSent:0,totalBytesReceived:0,caller:z(),query:u,routeInfo:g&&g()||void 0};r.unshift(p),r.length>m&&(r=r.slice(0,m)),d(),this.addEventListener("open",()=>{const o=r.find(c=>c.id===this._inspectorId);o&&(o.readyState=1,o.status="open",d())}),this.addEventListener("message",o=>{if(!h)return;const c=r.find(C=>C.id===this._inspectorId);if(!c)return;const f=o?.data,k=analyzeSocketPayload(f),v={id:a(),timestamp:Date.now(),direction:"receive",type:k.type,data:k.data,raw:f,size:k.size,eventName:k.eventName};c.frames.push(v),c.receivedCount+=1,c.totalBytesReceived+=v.size||0,d()}),this.addEventListener("error",o=>{const c=r.find(f=>f.id===this._inspectorId);c&&(c.status="error",c.error=o?.message||"WebSocket connection error",d())}),this.addEventListener("close",o=>{const c=r.find(f=>f.id===this._inspectorId);c&&(c.readyState=3,c.status="closed",c.closeCode=o?.code||1e3,c.closeReason=o?.reason||"Closed",c.endTime=Date.now(),c.duration=c.endTime-c.startTime,d())})}}send(s){if(h&&this._inspectorId){const i=r.find(n=>n.id===this._inspectorId);if(i){const n=analyzeSocketPayload(s),u={id:a(),timestamp:Date.now(),direction:"send",type:n.type,data:n.data,raw:s,size:n.size,eventName:n.eventName};i.frames.push(u),i.sentCount+=1,i.totalBytesSent+=u.size||0,d()}}super.send(s)}}e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,global.WebSocket=e,b=!0}export function simulateTestSocket(e="chat",t){const s=Date.now();if(e==="chat"){const p=y(),o=s-18450,c={id:p,url:"wss://chat.example.com/v2/rooms/engineering?user=lead_dev",protocols:"chat.v2",readyState:1,status:"open",startTime:o,client:"websocket",sentCount:3,receivedCount:5,totalBytesSent:412,totalBytesReceived:890,caller:"ChatRoomScreen.tsx:84 (initChatWebSocket)",query:{user:"lead_dev",version:"2.0.4"},frames:[{id:a(),timestamp:o+120,direction:"send",type:"json",data:{action:"auth",token:"bearer_token_sec_99182",userId:"usr_81723"},size:78},{id:a(),timestamp:o+380,direction:"receive",type:"json",data:{status:"authenticated",room:"engineering",activeUsers:14},size:64},{id:a(),timestamp:o+2400,direction:"send",type:"json",data:{action:"send_message",message:"Hello team, the new release build is ready! \u{1F680}"},size:82},{id:a(),timestamp:o+3100,direction:"receive",type:"json",data:{user:"Sarah_QA",message:"Awesome! Starting regression tests on iOS 18 now.",timestamp:o+3090},size:114},{id:a(),timestamp:o+7500,direction:"receive",type:"json",data:{user:"Alex_Backend",message:"API response times look great on staging cluster.",timestamp:o+7490},size:98},{id:a(),timestamp:o+12e3,direction:"send",type:"ping",data:"ping",size:4},{id:a(),timestamp:o+12045,direction:"receive",type:"pong",data:"pong",size:4},{id:a(),timestamp:o+16200,direction:"receive",type:"json",data:{event:"typing_indicator",user:"David_Design",status:"typing"},size:56}]};return r.unshift(c),d(),c}if(e==="crypto"){const p=y(),o=s-45e3,c={id:p,url:"wss://stream.binance.com:9443/ws/btcusdt@ticker/ethusdt@ticker",protocols:void 0,readyState:1,status:"open",startTime:o,client:"websocket",sentCount:1,receivedCount:6,totalBytesSent:86,totalBytesReceived:2140,caller:"CryptoLiveTicker.tsx:42 (connectTickerStream)",query:{symbols:"btcusdt,ethusdt"},frames:[{id:a(),timestamp:o+80,direction:"send",type:"json",data:{method:"SUBSCRIBE",params:["btcusdt@ticker","ethusdt@ticker"],id:1},size:86},{id:a(),timestamp:o+250,direction:"receive",type:"json",data:{result:null,id:1},size:24},{id:a(),timestamp:o+1200,direction:"receive",type:"json",data:{s:"BTCUSDT",c:"92,450.00",h:"93,120.00",l:"90,800.00",v:"18420.45",q:"1702891240.50",P:"+2.45%"},size:142},{id:a(),timestamp:o+5400,direction:"receive",type:"json",data:{s:"ETHUSDT",c:"3,420.50",h:"3,480.00",l:"3,360.00",v:"84120.12",q:"287890124.00",P:"+1.82%"},size:138},{id:a(),timestamp:o+18e3,direction:"receive",type:"json",data:{s:"BTCUSDT",c:"92,610.00",h:"93,120.00",l:"90,800.00",v:"18650.10",q:"1724120890.00",P:"+2.62%"},size:142}]};return r.unshift(c),d(),c}if(e==="socketio"){const p=y(),o=s-32e3,c={id:p,url:"https://api.myapp.io/socket.io/?EIO=4&transport=websocket&sid=U9k1l_892Zq",readyState:1,status:"open",startTime:o,client:"socket.io",sentCount:3,receivedCount:4,totalBytesSent:280,totalBytesReceived:560,caller:"SocketIOClient.ts:62 (io.connect)",query:{EIO:"4",transport:"websocket",sid:"U9k1l_892Zq"},frames:[{id:a(),timestamp:o+90,direction:"receive",type:"socket.io",eventName:"handshake",data:{sid:"U9k1l_892Zq",upgrades:[],pingInterval:25e3,pingTimeout:2e4},size:96},{id:a(),timestamp:o+210,direction:"send",type:"socket.io",eventName:"connect_namespace",data:{token:"jwt_auth_pass_token_99"},size:54},{id:a(),timestamp:o+340,direction:"receive",type:"socket.io",eventName:"connect",data:{status:"ok",sid:"U9k1l_892Zq"},size:42},{id:a(),timestamp:o+4200,direction:"send",type:"socket.io",eventName:"subscribe_order_feed",data:{orderId:"ORD_99182",tenantId:"enterprise_gold"},size:72},{id:a(),timestamp:o+8900,direction:"receive",type:"socket.io",eventName:"order_status_updated",data:{orderId:"ORD_99182",status:"DISPATCHED",driverName:"Michael Brown",etaMinutes:12,location:{lat:37.7749,lng:-122.4194}},size:168},{id:a(),timestamp:o+25e3,direction:"send",type:"ping",data:"ping",size:4},{id:a(),timestamp:o+25032,direction:"receive",type:"pong",data:"pong",size:4}]};return r.unshift(c),d(),c}const i=y(),n=s-6e4,u=s-2e3,l={id:i,url:"wss://echo.websocket.events",readyState:3,status:"closed",startTime:n,endTime:u,duration:u-n,closeCode:1e3,closeReason:"Normal session closure",client:"websocket",sentCount:2,receivedCount:2,totalBytesSent:110,totalBytesReceived:110,caller:"HomeScreen.tsx:120 (testWebSocketEcho)",frames:[{id:a(),timestamp:n+200,direction:"send",type:"text",data:"Echo ping test #1",size:17},{id:a(),timestamp:n+380,direction:"receive",type:"text",data:"Echo ping test #1",size:17},{id:a(),timestamp:n+15e3,direction:"send",type:"json",data:{type:"diagnostics",timestamp:n+15e3},size:45},{id:a(),timestamp:n+15210,direction:"receive",type:"json",data:{type:"diagnostics",timestamp:n+15e3},size:45}]};return t&&Object.assign(l,t),r.unshift(l),d(),l}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PhotoEditOptions, PhotoEditResult, VideoTrimOptions, VideoTrimResult, FilmstripOptions, FilmstripResult } from './types/editor';
|
|
2
|
+
export * from './types/editor';
|
|
3
|
+
export declare const MediaEditor: {
|
|
4
|
+
editPhoto: (options: PhotoEditOptions) => Promise<PhotoEditResult | null>;
|
|
5
|
+
trimVideo: (options: VideoTrimOptions) => Promise<VideoTrimResult | null>;
|
|
6
|
+
generateFilmstrip: (options: FilmstripOptions) => Promise<FilmstripResult | null>;
|
|
7
|
+
cropToDefect: (uri: string, crop: import("./types/editor").CropRect, options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
|
|
8
|
+
redactSensitiveData: (uri: string, redactions: import("./types/editor").RedactionBox[], options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
|
|
9
|
+
annotateDefect: (uri: string, annotations: import("./types/editor").AnnotationBox[], options?: Partial<PhotoEditOptions>) => Promise<PhotoEditResult | null>;
|
|
10
|
+
trimReproClip: (uri: string, startTimeMs: number, endTimeMs: number, options?: Partial<VideoTrimOptions>) => Promise<VideoTrimResult | null>;
|
|
11
|
+
muteVideo: (uri: string, options?: Partial<VideoTrimOptions>) => Promise<VideoTrimResult | null>;
|
|
12
|
+
};
|
|
13
|
+
export default MediaEditor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{editNativePhoto as n,trimNativeVideo as d,generateNativeFilmstrip as h}from"./native/NativeInspector";export*from"./types/editor";export const MediaEditor={editPhoto:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e={...t,uri:t.uri.trim(),quality:typeof t.quality=="number"?Math.max(.01,Math.min(1,t.quality)):.9};return n(e)},trimVideo:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e=Math.max(0,Number(t.startTimeMs)||0),r=Number(t.endTimeMs)||0;if(r>0&&r<=e)return null;const i=!!(t.mute||t.muteAudio),a={...t,uri:t.uri.trim(),startTimeMs:e,endTimeMs:r,mute:i,muteAudio:i};return d(a)},generateFilmstrip:async t=>{if(!t||typeof t.uri!="string"||!t.uri.trim())return null;const e=Math.max(1,Math.min(50,Math.floor(Number(t.count)||8))),r=t.maxWidth||t.targetWidth,i=t.maxHeight||t.targetHeight,a=r?Math.max(32,Math.min(1920,Math.floor(r))):160,u=i?Math.max(32,Math.min(1080,Math.floor(i))):160,m={...t,uri:t.uri.trim(),count:e,maxWidth:a,targetWidth:a,maxHeight:u,targetHeight:u};return h(m)},cropToDefect:async(t,e,r)=>MediaEditor.editPhoto({uri:t,crop:e,...r}),redactSensitiveData:async(t,e,r)=>MediaEditor.editPhoto({uri:t,redactions:e,...r}),annotateDefect:async(t,e,r)=>MediaEditor.editPhoto({uri:t,annotations:e,...r}),trimReproClip:async(t,e,r,i)=>MediaEditor.trimVideo({uri:t,startTimeMs:e,endTimeMs:r,...i}),muteVideo:async(t,e)=>MediaEditor.trimVideo({uri:t,startTimeMs:0,endTimeMs:0,muteAudio:!0,...e})};export default MediaEditor;
|
|
@@ -10,6 +10,7 @@ export declare const getStatusColor: (status: number | null) => string;
|
|
|
10
10
|
export declare const getDurationColor: (duration: number | null) => string;
|
|
11
11
|
export declare const getSize: (data: unknown) => string;
|
|
12
12
|
export declare const formatBytes: (bytes: number) => string;
|
|
13
|
+
export declare const formatByteSize: (bytes: number) => string;
|
|
13
14
|
export declare const copyToClipboard: (value: unknown, label?: string) => void;
|
|
14
15
|
export declare const copyImageOrMediaToClipboard: (uri: string, label?: string) => Promise<void>;
|
|
15
16
|
export declare const getPath: (url: string) => string;
|