@ledgerhq/device-management-kit-devtools-ui 1.1.1
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/LICENSE.MD +202 -0
- package/lib/build/index.d.ts +2 -0
- package/lib/build/index.d.ts.map +1 -0
- package/lib/build/index.js +2 -0
- package/lib/build/index.js.map +1 -0
- package/lib/build/src/Dashboard.d.ts +5 -0
- package/lib/build/src/Dashboard.d.ts.map +1 -0
- package/lib/build/src/Dashboard.js +50 -0
- package/lib/build/src/Dashboard.js.map +1 -0
- package/lib/build/src/ErrorBoundary.d.ts +15 -0
- package/lib/build/src/ErrorBoundary.d.ts.map +1 -0
- package/lib/build/src/ErrorBoundary.js +23 -0
- package/lib/build/src/ErrorBoundary.js.map +1 -0
- package/lib/build/src/PluginEvents.d.ts +9 -0
- package/lib/build/src/PluginEvents.d.ts.map +1 -0
- package/lib/build/src/PluginEvents.js +2 -0
- package/lib/build/src/PluginEvents.js.map +1 -0
- package/lib/build/src/components/DashboardFooter.d.ts +8 -0
- package/lib/build/src/components/DashboardFooter.d.ts.map +1 -0
- package/lib/build/src/components/DashboardFooter.js +31 -0
- package/lib/build/src/components/DashboardFooter.js.map +1 -0
- package/lib/build/src/components/DashboardNavigationBar.d.ts +16 -0
- package/lib/build/src/components/DashboardNavigationBar.d.ts.map +1 -0
- package/lib/build/src/components/DashboardNavigationBar.js +85 -0
- package/lib/build/src/components/DashboardNavigationBar.js.map +1 -0
- package/lib/build/src/components/DebugDrawer.d.ts +18 -0
- package/lib/build/src/components/DebugDrawer.d.ts.map +1 -0
- package/lib/build/src/components/DebugDrawer.js +69 -0
- package/lib/build/src/components/DebugDrawer.js.map +1 -0
- package/lib/build/src/components/SplitView.d.ts +12 -0
- package/lib/build/src/components/SplitView.d.ts.map +1 -0
- package/lib/build/src/components/SplitView.js +50 -0
- package/lib/build/src/components/SplitView.js.map +1 -0
- package/lib/build/src/hooks/commandDispatcher.d.ts +28 -0
- package/lib/build/src/hooks/commandDispatcher.d.ts.map +1 -0
- package/lib/build/src/hooks/commandDispatcher.js +38 -0
- package/lib/build/src/hooks/commandDispatcher.js.map +1 -0
- package/lib/build/src/hooks/connectorMessageHandlers.d.ts +34 -0
- package/lib/build/src/hooks/connectorMessageHandlers.d.ts.map +1 -0
- package/lib/build/src/hooks/connectorMessageHandlers.js +85 -0
- package/lib/build/src/hooks/connectorMessageHandlers.js.map +1 -0
- package/lib/build/src/hooks/useConnectorMessages.d.ts +60 -0
- package/lib/build/src/hooks/useConnectorMessages.d.ts.map +1 -0
- package/lib/build/src/hooks/useConnectorMessages.js +138 -0
- package/lib/build/src/hooks/useConnectorMessages.js.map +1 -0
- package/lib/build/src/screens/debugDevTools/index.d.ts +17 -0
- package/lib/build/src/screens/debugDevTools/index.d.ts.map +1 -0
- package/lib/build/src/screens/debugDevTools/index.js +48 -0
- package/lib/build/src/screens/debugDevTools/index.js.map +1 -0
- package/lib/build/src/screens/inspector/ApduSender.d.ts +10 -0
- package/lib/build/src/screens/inspector/ApduSender.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/ApduSender.js +118 -0
- package/lib/build/src/screens/inspector/ApduSender.js.map +1 -0
- package/lib/build/src/screens/inspector/DeviceCard.d.ts +13 -0
- package/lib/build/src/screens/inspector/DeviceCard.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/DeviceCard.js +52 -0
- package/lib/build/src/screens/inspector/DeviceCard.js.map +1 -0
- package/lib/build/src/screens/inspector/DeviceDiscoverySection.d.ts +25 -0
- package/lib/build/src/screens/inspector/DeviceDiscoverySection.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/DeviceDiscoverySection.js +8 -0
- package/lib/build/src/screens/inspector/DeviceDiscoverySection.js.map +1 -0
- package/lib/build/src/screens/inspector/DiscoveredDeviceCard.d.ts +12 -0
- package/lib/build/src/screens/inspector/DiscoveredDeviceCard.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/DiscoveredDeviceCard.js +89 -0
- package/lib/build/src/screens/inspector/DiscoveredDeviceCard.js.map +1 -0
- package/lib/build/src/screens/inspector/MyLedgerProviderControl.d.ts +9 -0
- package/lib/build/src/screens/inspector/MyLedgerProviderControl.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/MyLedgerProviderControl.js +78 -0
- package/lib/build/src/screens/inspector/MyLedgerProviderControl.js.map +1 -0
- package/lib/build/src/screens/inspector/SessionsSection.d.ts +20 -0
- package/lib/build/src/screens/inspector/SessionsSection.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/SessionsSection.js +37 -0
- package/lib/build/src/screens/inspector/SessionsSection.js.map +1 -0
- package/lib/build/src/screens/inspector/index.d.ts +34 -0
- package/lib/build/src/screens/inspector/index.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/index.js +26 -0
- package/lib/build/src/screens/inspector/index.js.map +1 -0
- package/lib/build/src/screens/inspector/styles.d.ts +41 -0
- package/lib/build/src/screens/inspector/styles.d.ts.map +1 -0
- package/lib/build/src/screens/inspector/styles.js +266 -0
- package/lib/build/src/screens/inspector/styles.js.map +1 -0
- package/lib/build/src/screens/logger/FilterInput.d.ts +8 -0
- package/lib/build/src/screens/logger/FilterInput.d.ts.map +1 -0
- package/lib/build/src/screens/logger/FilterInput.js +179 -0
- package/lib/build/src/screens/logger/FilterInput.js.map +1 -0
- package/lib/build/src/screens/logger/LoggerOptions.d.ts +18 -0
- package/lib/build/src/screens/logger/LoggerOptions.d.ts.map +1 -0
- package/lib/build/src/screens/logger/LoggerOptions.js +75 -0
- package/lib/build/src/screens/logger/LoggerOptions.js.map +1 -0
- package/lib/build/src/screens/logger/LoggerToolbar.d.ts +19 -0
- package/lib/build/src/screens/logger/LoggerToolbar.d.ts.map +1 -0
- package/lib/build/src/screens/logger/LoggerToolbar.js +16 -0
- package/lib/build/src/screens/logger/LoggerToolbar.js.map +1 -0
- package/lib/build/src/screens/logger/SearchInput.d.ts +15 -0
- package/lib/build/src/screens/logger/SearchInput.d.ts.map +1 -0
- package/lib/build/src/screens/logger/SearchInput.js +93 -0
- package/lib/build/src/screens/logger/SearchInput.js.map +1 -0
- package/lib/build/src/screens/logger/filterUtils.d.ts +43 -0
- package/lib/build/src/screens/logger/filterUtils.d.ts.map +1 -0
- package/lib/build/src/screens/logger/filterUtils.js +125 -0
- package/lib/build/src/screens/logger/filterUtils.js.map +1 -0
- package/lib/build/src/screens/logger/filterUtils.test.d.ts +2 -0
- package/lib/build/src/screens/logger/filterUtils.test.d.ts.map +1 -0
- package/lib/build/src/screens/logger/filterUtils.test.js +300 -0
- package/lib/build/src/screens/logger/filterUtils.test.js.map +1 -0
- package/lib/build/src/screens/logger/index.d.ts +10 -0
- package/lib/build/src/screens/logger/index.d.ts.map +1 -0
- package/lib/build/src/screens/logger/index.js +86 -0
- package/lib/build/src/screens/logger/index.js.map +1 -0
- package/lib/build/src/screens/logger/inputStyles.d.ts +18 -0
- package/lib/build/src/screens/logger/inputStyles.d.ts.map +1 -0
- package/lib/build/src/screens/logger/inputStyles.js +46 -0
- package/lib/build/src/screens/logger/inputStyles.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/LogTableCells.d.ts +13 -0
- package/lib/build/src/screens/logger/logsTable/LogTableCells.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/LogTableCells.js +61 -0
- package/lib/build/src/screens/logger/logsTable/LogTableCells.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/ScrollDownButton.d.ts +8 -0
- package/lib/build/src/screens/logger/logsTable/ScrollDownButton.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/ScrollDownButton.js +20 -0
- package/lib/build/src/screens/logger/logsTable/ScrollDownButton.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableBody.d.ts +13 -0
- package/lib/build/src/screens/logger/logsTable/TableBody.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableBody.js +58 -0
- package/lib/build/src/screens/logger/logsTable/TableBody.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableColumns.d.ts +3 -0
- package/lib/build/src/screens/logger/logsTable/TableColumns.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableColumns.js +44 -0
- package/lib/build/src/screens/logger/logsTable/TableColumns.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableHeader.d.ts +9 -0
- package/lib/build/src/screens/logger/logsTable/TableHeader.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/TableHeader.js +53 -0
- package/lib/build/src/screens/logger/logsTable/TableHeader.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/constants.d.ts +21 -0
- package/lib/build/src/screens/logger/logsTable/constants.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/constants.js +21 -0
- package/lib/build/src/screens/logger/logsTable/constants.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/index.d.ts +11 -0
- package/lib/build/src/screens/logger/logsTable/index.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/index.js +116 -0
- package/lib/build/src/screens/logger/logsTable/index.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useColumnSizeVars.d.ts +4 -0
- package/lib/build/src/screens/logger/logsTable/useColumnSizeVars.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useColumnSizeVars.js +17 -0
- package/lib/build/src/screens/logger/logsTable/useColumnSizeVars.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useResizeObserver.d.ts +2 -0
- package/lib/build/src/screens/logger/logsTable/useResizeObserver.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useResizeObserver.js +28 -0
- package/lib/build/src/screens/logger/logsTable/useResizeObserver.js.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useScrollLogic.d.ts +12 -0
- package/lib/build/src/screens/logger/logsTable/useScrollLogic.d.ts.map +1 -0
- package/lib/build/src/screens/logger/logsTable/useScrollLogic.js +86 -0
- package/lib/build/src/screens/logger/logsTable/useScrollLogic.js.map +1 -0
- package/lib/build/src/screens/logger/mapConnectorMessageToLogData.d.ts +6 -0
- package/lib/build/src/screens/logger/mapConnectorMessageToLogData.d.ts.map +1 -0
- package/lib/build/src/screens/logger/mapConnectorMessageToLogData.js +17 -0
- package/lib/build/src/screens/logger/mapConnectorMessageToLogData.js.map +1 -0
- package/lib/build/src/screens/logger/types.d.ts +6 -0
- package/lib/build/src/screens/logger/types.d.ts.map +1 -0
- package/lib/build/src/screens/logger/types.js +2 -0
- package/lib/build/src/screens/logger/types.js.map +1 -0
- package/lib/build/src/screens/logger/useColumnSizeVars.d.ts +4 -0
- package/lib/build/src/screens/logger/useColumnSizeVars.d.ts.map +1 -0
- package/lib/build/src/screens/logger/useColumnSizeVars.js +17 -0
- package/lib/build/src/screens/logger/useColumnSizeVars.js.map +1 -0
- package/lib/build/src/screens/logger/useLogsDataAndOptions.d.ts +12 -0
- package/lib/build/src/screens/logger/useLogsDataAndOptions.d.ts.map +1 -0
- package/lib/build/src/screens/logger/useLogsDataAndOptions.js +36 -0
- package/lib/build/src/screens/logger/useLogsDataAndOptions.js.map +1 -0
- package/lib/build/src/screens/logger/useRecentFilters.d.ts +18 -0
- package/lib/build/src/screens/logger/useRecentFilters.d.ts.map +1 -0
- package/lib/build/src/screens/logger/useRecentFilters.js +96 -0
- package/lib/build/src/screens/logger/useRecentFilters.js.map +1 -0
- package/lib/build/src/screens/logger/useSearchState.d.ts +24 -0
- package/lib/build/src/screens/logger/useSearchState.d.ts.map +1 -0
- package/lib/build/src/screens/logger/useSearchState.js +74 -0
- package/lib/build/src/screens/logger/useSearchState.js.map +1 -0
- package/lib/build/src/shared/NotConnectedMessage.d.ts +9 -0
- package/lib/build/src/shared/NotConnectedMessage.d.ts.map +1 -0
- package/lib/build/src/shared/NotConnectedMessage.js +30 -0
- package/lib/build/src/shared/NotConnectedMessage.js.map +1 -0
- package/lib/build/src/shared/PluginEvents.d.ts +9 -0
- package/lib/build/src/shared/PluginEvents.d.ts.map +1 -0
- package/lib/build/src/shared/PluginEvents.js +2 -0
- package/lib/build/src/shared/PluginEvents.js.map +1 -0
- package/lib/build/tsconfig.build.tsbuildinfo +1 -0
- package/lib/cjs/index.js +2 -0
- package/lib/cjs/index.js.map +7 -0
- package/lib/cjs/package.json +73 -0
- package/lib/cjs/src/Dashboard.js +12 -0
- package/lib/cjs/src/Dashboard.js.map +7 -0
- package/lib/cjs/src/ErrorBoundary.js +2 -0
- package/lib/cjs/src/ErrorBoundary.js.map +7 -0
- package/lib/cjs/src/PluginEvents.js +2 -0
- package/lib/cjs/src/PluginEvents.js.map +7 -0
- package/lib/cjs/src/components/DashboardFooter.js +25 -0
- package/lib/cjs/src/components/DashboardFooter.js.map +7 -0
- package/lib/cjs/src/components/DashboardNavigationBar.js +64 -0
- package/lib/cjs/src/components/DashboardNavigationBar.js.map +7 -0
- package/lib/cjs/src/components/DebugDrawer.js +58 -0
- package/lib/cjs/src/components/DebugDrawer.js.map +7 -0
- package/lib/cjs/src/components/SplitView.js +37 -0
- package/lib/cjs/src/components/SplitView.js.map +7 -0
- package/lib/cjs/src/hooks/commandDispatcher.js +2 -0
- package/lib/cjs/src/hooks/commandDispatcher.js.map +7 -0
- package/lib/cjs/src/hooks/connectorMessageHandlers.js +2 -0
- package/lib/cjs/src/hooks/connectorMessageHandlers.js.map +7 -0
- package/lib/cjs/src/hooks/useConnectorMessages.js +2 -0
- package/lib/cjs/src/hooks/useConnectorMessages.js.map +7 -0
- package/lib/cjs/src/screens/debugDevTools/index.js +2 -0
- package/lib/cjs/src/screens/debugDevTools/index.js.map +7 -0
- package/lib/cjs/src/screens/inspector/ApduSender.js +79 -0
- package/lib/cjs/src/screens/inspector/ApduSender.js.map +7 -0
- package/lib/cjs/src/screens/inspector/DeviceCard.js +2 -0
- package/lib/cjs/src/screens/inspector/DeviceCard.js.map +7 -0
- package/lib/cjs/src/screens/inspector/DeviceDiscoverySection.js +2 -0
- package/lib/cjs/src/screens/inspector/DeviceDiscoverySection.js.map +7 -0
- package/lib/cjs/src/screens/inspector/DiscoveredDeviceCard.js +57 -0
- package/lib/cjs/src/screens/inspector/DiscoveredDeviceCard.js.map +7 -0
- package/lib/cjs/src/screens/inspector/MyLedgerProviderControl.js +40 -0
- package/lib/cjs/src/screens/inspector/MyLedgerProviderControl.js.map +7 -0
- package/lib/cjs/src/screens/inspector/SessionsSection.js +2 -0
- package/lib/cjs/src/screens/inspector/SessionsSection.js.map +7 -0
- package/lib/cjs/src/screens/inspector/index.js +9 -0
- package/lib/cjs/src/screens/inspector/index.js.map +7 -0
- package/lib/cjs/src/screens/inspector/styles.js +179 -0
- package/lib/cjs/src/screens/inspector/styles.js.map +7 -0
- package/lib/cjs/src/screens/logger/FilterInput.js +85 -0
- package/lib/cjs/src/screens/logger/FilterInput.js.map +7 -0
- package/lib/cjs/src/screens/logger/LoggerOptions.js +6 -0
- package/lib/cjs/src/screens/logger/LoggerOptions.js.map +7 -0
- package/lib/cjs/src/screens/logger/LoggerToolbar.js +9 -0
- package/lib/cjs/src/screens/logger/LoggerToolbar.js.map +7 -0
- package/lib/cjs/src/screens/logger/SearchInput.js +59 -0
- package/lib/cjs/src/screens/logger/SearchInput.js.map +7 -0
- package/lib/cjs/src/screens/logger/filterUtils.js +2 -0
- package/lib/cjs/src/screens/logger/filterUtils.js.map +7 -0
- package/lib/cjs/src/screens/logger/filterUtils.test.js +2 -0
- package/lib/cjs/src/screens/logger/filterUtils.test.js.map +7 -0
- package/lib/cjs/src/screens/logger/index.js +6 -0
- package/lib/cjs/src/screens/logger/index.js.map +7 -0
- package/lib/cjs/src/screens/logger/inputStyles.js +31 -0
- package/lib/cjs/src/screens/logger/inputStyles.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/LogTableCells.js +8 -0
- package/lib/cjs/src/screens/logger/logsTable/LogTableCells.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/ScrollDownButton.js +15 -0
- package/lib/cjs/src/screens/logger/logsTable/ScrollDownButton.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/TableBody.js +24 -0
- package/lib/cjs/src/screens/logger/logsTable/TableBody.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/TableColumns.js +2 -0
- package/lib/cjs/src/screens/logger/logsTable/TableColumns.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/TableHeader.js +33 -0
- package/lib/cjs/src/screens/logger/logsTable/TableHeader.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/constants.js +2 -0
- package/lib/cjs/src/screens/logger/logsTable/constants.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/index.js +26 -0
- package/lib/cjs/src/screens/logger/logsTable/index.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/useColumnSizeVars.js +2 -0
- package/lib/cjs/src/screens/logger/logsTable/useColumnSizeVars.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/useResizeObserver.js +2 -0
- package/lib/cjs/src/screens/logger/logsTable/useResizeObserver.js.map +7 -0
- package/lib/cjs/src/screens/logger/logsTable/useScrollLogic.js +2 -0
- package/lib/cjs/src/screens/logger/logsTable/useScrollLogic.js.map +7 -0
- package/lib/cjs/src/screens/logger/mapConnectorMessageToLogData.js +2 -0
- package/lib/cjs/src/screens/logger/mapConnectorMessageToLogData.js.map +7 -0
- package/lib/cjs/src/screens/logger/types.js +2 -0
- package/lib/cjs/src/screens/logger/types.js.map +7 -0
- package/lib/cjs/src/screens/logger/useColumnSizeVars.js +2 -0
- package/lib/cjs/src/screens/logger/useColumnSizeVars.js.map +7 -0
- package/lib/cjs/src/screens/logger/useLogsDataAndOptions.js +2 -0
- package/lib/cjs/src/screens/logger/useLogsDataAndOptions.js.map +7 -0
- package/lib/cjs/src/screens/logger/useRecentFilters.js +2 -0
- package/lib/cjs/src/screens/logger/useRecentFilters.js.map +7 -0
- package/lib/cjs/src/screens/logger/useSearchState.js +2 -0
- package/lib/cjs/src/screens/logger/useSearchState.js.map +7 -0
- package/lib/cjs/src/shared/NotConnectedMessage.js +24 -0
- package/lib/cjs/src/shared/NotConnectedMessage.js.map +7 -0
- package/lib/cjs/src/shared/PluginEvents.js +2 -0
- package/lib/cjs/src/shared/PluginEvents.js.map +7 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +7 -0
- package/lib/esm/package.json +73 -0
- package/lib/esm/src/Dashboard.js +12 -0
- package/lib/esm/src/Dashboard.js.map +7 -0
- package/lib/esm/src/ErrorBoundary.js +2 -0
- package/lib/esm/src/ErrorBoundary.js.map +7 -0
- package/lib/esm/src/PluginEvents.js +1 -0
- package/lib/esm/src/PluginEvents.js.map +7 -0
- package/lib/esm/src/components/DashboardFooter.js +25 -0
- package/lib/esm/src/components/DashboardFooter.js.map +7 -0
- package/lib/esm/src/components/DashboardNavigationBar.js +64 -0
- package/lib/esm/src/components/DashboardNavigationBar.js.map +7 -0
- package/lib/esm/src/components/DebugDrawer.js +58 -0
- package/lib/esm/src/components/DebugDrawer.js.map +7 -0
- package/lib/esm/src/components/SplitView.js +37 -0
- package/lib/esm/src/components/SplitView.js.map +7 -0
- package/lib/esm/src/hooks/commandDispatcher.js +2 -0
- package/lib/esm/src/hooks/commandDispatcher.js.map +7 -0
- package/lib/esm/src/hooks/connectorMessageHandlers.js +2 -0
- package/lib/esm/src/hooks/connectorMessageHandlers.js.map +7 -0
- package/lib/esm/src/hooks/useConnectorMessages.js +2 -0
- package/lib/esm/src/hooks/useConnectorMessages.js.map +7 -0
- package/lib/esm/src/screens/debugDevTools/index.js +2 -0
- package/lib/esm/src/screens/debugDevTools/index.js.map +7 -0
- package/lib/esm/src/screens/inspector/ApduSender.js +79 -0
- package/lib/esm/src/screens/inspector/ApduSender.js.map +7 -0
- package/lib/esm/src/screens/inspector/DeviceCard.js +2 -0
- package/lib/esm/src/screens/inspector/DeviceCard.js.map +7 -0
- package/lib/esm/src/screens/inspector/DeviceDiscoverySection.js +2 -0
- package/lib/esm/src/screens/inspector/DeviceDiscoverySection.js.map +7 -0
- package/lib/esm/src/screens/inspector/DiscoveredDeviceCard.js +57 -0
- package/lib/esm/src/screens/inspector/DiscoveredDeviceCard.js.map +7 -0
- package/lib/esm/src/screens/inspector/MyLedgerProviderControl.js +40 -0
- package/lib/esm/src/screens/inspector/MyLedgerProviderControl.js.map +7 -0
- package/lib/esm/src/screens/inspector/SessionsSection.js +2 -0
- package/lib/esm/src/screens/inspector/SessionsSection.js.map +7 -0
- package/lib/esm/src/screens/inspector/index.js +9 -0
- package/lib/esm/src/screens/inspector/index.js.map +7 -0
- package/lib/esm/src/screens/inspector/styles.js +179 -0
- package/lib/esm/src/screens/inspector/styles.js.map +7 -0
- package/lib/esm/src/screens/logger/FilterInput.js +85 -0
- package/lib/esm/src/screens/logger/FilterInput.js.map +7 -0
- package/lib/esm/src/screens/logger/LoggerOptions.js +6 -0
- package/lib/esm/src/screens/logger/LoggerOptions.js.map +7 -0
- package/lib/esm/src/screens/logger/LoggerToolbar.js +9 -0
- package/lib/esm/src/screens/logger/LoggerToolbar.js.map +7 -0
- package/lib/esm/src/screens/logger/SearchInput.js +59 -0
- package/lib/esm/src/screens/logger/SearchInput.js.map +7 -0
- package/lib/esm/src/screens/logger/filterUtils.js +2 -0
- package/lib/esm/src/screens/logger/filterUtils.js.map +7 -0
- package/lib/esm/src/screens/logger/filterUtils.test.js +2 -0
- package/lib/esm/src/screens/logger/filterUtils.test.js.map +7 -0
- package/lib/esm/src/screens/logger/index.js +6 -0
- package/lib/esm/src/screens/logger/index.js.map +7 -0
- package/lib/esm/src/screens/logger/inputStyles.js +31 -0
- package/lib/esm/src/screens/logger/inputStyles.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/LogTableCells.js +8 -0
- package/lib/esm/src/screens/logger/logsTable/LogTableCells.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/ScrollDownButton.js +15 -0
- package/lib/esm/src/screens/logger/logsTable/ScrollDownButton.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/TableBody.js +24 -0
- package/lib/esm/src/screens/logger/logsTable/TableBody.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/TableColumns.js +2 -0
- package/lib/esm/src/screens/logger/logsTable/TableColumns.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/TableHeader.js +33 -0
- package/lib/esm/src/screens/logger/logsTable/TableHeader.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/constants.js +2 -0
- package/lib/esm/src/screens/logger/logsTable/constants.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/index.js +26 -0
- package/lib/esm/src/screens/logger/logsTable/index.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/useColumnSizeVars.js +2 -0
- package/lib/esm/src/screens/logger/logsTable/useColumnSizeVars.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/useResizeObserver.js +2 -0
- package/lib/esm/src/screens/logger/logsTable/useResizeObserver.js.map +7 -0
- package/lib/esm/src/screens/logger/logsTable/useScrollLogic.js +2 -0
- package/lib/esm/src/screens/logger/logsTable/useScrollLogic.js.map +7 -0
- package/lib/esm/src/screens/logger/mapConnectorMessageToLogData.js +2 -0
- package/lib/esm/src/screens/logger/mapConnectorMessageToLogData.js.map +7 -0
- package/lib/esm/src/screens/logger/types.js +1 -0
- package/lib/esm/src/screens/logger/types.js.map +7 -0
- package/lib/esm/src/screens/logger/useColumnSizeVars.js +2 -0
- package/lib/esm/src/screens/logger/useColumnSizeVars.js.map +7 -0
- package/lib/esm/src/screens/logger/useLogsDataAndOptions.js +2 -0
- package/lib/esm/src/screens/logger/useLogsDataAndOptions.js.map +7 -0
- package/lib/esm/src/screens/logger/useRecentFilters.js +2 -0
- package/lib/esm/src/screens/logger/useRecentFilters.js.map +7 -0
- package/lib/esm/src/screens/logger/useSearchState.js +2 -0
- package/lib/esm/src/screens/logger/useSearchState.js.map +7 -0
- package/lib/esm/src/shared/NotConnectedMessage.js +24 -0
- package/lib/esm/src/shared/NotConnectedMessage.js.map +7 -0
- package/lib/esm/src/shared/PluginEvents.js +1 -0
- package/lib/esm/src/shared/PluginEvents.js.map +7 -0
- package/package.json +73 -0
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var e=Object.prototype.hasOwnProperty;var f=(a,r)=>{for(var d in r)h(a,d,{get:r[d],enumerable:!0})},i=(a,r,d,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of D(r))!e.call(a,o)&&o!==d&&h(a,o,{get:()=>r[o],enumerable:!(s=t(r,o))||s.enumerable});return a};var m=a=>i(h({},"__esModule",{value:!0}),a);var n={};f(n,{Dashboard:()=>b.DashboardWithErrorBoundary});module.exports=m(n);var b=require("./src/Dashboard");0&&(module.exports={Dashboard});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../index.ts"],
|
|
4
|
+
"sourcesContent": ["export { DashboardWithErrorBoundary as Dashboard } from \"./src/Dashboard\";\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6DAAAE,EAAAF,GAAA,IAAAG,EAAwD",
|
|
6
|
+
"names": ["index_exports", "__export", "__toCommonJS", "import_Dashboard"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"dependencies": {
|
|
3
|
+
"@ledgerhq/react-ui": "catalog:",
|
|
4
|
+
"@tanstack/react-table": "8.20.5",
|
|
5
|
+
"@tanstack/react-virtual": "3.10.8",
|
|
6
|
+
"antd": "5.20.0",
|
|
7
|
+
"react-inspector": "9.0.0",
|
|
8
|
+
"react-resizable-panels": "^4.4.1",
|
|
9
|
+
"rxjs": "catalog:",
|
|
10
|
+
"styled-components": "catalog:"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@ledgerhq/device-management-kit": "workspace:^",
|
|
14
|
+
"@ledgerhq/device-management-kit-devtools-core": "workspace:^",
|
|
15
|
+
"@ledgerhq/eslint-config-dsdk": "workspace:^",
|
|
16
|
+
"@ledgerhq/ldmk-tool": "workspace:^",
|
|
17
|
+
"@ledgerhq/prettier-config-dsdk": "workspace:^",
|
|
18
|
+
"@ledgerhq/tsconfig-dsdk": "workspace:^",
|
|
19
|
+
"@ledgerhq/vitest-config-dmk": "workspace:^",
|
|
20
|
+
"@types/react": "catalog:",
|
|
21
|
+
"@types/react-dom": "catalog:",
|
|
22
|
+
"@types/styled-components": "catalog:",
|
|
23
|
+
"@types/styled-system": "^5.1.15",
|
|
24
|
+
"react": "catalog:",
|
|
25
|
+
"react-dom": "catalog:"
|
|
26
|
+
},
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"import": "./lib/esm/index.js",
|
|
30
|
+
"require": "./lib/cjs/index.js",
|
|
31
|
+
"types": "./lib/types/index.d.ts"
|
|
32
|
+
},
|
|
33
|
+
"./*": {
|
|
34
|
+
"import": "./lib/esm/*",
|
|
35
|
+
"require": "./lib/cjs/*",
|
|
36
|
+
"types": "./lib/types/*"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"./lib"
|
|
41
|
+
],
|
|
42
|
+
"license": "Apache-2.0",
|
|
43
|
+
"main": "lib/index.js",
|
|
44
|
+
"name": "@ledgerhq/device-management-kit-devtools-ui",
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@ledgerhq/device-management-kit": "^1.2.0",
|
|
47
|
+
"@ledgerhq/device-management-kit-devtools-core": "workspace:^",
|
|
48
|
+
"react": "catalog:",
|
|
49
|
+
"react-dom": "catalog:"
|
|
50
|
+
},
|
|
51
|
+
"private": false,
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": "https://github.com/LedgerHQ/device-sdk-ts.git"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "pnpm ldmk-tool build --entryPoints index.ts,src/*.tsx,src/*.ts,src/**/*.tsx,src/**/*.ts --tsconfig tsconfig.build.json",
|
|
58
|
+
"dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
|
|
59
|
+
"lint": "eslint",
|
|
60
|
+
"lint:fix": "pnpm lint --fix",
|
|
61
|
+
"prebuild": "rimraf lib",
|
|
62
|
+
"prettier": "prettier . --check",
|
|
63
|
+
"prettier:fix": "prettier . --write",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"test:coverage": "vitest run --coverage",
|
|
66
|
+
"test:watch": "vitest",
|
|
67
|
+
"typecheck": "tsc --noEmit",
|
|
68
|
+
"watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/*.tsx,src/*.ts,src/**/*.tsx,src/**/*.ts --tsconfig tsconfig.build.json",
|
|
69
|
+
"watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
|
|
70
|
+
},
|
|
71
|
+
"types": "lib/index.d.ts",
|
|
72
|
+
"version": "1.1.1"
|
|
73
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";var J=Object.create;var a=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(e,r)=>{for(var s in r)a(e,s,{get:r[s],enumerable:!0})},C=(e,r,s,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of Q(r))!X.call(e,t)&&t!==s&&a(e,t,{get:()=>r[t],enumerable:!(i=K(r,t))||i.enumerable});return e};var Z=(e,r,s)=>(s=e!=null?J(U(e)):{},C(r||!e||!e.__esModule?a(s,"default",{value:e,enumerable:!0}):s,e)),_=e=>C(a({},"__esModule",{value:!0}),e);var re={};Y(re,{DashboardWithErrorBoundary:()=>oe});module.exports=_(re);var l=require("react"),b=require("@ledgerhq/react-ui/styles/index"),v=Z(require("styled-components")),S=require("./components/DashboardFooter"),n=require("./components/DashboardNavigationBar"),y=require("./components/DebugDrawer"),p=require("./components/SplitView"),L=require("./hooks/useConnectorMessages"),M=require("./screens/inspector"),P=require("./screens/logger"),A=require("./ErrorBoundary"),o=require("react/jsx-runtime");const $=v.default.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
height: 100vh;
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
`,j=v.default.div`
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
flex: 1;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
`,ee=({connector:e})=>{const{receivedMessages:r,sentMessages:s,logs:i,connectedDevices:t,sessionStates:w,discoveredDevices:x,isListening:B,isActivelyDiscovering:I,isLoggerConnected:u,isInspectorConnected:f,providerValue:O,apduResponses:R,sendMessage:m,clearLogs:V,startListening:E,stopListening:z,startDiscovering:F,stopDiscovering:H,connectDevice:N,getProvider:T,setProvider:W,sendApdu:k}=(0,L.useConnectorMessages)(e),[D,q]=(0,l.useState)(n.DashboardScreen.logs),[d,h]=(0,l.useState)(!1),c=(0,o.jsx)(P.Logger,{logs:i,clearLogs:V,isConnected:u}),g=(0,o.jsx)(M.Inspector,{devices:t,sessionStates:w,discoveredDevices:x,isListening:B,isActivelyDiscovering:I,sendMessage:m,isConnected:f,startListening:E,stopListening:z,startDiscovering:F,stopDiscovering:H,connectDevice:N,providerValue:O,getProvider:T,setProvider:W,sendApdu:k,apduResponses:R}),G=(()=>{switch(D){case n.DashboardScreen.logs:return c;case n.DashboardScreen.inspector:return g;case n.DashboardScreen.splitHorizontal:return(0,o.jsx)(p.SplitView,{direction:"horizontal",first:c,second:g});case n.DashboardScreen.splitVertical:return(0,o.jsx)(p.SplitView,{direction:"vertical",first:c,second:g});default:return c}})();return(0,o.jsxs)($,{children:[(0,o.jsx)(n.DashboardNavigationBar,{currentScreen:D,onScreenChange:q,isLoggerConnected:u,isInspectorConnected:f}),(0,o.jsx)(j,{children:G}),(0,o.jsx)(S.DashboardFooter,{isDebugOpen:d,onToggleDebug:()=>h(!d)}),(0,o.jsx)(y.DebugDrawer,{isOpen:d,onClose:()=>h(!1),sentMessages:s,receivedMessages:r,sendMessage:m})]})};function oe({connector:e}){return(0,o.jsx)(A.ErrorBoundary,{children:(0,o.jsx)(b.StyleProvider,{selectedPalette:"light",children:(0,o.jsx)(ee,{connector:e})})})}0&&(module.exports={DashboardWithErrorBoundary});
|
|
12
|
+
//# sourceMappingURL=Dashboard.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Dashboard.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState } from \"react\";\nimport { type Connector } from \"@ledgerhq/device-management-kit-devtools-core\";\nimport { StyleProvider } from \"@ledgerhq/react-ui/styles/index\";\nimport styled from \"styled-components\";\n\nimport { DashboardFooter } from \"./components/DashboardFooter\";\nimport {\n DashboardNavigationBar,\n DashboardScreen,\n} from \"./components/DashboardNavigationBar\";\nimport { DebugDrawer } from \"./components/DebugDrawer\";\nimport { SplitView } from \"./components/SplitView\";\nimport { useConnectorMessages } from \"./hooks/useConnectorMessages\";\nimport { Inspector } from \"./screens/inspector\";\nimport { Logger } from \"./screens/logger\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\n\nconst DashboardContainer = styled.div`\n display: flex;\n flex-direction: column;\n height: 100vh;\n overflow: hidden;\n`;\n\nconst ContentArea = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n`;\n\nconst Dashboard: React.FC<{ connector: Connector }> = ({ connector }) => {\n const {\n receivedMessages,\n sentMessages,\n logs,\n connectedDevices,\n sessionStates,\n discoveredDevices,\n isListening,\n isActivelyDiscovering,\n isLoggerConnected,\n isInspectorConnected,\n providerValue,\n apduResponses,\n sendMessage,\n clearLogs,\n startListening,\n stopListening,\n startDiscovering,\n stopDiscovering,\n connectDevice,\n getProvider,\n setProvider,\n sendApdu,\n } = useConnectorMessages(connector);\n\n const [currentScreen, setCurrentScreen] = useState<DashboardScreen>(\n DashboardScreen.logs,\n );\n const [isDebugOpen, setIsDebugOpen] = useState(false);\n\n const logger = (\n <Logger logs={logs} clearLogs={clearLogs} isConnected={isLoggerConnected} />\n );\n\n const inspector = (\n <Inspector\n devices={connectedDevices}\n sessionStates={sessionStates}\n discoveredDevices={discoveredDevices}\n isListening={isListening}\n isActivelyDiscovering={isActivelyDiscovering}\n sendMessage={sendMessage}\n isConnected={isInspectorConnected}\n startListening={startListening}\n stopListening={stopListening}\n startDiscovering={startDiscovering}\n stopDiscovering={stopDiscovering}\n connectDevice={connectDevice}\n providerValue={providerValue}\n getProvider={getProvider}\n setProvider={setProvider}\n sendApdu={sendApdu}\n apduResponses={apduResponses}\n />\n );\n\n const content = (() => {\n switch (currentScreen) {\n case DashboardScreen.logs:\n return logger;\n case DashboardScreen.inspector:\n return inspector;\n case DashboardScreen.splitHorizontal:\n return (\n <SplitView direction=\"horizontal\" first={logger} second={inspector} />\n );\n case DashboardScreen.splitVertical:\n return (\n <SplitView direction=\"vertical\" first={logger} second={inspector} />\n );\n default:\n return logger;\n }\n })();\n\n return (\n <DashboardContainer>\n <DashboardNavigationBar\n currentScreen={currentScreen}\n onScreenChange={setCurrentScreen}\n isLoggerConnected={isLoggerConnected}\n isInspectorConnected={isInspectorConnected}\n />\n <ContentArea>{content}</ContentArea>\n <DashboardFooter\n isDebugOpen={isDebugOpen}\n onToggleDebug={() => setIsDebugOpen(!isDebugOpen)}\n />\n <DebugDrawer\n isOpen={isDebugOpen}\n onClose={() => setIsDebugOpen(false)}\n sentMessages={sentMessages}\n receivedMessages={receivedMessages}\n sendMessage={sendMessage}\n />\n </DashboardContainer>\n );\n};\n\nexport function DashboardWithErrorBoundary({\n connector,\n}: {\n connector: Connector;\n}) {\n return (\n <ErrorBoundary>\n <StyleProvider selectedPalette=\"light\">\n <Dashboard connector={connector} />\n </StyleProvider>\n </ErrorBoundary>\n );\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,GAAA,GAAAC,EAAAD,GAAA,gCAAAE,KAAA,eAAAC,EAAAH,IAAA,IAAAI,EAAgC,iBAEhCC,EAA8B,2CAC9BC,EAAmB,gCAEnBC,EAAgC,wCAChCC,EAGO,+CACPC,EAA4B,oCAC5BC,EAA0B,kCAC1BC,EAAqC,wCACrCC,EAA0B,+BAC1BC,EAAuB,4BACvBC,EAA8B,2BAgD1BC,EAAA,6BA9CJ,MAAMC,EAAqB,EAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BC,EAAc,EAAAD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOrBE,GAAgD,CAAC,CAAE,UAAAC,CAAU,IAAM,CACvE,KAAM,CACJ,iBAAAC,EACA,aAAAC,EACA,KAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,YAAAC,EACA,sBAAAC,EACA,kBAAAC,EACA,qBAAAC,EACA,cAAAC,EACA,cAAAC,EACA,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,CACF,KAAI,wBAAqBtB,CAAS,EAE5B,CAACuB,EAAeC,CAAgB,KAAI,YACxC,kBAAgB,IAClB,EACM,CAACC,EAAaC,CAAc,KAAI,YAAS,EAAK,EAE9CC,KACJ,OAAC,UAAO,KAAMxB,EAAM,UAAWW,EAAW,YAAaL,EAAmB,EAGtEmB,KACJ,OAAC,aACC,QAASxB,EACT,cAAeC,EACf,kBAAmBC,EACnB,YAAaC,EACb,sBAAuBC,EACvB,YAAaK,EACb,YAAaH,EACb,eAAgBK,EAChB,cAAeC,EACf,iBAAkBC,EAClB,gBAAiBC,EACjB,cAAeC,EACf,cAAeR,EACf,YAAaS,EACb,YAAaC,EACb,SAAUC,EACV,cAAeV,EACjB,EAGIiB,GAAW,IAAM,CACrB,OAAQN,EAAe,CACrB,KAAK,kBAAgB,KACnB,OAAOI,EACT,KAAK,kBAAgB,UACnB,OAAOC,EACT,KAAK,kBAAgB,gBACnB,SACE,OAAC,aAAU,UAAU,aAAa,MAAOD,EAAQ,OAAQC,EAAW,EAExE,KAAK,kBAAgB,cACnB,SACE,OAAC,aAAU,UAAU,WAAW,MAAOD,EAAQ,OAAQC,EAAW,EAEtE,QACE,OAAOD,CACX,CACF,GAAG,EAEH,SACE,QAAC/B,EAAA,CACC,oBAAC,0BACC,cAAe2B,EACf,eAAgBC,EAChB,kBAAmBf,EACnB,qBAAsBC,EACxB,KACA,OAACZ,EAAA,CAAa,SAAA+B,EAAQ,KACtB,OAAC,mBACC,YAAaJ,EACb,cAAe,IAAMC,EAAe,CAACD,CAAW,EAClD,KACA,OAAC,eACC,OAAQA,EACR,QAAS,IAAMC,EAAe,EAAK,EACnC,aAAcxB,EACd,iBAAkBD,EAClB,YAAaY,EACf,GACF,CAEJ,EAEO,SAAS/B,GAA2B,CACzC,UAAAkB,CACF,EAEG,CACD,SACE,OAAC,iBACC,mBAAC,iBAAc,gBAAgB,QAC7B,mBAACD,GAAA,CAAU,UAAWC,EAAW,EACnC,EACF,CAEJ",
|
|
6
|
+
"names": ["Dashboard_exports", "__export", "DashboardWithErrorBoundary", "__toCommonJS", "import_react", "import_styles", "import_styled_components", "import_DashboardFooter", "import_DashboardNavigationBar", "import_DebugDrawer", "import_SplitView", "import_useConnectorMessages", "import_inspector", "import_logger", "import_ErrorBoundary", "import_jsx_runtime", "DashboardContainer", "styled", "ContentArea", "Dashboard", "connector", "receivedMessages", "sentMessages", "logs", "connectedDevices", "sessionStates", "discoveredDevices", "isListening", "isActivelyDiscovering", "isLoggerConnected", "isInspectorConnected", "providerValue", "apduResponses", "sendMessage", "clearLogs", "startListening", "stopListening", "startDiscovering", "stopDiscovering", "connectDevice", "getProvider", "setProvider", "sendApdu", "currentScreen", "setCurrentScreen", "isDebugOpen", "setIsDebugOpen", "logger", "inspector", "content"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var E=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},h=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of c(e))!u.call(r,s)&&s!==t&&a(r,s,{get:()=>e[s],enumerable:!(i=p(e,s))||i.enumerable});return r};var f=(r,e,t)=>(t=r!=null?l(d(r)):{},h(e||!r||!r.__esModule?a(t,"default",{value:r,enumerable:!0}):t,r)),y=r=>h(a({},"__esModule",{value:!0}),r);var v={};E(v,{ErrorBoundary:()=>m});module.exports=y(v);var n=f(require("react")),o=require("react/jsx-runtime");class m extends n.default.Component{constructor(e){super(e),this.state={hasError:!1}}componentDidCatch(e,t){this.setState({hasError:!0,error:e})}reset(){this.setState({hasError:!1})}render(){return this.state.hasError?(console.log("rendering error boundary",this.state.error),(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100vh"},children:[(0,o.jsx)("button",{onClick:()=>this.reset(),children:"Retry"}),(0,o.jsx)("pre",{children:this.state.error.message}),(0,o.jsx)("pre",{children:this.state.error.stack})]})):this.props.children}}0&&(module.exports={ErrorBoundary});
|
|
2
|
+
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ErrorBoundary.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\n\ntype State =\n | {\n hasError: true;\n error: Error;\n }\n | {\n hasError: false;\n };\n\nexport class ErrorBoundary extends React.Component<\n React.PropsWithChildren,\n State\n> {\n constructor(props: React.PropsWithChildren) {\n super(props);\n this.state = { hasError: false };\n }\n\n override componentDidCatch(error: Error, _info: React.ErrorInfo) {\n this.setState({ hasError: true, error: error });\n }\n\n reset() {\n this.setState({ hasError: false });\n }\n\n override render() {\n if (this.state.hasError) {\n console.log(\"rendering error boundary\", this.state.error);\n // You can render any custom fallback UI\n return (\n <div\n style={{ display: \"flex\", flexDirection: \"column\", height: \"100vh\" }}\n >\n <button onClick={() => this.reset()}>Retry</button>\n <pre>{this.state.error.message}</pre>\n <pre>{this.state.error.stack}</pre>\n </div>\n );\n }\n\n return this.props.children;\n }\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAiCVC,EAAA,6BAtBD,MAAMH,UAAsB,EAAAI,QAAM,SAGvC,CACA,YAAYC,EAAgC,CAC1C,MAAMA,CAAK,EACX,KAAK,MAAQ,CAAE,SAAU,EAAM,CACjC,CAES,kBAAkBC,EAAcC,EAAwB,CAC/D,KAAK,SAAS,CAAE,SAAU,GAAM,MAAOD,CAAM,CAAC,CAChD,CAEA,OAAQ,CACN,KAAK,SAAS,CAAE,SAAU,EAAM,CAAC,CACnC,CAES,QAAS,CAChB,OAAI,KAAK,MAAM,UACb,QAAQ,IAAI,2BAA4B,KAAK,MAAM,KAAK,KAGtD,QAAC,OACC,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,OAAQ,OAAQ,EAEnE,oBAAC,UAAO,QAAS,IAAM,KAAK,MAAM,EAAG,iBAAK,KAC1C,OAAC,OAAK,cAAK,MAAM,MAAM,QAAQ,KAC/B,OAAC,OAAK,cAAK,MAAM,MAAM,MAAM,GAC/B,GAIG,KAAK,MAAM,QACpB,CACF",
|
|
6
|
+
"names": ["ErrorBoundary_exports", "__export", "ErrorBoundary", "__toCommonJS", "import_react", "import_jsx_runtime", "React", "props", "error", "_info"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var g=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var p=(n,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of a(e))!o.call(n,s)&&s!==i&&g(n,s,{get:()=>e[s],enumerable:!(t=r(e,s))||t.enumerable});return n};var d=n=>p(g({},"__esModule",{value:!0}),n);var x={};module.exports=d(x);
|
|
2
|
+
//# sourceMappingURL=PluginEvents.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/PluginEvents.ts"],
|
|
4
|
+
"sourcesContent": ["export type Message = {\n type: string;\n payload: string;\n};\n\nexport interface PluginEvents extends Record<string, unknown> {\n init: string;\n message: Message;\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
|
+
"names": ["PluginEvents_exports", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";var s=Object.create;var t=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty;var u=(o,e)=>{for(var r in e)t(o,r,{get:e[r],enumerable:!0})},i=(o,e,r,f)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!c.call(o,n)&&n!==r&&t(o,n,{get:()=>e[n],enumerable:!(f=b(e,n))||f.enumerable});return o};var g=(o,e,r)=>(r=o!=null?s(l(o)):{},i(e||!o||!o.__esModule?t(r,"default",{value:o,enumerable:!0}):r,o)),x=o=>i(t({},"__esModule",{value:!0}),o);var h={};u(h,{DashboardFooter:()=>F});module.exports=x(h);var d=g(require("styled-components")),a=require("react/jsx-runtime");const D=d.default.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: flex-end;
|
|
6
|
+
padding: 6px 12px;
|
|
7
|
+
background: #f0f0f0;
|
|
8
|
+
border-top: 1px solid #ddd;
|
|
9
|
+
flex-shrink: 0;
|
|
10
|
+
`,$=d.default.button`
|
|
11
|
+
padding: 4px 10px;
|
|
12
|
+
border: 1px solid ${({$isOpen:o})=>o?"#ff9800":"#bbb"};
|
|
13
|
+
border-radius: 4px;
|
|
14
|
+
background: ${({$isOpen:o})=>o?"#fff3e0":"#fafafa"};
|
|
15
|
+
color: ${({$isOpen:o})=>o?"#e65100":"#666"};
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
cursor: pointer;
|
|
18
|
+
transition: all 0.15s ease;
|
|
19
|
+
|
|
20
|
+
&:hover {
|
|
21
|
+
background: ${({$isOpen:o})=>o?"#ffe0b2":"#f0f0f0"};
|
|
22
|
+
border-color: ${({$isOpen:o})=>o?"#ff9800":"#999"};
|
|
23
|
+
}
|
|
24
|
+
`,F=({isDebugOpen:o,onToggleDebug:e})=>(0,a.jsx)(D,{children:(0,a.jsx)($,{$isOpen:o,onClick:e,children:o?"Close Debug Panel":"Debug DevTools"})});0&&(module.exports={DashboardFooter});
|
|
25
|
+
//# sourceMappingURL=DashboardFooter.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/DashboardFooter.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\n\nconst FooterContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 6px 12px;\n background: #f0f0f0;\n border-top: 1px solid #ddd;\n flex-shrink: 0;\n`;\n\nconst DebugButton = styled.button<{ $isOpen: boolean }>`\n padding: 4px 10px;\n border: 1px solid ${({ $isOpen }) => ($isOpen ? \"#ff9800\" : \"#bbb\")};\n border-radius: 4px;\n background: ${({ $isOpen }) => ($isOpen ? \"#fff3e0\" : \"#fafafa\")};\n color: ${({ $isOpen }) => ($isOpen ? \"#e65100\" : \"#666\")};\n font-size: 12px;\n cursor: pointer;\n transition: all 0.15s ease;\n\n &:hover {\n background: ${({ $isOpen }) => ($isOpen ? \"#ffe0b2\" : \"#f0f0f0\")};\n border-color: ${({ $isOpen }) => ($isOpen ? \"#ff9800\" : \"#999\")};\n }\n`;\n\ntype DashboardFooterProps = {\n isDebugOpen: boolean;\n onToggleDebug: () => void;\n};\n\nexport const DashboardFooter: React.FC<DashboardFooterProps> = ({\n isDebugOpen,\n onToggleDebug,\n}) => {\n return (\n <FooterContainer>\n <DebugButton $isOpen={isDebugOpen} onClick={onToggleDebug}>\n {isDebugOpen ? \"Close Debug Panel\" : \"Debug DevTools\"}\n </DebugButton>\n </FooterContainer>\n );\n};\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAmB,gCAwCbC,EAAA,6BAtCN,MAAMC,EAAkB,EAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWzBC,EAAc,EAAAD,QAAO;AAAA;AAAA,sBAEL,CAAC,CAAE,QAAAE,CAAQ,IAAOA,EAAU,UAAY,MAAO;AAAA;AAAA,gBAErD,CAAC,CAAE,QAAAA,CAAQ,IAAOA,EAAU,UAAY,SAAU;AAAA,WACvD,CAAC,CAAE,QAAAA,CAAQ,IAAOA,EAAU,UAAY,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMxC,CAAC,CAAE,QAAAA,CAAQ,IAAOA,EAAU,UAAY,SAAU;AAAA,oBAChD,CAAC,CAAE,QAAAA,CAAQ,IAAOA,EAAU,UAAY,MAAO;AAAA;AAAA,EAStDP,EAAkD,CAAC,CAC9D,YAAAQ,EACA,cAAAC,CACF,OAEI,OAACL,EAAA,CACC,mBAACE,EAAA,CAAY,QAASE,EAAa,QAASC,EACzC,SAAAD,EAAc,oBAAsB,iBACvC,EACF",
|
|
6
|
+
"names": ["DashboardFooter_exports", "__export", "DashboardFooter", "__toCommonJS", "import_styled_components", "import_jsx_runtime", "FooterContainer", "styled", "DebugButton", "$isOpen", "isDebugOpen", "onToggleDebug"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";var h=Object.create;var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var $=(o,i)=>{for(var e in i)l(o,e,{get:i[e],enumerable:!0})},s=(o,i,e,a)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of f(i))!u.call(o,r)&&r!==e&&l(o,r,{get:()=>i[r],enumerable:!(a=x(i,r))||a.enumerable});return o};var w=(o,i,e)=>(e=o!=null?h(v(o)):{},s(i||!o||!o.__esModule?l(e,"default",{value:o,enumerable:!0}):e,o)),y=o=>s(l({},"__esModule",{value:!0}),o);var D={};$(D,{DashboardNavigationBar:()=>N,DashboardScreen:()=>g});module.exports=y(D);var n=w(require("styled-components")),t=require("react/jsx-runtime"),g=(r=>(r.logs="logs",r.inspector="inspector",r.splitHorizontal="splitHorizontal",r.splitVertical="splitVertical",r))(g||{});const k=n.default.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 8px;
|
|
6
|
+
padding: 8px 12px;
|
|
7
|
+
background: #f8f8f8;
|
|
8
|
+
border-bottom: 1px solid #e0e0e0;
|
|
9
|
+
flex-shrink: 0;
|
|
10
|
+
`,d=n.default.div`
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
align-items: center;
|
|
14
|
+
gap: 4px;
|
|
15
|
+
`,m=n.default.div`
|
|
16
|
+
width: 1px;
|
|
17
|
+
height: 24px;
|
|
18
|
+
background: #ddd;
|
|
19
|
+
margin: 0 8px;
|
|
20
|
+
`,c=n.default.button`
|
|
21
|
+
padding: 6px 12px;
|
|
22
|
+
border: 1px solid ${({$isActive:o})=>o?"#2196F3":"#ddd"};
|
|
23
|
+
border-radius: 4px;
|
|
24
|
+
background: ${({$isActive:o})=>o?"#e3f2fd":"white"};
|
|
25
|
+
color: ${({$isActive:o})=>o?"#1976d2":"#333"};
|
|
26
|
+
font-weight: ${({$isActive:o})=>o?"600":"normal"};
|
|
27
|
+
font-size: 13px;
|
|
28
|
+
cursor: pointer;
|
|
29
|
+
opacity: ${({$isConnected:o})=>o===!1?.5:1};
|
|
30
|
+
transition: all 0.15s ease;
|
|
31
|
+
|
|
32
|
+
&:hover {
|
|
33
|
+
background: ${({$isActive:o})=>o?"#e3f2fd":"#f5f5f5"};
|
|
34
|
+
border-color: ${({$isActive:o})=>o?"#2196F3":"#bbb"};
|
|
35
|
+
}
|
|
36
|
+
`,p=n.default.button`
|
|
37
|
+
padding: 6px 8px;
|
|
38
|
+
border: 1px solid ${({$isActive:o})=>o?"#2196F3":"#ddd"};
|
|
39
|
+
border-radius: 4px;
|
|
40
|
+
background: ${({$isActive:o})=>o?"#e3f2fd":"white"};
|
|
41
|
+
color: ${({$isActive:o})=>o?"#1976d2":"#666"};
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
transition: all 0.15s ease;
|
|
47
|
+
|
|
48
|
+
&:hover {
|
|
49
|
+
background: ${({$isActive:o})=>o?"#e3f2fd":"#f5f5f5"};
|
|
50
|
+
border-color: ${({$isActive:o})=>o?"#2196F3":"#bbb"};
|
|
51
|
+
}
|
|
52
|
+
`,b=n.default.span`
|
|
53
|
+
display: inline-block;
|
|
54
|
+
width: 8px;
|
|
55
|
+
height: 8px;
|
|
56
|
+
border-radius: 50%;
|
|
57
|
+
background: ${({$connected:o})=>o?"#4CAF50":"#ff9800"};
|
|
58
|
+
margin-right: 6px;
|
|
59
|
+
`,C=n.default.span`
|
|
60
|
+
font-size: 12px;
|
|
61
|
+
color: #666;
|
|
62
|
+
margin-right: 4px;
|
|
63
|
+
`,S=()=>(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"12",height:"5",rx:"1",opacity:"0.6"}),(0,t.jsx)("rect",{x:"2",y:"9",width:"12",height:"5",rx:"1"})]}),B=()=>(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"5",height:"12",rx:"1",opacity:"0.6"}),(0,t.jsx)("rect",{x:"9",y:"2",width:"5",height:"12",rx:"1"})]}),N=({currentScreen:o,onScreenChange:i,isLoggerConnected:e,isInspectorConnected:a})=>(0,t.jsxs)(k,{children:[(0,t.jsxs)(d,{children:[(0,t.jsxs)(c,{$isActive:o==="logs",$isConnected:e,onClick:()=>i("logs"),children:[(0,t.jsx)(b,{$connected:e}),"Logger"]}),(0,t.jsxs)(c,{$isActive:o==="inspector",$isConnected:a,onClick:()=>i("inspector"),children:[(0,t.jsx)(b,{$connected:a}),"Inspector"]})]}),(0,t.jsx)(m,{}),(0,t.jsxs)(d,{children:[(0,t.jsx)(C,{children:"Split:"}),(0,t.jsx)(p,{$isActive:o==="splitHorizontal",onClick:()=>i("splitHorizontal"),title:"Split Horizontal (top/bottom)",children:(0,t.jsx)(S,{})}),(0,t.jsx)(p,{$isActive:o==="splitVertical",onClick:()=>i("splitVertical"),title:"Split Vertical (left/right)",children:(0,t.jsx)(B,{})})]})]});0&&(module.exports={DashboardNavigationBar,DashboardScreen});
|
|
64
|
+
//# sourceMappingURL=DashboardNavigationBar.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/DashboardNavigationBar.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\n\nexport enum DashboardScreen {\n logs = \"logs\",\n inspector = \"inspector\",\n splitHorizontal = \"splitHorizontal\",\n splitVertical = \"splitVertical\",\n}\n\nconst NavContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: #f8f8f8;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n`;\n\nconst NavGroup = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n`;\n\nconst Divider = styled.div`\n width: 1px;\n height: 24px;\n background: #ddd;\n margin: 0 8px;\n`;\n\nconst NavButton = styled.button<{\n $isActive?: boolean;\n $isConnected?: boolean;\n}>`\n padding: 6px 12px;\n border: 1px solid ${({ $isActive }) => ($isActive ? \"#2196F3\" : \"#ddd\")};\n border-radius: 4px;\n background: ${({ $isActive }) => ($isActive ? \"#e3f2fd\" : \"white\")};\n color: ${({ $isActive }) => ($isActive ? \"#1976d2\" : \"#333\")};\n font-weight: ${({ $isActive }) => ($isActive ? \"600\" : \"normal\")};\n font-size: 13px;\n cursor: pointer;\n opacity: ${({ $isConnected }) => ($isConnected === false ? 0.5 : 1)};\n transition: all 0.15s ease;\n\n &:hover {\n background: ${({ $isActive }) => ($isActive ? \"#e3f2fd\" : \"#f5f5f5\")};\n border-color: ${({ $isActive }) => ($isActive ? \"#2196F3\" : \"#bbb\")};\n }\n`;\n\nconst SplitButton = styled.button<{ $isActive?: boolean }>`\n padding: 6px 8px;\n border: 1px solid ${({ $isActive }) => ($isActive ? \"#2196F3\" : \"#ddd\")};\n border-radius: 4px;\n background: ${({ $isActive }) => ($isActive ? \"#e3f2fd\" : \"white\")};\n color: ${({ $isActive }) => ($isActive ? \"#1976d2\" : \"#666\")};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s ease;\n\n &:hover {\n background: ${({ $isActive }) => ($isActive ? \"#e3f2fd\" : \"#f5f5f5\")};\n border-color: ${({ $isActive }) => ($isActive ? \"#2196F3\" : \"#bbb\")};\n }\n`;\n\nconst ConnectionIndicator = styled.span<{ $connected: boolean }>`\n display: inline-block;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: ${({ $connected }) => ($connected ? \"#4CAF50\" : \"#ff9800\")};\n margin-right: 6px;\n`;\n\nconst SplitLabel = styled.span`\n font-size: 12px;\n color: #666;\n margin-right: 4px;\n`;\n\n// Simple SVG icons for split buttons\nconst SplitHorizontalIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <rect x=\"2\" y=\"2\" width=\"12\" height=\"5\" rx=\"1\" opacity=\"0.6\" />\n <rect x=\"2\" y=\"9\" width=\"12\" height=\"5\" rx=\"1\" />\n </svg>\n);\n\nconst SplitVerticalIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <rect x=\"2\" y=\"2\" width=\"5\" height=\"12\" rx=\"1\" opacity=\"0.6\" />\n <rect x=\"9\" y=\"2\" width=\"5\" height=\"12\" rx=\"1\" />\n </svg>\n);\n\ntype DashboardNavigationBarProps = {\n currentScreen: DashboardScreen;\n onScreenChange: (screen: DashboardScreen) => void;\n isLoggerConnected: boolean;\n isInspectorConnected: boolean;\n};\n\nexport const DashboardNavigationBar: React.FC<DashboardNavigationBarProps> = ({\n currentScreen,\n onScreenChange,\n isLoggerConnected,\n isInspectorConnected,\n}) => {\n return (\n <NavContainer>\n {/* Main view buttons */}\n <NavGroup>\n <NavButton\n $isActive={currentScreen === DashboardScreen.logs}\n $isConnected={isLoggerConnected}\n onClick={() => onScreenChange(DashboardScreen.logs)}\n >\n <ConnectionIndicator $connected={isLoggerConnected} />\n Logger\n </NavButton>\n <NavButton\n $isActive={currentScreen === DashboardScreen.inspector}\n $isConnected={isInspectorConnected}\n onClick={() => onScreenChange(DashboardScreen.inspector)}\n >\n <ConnectionIndicator $connected={isInspectorConnected} />\n Inspector\n </NavButton>\n </NavGroup>\n\n <Divider />\n\n {/* Split view buttons */}\n <NavGroup>\n <SplitLabel>Split:</SplitLabel>\n <SplitButton\n $isActive={currentScreen === DashboardScreen.splitHorizontal}\n onClick={() => onScreenChange(DashboardScreen.splitHorizontal)}\n title=\"Split Horizontal (top/bottom)\"\n >\n <SplitHorizontalIcon />\n </SplitButton>\n <SplitButton\n $isActive={currentScreen === DashboardScreen.splitVertical}\n onClick={() => onScreenChange(DashboardScreen.splitVertical)}\n title=\"Split Vertical (left/right)\"\n >\n <SplitVerticalIcon />\n </SplitButton>\n </NavGroup>\n </NavContainer>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DashboardNavigationBar_exports", "__export", "DashboardNavigationBar", "DashboardScreen", "__toCommonJS", "import_styled_components", "import_jsx_runtime", "NavContainer", "styled", "NavGroup", "Divider", "NavButton", "$isActive", "$isConnected", "SplitButton", "ConnectionIndicator", "$connected", "SplitLabel", "SplitHorizontalIcon", "SplitVerticalIcon", "currentScreen", "onScreenChange", "isLoggerConnected", "isInspectorConnected"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";var l=Object.create;var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var x=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0})},d=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of c(o))!f.call(e,s)&&s!==t&&a(e,s,{get:()=>o[s],enumerable:!(n=g(o,s))||n.enumerable});return e};var D=(e,o,t)=>(t=e!=null?l(b(e)):{},d(o||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),u=e=>d(a({},"__esModule",{value:!0}),e);var M={};x(M,{DebugDrawer:()=>C});module.exports=u(M);var i=D(require("styled-components")),p=require("../screens/debugDevTools"),r=require("react/jsx-runtime");const w=i.default.div`
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
right: 0;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
background: rgba(0, 0, 0, 0.3);
|
|
8
|
+
opacity: ${({$isOpen:e})=>e?1:0};
|
|
9
|
+
visibility: ${({$isOpen:e})=>e?"visible":"hidden"};
|
|
10
|
+
transition:
|
|
11
|
+
opacity 0.2s ease,
|
|
12
|
+
visibility 0.2s ease;
|
|
13
|
+
z-index: 100;
|
|
14
|
+
`,v=i.default.div`
|
|
15
|
+
position: fixed;
|
|
16
|
+
bottom: 0;
|
|
17
|
+
left: 0;
|
|
18
|
+
right: 0;
|
|
19
|
+
height: 50%;
|
|
20
|
+
background: white;
|
|
21
|
+
border-top: 2px solid #ddd;
|
|
22
|
+
transform: translateY(${({$isOpen:e})=>e?"0":"100%"});
|
|
23
|
+
transition: transform 0.25s ease;
|
|
24
|
+
z-index: 101;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
`,m=i.default.div`
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: row;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: space-between;
|
|
32
|
+
padding: 8px 16px;
|
|
33
|
+
background: #f5f5f5;
|
|
34
|
+
border-bottom: 1px solid #ddd;
|
|
35
|
+
flex-shrink: 0;
|
|
36
|
+
`,y=i.default.h4`
|
|
37
|
+
margin: 0;
|
|
38
|
+
font-size: 14px;
|
|
39
|
+
font-weight: 600;
|
|
40
|
+
color: #333;
|
|
41
|
+
`,h=i.default.button`
|
|
42
|
+
padding: 4px 8px;
|
|
43
|
+
border: none;
|
|
44
|
+
border-radius: 4px;
|
|
45
|
+
background: transparent;
|
|
46
|
+
color: #666;
|
|
47
|
+
font-size: 18px;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
transition: background 0.15s ease;
|
|
50
|
+
|
|
51
|
+
&:hover {
|
|
52
|
+
background: #e0e0e0;
|
|
53
|
+
}
|
|
54
|
+
`,k=i.default.div`
|
|
55
|
+
flex: 1;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
`,C=({isOpen:e,onClose:o,sentMessages:t,receivedMessages:n,sendMessage:s})=>(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w,{$isOpen:e,onClick:o}),(0,r.jsxs)(v,{$isOpen:e,children:[(0,r.jsxs)(m,{children:[(0,r.jsx)(y,{children:"Debug DevTools"}),(0,r.jsx)(h,{onClick:o,children:"\xD7"})]}),(0,r.jsx)(k,{children:(0,r.jsx)(p.DebugDevTools,{sentMessages:t,receivedMessages:n,sendMessage:s})})]})]});0&&(module.exports={DebugDrawer});
|
|
58
|
+
//# sourceMappingURL=DebugDrawer.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/DebugDrawer.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * @file DebugDrawer component\n *\n * A slide-up drawer that displays the Debug DevTools panel.\n * Shows raw sent/received connector messages for debugging purposes.\n */\n\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport { DebugDevTools } from \"../screens/debugDevTools\";\nimport { type Message } from \"../shared/PluginEvents\";\n\nconst DrawerOverlay = styled.div<{ $isOpen: boolean }>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n visibility: ${({ $isOpen }) => ($isOpen ? \"visible\" : \"hidden\")};\n transition:\n opacity 0.2s ease,\n visibility 0.2s ease;\n z-index: 100;\n`;\n\nconst DrawerContainer = styled.div<{ $isOpen: boolean }>`\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n height: 50%;\n background: white;\n border-top: 2px solid #ddd;\n transform: translateY(${({ $isOpen }) => ($isOpen ? \"0\" : \"100%\")});\n transition: transform 0.25s ease;\n z-index: 101;\n display: flex;\n flex-direction: column;\n`;\n\nconst DrawerHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n background: #f5f5f5;\n border-bottom: 1px solid #ddd;\n flex-shrink: 0;\n`;\n\nconst DrawerTitle = styled.h4`\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n`;\n\nconst CloseButton = styled.button`\n padding: 4px 8px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #666;\n font-size: 18px;\n cursor: pointer;\n transition: background 0.15s ease;\n\n &:hover {\n background: #e0e0e0;\n }\n`;\n\nconst DrawerContent = styled.div`\n flex: 1;\n overflow: hidden;\n`;\n\ntype DebugDrawerProps = {\n isOpen: boolean;\n onClose: () => void;\n sentMessages: Message[];\n receivedMessages: Message[];\n sendMessage: (type: string, payload: string) => void;\n};\n\nexport const DebugDrawer: React.FC<DebugDrawerProps> = ({\n isOpen,\n onClose,\n sentMessages,\n receivedMessages,\n sendMessage,\n}) => {\n return (\n <>\n <DrawerOverlay $isOpen={isOpen} onClick={onClose} />\n <DrawerContainer $isOpen={isOpen}>\n <DrawerHeader>\n <DrawerTitle>Debug DevTools</DrawerTitle>\n <CloseButton onClick={onClose}>\u00D7</CloseButton>\n </DrawerHeader>\n <DrawerContent>\n <DebugDevTools\n sentMessages={sentMessages}\n receivedMessages={receivedMessages}\n sendMessage={sendMessage}\n />\n </DrawerContent>\n </DrawerContainer>\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAQA,IAAAI,EAAmB,gCAEnBC,EAA8B,oCAuF1BC,EAAA,6BApFJ,MAAMC,EAAgB,EAAAC,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOhB,CAAC,CAAE,QAAAC,CAAQ,IAAOA,EAAU,EAAI,CAAE;AAAA,gBAC/B,CAAC,CAAE,QAAAA,CAAQ,IAAOA,EAAU,UAAY,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3DC,EAAkB,EAAAF,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAQL,CAAC,CAAE,QAAAC,CAAQ,IAAOA,EAAU,IAAM,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7DE,EAAe,EAAAH,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWtBI,EAAc,EAAAJ,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOrBK,EAAc,EAAAL,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAerBM,EAAgB,EAAAN,QAAO;AAAA;AAAA;AAAA,EAahBN,EAA0C,CAAC,CACtD,OAAAa,EACA,QAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,YAAAC,CACF,OAEI,oBACE,oBAACZ,EAAA,CAAc,QAASQ,EAAQ,QAASC,EAAS,KAClD,QAACN,EAAA,CAAgB,QAASK,EACxB,qBAACJ,EAAA,CACC,oBAACC,EAAA,CAAY,0BAAc,KAC3B,OAACC,EAAA,CAAY,QAASG,EAAS,gBAAC,GAClC,KACA,OAACF,EAAA,CACC,mBAAC,iBACC,aAAcG,EACd,iBAAkBC,EAClB,YAAaC,EACf,EACF,GACF,GACF",
|
|
6
|
+
"names": ["DebugDrawer_exports", "__export", "DebugDrawer", "__toCommonJS", "import_styled_components", "import_debugDevTools", "import_jsx_runtime", "DrawerOverlay", "styled", "$isOpen", "DrawerContainer", "DrawerHeader", "DrawerTitle", "CloseButton", "DrawerContent", "isOpen", "onClose", "sentMessages", "receivedMessages", "sendMessage"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";var h=Object.create;var l=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(e,i)=>{for(var t in i)l(e,t,{get:i[t],enumerable:!0})},s=(e,i,t,a)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of m(i))!u.call(e,r)&&r!==t&&l(e,r,{get:()=>i[r],enumerable:!(a=z(i,r))||a.enumerable});return e};var S=(e,i,t)=>(t=e!=null?h(b(e)):{},s(i||!e||!e.__esModule?l(t,"default",{value:e,enumerable:!0}):t,e)),g=e=>s(l({},"__esModule",{value:!0}),e);var x={};f(x,{SplitView:()=>P});module.exports=g(x);var o=require("react-resizable-panels"),c=S(require("styled-components")),n=require("react/jsx-runtime");const w=(0,c.default)(o.Separator)`
|
|
2
|
+
background: #e0e0e0;
|
|
3
|
+
transition: background 0.15s ease;
|
|
4
|
+
|
|
5
|
+
&:hover {
|
|
6
|
+
background: #bbb;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&[data-resize-handle-active] {
|
|
10
|
+
background: #999;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Horizontal split: thin horizontal bar between top/bottom panels */
|
|
14
|
+
${({$direction:e})=>e==="horizontal"&&`
|
|
15
|
+
height: 4px;
|
|
16
|
+
cursor: row-resize;
|
|
17
|
+
`}
|
|
18
|
+
|
|
19
|
+
/* Vertical split: thin vertical bar between left/right panels */
|
|
20
|
+
${({$direction:e})=>e==="vertical"&&`
|
|
21
|
+
width: 4px;
|
|
22
|
+
cursor: col-resize;
|
|
23
|
+
`}
|
|
24
|
+
`,d=c.default.div`
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
height: 100%;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
`,v=c.default.div`
|
|
30
|
+
display: flex;
|
|
31
|
+
flex: 1;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
min-height: 0;
|
|
35
|
+
min-width: 0;
|
|
36
|
+
`,P=({direction:e,first:i,second:t,defaultFirstSize:a="50%",minFirstSize:r="20%",minSecondSize:p="20%"})=>(0,n.jsx)(v,{children:(0,n.jsxs)(o.Group,{orientation:e==="horizontal"?"vertical":"horizontal",style:{flex:1},children:[(0,n.jsx)(o.Panel,{defaultSize:a,minSize:r,children:(0,n.jsx)(d,{children:i})}),(0,n.jsx)(w,{$direction:e}),(0,n.jsx)(o.Panel,{minSize:p,children:(0,n.jsx)(d,{children:t})})]})});0&&(module.exports={SplitView});
|
|
37
|
+
//# sourceMappingURL=SplitView.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/SplitView.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport { Group, Panel, Separator } from \"react-resizable-panels\";\nimport styled from \"styled-components\";\n\nconst ResizeHandle = styled(Separator)<{\n $direction: \"horizontal\" | \"vertical\";\n}>`\n background: #e0e0e0;\n transition: background 0.15s ease;\n\n &:hover {\n background: #bbb;\n }\n\n &[data-resize-handle-active] {\n background: #999;\n }\n\n /* Horizontal split: thin horizontal bar between top/bottom panels */\n ${({ $direction }) =>\n $direction === \"horizontal\" &&\n `\n height: 4px;\n cursor: row-resize;\n `}\n\n /* Vertical split: thin vertical bar between left/right panels */\n ${({ $direction }) =>\n $direction === \"vertical\" &&\n `\n width: 4px;\n cursor: col-resize;\n `}\n`;\n\nconst PanelContainer = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n`;\n\nconst SplitViewContainer = styled.div`\n display: flex;\n flex: 1;\n width: 100%;\n height: 100%;\n min-height: 0;\n min-width: 0;\n`;\n\ntype SplitViewProps = {\n direction: \"horizontal\" | \"vertical\";\n first: React.ReactNode;\n second: React.ReactNode;\n defaultFirstSize?: number | string;\n minFirstSize?: number | string;\n minSecondSize?: number | string;\n};\n\nexport const SplitView: React.FC<SplitViewProps> = ({\n direction,\n first,\n second,\n defaultFirstSize = \"50%\",\n minFirstSize = \"20%\",\n minSecondSize = \"20%\",\n}) => {\n // react-resizable-panels uses \"horizontal\" for left/right split\n // and \"vertical\" for top/bottom split (opposite of our naming)\n const panelOrientation =\n direction === \"horizontal\" ? \"vertical\" : \"horizontal\";\n\n return (\n <SplitViewContainer>\n <Group orientation={panelOrientation} style={{ flex: 1 }}>\n <Panel defaultSize={defaultFirstSize} minSize={minFirstSize}>\n <PanelContainer>{first}</PanelContainer>\n </Panel>\n <ResizeHandle $direction={direction} />\n <Panel minSize={minSecondSize}>\n <PanelContainer>{second}</PanelContainer>\n </Panel>\n </Group>\n </SplitViewContainer>\n );\n};\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAwC,kCACxCC,EAAmB,gCAyEbC,EAAA,6BAvEN,MAAMC,KAAe,EAAAC,SAAO,WAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAejC,CAAC,CAAE,WAAAC,CAAW,IACdA,IAAe,cACf;AAAA;AAAA;AAAA,GAGD;AAAA;AAAA;AAAA,IAGC,CAAC,CAAE,WAAAA,CAAW,IACdA,IAAe,YACf;AAAA;AAAA;AAAA,GAGD;AAAA,EAGGC,EAAiB,EAAAF,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxBG,EAAqB,EAAAH,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBrBN,EAAsC,CAAC,CAClD,UAAAU,EACA,MAAAC,EACA,OAAAC,EACA,iBAAAC,EAAmB,MACnB,aAAAC,EAAe,MACf,cAAAC,EAAgB,KAClB,OAOI,OAACN,EAAA,CACC,oBAAC,SAAM,YAJTC,IAAc,aAAe,WAAa,aAIF,MAAO,CAAE,KAAM,CAAE,EACrD,oBAAC,SAAM,YAAaG,EAAkB,QAASC,EAC7C,mBAACN,EAAA,CAAgB,SAAAG,EAAM,EACzB,KACA,OAACN,EAAA,CAAa,WAAYK,EAAW,KACrC,OAAC,SAAM,QAASK,EACd,mBAACP,EAAA,CAAgB,SAAAI,EAAO,EAC1B,GACF,EACF",
|
|
6
|
+
"names": ["SplitView_exports", "__export", "SplitView", "__toCommonJS", "import_react_resizable_panels", "import_styled_components", "import_jsx_runtime", "ResizeHandle", "styled", "$direction", "PanelContainer", "SplitViewContainer", "direction", "first", "second", "defaultFirstSize", "minFirstSize", "minSecondSize"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var g=(e,s)=>{for(var r in s)o(e,r,{get:s[r],enumerable:!0})},E=(e,s,r,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of m(s))!C.call(e,t)&&t!==r&&o(e,t,{get:()=>s[t],enumerable:!(a=i(s,t))||a.enumerable});return e};var u=e=>E(o({},"__esModule",{value:!0}),e);var N={};g(N,{createApduCommands:()=>D,createDiscoveryCommands:()=>I,createProviderCommands:()=>S});module.exports=u(N);var n=require("@ledgerhq/device-management-kit-devtools-core");function I(e){return{startListeningCommand:()=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.START_LISTENING_DEVICES,"{}"),stopListeningCommand:()=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.STOP_LISTENING_DEVICES,"{}"),startDiscoveringCommand:()=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.START_DISCOVERING,"{}"),stopDiscoveringCommand:()=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.STOP_DISCOVERING,"{}"),connectDeviceCommand:(s,r)=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.CONNECT_DEVICE,JSON.stringify({deviceId:s,sessionRefresherOptions:r}))}}function S(e){return{getProviderCommand:()=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.GET_PROVIDER,"{}"),setProviderCommand:s=>e.sendMessage(n.INSPECTOR_COMMAND_TYPES.SET_PROVIDER,JSON.stringify({provider:s}))}}let p=0;function D(e){return{sendApduCommand:(s,r)=>{const a=`apdu-${++p}`,t=r.match(/.{1,2}/g)?.map(d=>parseInt(d,16))||[];return e.sendMessage(n.INSPECTOR_COMMAND_TYPES.SEND_APDU,JSON.stringify({sessionId:s,apdu:t,requestId:a})),a}}}0&&(module.exports={createApduCommands,createDiscoveryCommands,createProviderCommands});
|
|
2
|
+
//# sourceMappingURL=commandDispatcher.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/commandDispatcher.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type Connector,\n INSPECTOR_COMMAND_TYPES,\n} from \"@ledgerhq/device-management-kit-devtools-core\";\n\n/**\n * Create discovery-related command dispatchers.\n */\nexport function createDiscoveryCommands(connector: Connector) {\n return {\n startListeningCommand: () =>\n connector.sendMessage(\n INSPECTOR_COMMAND_TYPES.START_LISTENING_DEVICES,\n \"{}\",\n ),\n stopListeningCommand: () =>\n connector.sendMessage(\n INSPECTOR_COMMAND_TYPES.STOP_LISTENING_DEVICES,\n \"{}\",\n ),\n startDiscoveringCommand: () =>\n connector.sendMessage(INSPECTOR_COMMAND_TYPES.START_DISCOVERING, \"{}\"),\n stopDiscoveringCommand: () =>\n connector.sendMessage(INSPECTOR_COMMAND_TYPES.STOP_DISCOVERING, \"{}\"),\n connectDeviceCommand: (\n deviceId: string,\n sessionRefresherOptions?: {\n isRefresherDisabled: boolean;\n pollingInterval?: number;\n },\n ) =>\n connector.sendMessage(\n INSPECTOR_COMMAND_TYPES.CONNECT_DEVICE,\n JSON.stringify({ deviceId, sessionRefresherOptions }),\n ),\n };\n}\n\n/**\n * Create provider-related command dispatchers.\n */\nexport function createProviderCommands(connector: Connector) {\n return {\n getProviderCommand: () =>\n connector.sendMessage(INSPECTOR_COMMAND_TYPES.GET_PROVIDER, \"{}\"),\n setProviderCommand: (value: number) =>\n connector.sendMessage(\n INSPECTOR_COMMAND_TYPES.SET_PROVIDER,\n JSON.stringify({ provider: value }),\n ),\n };\n}\n\nlet apduRequestCounter = 0;\n\n/**\n * Create APDU-related command dispatchers.\n */\nexport function createApduCommands(connector: Connector) {\n return {\n sendApduCommand: (sessionId: string, apduHex: string): string => {\n const requestId = `apdu-${++apduRequestCounter}`;\n // Convert hex string to array of bytes\n const apdu =\n apduHex.match(/.{1,2}/g)?.map((byte) => parseInt(byte, 16)) || [];\n connector.sendMessage(\n INSPECTOR_COMMAND_TYPES.SEND_APDU,\n JSON.stringify({ sessionId, apdu, requestId }),\n );\n return requestId;\n },\n };\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,4BAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAL,GAAA,IAAAM,EAGO,yDAKA,SAASH,EAAwBI,EAAsB,CAC5D,MAAO,CACL,sBAAuB,IACrBA,EAAU,YACR,0BAAwB,wBACxB,IACF,EACF,qBAAsB,IACpBA,EAAU,YACR,0BAAwB,uBACxB,IACF,EACF,wBAAyB,IACvBA,EAAU,YAAY,0BAAwB,kBAAmB,IAAI,EACvE,uBAAwB,IACtBA,EAAU,YAAY,0BAAwB,iBAAkB,IAAI,EACtE,qBAAsB,CACpBC,EACAC,IAKAF,EAAU,YACR,0BAAwB,eACxB,KAAK,UAAU,CAAE,SAAAC,EAAU,wBAAAC,CAAwB,CAAC,CACtD,CACJ,CACF,CAKO,SAASL,EAAuBG,EAAsB,CAC3D,MAAO,CACL,mBAAoB,IAClBA,EAAU,YAAY,0BAAwB,aAAc,IAAI,EAClE,mBAAqBG,GACnBH,EAAU,YACR,0BAAwB,aACxB,KAAK,UAAU,CAAE,SAAUG,CAAM,CAAC,CACpC,CACJ,CACF,CAEA,IAAIC,EAAqB,EAKlB,SAAST,EAAmBK,EAAsB,CACvD,MAAO,CACL,gBAAiB,CAACK,EAAmBC,IAA4B,CAC/D,MAAMC,EAAY,QAAQ,EAAEH,CAAkB,GAExCI,EACJF,EAAQ,MAAM,SAAS,GAAG,IAAKG,GAAS,SAASA,EAAM,EAAE,CAAC,GAAK,CAAC,EAClE,OAAAT,EAAU,YACR,0BAAwB,UACxB,KAAK,UAAU,CAAE,UAAAK,EAAW,KAAAG,EAAM,UAAAD,CAAU,CAAC,CAC/C,EACOA,CACT,CACF,CACF",
|
|
6
|
+
"names": ["commandDispatcher_exports", "__export", "createApduCommands", "createDiscoveryCommands", "createProviderCommands", "__toCommonJS", "import_device_management_kit_devtools_core", "connector", "deviceId", "sessionRefresherOptions", "value", "apduRequestCounter", "sessionId", "apduHex", "requestId", "apdu", "byte"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var d=(o,t)=>{for(var e in t)n(o,e,{get:t[e],enumerable:!0})},l=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of c(t))!p.call(o,a)&&a!==e&&n(o,a,{get:()=>t[a],enumerable:!(s=i(t,a))||s.enumerable});return o};var v=o=>l(n({},"__esModule",{value:!0}),o);var f={};d(f,{handleApduResponse:()=>m,handleConnectedDevicesUpdate:()=>u,handleDeviceSessionStateUpdate:()=>h,handleDiscoveredDevicesUpdate:()=>y,handleLogMessage:()=>D,handleModuleConnected:()=>S,handleProviderValue:()=>g});module.exports=v(f);var r=require("../screens/logger/mapConnectorMessageToLogData");function S(o,t){try{const{module:e}=JSON.parse(o);t(s=>new Set([...s,e]))}catch(e){console.error("Failed to parse moduleConnected payload",e)}}function D(o,t,e){const s=(0,r.mapConnectorMessageToLogData)({type:o,payload:t});return s!==null?(e(a=>[...a,s]),!0):!1}function u(o,t){try{const e=JSON.parse(o);t(e)}catch(e){console.error("Failed to parse connectedDevicesUpdate payload",e)}}function h(o,t){try{const{sessionId:e,state:s}=JSON.parse(o);t(a=>new Map(a).set(e,s))}catch(e){console.error("Failed to parse deviceSessionStateUpdate payload",e)}}function y(o,t){try{const e=JSON.parse(o);t(e)}catch(e){console.error("Failed to parse discoveredDevicesUpdate payload",e)}}function g(o,t){try{const{provider:e}=JSON.parse(o);t(e)}catch(e){console.error("Failed to parse providerValue payload",e)}}function m(o,t){try{const e=JSON.parse(o);t(s=>new Map(s).set(e.requestId,e))}catch(e){console.error("Failed to parse apduResponse payload",e)}}0&&(module.exports={handleApduResponse,handleConnectedDevicesUpdate,handleDeviceSessionStateUpdate,handleDiscoveredDevicesUpdate,handleLogMessage,handleModuleConnected,handleProviderValue});
|
|
2
|
+
//# sourceMappingURL=connectorMessageHandlers.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/connectorMessageHandlers.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Dispatch, SetStateAction } from \"react\";\nimport {\n type ConnectedDevice,\n type DeviceSessionState,\n type DiscoveredDevice,\n} from \"@ledgerhq/device-management-kit\";\nimport { type DevToolsModule } from \"@ledgerhq/device-management-kit-devtools-core\";\n\nimport { mapConnectorMessageToLogData } from \"../screens/logger/mapConnectorMessageToLogData\";\nimport { type LogData } from \"../screens/logger/types\";\nimport { type ApduResponse } from \"./useConnectorMessages\";\n\n/**\n * Handle module connected handshake message.\n */\nexport function handleModuleConnected(\n payload: string,\n setConnectedModules: Dispatch<SetStateAction<Set<DevToolsModule>>>,\n): void {\n try {\n const { module } = JSON.parse(payload) as { module: DevToolsModule };\n setConnectedModules((prev) => new Set([...prev, module]));\n } catch (e) {\n console.error(\"Failed to parse moduleConnected payload\", e);\n }\n}\n\n/**\n * Handle log message. Returns true if message was a log, false otherwise.\n */\nexport function handleLogMessage(\n type: string,\n payload: string,\n setLogs: Dispatch<SetStateAction<LogData[]>>,\n): boolean {\n const logData = mapConnectorMessageToLogData({ type, payload });\n if (logData !== null) {\n setLogs((prev) => [...prev, logData]);\n return true;\n }\n return false;\n}\n\n/**\n * Handle connected devices update message.\n */\nexport function handleConnectedDevicesUpdate(\n payload: string,\n setConnectedDevices: Dispatch<SetStateAction<ConnectedDevice[]>>,\n): void {\n try {\n const devices = JSON.parse(payload) as ConnectedDevice[];\n setConnectedDevices(devices);\n } catch (e) {\n console.error(\"Failed to parse connectedDevicesUpdate payload\", e);\n }\n}\n\n/**\n * Handle device session state update message.\n */\nexport function handleDeviceSessionStateUpdate(\n payload: string,\n setSessionStates: Dispatch<SetStateAction<Map<string, DeviceSessionState>>>,\n): void {\n try {\n const { sessionId, state } = JSON.parse(payload) as {\n sessionId: string;\n state: DeviceSessionState;\n };\n setSessionStates((prev) => new Map(prev).set(sessionId, state));\n } catch (e) {\n console.error(\"Failed to parse deviceSessionStateUpdate payload\", e);\n }\n}\n\n/**\n * Handle discovered devices update message.\n */\nexport function handleDiscoveredDevicesUpdate(\n payload: string,\n setDiscoveredDevices: Dispatch<SetStateAction<DiscoveredDevice[]>>,\n): void {\n try {\n const devices = JSON.parse(payload) as DiscoveredDevice[];\n setDiscoveredDevices(devices);\n } catch (e) {\n console.error(\"Failed to parse discoveredDevicesUpdate payload\", e);\n }\n}\n\n/**\n * Handle provider value response message.\n */\nexport function handleProviderValue(\n payload: string,\n setProviderValue: Dispatch<SetStateAction<number | null>>,\n): void {\n try {\n const { provider } = JSON.parse(payload) as { provider: number };\n setProviderValue(provider);\n } catch (e) {\n console.error(\"Failed to parse providerValue payload\", e);\n }\n}\n\n/**\n * Handle APDU response message.\n */\nexport function handleApduResponse(\n payload: string,\n setApduResponses: Dispatch<SetStateAction<Map<string, ApduResponse>>>,\n): void {\n try {\n const response = JSON.parse(payload) as ApduResponse;\n setApduResponses((prev) => new Map(prev).set(response.requestId, response));\n } catch (e) {\n console.error(\"Failed to parse apduResponse payload\", e);\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,iCAAAC,EAAA,mCAAAC,EAAA,kCAAAC,EAAA,qBAAAC,EAAA,0BAAAC,EAAA,wBAAAC,IAAA,eAAAC,EAAAT,GAQA,IAAAU,EAA6C,0DAOtC,SAASH,EACdI,EACAC,EACM,CACN,GAAI,CACF,KAAM,CAAE,OAAAC,CAAO,EAAI,KAAK,MAAMF,CAAO,EACrCC,EAAqBE,GAAS,IAAI,IAAI,CAAC,GAAGA,EAAMD,CAAM,CAAC,CAAC,CAC1D,OAAS,EAAG,CACV,QAAQ,MAAM,0CAA2C,CAAC,CAC5D,CACF,CAKO,SAASP,EACdS,EACAJ,EACAK,EACS,CACT,MAAMC,KAAU,gCAA6B,CAAE,KAAAF,EAAM,QAAAJ,CAAQ,CAAC,EAC9D,OAAIM,IAAY,MACdD,EAASF,GAAS,CAAC,GAAGA,EAAMG,CAAO,CAAC,EAC7B,IAEF,EACT,CAKO,SAASd,EACdQ,EACAO,EACM,CACN,GAAI,CACF,MAAMC,EAAU,KAAK,MAAMR,CAAO,EAClCO,EAAoBC,CAAO,CAC7B,OAAS,EAAG,CACV,QAAQ,MAAM,iDAAkD,CAAC,CACnE,CACF,CAKO,SAASf,EACdO,EACAS,EACM,CACN,GAAI,CACF,KAAM,CAAE,UAAAC,EAAW,MAAAC,CAAM,EAAI,KAAK,MAAMX,CAAO,EAI/CS,EAAkBN,GAAS,IAAI,IAAIA,CAAI,EAAE,IAAIO,EAAWC,CAAK,CAAC,CAChE,OAAS,EAAG,CACV,QAAQ,MAAM,mDAAoD,CAAC,CACrE,CACF,CAKO,SAASjB,EACdM,EACAY,EACM,CACN,GAAI,CACF,MAAMJ,EAAU,KAAK,MAAMR,CAAO,EAClCY,EAAqBJ,CAAO,CAC9B,OAAS,EAAG,CACV,QAAQ,MAAM,kDAAmD,CAAC,CACpE,CACF,CAKO,SAASX,EACdG,EACAa,EACM,CACN,GAAI,CACF,KAAM,CAAE,SAAAC,CAAS,EAAI,KAAK,MAAMd,CAAO,EACvCa,EAAiBC,CAAQ,CAC3B,OAAS,EAAG,CACV,QAAQ,MAAM,wCAAyC,CAAC,CAC1D,CACF,CAKO,SAASvB,EACdS,EACAe,EACM,CACN,GAAI,CACF,MAAMC,EAAW,KAAK,MAAMhB,CAAO,EACnCe,EAAkBZ,GAAS,IAAI,IAAIA,CAAI,EAAE,IAAIa,EAAS,UAAWA,CAAQ,CAAC,CAC5E,OAAS,EAAG,CACV,QAAQ,MAAM,uCAAwC,CAAC,CACzD,CACF",
|
|
6
|
+
"names": ["connectorMessageHandlers_exports", "__export", "handleApduResponse", "handleConnectedDevicesUpdate", "handleDeviceSessionStateUpdate", "handleDiscoveredDevicesUpdate", "handleLogMessage", "handleModuleConnected", "handleProviderValue", "__toCommonJS", "import_mapConnectorMessageToLogData", "payload", "setConnectedModules", "module", "prev", "type", "setLogs", "logData", "setConnectedDevices", "devices", "setSessionStates", "sessionId", "state", "setDiscoveredDevices", "setProviderValue", "provider", "setApduResponses", "response"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var B=(n,o)=>{for(var d in o)l(n,d,{get:o[d],enumerable:!0})},F=(n,o,d,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of j(o))!z.call(n,c)&&c!==d&&l(n,c,{get:()=>o[c],enumerable:!(p=K(o,c))||p.enumerable});return n};var J=n=>F(l({},"__esModule",{value:!0}),n);var W={};B(W,{useConnectorMessages:()=>Q});module.exports=J(W);var e=require("react"),t=require("@ledgerhq/device-management-kit-devtools-core"),g=require("./commandDispatcher"),s=require("./connectorMessageHandlers");function Q(n){const[o,d]=(0,e.useState)([]),[p,c]=(0,e.useState)([]),[b,C]=(0,e.useState)([]),[m,L]=(0,e.useState)(new Set),[A,P]=(0,e.useState)([]),[f,R]=(0,e.useState)(new Map),[I,D]=(0,e.useState)([]),[T,M]=(0,e.useState)(!1),[_,S]=(0,e.useState)(!1),[O,h]=(0,e.useState)(null),[V,U]=(0,e.useState)(new Map),a=(0,e.useMemo)(()=>({...n,sendMessage:(u,v)=>{n.sendMessage(u,v),c(i=>[...i,{type:u,payload:v}])}}),[n]);(0,e.useEffect)(()=>{const{unsubscribe:u}=n.listenToMessages((v,i)=>{switch(d(H=>[...H,{type:v,payload:i}]),v){case t.MODULE_CONNECTED_MESSAGE_TYPE:(0,s.handleModuleConnected)(i,L);break;case t.INSPECTOR_MESSAGE_TYPES.CONNECTED_DEVICES_UPDATE:(0,s.handleConnectedDevicesUpdate)(i,P);break;case t.INSPECTOR_MESSAGE_TYPES.DEVICE_SESSION_STATE_UPDATE:(0,s.handleDeviceSessionStateUpdate)(i,R);break;case t.INSPECTOR_MESSAGE_TYPES.DISCOVERED_DEVICES_UPDATE:(0,s.handleDiscoveredDevicesUpdate)(i,D);break;case t.INSPECTOR_MESSAGE_TYPES.PROVIDER_VALUE:(0,s.handleProviderValue)(i,h);break;case t.INSPECTOR_MESSAGE_TYPES.APDU_RESPONSE:(0,s.handleApduResponse)(i,U);break;default:(0,s.handleLogMessage)(v,i,C);break}});return u},[n]);const r=(0,e.useMemo)(()=>(0,g.createDiscoveryCommands)(a),[a]),E=(0,e.useMemo)(()=>(0,g.createProviderCommands)(a),[a]),k=(0,e.useMemo)(()=>(0,g.createApduCommands)(a),[a]),N=(0,e.useCallback)(()=>{M(!0),D([]),r.startListeningCommand()},[r]),y=(0,e.useCallback)(()=>{M(!1),D([]),r.stopListeningCommand()},[r]),w=(0,e.useCallback)(()=>{S(!0),D([]),r.startDiscoveringCommand()},[r]),x=(0,e.useCallback)(()=>{S(!1),D([]),r.stopDiscoveringCommand()},[r]),G=(0,e.useCallback)(()=>{C([])},[]),Y=m.has(t.DEVTOOLS_MODULES.LOGGER),q=m.has(t.DEVTOOLS_MODULES.DMK_INSPECTOR);return{receivedMessages:o,sentMessages:p,logs:b,connectedModules:m,connectedDevices:A,sessionStates:f,discoveredDevices:I,isListening:T,isActivelyDiscovering:_,isLoggerConnected:Y,isInspectorConnected:q,providerValue:O,apduResponses:V,sendMessage:a.sendMessage,clearLogs:G,startListening:N,stopListening:y,startDiscovering:w,stopDiscovering:x,connectDevice:r.connectDeviceCommand,getProvider:E.getProviderCommand,setProvider:E.setProviderCommand,sendApdu:k.sendApduCommand}}0&&(module.exports={useConnectorMessages});
|
|
2
|
+
//# sourceMappingURL=useConnectorMessages.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/hooks/useConnectorMessages.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @file useConnectorMessages hook\n *\n * Central hook for managing DevTools connector state and actions.\n * Handles all communication between the Dashboard UI and the client app\n * via the connector (WebSocket or Rozenite).\n */\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n type ConnectedDevice,\n type DeviceSessionState,\n type DiscoveredDevice,\n} from \"@ledgerhq/device-management-kit\";\nimport {\n type Connector,\n DEVTOOLS_MODULES,\n type DevToolsModule,\n INSPECTOR_MESSAGE_TYPES,\n MODULE_CONNECTED_MESSAGE_TYPE,\n} from \"@ledgerhq/device-management-kit-devtools-core\";\n\nimport { type Message } from \"../PluginEvents\";\nimport { type LogData } from \"../screens/logger/types\";\nimport {\n createApduCommands,\n createDiscoveryCommands,\n createProviderCommands,\n} from \"./commandDispatcher\";\nimport {\n handleApduResponse,\n handleConnectedDevicesUpdate,\n handleDeviceSessionStateUpdate,\n handleDiscoveredDevicesUpdate,\n handleLogMessage,\n handleModuleConnected,\n handleProviderValue,\n} from \"./connectorMessageHandlers\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type ApduResponse = {\n requestId: string;\n success: boolean;\n statusCode?: number[];\n data?: number[];\n error?: string;\n};\n\nexport type ConnectorMessagesState = {\n receivedMessages: Message[];\n sentMessages: Message[];\n logs: LogData[];\n connectedModules: Set<DevToolsModule>;\n connectedDevices: ConnectedDevice[];\n sessionStates: Map<string, DeviceSessionState>;\n discoveredDevices: DiscoveredDevice[];\n isListening: boolean;\n isActivelyDiscovering: boolean;\n isLoggerConnected: boolean;\n isInspectorConnected: boolean;\n providerValue: number | null;\n apduResponses: Map<string, ApduResponse>;\n sendMessage: (type: string, payload: string) => void;\n clearLogs: () => void;\n startListening: () => void;\n stopListening: () => void;\n startDiscovering: () => void;\n stopDiscovering: () => void;\n connectDevice: (\n deviceId: string,\n sessionRefresherOptions?: {\n isRefresherDisabled: boolean;\n pollingInterval?: number;\n },\n ) => void;\n getProvider: () => void;\n setProvider: (value: number) => void;\n sendApdu: (sessionId: string, apduHex: string) => string;\n};\n\n// ============================================================================\n// Hook\n// ============================================================================\n\n/**\n * Central hook for managing DevTools connector state and communication.\n *\n * This hook:\n * - Listens to messages from the connector and dispatches them to handlers\n * - Tracks all sent/received messages for debugging\n * - Manages device discovery, sessions, and DMK configuration state\n * - Provides action functions to send commands to the inspector module\n *\n * @param connector - The connector instance (WebSocket or Rozenite)\n * @returns State and actions for the Dashboard UI\n */\nexport function useConnectorMessages(\n connector: Connector,\n): ConnectorMessagesState {\n // === State ===\n const [receivedMessages, setReceivedMessages] = useState<Message[]>([]);\n const [sentMessages, setSentMessages] = useState<Message[]>([]);\n const [logs, setLogs] = useState<LogData[]>([]);\n const [connectedModules, setConnectedModules] = useState<Set<DevToolsModule>>(\n new Set(),\n );\n const [connectedDevices, setConnectedDevices] = useState<ConnectedDevice[]>(\n [],\n );\n const [sessionStates, setSessionStates] = useState<\n Map<string, DeviceSessionState>\n >(new Map());\n const [discoveredDevices, setDiscoveredDevices] = useState<\n DiscoveredDevice[]\n >([]);\n const [isListening, setIsListening] = useState(false);\n const [isActivelyDiscovering, setIsActivelyDiscovering] = useState(false);\n const [providerValue, setProviderValue] = useState<number | null>(null);\n const [apduResponses, setApduResponses] = useState<Map<string, ApduResponse>>(\n new Map(),\n );\n\n // === Tracked Connector (keeps all sent messages in state) ===\n const trackedConnector: Connector = useMemo(\n () => ({\n ...connector,\n sendMessage: (type: string, payload: string) => {\n connector.sendMessage(type, payload);\n setSentMessages((prev) => [...prev, { type, payload }]);\n },\n }),\n [connector],\n );\n\n // === Message Listener ===\n useEffect(() => {\n const { unsubscribe } = connector.listenToMessages((type, payload) => {\n setReceivedMessages((prev) => [...prev, { type, payload }]);\n\n switch (type) {\n case MODULE_CONNECTED_MESSAGE_TYPE:\n handleModuleConnected(payload, setConnectedModules);\n break;\n case INSPECTOR_MESSAGE_TYPES.CONNECTED_DEVICES_UPDATE:\n handleConnectedDevicesUpdate(payload, setConnectedDevices);\n break;\n case INSPECTOR_MESSAGE_TYPES.DEVICE_SESSION_STATE_UPDATE:\n handleDeviceSessionStateUpdate(payload, setSessionStates);\n break;\n case INSPECTOR_MESSAGE_TYPES.DISCOVERED_DEVICES_UPDATE:\n handleDiscoveredDevicesUpdate(payload, setDiscoveredDevices);\n break;\n case INSPECTOR_MESSAGE_TYPES.PROVIDER_VALUE:\n handleProviderValue(payload, setProviderValue);\n break;\n case INSPECTOR_MESSAGE_TYPES.APDU_RESPONSE:\n handleApduResponse(payload, setApduResponses);\n break;\n default:\n // Try to handle as log message\n handleLogMessage(type, payload, setLogs);\n break;\n }\n });\n return unsubscribe;\n }, [connector]);\n\n // === Commands (using tracked connector to log all sent messages) ===\n const discoveryCommands = useMemo(\n () => createDiscoveryCommands(trackedConnector),\n [trackedConnector],\n );\n const providerCommands = useMemo(\n () => createProviderCommands(trackedConnector),\n [trackedConnector],\n );\n const apduCommands = useMemo(\n () => createApduCommands(trackedConnector),\n [trackedConnector],\n );\n\n // === Wrapped Commands (with local state updates) ===\n const startListening = useCallback(() => {\n setIsListening(true);\n setDiscoveredDevices([]);\n discoveryCommands.startListeningCommand();\n }, [discoveryCommands]);\n\n const stopListening = useCallback(() => {\n setIsListening(false);\n setDiscoveredDevices([]);\n discoveryCommands.stopListeningCommand();\n }, [discoveryCommands]);\n\n const startDiscovering = useCallback(() => {\n setIsActivelyDiscovering(true);\n setDiscoveredDevices([]);\n discoveryCommands.startDiscoveringCommand();\n }, [discoveryCommands]);\n\n const stopDiscovering = useCallback(() => {\n setIsActivelyDiscovering(false);\n setDiscoveredDevices([]);\n discoveryCommands.stopDiscoveringCommand();\n }, [discoveryCommands]);\n\n const clearLogs = useCallback(() => {\n setLogs([]);\n }, []);\n\n // === Derived State ===\n const isLoggerConnected = connectedModules.has(DEVTOOLS_MODULES.LOGGER);\n const isInspectorConnected = connectedModules.has(\n DEVTOOLS_MODULES.DMK_INSPECTOR,\n );\n\n return {\n // State\n receivedMessages,\n sentMessages,\n logs,\n connectedModules,\n connectedDevices,\n sessionStates,\n discoveredDevices,\n isListening,\n isActivelyDiscovering,\n isLoggerConnected,\n isInspectorConnected,\n providerValue,\n apduResponses,\n // Actions\n sendMessage: trackedConnector.sendMessage,\n clearLogs,\n startListening,\n stopListening,\n startDiscovering,\n stopDiscovering,\n connectDevice: discoveryCommands.connectDeviceCommand,\n getProvider: providerCommands.getProviderCommand,\n setProvider: providerCommands.setProviderCommand,\n sendApdu: apduCommands.sendApduCommand,\n };\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAQA,IAAAI,EAA0D,iBAM1DC,EAMO,yDAIPC,EAIO,+BACPC,EAQO,sCA8DA,SAASL,EACdM,EACwB,CAExB,KAAM,CAACC,EAAkBC,CAAmB,KAAI,YAAoB,CAAC,CAAC,EAChE,CAACC,EAAcC,CAAe,KAAI,YAAoB,CAAC,CAAC,EACxD,CAACC,EAAMC,CAAO,KAAI,YAAoB,CAAC,CAAC,EACxC,CAACC,EAAkBC,CAAmB,KAAI,YAC9C,IAAI,GACN,EACM,CAACC,EAAkBC,CAAmB,KAAI,YAC9C,CAAC,CACH,EACM,CAACC,EAAeC,CAAgB,KAAI,YAExC,IAAI,GAAK,EACL,CAACC,EAAmBC,CAAoB,KAAI,YAEhD,CAAC,CAAC,EACE,CAACC,EAAaC,CAAc,KAAI,YAAS,EAAK,EAC9C,CAACC,EAAuBC,CAAwB,KAAI,YAAS,EAAK,EAClE,CAACC,EAAeC,CAAgB,KAAI,YAAwB,IAAI,EAChE,CAACC,EAAeC,CAAgB,KAAI,YACxC,IAAI,GACN,EAGMC,KAA8B,WAClC,KAAO,CACL,GAAGvB,EACH,YAAa,CAACwB,EAAcC,IAAoB,CAC9CzB,EAAU,YAAYwB,EAAMC,CAAO,EACnCrB,EAAiBsB,GAAS,CAAC,GAAGA,EAAM,CAAE,KAAAF,EAAM,QAAAC,CAAQ,CAAC,CAAC,CACxD,CACF,GACA,CAACzB,CAAS,CACZ,KAGA,aAAU,IAAM,CACd,KAAM,CAAE,YAAA2B,CAAY,EAAI3B,EAAU,iBAAiB,CAACwB,EAAMC,IAAY,CAGpE,OAFAvB,EAAqBwB,GAAS,CAAC,GAAGA,EAAM,CAAE,KAAAF,EAAM,QAAAC,CAAQ,CAAC,CAAC,EAElDD,EAAM,CACZ,KAAK,mCACH,yBAAsBC,EAASjB,CAAmB,EAClD,MACF,KAAK,0BAAwB,4BAC3B,gCAA6BiB,EAASf,CAAmB,EACzD,MACF,KAAK,0BAAwB,+BAC3B,kCAA+Be,EAASb,CAAgB,EACxD,MACF,KAAK,0BAAwB,6BAC3B,iCAA8Ba,EAASX,CAAoB,EAC3D,MACF,KAAK,0BAAwB,kBAC3B,uBAAoBW,EAASL,CAAgB,EAC7C,MACF,KAAK,0BAAwB,iBAC3B,sBAAmBK,EAASH,CAAgB,EAC5C,MACF,WAEE,oBAAiBE,EAAMC,EAASnB,CAAO,EACvC,KACJ,CACF,CAAC,EACD,OAAOqB,CACT,EAAG,CAAC3B,CAAS,CAAC,EAGd,MAAM4B,KAAoB,WACxB,OAAM,2BAAwBL,CAAgB,EAC9C,CAACA,CAAgB,CACnB,EACMM,KAAmB,WACvB,OAAM,0BAAuBN,CAAgB,EAC7C,CAACA,CAAgB,CACnB,EACMO,KAAe,WACnB,OAAM,sBAAmBP,CAAgB,EACzC,CAACA,CAAgB,CACnB,EAGMQ,KAAiB,eAAY,IAAM,CACvCf,EAAe,EAAI,EACnBF,EAAqB,CAAC,CAAC,EACvBc,EAAkB,sBAAsB,CAC1C,EAAG,CAACA,CAAiB,CAAC,EAEhBI,KAAgB,eAAY,IAAM,CACtChB,EAAe,EAAK,EACpBF,EAAqB,CAAC,CAAC,EACvBc,EAAkB,qBAAqB,CACzC,EAAG,CAACA,CAAiB,CAAC,EAEhBK,KAAmB,eAAY,IAAM,CACzCf,EAAyB,EAAI,EAC7BJ,EAAqB,CAAC,CAAC,EACvBc,EAAkB,wBAAwB,CAC5C,EAAG,CAACA,CAAiB,CAAC,EAEhBM,KAAkB,eAAY,IAAM,CACxChB,EAAyB,EAAK,EAC9BJ,EAAqB,CAAC,CAAC,EACvBc,EAAkB,uBAAuB,CAC3C,EAAG,CAACA,CAAiB,CAAC,EAEhBO,KAAY,eAAY,IAAM,CAClC7B,EAAQ,CAAC,CAAC,CACZ,EAAG,CAAC,CAAC,EAGC8B,EAAoB7B,EAAiB,IAAI,mBAAiB,MAAM,EAChE8B,EAAuB9B,EAAiB,IAC5C,mBAAiB,aACnB,EAEA,MAAO,CAEL,iBAAAN,EACA,aAAAE,EACA,KAAAE,EACA,iBAAAE,EACA,iBAAAE,EACA,cAAAE,EACA,kBAAAE,EACA,YAAAE,EACA,sBAAAE,EACA,kBAAAmB,EACA,qBAAAC,EACA,cAAAlB,EACA,cAAAE,EAEA,YAAaE,EAAiB,YAC9B,UAAAY,EACA,eAAAJ,EACA,cAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,cAAeN,EAAkB,qBACjC,YAAaC,EAAiB,mBAC9B,YAAaA,EAAiB,mBAC9B,SAAUC,EAAa,eACzB,CACF",
|
|
6
|
+
"names": ["useConnectorMessages_exports", "__export", "useConnectorMessages", "__toCommonJS", "import_react", "import_device_management_kit_devtools_core", "import_commandDispatcher", "import_connectorMessageHandlers", "connector", "receivedMessages", "setReceivedMessages", "sentMessages", "setSentMessages", "logs", "setLogs", "connectedModules", "setConnectedModules", "connectedDevices", "setConnectedDevices", "sessionStates", "setSessionStates", "discoveredDevices", "setDiscoveredDevices", "isListening", "setIsListening", "isActivelyDiscovering", "setIsActivelyDiscovering", "providerValue", "setProviderValue", "apduResponses", "setApduResponses", "trackedConnector", "type", "payload", "prev", "unsubscribe", "discoveryCommands", "providerCommands", "apduCommands", "startListening", "stopListening", "startDiscovering", "stopDiscovering", "clearLogs", "isLoggerConnected", "isInspectorConnected"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var d=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var h=(l,t)=>{for(var n in t)d(l,n,{get:t[n],enumerable:!0})},S=(l,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!b.call(l,o)&&o!==n&&d(l,o,{get:()=>t[o],enumerable:!(s=x(t,o))||s.enumerable});return l};var C=l=>S(d({},"__esModule",{value:!0}),l);var F={};h(F,{DebugDevTools:()=>M});module.exports=C(F);var a=require("react"),e=require("react/jsx-runtime");const M=({sentMessages:l,receivedMessages:t,sendMessage:n})=>{const[s,o]=(0,a.useState)(""),[p,g]=(0,a.useState)(""),v=(0,a.useMemo)(()=>[...new Set(l.map(i=>i.type))],[l]),c=(0,a.useMemo)(()=>[...new Set(t.map(i=>i.type))],[t]),u=(0,a.useMemo)(()=>s?l.filter(i=>i.type===s):l,[l,s]),f=(0,a.useMemo)(()=>p?t.filter(i=>i.type===p):t,[t,p]);return(0,e.jsxs)("div",{style:{display:"flex",height:"100vh"},children:[(0,e.jsxs)("div",{style:{flex:1,borderRight:"1px solid #ddd",padding:"16px",boxSizing:"border-box",display:"flex",flexDirection:"column"},children:[(0,e.jsx)("h2",{children:"sent messages"}),(0,e.jsx)(T,{onSend:n}),(0,e.jsx)(y,{types:v,value:s,onChange:o,style:{marginTop:16}}),(0,e.jsx)("div",{style:{marginTop:16,flex:1,overflowY:"auto"},children:(0,e.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:u.map((i,r)=>(0,e.jsxs)("li",{style:{marginBottom:4},children:[(0,e.jsxs)("strong",{children:[i.type,":"]})," ",i.payload]},r))})})]}),(0,e.jsxs)("div",{style:{flex:1,padding:"16px",boxSizing:"border-box",display:"flex",flexDirection:"column"},children:[(0,e.jsx)("h2",{children:"received messages"}),(0,e.jsx)(y,{types:c,value:p,onChange:g}),(0,e.jsx)("div",{style:{marginTop:16,flex:1,overflowY:"auto"},children:(0,e.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none"},children:f.map((i,r)=>(0,e.jsxs)("li",{style:{marginBottom:4},children:[(0,e.jsxs)("strong",{children:[i.type,":"]})," ",i.payload]},r))})})]})]})},y=({types:l,value:t,onChange:n,style:s})=>(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,...s},children:[(0,e.jsx)("label",{children:"Filter by type:"}),(0,e.jsxs)("select",{value:t,onChange:o=>n(o.target.value),children:[(0,e.jsxs)("option",{value:"",children:["All (",l.length," types)"]}),l.map(o=>(0,e.jsx)("option",{value:o,children:o},o))]}),t&&(0,e.jsx)("button",{onClick:()=>n(""),style:{padding:"2px 8px"},children:"Clear"})]}),T=({onSend:l})=>{const[t,n]=(0,a.useState)(""),[s,o]=(0,a.useState)("");return(0,e.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,e.jsx)("input",{type:"text",value:t,placeholder:"type",onChange:p=>n(p.target.value),style:{flex:1}}),(0,e.jsx)("input",{type:"text",value:s,placeholder:"payload",onChange:p=>o(p.target.value),style:{flex:2}}),(0,e.jsx)("button",{onClick:()=>{t&&s&&(l(t,s),n(""),o(""))},children:"sendMessage"})]})};0&&(module.exports={DebugDevTools});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/screens/debugDevTools/index.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * @file DebugDevTools screen\n *\n * A debugging tool for DevTools developers. Displays raw sent and received\n * connector messages, allows filtering by message type, and provides a way\n * to manually send custom messages for testing.\n */\n\nimport React, { useMemo, useState } from \"react\";\n\nimport { type Message } from \"../../shared/PluginEvents\";\n\ninterface DebugDevToolsMessageProps {\n sentMessages: Message[];\n receivedMessages: Message[];\n sendMessage: (type: string, payload: string) => void;\n}\n\nexport const DebugDevTools: React.FC<DebugDevToolsMessageProps> = ({\n sentMessages,\n receivedMessages,\n sendMessage,\n}) => {\n const [sentFilter, setSentFilter] = useState(\"\");\n const [receivedFilter, setReceivedFilter] = useState(\"\");\n\n const sentMessageTypes = useMemo(\n () => [...new Set(sentMessages.map((m) => m.type))],\n [sentMessages],\n );\n const receivedMessageTypes = useMemo(\n () => [...new Set(receivedMessages.map((m) => m.type))],\n [receivedMessages],\n );\n\n const filteredSentMessages = useMemo(\n () =>\n sentFilter\n ? sentMessages.filter((m) => m.type === sentFilter)\n : sentMessages,\n [sentMessages, sentFilter],\n );\n\n const filteredReceivedMessages = useMemo(\n () =>\n receivedFilter\n ? receivedMessages.filter((m) => m.type === receivedFilter)\n : receivedMessages,\n [receivedMessages, receivedFilter],\n );\n\n return (\n <div style={{ display: \"flex\", height: \"100vh\" }}>\n {/* Left Pane: Sent Messages */}\n <div\n style={{\n flex: 1,\n borderRight: \"1px solid #ddd\",\n padding: \"16px\",\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <h2>sent messages</h2>\n <MessageSender onSend={sendMessage} />\n <MessageTypeFilter\n types={sentMessageTypes}\n value={sentFilter}\n onChange={setSentFilter}\n style={{ marginTop: 16 }}\n />\n <div style={{ marginTop: 16, flex: 1, overflowY: \"auto\" }}>\n <ul style={{ margin: 0, padding: 0, listStyle: \"none\" }}>\n {filteredSentMessages.map((msg, idx) => (\n <li key={idx} style={{ marginBottom: 4 }}>\n <strong>{msg.type}:</strong> {msg.payload}\n </li>\n ))}\n </ul>\n </div>\n </div>\n {/* Right Pane: Received Messages */}\n <div\n style={{\n flex: 1,\n padding: \"16px\",\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"column\",\n }}\n >\n <h2>received messages</h2>\n <MessageTypeFilter\n types={receivedMessageTypes}\n value={receivedFilter}\n onChange={setReceivedFilter}\n />\n <div style={{ marginTop: 16, flex: 1, overflowY: \"auto\" }}>\n <ul style={{ margin: 0, padding: 0, listStyle: \"none\" }}>\n {filteredReceivedMessages.map((msg, idx) => (\n <li key={idx} style={{ marginBottom: 4 }}>\n <strong>{msg.type}:</strong> {msg.payload}\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n );\n};\n\ninterface MessageTypeFilterProps {\n types: string[];\n value: string;\n onChange: (value: string) => void;\n style?: React.CSSProperties;\n}\n\nconst MessageTypeFilter: React.FC<MessageTypeFilterProps> = ({\n types,\n value,\n onChange,\n style,\n}) => (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8, ...style }}>\n <label>Filter by type:</label>\n <select value={value} onChange={(e) => onChange(e.target.value)}>\n <option value=\"\">All ({types.length} types)</option>\n {types.map((type) => (\n <option key={type} value={type}>\n {type}\n </option>\n ))}\n </select>\n {value && (\n <button onClick={() => onChange(\"\")} style={{ padding: \"2px 8px\" }}>\n Clear\n </button>\n )}\n </div>\n);\n\ninterface MessageSenderProps {\n onSend: (type: string, payload: string) => void;\n}\n\nconst MessageSender: React.FC<MessageSenderProps> = ({ onSend }) => {\n const [type, setType] = useState(\"\");\n const [payload, setPayload] = useState(\"\");\n\n return (\n <div style={{ display: \"flex\", gap: \"8px\", alignItems: \"center\" }}>\n <input\n type=\"text\"\n value={type}\n placeholder=\"type\"\n onChange={(e) => setType(e.target.value)}\n style={{ flex: 1 }}\n />\n <input\n type=\"text\"\n value={payload}\n placeholder=\"payload\"\n onChange={(e) => setPayload(e.target.value)}\n style={{ flex: 2 }}\n />\n <button\n onClick={() => {\n if (type && payload) {\n onSend(type, payload);\n setType(\"\");\n setPayload(\"\");\n }\n }}\n >\n sendMessage\n </button>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["debugDevTools_exports", "__export", "DebugDevTools", "__toCommonJS", "import_react", "import_jsx_runtime", "sentMessages", "receivedMessages", "sendMessage", "sentFilter", "setSentFilter", "receivedFilter", "setReceivedFilter", "sentMessageTypes", "m", "receivedMessageTypes", "filteredSentMessages", "filteredReceivedMessages", "MessageSender", "MessageTypeFilter", "msg", "idx", "types", "value", "onChange", "style", "e", "type", "onSend", "setType", "payload", "setPayload"]
|
|
7
|
+
}
|