diff --git a/src/components/overflow-menu/overflow-icon.svg b/src/components/overflow-menu/overflow-icon.svg new file mode 100644 index 000000000..ffd39c400 --- /dev/null +++ b/src/components/overflow-menu/overflow-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/components/overflow-menu/overflow-menu.jsx b/src/components/overflow-menu/overflow-menu.jsx new file mode 100644 index 000000000..af815ca1e --- /dev/null +++ b/src/components/overflow-menu/overflow-menu.jsx @@ -0,0 +1,43 @@ +/* eslint-disable react/jsx-no-bind */ +import React, {useState} from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; + +import Dropdown from '../dropdown/dropdown.jsx'; +import overflowIcon from './overflow-icon.svg'; + +import './overflow-menu.scss'; + +const OverflowMenu = ({children, dropdownAs, className}) => { + const [open, setOpen] = useState(false); + return ( +
+ + {open && setOpen(false)} + > + {children} + } +
+ ); +}; + +OverflowMenu.propTypes = { + children: PropTypes.node, + dropdownAs: PropTypes.string, + className: PropTypes.string +}; + +OverflowMenu.defaultProps = { + dropdownAs: 'ul' +}; + +export default OverflowMenu; diff --git a/src/components/overflow-menu/overflow-menu.scss b/src/components/overflow-menu/overflow-menu.scss new file mode 100644 index 000000000..124c96520 --- /dev/null +++ b/src/components/overflow-menu/overflow-menu.scss @@ -0,0 +1,50 @@ + +.overflow-menu-container { + display: flex; + position: relative; + + .overflow-menu-trigger { + background: transparent; + border: none; + display: flex; + align-items: center; + } + + .overflow-menu-dropdown { + border: 1px solid rgba(0, 0, 0, 0.15); + box-sizing: border-box; + box-shadow: 0px 2px 8px rgba(87, 94, 117, 0.5); + border-radius: 8px; + padding: 0; + margin: 30px 0 0 0; + right: unset; /* default dropdown aligns right edges, but we want left edges */ + left: 0; + z-index: 1; + + /* Include default styling for
  • +
  • +
  • + +
  • + +

    Nav Bubbles

    diff --git a/src/views/components/components.scss b/src/views/components/components.scss index 1c2ac9e02..b4a272f95 100644 --- a/src/views/components/components.scss +++ b/src/views/components/components.scss @@ -18,6 +18,17 @@ width: 200px; } + .example-tile { + width: 200px; + height: 50px; + border: 1px solid $ui-border; + border-radius: 8px; + padding: 10px; + display: flex; + justify-content: flex-end; + align-items: center + } + .colors { span { display: inline-block; diff --git a/src/views/components/example-icon.svg b/src/views/components/example-icon.svg new file mode 100644 index 000000000..3edd347dd --- /dev/null +++ b/src/views/components/example-icon.svg @@ -0,0 +1,18 @@ + + + + Sound/General/Delete + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file