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

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 (232) hide show
  1. package/dist/bootstrap.css +8951 -0
  2. package/dist/index.css +1451 -0
  3. package/dist/index.js +122119 -0
  4. package/{src/Logo/nordic-logo-blue-icon-only.png → dist/nordic-logo-blue-icon-only-H7BABN6D.png} +0 -0
  5. package/{src/Logo/nordic-logo-gray-icon-only.png → dist/nordic-logo-gray-icon-only-GATOTR3L.png} +0 -0
  6. package/package.json +12 -3
  7. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +1 -2
  8. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  9. package/.husky/pre-push +0 -3
  10. package/.renovaterc.json +0 -10
  11. package/Changelog.md +0 -2973
  12. package/azure-pipelines.yml +0 -34
  13. package/config/eslintrc.js +0 -190
  14. package/config/jest.config.js +0 -41
  15. package/config/prettier.config.js +0 -13
  16. package/config/tsconfig.json +0 -15
  17. package/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip +0 -0
  18. package/jest.config.js +0 -7
  19. package/main/index.ts +0 -32
  20. package/mocks/deviceLibMock.ts +0 -21
  21. package/mocks/electronMock.ts +0 -15
  22. package/mocks/electronStoreMock.ts +0 -19
  23. package/mocks/emptyMock.ts +0 -7
  24. package/mocks/fileMock.ts +0 -13
  25. package/mocks/gaMock.ts +0 -9
  26. package/mocks/mockTests.test.ts +0 -15
  27. package/mocks/packageJsonMock.ts +0 -10
  28. package/mocks/remoteMock.ts +0 -17
  29. package/scripts/esbuild-bootstrap.js +0 -15
  30. package/scripts/esbuild-renderer.js +0 -131
  31. package/scripts/installHusky.ts +0 -17
  32. package/scripts/prepare-shared-release.ts +0 -122
  33. package/scripts/release-shared.test.ts +0 -132
  34. package/scripts/release-shared.ts +0 -207
  35. package/src/About/About.tsx +0 -25
  36. package/src/About/AboutButton.tsx +0 -28
  37. package/src/About/ApplicationCard.tsx +0 -83
  38. package/src/About/DeviceCard.tsx +0 -74
  39. package/src/About/DocumentationCard.tsx +0 -18
  40. package/src/About/DocumentationSection.tsx +0 -24
  41. package/src/About/Section.tsx +0 -21
  42. package/src/About/ShortcutButton.tsx +0 -41
  43. package/src/About/SupportCard.tsx +0 -97
  44. package/src/About/about.scss +0 -40
  45. package/src/About/documentationSlice.ts +0 -41
  46. package/src/About/section.scss +0 -15
  47. package/src/About/shortcutSlice.ts +0 -52
  48. package/src/Alert/Alert.module.scss +0 -29
  49. package/src/Alert/Alert.tsx +0 -37
  50. package/src/App/App.test.tsx +0 -47
  51. package/src/App/App.tsx +0 -227
  52. package/src/App/ConnectedToStore.tsx +0 -19
  53. package/src/App/VisibilityBar.tsx +0 -103
  54. package/src/App/app.scss +0 -83
  55. package/src/App/appLayout.ts +0 -95
  56. package/src/App/shared.scss +0 -49
  57. package/src/App/visibility-bar.scss +0 -55
  58. package/src/Button/Button.tsx +0 -66
  59. package/src/Button/button.module.scss +0 -154
  60. package/src/Card/Card.tsx +0 -26
  61. package/src/Card/card.module.scss +0 -28
  62. package/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.tsx +0 -58
  63. package/src/Device/BrokenDeviceDialog/broken-device-dialog.scss +0 -18
  64. package/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.tsx +0 -48
  65. package/src/Device/DeviceSelector/BasicDeviceInfo.tsx +0 -115
  66. package/src/Device/DeviceSelector/DeviceIcon.tsx +0 -27
  67. package/src/Device/DeviceSelector/DeviceList/AnimatedList.tsx +0 -62
  68. package/src/Device/DeviceSelector/DeviceList/BrokenDevice.tsx +0 -34
  69. package/src/Device/DeviceSelector/DeviceList/Device.tsx +0 -84
  70. package/src/Device/DeviceSelector/DeviceList/DeviceList.tsx +0 -113
  71. package/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.tsx +0 -28
  72. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +0 -65
  73. package/src/Device/DeviceSelector/DeviceList/RenameDevice.tsx +0 -22
  74. package/src/Device/DeviceSelector/DeviceList/broken-device.scss +0 -32
  75. package/src/Device/DeviceSelector/DeviceList/device-list.scss +0 -64
  76. package/src/Device/DeviceSelector/DeviceList/device.scss +0 -28
  77. package/src/Device/DeviceSelector/DeviceList/edit-device-buttons.scss +0 -31
  78. package/src/Device/DeviceSelector/DeviceList/more-device-info.scss +0 -33
  79. package/src/Device/DeviceSelector/DeviceList/rename-device.scss +0 -13
  80. package/src/Device/DeviceSelector/DeviceSelector.test.tsx +0 -342
  81. package/src/Device/DeviceSelector/DeviceSelector.tsx +0 -173
  82. package/src/Device/DeviceSelector/Favorite.tsx +0 -49
  83. package/src/Device/DeviceSelector/SelectDevice.tsx +0 -36
  84. package/src/Device/DeviceSelector/SelectedDevice.tsx +0 -65
  85. package/src/Device/DeviceSelector/arrow-down.svg +0 -1
  86. package/src/Device/DeviceSelector/basic-device-info.scss +0 -62
  87. package/src/Device/DeviceSelector/device-icon.scss +0 -27
  88. package/src/Device/DeviceSelector/favorite.scss +0 -17
  89. package/src/Device/DeviceSelector/select-device.scss +0 -38
  90. package/src/Device/DeviceSelector/selected-device.scss +0 -57
  91. package/src/Device/DeviceSetup/DeviceSetupView.tsx +0 -102
  92. package/src/Device/deviceAutoSelectSlice.ts +0 -144
  93. package/src/Device/deviceInfo/deviceInfo.ts +0 -254
  94. package/src/Device/deviceInfo/nRF51-Series-logo.svg +0 -1
  95. package/src/Device/deviceInfo/nRF52-Series-logo.svg +0 -1
  96. package/src/Device/deviceInfo/nRF53-Series-logo.svg +0 -1
  97. package/src/Device/deviceInfo/nRF70-Series_no-background_RGB.svg +0 -36
  98. package/src/Device/deviceInfo/nRF91-Series-logo.svg +0 -1
  99. package/src/Device/deviceInfo/ppk-logo.svg +0 -1
  100. package/src/Device/deviceInfo/unknown-logo.svg +0 -30
  101. package/src/Device/deviceInfo/unknown-nordic-logo.svg +0 -25
  102. package/src/Device/deviceLibWrapper.test.ts +0 -97
  103. package/src/Device/deviceLibWrapper.ts +0 -133
  104. package/src/Device/deviceLister.test.ts +0 -89
  105. package/src/Device/deviceLister.ts +0 -396
  106. package/src/Device/deviceSetup.ts +0 -264
  107. package/src/Device/deviceSetupSlice.ts +0 -94
  108. package/src/Device/deviceSlice.ts +0 -248
  109. package/src/Device/dfu-cc.ts +0 -162
  110. package/src/Device/initPacket.ts +0 -402
  111. package/src/Device/jprogOperations.ts +0 -206
  112. package/src/Device/sdfuOperations.ts +0 -601
  113. package/src/Dialog/Dialog.test.tsx +0 -134
  114. package/src/Dialog/Dialog.tsx +0 -236
  115. package/src/Dialog/dialog.scss +0 -60
  116. package/src/Dropdown/Dropdown.module.scss +0 -83
  117. package/src/Dropdown/Dropdown.test.tsx +0 -62
  118. package/src/Dropdown/Dropdown.tsx +0 -106
  119. package/src/ErrorBoundary/ErrorBoundary.test.tsx +0 -105
  120. package/src/ErrorBoundary/ErrorBoundary.tsx +0 -186
  121. package/src/ErrorBoundary/bug.svg +0 -1
  122. package/src/ErrorBoundary/error-boundary.scss +0 -102
  123. package/src/ErrorDialog/ErrorDialog.test.tsx +0 -70
  124. package/src/ErrorDialog/ErrorDialog.tsx +0 -94
  125. package/src/ErrorDialog/error.scss +0 -14
  126. package/src/ErrorDialog/errorDialogSlice.test.ts +0 -64
  127. package/src/ErrorDialog/errorDialogSlice.ts +0 -80
  128. package/src/FactoryReset/FactoryResetButton.test.tsx +0 -46
  129. package/src/FactoryReset/FactoryResetButton.tsx +0 -81
  130. package/src/InlineInput/InlineInput.tsx +0 -170
  131. package/src/InlineInput/NumberInlineInput.tsx +0 -107
  132. package/src/InlineInput/inline-input.scss +0 -38
  133. package/src/InlineInput/number-inline-input.scss +0 -15
  134. package/src/Log/LogEntry.tsx +0 -62
  135. package/src/Log/LogViewer.tsx +0 -54
  136. package/src/Log/log-entry.scss +0 -30
  137. package/src/Log/log-viewer.scss +0 -24
  138. package/src/Log/logSlice.ts +0 -73
  139. package/src/Log/syncLogToStore.ts +0 -36
  140. package/src/Logo/Logo.tsx +0 -48
  141. package/src/Logo/logo.scss +0 -11
  142. package/src/Main/Main.tsx +0 -13
  143. package/src/Main/main.scss +0 -13
  144. package/src/MasonryLayout/MasonryLayout.tsx +0 -234
  145. package/src/MasonryLayout/masonryLayout.module.scss +0 -46
  146. package/src/NavBar/NavBar.tsx +0 -22
  147. package/src/NavBar/NavMenu.test.tsx +0 -41
  148. package/src/NavBar/NavMenu.tsx +0 -53
  149. package/src/NavBar/NavMenuItem.tsx +0 -41
  150. package/src/NavBar/nav-bar.scss +0 -26
  151. package/src/NavBar/nav-menu-item.scss +0 -34
  152. package/src/OpenApp/openApp.ts +0 -18
  153. package/src/Panes/FeedbackPane.tsx +0 -149
  154. package/src/PseudoButton/PseudoButton.tsx +0 -56
  155. package/src/PseudoButton/pseudo-button.scss +0 -11
  156. package/src/SerialPort/ConflictingSettingsDialog.tsx +0 -242
  157. package/src/SerialPort/SerialPort.test.ts +0 -54
  158. package/src/SerialPort/SerialPort.ts +0 -202
  159. package/src/Shortcuts/Shortcut-item.scss +0 -33
  160. package/src/Shortcuts/Shortcut-modal.scss +0 -20
  161. package/src/Shortcuts/ShortcutItem.tsx +0 -48
  162. package/src/Shortcuts/ShortcutModal.tsx +0 -67
  163. package/src/SidePanel/Group.tsx +0 -106
  164. package/src/SidePanel/SidePanel.tsx +0 -19
  165. package/src/SidePanel/group.scss +0 -42
  166. package/src/SidePanel/sidepanel.scss +0 -20
  167. package/src/Slider/Bar.tsx +0 -24
  168. package/src/Slider/Factor.test.ts +0 -48
  169. package/src/Slider/Handle.tsx +0 -121
  170. package/src/Slider/Slider.test.tsx +0 -25
  171. package/src/Slider/Slider.tsx +0 -91
  172. package/src/Slider/Ticks.tsx +0 -54
  173. package/src/Slider/__snapshots__/Slider.test.tsx.snap +0 -50
  174. package/src/Slider/bar.scss +0 -24
  175. package/src/Slider/factor.ts +0 -24
  176. package/src/Slider/handle.scss +0 -32
  177. package/src/Slider/percentage.ts +0 -67
  178. package/src/Slider/range.ts +0 -92
  179. package/src/Slider/slider.scss +0 -14
  180. package/src/Slider/ticks.scss +0 -28
  181. package/src/Slider/variables.scss +0 -16
  182. package/src/StartStopButton/StartStopButton.tsx +0 -60
  183. package/src/StartStopButton/play-circle.svg +0 -1
  184. package/src/StartStopButton/start-stop-button.scss +0 -47
  185. package/src/StartStopButton/stop-circle.svg +0 -1
  186. package/src/StateSelector/StateSelector.tsx +0 -64
  187. package/src/StateSelector/state-selector.scss +0 -38
  188. package/src/Stepper/Stepper.tsx +0 -139
  189. package/src/Stepper/stepper.scss +0 -127
  190. package/src/Toggle/Toggle.tsx +0 -120
  191. package/src/Toggle/toggle.scss +0 -109
  192. package/src/bootstrap.scss +0 -14
  193. package/src/index.ts +0 -146
  194. package/src/logging/appTransport.test.ts +0 -78
  195. package/src/logging/appTransport.ts +0 -41
  196. package/src/logging/describeError.test.ts +0 -38
  197. package/src/logging/describeError.ts +0 -56
  198. package/src/logging/index.ts +0 -103
  199. package/src/logging/logBuffer.test.ts +0 -41
  200. package/src/logging/logBuffer.ts +0 -24
  201. package/src/logging/sendInitialLogMessages.ts +0 -64
  202. package/src/store.ts +0 -60
  203. package/src/svg.d.ts +0 -15
  204. package/src/utils/AppTypes.ts +0 -60
  205. package/src/utils/appDirs.ts +0 -78
  206. package/src/utils/bleChannels.ts +0 -16
  207. package/src/utils/classNames.test.ts +0 -29
  208. package/src/utils/classNames.ts +0 -25
  209. package/src/utils/colors.scss +0 -46
  210. package/src/utils/colors.ts +0 -38
  211. package/src/utils/describeVersion.ts +0 -21
  212. package/src/utils/environment.ts +0 -6
  213. package/src/utils/logLibVersions.ts +0 -103
  214. package/src/utils/open.ts +0 -46
  215. package/src/utils/packageJson.ts +0 -60
  216. package/src/utils/persistentStore.ts +0 -144
  217. package/src/utils/systemReport.ts +0 -160
  218. package/src/utils/truncateMiddle.test.ts +0 -21
  219. package/src/utils/truncateMiddle.ts +0 -20
  220. package/src/utils/usageData.ts +0 -189
  221. package/src/utils/useHotKey.ts +0 -62
  222. package/src/utils/useStopwatch.test.tsx +0 -311
  223. package/src/utils/useStopwatch.ts +0 -140
  224. package/src/variables.scss +0 -820
  225. package/styles.scss +0 -88
  226. package/test/dispatchTo.ts +0 -23
  227. package/test/index.ts +0 -7
  228. package/test/jestResolver.js +0 -28
  229. package/test/setupTests.ts +0 -27
  230. package/test/testUtil.ts +0 -20
  231. package/test/testrenderer.tsx +0 -39
  232. /package/{src/Logo/nordic-logo-white-icon-only.png → dist/nordic-logo-white-icon-only-XIZBW537.png} +0 -0
@@ -1,173 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import React, { useCallback, useEffect, useState } from 'react';
8
- import { useDispatch, useSelector } from 'react-redux';
9
- import { DeviceTraits } from '@nordicsemiconductor/nrf-device-lib-js';
10
-
11
- import useHotKey from '../../utils/useHotKey';
12
- import {
13
- clearWaitForDevice,
14
- getWaitingToAutoReselect,
15
- setAutoSelectDevice,
16
- } from '../deviceAutoSelectSlice';
17
- import { startWatchingDevices, stopWatchingDevices } from '../deviceLister';
18
- import { DeviceSetupConfig, setupDevice } from '../deviceSetup';
19
- import DeviceSetupView from '../DeviceSetup/DeviceSetupView';
20
- import {
21
- deselectDevice,
22
- Device,
23
- deviceIsSelected as deviceIsSelectedSelector,
24
- selectDevice,
25
- selectedSerialNumber,
26
- } from '../deviceSlice';
27
- import DeviceList from './DeviceList/DeviceList';
28
- import SelectDevice from './SelectDevice';
29
- import SelectedDevice from './SelectedDevice';
30
-
31
- interface OutdatedDeviceTraits {
32
- serialPort?: boolean;
33
- serialport?: boolean;
34
- }
35
-
36
- export interface Props {
37
- deviceListing: DeviceTraits & OutdatedDeviceTraits;
38
- deviceSetupConfig?: DeviceSetupConfig;
39
- onDeviceSelected?: (device: Device, autoReselected: boolean) => void;
40
- onDeviceDeselected?: () => void;
41
- onDeviceConnected?: (device: Device) => void;
42
- onDeviceDisconnected?: (device: Device) => void;
43
- onDeviceIsReady?: (device: Device) => void;
44
- deviceFilter?: (device: Device) => boolean;
45
- }
46
-
47
- const noop = () => {};
48
- export default ({
49
- deviceListing,
50
- deviceSetupConfig,
51
- onDeviceSelected = noop,
52
- onDeviceDeselected = noop,
53
- onDeviceConnected = noop,
54
- onDeviceDisconnected = noop,
55
- onDeviceIsReady = noop,
56
- deviceFilter,
57
- }: Props) => {
58
- const dispatch = useDispatch();
59
- const [deviceListVisible, setDeviceListVisible] = useState(false);
60
-
61
- const deviceIsSelected = useSelector(deviceIsSelectedSelector);
62
- const selectedSN = useSelector(selectedSerialNumber);
63
- const waitingToAutoReconnect = useSelector(getWaitingToAutoReselect);
64
- const showSelectedDevice = deviceIsSelected || waitingToAutoReconnect;
65
-
66
- const doDeselectDevice = useCallback(() => {
67
- onDeviceDeselected();
68
- dispatch(deselectDevice());
69
- dispatch(clearWaitForDevice());
70
- dispatch(setAutoSelectDevice(undefined));
71
- }, [dispatch, onDeviceDeselected]);
72
-
73
- // Ensure that useCallback is
74
- // not updated frequently as this
75
- // will have a side effect to stop and start the hotplug events
76
- const doSelectDevice = useCallback(
77
- (device: Device, autoReselected: boolean) => {
78
- dispatch(clearWaitForDevice());
79
- setDeviceListVisible(false);
80
- dispatch(selectDevice(device));
81
- dispatch(setAutoSelectDevice(device));
82
- onDeviceSelected(device, autoReselected);
83
- if (deviceSetupConfig) {
84
- dispatch(
85
- setupDevice(
86
- device,
87
- deviceSetupConfig,
88
- onDeviceIsReady,
89
- doDeselectDevice
90
- )
91
- );
92
- }
93
- },
94
- [
95
- deviceSetupConfig,
96
- dispatch,
97
- doDeselectDevice,
98
- onDeviceIsReady,
99
- onDeviceSelected,
100
- ]
101
- );
102
-
103
- const doStartWatchingDevices = useCallback(() => {
104
- const patchedDeviceListing = {
105
- serialPorts: deviceListing.serialPort || deviceListing.serialport,
106
- ...deviceListing,
107
- };
108
- dispatch(
109
- startWatchingDevices(
110
- patchedDeviceListing,
111
- onDeviceConnected,
112
- onDeviceDisconnected,
113
- onDeviceDeselected,
114
- doSelectDevice
115
- )
116
- );
117
- }, [
118
- deviceListing,
119
- dispatch,
120
- onDeviceConnected,
121
- onDeviceDisconnected,
122
- onDeviceDeselected,
123
- doSelectDevice,
124
- ]);
125
-
126
- const toggleDeviceListVisible = () =>
127
- setDeviceListVisible(!deviceListVisible);
128
-
129
- useEffect(() => {
130
- doStartWatchingDevices();
131
- return stopWatchingDevices;
132
- }, [doStartWatchingDevices]);
133
-
134
- useHotKey({
135
- hotKey: 'alt+s',
136
- title: 'Select device',
137
- isGlobal: true,
138
- action: () => toggleDeviceListVisible(),
139
- });
140
-
141
- return (
142
- <div className="core19-device-selector">
143
- {showSelectedDevice ? (
144
- <SelectedDevice
145
- doDeselectDevice={doDeselectDevice}
146
- toggleDeviceListVisible={toggleDeviceListVisible}
147
- />
148
- ) : (
149
- <SelectDevice
150
- deviceListVisible={deviceListVisible}
151
- toggleDeviceListVisible={toggleDeviceListVisible}
152
- />
153
- )}
154
- <DeviceList
155
- isVisible={deviceListVisible}
156
- doSelectDevice={(device, autoReselected) => {
157
- if (device.serialNumber === selectedSN) {
158
- setDeviceListVisible(false);
159
- return;
160
- }
161
-
162
- if (deviceIsSelected) {
163
- doDeselectDevice();
164
- }
165
-
166
- doSelectDevice(device, autoReselected);
167
- }}
168
- deviceFilter={deviceFilter}
169
- />
170
- <DeviceSetupView />
171
- </div>
172
- );
173
- };
@@ -1,49 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import React, { FC } from 'react';
8
- import { useDispatch } from 'react-redux';
9
-
10
- import PseudoButton from '../../PseudoButton/PseudoButton';
11
- import { Device, toggleDeviceFavorited } from '../deviceSlice';
12
-
13
- import './favorite.scss';
14
-
15
- export const MakeDeviceFavorite: FC<{ device: Device }> = ({ device }) => {
16
- const dispatch = useDispatch();
17
-
18
- const toggleFavorite = () => {
19
- dispatch(toggleDeviceFavorited(device.serialNumber));
20
- };
21
-
22
- return (
23
- <PseudoButton className="make-favorite" onClick={toggleFavorite}>
24
- <span
25
- className={`mdi star ${
26
- device.favorite ? 'mdi-star-off' : 'mdi-star'
27
- }`}
28
- />
29
- {device.favorite ? 'Un-favorite' : 'Favorite'}
30
- </PseudoButton>
31
- );
32
- };
33
-
34
- export const FavoriteIndicator: FC<{ device: Device }> = ({ device }) => {
35
- const dispatch = useDispatch();
36
-
37
- const toggleFavorite = () => {
38
- dispatch(toggleDeviceFavorited(device.serialNumber));
39
- };
40
-
41
- return (
42
- <PseudoButton
43
- className={`mdi ${
44
- device.favorite ? 'mdi-star' : 'mdi-star-outline'
45
- }`}
46
- onClick={toggleFavorite}
47
- />
48
- );
49
- };
@@ -1,36 +0,0 @@
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
-
9
- import PseudoButton from '../../PseudoButton/PseudoButton';
10
- import classNames from '../../utils/classNames';
11
- import chevron from './arrow-down.svg';
12
-
13
- import './select-device.scss';
14
-
15
- interface Props {
16
- deviceListVisible: boolean;
17
- toggleDeviceListVisible: () => void;
18
- }
19
-
20
- export default ({ deviceListVisible, toggleDeviceListVisible }: Props) => (
21
- <PseudoButton
22
- title="alt+s"
23
- className={classNames(
24
- 'select-device',
25
- deviceListVisible && 'device-list-visible'
26
- )}
27
- onClick={toggleDeviceListVisible}
28
- >
29
- <div>Select device</div>
30
- <img
31
- className={classNames(deviceListVisible && 'img-rotate')}
32
- src={chevron}
33
- alt=""
34
- />
35
- </PseudoButton>
36
- );
@@ -1,65 +0,0 @@
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 { useSelector } from 'react-redux';
9
-
10
- import PseudoButton from '../../PseudoButton/PseudoButton';
11
- import {
12
- getAutoReselectDevice,
13
- getWaitingForDeviceTimeout,
14
- getWaitingToAutoReselect,
15
- } from '../deviceAutoSelectSlice';
16
- import { selectedDevice } from '../deviceSlice';
17
- import BasicDeviceInfo from './BasicDeviceInfo';
18
-
19
- import './selected-device.scss';
20
-
21
- const DisconnectDevice = ({
22
- doDeselectDevice,
23
- }: {
24
- doDeselectDevice: () => void;
25
- }) => (
26
- <PseudoButton
27
- className="mdi mdi-24px mdi-eject disconnect"
28
- onClick={doDeselectDevice}
29
- title="Disconnect device"
30
- testId="disconnect-device"
31
- />
32
- );
33
-
34
- export default ({
35
- doDeselectDevice,
36
- toggleDeviceListVisible,
37
- }: {
38
- doDeselectDevice: () => void;
39
- toggleDeviceListVisible: () => void;
40
- }) => {
41
- const waitingForAutoReselect = useSelector(getWaitingToAutoReselect);
42
- const waitingForDevice = useSelector(getWaitingForDeviceTimeout);
43
- const selDevice = useSelector(selectedDevice);
44
- const autoReconnectDevice = useSelector(getAutoReselectDevice);
45
- const device = selDevice ?? autoReconnectDevice;
46
-
47
- return (
48
- <PseudoButton
49
- className={`selected-device ${
50
- waitingForAutoReselect || waitingForDevice ? 'reconnecting' : ''
51
- }`}
52
- onClick={toggleDeviceListVisible}
53
- >
54
- {device && (
55
- <BasicDeviceInfo
56
- device={device}
57
- toggles={
58
- <DisconnectDevice doDeselectDevice={doDeselectDevice} />
59
- }
60
- showWaitingStatus
61
- />
62
- )}
63
- </PseudoButton>
64
- );
65
- };
@@ -1 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff"><path d="M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z" /></svg>
@@ -1,62 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import '../../variables';
8
-
9
- .core19-device-selector {
10
- .basic-device-info {
11
- display: flex;
12
- flex-direction: row;
13
- align-items: center;
14
- width: 100%;
15
-
16
- .details {
17
- width: inherit;
18
-
19
- display: flex;
20
- flex-direction: column;
21
-
22
- line-height: 1;
23
-
24
- .name {
25
- font-size: 14px;
26
- font-weight: $font-weight-bold;
27
- text-overflow: ellipsis;
28
-
29
- &:not(:focus) {
30
- pointer-events: none;
31
- }
32
- }
33
- .reconnecting {
34
- border-bottom-style: solid;
35
- border-bottom-width: 1px;
36
- border-bottom-color: transparent;
37
-
38
- font-size: 14px;
39
- font-weight: $font-weight-bold;
40
-
41
- &:not(:focus) {
42
- pointer-events: none;
43
- }
44
- }
45
-
46
- .serial-number {
47
- overflow-wrap: break-word;
48
- max-width: 155px;
49
- text-overflow: ellipsis;
50
- }
51
- }
52
-
53
- .toggles {
54
- display: flex;
55
- flex-direction: column;
56
- align-items: center;
57
-
58
- width: 44px;
59
- margin-right: 10px;
60
- }
61
- }
62
- }
@@ -1,27 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../variables";
8
-
9
- .core19-device-selector {
10
- .icon {
11
- width: 68px;
12
- flex-shrink: 0;
13
- padding-left: 27px;
14
-
15
- fill: $gray-700;
16
-
17
- .mdi {
18
- display: flex;
19
- flex-direction: column;
20
- font-size: 27px;
21
- }
22
- }
23
-
24
- .selected-device:hover .icon {
25
- fill: $primary;
26
- }
27
- }
@@ -1,17 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../variables";
8
-
9
- .core19-device-selector {
10
- .make-favorite .star {
11
- margin-right: 1ex;
12
- }
13
-
14
- .mdi-star-outline { visibility: hidden; }
15
-
16
- .device:hover .mdi-star-outline { visibility: visible; }
17
- }
@@ -1,38 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import "../../variables";
8
-
9
- .core19-device-selector {
10
- .select-device {
11
- font-size: 16px;
12
- background: $primary;
13
-
14
- padding-left: 68px;
15
- text-transform: uppercase;
16
-
17
- color: $white;
18
-
19
- height: $nav-bar-height;
20
-
21
- display: flex;
22
- flex-direction: row;
23
- align-items: center;
24
- justify-content: space-between;
25
-
26
- &:hover,&.device-list-visible {
27
- background: $primary-darkened;
28
- }
29
-
30
- img {
31
- margin-right: 10px !important;
32
- transition: transform 100ms linear;
33
- &.img-rotate {
34
- transform: rotate(180deg);
35
- }
36
- }
37
- }
38
- }
@@ -1,57 +0,0 @@
1
- /*
2
- * Copyright (c) 2021 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import '../../variables';
8
-
9
- @keyframes alert {
10
- 0% {
11
- background: $white;
12
- }
13
- 50% {
14
- background: $gray-100;
15
- }
16
- 100% {
17
- background: $white;
18
- }
19
- }
20
-
21
- .core19-device-selector {
22
- .selected-device {
23
- height: $nav-bar-height;
24
-
25
- font-size: 16px;
26
- color: $gray-700;
27
- background: $white;
28
-
29
- &.reconnecting {
30
- background: $gray-100;
31
- animation: alert 2s infinite;
32
- }
33
-
34
- display: flex;
35
- flex-direction: row;
36
- align-items: center;
37
-
38
- .serial-number {
39
- font-weight: $font-weight-light;
40
- font-size: 11px;
41
- }
42
-
43
- .waiting-to-reconnect {
44
- font-weight: $font-weight-light;
45
- font-size: 11px;
46
- }
47
-
48
- .disconnect {
49
- color: $gray-700;
50
- }
51
-
52
- &:hover,
53
- *:hover {
54
- color: $primary;
55
- }
56
- }
57
- }
@@ -1,102 +0,0 @@
1
- /*
2
- * Copyright (c) 2015 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import React, { useState } from 'react';
8
- import { ProgressBar } from 'react-bootstrap';
9
- import Form from 'react-bootstrap/Form';
10
- import { useDispatch, useSelector } from 'react-redux';
11
-
12
- import { Dialog, DialogButton } from '../../Dialog/Dialog';
13
- import {
14
- deviceSetupUserInputReceived,
15
- getDeviceSetupChoices,
16
- getDeviceSetupMessage,
17
- getDeviceSetupProgress,
18
- getDeviceSetupProgressMessage,
19
- getDeviceSetupUserInputCallback,
20
- isDeviceSetupDialogVisible,
21
- } from '../deviceSetupSlice';
22
-
23
- export default () => {
24
- const dispatch = useDispatch();
25
- const [selectedChoices, setSelectedChoices] = useState<number>(0);
26
- const isVisible = useSelector(isDeviceSetupDialogVisible);
27
- const message = useSelector(getDeviceSetupMessage);
28
- const progressMessage = useSelector(getDeviceSetupProgressMessage);
29
- const progress = useSelector(getDeviceSetupProgress);
30
- const choices = useSelector(getDeviceSetupChoices);
31
- const onUserInput = useSelector(getDeviceSetupUserInputCallback);
32
-
33
- const isInProgress = progress !== undefined;
34
-
35
- return (
36
- <Dialog isVisible={isVisible}>
37
- <Dialog.Header
38
- showSpinner={isInProgress}
39
- title="Confirm"
40
- headerIcon=""
41
- />
42
- <Dialog.Body>
43
- <Form.Group>
44
- <div>{message}</div>
45
- </Form.Group>
46
- {choices && (
47
- <Form.Group>
48
- {choices.map((choice, index) => (
49
- <Form.Check
50
- key={choice}
51
- name="radioGroup"
52
- type="radio"
53
- disabled={isInProgress}
54
- onClick={() => setSelectedChoices(index)}
55
- label={choice}
56
- />
57
- ))}
58
- </Form.Group>
59
- )}
60
- <Form.Group>
61
- {progressMessage !== undefined && (
62
- <Form.Label>
63
- <strong>Status:</strong>
64
- <span>{` ${progressMessage}`}</span>
65
- </Form.Label>
66
- )}
67
- {progress !== undefined && (
68
- <ProgressBar now={progress} style={{ height: '4px' }} />
69
- )}
70
- </Form.Group>
71
- </Dialog.Body>
72
- <Dialog.Footer>
73
- <DialogButton
74
- variant="primary"
75
- onClick={() => {
76
- if (onUserInput) {
77
- dispatch(deviceSetupUserInputReceived());
78
- onUserInput(
79
- false,
80
- choices ? selectedChoices : undefined
81
- );
82
- }
83
- }}
84
- disabled={!onUserInput || isInProgress}
85
- >
86
- Program
87
- </DialogButton>
88
- <DialogButton
89
- onClick={() => {
90
- if (onUserInput) {
91
- dispatch(deviceSetupUserInputReceived());
92
- onUserInput(true);
93
- }
94
- }}
95
- disabled={isInProgress}
96
- >
97
- {choices ? 'Cancel' : 'No'}
98
- </DialogButton>
99
- </Dialog.Footer>
100
- </Dialog>
101
- );
102
- };