@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,60 +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, ReactNode } from 'react';
8
-
9
- import Button, { ButtonVariants } from '../Button/Button';
10
- import classNames from '../utils/classNames';
11
- import playSvg from './play-circle.svg';
12
- import stopSvg from './stop-circle.svg';
13
-
14
- import './start-stop-button.scss';
15
-
16
- interface Props {
17
- startText?: ReactNode;
18
- stopText?: ReactNode;
19
- onClick: () => void;
20
- started: boolean;
21
- disabled?: boolean;
22
- large?: boolean;
23
- showIcon?: boolean;
24
- variant?: ButtonVariants;
25
- className?: string;
26
- }
27
-
28
- const StartStopButton: FC<Props> = ({
29
- startText = 'Start',
30
- stopText = 'Stop',
31
- onClick,
32
- started,
33
- disabled = false,
34
- variant = 'secondary',
35
- className,
36
- large = true,
37
- showIcon = true,
38
- }) => {
39
- const label = started ? stopText : startText;
40
- const src = started ? stopSvg : playSvg;
41
-
42
- return (
43
- <Button
44
- className={classNames(
45
- 'start-stop',
46
- `${started ? 'active-animation' : ''}`,
47
- className
48
- )}
49
- disabled={disabled}
50
- large={large}
51
- onClick={() => onClick()}
52
- variant={variant}
53
- >
54
- {showIcon && <img alt="" src={src} />}
55
- {label}
56
- </Button>
57
- );
58
- };
59
-
60
- export default StartStopButton;
@@ -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"><path fill="#455a64" d="M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" /></svg>
@@ -1,47 +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
- .start-stop {
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- width: 100%;
14
- background-color: $white;
15
- border-color: $gray-200;
16
-
17
- img {
18
- height: 20px;
19
- width: 20px;
20
- margin-right: 8px;
21
- }
22
-
23
- &.active-animation {
24
- overflow: hidden;
25
- position: relative;
26
-
27
- &::after {
28
- content: '';
29
- background: $gray-700;
30
- height: 2px;
31
- position: absolute;
32
- bottom: 0;
33
- left: 0;
34
- right: 0;
35
- animation: snake 4s cubic-bezier(0.5, 0, 0.5, 1) infinite;
36
- }
37
- }
38
- }
39
-
40
- @keyframes snake {
41
- 0% {
42
- transform: translate(-100%);
43
- }
44
- 100% {
45
- transform: translate(100%);
46
- }
47
- }
@@ -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"><path fill="#455a64" d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9,9H15V15H9" /></svg>
@@ -1,64 +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 { Button, ButtonGroup } from 'react-bootstrap';
9
-
10
- import './state-selector.scss';
11
-
12
- interface ComplexItem {
13
- key: string;
14
- renderItem: React.ReactNode;
15
- }
16
-
17
- type SelectItem = string | ComplexItem;
18
-
19
- const convertToComplex = (item: SelectItem): ComplexItem => {
20
- if (typeof item === 'string') {
21
- return {
22
- key: item,
23
- renderItem: item,
24
- } as ComplexItem;
25
- }
26
-
27
- return item as ComplexItem;
28
- };
29
- export interface Props {
30
- items: SelectItem[];
31
- onSelect: (index: number) => void;
32
- disabled?: boolean;
33
- selectedItem: SelectItem;
34
- }
35
-
36
- export default ({ items, onSelect, disabled = false, selectedItem }: Props) => {
37
- const selectionButton = (item: SelectItem, index: number) => {
38
- const complexItem = convertToComplex(item);
39
- const complexSelectedItem = convertToComplex(selectedItem);
40
- return (
41
- <Button
42
- key={complexItem.key}
43
- variant={
44
- complexSelectedItem.key === complexItem.key
45
- ? 'set'
46
- : 'unset'
47
- }
48
- onClick={() => {
49
- onSelect(index);
50
- }}
51
- active={complexSelectedItem.key === complexItem.key}
52
- disabled={disabled}
53
- >
54
- {complexItem.renderItem}
55
- </Button>
56
- );
57
- };
58
-
59
- return (
60
- <ButtonGroup className="w-100 d-flex flex-row channel-selection">
61
- {items.map((item, index) => selectionButton(item, index))}
62
- </ButtonGroup>
63
- );
64
- };
@@ -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
- .channel-selection {
10
- margin-bottom: 16px !important;
11
- padding: 4px;
12
- background-color: $gray-700;
13
- button {
14
- padding: 4px;
15
- border-radius: 4px !important;
16
- }
17
- .btn:disabled {
18
- opacity: initial;
19
- }
20
- .dot {
21
- position: absolute;
22
- top: 1px;
23
- right: 1px;
24
- width: 6px;
25
- height: 6px;
26
- border-radius: 3px;
27
- }
28
- .btn-set {
29
- color: $gray-700;
30
- background-color: $white;
31
- border-color: $gray-700;
32
- }
33
- .btn-unset {
34
- color: $white;
35
- background-color: $gray-700;
36
- border-color: $gray-700;
37
- }
38
- }
@@ -1,139 +0,0 @@
1
- /*
2
- * Copyright (c) 2023 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import React from 'react';
8
- import { OverlayTrigger, Tooltip } from 'react-bootstrap';
9
-
10
- import Button from '../Button/Button';
11
- import classNames from '../utils/classNames';
12
-
13
- import './stepper.scss';
14
-
15
- type ActionCaption = StringCaption & {
16
- action: () => void;
17
- };
18
-
19
- type TooltipCaption = StringCaption & {
20
- tooltip: string;
21
- };
22
-
23
- type StringCaption = {
24
- id: string;
25
- caption: string;
26
- };
27
-
28
- type StepState = 'active' | 'success' | 'warning' | 'failure';
29
-
30
- type StepCaption = StringCaption | ActionCaption | TooltipCaption;
31
-
32
- export type Step = {
33
- id: string;
34
- title: string;
35
- caption?: string | (StepCaption | StepCaption[]);
36
- state?: StepState;
37
- };
38
-
39
- export interface Steppers {
40
- title?: string;
41
- steps: Step[];
42
- }
43
-
44
- const isToolTipCaption = (caption: StepCaption): caption is ActionCaption =>
45
- (caption as TooltipCaption).tooltip !== undefined;
46
-
47
- const isActionCaption = (caption: StepCaption): caption is ActionCaption =>
48
- (caption as ActionCaption).action !== undefined;
49
-
50
- const isStringCaption = (
51
- caption: string | StringCaption
52
- ): caption is string | StringCaption =>
53
- typeof caption === 'string' ||
54
- (!isToolTipCaption(caption) && !isActionCaption(caption));
55
-
56
- const StepActionCaption = ({ caption }: { caption: ActionCaption }) => (
57
- <Button variant="custom" className="action-link" onClick={caption.action}>
58
- {`${caption.caption}`}
59
- </Button>
60
- );
61
-
62
- const StepTooltipCaption = ({ caption }: { caption: TooltipCaption }) => (
63
- <OverlayTrigger
64
- placement="bottom-end"
65
- overlay={
66
- <Tooltip id={`tooltip-${caption.caption}`}>
67
- {caption.tooltip}
68
- </Tooltip>
69
- }
70
- >
71
- <span>
72
- <span className="tool-tip-trigger">{`${caption.caption}`}</span>
73
- &nbsp;
74
- </span>
75
- </OverlayTrigger>
76
- );
77
-
78
- const StepStringCaption = ({
79
- caption,
80
- }: {
81
- caption: string | StringCaption;
82
- }) => {
83
- if (typeof caption === 'string') {
84
- return <span>{`${caption}`} </span>;
85
- }
86
-
87
- return <span>{`${caption.caption}`} </span>;
88
- };
89
-
90
- const Caption = ({ caption }: { caption: string | StepCaption }) => {
91
- if (isStringCaption(caption)) {
92
- return <StepStringCaption caption={caption} />;
93
- }
94
-
95
- if (isActionCaption(caption)) {
96
- return <StepActionCaption caption={caption} />;
97
- }
98
-
99
- return <StepTooltipCaption caption={caption} />;
100
- };
101
-
102
- export default ({ title, steps }: Steppers) => (
103
- <>
104
- <div className="stepper-reset" />
105
- {title && <div>{title}</div>}
106
- {steps.map(step => (
107
- <div
108
- key={step.id}
109
- className={classNames(
110
- 'step',
111
- step.state && `step-${step.state}`
112
- )}
113
- >
114
- <div>
115
- <div className="circle">
116
- <div className="step-icon" />
117
- </div>
118
- <div className="line" />
119
- </div>
120
- <div>
121
- <div className="title">{step.title}</div>
122
- <div className="caption">
123
- {step.caption &&
124
- (Array.isArray(step.caption) ? (
125
- step.caption?.map(caption => (
126
- <Caption
127
- key={caption.id}
128
- caption={caption}
129
- />
130
- ))
131
- ) : (
132
- <Caption caption={step.caption} />
133
- ))}
134
- </div>
135
- </div>
136
- </div>
137
- ))}
138
- </>
139
- );
@@ -1,127 +0,0 @@
1
- /*
2
- * Copyright (c) 2023 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- @import '../../styles.scss';
8
- @import '../variables';
9
-
10
- .stepper-reset {
11
- counter-reset: stepper;
12
- }
13
-
14
- .step {
15
- display: flex;
16
- min-height: 36px;
17
- color: $gray-600;
18
-
19
- .action-link {
20
- color: $gray-600;
21
- padding: 0;
22
- border: none;
23
- background: none;
24
- text-decoration: underline;
25
- }
26
-
27
- .tool-tip-trigger {
28
- text-decoration: underline;
29
- }
30
-
31
- .circle {
32
- background: $tooltip-bg;
33
- position: relative;
34
- width: 13px;
35
- height: 13px;
36
- line-height: 13px;
37
- border-radius: 100%;
38
- text-align: center;
39
- }
40
-
41
- .step-icon::after {
42
- counter-increment: stepper;
43
- font-family: 'Material Design Icons', 'Roboto';
44
- color: white;
45
- font-size: 10px;
46
- vertical-align: bottom;
47
- content: counter(stepper);
48
- }
49
-
50
- &.step-success {
51
- .circle {
52
- background-color: $green;
53
- }
54
- .step-icon::after {
55
- content: '\F012C';
56
- }
57
- }
58
-
59
- &.step-warning {
60
- .circle {
61
- background-color: $amber;
62
- }
63
- .step-icon::after {
64
- content: '\F1238';
65
- }
66
- }
67
-
68
- &.step-failure {
69
- .circle {
70
- background-color: $red;
71
- }
72
- .step-icon::after {
73
- content: '\F1398';
74
- }
75
- }
76
-
77
- &.step-active {
78
- .step-icon::after {
79
- content: '\F0450';
80
- }
81
- .step-icon {
82
- animation: rotate 3s linear infinite;
83
- }
84
- }
85
-
86
- .line {
87
- height: 100%;
88
- left: 50%;
89
- position: relative;
90
- width: 2px;
91
- background: #90a4ae;
92
- margin-left: -1px;
93
- }
94
-
95
- &:last-child .line {
96
- display: none;
97
- }
98
-
99
- & > div:not(:first-child) {
100
- flex-grow: 1;
101
- padding-left: 1em;
102
- }
103
- }
104
-
105
- @keyframes rotate {
106
- to {
107
- transform: rotate(360deg);
108
- }
109
- }
110
-
111
- .title {
112
- line-height: 12px;
113
- font-size: 12px;
114
- font-weight: bold;
115
- }
116
-
117
- .caption {
118
- font-size: 12px;
119
-
120
- .action-link {
121
- font-style: italic;
122
- }
123
-
124
- .action-link+.action-link {
125
- margin-left: 4px;
126
- }
127
- }
@@ -1,120 +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, ReactNode } from 'react';
8
-
9
- import classNames from '../utils/classNames';
10
-
11
- import './toggle.scss';
12
-
13
- export interface Props {
14
- id?: string;
15
- title?: string;
16
- isToggled: boolean;
17
- onToggle?: (isToggled: boolean) => void;
18
- label?: ReactNode;
19
- labelRight?: boolean;
20
- variant?: 'primary' | 'secondary';
21
- barColor?: string;
22
- barColorToggled?: string;
23
- handleColor?: string;
24
- handleColorToggled?: string;
25
- width?: string;
26
- disabled?: boolean;
27
- children?: ReactNode;
28
- }
29
-
30
- export const Toggle: FC<Props> = ({
31
- id,
32
- title,
33
- isToggled,
34
- onToggle,
35
- label,
36
- labelRight = false,
37
- variant = 'primary',
38
- barColor,
39
- barColorToggled,
40
- handleColor,
41
- handleColorToggled,
42
- width,
43
- disabled = false,
44
- children,
45
- }) => {
46
- const isPrimary = variant === 'primary';
47
- const isSecondary = variant === 'secondary';
48
-
49
- const handleToggle = () => {
50
- if (onToggle) {
51
- onToggle(!isToggled);
52
- }
53
- };
54
-
55
- const [labelText, ...remainingChildren] = Array.isArray(children)
56
- ? children
57
- : [children || label];
58
-
59
- const labelElement = labelText && (
60
- <span className="toggle-label">{labelText}</span>
61
- );
62
-
63
- return (
64
- <div
65
- title={title}
66
- className={classNames('toggle', disabled && 'disabled')}
67
- style={{ width }}
68
- >
69
- <label htmlFor={id}>
70
- {!labelRight && labelElement}
71
- <div
72
- className={classNames(
73
- 'toggle-bar',
74
- isPrimary &&
75
- `toggle-bar-primary${isToggled ? '-toggled' : ''}`,
76
- isSecondary &&
77
- `toggle-bar-secondary${isToggled ? '-toggled' : ''}`
78
- )}
79
- style={{
80
- backgroundColor: isToggled ? barColorToggled : barColor,
81
- }}
82
- >
83
- <input
84
- id={id}
85
- type="checkbox"
86
- checked={isToggled}
87
- onChange={disabled ? undefined : handleToggle}
88
- aria-checked={isToggled}
89
- disabled={disabled}
90
- />
91
- <span
92
- className={classNames(
93
- 'toggle-handle',
94
- isToggled && 'toggle-handle-toggled',
95
- isPrimary &&
96
- `toggle-handle-primary${
97
- isToggled ? '-toggled' : ''
98
- }`,
99
- isSecondary &&
100
- `toggle-handle-secondary${
101
- isToggled ? '-toggled' : ''
102
- }`
103
- )}
104
- style={{
105
- backgroundColor: isToggled
106
- ? handleColorToggled
107
- : handleColor,
108
- }}
109
- />
110
- </div>
111
- {labelRight && labelElement}
112
- </label>
113
- {remainingChildren.length > 0 && (
114
- <div className="toggle-label toggle-label-rest">
115
- {remainingChildren}
116
- </div>
117
- )}
118
- </div>
119
- );
120
- };
@@ -1,109 +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
- .toggle {
10
- display: flex;
11
- flex-direction: column;
12
- }
13
-
14
- .toggle.disabled .toggle-handle {
15
- cursor: default;
16
- }
17
-
18
- .toggle-bar {
19
- position: relative;
20
- font-family: sans-serif;
21
- display: flex;
22
- flex-direction: row;
23
- min-width: 28px;
24
- border-radius: 8px;
25
- height: 16px;
26
- }
27
-
28
- .toggle-bar-primary {
29
- background: $gray-700;
30
- }
31
-
32
- .toggle-bar-primary-toggled {
33
- background: $primary;
34
- }
35
-
36
- .toggle-bar-secondary {
37
- background: $gray-300;
38
- }
39
-
40
- .toggle-bar-secondary-toggled {
41
- background: $primary;
42
- }
43
-
44
- .toggle-handle {
45
- position: absolute;
46
- transform: translate3d(0px, 0, 0);
47
- top: 2px;
48
- left: 2px;
49
- height: 12px;
50
- width: 12px;
51
- transition: all 0.2s ease;
52
- border-radius: 50%;
53
- cursor: pointer;
54
- z-index: 1;
55
- box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
56
- }
57
-
58
- .toggle-handle-toggled {
59
- transform: translate3d(12px, 0, 0);
60
- transition: all 0.1s ease;
61
- transition-property: transform;
62
- }
63
-
64
- .toggle-handle-primary {
65
- background: $gray-300;
66
- }
67
-
68
- .toggle-handle-primary-toggled {
69
- background: $white;
70
- }
71
-
72
- .toggle-handle-secondary {
73
- background: $gray-700;
74
- }
75
-
76
- .toggle-handle-secondary-toggled {
77
- background: $white;
78
- }
79
-
80
- .toggle label {
81
- display: flex;
82
- flex: 1;
83
- flex-direction: row;
84
- align-items: center;
85
- justify-content: space-between;
86
- margin-bottom: 0;
87
- margin-right: -0.5rem;
88
- }
89
-
90
- .toggle label > * {
91
- margin-right: 0.5rem;
92
- }
93
-
94
- .toggle-label {
95
- font-size: 0.8rem;
96
- white-space: pre-wrap;
97
- }
98
-
99
- .toggle-label-rest {
100
- text-align: end;
101
- }
102
-
103
- .toggle input {
104
- margin: -1px;
105
- padding: 0;
106
- overflow: hidden;
107
- clip: rect(0 0 0 0);
108
- position: absolute;
109
- }