function ModeGroupButtons()

in modules/editor/src/toolbox.tsx [105:146]


function ModeGroupButtons({ modeGroup, mode, onSetMode }: any) {
  const [expanded, setExpanded] = React.useState(false);

  const { modes } = modeGroup;

  let subTools = null;

  if (expanded) {
    subTools = (
      <SubTools>
        {modes.map((buttonConfig, i) => (
          <ModeButton
            key={i}
            buttonConfig={buttonConfig}
            mode={mode}
            onClick={() => {
              onSetMode(() => buttonConfig.mode);
              setExpanded(false);
            }}
          />
        ))}
      </SubTools>
    );
  }

  // Get the button config if it is active otherwise, choose the first
  const buttonConfig = modes.find((m) => m.mode === mode) || modes[0];

  return (
    <SubToolsContainer>
      {subTools}
      <ModeButton
        buttonConfig={buttonConfig}
        mode={mode}
        onClick={() => {
          onSetMode(() => buttonConfig.mode);
          setExpanded(true);
        }}
      />
    </SubToolsContainer>
  );
}