@luxonis/common-fe-components 1.11.0 → 1.13.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 (41) hide show
  1. package/dist/components/custom/DropdownMenu.d.ts +15 -15
  2. package/dist/components/custom/ExternalLink.d.ts +1 -0
  3. package/dist/components/custom/ExternalLink.d.ts.map +1 -1
  4. package/dist/components/custom/ExternalLink.js.map +1 -1
  5. package/dist/components/custom/Form.js.map +1 -1
  6. package/dist/components/custom/IconHelp.d.ts +6 -0
  7. package/dist/components/custom/IconHelp.d.ts.map +1 -0
  8. package/dist/components/custom/IconHelp.js +9 -0
  9. package/dist/components/custom/IconHelp.js.map +1 -0
  10. package/dist/components/custom/RadioGroup.d.ts +12 -12
  11. package/dist/components/custom/Slider.d.ts +18 -18
  12. package/dist/components/custom/index.d.ts +3 -0
  13. package/dist/components/custom/index.d.ts.map +1 -1
  14. package/dist/components/custom/index.js +3 -0
  15. package/dist/components/custom/index.js.map +1 -1
  16. package/dist/components/custom/oak4/Oak4DeviceCard.d.ts +9 -0
  17. package/dist/components/custom/oak4/Oak4DeviceCard.d.ts.map +1 -0
  18. package/dist/components/custom/oak4/Oak4DeviceCard.js +12 -0
  19. package/dist/components/custom/oak4/Oak4DeviceCard.js.map +1 -0
  20. package/dist/components/custom/oak4/device-info.d.ts +11 -0
  21. package/dist/components/custom/oak4/device-info.d.ts.map +1 -0
  22. package/dist/components/custom/oak4/device-info.js +91 -0
  23. package/dist/components/custom/oak4/device-info.js.map +1 -0
  24. package/dist/components/custom/oak4/device-model.d.ts +6 -0
  25. package/dist/components/custom/oak4/device-model.d.ts.map +1 -0
  26. package/dist/components/custom/oak4/device-model.js +5 -0
  27. package/dist/components/custom/oak4/device-model.js.map +1 -0
  28. package/dist/components/custom/oak4/oak4-device-info.d.ts +13 -0
  29. package/dist/components/custom/oak4/oak4-device-info.d.ts.map +1 -0
  30. package/dist/components/custom/oak4/oak4-device-info.js +100 -0
  31. package/dist/components/custom/oak4/oak4-device-info.js.map +1 -0
  32. package/dist/components/custom/oak4/oak4-model.d.ts +4 -0
  33. package/dist/components/custom/oak4/oak4-model.d.ts.map +1 -0
  34. package/dist/components/custom/oak4/oak4-model.js +3 -0
  35. package/dist/components/custom/oak4/oak4-model.js.map +1 -0
  36. package/dist/components/shadow-panda/_Command.d.ts +11 -11
  37. package/package.json +4 -4
  38. package/dist/components/shadow-panda/Popover.d.ts +0 -4597
  39. package/dist/components/shadow-panda/Popover.d.ts.map +0 -1
  40. package/dist/components/shadow-panda/Popover.js +0 -15
  41. package/dist/components/shadow-panda/Popover.js.map +0 -1
@@ -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"}
@@ -14,56 +14,56 @@ declare const __CommandInput: StyledComponent<React.ForwardRefExoticComponent<Om
14
14
  ref?: React.Ref<HTMLInputElement>;
15
15
  } & {
16
16
  asChild?: boolean;
17
- }, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "asChild">, "value" | "type" | "onChange"> & {
17
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
18
18
  value?: string;
19
19
  onValueChange?: (search: string) => void;
20
20
  } & React.RefAttributes<HTMLInputElement>>, {}>;
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">, "onSelect" | "disabled" | "value"> & {
67
67
  disabled?: boolean;
68
68
  onSelect?: (value: string) => void;
69
69
  value?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxonis/common-fe-components",
3
- "version": "1.11.0",
3
+ "version": "1.13.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@hookform/resolvers": "^3.9.0",
25
- "@luxonis/common-fe-utils": "^1.11.0",
25
+ "@luxonis/common-fe-utils": "^1.13.0",
26
26
  "@radix-ui/react-accordion": "^1.2.0",
27
27
  "@radix-ui/react-alert-dialog": "^1.1.1",
28
28
  "@radix-ui/react-aspect-ratio": "^1.1.0",
@@ -59,7 +59,7 @@
59
59
  "lucide-react": "^0.438.0",
60
60
  "react-dropzone": "^14.2.3",
61
61
  "react-hook-form": "7.50.1",
62
- "react-icons": "^5.3.0",
62
+ "react-icons": "^5.4.0",
63
63
  "react-syntax-highlighter": "^15.5.0",
64
64
  "rehype-autolink-headings": "^7.1.0",
65
65
  "typesafe-i18n": "^5.26.2",
@@ -84,6 +84,6 @@
84
84
  "registry": "https://registry.npmjs.org",
85
85
  "access": "public"
86
86
  },
87
- "gitHead": "bac1ac0de585f64f67d7626c553189bafb42e8e0",
87
+ "gitHead": "3b7ca6a193127a09bf42c2a41f821370a8112377",
88
88
  "license": "UNLICENSED"
89
89
  }