"use strict"; var _interop_require_default = require("@swc/helpers/_/_interop_require_default"); var _object_spread = require("@swc/helpers/_/_object_spread"); var _plugin = /*#__PURE__*/ _interop_require_default._(require("tailwindcss/plugin")); var _cssanimations = require("./css-animations"); var _cssutilities = require("./css-utilities"); var _ensure = require("./utils/ensure"); // Default CSS variables, modelled from core var DEFAULT_VARIABLE_VALUES = { "--tw-perspective": "none", "--tw-translate-x": "0", "--tw-translate-y": "0", "--tw-translate-z": "0", "--tw-rotate-x": "0", "--tw-rotate-y": "0", "--tw-rotate-z": "0", "--tw-skew-x": "0", "--tw-skew-y": "0", "--tw-scale-x": "1", "--tw-scale-y": "1", "--tw-scale-z": "1" }; var optionDefaults = { legacy: false }; var tailwindCss3d = _plugin.default.withOptions(function() { var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : optionDefaults, _ref_legacy = _ref.legacy, legacy = _ref_legacy === void 0 ? optionDefaults.legacy : _ref_legacy; var safeLegacy = (0, _ensure.ensureBoolean)(legacy, optionDefaults.legacy); return function(api) { var localAPI = api; // Replace the transform core plugin defaults and add some new ones localAPI.addDefaults("transform", DEFAULT_VARIABLE_VALUES); var perspective = new _cssutilities.Perspective(localAPI, safeLegacy); var transformStyle = new _cssutilities.TransformStyle(localAPI); var translate = new _cssutilities.Translate(localAPI, safeLegacy); var transform = new _cssutilities.Transform(localAPI, safeLegacy); var scale = new _cssutilities.Scale(localAPI, safeLegacy); var backface = new _cssutilities.Backface(localAPI); var perspectiveOrigin = new _cssutilities.PerspectiveOrigin(localAPI); var transformBox = new _cssutilities.TransformBox(localAPI); var transformCore = new _cssutilities.TransformCore(localAPI, safeLegacy); // New CSS Utilities perspective.utilities(); transformStyle.utilities(); translate.utilities(); transform.utilities(); scale.utilities(); backface.utilities(); perspectiveOrigin.utilities(); transformBox.utilities(); transformCore.utilities(); }; }, function() { var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : optionDefaults, _ref_legacy = _ref.legacy, legacy = _ref_legacy === void 0 ? optionDefaults.legacy : _ref_legacy; var safeLegacy = (0, _ensure.ensureBoolean)(legacy, optionDefaults.legacy); var spin = new _cssanimations.Spin(safeLegacy); var bounce = new _cssanimations.Bounce(safeLegacy); var bounceAndSpin = new _cssanimations.BounceAndSpin(safeLegacy); return { theme: { // Set new theme defaults perspective: _cssutilities.Perspective.defaultTheme, transformStyle: _cssutilities.TransformStyle.defaultTheme, backface: _cssutilities.Backface.defaultTheme, perspectiveOrigin: _cssutilities.PerspectiveOrigin.defaultTheme, transformBox: _cssutilities.TransformBox.defaultTheme, spin: spin.defaultTheme, bounce: bounce.defaultTheme, bounceAndSpin: bounceAndSpin.defaultTheme, extend: { // Update the core transform transition property transitionProperty: { transform: safeLegacy ? "transform" : "perspective, translate, scale, transform, perspective, rotate" }, // New CSS keyframes and animations keyframes: function(pluginUtilities) { return _object_spread._({}, spin.keyframes(), bounce.keyframes(pluginUtilities), bounceAndSpin.keyframes(pluginUtilities)); }, animation: function(pluginUtilities) { return _object_spread._({}, spin.animation(pluginUtilities), bounce.animation(pluginUtilities), bounceAndSpin.animation(pluginUtilities)); } } }, // Disable some core plugins which are superceded by this plugin corePlugins: { rotate: false, scale: false, skew: false, transform: false, translate: false } }; }); module.exports = tailwindCss3d;