wix-style-react
Version:
127 lines (99 loc) • 5.98 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _SkeletonCircleSt = require("./SkeletonCircle.st.css");
var _constants = require("./constants");
var _constants2 = require("../SkeletonGroup/constants");
var _Box = _interopRequireDefault(require("../Box"));
var _SkeletonGroup = require("../SkeletonGroup");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
/** SkeletonCircle */
var SkeletonCircle = /*#__PURE__*/function (_React$PureComponent) {
(0, _inherits2["default"])(SkeletonCircle, _React$PureComponent);
var _super = _createSuper(SkeletonCircle);
function SkeletonCircle() {
(0, _classCallCheck2["default"])(this, SkeletonCircle);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(SkeletonCircle, [{
key: "render",
value: function render() {
var _this$props = this.props,
dataHook = _this$props.dataHook,
className = _this$props.className,
diameter = _this$props.diameter,
margin = _this$props.margin,
marginLeft = _this$props.marginLeft,
marginRight = _this$props.marginRight,
marginTop = _this$props.marginTop,
marginBottom = _this$props.marginBottom;
return /*#__PURE__*/_react["default"].createElement(_SkeletonGroup.SkeletonGroupContext.Consumer, null, function (context) {
var skin = context && context.skin || _constants2.DEFAULT_SKIN;
return /*#__PURE__*/_react["default"].createElement("div", {
"data-hook": dataHook,
className: className,
"data-diameter": diameter,
"data-skin": skin
}, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
width: diameter,
height: diameter,
margin: margin,
marginLeft: marginLeft,
marginRight: marginRight,
marginTop: marginTop,
marginBottom: marginBottom,
backgroundColor: _constants2.SKIN_COLOR[skin],
className: (0, _SkeletonCircleSt.st)(_SkeletonCircleSt.classes.root, {
skin: skin
})
}));
});
}
}]);
return SkeletonCircle;
}(_react["default"].PureComponent);
SkeletonCircle.displayName = 'SkeletonCircle';
SkeletonCircle.propTypes = {
/** Applied as data-hook HTML attribute that can be used in the tests */
dataHook: _propTypes["default"].string,
/** A css class to be applied to the component's root element */
className: _propTypes["default"].string,
/** Sets the diameter of the box (pixels) */
diameter: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
/** Sets margin on all sides.
* Accepts a numeric value (multiplied by spacing unit), predefined spacing value (tiny, small, etc.)
* a spacing token (SP1, SP2, etc.) or a string of space-separated values ("3px 3px") */
margin: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
/** Sets margin on the top.
* Accepts a numeric value (multiplied by spacing unit), predefined spacing value (tiny, small, etc.)
* a spacing token (SP1, SP2, etc.) or a string of space-separated values ("3px 3px") */
marginTop: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
/** Sets margin on the right.
* Accepts a numeric value (multiplied by spacing unit), predefined spacing value (tiny, small, etc.)
* a spacing token (SP1, SP2, etc.) or a string of space-separated values ("3px 3px") */
marginRight: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
/** Sets margin on the bottom.
* Accepts a numeric value (multiplied by spacing unit), predefined spacing value (tiny, small, etc.)
* a spacing token (SP1, SP2, etc.) or a string of space-separated values ("3px 3px") */
marginBottom: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
/** Sets margin on the left.
* Accepts a numeric value (multiplied by spacing unit), predefined spacing value (tiny, small, etc.)
* a spacing token (SP1, SP2, etc.) or a string of space-separated values ("3px 3px") */
marginLeft: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
};
SkeletonCircle.defaultProps = {
diameter: _constants.DEFAULT_DIAMETER
};
var _default = SkeletonCircle;
exports["default"] = _default;