Repository URL to install this package:
|
Version:
1.2.13 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _styledTools = require("styled-tools");
var _components = require("components");
var _jsxFileName = "_forks/arc/src/molecules/Feature/index.js";
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(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]; } 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; }
const Wrapper = _styledComponents.default.div`
position: relative;
display: flex;
padding: 1rem;
box-sizing: border-box;
opacity: ${(0, _styledTools.ifProp)('soon', 0.4, 1)};
@media screen and (max-width: 640px) {
padding: 0.5rem;
}
`;
const StyledIcon = (0, _styledComponents.default)(_components.Icon)`
flex: none;
@media screen and (max-width: 640px) {
width: 32px;
}
`;
const Text = _styledComponents.default.div`
margin-left: 1rem;
overflow: auto;
> :first-child {
margin: 0;
}
`;
const StyledBadge = (0, _styledComponents.default)(_components.Badge)`
position: absolute;
top: 1rem;
right: 1rem;
@media screen and (max-width: 640px) {
top: 0.5rem;
right: 0.5rem;
}
`;
const Feature = (_ref) => {
let icon = _ref.icon,
title = _ref.title,
link = _ref.link,
code = _ref.code,
children = _ref.children,
props = _objectWithoutProperties(_ref, ["icon", "title", "link", "code", "children"]);
return _react.default.createElement(Wrapper, _extends({}, props, {
__source: {
fileName: _jsxFileName,
lineNumber: 48
},
__self: void 0
}), icon && _react.default.createElement(StyledIcon, {
icon: icon,
width: 64,
__source: {
fileName: _jsxFileName,
lineNumber: 49
},
__self: void 0
}), _react.default.createElement(Text, {
__source: {
fileName: _jsxFileName,
lineNumber: 50
},
__self: void 0
}, _react.default.createElement(_components.Heading, {
level: 2,
__source: {
fileName: _jsxFileName,
lineNumber: 51
},
__self: void 0
}, link ? _react.default.createElement(_components.Link, {
href: link,
__source: {
fileName: _jsxFileName,
lineNumber: 52
},
__self: void 0
}, title) : title), _react.default.createElement(_components.Paragraph, {
__source: {
fileName: _jsxFileName,
lineNumber: 54
},
__self: void 0
}, children), code && _react.default.createElement(_components.PreformattedText, {
block: true,
__source: {
fileName: _jsxFileName,
lineNumber: 55
},
__self: void 0
}, code)), props.soon && _react.default.createElement(StyledBadge, {
palette: "grayscale",
__source: {
fileName: _jsxFileName,
lineNumber: 57
},
__self: void 0
}, "soon"));
};
Feature.propTypes = {
title: _propTypes.default.string.isRequired,
icon: _propTypes.default.string,
link: _propTypes.default.string,
soon: _propTypes.default.bool,
children: _propTypes.default.any,
code: _propTypes.default.node
};
var _default = Feature;
exports.default = _default;