"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Scale", { enumerable: true, get: function() { return Scale; } }); 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 _create_super = require("@swc/helpers/_/_create_super"); var _lodash = require("lodash"); var _base = require("./base"); var _transform = require("./transform"); var _cssvalue = require("../utils/css-value"); var _dimension = require("../utils/dimension"); var _generateguard = require("../utils/generate-guard"); var Scale = /*#__PURE__*/ function(Base) { "use strict"; _inherits._(Scale, Base); var _super = _create_super._(Scale); function Scale() { _class_call_check._(this, Scale); 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(length) { return (0, _cssvalue.normaliseNumberPercentageValue)(length, "1", { lowerLimit: 0 }); }).pickBy(function(length, modifier) { return (0, _lodash.isString)(modifier) && modifier !== "" && (0, _lodash.isString)(length); }).value() : {}; }); _define_property._(_assert_this_initialized._(_this), "utilities", function() { var values = _this.normaliseValues(_this.api.theme("scale")); var cssDeclarations = _this.legacy ? Scale.legacyDeclarations() : Scale.declarations(); _this.api.matchUtilities({ scale: function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-scale-x": value, "--tw-scale-y": value }, cssDeclarations); }, scale3d: function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-scale-x": value, "--tw-scale-y": value, "--tw-scale-z": value }, cssDeclarations); }, "scale-x": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-scale-x": value }, cssDeclarations); }, "scale-y": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-scale-y": value }, cssDeclarations); }, "scale-z": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-scale-z": value }, cssDeclarations); } }, { values: values, supportsNegativeValues: true }); }); return _this; } return Scale; }(_base.Base); _define_property._(Scale, "defaultFunctionValues", { scaleX: "var(--tw-scale-x)", scaleY: "var(--tw-scale-y)", scaleZ: "var(--tw-scale-z)" }); _define_property._(Scale, "normaliseFunctionValues", function() { var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, dimension = _ref.dimension, scaleX = _ref.scaleX, scaleY = _ref.scaleY, scaleZ = _ref.scaleZ; var safeValues = [ (0, _cssvalue.normaliseNumberPercentageValue)(scaleX, Scale.defaultFunctionValues.scaleX, { lowerLimit: 0 }), (0, _cssvalue.normaliseNumberPercentageValue)(scaleY, Scale.defaultFunctionValues.scaleY, { lowerLimit: 0 }) ]; if ((0, _dimension.normaliseDimension)(dimension) === "3d") { safeValues.push((0, _cssvalue.normaliseNumberPercentageValue)(scaleZ, Scale.defaultFunctionValues.scaleZ, { lowerLimit: 0 })); } return safeValues.join(" "); }); _define_property._(Scale, "declarations", function() { var values = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return { scale: Scale.normaliseFunctionValues(values) }; }); _define_property._(Scale, "legacyDeclarations", function() { return _transform.Transform.legacyDeclarations(); });