Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"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;