@wandelbots/wandelbots-js-react-components 2.34.0 → 2.34.1-pr.feature-robot-precondition-list.372.c1de8ff
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/AppHeader.d.ts +34 -0
- package/dist/components/AppHeader.d.ts.map +1 -0
- package/dist/components/CycleTimer.d.ts.map +1 -1
- package/dist/components/DataGrid.d.ts +66 -0
- package/dist/components/DataGrid.d.ts.map +1 -0
- package/dist/components/LogPanel.d.ts +38 -0
- package/dist/components/LogPanel.d.ts.map +1 -0
- package/dist/components/LogStore.d.ts +12 -0
- package/dist/components/LogStore.d.ts.map +1 -0
- package/dist/components/LogViewer.d.ts +46 -0
- package/dist/components/LogViewer.d.ts.map +1 -0
- package/dist/components/ProgramControl.d.ts +8 -2
- package/dist/components/ProgramControl.d.ts.map +1 -1
- package/dist/components/ProgramStateIndicator.d.ts +1 -1
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
- package/dist/components/RobotCard.d.ts +100 -0
- package/dist/components/RobotCard.d.ts.map +1 -0
- package/dist/components/RobotListItem.d.ts +34 -0
- package/dist/components/RobotListItem.d.ts.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts +31 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
- package/dist/components/TabBar.d.ts +30 -0
- package/dist/components/TabBar.d.ts.map +1 -0
- package/dist/components/robots/Robot.d.ts +3 -2
- package/dist/components/robots/Robot.d.ts.map +1 -1
- package/dist/components/robots/manufacturerHomePositions.d.ts +21 -0
- package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
- package/dist/icons/DropdownArrowIcon.d.ts +3 -0
- package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/index.cjs +49 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8772 -7044
- package/dist/index.js.map +1 -1
- package/dist/themes/createDarkTheme.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/components/AppHeader.md +84 -0
- package/src/components/AppHeader.tsx +199 -0
- package/src/components/CycleTimer.tsx +43 -64
- package/src/components/DataGrid.tsx +659 -0
- package/src/components/LogPanel.tsx +69 -0
- package/src/components/LogStore.ts +44 -0
- package/src/components/LogViewer.tsx +370 -0
- package/src/components/ProgramControl.tsx +27 -12
- package/src/components/ProgramStateIndicator.tsx +25 -8
- package/src/components/RobotCard.tsx +559 -0
- package/src/components/RobotListItem.tsx +150 -0
- package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
- package/src/components/RobotSetupReadinessIndicator.tsx +124 -0
- package/src/components/TabBar.tsx +144 -0
- package/src/components/robots/Robot.tsx +5 -2
- package/src/components/robots/manufacturerHomePositions.ts +76 -0
- package/src/i18n/locales/de/translations.json +7 -1
- package/src/i18n/locales/en/translations.json +7 -1
- package/src/icons/DropdownArrowIcon.tsx +13 -0
- package/src/icons/chevronDown.svg +3 -0
- package/src/icons/index.ts +1 -0
- package/src/index.ts +14 -0
- package/src/themes/createDarkTheme.ts +75 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type SxProps } from "@mui/material";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
export type AppItem = {
|
|
4
|
+
/** Unique identifier for the app */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Display name of the app */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Icon component to display */
|
|
9
|
+
icon: ReactNode;
|
|
10
|
+
/** URL or callback to navigate to the app */
|
|
11
|
+
href?: string;
|
|
12
|
+
/** Click handler for the app */
|
|
13
|
+
onClick?: () => void;
|
|
14
|
+
};
|
|
15
|
+
export type AppHeaderProps = {
|
|
16
|
+
/** Current app icon */
|
|
17
|
+
appIcon: ReactNode;
|
|
18
|
+
/** Current app name */
|
|
19
|
+
appName: string;
|
|
20
|
+
/** List of other available apps */
|
|
21
|
+
apps?: AppItem[];
|
|
22
|
+
/** Callback when an app is selected */
|
|
23
|
+
onAppSelect?: (app: AppItem) => void;
|
|
24
|
+
/** Additional styling */
|
|
25
|
+
sx?: SxProps;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A top navigation header component that displays the current app and provides
|
|
29
|
+
* a dropdown menu to navigate to other apps.
|
|
30
|
+
*/
|
|
31
|
+
export declare const AppHeader: ((props: AppHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=AppHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../src/components/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,OAAO,EAGb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAmB,KAAK,SAAS,EAAY,MAAM,OAAO,CAAA;AAIjE,MAAM,MAAM,OAAO,GAAG;IACpB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,uBAAuB;IACvB,OAAO,EAAE,SAAS,CAAA;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,WACH,cAAc;;CAsJhC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CycleTimer.d.ts","sourceRoot":"","sources":["../../src/components/CycleTimer.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE;QAC1B,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;QACxE,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;KACxB,KAAK,IAAI,CAAA;IACV,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,UAAU,8EAShB,eAAe;;
|
|
1
|
+
{"version":3,"file":"CycleTimer.d.ts","sourceRoot":"","sources":["../../src/components/CycleTimer.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE;QAC1B,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;QACxE,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;KACxB,KAAK,IAAI,CAAA;IACV,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,UAAU,8EAShB,eAAe;;CAsXrB,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Box } from "@mui/material";
|
|
2
|
+
import { type DataGridProps, type GridColDef, type GridRowParams } from "@mui/x-data-grid";
|
|
3
|
+
export interface WandelbotsDataGridProps<T = Record<string, unknown>> {
|
|
4
|
+
/**
|
|
5
|
+
* Array of data items to display in the grid
|
|
6
|
+
*/
|
|
7
|
+
data: T[];
|
|
8
|
+
/**
|
|
9
|
+
* Column definitions for the DataGrid
|
|
10
|
+
*/
|
|
11
|
+
columns: GridColDef[];
|
|
12
|
+
/**
|
|
13
|
+
* Function to transform data items into DataGrid rows
|
|
14
|
+
* Should return an object with an 'id' field and other fields matching column definitions
|
|
15
|
+
*/
|
|
16
|
+
getRowData: (item: T) => Record<string, unknown> & {
|
|
17
|
+
id: string | number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Callback when a row is clicked
|
|
21
|
+
*/
|
|
22
|
+
onRowClick?: (item: T, params: GridRowParams) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Currently selected item (for highlighting)
|
|
25
|
+
*/
|
|
26
|
+
selectedItem?: T | null;
|
|
27
|
+
/**
|
|
28
|
+
* Function to get the ID of an item (used for selection highlighting)
|
|
29
|
+
*/
|
|
30
|
+
getItemId?: (item: T) => string | number;
|
|
31
|
+
/**
|
|
32
|
+
* Title displayed in the toolbar
|
|
33
|
+
*/
|
|
34
|
+
title?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Show item count in title
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
showCount?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Placeholder text for the search input
|
|
42
|
+
* @default "Search programs"
|
|
43
|
+
*/
|
|
44
|
+
searchPlaceholder?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Additional DataGrid props to pass through
|
|
47
|
+
*/
|
|
48
|
+
dataGridProps?: Partial<DataGridProps>;
|
|
49
|
+
/**
|
|
50
|
+
* Custom toolbar component to replace the default one
|
|
51
|
+
*/
|
|
52
|
+
CustomToolbar?: React.ComponentType;
|
|
53
|
+
/**
|
|
54
|
+
* Select the first item by default
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
selectFirstByDefault?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Custom sx styles for the root container
|
|
60
|
+
*/
|
|
61
|
+
sx?: React.ComponentProps<typeof Box>["sx"];
|
|
62
|
+
}
|
|
63
|
+
export declare const WandelbotsDataGrid: (<T>({ data, columns, getRowData, onRowClick, selectedItem, getItemId, title, showCount, searchPlaceholder, dataGridProps, CustomToolbar, selectFirstByDefault, sx, }: WandelbotsDataGridProps<T>) => import("react/jsx-runtime").JSX.Element) & {
|
|
64
|
+
displayName: string;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=DataGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAiC,MAAM,eAAe,CAAA;AAClE,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,UAAU,EACf,KAAK,aAAa,EAQnB,MAAM,kBAAkB,CAAA;AAKzB,MAAM,WAAW,uBAAuB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAA;IAET;;OAEG;IACH,OAAO,EAAE,UAAU,EAAE,CAAA;IAErB;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAE1E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;IAErD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAA;IAExC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAEnC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;OAEG;IACH,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;CAC5C;AAED,eAAO,MAAM,kBAAkB,IAE1B,CAAC,oKAcC,uBAAuB,CAAC,CAAC,CAAC;;CAmiBhC,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { SxProps } from "@mui/material";
|
|
2
|
+
import { LogStore } from "./LogStore";
|
|
3
|
+
export type LogPanelProps = {
|
|
4
|
+
/** Log store instance to use, or create one automatically if not provided */
|
|
5
|
+
store?: LogStore;
|
|
6
|
+
/** Height of the component */
|
|
7
|
+
height?: string | number;
|
|
8
|
+
/** Additional styles */
|
|
9
|
+
sx?: SxProps;
|
|
10
|
+
/** Ref to the log store for external access */
|
|
11
|
+
onStoreReady?: (store: LogStore) => void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A complete log panel component with built-in state management.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* function MyComponent() {
|
|
19
|
+
* const [logStore, setLogStore] = useState<LogStore>()
|
|
20
|
+
*
|
|
21
|
+
* return (
|
|
22
|
+
* <LogPanel
|
|
23
|
+
* height={400}
|
|
24
|
+
* onStoreReady={setLogStore}
|
|
25
|
+
* />
|
|
26
|
+
* )
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* // Then use the store to add messages
|
|
30
|
+
* logStore?.addInfo("Operation completed successfully")
|
|
31
|
+
* logStore?.addError("Something went wrong")
|
|
32
|
+
* logStore?.addWarning("Warning message")
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const LogPanel: ((props: LogPanelProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
36
|
+
displayName: string;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=LogPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../src/components/LogPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,MAAM,MAAM,aAAa,GAAG;IAC1B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,wBAAwB;IACxB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,+CAA+C;IAC/C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAA;CACzC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,WACF,aAAa;;CA2B/B,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LogLevel, LogMessage } from "./LogViewer";
|
|
2
|
+
export declare class LogStore {
|
|
3
|
+
messages: LogMessage[];
|
|
4
|
+
constructor();
|
|
5
|
+
addMessage: (message: string, level?: LogLevel) => void;
|
|
6
|
+
clearMessages: () => void;
|
|
7
|
+
addInfo: (message: string) => void;
|
|
8
|
+
addWarning: (message: string) => void;
|
|
9
|
+
addError: (message: string) => void;
|
|
10
|
+
addDebug: (message: string) => void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=LogStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogStore.d.ts","sourceRoot":"","sources":["../../src/components/LogStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEvD,qBAAa,QAAQ;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAK;;IAU3B,UAAU,GAAI,SAAS,MAAM,EAAE,QAAO,QAAiB,UAQtD;IAED,aAAa,aAEZ;IAED,OAAO,GAAI,SAAS,MAAM,UAEzB;IAED,UAAU,GAAI,SAAS,MAAM,UAE5B;IAED,QAAQ,GAAI,SAAS,MAAM,UAE1B;IAED,QAAQ,GAAI,SAAS,MAAM,UAE1B;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SxProps } from "@mui/material";
|
|
2
|
+
export type LogLevel = "info" | "error" | "warning" | "debug";
|
|
3
|
+
export type LogMessage = {
|
|
4
|
+
id: string;
|
|
5
|
+
timestamp: Date;
|
|
6
|
+
message: string;
|
|
7
|
+
level: LogLevel;
|
|
8
|
+
};
|
|
9
|
+
export type LogViewerProps = {
|
|
10
|
+
/** Log messages to display */
|
|
11
|
+
messages: LogMessage[];
|
|
12
|
+
/** Callback when clear button is clicked */
|
|
13
|
+
onClear?: () => void;
|
|
14
|
+
/** Height of the component */
|
|
15
|
+
height?: string | number;
|
|
16
|
+
/** Additional styles */
|
|
17
|
+
sx?: SxProps;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Utility function to create a log message
|
|
21
|
+
*/
|
|
22
|
+
export declare const createLogMessage: (message: string, level: LogLevel, id?: string) => LogMessage;
|
|
23
|
+
/**
|
|
24
|
+
* Utility function to create a debug log message
|
|
25
|
+
*/
|
|
26
|
+
export declare const createDebugMessage: (message: string, id?: string) => LogMessage;
|
|
27
|
+
/**
|
|
28
|
+
* Utility function to create an info log message
|
|
29
|
+
*/
|
|
30
|
+
export declare const createInfoMessage: (message: string, id?: string) => LogMessage;
|
|
31
|
+
/**
|
|
32
|
+
* Utility function to create a warning log message
|
|
33
|
+
*/
|
|
34
|
+
export declare const createWarningMessage: (message: string, id?: string) => LogMessage;
|
|
35
|
+
/**
|
|
36
|
+
* Utility function to create an error log message
|
|
37
|
+
*/
|
|
38
|
+
export declare const createErrorMessage: (message: string, id?: string) => LogMessage;
|
|
39
|
+
/**
|
|
40
|
+
* A log viewer component that displays timestamped log messages with different levels.
|
|
41
|
+
* Features a header with document icon and clear button, and scrollable message area.
|
|
42
|
+
*/
|
|
43
|
+
export declare const LogViewer: ((props: LogViewerProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
44
|
+
displayName: string;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=LogViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogViewer.d.ts","sourceRoot":"","sources":["../../src/components/LogViewer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAa5C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,8BAA8B;IAC9B,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,wBAAwB;IACxB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,OAAO,QAAQ,EACf,KAAK,MAAM,KACV,UAKD,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,KAAK,MAAM,KACV,UAAsD,CAAA;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,KAAK,MAAM,KAAG,UAC1B,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,SAAS,WACH,cAAc;;CA6RhC,CAAA"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare enum ProgramState {
|
|
2
|
+
IDLE = "idle",
|
|
3
|
+
RUNNING = "running",
|
|
4
|
+
PAUSED = "paused",
|
|
5
|
+
STOPPING = "stopping",
|
|
6
|
+
ERROR = "error"
|
|
7
|
+
}
|
|
2
8
|
export interface ProgramControlProps {
|
|
3
9
|
/** The current state of the program control */
|
|
4
10
|
state: ProgramState;
|
|
@@ -31,7 +37,7 @@ export interface ProgramControlProps {
|
|
|
31
37
|
* A control component for program execution with run, pause, and stop functionality.
|
|
32
38
|
*
|
|
33
39
|
* Features:
|
|
34
|
-
* - State machine with idle, running, paused, and
|
|
40
|
+
* - State machine with idle, running, paused, stopping, and error states
|
|
35
41
|
* - Two variants: with_pause (3 buttons) and without_pause (2 buttons)
|
|
36
42
|
* - Optional manual reset functionality
|
|
37
43
|
* - Responsive design with 110px circular buttons
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramControl.d.ts","sourceRoot":"","sources":["../../src/components/ProgramControl.tsx"],"names":[],"mappings":"AAMA,
|
|
1
|
+
{"version":3,"file":"ProgramControl.d.ts","sourceRoot":"","sources":["../../src/components/ProgramControl.tsx"],"names":[],"mappings":"AAMA,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,KAAK,EAAE,YAAY,CAAA;IACnB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,qDAAqD;IACrD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,eAAe,CAAA;IACxC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,0FAWpB,mBAAmB;;CAgKzB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RobotControllerStateOperationModeEnum, RobotControllerStateSafetyStateEnum } from "@wandelbots/nova-js/v1";
|
|
2
|
-
import
|
|
2
|
+
import { ProgramState } from "./ProgramControl";
|
|
3
3
|
export interface ProgramStateIndicatorProps {
|
|
4
4
|
/** The current state of the program */
|
|
5
5
|
programState: ProgramState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramStateIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ProgramStateIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qCAAqC,EACrC,mCAAmC,EACpC,MAAM,wBAAwB,CAAA;AAI/B,OAAO,
|
|
1
|
+
{"version":3,"file":"ProgramStateIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ProgramStateIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qCAAqC,EACrC,mCAAmC,EACpC,MAAM,wBAAwB,CAAA;AAI/B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,YAAY,EAAE,YAAY,CAAA;IAC1B,uDAAuD;IACvD,WAAW,EAAE,mCAAmC,CAAA;IAChD,yDAAyD;IACzD,aAAa,EAAE,qCAAqC,CAAA;IACpD,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,8DAO3B,0BAA0B;;CA8HhC,CAAA"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { ConnectedMotionGroup, RobotControllerStateOperationModeEnum, RobotControllerStateSafetyStateEnum } from "@wandelbots/nova-js/v1";
|
|
2
|
+
import type { Group } from "three";
|
|
3
|
+
import type { ProgramState } from "./ProgramControl";
|
|
4
|
+
export interface RobotCardProps {
|
|
5
|
+
/** Name of the robot displayed at the top */
|
|
6
|
+
robotName: string;
|
|
7
|
+
/** Current program state */
|
|
8
|
+
programState: ProgramState;
|
|
9
|
+
/** Current safety state of the robot controller */
|
|
10
|
+
safetyState: RobotControllerStateSafetyStateEnum;
|
|
11
|
+
/** Current operation mode of the robot controller */
|
|
12
|
+
operationMode: RobotControllerStateOperationModeEnum;
|
|
13
|
+
/** Whether the "Drive to Home" button should be enabled */
|
|
14
|
+
driveToHomeEnabled?: boolean;
|
|
15
|
+
/** Callback fired when "Drive to Home" button is pressed */
|
|
16
|
+
onDriveToHomePress?: () => void;
|
|
17
|
+
/** Callback fired when "Drive to Home" button is released */
|
|
18
|
+
onDriveToHomeRelease?: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* Callback fired when "Drive to Home" button is pressed, with the default home position.
|
|
21
|
+
* If provided, this will be called instead of onDriveToHomePress, providing the recommended
|
|
22
|
+
* home position joint configuration based on the robot manufacturer.
|
|
23
|
+
*/
|
|
24
|
+
onDriveToHomePressWithConfig?: (homePosition: number[]) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Callback fired when "Drive to Home" button is released after using onDriveToHomePressWithConfig.
|
|
27
|
+
* If provided, this will be called instead of onDriveToHomeRelease.
|
|
28
|
+
*/
|
|
29
|
+
onDriveToHomeReleaseWithConfig?: () => void;
|
|
30
|
+
/**
|
|
31
|
+
* Custom default joint configuration to use if manufacturer-based defaults are not available.
|
|
32
|
+
* Joint values should be in radians.
|
|
33
|
+
*/
|
|
34
|
+
defaultJointConfig?: number[];
|
|
35
|
+
/** Connected motion group for the robot */
|
|
36
|
+
connectedMotionGroup: ConnectedMotionGroup;
|
|
37
|
+
/** Custom robot component to render (optional, defaults to Robot) */
|
|
38
|
+
robotComponent?: React.ComponentType<{
|
|
39
|
+
connectedMotionGroup: ConnectedMotionGroup;
|
|
40
|
+
flangeRef?: React.Ref<Group>;
|
|
41
|
+
postModelRender?: () => void;
|
|
42
|
+
transparentColor?: string;
|
|
43
|
+
getModel?: (modelFromController: string) => string;
|
|
44
|
+
}>;
|
|
45
|
+
/** Custom cycle timer component (optional, defaults to CycleTimer) */
|
|
46
|
+
cycleTimerComponent?: React.ComponentType<{
|
|
47
|
+
variant?: "default" | "small";
|
|
48
|
+
compact?: boolean;
|
|
49
|
+
onCycleComplete: (controls: {
|
|
50
|
+
startNewCycle: (maxTimeSeconds: number, elapsedSeconds?: number) => void;
|
|
51
|
+
pause: () => void;
|
|
52
|
+
resume: () => void;
|
|
53
|
+
isPaused: () => boolean;
|
|
54
|
+
}) => void;
|
|
55
|
+
onCycleEnd?: () => void;
|
|
56
|
+
autoStart?: boolean;
|
|
57
|
+
className?: string;
|
|
58
|
+
}>;
|
|
59
|
+
/** Callback to receive cycle timer controls for external timer management */
|
|
60
|
+
onCycleTimerReady?: (controls: {
|
|
61
|
+
startNewCycle: (maxTimeSeconds: number, elapsedSeconds?: number) => void;
|
|
62
|
+
pause: () => void;
|
|
63
|
+
resume: () => void;
|
|
64
|
+
isPaused: () => boolean;
|
|
65
|
+
}) => void;
|
|
66
|
+
/** Callback fired when a cycle completes (reaches zero) */
|
|
67
|
+
onCycleEnd?: () => void;
|
|
68
|
+
/** Whether the cycle timer should auto-start when a new cycle is set */
|
|
69
|
+
cycleTimerAutoStart?: boolean;
|
|
70
|
+
/** Additional CSS class name */
|
|
71
|
+
className?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A responsive card component that displays a 3D robot with states and controls.
|
|
75
|
+
* The card automatically adapts to its container's size and aspect ratio.
|
|
76
|
+
*
|
|
77
|
+
* Features:
|
|
78
|
+
* - Fully responsive Material-UI Card that adapts to container dimensions
|
|
79
|
+
* - Automatic layout switching based on aspect ratio:
|
|
80
|
+
* - Portrait mode: Vertical layout with robot in center
|
|
81
|
+
* - Landscape mode: Horizontal layout with robot on left, content on right (left-aligned)
|
|
82
|
+
* - Responsive 3D robot rendering:
|
|
83
|
+
* - Scales dynamically with container size
|
|
84
|
+
* - Hides at very small sizes to preserve usability
|
|
85
|
+
* - Adaptive margin based on available space
|
|
86
|
+
* - Smart spacing and padding that reduces at smaller sizes
|
|
87
|
+
* - Minimum size constraints for usability while maximizing content density
|
|
88
|
+
* - Robot name displayed in Typography h6 at top-left
|
|
89
|
+
* - Program state indicator below the name
|
|
90
|
+
* - Auto-fitting 3D robot model that scales with container size
|
|
91
|
+
* - Compact cycle time component with small variant
|
|
92
|
+
* - Transparent gray divider line
|
|
93
|
+
* - "Drive to Home" button with press-and-hold functionality
|
|
94
|
+
* - Localization support via react-i18next
|
|
95
|
+
* - Material-UI theming integration
|
|
96
|
+
*/
|
|
97
|
+
export declare const RobotCard: (({ robotName, programState, safetyState, operationMode, driveToHomeEnabled, onDriveToHomePress, onDriveToHomeRelease, connectedMotionGroup, robotComponent: RobotComponent, cycleTimerComponent: CycleTimerComponent, onCycleTimerReady, onCycleEnd, cycleTimerAutoStart, className, }: RobotCardProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
98
|
+
displayName: string;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=RobotCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RobotCard.d.ts","sourceRoot":"","sources":["../../src/components/RobotCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACpC,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAIpD,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,mDAAmD;IACnD,WAAW,EAAE,mCAAmC,CAAA;IAChD,qDAAqD;IACrD,aAAa,EAAE,qCAAqC,CAAA;IACpD,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC/D;;;OAGG;IACH,8BAA8B,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,2CAA2C;IAC3C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qEAAqE;IACrE,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACnC,oBAAoB,EAAE,oBAAoB,CAAA;QAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAA;KACnD,CAAC,CAAA;IACF,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACxC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;QAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,eAAe,EAAE,CAAC,QAAQ,EAAE;YAC1B,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;YACxE,KAAK,EAAE,MAAM,IAAI,CAAA;YACjB,MAAM,EAAE,MAAM,IAAI,CAAA;YAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;SACxB,KAAK,IAAI,CAAA;QACV,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;QACvB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAC,CAAA;IACF,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAC7B,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;QACxE,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;KACxB,KAAK,IAAI,CAAA;IACV,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,2RAiBf,cAAc;;CA4apB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ComponentType } from "react";
|
|
2
|
+
import { RobotSetupReadinessState } from "./RobotSetupReadinessIndicator";
|
|
3
|
+
export interface RobotListItemProps {
|
|
4
|
+
/** The name of the robot */
|
|
5
|
+
robotName: string;
|
|
6
|
+
/** The type/model of the robot (will try to derive from nova if not provided) */
|
|
7
|
+
robotType?: string;
|
|
8
|
+
/** The current setup readiness state of the robot */
|
|
9
|
+
setupState: RobotSetupReadinessState;
|
|
10
|
+
/**
|
|
11
|
+
* Component to render for the precondition indicator.
|
|
12
|
+
* Defaults to RobotSetupReadinessIndicator.
|
|
13
|
+
* Pass null or undefined to hide the indicator.
|
|
14
|
+
*/
|
|
15
|
+
PreconditionComponent?: ComponentType<{
|
|
16
|
+
setupState: RobotSetupReadinessState;
|
|
17
|
+
}> | null;
|
|
18
|
+
/** Additional CSS class name */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A list item component that displays robot information and setup readiness state.
|
|
23
|
+
*
|
|
24
|
+
* Features:
|
|
25
|
+
* - Shows robot name, type, and customizable precondition component
|
|
26
|
+
* - Color-coded icon based on readiness state (robot icon for ready, warning for issues)
|
|
27
|
+
* - Styled with consistent border, background, and spacing
|
|
28
|
+
* - Responsive layout with proper spacing and alignment
|
|
29
|
+
* - Flexible precondition component that can be customized or hidden
|
|
30
|
+
*/
|
|
31
|
+
export declare const RobotListItem: (({ robotName, robotType, setupState, PreconditionComponent, className, }: RobotListItemProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
32
|
+
displayName: string;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=RobotListItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RobotListItem.d.ts","sourceRoot":"","sources":["../../src/components/RobotListItem.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAG1C,OAAO,EAEL,wBAAwB,EACzB,MAAM,gCAAgC,CAAA;AAEvC,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC;QACpC,UAAU,EAAE,wBAAwB,CAAA;KACrC,CAAC,GAAG,IAAI,CAAA;IACT,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,6EAQnB,kBAAkB;;CAqGxB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum representing the robot setup readiness state
|
|
3
|
+
*/
|
|
4
|
+
export declare enum RobotSetupReadinessState {
|
|
5
|
+
/** Preconditions are not fulfilled for robot operation */
|
|
6
|
+
PRECONDITION_NOT_FULFILLED = "PRECONDITION_NOT_FULFILLED",
|
|
7
|
+
/** Robot is disconnected from the system */
|
|
8
|
+
ROBOT_DISCONNECTED = "ROBOT_DISCONNECTED",
|
|
9
|
+
/** Robot is ready for operation */
|
|
10
|
+
READY = "READY"
|
|
11
|
+
}
|
|
12
|
+
export interface RobotSetupReadinessIndicatorProps {
|
|
13
|
+
/** The current setup readiness state of the robot */
|
|
14
|
+
setupState: RobotSetupReadinessState;
|
|
15
|
+
/** Additional CSS class name */
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A state indicator component that displays the current robot setup readiness state.
|
|
20
|
+
*
|
|
21
|
+
* Features:
|
|
22
|
+
* - Shows three states: Precondition not fulfilled, Robot disconnected, Ready
|
|
23
|
+
* - Color-coded based on state (ready: tertiary/main, others: error/main)
|
|
24
|
+
* - Rendered as Material-UI filled chip with paper-elevation-11 background
|
|
25
|
+
* - Includes colored circle indicator (8px width)
|
|
26
|
+
* - Localization support via react-i18next
|
|
27
|
+
*/
|
|
28
|
+
export declare const RobotSetupReadinessIndicator: (({ setupState, className }: RobotSetupReadinessIndicatorProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=RobotSetupReadinessIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RobotSetupReadinessIndicator.d.ts","sourceRoot":"","sources":["../../src/components/RobotSetupReadinessIndicator.tsx"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,0BAA0B,+BAA+B;IACzD,4CAA4C;IAC5C,kBAAkB,uBAAuB;IACzC,mCAAmC;IACnC,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,qDAAqD;IACrD,UAAU,EAAE,wBAAwB,CAAA;IACpC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,+BACF,iCAAiC;;CAwFvE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RobotSetupReadinessIndicator.test.d.ts","sourceRoot":"","sources":["../../src/components/RobotSetupReadinessIndicator.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A styled tab bar component with configurable tabs and content.
|
|
24
|
+
* Features the same styling as the Wandelbots design system with rounded tabs
|
|
25
|
+
* and smooth transitions.
|
|
26
|
+
*/
|
|
27
|
+
export declare const TabBar: ((props: TabBarProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
28
|
+
displayName: string;
|
|
29
|
+
};
|
|
30
|
+
//# 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;CACb;AAwBD;;;;GAIG;AACH,eAAO,MAAM,MAAM,WACA,WAAW;;CAuF7B,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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,
|
|
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 @@
|
|
|
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"}
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -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"}
|