Summary: fixing ts-strict errors

Reviewed By: passy

Differential Revision: D17181149

fbshipit-source-id: 43b12336e6467e0b134087fdabfd21f414741188
This commit is contained in:
Daniel Büchele
2019-09-05 04:40:39 -07:00
committed by Facebook Github Bot
parent 7055deff7e
commit 244df345f4

View File

@@ -139,16 +139,20 @@ export default function Tabs(props: {
const after = props.after || []; const after = props.after || [];
// //
const tabs = {}; const tabs: {
[key: string]: React.ReactNode;
} = {};
// a list of keys // a list of keys
const keys = props.order ? props.order.slice() : []; const keys = props.order ? props.order.slice() : [];
const tabContents = []; const tabContents: React.ReactNode[] = [];
const tabSiblings = []; const tabSiblings: React.ReactNode[] = [];
function add(comps: React.ReactElement | React.ReactElement[]) { function add(comps: React.ReactElement | React.ReactElement[]) {
const compsArray: React.ReactElement<TabProps>[] = [].concat(comps || []); const compsArray: React.ReactElement<TabProps>[] = Array.isArray(comps)
? comps
: [comps];
for (const comp of compsArray) { for (const comp of compsArray) {
if (Array.isArray(comp)) { if (Array.isArray(comp)) {
add(comp); add(comp);
@@ -189,7 +193,7 @@ export default function Tabs(props: {
continue; continue;
} }
let closeButton; let closeButton: HTMLDivElement | undefined;
tabs[key] = ( tabs[key] = (
<TabListItem <TabListItem
@@ -197,13 +201,13 @@ export default function Tabs(props: {
width={width} width={width}
active={isActive} active={isActive}
onMouseDown={ onMouseDown={
!isActive && !isActive && onActive
onActive && ? (event: React.MouseEvent<HTMLDivElement>) => {
((event: React.MouseEvent) => { if (event.target !== closeButton) {
if (event.target !== closeButton) { onActive(key);
onActive(key); }
} }
}) : undefined
}> }>
{comp.props.label} {comp.props.label}
{closable && ( {closable && (
@@ -215,8 +219,9 @@ export default function Tabs(props: {
const newActive = keys[index + 1] || keys[index - 1] || null; const newActive = keys[index + 1] || keys[index - 1] || null;
onActive(newActive); onActive(newActive);
} }
if (onClose) {
onClose(); onClose();
}
}}> }}>
X X
</CloseButton> </CloseButton>
@@ -226,7 +231,9 @@ export default function Tabs(props: {
} }
} }
add(props.children); if (props.children) {
add(props.children);
}
let tabList; let tabList;
if (props.orderable === true) { if (props.orderable === true) {