import {
Button,
ButtonGroup,
Icon,
NumericInput,
Tag,
} from "@blueprintjs/core";
const styles = {
container: {
display: "flex",
alignItems: "center",
paddingRight: 5,
marginRight: -15,
},
inputWrapper: {
/**
* As of Dec'21, NumericInput doesn't have `small` prop yet,
* so we instead use `transform` to hack up a smaller input.
*/
transform: "scale(0.8)",
},
input: {
width: 125,
},
};
/** Input field for changing execution interval */
const IntervalInput = (props: {
disabled: boolean;
onChange: (v: number) => void;
}) => {
return (
props.onChange(v)}
rightElement={ms}
allowNumericCharactersOnly
/>
);
};
/** Button for starting code execution */
const RunButton = ({ onClick }: { onClick: () => void }) => (
}
>
Run code
);
/** Button group for debugging controls */
const DebugControls = (props: {
paused: boolean;
onPause: () => void;
onResume: () => void;
onStep: () => void;
onStop: () => void;
}) => {
return (
}
/>
}
/>
}
/>
);
};
type Props = {
state: "off" | "running" | "paused";
onRun: () => void;
onPause: () => void;
onResume: () => void;
onStep: () => void;
onStop: () => void;
onChangeInterval: (value: number) => void;
};
export const ExecutionControls = (props: Props) => {
return (
{props.state === "off" ? (
) : (
)}
);
};