@luxonis/common-fe-components 1.12.0 → 1.14.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.
- package/dist/components/custom/BadgeButton.d.ts +11 -0
- package/dist/components/custom/BadgeButton.d.ts.map +1 -0
- package/dist/components/custom/BadgeButton.js +12 -0
- package/dist/components/custom/BadgeButton.js.map +1 -0
- package/dist/components/custom/DropdownMenu.d.ts +5 -5
- package/dist/components/custom/ExternalLink.d.ts +1 -0
- package/dist/components/custom/ExternalLink.d.ts.map +1 -1
- package/dist/components/custom/ExternalLink.js.map +1 -1
- package/dist/components/custom/KpiDisplay.d.ts +1 -0
- package/dist/components/custom/KpiDisplay.d.ts.map +1 -1
- package/dist/components/custom/KpiDisplay.js +2 -2
- package/dist/components/custom/KpiDisplay.js.map +1 -1
- package/dist/components/custom/RadioGroup.d.ts +12 -12
- package/dist/components/custom/Slider.d.ts +14 -12
- package/dist/components/custom/Slider.d.ts.map +1 -1
- package/dist/components/custom/Stepper.d.ts +1 -0
- package/dist/components/custom/Stepper.d.ts.map +1 -1
- package/dist/components/custom/Stepper.js +1 -1
- package/dist/components/custom/Stepper.js.map +1 -1
- package/dist/components/custom/devices/devices-constants.d.ts +13 -0
- package/dist/components/custom/devices/devices-constants.d.ts.map +1 -0
- package/dist/components/custom/devices/devices-constants.js +27 -0
- package/dist/components/custom/devices/devices-constants.js.map +1 -0
- package/dist/components/custom/devices/devices-family.d.ts +11 -0
- package/dist/components/custom/devices/devices-family.d.ts.map +1 -0
- package/dist/components/custom/devices/devices-family.js +26 -0
- package/dist/components/custom/devices/devices-family.js.map +1 -0
- package/dist/components/custom/devices/devices-list.d.ts +17 -0
- package/dist/components/custom/devices/devices-list.d.ts.map +1 -0
- package/dist/components/custom/devices/devices-list.js +71 -0
- package/dist/components/custom/devices/devices-list.js.map +1 -0
- package/dist/components/custom/devices/devices.d.ts +12 -0
- package/dist/components/custom/devices/devices.d.ts.map +1 -0
- package/dist/components/custom/devices/devices.js +82 -0
- package/dist/components/custom/devices/devices.js.map +1 -0
- package/dist/components/custom/devices/index.d.ts +5 -0
- package/dist/components/custom/devices/index.d.ts.map +1 -0
- package/dist/components/custom/devices/index.js +5 -0
- package/dist/components/custom/devices/index.js.map +1 -0
- package/dist/components/custom/index.d.ts +3 -0
- package/dist/components/custom/index.d.ts.map +1 -1
- package/dist/components/custom/index.js +5 -0
- package/dist/components/custom/index.js.map +1 -1
- package/dist/components/custom/oak4/Oak4DeviceCard.d.ts +9 -0
- package/dist/components/custom/oak4/Oak4DeviceCard.d.ts.map +1 -0
- package/dist/components/custom/oak4/Oak4DeviceCard.js +13 -0
- package/dist/components/custom/oak4/Oak4DeviceCard.js.map +1 -0
- package/dist/components/custom/oak4/device-info.d.ts +1 -0
- package/dist/components/custom/oak4/device-info.d.ts.map +1 -0
- package/dist/components/custom/oak4/device-info.js +100 -0
- package/dist/components/custom/oak4/device-info.js.map +1 -0
- package/dist/components/custom/oak4/device-model.d.ts +1 -0
- package/dist/components/custom/oak4/device-model.d.ts.map +1 -0
- package/dist/components/custom/oak4/device-model.js +8 -0
- package/dist/components/custom/oak4/device-model.js.map +1 -0
- package/dist/components/custom/oak4/oak4-device-info.d.ts +13 -0
- package/dist/components/custom/oak4/oak4-device-info.d.ts.map +1 -0
- package/dist/components/custom/oak4/oak4-device-info.js +100 -0
- package/dist/components/custom/oak4/oak4-device-info.js.map +1 -0
- package/dist/components/custom/oak4/oak4-model.d.ts +4 -0
- package/dist/components/custom/oak4/oak4-model.d.ts.map +1 -0
- package/dist/components/custom/oak4/oak4-model.js +3 -0
- package/dist/components/custom/oak4/oak4-model.js.map +1 -0
- package/dist/components/shadow-panda/_Command.d.ts +10 -10
- package/dist/components/shadow-panda/_Slider.d.ts +1 -0
- package/dist/components/shadow-panda/_Slider.d.ts.map +1 -1
- package/dist/components/shadow-panda/_Slider.js +9 -2
- package/dist/components/shadow-panda/_Slider.js.map +1 -1
- package/dist/icons/react-icons.d.ts +4 -2
- package/dist/icons/react-icons.d.ts.map +1 -1
- package/dist/icons/react-icons.js +4 -2
- package/dist/icons/react-icons.js.map +1 -1
- package/dist/panda.buildinfo.json +18 -11
- package/dist/panda.css +38 -12
- package/dist/panda.d.ts.map +1 -1
- package/dist/panda.js +4 -0
- package/dist/panda.js.map +1 -1
- package/dist/styled-system/tokens/index.mjs +8 -0
- package/dist/styled-system/tokens/tokens.d.mts +2 -2
- package/package.json +4 -4
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { log } from '@luxonis/common-fe-utils';
|
|
2
|
+
import { getProductToDeviceProperties } from './devices-family.js';
|
|
3
|
+
import { DEVICE_IMAGE_PATH, DEVICE_IMAGES_LINK, emptyDeviceInformation } from './devices-constants.js';
|
|
4
|
+
export function getDeviceInformationByModel(device) {
|
|
5
|
+
const info = getProductToDeviceProperties(device);
|
|
6
|
+
switch (info.id) {
|
|
7
|
+
case 'OAK4-S':
|
|
8
|
+
case 'OAK4-D':
|
|
9
|
+
case 'OAK4-LR':
|
|
10
|
+
case 'OAK4-SR':
|
|
11
|
+
case 'OAK4-D-PRO': {
|
|
12
|
+
return {
|
|
13
|
+
info,
|
|
14
|
+
deviceName: getDeviceNameByModel(info.id),
|
|
15
|
+
deviceImageName: `${DEVICE_IMAGES_LINK}/${info.id}.webp`,
|
|
16
|
+
setupSteps: getSetupSteps(info.id),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
case 'RAE': {
|
|
20
|
+
return {
|
|
21
|
+
info,
|
|
22
|
+
deviceName: getDeviceNameByModel(info.id),
|
|
23
|
+
deviceImageName: `${DEVICE_IMAGE_PATH}/rae.webp`,
|
|
24
|
+
setupSteps: getSetupSteps(info.id),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
log.error(`Device context received unsupported model: ${info.id}`);
|
|
29
|
+
return emptyDeviceInformation;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export const getDeviceNameByModel = (base) => {
|
|
34
|
+
switch (base) {
|
|
35
|
+
case 'RAE': {
|
|
36
|
+
return 'Rae Robot';
|
|
37
|
+
}
|
|
38
|
+
case 'OAK4-S': {
|
|
39
|
+
return 'OAK 4 S';
|
|
40
|
+
}
|
|
41
|
+
case 'OAK4-D': {
|
|
42
|
+
return 'OAK 4 D Pro';
|
|
43
|
+
}
|
|
44
|
+
case 'OAK4-LR': {
|
|
45
|
+
return 'OAK 4 LR';
|
|
46
|
+
}
|
|
47
|
+
case 'OAK4-SR': {
|
|
48
|
+
return 'OAK 4 SR';
|
|
49
|
+
}
|
|
50
|
+
default: {
|
|
51
|
+
log.error(`Unknown device model: ${base}`);
|
|
52
|
+
return 'Unknown device';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
export const getSetupSteps = (base) => {
|
|
57
|
+
switch (base) {
|
|
58
|
+
case 'OAK4-S':
|
|
59
|
+
case 'OAK4-D':
|
|
60
|
+
case 'OAK4-LR':
|
|
61
|
+
case 'OAK4-SR':
|
|
62
|
+
case 'OAK4-D-PRO': {
|
|
63
|
+
return [
|
|
64
|
+
`Connect the PoE/ETH cable to power up the ${getDeviceNameByModel(base)}`,
|
|
65
|
+
`Scan the QR code.`,
|
|
66
|
+
'Scanning the QR code will take a few seconds. Try keeping the camera steady without moving your hands.',
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
case 'RAE': {
|
|
70
|
+
return [
|
|
71
|
+
`Press and hold the power button on the ${getDeviceNameByModel(base)} for 10 seconds to activate it. You will know it is fully powered up when the robot emits a purple-orange light.`,
|
|
72
|
+
`Aim the RGB camera, situated near the display, directly at the QR code. Ensure the camera is perpendicular to the screen, maintaining an ideal distance of about 6-8 inches (15-20 cm).`,
|
|
73
|
+
`Once the Rae Robot starts blinking with a vivid green color, click the 'Continue' button to proceed.`,
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
default: {
|
|
77
|
+
log.error(`Unknown device model: ${base}`);
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=devices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../../src/components/custom/devices/devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,EAAE,4BAA4B,EAAqB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AASvG,MAAM,UAAU,2BAA2B,CAAC,MAAkB;IAC5D,MAAM,IAAI,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO;gBACL,IAAI;gBACJ,UAAU,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,eAAe,EAAE,GAAG,kBAAkB,IAAI,IAAI,CAAC,EAAE,OAAO;gBACxD,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO;gBACL,IAAI;gBACJ,UAAU,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,eAAe,EAAE,GAAG,iBAAiB,WAAW;gBAChD,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,GAAG,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO,sBAAsB,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAc,EAAU,EAAE;IAC7D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAc,EAAkC,EAAE;IAC9E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO;gBACL,6CAA6C,oBAAoB,CAAC,IAAI,CAAC,EAAE;gBACzE,mBAAmB;gBACnB,wGAAwG;aACzG,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,OAAO;gBACL,0CAA0C,oBAAoB,CAAC,IAAI,CAAC,kHAAkH;gBACtL,yLAAyL;gBACzL,sGAAsG;aACvG,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/devices/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/custom/devices/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,wBAAwB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export * from './LabelledProgress.js';
|
|
|
8
8
|
export * from './Card.js';
|
|
9
9
|
export * from './Badge.js';
|
|
10
10
|
export * from './BadgeLine.js';
|
|
11
|
+
export * from './BadgeButton.js';
|
|
11
12
|
export * from './CardList.js';
|
|
12
13
|
export * from './SourceCode.js';
|
|
13
14
|
export * from './Grid.js';
|
|
@@ -40,4 +41,6 @@ export * from './StatusBar.js';
|
|
|
40
41
|
export * from './Input.js';
|
|
41
42
|
export * from './FilterDropdown.js';
|
|
42
43
|
export * from './Command.js';
|
|
44
|
+
export * from './oak4/Oak4DeviceCard.js';
|
|
45
|
+
export * from './devices/index.js';
|
|
43
46
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,WAAW,CAAC;AAE1B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,WAAW,CAAC;AAE1B,cAAc,eAAe,CAAC;AAE9B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,WAAW,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,sBAAsB,CAAC;AAErC,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAE5B,cAAc,mBAAmB,CAAC;AAElC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,WAAW,CAAC;AAE1B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,WAAW,CAAC;AAE1B,cAAc,eAAe,CAAC;AAE9B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,WAAW,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,sBAAsB,CAAC;AAErC,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAE5B,cAAc,mBAAmB,CAAC;AAElC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,cAAc,CAAC;AAE7B,cAAc,0BAA0B,CAAC;AAMzC,cAAc,oBAAoB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export * from './LabelledProgress.js';
|
|
|
8
8
|
export * from './Card.js';
|
|
9
9
|
export * from './Badge.js';
|
|
10
10
|
export * from './BadgeLine.js';
|
|
11
|
+
export * from './BadgeButton.js';
|
|
11
12
|
export * from './CardList.js';
|
|
12
13
|
export * from './SourceCode.js';
|
|
13
14
|
export * from './Grid.js';
|
|
@@ -40,4 +41,8 @@ export * from './StatusBar.js';
|
|
|
40
41
|
export * from './Input.js';
|
|
41
42
|
export * from './FilterDropdown.js';
|
|
42
43
|
export * from './Command.js';
|
|
44
|
+
export * from './oak4/Oak4DeviceCard.js';
|
|
45
|
+
// export * from './oak4/device-model.js';
|
|
46
|
+
// export * from './oak4/device-info.js';
|
|
47
|
+
export * from './devices/index.js';
|
|
43
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,WAAW,CAAC;AAE1B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,WAAW,CAAC;AAE1B,cAAc,eAAe,CAAC;AAE9B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,WAAW,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,sBAAsB,CAAC;AAErC,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAE5B,cAAc,mBAAmB,CAAC;AAElC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAElC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,WAAW,CAAC;AAE1B,cAAc,YAAY,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,WAAW,CAAC;AAE1B,cAAc,eAAe,CAAC;AAE9B,cAAc,eAAe,CAAC;AAE9B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,WAAW,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,cAAc,CAAC;AAE7B,cAAc,sBAAsB,CAAC;AAErC,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAE5B,cAAc,WAAW,CAAC;AAE1B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAE5B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC;AAE3B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,aAAa,CAAC;AAE5B,cAAc,mBAAmB,CAAC;AAElC,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,YAAY,CAAC;AAE3B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,cAAc,CAAC;AAE7B,cAAc,0BAA0B,CAAC;AAEzC,0CAA0C;AAE1C,yCAAyC;AAEzC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DeviceID } from '../devices/devices-list.js';
|
|
2
|
+
type Oak4DeviceCardProps = {
|
|
3
|
+
device: DeviceID;
|
|
4
|
+
onClick: (device: DeviceID) => void;
|
|
5
|
+
isSelected: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function Oak4DeviceCard(props: Readonly<Oak4DeviceCardProps>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=Oak4DeviceCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Oak4DeviceCard.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/oak4/Oak4DeviceCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CAclE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { getDeviceInformationByModel } from '../devices/devices.js';
|
|
4
|
+
import { NormalText } from '../Text';
|
|
5
|
+
import { Circle } from '../Circle';
|
|
6
|
+
import { Card } from '../Card';
|
|
7
|
+
import { Wrap } from '../../../styled-system/jsx/wrap.mjs';
|
|
8
|
+
export function Oak4DeviceCard(props) {
|
|
9
|
+
const { device, onClick, isSelected } = props;
|
|
10
|
+
const deviceInfo = React.useMemo(() => getDeviceInformationByModel(device), [device]);
|
|
11
|
+
return (_jsx(Card, { onClick: () => onClick(device), withHoverEffect: true, fullWidth: true, colorVariant: isSelected ? 'active' : 'white', children: _jsxs(Wrap, { align: "center", children: [_jsx(Circle, { variant: "icon", children: _jsx("img", { src: deviceInfo.deviceImageName, alt: deviceInfo.deviceName }) }), _jsx(NormalText, { text: deviceInfo.deviceName })] }) }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Oak4DeviceCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Oak4DeviceCard.js","sourceRoot":"","sources":["../../../../src/components/custom/oak4/Oak4DeviceCard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAQ3D,MAAM,UAAU,cAAc,CAAC,KAAoC;IACjE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtF,OAAO,CACL,KAAC,IAAI,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,QAAC,SAAS,QAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,YAC3G,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aAClB,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,YACpB,cAAK,GAAG,EAAE,UAAU,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,GAAI,GAC7D,EACT,KAAC,UAAU,IAAC,IAAI,EAAE,UAAU,CAAC,UAAU,GAAI,IACtC,GACF,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=device-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/oak4/device-info.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import type React from 'react';
|
|
3
|
+
// import { log } from '@luxonis/common-fe-utils';
|
|
4
|
+
// import type { DeviceModel } from './device-model';
|
|
5
|
+
// export const DEVICE_IMAGE_PATH = '/images/devices';
|
|
6
|
+
// export function getDeviceInformationByModel(model: DeviceModel): DeviceInformation {
|
|
7
|
+
// switch (model) {
|
|
8
|
+
// case 'rae': {
|
|
9
|
+
// return {
|
|
10
|
+
// model,
|
|
11
|
+
// deviceName: getDeviceNameByModel(model),
|
|
12
|
+
// deviceImageName: `${DEVICE_IMAGE_PATH}/rae.webp`,
|
|
13
|
+
// setupSteps: [
|
|
14
|
+
// `Press and hold the power button on the ${getDeviceNameByModel(model)} for 10 seconds to activate it. You will know it is fully powered up when the robot emits a purple-orange light.`,
|
|
15
|
+
// `Aim the RGB camera, situated near the display, directly at the QR code. Ensure the camera is perpendicular to the screen, maintaining an ideal distance of about 6-8 inches (15-20 cm).`,
|
|
16
|
+
// `Once the Rae Robot starts blinking with a vivid green color, click the 'Continue' button to proceed.`,
|
|
17
|
+
// ],
|
|
18
|
+
// };
|
|
19
|
+
// }
|
|
20
|
+
// case 'oak4s': {
|
|
21
|
+
// return {
|
|
22
|
+
// model,
|
|
23
|
+
// deviceName: getDeviceNameByModel(model),
|
|
24
|
+
// deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-S.webp',
|
|
25
|
+
// setupSteps: getOak4SetupSteps(model),
|
|
26
|
+
// };
|
|
27
|
+
// }
|
|
28
|
+
// case 'oak4d': {
|
|
29
|
+
// return {
|
|
30
|
+
// model,
|
|
31
|
+
// deviceName: getDeviceNameByModel(model),
|
|
32
|
+
// deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-D.webp',
|
|
33
|
+
// setupSteps: getOak4SetupSteps(model),
|
|
34
|
+
// };
|
|
35
|
+
// }
|
|
36
|
+
// case 'oak4lr': {
|
|
37
|
+
// return {
|
|
38
|
+
// model,
|
|
39
|
+
// deviceName: getDeviceNameByModel(model),
|
|
40
|
+
// deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-LR.webp',
|
|
41
|
+
// setupSteps: getOak4SetupSteps(model),
|
|
42
|
+
// };
|
|
43
|
+
// }
|
|
44
|
+
// case 'oak4sr': {
|
|
45
|
+
// return {
|
|
46
|
+
// model,
|
|
47
|
+
// deviceName: getDeviceNameByModel(model),
|
|
48
|
+
// deviceImageName: `${DEVICE_IMAGE_PATH}/oak4-d-sr.webp`,
|
|
49
|
+
// setupSteps: getOak4SetupSteps(model),
|
|
50
|
+
// };
|
|
51
|
+
// }
|
|
52
|
+
// default: {
|
|
53
|
+
// log.error(`Device context received unsupported model: ${model}`);
|
|
54
|
+
// return emptyDeviceInformation;
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// function getOak4SetupSteps(model: DeviceModel): (string | React.JSX.Element)[] {
|
|
59
|
+
// return [
|
|
60
|
+
// `Connect the PoE/ETH cable to power up the ${getDeviceNameByModel(model)}`,
|
|
61
|
+
// `Scan the QR code.`,
|
|
62
|
+
// 'Scanning the QR code will take a few seconds. Try keeping the camera steady without moving your hands.',
|
|
63
|
+
// ];
|
|
64
|
+
// }
|
|
65
|
+
// export function getDeviceNameByModel(model: DeviceModel): string {
|
|
66
|
+
// switch (model) {
|
|
67
|
+
// case 'rae': {
|
|
68
|
+
// return 'Rae Robot';
|
|
69
|
+
// }
|
|
70
|
+
// case 'oak4s': {
|
|
71
|
+
// return 'OAK 4 S';
|
|
72
|
+
// }
|
|
73
|
+
// case 'oak4d': {
|
|
74
|
+
// return 'OAK 4 D Pro';
|
|
75
|
+
// }
|
|
76
|
+
// case 'oak4lr': {
|
|
77
|
+
// return 'OAK 4 LR';
|
|
78
|
+
// }
|
|
79
|
+
// case 'oak4sr': {
|
|
80
|
+
// return 'OAK 4 SR';
|
|
81
|
+
// }
|
|
82
|
+
// default: {
|
|
83
|
+
// log.error(`Unknown device model: ${model}`);
|
|
84
|
+
// return 'Unknown device';
|
|
85
|
+
// }
|
|
86
|
+
// }
|
|
87
|
+
// }
|
|
88
|
+
// export type DeviceInformation = {
|
|
89
|
+
// model: DeviceModel;
|
|
90
|
+
// deviceName: string;
|
|
91
|
+
// deviceImageName: string;
|
|
92
|
+
// setupSteps: (string | JSX.Element)[];
|
|
93
|
+
// };
|
|
94
|
+
// const emptyDeviceInformation: DeviceInformation = {
|
|
95
|
+
// deviceName: '',
|
|
96
|
+
// deviceImageName: '',
|
|
97
|
+
// setupSteps: [],
|
|
98
|
+
// model: 'rae',
|
|
99
|
+
// };
|
|
100
|
+
//# sourceMappingURL=device-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.js","sourceRoot":"","sources":["../../../../src/components/custom/oak4/device-info.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,kDAAkD;AAElD,qDAAqD;AAErD,sDAAsD;AAEtD,uFAAuF;AACvF,qBAAqB;AACrB,oBAAoB;AACpB,iBAAiB;AACjB,iBAAiB;AACjB,mDAAmD;AACnD,4DAA4D;AAC5D,wBAAwB;AACxB,qMAAqM;AACrM,uMAAuM;AACvM,oHAAoH;AACpH,aAAa;AACb,WAAW;AACX,QAAQ;AACR,sBAAsB;AACtB,iBAAiB;AACjB,iBAAiB;AACjB,mDAAmD;AACnD,oFAAoF;AACpF,gDAAgD;AAChD,WAAW;AACX,QAAQ;AACR,sBAAsB;AACtB,iBAAiB;AACjB,iBAAiB;AACjB,mDAAmD;AACnD,oFAAoF;AACpF,gDAAgD;AAChD,WAAW;AACX,QAAQ;AACR,uBAAuB;AACvB,iBAAiB;AACjB,iBAAiB;AACjB,mDAAmD;AACnD,qFAAqF;AACrF,gDAAgD;AAChD,WAAW;AACX,QAAQ;AACR,uBAAuB;AACvB,iBAAiB;AACjB,iBAAiB;AACjB,mDAAmD;AACnD,kEAAkE;AAClE,gDAAgD;AAChD,WAAW;AACX,QAAQ;AACR,iBAAiB;AACjB,0EAA0E;AAC1E,uCAAuC;AACvC,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,mFAAmF;AACnF,aAAa;AACb,kFAAkF;AAClF,2BAA2B;AAC3B,gHAAgH;AAChH,OAAO;AACP,IAAI;AAEJ,qEAAqE;AACrE,qBAAqB;AACrB,oBAAoB;AACpB,4BAA4B;AAC5B,QAAQ;AACR,sBAAsB;AACtB,0BAA0B;AAC1B,QAAQ;AACR,sBAAsB;AACtB,8BAA8B;AAC9B,QAAQ;AACR,uBAAuB;AACvB,2BAA2B;AAC3B,QAAQ;AACR,uBAAuB;AACvB,2BAA2B;AAC3B,QAAQ;AACR,iBAAiB;AACjB,qDAAqD;AACrD,iCAAiC;AACjC,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,oCAAoC;AACpC,wBAAwB;AACxB,wBAAwB;AACxB,6BAA6B;AAC7B,0CAA0C;AAC1C,KAAK;AAEL,sDAAsD;AACtD,oBAAoB;AACpB,yBAAyB;AACzB,oBAAoB;AACpB,kBAAkB;AAClB,KAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=device-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-model.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/oak4/device-model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { z } from 'zod';
|
|
3
|
+
// const Oak4Models = ['oak4d', 'oak4lr', 'oak4sr', 'oak4s'] as const;
|
|
4
|
+
// export const Oak4DeviceModelSchema = z.enum(Oak4Models);
|
|
5
|
+
// export type Oak4DeviceModel = z.infer<typeof Oak4DeviceModelSchema>;
|
|
6
|
+
// export const DeviceModelSchema = z.enum(['rae', ...Oak4Models]);
|
|
7
|
+
// export type DeviceModel = z.infer<typeof DeviceModelSchema>;
|
|
8
|
+
//# sourceMappingURL=device-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-model.js","sourceRoot":"","sources":["../../../../src/components/custom/oak4/device-model.ts"],"names":[],"mappings":";AAAA,2BAA2B;AAE3B,sEAAsE;AAEtE,2DAA2D;AAE3D,uEAAuE;AAEvE,mEAAmE;AAEnE,+DAA+D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DeviceModel } from '~/models/setup/configuration-schema/configuration.schema';
|
|
2
|
+
import type { LegacyOakFragment } from '~/gql.generated';
|
|
3
|
+
export declare const DEVICE_IMAGE_PATH = "/images/devices";
|
|
4
|
+
export declare function getDeviceInformationByModel(model: DeviceModel): DeviceInformation;
|
|
5
|
+
export declare function getDeviceNameByModel(model: DeviceModel): string;
|
|
6
|
+
export type DeviceInformation = {
|
|
7
|
+
model: DeviceModel;
|
|
8
|
+
deviceName: string;
|
|
9
|
+
deviceImageName: string;
|
|
10
|
+
setupSteps: (string | JSX.Element)[];
|
|
11
|
+
};
|
|
12
|
+
export declare function getDeviceNameFromInfo(device: LegacyOakFragment): string;
|
|
13
|
+
//# sourceMappingURL=oak4-device-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oak4-device-info.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/oak4/oak4-device-info.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AAEnD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAmDjF;AAUD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAsB/D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC;AASF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAQvE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { log } from '@luxonis/common-fe-utils';
|
|
2
|
+
export const DEVICE_IMAGE_PATH = '/images/devices';
|
|
3
|
+
export function getDeviceInformationByModel(model) {
|
|
4
|
+
switch (model) {
|
|
5
|
+
case 'rae': {
|
|
6
|
+
return {
|
|
7
|
+
model,
|
|
8
|
+
deviceName: getDeviceNameByModel(model),
|
|
9
|
+
deviceImageName: `${DEVICE_IMAGE_PATH}/rae.webp`,
|
|
10
|
+
setupSteps: [
|
|
11
|
+
`Press and hold the power button on the ${getDeviceNameByModel(model)} for 10 seconds to activate it. You will know it is fully powered up when the robot emits a purple-orange light.`,
|
|
12
|
+
`Aim the RGB camera, situated near the display, directly at the QR code. Ensure the camera is perpendicular to the screen, maintaining an ideal distance of about 6-8 inches (15-20 cm).`,
|
|
13
|
+
`Once the Rae Robot starts blinking with a vivid green color, click the 'Continue' button to proceed.`,
|
|
14
|
+
],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
case 'oak4s': {
|
|
18
|
+
return {
|
|
19
|
+
model,
|
|
20
|
+
deviceName: getDeviceNameByModel(model),
|
|
21
|
+
deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-S.webp',
|
|
22
|
+
setupSteps: getOak4SetupSteps(model),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
case 'oak4d': {
|
|
26
|
+
return {
|
|
27
|
+
model,
|
|
28
|
+
deviceName: getDeviceNameByModel(model),
|
|
29
|
+
deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-D.webp',
|
|
30
|
+
setupSteps: getOak4SetupSteps(model),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
case 'oak4lr': {
|
|
34
|
+
return {
|
|
35
|
+
model,
|
|
36
|
+
deviceName: getDeviceNameByModel(model),
|
|
37
|
+
deviceImageName: 'https://static.luxonis.com/images/cameras/OAK4-LR.webp',
|
|
38
|
+
setupSteps: getOak4SetupSteps(model),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
case 'oak4sr': {
|
|
42
|
+
return {
|
|
43
|
+
model,
|
|
44
|
+
deviceName: getDeviceNameByModel(model),
|
|
45
|
+
deviceImageName: `${DEVICE_IMAGE_PATH}/oak4-d-sr.webp`,
|
|
46
|
+
setupSteps: getOak4SetupSteps(model),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
default: {
|
|
50
|
+
log.error(`Device context received unsupported model: ${model}`);
|
|
51
|
+
return emptyDeviceInformation;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function getOak4SetupSteps(model) {
|
|
56
|
+
return [
|
|
57
|
+
`Connect the PoE/ETH cable to power up the ${getDeviceNameByModel(model)}`,
|
|
58
|
+
`Scan the QR code.`,
|
|
59
|
+
'Scanning the QR code will take a few seconds. Try keeping the camera steady without moving your hands.',
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
export function getDeviceNameByModel(model) {
|
|
63
|
+
switch (model) {
|
|
64
|
+
case 'rae': {
|
|
65
|
+
return 'Rae Robot';
|
|
66
|
+
}
|
|
67
|
+
case 'oak4s': {
|
|
68
|
+
return 'OAK4-S';
|
|
69
|
+
}
|
|
70
|
+
case 'oak4d': {
|
|
71
|
+
return 'OAK4-D';
|
|
72
|
+
}
|
|
73
|
+
case 'oak4lr': {
|
|
74
|
+
return 'OAK4-LR';
|
|
75
|
+
}
|
|
76
|
+
case 'oak4sr': {
|
|
77
|
+
return 'OAK4-SR';
|
|
78
|
+
}
|
|
79
|
+
default: {
|
|
80
|
+
log.error(`Unknown device model: ${model}`);
|
|
81
|
+
return 'Unknown device';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const emptyDeviceInformation = {
|
|
86
|
+
deviceName: '',
|
|
87
|
+
deviceImageName: '',
|
|
88
|
+
setupSteps: [],
|
|
89
|
+
model: 'rae',
|
|
90
|
+
};
|
|
91
|
+
export function getDeviceNameFromInfo(device) {
|
|
92
|
+
if (device.name && device.name !== '' && device.name !== device.serialNumber) {
|
|
93
|
+
return device.name;
|
|
94
|
+
}
|
|
95
|
+
if (device.serialNumber && device.serialNumber !== '' && device.serialNumber !== 'unknown') {
|
|
96
|
+
return device.serialNumber;
|
|
97
|
+
}
|
|
98
|
+
return 'unknown';
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=oak4-device-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oak4-device-info.js","sourceRoot":"","sources":["../../../../src/components/custom/oak4/oak4-device-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oak4-model.d.ts","sourceRoot":"","sources":["../../../../src/components/custom/oak4/oak4-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB,mDAAiD,CAAC;AAEpF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oak4-model.js","sourceRoot":"","sources":["../../../../src/components/custom/oak4/oak4-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -21,49 +21,49 @@ declare const __CommandInput: StyledComponent<React.ForwardRefExoticComponent<Om
|
|
|
21
21
|
export declare const _CommandInput: Nested<typeof __CommandInput>;
|
|
22
22
|
declare const _CommandList: StyledComponent<React.ForwardRefExoticComponent<{
|
|
23
23
|
children?: React.ReactNode;
|
|
24
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
24
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
25
25
|
ref?: React.Ref<HTMLDivElement>;
|
|
26
26
|
} & {
|
|
27
27
|
asChild?: boolean;
|
|
28
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "
|
|
28
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
29
29
|
label?: string;
|
|
30
30
|
} & React.RefAttributes<HTMLDivElement>>, {}>;
|
|
31
31
|
export declare const CommandList: Nested<typeof _CommandList>;
|
|
32
32
|
declare const _CommandEmpty: StyledComponent<React.ForwardRefExoticComponent<{
|
|
33
33
|
children?: React.ReactNode;
|
|
34
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
34
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
35
35
|
ref?: React.Ref<HTMLDivElement>;
|
|
36
36
|
} & {
|
|
37
37
|
asChild?: boolean;
|
|
38
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "
|
|
38
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>>, {}>;
|
|
39
39
|
export declare const CommandEmpty: Nested<typeof _CommandEmpty>;
|
|
40
40
|
declare const _CommandGroup: StyledComponent<React.ForwardRefExoticComponent<{
|
|
41
41
|
children?: React.ReactNode;
|
|
42
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
42
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
43
43
|
ref?: React.Ref<HTMLDivElement>;
|
|
44
44
|
} & {
|
|
45
45
|
asChild?: boolean;
|
|
46
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "
|
|
46
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "heading"> & {
|
|
47
47
|
heading?: React.ReactNode;
|
|
48
48
|
value?: string;
|
|
49
49
|
forceMount?: boolean;
|
|
50
50
|
} & React.RefAttributes<HTMLDivElement>>, {}>;
|
|
51
51
|
export declare const CommandGroup: Nested<typeof _CommandGroup>;
|
|
52
|
-
declare const _CommandSeparator: StyledComponent<React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
52
|
+
declare const _CommandSeparator: StyledComponent<React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
53
53
|
ref?: React.Ref<HTMLDivElement>;
|
|
54
54
|
} & {
|
|
55
55
|
asChild?: boolean;
|
|
56
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "
|
|
56
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
57
57
|
alwaysRender?: boolean;
|
|
58
58
|
} & React.RefAttributes<HTMLDivElement>>, {}>;
|
|
59
59
|
export declare const CommandSeparator: Nested<typeof _CommandSeparator>;
|
|
60
60
|
declare const __CommandItem: StyledComponent<React.ForwardRefExoticComponent<{
|
|
61
61
|
children?: React.ReactNode;
|
|
62
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement
|
|
62
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
63
63
|
ref?: React.Ref<HTMLDivElement>;
|
|
64
64
|
} & {
|
|
65
65
|
asChild?: boolean;
|
|
66
|
-
}, keyof React.HTMLAttributes<HTMLDivElement> | "
|
|
66
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "onSelect" | "disabled"> & {
|
|
67
67
|
disabled?: boolean;
|
|
68
68
|
onSelect?: (value: string) => void;
|
|
69
69
|
value?: string;
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
3
3
|
export declare const _Slider: import("../../styled-system/types/jsx.mjs").StyledComponent<React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & {
|
|
4
4
|
showLabels?: boolean;
|
|
5
|
+
thumbSize?: "sm" | "lg";
|
|
5
6
|
} & React.RefAttributes<HTMLSpanElement>>, {}>;
|
|
6
7
|
export declare const _DoubleSlider: import("../../styled-system/types/jsx.mjs").StyledComponent<React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & {
|
|
7
8
|
showLabels?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Slider.d.ts","sourceRoot":"","sources":["../../../src/components/shadow-panda/_Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"_Slider.d.ts","sourceRoot":"","sources":["../../../src/components/shadow-panda/_Slider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAyD1D,eAAO,MAAM,OAAO;iBA7C6D,OAAO;gBAAc,IAAI,GAAG,IAAI;8CA6CxE,CAAC;AAyC1C,eAAO,MAAM,aAAa;iBAnCT,OAAO;mBACL,MAAM;mBACN,MAAM;uBACF,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM;8CAgCP,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { styled } from '../../styled-system/jsx/factory.mjs';
|
|
|
9
9
|
import { css } from '../../styled-system/css/css.mjs';
|
|
10
10
|
import { clsx } from '../../helpers.js';
|
|
11
11
|
import { cx } from "../../styled-system/css/cx.mjs";
|
|
12
|
-
const BaseSlider = React.forwardRef(({ className, min, max, value = [], showLabels = false, defaultValue = value ?? [], ...rest }, ref) => {
|
|
12
|
+
const BaseSlider = React.forwardRef(({ className, min, max, value = [], showLabels = false, defaultValue = value ?? [], thumbSize, ...rest }, ref) => {
|
|
13
13
|
const styles = slider();
|
|
14
14
|
const thumbStyles = css({ position: 'relative' });
|
|
15
15
|
const labelStyles = css({
|
|
@@ -19,7 +19,14 @@ const BaseSlider = React.forwardRef(({ className, min, max, value = [], showLabe
|
|
|
19
19
|
width: 'slider.label',
|
|
20
20
|
textAlign: 'center',
|
|
21
21
|
});
|
|
22
|
-
|
|
22
|
+
const thumbSizeStyles = thumbSize === 'sm' ? css({
|
|
23
|
+
width: 'slider.thumb.sm!',
|
|
24
|
+
height: 'slider.thumb.sm!'
|
|
25
|
+
}) : thumbSize === 'lg' ? css({
|
|
26
|
+
width: 'slider.thumb.lg!',
|
|
27
|
+
height: 'slider.thumb.lg!'
|
|
28
|
+
}) : undefined;
|
|
29
|
+
return (_jsxs(Flex, { gap: "xs", width: "full", children: [showLabels && _jsx(SubLabel, { text: min }), _jsxs(SliderPrimitive.Root, { ref: ref, className: clsx(styles.root, className), defaultValue: defaultValue, min, max, value, ...rest, children: [_jsx(SliderPrimitive.Track, { className: styles.track, children: _jsx(SliderPrimitive.Range, { className: styles.range }) }), _jsx(SliderPrimitive.Thumb, { className: clsx(styles.thumb, thumbStyles, thumbSizeStyles), children: showLabels && value[0] !== min && value[0] !== max &&
|
|
23
30
|
_jsx(SubLabel, { className: labelStyles, text: value[0] }) })] }), showLabels && _jsx(SubLabel, { text: max })] }));
|
|
24
31
|
});
|
|
25
32
|
BaseSlider.displayName = SliderPrimitive.Root.displayName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_Slider.js","sourceRoot":"","sources":["../../../src/components/shadow-panda/_Slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,wCAAwC,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAC,GAAG,EAAC,MAAM,iCAAiC,CAAC;AACpD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,EAAE,EAAC,MAAM,gCAAgC,CAAC;AAElD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAIjC,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,EAAC,EAAE,GAAG,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"_Slider.js","sourceRoot":"","sources":["../../../src/components/shadow-panda/_Slider.tsx"],"names":[],"mappings":"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"}
|