Preview: http://dashboards.webkom.co/react/airframe
This commit is contained in:
Tomasz Owczarczyk
2019-08-15 00:54:44 +02:00
parent f975443095
commit 37092d1d6c
626 changed files with 56691 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { DropdownMenu } from 'reactstrap';
export const ExtendedDropdown = ({ className, ...otherProps }) => {
const classes = classNames(
className,
'extended-dropdown'
);
return (
<DropdownMenu className={ classes } { ...otherProps } />
);
}
ExtendedDropdown.propTypes = {
className: PropTypes.string,
};

View File

@@ -0,0 +1,23 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { DropdownContext } from 'reactstrap/es/DropdownContext';
const ExtendedDropdownLink = (props) => {
const { children, ...otherProps } = props;
return (
<DropdownContext.Consumer>
{
({ toggle }) => (
<Link { ...otherProps } onClick={ () => { toggle(); } }>
{ children }
</Link>
)
}
</DropdownContext.Consumer>
);
};
ExtendedDropdownLink.propTypes = { ...Link.propTypes };
ExtendedDropdownLink.defaultProps = { ...Link.defaultProps };
export { ExtendedDropdownLink };

View File

@@ -0,0 +1,30 @@
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
const ExtendedDropdownSection = (props) => {
const { children, list, className, tag, ...otherProps } = props;
const sectionClass = classNames(
"extended-dropdown__section", className, {
"extended-dropdown__section--list": list
}
);
const Tag = tag;
return (
<Tag className={ sectionClass } { ...otherProps }>
{ children }
</Tag>
);
};
ExtendedDropdownSection.propTypes = {
children: PropTypes.node,
list: PropTypes.bool,
className: PropTypes.string,
tag: PropTypes.oneOfType([PropTypes.string, PropTypes.func])
};
ExtendedDropdownSection.defaultProps = {
tag: "div"
};
export { ExtendedDropdownSection };

View File

@@ -0,0 +1,8 @@
import { ExtendedDropdown } from './ExtendedDropdown';
import { ExtendedDropdownSection } from './ExtendedDropdownSection';
import { ExtendedDropdownLink } from './ExtendedDropdownLink';
ExtendedDropdown.Section = ExtendedDropdownSection;
ExtendedDropdown.Link = ExtendedDropdownLink;
export default ExtendedDropdown;