@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.
Files changed (80) hide show
  1. package/dist/components/custom/BadgeButton.d.ts +11 -0
  2. package/dist/components/custom/BadgeButton.d.ts.map +1 -0
  3. package/dist/components/custom/BadgeButton.js +12 -0
  4. package/dist/components/custom/BadgeButton.js.map +1 -0
  5. package/dist/components/custom/DropdownMenu.d.ts +5 -5
  6. package/dist/components/custom/ExternalLink.d.ts +1 -0
  7. package/dist/components/custom/ExternalLink.d.ts.map +1 -1
  8. package/dist/components/custom/ExternalLink.js.map +1 -1
  9. package/dist/components/custom/KpiDisplay.d.ts +1 -0
  10. package/dist/components/custom/KpiDisplay.d.ts.map +1 -1
  11. package/dist/components/custom/KpiDisplay.js +2 -2
  12. package/dist/components/custom/KpiDisplay.js.map +1 -1
  13. package/dist/components/custom/RadioGroup.d.ts +12 -12
  14. package/dist/components/custom/Slider.d.ts +14 -12
  15. package/dist/components/custom/Slider.d.ts.map +1 -1
  16. package/dist/components/custom/Stepper.d.ts +1 -0
  17. package/dist/components/custom/Stepper.d.ts.map +1 -1
  18. package/dist/components/custom/Stepper.js +1 -1
  19. package/dist/components/custom/Stepper.js.map +1 -1
  20. package/dist/components/custom/devices/devices-constants.d.ts +13 -0
  21. package/dist/components/custom/devices/devices-constants.d.ts.map +1 -0
  22. package/dist/components/custom/devices/devices-constants.js +27 -0
  23. package/dist/components/custom/devices/devices-constants.js.map +1 -0
  24. package/dist/components/custom/devices/devices-family.d.ts +11 -0
  25. package/dist/components/custom/devices/devices-family.d.ts.map +1 -0
  26. package/dist/components/custom/devices/devices-family.js +26 -0
  27. package/dist/components/custom/devices/devices-family.js.map +1 -0
  28. package/dist/components/custom/devices/devices-list.d.ts +17 -0
  29. package/dist/components/custom/devices/devices-list.d.ts.map +1 -0
  30. package/dist/components/custom/devices/devices-list.js +71 -0
  31. package/dist/components/custom/devices/devices-list.js.map +1 -0
  32. package/dist/components/custom/devices/devices.d.ts +12 -0
  33. package/dist/components/custom/devices/devices.d.ts.map +1 -0
  34. package/dist/components/custom/devices/devices.js +82 -0
  35. package/dist/components/custom/devices/devices.js.map +1 -0
  36. package/dist/components/custom/devices/index.d.ts +5 -0
  37. package/dist/components/custom/devices/index.d.ts.map +1 -0
  38. package/dist/components/custom/devices/index.js +5 -0
  39. package/dist/components/custom/devices/index.js.map +1 -0
  40. package/dist/components/custom/index.d.ts +3 -0
  41. package/dist/components/custom/index.d.ts.map +1 -1
  42. package/dist/components/custom/index.js +5 -0
  43. package/dist/components/custom/index.js.map +1 -1
  44. package/dist/components/custom/oak4/Oak4DeviceCard.d.ts +9 -0
  45. package/dist/components/custom/oak4/Oak4DeviceCard.d.ts.map +1 -0
  46. package/dist/components/custom/oak4/Oak4DeviceCard.js +13 -0
  47. package/dist/components/custom/oak4/Oak4DeviceCard.js.map +1 -0
  48. package/dist/components/custom/oak4/device-info.d.ts +1 -0
  49. package/dist/components/custom/oak4/device-info.d.ts.map +1 -0
  50. package/dist/components/custom/oak4/device-info.js +100 -0
  51. package/dist/components/custom/oak4/device-info.js.map +1 -0
  52. package/dist/components/custom/oak4/device-model.d.ts +1 -0
  53. package/dist/components/custom/oak4/device-model.d.ts.map +1 -0
  54. package/dist/components/custom/oak4/device-model.js +8 -0
  55. package/dist/components/custom/oak4/device-model.js.map +1 -0
  56. package/dist/components/custom/oak4/oak4-device-info.d.ts +13 -0
  57. package/dist/components/custom/oak4/oak4-device-info.d.ts.map +1 -0
  58. package/dist/components/custom/oak4/oak4-device-info.js +100 -0
  59. package/dist/components/custom/oak4/oak4-device-info.js.map +1 -0
  60. package/dist/components/custom/oak4/oak4-model.d.ts +4 -0
  61. package/dist/components/custom/oak4/oak4-model.d.ts.map +1 -0
  62. package/dist/components/custom/oak4/oak4-model.js +3 -0
  63. package/dist/components/custom/oak4/oak4-model.js.map +1 -0
  64. package/dist/components/shadow-panda/_Command.d.ts +10 -10
  65. package/dist/components/shadow-panda/_Slider.d.ts +1 -0
  66. package/dist/components/shadow-panda/_Slider.d.ts.map +1 -1
  67. package/dist/components/shadow-panda/_Slider.js +9 -2
  68. package/dist/components/shadow-panda/_Slider.js.map +1 -1
  69. package/dist/icons/react-icons.d.ts +4 -2
  70. package/dist/icons/react-icons.d.ts.map +1 -1
  71. package/dist/icons/react-icons.js +4 -2
  72. package/dist/icons/react-icons.js.map +1 -1
  73. package/dist/panda.buildinfo.json +18 -11
  74. package/dist/panda.css +38 -12
  75. package/dist/panda.d.ts.map +1 -1
  76. package/dist/panda.js +4 -0
  77. package/dist/panda.js.map +1 -1
  78. package/dist/styled-system/tokens/index.mjs +8 -0
  79. package/dist/styled-system/tokens/tokens.d.mts +2 -2
  80. 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,5 @@
1
+ export * from './devices.js';
2
+ export * from './devices-list.js';
3
+ export * from './devices-family.js';
4
+ export * from './devices-constants.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export * from './devices.js';
2
+ export * from './devices-list.js';
3
+ export * from './devices-family.js';
4
+ export * from './devices-constants.js';
5
+ //# sourceMappingURL=index.js.map
@@ -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,4 @@
1
+ import { z } from 'zod';
2
+ export declare const Oak4DeviceModelSchema: z.ZodEnum<["oak4d", "oak4lr", "oak4sr", "oak4s"]>;
3
+ export type Oak4DeviceModel = z.infer<typeof Oak4DeviceModelSchema>;
4
+ //# sourceMappingURL=oak4-model.d.ts.map
@@ -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,3 @@
1
+ import { z } from 'zod';
2
+ export const Oak4DeviceModelSchema = z.enum(['oak4d', 'oak4lr', 'oak4sr', 'oak4s']);
3
+ //# sourceMappingURL=oak4-model.js.map
@@ -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> | "key"> & {
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> | "key" | "asChild"> & {
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> | "key"> & {
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> | "key" | "asChild"> & React.RefAttributes<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> | "key"> & {
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> | "key" | "asChild">, "value" | "heading"> & {
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> | "key"> & {
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> | "key" | "asChild"> & {
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> | "key"> & {
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> | "key" | "asChild">, "value" | "onSelect" | "disabled"> & {
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;AAkD1D,eAAO,MAAM,OAAO;iBAtC6D,OAAO;8CAsC/C,CAAC;AAyC1C,eAAO,MAAM,aAAa;iBAnCT,OAAO;mBACL,MAAM;mBACN,MAAM;uBACF,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM;8CAgCP,CAAA"}
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
- 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), children: showLabels && value[0] !== min && value[0] !== max &&
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":"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"}
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,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,GAAG,EAAE,EAAE;IAC7G,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,WAAW,GAAG,GAAG,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,CAAC;QACpB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,0CAA0C;QAChD,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,QAAQ;KACtB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7C,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,kBAAkB;KAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,kBAAkB;KAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEd,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,aACtB,UAAU,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,GAAG,GAAG,EACrC,MAAC,eAAe,CAAC,IAAI,IACjB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EACvC,YAAY,EAAE,YAAY,EACrB,GAAG,EAAE,GAAG,EAAE,KAAK,KAChB,IAAI,aAER,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,YAC1C,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,GAC7B,EACxB,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,YAC7E,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;4BAC/C,KAAC,QAAQ,IAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GACnC,IACL,EACtB,UAAU,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,GAAG,GAAG,IAClC,CACV,CAAC;AACN,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAG1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAQvC,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA;IAEvB,MAAM,WAAW,GAAG,GAAG,CAAC;QACpB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,0CAA0C;QAChD,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,QAAQ;KACtB,CAAC,CAAC;IAEH,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,aACtB,KAAK,CAAC,UAAU,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,GAAG,EACvE,MAAC,eAAe,CAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,KAAK,aAC5E,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,YAC1C,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,GAC7B,EACvB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,YACrE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG;4BAC5F,KAAC,QAAQ,IAAC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAH1B,CAAC,CAI1D,CAAC,IACN,EACtB,KAAK,CAAC,UAAU,IAAI,KAAC,QAAQ,IAAC,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,GAAG,GAAG,IACpE,CACV,CAAA;AACL,CAAC,CAAC,CAAA;AACF,gBAAgB,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAA;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA"}