@nordicsemiconductor/pc-nrfconnect-shared 60.0.0-pre1 → 76.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/Changelog.md +222 -5
  2. package/config/colors.js +46 -0
  3. package/config/tailwind.config.js +25 -0
  4. package/config/tsconfig.json +2 -1
  5. package/dist/bootstrap.css +8951 -0
  6. package/package.json +28 -10
  7. package/scripts/esbuild-renderer.js +25 -17
  8. package/scripts/nordic-publish.js +89 -0
  9. package/src/About/About.tsx +9 -3
  10. package/src/About/ApplicationCard.tsx +20 -22
  11. package/src/About/DeviceCard.tsx +28 -26
  12. package/src/About/DocumentationCard.tsx +12 -9
  13. package/src/About/Section.tsx +5 -5
  14. package/src/About/SupportCard.tsx +61 -56
  15. package/src/App/App.tsx +36 -11
  16. package/src/App/appLayout.ts +0 -1
  17. package/src/App/preflight.scss +443 -0
  18. package/src/App/tailwind.css +12 -0
  19. package/src/Button/Button.tsx +34 -24
  20. package/src/Device/DeviceSelector/DeviceSelector.tsx +5 -2
  21. package/src/Device/DeviceSetup/DeviceSetupView.tsx +6 -3
  22. package/src/Device/deviceAutoSelectSlice.ts +14 -8
  23. package/src/Device/deviceLibWrapper.ts +0 -1
  24. package/src/Device/deviceLister.ts +68 -40
  25. package/src/Device/deviceSetup.ts +15 -20
  26. package/src/Device/jprogOperations.ts +5 -5
  27. package/src/Device/sdfuOperations.ts +43 -37
  28. package/src/Dialog/dialog.scss +0 -4
  29. package/src/Dropdown/Dropdown.module.scss +2 -70
  30. package/src/Dropdown/Dropdown.tsx +20 -14
  31. package/src/ErrorBoundary/ErrorBoundary.test.tsx +1 -18
  32. package/src/FlashMessage/FlashMessage.tsx +159 -0
  33. package/src/FlashMessage/FlashMessageSlice.ts +88 -0
  34. package/src/FlashMessage/flashMessage.css +32 -0
  35. package/src/NavBar/NavMenu.tsx +1 -2
  36. package/src/NavBar/NavMenuItem.tsx +5 -7
  37. package/src/NavBar/nav-bar.scss +2 -1
  38. package/src/NavBar/nav-menu-item.scss +0 -5
  39. package/src/NumberInputWithSlider/NumberInputSliderWithUnit.tsx +74 -0
  40. package/src/Panes/FeedbackPane.tsx +83 -48
  41. package/src/SerialPort/ConflictingSettingsDialog.tsx +50 -66
  42. package/src/StateSelector/StateSelector.tsx +1 -1
  43. package/src/Stepper/Stepper.tsx +2 -3
  44. package/src/index.ts +14 -3
  45. package/src/store.ts +10 -3
  46. package/src/utils/colors.ts +147 -12
  47. package/src/utils/usageData.ts +59 -52
  48. package/src/utils/useFocusedOnVisible.ts +26 -0
  49. package/src/variables.scss +5 -5
  50. package/typings/generated/main/index.d.ts +1 -0
  51. package/typings/generated/main/index.d.ts.map +1 -0
  52. package/typings/generated/src/About/About.d.ts +6 -2
  53. package/typings/generated/src/About/About.d.ts.map +1 -0
  54. package/typings/generated/src/About/AboutButton.d.ts +1 -0
  55. package/typings/generated/src/About/AboutButton.d.ts.map +1 -0
  56. package/typings/generated/src/About/ApplicationCard.d.ts +1 -0
  57. package/typings/generated/src/About/ApplicationCard.d.ts.map +1 -0
  58. package/typings/generated/src/About/DeviceCard.d.ts +1 -0
  59. package/typings/generated/src/About/DeviceCard.d.ts.map +1 -0
  60. package/typings/generated/src/About/DocumentationCard.d.ts +5 -2
  61. package/typings/generated/src/About/DocumentationCard.d.ts.map +1 -0
  62. package/typings/generated/src/About/DocumentationSection.d.ts +1 -0
  63. package/typings/generated/src/About/DocumentationSection.d.ts.map +1 -0
  64. package/typings/generated/src/About/Section.d.ts +1 -1
  65. package/typings/generated/src/About/Section.d.ts.map +1 -0
  66. package/typings/generated/src/About/ShortcutButton.d.ts +1 -0
  67. package/typings/generated/src/About/ShortcutButton.d.ts.map +1 -0
  68. package/typings/generated/src/About/SupportCard.d.ts +1 -0
  69. package/typings/generated/src/About/SupportCard.d.ts.map +1 -0
  70. package/typings/generated/src/About/shortcutSlice.d.ts +1 -0
  71. package/typings/generated/src/About/shortcutSlice.d.ts.map +1 -0
  72. package/typings/generated/src/Alert/Alert.d.ts +1 -0
  73. package/typings/generated/src/Alert/Alert.d.ts.map +1 -0
  74. package/typings/generated/src/App/App.d.ts +4 -0
  75. package/typings/generated/src/App/App.d.ts.map +1 -0
  76. package/typings/generated/src/App/App.test.d.ts +1 -0
  77. package/typings/generated/src/App/App.test.d.ts.map +1 -0
  78. package/typings/generated/src/App/ConnectedToStore.d.ts +1 -0
  79. package/typings/generated/src/App/ConnectedToStore.d.ts.map +1 -0
  80. package/typings/generated/src/App/VisibilityBar.d.ts +1 -0
  81. package/typings/generated/src/App/VisibilityBar.d.ts.map +1 -0
  82. package/typings/generated/src/App/appLayout.d.ts +1 -1
  83. package/typings/generated/src/App/appLayout.d.ts.map +1 -0
  84. package/typings/generated/src/Button/Button.d.ts +2 -1
  85. package/typings/generated/src/Button/Button.d.ts.map +1 -0
  86. package/typings/generated/src/Card/Card.d.ts +1 -0
  87. package/typings/generated/src/Card/Card.d.ts.map +1 -0
  88. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +1 -0
  89. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +1 -0
  90. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +1 -0
  91. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +1 -0
  92. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +1 -0
  93. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +1 -0
  94. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +1 -0
  95. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts.map +1 -0
  96. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +1 -0
  97. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts.map +1 -0
  98. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +1 -0
  99. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +1 -0
  100. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +1 -0
  101. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +1 -0
  102. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +1 -0
  103. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts.map +1 -0
  104. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +1 -0
  105. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts.map +1 -0
  106. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +1 -0
  107. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +1 -0
  108. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +1 -0
  109. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +1 -0
  110. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +1 -0
  111. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +1 -0
  112. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +1 -0
  113. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts.map +1 -0
  114. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +1 -0
  115. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts.map +1 -0
  116. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +1 -0
  117. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +1 -0
  118. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +1 -0
  119. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +1 -0
  120. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +1 -0
  121. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +1 -0
  122. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +3 -1
  123. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +1 -0
  124. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +1 -0
  125. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -0
  126. package/typings/generated/src/Device/deviceLibWrapper.d.ts +1 -0
  127. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +1 -0
  128. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +1 -0
  129. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +1 -0
  130. package/typings/generated/src/Device/deviceLister.d.ts +4 -2
  131. package/typings/generated/src/Device/deviceLister.d.ts.map +1 -0
  132. package/typings/generated/src/Device/deviceLister.test.d.ts +1 -0
  133. package/typings/generated/src/Device/deviceLister.test.d.ts.map +1 -0
  134. package/typings/generated/src/Device/deviceSetup.d.ts +8 -7
  135. package/typings/generated/src/Device/deviceSetup.d.ts.map +1 -0
  136. package/typings/generated/src/Device/deviceSetupSlice.d.ts +1 -0
  137. package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +1 -0
  138. package/typings/generated/src/Device/deviceSlice.d.ts +1 -0
  139. package/typings/generated/src/Device/deviceSlice.d.ts.map +1 -0
  140. package/typings/generated/src/Device/dfu-cc.d.ts +1 -0
  141. package/typings/generated/src/Device/dfu-cc.d.ts.map +1 -0
  142. package/typings/generated/src/Device/initPacket.d.ts +1 -0
  143. package/typings/generated/src/Device/initPacket.d.ts.map +1 -0
  144. package/typings/generated/src/Device/jprogOperations.d.ts +1 -0
  145. package/typings/generated/src/Device/jprogOperations.d.ts.map +1 -0
  146. package/typings/generated/src/Device/sdfuOperations.d.ts +4 -3
  147. package/typings/generated/src/Device/sdfuOperations.d.ts.map +1 -0
  148. package/typings/generated/src/Dialog/Dialog.d.ts +1 -0
  149. package/typings/generated/src/Dialog/Dialog.d.ts.map +1 -0
  150. package/typings/generated/src/Dialog/Dialog.test.d.ts +1 -0
  151. package/typings/generated/src/Dialog/Dialog.test.d.ts.map +1 -0
  152. package/typings/generated/src/Dropdown/Dropdown.d.ts +3 -1
  153. package/typings/generated/src/Dropdown/Dropdown.d.ts.map +1 -0
  154. package/typings/generated/src/Dropdown/Dropdown.test.d.ts +1 -0
  155. package/typings/generated/src/Dropdown/Dropdown.test.d.ts.map +1 -0
  156. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +1 -0
  157. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  158. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +1 -0
  159. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts.map +1 -0
  160. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +1 -0
  161. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +1 -0
  162. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +1 -0
  163. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts.map +1 -0
  164. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +1 -0
  165. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +1 -0
  166. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +1 -0
  167. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts.map +1 -0
  168. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +1 -0
  169. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts.map +1 -0
  170. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +1 -0
  171. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts.map +1 -0
  172. package/typings/generated/src/FlashMessage/FlashMessage.d.ts +5 -0
  173. package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +1 -0
  174. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +20 -0
  175. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +1 -0
  176. package/typings/generated/src/InlineInput/InlineInput.d.ts +1 -0
  177. package/typings/generated/src/InlineInput/InlineInput.d.ts.map +1 -0
  178. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +1 -0
  179. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +1 -0
  180. package/typings/generated/src/Log/LogEntry.d.ts +1 -0
  181. package/typings/generated/src/Log/LogEntry.d.ts.map +1 -0
  182. package/typings/generated/src/Log/LogViewer.d.ts +1 -0
  183. package/typings/generated/src/Log/LogViewer.d.ts.map +1 -0
  184. package/typings/generated/src/Log/logSlice.d.ts +1 -0
  185. package/typings/generated/src/Log/logSlice.d.ts.map +1 -0
  186. package/typings/generated/src/Log/syncLogToStore.d.ts +1 -0
  187. package/typings/generated/src/Log/syncLogToStore.d.ts.map +1 -0
  188. package/typings/generated/src/Logo/Logo.d.ts +1 -0
  189. package/typings/generated/src/Logo/Logo.d.ts.map +1 -0
  190. package/typings/generated/src/Main/Main.d.ts +1 -0
  191. package/typings/generated/src/Main/Main.d.ts.map +1 -0
  192. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +1 -0
  193. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +1 -0
  194. package/typings/generated/src/NavBar/NavBar.d.ts +1 -0
  195. package/typings/generated/src/NavBar/NavBar.d.ts.map +1 -0
  196. package/typings/generated/src/NavBar/NavMenu.d.ts +1 -0
  197. package/typings/generated/src/NavBar/NavMenu.d.ts.map +1 -0
  198. package/typings/generated/src/NavBar/NavMenu.test.d.ts +1 -0
  199. package/typings/generated/src/NavBar/NavMenu.test.d.ts.map +1 -0
  200. package/typings/generated/src/NavBar/NavMenuItem.d.ts +1 -1
  201. package/typings/generated/src/NavBar/NavMenuItem.d.ts.map +1 -0
  202. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts +14 -0
  203. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts.map +1 -0
  204. package/typings/generated/src/OpenApp/openApp.d.ts +1 -0
  205. package/typings/generated/src/OpenApp/openApp.d.ts.map +1 -0
  206. package/typings/generated/src/Panes/FeedbackPane.d.ts +5 -1
  207. package/typings/generated/src/Panes/FeedbackPane.d.ts.map +1 -0
  208. package/typings/generated/src/PseudoButton/PseudoButton.d.ts +1 -0
  209. package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +1 -0
  210. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +1 -0
  211. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +1 -0
  212. package/typings/generated/src/SerialPort/SerialPort.d.ts +1 -0
  213. package/typings/generated/src/SerialPort/SerialPort.d.ts.map +1 -0
  214. package/typings/generated/src/SerialPort/SerialPort.test.d.ts +1 -0
  215. package/typings/generated/src/SerialPort/SerialPort.test.d.ts.map +1 -0
  216. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +1 -0
  217. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts.map +1 -0
  218. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +1 -0
  219. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts.map +1 -0
  220. package/typings/generated/src/SidePanel/Group.d.ts +1 -0
  221. package/typings/generated/src/SidePanel/Group.d.ts.map +1 -0
  222. package/typings/generated/src/SidePanel/SidePanel.d.ts +1 -0
  223. package/typings/generated/src/SidePanel/SidePanel.d.ts.map +1 -0
  224. package/typings/generated/src/Slider/Bar.d.ts +1 -0
  225. package/typings/generated/src/Slider/Bar.d.ts.map +1 -0
  226. package/typings/generated/src/Slider/Factor.test.d.ts +1 -0
  227. package/typings/generated/src/Slider/Factor.test.d.ts.map +1 -0
  228. package/typings/generated/src/Slider/Handle.d.ts +1 -0
  229. package/typings/generated/src/Slider/Handle.d.ts.map +1 -0
  230. package/typings/generated/src/Slider/Slider.d.ts +1 -0
  231. package/typings/generated/src/Slider/Slider.d.ts.map +1 -0
  232. package/typings/generated/src/Slider/Slider.test.d.ts +1 -0
  233. package/typings/generated/src/Slider/Slider.test.d.ts.map +1 -0
  234. package/typings/generated/src/Slider/Ticks.d.ts +1 -0
  235. package/typings/generated/src/Slider/Ticks.d.ts.map +1 -0
  236. package/typings/generated/src/Slider/factor.d.ts +1 -0
  237. package/typings/generated/src/Slider/factor.d.ts.map +1 -0
  238. package/typings/generated/src/Slider/percentage.d.ts +1 -0
  239. package/typings/generated/src/Slider/percentage.d.ts.map +1 -0
  240. package/typings/generated/src/Slider/range.d.ts +1 -0
  241. package/typings/generated/src/Slider/range.d.ts.map +1 -0
  242. package/typings/generated/src/StartStopButton/StartStopButton.d.ts +1 -0
  243. package/typings/generated/src/StartStopButton/StartStopButton.d.ts.map +1 -0
  244. package/typings/generated/src/StateSelector/StateSelector.d.ts +1 -0
  245. package/typings/generated/src/StateSelector/StateSelector.d.ts.map +1 -0
  246. package/typings/generated/src/Stepper/Stepper.d.ts +1 -0
  247. package/typings/generated/src/Stepper/Stepper.d.ts.map +1 -0
  248. package/typings/generated/src/Toggle/Toggle.d.ts +1 -0
  249. package/typings/generated/src/Toggle/Toggle.d.ts.map +1 -0
  250. package/typings/generated/src/index.d.ts +8 -4
  251. package/typings/generated/src/index.d.ts.map +1 -0
  252. package/typings/generated/src/logging/appTransport.d.ts +1 -0
  253. package/typings/generated/src/logging/appTransport.d.ts.map +1 -0
  254. package/typings/generated/src/logging/appTransport.test.d.ts +1 -0
  255. package/typings/generated/src/logging/appTransport.test.d.ts.map +1 -0
  256. package/typings/generated/src/logging/describeError.d.ts +1 -0
  257. package/typings/generated/src/logging/describeError.d.ts.map +1 -0
  258. package/typings/generated/src/logging/describeError.test.d.ts +1 -0
  259. package/typings/generated/src/logging/describeError.test.d.ts.map +1 -0
  260. package/typings/generated/src/logging/index.d.ts +1 -0
  261. package/typings/generated/src/logging/index.d.ts.map +1 -0
  262. package/typings/generated/src/logging/logBuffer.d.ts +1 -0
  263. package/typings/generated/src/logging/logBuffer.d.ts.map +1 -0
  264. package/typings/generated/src/logging/logBuffer.test.d.ts +1 -0
  265. package/typings/generated/src/logging/logBuffer.test.d.ts.map +1 -0
  266. package/typings/generated/src/logging/sendInitialLogMessages.d.ts +1 -0
  267. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +1 -0
  268. package/typings/generated/src/store.d.ts +21 -18
  269. package/typings/generated/src/store.d.ts.map +1 -0
  270. package/typings/generated/src/utils/AppTypes.d.ts +1 -0
  271. package/typings/generated/src/utils/AppTypes.d.ts.map +1 -0
  272. package/typings/generated/src/utils/appDirs.d.ts +1 -0
  273. package/typings/generated/src/utils/appDirs.d.ts.map +1 -0
  274. package/typings/generated/src/utils/bleChannels.d.ts +1 -0
  275. package/typings/generated/src/utils/bleChannels.d.ts.map +1 -0
  276. package/typings/generated/src/utils/classNames.d.ts +1 -0
  277. package/typings/generated/src/utils/classNames.d.ts.map +1 -0
  278. package/typings/generated/src/utils/classNames.test.d.ts +1 -0
  279. package/typings/generated/src/utils/classNames.test.d.ts.map +1 -0
  280. package/typings/generated/src/utils/colors.d.ts +126 -3
  281. package/typings/generated/src/utils/colors.d.ts.map +1 -0
  282. package/typings/generated/src/utils/describeVersion.d.ts +1 -0
  283. package/typings/generated/src/utils/describeVersion.d.ts.map +1 -0
  284. package/typings/generated/src/utils/environment.d.ts +1 -0
  285. package/typings/generated/src/utils/environment.d.ts.map +1 -0
  286. package/typings/generated/src/utils/logLibVersions.d.ts +1 -0
  287. package/typings/generated/src/utils/logLibVersions.d.ts.map +1 -0
  288. package/typings/generated/src/utils/open.d.ts +1 -0
  289. package/typings/generated/src/utils/open.d.ts.map +1 -0
  290. package/typings/generated/src/utils/packageJson.d.ts +1 -0
  291. package/typings/generated/src/utils/packageJson.d.ts.map +1 -0
  292. package/typings/generated/src/utils/persistentStore.d.ts +1 -0
  293. package/typings/generated/src/utils/persistentStore.d.ts.map +1 -0
  294. package/typings/generated/src/utils/systemReport.d.ts +1 -0
  295. package/typings/generated/src/utils/systemReport.d.ts.map +1 -0
  296. package/typings/generated/src/utils/truncateMiddle.d.ts +1 -0
  297. package/typings/generated/src/utils/truncateMiddle.d.ts.map +1 -0
  298. package/typings/generated/src/utils/truncateMiddle.test.d.ts +1 -0
  299. package/typings/generated/src/utils/truncateMiddle.test.d.ts.map +1 -0
  300. package/typings/generated/src/utils/usageData.d.ts +4 -3
  301. package/typings/generated/src/utils/usageData.d.ts.map +1 -0
  302. package/typings/generated/src/utils/useFocusedOnVisible.d.ts +11 -0
  303. package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +1 -0
  304. package/typings/generated/src/utils/useHotKey.d.ts +1 -0
  305. package/typings/generated/src/utils/useHotKey.d.ts.map +1 -0
  306. package/typings/generated/src/utils/useStopwatch.d.ts +1 -0
  307. package/typings/generated/src/utils/useStopwatch.d.ts.map +1 -0
  308. package/typings/generated/src/utils/useStopwatch.test.d.ts +1 -0
  309. package/typings/generated/src/utils/useStopwatch.test.d.ts.map +1 -0
  310. package/typings/generated/test/dispatchTo.d.ts +1 -0
  311. package/typings/generated/test/dispatchTo.d.ts.map +1 -0
  312. package/typings/generated/test/testrenderer.d.ts +1 -0
  313. package/typings/generated/test/testrenderer.d.ts.map +1 -0
  314. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  315. package/.husky/pre-push +0 -3
  316. package/.renovaterc.json +0 -10
  317. package/azure-pipelines.yml +0 -34
  318. package/jest.config.js +0 -7
  319. package/src/About/documentationSlice.ts +0 -41
  320. package/src/About/section.scss +0 -15
  321. package/src/Button/button.module.scss +0 -154
  322. package/tsconfig.json +0 -9
  323. package/typings/generated/src/About/documentationSlice.d.ts +0 -12
@@ -56,28 +56,26 @@ export default () => {
56
56
 
57
57
  return (
58
58
  <Card title="Application">
59
- <Section title="Title">{appInfo.displayName}</Section>
60
- <Section title="Purpose">{appInfo.description}</Section>
61
- <Section title="Version">{appInfo.currentVersion}</Section>
62
- <Section title="Source">{appInfo.source || 'local'}</Section>
63
- <Section title="Supported engines">
64
- nRF Connect {appInfo.engineVersion}
65
- </Section>
66
- <Section title="Current engine">
67
- nRF Connect {appInfo.coreVersion}
68
- </Section>
69
- <Section>
70
- <AboutButton
71
- url={appInfo.repositoryUrl}
72
- label="Get source code"
73
- />
74
- </Section>
75
- <Section>
76
- <FactoryResetButton label="Restore defaults..." />
77
- </Section>
78
- <Section>
79
- <ShortcutButton label="Show shortcuts" />
80
- </Section>
59
+ <div className="tw-preflight tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
60
+ <Section title="Title">{appInfo.displayName}</Section>
61
+ <Section title="Purpose">{appInfo.description}</Section>
62
+ <Section title="Version">{appInfo.currentVersion}</Section>
63
+ <Section title="Source">{appInfo.source || 'local'}</Section>
64
+ <Section title="Supported engines">
65
+ nRF Connect {appInfo.engineVersion}
66
+ </Section>
67
+ <Section title="Current engine">
68
+ nRF Connect {appInfo.coreVersion}
69
+ </Section>
70
+ <Section>
71
+ <AboutButton
72
+ url={appInfo.repositoryUrl}
73
+ label="Get source code"
74
+ />
75
+ <FactoryResetButton label="Restore defaults..." />
76
+ <ShortcutButton label="Show shortcuts" />
77
+ </Section>
78
+ </div>
81
79
  </Card>
82
80
  );
83
81
  };
@@ -41,34 +41,36 @@ export default () => {
41
41
 
42
42
  return (
43
43
  <Card title="Device">
44
- <Section title="Name">{name || 'Unknown'}</Section>
45
- <Section title="ID">{device.serialNumber}</Section>
46
- <Section title="PCA">{pca || 'Unknown'}</Section>
47
- <Section title="Cores">{cores || 'Unknown'}</Section>
44
+ <div className="tw-preflight tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
45
+ <Section title="Name">{name || 'Unknown'}</Section>
46
+ <Section title="ID">{device.serialNumber}</Section>
47
+ <Section title="PCA">{pca || 'Unknown'}</Section>
48
+ <Section title="Cores">{cores || 'Unknown'}</Section>
48
49
 
49
- {device.hwInfo && (
50
- <>
51
- <Section title="RAM">
52
- {memorySize(device.hwInfo.ramSize)}
53
- </Section>
54
- <Section title="Flash">
55
- {memorySize(device.hwInfo.romSize)}
56
- </Section>
57
- </>
58
- )}
50
+ {device.hwInfo && (
51
+ <>
52
+ <Section title="RAM">
53
+ {memorySize(device.hwInfo.ramSize)}
54
+ </Section>
55
+ <Section title="Flash">
56
+ {memorySize(device.hwInfo.romSize)}
57
+ </Section>
58
+ </>
59
+ )}
59
60
 
60
- <Section>
61
- <AboutButton
62
- url={buyOnlineUrl(device)}
63
- label="Find distributor"
64
- />
65
- </Section>
66
- <Section>
67
- <AboutButton
68
- url={productPageUrl(device)}
69
- label="Go to product page"
70
- />
71
- </Section>
61
+ <Section>
62
+ <AboutButton
63
+ url={buyOnlineUrl(device)}
64
+ label="Find distributor"
65
+ />
66
+ </Section>
67
+ <Section>
68
+ <AboutButton
69
+ url={productPageUrl(device)}
70
+ label="Go to product page"
71
+ />
72
+ </Section>
73
+ </div>
72
74
  </Card>
73
75
  );
74
76
  };
@@ -4,15 +4,18 @@
4
4
  * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
5
  */
6
6
 
7
- import React from 'react';
8
- import { useSelector } from 'react-redux';
7
+ import React, { ReactNode } from 'react';
9
8
 
10
9
  import Card from '../Card/Card';
11
- import { documentationSections } from './documentationSlice';
12
10
 
13
- export default () => {
14
- const sections = useSelector(documentationSections);
15
- if (sections.length === 0) return null;
16
-
17
- return <Card title="Documentation">{sections}</Card>;
18
- };
11
+ export default ({
12
+ documentationSections,
13
+ }: {
14
+ documentationSections: ReactNode[];
15
+ }) => (
16
+ <Card title="Documentation">
17
+ <div className="tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
18
+ {documentationSections}
19
+ </div>
20
+ </Card>
21
+ );
@@ -6,16 +6,16 @@
6
6
 
7
7
  import React, { ReactNode } from 'react';
8
8
 
9
- import './section.scss';
10
-
11
9
  interface Props {
12
10
  title?: string;
13
11
  children?: ReactNode;
14
12
  }
15
13
 
16
14
  export default ({ children, title }: Props) => (
17
- <div className="about-section">
18
- {title != null && <h3 className="about-section-title">{title}</h3>}
19
- {children}
15
+ <div className="tw-preflight tw-w-full">
16
+ {title != null && <h3 className="tw-pb-1 tw-font-medium">{title}</h3>}
17
+ <div className="tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
18
+ {children}
19
+ </div>
20
20
  </div>
21
21
  );
@@ -35,63 +35,68 @@ export default () => {
35
35
 
36
36
  return (
37
37
  <Card title="Support">
38
- <Section title="DevZone">
39
- <p>
40
- All support requests must be sent through our developer
41
- portal DevZone.
42
- </p>
43
- <AboutButton
44
- url="https://devzone.nordicsemi.com"
45
- label="Go to DevZone"
46
- />
47
- </Section>
48
- <Section title="System report">
49
- <p>
50
- In order to get the best support it is helpful for our
51
- employees to know details about your operating system and
52
- related software. Create a system report and add to your
53
- support request.
54
- </p>
55
- <AboutButton
56
- onClick={() =>
57
- systemReport(
58
- [...devices.values()],
59
- currentSerialNumber as string,
60
- currentDevice
61
- )
62
- }
63
- label="Create system report"
64
- />
65
- </Section>
66
- <Section title="Verbose Logging">
67
- <p>
68
- Aid our support team with additional log information. Enable
69
- this only when necessary as the log will grow quickly.
70
- </p>
71
- <Toggle
72
- id="enableVerboseLoggin"
73
- label="VERBOSE LOGGING"
74
- onToggle={() => {
75
- setVerboseDeviceLibLogging(!verboseLogging);
76
- dispatch(toggleIsLoggingVerbose());
77
- }}
78
- isToggled={verboseLogging}
79
- variant="primary"
80
- />
81
- <Section>
82
- <Button
83
- variant="secondary"
84
- onClick={() => {
85
- persistIsLoggingVerbose(true);
86
- getCurrentWindow().reload();
87
- }}
88
- title="Restart application with verbose logging turned on to get log messages from initial enumeration"
89
- disabled={!verboseLogging}
90
- >
91
- Restart with verbose logging
92
- </Button>
38
+ <div className="tw-preflight tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
39
+ <Section title="DevZone">
40
+ <p>
41
+ All support requests must be sent through our developer
42
+ portal DevZone.
43
+ </p>
44
+ <AboutButton
45
+ url="https://devzone.nordicsemi.com"
46
+ label="Go to DevZone"
47
+ />
93
48
  </Section>
94
- </Section>
49
+ <Section title="System report">
50
+ <p>
51
+ In order to get the best support it is helpful for our
52
+ employees to know details about your operating system
53
+ and related software. Create a system report and add to
54
+ your support request.
55
+ </p>
56
+ <AboutButton
57
+ onClick={() =>
58
+ systemReport(
59
+ [...devices.values()],
60
+ currentSerialNumber as string,
61
+ currentDevice
62
+ )
63
+ }
64
+ label="Create system report"
65
+ />
66
+ </Section>
67
+ <Section title="Verbose Logging">
68
+ <p>
69
+ Aid our support team with additional log information.
70
+ Enable this only when necessary as the log will grow
71
+ quickly.
72
+ </p>
73
+ <div className="tw-w-full">
74
+ <Toggle
75
+ id="enableVerboseLoggin"
76
+ label="VERBOSE LOGGING"
77
+ onToggle={() => {
78
+ setVerboseDeviceLibLogging(!verboseLogging);
79
+ dispatch(toggleIsLoggingVerbose());
80
+ }}
81
+ isToggled={verboseLogging}
82
+ variant="primary"
83
+ />
84
+ </div>
85
+ <Section>
86
+ <Button
87
+ variant="secondary"
88
+ onClick={() => {
89
+ persistIsLoggingVerbose(true);
90
+ getCurrentWindow().emit('restart-window');
91
+ }}
92
+ title="Restart application with verbose logging turned on to get log messages from initial enumeration"
93
+ disabled={!verboseLogging}
94
+ >
95
+ Restart with verbose logging
96
+ </Button>
97
+ </Section>
98
+ </Section>
99
+ </div>
95
100
  </Card>
96
101
  );
97
102
  };
package/src/App/App.tsx CHANGED
@@ -13,7 +13,6 @@ import { ipcRenderer } from 'electron';
13
13
  import { Reducer } from 'redux';
14
14
 
15
15
  import About from '../About/About';
16
- import { setDocumentationSections } from '../About/documentationSlice';
17
16
  import BrokenDeviceDialog from '../Device/BrokenDeviceDialog/BrokenDeviceDialog';
18
17
  import { setAutoReselect } from '../Device/deviceAutoSelectSlice';
19
18
  import {
@@ -23,8 +22,10 @@ import {
23
22
  } from '../Device/deviceSlice';
24
23
  import ErrorBoundary from '../ErrorBoundary/ErrorBoundary';
25
24
  import ErrorDialog from '../ErrorDialog/ErrorDialog';
25
+ import FlashMessages from '../FlashMessage/FlashMessage';
26
26
  import LogViewer from '../Log/LogViewer';
27
27
  import NavBar from '../NavBar/NavBar';
28
+ import FeedbackPane, { FeedbackPaneProps } from '../Panes/FeedbackPane';
28
29
  import classNames from '../utils/classNames';
29
30
  import packageJson from '../utils/packageJson';
30
31
  import { getPersistedCurrentPane } from '../utils/persistentStore';
@@ -43,6 +44,7 @@ import VisibilityBar from './VisibilityBar';
43
44
 
44
45
  import './app.scss';
45
46
  import './shared.scss';
47
+ import './tailwind.css';
46
48
 
47
49
  let usageDataAlreadyInitialised = false;
48
50
  const initialiseUsageData = () => {
@@ -74,6 +76,7 @@ interface ConnectedAppProps {
74
76
  showLogByDefault?: boolean;
75
77
  reportUsageData?: boolean;
76
78
  documentation?: ReactNode[];
79
+ feedback?: boolean | FeedbackPaneProps;
77
80
  children?: ReactNode;
78
81
  autoReselectByDefault?: boolean;
79
82
  }
@@ -85,13 +88,14 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
85
88
  showLogByDefault = true,
86
89
  reportUsageData = false,
87
90
  documentation,
91
+ feedback,
88
92
  children,
89
93
  autoReselectByDefault = false,
90
94
  }) => {
91
95
  usePersistedPane();
92
96
  const isLogVisible = useSelector(isLogVisibleSelector);
93
97
  const currentPane = useSelector(currentPaneSelector);
94
- const allPanes = useAllPanes(panes);
98
+ const allPanes = useAllPanes(panes, documentation, feedback);
95
99
  const dispatch = useDispatch();
96
100
 
97
101
  useHotKey({
@@ -111,10 +115,6 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
111
115
  }
112
116
  }, [dispatch, showLogByDefault]);
113
117
 
114
- useEffect(() => {
115
- if (documentation) dispatch(setDocumentationSections(documentation));
116
- }, [dispatch, documentation]);
117
-
118
118
  const SidePanelComponent = allPanes[currentPane].SidePanel;
119
119
  const currentSidePanel =
120
120
  SidePanelComponent != null ? <SidePanelComponent /> : sidePanel;
@@ -166,6 +166,7 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
166
166
  <LogViewer />
167
167
  </div>
168
168
  </div>
169
+ <FlashMessages />
169
170
  </div>
170
171
  <VisibilityBar isSidePanelEnabled={sidePanel !== null} />
171
172
 
@@ -211,13 +212,37 @@ const usePersistedPane = () => {
211
212
  }, [dispatch]);
212
213
  };
213
214
 
214
- const useAllPanes = (panes: Pane[]) => {
215
+ const useAllPanes = (
216
+ panes: Pane[],
217
+ documentation: ReactNode[] | undefined,
218
+ feedback: boolean | FeedbackPaneProps | undefined
219
+ ) => {
215
220
  const dispatch = useDispatch();
216
221
 
217
- const allPanes = useMemo(
218
- () => [...panes, { name: 'About', Main: About }] as Pane[],
219
- [panes]
220
- );
222
+ const allPanes = useMemo(() => {
223
+ const newPanes = [...panes];
224
+
225
+ if (feedback) {
226
+ newPanes.push({
227
+ name: 'Feedback',
228
+ Main: props => (
229
+ <FeedbackPane
230
+ {...(typeof feedback === 'object'
231
+ ? feedback
232
+ : undefined)}
233
+ {...props}
234
+ />
235
+ ),
236
+ });
237
+ }
238
+
239
+ newPanes.push({
240
+ name: 'About',
241
+ Main: props => <About documentation={documentation} {...props} />,
242
+ });
243
+
244
+ return newPanes;
245
+ }, [panes, documentation, feedback]);
221
246
 
222
247
  useEffect(() => {
223
248
  dispatch(setPanes(allPanes));
@@ -34,7 +34,6 @@ const setCurrentPaneInState = (newPane: number, state: AppLayout) => {
34
34
 
35
35
  interface PaneSpec {
36
36
  name: string;
37
- Main: unknown;
38
37
  }
39
38
 
40
39
  const slice = createSlice({