zeplin-extension-style-kit
Version:
Models and utilities to generate CSS-like style code in Zeplin extensions.
81 lines (62 loc) • 2.94 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _scalar = _interopRequireDefault(require("./scalar"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var remPrecisionAddition = 2;
var Length = /*#__PURE__*/function () {
function Length(value) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$precision = _ref.precision,
precision = _ref$precision === void 0 ? 1 : _ref$precision,
_ref$useDensityDiviso = _ref.useDensityDivisor,
useDensityDivisor = _ref$useDensityDiviso === void 0 ? true : _ref$useDensityDiviso,
_ref$useRemUnit = _ref.useRemUnit,
useRemUnit = _ref$useRemUnit === void 0 ? false : _ref$useRemUnit;
_classCallCheck(this, Length);
this.value = value;
this.precision = precision;
this.useDensityDivisor = useDensityDivisor;
this.useRemUnit = function (remPreferences) {
if (!remPreferences || !remPreferences.rootFontSize) {
return false;
}
return useRemUnit instanceof Function ? useRemUnit(remPreferences) : useRemUnit;
};
}
_createClass(Length, [{
key: "valueOf",
value: function valueOf() {
var value = this.value,
unit = this.unit;
return "length::v:".concat(value, ":u:").concat(unit);
}
}, {
key: "equals",
value: function equals(other) {
return this.value === other.value;
}
}, {
key: "toStyleValue",
value: function toStyleValue(_ref2) {
var densityDivisor = _ref2.densityDivisor,
remPreferences = _ref2.remPreferences;
if (this.value === 0) {
return "0";
}
var densityAwareValue = this.useDensityDivisor ? this.value / densityDivisor : this.value;
if (this.useRemUnit(remPreferences)) {
return "".concat(new _scalar.default(densityAwareValue / remPreferences.rootFontSize, this.precision + remPrecisionAddition).toStyleValue(), "rem");
}
return "".concat(new _scalar.default(densityAwareValue, this.precision).toStyleValue(), "px");
}
}]);
return Length;
}();
var _default = Length;
exports.default = _default;
;