You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
10 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Transform", {
enumerable: true,
get: function() {
return Transform;
}
});
var _assert_this_initialized = require("@swc/helpers/_/_assert_this_initialized");
var _class_call_check = require("@swc/helpers/_/_class_call_check");
var _define_property = require("@swc/helpers/_/_define_property");
var _inherits = require("@swc/helpers/_/_inherits");
var _object_spread = require("@swc/helpers/_/_object_spread");
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
var _create_super = require("@swc/helpers/_/_create_super");
var _lodash = require("lodash");
var _base = require("./base");
var _cssvalue = require("../utils/css-value");
var _dimension = require("../utils/dimension");
var _generateguard = require("../utils/generate-guard");
var Transform = /*#__PURE__*/ function(Base) {
"use strict";
_inherits._(Transform, Base);
var _super = _create_super._(Transform);
function Transform() {
_class_call_check._(this, Transform);
var _this;
_this = _super.apply(this, arguments);
_define_property._(_assert_this_initialized._(_this), "isProcessableValue", (0, _generateguard.generateGuard)(_lodash.isString, _lodash.isUndefined));
_define_property._(_assert_this_initialized._(_this), "isProcessableValues", (0, _generateguard.generateGuard)([
_lodash.isPlainObject,
function(maybe) {
return (0, _lodash.every)((0, _lodash.keys)(maybe), _lodash.isString);
},
function(maybe) {
return (0, _lodash.every)((0, _lodash.values)(maybe), _this.isProcessableValue);
}
]));
_define_property._(_assert_this_initialized._(_this), "normaliseValues", function(values) {
return _this.isProcessableValues(values) ? (0, _lodash.chain)(values).mapValues(function(angle) {
return (0, _cssvalue.normaliseAngleValue)(angle);
}).pickBy(function(angle, modifier) {
return (0, _lodash.isString)(modifier) && modifier !== "" && (0, _lodash.isString)(angle);
}).value() : {};
});
_define_property._(_assert_this_initialized._(_this), "utilities", function() {
var rotateValues = _this.normaliseValues(_this.api.theme("rotate"));
var skewValues = _this.normaliseValues(_this.api.theme("skew"));
var transformDeclarations = _this.legacy ? Transform.legacyDeclarations() : Transform.declarations();
_this.api.matchUtilities({
rotate: function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-rotate-z": value
}, _this.legacy ? transformDeclarations : {
rotate: "var(--tw-rotate-z)"
});
},
"rotate-x": function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-rotate-x": value
}, transformDeclarations);
},
"rotate-y": function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-rotate-y": value
}, transformDeclarations);
},
"rotate-z": function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-rotate-z": value
}, _this.legacy ? transformDeclarations : {
rotate: "var(--tw-rotate-z)"
});
}
}, {
values: rotateValues,
supportsNegativeValues: true
});
_this.api.matchUtilities({
"skew-x": function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-skew-x": value
}, transformDeclarations);
},
"skew-y": function(value) {
return _object_spread._({
"@defaults transform": {},
"--tw-skew-y": value
}, transformDeclarations);
}
}, {
values: skewValues,
supportsNegativeValues: true
});
});
return _this;
}
return Transform;
}(_base.Base);
_define_property._(Transform, "defaultFunctionValues", {
rotateX: "var(--tw-rotate-x)",
rotateY: "var(--tw-rotate-y)",
skewX: "var(--tw-skew-x)",
skewY: "var(--tw-skew-y)"
});
_define_property._(Transform, "defaultLegacyFunctionValues", _object_spread_props._(_object_spread._({}, Transform.defaultFunctionValues), {
translateX: "var(--tw-translate-x)",
translateY: "var(--tw-translate-y)",
translateZ: "var(--tw-translate-z)",
rotateZ: "var(--tw-rotate-z)",
scaleX: "var(--tw-scale-x)",
scaleY: "var(--tw-scale-y)",
scaleZ: "var(--tw-scale-z)",
perspective: "var(--tw-perspective)"
}));
_define_property._(Transform, "normaliseFunctionValues", function() {
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, dimension = _ref.dimension, rotateX = _ref.rotateX, rotateY = _ref.rotateY, skewX = _ref.skewX, skewY = _ref.skewY;
var safeDimension = (0, _dimension.normaliseDimension)(dimension);
var safeValues = {
rotateX: (0, _cssvalue.normaliseAngleValue)(rotateX, Transform.defaultFunctionValues.rotateX),
rotateY: (0, _cssvalue.normaliseAngleValue)(rotateY, Transform.defaultFunctionValues.rotateY),
skewX: (0, _cssvalue.normaliseAngleValue)(skewX, Transform.defaultFunctionValues.skewX),
skewY: (0, _cssvalue.normaliseAngleValue)(skewY, Transform.defaultFunctionValues.skewY)
};
return [
{
"3d": "rotateX(".concat(safeValues.rotateX, ") rotateY(").concat(safeValues.rotateY, ")"),
"2d": ""
},
"skewX(".concat(safeValues.skewX, ")"),
"skewY(".concat(safeValues.skewY, ")")
].map(function(value) {
return (0, _lodash.isString)(value) ? value : value[safeDimension];
}).filter(function(value) {
return value !== "";
}).join(" ");
});
_define_property._(Transform, "normaliseLegacyFunctionValues", function() {
var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, dimension = _ref.dimension, translateX = _ref.translateX, translateY = _ref.translateY, translateZ = _ref.translateZ, rotateX = _ref.rotateX, rotateY = _ref.rotateY, rotateZ = _ref.rotateZ, skewX = _ref.skewX, skewY = _ref.skewY, scaleX = _ref.scaleX, scaleY = _ref.scaleY, scaleZ = _ref.scaleZ, perspective = _ref.perspective;
var safeDimension = (0, _dimension.normaliseDimension)(dimension);
var safeValues = {
translateX: (0, _cssvalue.normaliseLengthPercentageValue)(translateX, Transform.defaultLegacyFunctionValues.translateX),
translateY: (0, _cssvalue.normaliseLengthPercentageValue)(translateY, Transform.defaultLegacyFunctionValues.translateY),
translateZ: (0, _cssvalue.normaliseLengthPercentageValue)(translateZ, Transform.defaultLegacyFunctionValues.translateZ),
rotateX: (0, _cssvalue.normaliseAngleValue)(rotateX, Transform.defaultLegacyFunctionValues.rotateX),
rotateY: (0, _cssvalue.normaliseAngleValue)(rotateY, Transform.defaultLegacyFunctionValues.rotateY),
rotateZ: (0, _cssvalue.normaliseAngleValue)(rotateZ, Transform.defaultLegacyFunctionValues.rotateZ),
skewX: (0, _cssvalue.normaliseAngleValue)(skewX, Transform.defaultLegacyFunctionValues.skewX),
skewY: (0, _cssvalue.normaliseAngleValue)(skewY, Transform.defaultLegacyFunctionValues.skewY),
scaleX: (0, _cssvalue.normaliseNumberPercentageValue)(scaleX, Transform.defaultLegacyFunctionValues.scaleX, {
lowerLimit: 0
}),
scaleY: (0, _cssvalue.normaliseNumberPercentageValue)(scaleY, Transform.defaultLegacyFunctionValues.scaleY, {
lowerLimit: 0
}),
scaleZ: (0, _cssvalue.normaliseNumberPercentageValue)(scaleZ, Transform.defaultLegacyFunctionValues.scaleZ, {
lowerLimit: 0
}),
perspective: (0, _cssvalue.normaliseLengthValue)(perspective, Transform.defaultLegacyFunctionValues.perspective)
};
return [
{
"3d": "translate3d(".concat(safeValues.translateX, ", ").concat(safeValues.translateY, ", ").concat(safeValues.translateZ, ")"),
"2d": "translate(".concat(safeValues.translateX, ", ").concat(safeValues.translateY, ")")
},
{
"3d": "rotateX(".concat(safeValues.rotateX, ") rotateY(").concat(safeValues.rotateY, ") rotateZ(").concat(safeValues.rotateZ, ")"),
"2d": "rotate(".concat(safeValues.rotateZ, ")")
},
"skewX(".concat(safeValues.skewX, ")"),
"skewY(".concat(safeValues.skewY, ")"),
"scaleX(".concat(safeValues.scaleX, ")"),
"scaleY(".concat(safeValues.scaleY, ")"),
{
"3d": "scaleZ(".concat(safeValues.scaleZ, ")"),
"2d": ""
},
{
"3d": "perspective(".concat(safeValues.perspective, ")"),
"2d": ""
}
].map(function(value) {
return (0, _lodash.isString)(value) ? value : value[safeDimension];
}).filter(function(value) {
return value !== "";
}).join(" ");
});
_define_property._(Transform, "declarations", function() {
var values = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var functionValues = Transform.normaliseFunctionValues(values);
return {
"--webkit-transform": functionValues,
transform: functionValues
};
});
_define_property._(Transform, "legacyDeclarations", function() {
var values = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var functionValues = Transform.normaliseLegacyFunctionValues(values);
return {
"--webkit-transform": functionValues,
transform: functionValues
};
});