add omitProps helper

This commit is contained in:
Keith Grant 2019-08-27 08:41:30 -07:00
parent 8a31be6ffe
commit 3a9a884bbc
2 changed files with 14 additions and 2 deletions

View File

@ -3,6 +3,7 @@ import { bool, string } from 'prop-types';
import styled from 'styled-components';
import { Button } from '@patternfly/react-core';
import { AngleRightIcon } from '@patternfly/react-icons';
import omitProps from '@util/omitProps';
import ExpandingContainer from './ExpandingContainer';
const Toggle = styled.div`
@ -17,12 +18,12 @@ const Toggle = styled.div`
}
`;
const Arrow = styled(AngleRightIcon)`
const Arrow = styled(omitProps(AngleRightIcon, 'isExpanded'))`
margin-right: -5px;
margin-left: 5px;
transition: transform 0.1s ease-out;
transform-origin: 50% 50%;
${(props) => props.isExpanded && `transform: rotate(90deg);`}
${props => props.isExpanded && `transform: rotate(90deg);`}
`;
function CollapsibleSection({ label, startExpanded, children }) {

View File

@ -0,0 +1,11 @@
import React from 'react';
export default function omitProps(Component, ...omit) {
return function Omit(props) {
const clean = { ...props };
omit.forEach(key => {
delete clean[key];
})
return <Component {...clean} />;
}
}