@nordicsemiconductor/pc-nrfconnect-shared 244.0.0 → 246.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 (36) hide show
  1. package/Changelog.md +59 -10
  2. package/dist/scripts/nordic-publish.js +2 -2
  3. package/dist/typings/ipc/device.d.ts +1 -1
  4. package/dist/typings/ipc/device.d.ts.map +1 -1
  5. package/dist/typings/ipc/schema/packageJson.d.ts +9 -9
  6. package/dist/typings/src/About/About.d.ts +1 -2
  7. package/dist/typings/src/About/About.d.ts.map +1 -1
  8. package/dist/typings/src/About/ApplicationCard.d.ts +4 -1
  9. package/dist/typings/src/About/ApplicationCard.d.ts.map +1 -1
  10. package/dist/typings/src/About/DeviceCard.d.ts +4 -1
  11. package/dist/typings/src/About/DeviceCard.d.ts.map +1 -1
  12. package/dist/typings/src/About/DocumentationCard.d.ts +5 -3
  13. package/dist/typings/src/About/DocumentationCard.d.ts.map +1 -1
  14. package/dist/typings/src/About/SupportCard.d.ts +5 -3
  15. package/dist/typings/src/About/SupportCard.d.ts.map +1 -1
  16. package/dist/typings/src/Button/Button.d.ts +5 -9
  17. package/dist/typings/src/Button/Button.d.ts.map +1 -1
  18. package/dist/typings/src/Card/Card.d.ts +24 -6
  19. package/dist/typings/src/Card/Card.d.ts.map +1 -1
  20. package/dist/typings/src/Device/deviceInfo/deviceInfo.d.ts.map +1 -1
  21. package/dist/typings/src/utils/packageJson.d.ts +2 -2
  22. package/ipc/device.ts +1 -0
  23. package/package.json +3 -3
  24. package/release_notes.md +1 -2
  25. package/scripts/nordic-publish.ts +1 -1
  26. package/src/About/About.tsx +15 -13
  27. package/src/About/ApplicationCard.tsx +11 -4
  28. package/src/About/DeviceCard.tsx +18 -6
  29. package/src/About/DocumentationCard.tsx +12 -7
  30. package/src/About/SupportCard.tsx +12 -4
  31. package/src/Button/Button.tsx +17 -16
  32. package/src/Card/Card.tsx +101 -14
  33. package/src/Device/deviceInfo/deviceInfo.ts +11 -0
  34. package/src/utils/useStopwatch.test.tsx +4 -4
  35. package/src/About/about.scss +0 -40
  36. package/src/Card/card.module.scss +0 -28
@@ -1,3 +1,3 @@
1
- export declare const knownDevicePcas: readonly ["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10201"];
1
+ export declare const knownDevicePcas: readonly ["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10214", "PCA10201"];
2
2
  export type KnownDevicePCA = (typeof knownDevicePcas)[number];
3
3
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../ipc/device.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,+RAwBlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../ipc/device.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,2SAyBlB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -40,7 +40,7 @@ declare const packageJsonApp: z.ZodObject<z.objectUtil.extendShape<{
40
40
  nrfconnect: string;
41
41
  }>>;
42
42
  nrfConnectForDesktop: z.ZodObject<{
43
- supportedDevices: z.ZodOptional<z.ZodArray<z.ZodEnum<["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10201"]>, "atleastone">>;
43
+ supportedDevices: z.ZodOptional<z.ZodArray<z.ZodEnum<["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10214", "PCA10201"]>, "atleastone">>;
44
44
  nrfutil: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodString], null>>>;
45
45
  nrfutilCore: z.ZodString;
46
46
  html: z.ZodString;
@@ -57,7 +57,7 @@ declare const packageJsonApp: z.ZodObject<z.objectUtil.extendShape<{
57
57
  }, "strip", z.ZodTypeAny, {
58
58
  nrfutilCore: string;
59
59
  html: string;
60
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
60
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
61
61
  nrfutil?: Record<string, [string]> | undefined;
62
62
  fixedSize?: {
63
63
  width: number;
@@ -66,7 +66,7 @@ declare const packageJsonApp: z.ZodObject<z.objectUtil.extendShape<{
66
66
  }, {
67
67
  nrfutilCore: string;
68
68
  html: string;
69
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
69
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
70
70
  nrfutil?: Record<string, [string]> | undefined;
71
71
  fixedSize?: {
72
72
  width: number;
@@ -96,7 +96,7 @@ declare const packageJsonApp: z.ZodObject<z.objectUtil.extendShape<{
96
96
  nrfConnectForDesktop: {
97
97
  nrfutilCore: string;
98
98
  html: string;
99
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
99
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
100
100
  nrfutil?: Record<string, [string]> | undefined;
101
101
  fixedSize?: {
102
102
  width: number;
@@ -123,7 +123,7 @@ declare const packageJsonApp: z.ZodObject<z.objectUtil.extendShape<{
123
123
  nrfConnectForDesktop: {
124
124
  nrfutilCore: string;
125
125
  html: string;
126
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
126
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
127
127
  nrfutil?: Record<string, [string]> | undefined;
128
128
  fixedSize?: {
129
129
  width: number;
@@ -152,7 +152,7 @@ export declare const parsePackageJsonApp: (content: string) => z.SafeParseSucces
152
152
  nrfConnectForDesktop: {
153
153
  nrfutilCore: string;
154
154
  html: string;
155
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
155
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
156
156
  nrfutil?: Record<string, [string]> | undefined;
157
157
  fixedSize?: {
158
158
  width: number;
@@ -191,7 +191,7 @@ declare const packageJsonLegacyApp: z.ZodObject<z.objectUtil.extendShape<z.objec
191
191
  nrfconnect: string;
192
192
  }>>;
193
193
  nrfConnectForDesktop: z.ZodObject<{
194
- supportedDevices: z.ZodOptional<z.ZodArray<z.ZodEnum<["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10201"]>, "atleastone">>;
194
+ supportedDevices: z.ZodOptional<z.ZodArray<z.ZodEnum<["PCA10028", "PCA10031", "PCA10040", "PCA10056", "PCA10059", "PCA10090", "PCA10095", "PCA10100", "PCA10121", "PCA20020", "PCA20053", "PCA20035", "PCA10143", "PCA10152", "PCA10153", "PCA10165", "PCA20049", "PCA10171", "PCA10156", "PCA10175", "PCA10184", "PCA10188", "PCA10214", "PCA10201"]>, "atleastone">>;
195
195
  nrfutil: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodTuple<[z.ZodString], null>>>;
196
196
  nrfutilCore: z.ZodString;
197
197
  html: z.ZodString;
@@ -208,7 +208,7 @@ declare const packageJsonLegacyApp: z.ZodObject<z.objectUtil.extendShape<z.objec
208
208
  }, "strip", z.ZodTypeAny, {
209
209
  nrfutilCore: string;
210
210
  html: string;
211
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
211
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
212
212
  nrfutil?: Record<string, [string]> | undefined;
213
213
  fixedSize?: {
214
214
  width: number;
@@ -217,7 +217,7 @@ declare const packageJsonLegacyApp: z.ZodObject<z.objectUtil.extendShape<z.objec
217
217
  }, {
218
218
  nrfutilCore: string;
219
219
  html: string;
220
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
220
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
221
221
  nrfutil?: Record<string, [string]> | undefined;
222
222
  fixedSize?: {
223
223
  width: number;
@@ -1,6 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
- import './about.scss';
3
- interface AboutPaneProps {
2
+ export interface AboutPaneProps {
4
3
  documentation?: ReactNode[];
5
4
  feedbackCategories?: string[];
6
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"About.d.ts","sourceRoot":"","sources":["../../../../src/About/About.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO9C,OAAO,cAAc,CAAC;AAEtB,UAAU,cAAc;IACpB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;yBAEe,uCAAuC,cAAc;AAArE,wBAWE"}
1
+ {"version":3,"file":"About.d.ts","sourceRoot":"","sources":["../../../../src/About/About.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO9C,MAAM,WAAW,cAAc;IAC3B,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;yBAEe,uCAAuC,cAAc;AAArE,wBAeE"}
@@ -1,3 +1,6 @@
1
- declare const _default: () => JSX.Element | null;
1
+ export interface ApplicationCardProps {
2
+ className?: string;
3
+ }
4
+ declare const _default: ({ className }: ApplicationCardProps) => JSX.Element | null;
2
5
  export default _default;
3
6
  //# sourceMappingURL=ApplicationCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationCard.d.ts","sourceRoot":"","sources":["../../../../src/About/ApplicationCard.tsx"],"names":[],"mappings":";AAgBA,wBAiCE"}
1
+ {"version":3,"file":"ApplicationCard.d.ts","sourceRoot":"","sources":["../../../../src/About/ApplicationCard.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;yBAEe,eAAe,oBAAoB;AAAnD,wBAoCE"}
@@ -1,3 +1,6 @@
1
- declare const _default: () => JSX.Element;
1
+ export interface DeviceCardProps {
2
+ className?: string;
3
+ }
4
+ declare const _default: ({ className }: DeviceCardProps) => JSX.Element;
2
5
  export default _default;
3
6
  //# sourceMappingURL=DeviceCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceCard.d.ts","sourceRoot":"","sources":["../../../../src/About/DeviceCard.tsx"],"names":[],"mappings":";AAuBA,wBAiDE"}
1
+ {"version":3,"file":"DeviceCard.d.ts","sourceRoot":"","sources":["../../../../src/About/DeviceCard.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,eAAe;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;yBAEe,eAAe,eAAe;AAA9C,wBAyDE"}
@@ -1,6 +1,8 @@
1
1
  import { type ReactNode } from 'react';
2
- declare const _default: ({ documentationSections, }: {
3
- documentationSections: ReactNode[];
4
- }) => JSX.Element;
2
+ export interface DocumentationCardProps {
3
+ documentationSections: Array<ReactNode>;
4
+ className?: string;
5
+ }
6
+ declare const _default: ({ documentationSections, className, }: DocumentationCardProps) => JSX.Element;
5
7
  export default _default;
6
8
  //# sourceMappingURL=DocumentationCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentationCard.d.ts","sourceRoot":"","sources":["../../../../src/About/DocumentationCard.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;yBAI9B,4BAEb;IACC,qBAAqB,EAAE,SAAS,EAAE,CAAC;CACtC;AAJD,wBAUE"}
1
+ {"version":3,"file":"DocumentationCard.d.ts","sourceRoot":"","sources":["../../../../src/About/DocumentationCard.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9C,MAAM,WAAW,sBAAsB;IACnC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;yBAEe,uCAGb,sBAAsB;AAHzB,wBAUE"}
@@ -1,5 +1,7 @@
1
- declare const _default: ({ feedbackCategories }: {
2
- feedbackCategories?: string[];
3
- }) => JSX.Element;
1
+ export interface SupportCardProps {
2
+ feedbackCategories?: Array<string>;
3
+ className?: string;
4
+ }
5
+ declare const _default: ({ feedbackCategories, className }: SupportCardProps) => JSX.Element;
4
6
  export default _default;
5
7
  //# sourceMappingURL=SupportCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupportCard.d.ts","sourceRoot":"","sources":["../../../../src/About/SupportCard.tsx"],"names":[],"mappings":"yBAyBgB,wBAAwB;IAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;AAAzE,wBA8EE"}
1
+ {"version":3,"file":"SupportCard.d.ts","sourceRoot":"","sources":["../../../../src/About/SupportCard.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;yBAEe,mCAAmC,gBAAgB;AAAnE,wBAiFE"}
@@ -1,15 +1,11 @@
1
1
  import React from 'react';
2
- export type ButtonVariants = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'link-button';
3
- export type ButtonSize = 'sm' | 'lg' | 'xl';
4
- type ButtonProps = {
5
- id?: string;
2
+ export type ButtonVariants = 'primary' | 'primary-outline' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'link-button';
3
+ type ButtonSize = 'sm' | 'lg' | 'xl';
4
+ type PickedButtonProps = 'ref' | 'key' | 'className' | 'disabled' | 'onClick' | 'title';
5
+ interface ButtonProps extends Pick<React.ComponentPropsWithRef<'button'>, PickedButtonProps> {
6
6
  variant: ButtonVariants;
7
- className?: string;
8
- onClick: React.MouseEventHandler<HTMLButtonElement>;
9
- disabled?: boolean;
10
- title?: string;
11
7
  size?: ButtonSize;
12
- };
8
+ }
13
9
  declare const Button: React.FC<ButtonProps>;
14
10
  export default Button;
15
11
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/Button/Button.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,cAAc,GACpB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,GACR,aAAa,CAAC;AAEpB,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,KAAK,WAAW,GAAG;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwCjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/Button/Button.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,cAAc,GACpB,SAAS,GACT,iBAAiB,GACjB,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,GACR,aAAa,CAAC;AAEpB,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,KAAK,iBAAiB,GAChB,KAAK,GACL,KAAK,GACL,WAAW,GACX,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEd,UAAU,WACN,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtE,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoCjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,8 +1,26 @@
1
1
  import React from 'react';
2
- type NrfCardProps = {
3
- children: React.ReactNode;
4
- title: React.ReactNode;
5
- };
6
- declare const _default: ({ children, title }: NrfCardProps) => JSX.Element;
7
- export default _default;
2
+ type PickedCardTitleProps = 'ref' | 'className';
3
+ interface CardTitleProps extends Pick<React.ComponentPropsWithRef<'div'>, PickedCardTitleProps> {
4
+ cardTitle: React.ReactNode;
5
+ cardSubtitle?: React.ReactNode;
6
+ cardTitleClassName?: string;
7
+ cardSubtitleClassName?: string;
8
+ }
9
+ type CardTitleComponent = React.FC<CardTitleProps>;
10
+ type PickedCardHeaderProps = 'ref' | 'className' | 'onPointerEnter' | 'onPointerLeave';
11
+ type CardHeaderProps = Pick<React.ComponentPropsWithRef<'header'>, PickedCardHeaderProps>;
12
+ interface CardHeaderComponent extends React.FC<CardHeaderProps> {
13
+ Title: CardTitleComponent;
14
+ }
15
+ type PickedCardBodyProps = 'ref' | 'className';
16
+ type CardBodyProps = Pick<React.ComponentPropsWithRef<'div'>, PickedCardBodyProps>;
17
+ type CardBodyComponent = React.FC<CardBodyProps>;
18
+ type PickedCardProps = 'ref' | 'className';
19
+ type CardProps = Pick<React.ComponentPropsWithRef<'article'>, PickedCardProps>;
20
+ interface CardComponent extends React.FC<CardProps> {
21
+ Header: CardHeaderComponent;
22
+ Body: CardBodyComponent;
23
+ }
24
+ declare const Card: CardComponent;
25
+ export default Card;
8
26
  //# sourceMappingURL=Card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/Card/Card.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,KAAK,YAAY,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;yBAEc,qBAAqB,YAAY;AAAjD,wBASE"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/Card/Card.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,oBAAoB,GAAG,KAAK,GAAG,WAAW,CAAC;AAEhD,UAAU,cACN,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IACtE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAwBnD,KAAK,qBAAqB,GACpB,KAAK,GACL,WAAW,GACX,gBAAgB,GAChB,gBAAgB,CAAC;AAEvB,KAAK,eAAe,GAAG,IAAI,CACvB,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EACrC,qBAAqB,CACxB,CAAC;AAEF,UAAU,mBAAoB,SAAQ,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;IAC3D,KAAK,EAAE,kBAAkB,CAAC;CAC7B;AAgBD,KAAK,mBAAmB,GAAG,KAAK,GAAG,WAAW,CAAC;AAE/C,KAAK,aAAa,GAAG,IAAI,CACrB,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAClC,mBAAmB,CACtB,CAAC;AAEF,KAAK,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AAQjD,KAAK,eAAe,GAAG,KAAK,GAAG,WAAW,CAAC;AAE3C,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;AAE/E,UAAU,aAAc,SAAQ,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;IAC/C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,QAAA,MAAM,IAAI,EAAE,aAUX,CAAC;AAKF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../../src/Device/deviceInfo/deviceInfo.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAa9D,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5C,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;IACxB,OAAO,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAySD,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,UAC2B,CAAC;AASxE,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,MAAM,EACd;;CAA+B,WAOlC,CAAC"}
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../../src/Device/deviceInfo/deviceInfo.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAa9D,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5C,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;IACxB,OAAO,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAoTD,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,UAC2B,CAAC;AASxE,eAAO,MAAM,mBAAmB,GAC5B,QAAQ,MAAM,EACd;;CAA+B,WAOlC,CAAC"}
@@ -14,7 +14,7 @@ export declare const isLauncher: (packageJson?: {
14
14
  nrfConnectForDesktop: {
15
15
  nrfutilCore: string;
16
16
  html: string;
17
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
17
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
18
18
  nrfutil?: Record<string, [string]> | undefined;
19
19
  fixedSize?: {
20
20
  width: number;
@@ -43,7 +43,7 @@ export declare const packageJsonApp: () => {
43
43
  nrfConnectForDesktop: {
44
44
  nrfutilCore: string;
45
45
  html: string;
46
- supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10201")[]] | undefined;
46
+ supportedDevices?: ["PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201", ...("PCA10028" | "PCA10031" | "PCA10040" | "PCA10056" | "PCA10059" | "PCA10090" | "PCA10095" | "PCA10100" | "PCA10121" | "PCA20020" | "PCA20053" | "PCA20035" | "PCA10143" | "PCA10152" | "PCA10153" | "PCA10165" | "PCA20049" | "PCA10171" | "PCA10156" | "PCA10175" | "PCA10184" | "PCA10188" | "PCA10214" | "PCA10201")[]] | undefined;
47
47
  nrfutil?: Record<string, [string]> | undefined;
48
48
  fixedSize?: {
49
49
  width: number;
package/ipc/device.ts CHANGED
@@ -27,6 +27,7 @@ export const knownDevicePcas = [
27
27
  'PCA10175',
28
28
  'PCA10184',
29
29
  'PCA10188',
30
+ 'PCA10214',
30
31
  'PCA10201',
31
32
  ] as const;
32
33
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "244.0.0",
3
+ "version": "246.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/NordicSemiconductor/pc-nrfconnect-shared.git"
7
+ "url": "git+https://github.com/nordicsemi/pc-nrfconnect-shared.git"
8
8
  },
9
9
  "author": "Nordic Semiconductor ASA",
10
10
  "license": "SEE LICENSE IN LICENSE",
@@ -112,7 +112,7 @@
112
112
  "serialport": "^12.0.0",
113
113
  "shasum": "1.0.2",
114
114
  "systeminformation": "^5.25.11",
115
- "tailwindcss": "3.3.2",
115
+ "tailwindcss": "3.4.14",
116
116
  "tree-kill-promise": "^3.0.14",
117
117
  "tsx": "^4.20.3",
118
118
  "typescript": "^5.9.2",
package/release_notes.md CHANGED
@@ -1,4 +1,3 @@
1
1
  ### Changed
2
2
 
3
- - Major upgrade of `esbuild` and `esbuild-sass-plugin` which brings along Sass
4
- updates and deprecations.
3
+ - Aligned Card component styles with old implementation.
@@ -263,7 +263,7 @@ class ArtifactoryClient extends Client {
263
263
  });
264
264
 
265
265
  console.warn(
266
- '\nGo to https://github.com/NordicSemiconductor/pc-nrfconnect-shared/actions/workflows/zap-cache.yml, run the workflow and paste this string as the list of paths to zap them manually:',
266
+ '\nGo to https://github.com/nordicsemi/pc-nrfconnect-shared/actions/workflows/zap-cache.yml, run the workflow and paste this string as the list of paths to zap them manually:',
267
267
  );
268
268
  console.warn(' ', this.filesWhereCacheZappingFailed.join(', '));
269
269
  }
@@ -11,22 +11,24 @@ import DeviceCard from './DeviceCard';
11
11
  import DocumentationCard from './DocumentationCard';
12
12
  import SupportCard from './SupportCard';
13
13
 
14
- import './about.scss';
15
-
16
- interface AboutPaneProps {
14
+ export interface AboutPaneProps {
17
15
  documentation?: ReactNode[];
18
16
  feedbackCategories?: string[];
19
17
  }
20
18
 
21
19
  export default ({ documentation, feedbackCategories }: AboutPaneProps) => (
22
- <div className="about">
23
- <div className="about-inner">
24
- <ApplicationCard />
25
- <DeviceCard />
26
- {documentation && documentation.length && (
27
- <DocumentationCard documentationSections={documentation} />
28
- )}
29
- <SupportCard feedbackCategories={feedbackCategories} />
30
- </div>
31
- </div>
20
+ <section className="tw-preflight tw-flex tw-flex-row tw-flex-wrap tw-justify-center tw-gap-4 tw-pb-4">
21
+ <ApplicationCard className="tw-max-w-80 tw-flex-1 tw-basis-60" />
22
+ <DeviceCard className="tw-max-w-80 tw-flex-1 tw-basis-60" />
23
+ {documentation && documentation.length && (
24
+ <DocumentationCard
25
+ documentationSections={documentation}
26
+ className="tw-max-w-80 tw-flex-1 tw-basis-60"
27
+ />
28
+ )}
29
+ <SupportCard
30
+ feedbackCategories={feedbackCategories}
31
+ className="tw-max-w-80 tw-flex-1 tw-basis-60"
32
+ />
33
+ </section>
32
34
  );
@@ -14,7 +14,11 @@ import AboutButton from './AboutButton';
14
14
  import Section from './Section';
15
15
  import ShortcutButton from './ShortcutButton';
16
16
 
17
- export default () => {
17
+ export interface ApplicationCardProps {
18
+ className?: string;
19
+ }
20
+
21
+ export default ({ className }: ApplicationCardProps) => {
18
22
  const [appInfo, setAppInfo] = useState<AppDetailsFromLauncher>();
19
23
 
20
24
  useEffect(() => {
@@ -24,8 +28,11 @@ export default () => {
24
28
  if (appInfo == null) return null;
25
29
 
26
30
  return (
27
- <Card title="Application">
28
- <div className="tw-preflight tw-flex tw-select-text tw-flex-col tw-flex-wrap tw-gap-4">
31
+ <Card className={className}>
32
+ <Card.Header className="tw-text-center tw-text-base">
33
+ <Card.Header.Title cardTitle="Application" />
34
+ </Card.Header>
35
+ <Card.Body className="tw-select-text tw-gap-4">
29
36
  <Section title="Title">{appInfo.displayName}</Section>
30
37
  <Section title="Purpose">{appInfo.description}</Section>
31
38
  <Section title="Version">{appInfo.currentVersion}</Section>
@@ -44,7 +51,7 @@ export default () => {
44
51
  <FactoryResetButton label="Restore defaults..." />
45
52
  <ShortcutButton label="Show shortcuts" />
46
53
  </Section>
47
- </div>
54
+ </Card.Body>
48
55
  </Card>
49
56
  );
50
57
  };
@@ -21,14 +21,23 @@ const memorySize = (memoryInBytes: number) => {
21
21
  return `${memoryInBytes / 1024}KiB`;
22
22
  };
23
23
 
24
- export default () => {
24
+ export interface DeviceCardProps {
25
+ className?: string;
26
+ }
27
+
28
+ export default ({ className }: DeviceCardProps) => {
25
29
  const device = useSelector(selectedDevice);
26
30
  const info = useSelector(selectedDeviceInfo);
27
31
 
28
32
  if (device == null) {
29
33
  return (
30
- <Card title="Device">
31
- <Section title="No device selected" />
34
+ <Card className={className}>
35
+ <Card.Header className="tw-text-center tw-text-base">
36
+ <Card.Header.Title cardTitle="Device" />
37
+ </Card.Header>
38
+ <Card.Body>
39
+ <Section title="No device selected" />
40
+ </Card.Body>
32
41
  </Card>
33
42
  );
34
43
  }
@@ -37,8 +46,11 @@ export default () => {
37
46
  const { name, cores, website } = deviceInfo(device);
38
47
 
39
48
  return (
40
- <Card title="Device">
41
- <div className="tw-preflight tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
49
+ <Card className={className}>
50
+ <Card.Header className="tw-text-center tw-text-base">
51
+ <Card.Header.Title cardTitle="Device" />
52
+ </Card.Header>
53
+ <Card.Body className="tw-gap-4">
42
54
  <Section title="Name">{name || 'Unknown'}</Section>
43
55
  <Section title="ID">{device.serialNumber}</Section>
44
56
  <Section title="PCA">{pca || 'Unknown'}</Section>
@@ -67,7 +79,7 @@ export default () => {
67
79
  label="Go to product page"
68
80
  />
69
81
  </Section>
70
- </div>
82
+ </Card.Body>
71
83
  </Card>
72
84
  );
73
85
  };
@@ -8,14 +8,19 @@ import React, { type ReactNode } from 'react';
8
8
 
9
9
  import Card from '../Card/Card';
10
10
 
11
+ export interface DocumentationCardProps {
12
+ documentationSections: Array<ReactNode>;
13
+ className?: string;
14
+ }
15
+
11
16
  export default ({
12
17
  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>
18
+ className,
19
+ }: DocumentationCardProps) => (
20
+ <Card className={className}>
21
+ <Card.Header className="tw-text-center tw-text-base">
22
+ <Card.Header.Title cardTitle="Documentation" />
23
+ </Card.Header>
24
+ <Card.Body className="tw-gap-4">{documentationSections}</Card.Body>
20
25
  </Card>
21
26
  );
@@ -23,7 +23,12 @@ import AboutButton from './AboutButton';
23
23
  import Feedback from './Feedback';
24
24
  import Section from './Section';
25
25
 
26
- export default ({ feedbackCategories }: { feedbackCategories?: string[] }) => {
26
+ export interface SupportCardProps {
27
+ feedbackCategories?: Array<string>;
28
+ className?: string;
29
+ }
30
+
31
+ export default ({ feedbackCategories, className }: SupportCardProps) => {
27
32
  const dispatch = useDispatch();
28
33
  const devices = useSelector(getDevices);
29
34
  const currentSerialNumber = useSelector(selectedSerialNumber);
@@ -31,8 +36,11 @@ export default ({ feedbackCategories }: { feedbackCategories?: string[] }) => {
31
36
  const currentDevice = useSelector(selectedDevice);
32
37
 
33
38
  return (
34
- <Card title="Support">
35
- <div className="tw-preflight tw-flex tw-flex-col tw-flex-wrap tw-gap-4">
39
+ <Card className={className}>
40
+ <Card.Header className="tw-text-center tw-text-base">
41
+ <Card.Header.Title cardTitle="Support" />
42
+ </Card.Header>
43
+ <Card.Body className="tw-gap-4">
36
44
  <Section title="DevZone">
37
45
  <p>
38
46
  You can ask for help or open a support request on
@@ -98,7 +106,7 @@ export default ({ feedbackCategories }: { feedbackCategories?: string[] }) => {
98
106
  </Button>
99
107
  </Section>
100
108
  </Section>
101
- </div>
109
+ </Card.Body>
102
110
  </Card>
103
111
  );
104
112
  };
@@ -10,6 +10,7 @@ import classNames from '../utils/classNames';
10
10
 
11
11
  export type ButtonVariants =
12
12
  | 'primary'
13
+ | 'primary-outline'
13
14
  | 'secondary'
14
15
  | 'success'
15
16
  | 'info'
@@ -17,31 +18,31 @@ export type ButtonVariants =
17
18
  | 'danger'
18
19
  | 'link-button';
19
20
 
20
- export type ButtonSize = 'sm' | 'lg' | 'xl';
21
+ type ButtonSize = 'sm' | 'lg' | 'xl';
21
22
 
22
- type ButtonProps = {
23
- id?: string;
23
+ type PickedButtonProps =
24
+ | 'ref'
25
+ | 'key'
26
+ | 'className'
27
+ | 'disabled'
28
+ | 'onClick'
29
+ | 'title';
30
+
31
+ interface ButtonProps
32
+ extends Pick<React.ComponentPropsWithRef<'button'>, PickedButtonProps> {
24
33
  variant: ButtonVariants;
25
- className?: string;
26
- onClick: React.MouseEventHandler<HTMLButtonElement>;
27
- disabled?: boolean;
28
- title?: string;
29
34
  size?: ButtonSize;
30
- };
35
+ }
31
36
 
32
37
  const Button: React.FC<ButtonProps> = ({
33
38
  children,
34
- id,
35
39
  className,
36
40
  variant,
37
- onClick,
38
- disabled = false,
39
- title,
40
41
  size = 'sm',
42
+ ...attrs
41
43
  }) => (
42
44
  <button
43
45
  type="button"
44
- id={id}
45
46
  className={`${classNames(
46
47
  'tw-preflight',
47
48
  size === 'sm' && 'tw-h-6 tw-px-2 tw-text-xs',
@@ -49,6 +50,8 @@ const Button: React.FC<ButtonProps> = ({
49
50
  size === 'xl' && 'tw-h-8 tw-px-4 tw-text-base',
50
51
  variant === 'primary' &&
51
52
  'tw-border tw-border-transparent tw-bg-nordicBlue tw-text-white active:enabled:tw-bg-nordicBlue-700',
53
+ variant === 'primary-outline' &&
54
+ 'tw-border tw-border-nordicBlue tw-bg-white tw-text-nordicBlue active:enabled:tw-bg-nordicBlue-50',
52
55
  variant === 'secondary' &&
53
56
  'tw-border tw-border-gray-700 tw-bg-white tw-text-gray-700 active:enabled:tw-bg-gray-50',
54
57
  variant === 'success' &&
@@ -63,9 +66,7 @@ const Button: React.FC<ButtonProps> = ({
63
66
  'tw-border tw-border-nordicBlue tw-bg-white tw-text-nordicBlue active:enabled:tw-bg-gray-50',
64
67
  className,
65
68
  )}`}
66
- disabled={disabled}
67
- onClick={onClick}
68
- title={title}
69
+ {...attrs}
69
70
  >
70
71
  {children}
71
72
  </button>