@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.
Files changed (367) hide show
  1. package/.github/ISSUE_TEMPLATE/custom.md +10 -0
  2. package/.husky/pre-push +3 -0
  3. package/.renovaterc.json +10 -0
  4. package/Changelog.md +2973 -0
  5. package/LICENSE +35 -0
  6. package/README.md +11 -0
  7. package/azure-pipelines.yml +34 -0
  8. package/config/eslintrc.js +190 -0
  9. package/config/jest.config.js +41 -0
  10. package/config/prettier.config.js +13 -0
  11. package/config/tsconfig.json +15 -0
  12. package/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip +0 -0
  13. package/jest.config.js +7 -0
  14. package/main/index.ts +32 -0
  15. package/mocks/deviceLibMock.ts +21 -0
  16. package/mocks/electronMock.ts +15 -0
  17. package/mocks/electronStoreMock.ts +19 -0
  18. package/mocks/emptyMock.ts +7 -0
  19. package/mocks/fileMock.ts +13 -0
  20. package/mocks/gaMock.ts +9 -0
  21. package/mocks/mockTests.test.ts +15 -0
  22. package/mocks/packageJsonMock.ts +10 -0
  23. package/mocks/remoteMock.ts +17 -0
  24. package/package.json +132 -0
  25. package/scripts/check-app-properties.ts +197 -0
  26. package/scripts/check-for-typescript.ts +41 -0
  27. package/scripts/esbuild-bootstrap.js +15 -0
  28. package/scripts/esbuild-renderer.js +131 -0
  29. package/scripts/esbuild.js +57 -0
  30. package/scripts/installHusky.ts +17 -0
  31. package/scripts/nordic-publish.ts +485 -0
  32. package/scripts/nrfconnect-license.ts +277 -0
  33. package/scripts/prepare-shared-release.ts +122 -0
  34. package/scripts/release-shared.test.ts +132 -0
  35. package/scripts/release-shared.ts +207 -0
  36. package/src/About/About.tsx +25 -0
  37. package/src/About/AboutButton.tsx +28 -0
  38. package/src/About/ApplicationCard.tsx +83 -0
  39. package/src/About/DeviceCard.tsx +74 -0
  40. package/src/About/DocumentationCard.tsx +18 -0
  41. package/src/About/DocumentationSection.tsx +24 -0
  42. package/src/About/Section.tsx +21 -0
  43. package/src/About/ShortcutButton.tsx +41 -0
  44. package/src/About/SupportCard.tsx +97 -0
  45. package/src/About/about.scss +40 -0
  46. package/src/About/documentationSlice.ts +41 -0
  47. package/src/About/section.scss +15 -0
  48. package/src/About/shortcutSlice.ts +52 -0
  49. package/src/Alert/Alert.module.scss +29 -0
  50. package/src/Alert/Alert.tsx +37 -0
  51. package/src/App/App.test.tsx +47 -0
  52. package/src/App/App.tsx +227 -0
  53. package/src/App/ConnectedToStore.tsx +19 -0
  54. package/src/App/VisibilityBar.tsx +103 -0
  55. package/src/App/app.scss +83 -0
  56. package/src/App/appLayout.ts +95 -0
  57. package/src/App/shared.scss +49 -0
  58. package/src/App/visibility-bar.scss +55 -0
  59. package/src/Button/Button.tsx +66 -0
  60. package/src/Button/button.module.scss +154 -0
  61. package/src/Card/Card.tsx +26 -0
  62. package/src/Card/card.module.scss +28 -0
  63. package/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.tsx +58 -0
  64. package/src/Device/BrokenDeviceDialog/broken-device-dialog.scss +18 -0
  65. package/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.tsx +48 -0
  66. package/src/Device/DeviceSelector/BasicDeviceInfo.tsx +115 -0
  67. package/src/Device/DeviceSelector/DeviceIcon.tsx +27 -0
  68. package/src/Device/DeviceSelector/DeviceList/AnimatedList.tsx +62 -0
  69. package/src/Device/DeviceSelector/DeviceList/BrokenDevice.tsx +34 -0
  70. package/src/Device/DeviceSelector/DeviceList/Device.tsx +84 -0
  71. package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +113 -0
  72. package/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.tsx +28 -0
  73. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +65 -0
  74. package/src/Device/DeviceSelector/DeviceList/RenameDevice.tsx +22 -0
  75. package/src/Device/DeviceSelector/DeviceList/broken-device.scss +32 -0
  76. package/src/Device/DeviceSelector/DeviceList/device-list.scss +64 -0
  77. package/src/Device/DeviceSelector/DeviceList/device.scss +28 -0
  78. package/src/Device/DeviceSelector/DeviceList/edit-device-buttons.scss +31 -0
  79. package/src/Device/DeviceSelector/DeviceList/more-device-info.scss +33 -0
  80. package/src/Device/DeviceSelector/DeviceList/rename-device.scss +13 -0
  81. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +342 -0
  82. package/src/Device/DeviceSelector/DeviceSelector.tsx +173 -0
  83. package/src/Device/DeviceSelector/Favorite.tsx +49 -0
  84. package/src/Device/DeviceSelector/SelectDevice.tsx +36 -0
  85. package/src/Device/DeviceSelector/SelectedDevice.tsx +65 -0
  86. package/src/Device/DeviceSelector/arrow-down.svg +1 -0
  87. package/src/Device/DeviceSelector/basic-device-info.scss +62 -0
  88. package/src/Device/DeviceSelector/device-icon.scss +27 -0
  89. package/src/Device/DeviceSelector/favorite.scss +17 -0
  90. package/src/Device/DeviceSelector/select-device.scss +38 -0
  91. package/src/Device/DeviceSelector/selected-device.scss +57 -0
  92. package/src/Device/DeviceSetup/DeviceSetupView.tsx +102 -0
  93. package/src/Device/deviceAutoSelectSlice.ts +144 -0
  94. package/src/Device/deviceInfo/deviceInfo.ts +254 -0
  95. package/src/Device/deviceInfo/nRF51-Series-logo.svg +1 -0
  96. package/src/Device/deviceInfo/nRF52-Series-logo.svg +1 -0
  97. package/src/Device/deviceInfo/nRF53-Series-logo.svg +1 -0
  98. package/src/Device/deviceInfo/nRF70-Series_no-background_RGB.svg +36 -0
  99. package/src/Device/deviceInfo/nRF91-Series-logo.svg +1 -0
  100. package/src/Device/deviceInfo/ppk-logo.svg +1 -0
  101. package/src/Device/deviceInfo/unknown-logo.svg +30 -0
  102. package/src/Device/deviceInfo/unknown-nordic-logo.svg +25 -0
  103. package/src/Device/deviceLibWrapper.test.ts +97 -0
  104. package/src/Device/deviceLibWrapper.ts +133 -0
  105. package/src/Device/deviceLister.test.ts +89 -0
  106. package/src/Device/deviceLister.ts +396 -0
  107. package/src/Device/deviceSetup.ts +264 -0
  108. package/src/Device/deviceSetupSlice.ts +94 -0
  109. package/src/Device/deviceSlice.ts +248 -0
  110. package/src/Device/dfu-cc.ts +162 -0
  111. package/src/Device/initPacket.ts +402 -0
  112. package/src/Device/jprogOperations.ts +206 -0
  113. package/src/Device/sdfuOperations.ts +601 -0
  114. package/src/Dialog/Dialog.test.tsx +134 -0
  115. package/src/Dialog/Dialog.tsx +236 -0
  116. package/src/Dialog/dialog.scss +60 -0
  117. package/src/Dropdown/Dropdown.module.scss +83 -0
  118. package/src/Dropdown/Dropdown.test.tsx +62 -0
  119. package/src/Dropdown/Dropdown.tsx +106 -0
  120. package/src/ErrorBoundary/ErrorBoundary.test.tsx +105 -0
  121. package/src/ErrorBoundary/ErrorBoundary.tsx +186 -0
  122. package/src/ErrorBoundary/bug.svg +1 -0
  123. package/src/ErrorBoundary/error-boundary.scss +102 -0
  124. package/src/ErrorDialog/ErrorDialog.test.tsx +70 -0
  125. package/src/ErrorDialog/ErrorDialog.tsx +94 -0
  126. package/src/ErrorDialog/error.scss +14 -0
  127. package/src/ErrorDialog/errorDialogSlice.test.ts +64 -0
  128. package/src/ErrorDialog/errorDialogSlice.ts +80 -0
  129. package/src/FactoryReset/FactoryResetButton.test.tsx +46 -0
  130. package/src/FactoryReset/FactoryResetButton.tsx +81 -0
  131. package/src/InlineInput/InlineInput.tsx +170 -0
  132. package/src/InlineInput/NumberInlineInput.tsx +107 -0
  133. package/src/InlineInput/inline-input.scss +38 -0
  134. package/src/InlineInput/number-inline-input.scss +15 -0
  135. package/src/Log/LogEntry.tsx +62 -0
  136. package/src/Log/LogViewer.tsx +54 -0
  137. package/src/Log/log-entry.scss +30 -0
  138. package/src/Log/log-viewer.scss +24 -0
  139. package/src/Log/logSlice.ts +73 -0
  140. package/src/Log/syncLogToStore.ts +36 -0
  141. package/src/Logo/Logo.tsx +48 -0
  142. package/src/Logo/logo.scss +11 -0
  143. package/src/Logo/nordic-logo-blue-icon-only.png +0 -0
  144. package/src/Logo/nordic-logo-gray-icon-only.png +0 -0
  145. package/src/Logo/nordic-logo-white-icon-only.png +0 -0
  146. package/src/Main/Main.tsx +13 -0
  147. package/src/Main/main.scss +13 -0
  148. package/src/MasonryLayout/MasonryLayout.tsx +234 -0
  149. package/src/MasonryLayout/masonryLayout.module.scss +46 -0
  150. package/src/NavBar/NavBar.tsx +22 -0
  151. package/src/NavBar/NavMenu.test.tsx +41 -0
  152. package/src/NavBar/NavMenu.tsx +53 -0
  153. package/src/NavBar/NavMenuItem.tsx +41 -0
  154. package/src/NavBar/nav-bar.scss +26 -0
  155. package/src/NavBar/nav-menu-item.scss +34 -0
  156. package/src/OpenApp/openApp.ts +18 -0
  157. package/src/Panes/FeedbackPane.tsx +149 -0
  158. package/src/PseudoButton/PseudoButton.tsx +56 -0
  159. package/src/PseudoButton/pseudo-button.scss +11 -0
  160. package/src/SerialPort/ConflictingSettingsDialog.tsx +242 -0
  161. package/src/SerialPort/SerialPort.test.ts +54 -0
  162. package/src/SerialPort/SerialPort.ts +202 -0
  163. package/src/Shortcuts/Shortcut-item.scss +33 -0
  164. package/src/Shortcuts/Shortcut-modal.scss +20 -0
  165. package/src/Shortcuts/ShortcutItem.tsx +48 -0
  166. package/src/Shortcuts/ShortcutModal.tsx +67 -0
  167. package/src/SidePanel/Group.tsx +106 -0
  168. package/src/SidePanel/SidePanel.tsx +19 -0
  169. package/src/SidePanel/group.scss +42 -0
  170. package/src/SidePanel/sidepanel.scss +20 -0
  171. package/src/Slider/Bar.tsx +24 -0
  172. package/src/Slider/Factor.test.ts +48 -0
  173. package/src/Slider/Handle.tsx +121 -0
  174. package/src/Slider/Slider.test.tsx +25 -0
  175. package/src/Slider/Slider.tsx +91 -0
  176. package/src/Slider/Ticks.tsx +54 -0
  177. package/src/Slider/__snapshots__/Slider.test.tsx.snap +50 -0
  178. package/src/Slider/bar.scss +24 -0
  179. package/src/Slider/factor.ts +24 -0
  180. package/src/Slider/handle.scss +32 -0
  181. package/src/Slider/percentage.ts +67 -0
  182. package/src/Slider/range.ts +92 -0
  183. package/src/Slider/slider.scss +14 -0
  184. package/src/Slider/ticks.scss +28 -0
  185. package/src/Slider/variables.scss +16 -0
  186. package/src/StartStopButton/StartStopButton.tsx +60 -0
  187. package/src/StartStopButton/play-circle.svg +1 -0
  188. package/src/StartStopButton/start-stop-button.scss +47 -0
  189. package/src/StartStopButton/stop-circle.svg +1 -0
  190. package/src/StateSelector/StateSelector.tsx +64 -0
  191. package/src/StateSelector/state-selector.scss +38 -0
  192. package/src/Stepper/Stepper.tsx +139 -0
  193. package/src/Stepper/stepper.scss +127 -0
  194. package/src/Toggle/Toggle.tsx +120 -0
  195. package/src/Toggle/toggle.scss +109 -0
  196. package/src/bootstrap.scss +14 -0
  197. package/src/index.ts +146 -0
  198. package/src/logging/appTransport.test.ts +78 -0
  199. package/src/logging/appTransport.ts +41 -0
  200. package/src/logging/describeError.test.ts +38 -0
  201. package/src/logging/describeError.ts +56 -0
  202. package/src/logging/index.ts +103 -0
  203. package/src/logging/logBuffer.test.ts +41 -0
  204. package/src/logging/logBuffer.ts +24 -0
  205. package/src/logging/sendInitialLogMessages.ts +64 -0
  206. package/src/store.ts +60 -0
  207. package/src/svg.d.ts +15 -0
  208. package/src/utils/AppTypes.ts +60 -0
  209. package/src/utils/appDirs.ts +78 -0
  210. package/src/utils/bleChannels.ts +16 -0
  211. package/src/utils/classNames.test.ts +29 -0
  212. package/src/utils/classNames.ts +25 -0
  213. package/src/utils/colors.scss +46 -0
  214. package/src/utils/colors.ts +38 -0
  215. package/src/utils/describeVersion.ts +21 -0
  216. package/src/utils/environment.ts +6 -0
  217. package/src/utils/logLibVersions.ts +103 -0
  218. package/src/utils/open.ts +46 -0
  219. package/src/utils/packageJson.ts +60 -0
  220. package/src/utils/persistentStore.ts +144 -0
  221. package/src/utils/systemReport.ts +160 -0
  222. package/src/utils/truncateMiddle.test.ts +21 -0
  223. package/src/utils/truncateMiddle.ts +20 -0
  224. package/src/utils/usageData.ts +189 -0
  225. package/src/utils/useHotKey.ts +62 -0
  226. package/src/utils/useStopwatch.test.tsx +311 -0
  227. package/src/utils/useStopwatch.ts +140 -0
  228. package/src/variables.scss +820 -0
  229. package/styles.scss +88 -0
  230. package/test/dispatchTo.ts +23 -0
  231. package/test/index.ts +7 -0
  232. package/test/jestResolver.js +28 -0
  233. package/test/setupTests.ts +27 -0
  234. package/test/testUtil.ts +20 -0
  235. package/test/testrenderer.tsx +39 -0
  236. package/tsconfig.json +9 -0
  237. package/typings/externals.d.ts +31 -0
  238. package/typings/generated/main/index.d.ts +25 -0
  239. package/typings/generated/src/About/About.d.ts +4 -0
  240. package/typings/generated/src/About/AboutButton.d.ts +8 -0
  241. package/typings/generated/src/About/ApplicationCard.d.ts +3 -0
  242. package/typings/generated/src/About/DeviceCard.d.ts +3 -0
  243. package/typings/generated/src/About/DocumentationCard.d.ts +3 -0
  244. package/typings/generated/src/About/DocumentationSection.d.ts +9 -0
  245. package/typings/generated/src/About/Section.d.ts +8 -0
  246. package/typings/generated/src/About/ShortcutButton.d.ts +6 -0
  247. package/typings/generated/src/About/SupportCard.d.ts +3 -0
  248. package/typings/generated/src/About/documentationSlice.d.ts +12 -0
  249. package/typings/generated/src/About/shortcutSlice.d.ts +11 -0
  250. package/typings/generated/src/Alert/Alert.d.ts +10 -0
  251. package/typings/generated/src/App/App.d.ts +27 -0
  252. package/typings/generated/src/App/App.test.d.ts +1 -0
  253. package/typings/generated/src/App/ConnectedToStore.d.ts +7 -0
  254. package/typings/generated/src/App/VisibilityBar.d.ts +6 -0
  255. package/typings/generated/src/App/appLayout.d.ts +17 -0
  256. package/typings/generated/src/Button/Button.d.ts +13 -0
  257. package/typings/generated/src/Card/Card.d.ts +7 -0
  258. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +4 -0
  259. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +12 -0
  260. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +11 -0
  261. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +7 -0
  262. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +10 -0
  263. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +7 -0
  264. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +10 -0
  265. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +10 -0
  266. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +9 -0
  267. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +7 -0
  268. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +6 -0
  269. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +20 -0
  270. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +1 -0
  271. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +9 -0
  272. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +8 -0
  273. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +7 -0
  274. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +3 -0
  275. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +28 -0
  276. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +18 -0
  277. package/typings/generated/src/Device/deviceLibWrapper.d.ts +8 -0
  278. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +1 -0
  279. package/typings/generated/src/Device/deviceLister.d.ts +25 -0
  280. package/typings/generated/src/Device/deviceLister.test.d.ts +2 -0
  281. package/typings/generated/src/Device/deviceSetup.d.ts +40 -0
  282. package/typings/generated/src/Device/deviceSetupSlice.d.ts +20 -0
  283. package/typings/generated/src/Device/deviceSlice.d.ts +30 -0
  284. package/typings/generated/src/Device/dfu-cc.d.ts +3 -0
  285. package/typings/generated/src/Device/initPacket.d.ts +109 -0
  286. package/typings/generated/src/Device/jprogOperations.d.ts +2 -0
  287. package/typings/generated/src/Device/sdfuOperations.d.ts +14 -0
  288. package/typings/generated/src/Dialog/Dialog.d.ts +64 -0
  289. package/typings/generated/src/Dialog/Dialog.test.d.ts +1 -0
  290. package/typings/generated/src/Dropdown/Dropdown.d.ts +16 -0
  291. package/typings/generated/src/Dropdown/Dropdown.test.d.ts +1 -0
  292. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +26 -0
  293. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +1 -0
  294. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +4 -0
  295. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +1 -0
  296. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +23 -0
  297. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +1 -0
  298. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +12 -0
  299. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +1 -0
  300. package/typings/generated/src/InlineInput/InlineInput.d.ts +14 -0
  301. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +12 -0
  302. package/typings/generated/src/Log/LogEntry.d.ts +7 -0
  303. package/typings/generated/src/Log/LogViewer.d.ts +5 -0
  304. package/typings/generated/src/Log/logSlice.d.ts +12 -0
  305. package/typings/generated/src/Log/syncLogToStore.d.ts +11 -0
  306. package/typings/generated/src/Logo/Logo.d.ts +6 -0
  307. package/typings/generated/src/Main/Main.d.ts +6 -0
  308. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +14 -0
  309. package/typings/generated/src/NavBar/NavBar.d.ts +6 -0
  310. package/typings/generated/src/NavBar/NavMenu.d.ts +3 -0
  311. package/typings/generated/src/NavBar/NavMenu.test.d.ts +1 -0
  312. package/typings/generated/src/NavBar/NavMenuItem.d.ts +10 -0
  313. package/typings/generated/src/OpenApp/openApp.d.ts +7 -0
  314. package/typings/generated/src/Panes/FeedbackPane.d.ts +3 -0
  315. package/typings/generated/src/PseudoButton/PseudoButton.d.ts +10 -0
  316. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +13 -0
  317. package/typings/generated/src/SerialPort/SerialPort.d.ts +21 -0
  318. package/typings/generated/src/SerialPort/SerialPort.test.d.ts +1 -0
  319. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +8 -0
  320. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +8 -0
  321. package/typings/generated/src/SidePanel/Group.d.ts +16 -0
  322. package/typings/generated/src/SidePanel/SidePanel.d.ts +7 -0
  323. package/typings/generated/src/Slider/Bar.d.ts +7 -0
  324. package/typings/generated/src/Slider/Factor.test.d.ts +1 -0
  325. package/typings/generated/src/Slider/Handle.d.ts +13 -0
  326. package/typings/generated/src/Slider/Slider.d.ts +15 -0
  327. package/typings/generated/src/Slider/Slider.test.d.ts +1 -0
  328. package/typings/generated/src/Slider/Ticks.d.ts +12 -0
  329. package/typings/generated/src/Slider/factor.d.ts +1 -0
  330. package/typings/generated/src/Slider/percentage.d.ts +4 -0
  331. package/typings/generated/src/Slider/range.d.ts +13 -0
  332. package/typings/generated/src/StartStopButton/StartStopButton.d.ts +16 -0
  333. package/typings/generated/src/StateSelector/StateSelector.d.ts +15 -0
  334. package/typings/generated/src/Stepper/Stepper.d.ts +26 -0
  335. package/typings/generated/src/Toggle/Toggle.d.ts +19 -0
  336. package/typings/generated/src/index.d.ts +69 -0
  337. package/typings/generated/src/logging/appTransport.d.ts +12 -0
  338. package/typings/generated/src/logging/appTransport.test.d.ts +1 -0
  339. package/typings/generated/src/logging/describeError.d.ts +2 -0
  340. package/typings/generated/src/logging/describeError.test.d.ts +1 -0
  341. package/typings/generated/src/logging/index.d.ts +9 -0
  342. package/typings/generated/src/logging/logBuffer.d.ts +9 -0
  343. package/typings/generated/src/logging/logBuffer.test.d.ts +1 -0
  344. package/typings/generated/src/logging/sendInitialLogMessages.d.ts +2 -0
  345. package/typings/generated/src/store.d.ts +65 -0
  346. package/typings/generated/src/utils/AppTypes.d.ts +49 -0
  347. package/typings/generated/src/utils/appDirs.d.ts +35 -0
  348. package/typings/generated/src/utils/bleChannels.d.ts +6 -0
  349. package/typings/generated/src/utils/classNames.d.ts +17 -0
  350. package/typings/generated/src/utils/classNames.test.d.ts +1 -0
  351. package/typings/generated/src/utils/colors.d.ts +31 -0
  352. package/typings/generated/src/utils/describeVersion.d.ts +3 -0
  353. package/typings/generated/src/utils/environment.d.ts +1 -0
  354. package/typings/generated/src/utils/logLibVersions.d.ts +2 -0
  355. package/typings/generated/src/utils/open.d.ts +15 -0
  356. package/typings/generated/src/utils/packageJson.d.ts +4 -0
  357. package/typings/generated/src/utils/persistentStore.d.ts +35 -0
  358. package/typings/generated/src/utils/systemReport.d.ts +4 -0
  359. package/typings/generated/src/utils/truncateMiddle.d.ts +2 -0
  360. package/typings/generated/src/utils/truncateMiddle.test.d.ts +1 -0
  361. package/typings/generated/src/utils/usageData.d.ts +63 -0
  362. package/typings/generated/src/utils/useHotKey.d.ts +6 -0
  363. package/typings/generated/src/utils/useStopwatch.d.ts +22 -0
  364. package/typings/generated/src/utils/useStopwatch.test.d.ts +1 -0
  365. package/typings/generated/test/dispatchTo.d.ts +3 -0
  366. package/typings/generated/test/testrenderer.d.ts +5 -0
  367. 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,7 @@
1
+ /*
2
+ * Copyright (c) 2015 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ export { testUtils } from './testUtil';
@@ -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
+ };
@@ -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,9 @@
1
+ {
2
+ "extends": "./config/tsconfig.json",
3
+ "include": [
4
+ "./src/**/*.ts",
5
+ "./main/**/*.ts",
6
+ "./src/**/*.tsx",
7
+ "./typings/*.d.ts"
8
+ ]
9
+ }
@@ -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,4 @@
1
+ /// <reference types="react" />
2
+ import './about.scss';
3
+ declare const _default: () => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ onClick?: () => void;
4
+ url?: string;
5
+ label: string;
6
+ }
7
+ declare const AboutButton: FC<Props>;
8
+ export default AboutButton;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element | null;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element | null;
3
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ interface Props {
3
+ title?: string;
4
+ link?: string;
5
+ linkLabel?: string;
6
+ children?: ReactNode;
7
+ }
8
+ declare const _default: ({ title, link, linkLabel, children }: Props) => JSX.Element;
9
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import './section.scss';
3
+ interface Props {
4
+ title?: string;
5
+ children?: ReactNode;
6
+ }
7
+ declare const _default: ({ children, title }: Props) => JSX.Element;
8
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ label: string;
4
+ }
5
+ declare const ShortcutButton: FC<Props>;
6
+ export default ShortcutButton;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -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,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { Reducer } from 'redux';
3
+ declare const _default: ({ appReducer, children, }: {
4
+ appReducer?: Reducer<any, import("redux").AnyAction> | undefined;
5
+ children: ReactNode;
6
+ }) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import './visibility-bar.scss';
3
+ declare const _default: ({ isSidePanelEnabled }: {
4
+ isSidePanelEnabled: boolean;
5
+ }) => JSX.Element;
6
+ export default _default;
@@ -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,7 @@
1
+ import React from 'react';
2
+ type NrfCardProps = {
3
+ children: React.ReactNode;
4
+ title: React.ReactNode;
5
+ };
6
+ declare const _default: ({ children, title }: NrfCardProps) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import './broken-device-dialog.scss';
3
+ declare const BrokenDeviceDialog: () => JSX.Element;
4
+ export default BrokenDeviceDialog;
@@ -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,7 @@
1
+ import { FC } from 'react';
2
+ import { Device } from '../deviceSlice';
3
+ import './device-icon.scss';
4
+ declare const DeviceIcon: FC<{
5
+ device: Device;
6
+ }>;
7
+ export default DeviceIcon;
@@ -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,7 @@
1
+ /// <reference types="react" />
2
+ import { Device as DeviceProps } from '../../deviceSlice';
3
+ import './broken-device.scss';
4
+ declare const _default: ({ device }: {
5
+ device: DeviceProps;
6
+ }) => JSX.Element;
7
+ export default _default;
@@ -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,7 @@
1
+ /// <reference types="react" />
2
+ import { Device } from '../../deviceSlice';
3
+ import './more-device-info.scss';
4
+ declare const _default: ({ device }: {
5
+ device: Device;
6
+ }) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import './rename-device.scss';
3
+ declare const _default: ({ startEditingDeviceName, }: {
4
+ startEditingDeviceName: () => void;
5
+ }) => JSX.Element;
6
+ export default _default;
@@ -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,9 @@
1
+ import { FC } from 'react';
2
+ import { Device } from '../deviceSlice';
3
+ import './favorite.scss';
4
+ export declare const MakeDeviceFavorite: FC<{
5
+ device: Device;
6
+ }>;
7
+ export declare const FavoriteIndicator: FC<{
8
+ device: Device;
9
+ }>;