@wandelbots/wandelbots-js-react-components 2.34.2 → 2.35.0-pr.feature-replace-forwardref.376.d3a302b

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 (72) hide show
  1. package/README.md +1 -1
  2. package/dist/components/AppHeader.d.ts +34 -0
  3. package/dist/components/AppHeader.d.ts.map +1 -0
  4. package/dist/components/CopyableText.d.ts +3 -2
  5. package/dist/components/CopyableText.d.ts.map +1 -1
  6. package/dist/components/CycleTimer.d.ts +33 -16
  7. package/dist/components/CycleTimer.d.ts.map +1 -1
  8. package/dist/components/DataGrid.d.ts +66 -0
  9. package/dist/components/DataGrid.d.ts.map +1 -0
  10. package/dist/components/LogPanel.d.ts +38 -0
  11. package/dist/components/LogPanel.d.ts.map +1 -0
  12. package/dist/components/LogStore.d.ts +12 -0
  13. package/dist/components/LogStore.d.ts.map +1 -0
  14. package/dist/components/LogViewer.d.ts +46 -0
  15. package/dist/components/LogViewer.d.ts.map +1 -0
  16. package/dist/components/ProgramControl.d.ts +8 -2
  17. package/dist/components/ProgramControl.d.ts.map +1 -1
  18. package/dist/components/ProgramStateIndicator.d.ts +1 -1
  19. package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
  20. package/dist/components/RobotCard.d.ts +103 -0
  21. package/dist/components/RobotCard.d.ts.map +1 -0
  22. package/dist/components/RobotListItem.d.ts +34 -0
  23. package/dist/components/RobotListItem.d.ts.map +1 -0
  24. package/dist/components/RobotSetupReadinessIndicator.d.ts +31 -0
  25. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
  26. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
  27. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
  28. package/dist/components/SelectableFab.d.ts +2 -1
  29. package/dist/components/SelectableFab.d.ts.map +1 -1
  30. package/dist/components/TabBar.d.ts +32 -0
  31. package/dist/components/TabBar.d.ts.map +1 -0
  32. package/dist/components/robots/Robot.d.ts +3 -2
  33. package/dist/components/robots/Robot.d.ts.map +1 -1
  34. package/dist/components/robots/manufacturerHomePositions.d.ts +21 -0
  35. package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
  36. package/dist/icons/DropdownArrowIcon.d.ts +3 -0
  37. package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
  38. package/dist/icons/index.d.ts +1 -0
  39. package/dist/icons/index.d.ts.map +1 -1
  40. package/dist/index.cjs +50 -50
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.ts +10 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +11381 -9522
  45. package/dist/index.js.map +1 -1
  46. package/dist/themes/createDarkTheme.d.ts.map +1 -1
  47. package/package.json +6 -5
  48. package/src/components/AppHeader.md +84 -0
  49. package/src/components/AppHeader.tsx +199 -0
  50. package/src/components/CopyableText.tsx +70 -73
  51. package/src/components/CycleTimer.tsx +384 -159
  52. package/src/components/DataGrid.tsx +659 -0
  53. package/src/components/LogPanel.tsx +69 -0
  54. package/src/components/LogStore.ts +44 -0
  55. package/src/components/LogViewer.tsx +370 -0
  56. package/src/components/ProgramControl.tsx +27 -12
  57. package/src/components/ProgramStateIndicator.tsx +25 -8
  58. package/src/components/RobotCard.tsx +568 -0
  59. package/src/components/RobotListItem.tsx +150 -0
  60. package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
  61. package/src/components/RobotSetupReadinessIndicator.tsx +124 -0
  62. package/src/components/SelectableFab.tsx +14 -15
  63. package/src/components/TabBar.tsx +147 -0
  64. package/src/components/robots/Robot.tsx +5 -2
  65. package/src/components/robots/manufacturerHomePositions.ts +76 -0
  66. package/src/i18n/locales/de/translations.json +8 -1
  67. package/src/i18n/locales/en/translations.json +8 -1
  68. package/src/icons/DropdownArrowIcon.tsx +13 -0
  69. package/src/icons/chevronDown.svg +3 -0
  70. package/src/icons/index.ts +1 -0
  71. package/src/index.ts +14 -0
  72. package/src/themes/createDarkTheme.ts +75 -1
@@ -0,0 +1,32 @@
1
+ import type { SxProps } from "@mui/material";
2
+ export interface TabItem {
3
+ /** Unique identifier for the tab */
4
+ id: string;
5
+ /** Label text for the tab */
6
+ label: string;
7
+ /** Content to display when tab is active */
8
+ content: React.ReactNode;
9
+ /** Optional icon component to display with the tab */
10
+ icon?: React.ReactElement;
11
+ }
12
+ export interface TabBarProps {
13
+ /** Array of tab items to display */
14
+ items: TabItem[];
15
+ /** Default active tab index */
16
+ defaultActiveTab?: number;
17
+ /** Callback when tab changes */
18
+ onTabChange?: (index: number) => void;
19
+ /** Additional styling */
20
+ sx?: SxProps;
21
+ /** Ref to the root container element */
22
+ ref?: React.Ref<HTMLDivElement>;
23
+ }
24
+ /**
25
+ * A styled tab bar component with configurable tabs and content.
26
+ * Features the same styling as the Wandelbots design system with rounded tabs
27
+ * and smooth transitions.
28
+ */
29
+ export declare const TabBar: ((props: TabBarProps) => import("react/jsx-runtime").JSX.Element) & {
30
+ displayName: string;
31
+ };
32
+ //# sourceMappingURL=TabBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAM5C,MAAM,WAAW,OAAO;IACtB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC;AAwBD;;;;GAIG;AACH,eAAO,MAAM,MAAM,WACA,WAAW;;CAwF7B,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type ThreeElements } from "@react-three/fiber";
1
+ import type { ThreeElements } from "@react-three/fiber";
2
2
  import type { ConnectedMotionGroup } from "@wandelbots/nova-js/v1";
3
3
  import type { Group } from "three";
4
4
  export type RobotProps = {
@@ -6,6 +6,7 @@ export type RobotProps = {
6
6
  getModel?: (modelFromController: string) => string;
7
7
  flangeRef?: React.Ref<Group>;
8
8
  transparentColor?: string;
9
+ postModelRender?: () => void;
9
10
  } & ThreeElements["group"];
10
11
  /**
11
12
  * The Robot component is a wrapper around the SupportedRobot component
@@ -18,5 +19,5 @@ export type RobotProps = {
18
19
  *
19
20
  * @returns {JSX.Element} The rendered SupportedRobot component.
20
21
  */
21
- export declare function Robot({ connectedMotionGroup, getModel, flangeRef, transparentColor, ...props }: RobotProps): import("react/jsx-runtime").JSX.Element | null;
22
+ export declare function Robot({ connectedMotionGroup, getModel, flangeRef, transparentColor, postModelRender, ...props }: RobotProps): import("react/jsx-runtime").JSX.Element | null;
22
23
  //# sourceMappingURL=Robot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Robot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/Robot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlC,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAA;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,EACpB,oBAAoB,EACpB,QAA0B,EAC1B,SAAS,EACT,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,UAAU,kDAkBZ"}
1
+ {"version":3,"file":"Robot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/Robot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlC,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAA;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,EACpB,oBAAoB,EACpB,QAA0B,EAC1B,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,UAAU,kDAmBZ"}
@@ -0,0 +1,21 @@
1
+ import { Manufacturer } from "@wandelbots/nova-api/v1";
2
+ /**
3
+ * Default home configs for different robot manufacturers.
4
+ * These joint configurations represent safe home configs for each manufacturer's robots.
5
+ * All angles are in radians.
6
+ */
7
+ export declare const MANUFACTURER_HOME_CONFIGS: Record<Manufacturer, number[]>;
8
+ /**
9
+ * Extracts manufacturer from modelFromController string.
10
+ * @param modelFromController - String in format "Manufacturer_ModelName"
11
+ * @returns Manufacturer enum value or null if not recognized
12
+ */
13
+ export declare function extractManufacturer(modelFromController: string): Manufacturer | null;
14
+ /**
15
+ * Gets the default home config for a robot based on its model identifier.
16
+ * @param modelFromController - String in format "Manufacturer_ModelName"
17
+ * @param defaultJointConfig - Optional custom default configuration to use if manufacturer not found
18
+ * @returns Array of joint positions in radians, or null if no configuration available
19
+ */
20
+ export declare function getDefaultHomeConfig(modelFromController: string, defaultJointConfig?: number[]): number[] | null;
21
+ //# sourceMappingURL=manufacturerHomePositions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manufacturerHomePositions.d.ts","sourceRoot":"","sources":["../../../src/components/robots/manufacturerHomePositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAsBpE,CAAA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,MAAM,GAC1B,YAAY,GAAG,IAAI,CAkBrB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,MAAM,EAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,MAAM,EAAE,GAAG,IAAI,CAQjB"}
@@ -0,0 +1,3 @@
1
+ import { type SvgIconProps } from "@mui/material";
2
+ export declare const DropdownArrowIcon: (props: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=DropdownArrowIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownArrowIcon.d.ts","sourceRoot":"","sources":["../../src/icons/DropdownArrowIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAE1D,eAAO,MAAM,iBAAiB,GAAI,OAAO,YAAY,4CAUpD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { default as ArrowForwardFilledIcon } from "./arrowForwardFilled.svg";
2
+ export { default as ChevronDownIcon } from "./chevronDown.svg";
2
3
  export { default as ExpandFilledIcon } from "./expandFilled.svg";
3
4
  export { default as HomeIcon } from "./home.svg";
4
5
  export { default as InfoOutlinedIcon } from "./infoOutlined.svg";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA"}