@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre1
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/.github/ISSUE_TEMPLATE/custom.md +10 -0
- package/.husky/pre-push +3 -0
- package/.renovaterc.json +10 -0
- package/Changelog.md +2973 -0
- package/LICENSE +35 -0
- package/README.md +11 -0
- package/azure-pipelines.yml +34 -0
- package/config/eslintrc.js +190 -0
- package/config/jest.config.js +41 -0
- package/config/prettier.config.js +13 -0
- package/config/tsconfig.json +15 -0
- package/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip +0 -0
- package/jest.config.js +7 -0
- package/main/index.ts +32 -0
- package/mocks/deviceLibMock.ts +21 -0
- package/mocks/electronMock.ts +15 -0
- package/mocks/electronStoreMock.ts +19 -0
- package/mocks/emptyMock.ts +7 -0
- package/mocks/fileMock.ts +13 -0
- package/mocks/gaMock.ts +9 -0
- package/mocks/mockTests.test.ts +15 -0
- package/mocks/packageJsonMock.ts +10 -0
- package/mocks/remoteMock.ts +17 -0
- package/package.json +132 -0
- package/scripts/check-app-properties.ts +197 -0
- package/scripts/check-for-typescript.ts +41 -0
- package/scripts/esbuild-bootstrap.js +15 -0
- package/scripts/esbuild-renderer.js +131 -0
- package/scripts/esbuild.js +57 -0
- package/scripts/installHusky.ts +17 -0
- package/scripts/nordic-publish.ts +485 -0
- package/scripts/nrfconnect-license.ts +277 -0
- package/scripts/prepare-shared-release.ts +122 -0
- package/scripts/release-shared.test.ts +132 -0
- package/scripts/release-shared.ts +207 -0
- package/src/About/About.tsx +25 -0
- package/src/About/AboutButton.tsx +28 -0
- package/src/About/ApplicationCard.tsx +83 -0
- package/src/About/DeviceCard.tsx +74 -0
- package/src/About/DocumentationCard.tsx +18 -0
- package/src/About/DocumentationSection.tsx +24 -0
- package/src/About/Section.tsx +21 -0
- package/src/About/ShortcutButton.tsx +41 -0
- package/src/About/SupportCard.tsx +97 -0
- package/src/About/about.scss +40 -0
- package/src/About/documentationSlice.ts +41 -0
- package/src/About/section.scss +15 -0
- package/src/About/shortcutSlice.ts +52 -0
- package/src/Alert/Alert.module.scss +29 -0
- package/src/Alert/Alert.tsx +37 -0
- package/src/App/App.test.tsx +47 -0
- package/src/App/App.tsx +227 -0
- package/src/App/ConnectedToStore.tsx +19 -0
- package/src/App/VisibilityBar.tsx +103 -0
- package/src/App/app.scss +83 -0
- package/src/App/appLayout.ts +95 -0
- package/src/App/shared.scss +49 -0
- package/src/App/visibility-bar.scss +55 -0
- package/src/Button/Button.tsx +66 -0
- package/src/Button/button.module.scss +154 -0
- package/src/Card/Card.tsx +26 -0
- package/src/Card/card.module.scss +28 -0
- package/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.tsx +58 -0
- package/src/Device/BrokenDeviceDialog/broken-device-dialog.scss +18 -0
- package/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.tsx +48 -0
- package/src/Device/DeviceSelector/BasicDeviceInfo.tsx +115 -0
- package/src/Device/DeviceSelector/DeviceIcon.tsx +27 -0
- package/src/Device/DeviceSelector/DeviceList/AnimatedList.tsx +62 -0
- package/src/Device/DeviceSelector/DeviceList/BrokenDevice.tsx +34 -0
- package/src/Device/DeviceSelector/DeviceList/Device.tsx +84 -0
- package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +113 -0
- package/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.tsx +28 -0
- package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +65 -0
- package/src/Device/DeviceSelector/DeviceList/RenameDevice.tsx +22 -0
- package/src/Device/DeviceSelector/DeviceList/broken-device.scss +32 -0
- package/src/Device/DeviceSelector/DeviceList/device-list.scss +64 -0
- package/src/Device/DeviceSelector/DeviceList/device.scss +28 -0
- package/src/Device/DeviceSelector/DeviceList/edit-device-buttons.scss +31 -0
- package/src/Device/DeviceSelector/DeviceList/more-device-info.scss +33 -0
- package/src/Device/DeviceSelector/DeviceList/rename-device.scss +13 -0
- package/src/Device/DeviceSelector/DeviceSelector.test.tsx +342 -0
- package/src/Device/DeviceSelector/DeviceSelector.tsx +173 -0
- package/src/Device/DeviceSelector/Favorite.tsx +49 -0
- package/src/Device/DeviceSelector/SelectDevice.tsx +36 -0
- package/src/Device/DeviceSelector/SelectedDevice.tsx +65 -0
- package/src/Device/DeviceSelector/arrow-down.svg +1 -0
- package/src/Device/DeviceSelector/basic-device-info.scss +62 -0
- package/src/Device/DeviceSelector/device-icon.scss +27 -0
- package/src/Device/DeviceSelector/favorite.scss +17 -0
- package/src/Device/DeviceSelector/select-device.scss +38 -0
- package/src/Device/DeviceSelector/selected-device.scss +57 -0
- package/src/Device/DeviceSetup/DeviceSetupView.tsx +102 -0
- package/src/Device/deviceAutoSelectSlice.ts +144 -0
- package/src/Device/deviceInfo/deviceInfo.ts +254 -0
- package/src/Device/deviceInfo/nRF51-Series-logo.svg +1 -0
- package/src/Device/deviceInfo/nRF52-Series-logo.svg +1 -0
- package/src/Device/deviceInfo/nRF53-Series-logo.svg +1 -0
- package/src/Device/deviceInfo/nRF70-Series_no-background_RGB.svg +36 -0
- package/src/Device/deviceInfo/nRF91-Series-logo.svg +1 -0
- package/src/Device/deviceInfo/ppk-logo.svg +1 -0
- package/src/Device/deviceInfo/unknown-logo.svg +30 -0
- package/src/Device/deviceInfo/unknown-nordic-logo.svg +25 -0
- package/src/Device/deviceLibWrapper.test.ts +97 -0
- package/src/Device/deviceLibWrapper.ts +133 -0
- package/src/Device/deviceLister.test.ts +89 -0
- package/src/Device/deviceLister.ts +396 -0
- package/src/Device/deviceSetup.ts +264 -0
- package/src/Device/deviceSetupSlice.ts +94 -0
- package/src/Device/deviceSlice.ts +248 -0
- package/src/Device/dfu-cc.ts +162 -0
- package/src/Device/initPacket.ts +402 -0
- package/src/Device/jprogOperations.ts +206 -0
- package/src/Device/sdfuOperations.ts +601 -0
- package/src/Dialog/Dialog.test.tsx +134 -0
- package/src/Dialog/Dialog.tsx +236 -0
- package/src/Dialog/dialog.scss +60 -0
- package/src/Dropdown/Dropdown.module.scss +83 -0
- package/src/Dropdown/Dropdown.test.tsx +62 -0
- package/src/Dropdown/Dropdown.tsx +106 -0
- package/src/ErrorBoundary/ErrorBoundary.test.tsx +105 -0
- package/src/ErrorBoundary/ErrorBoundary.tsx +186 -0
- package/src/ErrorBoundary/bug.svg +1 -0
- package/src/ErrorBoundary/error-boundary.scss +102 -0
- package/src/ErrorDialog/ErrorDialog.test.tsx +70 -0
- package/src/ErrorDialog/ErrorDialog.tsx +94 -0
- package/src/ErrorDialog/error.scss +14 -0
- package/src/ErrorDialog/errorDialogSlice.test.ts +64 -0
- package/src/ErrorDialog/errorDialogSlice.ts +80 -0
- package/src/FactoryReset/FactoryResetButton.test.tsx +46 -0
- package/src/FactoryReset/FactoryResetButton.tsx +81 -0
- package/src/InlineInput/InlineInput.tsx +170 -0
- package/src/InlineInput/NumberInlineInput.tsx +107 -0
- package/src/InlineInput/inline-input.scss +38 -0
- package/src/InlineInput/number-inline-input.scss +15 -0
- package/src/Log/LogEntry.tsx +62 -0
- package/src/Log/LogViewer.tsx +54 -0
- package/src/Log/log-entry.scss +30 -0
- package/src/Log/log-viewer.scss +24 -0
- package/src/Log/logSlice.ts +73 -0
- package/src/Log/syncLogToStore.ts +36 -0
- package/src/Logo/Logo.tsx +48 -0
- package/src/Logo/logo.scss +11 -0
- package/src/Logo/nordic-logo-blue-icon-only.png +0 -0
- package/src/Logo/nordic-logo-gray-icon-only.png +0 -0
- package/src/Logo/nordic-logo-white-icon-only.png +0 -0
- package/src/Main/Main.tsx +13 -0
- package/src/Main/main.scss +13 -0
- package/src/MasonryLayout/MasonryLayout.tsx +234 -0
- package/src/MasonryLayout/masonryLayout.module.scss +46 -0
- package/src/NavBar/NavBar.tsx +22 -0
- package/src/NavBar/NavMenu.test.tsx +41 -0
- package/src/NavBar/NavMenu.tsx +53 -0
- package/src/NavBar/NavMenuItem.tsx +41 -0
- package/src/NavBar/nav-bar.scss +26 -0
- package/src/NavBar/nav-menu-item.scss +34 -0
- package/src/OpenApp/openApp.ts +18 -0
- package/src/Panes/FeedbackPane.tsx +149 -0
- package/src/PseudoButton/PseudoButton.tsx +56 -0
- package/src/PseudoButton/pseudo-button.scss +11 -0
- package/src/SerialPort/ConflictingSettingsDialog.tsx +242 -0
- package/src/SerialPort/SerialPort.test.ts +54 -0
- package/src/SerialPort/SerialPort.ts +202 -0
- package/src/Shortcuts/Shortcut-item.scss +33 -0
- package/src/Shortcuts/Shortcut-modal.scss +20 -0
- package/src/Shortcuts/ShortcutItem.tsx +48 -0
- package/src/Shortcuts/ShortcutModal.tsx +67 -0
- package/src/SidePanel/Group.tsx +106 -0
- package/src/SidePanel/SidePanel.tsx +19 -0
- package/src/SidePanel/group.scss +42 -0
- package/src/SidePanel/sidepanel.scss +20 -0
- package/src/Slider/Bar.tsx +24 -0
- package/src/Slider/Factor.test.ts +48 -0
- package/src/Slider/Handle.tsx +121 -0
- package/src/Slider/Slider.test.tsx +25 -0
- package/src/Slider/Slider.tsx +91 -0
- package/src/Slider/Ticks.tsx +54 -0
- package/src/Slider/__snapshots__/Slider.test.tsx.snap +50 -0
- package/src/Slider/bar.scss +24 -0
- package/src/Slider/factor.ts +24 -0
- package/src/Slider/handle.scss +32 -0
- package/src/Slider/percentage.ts +67 -0
- package/src/Slider/range.ts +92 -0
- package/src/Slider/slider.scss +14 -0
- package/src/Slider/ticks.scss +28 -0
- package/src/Slider/variables.scss +16 -0
- package/src/StartStopButton/StartStopButton.tsx +60 -0
- package/src/StartStopButton/play-circle.svg +1 -0
- package/src/StartStopButton/start-stop-button.scss +47 -0
- package/src/StartStopButton/stop-circle.svg +1 -0
- package/src/StateSelector/StateSelector.tsx +64 -0
- package/src/StateSelector/state-selector.scss +38 -0
- package/src/Stepper/Stepper.tsx +139 -0
- package/src/Stepper/stepper.scss +127 -0
- package/src/Toggle/Toggle.tsx +120 -0
- package/src/Toggle/toggle.scss +109 -0
- package/src/bootstrap.scss +14 -0
- package/src/index.ts +146 -0
- package/src/logging/appTransport.test.ts +78 -0
- package/src/logging/appTransport.ts +41 -0
- package/src/logging/describeError.test.ts +38 -0
- package/src/logging/describeError.ts +56 -0
- package/src/logging/index.ts +103 -0
- package/src/logging/logBuffer.test.ts +41 -0
- package/src/logging/logBuffer.ts +24 -0
- package/src/logging/sendInitialLogMessages.ts +64 -0
- package/src/store.ts +60 -0
- package/src/svg.d.ts +15 -0
- package/src/utils/AppTypes.ts +60 -0
- package/src/utils/appDirs.ts +78 -0
- package/src/utils/bleChannels.ts +16 -0
- package/src/utils/classNames.test.ts +29 -0
- package/src/utils/classNames.ts +25 -0
- package/src/utils/colors.scss +46 -0
- package/src/utils/colors.ts +38 -0
- package/src/utils/describeVersion.ts +21 -0
- package/src/utils/environment.ts +6 -0
- package/src/utils/logLibVersions.ts +103 -0
- package/src/utils/open.ts +46 -0
- package/src/utils/packageJson.ts +60 -0
- package/src/utils/persistentStore.ts +144 -0
- package/src/utils/systemReport.ts +160 -0
- package/src/utils/truncateMiddle.test.ts +21 -0
- package/src/utils/truncateMiddle.ts +20 -0
- package/src/utils/usageData.ts +189 -0
- package/src/utils/useHotKey.ts +62 -0
- package/src/utils/useStopwatch.test.tsx +311 -0
- package/src/utils/useStopwatch.ts +140 -0
- package/src/variables.scss +820 -0
- package/styles.scss +88 -0
- package/test/dispatchTo.ts +23 -0
- package/test/index.ts +7 -0
- package/test/jestResolver.js +28 -0
- package/test/setupTests.ts +27 -0
- package/test/testUtil.ts +20 -0
- package/test/testrenderer.tsx +39 -0
- package/tsconfig.json +9 -0
- package/typings/externals.d.ts +31 -0
- package/typings/generated/main/index.d.ts +25 -0
- package/typings/generated/src/About/About.d.ts +4 -0
- package/typings/generated/src/About/AboutButton.d.ts +8 -0
- package/typings/generated/src/About/ApplicationCard.d.ts +3 -0
- package/typings/generated/src/About/DeviceCard.d.ts +3 -0
- package/typings/generated/src/About/DocumentationCard.d.ts +3 -0
- package/typings/generated/src/About/DocumentationSection.d.ts +9 -0
- package/typings/generated/src/About/Section.d.ts +8 -0
- package/typings/generated/src/About/ShortcutButton.d.ts +6 -0
- package/typings/generated/src/About/SupportCard.d.ts +3 -0
- package/typings/generated/src/About/documentationSlice.d.ts +12 -0
- package/typings/generated/src/About/shortcutSlice.d.ts +11 -0
- package/typings/generated/src/Alert/Alert.d.ts +10 -0
- package/typings/generated/src/App/App.d.ts +27 -0
- package/typings/generated/src/App/App.test.d.ts +1 -0
- package/typings/generated/src/App/ConnectedToStore.d.ts +7 -0
- package/typings/generated/src/App/VisibilityBar.d.ts +6 -0
- package/typings/generated/src/App/appLayout.d.ts +17 -0
- package/typings/generated/src/Button/Button.d.ts +13 -0
- package/typings/generated/src/Card/Card.d.ts +7 -0
- package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +4 -0
- package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +12 -0
- package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +11 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +7 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +10 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +7 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +10 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +10 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +9 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +7 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +6 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +20 -0
- package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +1 -0
- package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +9 -0
- package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +8 -0
- package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +7 -0
- package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +3 -0
- package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +28 -0
- package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +18 -0
- package/typings/generated/src/Device/deviceLibWrapper.d.ts +8 -0
- package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +1 -0
- package/typings/generated/src/Device/deviceLister.d.ts +25 -0
- package/typings/generated/src/Device/deviceLister.test.d.ts +2 -0
- package/typings/generated/src/Device/deviceSetup.d.ts +40 -0
- package/typings/generated/src/Device/deviceSetupSlice.d.ts +20 -0
- package/typings/generated/src/Device/deviceSlice.d.ts +30 -0
- package/typings/generated/src/Device/dfu-cc.d.ts +3 -0
- package/typings/generated/src/Device/initPacket.d.ts +109 -0
- package/typings/generated/src/Device/jprogOperations.d.ts +2 -0
- package/typings/generated/src/Device/sdfuOperations.d.ts +14 -0
- package/typings/generated/src/Dialog/Dialog.d.ts +64 -0
- package/typings/generated/src/Dialog/Dialog.test.d.ts +1 -0
- package/typings/generated/src/Dropdown/Dropdown.d.ts +16 -0
- package/typings/generated/src/Dropdown/Dropdown.test.d.ts +1 -0
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +26 -0
- package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +1 -0
- package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +4 -0
- package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +1 -0
- package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +23 -0
- package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +1 -0
- package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +12 -0
- package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +1 -0
- package/typings/generated/src/InlineInput/InlineInput.d.ts +14 -0
- package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +12 -0
- package/typings/generated/src/Log/LogEntry.d.ts +7 -0
- package/typings/generated/src/Log/LogViewer.d.ts +5 -0
- package/typings/generated/src/Log/logSlice.d.ts +12 -0
- package/typings/generated/src/Log/syncLogToStore.d.ts +11 -0
- package/typings/generated/src/Logo/Logo.d.ts +6 -0
- package/typings/generated/src/Main/Main.d.ts +6 -0
- package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +14 -0
- package/typings/generated/src/NavBar/NavBar.d.ts +6 -0
- package/typings/generated/src/NavBar/NavMenu.d.ts +3 -0
- package/typings/generated/src/NavBar/NavMenu.test.d.ts +1 -0
- package/typings/generated/src/NavBar/NavMenuItem.d.ts +10 -0
- package/typings/generated/src/OpenApp/openApp.d.ts +7 -0
- package/typings/generated/src/Panes/FeedbackPane.d.ts +3 -0
- package/typings/generated/src/PseudoButton/PseudoButton.d.ts +10 -0
- package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +13 -0
- package/typings/generated/src/SerialPort/SerialPort.d.ts +21 -0
- package/typings/generated/src/SerialPort/SerialPort.test.d.ts +1 -0
- package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +8 -0
- package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +8 -0
- package/typings/generated/src/SidePanel/Group.d.ts +16 -0
- package/typings/generated/src/SidePanel/SidePanel.d.ts +7 -0
- package/typings/generated/src/Slider/Bar.d.ts +7 -0
- package/typings/generated/src/Slider/Factor.test.d.ts +1 -0
- package/typings/generated/src/Slider/Handle.d.ts +13 -0
- package/typings/generated/src/Slider/Slider.d.ts +15 -0
- package/typings/generated/src/Slider/Slider.test.d.ts +1 -0
- package/typings/generated/src/Slider/Ticks.d.ts +12 -0
- package/typings/generated/src/Slider/factor.d.ts +1 -0
- package/typings/generated/src/Slider/percentage.d.ts +4 -0
- package/typings/generated/src/Slider/range.d.ts +13 -0
- package/typings/generated/src/StartStopButton/StartStopButton.d.ts +16 -0
- package/typings/generated/src/StateSelector/StateSelector.d.ts +15 -0
- package/typings/generated/src/Stepper/Stepper.d.ts +26 -0
- package/typings/generated/src/Toggle/Toggle.d.ts +19 -0
- package/typings/generated/src/index.d.ts +69 -0
- package/typings/generated/src/logging/appTransport.d.ts +12 -0
- package/typings/generated/src/logging/appTransport.test.d.ts +1 -0
- package/typings/generated/src/logging/describeError.d.ts +2 -0
- package/typings/generated/src/logging/describeError.test.d.ts +1 -0
- package/typings/generated/src/logging/index.d.ts +9 -0
- package/typings/generated/src/logging/logBuffer.d.ts +9 -0
- package/typings/generated/src/logging/logBuffer.test.d.ts +1 -0
- package/typings/generated/src/logging/sendInitialLogMessages.d.ts +2 -0
- package/typings/generated/src/store.d.ts +65 -0
- package/typings/generated/src/utils/AppTypes.d.ts +49 -0
- package/typings/generated/src/utils/appDirs.d.ts +35 -0
- package/typings/generated/src/utils/bleChannels.d.ts +6 -0
- package/typings/generated/src/utils/classNames.d.ts +17 -0
- package/typings/generated/src/utils/classNames.test.d.ts +1 -0
- package/typings/generated/src/utils/colors.d.ts +31 -0
- package/typings/generated/src/utils/describeVersion.d.ts +3 -0
- package/typings/generated/src/utils/environment.d.ts +1 -0
- package/typings/generated/src/utils/logLibVersions.d.ts +2 -0
- package/typings/generated/src/utils/open.d.ts +15 -0
- package/typings/generated/src/utils/packageJson.d.ts +4 -0
- package/typings/generated/src/utils/persistentStore.d.ts +35 -0
- package/typings/generated/src/utils/systemReport.d.ts +4 -0
- package/typings/generated/src/utils/truncateMiddle.d.ts +2 -0
- package/typings/generated/src/utils/truncateMiddle.test.d.ts +1 -0
- package/typings/generated/src/utils/usageData.d.ts +63 -0
- package/typings/generated/src/utils/useHotKey.d.ts +6 -0
- package/typings/generated/src/utils/useStopwatch.d.ts +22 -0
- package/typings/generated/src/utils/useStopwatch.test.d.ts +1 -0
- package/typings/generated/test/dispatchTo.d.ts +3 -0
- package/typings/generated/test/testrenderer.d.ts +5 -0
- package/typings/nrf-intel-hex.d.ts +58 -0
package/styles.scss
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2015 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@use "sass:color";
|
|
8
|
+
|
|
9
|
+
$nordic-blue: #00a9ce;
|
|
10
|
+
$blue-slate: #0033a0;
|
|
11
|
+
|
|
12
|
+
$white: white;
|
|
13
|
+
$black: black;
|
|
14
|
+
|
|
15
|
+
$primary: $nordic-blue;
|
|
16
|
+
$primary-darkened: color.scale($nordic-blue, $lightness: -10%);
|
|
17
|
+
$secondary: $white;
|
|
18
|
+
$accent: $blue-slate;
|
|
19
|
+
|
|
20
|
+
$gray-50: #eceff1;
|
|
21
|
+
$gray-100: #cfd8dc;
|
|
22
|
+
$gray-200: #b0bec5;
|
|
23
|
+
$gray-300: #90a4ae;
|
|
24
|
+
$gray-400: #78909c;
|
|
25
|
+
$gray-500: #607d8b;
|
|
26
|
+
$gray-600: #546e7a;
|
|
27
|
+
$gray-700: #455a64;
|
|
28
|
+
$gray-800: #37474f;
|
|
29
|
+
$gray-900: #263238;
|
|
30
|
+
|
|
31
|
+
$red: #f44336;
|
|
32
|
+
$indigo: #3f51b5;
|
|
33
|
+
$amber: #ffc107;
|
|
34
|
+
$purple: #9c27b0;
|
|
35
|
+
$green: #4caf50;
|
|
36
|
+
$deep-purple: #673ab7;
|
|
37
|
+
$orange: #ff9800;
|
|
38
|
+
$lime: #cddc39;
|
|
39
|
+
$pink: #e91e63;
|
|
40
|
+
|
|
41
|
+
$brand-success: $green;
|
|
42
|
+
$brand-warning: $orange;
|
|
43
|
+
$brand-danger: $red;
|
|
44
|
+
|
|
45
|
+
$custom-control-indicator-bg: $gray-50;
|
|
46
|
+
$custom-control-indicator-checked-bg: $gray-300;
|
|
47
|
+
|
|
48
|
+
$side-panel-width: 260px;
|
|
49
|
+
$nav-bar-height: 40px;
|
|
50
|
+
$log-viewer-height: 155px;
|
|
51
|
+
$visibility-bar-height: 32px;
|
|
52
|
+
|
|
53
|
+
$font-weight-light: 300;
|
|
54
|
+
$font-weight-normal: 400;
|
|
55
|
+
$font-weight-bold: 700;
|
|
56
|
+
|
|
57
|
+
$normal-transition: 0.2s ease-in-out;
|
|
58
|
+
|
|
59
|
+
$disabled-opacity: 0.38;
|
|
60
|
+
|
|
61
|
+
@mixin scrollbars-helper($background-color, $scrollbar-color, $scrollbar-hover-color) {
|
|
62
|
+
&::-webkit-scrollbar, &::-webkit-scrollbar-corner {
|
|
63
|
+
width: 14px;
|
|
64
|
+
height: 14px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&::-webkit-scrollbar-thumb {
|
|
68
|
+
background: $scrollbar-color;
|
|
69
|
+
border-radius: 14px;
|
|
70
|
+
border: 5px solid $background-color;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
74
|
+
background: $scrollbar-hover-color;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@mixin scrollbars($background-color) {
|
|
79
|
+
@if $background-color == $gray-50 or
|
|
80
|
+
$background-color == $gray-100 or
|
|
81
|
+
$background-color == $white {
|
|
82
|
+
@include scrollbars-helper($background-color, $gray-500, $gray-700);
|
|
83
|
+
} @else if $background-color == $gray-900 or $background-color == $gray-700 {
|
|
84
|
+
@include scrollbars-helper($background-color, $gray-400, $gray-200);
|
|
85
|
+
} @else {
|
|
86
|
+
@error "Unable to configure scrollbars for background color #{$background-color}. You must add a configuration for it.";
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Action, Reducer } from 'redux';
|
|
8
|
+
|
|
9
|
+
const initAction = {
|
|
10
|
+
type: '@@INIT',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default <State>(aReducer: Reducer<State>, actions: Action[] = []) => {
|
|
14
|
+
const state = [initAction, ...actions].reduce(aReducer, undefined);
|
|
15
|
+
|
|
16
|
+
if (state === undefined) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
'Redux is broken, after dispatchig actions, the state must never be undefined.'
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return state;
|
|
23
|
+
};
|
package/test/index.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
module.exports = (path, options) =>
|
|
8
|
+
options.defaultResolver(path, {
|
|
9
|
+
...options,
|
|
10
|
+
packageFilter: pkg => {
|
|
11
|
+
// This is a workaround for https://github.com/uuidjs/uuid/pull/616
|
|
12
|
+
//
|
|
13
|
+
// jest-environment-jsdom 28+ tries to use browser exports instead of default exports,
|
|
14
|
+
// but uuid only offers an ESM browser export and not a CommonJS one. Jest does not yet
|
|
15
|
+
// support ESM modules natively, so this causes a Jest error related to trying to parse
|
|
16
|
+
// "export" syntax.
|
|
17
|
+
//
|
|
18
|
+
// This workaround prevents Jest from considering uuid's module-based exports at all;
|
|
19
|
+
// it falls back to uuid's CommonJS+node "main" property.
|
|
20
|
+
//
|
|
21
|
+
// Once we're able to migrate our Jest config to ESM this can go away.
|
|
22
|
+
if (pkg.name === 'uuid') {
|
|
23
|
+
delete pkg.exports;
|
|
24
|
+
delete pkg.module;
|
|
25
|
+
}
|
|
26
|
+
return pkg;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* eslint-disable simple-import-sort/imports --
|
|
8
|
+
sorting the import order must be disabled for this file because enzyme
|
|
9
|
+
and testing-library are sensitive to the order in which they are run
|
|
10
|
+
*/
|
|
11
|
+
import enzyme from 'enzyme';
|
|
12
|
+
import Adapter from 'enzyme-adapter-react-16';
|
|
13
|
+
|
|
14
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
15
|
+
import { configure } from '@testing-library/dom';
|
|
16
|
+
|
|
17
|
+
enzyme.configure({ adapter: new Adapter() });
|
|
18
|
+
|
|
19
|
+
if (process.env.TESTING_ASYNC_TIMEOUT != null) {
|
|
20
|
+
configure({ asyncUtilTimeout: Number(process.env.TESTING_ASYNC_TIMEOUT) });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
window.ResizeObserver = class {
|
|
24
|
+
observe() {} // eslint-disable-line class-methods-use-this -- because we just stub things here
|
|
25
|
+
disconnect() {} // eslint-disable-line class-methods-use-this
|
|
26
|
+
unobserve() {} // eslint-disable-line class-methods-use-this
|
|
27
|
+
};
|
package/test/testUtil.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2015 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { combineReducers, Reducer } from 'redux';
|
|
8
|
+
|
|
9
|
+
import { rootReducerSpec } from '../src/store';
|
|
10
|
+
import dispatchTo from './dispatchTo';
|
|
11
|
+
import { testRendererForApps } from './testrenderer';
|
|
12
|
+
|
|
13
|
+
const rootReducer = <AppState>(appReducer?: Reducer<AppState>) =>
|
|
14
|
+
combineReducers(rootReducerSpec(appReducer));
|
|
15
|
+
|
|
16
|
+
export const testUtils = {
|
|
17
|
+
dispatchTo,
|
|
18
|
+
render: testRendererForApps,
|
|
19
|
+
rootReducer,
|
|
20
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2015 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { Provider } from 'react-redux';
|
|
9
|
+
import { render } from '@testing-library/react';
|
|
10
|
+
import { Action, Reducer } from 'redux';
|
|
11
|
+
|
|
12
|
+
import createStore from '../src/store';
|
|
13
|
+
|
|
14
|
+
const createPreparedStore = (actions: Action[], appReducer?: Reducer) => {
|
|
15
|
+
const store = createStore(appReducer);
|
|
16
|
+
actions.forEach(store.dispatch);
|
|
17
|
+
|
|
18
|
+
return store;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const preparedProvider =
|
|
22
|
+
(actions: Action[], appReducer?: Reducer) => (props: object) =>
|
|
23
|
+
(
|
|
24
|
+
<Provider
|
|
25
|
+
store={createPreparedStore(actions, appReducer)}
|
|
26
|
+
{...props}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
export const testRendererForApps =
|
|
31
|
+
(appReducer?: Reducer) =>
|
|
32
|
+
(element: React.ReactElement, actions: Action[] = []) =>
|
|
33
|
+
render(element, { wrapper: preparedProvider(actions, appReducer) });
|
|
34
|
+
|
|
35
|
+
export default (
|
|
36
|
+
element: React.ReactElement,
|
|
37
|
+
actions: Action[] = [], // eslint-disable-line default-param-last -- Because we want to allow people to specify actions but no specifix reducer
|
|
38
|
+
appReducer?: Reducer
|
|
39
|
+
) => render(element, { wrapper: preparedProvider(actions, appReducer) });
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2015 Nordic Semiconductor ASA
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
declare module 'prettysize' {
|
|
8
|
+
export default function pretty(n: number): string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
declare module '*.module.scss' {
|
|
12
|
+
const properties: {
|
|
13
|
+
[property: string]: string;
|
|
14
|
+
};
|
|
15
|
+
export = properties;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface Window {
|
|
19
|
+
appDir: string;
|
|
20
|
+
appDataDir: string;
|
|
21
|
+
appLogDir: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Let typescript compiler in `npm run lint` resolve css modules
|
|
25
|
+
declare module '*.icss.scss';
|
|
26
|
+
declare module '*.gif';
|
|
27
|
+
|
|
28
|
+
declare module '*.png' {
|
|
29
|
+
const path: string;
|
|
30
|
+
export default path;
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const SERIALPORT_CHANNEL: {
|
|
2
|
+
OPEN: string;
|
|
3
|
+
CLOSE: string;
|
|
4
|
+
WRITE: string;
|
|
5
|
+
UPDATE: string;
|
|
6
|
+
SET: string;
|
|
7
|
+
ON_CLOSED: string;
|
|
8
|
+
ON_DATA: string;
|
|
9
|
+
ON_UPDATE: string;
|
|
10
|
+
ON_SET: string;
|
|
11
|
+
ON_CHANGED: string;
|
|
12
|
+
ON_WRITE: string;
|
|
13
|
+
IS_OPEN: string;
|
|
14
|
+
GET_OPTIONS: string;
|
|
15
|
+
};
|
|
16
|
+
export type OverwriteOptions = {
|
|
17
|
+
overwrite?: boolean;
|
|
18
|
+
settingsLocked?: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type OpenAppOptions = {
|
|
21
|
+
device?: {
|
|
22
|
+
serialNumber: string;
|
|
23
|
+
serialPortPath?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DocumentationSectionProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
linkLabel?: string;
|
|
5
|
+
link?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DocumentationState {
|
|
8
|
+
sections: React.Component<DocumentationSectionProps>[];
|
|
9
|
+
}
|
|
10
|
+
export declare const reducer: import("redux").Reducer<DocumentationState, import("redux").AnyAction>, setDocumentationSections: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "documentation/setDocumentationSections">;
|
|
11
|
+
export declare const documentationSections: ({ documentation }: any) => any;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RootState } from '../store';
|
|
2
|
+
export interface Shortcut {
|
|
3
|
+
hotKey: string[] | string;
|
|
4
|
+
title: string;
|
|
5
|
+
isGlobal: boolean;
|
|
6
|
+
action: () => void;
|
|
7
|
+
}
|
|
8
|
+
export type ShortcutState = Set<Shortcut>;
|
|
9
|
+
export declare const reducer: import("redux").Reducer<ShortcutState, import("redux").AnyAction>, addShortcut: import("@reduxjs/toolkit").ActionCreatorWithPayload<Shortcut, "shortcuts/addShortcut">, removeShortcut: import("@reduxjs/toolkit").ActionCreatorWithPayload<Shortcut, "shortcuts/removeShortcut">;
|
|
10
|
+
export declare const globalShortcuts: (state: RootState) => Shortcut[];
|
|
11
|
+
export declare const localShortcuts: (state: RootState) => Shortcut[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type Variant = 'info' | 'warning' | 'success' | 'danger';
|
|
3
|
+
export interface AlertProps {
|
|
4
|
+
variant: Variant;
|
|
5
|
+
label?: React.ReactNode;
|
|
6
|
+
dismissable?: boolean;
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const Alert: React.FC<AlertProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import 'focus-visible';
|
|
2
|
+
import { FC, ReactNode } from 'react';
|
|
3
|
+
import { Reducer } from 'redux';
|
|
4
|
+
import './app.scss';
|
|
5
|
+
import './shared.scss';
|
|
6
|
+
export interface PaneProps {
|
|
7
|
+
active: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface Pane {
|
|
10
|
+
name: string;
|
|
11
|
+
Main: FC<PaneProps>;
|
|
12
|
+
SidePanel?: FC;
|
|
13
|
+
}
|
|
14
|
+
interface ConnectedAppProps {
|
|
15
|
+
deviceSelect?: ReactNode;
|
|
16
|
+
panes: Pane[];
|
|
17
|
+
sidePanel?: ReactNode;
|
|
18
|
+
showLogByDefault?: boolean;
|
|
19
|
+
reportUsageData?: boolean;
|
|
20
|
+
documentation?: ReactNode[];
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
autoReselectByDefault?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const _default: ({ appReducer, ...props }: {
|
|
25
|
+
appReducer?: Reducer<any, import("redux").AnyAction> | undefined;
|
|
26
|
+
} & ConnectedAppProps) => JSX.Element;
|
|
27
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RootState } from '../store';
|
|
2
|
+
export interface AppLayout {
|
|
3
|
+
isSidePanelVisible: boolean;
|
|
4
|
+
isLogVisible: boolean;
|
|
5
|
+
currentPane: number;
|
|
6
|
+
paneNames: string[];
|
|
7
|
+
}
|
|
8
|
+
interface PaneSpec {
|
|
9
|
+
name: string;
|
|
10
|
+
Main: unknown;
|
|
11
|
+
}
|
|
12
|
+
export declare const reducer: import("redux").Reducer<AppLayout, import("redux").AnyAction>, setCurrentPane: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "appLayout/setCurrentPane">, setPanes: import("@reduxjs/toolkit").ActionCreatorWithPayload<PaneSpec[], "appLayout/setPanes">, toggleLogVisible: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appLayout/toggleLogVisible">, toggleSidePanelVisible: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appLayout/toggleSidePanelVisible">, switchToNextPane: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appLayout/switchToNextPane">, switchToPreviousPane: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"appLayout/switchToPreviousPane">;
|
|
13
|
+
export declare const isSidePanelVisible: (state: RootState) => boolean;
|
|
14
|
+
export declare const isLogVisible: (state: RootState) => boolean;
|
|
15
|
+
export declare const paneNames: (state: RootState) => string[];
|
|
16
|
+
export declare const currentPane: ({ appLayout }: RootState) => number;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ButtonVariants = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'link' | 'custom';
|
|
3
|
+
type ButtonProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
variant: ButtonVariants;
|
|
6
|
+
className?: string;
|
|
7
|
+
onClick: React.MouseEventHandler<HTMLButtonElement>;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
title?: string;
|
|
10
|
+
large?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const Button: React.FC<ButtonProps>;
|
|
13
|
+
export default Button;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RootState } from '../../store';
|
|
2
|
+
export interface BrokenDeviceDialog {
|
|
3
|
+
isVisible: boolean;
|
|
4
|
+
description: string;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const reducer: import("redux").Reducer<BrokenDeviceDialog, import("redux").AnyAction>, hideDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"brokenDeviceDialog/hideDialog">, showDialog: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "brokenDeviceDialog/showDialog">;
|
|
8
|
+
export declare const isVisible: (state: RootState) => boolean;
|
|
9
|
+
export declare const info: (state: RootState) => {
|
|
10
|
+
description: string;
|
|
11
|
+
url: string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { Device } from '../deviceSlice';
|
|
3
|
+
import './basic-device-info.scss';
|
|
4
|
+
interface BasicDeviceProps {
|
|
5
|
+
device: Device;
|
|
6
|
+
deviceNameInputRef?: React.Ref<HTMLInputElement>;
|
|
7
|
+
toggles?: ReactNode;
|
|
8
|
+
showWaitingStatus?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: ({ device, deviceNameInputRef, toggles, showWaitingStatus, }: BasicDeviceProps) => JSX.Element;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { Device } from '../../deviceSlice';
|
|
3
|
+
export declare const AnimatedList: FC<{
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
devices: Device[];
|
|
6
|
+
}>;
|
|
7
|
+
export declare const AnimatedItem: FC<{
|
|
8
|
+
itemKey: string;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Device as DeviceProps } from '../../deviceSlice';
|
|
3
|
+
import './device.scss';
|
|
4
|
+
interface Props {
|
|
5
|
+
device: DeviceProps;
|
|
6
|
+
doSelectDevice: (device: DeviceProps, autoReselected: boolean) => void;
|
|
7
|
+
allowMoreInfoVisible: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: ({ device, doSelectDevice, allowMoreInfoVisible }: Props) => JSX.Element;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Device as DeviceProps } from '../../deviceSlice';
|
|
3
|
+
import './device-list.scss';
|
|
4
|
+
interface Props {
|
|
5
|
+
doSelectDevice: (device: DeviceProps, autoReselected: boolean) => void;
|
|
6
|
+
isVisible: boolean;
|
|
7
|
+
deviceFilter?: (device: DeviceProps) => boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const DeviceList: FC<Props>;
|
|
10
|
+
export default DeviceList;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { Device } from '../../deviceSlice';
|
|
3
|
+
import './edit-device-buttons.scss';
|
|
4
|
+
interface Props {
|
|
5
|
+
device: Device;
|
|
6
|
+
startEditingDeviceName: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const EditDeviceButtons: FC<Props>;
|
|
9
|
+
export default EditDeviceButtons;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
|
|
3
|
+
import { DeviceSetupConfig } from '../deviceSetup';
|
|
4
|
+
import { Device } from '../deviceSlice';
|
|
5
|
+
interface OutdatedDeviceTraits {
|
|
6
|
+
serialPort?: boolean;
|
|
7
|
+
serialport?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface Props {
|
|
10
|
+
deviceListing: DeviceTraits & OutdatedDeviceTraits;
|
|
11
|
+
deviceSetupConfig?: DeviceSetupConfig;
|
|
12
|
+
onDeviceSelected?: (device: Device, autoReselected: boolean) => void;
|
|
13
|
+
onDeviceDeselected?: () => void;
|
|
14
|
+
onDeviceConnected?: (device: Device) => void;
|
|
15
|
+
onDeviceDisconnected?: (device: Device) => void;
|
|
16
|
+
onDeviceIsReady?: (device: Device) => void;
|
|
17
|
+
deviceFilter?: (device: Device) => boolean;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: ({ deviceListing, deviceSetupConfig, onDeviceSelected, onDeviceDeselected, onDeviceConnected, onDeviceDisconnected, onDeviceIsReady, deviceFilter, }: Props) => JSX.Element;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|