/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import React from 'react';
import {colors} from './colors';
import FlexRow from './FlexRow';
import FlexBox from './FlexBox';
import styled from '@emotion/styled';
import {useIsSandy} from '../../sandy-chrome/SandyContext';
import {theme, Layout} from 'flipper-plugin';
/**
* A toolbar.
*/
const ToolbarContainer = styled(FlexRow)<{
position?: 'bottom' | 'top';
compact?: boolean;
}>((props) => ({
userSelect: 'none',
backgroundColor: colors.light02,
borderBottom:
props.position === 'bottom'
? 'none'
: `1px solid ${colors.sectionHeaderBorder}`,
borderTop:
props.position === 'bottom'
? `1px solid ${colors.sectionHeaderBorder}`
: 'none',
flexShrink: 0,
height: props.compact ? 28 : 42,
lineHeight: '32px',
alignItems: 'center',
padding: 6,
width: '100%',
}));
ToolbarContainer.displayName = 'ToolbarContainer';
const SandyToolbarContainer = styled(Layout.Horizontal)({
flexWrap: 'wrap',
padding: theme.space.small,
boxShadow: `inset 0px -1px 0px ${theme.dividerColor}`,
});
export const Spacer = styled(FlexBox)({
flexGrow: 1,
});
Spacer.displayName = 'Spacer';
export default function Toolbar({
children,
style,
...rest
}: {
children?: React.ReactNode;
position?: 'bottom' | 'top';
compact?: boolean;
style?: React.CSSProperties;
}) {
const isSandy = useIsSandy();
return isSandy ? (
{children}
) : (
{children}
);
}