PromucFlow_constructor/app/client/src/components/designSystems/appsmith/TabbedView.tsx

47 lines
948 B
TypeScript
Raw Normal View History

2019-10-21 15:12:45 +00:00
import React from "react";
import { Tab, Tabs } from "@blueprintjs/core";
2019-10-21 15:12:45 +00:00
import styled from "styled-components";
const TabsWrapper = styled.div`
padding: 0 5px;
.bp3-tab-indicator {
background-color: ${props => props.theme.colors.primary};
}
.bp3-tab {
&[aria-selected="true"] {
color: ${props => props.theme.colors.primary};
}
:hover {
color: ${props => props.theme.colors.primary};
}
:focus {
outline: none;
2019-10-21 15:12:45 +00:00
}
}
`;
type TabbedViewComponentType = {
tabs: Array<{
key: string;
title: string;
panelComponent: JSX.Element;
2019-10-21 15:12:45 +00:00
}>;
};
export const BaseTabbedView = (props: TabbedViewComponentType) => {
return (
<TabsWrapper>
<Tabs>
2019-10-21 15:12:45 +00:00
{props.tabs.map(tab => (
<Tab
key={tab.key}
id={tab.key}
title={tab.title}
panel={tab.panelComponent}
/>
2019-10-21 15:12:45 +00:00
))}
</Tabs>
2019-10-21 15:12:45 +00:00
</TabsWrapper>
);
};