"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Translate", { enumerable: true, get: function() { return Translate; } }); 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 Translate = /*#__PURE__*/ function(Base) { "use strict"; _inherits._(Translate, Base); var _super = _create_super._(Translate); function Translate() { _class_call_check._(this, Translate); 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(duration) { return (0, _cssvalue.normaliseLengthPercentageValue)(duration); }).pickBy(function(duration, modifier) { return (0, _lodash.isString)(modifier) && modifier !== "" && (0, _lodash.isString)(duration); }).value() : {}; }); _define_property._(_assert_this_initialized._(_this), "utilities", function() { var values = _this.normaliseValues(_this.api.theme("translate")); var cssDeclarations = _this.legacy ? Translate.legacyDeclarations() : Translate.declarations(); _this.api.matchUtilities({ "translate-x": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-translate-x": value }, cssDeclarations); }, "translate-y": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-translate-y": value }, cssDeclarations); } }, { values: values, supportsNegativeValues: true }); _this.api.matchUtilities({ "translate-z": function(value) { return _object_spread._({ "@defaults transform": {}, "--tw-translate-z": value }, cssDeclarations); } }, { values: (0, _lodash.pickBy)(values, function(value) { return !value.endsWith("%"); }), supportsNegativeValues: true }); }); return _this; } return Translate; }(_base.Base); _define_property._(Translate, "defaultFunctionValues", { translateX: "var(--tw-translate-x)", translateY: "var(--tw-translate-y)", translateZ: "var(--tw-translate-z)" }); _define_property._(Translate, "normaliseFunctionValues", function() { var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, dimension = _ref.dimension, translateX = _ref.translateX, translateY = _ref.translateY, translateZ = _ref.translateZ; var safeValues = [ (0, _cssvalue.normaliseLengthPercentageValue)(translateX, Translate.defaultFunctionValues.translateX), (0, _cssvalue.normaliseLengthPercentageValue)(translateY, Translate.defaultFunctionValues.translateY) ]; if ((0, _dimension.normaliseDimension)(dimension) === "3d") { safeValues.push((0, _cssvalue.normaliseLengthValue)(translateZ, Translate.defaultFunctionValues.translateZ)); } return safeValues.join(" "); }); _define_property._(Translate, "declarations", function() { var values = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return { translate: Translate.normaliseFunctionValues(values) }; }); _define_property._(Translate, "legacyDeclarations", function() { return _transform.Transform.legacyDeclarations(); });