@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
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import './select-device.scss';
3
+ interface Props {
4
+ deviceListVisible: boolean;
5
+ toggleDeviceListVisible: () => void;
6
+ }
7
+ declare const _default: ({ deviceListVisible, toggleDeviceListVisible }: Props) => JSX.Element;
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import './selected-device.scss';
3
+ declare const _default: ({ doDeselectDevice, toggleDeviceListVisible, }: {
4
+ doDeselectDevice: () => void;
5
+ toggleDeviceListVisible: () => void;
6
+ }) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import type { RootState } from '../store';
3
+ import type { Device } from './deviceSlice';
4
+ export interface WaitForDevice {
5
+ timeout: number;
6
+ when: 'always' | 'applicationMode' | 'dfuBootLoaderMode' | 'sameTraits' | ((device: Device) => boolean);
7
+ once: boolean;
8
+ onSuccess?: (device: Device) => void;
9
+ onFail?: (reason?: string) => void;
10
+ }
11
+ export interface DeviceAutoSelectState {
12
+ autoReselect: boolean;
13
+ device?: Device;
14
+ disconnectionTime?: number;
15
+ waitForDevice?: WaitForDevice;
16
+ autoReconnectTimeout?: NodeJS.Timeout;
17
+ lastArrivedDeviceId?: number;
18
+ arrivedButWrongWhen?: boolean;
19
+ }
20
+ export declare const reducer: import("redux").Reducer<DeviceAutoSelectState, import("redux").AnyAction>, setWaitForDeviceTimeout: import("@reduxjs/toolkit").ActionCreatorWithPayload<NodeJS.Timeout, "deviceAutoSelect/setWaitForDeviceTimeout">, clearWaitForDeviceTimeout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"deviceAutoSelect/clearWaitForDeviceTimeout">, setAutoSelectDevice: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<Device | undefined, "deviceAutoSelect/setAutoSelectDevice">, setDisconnectedTime: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number | undefined, "deviceAutoSelect/setDisconnectedTime">, setAutoReselect: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "deviceAutoSelect/setAutoReselect">, setWaitForDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<WaitForDevice, "deviceAutoSelect/setWaitForDevice">, clearWaitForDevice: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"deviceAutoSelect/clearWaitForDevice">, setLastArrivedDeviceId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number | undefined, "deviceAutoSelect/setLastArrivedDeviceId">, setArrivedButWrongWhen: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean | undefined, "deviceAutoSelect/setArrivedButWrongWhen">;
21
+ export declare const getAutoReselectDevice: (state: RootState) => Device | undefined;
22
+ export declare const getAutoReselect: (state: RootState) => boolean;
23
+ export declare const getWaitingToAutoReselect: (state: RootState) => boolean;
24
+ export declare const getWaitingForDeviceTimeout: (state: RootState) => boolean;
25
+ export declare const getDisconnectionTime: (state: RootState) => number | undefined;
26
+ export declare const getWaitForDevice: (state: RootState) => WaitForDevice | undefined;
27
+ export declare const getLastArrivedDeviceId: (state: RootState) => number | undefined;
28
+ export declare const getArrivedButWrongWhen: (state: RootState) => boolean | undefined;
@@ -0,0 +1,18 @@
1
+ /// <reference types="react" />
2
+ import { Device } from '../deviceSlice';
3
+ interface DeviceInfo {
4
+ name?: string | null;
5
+ cores?: number;
6
+ icon: React.ElementType;
7
+ website: {
8
+ productPagePath?: string;
9
+ buyOnlineParams?: string;
10
+ };
11
+ }
12
+ export declare const deviceInfo: (device: Device) => DeviceInfo;
13
+ export declare const displayedDeviceName: (device: Device, { respectNickname }?: {
14
+ respectNickname?: boolean | undefined;
15
+ }) => string;
16
+ export declare const productPageUrl: (device: Device) => string | undefined;
17
+ export declare const buyOnlineUrl: (device: Device) => string | undefined;
18
+ export {};
@@ -0,0 +1,8 @@
1
+ import { LogEvent, ModuleVersion } from '@nordicsemiconductor/nrf-device-lib-js';
2
+ export declare const getDeviceLibContext: () => bigint;
3
+ export declare const logNrfdlLogs: (evt: LogEvent) => void;
4
+ export declare const forwardLogEventsFromDeviceLib: () => () => void;
5
+ export declare const setVerboseDeviceLibLogging: (verboseLogging: boolean) => void;
6
+ type KnownModule = 'nrfdl' | 'nrfdl-js' | 'jprog' | 'JlinkARM';
7
+ export declare const getModuleVersion: (module: KnownModule, versions?: ModuleVersion[]) => ModuleVersion | undefined;
8
+ export {};
@@ -0,0 +1,25 @@
1
+ import { Device as NrfdlDevice, DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
2
+ import type { AppDispatch, RootState } from '../store';
3
+ import { Device } from './deviceSlice';
4
+ /**
5
+ * Wrap the device form nrf-device-lib to make the Device type consistent
6
+ *
7
+ * @param {Device} device The input device from nrf-device-lib
8
+ * @returns {Device} The updated device
9
+ */
10
+ export declare const wrapDeviceFromNrfdl: (device: NrfdlDevice) => Device;
11
+ /**
12
+ * Wrap the device form nrf-device-lib to make the Device type consistent
13
+ *
14
+ * @param {Device[]} devices The input devices from nrf-device-lib
15
+ * @returns {Device[]} The updated devices
16
+ */
17
+ export declare const wrapDevicesFromNrfdl: (devices: NrfdlDevice[]) => Device[];
18
+ export declare const hasValidDeviceTraits: (deviceTraits: DeviceTraits, requiredTraits: DeviceTraits) => boolean;
19
+ export declare const startWatchingDevices: (deviceListing: DeviceTraits, onDeviceConnected: (device: Device) => void, onDeviceDisconnected: (device: Device) => void, onDeviceDeselected: () => void, doSelectDevice: (device: Device, autoReselected: boolean) => void) => (dispatch: AppDispatch, getState: () => RootState) => Promise<void>;
20
+ /**
21
+ * Stops watching for devices.
22
+ *
23
+ * @returns {undefined}
24
+ */
25
+ export declare const stopWatchingDevices: () => void;
@@ -0,0 +1,2 @@
1
+ declare const _default: null;
2
+ export default _default;
@@ -0,0 +1,40 @@
1
+ /// <reference types="node" />
2
+ import { AppDispatch, RootState } from '../store';
3
+ import { Device } from './deviceSlice';
4
+ import { InitPacket } from './initPacket';
5
+ export interface DfuEntry {
6
+ key: string;
7
+ description?: string;
8
+ application: string;
9
+ semver: string;
10
+ softdevice?: string | Buffer;
11
+ params: Partial<InitPacket>;
12
+ }
13
+ export interface JprogEntry {
14
+ key: string;
15
+ description?: string;
16
+ fw: string;
17
+ fwIdAddress: number;
18
+ fwVersion: string;
19
+ }
20
+ export interface DeviceSetup {
21
+ supportsProgrammingMode: (device: Device) => boolean;
22
+ getFirmwareOptions: (device: Device) => {
23
+ key: string;
24
+ description?: string;
25
+ programDevice: (onProgress: (progress: number, message?: string) => void) => (dispatch: AppDispatch, getState: () => RootState) => Promise<Device>;
26
+ }[];
27
+ isExpectedFirmware: (device: Device) => (dispatch: AppDispatch, getState: () => RootState) => Promise<{
28
+ device: Device;
29
+ validFirmware: boolean;
30
+ }>;
31
+ tryToSwitchToApplicationMode: (device: Device) => (dispatch: AppDispatch, getState: () => RootState) => Promise<Device | null>;
32
+ }
33
+ export interface DeviceSetupConfig {
34
+ deviceSetups: DeviceSetup[];
35
+ allowCustomDevice?: boolean;
36
+ confirmMessage?: string;
37
+ choiceMessage?: string;
38
+ }
39
+ export declare const prepareDevice: (device: Device, deviceSetupConfig: DeviceSetupConfig, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void, checkCurrentFirmwareVersion?: boolean, requireUserConfirmation?: boolean) => (dispatch: AppDispatch) => Promise<void>;
40
+ export declare const setupDevice: (device: Device, deviceSetupConfig: DeviceSetupConfig, onDeviceIsReady: (device: Device) => void, doDeselectDevice: () => void) => (dispatch: AppDispatch, getState: () => RootState) => Promise<void>;
@@ -0,0 +1,20 @@
1
+ import type { RootState } from '../store';
2
+ export interface DeviceSetupState {
3
+ visible: boolean;
4
+ onUserInput?: (canceled: boolean, choice?: number) => void;
5
+ message: string;
6
+ progressMessage?: string;
7
+ choices?: string[];
8
+ progress?: number;
9
+ }
10
+ export declare const reducer: import("redux").Reducer<DeviceSetupState, import("redux").AnyAction>, openDeviceSetupDialog: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
11
+ onUserInput?: ((canceled: boolean, choice?: number) => void) | undefined;
12
+ message: string;
13
+ choices?: string[] | undefined;
14
+ }, "deviceSetup/openDeviceSetupDialog">, closeDeviceSetupDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"deviceSetup/closeDeviceSetupDialog">, setDeviceSetupProgress: import("@reduxjs/toolkit").ActionCreatorWithPayload<number, "deviceSetup/setDeviceSetupProgress">, setDeviceSetupMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "deviceSetup/setDeviceSetupMessage">, setDeviceSetupProgressMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "deviceSetup/setDeviceSetupProgressMessage">, deviceSetupUserInputReceived: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"deviceSetup/deviceSetupUserInputReceived">;
15
+ export declare const isDeviceSetupDialogVisible: (state: RootState) => boolean;
16
+ export declare const getDeviceSetupProgress: (state: RootState) => number | undefined;
17
+ export declare const getDeviceSetupMessage: (state: RootState) => string;
18
+ export declare const getDeviceSetupProgressMessage: (state: RootState) => string | undefined;
19
+ export declare const getDeviceSetupChoices: (state: RootState) => string[] | undefined;
20
+ export declare const getDeviceSetupUserInputCallback: (state: RootState) => ((canceled: boolean, choice?: number) => void) | undefined;
@@ -0,0 +1,30 @@
1
+ import type { Device as NrfdlDevice, SerialPort } from '@nordicsemiconductor/nrf-device-lib-js';
2
+ import type { AutoDetectTypes } from '@serialport/bindings-cpp';
3
+ import { SerialPortOpenOptions } from 'serialport';
4
+ import type { RootState } from '../store';
5
+ export interface Device extends NrfdlDevice {
6
+ serialNumber: string;
7
+ boardVersion?: string;
8
+ nickname?: string;
9
+ serialport?: SerialPort;
10
+ favorite?: boolean;
11
+ id: number;
12
+ persistedSerialPortOptions?: SerialPortOpenOptions<AutoDetectTypes>;
13
+ }
14
+ export interface DeviceState {
15
+ devices: Map<string, Device>;
16
+ deviceInfo: Device | null;
17
+ selectedSerialNumber: string | null;
18
+ readbackProtection: 'unknown' | 'protected' | 'unprotected';
19
+ }
20
+ export declare const reducer: import("redux").Reducer<DeviceState, import("redux").AnyAction>, deselectDevice: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"device/deselectDevice">, resetDeviceNickname: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "device/resetDeviceNickname">, selectDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/selectDevice">, addDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/addDevice">, removeDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device, "device/removeDevice">, setDevices: import("@reduxjs/toolkit").ActionCreatorWithPayload<Device[], "device/setDevices">, setDeviceNickname: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[serialNumber: string, nickname: string], {
21
+ serialNumber: string;
22
+ nickname: string;
23
+ }, "device/setDeviceNickname", never, never>, toggleDeviceFavorited: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "device/toggleDeviceFavorited">, setReadbackProtected: import("@reduxjs/toolkit").ActionCreatorWithPayload<"unknown" | "protected" | "unprotected", "device/setReadbackProtected">, persistSerialPortOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<SerialPortOpenOptions<AutoDetectTypes>, "device/persistSerialPortOptions">;
24
+ export declare const getDevice: (serialNumber: string) => (state: RootState) => Device | undefined;
25
+ export declare const getDevices: (state: RootState) => Map<string, Device>;
26
+ export declare const deviceIsSelected: (state: RootState) => boolean;
27
+ export declare const selectedDevice: (state: RootState) => Device | undefined;
28
+ export declare const deviceInfo: (state: RootState) => Device | null;
29
+ export declare const selectedSerialNumber: (state: RootState) => string | null;
30
+ export declare const getReadbackProtection: (state: RootState) => "unknown" | "protected" | "unprotected";
@@ -0,0 +1,3 @@
1
+ import * as $protobuf from 'protobufjs/light';
2
+ declare const $root: $protobuf.Namespace;
3
+ export default $root;
@@ -0,0 +1,109 @@
1
+ /// <reference types="node" />
2
+ import protobuf from 'protobufjs';
3
+ export declare enum FwType {
4
+ APPLICATION = 0,
5
+ SOFTDEVICE = 1,
6
+ BOOTLOADER = 2,
7
+ SOFTDEVICE_BOOTLOADER = 3
8
+ }
9
+ export declare enum HashType {
10
+ NO_HASH = 0,
11
+ CRC = 1,
12
+ SHA128 = 2,
13
+ SHA256 = 3,
14
+ SHA512 = 4
15
+ }
16
+ export declare const OpCode: {
17
+ RESET: number;
18
+ INIT: number;
19
+ };
20
+ export declare const SignatureType: {
21
+ ECDSA_P256_SHA256: number;
22
+ ED25519: number;
23
+ };
24
+ export interface InitPacket {
25
+ fwVersion?: number;
26
+ hwVersion?: number;
27
+ sdReq?: number[];
28
+ fwType?: number;
29
+ sdSize: number;
30
+ blSize: number;
31
+ appSize: number;
32
+ hashType: number;
33
+ hash?: Buffer;
34
+ isDebug: boolean;
35
+ signatureType?: number;
36
+ signature?: [];
37
+ }
38
+ export declare const defaultInitPacket: InitPacket;
39
+ export interface DfuImage {
40
+ name: string;
41
+ initPacket: InitPacket;
42
+ firmwareImage: Buffer;
43
+ }
44
+ /**
45
+ * Create reset command packet
46
+ *
47
+ * @param {Integer} timeout the timeout for reset
48
+ * @param {Integer} signatureType the type of signature
49
+ * @param {Array} signature the signature in bytes
50
+ *
51
+ * @returns {protobuf.Message | undefined} reset command packet
52
+ */
53
+ export declare const createResetPacket: (timeout: number, signatureType: number, signature: []) => protobuf.Message;
54
+ /**
55
+ * Create reset command buffer
56
+ *
57
+ * @param {Integer} timeout the timeout for reset
58
+ * @param {Integer} signatureType the type of signature
59
+ * @param {Array} signature the signature in bytes
60
+ *
61
+ * @returns {Uint8Array} converted from reset command packet
62
+ */
63
+ export declare const createResetPacketBuffer: (timeout: number, signatureType: number, signature: []) => Uint8Array;
64
+ /**
65
+ * Create init command packet
66
+ *
67
+ * @param {Integer} fwVersion the firmware version
68
+ * @param {Integer} hwVersion the hardware version
69
+ * @param {Array} sdReq the softdevice requirements
70
+ * @param {FwType} fwType the firmware type
71
+ * @param {Integer} sdSize the size of softDevice
72
+ * @param {Integer} blSize the size of bootloader
73
+ * @param {Integer} appSize the size of application
74
+ * @param {HashType} hashType the type of hash
75
+ * @param {Array} hash the hash in bytes
76
+ * @param {Boolean} isDebug whether it is in debug mode or not
77
+ * @param {SignatureType} signatureType the type of signature
78
+ * @param {Array} signature the signature in bytes
79
+ *
80
+ * @returns {protobuf.Message} init command packet
81
+ */
82
+ export declare const createInitPacket: (fwVersion: number | undefined, hwVersion: number | undefined, sdReq: number[] | undefined, fwType: number | undefined, sdSize: number | undefined, blSize: number | undefined, appSize: number | undefined, hashType: number | undefined, hash: Buffer | undefined, isDebug: boolean, signatureType: number | undefined, signature: [] | undefined) => protobuf.Message;
83
+ /**
84
+ * Create init command buffer
85
+ *
86
+ * @param {Integer} fwVersion the firmware version
87
+ * @param {Integer} hwVersion the hardware version
88
+ * @param {Array} sdReq the softdevice requirements
89
+ * @param {FwType} fwType the firmware type
90
+ * @param {Integer} sdSize the size of softdevice
91
+ * @param {Integer} blSize the size of bootloader
92
+ * @param {Integer} appSize the size of application
93
+ * @param {HashType} hashType the type of hash
94
+ * @param {Array} hash the hash in bytes
95
+ * @param {Boolean} isDebug whether it is in debug mode or not
96
+ * @param {SignatureType} signatureType the type of signature
97
+ * @param {Array} signature the signature in bytes
98
+ *
99
+ * @returns {Uint8Array} converted from init command packet
100
+ */
101
+ export declare const createInitPacketBuffer: (fwVersion: number, hwVersion: number, sdReq: number[], fwType: number, sdSize: number, blSize: number, appSize: number, hashType: number, hash: Buffer, isDebug: boolean, signatureType: number, signature: []) => Buffer;
102
+ /**
103
+ * Create init command packet Uint8Array
104
+ *
105
+ * @param {InitPacket} packetParams the InitPacket which carries all information
106
+ *
107
+ * @returns {Uint8Array} converted from init command packet buffer
108
+ */
109
+ export declare const createInitPacketUint8Array: (packetParams: InitPacket) => Uint8Array;
@@ -0,0 +1,2 @@
1
+ import { DeviceSetup, JprogEntry } from './deviceSetup';
2
+ export declare const jprogDeviceSetup: (firmware: JprogEntry[], needSerialport?: boolean) => DeviceSetup;
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ import { AppDispatch } from '../store';
3
+ import { DeviceSetup, DfuEntry } from './deviceSetup';
4
+ import { Device } from './deviceSlice';
5
+ import { DfuImage } from './initPacket';
6
+ export declare const isDeviceInDFUBootloader: (device: Device) => boolean;
7
+ export declare const ensureBootloaderMode: (device: Device) => boolean;
8
+ export declare const switchToBootloaderMode: (device: Device, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void) => (dispatch: AppDispatch) => void;
9
+ export declare const switchToApplicationMode: (device: Device, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void) => (dispatch: AppDispatch) => void;
10
+ export declare const sdfuDeviceSetup: (dfuFirmware: DfuEntry[], needSerialport?: boolean) => DeviceSetup;
11
+ declare const _default: {
12
+ createDfuZipBuffer: (dfuImages: DfuImage[]) => Promise<Buffer>;
13
+ };
14
+ export default _default;
@@ -0,0 +1,64 @@
1
+ import { ReactNode } from 'react';
2
+ import { ButtonVariants } from '../Button/Button';
3
+ import './dialog.scss';
4
+ type CoreProps = {
5
+ isVisible: boolean;
6
+ onHide?: () => void;
7
+ className?: string;
8
+ size?: 'sm' | 'm' | 'lg' | 'xl';
9
+ children: ReactNode;
10
+ };
11
+ type DialogProps = CoreProps & {
12
+ closeOnUnfocus?: boolean;
13
+ closeOnEsc?: boolean;
14
+ };
15
+ export declare const Dialog: {
16
+ ({ isVisible, closeOnUnfocus, closeOnEsc, onHide, className, size, children, }: DialogProps): JSX.Element;
17
+ Header({ title, headerIcon, showSpinner, }: {
18
+ title: string;
19
+ headerIcon?: string | undefined;
20
+ showSpinner?: boolean | undefined;
21
+ }): JSX.Element;
22
+ Body({ children }: {
23
+ children: ReactNode;
24
+ }): JSX.Element;
25
+ Footer({ children }: {
26
+ children: ReactNode;
27
+ }): JSX.Element;
28
+ };
29
+ export interface DialogButtonProps {
30
+ onClick: () => void;
31
+ variant?: ButtonVariants;
32
+ className?: string;
33
+ disabled?: boolean;
34
+ children: ReactNode;
35
+ }
36
+ export declare const DialogButton: ({ variant, onClick, className, disabled, children, }: DialogButtonProps) => JSX.Element;
37
+ interface GenericDialogProps extends CoreProps {
38
+ title: string;
39
+ footer: ReactNode;
40
+ headerIcon?: string;
41
+ showSpinner?: boolean;
42
+ closeOnUnfocus?: boolean;
43
+ closeOnEsc?: boolean;
44
+ }
45
+ export declare const GenericDialog: ({ isVisible, onHide, title, headerIcon, children, className, footer, showSpinner, closeOnUnfocus, closeOnEsc, size, }: GenericDialogProps) => JSX.Element;
46
+ interface InfoProps extends CoreProps {
47
+ title?: string;
48
+ headerIcon?: string;
49
+ onHide: () => void;
50
+ }
51
+ export declare const InfoDialog: ({ isVisible, title, headerIcon, children, onHide, size, className, }: InfoProps) => JSX.Element;
52
+ export declare const ErrorDialog: (props: Omit<InfoProps, 'headerIcon'>) => JSX.Element;
53
+ interface ConfirmationDialogProps extends Omit<CoreProps, 'onHide'> {
54
+ title?: string;
55
+ headerIcon?: string;
56
+ confirmLabel?: string;
57
+ onConfirm: () => void;
58
+ cancelLabel?: string;
59
+ onCancel: () => void;
60
+ optionalLabel?: string;
61
+ onOptional?: () => void;
62
+ }
63
+ export declare const ConfirmationDialog: ({ isVisible, title, headerIcon, children, className, confirmLabel, onConfirm, cancelLabel, onCancel, optionalLabel, onOptional, size, }: ConfirmationDialogProps) => JSX.Element;
64
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export interface DropdownItem {
3
+ label: React.ReactNode;
4
+ value: string;
5
+ }
6
+ export interface DropdownProps {
7
+ id?: string;
8
+ label?: React.ReactNode;
9
+ items: DropdownItem[];
10
+ onSelect: (item: DropdownItem) => void;
11
+ disabled?: boolean;
12
+ selectedItem: DropdownItem;
13
+ numItemsBeforeScroll?: number;
14
+ }
15
+ declare const _default: ({ id, label, items, onSelect, disabled, selectedItem, numItemsBeforeScroll, }: DropdownProps) => JSX.Element;
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { Device } from '../Device/deviceSlice';
3
+ import './error-boundary.scss';
4
+ interface Props {
5
+ children: ReactNode;
6
+ selectedSerialNumber?: string;
7
+ selectedDevice?: Device;
8
+ devices?: Device[];
9
+ appName?: string;
10
+ restoreDefaults?: () => void;
11
+ sendUsageData?: (message: string) => void;
12
+ }
13
+ declare class ErrorBoundary extends React.Component<Props, {
14
+ hasError: boolean;
15
+ error: Error | null;
16
+ systemReport: string | null;
17
+ }> {
18
+ constructor(props: Props);
19
+ static getDerivedStateFromError(error: Error): {
20
+ hasError: boolean;
21
+ error: Error;
22
+ };
23
+ componentDidCatch(error: Error): void;
24
+ render(): React.ReactNode;
25
+ }
26
+ export default ErrorBoundary;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import './error.scss';
3
+ declare const ErrorDialog: () => JSX.Element;
4
+ export default ErrorDialog;
@@ -0,0 +1,23 @@
1
+ import type { RootState } from '../store';
2
+ export interface ErrorResolutions {
3
+ [key: string]: () => void;
4
+ }
5
+ export interface ErrorMessage {
6
+ message: string;
7
+ detail?: string;
8
+ }
9
+ export interface ErrorDialog {
10
+ isVisible: boolean;
11
+ messages: ErrorMessage[];
12
+ errorResolutions?: ErrorResolutions;
13
+ }
14
+ export declare const reducer: import("redux").Reducer<ErrorDialog, import("redux").AnyAction>, hideDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"errorDialog/hideDialog">, showDialog: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[message: string, errorResolutions?: ErrorResolutions | undefined, detail?: string | undefined], {
15
+ message: {
16
+ message: string;
17
+ detail: string | undefined;
18
+ };
19
+ errorResolutions: ErrorResolutions | undefined;
20
+ }, "errorDialog/showDialog", never, never>;
21
+ export declare const isVisible: (state: RootState) => boolean;
22
+ export declare const messages: (state: RootState) => ErrorMessage[];
23
+ export declare const errorResolutions: (state: RootState) => ErrorResolutions | undefined;
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ import { ButtonVariants } from '../Button/Button';
3
+ interface Props {
4
+ resetFn?: () => void;
5
+ label: string;
6
+ modalText?: string;
7
+ variant?: ButtonVariants;
8
+ classNames?: string;
9
+ large?: boolean;
10
+ }
11
+ declare const FactoryResetButton: FC<Props>;
12
+ export default FactoryResetButton;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import './inline-input.scss';
3
+ interface Props {
4
+ disabled?: boolean;
5
+ value: string;
6
+ isValid?: (value: string) => boolean;
7
+ onChange: (value: string) => void;
8
+ onChangeComplete?: (value: string) => void;
9
+ onKeyboardIncrementAction?: () => string;
10
+ onKeyboardDecrementAction?: () => string;
11
+ className?: string;
12
+ }
13
+ declare const InlineInput: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLInputElement>>;
14
+ export default InlineInput;
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ import { RangeOrValues } from '../Slider/range';
3
+ import './number-inline-input.scss';
4
+ export interface Props {
5
+ disabled?: boolean;
6
+ value: number;
7
+ range: RangeOrValues;
8
+ onChange: (value: number) => void;
9
+ onChangeComplete?: (value: number) => void;
10
+ }
11
+ declare const NumberInlineInput: FC<Props>;
12
+ export default NumberInlineInput;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { LogEntry } from 'winston';
3
+ import './log-entry.scss';
4
+ declare const _default: ({ entry }: {
5
+ entry: LogEntry;
6
+ }) => JSX.Element;
7
+ export default _default;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import './log-viewer.scss';
3
+ export declare const useInitialisedLog: () => void;
4
+ declare const _default: () => JSX.Element;
5
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import { LogEntry } from 'winston';
2
+ import type { RootState } from '../store';
3
+ export interface Log {
4
+ autoScroll: boolean;
5
+ logEntries: LogEntry[];
6
+ isLoggingVerbose: boolean;
7
+ }
8
+ export declare const autoScroll: (state: RootState) => boolean;
9
+ export declare const logEntries: (state: RootState) => LogEntry[];
10
+ export declare const isLoggingVerbose: () => boolean;
11
+ export declare const isLoggingVerboseSelector: (state: RootState) => boolean;
12
+ export declare const reducer: import("redux").Reducer<Log, import("redux").AnyAction>, addEntries: import("@reduxjs/toolkit").ActionCreatorWithPayload<LogEntry[], "log/addEntries">, clear: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"log/clear">, toggleAutoScroll: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"log/toggleAutoScroll">, toggleIsLoggingVerbose: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"log/toggleIsLoggingVerbose">;
@@ -0,0 +1,11 @@
1
+ import { AppDispatch } from '../store';
2
+ /**
3
+ * Starts syncing to new log entries from the application's log buffer.
4
+ * Incoming entries are added to the state, so that they can be displayed
5
+ * in the UI.
6
+ *
7
+ * @param {function} dispatch The redux dispatch function.
8
+ * @returns {function(*)} Function that stops the listener.
9
+ */
10
+ declare const _default: (dispatch: AppDispatch) => () => void;
11
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import './logo.scss';
3
+ declare const Logo: FC<{
4
+ changeWithDeviceState?: boolean;
5
+ }>;
6
+ export default Logo;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ import './main.scss';
3
+ declare const _default: ({ children }: {
4
+ children?: ReactNode;
5
+ }) => JSX.Element;
6
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { PropsWithChildren } from 'react';
2
+ interface MasonryLayoutProperties {
3
+ minWidth: number;
4
+ className?: string;
5
+ }
6
+ /**
7
+ * Builds a masonry layout around all depth 1 child components.
8
+ * Note: only depth 1 children are considered for the layout.
9
+ * This also applies for React.Fragment wrapped components.
10
+ * @param {number} minWidth minimum width of every item in this layout.
11
+ * @returns {React.FC<MasonryLayoutProperties>} React Component.
12
+ */
13
+ declare const _default: ({ children, minWidth, className, }: PropsWithChildren<MasonryLayoutProperties>) => JSX.Element;
14
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ import './nav-bar.scss';
3
+ declare const _default: ({ deviceSelect }: {
4
+ deviceSelect?: ReactNode;
5
+ }) => JSX.Element;
6
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const NavMenu: () => JSX.Element;
3
+ export default NavMenu;
@@ -0,0 +1 @@
1
+ export {};