UNPKG

qilin-components

Version:

Components used by Qilin editor and Qilin plugins

93 lines (71 loc) 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ListText = ListText; exports.ListSeparator = exports.ListItem = exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styledComponents = _interopRequireDefault(require("styled-components")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } const List = _styledComponents.default.nav` position: relative; margin: 0; padding: 0; list-style: none; `; const ListItem = (0, _styledComponents.default)((_ref) => { let { component = _react.default.createElement("li", null) } = _ref, props = _objectWithoutProperties(_ref, ["component"]); return _react.default.cloneElement(component, props); })` position: relative; display: flex; align-items: center; vertical-align: middle; justify-content: flex-start; text-align: left; text-decoration: none; color: ${props => props.theme.foreground}; padding: 0.75rem 1rem; margin: 0; width: 100%; min-height: 55px; transition: background-color 150ms ease; &[href]:hover { background-color: ${props => props.theme.border}; } `; exports.ListItem = ListItem; const ListSeparator = _styledComponents.default.hr` border-width: 0; height: 1px; width: 100%; background-color: ${props => props.theme.border}; `; exports.ListSeparator = ListSeparator; const ListTextContainer = _styledComponents.default.div` flex: 1 1 auto; padding: 0 1rem; `; const ListPrimary = _styledComponents.default.p` margin: 0; padding: 0; `; const ListSecondary = (0, _styledComponents.default)(ListPrimary)` opacity: 0.75; font-size: 0.85rem; `; function ListText(props) { return _react.default.createElement(ListTextContainer, null, props.primary ? _react.default.createElement(ListPrimary, null, props.primary) : null, props.secondary ? _react.default.createElement(ListSecondary, null, props.secondary) : null); } ListText.propTypes = { primary: _propTypes.default.node, secondary: _propTypes.default.node }; var _default = List; exports.default = _default;