Date: Fri, 22 Aug 2025 16:34:37 +0530
Subject: [PATCH 017/103] gitignore updates
---
.gitignore | 163 +-
frontend/.gitignore | 157 +
node_modules/.package-lock.json | 17 -
node_modules/tailwind-merge/LICENSE.md | 21 -
node_modules/tailwind-merge/README.md | 38 -
.../tailwind-merge/dist/bundle-cjs.js | 3047 ----------------
.../tailwind-merge/dist/bundle-cjs.js.map | 1 -
.../tailwind-merge/dist/bundle-mjs.mjs | 3035 ----------------
.../tailwind-merge/dist/bundle-mjs.mjs.map | 1 -
.../tailwind-merge/dist/es5/bundle-cjs.js | 3197 -----------------
.../tailwind-merge/dist/es5/bundle-cjs.js.map | 1 -
.../tailwind-merge/dist/es5/bundle-mjs.mjs | 3185 ----------------
.../dist/es5/bundle-mjs.mjs.map | 1 -
node_modules/tailwind-merge/dist/types.d.ts | 2630 --------------
node_modules/tailwind-merge/package.json | 92 -
node_modules/tailwind-merge/src/index.ts | 17 -
.../src/lib/class-group-utils.ts | 182 -
.../tailwind-merge/src/lib/config-utils.ts | 14 -
.../src/lib/create-tailwind-merge.ts | 50 -
.../tailwind-merge/src/lib/default-config.ts | 2359 ------------
.../src/lib/extend-tailwind-merge.ts | 25 -
.../tailwind-merge/src/lib/from-theme.ts | 13 -
.../tailwind-merge/src/lib/lru-cache.ts | 52 -
.../tailwind-merge/src/lib/merge-classlist.ts | 89 -
.../tailwind-merge/src/lib/merge-configs.ts | 84 -
.../src/lib/parse-class-name.ts | 106 -
.../tailwind-merge/src/lib/sort-modifiers.ts | 38 -
.../tailwind-merge/src/lib/tw-join.ts | 50 -
.../tailwind-merge/src/lib/tw-merge.ts | 4 -
node_modules/tailwind-merge/src/lib/types.ts | 566 ---
.../tailwind-merge/src/lib/validators.ts | 128 -
package-lock.json | 22 -
package.json | 5 -
33 files changed, 305 insertions(+), 19085 deletions(-)
create mode 100644 frontend/.gitignore
delete mode 100644 node_modules/.package-lock.json
delete mode 100644 node_modules/tailwind-merge/LICENSE.md
delete mode 100644 node_modules/tailwind-merge/README.md
delete mode 100644 node_modules/tailwind-merge/dist/bundle-cjs.js
delete mode 100644 node_modules/tailwind-merge/dist/bundle-cjs.js.map
delete mode 100644 node_modules/tailwind-merge/dist/bundle-mjs.mjs
delete mode 100644 node_modules/tailwind-merge/dist/bundle-mjs.mjs.map
delete mode 100644 node_modules/tailwind-merge/dist/es5/bundle-cjs.js
delete mode 100644 node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map
delete mode 100644 node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs
delete mode 100644 node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map
delete mode 100644 node_modules/tailwind-merge/dist/types.d.ts
delete mode 100644 node_modules/tailwind-merge/package.json
delete mode 100644 node_modules/tailwind-merge/src/index.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/class-group-utils.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/config-utils.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/default-config.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/from-theme.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/lru-cache.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/merge-classlist.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/merge-configs.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/parse-class-name.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/sort-modifiers.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/tw-join.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/tw-merge.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/types.ts
delete mode 100644 node_modules/tailwind-merge/src/lib/validators.ts
delete mode 100644 package-lock.json
delete mode 100644 package.json
diff --git a/.gitignore b/.gitignore
index a547bf3..e169df4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,24 +1,157 @@
+# Created by https://www.toptal.com/developers/gitignore/api/react,node
+# Edit at https://www.toptal.com/developers/gitignore?templates=react,node
+
+### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-pnpm-debug.log*
lerna-debug.log*
+.pnpm-debug.log*
-node_modules
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+### Node Patch ###
+# Serverless Webpack directories
+.webpack/
+
+# Optional stylelint cache
+
+# SvelteKit build / generate output
+.svelte-kit
+
+### react ###
+.DS_*
+**/*.backup.*
+**/*.back.*
+
+node_modules
+
+*.sublime*
+
+psd
+thumb
+sketch
+
+# End of https://www.toptal.com/developers/gitignore/api/react,node
\ No newline at end of file
diff --git a/frontend/.gitignore b/frontend/.gitignore
new file mode 100644
index 0000000..e169df4
--- /dev/null
+++ b/frontend/.gitignore
@@ -0,0 +1,157 @@
+# Created by https://www.toptal.com/developers/gitignore/api/react,node
+# Edit at https://www.toptal.com/developers/gitignore?templates=react,node
+
+### Node ###
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+### Node Patch ###
+# Serverless Webpack directories
+.webpack/
+
+# Optional stylelint cache
+
+# SvelteKit build / generate output
+.svelte-kit
+
+### react ###
+.DS_*
+**/*.backup.*
+**/*.back.*
+
+node_modules
+
+*.sublime*
+
+psd
+thumb
+sketch
+
+# End of https://www.toptal.com/developers/gitignore/api/react,node
\ No newline at end of file
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
deleted file mode 100644
index 0fe22af..0000000
--- a/node_modules/.package-lock.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "dev22603",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "node_modules/tailwind-merge": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz",
- "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
- }
- }
- }
-}
diff --git a/node_modules/tailwind-merge/LICENSE.md b/node_modules/tailwind-merge/LICENSE.md
deleted file mode 100644
index 0d2b96a..0000000
--- a/node_modules/tailwind-merge/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021 Dany Castillo
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/tailwind-merge/README.md b/node_modules/tailwind-merge/README.md
deleted file mode 100644
index 0a86b13..0000000
--- a/node_modules/tailwind-merge/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-# tailwind-merge
-
-Utility function to efficiently merge [Tailwind CSS](https://tailwindcss.com) classes in JS without style conflicts.
-
-```ts
-import { twMerge } from 'tailwind-merge'
-
-twMerge('px-2 py-1 bg-red hover:bg-dark-red', 'p-3 bg-[#B91C1C]')
-// ā 'hover:bg-dark-red p-3 bg-[#B91C1C]'
-```
-
-- Supports Tailwind v4.0 up to v4.1 (if you use Tailwind v3, use [tailwind-merge v2.6.0](https://github.com/dcastil/tailwind-merge/tree/v2.6.0))
-- Works in all modern browsers and maintained Node versions
-- Fully typed
-- [Check bundle size on Bundlephobia](https://bundlephobia.com/package/tailwind-merge)
-
-## Get started
-
-- [What is it for](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/what-is-it-for.md)
-- [When and how to use it](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/when-and-how-to-use-it.md)
-- [Features](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/features.md)
-- [Limitations](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/limitations.md)
-- [Configuration](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/configuration.md)
-- [Recipes](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/recipes.md)
-- [API reference](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/api-reference.md)
-- [Writing plugins](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/writing-plugins.md)
-- [Versioning](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/versioning.md)
-- [Contributing](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/contributing.md)
-- [Similar packages](https://github.com/dcastil/tailwind-merge/tree/v3.3.1/docs/similar-packages.md)
diff --git a/node_modules/tailwind-merge/dist/bundle-cjs.js b/node_modules/tailwind-merge/dist/bundle-cjs.js
deleted file mode 100644
index 73505e3..0000000
--- a/node_modules/tailwind-merge/dist/bundle-cjs.js
+++ /dev/null
@@ -1,3047 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, Symbol.toStringTag, {
- value: 'Module'
-});
-const CLASS_PART_SEPARATOR = '-';
-const createClassGroupUtils = config => {
- const classMap = createClassMap(config);
- const {
- conflictingClassGroups,
- conflictingClassGroupModifiers
- } = config;
- const getClassGroupId = className => {
- const classParts = className.split(CLASS_PART_SEPARATOR);
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
- if (classParts[0] === '' && classParts.length !== 1) {
- classParts.shift();
- }
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
- };
- const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
- const conflicts = conflictingClassGroups[classGroupId] || [];
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
- }
- return conflicts;
- };
- return {
- getClassGroupId,
- getConflictingClassGroupIds
- };
-};
-const getGroupRecursive = (classParts, classPartObject) => {
- if (classParts.length === 0) {
- return classPartObject.classGroupId;
- }
- const currentClassPart = classParts[0];
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
- if (classGroupFromNextClassPart) {
- return classGroupFromNextClassPart;
- }
- if (classPartObject.validators.length === 0) {
- return undefined;
- }
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
- return classPartObject.validators.find(({
- validator
- }) => validator(classRest))?.classGroupId;
-};
-const arbitraryPropertyRegex = /^\[(.+)\]$/;
-const getGroupIdForArbitraryProperty = className => {
- if (arbitraryPropertyRegex.test(className)) {
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
- const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
- if (property) {
- // I use two dots here because one dot is used as prefix for class groups in plugins
- return 'arbitrary..' + property;
- }
- }
-};
-/**
- * Exported for testing only
- */
-const createClassMap = config => {
- const {
- theme,
- classGroups
- } = config;
- const classMap = {
- nextPart: new Map(),
- validators: []
- };
- for (const classGroupId in classGroups) {
- processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
- }
- return classMap;
-};
-const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
- classGroup.forEach(classDefinition => {
- if (typeof classDefinition === 'string') {
- const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
- classPartObjectToEdit.classGroupId = classGroupId;
- return;
- }
- if (typeof classDefinition === 'function') {
- if (isThemeGetter(classDefinition)) {
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
- return;
- }
- classPartObject.validators.push({
- validator: classDefinition,
- classGroupId
- });
- return;
- }
- Object.entries(classDefinition).forEach(([key, classGroup]) => {
- processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
- });
- });
-};
-const getPart = (classPartObject, path) => {
- let currentClassPartObject = classPartObject;
- path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
- if (!currentClassPartObject.nextPart.has(pathPart)) {
- currentClassPartObject.nextPart.set(pathPart, {
- nextPart: new Map(),
- validators: []
- });
- }
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
- });
- return currentClassPartObject;
-};
-const isThemeGetter = func => func.isThemeGetter;
-
-// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
-const createLruCache = maxCacheSize => {
- if (maxCacheSize < 1) {
- return {
- get: () => undefined,
- set: () => {}
- };
- }
- let cacheSize = 0;
- let cache = new Map();
- let previousCache = new Map();
- const update = (key, value) => {
- cache.set(key, value);
- cacheSize++;
- if (cacheSize > maxCacheSize) {
- cacheSize = 0;
- previousCache = cache;
- cache = new Map();
- }
- };
- return {
- get(key) {
- let value = cache.get(key);
- if (value !== undefined) {
- return value;
- }
- if ((value = previousCache.get(key)) !== undefined) {
- update(key, value);
- return value;
- }
- },
- set(key, value) {
- if (cache.has(key)) {
- cache.set(key, value);
- } else {
- update(key, value);
- }
- }
- };
-};
-const IMPORTANT_MODIFIER = '!';
-const MODIFIER_SEPARATOR = ':';
-const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
-const createParseClassName = config => {
- const {
- prefix,
- experimentalParseClassName
- } = config;
- /**
- * Parse class name into parts.
- *
- * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
- */
- let parseClassName = className => {
- const modifiers = [];
- let bracketDepth = 0;
- let parenDepth = 0;
- let modifierStart = 0;
- let postfixModifierPosition;
- for (let index = 0; index < className.length; index++) {
- let currentCharacter = className[index];
- if (bracketDepth === 0 && parenDepth === 0) {
- if (currentCharacter === MODIFIER_SEPARATOR) {
- modifiers.push(className.slice(modifierStart, index));
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
- continue;
- }
- if (currentCharacter === '/') {
- postfixModifierPosition = index;
- continue;
- }
- }
- if (currentCharacter === '[') {
- bracketDepth++;
- } else if (currentCharacter === ']') {
- bracketDepth--;
- } else if (currentCharacter === '(') {
- parenDepth++;
- } else if (currentCharacter === ')') {
- parenDepth--;
- }
- }
- const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
- const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
- const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
- const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
- return {
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition
- };
- };
- if (prefix) {
- const fullPrefix = prefix + MODIFIER_SEPARATOR;
- const parseClassNameOriginal = parseClassName;
- parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
- isExternal: true,
- modifiers: [],
- hasImportantModifier: false,
- baseClassName: className,
- maybePostfixModifierPosition: undefined
- };
- }
- if (experimentalParseClassName) {
- const parseClassNameOriginal = parseClassName;
- parseClassName = className => experimentalParseClassName({
- className,
- parseClassName: parseClassNameOriginal
- });
- }
- return parseClassName;
-};
-const stripImportantModifier = baseClassName => {
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(0, baseClassName.length - 1);
- }
- /**
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
- */
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(1);
- }
- return baseClassName;
-};
-
-/**
- * Sorts modifiers according to following schema:
- * - Predefined modifiers are sorted alphabetically
- * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
- */
-const createSortModifiers = config => {
- const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));
- const sortModifiers = modifiers => {
- if (modifiers.length <= 1) {
- return modifiers;
- }
- const sortedModifiers = [];
- let unsortedModifiers = [];
- modifiers.forEach(modifier => {
- const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
- if (isPositionSensitive) {
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
- unsortedModifiers = [];
- } else {
- unsortedModifiers.push(modifier);
- }
- });
- sortedModifiers.push(...unsortedModifiers.sort());
- return sortedModifiers;
- };
- return sortModifiers;
-};
-const createConfigUtils = config => ({
- cache: createLruCache(config.cacheSize),
- parseClassName: createParseClassName(config),
- sortModifiers: createSortModifiers(config),
- ...createClassGroupUtils(config)
-});
-const SPLIT_CLASSES_REGEX = /\s+/;
-const mergeClassList = (classList, configUtils) => {
- const {
- parseClassName,
- getClassGroupId,
- getConflictingClassGroupIds,
- sortModifiers
- } = configUtils;
- /**
- * Set of classGroupIds in following format:
- * `{importantModifier}{variantModifiers}{classGroupId}`
- * @example 'float'
- * @example 'hover:focus:bg-color'
- * @example 'md:!pr'
- */
- const classGroupsInConflict = [];
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
- let result = '';
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
- const originalClassName = classNames[index];
- const {
- isExternal,
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition
- } = parseClassName(originalClassName);
- if (isExternal) {
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- let hasPostfixModifier = !!maybePostfixModifierPosition;
- let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
- if (!classGroupId) {
- if (!hasPostfixModifier) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- classGroupId = getClassGroupId(baseClassName);
- if (!classGroupId) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- hasPostfixModifier = false;
- }
- const variantModifier = sortModifiers(modifiers).join(':');
- const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
- const classId = modifierId + classGroupId;
- if (classGroupsInConflict.includes(classId)) {
- // Tailwind class omitted due to conflict
- continue;
- }
- classGroupsInConflict.push(classId);
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
- for (let i = 0; i < conflictGroups.length; ++i) {
- const group = conflictGroups[i];
- classGroupsInConflict.push(modifierId + group);
- }
- // Tailwind class not in conflict
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- }
- return result;
-};
-
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards
(lukeed.com)
- */
-function twJoin() {
- let index = 0;
- let argument;
- let resolvedValue;
- let string = '';
- while (index < arguments.length) {
- if (argument = arguments[index++]) {
- if (resolvedValue = toValue(argument)) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-}
-const toValue = mix => {
- if (typeof mix === 'string') {
- return mix;
- }
- let resolvedValue;
- let string = '';
- for (let k = 0; k < mix.length; k++) {
- if (mix[k]) {
- if (resolvedValue = toValue(mix[k])) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-};
-function createTailwindMerge(createConfigFirst, ...createConfigRest) {
- let configUtils;
- let cacheGet;
- let cacheSet;
- let functionToCall = initTailwindMerge;
- function initTailwindMerge(classList) {
- const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
- configUtils = createConfigUtils(config);
- cacheGet = configUtils.cache.get;
- cacheSet = configUtils.cache.set;
- functionToCall = tailwindMerge;
- return tailwindMerge(classList);
- }
- function tailwindMerge(classList) {
- const cachedResult = cacheGet(classList);
- if (cachedResult) {
- return cachedResult;
- }
- const result = mergeClassList(classList, configUtils);
- cacheSet(classList, result);
- return result;
- }
- return function callTailwindMerge() {
- return functionToCall(twJoin.apply(null, arguments));
- };
-}
-const fromTheme = key => {
- const themeGetter = theme => theme[key] || [];
- themeGetter.isThemeGetter = true;
- return themeGetter;
-};
-const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
-const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
-const fractionRegex = /^\d+\/\d+$/;
-const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
-const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
-const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
-// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
-const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
-const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
-const isFraction = value => fractionRegex.test(value);
-const isNumber = value => !!value && !Number.isNaN(Number(value));
-const isInteger = value => !!value && Number.isInteger(Number(value));
-const isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));
-const isTshirtSize = value => tshirtUnitRegex.test(value);
-const isAny = () => true;
-const isLengthOnly = value =>
-// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
-// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
-// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
-lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
-const isNever = () => false;
-const isShadow = value => shadowRegex.test(value);
-const isImage = value => imageRegex.test(value);
-const isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);
-const isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);
-const isArbitraryValue = value => arbitraryValueRegex.test(value);
-const isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
-const isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);
-const isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);
-const isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);
-const isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);
-const isArbitraryVariable = value => arbitraryVariableRegex.test(value);
-const isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);
-const isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);
-const isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);
-const isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);
-const isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);
-const isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);
-// Helpers
-const getIsArbitraryValue = (value, testLabel, testValue) => {
- const result = arbitraryValueRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return testValue(result[2]);
- }
- return false;
-};
-const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
- const result = arbitraryVariableRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return shouldMatchNoLabel;
- }
- return false;
-};
-// Labels
-const isLabelPosition = label => label === 'position' || label === 'percentage';
-const isLabelImage = label => label === 'image' || label === 'url';
-const isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';
-const isLabelLength = label => label === 'length';
-const isLabelNumber = label => label === 'number';
-const isLabelFamilyName = label => label === 'family-name';
-const isLabelShadow = label => label === 'shadow';
-const validators = /*#__PURE__*/Object.defineProperty({
- __proto__: null,
- isAny,
- isAnyNonArbitrary,
- isArbitraryImage,
- isArbitraryLength,
- isArbitraryNumber,
- isArbitraryPosition,
- isArbitraryShadow,
- isArbitrarySize,
- isArbitraryValue,
- isArbitraryVariable,
- isArbitraryVariableFamilyName,
- isArbitraryVariableImage,
- isArbitraryVariableLength,
- isArbitraryVariablePosition,
- isArbitraryVariableShadow,
- isArbitraryVariableSize,
- isFraction,
- isInteger,
- isNumber,
- isPercent,
- isTshirtSize
-}, Symbol.toStringTag, {
- value: 'Module'
-});
-const getDefaultConfig = () => {
- /**
- * Theme getters for theme variable namespaces
- * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
- */
- /***/
- const themeColor = fromTheme('color');
- const themeFont = fromTheme('font');
- const themeText = fromTheme('text');
- const themeFontWeight = fromTheme('font-weight');
- const themeTracking = fromTheme('tracking');
- const themeLeading = fromTheme('leading');
- const themeBreakpoint = fromTheme('breakpoint');
- const themeContainer = fromTheme('container');
- const themeSpacing = fromTheme('spacing');
- const themeRadius = fromTheme('radius');
- const themeShadow = fromTheme('shadow');
- const themeInsetShadow = fromTheme('inset-shadow');
- const themeTextShadow = fromTheme('text-shadow');
- const themeDropShadow = fromTheme('drop-shadow');
- const themeBlur = fromTheme('blur');
- const themePerspective = fromTheme('perspective');
- const themeAspect = fromTheme('aspect');
- const themeEase = fromTheme('ease');
- const themeAnimate = fromTheme('animate');
- /**
- * Helpers to avoid repeating the same scales
- *
- * We use functions that create a new array every time they're called instead of static arrays.
- * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
- */
- /***/
- const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
- const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-top', 'top-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-top', 'bottom-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-bottom', 'bottom-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-bottom'];
- const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
- const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];
- const scaleOverscroll = () => ['auto', 'contain', 'none'];
- const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
- const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];
- const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];
- const scaleGridColRowStartAndEnd = () => ['auto', {
- span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]
- }, isInteger, isArbitraryVariable, isArbitraryValue];
- const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];
- const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];
- const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];
- const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];
- const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];
- const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];
- const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
- const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
- position: [isArbitraryVariable, isArbitraryValue]
- }];
- const scaleBgRepeat = () => ['no-repeat', {
- repeat: ['', 'x', 'y', 'space', 'round']
- }];
- const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {
- size: [isArbitraryVariable, isArbitraryValue]
- }];
- const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
- const scaleRadius = () => [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];
- const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];
- const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];
- const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];
- const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
- const scaleBlur = () => [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];
- const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];
- return {
- cacheSize: 500,
- theme: {
- animate: ['spin', 'ping', 'pulse', 'bounce'],
- aspect: ['video'],
- blur: [isTshirtSize],
- breakpoint: [isTshirtSize],
- color: [isAny],
- container: [isTshirtSize],
- 'drop-shadow': [isTshirtSize],
- ease: ['in', 'out', 'in-out'],
- font: [isAnyNonArbitrary],
- 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
- 'inset-shadow': [isTshirtSize],
- leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
- perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
- radius: [isTshirtSize],
- shadow: [isTshirtSize],
- spacing: ['px', isNumber],
- text: [isTshirtSize],
- 'text-shadow': [isTshirtSize],
- tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']
- },
- classGroups: {
- // --------------
- // --- Layout ---
- // --------------
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- aspect: [{
- aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
- }],
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- container: ['container'],
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- columns: [{
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
- }],
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- 'break-after': [{
- 'break-after': scaleBreak()
- }],
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- 'break-before': [{
- 'break-before': scaleBreak()
- }],
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- 'break-inside': [{
- 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
- }],
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- 'box-decoration': [{
- 'box-decoration': ['slice', 'clone']
- }],
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- box: [{
- box: ['border', 'content']
- }],
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- sr: ['sr-only', 'not-sr-only'],
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- float: [{
- float: ['right', 'left', 'none', 'start', 'end']
- }],
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- clear: [{
- clear: ['left', 'right', 'both', 'none', 'start', 'end']
- }],
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- isolation: ['isolate', 'isolation-auto'],
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- 'object-fit': [{
- object: ['contain', 'cover', 'fill', 'none', 'scale-down']
- }],
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- 'object-position': [{
- object: scalePositionWithArbitrary()
- }],
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- overflow: [{
- overflow: scaleOverflow()
- }],
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-x': [{
- 'overflow-x': scaleOverflow()
- }],
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-y': [{
- 'overflow-y': scaleOverflow()
- }],
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- overscroll: [{
- overscroll: scaleOverscroll()
- }],
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-x': [{
- 'overscroll-x': scaleOverscroll()
- }],
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-y': [{
- 'overscroll-y': scaleOverscroll()
- }],
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- inset: [{
- inset: scaleInset()
- }],
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-x': [{
- 'inset-x': scaleInset()
- }],
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-y': [{
- 'inset-y': scaleInset()
- }],
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- start: [{
- start: scaleInset()
- }],
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- end: [{
- end: scaleInset()
- }],
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- top: [{
- top: scaleInset()
- }],
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- right: [{
- right: scaleInset()
- }],
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- bottom: [{
- bottom: scaleInset()
- }],
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- left: [{
- left: scaleInset()
- }],
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- visibility: ['visible', 'invisible', 'collapse'],
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- z: [{
- z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------------
- // --- Flexbox and Grid ---
- // ------------------------
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- basis: [{
- basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]
- }],
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- 'flex-direction': [{
- flex: ['row', 'row-reverse', 'col', 'col-reverse']
- }],
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- 'flex-wrap': [{
- flex: ['nowrap', 'wrap', 'wrap-reverse']
- }],
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- flex: [{
- flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]
- }],
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- grow: [{
- grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- shrink: [{
- shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- order: [{
- order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- 'grid-cols': [{
- 'grid-cols': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start-end': [{
- col: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start': [{
- 'col-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-end': [{
- 'col-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- 'grid-rows': [{
- 'grid-rows': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start-end': [{
- row: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start': [{
- 'row-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-end': [{
- 'row-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- 'grid-flow': [{
- 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
- }],
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- 'auto-cols': [{
- 'auto-cols': scaleGridAutoColsRows()
- }],
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- 'auto-rows': [{
- 'auto-rows': scaleGridAutoColsRows()
- }],
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- gap: [{
- gap: scaleUnambiguousSpacing()
- }],
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-x': [{
- 'gap-x': scaleUnambiguousSpacing()
- }],
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-y': [{
- 'gap-y': scaleUnambiguousSpacing()
- }],
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- 'justify-content': [{
- justify: [...scaleAlignPrimaryAxis(), 'normal']
- }],
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- 'justify-items': [{
- 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']
- }],
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- 'justify-self': [{
- 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]
- }],
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- 'align-content': [{
- content: ['normal', ...scaleAlignPrimaryAxis()]
- }],
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- 'align-items': [{
- items: [...scaleAlignSecondaryAxis(), {
- baseline: ['', 'last']
- }]
- }],
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- 'align-self': [{
- self: ['auto', ...scaleAlignSecondaryAxis(), {
- baseline: ['', 'last']
- }]
- }],
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- 'place-content': [{
- 'place-content': scaleAlignPrimaryAxis()
- }],
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- 'place-items': [{
- 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']
- }],
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- 'place-self': [{
- 'place-self': ['auto', ...scaleAlignSecondaryAxis()]
- }],
- // Spacing
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- p: [{
- p: scaleUnambiguousSpacing()
- }],
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- px: [{
- px: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- py: [{
- py: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- ps: [{
- ps: scaleUnambiguousSpacing()
- }],
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- pe: [{
- pe: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- pt: [{
- pt: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- pr: [{
- pr: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- pb: [{
- pb: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- pl: [{
- pl: scaleUnambiguousSpacing()
- }],
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- m: [{
- m: scaleMargin()
- }],
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- mx: [{
- mx: scaleMargin()
- }],
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- my: [{
- my: scaleMargin()
- }],
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- ms: [{
- ms: scaleMargin()
- }],
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- me: [{
- me: scaleMargin()
- }],
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- mt: [{
- mt: scaleMargin()
- }],
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- mr: [{
- mr: scaleMargin()
- }],
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- mb: [{
- mb: scaleMargin()
- }],
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- ml: [{
- ml: scaleMargin()
- }],
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x': [{
- 'space-x': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x-reverse': ['space-x-reverse'],
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y': [{
- 'space-y': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y-reverse': ['space-y-reverse'],
- // --------------
- // --- Sizing ---
- // --------------
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- size: [{
- size: scaleSizing()
- }],
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- w: [{
- w: [themeContainer, 'screen', ...scaleSizing()]
- }],
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- 'min-w': [{
- 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'none', ...scaleSizing()]
- }],
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- 'max-w': [{
- 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- {
- screen: [themeBreakpoint]
- }, ...scaleSizing()]
- }],
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- h: [{
- h: ['screen', 'lh', ...scaleSizing()]
- }],
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- 'min-h': [{
- 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]
- }],
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- 'max-h': [{
- 'max-h': ['screen', 'lh', ...scaleSizing()]
- }],
- // ------------------
- // --- Typography ---
- // ------------------
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- 'font-size': [{
- text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- 'font-style': ['italic', 'not-italic'],
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- 'font-weight': [{
- font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- 'font-stretch': [{
- 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]
- }],
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- 'font-family': [{
- font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
- }],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-normal': ['normal-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-ordinal': ['ordinal'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-slashed-zero': ['slashed-zero'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- tracking: [{
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- 'line-clamp': [{
- 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- leading: [{
- leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- themeLeading, ...scaleUnambiguousSpacing()]
- }],
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- 'list-image': [{
- 'list-image': ['none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- 'list-style-position': [{
- list: ['inside', 'outside']
- }],
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- 'list-style-type': [{
- list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- 'text-alignment': [{
- text: ['left', 'center', 'right', 'justify', 'start', 'end']
- }],
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- 'placeholder-color': [{
- placeholder: scaleColor()
- }],
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- 'text-color': [{
- text: scaleColor()
- }],
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- 'text-decoration-style': [{
- decoration: [...scaleLineStyle(), 'wavy']
- }],
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- 'text-decoration-thickness': [{
- decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]
- }],
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- 'text-decoration-color': [{
- decoration: scaleColor()
- }],
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- 'underline-offset': [{
- 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- 'text-wrap': [{
- text: ['wrap', 'nowrap', 'balance', 'pretty']
- }],
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- indent: [{
- indent: scaleUnambiguousSpacing()
- }],
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- 'vertical-align': [{
- align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- whitespace: [{
- whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
- }],
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- break: [{
- break: ['normal', 'words', 'all', 'keep']
- }],
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- wrap: [{
- wrap: ['break-word', 'anywhere', 'normal']
- }],
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- hyphens: [{
- hyphens: ['none', 'manual', 'auto']
- }],
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- content: [{
- content: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // -------------------
- // --- Backgrounds ---
- // -------------------
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- 'bg-attachment': [{
- bg: ['fixed', 'local', 'scroll']
- }],
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- 'bg-clip': [{
- 'bg-clip': ['border', 'padding', 'content', 'text']
- }],
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- 'bg-origin': [{
- 'bg-origin': ['border', 'padding', 'content']
- }],
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- 'bg-position': [{
- bg: scaleBgPosition()
- }],
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- 'bg-repeat': [{
- bg: scaleBgRepeat()
- }],
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- 'bg-size': [{
- bg: scaleBgSize()
- }],
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- 'bg-image': [{
- bg: ['none', {
- linear: [{
- to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
- }, isInteger, isArbitraryVariable, isArbitraryValue],
- radial: ['', isArbitraryVariable, isArbitraryValue],
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
- }, isArbitraryVariableImage, isArbitraryImage]
- }],
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- 'bg-color': [{
- bg: scaleColor()
- }],
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from-pos': [{
- from: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via-pos': [{
- via: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to-pos': [{
- to: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from': [{
- from: scaleColor()
- }],
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via': [{
- via: scaleColor()
- }],
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to': [{
- to: scaleColor()
- }],
- // ---------------
- // --- Borders ---
- // ---------------
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- rounded: [{
- rounded: scaleRadius()
- }],
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-s': [{
- 'rounded-s': scaleRadius()
- }],
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-e': [{
- 'rounded-e': scaleRadius()
- }],
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-t': [{
- 'rounded-t': scaleRadius()
- }],
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-r': [{
- 'rounded-r': scaleRadius()
- }],
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-b': [{
- 'rounded-b': scaleRadius()
- }],
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-l': [{
- 'rounded-l': scaleRadius()
- }],
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ss': [{
- 'rounded-ss': scaleRadius()
- }],
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-se': [{
- 'rounded-se': scaleRadius()
- }],
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ee': [{
- 'rounded-ee': scaleRadius()
- }],
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-es': [{
- 'rounded-es': scaleRadius()
- }],
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tl': [{
- 'rounded-tl': scaleRadius()
- }],
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tr': [{
- 'rounded-tr': scaleRadius()
- }],
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-br': [{
- 'rounded-br': scaleRadius()
- }],
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-bl': [{
- 'rounded-bl': scaleRadius()
- }],
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w': [{
- border: scaleBorderWidth()
- }],
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-x': [{
- 'border-x': scaleBorderWidth()
- }],
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-y': [{
- 'border-y': scaleBorderWidth()
- }],
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-s': [{
- 'border-s': scaleBorderWidth()
- }],
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-e': [{
- 'border-e': scaleBorderWidth()
- }],
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-t': [{
- 'border-t': scaleBorderWidth()
- }],
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-r': [{
- 'border-r': scaleBorderWidth()
- }],
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-b': [{
- 'border-b': scaleBorderWidth()
- }],
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-l': [{
- 'border-l': scaleBorderWidth()
- }],
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x': [{
- 'divide-x': scaleBorderWidth()
- }],
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x-reverse': ['divide-x-reverse'],
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y': [{
- 'divide-y': scaleBorderWidth()
- }],
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y-reverse': ['divide-y-reverse'],
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- 'border-style': [{
- border: [...scaleLineStyle(), 'hidden', 'none']
- }],
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- 'divide-style': [{
- divide: [...scaleLineStyle(), 'hidden', 'none']
- }],
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color': [{
- border: scaleColor()
- }],
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-x': [{
- 'border-x': scaleColor()
- }],
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-y': [{
- 'border-y': scaleColor()
- }],
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-s': [{
- 'border-s': scaleColor()
- }],
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-e': [{
- 'border-e': scaleColor()
- }],
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-t': [{
- 'border-t': scaleColor()
- }],
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-r': [{
- 'border-r': scaleColor()
- }],
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-b': [{
- 'border-b': scaleColor()
- }],
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-l': [{
- 'border-l': scaleColor()
- }],
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- 'divide-color': [{
- divide: scaleColor()
- }],
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- 'outline-style': [{
- outline: [...scaleLineStyle(), 'none', 'hidden']
- }],
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- 'outline-offset': [{
- 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- 'outline-w': [{
- outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- 'outline-color': [{
- outline: scaleColor()
- }],
- // ---------------
- // --- Effects ---
- // ---------------
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- shadow: [{
- shadow: [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- 'shadow-color': [{
- shadow: scaleColor()
- }],
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- 'inset-shadow': [{
- 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- 'inset-shadow-color': [{
- 'inset-shadow': scaleColor()
- }],
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- 'ring-w': [{
- ring: scaleBorderWidth()
- }],
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-w-inset': ['ring-inset'],
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- 'ring-color': [{
- ring: scaleColor()
- }],
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-w': [{
- 'ring-offset': [isNumber, isArbitraryLength]
- }],
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-color': [{
- 'ring-offset': scaleColor()
- }],
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- 'inset-ring-w': [{
- 'inset-ring': scaleBorderWidth()
- }],
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- 'inset-ring-color': [{
- 'inset-ring': scaleColor()
- }],
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- 'text-shadow': [{
- 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- 'text-shadow-color': [{
- 'text-shadow': scaleColor()
- }],
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- opacity: [{
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- 'mix-blend': [{
- 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']
- }],
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- 'bg-blend': [{
- 'bg-blend': scaleBlendMode()
- }],
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- 'mask-clip': [{
- 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }, 'mask-no-clip'],
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- 'mask-composite': [{
- mask: ['add', 'subtract', 'intersect', 'exclude']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image-linear-pos': [{
- 'mask-linear': [isNumber]
- }],
- 'mask-image-linear-from-pos': [{
- 'mask-linear-from': scaleMaskImagePosition()
- }],
- 'mask-image-linear-to-pos': [{
- 'mask-linear-to': scaleMaskImagePosition()
- }],
- 'mask-image-linear-from-color': [{
- 'mask-linear-from': scaleColor()
- }],
- 'mask-image-linear-to-color': [{
- 'mask-linear-to': scaleColor()
- }],
- 'mask-image-t-from-pos': [{
- 'mask-t-from': scaleMaskImagePosition()
- }],
- 'mask-image-t-to-pos': [{
- 'mask-t-to': scaleMaskImagePosition()
- }],
- 'mask-image-t-from-color': [{
- 'mask-t-from': scaleColor()
- }],
- 'mask-image-t-to-color': [{
- 'mask-t-to': scaleColor()
- }],
- 'mask-image-r-from-pos': [{
- 'mask-r-from': scaleMaskImagePosition()
- }],
- 'mask-image-r-to-pos': [{
- 'mask-r-to': scaleMaskImagePosition()
- }],
- 'mask-image-r-from-color': [{
- 'mask-r-from': scaleColor()
- }],
- 'mask-image-r-to-color': [{
- 'mask-r-to': scaleColor()
- }],
- 'mask-image-b-from-pos': [{
- 'mask-b-from': scaleMaskImagePosition()
- }],
- 'mask-image-b-to-pos': [{
- 'mask-b-to': scaleMaskImagePosition()
- }],
- 'mask-image-b-from-color': [{
- 'mask-b-from': scaleColor()
- }],
- 'mask-image-b-to-color': [{
- 'mask-b-to': scaleColor()
- }],
- 'mask-image-l-from-pos': [{
- 'mask-l-from': scaleMaskImagePosition()
- }],
- 'mask-image-l-to-pos': [{
- 'mask-l-to': scaleMaskImagePosition()
- }],
- 'mask-image-l-from-color': [{
- 'mask-l-from': scaleColor()
- }],
- 'mask-image-l-to-color': [{
- 'mask-l-to': scaleColor()
- }],
- 'mask-image-x-from-pos': [{
- 'mask-x-from': scaleMaskImagePosition()
- }],
- 'mask-image-x-to-pos': [{
- 'mask-x-to': scaleMaskImagePosition()
- }],
- 'mask-image-x-from-color': [{
- 'mask-x-from': scaleColor()
- }],
- 'mask-image-x-to-color': [{
- 'mask-x-to': scaleColor()
- }],
- 'mask-image-y-from-pos': [{
- 'mask-y-from': scaleMaskImagePosition()
- }],
- 'mask-image-y-to-pos': [{
- 'mask-y-to': scaleMaskImagePosition()
- }],
- 'mask-image-y-from-color': [{
- 'mask-y-from': scaleColor()
- }],
- 'mask-image-y-to-color': [{
- 'mask-y-to': scaleColor()
- }],
- 'mask-image-radial': [{
- 'mask-radial': [isArbitraryVariable, isArbitraryValue]
- }],
- 'mask-image-radial-from-pos': [{
- 'mask-radial-from': scaleMaskImagePosition()
- }],
- 'mask-image-radial-to-pos': [{
- 'mask-radial-to': scaleMaskImagePosition()
- }],
- 'mask-image-radial-from-color': [{
- 'mask-radial-from': scaleColor()
- }],
- 'mask-image-radial-to-color': [{
- 'mask-radial-to': scaleColor()
- }],
- 'mask-image-radial-shape': [{
- 'mask-radial': ['circle', 'ellipse']
- }],
- 'mask-image-radial-size': [{
- 'mask-radial': [{
- closest: ['side', 'corner'],
- farthest: ['side', 'corner']
- }]
- }],
- 'mask-image-radial-pos': [{
- 'mask-radial-at': scalePosition()
- }],
- 'mask-image-conic-pos': [{
- 'mask-conic': [isNumber]
- }],
- 'mask-image-conic-from-pos': [{
- 'mask-conic-from': scaleMaskImagePosition()
- }],
- 'mask-image-conic-to-pos': [{
- 'mask-conic-to': scaleMaskImagePosition()
- }],
- 'mask-image-conic-from-color': [{
- 'mask-conic-from': scaleColor()
- }],
- 'mask-image-conic-to-color': [{
- 'mask-conic-to': scaleColor()
- }],
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- 'mask-mode': [{
- mask: ['alpha', 'luminance', 'match']
- }],
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- 'mask-origin': [{
- 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }],
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- 'mask-position': [{
- mask: scaleBgPosition()
- }],
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- 'mask-repeat': [{
- mask: scaleBgRepeat()
- }],
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- 'mask-size': [{
- mask: scaleBgSize()
- }],
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- 'mask-type': [{
- 'mask-type': ['alpha', 'luminance']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image': [{
- mask: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // ---------------
- // --- Filters ---
- // ---------------
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- filter: [{
- filter: [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- blur: [{
- blur: scaleBlur()
- }],
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- brightness: [{
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- contrast: [{
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- 'drop-shadow': [{
- 'drop-shadow': [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- 'drop-shadow-color': [{
- 'drop-shadow': scaleColor()
- }],
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- grayscale: [{
- grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- 'hue-rotate': [{
- 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- invert: [{
- invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- saturate: [{
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- sepia: [{
- sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- 'backdrop-filter': [{
- 'backdrop-filter': [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- 'backdrop-blur': [{
- 'backdrop-blur': scaleBlur()
- }],
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- 'backdrop-brightness': [{
- 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- 'backdrop-contrast': [{
- 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- 'backdrop-grayscale': [{
- 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- 'backdrop-hue-rotate': [{
- 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- 'backdrop-invert': [{
- 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- 'backdrop-opacity': [{
- 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- 'backdrop-saturate': [{
- 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- 'backdrop-sepia': [{
- 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- // --------------
- // --- Tables ---
- // --------------
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- 'border-collapse': [{
- border: ['collapse', 'separate']
- }],
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing': [{
- 'border-spacing': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-x': [{
- 'border-spacing-x': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-y': [{
- 'border-spacing-y': scaleUnambiguousSpacing()
- }],
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- 'table-layout': [{
- table: ['auto', 'fixed']
- }],
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- caption: [{
- caption: ['top', 'bottom']
- }],
- // ---------------------------------
- // --- Transitions and Animation ---
- // ---------------------------------
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- transition: [{
- transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- 'transition-behavior': [{
- transition: ['normal', 'discrete']
- }],
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- duration: [{
- duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- ease: [{
- ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- delay: [{
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- animate: [{
- animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------
- // --- Transforms ---
- // ------------------
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- backface: [{
- backface: ['hidden', 'visible']
- }],
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- perspective: [{
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- 'perspective-origin': [{
- 'perspective-origin': scalePositionWithArbitrary()
- }],
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- rotate: [{
- rotate: scaleRotate()
- }],
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-x': [{
- 'rotate-x': scaleRotate()
- }],
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-y': [{
- 'rotate-y': scaleRotate()
- }],
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-z': [{
- 'rotate-z': scaleRotate()
- }],
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- scale: [{
- scale: scaleScale()
- }],
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-x': [{
- 'scale-x': scaleScale()
- }],
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-y': [{
- 'scale-y': scaleScale()
- }],
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-z': [{
- 'scale-z': scaleScale()
- }],
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-3d': ['scale-3d'],
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- skew: [{
- skew: scaleSkew()
- }],
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-x': [{
- 'skew-x': scaleSkew()
- }],
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-y': [{
- 'skew-y': scaleSkew()
- }],
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- transform: [{
- transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']
- }],
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- 'transform-origin': [{
- origin: scalePositionWithArbitrary()
- }],
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- 'transform-style': [{
- transform: ['3d', 'flat']
- }],
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- translate: [{
- translate: scaleTranslate()
- }],
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-x': [{
- 'translate-x': scaleTranslate()
- }],
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-y': [{
- 'translate-y': scaleTranslate()
- }],
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-z': [{
- 'translate-z': scaleTranslate()
- }],
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-none': ['translate-none'],
- // ---------------------
- // --- Interactivity ---
- // ---------------------
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- accent: [{
- accent: scaleColor()
- }],
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- appearance: [{
- appearance: ['none', 'auto']
- }],
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- 'caret-color': [{
- caret: scaleColor()
- }],
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- 'color-scheme': [{
- scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']
- }],
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- cursor: [{
- cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- 'field-sizing': [{
- 'field-sizing': ['fixed', 'content']
- }],
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- 'pointer-events': [{
- 'pointer-events': ['auto', 'none']
- }],
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- resize: [{
- resize: ['none', '', 'y', 'x']
- }],
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- 'scroll-behavior': [{
- scroll: ['auto', 'smooth']
- }],
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-m': [{
- 'scroll-m': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mx': [{
- 'scroll-mx': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-my': [{
- 'scroll-my': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ms': [{
- 'scroll-ms': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-me': [{
- 'scroll-me': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mt': [{
- 'scroll-mt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mr': [{
- 'scroll-mr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mb': [{
- 'scroll-mb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ml': [{
- 'scroll-ml': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-p': [{
- 'scroll-p': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-px': [{
- 'scroll-px': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-py': [{
- 'scroll-py': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-ps': [{
- 'scroll-ps': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pe': [{
- 'scroll-pe': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pt': [{
- 'scroll-pt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pr': [{
- 'scroll-pr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pb': [{
- 'scroll-pb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pl': [{
- 'scroll-pl': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- 'snap-align': [{
- snap: ['start', 'end', 'center', 'align-none']
- }],
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- 'snap-stop': [{
- snap: ['normal', 'always']
- }],
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-type': [{
- snap: ['none', 'x', 'y', 'both']
- }],
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-strictness': [{
- snap: ['mandatory', 'proximity']
- }],
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- touch: [{
- touch: ['auto', 'none', 'manipulation']
- }],
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-x': [{
- 'touch-pan': ['x', 'left', 'right']
- }],
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-y': [{
- 'touch-pan': ['y', 'up', 'down']
- }],
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-pz': ['touch-pinch-zoom'],
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- select: [{
- select: ['none', 'text', 'all', 'auto']
- }],
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- 'will-change': [{
- 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]
- }],
- // -----------
- // --- SVG ---
- // -----------
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- fill: [{
- fill: ['none', ...scaleColor()]
- }],
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- 'stroke-w': [{
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
- }],
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- stroke: [{
- stroke: ['none', ...scaleColor()]
- }],
- // ---------------------
- // --- Accessibility ---
- // ---------------------
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- 'forced-color-adjust': [{
- 'forced-color-adjust': ['auto', 'none']
- }]
- },
- conflictingClassGroups: {
- overflow: ['overflow-x', 'overflow-y'],
- overscroll: ['overscroll-x', 'overscroll-y'],
- inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
- 'inset-x': ['right', 'left'],
- 'inset-y': ['top', 'bottom'],
- flex: ['basis', 'grow', 'shrink'],
- gap: ['gap-x', 'gap-y'],
- p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
- px: ['pr', 'pl'],
- py: ['pt', 'pb'],
- m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
- mx: ['mr', 'ml'],
- my: ['mt', 'mb'],
- size: ['w', 'h'],
- 'font-size': ['leading'],
- 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
- 'fvn-ordinal': ['fvn-normal'],
- 'fvn-slashed-zero': ['fvn-normal'],
- 'fvn-figure': ['fvn-normal'],
- 'fvn-spacing': ['fvn-normal'],
- 'fvn-fraction': ['fvn-normal'],
- 'line-clamp': ['display', 'overflow'],
- rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],
- 'rounded-s': ['rounded-ss', 'rounded-es'],
- 'rounded-e': ['rounded-se', 'rounded-ee'],
- 'rounded-t': ['rounded-tl', 'rounded-tr'],
- 'rounded-r': ['rounded-tr', 'rounded-br'],
- 'rounded-b': ['rounded-br', 'rounded-bl'],
- 'rounded-l': ['rounded-tl', 'rounded-bl'],
- 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
- 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
- 'border-w-x': ['border-w-r', 'border-w-l'],
- 'border-w-y': ['border-w-t', 'border-w-b'],
- 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
- 'border-color-x': ['border-color-r', 'border-color-l'],
- 'border-color-y': ['border-color-t', 'border-color-b'],
- translate: ['translate-x', 'translate-y', 'translate-none'],
- 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
- 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
- 'scroll-mx': ['scroll-mr', 'scroll-ml'],
- 'scroll-my': ['scroll-mt', 'scroll-mb'],
- 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
- 'scroll-px': ['scroll-pr', 'scroll-pl'],
- 'scroll-py': ['scroll-pt', 'scroll-pb'],
- touch: ['touch-x', 'touch-y', 'touch-pz'],
- 'touch-x': ['touch'],
- 'touch-y': ['touch'],
- 'touch-pz': ['touch']
- },
- conflictingClassGroupModifiers: {
- 'font-size': ['leading']
- },
- orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']
- };
-};
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-const mergeConfigs = (baseConfig, {
- cacheSize,
- prefix,
- experimentalParseClassName,
- extend = {},
- override = {}
-}) => {
- overrideProperty(baseConfig, 'cacheSize', cacheSize);
- overrideProperty(baseConfig, 'prefix', prefix);
- overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);
- overrideConfigProperties(baseConfig.theme, override.theme);
- overrideConfigProperties(baseConfig.classGroups, override.classGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
- overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);
- mergeConfigProperties(baseConfig.theme, extend.theme);
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
- mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');
- return baseConfig;
-};
-const overrideProperty = (baseObject, overrideKey, overrideValue) => {
- if (overrideValue !== undefined) {
- baseObject[overrideKey] = overrideValue;
- }
-};
-const overrideConfigProperties = (baseObject, overrideObject) => {
- if (overrideObject) {
- for (const key in overrideObject) {
- overrideProperty(baseObject, key, overrideObject[key]);
- }
- }
-};
-const mergeConfigProperties = (baseObject, mergeObject) => {
- if (mergeObject) {
- for (const key in mergeObject) {
- mergeArrayProperties(baseObject, mergeObject, key);
- }
- }
-};
-const mergeArrayProperties = (baseObject, mergeObject, key) => {
- const mergeValue = mergeObject[key];
- if (mergeValue !== undefined) {
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
- }
-};
-const extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
-const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
-exports.createTailwindMerge = createTailwindMerge;
-exports.extendTailwindMerge = extendTailwindMerge;
-exports.fromTheme = fromTheme;
-exports.getDefaultConfig = getDefaultConfig;
-exports.mergeConfigs = mergeConfigs;
-exports.twJoin = twJoin;
-exports.twMerge = twMerge;
-exports.validators = validators;
-//# sourceMappingURL=bundle-cjs.js.map
diff --git a/node_modules/tailwind-merge/dist/bundle-cjs.js.map b/node_modules/tailwind-merge/dist/bundle-cjs.js.map
deleted file mode 100644
index ee5ecc2..0000000
--- a/node_modules/tailwind-merge/dist/bundle-cjs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bundle-cjs.js","sources":["../src/lib/class-group-utils.ts","../src/lib/lru-cache.ts","../src/lib/parse-class-name.ts","../src/lib/sort-modifiers.ts","../src/lib/config-utils.ts","../src/lib/merge-classlist.ts","../src/lib/tw-join.ts","../src/lib/create-tailwind-merge.ts","../src/lib/from-theme.ts","../src/lib/validators.ts","../src/lib/default-config.ts","../src/lib/merge-configs.ts","../src/lib/extend-tailwind-merge.ts","../src/lib/tw-merge.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","Object","entries","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortModifiers","sortedModifiers","unsortedModifiers","isPositionSensitive","sort","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","callTailwindMerge","apply","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","extend","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","concat","extendTailwindMerge","configExtension","createConfig","twMerge"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/tailwind-merge/dist/bundle-mjs.mjs b/node_modules/tailwind-merge/dist/bundle-mjs.mjs
deleted file mode 100644
index 5072c3c..0000000
--- a/node_modules/tailwind-merge/dist/bundle-mjs.mjs
+++ /dev/null
@@ -1,3035 +0,0 @@
-const CLASS_PART_SEPARATOR = '-';
-const createClassGroupUtils = config => {
- const classMap = createClassMap(config);
- const {
- conflictingClassGroups,
- conflictingClassGroupModifiers
- } = config;
- const getClassGroupId = className => {
- const classParts = className.split(CLASS_PART_SEPARATOR);
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
- if (classParts[0] === '' && classParts.length !== 1) {
- classParts.shift();
- }
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
- };
- const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
- const conflicts = conflictingClassGroups[classGroupId] || [];
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
- }
- return conflicts;
- };
- return {
- getClassGroupId,
- getConflictingClassGroupIds
- };
-};
-const getGroupRecursive = (classParts, classPartObject) => {
- if (classParts.length === 0) {
- return classPartObject.classGroupId;
- }
- const currentClassPart = classParts[0];
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
- if (classGroupFromNextClassPart) {
- return classGroupFromNextClassPart;
- }
- if (classPartObject.validators.length === 0) {
- return undefined;
- }
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
- return classPartObject.validators.find(({
- validator
- }) => validator(classRest))?.classGroupId;
-};
-const arbitraryPropertyRegex = /^\[(.+)\]$/;
-const getGroupIdForArbitraryProperty = className => {
- if (arbitraryPropertyRegex.test(className)) {
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
- const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
- if (property) {
- // I use two dots here because one dot is used as prefix for class groups in plugins
- return 'arbitrary..' + property;
- }
- }
-};
-/**
- * Exported for testing only
- */
-const createClassMap = config => {
- const {
- theme,
- classGroups
- } = config;
- const classMap = {
- nextPart: new Map(),
- validators: []
- };
- for (const classGroupId in classGroups) {
- processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
- }
- return classMap;
-};
-const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
- classGroup.forEach(classDefinition => {
- if (typeof classDefinition === 'string') {
- const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
- classPartObjectToEdit.classGroupId = classGroupId;
- return;
- }
- if (typeof classDefinition === 'function') {
- if (isThemeGetter(classDefinition)) {
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
- return;
- }
- classPartObject.validators.push({
- validator: classDefinition,
- classGroupId
- });
- return;
- }
- Object.entries(classDefinition).forEach(([key, classGroup]) => {
- processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
- });
- });
-};
-const getPart = (classPartObject, path) => {
- let currentClassPartObject = classPartObject;
- path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
- if (!currentClassPartObject.nextPart.has(pathPart)) {
- currentClassPartObject.nextPart.set(pathPart, {
- nextPart: new Map(),
- validators: []
- });
- }
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
- });
- return currentClassPartObject;
-};
-const isThemeGetter = func => func.isThemeGetter;
-
-// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
-const createLruCache = maxCacheSize => {
- if (maxCacheSize < 1) {
- return {
- get: () => undefined,
- set: () => {}
- };
- }
- let cacheSize = 0;
- let cache = new Map();
- let previousCache = new Map();
- const update = (key, value) => {
- cache.set(key, value);
- cacheSize++;
- if (cacheSize > maxCacheSize) {
- cacheSize = 0;
- previousCache = cache;
- cache = new Map();
- }
- };
- return {
- get(key) {
- let value = cache.get(key);
- if (value !== undefined) {
- return value;
- }
- if ((value = previousCache.get(key)) !== undefined) {
- update(key, value);
- return value;
- }
- },
- set(key, value) {
- if (cache.has(key)) {
- cache.set(key, value);
- } else {
- update(key, value);
- }
- }
- };
-};
-const IMPORTANT_MODIFIER = '!';
-const MODIFIER_SEPARATOR = ':';
-const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
-const createParseClassName = config => {
- const {
- prefix,
- experimentalParseClassName
- } = config;
- /**
- * Parse class name into parts.
- *
- * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
- */
- let parseClassName = className => {
- const modifiers = [];
- let bracketDepth = 0;
- let parenDepth = 0;
- let modifierStart = 0;
- let postfixModifierPosition;
- for (let index = 0; index < className.length; index++) {
- let currentCharacter = className[index];
- if (bracketDepth === 0 && parenDepth === 0) {
- if (currentCharacter === MODIFIER_SEPARATOR) {
- modifiers.push(className.slice(modifierStart, index));
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
- continue;
- }
- if (currentCharacter === '/') {
- postfixModifierPosition = index;
- continue;
- }
- }
- if (currentCharacter === '[') {
- bracketDepth++;
- } else if (currentCharacter === ']') {
- bracketDepth--;
- } else if (currentCharacter === '(') {
- parenDepth++;
- } else if (currentCharacter === ')') {
- parenDepth--;
- }
- }
- const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
- const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
- const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
- const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
- return {
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition
- };
- };
- if (prefix) {
- const fullPrefix = prefix + MODIFIER_SEPARATOR;
- const parseClassNameOriginal = parseClassName;
- parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
- isExternal: true,
- modifiers: [],
- hasImportantModifier: false,
- baseClassName: className,
- maybePostfixModifierPosition: undefined
- };
- }
- if (experimentalParseClassName) {
- const parseClassNameOriginal = parseClassName;
- parseClassName = className => experimentalParseClassName({
- className,
- parseClassName: parseClassNameOriginal
- });
- }
- return parseClassName;
-};
-const stripImportantModifier = baseClassName => {
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(0, baseClassName.length - 1);
- }
- /**
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
- */
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(1);
- }
- return baseClassName;
-};
-
-/**
- * Sorts modifiers according to following schema:
- * - Predefined modifiers are sorted alphabetically
- * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
- */
-const createSortModifiers = config => {
- const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));
- const sortModifiers = modifiers => {
- if (modifiers.length <= 1) {
- return modifiers;
- }
- const sortedModifiers = [];
- let unsortedModifiers = [];
- modifiers.forEach(modifier => {
- const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
- if (isPositionSensitive) {
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
- unsortedModifiers = [];
- } else {
- unsortedModifiers.push(modifier);
- }
- });
- sortedModifiers.push(...unsortedModifiers.sort());
- return sortedModifiers;
- };
- return sortModifiers;
-};
-const createConfigUtils = config => ({
- cache: createLruCache(config.cacheSize),
- parseClassName: createParseClassName(config),
- sortModifiers: createSortModifiers(config),
- ...createClassGroupUtils(config)
-});
-const SPLIT_CLASSES_REGEX = /\s+/;
-const mergeClassList = (classList, configUtils) => {
- const {
- parseClassName,
- getClassGroupId,
- getConflictingClassGroupIds,
- sortModifiers
- } = configUtils;
- /**
- * Set of classGroupIds in following format:
- * `{importantModifier}{variantModifiers}{classGroupId}`
- * @example 'float'
- * @example 'hover:focus:bg-color'
- * @example 'md:!pr'
- */
- const classGroupsInConflict = [];
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
- let result = '';
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
- const originalClassName = classNames[index];
- const {
- isExternal,
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition
- } = parseClassName(originalClassName);
- if (isExternal) {
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- let hasPostfixModifier = !!maybePostfixModifierPosition;
- let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
- if (!classGroupId) {
- if (!hasPostfixModifier) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- classGroupId = getClassGroupId(baseClassName);
- if (!classGroupId) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- hasPostfixModifier = false;
- }
- const variantModifier = sortModifiers(modifiers).join(':');
- const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
- const classId = modifierId + classGroupId;
- if (classGroupsInConflict.includes(classId)) {
- // Tailwind class omitted due to conflict
- continue;
- }
- classGroupsInConflict.push(classId);
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
- for (let i = 0; i < conflictGroups.length; ++i) {
- const group = conflictGroups[i];
- classGroupsInConflict.push(modifierId + group);
- }
- // Tailwind class not in conflict
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- }
- return result;
-};
-
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com)
- */
-function twJoin() {
- let index = 0;
- let argument;
- let resolvedValue;
- let string = '';
- while (index < arguments.length) {
- if (argument = arguments[index++]) {
- if (resolvedValue = toValue(argument)) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-}
-const toValue = mix => {
- if (typeof mix === 'string') {
- return mix;
- }
- let resolvedValue;
- let string = '';
- for (let k = 0; k < mix.length; k++) {
- if (mix[k]) {
- if (resolvedValue = toValue(mix[k])) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-};
-function createTailwindMerge(createConfigFirst, ...createConfigRest) {
- let configUtils;
- let cacheGet;
- let cacheSet;
- let functionToCall = initTailwindMerge;
- function initTailwindMerge(classList) {
- const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
- configUtils = createConfigUtils(config);
- cacheGet = configUtils.cache.get;
- cacheSet = configUtils.cache.set;
- functionToCall = tailwindMerge;
- return tailwindMerge(classList);
- }
- function tailwindMerge(classList) {
- const cachedResult = cacheGet(classList);
- if (cachedResult) {
- return cachedResult;
- }
- const result = mergeClassList(classList, configUtils);
- cacheSet(classList, result);
- return result;
- }
- return function callTailwindMerge() {
- return functionToCall(twJoin.apply(null, arguments));
- };
-}
-const fromTheme = key => {
- const themeGetter = theme => theme[key] || [];
- themeGetter.isThemeGetter = true;
- return themeGetter;
-};
-const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
-const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
-const fractionRegex = /^\d+\/\d+$/;
-const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
-const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
-const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
-// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
-const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
-const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
-const isFraction = value => fractionRegex.test(value);
-const isNumber = value => !!value && !Number.isNaN(Number(value));
-const isInteger = value => !!value && Number.isInteger(Number(value));
-const isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));
-const isTshirtSize = value => tshirtUnitRegex.test(value);
-const isAny = () => true;
-const isLengthOnly = value =>
-// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
-// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
-// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
-lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
-const isNever = () => false;
-const isShadow = value => shadowRegex.test(value);
-const isImage = value => imageRegex.test(value);
-const isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);
-const isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);
-const isArbitraryValue = value => arbitraryValueRegex.test(value);
-const isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
-const isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);
-const isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);
-const isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);
-const isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);
-const isArbitraryVariable = value => arbitraryVariableRegex.test(value);
-const isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);
-const isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);
-const isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);
-const isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);
-const isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);
-const isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);
-// Helpers
-const getIsArbitraryValue = (value, testLabel, testValue) => {
- const result = arbitraryValueRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return testValue(result[2]);
- }
- return false;
-};
-const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
- const result = arbitraryVariableRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return shouldMatchNoLabel;
- }
- return false;
-};
-// Labels
-const isLabelPosition = label => label === 'position' || label === 'percentage';
-const isLabelImage = label => label === 'image' || label === 'url';
-const isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';
-const isLabelLength = label => label === 'length';
-const isLabelNumber = label => label === 'number';
-const isLabelFamilyName = label => label === 'family-name';
-const isLabelShadow = label => label === 'shadow';
-const validators = /*#__PURE__*/Object.defineProperty({
- __proto__: null,
- isAny,
- isAnyNonArbitrary,
- isArbitraryImage,
- isArbitraryLength,
- isArbitraryNumber,
- isArbitraryPosition,
- isArbitraryShadow,
- isArbitrarySize,
- isArbitraryValue,
- isArbitraryVariable,
- isArbitraryVariableFamilyName,
- isArbitraryVariableImage,
- isArbitraryVariableLength,
- isArbitraryVariablePosition,
- isArbitraryVariableShadow,
- isArbitraryVariableSize,
- isFraction,
- isInteger,
- isNumber,
- isPercent,
- isTshirtSize
-}, Symbol.toStringTag, {
- value: 'Module'
-});
-const getDefaultConfig = () => {
- /**
- * Theme getters for theme variable namespaces
- * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
- */
- /***/
- const themeColor = fromTheme('color');
- const themeFont = fromTheme('font');
- const themeText = fromTheme('text');
- const themeFontWeight = fromTheme('font-weight');
- const themeTracking = fromTheme('tracking');
- const themeLeading = fromTheme('leading');
- const themeBreakpoint = fromTheme('breakpoint');
- const themeContainer = fromTheme('container');
- const themeSpacing = fromTheme('spacing');
- const themeRadius = fromTheme('radius');
- const themeShadow = fromTheme('shadow');
- const themeInsetShadow = fromTheme('inset-shadow');
- const themeTextShadow = fromTheme('text-shadow');
- const themeDropShadow = fromTheme('drop-shadow');
- const themeBlur = fromTheme('blur');
- const themePerspective = fromTheme('perspective');
- const themeAspect = fromTheme('aspect');
- const themeEase = fromTheme('ease');
- const themeAnimate = fromTheme('animate');
- /**
- * Helpers to avoid repeating the same scales
- *
- * We use functions that create a new array every time they're called instead of static arrays.
- * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
- */
- /***/
- const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
- const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-top', 'top-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-top', 'bottom-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-bottom', 'bottom-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-bottom'];
- const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
- const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];
- const scaleOverscroll = () => ['auto', 'contain', 'none'];
- const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
- const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];
- const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];
- const scaleGridColRowStartAndEnd = () => ['auto', {
- span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]
- }, isInteger, isArbitraryVariable, isArbitraryValue];
- const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];
- const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];
- const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];
- const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];
- const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];
- const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];
- const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
- const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
- position: [isArbitraryVariable, isArbitraryValue]
- }];
- const scaleBgRepeat = () => ['no-repeat', {
- repeat: ['', 'x', 'y', 'space', 'round']
- }];
- const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {
- size: [isArbitraryVariable, isArbitraryValue]
- }];
- const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
- const scaleRadius = () => [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];
- const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];
- const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];
- const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];
- const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
- const scaleBlur = () => [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];
- const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
- const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];
- return {
- cacheSize: 500,
- theme: {
- animate: ['spin', 'ping', 'pulse', 'bounce'],
- aspect: ['video'],
- blur: [isTshirtSize],
- breakpoint: [isTshirtSize],
- color: [isAny],
- container: [isTshirtSize],
- 'drop-shadow': [isTshirtSize],
- ease: ['in', 'out', 'in-out'],
- font: [isAnyNonArbitrary],
- 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
- 'inset-shadow': [isTshirtSize],
- leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
- perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
- radius: [isTshirtSize],
- shadow: [isTshirtSize],
- spacing: ['px', isNumber],
- text: [isTshirtSize],
- 'text-shadow': [isTshirtSize],
- tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']
- },
- classGroups: {
- // --------------
- // --- Layout ---
- // --------------
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- aspect: [{
- aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
- }],
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- container: ['container'],
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- columns: [{
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
- }],
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- 'break-after': [{
- 'break-after': scaleBreak()
- }],
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- 'break-before': [{
- 'break-before': scaleBreak()
- }],
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- 'break-inside': [{
- 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
- }],
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- 'box-decoration': [{
- 'box-decoration': ['slice', 'clone']
- }],
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- box: [{
- box: ['border', 'content']
- }],
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- sr: ['sr-only', 'not-sr-only'],
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- float: [{
- float: ['right', 'left', 'none', 'start', 'end']
- }],
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- clear: [{
- clear: ['left', 'right', 'both', 'none', 'start', 'end']
- }],
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- isolation: ['isolate', 'isolation-auto'],
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- 'object-fit': [{
- object: ['contain', 'cover', 'fill', 'none', 'scale-down']
- }],
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- 'object-position': [{
- object: scalePositionWithArbitrary()
- }],
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- overflow: [{
- overflow: scaleOverflow()
- }],
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-x': [{
- 'overflow-x': scaleOverflow()
- }],
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-y': [{
- 'overflow-y': scaleOverflow()
- }],
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- overscroll: [{
- overscroll: scaleOverscroll()
- }],
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-x': [{
- 'overscroll-x': scaleOverscroll()
- }],
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-y': [{
- 'overscroll-y': scaleOverscroll()
- }],
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- inset: [{
- inset: scaleInset()
- }],
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-x': [{
- 'inset-x': scaleInset()
- }],
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-y': [{
- 'inset-y': scaleInset()
- }],
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- start: [{
- start: scaleInset()
- }],
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- end: [{
- end: scaleInset()
- }],
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- top: [{
- top: scaleInset()
- }],
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- right: [{
- right: scaleInset()
- }],
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- bottom: [{
- bottom: scaleInset()
- }],
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- left: [{
- left: scaleInset()
- }],
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- visibility: ['visible', 'invisible', 'collapse'],
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- z: [{
- z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------------
- // --- Flexbox and Grid ---
- // ------------------------
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- basis: [{
- basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]
- }],
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- 'flex-direction': [{
- flex: ['row', 'row-reverse', 'col', 'col-reverse']
- }],
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- 'flex-wrap': [{
- flex: ['nowrap', 'wrap', 'wrap-reverse']
- }],
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- flex: [{
- flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]
- }],
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- grow: [{
- grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- shrink: [{
- shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- order: [{
- order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- 'grid-cols': [{
- 'grid-cols': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start-end': [{
- col: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start': [{
- 'col-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-end': [{
- 'col-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- 'grid-rows': [{
- 'grid-rows': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start-end': [{
- row: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start': [{
- 'row-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-end': [{
- 'row-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- 'grid-flow': [{
- 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
- }],
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- 'auto-cols': [{
- 'auto-cols': scaleGridAutoColsRows()
- }],
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- 'auto-rows': [{
- 'auto-rows': scaleGridAutoColsRows()
- }],
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- gap: [{
- gap: scaleUnambiguousSpacing()
- }],
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-x': [{
- 'gap-x': scaleUnambiguousSpacing()
- }],
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-y': [{
- 'gap-y': scaleUnambiguousSpacing()
- }],
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- 'justify-content': [{
- justify: [...scaleAlignPrimaryAxis(), 'normal']
- }],
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- 'justify-items': [{
- 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']
- }],
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- 'justify-self': [{
- 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]
- }],
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- 'align-content': [{
- content: ['normal', ...scaleAlignPrimaryAxis()]
- }],
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- 'align-items': [{
- items: [...scaleAlignSecondaryAxis(), {
- baseline: ['', 'last']
- }]
- }],
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- 'align-self': [{
- self: ['auto', ...scaleAlignSecondaryAxis(), {
- baseline: ['', 'last']
- }]
- }],
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- 'place-content': [{
- 'place-content': scaleAlignPrimaryAxis()
- }],
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- 'place-items': [{
- 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']
- }],
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- 'place-self': [{
- 'place-self': ['auto', ...scaleAlignSecondaryAxis()]
- }],
- // Spacing
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- p: [{
- p: scaleUnambiguousSpacing()
- }],
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- px: [{
- px: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- py: [{
- py: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- ps: [{
- ps: scaleUnambiguousSpacing()
- }],
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- pe: [{
- pe: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- pt: [{
- pt: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- pr: [{
- pr: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- pb: [{
- pb: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- pl: [{
- pl: scaleUnambiguousSpacing()
- }],
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- m: [{
- m: scaleMargin()
- }],
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- mx: [{
- mx: scaleMargin()
- }],
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- my: [{
- my: scaleMargin()
- }],
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- ms: [{
- ms: scaleMargin()
- }],
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- me: [{
- me: scaleMargin()
- }],
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- mt: [{
- mt: scaleMargin()
- }],
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- mr: [{
- mr: scaleMargin()
- }],
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- mb: [{
- mb: scaleMargin()
- }],
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- ml: [{
- ml: scaleMargin()
- }],
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x': [{
- 'space-x': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x-reverse': ['space-x-reverse'],
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y': [{
- 'space-y': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y-reverse': ['space-y-reverse'],
- // --------------
- // --- Sizing ---
- // --------------
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- size: [{
- size: scaleSizing()
- }],
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- w: [{
- w: [themeContainer, 'screen', ...scaleSizing()]
- }],
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- 'min-w': [{
- 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'none', ...scaleSizing()]
- }],
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- 'max-w': [{
- 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- {
- screen: [themeBreakpoint]
- }, ...scaleSizing()]
- }],
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- h: [{
- h: ['screen', 'lh', ...scaleSizing()]
- }],
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- 'min-h': [{
- 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]
- }],
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- 'max-h': [{
- 'max-h': ['screen', 'lh', ...scaleSizing()]
- }],
- // ------------------
- // --- Typography ---
- // ------------------
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- 'font-size': [{
- text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- 'font-style': ['italic', 'not-italic'],
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- 'font-weight': [{
- font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- 'font-stretch': [{
- 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]
- }],
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- 'font-family': [{
- font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
- }],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-normal': ['normal-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-ordinal': ['ordinal'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-slashed-zero': ['slashed-zero'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- tracking: [{
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- 'line-clamp': [{
- 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- leading: [{
- leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- themeLeading, ...scaleUnambiguousSpacing()]
- }],
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- 'list-image': [{
- 'list-image': ['none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- 'list-style-position': [{
- list: ['inside', 'outside']
- }],
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- 'list-style-type': [{
- list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- 'text-alignment': [{
- text: ['left', 'center', 'right', 'justify', 'start', 'end']
- }],
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- 'placeholder-color': [{
- placeholder: scaleColor()
- }],
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- 'text-color': [{
- text: scaleColor()
- }],
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- 'text-decoration-style': [{
- decoration: [...scaleLineStyle(), 'wavy']
- }],
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- 'text-decoration-thickness': [{
- decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]
- }],
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- 'text-decoration-color': [{
- decoration: scaleColor()
- }],
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- 'underline-offset': [{
- 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- 'text-wrap': [{
- text: ['wrap', 'nowrap', 'balance', 'pretty']
- }],
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- indent: [{
- indent: scaleUnambiguousSpacing()
- }],
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- 'vertical-align': [{
- align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- whitespace: [{
- whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
- }],
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- break: [{
- break: ['normal', 'words', 'all', 'keep']
- }],
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- wrap: [{
- wrap: ['break-word', 'anywhere', 'normal']
- }],
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- hyphens: [{
- hyphens: ['none', 'manual', 'auto']
- }],
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- content: [{
- content: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // -------------------
- // --- Backgrounds ---
- // -------------------
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- 'bg-attachment': [{
- bg: ['fixed', 'local', 'scroll']
- }],
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- 'bg-clip': [{
- 'bg-clip': ['border', 'padding', 'content', 'text']
- }],
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- 'bg-origin': [{
- 'bg-origin': ['border', 'padding', 'content']
- }],
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- 'bg-position': [{
- bg: scaleBgPosition()
- }],
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- 'bg-repeat': [{
- bg: scaleBgRepeat()
- }],
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- 'bg-size': [{
- bg: scaleBgSize()
- }],
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- 'bg-image': [{
- bg: ['none', {
- linear: [{
- to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
- }, isInteger, isArbitraryVariable, isArbitraryValue],
- radial: ['', isArbitraryVariable, isArbitraryValue],
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
- }, isArbitraryVariableImage, isArbitraryImage]
- }],
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- 'bg-color': [{
- bg: scaleColor()
- }],
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from-pos': [{
- from: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via-pos': [{
- via: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to-pos': [{
- to: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from': [{
- from: scaleColor()
- }],
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via': [{
- via: scaleColor()
- }],
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to': [{
- to: scaleColor()
- }],
- // ---------------
- // --- Borders ---
- // ---------------
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- rounded: [{
- rounded: scaleRadius()
- }],
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-s': [{
- 'rounded-s': scaleRadius()
- }],
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-e': [{
- 'rounded-e': scaleRadius()
- }],
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-t': [{
- 'rounded-t': scaleRadius()
- }],
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-r': [{
- 'rounded-r': scaleRadius()
- }],
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-b': [{
- 'rounded-b': scaleRadius()
- }],
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-l': [{
- 'rounded-l': scaleRadius()
- }],
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ss': [{
- 'rounded-ss': scaleRadius()
- }],
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-se': [{
- 'rounded-se': scaleRadius()
- }],
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ee': [{
- 'rounded-ee': scaleRadius()
- }],
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-es': [{
- 'rounded-es': scaleRadius()
- }],
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tl': [{
- 'rounded-tl': scaleRadius()
- }],
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tr': [{
- 'rounded-tr': scaleRadius()
- }],
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-br': [{
- 'rounded-br': scaleRadius()
- }],
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-bl': [{
- 'rounded-bl': scaleRadius()
- }],
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w': [{
- border: scaleBorderWidth()
- }],
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-x': [{
- 'border-x': scaleBorderWidth()
- }],
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-y': [{
- 'border-y': scaleBorderWidth()
- }],
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-s': [{
- 'border-s': scaleBorderWidth()
- }],
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-e': [{
- 'border-e': scaleBorderWidth()
- }],
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-t': [{
- 'border-t': scaleBorderWidth()
- }],
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-r': [{
- 'border-r': scaleBorderWidth()
- }],
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-b': [{
- 'border-b': scaleBorderWidth()
- }],
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-l': [{
- 'border-l': scaleBorderWidth()
- }],
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x': [{
- 'divide-x': scaleBorderWidth()
- }],
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x-reverse': ['divide-x-reverse'],
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y': [{
- 'divide-y': scaleBorderWidth()
- }],
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y-reverse': ['divide-y-reverse'],
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- 'border-style': [{
- border: [...scaleLineStyle(), 'hidden', 'none']
- }],
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- 'divide-style': [{
- divide: [...scaleLineStyle(), 'hidden', 'none']
- }],
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color': [{
- border: scaleColor()
- }],
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-x': [{
- 'border-x': scaleColor()
- }],
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-y': [{
- 'border-y': scaleColor()
- }],
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-s': [{
- 'border-s': scaleColor()
- }],
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-e': [{
- 'border-e': scaleColor()
- }],
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-t': [{
- 'border-t': scaleColor()
- }],
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-r': [{
- 'border-r': scaleColor()
- }],
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-b': [{
- 'border-b': scaleColor()
- }],
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-l': [{
- 'border-l': scaleColor()
- }],
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- 'divide-color': [{
- divide: scaleColor()
- }],
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- 'outline-style': [{
- outline: [...scaleLineStyle(), 'none', 'hidden']
- }],
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- 'outline-offset': [{
- 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- 'outline-w': [{
- outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- 'outline-color': [{
- outline: scaleColor()
- }],
- // ---------------
- // --- Effects ---
- // ---------------
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- shadow: [{
- shadow: [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- 'shadow-color': [{
- shadow: scaleColor()
- }],
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- 'inset-shadow': [{
- 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- 'inset-shadow-color': [{
- 'inset-shadow': scaleColor()
- }],
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- 'ring-w': [{
- ring: scaleBorderWidth()
- }],
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-w-inset': ['ring-inset'],
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- 'ring-color': [{
- ring: scaleColor()
- }],
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-w': [{
- 'ring-offset': [isNumber, isArbitraryLength]
- }],
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-color': [{
- 'ring-offset': scaleColor()
- }],
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- 'inset-ring-w': [{
- 'inset-ring': scaleBorderWidth()
- }],
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- 'inset-ring-color': [{
- 'inset-ring': scaleColor()
- }],
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- 'text-shadow': [{
- 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- 'text-shadow-color': [{
- 'text-shadow': scaleColor()
- }],
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- opacity: [{
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- 'mix-blend': [{
- 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']
- }],
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- 'bg-blend': [{
- 'bg-blend': scaleBlendMode()
- }],
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- 'mask-clip': [{
- 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }, 'mask-no-clip'],
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- 'mask-composite': [{
- mask: ['add', 'subtract', 'intersect', 'exclude']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image-linear-pos': [{
- 'mask-linear': [isNumber]
- }],
- 'mask-image-linear-from-pos': [{
- 'mask-linear-from': scaleMaskImagePosition()
- }],
- 'mask-image-linear-to-pos': [{
- 'mask-linear-to': scaleMaskImagePosition()
- }],
- 'mask-image-linear-from-color': [{
- 'mask-linear-from': scaleColor()
- }],
- 'mask-image-linear-to-color': [{
- 'mask-linear-to': scaleColor()
- }],
- 'mask-image-t-from-pos': [{
- 'mask-t-from': scaleMaskImagePosition()
- }],
- 'mask-image-t-to-pos': [{
- 'mask-t-to': scaleMaskImagePosition()
- }],
- 'mask-image-t-from-color': [{
- 'mask-t-from': scaleColor()
- }],
- 'mask-image-t-to-color': [{
- 'mask-t-to': scaleColor()
- }],
- 'mask-image-r-from-pos': [{
- 'mask-r-from': scaleMaskImagePosition()
- }],
- 'mask-image-r-to-pos': [{
- 'mask-r-to': scaleMaskImagePosition()
- }],
- 'mask-image-r-from-color': [{
- 'mask-r-from': scaleColor()
- }],
- 'mask-image-r-to-color': [{
- 'mask-r-to': scaleColor()
- }],
- 'mask-image-b-from-pos': [{
- 'mask-b-from': scaleMaskImagePosition()
- }],
- 'mask-image-b-to-pos': [{
- 'mask-b-to': scaleMaskImagePosition()
- }],
- 'mask-image-b-from-color': [{
- 'mask-b-from': scaleColor()
- }],
- 'mask-image-b-to-color': [{
- 'mask-b-to': scaleColor()
- }],
- 'mask-image-l-from-pos': [{
- 'mask-l-from': scaleMaskImagePosition()
- }],
- 'mask-image-l-to-pos': [{
- 'mask-l-to': scaleMaskImagePosition()
- }],
- 'mask-image-l-from-color': [{
- 'mask-l-from': scaleColor()
- }],
- 'mask-image-l-to-color': [{
- 'mask-l-to': scaleColor()
- }],
- 'mask-image-x-from-pos': [{
- 'mask-x-from': scaleMaskImagePosition()
- }],
- 'mask-image-x-to-pos': [{
- 'mask-x-to': scaleMaskImagePosition()
- }],
- 'mask-image-x-from-color': [{
- 'mask-x-from': scaleColor()
- }],
- 'mask-image-x-to-color': [{
- 'mask-x-to': scaleColor()
- }],
- 'mask-image-y-from-pos': [{
- 'mask-y-from': scaleMaskImagePosition()
- }],
- 'mask-image-y-to-pos': [{
- 'mask-y-to': scaleMaskImagePosition()
- }],
- 'mask-image-y-from-color': [{
- 'mask-y-from': scaleColor()
- }],
- 'mask-image-y-to-color': [{
- 'mask-y-to': scaleColor()
- }],
- 'mask-image-radial': [{
- 'mask-radial': [isArbitraryVariable, isArbitraryValue]
- }],
- 'mask-image-radial-from-pos': [{
- 'mask-radial-from': scaleMaskImagePosition()
- }],
- 'mask-image-radial-to-pos': [{
- 'mask-radial-to': scaleMaskImagePosition()
- }],
- 'mask-image-radial-from-color': [{
- 'mask-radial-from': scaleColor()
- }],
- 'mask-image-radial-to-color': [{
- 'mask-radial-to': scaleColor()
- }],
- 'mask-image-radial-shape': [{
- 'mask-radial': ['circle', 'ellipse']
- }],
- 'mask-image-radial-size': [{
- 'mask-radial': [{
- closest: ['side', 'corner'],
- farthest: ['side', 'corner']
- }]
- }],
- 'mask-image-radial-pos': [{
- 'mask-radial-at': scalePosition()
- }],
- 'mask-image-conic-pos': [{
- 'mask-conic': [isNumber]
- }],
- 'mask-image-conic-from-pos': [{
- 'mask-conic-from': scaleMaskImagePosition()
- }],
- 'mask-image-conic-to-pos': [{
- 'mask-conic-to': scaleMaskImagePosition()
- }],
- 'mask-image-conic-from-color': [{
- 'mask-conic-from': scaleColor()
- }],
- 'mask-image-conic-to-color': [{
- 'mask-conic-to': scaleColor()
- }],
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- 'mask-mode': [{
- mask: ['alpha', 'luminance', 'match']
- }],
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- 'mask-origin': [{
- 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }],
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- 'mask-position': [{
- mask: scaleBgPosition()
- }],
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- 'mask-repeat': [{
- mask: scaleBgRepeat()
- }],
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- 'mask-size': [{
- mask: scaleBgSize()
- }],
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- 'mask-type': [{
- 'mask-type': ['alpha', 'luminance']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image': [{
- mask: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // ---------------
- // --- Filters ---
- // ---------------
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- filter: [{
- filter: [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- blur: [{
- blur: scaleBlur()
- }],
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- brightness: [{
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- contrast: [{
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- 'drop-shadow': [{
- 'drop-shadow': [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- 'drop-shadow-color': [{
- 'drop-shadow': scaleColor()
- }],
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- grayscale: [{
- grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- 'hue-rotate': [{
- 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- invert: [{
- invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- saturate: [{
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- sepia: [{
- sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- 'backdrop-filter': [{
- 'backdrop-filter': [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- 'backdrop-blur': [{
- 'backdrop-blur': scaleBlur()
- }],
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- 'backdrop-brightness': [{
- 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- 'backdrop-contrast': [{
- 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- 'backdrop-grayscale': [{
- 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- 'backdrop-hue-rotate': [{
- 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- 'backdrop-invert': [{
- 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- 'backdrop-opacity': [{
- 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- 'backdrop-saturate': [{
- 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- 'backdrop-sepia': [{
- 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- // --------------
- // --- Tables ---
- // --------------
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- 'border-collapse': [{
- border: ['collapse', 'separate']
- }],
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing': [{
- 'border-spacing': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-x': [{
- 'border-spacing-x': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-y': [{
- 'border-spacing-y': scaleUnambiguousSpacing()
- }],
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- 'table-layout': [{
- table: ['auto', 'fixed']
- }],
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- caption: [{
- caption: ['top', 'bottom']
- }],
- // ---------------------------------
- // --- Transitions and Animation ---
- // ---------------------------------
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- transition: [{
- transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- 'transition-behavior': [{
- transition: ['normal', 'discrete']
- }],
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- duration: [{
- duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- ease: [{
- ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- delay: [{
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- animate: [{
- animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------
- // --- Transforms ---
- // ------------------
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- backface: [{
- backface: ['hidden', 'visible']
- }],
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- perspective: [{
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- 'perspective-origin': [{
- 'perspective-origin': scalePositionWithArbitrary()
- }],
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- rotate: [{
- rotate: scaleRotate()
- }],
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-x': [{
- 'rotate-x': scaleRotate()
- }],
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-y': [{
- 'rotate-y': scaleRotate()
- }],
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-z': [{
- 'rotate-z': scaleRotate()
- }],
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- scale: [{
- scale: scaleScale()
- }],
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-x': [{
- 'scale-x': scaleScale()
- }],
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-y': [{
- 'scale-y': scaleScale()
- }],
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-z': [{
- 'scale-z': scaleScale()
- }],
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-3d': ['scale-3d'],
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- skew: [{
- skew: scaleSkew()
- }],
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-x': [{
- 'skew-x': scaleSkew()
- }],
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-y': [{
- 'skew-y': scaleSkew()
- }],
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- transform: [{
- transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']
- }],
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- 'transform-origin': [{
- origin: scalePositionWithArbitrary()
- }],
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- 'transform-style': [{
- transform: ['3d', 'flat']
- }],
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- translate: [{
- translate: scaleTranslate()
- }],
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-x': [{
- 'translate-x': scaleTranslate()
- }],
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-y': [{
- 'translate-y': scaleTranslate()
- }],
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-z': [{
- 'translate-z': scaleTranslate()
- }],
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-none': ['translate-none'],
- // ---------------------
- // --- Interactivity ---
- // ---------------------
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- accent: [{
- accent: scaleColor()
- }],
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- appearance: [{
- appearance: ['none', 'auto']
- }],
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- 'caret-color': [{
- caret: scaleColor()
- }],
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- 'color-scheme': [{
- scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']
- }],
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- cursor: [{
- cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- 'field-sizing': [{
- 'field-sizing': ['fixed', 'content']
- }],
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- 'pointer-events': [{
- 'pointer-events': ['auto', 'none']
- }],
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- resize: [{
- resize: ['none', '', 'y', 'x']
- }],
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- 'scroll-behavior': [{
- scroll: ['auto', 'smooth']
- }],
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-m': [{
- 'scroll-m': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mx': [{
- 'scroll-mx': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-my': [{
- 'scroll-my': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ms': [{
- 'scroll-ms': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-me': [{
- 'scroll-me': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mt': [{
- 'scroll-mt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mr': [{
- 'scroll-mr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mb': [{
- 'scroll-mb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ml': [{
- 'scroll-ml': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-p': [{
- 'scroll-p': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-px': [{
- 'scroll-px': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-py': [{
- 'scroll-py': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-ps': [{
- 'scroll-ps': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pe': [{
- 'scroll-pe': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pt': [{
- 'scroll-pt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pr': [{
- 'scroll-pr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pb': [{
- 'scroll-pb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pl': [{
- 'scroll-pl': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- 'snap-align': [{
- snap: ['start', 'end', 'center', 'align-none']
- }],
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- 'snap-stop': [{
- snap: ['normal', 'always']
- }],
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-type': [{
- snap: ['none', 'x', 'y', 'both']
- }],
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-strictness': [{
- snap: ['mandatory', 'proximity']
- }],
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- touch: [{
- touch: ['auto', 'none', 'manipulation']
- }],
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-x': [{
- 'touch-pan': ['x', 'left', 'right']
- }],
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-y': [{
- 'touch-pan': ['y', 'up', 'down']
- }],
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-pz': ['touch-pinch-zoom'],
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- select: [{
- select: ['none', 'text', 'all', 'auto']
- }],
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- 'will-change': [{
- 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]
- }],
- // -----------
- // --- SVG ---
- // -----------
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- fill: [{
- fill: ['none', ...scaleColor()]
- }],
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- 'stroke-w': [{
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
- }],
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- stroke: [{
- stroke: ['none', ...scaleColor()]
- }],
- // ---------------------
- // --- Accessibility ---
- // ---------------------
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- 'forced-color-adjust': [{
- 'forced-color-adjust': ['auto', 'none']
- }]
- },
- conflictingClassGroups: {
- overflow: ['overflow-x', 'overflow-y'],
- overscroll: ['overscroll-x', 'overscroll-y'],
- inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
- 'inset-x': ['right', 'left'],
- 'inset-y': ['top', 'bottom'],
- flex: ['basis', 'grow', 'shrink'],
- gap: ['gap-x', 'gap-y'],
- p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
- px: ['pr', 'pl'],
- py: ['pt', 'pb'],
- m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
- mx: ['mr', 'ml'],
- my: ['mt', 'mb'],
- size: ['w', 'h'],
- 'font-size': ['leading'],
- 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
- 'fvn-ordinal': ['fvn-normal'],
- 'fvn-slashed-zero': ['fvn-normal'],
- 'fvn-figure': ['fvn-normal'],
- 'fvn-spacing': ['fvn-normal'],
- 'fvn-fraction': ['fvn-normal'],
- 'line-clamp': ['display', 'overflow'],
- rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],
- 'rounded-s': ['rounded-ss', 'rounded-es'],
- 'rounded-e': ['rounded-se', 'rounded-ee'],
- 'rounded-t': ['rounded-tl', 'rounded-tr'],
- 'rounded-r': ['rounded-tr', 'rounded-br'],
- 'rounded-b': ['rounded-br', 'rounded-bl'],
- 'rounded-l': ['rounded-tl', 'rounded-bl'],
- 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
- 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
- 'border-w-x': ['border-w-r', 'border-w-l'],
- 'border-w-y': ['border-w-t', 'border-w-b'],
- 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
- 'border-color-x': ['border-color-r', 'border-color-l'],
- 'border-color-y': ['border-color-t', 'border-color-b'],
- translate: ['translate-x', 'translate-y', 'translate-none'],
- 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
- 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
- 'scroll-mx': ['scroll-mr', 'scroll-ml'],
- 'scroll-my': ['scroll-mt', 'scroll-mb'],
- 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
- 'scroll-px': ['scroll-pr', 'scroll-pl'],
- 'scroll-py': ['scroll-pt', 'scroll-pb'],
- touch: ['touch-x', 'touch-y', 'touch-pz'],
- 'touch-x': ['touch'],
- 'touch-y': ['touch'],
- 'touch-pz': ['touch']
- },
- conflictingClassGroupModifiers: {
- 'font-size': ['leading']
- },
- orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']
- };
-};
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-const mergeConfigs = (baseConfig, {
- cacheSize,
- prefix,
- experimentalParseClassName,
- extend = {},
- override = {}
-}) => {
- overrideProperty(baseConfig, 'cacheSize', cacheSize);
- overrideProperty(baseConfig, 'prefix', prefix);
- overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);
- overrideConfigProperties(baseConfig.theme, override.theme);
- overrideConfigProperties(baseConfig.classGroups, override.classGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
- overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);
- mergeConfigProperties(baseConfig.theme, extend.theme);
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
- mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');
- return baseConfig;
-};
-const overrideProperty = (baseObject, overrideKey, overrideValue) => {
- if (overrideValue !== undefined) {
- baseObject[overrideKey] = overrideValue;
- }
-};
-const overrideConfigProperties = (baseObject, overrideObject) => {
- if (overrideObject) {
- for (const key in overrideObject) {
- overrideProperty(baseObject, key, overrideObject[key]);
- }
- }
-};
-const mergeConfigProperties = (baseObject, mergeObject) => {
- if (mergeObject) {
- for (const key in mergeObject) {
- mergeArrayProperties(baseObject, mergeObject, key);
- }
- }
-};
-const mergeArrayProperties = (baseObject, mergeObject, key) => {
- const mergeValue = mergeObject[key];
- if (mergeValue !== undefined) {
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
- }
-};
-const extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
-const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
-export { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };
-//# sourceMappingURL=bundle-mjs.mjs.map
diff --git a/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map b/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map
deleted file mode 100644
index e1a9983..0000000
--- a/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bundle-mjs.mjs","sources":["../src/lib/class-group-utils.ts","../src/lib/lru-cache.ts","../src/lib/parse-class-name.ts","../src/lib/sort-modifiers.ts","../src/lib/config-utils.ts","../src/lib/merge-classlist.ts","../src/lib/tw-join.ts","../src/lib/create-tailwind-merge.ts","../src/lib/from-theme.ts","../src/lib/validators.ts","../src/lib/default-config.ts","../src/lib/merge-configs.ts","../src/lib/extend-tailwind-merge.ts","../src/lib/tw-merge.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","Object","entries","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortModifiers","sortedModifiers","unsortedModifiers","isPositionSensitive","sort","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","callTailwindMerge","apply","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","extend","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","concat","extendTailwindMerge","configExtension","createConfig","twMerge"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/tailwind-merge/dist/es5/bundle-cjs.js b/node_modules/tailwind-merge/dist/es5/bundle-cjs.js
deleted file mode 100644
index 731a1cf..0000000
--- a/node_modules/tailwind-merge/dist/es5/bundle-cjs.js
+++ /dev/null
@@ -1,3197 +0,0 @@
-'use strict';
-
-function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
-Object.defineProperty(exports, Symbol.toStringTag, {
- value: 'Module'
-});
-var CLASS_PART_SEPARATOR = '-';
-var createClassGroupUtils = function createClassGroupUtils(config) {
- var classMap = createClassMap(config);
- var conflictingClassGroups = config.conflictingClassGroups,
- conflictingClassGroupModifiers = config.conflictingClassGroupModifiers;
- var getClassGroupId = function getClassGroupId(className) {
- var classParts = className.split(CLASS_PART_SEPARATOR);
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
- if (classParts[0] === '' && classParts.length !== 1) {
- classParts.shift();
- }
- return _getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
- };
- var getConflictingClassGroupIds = function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
- var conflicts = conflictingClassGroups[classGroupId] || [];
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
- return [].concat(conflicts, conflictingClassGroupModifiers[classGroupId]);
- }
- return conflicts;
- };
- return {
- getClassGroupId: getClassGroupId,
- getConflictingClassGroupIds: getConflictingClassGroupIds
- };
-};
-var _getGroupRecursive = function getGroupRecursive(classParts, classPartObject) {
- var _classPartObject$vali;
- if (classParts.length === 0) {
- return classPartObject.classGroupId;
- }
- var currentClassPart = classParts[0];
- var nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
- var classGroupFromNextClassPart = nextClassPartObject ? _getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
- if (classGroupFromNextClassPart) {
- return classGroupFromNextClassPart;
- }
- if (classPartObject.validators.length === 0) {
- return undefined;
- }
- var classRest = classParts.join(CLASS_PART_SEPARATOR);
- return (_classPartObject$vali = classPartObject.validators.find(function (_ref) {
- var validator = _ref.validator;
- return validator(classRest);
- })) == null ? void 0 : _classPartObject$vali.classGroupId;
-};
-var arbitraryPropertyRegex = /^\[(.+)\]$/;
-var getGroupIdForArbitraryProperty = function getGroupIdForArbitraryProperty(className) {
- if (arbitraryPropertyRegex.test(className)) {
- var arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
- var property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(':'));
- if (property) {
- // I use two dots here because one dot is used as prefix for class groups in plugins
- return 'arbitrary..' + property;
- }
- }
-};
-/**
- * Exported for testing only
- */
-var createClassMap = function createClassMap(config) {
- var theme = config.theme,
- classGroups = config.classGroups;
- var classMap = {
- nextPart: new Map(),
- validators: []
- };
- for (var classGroupId in classGroups) {
- _processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
- }
- return classMap;
-};
-var _processClassesRecursively = function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
- classGroup.forEach(function (classDefinition) {
- if (typeof classDefinition === 'string') {
- var classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
- classPartObjectToEdit.classGroupId = classGroupId;
- return;
- }
- if (typeof classDefinition === 'function') {
- if (isThemeGetter(classDefinition)) {
- _processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
- return;
- }
- classPartObject.validators.push({
- validator: classDefinition,
- classGroupId: classGroupId
- });
- return;
- }
- Object.entries(classDefinition).forEach(function (_ref2) {
- var key = _ref2[0],
- classGroup = _ref2[1];
- _processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
- });
- });
-};
-var getPart = function getPart(classPartObject, path) {
- var currentClassPartObject = classPartObject;
- path.split(CLASS_PART_SEPARATOR).forEach(function (pathPart) {
- if (!currentClassPartObject.nextPart.has(pathPart)) {
- currentClassPartObject.nextPart.set(pathPart, {
- nextPart: new Map(),
- validators: []
- });
- }
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
- });
- return currentClassPartObject;
-};
-var isThemeGetter = function isThemeGetter(func) {
- return func.isThemeGetter;
-};
-
-// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
-var createLruCache = function createLruCache(maxCacheSize) {
- if (maxCacheSize < 1) {
- return {
- get: function get() {
- return undefined;
- },
- set: function set() {}
- };
- }
- var cacheSize = 0;
- var cache = new Map();
- var previousCache = new Map();
- var update = function update(key, value) {
- cache.set(key, value);
- cacheSize++;
- if (cacheSize > maxCacheSize) {
- cacheSize = 0;
- previousCache = cache;
- cache = new Map();
- }
- };
- return {
- get: function get(key) {
- var value = cache.get(key);
- if (value !== undefined) {
- return value;
- }
- if ((value = previousCache.get(key)) !== undefined) {
- update(key, value);
- return value;
- }
- },
- set: function set(key, value) {
- if (cache.has(key)) {
- cache.set(key, value);
- } else {
- update(key, value);
- }
- }
- };
-};
-var IMPORTANT_MODIFIER = '!';
-var MODIFIER_SEPARATOR = ':';
-var MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
-var createParseClassName = function createParseClassName(config) {
- var prefix = config.prefix,
- experimentalParseClassName = config.experimentalParseClassName;
- /**
- * Parse class name into parts.
- *
- * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
- */
- var parseClassName = function parseClassName(className) {
- var modifiers = [];
- var bracketDepth = 0;
- var parenDepth = 0;
- var modifierStart = 0;
- var postfixModifierPosition;
- for (var index = 0; index < className.length; index++) {
- var currentCharacter = className[index];
- if (bracketDepth === 0 && parenDepth === 0) {
- if (currentCharacter === MODIFIER_SEPARATOR) {
- modifiers.push(className.slice(modifierStart, index));
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
- continue;
- }
- if (currentCharacter === '/') {
- postfixModifierPosition = index;
- continue;
- }
- }
- if (currentCharacter === '[') {
- bracketDepth++;
- } else if (currentCharacter === ']') {
- bracketDepth--;
- } else if (currentCharacter === '(') {
- parenDepth++;
- } else if (currentCharacter === ')') {
- parenDepth--;
- }
- }
- var baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
- var baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
- var hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
- var maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
- return {
- modifiers: modifiers,
- hasImportantModifier: hasImportantModifier,
- baseClassName: baseClassName,
- maybePostfixModifierPosition: maybePostfixModifierPosition
- };
- };
- if (prefix) {
- var fullPrefix = prefix + MODIFIER_SEPARATOR;
- var parseClassNameOriginal = parseClassName;
- parseClassName = function parseClassName(className) {
- return className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
- isExternal: true,
- modifiers: [],
- hasImportantModifier: false,
- baseClassName: className,
- maybePostfixModifierPosition: undefined
- };
- };
- }
- if (experimentalParseClassName) {
- var _parseClassNameOriginal = parseClassName;
- parseClassName = function parseClassName(className) {
- return experimentalParseClassName({
- className: className,
- parseClassName: _parseClassNameOriginal
- });
- };
- }
- return parseClassName;
-};
-var stripImportantModifier = function stripImportantModifier(baseClassName) {
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(0, baseClassName.length - 1);
- }
- /**
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
- */
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(1);
- }
- return baseClassName;
-};
-
-/**
- * Sorts modifiers according to following schema:
- * - Predefined modifiers are sorted alphabetically
- * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
- */
-var createSortModifiers = function createSortModifiers(config) {
- var orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(function (modifier) {
- return [modifier, true];
- }));
- var sortModifiers = function sortModifiers(modifiers) {
- if (modifiers.length <= 1) {
- return modifiers;
- }
- var sortedModifiers = [];
- var unsortedModifiers = [];
- modifiers.forEach(function (modifier) {
- var isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
- if (isPositionSensitive) {
- sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort().concat([modifier]));
- unsortedModifiers = [];
- } else {
- unsortedModifiers.push(modifier);
- }
- });
- sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort());
- return sortedModifiers;
- };
- return sortModifiers;
-};
-var createConfigUtils = function createConfigUtils(config) {
- return _extends({
- cache: createLruCache(config.cacheSize),
- parseClassName: createParseClassName(config),
- sortModifiers: createSortModifiers(config)
- }, createClassGroupUtils(config));
-};
-var SPLIT_CLASSES_REGEX = /\s+/;
-var mergeClassList = function mergeClassList(classList, configUtils) {
- var parseClassName = configUtils.parseClassName,
- getClassGroupId = configUtils.getClassGroupId,
- getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds,
- sortModifiers = configUtils.sortModifiers;
- /**
- * Set of classGroupIds in following format:
- * `{importantModifier}{variantModifiers}{classGroupId}`
- * @example 'float'
- * @example 'hover:focus:bg-color'
- * @example 'md:!pr'
- */
- var classGroupsInConflict = [];
- var classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
- var result = '';
- for (var index = classNames.length - 1; index >= 0; index -= 1) {
- var originalClassName = classNames[index];
- var _parseClassName = parseClassName(originalClassName),
- isExternal = _parseClassName.isExternal,
- modifiers = _parseClassName.modifiers,
- hasImportantModifier = _parseClassName.hasImportantModifier,
- baseClassName = _parseClassName.baseClassName,
- maybePostfixModifierPosition = _parseClassName.maybePostfixModifierPosition;
- if (isExternal) {
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- var hasPostfixModifier = !!maybePostfixModifierPosition;
- var classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
- if (!classGroupId) {
- if (!hasPostfixModifier) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- classGroupId = getClassGroupId(baseClassName);
- if (!classGroupId) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- hasPostfixModifier = false;
- }
- var variantModifier = sortModifiers(modifiers).join(':');
- var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
- var classId = modifierId + classGroupId;
- if (classGroupsInConflict.includes(classId)) {
- // Tailwind class omitted due to conflict
- continue;
- }
- classGroupsInConflict.push(classId);
- var conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
- for (var i = 0; i < conflictGroups.length; ++i) {
- var group = conflictGroups[i];
- classGroupsInConflict.push(modifierId + group);
- }
- // Tailwind class not in conflict
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- }
- return result;
-};
-
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com)
- */
-function twJoin() {
- var index = 0;
- var argument;
- var resolvedValue;
- var string = '';
- while (index < arguments.length) {
- if (argument = arguments[index++]) {
- if (resolvedValue = _toValue(argument)) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-}
-var _toValue = function toValue(mix) {
- if (typeof mix === 'string') {
- return mix;
- }
- var resolvedValue;
- var string = '';
- for (var k = 0; k < mix.length; k++) {
- if (mix[k]) {
- if (resolvedValue = _toValue(mix[k])) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-};
-function createTailwindMerge(createConfigFirst) {
- for (var _len = arguments.length, createConfigRest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- createConfigRest[_key - 1] = arguments[_key];
- }
- var configUtils;
- var cacheGet;
- var cacheSet;
- var functionToCall = initTailwindMerge;
- function initTailwindMerge(classList) {
- var config = createConfigRest.reduce(function (previousConfig, createConfigCurrent) {
- return createConfigCurrent(previousConfig);
- }, createConfigFirst());
- configUtils = createConfigUtils(config);
- cacheGet = configUtils.cache.get;
- cacheSet = configUtils.cache.set;
- functionToCall = tailwindMerge;
- return tailwindMerge(classList);
- }
- function tailwindMerge(classList) {
- var cachedResult = cacheGet(classList);
- if (cachedResult) {
- return cachedResult;
- }
- var result = mergeClassList(classList, configUtils);
- cacheSet(classList, result);
- return result;
- }
- return function callTailwindMerge() {
- return functionToCall(twJoin.apply(null, arguments));
- };
-}
-var fromTheme = function fromTheme(key) {
- var themeGetter = function themeGetter(theme) {
- return theme[key] || [];
- };
- themeGetter.isThemeGetter = true;
- return themeGetter;
-};
-var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
-var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
-var fractionRegex = /^\d+\/\d+$/;
-var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
-var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
-var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
-// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
-var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
-var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
-var isFraction = function isFraction(value) {
- return fractionRegex.test(value);
-};
-var isNumber = function isNumber(value) {
- return !!value && !Number.isNaN(Number(value));
-};
-var isInteger = function isInteger(value) {
- return !!value && Number.isInteger(Number(value));
-};
-var isPercent = function isPercent(value) {
- return value.endsWith('%') && isNumber(value.slice(0, -1));
-};
-var isTshirtSize = function isTshirtSize(value) {
- return tshirtUnitRegex.test(value);
-};
-var isAny = function isAny() {
- return true;
-};
-var isLengthOnly = function isLengthOnly(value) {
- return (
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
- );
-};
-var isNever = function isNever() {
- return false;
-};
-var isShadow = function isShadow(value) {
- return shadowRegex.test(value);
-};
-var isImage = function isImage(value) {
- return imageRegex.test(value);
-};
-var isAnyNonArbitrary = function isAnyNonArbitrary(value) {
- return !isArbitraryValue(value) && !isArbitraryVariable(value);
-};
-var isArbitrarySize = function isArbitrarySize(value) {
- return getIsArbitraryValue(value, isLabelSize, isNever);
-};
-var isArbitraryValue = function isArbitraryValue(value) {
- return arbitraryValueRegex.test(value);
-};
-var isArbitraryLength = function isArbitraryLength(value) {
- return getIsArbitraryValue(value, isLabelLength, isLengthOnly);
-};
-var isArbitraryNumber = function isArbitraryNumber(value) {
- return getIsArbitraryValue(value, isLabelNumber, isNumber);
-};
-var isArbitraryPosition = function isArbitraryPosition(value) {
- return getIsArbitraryValue(value, isLabelPosition, isNever);
-};
-var isArbitraryImage = function isArbitraryImage(value) {
- return getIsArbitraryValue(value, isLabelImage, isImage);
-};
-var isArbitraryShadow = function isArbitraryShadow(value) {
- return getIsArbitraryValue(value, isLabelShadow, isShadow);
-};
-var isArbitraryVariable = function isArbitraryVariable(value) {
- return arbitraryVariableRegex.test(value);
-};
-var isArbitraryVariableLength = function isArbitraryVariableLength(value) {
- return getIsArbitraryVariable(value, isLabelLength);
-};
-var isArbitraryVariableFamilyName = function isArbitraryVariableFamilyName(value) {
- return getIsArbitraryVariable(value, isLabelFamilyName);
-};
-var isArbitraryVariablePosition = function isArbitraryVariablePosition(value) {
- return getIsArbitraryVariable(value, isLabelPosition);
-};
-var isArbitraryVariableSize = function isArbitraryVariableSize(value) {
- return getIsArbitraryVariable(value, isLabelSize);
-};
-var isArbitraryVariableImage = function isArbitraryVariableImage(value) {
- return getIsArbitraryVariable(value, isLabelImage);
-};
-var isArbitraryVariableShadow = function isArbitraryVariableShadow(value) {
- return getIsArbitraryVariable(value, isLabelShadow, true);
-};
-// Helpers
-var getIsArbitraryValue = function getIsArbitraryValue(value, testLabel, testValue) {
- var result = arbitraryValueRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return testValue(result[2]);
- }
- return false;
-};
-var getIsArbitraryVariable = function getIsArbitraryVariable(value, testLabel, shouldMatchNoLabel) {
- if (shouldMatchNoLabel === void 0) {
- shouldMatchNoLabel = false;
- }
- var result = arbitraryVariableRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return shouldMatchNoLabel;
- }
- return false;
-};
-// Labels
-var isLabelPosition = function isLabelPosition(label) {
- return label === 'position' || label === 'percentage';
-};
-var isLabelImage = function isLabelImage(label) {
- return label === 'image' || label === 'url';
-};
-var isLabelSize = function isLabelSize(label) {
- return label === 'length' || label === 'size' || label === 'bg-size';
-};
-var isLabelLength = function isLabelLength(label) {
- return label === 'length';
-};
-var isLabelNumber = function isLabelNumber(label) {
- return label === 'number';
-};
-var isLabelFamilyName = function isLabelFamilyName(label) {
- return label === 'family-name';
-};
-var isLabelShadow = function isLabelShadow(label) {
- return label === 'shadow';
-};
-var validators = /*#__PURE__*/Object.defineProperty({
- __proto__: null,
- isAny: isAny,
- isAnyNonArbitrary: isAnyNonArbitrary,
- isArbitraryImage: isArbitraryImage,
- isArbitraryLength: isArbitraryLength,
- isArbitraryNumber: isArbitraryNumber,
- isArbitraryPosition: isArbitraryPosition,
- isArbitraryShadow: isArbitraryShadow,
- isArbitrarySize: isArbitrarySize,
- isArbitraryValue: isArbitraryValue,
- isArbitraryVariable: isArbitraryVariable,
- isArbitraryVariableFamilyName: isArbitraryVariableFamilyName,
- isArbitraryVariableImage: isArbitraryVariableImage,
- isArbitraryVariableLength: isArbitraryVariableLength,
- isArbitraryVariablePosition: isArbitraryVariablePosition,
- isArbitraryVariableShadow: isArbitraryVariableShadow,
- isArbitraryVariableSize: isArbitraryVariableSize,
- isFraction: isFraction,
- isInteger: isInteger,
- isNumber: isNumber,
- isPercent: isPercent,
- isTshirtSize: isTshirtSize
-}, Symbol.toStringTag, {
- value: 'Module'
-});
-var getDefaultConfig = function getDefaultConfig() {
- /**
- * Theme getters for theme variable namespaces
- * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
- */
- /***/
- var themeColor = fromTheme('color');
- var themeFont = fromTheme('font');
- var themeText = fromTheme('text');
- var themeFontWeight = fromTheme('font-weight');
- var themeTracking = fromTheme('tracking');
- var themeLeading = fromTheme('leading');
- var themeBreakpoint = fromTheme('breakpoint');
- var themeContainer = fromTheme('container');
- var themeSpacing = fromTheme('spacing');
- var themeRadius = fromTheme('radius');
- var themeShadow = fromTheme('shadow');
- var themeInsetShadow = fromTheme('inset-shadow');
- var themeTextShadow = fromTheme('text-shadow');
- var themeDropShadow = fromTheme('drop-shadow');
- var themeBlur = fromTheme('blur');
- var themePerspective = fromTheme('perspective');
- var themeAspect = fromTheme('aspect');
- var themeEase = fromTheme('ease');
- var themeAnimate = fromTheme('animate');
- /**
- * Helpers to avoid repeating the same scales
- *
- * We use functions that create a new array every time they're called instead of static arrays.
- * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
- */
- /***/
- var scaleBreak = function scaleBreak() {
- return ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
- };
- var scalePosition = function scalePosition() {
- return ['center', 'top', 'bottom', 'left', 'right', 'top-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-top', 'top-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-top', 'bottom-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-bottom', 'bottom-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-bottom'];
- };
- var scalePositionWithArbitrary = function scalePositionWithArbitrary() {
- return [].concat(scalePosition(), [isArbitraryVariable, isArbitraryValue]);
- };
- var scaleOverflow = function scaleOverflow() {
- return ['auto', 'hidden', 'clip', 'visible', 'scroll'];
- };
- var scaleOverscroll = function scaleOverscroll() {
- return ['auto', 'contain', 'none'];
- };
- var scaleUnambiguousSpacing = function scaleUnambiguousSpacing() {
- return [isArbitraryVariable, isArbitraryValue, themeSpacing];
- };
- var scaleInset = function scaleInset() {
- return [isFraction, 'full', 'auto'].concat(scaleUnambiguousSpacing());
- };
- var scaleGridTemplateColsRows = function scaleGridTemplateColsRows() {
- return [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridColRowStartAndEnd = function scaleGridColRowStartAndEnd() {
- return ['auto', {
- span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]
- }, isInteger, isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridColRowStartOrEnd = function scaleGridColRowStartOrEnd() {
- return [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridAutoColsRows = function scaleGridAutoColsRows() {
- return ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];
- };
- var scaleAlignPrimaryAxis = function scaleAlignPrimaryAxis() {
- return ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];
- };
- var scaleAlignSecondaryAxis = function scaleAlignSecondaryAxis() {
- return ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];
- };
- var scaleMargin = function scaleMargin() {
- return ['auto'].concat(scaleUnambiguousSpacing());
- };
- var scaleSizing = function scaleSizing() {
- return [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit'].concat(scaleUnambiguousSpacing());
- };
- var scaleColor = function scaleColor() {
- return [themeColor, isArbitraryVariable, isArbitraryValue];
- };
- var scaleBgPosition = function scaleBgPosition() {
- return [].concat(scalePosition(), [isArbitraryVariablePosition, isArbitraryPosition, {
- position: [isArbitraryVariable, isArbitraryValue]
- }]);
- };
- var scaleBgRepeat = function scaleBgRepeat() {
- return ['no-repeat', {
- repeat: ['', 'x', 'y', 'space', 'round']
- }];
- };
- var scaleBgSize = function scaleBgSize() {
- return ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {
- size: [isArbitraryVariable, isArbitraryValue]
- }];
- };
- var scaleGradientStopPosition = function scaleGradientStopPosition() {
- return [isPercent, isArbitraryVariableLength, isArbitraryLength];
- };
- var scaleRadius = function scaleRadius() {
- return [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];
- };
- var scaleBorderWidth = function scaleBorderWidth() {
- return ['', isNumber, isArbitraryVariableLength, isArbitraryLength];
- };
- var scaleLineStyle = function scaleLineStyle() {
- return ['solid', 'dashed', 'dotted', 'double'];
- };
- var scaleBlendMode = function scaleBlendMode() {
- return ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];
- };
- var scaleMaskImagePosition = function scaleMaskImagePosition() {
- return [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
- };
- var scaleBlur = function scaleBlur() {
- return [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];
- };
- var scaleRotate = function scaleRotate() {
- return ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleScale = function scaleScale() {
- return ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleSkew = function scaleSkew() {
- return [isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleTranslate = function scaleTranslate() {
- return [isFraction, 'full'].concat(scaleUnambiguousSpacing());
- };
- return {
- cacheSize: 500,
- theme: {
- animate: ['spin', 'ping', 'pulse', 'bounce'],
- aspect: ['video'],
- blur: [isTshirtSize],
- breakpoint: [isTshirtSize],
- color: [isAny],
- container: [isTshirtSize],
- 'drop-shadow': [isTshirtSize],
- ease: ['in', 'out', 'in-out'],
- font: [isAnyNonArbitrary],
- 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
- 'inset-shadow': [isTshirtSize],
- leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
- perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
- radius: [isTshirtSize],
- shadow: [isTshirtSize],
- spacing: ['px', isNumber],
- text: [isTshirtSize],
- 'text-shadow': [isTshirtSize],
- tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']
- },
- classGroups: {
- // --------------
- // --- Layout ---
- // --------------
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- aspect: [{
- aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
- }],
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- container: ['container'],
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- columns: [{
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
- }],
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- 'break-after': [{
- 'break-after': scaleBreak()
- }],
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- 'break-before': [{
- 'break-before': scaleBreak()
- }],
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- 'break-inside': [{
- 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
- }],
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- 'box-decoration': [{
- 'box-decoration': ['slice', 'clone']
- }],
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- box: [{
- box: ['border', 'content']
- }],
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- sr: ['sr-only', 'not-sr-only'],
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- "float": [{
- "float": ['right', 'left', 'none', 'start', 'end']
- }],
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- clear: [{
- clear: ['left', 'right', 'both', 'none', 'start', 'end']
- }],
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- isolation: ['isolate', 'isolation-auto'],
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- 'object-fit': [{
- object: ['contain', 'cover', 'fill', 'none', 'scale-down']
- }],
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- 'object-position': [{
- object: scalePositionWithArbitrary()
- }],
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- overflow: [{
- overflow: scaleOverflow()
- }],
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-x': [{
- 'overflow-x': scaleOverflow()
- }],
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-y': [{
- 'overflow-y': scaleOverflow()
- }],
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- overscroll: [{
- overscroll: scaleOverscroll()
- }],
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-x': [{
- 'overscroll-x': scaleOverscroll()
- }],
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-y': [{
- 'overscroll-y': scaleOverscroll()
- }],
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- inset: [{
- inset: scaleInset()
- }],
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-x': [{
- 'inset-x': scaleInset()
- }],
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-y': [{
- 'inset-y': scaleInset()
- }],
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- start: [{
- start: scaleInset()
- }],
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- end: [{
- end: scaleInset()
- }],
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- top: [{
- top: scaleInset()
- }],
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- right: [{
- right: scaleInset()
- }],
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- bottom: [{
- bottom: scaleInset()
- }],
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- left: [{
- left: scaleInset()
- }],
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- visibility: ['visible', 'invisible', 'collapse'],
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- z: [{
- z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------------
- // --- Flexbox and Grid ---
- // ------------------------
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- basis: [{
- basis: [isFraction, 'full', 'auto', themeContainer].concat(scaleUnambiguousSpacing())
- }],
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- 'flex-direction': [{
- flex: ['row', 'row-reverse', 'col', 'col-reverse']
- }],
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- 'flex-wrap': [{
- flex: ['nowrap', 'wrap', 'wrap-reverse']
- }],
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- flex: [{
- flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]
- }],
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- grow: [{
- grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- shrink: [{
- shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- order: [{
- order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- 'grid-cols': [{
- 'grid-cols': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start-end': [{
- col: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start': [{
- 'col-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-end': [{
- 'col-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- 'grid-rows': [{
- 'grid-rows': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start-end': [{
- row: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start': [{
- 'row-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-end': [{
- 'row-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- 'grid-flow': [{
- 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
- }],
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- 'auto-cols': [{
- 'auto-cols': scaleGridAutoColsRows()
- }],
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- 'auto-rows': [{
- 'auto-rows': scaleGridAutoColsRows()
- }],
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- gap: [{
- gap: scaleUnambiguousSpacing()
- }],
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-x': [{
- 'gap-x': scaleUnambiguousSpacing()
- }],
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-y': [{
- 'gap-y': scaleUnambiguousSpacing()
- }],
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- 'justify-content': [{
- justify: [].concat(scaleAlignPrimaryAxis(), ['normal'])
- }],
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- 'justify-items': [{
- 'justify-items': [].concat(scaleAlignSecondaryAxis(), ['normal'])
- }],
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- 'justify-self': [{
- 'justify-self': ['auto'].concat(scaleAlignSecondaryAxis())
- }],
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- 'align-content': [{
- content: ['normal'].concat(scaleAlignPrimaryAxis())
- }],
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- 'align-items': [{
- items: [].concat(scaleAlignSecondaryAxis(), [{
- baseline: ['', 'last']
- }])
- }],
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- 'align-self': [{
- self: ['auto'].concat(scaleAlignSecondaryAxis(), [{
- baseline: ['', 'last']
- }])
- }],
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- 'place-content': [{
- 'place-content': scaleAlignPrimaryAxis()
- }],
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- 'place-items': [{
- 'place-items': [].concat(scaleAlignSecondaryAxis(), ['baseline'])
- }],
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- 'place-self': [{
- 'place-self': ['auto'].concat(scaleAlignSecondaryAxis())
- }],
- // Spacing
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- p: [{
- p: scaleUnambiguousSpacing()
- }],
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- px: [{
- px: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- py: [{
- py: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- ps: [{
- ps: scaleUnambiguousSpacing()
- }],
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- pe: [{
- pe: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- pt: [{
- pt: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- pr: [{
- pr: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- pb: [{
- pb: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- pl: [{
- pl: scaleUnambiguousSpacing()
- }],
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- m: [{
- m: scaleMargin()
- }],
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- mx: [{
- mx: scaleMargin()
- }],
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- my: [{
- my: scaleMargin()
- }],
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- ms: [{
- ms: scaleMargin()
- }],
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- me: [{
- me: scaleMargin()
- }],
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- mt: [{
- mt: scaleMargin()
- }],
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- mr: [{
- mr: scaleMargin()
- }],
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- mb: [{
- mb: scaleMargin()
- }],
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- ml: [{
- ml: scaleMargin()
- }],
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x': [{
- 'space-x': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x-reverse': ['space-x-reverse'],
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y': [{
- 'space-y': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y-reverse': ['space-y-reverse'],
- // --------------
- // --- Sizing ---
- // --------------
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- size: [{
- size: scaleSizing()
- }],
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- w: [{
- w: [themeContainer, 'screen'].concat(scaleSizing())
- }],
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- 'min-w': [{
- 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'none'].concat(scaleSizing())
- }],
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- 'max-w': [{
- 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- {
- screen: [themeBreakpoint]
- }].concat(scaleSizing())
- }],
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- h: [{
- h: ['screen', 'lh'].concat(scaleSizing())
- }],
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- 'min-h': [{
- 'min-h': ['screen', 'lh', 'none'].concat(scaleSizing())
- }],
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- 'max-h': [{
- 'max-h': ['screen', 'lh'].concat(scaleSizing())
- }],
- // ------------------
- // --- Typography ---
- // ------------------
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- 'font-size': [{
- text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- 'font-style': ['italic', 'not-italic'],
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- 'font-weight': [{
- font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- 'font-stretch': [{
- 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]
- }],
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- 'font-family': [{
- font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
- }],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-normal': ['normal-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-ordinal': ['ordinal'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-slashed-zero': ['slashed-zero'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- tracking: [{
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- 'line-clamp': [{
- 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- leading: [{
- leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- themeLeading].concat(scaleUnambiguousSpacing())
- }],
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- 'list-image': [{
- 'list-image': ['none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- 'list-style-position': [{
- list: ['inside', 'outside']
- }],
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- 'list-style-type': [{
- list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- 'text-alignment': [{
- text: ['left', 'center', 'right', 'justify', 'start', 'end']
- }],
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- 'placeholder-color': [{
- placeholder: scaleColor()
- }],
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- 'text-color': [{
- text: scaleColor()
- }],
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- 'text-decoration-style': [{
- decoration: [].concat(scaleLineStyle(), ['wavy'])
- }],
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- 'text-decoration-thickness': [{
- decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]
- }],
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- 'text-decoration-color': [{
- decoration: scaleColor()
- }],
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- 'underline-offset': [{
- 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- 'text-wrap': [{
- text: ['wrap', 'nowrap', 'balance', 'pretty']
- }],
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- indent: [{
- indent: scaleUnambiguousSpacing()
- }],
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- 'vertical-align': [{
- align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- whitespace: [{
- whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
- }],
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- "break": [{
- "break": ['normal', 'words', 'all', 'keep']
- }],
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- wrap: [{
- wrap: ['break-word', 'anywhere', 'normal']
- }],
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- hyphens: [{
- hyphens: ['none', 'manual', 'auto']
- }],
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- content: [{
- content: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // -------------------
- // --- Backgrounds ---
- // -------------------
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- 'bg-attachment': [{
- bg: ['fixed', 'local', 'scroll']
- }],
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- 'bg-clip': [{
- 'bg-clip': ['border', 'padding', 'content', 'text']
- }],
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- 'bg-origin': [{
- 'bg-origin': ['border', 'padding', 'content']
- }],
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- 'bg-position': [{
- bg: scaleBgPosition()
- }],
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- 'bg-repeat': [{
- bg: scaleBgRepeat()
- }],
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- 'bg-size': [{
- bg: scaleBgSize()
- }],
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- 'bg-image': [{
- bg: ['none', {
- linear: [{
- to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
- }, isInteger, isArbitraryVariable, isArbitraryValue],
- radial: ['', isArbitraryVariable, isArbitraryValue],
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
- }, isArbitraryVariableImage, isArbitraryImage]
- }],
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- 'bg-color': [{
- bg: scaleColor()
- }],
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from-pos': [{
- from: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via-pos': [{
- via: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to-pos': [{
- to: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from': [{
- from: scaleColor()
- }],
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via': [{
- via: scaleColor()
- }],
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to': [{
- to: scaleColor()
- }],
- // ---------------
- // --- Borders ---
- // ---------------
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- rounded: [{
- rounded: scaleRadius()
- }],
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-s': [{
- 'rounded-s': scaleRadius()
- }],
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-e': [{
- 'rounded-e': scaleRadius()
- }],
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-t': [{
- 'rounded-t': scaleRadius()
- }],
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-r': [{
- 'rounded-r': scaleRadius()
- }],
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-b': [{
- 'rounded-b': scaleRadius()
- }],
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-l': [{
- 'rounded-l': scaleRadius()
- }],
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ss': [{
- 'rounded-ss': scaleRadius()
- }],
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-se': [{
- 'rounded-se': scaleRadius()
- }],
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ee': [{
- 'rounded-ee': scaleRadius()
- }],
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-es': [{
- 'rounded-es': scaleRadius()
- }],
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tl': [{
- 'rounded-tl': scaleRadius()
- }],
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tr': [{
- 'rounded-tr': scaleRadius()
- }],
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-br': [{
- 'rounded-br': scaleRadius()
- }],
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-bl': [{
- 'rounded-bl': scaleRadius()
- }],
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w': [{
- border: scaleBorderWidth()
- }],
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-x': [{
- 'border-x': scaleBorderWidth()
- }],
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-y': [{
- 'border-y': scaleBorderWidth()
- }],
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-s': [{
- 'border-s': scaleBorderWidth()
- }],
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-e': [{
- 'border-e': scaleBorderWidth()
- }],
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-t': [{
- 'border-t': scaleBorderWidth()
- }],
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-r': [{
- 'border-r': scaleBorderWidth()
- }],
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-b': [{
- 'border-b': scaleBorderWidth()
- }],
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-l': [{
- 'border-l': scaleBorderWidth()
- }],
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x': [{
- 'divide-x': scaleBorderWidth()
- }],
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x-reverse': ['divide-x-reverse'],
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y': [{
- 'divide-y': scaleBorderWidth()
- }],
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y-reverse': ['divide-y-reverse'],
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- 'border-style': [{
- border: [].concat(scaleLineStyle(), ['hidden', 'none'])
- }],
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- 'divide-style': [{
- divide: [].concat(scaleLineStyle(), ['hidden', 'none'])
- }],
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color': [{
- border: scaleColor()
- }],
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-x': [{
- 'border-x': scaleColor()
- }],
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-y': [{
- 'border-y': scaleColor()
- }],
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-s': [{
- 'border-s': scaleColor()
- }],
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-e': [{
- 'border-e': scaleColor()
- }],
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-t': [{
- 'border-t': scaleColor()
- }],
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-r': [{
- 'border-r': scaleColor()
- }],
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-b': [{
- 'border-b': scaleColor()
- }],
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-l': [{
- 'border-l': scaleColor()
- }],
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- 'divide-color': [{
- divide: scaleColor()
- }],
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- 'outline-style': [{
- outline: [].concat(scaleLineStyle(), ['none', 'hidden'])
- }],
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- 'outline-offset': [{
- 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- 'outline-w': [{
- outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- 'outline-color': [{
- outline: scaleColor()
- }],
- // ---------------
- // --- Effects ---
- // ---------------
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- shadow: [{
- shadow: [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- 'shadow-color': [{
- shadow: scaleColor()
- }],
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- 'inset-shadow': [{
- 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- 'inset-shadow-color': [{
- 'inset-shadow': scaleColor()
- }],
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- 'ring-w': [{
- ring: scaleBorderWidth()
- }],
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-w-inset': ['ring-inset'],
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- 'ring-color': [{
- ring: scaleColor()
- }],
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-w': [{
- 'ring-offset': [isNumber, isArbitraryLength]
- }],
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-color': [{
- 'ring-offset': scaleColor()
- }],
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- 'inset-ring-w': [{
- 'inset-ring': scaleBorderWidth()
- }],
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- 'inset-ring-color': [{
- 'inset-ring': scaleColor()
- }],
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- 'text-shadow': [{
- 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- 'text-shadow-color': [{
- 'text-shadow': scaleColor()
- }],
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- opacity: [{
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- 'mix-blend': [{
- 'mix-blend': [].concat(scaleBlendMode(), ['plus-darker', 'plus-lighter'])
- }],
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- 'bg-blend': [{
- 'bg-blend': scaleBlendMode()
- }],
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- 'mask-clip': [{
- 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }, 'mask-no-clip'],
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- 'mask-composite': [{
- mask: ['add', 'subtract', 'intersect', 'exclude']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image-linear-pos': [{
- 'mask-linear': [isNumber]
- }],
- 'mask-image-linear-from-pos': [{
- 'mask-linear-from': scaleMaskImagePosition()
- }],
- 'mask-image-linear-to-pos': [{
- 'mask-linear-to': scaleMaskImagePosition()
- }],
- 'mask-image-linear-from-color': [{
- 'mask-linear-from': scaleColor()
- }],
- 'mask-image-linear-to-color': [{
- 'mask-linear-to': scaleColor()
- }],
- 'mask-image-t-from-pos': [{
- 'mask-t-from': scaleMaskImagePosition()
- }],
- 'mask-image-t-to-pos': [{
- 'mask-t-to': scaleMaskImagePosition()
- }],
- 'mask-image-t-from-color': [{
- 'mask-t-from': scaleColor()
- }],
- 'mask-image-t-to-color': [{
- 'mask-t-to': scaleColor()
- }],
- 'mask-image-r-from-pos': [{
- 'mask-r-from': scaleMaskImagePosition()
- }],
- 'mask-image-r-to-pos': [{
- 'mask-r-to': scaleMaskImagePosition()
- }],
- 'mask-image-r-from-color': [{
- 'mask-r-from': scaleColor()
- }],
- 'mask-image-r-to-color': [{
- 'mask-r-to': scaleColor()
- }],
- 'mask-image-b-from-pos': [{
- 'mask-b-from': scaleMaskImagePosition()
- }],
- 'mask-image-b-to-pos': [{
- 'mask-b-to': scaleMaskImagePosition()
- }],
- 'mask-image-b-from-color': [{
- 'mask-b-from': scaleColor()
- }],
- 'mask-image-b-to-color': [{
- 'mask-b-to': scaleColor()
- }],
- 'mask-image-l-from-pos': [{
- 'mask-l-from': scaleMaskImagePosition()
- }],
- 'mask-image-l-to-pos': [{
- 'mask-l-to': scaleMaskImagePosition()
- }],
- 'mask-image-l-from-color': [{
- 'mask-l-from': scaleColor()
- }],
- 'mask-image-l-to-color': [{
- 'mask-l-to': scaleColor()
- }],
- 'mask-image-x-from-pos': [{
- 'mask-x-from': scaleMaskImagePosition()
- }],
- 'mask-image-x-to-pos': [{
- 'mask-x-to': scaleMaskImagePosition()
- }],
- 'mask-image-x-from-color': [{
- 'mask-x-from': scaleColor()
- }],
- 'mask-image-x-to-color': [{
- 'mask-x-to': scaleColor()
- }],
- 'mask-image-y-from-pos': [{
- 'mask-y-from': scaleMaskImagePosition()
- }],
- 'mask-image-y-to-pos': [{
- 'mask-y-to': scaleMaskImagePosition()
- }],
- 'mask-image-y-from-color': [{
- 'mask-y-from': scaleColor()
- }],
- 'mask-image-y-to-color': [{
- 'mask-y-to': scaleColor()
- }],
- 'mask-image-radial': [{
- 'mask-radial': [isArbitraryVariable, isArbitraryValue]
- }],
- 'mask-image-radial-from-pos': [{
- 'mask-radial-from': scaleMaskImagePosition()
- }],
- 'mask-image-radial-to-pos': [{
- 'mask-radial-to': scaleMaskImagePosition()
- }],
- 'mask-image-radial-from-color': [{
- 'mask-radial-from': scaleColor()
- }],
- 'mask-image-radial-to-color': [{
- 'mask-radial-to': scaleColor()
- }],
- 'mask-image-radial-shape': [{
- 'mask-radial': ['circle', 'ellipse']
- }],
- 'mask-image-radial-size': [{
- 'mask-radial': [{
- closest: ['side', 'corner'],
- farthest: ['side', 'corner']
- }]
- }],
- 'mask-image-radial-pos': [{
- 'mask-radial-at': scalePosition()
- }],
- 'mask-image-conic-pos': [{
- 'mask-conic': [isNumber]
- }],
- 'mask-image-conic-from-pos': [{
- 'mask-conic-from': scaleMaskImagePosition()
- }],
- 'mask-image-conic-to-pos': [{
- 'mask-conic-to': scaleMaskImagePosition()
- }],
- 'mask-image-conic-from-color': [{
- 'mask-conic-from': scaleColor()
- }],
- 'mask-image-conic-to-color': [{
- 'mask-conic-to': scaleColor()
- }],
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- 'mask-mode': [{
- mask: ['alpha', 'luminance', 'match']
- }],
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- 'mask-origin': [{
- 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }],
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- 'mask-position': [{
- mask: scaleBgPosition()
- }],
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- 'mask-repeat': [{
- mask: scaleBgRepeat()
- }],
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- 'mask-size': [{
- mask: scaleBgSize()
- }],
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- 'mask-type': [{
- 'mask-type': ['alpha', 'luminance']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image': [{
- mask: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // ---------------
- // --- Filters ---
- // ---------------
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- filter: [{
- filter: [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- blur: [{
- blur: scaleBlur()
- }],
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- brightness: [{
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- contrast: [{
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- 'drop-shadow': [{
- 'drop-shadow': [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- 'drop-shadow-color': [{
- 'drop-shadow': scaleColor()
- }],
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- grayscale: [{
- grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- 'hue-rotate': [{
- 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- invert: [{
- invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- saturate: [{
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- sepia: [{
- sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- 'backdrop-filter': [{
- 'backdrop-filter': [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- 'backdrop-blur': [{
- 'backdrop-blur': scaleBlur()
- }],
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- 'backdrop-brightness': [{
- 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- 'backdrop-contrast': [{
- 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- 'backdrop-grayscale': [{
- 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- 'backdrop-hue-rotate': [{
- 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- 'backdrop-invert': [{
- 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- 'backdrop-opacity': [{
- 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- 'backdrop-saturate': [{
- 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- 'backdrop-sepia': [{
- 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- // --------------
- // --- Tables ---
- // --------------
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- 'border-collapse': [{
- border: ['collapse', 'separate']
- }],
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing': [{
- 'border-spacing': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-x': [{
- 'border-spacing-x': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-y': [{
- 'border-spacing-y': scaleUnambiguousSpacing()
- }],
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- 'table-layout': [{
- table: ['auto', 'fixed']
- }],
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- caption: [{
- caption: ['top', 'bottom']
- }],
- // ---------------------------------
- // --- Transitions and Animation ---
- // ---------------------------------
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- transition: [{
- transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- 'transition-behavior': [{
- transition: ['normal', 'discrete']
- }],
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- duration: [{
- duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- ease: [{
- ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- delay: [{
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- animate: [{
- animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------
- // --- Transforms ---
- // ------------------
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- backface: [{
- backface: ['hidden', 'visible']
- }],
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- perspective: [{
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- 'perspective-origin': [{
- 'perspective-origin': scalePositionWithArbitrary()
- }],
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- rotate: [{
- rotate: scaleRotate()
- }],
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-x': [{
- 'rotate-x': scaleRotate()
- }],
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-y': [{
- 'rotate-y': scaleRotate()
- }],
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-z': [{
- 'rotate-z': scaleRotate()
- }],
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- scale: [{
- scale: scaleScale()
- }],
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-x': [{
- 'scale-x': scaleScale()
- }],
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-y': [{
- 'scale-y': scaleScale()
- }],
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-z': [{
- 'scale-z': scaleScale()
- }],
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-3d': ['scale-3d'],
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- skew: [{
- skew: scaleSkew()
- }],
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-x': [{
- 'skew-x': scaleSkew()
- }],
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-y': [{
- 'skew-y': scaleSkew()
- }],
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- transform: [{
- transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']
- }],
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- 'transform-origin': [{
- origin: scalePositionWithArbitrary()
- }],
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- 'transform-style': [{
- transform: ['3d', 'flat']
- }],
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- translate: [{
- translate: scaleTranslate()
- }],
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-x': [{
- 'translate-x': scaleTranslate()
- }],
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-y': [{
- 'translate-y': scaleTranslate()
- }],
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-z': [{
- 'translate-z': scaleTranslate()
- }],
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-none': ['translate-none'],
- // ---------------------
- // --- Interactivity ---
- // ---------------------
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- accent: [{
- accent: scaleColor()
- }],
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- appearance: [{
- appearance: ['none', 'auto']
- }],
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- 'caret-color': [{
- caret: scaleColor()
- }],
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- 'color-scheme': [{
- scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']
- }],
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- cursor: [{
- cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- 'field-sizing': [{
- 'field-sizing': ['fixed', 'content']
- }],
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- 'pointer-events': [{
- 'pointer-events': ['auto', 'none']
- }],
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- resize: [{
- resize: ['none', '', 'y', 'x']
- }],
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- 'scroll-behavior': [{
- scroll: ['auto', 'smooth']
- }],
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-m': [{
- 'scroll-m': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mx': [{
- 'scroll-mx': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-my': [{
- 'scroll-my': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ms': [{
- 'scroll-ms': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-me': [{
- 'scroll-me': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mt': [{
- 'scroll-mt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mr': [{
- 'scroll-mr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mb': [{
- 'scroll-mb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ml': [{
- 'scroll-ml': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-p': [{
- 'scroll-p': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-px': [{
- 'scroll-px': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-py': [{
- 'scroll-py': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-ps': [{
- 'scroll-ps': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pe': [{
- 'scroll-pe': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pt': [{
- 'scroll-pt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pr': [{
- 'scroll-pr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pb': [{
- 'scroll-pb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pl': [{
- 'scroll-pl': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- 'snap-align': [{
- snap: ['start', 'end', 'center', 'align-none']
- }],
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- 'snap-stop': [{
- snap: ['normal', 'always']
- }],
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-type': [{
- snap: ['none', 'x', 'y', 'both']
- }],
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-strictness': [{
- snap: ['mandatory', 'proximity']
- }],
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- touch: [{
- touch: ['auto', 'none', 'manipulation']
- }],
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-x': [{
- 'touch-pan': ['x', 'left', 'right']
- }],
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-y': [{
- 'touch-pan': ['y', 'up', 'down']
- }],
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-pz': ['touch-pinch-zoom'],
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- select: [{
- select: ['none', 'text', 'all', 'auto']
- }],
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- 'will-change': [{
- 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]
- }],
- // -----------
- // --- SVG ---
- // -----------
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- fill: [{
- fill: ['none'].concat(scaleColor())
- }],
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- 'stroke-w': [{
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
- }],
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- stroke: [{
- stroke: ['none'].concat(scaleColor())
- }],
- // ---------------------
- // --- Accessibility ---
- // ---------------------
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- 'forced-color-adjust': [{
- 'forced-color-adjust': ['auto', 'none']
- }]
- },
- conflictingClassGroups: {
- overflow: ['overflow-x', 'overflow-y'],
- overscroll: ['overscroll-x', 'overscroll-y'],
- inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
- 'inset-x': ['right', 'left'],
- 'inset-y': ['top', 'bottom'],
- flex: ['basis', 'grow', 'shrink'],
- gap: ['gap-x', 'gap-y'],
- p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
- px: ['pr', 'pl'],
- py: ['pt', 'pb'],
- m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
- mx: ['mr', 'ml'],
- my: ['mt', 'mb'],
- size: ['w', 'h'],
- 'font-size': ['leading'],
- 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
- 'fvn-ordinal': ['fvn-normal'],
- 'fvn-slashed-zero': ['fvn-normal'],
- 'fvn-figure': ['fvn-normal'],
- 'fvn-spacing': ['fvn-normal'],
- 'fvn-fraction': ['fvn-normal'],
- 'line-clamp': ['display', 'overflow'],
- rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],
- 'rounded-s': ['rounded-ss', 'rounded-es'],
- 'rounded-e': ['rounded-se', 'rounded-ee'],
- 'rounded-t': ['rounded-tl', 'rounded-tr'],
- 'rounded-r': ['rounded-tr', 'rounded-br'],
- 'rounded-b': ['rounded-br', 'rounded-bl'],
- 'rounded-l': ['rounded-tl', 'rounded-bl'],
- 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
- 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
- 'border-w-x': ['border-w-r', 'border-w-l'],
- 'border-w-y': ['border-w-t', 'border-w-b'],
- 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
- 'border-color-x': ['border-color-r', 'border-color-l'],
- 'border-color-y': ['border-color-t', 'border-color-b'],
- translate: ['translate-x', 'translate-y', 'translate-none'],
- 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
- 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
- 'scroll-mx': ['scroll-mr', 'scroll-ml'],
- 'scroll-my': ['scroll-mt', 'scroll-mb'],
- 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
- 'scroll-px': ['scroll-pr', 'scroll-pl'],
- 'scroll-py': ['scroll-pt', 'scroll-pb'],
- touch: ['touch-x', 'touch-y', 'touch-pz'],
- 'touch-x': ['touch'],
- 'touch-y': ['touch'],
- 'touch-pz': ['touch']
- },
- conflictingClassGroupModifiers: {
- 'font-size': ['leading']
- },
- orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']
- };
-};
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-var mergeConfigs = function mergeConfigs(baseConfig, _ref3) {
- var cacheSize = _ref3.cacheSize,
- prefix = _ref3.prefix,
- experimentalParseClassName = _ref3.experimentalParseClassName,
- _ref3$extend = _ref3.extend,
- extend = _ref3$extend === void 0 ? {} : _ref3$extend,
- _ref3$override = _ref3.override,
- override = _ref3$override === void 0 ? {} : _ref3$override;
- overrideProperty(baseConfig, 'cacheSize', cacheSize);
- overrideProperty(baseConfig, 'prefix', prefix);
- overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);
- overrideConfigProperties(baseConfig.theme, override.theme);
- overrideConfigProperties(baseConfig.classGroups, override.classGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
- overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);
- mergeConfigProperties(baseConfig.theme, extend.theme);
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
- mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');
- return baseConfig;
-};
-var overrideProperty = function overrideProperty(baseObject, overrideKey, overrideValue) {
- if (overrideValue !== undefined) {
- baseObject[overrideKey] = overrideValue;
- }
-};
-var overrideConfigProperties = function overrideConfigProperties(baseObject, overrideObject) {
- if (overrideObject) {
- for (var key in overrideObject) {
- overrideProperty(baseObject, key, overrideObject[key]);
- }
- }
-};
-var mergeConfigProperties = function mergeConfigProperties(baseObject, mergeObject) {
- if (mergeObject) {
- for (var key in mergeObject) {
- mergeArrayProperties(baseObject, mergeObject, key);
- }
- }
-};
-var mergeArrayProperties = function mergeArrayProperties(baseObject, mergeObject, key) {
- var mergeValue = mergeObject[key];
- if (mergeValue !== undefined) {
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
- }
-};
-var extendTailwindMerge = function extendTailwindMerge(configExtension) {
- for (var _len2 = arguments.length, createConfig = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- createConfig[_key2 - 1] = arguments[_key2];
- }
- return typeof configExtension === 'function' ? createTailwindMerge.apply(void 0, [getDefaultConfig, configExtension].concat(createConfig)) : createTailwindMerge.apply(void 0, [function () {
- return mergeConfigs(getDefaultConfig(), configExtension);
- }].concat(createConfig));
-};
-var twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
-exports.createTailwindMerge = createTailwindMerge;
-exports.extendTailwindMerge = extendTailwindMerge;
-exports.fromTheme = fromTheme;
-exports.getDefaultConfig = getDefaultConfig;
-exports.mergeConfigs = mergeConfigs;
-exports.twJoin = twJoin;
-exports.twMerge = twMerge;
-exports.validators = validators;
-//# sourceMappingURL=bundle-cjs.js.map
diff --git a/node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map b/node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map
deleted file mode 100644
index 0e29de4..0000000
--- a/node_modules/tailwind-merge/dist/es5/bundle-cjs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bundle-cjs.js","sources":["../../src/src/lib/class-group-utils.ts","../../src/src/lib/lru-cache.ts","../../src/src/lib/parse-class-name.ts","../../src/src/lib/sort-modifiers.ts","../../src/src/lib/config-utils.ts","../../src/src/lib/merge-classlist.ts","../../src/src/lib/tw-join.ts","../../src/src/lib/create-tailwind-merge.ts","../../src/src/lib/from-theme.ts","../../src/src/lib/validators.ts","../../src/src/lib/default-config.ts","../../src/src/lib/merge-configs.ts","../../src/src/lib/extend-tailwind-merge.ts","../../src/src/lib/tw-merge.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","concat","classPartObject","_classPartObject$vali","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","_ref","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","Object","entries","_ref2","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortModifiers","sortedModifiers","unsortedModifiers","isPositionSensitive","apply","sort","createConfigUtils","_extends","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","_parseClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","_len","createConfigRest","Array","_key","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","callTailwindMerge","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","_ref3","_ref3$extend","extend","_ref3$override","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","extendTailwindMerge","configExtension","_len2","createConfig","_key2","twMerge"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs b/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs
deleted file mode 100644
index ed8540c..0000000
--- a/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs
+++ /dev/null
@@ -1,3185 +0,0 @@
-function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
-var CLASS_PART_SEPARATOR = '-';
-var createClassGroupUtils = function createClassGroupUtils(config) {
- var classMap = createClassMap(config);
- var conflictingClassGroups = config.conflictingClassGroups,
- conflictingClassGroupModifiers = config.conflictingClassGroupModifiers;
- var getClassGroupId = function getClassGroupId(className) {
- var classParts = className.split(CLASS_PART_SEPARATOR);
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
- if (classParts[0] === '' && classParts.length !== 1) {
- classParts.shift();
- }
- return _getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
- };
- var getConflictingClassGroupIds = function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
- var conflicts = conflictingClassGroups[classGroupId] || [];
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
- return [].concat(conflicts, conflictingClassGroupModifiers[classGroupId]);
- }
- return conflicts;
- };
- return {
- getClassGroupId: getClassGroupId,
- getConflictingClassGroupIds: getConflictingClassGroupIds
- };
-};
-var _getGroupRecursive = function getGroupRecursive(classParts, classPartObject) {
- var _classPartObject$vali;
- if (classParts.length === 0) {
- return classPartObject.classGroupId;
- }
- var currentClassPart = classParts[0];
- var nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
- var classGroupFromNextClassPart = nextClassPartObject ? _getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
- if (classGroupFromNextClassPart) {
- return classGroupFromNextClassPart;
- }
- if (classPartObject.validators.length === 0) {
- return undefined;
- }
- var classRest = classParts.join(CLASS_PART_SEPARATOR);
- return (_classPartObject$vali = classPartObject.validators.find(function (_ref) {
- var validator = _ref.validator;
- return validator(classRest);
- })) == null ? void 0 : _classPartObject$vali.classGroupId;
-};
-var arbitraryPropertyRegex = /^\[(.+)\]$/;
-var getGroupIdForArbitraryProperty = function getGroupIdForArbitraryProperty(className) {
- if (arbitraryPropertyRegex.test(className)) {
- var arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
- var property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(':'));
- if (property) {
- // I use two dots here because one dot is used as prefix for class groups in plugins
- return 'arbitrary..' + property;
- }
- }
-};
-/**
- * Exported for testing only
- */
-var createClassMap = function createClassMap(config) {
- var theme = config.theme,
- classGroups = config.classGroups;
- var classMap = {
- nextPart: new Map(),
- validators: []
- };
- for (var classGroupId in classGroups) {
- _processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
- }
- return classMap;
-};
-var _processClassesRecursively = function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
- classGroup.forEach(function (classDefinition) {
- if (typeof classDefinition === 'string') {
- var classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
- classPartObjectToEdit.classGroupId = classGroupId;
- return;
- }
- if (typeof classDefinition === 'function') {
- if (isThemeGetter(classDefinition)) {
- _processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
- return;
- }
- classPartObject.validators.push({
- validator: classDefinition,
- classGroupId: classGroupId
- });
- return;
- }
- Object.entries(classDefinition).forEach(function (_ref2) {
- var key = _ref2[0],
- classGroup = _ref2[1];
- _processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
- });
- });
-};
-var getPart = function getPart(classPartObject, path) {
- var currentClassPartObject = classPartObject;
- path.split(CLASS_PART_SEPARATOR).forEach(function (pathPart) {
- if (!currentClassPartObject.nextPart.has(pathPart)) {
- currentClassPartObject.nextPart.set(pathPart, {
- nextPart: new Map(),
- validators: []
- });
- }
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
- });
- return currentClassPartObject;
-};
-var isThemeGetter = function isThemeGetter(func) {
- return func.isThemeGetter;
-};
-
-// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
-var createLruCache = function createLruCache(maxCacheSize) {
- if (maxCacheSize < 1) {
- return {
- get: function get() {
- return undefined;
- },
- set: function set() {}
- };
- }
- var cacheSize = 0;
- var cache = new Map();
- var previousCache = new Map();
- var update = function update(key, value) {
- cache.set(key, value);
- cacheSize++;
- if (cacheSize > maxCacheSize) {
- cacheSize = 0;
- previousCache = cache;
- cache = new Map();
- }
- };
- return {
- get: function get(key) {
- var value = cache.get(key);
- if (value !== undefined) {
- return value;
- }
- if ((value = previousCache.get(key)) !== undefined) {
- update(key, value);
- return value;
- }
- },
- set: function set(key, value) {
- if (cache.has(key)) {
- cache.set(key, value);
- } else {
- update(key, value);
- }
- }
- };
-};
-var IMPORTANT_MODIFIER = '!';
-var MODIFIER_SEPARATOR = ':';
-var MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
-var createParseClassName = function createParseClassName(config) {
- var prefix = config.prefix,
- experimentalParseClassName = config.experimentalParseClassName;
- /**
- * Parse class name into parts.
- *
- * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
- */
- var parseClassName = function parseClassName(className) {
- var modifiers = [];
- var bracketDepth = 0;
- var parenDepth = 0;
- var modifierStart = 0;
- var postfixModifierPosition;
- for (var index = 0; index < className.length; index++) {
- var currentCharacter = className[index];
- if (bracketDepth === 0 && parenDepth === 0) {
- if (currentCharacter === MODIFIER_SEPARATOR) {
- modifiers.push(className.slice(modifierStart, index));
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH;
- continue;
- }
- if (currentCharacter === '/') {
- postfixModifierPosition = index;
- continue;
- }
- }
- if (currentCharacter === '[') {
- bracketDepth++;
- } else if (currentCharacter === ']') {
- bracketDepth--;
- } else if (currentCharacter === '(') {
- parenDepth++;
- } else if (currentCharacter === ')') {
- parenDepth--;
- }
- }
- var baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
- var baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
- var hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
- var maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
- return {
- modifiers: modifiers,
- hasImportantModifier: hasImportantModifier,
- baseClassName: baseClassName,
- maybePostfixModifierPosition: maybePostfixModifierPosition
- };
- };
- if (prefix) {
- var fullPrefix = prefix + MODIFIER_SEPARATOR;
- var parseClassNameOriginal = parseClassName;
- parseClassName = function parseClassName(className) {
- return className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {
- isExternal: true,
- modifiers: [],
- hasImportantModifier: false,
- baseClassName: className,
- maybePostfixModifierPosition: undefined
- };
- };
- }
- if (experimentalParseClassName) {
- var _parseClassNameOriginal = parseClassName;
- parseClassName = function parseClassName(className) {
- return experimentalParseClassName({
- className: className,
- parseClassName: _parseClassNameOriginal
- });
- };
- }
- return parseClassName;
-};
-var stripImportantModifier = function stripImportantModifier(baseClassName) {
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(0, baseClassName.length - 1);
- }
- /**
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
- */
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(1);
- }
- return baseClassName;
-};
-
-/**
- * Sorts modifiers according to following schema:
- * - Predefined modifiers are sorted alphabetically
- * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
- */
-var createSortModifiers = function createSortModifiers(config) {
- var orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(function (modifier) {
- return [modifier, true];
- }));
- var sortModifiers = function sortModifiers(modifiers) {
- if (modifiers.length <= 1) {
- return modifiers;
- }
- var sortedModifiers = [];
- var unsortedModifiers = [];
- modifiers.forEach(function (modifier) {
- var isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
- if (isPositionSensitive) {
- sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort().concat([modifier]));
- unsortedModifiers = [];
- } else {
- unsortedModifiers.push(modifier);
- }
- });
- sortedModifiers.push.apply(sortedModifiers, unsortedModifiers.sort());
- return sortedModifiers;
- };
- return sortModifiers;
-};
-var createConfigUtils = function createConfigUtils(config) {
- return _extends({
- cache: createLruCache(config.cacheSize),
- parseClassName: createParseClassName(config),
- sortModifiers: createSortModifiers(config)
- }, createClassGroupUtils(config));
-};
-var SPLIT_CLASSES_REGEX = /\s+/;
-var mergeClassList = function mergeClassList(classList, configUtils) {
- var parseClassName = configUtils.parseClassName,
- getClassGroupId = configUtils.getClassGroupId,
- getConflictingClassGroupIds = configUtils.getConflictingClassGroupIds,
- sortModifiers = configUtils.sortModifiers;
- /**
- * Set of classGroupIds in following format:
- * `{importantModifier}{variantModifiers}{classGroupId}`
- * @example 'float'
- * @example 'hover:focus:bg-color'
- * @example 'md:!pr'
- */
- var classGroupsInConflict = [];
- var classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
- var result = '';
- for (var index = classNames.length - 1; index >= 0; index -= 1) {
- var originalClassName = classNames[index];
- var _parseClassName = parseClassName(originalClassName),
- isExternal = _parseClassName.isExternal,
- modifiers = _parseClassName.modifiers,
- hasImportantModifier = _parseClassName.hasImportantModifier,
- baseClassName = _parseClassName.baseClassName,
- maybePostfixModifierPosition = _parseClassName.maybePostfixModifierPosition;
- if (isExternal) {
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- var hasPostfixModifier = !!maybePostfixModifierPosition;
- var classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
- if (!classGroupId) {
- if (!hasPostfixModifier) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- classGroupId = getClassGroupId(baseClassName);
- if (!classGroupId) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- continue;
- }
- hasPostfixModifier = false;
- }
- var variantModifier = sortModifiers(modifiers).join(':');
- var modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
- var classId = modifierId + classGroupId;
- if (classGroupsInConflict.includes(classId)) {
- // Tailwind class omitted due to conflict
- continue;
- }
- classGroupsInConflict.push(classId);
- var conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
- for (var i = 0; i < conflictGroups.length; ++i) {
- var group = conflictGroups[i];
- classGroupsInConflict.push(modifierId + group);
- }
- // Tailwind class not in conflict
- result = originalClassName + (result.length > 0 ? ' ' + result : result);
- }
- return result;
-};
-
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com)
- */
-function twJoin() {
- var index = 0;
- var argument;
- var resolvedValue;
- var string = '';
- while (index < arguments.length) {
- if (argument = arguments[index++]) {
- if (resolvedValue = _toValue(argument)) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-}
-var _toValue = function toValue(mix) {
- if (typeof mix === 'string') {
- return mix;
- }
- var resolvedValue;
- var string = '';
- for (var k = 0; k < mix.length; k++) {
- if (mix[k]) {
- if (resolvedValue = _toValue(mix[k])) {
- string && (string += ' ');
- string += resolvedValue;
- }
- }
- }
- return string;
-};
-function createTailwindMerge(createConfigFirst) {
- for (var _len = arguments.length, createConfigRest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- createConfigRest[_key - 1] = arguments[_key];
- }
- var configUtils;
- var cacheGet;
- var cacheSet;
- var functionToCall = initTailwindMerge;
- function initTailwindMerge(classList) {
- var config = createConfigRest.reduce(function (previousConfig, createConfigCurrent) {
- return createConfigCurrent(previousConfig);
- }, createConfigFirst());
- configUtils = createConfigUtils(config);
- cacheGet = configUtils.cache.get;
- cacheSet = configUtils.cache.set;
- functionToCall = tailwindMerge;
- return tailwindMerge(classList);
- }
- function tailwindMerge(classList) {
- var cachedResult = cacheGet(classList);
- if (cachedResult) {
- return cachedResult;
- }
- var result = mergeClassList(classList, configUtils);
- cacheSet(classList, result);
- return result;
- }
- return function callTailwindMerge() {
- return functionToCall(twJoin.apply(null, arguments));
- };
-}
-var fromTheme = function fromTheme(key) {
- var themeGetter = function themeGetter(theme) {
- return theme[key] || [];
- };
- themeGetter.isThemeGetter = true;
- return themeGetter;
-};
-var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
-var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
-var fractionRegex = /^\d+\/\d+$/;
-var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
-var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
-var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
-// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
-var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
-var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
-var isFraction = function isFraction(value) {
- return fractionRegex.test(value);
-};
-var isNumber = function isNumber(value) {
- return !!value && !Number.isNaN(Number(value));
-};
-var isInteger = function isInteger(value) {
- return !!value && Number.isInteger(Number(value));
-};
-var isPercent = function isPercent(value) {
- return value.endsWith('%') && isNumber(value.slice(0, -1));
-};
-var isTshirtSize = function isTshirtSize(value) {
- return tshirtUnitRegex.test(value);
-};
-var isAny = function isAny() {
- return true;
-};
-var isLengthOnly = function isLengthOnly(value) {
- return (
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
- );
-};
-var isNever = function isNever() {
- return false;
-};
-var isShadow = function isShadow(value) {
- return shadowRegex.test(value);
-};
-var isImage = function isImage(value) {
- return imageRegex.test(value);
-};
-var isAnyNonArbitrary = function isAnyNonArbitrary(value) {
- return !isArbitraryValue(value) && !isArbitraryVariable(value);
-};
-var isArbitrarySize = function isArbitrarySize(value) {
- return getIsArbitraryValue(value, isLabelSize, isNever);
-};
-var isArbitraryValue = function isArbitraryValue(value) {
- return arbitraryValueRegex.test(value);
-};
-var isArbitraryLength = function isArbitraryLength(value) {
- return getIsArbitraryValue(value, isLabelLength, isLengthOnly);
-};
-var isArbitraryNumber = function isArbitraryNumber(value) {
- return getIsArbitraryValue(value, isLabelNumber, isNumber);
-};
-var isArbitraryPosition = function isArbitraryPosition(value) {
- return getIsArbitraryValue(value, isLabelPosition, isNever);
-};
-var isArbitraryImage = function isArbitraryImage(value) {
- return getIsArbitraryValue(value, isLabelImage, isImage);
-};
-var isArbitraryShadow = function isArbitraryShadow(value) {
- return getIsArbitraryValue(value, isLabelShadow, isShadow);
-};
-var isArbitraryVariable = function isArbitraryVariable(value) {
- return arbitraryVariableRegex.test(value);
-};
-var isArbitraryVariableLength = function isArbitraryVariableLength(value) {
- return getIsArbitraryVariable(value, isLabelLength);
-};
-var isArbitraryVariableFamilyName = function isArbitraryVariableFamilyName(value) {
- return getIsArbitraryVariable(value, isLabelFamilyName);
-};
-var isArbitraryVariablePosition = function isArbitraryVariablePosition(value) {
- return getIsArbitraryVariable(value, isLabelPosition);
-};
-var isArbitraryVariableSize = function isArbitraryVariableSize(value) {
- return getIsArbitraryVariable(value, isLabelSize);
-};
-var isArbitraryVariableImage = function isArbitraryVariableImage(value) {
- return getIsArbitraryVariable(value, isLabelImage);
-};
-var isArbitraryVariableShadow = function isArbitraryVariableShadow(value) {
- return getIsArbitraryVariable(value, isLabelShadow, true);
-};
-// Helpers
-var getIsArbitraryValue = function getIsArbitraryValue(value, testLabel, testValue) {
- var result = arbitraryValueRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return testValue(result[2]);
- }
- return false;
-};
-var getIsArbitraryVariable = function getIsArbitraryVariable(value, testLabel, shouldMatchNoLabel) {
- if (shouldMatchNoLabel === void 0) {
- shouldMatchNoLabel = false;
- }
- var result = arbitraryVariableRegex.exec(value);
- if (result) {
- if (result[1]) {
- return testLabel(result[1]);
- }
- return shouldMatchNoLabel;
- }
- return false;
-};
-// Labels
-var isLabelPosition = function isLabelPosition(label) {
- return label === 'position' || label === 'percentage';
-};
-var isLabelImage = function isLabelImage(label) {
- return label === 'image' || label === 'url';
-};
-var isLabelSize = function isLabelSize(label) {
- return label === 'length' || label === 'size' || label === 'bg-size';
-};
-var isLabelLength = function isLabelLength(label) {
- return label === 'length';
-};
-var isLabelNumber = function isLabelNumber(label) {
- return label === 'number';
-};
-var isLabelFamilyName = function isLabelFamilyName(label) {
- return label === 'family-name';
-};
-var isLabelShadow = function isLabelShadow(label) {
- return label === 'shadow';
-};
-var validators = /*#__PURE__*/Object.defineProperty({
- __proto__: null,
- isAny: isAny,
- isAnyNonArbitrary: isAnyNonArbitrary,
- isArbitraryImage: isArbitraryImage,
- isArbitraryLength: isArbitraryLength,
- isArbitraryNumber: isArbitraryNumber,
- isArbitraryPosition: isArbitraryPosition,
- isArbitraryShadow: isArbitraryShadow,
- isArbitrarySize: isArbitrarySize,
- isArbitraryValue: isArbitraryValue,
- isArbitraryVariable: isArbitraryVariable,
- isArbitraryVariableFamilyName: isArbitraryVariableFamilyName,
- isArbitraryVariableImage: isArbitraryVariableImage,
- isArbitraryVariableLength: isArbitraryVariableLength,
- isArbitraryVariablePosition: isArbitraryVariablePosition,
- isArbitraryVariableShadow: isArbitraryVariableShadow,
- isArbitraryVariableSize: isArbitraryVariableSize,
- isFraction: isFraction,
- isInteger: isInteger,
- isNumber: isNumber,
- isPercent: isPercent,
- isTshirtSize: isTshirtSize
-}, Symbol.toStringTag, {
- value: 'Module'
-});
-var getDefaultConfig = function getDefaultConfig() {
- /**
- * Theme getters for theme variable namespaces
- * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
- */
- /***/
- var themeColor = fromTheme('color');
- var themeFont = fromTheme('font');
- var themeText = fromTheme('text');
- var themeFontWeight = fromTheme('font-weight');
- var themeTracking = fromTheme('tracking');
- var themeLeading = fromTheme('leading');
- var themeBreakpoint = fromTheme('breakpoint');
- var themeContainer = fromTheme('container');
- var themeSpacing = fromTheme('spacing');
- var themeRadius = fromTheme('radius');
- var themeShadow = fromTheme('shadow');
- var themeInsetShadow = fromTheme('inset-shadow');
- var themeTextShadow = fromTheme('text-shadow');
- var themeDropShadow = fromTheme('drop-shadow');
- var themeBlur = fromTheme('blur');
- var themePerspective = fromTheme('perspective');
- var themeAspect = fromTheme('aspect');
- var themeEase = fromTheme('ease');
- var themeAnimate = fromTheme('animate');
- /**
- * Helpers to avoid repeating the same scales
- *
- * We use functions that create a new array every time they're called instead of static arrays.
- * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
- */
- /***/
- var scaleBreak = function scaleBreak() {
- return ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
- };
- var scalePosition = function scalePosition() {
- return ['center', 'top', 'bottom', 'left', 'right', 'top-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-top', 'top-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-top', 'bottom-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-bottom', 'bottom-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-bottom'];
- };
- var scalePositionWithArbitrary = function scalePositionWithArbitrary() {
- return [].concat(scalePosition(), [isArbitraryVariable, isArbitraryValue]);
- };
- var scaleOverflow = function scaleOverflow() {
- return ['auto', 'hidden', 'clip', 'visible', 'scroll'];
- };
- var scaleOverscroll = function scaleOverscroll() {
- return ['auto', 'contain', 'none'];
- };
- var scaleUnambiguousSpacing = function scaleUnambiguousSpacing() {
- return [isArbitraryVariable, isArbitraryValue, themeSpacing];
- };
- var scaleInset = function scaleInset() {
- return [isFraction, 'full', 'auto'].concat(scaleUnambiguousSpacing());
- };
- var scaleGridTemplateColsRows = function scaleGridTemplateColsRows() {
- return [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridColRowStartAndEnd = function scaleGridColRowStartAndEnd() {
- return ['auto', {
- span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]
- }, isInteger, isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridColRowStartOrEnd = function scaleGridColRowStartOrEnd() {
- return [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];
- };
- var scaleGridAutoColsRows = function scaleGridAutoColsRows() {
- return ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];
- };
- var scaleAlignPrimaryAxis = function scaleAlignPrimaryAxis() {
- return ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];
- };
- var scaleAlignSecondaryAxis = function scaleAlignSecondaryAxis() {
- return ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];
- };
- var scaleMargin = function scaleMargin() {
- return ['auto'].concat(scaleUnambiguousSpacing());
- };
- var scaleSizing = function scaleSizing() {
- return [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit'].concat(scaleUnambiguousSpacing());
- };
- var scaleColor = function scaleColor() {
- return [themeColor, isArbitraryVariable, isArbitraryValue];
- };
- var scaleBgPosition = function scaleBgPosition() {
- return [].concat(scalePosition(), [isArbitraryVariablePosition, isArbitraryPosition, {
- position: [isArbitraryVariable, isArbitraryValue]
- }]);
- };
- var scaleBgRepeat = function scaleBgRepeat() {
- return ['no-repeat', {
- repeat: ['', 'x', 'y', 'space', 'round']
- }];
- };
- var scaleBgSize = function scaleBgSize() {
- return ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {
- size: [isArbitraryVariable, isArbitraryValue]
- }];
- };
- var scaleGradientStopPosition = function scaleGradientStopPosition() {
- return [isPercent, isArbitraryVariableLength, isArbitraryLength];
- };
- var scaleRadius = function scaleRadius() {
- return [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];
- };
- var scaleBorderWidth = function scaleBorderWidth() {
- return ['', isNumber, isArbitraryVariableLength, isArbitraryLength];
- };
- var scaleLineStyle = function scaleLineStyle() {
- return ['solid', 'dashed', 'dotted', 'double'];
- };
- var scaleBlendMode = function scaleBlendMode() {
- return ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];
- };
- var scaleMaskImagePosition = function scaleMaskImagePosition() {
- return [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
- };
- var scaleBlur = function scaleBlur() {
- return [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];
- };
- var scaleRotate = function scaleRotate() {
- return ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleScale = function scaleScale() {
- return ['none', isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleSkew = function scaleSkew() {
- return [isNumber, isArbitraryVariable, isArbitraryValue];
- };
- var scaleTranslate = function scaleTranslate() {
- return [isFraction, 'full'].concat(scaleUnambiguousSpacing());
- };
- return {
- cacheSize: 500,
- theme: {
- animate: ['spin', 'ping', 'pulse', 'bounce'],
- aspect: ['video'],
- blur: [isTshirtSize],
- breakpoint: [isTshirtSize],
- color: [isAny],
- container: [isTshirtSize],
- 'drop-shadow': [isTshirtSize],
- ease: ['in', 'out', 'in-out'],
- font: [isAnyNonArbitrary],
- 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],
- 'inset-shadow': [isTshirtSize],
- leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
- perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
- radius: [isTshirtSize],
- shadow: [isTshirtSize],
- spacing: ['px', isNumber],
- text: [isTshirtSize],
- 'text-shadow': [isTshirtSize],
- tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']
- },
- classGroups: {
- // --------------
- // --- Layout ---
- // --------------
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- aspect: [{
- aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
- }],
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- container: ['container'],
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- columns: [{
- columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
- }],
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- 'break-after': [{
- 'break-after': scaleBreak()
- }],
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- 'break-before': [{
- 'break-before': scaleBreak()
- }],
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- 'break-inside': [{
- 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
- }],
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- 'box-decoration': [{
- 'box-decoration': ['slice', 'clone']
- }],
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- box: [{
- box: ['border', 'content']
- }],
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- sr: ['sr-only', 'not-sr-only'],
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- "float": [{
- "float": ['right', 'left', 'none', 'start', 'end']
- }],
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- clear: [{
- clear: ['left', 'right', 'both', 'none', 'start', 'end']
- }],
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- isolation: ['isolate', 'isolation-auto'],
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- 'object-fit': [{
- object: ['contain', 'cover', 'fill', 'none', 'scale-down']
- }],
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- 'object-position': [{
- object: scalePositionWithArbitrary()
- }],
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- overflow: [{
- overflow: scaleOverflow()
- }],
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-x': [{
- 'overflow-x': scaleOverflow()
- }],
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-y': [{
- 'overflow-y': scaleOverflow()
- }],
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- overscroll: [{
- overscroll: scaleOverscroll()
- }],
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-x': [{
- 'overscroll-x': scaleOverscroll()
- }],
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-y': [{
- 'overscroll-y': scaleOverscroll()
- }],
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- inset: [{
- inset: scaleInset()
- }],
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-x': [{
- 'inset-x': scaleInset()
- }],
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-y': [{
- 'inset-y': scaleInset()
- }],
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- start: [{
- start: scaleInset()
- }],
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- end: [{
- end: scaleInset()
- }],
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- top: [{
- top: scaleInset()
- }],
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- right: [{
- right: scaleInset()
- }],
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- bottom: [{
- bottom: scaleInset()
- }],
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- left: [{
- left: scaleInset()
- }],
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- visibility: ['visible', 'invisible', 'collapse'],
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- z: [{
- z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------------
- // --- Flexbox and Grid ---
- // ------------------------
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- basis: [{
- basis: [isFraction, 'full', 'auto', themeContainer].concat(scaleUnambiguousSpacing())
- }],
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- 'flex-direction': [{
- flex: ['row', 'row-reverse', 'col', 'col-reverse']
- }],
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- 'flex-wrap': [{
- flex: ['nowrap', 'wrap', 'wrap-reverse']
- }],
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- flex: [{
- flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]
- }],
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- grow: [{
- grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- shrink: [{
- shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- order: [{
- order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- 'grid-cols': [{
- 'grid-cols': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start-end': [{
- col: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start': [{
- 'col-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-end': [{
- 'col-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- 'grid-rows': [{
- 'grid-rows': scaleGridTemplateColsRows()
- }],
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start-end': [{
- row: scaleGridColRowStartAndEnd()
- }],
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start': [{
- 'row-start': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-end': [{
- 'row-end': scaleGridColRowStartOrEnd()
- }],
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- 'grid-flow': [{
- 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
- }],
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- 'auto-cols': [{
- 'auto-cols': scaleGridAutoColsRows()
- }],
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- 'auto-rows': [{
- 'auto-rows': scaleGridAutoColsRows()
- }],
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- gap: [{
- gap: scaleUnambiguousSpacing()
- }],
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-x': [{
- 'gap-x': scaleUnambiguousSpacing()
- }],
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-y': [{
- 'gap-y': scaleUnambiguousSpacing()
- }],
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- 'justify-content': [{
- justify: [].concat(scaleAlignPrimaryAxis(), ['normal'])
- }],
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- 'justify-items': [{
- 'justify-items': [].concat(scaleAlignSecondaryAxis(), ['normal'])
- }],
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- 'justify-self': [{
- 'justify-self': ['auto'].concat(scaleAlignSecondaryAxis())
- }],
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- 'align-content': [{
- content: ['normal'].concat(scaleAlignPrimaryAxis())
- }],
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- 'align-items': [{
- items: [].concat(scaleAlignSecondaryAxis(), [{
- baseline: ['', 'last']
- }])
- }],
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- 'align-self': [{
- self: ['auto'].concat(scaleAlignSecondaryAxis(), [{
- baseline: ['', 'last']
- }])
- }],
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- 'place-content': [{
- 'place-content': scaleAlignPrimaryAxis()
- }],
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- 'place-items': [{
- 'place-items': [].concat(scaleAlignSecondaryAxis(), ['baseline'])
- }],
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- 'place-self': [{
- 'place-self': ['auto'].concat(scaleAlignSecondaryAxis())
- }],
- // Spacing
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- p: [{
- p: scaleUnambiguousSpacing()
- }],
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- px: [{
- px: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- py: [{
- py: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- ps: [{
- ps: scaleUnambiguousSpacing()
- }],
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- pe: [{
- pe: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- pt: [{
- pt: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- pr: [{
- pr: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- pb: [{
- pb: scaleUnambiguousSpacing()
- }],
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- pl: [{
- pl: scaleUnambiguousSpacing()
- }],
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- m: [{
- m: scaleMargin()
- }],
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- mx: [{
- mx: scaleMargin()
- }],
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- my: [{
- my: scaleMargin()
- }],
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- ms: [{
- ms: scaleMargin()
- }],
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- me: [{
- me: scaleMargin()
- }],
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- mt: [{
- mt: scaleMargin()
- }],
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- mr: [{
- mr: scaleMargin()
- }],
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- mb: [{
- mb: scaleMargin()
- }],
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- ml: [{
- ml: scaleMargin()
- }],
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x': [{
- 'space-x': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x-reverse': ['space-x-reverse'],
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y': [{
- 'space-y': scaleUnambiguousSpacing()
- }],
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y-reverse': ['space-y-reverse'],
- // --------------
- // --- Sizing ---
- // --------------
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- size: [{
- size: scaleSizing()
- }],
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- w: [{
- w: [themeContainer, 'screen'].concat(scaleSizing())
- }],
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- 'min-w': [{
- 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'none'].concat(scaleSizing())
- }],
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- 'max-w': [{
- 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- {
- screen: [themeBreakpoint]
- }].concat(scaleSizing())
- }],
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- h: [{
- h: ['screen', 'lh'].concat(scaleSizing())
- }],
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- 'min-h': [{
- 'min-h': ['screen', 'lh', 'none'].concat(scaleSizing())
- }],
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- 'max-h': [{
- 'max-h': ['screen', 'lh'].concat(scaleSizing())
- }],
- // ------------------
- // --- Typography ---
- // ------------------
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- 'font-size': [{
- text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- 'font-style': ['italic', 'not-italic'],
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- 'font-weight': [{
- font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- 'font-stretch': [{
- 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]
- }],
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- 'font-family': [{
- font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]
- }],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-normal': ['normal-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-ordinal': ['ordinal'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-slashed-zero': ['slashed-zero'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- tracking: [{
- tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- 'line-clamp': [{
- 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]
- }],
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- leading: [{
- leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- themeLeading].concat(scaleUnambiguousSpacing())
- }],
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- 'list-image': [{
- 'list-image': ['none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- 'list-style-position': [{
- list: ['inside', 'outside']
- }],
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- 'list-style-type': [{
- list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- 'text-alignment': [{
- text: ['left', 'center', 'right', 'justify', 'start', 'end']
- }],
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- 'placeholder-color': [{
- placeholder: scaleColor()
- }],
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- 'text-color': [{
- text: scaleColor()
- }],
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- 'text-decoration-style': [{
- decoration: [].concat(scaleLineStyle(), ['wavy'])
- }],
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- 'text-decoration-thickness': [{
- decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]
- }],
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- 'text-decoration-color': [{
- decoration: scaleColor()
- }],
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- 'underline-offset': [{
- 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- 'text-wrap': [{
- text: ['wrap', 'nowrap', 'balance', 'pretty']
- }],
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- indent: [{
- indent: scaleUnambiguousSpacing()
- }],
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- 'vertical-align': [{
- align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- whitespace: [{
- whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
- }],
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- "break": [{
- "break": ['normal', 'words', 'all', 'keep']
- }],
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- wrap: [{
- wrap: ['break-word', 'anywhere', 'normal']
- }],
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- hyphens: [{
- hyphens: ['none', 'manual', 'auto']
- }],
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- content: [{
- content: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // -------------------
- // --- Backgrounds ---
- // -------------------
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- 'bg-attachment': [{
- bg: ['fixed', 'local', 'scroll']
- }],
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- 'bg-clip': [{
- 'bg-clip': ['border', 'padding', 'content', 'text']
- }],
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- 'bg-origin': [{
- 'bg-origin': ['border', 'padding', 'content']
- }],
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- 'bg-position': [{
- bg: scaleBgPosition()
- }],
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- 'bg-repeat': [{
- bg: scaleBgRepeat()
- }],
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- 'bg-size': [{
- bg: scaleBgSize()
- }],
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- 'bg-image': [{
- bg: ['none', {
- linear: [{
- to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
- }, isInteger, isArbitraryVariable, isArbitraryValue],
- radial: ['', isArbitraryVariable, isArbitraryValue],
- conic: [isInteger, isArbitraryVariable, isArbitraryValue]
- }, isArbitraryVariableImage, isArbitraryImage]
- }],
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- 'bg-color': [{
- bg: scaleColor()
- }],
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from-pos': [{
- from: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via-pos': [{
- via: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to-pos': [{
- to: scaleGradientStopPosition()
- }],
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from': [{
- from: scaleColor()
- }],
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via': [{
- via: scaleColor()
- }],
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to': [{
- to: scaleColor()
- }],
- // ---------------
- // --- Borders ---
- // ---------------
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- rounded: [{
- rounded: scaleRadius()
- }],
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-s': [{
- 'rounded-s': scaleRadius()
- }],
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-e': [{
- 'rounded-e': scaleRadius()
- }],
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-t': [{
- 'rounded-t': scaleRadius()
- }],
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-r': [{
- 'rounded-r': scaleRadius()
- }],
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-b': [{
- 'rounded-b': scaleRadius()
- }],
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-l': [{
- 'rounded-l': scaleRadius()
- }],
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ss': [{
- 'rounded-ss': scaleRadius()
- }],
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-se': [{
- 'rounded-se': scaleRadius()
- }],
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ee': [{
- 'rounded-ee': scaleRadius()
- }],
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-es': [{
- 'rounded-es': scaleRadius()
- }],
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tl': [{
- 'rounded-tl': scaleRadius()
- }],
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tr': [{
- 'rounded-tr': scaleRadius()
- }],
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-br': [{
- 'rounded-br': scaleRadius()
- }],
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-bl': [{
- 'rounded-bl': scaleRadius()
- }],
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w': [{
- border: scaleBorderWidth()
- }],
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-x': [{
- 'border-x': scaleBorderWidth()
- }],
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-y': [{
- 'border-y': scaleBorderWidth()
- }],
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-s': [{
- 'border-s': scaleBorderWidth()
- }],
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-e': [{
- 'border-e': scaleBorderWidth()
- }],
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-t': [{
- 'border-t': scaleBorderWidth()
- }],
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-r': [{
- 'border-r': scaleBorderWidth()
- }],
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-b': [{
- 'border-b': scaleBorderWidth()
- }],
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-l': [{
- 'border-l': scaleBorderWidth()
- }],
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x': [{
- 'divide-x': scaleBorderWidth()
- }],
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x-reverse': ['divide-x-reverse'],
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y': [{
- 'divide-y': scaleBorderWidth()
- }],
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y-reverse': ['divide-y-reverse'],
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- 'border-style': [{
- border: [].concat(scaleLineStyle(), ['hidden', 'none'])
- }],
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- 'divide-style': [{
- divide: [].concat(scaleLineStyle(), ['hidden', 'none'])
- }],
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color': [{
- border: scaleColor()
- }],
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-x': [{
- 'border-x': scaleColor()
- }],
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-y': [{
- 'border-y': scaleColor()
- }],
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-s': [{
- 'border-s': scaleColor()
- }],
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-e': [{
- 'border-e': scaleColor()
- }],
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-t': [{
- 'border-t': scaleColor()
- }],
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-r': [{
- 'border-r': scaleColor()
- }],
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-b': [{
- 'border-b': scaleColor()
- }],
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-l': [{
- 'border-l': scaleColor()
- }],
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- 'divide-color': [{
- divide: scaleColor()
- }],
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- 'outline-style': [{
- outline: [].concat(scaleLineStyle(), ['none', 'hidden'])
- }],
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- 'outline-offset': [{
- 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- 'outline-w': [{
- outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]
- }],
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- 'outline-color': [{
- outline: scaleColor()
- }],
- // ---------------
- // --- Effects ---
- // ---------------
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- shadow: [{
- shadow: [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- 'shadow-color': [{
- shadow: scaleColor()
- }],
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- 'inset-shadow': [{
- 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- 'inset-shadow-color': [{
- 'inset-shadow': scaleColor()
- }],
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- 'ring-w': [{
- ring: scaleBorderWidth()
- }],
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-w-inset': ['ring-inset'],
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- 'ring-color': [{
- ring: scaleColor()
- }],
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-w': [{
- 'ring-offset': [isNumber, isArbitraryLength]
- }],
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-color': [{
- 'ring-offset': scaleColor()
- }],
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- 'inset-ring-w': [{
- 'inset-ring': scaleBorderWidth()
- }],
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- 'inset-ring-color': [{
- 'inset-ring': scaleColor()
- }],
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- 'text-shadow': [{
- 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- 'text-shadow-color': [{
- 'text-shadow': scaleColor()
- }],
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- opacity: [{
- opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- 'mix-blend': [{
- 'mix-blend': [].concat(scaleBlendMode(), ['plus-darker', 'plus-lighter'])
- }],
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- 'bg-blend': [{
- 'bg-blend': scaleBlendMode()
- }],
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- 'mask-clip': [{
- 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }, 'mask-no-clip'],
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- 'mask-composite': [{
- mask: ['add', 'subtract', 'intersect', 'exclude']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image-linear-pos': [{
- 'mask-linear': [isNumber]
- }],
- 'mask-image-linear-from-pos': [{
- 'mask-linear-from': scaleMaskImagePosition()
- }],
- 'mask-image-linear-to-pos': [{
- 'mask-linear-to': scaleMaskImagePosition()
- }],
- 'mask-image-linear-from-color': [{
- 'mask-linear-from': scaleColor()
- }],
- 'mask-image-linear-to-color': [{
- 'mask-linear-to': scaleColor()
- }],
- 'mask-image-t-from-pos': [{
- 'mask-t-from': scaleMaskImagePosition()
- }],
- 'mask-image-t-to-pos': [{
- 'mask-t-to': scaleMaskImagePosition()
- }],
- 'mask-image-t-from-color': [{
- 'mask-t-from': scaleColor()
- }],
- 'mask-image-t-to-color': [{
- 'mask-t-to': scaleColor()
- }],
- 'mask-image-r-from-pos': [{
- 'mask-r-from': scaleMaskImagePosition()
- }],
- 'mask-image-r-to-pos': [{
- 'mask-r-to': scaleMaskImagePosition()
- }],
- 'mask-image-r-from-color': [{
- 'mask-r-from': scaleColor()
- }],
- 'mask-image-r-to-color': [{
- 'mask-r-to': scaleColor()
- }],
- 'mask-image-b-from-pos': [{
- 'mask-b-from': scaleMaskImagePosition()
- }],
- 'mask-image-b-to-pos': [{
- 'mask-b-to': scaleMaskImagePosition()
- }],
- 'mask-image-b-from-color': [{
- 'mask-b-from': scaleColor()
- }],
- 'mask-image-b-to-color': [{
- 'mask-b-to': scaleColor()
- }],
- 'mask-image-l-from-pos': [{
- 'mask-l-from': scaleMaskImagePosition()
- }],
- 'mask-image-l-to-pos': [{
- 'mask-l-to': scaleMaskImagePosition()
- }],
- 'mask-image-l-from-color': [{
- 'mask-l-from': scaleColor()
- }],
- 'mask-image-l-to-color': [{
- 'mask-l-to': scaleColor()
- }],
- 'mask-image-x-from-pos': [{
- 'mask-x-from': scaleMaskImagePosition()
- }],
- 'mask-image-x-to-pos': [{
- 'mask-x-to': scaleMaskImagePosition()
- }],
- 'mask-image-x-from-color': [{
- 'mask-x-from': scaleColor()
- }],
- 'mask-image-x-to-color': [{
- 'mask-x-to': scaleColor()
- }],
- 'mask-image-y-from-pos': [{
- 'mask-y-from': scaleMaskImagePosition()
- }],
- 'mask-image-y-to-pos': [{
- 'mask-y-to': scaleMaskImagePosition()
- }],
- 'mask-image-y-from-color': [{
- 'mask-y-from': scaleColor()
- }],
- 'mask-image-y-to-color': [{
- 'mask-y-to': scaleColor()
- }],
- 'mask-image-radial': [{
- 'mask-radial': [isArbitraryVariable, isArbitraryValue]
- }],
- 'mask-image-radial-from-pos': [{
- 'mask-radial-from': scaleMaskImagePosition()
- }],
- 'mask-image-radial-to-pos': [{
- 'mask-radial-to': scaleMaskImagePosition()
- }],
- 'mask-image-radial-from-color': [{
- 'mask-radial-from': scaleColor()
- }],
- 'mask-image-radial-to-color': [{
- 'mask-radial-to': scaleColor()
- }],
- 'mask-image-radial-shape': [{
- 'mask-radial': ['circle', 'ellipse']
- }],
- 'mask-image-radial-size': [{
- 'mask-radial': [{
- closest: ['side', 'corner'],
- farthest: ['side', 'corner']
- }]
- }],
- 'mask-image-radial-pos': [{
- 'mask-radial-at': scalePosition()
- }],
- 'mask-image-conic-pos': [{
- 'mask-conic': [isNumber]
- }],
- 'mask-image-conic-from-pos': [{
- 'mask-conic-from': scaleMaskImagePosition()
- }],
- 'mask-image-conic-to-pos': [{
- 'mask-conic-to': scaleMaskImagePosition()
- }],
- 'mask-image-conic-from-color': [{
- 'mask-conic-from': scaleColor()
- }],
- 'mask-image-conic-to-color': [{
- 'mask-conic-to': scaleColor()
- }],
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- 'mask-mode': [{
- mask: ['alpha', 'luminance', 'match']
- }],
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- 'mask-origin': [{
- 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']
- }],
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- 'mask-position': [{
- mask: scaleBgPosition()
- }],
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- 'mask-repeat': [{
- mask: scaleBgRepeat()
- }],
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- 'mask-size': [{
- mask: scaleBgSize()
- }],
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- 'mask-type': [{
- 'mask-type': ['alpha', 'luminance']
- }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image': [{
- mask: ['none', isArbitraryVariable, isArbitraryValue]
- }],
- // ---------------
- // --- Filters ---
- // ---------------
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- filter: [{
- filter: [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- blur: [{
- blur: scaleBlur()
- }],
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- brightness: [{
- brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- contrast: [{
- contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- 'drop-shadow': [{
- 'drop-shadow': [
- // Deprecated since Tailwind CSS v4.0.0
- '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]
- }],
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- 'drop-shadow-color': [{
- 'drop-shadow': scaleColor()
- }],
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- grayscale: [{
- grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- 'hue-rotate': [{
- 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- invert: [{
- invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- saturate: [{
- saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- sepia: [{
- sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- 'backdrop-filter': [{
- 'backdrop-filter': [
- // Deprecated since Tailwind CSS v3.0.0
- '', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- 'backdrop-blur': [{
- 'backdrop-blur': scaleBlur()
- }],
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- 'backdrop-brightness': [{
- 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- 'backdrop-contrast': [{
- 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- 'backdrop-grayscale': [{
- 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- 'backdrop-hue-rotate': [{
- 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- 'backdrop-invert': [{
- 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- 'backdrop-opacity': [{
- 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- 'backdrop-saturate': [{
- 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- 'backdrop-sepia': [{
- 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- // --------------
- // --- Tables ---
- // --------------
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- 'border-collapse': [{
- border: ['collapse', 'separate']
- }],
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing': [{
- 'border-spacing': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-x': [{
- 'border-spacing-x': scaleUnambiguousSpacing()
- }],
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-y': [{
- 'border-spacing-y': scaleUnambiguousSpacing()
- }],
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- 'table-layout': [{
- table: ['auto', 'fixed']
- }],
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- caption: [{
- caption: ['top', 'bottom']
- }],
- // ---------------------------------
- // --- Transitions and Animation ---
- // ---------------------------------
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- transition: [{
- transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- 'transition-behavior': [{
- transition: ['normal', 'discrete']
- }],
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- duration: [{
- duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- ease: [{
- ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- delay: [{
- delay: [isNumber, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- animate: [{
- animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]
- }],
- // ------------------
- // --- Transforms ---
- // ------------------
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- backface: [{
- backface: ['hidden', 'visible']
- }],
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- perspective: [{
- perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- 'perspective-origin': [{
- 'perspective-origin': scalePositionWithArbitrary()
- }],
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- rotate: [{
- rotate: scaleRotate()
- }],
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-x': [{
- 'rotate-x': scaleRotate()
- }],
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-y': [{
- 'rotate-y': scaleRotate()
- }],
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-z': [{
- 'rotate-z': scaleRotate()
- }],
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- scale: [{
- scale: scaleScale()
- }],
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-x': [{
- 'scale-x': scaleScale()
- }],
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-y': [{
- 'scale-y': scaleScale()
- }],
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-z': [{
- 'scale-z': scaleScale()
- }],
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-3d': ['scale-3d'],
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- skew: [{
- skew: scaleSkew()
- }],
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-x': [{
- 'skew-x': scaleSkew()
- }],
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-y': [{
- 'skew-y': scaleSkew()
- }],
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- transform: [{
- transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']
- }],
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- 'transform-origin': [{
- origin: scalePositionWithArbitrary()
- }],
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- 'transform-style': [{
- transform: ['3d', 'flat']
- }],
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- translate: [{
- translate: scaleTranslate()
- }],
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-x': [{
- 'translate-x': scaleTranslate()
- }],
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-y': [{
- 'translate-y': scaleTranslate()
- }],
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-z': [{
- 'translate-z': scaleTranslate()
- }],
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-none': ['translate-none'],
- // ---------------------
- // --- Interactivity ---
- // ---------------------
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- accent: [{
- accent: scaleColor()
- }],
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- appearance: [{
- appearance: ['none', 'auto']
- }],
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- 'caret-color': [{
- caret: scaleColor()
- }],
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- 'color-scheme': [{
- scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']
- }],
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- cursor: [{
- cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]
- }],
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- 'field-sizing': [{
- 'field-sizing': ['fixed', 'content']
- }],
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- 'pointer-events': [{
- 'pointer-events': ['auto', 'none']
- }],
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- resize: [{
- resize: ['none', '', 'y', 'x']
- }],
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- 'scroll-behavior': [{
- scroll: ['auto', 'smooth']
- }],
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-m': [{
- 'scroll-m': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mx': [{
- 'scroll-mx': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-my': [{
- 'scroll-my': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ms': [{
- 'scroll-ms': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-me': [{
- 'scroll-me': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mt': [{
- 'scroll-mt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mr': [{
- 'scroll-mr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mb': [{
- 'scroll-mb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ml': [{
- 'scroll-ml': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-p': [{
- 'scroll-p': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-px': [{
- 'scroll-px': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-py': [{
- 'scroll-py': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-ps': [{
- 'scroll-ps': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pe': [{
- 'scroll-pe': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pt': [{
- 'scroll-pt': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pr': [{
- 'scroll-pr': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pb': [{
- 'scroll-pb': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pl': [{
- 'scroll-pl': scaleUnambiguousSpacing()
- }],
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- 'snap-align': [{
- snap: ['start', 'end', 'center', 'align-none']
- }],
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- 'snap-stop': [{
- snap: ['normal', 'always']
- }],
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-type': [{
- snap: ['none', 'x', 'y', 'both']
- }],
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-strictness': [{
- snap: ['mandatory', 'proximity']
- }],
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- touch: [{
- touch: ['auto', 'none', 'manipulation']
- }],
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-x': [{
- 'touch-pan': ['x', 'left', 'right']
- }],
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-y': [{
- 'touch-pan': ['y', 'up', 'down']
- }],
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-pz': ['touch-pinch-zoom'],
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- select: [{
- select: ['none', 'text', 'all', 'auto']
- }],
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- 'will-change': [{
- 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]
- }],
- // -----------
- // --- SVG ---
- // -----------
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- fill: [{
- fill: ['none'].concat(scaleColor())
- }],
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- 'stroke-w': [{
- stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
- }],
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- stroke: [{
- stroke: ['none'].concat(scaleColor())
- }],
- // ---------------------
- // --- Accessibility ---
- // ---------------------
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- 'forced-color-adjust': [{
- 'forced-color-adjust': ['auto', 'none']
- }]
- },
- conflictingClassGroups: {
- overflow: ['overflow-x', 'overflow-y'],
- overscroll: ['overscroll-x', 'overscroll-y'],
- inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
- 'inset-x': ['right', 'left'],
- 'inset-y': ['top', 'bottom'],
- flex: ['basis', 'grow', 'shrink'],
- gap: ['gap-x', 'gap-y'],
- p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
- px: ['pr', 'pl'],
- py: ['pt', 'pb'],
- m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
- mx: ['mr', 'ml'],
- my: ['mt', 'mb'],
- size: ['w', 'h'],
- 'font-size': ['leading'],
- 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
- 'fvn-ordinal': ['fvn-normal'],
- 'fvn-slashed-zero': ['fvn-normal'],
- 'fvn-figure': ['fvn-normal'],
- 'fvn-spacing': ['fvn-normal'],
- 'fvn-fraction': ['fvn-normal'],
- 'line-clamp': ['display', 'overflow'],
- rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],
- 'rounded-s': ['rounded-ss', 'rounded-es'],
- 'rounded-e': ['rounded-se', 'rounded-ee'],
- 'rounded-t': ['rounded-tl', 'rounded-tr'],
- 'rounded-r': ['rounded-tr', 'rounded-br'],
- 'rounded-b': ['rounded-br', 'rounded-bl'],
- 'rounded-l': ['rounded-tl', 'rounded-bl'],
- 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
- 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
- 'border-w-x': ['border-w-r', 'border-w-l'],
- 'border-w-y': ['border-w-t', 'border-w-b'],
- 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
- 'border-color-x': ['border-color-r', 'border-color-l'],
- 'border-color-y': ['border-color-t', 'border-color-b'],
- translate: ['translate-x', 'translate-y', 'translate-none'],
- 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
- 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
- 'scroll-mx': ['scroll-mr', 'scroll-ml'],
- 'scroll-my': ['scroll-mt', 'scroll-mb'],
- 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
- 'scroll-px': ['scroll-pr', 'scroll-pl'],
- 'scroll-py': ['scroll-pt', 'scroll-pb'],
- touch: ['touch-x', 'touch-y', 'touch-pz'],
- 'touch-x': ['touch'],
- 'touch-y': ['touch'],
- 'touch-pz': ['touch']
- },
- conflictingClassGroupModifiers: {
- 'font-size': ['leading']
- },
- orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']
- };
-};
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-var mergeConfigs = function mergeConfigs(baseConfig, _ref3) {
- var cacheSize = _ref3.cacheSize,
- prefix = _ref3.prefix,
- experimentalParseClassName = _ref3.experimentalParseClassName,
- _ref3$extend = _ref3.extend,
- extend = _ref3$extend === void 0 ? {} : _ref3$extend,
- _ref3$override = _ref3.override,
- override = _ref3$override === void 0 ? {} : _ref3$override;
- overrideProperty(baseConfig, 'cacheSize', cacheSize);
- overrideProperty(baseConfig, 'prefix', prefix);
- overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);
- overrideConfigProperties(baseConfig.theme, override.theme);
- overrideConfigProperties(baseConfig.classGroups, override.classGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
- overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
- overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);
- mergeConfigProperties(baseConfig.theme, extend.theme);
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
- mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
- mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');
- return baseConfig;
-};
-var overrideProperty = function overrideProperty(baseObject, overrideKey, overrideValue) {
- if (overrideValue !== undefined) {
- baseObject[overrideKey] = overrideValue;
- }
-};
-var overrideConfigProperties = function overrideConfigProperties(baseObject, overrideObject) {
- if (overrideObject) {
- for (var key in overrideObject) {
- overrideProperty(baseObject, key, overrideObject[key]);
- }
- }
-};
-var mergeConfigProperties = function mergeConfigProperties(baseObject, mergeObject) {
- if (mergeObject) {
- for (var key in mergeObject) {
- mergeArrayProperties(baseObject, mergeObject, key);
- }
- }
-};
-var mergeArrayProperties = function mergeArrayProperties(baseObject, mergeObject, key) {
- var mergeValue = mergeObject[key];
- if (mergeValue !== undefined) {
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
- }
-};
-var extendTailwindMerge = function extendTailwindMerge(configExtension) {
- for (var _len2 = arguments.length, createConfig = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- createConfig[_key2 - 1] = arguments[_key2];
- }
- return typeof configExtension === 'function' ? createTailwindMerge.apply(void 0, [getDefaultConfig, configExtension].concat(createConfig)) : createTailwindMerge.apply(void 0, [function () {
- return mergeConfigs(getDefaultConfig(), configExtension);
- }].concat(createConfig));
-};
-var twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
-export { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };
-//# sourceMappingURL=bundle-mjs.mjs.map
diff --git a/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map b/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map
deleted file mode 100644
index 43bd132..0000000
--- a/node_modules/tailwind-merge/dist/es5/bundle-mjs.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bundle-mjs.mjs","sources":["../../src/src/lib/class-group-utils.ts","../../src/src/lib/lru-cache.ts","../../src/src/lib/parse-class-name.ts","../../src/src/lib/sort-modifiers.ts","../../src/src/lib/config-utils.ts","../../src/src/lib/merge-classlist.ts","../../src/src/lib/tw-join.ts","../../src/src/lib/create-tailwind-merge.ts","../../src/src/lib/from-theme.ts","../../src/src/lib/validators.ts","../../src/src/lib/default-config.ts","../../src/src/lib/merge-configs.ts","../../src/src/lib/extend-tailwind-merge.ts","../../src/src/lib/tw-merge.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","concat","classPartObject","_classPartObject$vali","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","_ref","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","Object","entries","_ref2","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortModifiers","sortedModifiers","unsortedModifiers","isPositionSensitive","apply","sort","createConfigUtils","_extends","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","_parseClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","_len","createConfigRest","Array","_key","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","callTailwindMerge","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","_ref3","_ref3$extend","extend","_ref3$override","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","extendTailwindMerge","configExtension","_len2","createConfig","_key2","twMerge"],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/tailwind-merge/dist/types.d.ts b/node_modules/tailwind-merge/dist/types.d.ts
deleted file mode 100644
index d109f2c..0000000
--- a/node_modules/tailwind-merge/dist/types.d.ts
+++ /dev/null
@@ -1,2630 +0,0 @@
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com)
- */
-type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false;
-type ClassNameArray = ClassNameValue[];
-declare function twJoin(...classLists: ClassNameValue[]): string;
-
-/**
- * Type the tailwind-merge configuration adheres to.
- */
-interface Config extends ConfigStaticPart, ConfigGroupsPart {
-}
-/**
- * The static part of the tailwind-merge configuration. When merging multiple configurations, the properties of this interface are always overridden.
- */
-interface ConfigStaticPart {
- /**
- * Integer indicating size of LRU cache used for memoizing results.
- * - Cache might be up to twice as big as `cacheSize`
- * - No cache is used for values <= 0
- */
- cacheSize: number;
- /**
- * Prefix added to Tailwind-generated classes
- * @see https://tailwindcss.com/docs/configuration#prefix
- */
- prefix?: string;
- /**
- * Allows to customize parsing of individual classes passed to `twMerge`.
- * All classes passed to `twMerge` outside of cache hits are passed to this function before it is determined whether the class is a valid Tailwind CSS class.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
- experimentalParseClassName?(param: ExperimentalParseClassNameParam): ParsedClassName;
-}
-/**
- * Type of param passed to the `experimentalParseClassName` function.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
-interface ExperimentalParseClassNameParam {
- className: string;
- parseClassName(className: string): ParsedClassName;
-}
-/**
- * Type of the result returned by the `experimentalParseClassName` function.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
-interface ParsedClassName {
- /**
- * Whether the class is external and merging logic should be sipped.
- *
- * If this is `true`, the class will be treated as if it wasn't a Tailwind class and will be passed through as is.
- */
- isExternal?: boolean;
- /**
- * Modifiers of the class in the order they appear in the class.
- *
- * @example ['hover', 'dark'] // for `hover:dark:bg-gray-100`
- */
- modifiers: string[];
- /**
- * Whether the class has an `!important` modifier.
- *
- * @example true // for `hover:dark:!bg-gray-100`
- */
- hasImportantModifier: boolean;
- /**
- * Base class without preceding modifiers.
- *
- * @example 'bg-gray-100' // for `hover:dark:bg-gray-100`
- */
- baseClassName: string;
- /**
- * Index position of a possible postfix modifier in the class.
- * If the class has no postfix modifier, this is `undefined`.
- *
- * This property is prefixed with "maybe" because tailwind-merge does not know whether something is a postfix modifier or part of the base class since it's possible to configure Tailwind CSS classes which include a `/` in the base class name.
- *
- * If a `maybePostfixModifierPosition` is present, tailwind-merge first tries to match the `baseClassName` without the possible postfix modifier to a class group. If that fails, it tries again with the possible postfix modifier.
- *
- * @example 11 // for `bg-gray-100/50`
- */
- maybePostfixModifierPosition: number | undefined;
-}
-/**
- * The dynamic part of the tailwind-merge configuration. When merging multiple configurations, the user can choose to either override or extend the properties of this interface.
- */
-interface ConfigGroupsPart {
- /**
- * Theme scales used in classGroups.
- *
- * The keys are the same as in the Tailwind config but the values are sometimes defined more broadly.
- */
- theme: NoInfer>;
- /**
- * Object with groups of classes.
- *
- * @example
- * {
- * // Creates group of classes `group`, `of` and `classes`
- * 'group-id': ['group', 'of', 'classes'],
- * // Creates group of classes `look-at-me-other` and `look-at-me-group`.
- * 'other-group': [{ 'look-at-me': ['other', 'group']}]
- * }
- */
- classGroups: NoInfer>>;
- /**
- * Conflicting classes across groups.
- *
- * The key is the ID of a class group which creates a conflict, values are IDs of class groups which receive a conflict. That means if a class from from the key ID is present, all preceding classes from the values are removed.
- *
- * A class group ID is the key of a class group in the classGroups object.
- *
- * @example { gap: ['gap-x', 'gap-y'] }
- */
- conflictingClassGroups: NoInfer>>;
- /**
- * Postfix modifiers conflicting with other class groups.
- *
- * A class group ID is the key of a class group in classGroups object.
- *
- * @example { 'font-size': ['leading'] }
- */
- conflictingClassGroupModifiers: NoInfer>>;
- /**
- * Modifiers whose order among multiple modifiers should be preserved because their order changes which element gets targeted.
- *
- * tailwind-merge makes sure that classes with these modifiers are not overwritten by classes with the same modifiers with order-sensitive modifiers being in a different position.
- */
- orderSensitiveModifiers: string[];
-}
-/**
- * Type of the configuration object that can be passed to `extendTailwindMerge`.
- */
-interface ConfigExtension extends Partial {
- override?: PartialPartial>;
- extend?: PartialPartial>;
-}
-type PartialPartial = {
- [P in keyof T]?: T[P] extends any[] ? T[P] : Partial;
-};
-type ThemeObject = Record>;
-type ClassGroup = readonly ClassDefinition[];
-type ClassDefinition = string | ClassValidator | ThemeGetter | ClassObject;
-type ClassValidator = (classPart: string) => boolean;
-interface ThemeGetter {
- (theme: ThemeObject): ClassGroup;
- isThemeGetter: true;
-}
-type ClassObject = Record[]>;
-/**
- * Hack from https://stackoverflow.com/questions/56687668/a-way-to-disable-type-argument-inference-in-generics/56688073#56688073
- *
- * Could be replaced with NoInfer utility type from TypeScript (https://www.typescriptlang.org/docs/handbook/utility-types.html#noinfertype), but that is only supported in TypeScript 5.4 or higher, so I should wait some time before using it.
- */
-type NoInfer = [T][T extends any ? 0 : never];
-/**
- * Theme group IDs included in the default configuration of tailwind-merge.
- *
- * If you want to use a scale that is not supported in the `ThemeObject` type,
- * consider using `classGroups` instead of `theme`.
- *
- * @see https://github.com/dcastil/tailwind-merge/blob/main/docs/configuration.md#theme
- * (the list of supported keys may vary between `tailwind-merge` versions)
- */
-type DefaultThemeGroupIds = 'animate' | 'aspect' | 'blur' | 'breakpoint' | 'color' | 'container' | 'drop-shadow' | 'ease' | 'font-weight' | 'font' | 'inset-shadow' | 'leading' | 'perspective' | 'radius' | 'shadow' | 'spacing' | 'text' | 'text-shadow' | 'tracking';
-/**
- * Class group IDs included in the default configuration of tailwind-merge.
- */
-type DefaultClassGroupIds = 'accent' | 'align-content' | 'align-items' | 'align-self' | 'animate' | 'appearance' | 'aspect' | 'auto-cols' | 'auto-rows' | 'backdrop-blur' | 'backdrop-brightness' | 'backdrop-contrast' | 'backdrop-filter' | 'backdrop-grayscale' | 'backdrop-hue-rotate' | 'backdrop-invert' | 'backdrop-opacity' | 'backdrop-saturate' | 'backdrop-sepia' | 'backface' | 'basis' | 'bg-attachment' | 'bg-blend' | 'bg-clip' | 'bg-color' | 'bg-image' | 'bg-origin' | 'bg-position' | 'bg-repeat' | 'bg-size' | 'blur' | 'border-collapse' | 'border-color-b' | 'border-color-e' | 'border-color-l' | 'border-color-r' | 'border-color-s' | 'border-color-t' | 'border-color-x' | 'border-color-y' | 'border-color' | 'border-spacing-x' | 'border-spacing-y' | 'border-spacing' | 'border-style' | 'border-w-b' | 'border-w-e' | 'border-w-l' | 'border-w-r' | 'border-w-s' | 'border-w-t' | 'border-w-x' | 'border-w-y' | 'border-w' | 'bottom' | 'box-decoration' | 'box' | 'break-after' | 'break-before' | 'break-inside' | 'break' | 'brightness' | 'caption' | 'caret-color' | 'clear' | 'col-end' | 'col-start-end' | 'col-start' | 'color-scheme' | 'columns' | 'container' | 'content' | 'contrast' | 'cursor' | 'delay' | 'display' | 'divide-color' | 'divide-style' | 'divide-x-reverse' | 'divide-x' | 'divide-y-reverse' | 'divide-y' | 'drop-shadow' | 'drop-shadow-color' | 'duration' | 'ease' | 'end' | 'field-sizing' | 'fill' | 'filter' | 'flex-direction' | 'flex-wrap' | 'flex' | 'float' | 'font-family' | 'font-size' | 'font-smoothing' | 'font-stretch' | 'font-style' | 'font-weight' | 'forced-color-adjust' | 'fvn-figure' | 'fvn-fraction' | 'fvn-normal' | 'fvn-ordinal' | 'fvn-slashed-zero' | 'fvn-spacing' | 'gap-x' | 'gap-y' | 'gap' | 'gradient-from-pos' | 'gradient-from' | 'gradient-to-pos' | 'gradient-to' | 'gradient-via-pos' | 'gradient-via' | 'grayscale' | 'grid-cols' | 'grid-flow' | 'grid-rows' | 'grow' | 'h' | 'hue-rotate' | 'hyphens' | 'indent' | 'inset-ring-color' | 'inset-ring-w' | 'inset-shadow-color' | 'inset-shadow' | 'inset-x' | 'inset-y' | 'inset' | 'invert' | 'isolation' | 'justify-content' | 'justify-items' | 'justify-self' | 'leading' | 'left' | 'line-clamp' | 'list-image' | 'list-style-position' | 'list-style-type' | 'm' | 'mask-clip' | 'mask-composite' | 'mask-image-b-from-color' | 'mask-image-b-from-pos' | 'mask-image-b-to-color' | 'mask-image-b-to-pos' | 'mask-image-conic-from-color' | 'mask-image-conic-from-pos' | 'mask-image-conic-pos' | 'mask-image-conic-to-color' | 'mask-image-conic-to-pos' | 'mask-image-l-from-color' | 'mask-image-l-from-pos' | 'mask-image-l-to-color' | 'mask-image-l-to-pos' | 'mask-image-linear-from-color' | 'mask-image-linear-from-pos' | 'mask-image-linear-pos' | 'mask-image-linear-to-color' | 'mask-image-linear-to-pos' | 'mask-image-r-from-color' | 'mask-image-r-from-pos' | 'mask-image-r-to-color' | 'mask-image-r-to-pos' | 'mask-image-radial-from-color' | 'mask-image-radial-from-pos' | 'mask-image-radial-pos' | 'mask-image-radial-shape' | 'mask-image-radial-size' | 'mask-image-radial-to-color' | 'mask-image-radial-to-pos' | 'mask-image-radial' | 'mask-image-t-from-color' | 'mask-image-t-from-pos' | 'mask-image-t-to-color' | 'mask-image-t-to-pos' | 'mask-image-x-from-color' | 'mask-image-x-from-pos' | 'mask-image-x-to-color' | 'mask-image-x-to-pos' | 'mask-image-y-from-color' | 'mask-image-y-from-pos' | 'mask-image-y-to-color' | 'mask-image-y-to-pos' | 'mask-image' | 'mask-mode' | 'mask-origin' | 'mask-position' | 'mask-repeat' | 'mask-size' | 'mask-type' | 'max-h' | 'max-w' | 'mb' | 'me' | 'min-h' | 'min-w' | 'mix-blend' | 'ml' | 'mr' | 'ms' | 'mt' | 'mx' | 'my' | 'object-fit' | 'object-position' | 'opacity' | 'order' | 'outline-color' | 'outline-offset' | 'outline-style' | 'outline-w' | 'overflow-x' | 'overflow-y' | 'overflow' | 'overscroll-x' | 'overscroll-y' | 'overscroll' | 'p' | 'pb' | 'pe' | 'perspective-origin' | 'perspective' | 'pl' | 'place-content' | 'place-items' | 'place-self' | 'placeholder-color' | 'pointer-events' | 'position' | 'pr' | 'ps' | 'pt' | 'px' | 'py' | 'resize' | 'right' | 'ring-color' | 'ring-offset-color' | 'ring-offset-w' | 'ring-w-inset' | 'ring-w' | 'rotate-x' | 'rotate-y' | 'rotate-z' | 'rotate' | 'rounded-b' | 'rounded-bl' | 'rounded-br' | 'rounded-e' | 'rounded-ee' | 'rounded-es' | 'rounded-l' | 'rounded-r' | 'rounded-s' | 'rounded-se' | 'rounded-ss' | 'rounded-t' | 'rounded-tl' | 'rounded-tr' | 'rounded' | 'row-end' | 'row-start-end' | 'row-start' | 'saturate' | 'scale-3d' | 'scale-x' | 'scale-y' | 'scale-z' | 'scale' | 'scroll-behavior' | 'scroll-m' | 'scroll-mb' | 'scroll-me' | 'scroll-ml' | 'scroll-mr' | 'scroll-ms' | 'scroll-mt' | 'scroll-mx' | 'scroll-my' | 'scroll-p' | 'scroll-pb' | 'scroll-pe' | 'scroll-pl' | 'scroll-pr' | 'scroll-ps' | 'scroll-pt' | 'scroll-px' | 'scroll-py' | 'select' | 'sepia' | 'shadow-color' | 'shadow' | 'shrink' | 'size' | 'skew-x' | 'skew-y' | 'skew' | 'snap-align' | 'snap-stop' | 'snap-strictness' | 'snap-type' | 'space-x-reverse' | 'space-x' | 'space-y-reverse' | 'space-y' | 'sr' | 'start' | 'stroke-w' | 'stroke' | 'table-layout' | 'text-alignment' | 'text-color' | 'text-decoration-color' | 'text-decoration-style' | 'text-decoration-thickness' | 'text-decoration' | 'text-overflow' | 'text-shadow' | 'text-shadow-color' | 'text-transform' | 'text-wrap' | 'top' | 'touch-pz' | 'touch-x' | 'touch-y' | 'touch' | 'tracking' | 'transform-origin' | 'transform-style' | 'transform' | 'transition-behavior' | 'transition' | 'translate-none' | 'translate-x' | 'translate-y' | 'translate-z' | 'translate' | 'underline-offset' | 'vertical-align' | 'visibility' | 'w' | 'whitespace' | 'will-change' | 'wrap' | 'z';
-type AnyClassGroupIds = string;
-type AnyThemeGroupIds = string;
-/**
- * type of the tailwind-merge configuration that allows for any possible configuration.
- */
-type AnyConfig = Config;
-
-type CreateConfigFirst = () => AnyConfig;
-type CreateConfigSubsequent$1 = (config: AnyConfig) => AnyConfig;
-type TailwindMerge = (...classLists: ClassNameValue[]) => string;
-declare function createTailwindMerge(createConfigFirst: CreateConfigFirst, ...createConfigRest: CreateConfigSubsequent$1[]): TailwindMerge;
-
-declare const getDefaultConfig: () => {
- readonly cacheSize: 500;
- readonly theme: {
- readonly animate: readonly ["spin", "ping", "pulse", "bounce"];
- readonly aspect: readonly ["video"];
- readonly blur: readonly [(value: string) => boolean];
- readonly breakpoint: readonly [(value: string) => boolean];
- readonly color: readonly [() => boolean];
- readonly container: readonly [(value: string) => boolean];
- readonly 'drop-shadow': readonly [(value: string) => boolean];
- readonly ease: readonly ["in", "out", "in-out"];
- readonly font: readonly [(value: string) => boolean];
- readonly 'font-weight': readonly ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"];
- readonly 'inset-shadow': readonly [(value: string) => boolean];
- readonly leading: readonly ["none", "tight", "snug", "normal", "relaxed", "loose"];
- readonly perspective: readonly ["dramatic", "near", "normal", "midrange", "distant", "none"];
- readonly radius: readonly [(value: string) => boolean];
- readonly shadow: readonly [(value: string) => boolean];
- readonly spacing: readonly ["px", (value: string) => boolean];
- readonly text: readonly [(value: string) => boolean];
- readonly 'text-shadow': readonly [(value: string) => boolean];
- readonly tracking: readonly ["tighter", "tight", "normal", "wide", "wider", "widest"];
- };
- readonly classGroups: {
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- readonly aspect: readonly [{
- readonly aspect: readonly ["auto", "square", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- readonly container: readonly ["container"];
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- readonly columns: readonly [{
- readonly columns: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- readonly 'break-after': readonly [{
- readonly 'break-after': readonly ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
- }];
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- readonly 'break-before': readonly [{
- readonly 'break-before': readonly ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
- }];
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- readonly 'break-inside': readonly [{
- readonly 'break-inside': readonly ["auto", "avoid", "avoid-page", "avoid-column"];
- }];
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- readonly 'box-decoration': readonly [{
- readonly 'box-decoration': readonly ["slice", "clone"];
- }];
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- readonly box: readonly [{
- readonly box: readonly ["border", "content"];
- }];
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- readonly display: readonly ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"];
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- readonly sr: readonly ["sr-only", "not-sr-only"];
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- readonly float: readonly [{
- readonly float: readonly ["right", "left", "none", "start", "end"];
- }];
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- readonly clear: readonly [{
- readonly clear: readonly ["left", "right", "both", "none", "start", "end"];
- }];
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- readonly isolation: readonly ["isolate", "isolation-auto"];
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- readonly 'object-fit': readonly [{
- readonly object: readonly ["contain", "cover", "fill", "none", "scale-down"];
- }];
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- readonly 'object-position': readonly [{
- readonly object: readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- readonly overflow: readonly [{
- readonly overflow: readonly ["auto", "hidden", "clip", "visible", "scroll"];
- }];
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- readonly 'overflow-x': readonly [{
- readonly 'overflow-x': readonly ["auto", "hidden", "clip", "visible", "scroll"];
- }];
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- readonly 'overflow-y': readonly [{
- readonly 'overflow-y': readonly ["auto", "hidden", "clip", "visible", "scroll"];
- }];
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- readonly overscroll: readonly [{
- readonly overscroll: readonly ["auto", "contain", "none"];
- }];
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- readonly 'overscroll-x': readonly [{
- readonly 'overscroll-x': readonly ["auto", "contain", "none"];
- }];
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- readonly 'overscroll-y': readonly [{
- readonly 'overscroll-y': readonly ["auto", "contain", "none"];
- }];
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- readonly position: readonly ["static", "fixed", "absolute", "relative", "sticky"];
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly inset: readonly [{
- readonly inset: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly 'inset-x': readonly [{
- readonly 'inset-x': readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly 'inset-y': readonly [{
- readonly 'inset-y': readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly start: readonly [{
- readonly start: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly end: readonly [{
- readonly end: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly top: readonly [{
- readonly top: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly right: readonly [{
- readonly right: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly bottom: readonly [{
- readonly bottom: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- readonly left: readonly [{
- readonly left: readonly [(value: string) => boolean, "full", "auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- readonly visibility: readonly ["visible", "invisible", "collapse"];
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- readonly z: readonly [{
- readonly z: readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- readonly basis: readonly [{
- readonly basis: readonly [(value: string) => boolean, "full", "auto", ThemeGetter, (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- readonly 'flex-direction': readonly [{
- readonly flex: readonly ["row", "row-reverse", "col", "col-reverse"];
- }];
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- readonly 'flex-wrap': readonly [{
- readonly flex: readonly ["nowrap", "wrap", "wrap-reverse"];
- }];
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- readonly flex: readonly [{
- readonly flex: readonly [(value: string) => boolean, (value: string) => boolean, "auto", "initial", "none", (value: string) => boolean];
- }];
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- readonly grow: readonly [{
- readonly grow: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- readonly shrink: readonly [{
- readonly shrink: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- readonly order: readonly [{
- readonly order: readonly [(value: string) => boolean, "first", "last", "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- readonly 'grid-cols': readonly [{
- readonly 'grid-cols': readonly [(value: string) => boolean, "none", "subgrid", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- readonly 'col-start-end': readonly [{
- readonly col: readonly ["auto", {
- readonly span: readonly ["full", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- readonly 'col-start': readonly [{
- readonly 'col-start': readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- readonly 'col-end': readonly [{
- readonly 'col-end': readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- readonly 'grid-rows': readonly [{
- readonly 'grid-rows': readonly [(value: string) => boolean, "none", "subgrid", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- readonly 'row-start-end': readonly [{
- readonly row: readonly ["auto", {
- readonly span: readonly ["full", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- readonly 'row-start': readonly [{
- readonly 'row-start': readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- readonly 'row-end': readonly [{
- readonly 'row-end': readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- readonly 'grid-flow': readonly [{
- readonly 'grid-flow': readonly ["row", "col", "dense", "row-dense", "col-dense"];
- }];
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- readonly 'auto-cols': readonly [{
- readonly 'auto-cols': readonly ["auto", "min", "max", "fr", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- readonly 'auto-rows': readonly [{
- readonly 'auto-rows': readonly ["auto", "min", "max", "fr", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- readonly gap: readonly [{
- readonly gap: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- readonly 'gap-x': readonly [{
- readonly 'gap-x': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- readonly 'gap-y': readonly [{
- readonly 'gap-y': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- readonly 'justify-content': readonly [{
- readonly justify: readonly ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe", "normal"];
- }];
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- readonly 'justify-items': readonly [{
- readonly 'justify-items': readonly ["start", "end", "center", "stretch", "center-safe", "end-safe", "normal"];
- }];
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- readonly 'justify-self': readonly [{
- readonly 'justify-self': readonly ["auto", "start", "end", "center", "stretch", "center-safe", "end-safe"];
- }];
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- readonly 'align-content': readonly [{
- readonly content: readonly ["normal", "start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
- }];
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- readonly 'align-items': readonly [{
- readonly items: readonly ["start", "end", "center", "stretch", "center-safe", "end-safe", {
- readonly baseline: readonly ["", "last"];
- }];
- }];
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- readonly 'align-self': readonly [{
- readonly self: readonly ["auto", "start", "end", "center", "stretch", "center-safe", "end-safe", {
- readonly baseline: readonly ["", "last"];
- }];
- }];
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- readonly 'place-content': readonly [{
- readonly 'place-content': readonly ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
- }];
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- readonly 'place-items': readonly [{
- readonly 'place-items': readonly ["start", "end", "center", "stretch", "center-safe", "end-safe", "baseline"];
- }];
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- readonly 'place-self': readonly [{
- readonly 'place-self': readonly ["auto", "start", "end", "center", "stretch", "center-safe", "end-safe"];
- }];
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- readonly p: readonly [{
- readonly p: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- readonly px: readonly [{
- readonly px: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- readonly py: readonly [{
- readonly py: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- readonly ps: readonly [{
- readonly ps: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- readonly pe: readonly [{
- readonly pe: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- readonly pt: readonly [{
- readonly pt: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- readonly pr: readonly [{
- readonly pr: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- readonly pb: readonly [{
- readonly pb: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- readonly pl: readonly [{
- readonly pl: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- readonly m: readonly [{
- readonly m: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- readonly mx: readonly [{
- readonly mx: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- readonly my: readonly [{
- readonly my: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- readonly ms: readonly [{
- readonly ms: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- readonly me: readonly [{
- readonly me: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- readonly mt: readonly [{
- readonly mt: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- readonly mr: readonly [{
- readonly mr: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- readonly mb: readonly [{
- readonly mb: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- readonly ml: readonly [{
- readonly ml: readonly ["auto", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- readonly 'space-x': readonly [{
- readonly 'space-x': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- readonly 'space-x-reverse': readonly ["space-x-reverse"];
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- readonly 'space-y': readonly [{
- readonly 'space-y': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- readonly 'space-y-reverse': readonly ["space-y-reverse"];
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- readonly size: readonly [{
- readonly size: readonly [(value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- readonly w: readonly [{
- readonly w: readonly [ThemeGetter, "screen", (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- readonly 'min-w': readonly [{
- readonly 'min-w': readonly [ThemeGetter, "screen", "none", (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- readonly 'max-w': readonly [{
- readonly 'max-w': readonly [ThemeGetter, "screen", "none", "prose", {
- readonly screen: readonly [ThemeGetter];
- }, (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- readonly h: readonly [{
- readonly h: readonly ["screen", "lh", (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- readonly 'min-h': readonly [{
- readonly 'min-h': readonly ["screen", "lh", "none", (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- readonly 'max-h': readonly [{
- readonly 'max-h': readonly ["screen", "lh", (value: string) => boolean, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- readonly 'font-size': readonly [{
- readonly text: readonly ["base", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- readonly 'font-smoothing': readonly ["antialiased", "subpixel-antialiased"];
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- readonly 'font-style': readonly ["italic", "not-italic"];
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- readonly 'font-weight': readonly [{
- readonly font: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- readonly 'font-stretch': readonly [{
- readonly 'font-stretch': readonly ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- readonly 'font-family': readonly [{
- readonly font: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-normal': readonly ["normal-nums"];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-ordinal': readonly ["ordinal"];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-slashed-zero': readonly ["slashed-zero"];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-figure': readonly ["lining-nums", "oldstyle-nums"];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-spacing': readonly ["proportional-nums", "tabular-nums"];
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- readonly 'fvn-fraction': readonly ["diagonal-fractions", "stacked-fractions"];
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- readonly tracking: readonly [{
- readonly tracking: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- readonly 'line-clamp': readonly [{
- readonly 'line-clamp': readonly [(value: string) => boolean, "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- readonly leading: readonly [{
- readonly leading: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- readonly 'list-image': readonly [{
- readonly 'list-image': readonly ["none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- readonly 'list-style-position': readonly [{
- readonly list: readonly ["inside", "outside"];
- }];
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- readonly 'list-style-type': readonly [{
- readonly list: readonly ["disc", "decimal", "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- readonly 'text-alignment': readonly [{
- readonly text: readonly ["left", "center", "right", "justify", "start", "end"];
- }];
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- readonly 'placeholder-color': readonly [{
- readonly placeholder: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- readonly 'text-color': readonly [{
- readonly text: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- readonly 'text-decoration': readonly ["underline", "overline", "line-through", "no-underline"];
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- readonly 'text-decoration-style': readonly [{
- readonly decoration: readonly ["solid", "dashed", "dotted", "double", "wavy"];
- }];
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- readonly 'text-decoration-thickness': readonly [{
- readonly decoration: readonly [(value: string) => boolean, "from-font", "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- readonly 'text-decoration-color': readonly [{
- readonly decoration: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- readonly 'underline-offset': readonly [{
- readonly 'underline-offset': readonly [(value: string) => boolean, "auto", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- readonly 'text-transform': readonly ["uppercase", "lowercase", "capitalize", "normal-case"];
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- readonly 'text-overflow': readonly ["truncate", "text-ellipsis", "text-clip"];
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- readonly 'text-wrap': readonly [{
- readonly text: readonly ["wrap", "nowrap", "balance", "pretty"];
- }];
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- readonly indent: readonly [{
- readonly indent: readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- readonly 'vertical-align': readonly [{
- readonly align: readonly ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- readonly whitespace: readonly [{
- readonly whitespace: readonly ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"];
- }];
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- readonly break: readonly [{
- readonly break: readonly ["normal", "words", "all", "keep"];
- }];
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- readonly wrap: readonly [{
- readonly wrap: readonly ["break-word", "anywhere", "normal"];
- }];
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- readonly hyphens: readonly [{
- readonly hyphens: readonly ["none", "manual", "auto"];
- }];
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- readonly content: readonly [{
- readonly content: readonly ["none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- readonly 'bg-attachment': readonly [{
- readonly bg: readonly ["fixed", "local", "scroll"];
- }];
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- readonly 'bg-clip': readonly [{
- readonly 'bg-clip': readonly ["border", "padding", "content", "text"];
- }];
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- readonly 'bg-origin': readonly [{
- readonly 'bg-origin': readonly ["border", "padding", "content"];
- }];
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- readonly 'bg-position': readonly [{
- readonly bg: readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom", (value: string) => boolean, (value: string) => boolean, {
- readonly position: readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- }];
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- readonly 'bg-repeat': readonly [{
- readonly bg: readonly ["no-repeat", {
- readonly repeat: readonly ["", "x", "y", "space", "round"];
- }];
- }];
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- readonly 'bg-size': readonly [{
- readonly bg: readonly ["auto", "cover", "contain", (value: string) => boolean, (value: string) => boolean, {
- readonly size: readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- }];
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- readonly 'bg-image': readonly [{
- readonly bg: readonly ["none", {
- readonly linear: readonly [{
- readonly to: readonly ["t", "tr", "r", "br", "b", "bl", "l", "tl"];
- }, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- readonly radial: readonly ["", (value: string) => boolean, (value: string) => boolean];
- readonly conic: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- readonly 'bg-color': readonly [{
- readonly bg: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-from-pos': readonly [{
- readonly from: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-via-pos': readonly [{
- readonly via: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-to-pos': readonly [{
- readonly to: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-from': readonly [{
- readonly from: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-via': readonly [{
- readonly via: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- readonly 'gradient-to': readonly [{
- readonly to: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly rounded: readonly [{
- readonly rounded: readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-s': readonly [{
- readonly 'rounded-s': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-e': readonly [{
- readonly 'rounded-e': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-t': readonly [{
- readonly 'rounded-t': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-r': readonly [{
- readonly 'rounded-r': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-b': readonly [{
- readonly 'rounded-b': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-l': readonly [{
- readonly 'rounded-l': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-ss': readonly [{
- readonly 'rounded-ss': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-se': readonly [{
- readonly 'rounded-se': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-ee': readonly [{
- readonly 'rounded-ee': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-es': readonly [{
- readonly 'rounded-es': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-tl': readonly [{
- readonly 'rounded-tl': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-tr': readonly [{
- readonly 'rounded-tr': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-br': readonly [{
- readonly 'rounded-br': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- readonly 'rounded-bl': readonly [{
- readonly 'rounded-bl': readonly ["", "none", "full", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w': readonly [{
- readonly border: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-x': readonly [{
- readonly 'border-x': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-y': readonly [{
- readonly 'border-y': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-s': readonly [{
- readonly 'border-s': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-e': readonly [{
- readonly 'border-e': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-t': readonly [{
- readonly 'border-t': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-r': readonly [{
- readonly 'border-r': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-b': readonly [{
- readonly 'border-b': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- readonly 'border-w-l': readonly [{
- readonly 'border-l': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- readonly 'divide-x': readonly [{
- readonly 'divide-x': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- readonly 'divide-x-reverse': readonly ["divide-x-reverse"];
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- readonly 'divide-y': readonly [{
- readonly 'divide-y': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- readonly 'divide-y-reverse': readonly ["divide-y-reverse"];
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- readonly 'border-style': readonly [{
- readonly border: readonly ["solid", "dashed", "dotted", "double", "hidden", "none"];
- }];
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- readonly 'divide-style': readonly [{
- readonly divide: readonly ["solid", "dashed", "dotted", "double", "hidden", "none"];
- }];
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color': readonly [{
- readonly border: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-x': readonly [{
- readonly 'border-x': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-y': readonly [{
- readonly 'border-y': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-s': readonly [{
- readonly 'border-s': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-e': readonly [{
- readonly 'border-e': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-t': readonly [{
- readonly 'border-t': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-r': readonly [{
- readonly 'border-r': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-b': readonly [{
- readonly 'border-b': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- readonly 'border-color-l': readonly [{
- readonly 'border-l': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- readonly 'divide-color': readonly [{
- readonly divide: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- readonly 'outline-style': readonly [{
- readonly outline: readonly ["solid", "dashed", "dotted", "double", "none", "hidden"];
- }];
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- readonly 'outline-offset': readonly [{
- readonly 'outline-offset': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- readonly 'outline-w': readonly [{
- readonly outline: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- readonly 'outline-color': readonly [{
- readonly outline: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- readonly shadow: readonly [{
- readonly shadow: readonly ["", "none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- readonly 'shadow-color': readonly [{
- readonly shadow: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- readonly 'inset-shadow': readonly [{
- readonly 'inset-shadow': readonly ["none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- readonly 'inset-shadow-color': readonly [{
- readonly 'inset-shadow': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- readonly 'ring-w': readonly [{
- readonly ring: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- readonly 'ring-w-inset': readonly ["ring-inset"];
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- readonly 'ring-color': readonly [{
- readonly ring: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- readonly 'ring-offset-w': readonly [{
- readonly 'ring-offset': readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- readonly 'ring-offset-color': readonly [{
- readonly 'ring-offset': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- readonly 'inset-ring-w': readonly [{
- readonly 'inset-ring': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- readonly 'inset-ring-color': readonly [{
- readonly 'inset-ring': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- readonly 'text-shadow': readonly [{
- readonly 'text-shadow': readonly ["none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- readonly 'text-shadow-color': readonly [{
- readonly 'text-shadow': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- readonly opacity: readonly [{
- readonly opacity: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- readonly 'mix-blend': readonly [{
- readonly 'mix-blend': readonly ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity", "plus-darker", "plus-lighter"];
- }];
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- readonly 'bg-blend': readonly [{
- readonly 'bg-blend': readonly ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
- }];
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- readonly 'mask-clip': readonly [{
- readonly 'mask-clip': readonly ["border", "padding", "content", "fill", "stroke", "view"];
- }, "mask-no-clip"];
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- readonly 'mask-composite': readonly [{
- readonly mask: readonly ["add", "subtract", "intersect", "exclude"];
- }];
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- readonly 'mask-image-linear-pos': readonly [{
- readonly 'mask-linear': readonly [(value: string) => boolean];
- }];
- readonly 'mask-image-linear-from-pos': readonly [{
- readonly 'mask-linear-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-linear-to-pos': readonly [{
- readonly 'mask-linear-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-linear-from-color': readonly [{
- readonly 'mask-linear-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-linear-to-color': readonly [{
- readonly 'mask-linear-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-t-from-pos': readonly [{
- readonly 'mask-t-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-t-to-pos': readonly [{
- readonly 'mask-t-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-t-from-color': readonly [{
- readonly 'mask-t-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-t-to-color': readonly [{
- readonly 'mask-t-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-r-from-pos': readonly [{
- readonly 'mask-r-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-r-to-pos': readonly [{
- readonly 'mask-r-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-r-from-color': readonly [{
- readonly 'mask-r-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-r-to-color': readonly [{
- readonly 'mask-r-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-b-from-pos': readonly [{
- readonly 'mask-b-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-b-to-pos': readonly [{
- readonly 'mask-b-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-b-from-color': readonly [{
- readonly 'mask-b-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-b-to-color': readonly [{
- readonly 'mask-b-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-l-from-pos': readonly [{
- readonly 'mask-l-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-l-to-pos': readonly [{
- readonly 'mask-l-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-l-from-color': readonly [{
- readonly 'mask-l-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-l-to-color': readonly [{
- readonly 'mask-l-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-x-from-pos': readonly [{
- readonly 'mask-x-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-x-to-pos': readonly [{
- readonly 'mask-x-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-x-from-color': readonly [{
- readonly 'mask-x-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-x-to-color': readonly [{
- readonly 'mask-x-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-y-from-pos': readonly [{
- readonly 'mask-y-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-y-to-pos': readonly [{
- readonly 'mask-y-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-y-from-color': readonly [{
- readonly 'mask-y-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-y-to-color': readonly [{
- readonly 'mask-y-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial': readonly [{
- readonly 'mask-radial': readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial-from-pos': readonly [{
- readonly 'mask-radial-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial-to-pos': readonly [{
- readonly 'mask-radial-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial-from-color': readonly [{
- readonly 'mask-radial-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial-to-color': readonly [{
- readonly 'mask-radial-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-radial-shape': readonly [{
- readonly 'mask-radial': readonly ["circle", "ellipse"];
- }];
- readonly 'mask-image-radial-size': readonly [{
- readonly 'mask-radial': readonly [{
- readonly closest: readonly ["side", "corner"];
- readonly farthest: readonly ["side", "corner"];
- }];
- }];
- readonly 'mask-image-radial-pos': readonly [{
- readonly 'mask-radial-at': readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom"];
- }];
- readonly 'mask-image-conic-pos': readonly [{
- readonly 'mask-conic': readonly [(value: string) => boolean];
- }];
- readonly 'mask-image-conic-from-pos': readonly [{
- readonly 'mask-conic-from': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-conic-to-pos': readonly [{
- readonly 'mask-conic-to': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-conic-from-color': readonly [{
- readonly 'mask-conic-from': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- readonly 'mask-image-conic-to-color': readonly [{
- readonly 'mask-conic-to': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- readonly 'mask-mode': readonly [{
- readonly mask: readonly ["alpha", "luminance", "match"];
- }];
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- readonly 'mask-origin': readonly [{
- readonly 'mask-origin': readonly ["border", "padding", "content", "fill", "stroke", "view"];
- }];
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- readonly 'mask-position': readonly [{
- readonly mask: readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom", (value: string) => boolean, (value: string) => boolean, {
- readonly position: readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- }];
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- readonly 'mask-repeat': readonly [{
- readonly mask: readonly ["no-repeat", {
- readonly repeat: readonly ["", "x", "y", "space", "round"];
- }];
- }];
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- readonly 'mask-size': readonly [{
- readonly mask: readonly ["auto", "cover", "contain", (value: string) => boolean, (value: string) => boolean, {
- readonly size: readonly [(value: string) => boolean, (value: string) => boolean];
- }];
- }];
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- readonly 'mask-type': readonly [{
- readonly 'mask-type': readonly ["alpha", "luminance"];
- }];
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- readonly 'mask-image': readonly [{
- readonly mask: readonly ["none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- readonly filter: readonly [{
- readonly filter: readonly ["", "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- readonly blur: readonly [{
- readonly blur: readonly ["", "none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- readonly brightness: readonly [{
- readonly brightness: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- readonly contrast: readonly [{
- readonly contrast: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- readonly 'drop-shadow': readonly [{
- readonly 'drop-shadow': readonly ["", "none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- readonly 'drop-shadow-color': readonly [{
- readonly 'drop-shadow': readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- readonly grayscale: readonly [{
- readonly grayscale: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- readonly 'hue-rotate': readonly [{
- readonly 'hue-rotate': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- readonly invert: readonly [{
- readonly invert: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- readonly saturate: readonly [{
- readonly saturate: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- readonly sepia: readonly [{
- readonly sepia: readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- readonly 'backdrop-filter': readonly [{
- readonly 'backdrop-filter': readonly ["", "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- readonly 'backdrop-blur': readonly [{
- readonly 'backdrop-blur': readonly ["", "none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- readonly 'backdrop-brightness': readonly [{
- readonly 'backdrop-brightness': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- readonly 'backdrop-contrast': readonly [{
- readonly 'backdrop-contrast': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- readonly 'backdrop-grayscale': readonly [{
- readonly 'backdrop-grayscale': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- readonly 'backdrop-hue-rotate': readonly [{
- readonly 'backdrop-hue-rotate': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- readonly 'backdrop-invert': readonly [{
- readonly 'backdrop-invert': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- readonly 'backdrop-opacity': readonly [{
- readonly 'backdrop-opacity': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- readonly 'backdrop-saturate': readonly [{
- readonly 'backdrop-saturate': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- readonly 'backdrop-sepia': readonly [{
- readonly 'backdrop-sepia': readonly ["", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- readonly 'border-collapse': readonly [{
- readonly border: readonly ["collapse", "separate"];
- }];
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- readonly 'border-spacing': readonly [{
- readonly 'border-spacing': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- readonly 'border-spacing-x': readonly [{
- readonly 'border-spacing-x': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- readonly 'border-spacing-y': readonly [{
- readonly 'border-spacing-y': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- readonly 'table-layout': readonly [{
- readonly table: readonly ["auto", "fixed"];
- }];
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- readonly caption: readonly [{
- readonly caption: readonly ["top", "bottom"];
- }];
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- readonly transition: readonly [{
- readonly transition: readonly ["", "all", "colors", "opacity", "shadow", "transform", "none", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- readonly 'transition-behavior': readonly [{
- readonly transition: readonly ["normal", "discrete"];
- }];
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- readonly duration: readonly [{
- readonly duration: readonly [(value: string) => boolean, "initial", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- readonly ease: readonly [{
- readonly ease: readonly ["linear", "initial", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- readonly delay: readonly [{
- readonly delay: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- readonly animate: readonly [{
- readonly animate: readonly ["none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- readonly backface: readonly [{
- readonly backface: readonly ["hidden", "visible"];
- }];
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- readonly perspective: readonly [{
- readonly perspective: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- readonly 'perspective-origin': readonly [{
- readonly 'perspective-origin': readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- readonly rotate: readonly [{
- readonly rotate: readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- readonly 'rotate-x': readonly [{
- readonly 'rotate-x': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- readonly 'rotate-y': readonly [{
- readonly 'rotate-y': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- readonly 'rotate-z': readonly [{
- readonly 'rotate-z': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- readonly scale: readonly [{
- readonly scale: readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- readonly 'scale-x': readonly [{
- readonly 'scale-x': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- readonly 'scale-y': readonly [{
- readonly 'scale-y': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- readonly 'scale-z': readonly [{
- readonly 'scale-z': readonly ["none", (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- readonly 'scale-3d': readonly ["scale-3d"];
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- readonly skew: readonly [{
- readonly skew: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- readonly 'skew-x': readonly [{
- readonly 'skew-x': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- readonly 'skew-y': readonly [{
- readonly 'skew-y': readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- readonly transform: readonly [{
- readonly transform: readonly [(value: string) => boolean, (value: string) => boolean, "", "none", "gpu", "cpu"];
- }];
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- readonly 'transform-origin': readonly [{
- readonly origin: readonly ["center", "top", "bottom", "left", "right", "top-left", "left-top", "top-right", "right-top", "bottom-right", "right-bottom", "bottom-left", "left-bottom", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- readonly 'transform-style': readonly [{
- readonly transform: readonly ["3d", "flat"];
- }];
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- readonly translate: readonly [{
- readonly translate: readonly [(value: string) => boolean, "full", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- readonly 'translate-x': readonly [{
- readonly 'translate-x': readonly [(value: string) => boolean, "full", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- readonly 'translate-y': readonly [{
- readonly 'translate-y': readonly [(value: string) => boolean, "full", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- readonly 'translate-z': readonly [{
- readonly 'translate-z': readonly [(value: string) => boolean, "full", (value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- readonly 'translate-none': readonly ["translate-none"];
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- readonly accent: readonly [{
- readonly accent: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- readonly appearance: readonly [{
- readonly appearance: readonly ["none", "auto"];
- }];
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- readonly 'caret-color': readonly [{
- readonly caret: readonly [ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- readonly 'color-scheme': readonly [{
- readonly scheme: readonly ["normal", "dark", "light", "light-dark", "only-dark", "only-light"];
- }];
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- readonly cursor: readonly [{
- readonly cursor: readonly ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- readonly 'field-sizing': readonly [{
- readonly 'field-sizing': readonly ["fixed", "content"];
- }];
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- readonly 'pointer-events': readonly [{
- readonly 'pointer-events': readonly ["auto", "none"];
- }];
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- readonly resize: readonly [{
- readonly resize: readonly ["none", "", "y", "x"];
- }];
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- readonly 'scroll-behavior': readonly [{
- readonly scroll: readonly ["auto", "smooth"];
- }];
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-m': readonly [{
- readonly 'scroll-m': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-mx': readonly [{
- readonly 'scroll-mx': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-my': readonly [{
- readonly 'scroll-my': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-ms': readonly [{
- readonly 'scroll-ms': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-me': readonly [{
- readonly 'scroll-me': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-mt': readonly [{
- readonly 'scroll-mt': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-mr': readonly [{
- readonly 'scroll-mr': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-mb': readonly [{
- readonly 'scroll-mb': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- readonly 'scroll-ml': readonly [{
- readonly 'scroll-ml': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-p': readonly [{
- readonly 'scroll-p': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-px': readonly [{
- readonly 'scroll-px': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-py': readonly [{
- readonly 'scroll-py': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-ps': readonly [{
- readonly 'scroll-ps': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-pe': readonly [{
- readonly 'scroll-pe': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-pt': readonly [{
- readonly 'scroll-pt': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-pr': readonly [{
- readonly 'scroll-pr': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-pb': readonly [{
- readonly 'scroll-pb': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- readonly 'scroll-pl': readonly [{
- readonly 'scroll-pl': readonly [(value: string) => boolean, (value: string) => boolean, ThemeGetter];
- }];
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- readonly 'snap-align': readonly [{
- readonly snap: readonly ["start", "end", "center", "align-none"];
- }];
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- readonly 'snap-stop': readonly [{
- readonly snap: readonly ["normal", "always"];
- }];
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- readonly 'snap-type': readonly [{
- readonly snap: readonly ["none", "x", "y", "both"];
- }];
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- readonly 'snap-strictness': readonly [{
- readonly snap: readonly ["mandatory", "proximity"];
- }];
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- readonly touch: readonly [{
- readonly touch: readonly ["auto", "none", "manipulation"];
- }];
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- readonly 'touch-x': readonly [{
- readonly 'touch-pan': readonly ["x", "left", "right"];
- }];
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- readonly 'touch-y': readonly [{
- readonly 'touch-pan': readonly ["y", "up", "down"];
- }];
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- readonly 'touch-pz': readonly ["touch-pinch-zoom"];
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- readonly select: readonly [{
- readonly select: readonly ["none", "text", "all", "auto"];
- }];
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- readonly 'will-change': readonly [{
- readonly 'will-change': readonly ["auto", "scroll", "contents", "transform", (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- readonly fill: readonly [{
- readonly fill: readonly ["none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- readonly 'stroke-w': readonly [{
- readonly stroke: readonly [(value: string) => boolean, (value: string) => boolean, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- readonly stroke: readonly [{
- readonly stroke: readonly ["none", ThemeGetter, (value: string) => boolean, (value: string) => boolean];
- }];
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- readonly 'forced-color-adjust': readonly [{
- readonly 'forced-color-adjust': readonly ["auto", "none"];
- }];
- };
- readonly conflictingClassGroups: {
- readonly overflow: readonly ["overflow-x", "overflow-y"];
- readonly overscroll: readonly ["overscroll-x", "overscroll-y"];
- readonly inset: readonly ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"];
- readonly 'inset-x': readonly ["right", "left"];
- readonly 'inset-y': readonly ["top", "bottom"];
- readonly flex: readonly ["basis", "grow", "shrink"];
- readonly gap: readonly ["gap-x", "gap-y"];
- readonly p: readonly ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"];
- readonly px: readonly ["pr", "pl"];
- readonly py: readonly ["pt", "pb"];
- readonly m: readonly ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"];
- readonly mx: readonly ["mr", "ml"];
- readonly my: readonly ["mt", "mb"];
- readonly size: readonly ["w", "h"];
- readonly 'font-size': readonly ["leading"];
- readonly 'fvn-normal': readonly ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"];
- readonly 'fvn-ordinal': readonly ["fvn-normal"];
- readonly 'fvn-slashed-zero': readonly ["fvn-normal"];
- readonly 'fvn-figure': readonly ["fvn-normal"];
- readonly 'fvn-spacing': readonly ["fvn-normal"];
- readonly 'fvn-fraction': readonly ["fvn-normal"];
- readonly 'line-clamp': readonly ["display", "overflow"];
- readonly rounded: readonly ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"];
- readonly 'rounded-s': readonly ["rounded-ss", "rounded-es"];
- readonly 'rounded-e': readonly ["rounded-se", "rounded-ee"];
- readonly 'rounded-t': readonly ["rounded-tl", "rounded-tr"];
- readonly 'rounded-r': readonly ["rounded-tr", "rounded-br"];
- readonly 'rounded-b': readonly ["rounded-br", "rounded-bl"];
- readonly 'rounded-l': readonly ["rounded-tl", "rounded-bl"];
- readonly 'border-spacing': readonly ["border-spacing-x", "border-spacing-y"];
- readonly 'border-w': readonly ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"];
- readonly 'border-w-x': readonly ["border-w-r", "border-w-l"];
- readonly 'border-w-y': readonly ["border-w-t", "border-w-b"];
- readonly 'border-color': readonly ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"];
- readonly 'border-color-x': readonly ["border-color-r", "border-color-l"];
- readonly 'border-color-y': readonly ["border-color-t", "border-color-b"];
- readonly translate: readonly ["translate-x", "translate-y", "translate-none"];
- readonly 'translate-none': readonly ["translate", "translate-x", "translate-y", "translate-z"];
- readonly 'scroll-m': readonly ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"];
- readonly 'scroll-mx': readonly ["scroll-mr", "scroll-ml"];
- readonly 'scroll-my': readonly ["scroll-mt", "scroll-mb"];
- readonly 'scroll-p': readonly ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"];
- readonly 'scroll-px': readonly ["scroll-pr", "scroll-pl"];
- readonly 'scroll-py': readonly ["scroll-pt", "scroll-pb"];
- readonly touch: readonly ["touch-x", "touch-y", "touch-pz"];
- readonly 'touch-x': readonly ["touch"];
- readonly 'touch-y': readonly ["touch"];
- readonly 'touch-pz': readonly ["touch"];
- };
- readonly conflictingClassGroupModifiers: {
- readonly 'font-size': readonly ["leading"];
- };
- readonly orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"];
-};
-
-type CreateConfigSubsequent = (config: AnyConfig) => AnyConfig;
-declare const extendTailwindMerge: (configExtension: ConfigExtension | CreateConfigSubsequent, ...createConfig: CreateConfigSubsequent[]) => (...classLists: ClassNameValue[]) => string;
-
-declare const fromTheme: (key: NoInfer) => ThemeGetter;
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-declare const mergeConfigs: (baseConfig: AnyConfig, { cacheSize, prefix, experimentalParseClassName, extend, override, }: ConfigExtension) => AnyConfig;
-
-declare const twMerge: (...classLists: ClassNameValue[]) => string;
-
-declare const isFraction: (value: string) => boolean;
-declare const isNumber: (value: string) => boolean;
-declare const isInteger: (value: string) => boolean;
-declare const isPercent: (value: string) => boolean;
-declare const isTshirtSize: (value: string) => boolean;
-declare const isAny: () => boolean;
-declare const isAnyNonArbitrary: (value: string) => boolean;
-declare const isArbitrarySize: (value: string) => boolean;
-declare const isArbitraryValue: (value: string) => boolean;
-declare const isArbitraryLength: (value: string) => boolean;
-declare const isArbitraryNumber: (value: string) => boolean;
-declare const isArbitraryPosition: (value: string) => boolean;
-declare const isArbitraryImage: (value: string) => boolean;
-declare const isArbitraryShadow: (value: string) => boolean;
-declare const isArbitraryVariable: (value: string) => boolean;
-declare const isArbitraryVariableLength: (value: string) => boolean;
-declare const isArbitraryVariableFamilyName: (value: string) => boolean;
-declare const isArbitraryVariablePosition: (value: string) => boolean;
-declare const isArbitraryVariableSize: (value: string) => boolean;
-declare const isArbitraryVariableImage: (value: string) => boolean;
-declare const isArbitraryVariableShadow: (value: string) => boolean;
-
-declare const validators_d_isAny: typeof isAny;
-declare const validators_d_isAnyNonArbitrary: typeof isAnyNonArbitrary;
-declare const validators_d_isArbitraryImage: typeof isArbitraryImage;
-declare const validators_d_isArbitraryLength: typeof isArbitraryLength;
-declare const validators_d_isArbitraryNumber: typeof isArbitraryNumber;
-declare const validators_d_isArbitraryPosition: typeof isArbitraryPosition;
-declare const validators_d_isArbitraryShadow: typeof isArbitraryShadow;
-declare const validators_d_isArbitrarySize: typeof isArbitrarySize;
-declare const validators_d_isArbitraryValue: typeof isArbitraryValue;
-declare const validators_d_isArbitraryVariable: typeof isArbitraryVariable;
-declare const validators_d_isArbitraryVariableFamilyName: typeof isArbitraryVariableFamilyName;
-declare const validators_d_isArbitraryVariableImage: typeof isArbitraryVariableImage;
-declare const validators_d_isArbitraryVariableLength: typeof isArbitraryVariableLength;
-declare const validators_d_isArbitraryVariablePosition: typeof isArbitraryVariablePosition;
-declare const validators_d_isArbitraryVariableShadow: typeof isArbitraryVariableShadow;
-declare const validators_d_isArbitraryVariableSize: typeof isArbitraryVariableSize;
-declare const validators_d_isFraction: typeof isFraction;
-declare const validators_d_isInteger: typeof isInteger;
-declare const validators_d_isNumber: typeof isNumber;
-declare const validators_d_isPercent: typeof isPercent;
-declare const validators_d_isTshirtSize: typeof isTshirtSize;
-declare namespace validators_d {
- export {
- validators_d_isAny as isAny,
- validators_d_isAnyNonArbitrary as isAnyNonArbitrary,
- validators_d_isArbitraryImage as isArbitraryImage,
- validators_d_isArbitraryLength as isArbitraryLength,
- validators_d_isArbitraryNumber as isArbitraryNumber,
- validators_d_isArbitraryPosition as isArbitraryPosition,
- validators_d_isArbitraryShadow as isArbitraryShadow,
- validators_d_isArbitrarySize as isArbitrarySize,
- validators_d_isArbitraryValue as isArbitraryValue,
- validators_d_isArbitraryVariable as isArbitraryVariable,
- validators_d_isArbitraryVariableFamilyName as isArbitraryVariableFamilyName,
- validators_d_isArbitraryVariableImage as isArbitraryVariableImage,
- validators_d_isArbitraryVariableLength as isArbitraryVariableLength,
- validators_d_isArbitraryVariablePosition as isArbitraryVariablePosition,
- validators_d_isArbitraryVariableShadow as isArbitraryVariableShadow,
- validators_d_isArbitraryVariableSize as isArbitraryVariableSize,
- validators_d_isFraction as isFraction,
- validators_d_isInteger as isInteger,
- validators_d_isNumber as isNumber,
- validators_d_isPercent as isPercent,
- validators_d_isTshirtSize as isTshirtSize,
- };
-}
-
-export { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators_d as validators };
-export type { ClassNameValue, ClassValidator, Config, ConfigExtension, DefaultClassGroupIds, DefaultThemeGroupIds, ExperimentalParseClassNameParam, ParsedClassName as ExperimentalParsedClassName };
diff --git a/node_modules/tailwind-merge/package.json b/node_modules/tailwind-merge/package.json
deleted file mode 100644
index afd16b2..0000000
--- a/node_modules/tailwind-merge/package.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "name": "tailwind-merge",
- "version": "3.3.1",
- "description": "Merge Tailwind CSS classes without style conflicts",
- "keywords": [
- "tailwindcss",
- "tailwind",
- "css",
- "classes",
- "className",
- "classList",
- "merge",
- "conflict",
- "override"
- ],
- "homepage": "https://github.com/dcastil/tailwind-merge",
- "bugs": {
- "url": "https://github.com/dcastil/tailwind-merge/issues"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
- },
- "license": "MIT",
- "author": "Dany Castillo",
- "files": [
- "dist",
- "src"
- ],
- "source": "src/index.ts",
- "exports": {
- ".": {
- "types": "./dist/types.d.ts",
- "require": "./dist/bundle-cjs.js",
- "import": "./dist/bundle-mjs.mjs",
- "default": "./dist/bundle-mjs.mjs"
- },
- "./es5": {
- "types": "./dist/types.d.ts",
- "require": "./dist/es5/bundle-cjs.js",
- "import": "./dist/es5/bundle-mjs.mjs",
- "default": "./dist/es5/bundle-mjs.mjs"
- }
- },
- "main": "./dist/bundle-cjs.js",
- "types": "./dist/types.d.ts",
- "repository": {
- "type": "git",
- "url": "https://github.com/dcastil/tailwind-merge.git"
- },
- "sideEffects": false,
- "scripts": {
- "build": "rollup --config scripts/rollup.config.mjs",
- "bench": "vitest bench --config scripts/vitest.config.mts",
- "test": "vitest --config scripts/vitest.config.mts --coverage",
- "test:watch": "vitest --config scripts/vitest.config.mts",
- "test:exports": "node scripts/test-built-package-exports.cjs && node scripts/test-built-package-exports.mjs",
- "lint": "eslint --max-warnings 0 '**'",
- "preversion": "if [ -n \"$DANYS_MACHINE\" ]; then git checkout main && git pull; fi",
- "version": "zx scripts/update-readme.mjs",
- "postversion": "if [ -n \"$DANYS_MACHINE\" ]; then git push --follow-tags && open https://github.com/dcastil/tailwind-merge/releases; fi"
- },
- "dependencies": {},
- "devDependencies": {
- "@babel/core": "^7.27.4",
- "@babel/preset-env": "^7.27.2",
- "@codspeed/vitest-plugin": "^4.0.1",
- "@rollup/plugin-babel": "^6.0.4",
- "@rollup/plugin-node-resolve": "^16.0.1",
- "@rollup/plugin-typescript": "^12.1.2",
- "@vitest/coverage-v8": "^3.1.4",
- "@vitest/eslint-plugin": "^1.2.1",
- "babel-plugin-annotate-pure-calls": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.6.4",
- "eslint": "^9.28.0",
- "eslint-plugin-import": "^2.31.0",
- "globby": "^11.1.0",
- "prettier": "^3.5.3",
- "rollup": "^4.41.1",
- "rollup-plugin-delete": "^3.0.1",
- "rollup-plugin-dts": "^6.2.1",
- "tslib": "^2.8.1",
- "typescript": "^5.8.3",
- "typescript-eslint": "^8.33.0",
- "vitest": "^3.1.4",
- "zx": "^8.5.4"
- },
- "publishConfig": {
- "provenance": true
- },
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
-}
diff --git a/node_modules/tailwind-merge/src/index.ts b/node_modules/tailwind-merge/src/index.ts
deleted file mode 100644
index fbb4cf4..0000000
--- a/node_modules/tailwind-merge/src/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export { createTailwindMerge } from './lib/create-tailwind-merge'
-export { getDefaultConfig } from './lib/default-config'
-export { extendTailwindMerge } from './lib/extend-tailwind-merge'
-export { fromTheme } from './lib/from-theme'
-export { mergeConfigs } from './lib/merge-configs'
-export { twJoin, type ClassNameValue } from './lib/tw-join'
-export { twMerge } from './lib/tw-merge'
-export {
- type ClassValidator,
- type Config,
- type ConfigExtension,
- type DefaultClassGroupIds,
- type DefaultThemeGroupIds,
- type ExperimentalParseClassNameParam,
- type ParsedClassName as ExperimentalParsedClassName,
-} from './lib/types'
-export * as validators from './lib/validators'
diff --git a/node_modules/tailwind-merge/src/lib/class-group-utils.ts b/node_modules/tailwind-merge/src/lib/class-group-utils.ts
deleted file mode 100644
index 360b02b..0000000
--- a/node_modules/tailwind-merge/src/lib/class-group-utils.ts
+++ /dev/null
@@ -1,182 +0,0 @@
-import {
- AnyClassGroupIds,
- AnyConfig,
- AnyThemeGroupIds,
- ClassGroup,
- ClassValidator,
- Config,
- ThemeGetter,
- ThemeObject,
-} from './types'
-
-export interface ClassPartObject {
- nextPart: Map
- validators: ClassValidatorObject[]
- classGroupId?: AnyClassGroupIds
-}
-
-interface ClassValidatorObject {
- classGroupId: AnyClassGroupIds
- validator: ClassValidator
-}
-
-const CLASS_PART_SEPARATOR = '-'
-
-export const createClassGroupUtils = (config: AnyConfig) => {
- const classMap = createClassMap(config)
- const { conflictingClassGroups, conflictingClassGroupModifiers } = config
-
- const getClassGroupId = (className: string) => {
- const classParts = className.split(CLASS_PART_SEPARATOR)
-
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
- if (classParts[0] === '' && classParts.length !== 1) {
- classParts.shift()
- }
-
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)
- }
-
- const getConflictingClassGroupIds = (
- classGroupId: AnyClassGroupIds,
- hasPostfixModifier: boolean,
- ) => {
- const conflicts = conflictingClassGroups[classGroupId] || []
-
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]
- }
-
- return conflicts
- }
-
- return {
- getClassGroupId,
- getConflictingClassGroupIds,
- }
-}
-
-const getGroupRecursive = (
- classParts: string[],
- classPartObject: ClassPartObject,
-): AnyClassGroupIds | undefined => {
- if (classParts.length === 0) {
- return classPartObject.classGroupId
- }
-
- const currentClassPart = classParts[0]!
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)
- const classGroupFromNextClassPart = nextClassPartObject
- ? getGroupRecursive(classParts.slice(1), nextClassPartObject)
- : undefined
-
- if (classGroupFromNextClassPart) {
- return classGroupFromNextClassPart
- }
-
- if (classPartObject.validators.length === 0) {
- return undefined
- }
-
- const classRest = classParts.join(CLASS_PART_SEPARATOR)
-
- return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId
-}
-
-const arbitraryPropertyRegex = /^\[(.+)\]$/
-
-const getGroupIdForArbitraryProperty = (className: string) => {
- if (arbitraryPropertyRegex.test(className)) {
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]
- const property = arbitraryPropertyClassName?.substring(
- 0,
- arbitraryPropertyClassName.indexOf(':'),
- )
-
- if (property) {
- // I use two dots here because one dot is used as prefix for class groups in plugins
- return 'arbitrary..' + property
- }
- }
-}
-
-/**
- * Exported for testing only
- */
-export const createClassMap = (config: Config) => {
- const { theme, classGroups } = config
- const classMap: ClassPartObject = {
- nextPart: new Map(),
- validators: [],
- }
-
- for (const classGroupId in classGroups) {
- processClassesRecursively(classGroups[classGroupId]!, classMap, classGroupId, theme)
- }
-
- return classMap
-}
-
-const processClassesRecursively = (
- classGroup: ClassGroup,
- classPartObject: ClassPartObject,
- classGroupId: AnyClassGroupIds,
- theme: ThemeObject,
-) => {
- classGroup.forEach((classDefinition) => {
- if (typeof classDefinition === 'string') {
- const classPartObjectToEdit =
- classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)
- classPartObjectToEdit.classGroupId = classGroupId
- return
- }
-
- if (typeof classDefinition === 'function') {
- if (isThemeGetter(classDefinition)) {
- processClassesRecursively(
- classDefinition(theme),
- classPartObject,
- classGroupId,
- theme,
- )
- return
- }
-
- classPartObject.validators.push({
- validator: classDefinition,
- classGroupId,
- })
-
- return
- }
-
- Object.entries(classDefinition).forEach(([key, classGroup]) => {
- processClassesRecursively(
- classGroup,
- getPart(classPartObject, key),
- classGroupId,
- theme,
- )
- })
- })
-}
-
-const getPart = (classPartObject: ClassPartObject, path: string) => {
- let currentClassPartObject = classPartObject
-
- path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
- if (!currentClassPartObject.nextPart.has(pathPart)) {
- currentClassPartObject.nextPart.set(pathPart, {
- nextPart: new Map(),
- validators: [],
- })
- }
-
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!
- })
-
- return currentClassPartObject
-}
-
-const isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>
- (func as ThemeGetter).isThemeGetter
diff --git a/node_modules/tailwind-merge/src/lib/config-utils.ts b/node_modules/tailwind-merge/src/lib/config-utils.ts
deleted file mode 100644
index a5eb08e..0000000
--- a/node_modules/tailwind-merge/src/lib/config-utils.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { createClassGroupUtils } from './class-group-utils'
-import { createLruCache } from './lru-cache'
-import { createParseClassName } from './parse-class-name'
-import { createSortModifiers } from './sort-modifiers'
-import { AnyConfig } from './types'
-
-export type ConfigUtils = ReturnType
-
-export const createConfigUtils = (config: AnyConfig) => ({
- cache: createLruCache(config.cacheSize),
- parseClassName: createParseClassName(config),
- sortModifiers: createSortModifiers(config),
- ...createClassGroupUtils(config),
-})
diff --git a/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts b/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts
deleted file mode 100644
index 59b9538..0000000
--- a/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { createConfigUtils } from './config-utils'
-import { mergeClassList } from './merge-classlist'
-import { ClassNameValue, twJoin } from './tw-join'
-import { AnyConfig } from './types'
-
-type CreateConfigFirst = () => AnyConfig
-type CreateConfigSubsequent = (config: AnyConfig) => AnyConfig
-type TailwindMerge = (...classLists: ClassNameValue[]) => string
-type ConfigUtils = ReturnType
-
-export function createTailwindMerge(
- createConfigFirst: CreateConfigFirst,
- ...createConfigRest: CreateConfigSubsequent[]
-): TailwindMerge {
- let configUtils: ConfigUtils
- let cacheGet: ConfigUtils['cache']['get']
- let cacheSet: ConfigUtils['cache']['set']
- let functionToCall = initTailwindMerge
-
- function initTailwindMerge(classList: string) {
- const config = createConfigRest.reduce(
- (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),
- createConfigFirst() as AnyConfig,
- )
-
- configUtils = createConfigUtils(config)
- cacheGet = configUtils.cache.get
- cacheSet = configUtils.cache.set
- functionToCall = tailwindMerge
-
- return tailwindMerge(classList)
- }
-
- function tailwindMerge(classList: string) {
- const cachedResult = cacheGet(classList)
-
- if (cachedResult) {
- return cachedResult
- }
-
- const result = mergeClassList(classList, configUtils)
- cacheSet(classList, result)
-
- return result
- }
-
- return function callTailwindMerge() {
- return functionToCall(twJoin.apply(null, arguments as any))
- }
-}
diff --git a/node_modules/tailwind-merge/src/lib/default-config.ts b/node_modules/tailwind-merge/src/lib/default-config.ts
deleted file mode 100644
index 248331d..0000000
--- a/node_modules/tailwind-merge/src/lib/default-config.ts
+++ /dev/null
@@ -1,2359 +0,0 @@
-import { fromTheme } from './from-theme'
-import { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'
-import {
- isAny,
- isAnyNonArbitrary,
- isArbitraryImage,
- isArbitraryLength,
- isArbitraryNumber,
- isArbitraryPosition,
- isArbitraryShadow,
- isArbitrarySize,
- isArbitraryValue,
- isArbitraryVariable,
- isArbitraryVariableFamilyName,
- isArbitraryVariableImage,
- isArbitraryVariableLength,
- isArbitraryVariablePosition,
- isArbitraryVariableShadow,
- isArbitraryVariableSize,
- isFraction,
- isInteger,
- isNumber,
- isPercent,
- isTshirtSize,
-} from './validators'
-
-export const getDefaultConfig = () => {
- /**
- * Theme getters for theme variable namespaces
- * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
- */
- /***/
-
- const themeColor = fromTheme('color')
- const themeFont = fromTheme('font')
- const themeText = fromTheme('text')
- const themeFontWeight = fromTheme('font-weight')
- const themeTracking = fromTheme('tracking')
- const themeLeading = fromTheme('leading')
- const themeBreakpoint = fromTheme('breakpoint')
- const themeContainer = fromTheme('container')
- const themeSpacing = fromTheme('spacing')
- const themeRadius = fromTheme('radius')
- const themeShadow = fromTheme('shadow')
- const themeInsetShadow = fromTheme('inset-shadow')
- const themeTextShadow = fromTheme('text-shadow')
- const themeDropShadow = fromTheme('drop-shadow')
- const themeBlur = fromTheme('blur')
- const themePerspective = fromTheme('perspective')
- const themeAspect = fromTheme('aspect')
- const themeEase = fromTheme('ease')
- const themeAnimate = fromTheme('animate')
-
- /**
- * Helpers to avoid repeating the same scales
- *
- * We use functions that create a new array every time they're called instead of static arrays.
- * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
- */
- /***/
-
- const scaleBreak = () =>
- ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const
- const scalePosition = () =>
- [
- 'center',
- 'top',
- 'bottom',
- 'left',
- 'right',
- 'top-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-top',
- 'top-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-top',
- 'bottom-right',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'right-bottom',
- 'bottom-left',
- // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
- 'left-bottom',
- ] as const
- const scalePositionWithArbitrary = () =>
- [...scalePosition(), isArbitraryVariable, isArbitraryValue] as const
- const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const
- const scaleOverscroll = () => ['auto', 'contain', 'none'] as const
- const scaleUnambiguousSpacing = () =>
- [isArbitraryVariable, isArbitraryValue, themeSpacing] as const
- const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()] as const
- const scaleGridTemplateColsRows = () =>
- [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue] as const
- const scaleGridColRowStartAndEnd = () =>
- [
- 'auto',
- { span: ['full', isInteger, isArbitraryVariable, isArbitraryValue] },
- isInteger,
- isArbitraryVariable,
- isArbitraryValue,
- ] as const
- const scaleGridColRowStartOrEnd = () =>
- [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] as const
- const scaleGridAutoColsRows = () =>
- ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue] as const
- const scaleAlignPrimaryAxis = () =>
- [
- 'start',
- 'end',
- 'center',
- 'between',
- 'around',
- 'evenly',
- 'stretch',
- 'baseline',
- 'center-safe',
- 'end-safe',
- ] as const
- const scaleAlignSecondaryAxis = () =>
- ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'] as const
- const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()] as const
- const scaleSizing = () =>
- [
- isFraction,
- 'auto',
- 'full',
- 'dvw',
- 'dvh',
- 'lvw',
- 'lvh',
- 'svw',
- 'svh',
- 'min',
- 'max',
- 'fit',
- ...scaleUnambiguousSpacing(),
- ] as const
- const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue] as const
- const scaleBgPosition = () =>
- [
- ...scalePosition(),
- isArbitraryVariablePosition,
- isArbitraryPosition,
- { position: [isArbitraryVariable, isArbitraryValue] },
- ] as const
- const scaleBgRepeat = () => ['no-repeat', { repeat: ['', 'x', 'y', 'space', 'round'] }] as const
- const scaleBgSize = () =>
- [
- 'auto',
- 'cover',
- 'contain',
- isArbitraryVariableSize,
- isArbitrarySize,
- { size: [isArbitraryVariable, isArbitraryValue] },
- ] as const
- const scaleGradientStopPosition = () =>
- [isPercent, isArbitraryVariableLength, isArbitraryLength] as const
- const scaleRadius = () =>
- [
- // Deprecated since Tailwind CSS v4.0.0
- '',
- 'none',
- 'full',
- themeRadius,
- isArbitraryVariable,
- isArbitraryValue,
- ] as const
- const scaleBorderWidth = () =>
- ['', isNumber, isArbitraryVariableLength, isArbitraryLength] as const
- const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'] as const
- const scaleBlendMode = () =>
- [
- 'normal',
- 'multiply',
- 'screen',
- 'overlay',
- 'darken',
- 'lighten',
- 'color-dodge',
- 'color-burn',
- 'hard-light',
- 'soft-light',
- 'difference',
- 'exclusion',
- 'hue',
- 'saturation',
- 'color',
- 'luminosity',
- ] as const
- const scaleMaskImagePosition = () =>
- [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition] as const
- const scaleBlur = () =>
- [
- // Deprecated since Tailwind CSS v4.0.0
- '',
- 'none',
- themeBlur,
- isArbitraryVariable,
- isArbitraryValue,
- ] as const
- const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const
- const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const
- const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue] as const
- const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()] as const
-
- return {
- cacheSize: 500,
- theme: {
- animate: ['spin', 'ping', 'pulse', 'bounce'],
- aspect: ['video'],
- blur: [isTshirtSize],
- breakpoint: [isTshirtSize],
- color: [isAny],
- container: [isTshirtSize],
- 'drop-shadow': [isTshirtSize],
- ease: ['in', 'out', 'in-out'],
- font: [isAnyNonArbitrary],
- 'font-weight': [
- 'thin',
- 'extralight',
- 'light',
- 'normal',
- 'medium',
- 'semibold',
- 'bold',
- 'extrabold',
- 'black',
- ],
- 'inset-shadow': [isTshirtSize],
- leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],
- perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],
- radius: [isTshirtSize],
- shadow: [isTshirtSize],
- spacing: ['px', isNumber],
- text: [isTshirtSize],
- 'text-shadow': [isTshirtSize],
- tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest'],
- },
- classGroups: {
- // --------------
- // --- Layout ---
- // --------------
-
- /**
- * Aspect Ratio
- * @see https://tailwindcss.com/docs/aspect-ratio
- */
- aspect: [
- {
- aspect: [
- 'auto',
- 'square',
- isFraction,
- isArbitraryValue,
- isArbitraryVariable,
- themeAspect,
- ],
- },
- ],
- /**
- * Container
- * @see https://tailwindcss.com/docs/container
- * @deprecated since Tailwind CSS v4.0.0
- */
- container: ['container'],
- /**
- * Columns
- * @see https://tailwindcss.com/docs/columns
- */
- columns: [
- { columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer] },
- ],
- /**
- * Break After
- * @see https://tailwindcss.com/docs/break-after
- */
- 'break-after': [{ 'break-after': scaleBreak() }],
- /**
- * Break Before
- * @see https://tailwindcss.com/docs/break-before
- */
- 'break-before': [{ 'break-before': scaleBreak() }],
- /**
- * Break Inside
- * @see https://tailwindcss.com/docs/break-inside
- */
- 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],
- /**
- * Box Decoration Break
- * @see https://tailwindcss.com/docs/box-decoration-break
- */
- 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],
- /**
- * Box Sizing
- * @see https://tailwindcss.com/docs/box-sizing
- */
- box: [{ box: ['border', 'content'] }],
- /**
- * Display
- * @see https://tailwindcss.com/docs/display
- */
- display: [
- 'block',
- 'inline-block',
- 'inline',
- 'flex',
- 'inline-flex',
- 'table',
- 'inline-table',
- 'table-caption',
- 'table-cell',
- 'table-column',
- 'table-column-group',
- 'table-footer-group',
- 'table-header-group',
- 'table-row-group',
- 'table-row',
- 'flow-root',
- 'grid',
- 'inline-grid',
- 'contents',
- 'list-item',
- 'hidden',
- ],
- /**
- * Screen Reader Only
- * @see https://tailwindcss.com/docs/display#screen-reader-only
- */
- sr: ['sr-only', 'not-sr-only'],
- /**
- * Floats
- * @see https://tailwindcss.com/docs/float
- */
- float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],
- /**
- * Clear
- * @see https://tailwindcss.com/docs/clear
- */
- clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],
- /**
- * Isolation
- * @see https://tailwindcss.com/docs/isolation
- */
- isolation: ['isolate', 'isolation-auto'],
- /**
- * Object Fit
- * @see https://tailwindcss.com/docs/object-fit
- */
- 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],
- /**
- * Object Position
- * @see https://tailwindcss.com/docs/object-position
- */
- 'object-position': [{ object: scalePositionWithArbitrary() }],
- /**
- * Overflow
- * @see https://tailwindcss.com/docs/overflow
- */
- overflow: [{ overflow: scaleOverflow() }],
- /**
- * Overflow X
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-x': [{ 'overflow-x': scaleOverflow() }],
- /**
- * Overflow Y
- * @see https://tailwindcss.com/docs/overflow
- */
- 'overflow-y': [{ 'overflow-y': scaleOverflow() }],
- /**
- * Overscroll Behavior
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- overscroll: [{ overscroll: scaleOverscroll() }],
- /**
- * Overscroll Behavior X
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-x': [{ 'overscroll-x': scaleOverscroll() }],
- /**
- * Overscroll Behavior Y
- * @see https://tailwindcss.com/docs/overscroll-behavior
- */
- 'overscroll-y': [{ 'overscroll-y': scaleOverscroll() }],
- /**
- * Position
- * @see https://tailwindcss.com/docs/position
- */
- position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
- /**
- * Top / Right / Bottom / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- inset: [{ inset: scaleInset() }],
- /**
- * Right / Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-x': [{ 'inset-x': scaleInset() }],
- /**
- * Top / Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- 'inset-y': [{ 'inset-y': scaleInset() }],
- /**
- * Start
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- start: [{ start: scaleInset() }],
- /**
- * End
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- end: [{ end: scaleInset() }],
- /**
- * Top
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- top: [{ top: scaleInset() }],
- /**
- * Right
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- right: [{ right: scaleInset() }],
- /**
- * Bottom
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- bottom: [{ bottom: scaleInset() }],
- /**
- * Left
- * @see https://tailwindcss.com/docs/top-right-bottom-left
- */
- left: [{ left: scaleInset() }],
- /**
- * Visibility
- * @see https://tailwindcss.com/docs/visibility
- */
- visibility: ['visible', 'invisible', 'collapse'],
- /**
- * Z-Index
- * @see https://tailwindcss.com/docs/z-index
- */
- z: [{ z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] }],
-
- // ------------------------
- // --- Flexbox and Grid ---
- // ------------------------
-
- /**
- * Flex Basis
- * @see https://tailwindcss.com/docs/flex-basis
- */
- basis: [
- {
- basis: [
- isFraction,
- 'full',
- 'auto',
- themeContainer,
- ...scaleUnambiguousSpacing(),
- ],
- },
- ],
- /**
- * Flex Direction
- * @see https://tailwindcss.com/docs/flex-direction
- */
- 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],
- /**
- * Flex Wrap
- * @see https://tailwindcss.com/docs/flex-wrap
- */
- 'flex-wrap': [{ flex: ['nowrap', 'wrap', 'wrap-reverse'] }],
- /**
- * Flex
- * @see https://tailwindcss.com/docs/flex
- */
- flex: [{ flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue] }],
- /**
- * Flex Grow
- * @see https://tailwindcss.com/docs/flex-grow
- */
- grow: [{ grow: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Flex Shrink
- * @see https://tailwindcss.com/docs/flex-shrink
- */
- shrink: [{ shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Order
- * @see https://tailwindcss.com/docs/order
- */
- order: [
- {
- order: [
- isInteger,
- 'first',
- 'last',
- 'none',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Grid Template Columns
- * @see https://tailwindcss.com/docs/grid-template-columns
- */
- 'grid-cols': [{ 'grid-cols': scaleGridTemplateColsRows() }],
- /**
- * Grid Column Start / End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start-end': [{ col: scaleGridColRowStartAndEnd() }],
- /**
- * Grid Column Start
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-start': [{ 'col-start': scaleGridColRowStartOrEnd() }],
- /**
- * Grid Column End
- * @see https://tailwindcss.com/docs/grid-column
- */
- 'col-end': [{ 'col-end': scaleGridColRowStartOrEnd() }],
- /**
- * Grid Template Rows
- * @see https://tailwindcss.com/docs/grid-template-rows
- */
- 'grid-rows': [{ 'grid-rows': scaleGridTemplateColsRows() }],
- /**
- * Grid Row Start / End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start-end': [{ row: scaleGridColRowStartAndEnd() }],
- /**
- * Grid Row Start
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-start': [{ 'row-start': scaleGridColRowStartOrEnd() }],
- /**
- * Grid Row End
- * @see https://tailwindcss.com/docs/grid-row
- */
- 'row-end': [{ 'row-end': scaleGridColRowStartOrEnd() }],
- /**
- * Grid Auto Flow
- * @see https://tailwindcss.com/docs/grid-auto-flow
- */
- 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],
- /**
- * Grid Auto Columns
- * @see https://tailwindcss.com/docs/grid-auto-columns
- */
- 'auto-cols': [{ 'auto-cols': scaleGridAutoColsRows() }],
- /**
- * Grid Auto Rows
- * @see https://tailwindcss.com/docs/grid-auto-rows
- */
- 'auto-rows': [{ 'auto-rows': scaleGridAutoColsRows() }],
- /**
- * Gap
- * @see https://tailwindcss.com/docs/gap
- */
- gap: [{ gap: scaleUnambiguousSpacing() }],
- /**
- * Gap X
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-x': [{ 'gap-x': scaleUnambiguousSpacing() }],
- /**
- * Gap Y
- * @see https://tailwindcss.com/docs/gap
- */
- 'gap-y': [{ 'gap-y': scaleUnambiguousSpacing() }],
- /**
- * Justify Content
- * @see https://tailwindcss.com/docs/justify-content
- */
- 'justify-content': [{ justify: [...scaleAlignPrimaryAxis(), 'normal'] }],
- /**
- * Justify Items
- * @see https://tailwindcss.com/docs/justify-items
- */
- 'justify-items': [{ 'justify-items': [...scaleAlignSecondaryAxis(), 'normal'] }],
- /**
- * Justify Self
- * @see https://tailwindcss.com/docs/justify-self
- */
- 'justify-self': [{ 'justify-self': ['auto', ...scaleAlignSecondaryAxis()] }],
- /**
- * Align Content
- * @see https://tailwindcss.com/docs/align-content
- */
- 'align-content': [{ content: ['normal', ...scaleAlignPrimaryAxis()] }],
- /**
- * Align Items
- * @see https://tailwindcss.com/docs/align-items
- */
- 'align-items': [{ items: [...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] }],
- /**
- * Align Self
- * @see https://tailwindcss.com/docs/align-self
- */
- 'align-self': [
- { self: ['auto', ...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] },
- ],
- /**
- * Place Content
- * @see https://tailwindcss.com/docs/place-content
- */
- 'place-content': [{ 'place-content': scaleAlignPrimaryAxis() }],
- /**
- * Place Items
- * @see https://tailwindcss.com/docs/place-items
- */
- 'place-items': [{ 'place-items': [...scaleAlignSecondaryAxis(), 'baseline'] }],
- /**
- * Place Self
- * @see https://tailwindcss.com/docs/place-self
- */
- 'place-self': [{ 'place-self': ['auto', ...scaleAlignSecondaryAxis()] }],
- // Spacing
- /**
- * Padding
- * @see https://tailwindcss.com/docs/padding
- */
- p: [{ p: scaleUnambiguousSpacing() }],
- /**
- * Padding X
- * @see https://tailwindcss.com/docs/padding
- */
- px: [{ px: scaleUnambiguousSpacing() }],
- /**
- * Padding Y
- * @see https://tailwindcss.com/docs/padding
- */
- py: [{ py: scaleUnambiguousSpacing() }],
- /**
- * Padding Start
- * @see https://tailwindcss.com/docs/padding
- */
- ps: [{ ps: scaleUnambiguousSpacing() }],
- /**
- * Padding End
- * @see https://tailwindcss.com/docs/padding
- */
- pe: [{ pe: scaleUnambiguousSpacing() }],
- /**
- * Padding Top
- * @see https://tailwindcss.com/docs/padding
- */
- pt: [{ pt: scaleUnambiguousSpacing() }],
- /**
- * Padding Right
- * @see https://tailwindcss.com/docs/padding
- */
- pr: [{ pr: scaleUnambiguousSpacing() }],
- /**
- * Padding Bottom
- * @see https://tailwindcss.com/docs/padding
- */
- pb: [{ pb: scaleUnambiguousSpacing() }],
- /**
- * Padding Left
- * @see https://tailwindcss.com/docs/padding
- */
- pl: [{ pl: scaleUnambiguousSpacing() }],
- /**
- * Margin
- * @see https://tailwindcss.com/docs/margin
- */
- m: [{ m: scaleMargin() }],
- /**
- * Margin X
- * @see https://tailwindcss.com/docs/margin
- */
- mx: [{ mx: scaleMargin() }],
- /**
- * Margin Y
- * @see https://tailwindcss.com/docs/margin
- */
- my: [{ my: scaleMargin() }],
- /**
- * Margin Start
- * @see https://tailwindcss.com/docs/margin
- */
- ms: [{ ms: scaleMargin() }],
- /**
- * Margin End
- * @see https://tailwindcss.com/docs/margin
- */
- me: [{ me: scaleMargin() }],
- /**
- * Margin Top
- * @see https://tailwindcss.com/docs/margin
- */
- mt: [{ mt: scaleMargin() }],
- /**
- * Margin Right
- * @see https://tailwindcss.com/docs/margin
- */
- mr: [{ mr: scaleMargin() }],
- /**
- * Margin Bottom
- * @see https://tailwindcss.com/docs/margin
- */
- mb: [{ mb: scaleMargin() }],
- /**
- * Margin Left
- * @see https://tailwindcss.com/docs/margin
- */
- ml: [{ ml: scaleMargin() }],
- /**
- * Space Between X
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x': [{ 'space-x': scaleUnambiguousSpacing() }],
- /**
- * Space Between X Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-x-reverse': ['space-x-reverse'],
- /**
- * Space Between Y
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y': [{ 'space-y': scaleUnambiguousSpacing() }],
- /**
- * Space Between Y Reverse
- * @see https://tailwindcss.com/docs/margin#adding-space-between-children
- */
- 'space-y-reverse': ['space-y-reverse'],
-
- // --------------
- // --- Sizing ---
- // --------------
-
- /**
- * Size
- * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
- */
- size: [{ size: scaleSizing() }],
- /**
- * Width
- * @see https://tailwindcss.com/docs/width
- */
- w: [{ w: [themeContainer, 'screen', ...scaleSizing()] }],
- /**
- * Min-Width
- * @see https://tailwindcss.com/docs/min-width
- */
- 'min-w': [
- {
- 'min-w': [
- themeContainer,
- 'screen',
- /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'none',
- ...scaleSizing(),
- ],
- },
- ],
- /**
- * Max-Width
- * @see https://tailwindcss.com/docs/max-width
- */
- 'max-w': [
- {
- 'max-w': [
- themeContainer,
- 'screen',
- 'none',
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- 'prose',
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- { screen: [themeBreakpoint] },
- ...scaleSizing(),
- ],
- },
- ],
- /**
- * Height
- * @see https://tailwindcss.com/docs/height
- */
- h: [{ h: ['screen', 'lh', ...scaleSizing()] }],
- /**
- * Min-Height
- * @see https://tailwindcss.com/docs/min-height
- */
- 'min-h': [{ 'min-h': ['screen', 'lh', 'none', ...scaleSizing()] }],
- /**
- * Max-Height
- * @see https://tailwindcss.com/docs/max-height
- */
- 'max-h': [{ 'max-h': ['screen', 'lh', ...scaleSizing()] }],
-
- // ------------------
- // --- Typography ---
- // ------------------
-
- /**
- * Font Size
- * @see https://tailwindcss.com/docs/font-size
- */
- 'font-size': [
- { text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength] },
- ],
- /**
- * Font Smoothing
- * @see https://tailwindcss.com/docs/font-smoothing
- */
- 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
- /**
- * Font Style
- * @see https://tailwindcss.com/docs/font-style
- */
- 'font-style': ['italic', 'not-italic'],
- /**
- * Font Weight
- * @see https://tailwindcss.com/docs/font-weight
- */
- 'font-weight': [{ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber] }],
- /**
- * Font Stretch
- * @see https://tailwindcss.com/docs/font-stretch
- */
- 'font-stretch': [
- {
- 'font-stretch': [
- 'ultra-condensed',
- 'extra-condensed',
- 'condensed',
- 'semi-condensed',
- 'normal',
- 'semi-expanded',
- 'expanded',
- 'extra-expanded',
- 'ultra-expanded',
- isPercent,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Font Family
- * @see https://tailwindcss.com/docs/font-family
- */
- 'font-family': [{ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont] }],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-normal': ['normal-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-ordinal': ['ordinal'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-slashed-zero': ['slashed-zero'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
- /**
- * Font Variant Numeric
- * @see https://tailwindcss.com/docs/font-variant-numeric
- */
- 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],
- /**
- * Letter Spacing
- * @see https://tailwindcss.com/docs/letter-spacing
- */
- tracking: [{ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Line Clamp
- * @see https://tailwindcss.com/docs/line-clamp
- */
- 'line-clamp': [
- { 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber] },
- ],
- /**
- * Line Height
- * @see https://tailwindcss.com/docs/line-height
- */
- leading: [
- {
- leading: [
- /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
- themeLeading,
- ...scaleUnambiguousSpacing(),
- ],
- },
- ],
- /**
- * List Style Image
- * @see https://tailwindcss.com/docs/list-style-image
- */
- 'list-image': [{ 'list-image': ['none', isArbitraryVariable, isArbitraryValue] }],
- /**
- * List Style Position
- * @see https://tailwindcss.com/docs/list-style-position
- */
- 'list-style-position': [{ list: ['inside', 'outside'] }],
- /**
- * List Style Type
- * @see https://tailwindcss.com/docs/list-style-type
- */
- 'list-style-type': [
- { list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Text Alignment
- * @see https://tailwindcss.com/docs/text-align
- */
- 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],
- /**
- * Placeholder Color
- * @deprecated since Tailwind CSS v3.0.0
- * @see https://v3.tailwindcss.com/docs/placeholder-color
- */
- 'placeholder-color': [{ placeholder: scaleColor() }],
- /**
- * Text Color
- * @see https://tailwindcss.com/docs/text-color
- */
- 'text-color': [{ text: scaleColor() }],
- /**
- * Text Decoration
- * @see https://tailwindcss.com/docs/text-decoration
- */
- 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
- /**
- * Text Decoration Style
- * @see https://tailwindcss.com/docs/text-decoration-style
- */
- 'text-decoration-style': [{ decoration: [...scaleLineStyle(), 'wavy'] }],
- /**
- * Text Decoration Thickness
- * @see https://tailwindcss.com/docs/text-decoration-thickness
- */
- 'text-decoration-thickness': [
- {
- decoration: [
- isNumber,
- 'from-font',
- 'auto',
- isArbitraryVariable,
- isArbitraryLength,
- ],
- },
- ],
- /**
- * Text Decoration Color
- * @see https://tailwindcss.com/docs/text-decoration-color
- */
- 'text-decoration-color': [{ decoration: scaleColor() }],
- /**
- * Text Underline Offset
- * @see https://tailwindcss.com/docs/text-underline-offset
- */
- 'underline-offset': [
- { 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Text Transform
- * @see https://tailwindcss.com/docs/text-transform
- */
- 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
- /**
- * Text Overflow
- * @see https://tailwindcss.com/docs/text-overflow
- */
- 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
- /**
- * Text Wrap
- * @see https://tailwindcss.com/docs/text-wrap
- */
- 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],
- /**
- * Text Indent
- * @see https://tailwindcss.com/docs/text-indent
- */
- indent: [{ indent: scaleUnambiguousSpacing() }],
- /**
- * Vertical Alignment
- * @see https://tailwindcss.com/docs/vertical-align
- */
- 'vertical-align': [
- {
- align: [
- 'baseline',
- 'top',
- 'middle',
- 'bottom',
- 'text-top',
- 'text-bottom',
- 'sub',
- 'super',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Whitespace
- * @see https://tailwindcss.com/docs/whitespace
- */
- whitespace: [
- { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },
- ],
- /**
- * Word Break
- * @see https://tailwindcss.com/docs/word-break
- */
- break: [{ break: ['normal', 'words', 'all', 'keep'] }],
- /**
- * Overflow Wrap
- * @see https://tailwindcss.com/docs/overflow-wrap
- */
- wrap: [{ wrap: ['break-word', 'anywhere', 'normal'] }],
- /**
- * Hyphens
- * @see https://tailwindcss.com/docs/hyphens
- */
- hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],
- /**
- * Content
- * @see https://tailwindcss.com/docs/content
- */
- content: [{ content: ['none', isArbitraryVariable, isArbitraryValue] }],
-
- // -------------------
- // --- Backgrounds ---
- // -------------------
-
- /**
- * Background Attachment
- * @see https://tailwindcss.com/docs/background-attachment
- */
- 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],
- /**
- * Background Clip
- * @see https://tailwindcss.com/docs/background-clip
- */
- 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],
- /**
- * Background Origin
- * @see https://tailwindcss.com/docs/background-origin
- */
- 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],
- /**
- * Background Position
- * @see https://tailwindcss.com/docs/background-position
- */
- 'bg-position': [{ bg: scaleBgPosition() }],
- /**
- * Background Repeat
- * @see https://tailwindcss.com/docs/background-repeat
- */
- 'bg-repeat': [{ bg: scaleBgRepeat() }],
- /**
- * Background Size
- * @see https://tailwindcss.com/docs/background-size
- */
- 'bg-size': [{ bg: scaleBgSize() }],
- /**
- * Background Image
- * @see https://tailwindcss.com/docs/background-image
- */
- 'bg-image': [
- {
- bg: [
- 'none',
- {
- linear: [
- { to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },
- isInteger,
- isArbitraryVariable,
- isArbitraryValue,
- ],
- radial: ['', isArbitraryVariable, isArbitraryValue],
- conic: [isInteger, isArbitraryVariable, isArbitraryValue],
- },
- isArbitraryVariableImage,
- isArbitraryImage,
- ],
- },
- ],
- /**
- * Background Color
- * @see https://tailwindcss.com/docs/background-color
- */
- 'bg-color': [{ bg: scaleColor() }],
- /**
- * Gradient Color Stops From Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from-pos': [{ from: scaleGradientStopPosition() }],
- /**
- * Gradient Color Stops Via Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via-pos': [{ via: scaleGradientStopPosition() }],
- /**
- * Gradient Color Stops To Position
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to-pos': [{ to: scaleGradientStopPosition() }],
- /**
- * Gradient Color Stops From
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-from': [{ from: scaleColor() }],
- /**
- * Gradient Color Stops Via
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-via': [{ via: scaleColor() }],
- /**
- * Gradient Color Stops To
- * @see https://tailwindcss.com/docs/gradient-color-stops
- */
- 'gradient-to': [{ to: scaleColor() }],
-
- // ---------------
- // --- Borders ---
- // ---------------
-
- /**
- * Border Radius
- * @see https://tailwindcss.com/docs/border-radius
- */
- rounded: [{ rounded: scaleRadius() }],
- /**
- * Border Radius Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-s': [{ 'rounded-s': scaleRadius() }],
- /**
- * Border Radius End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-e': [{ 'rounded-e': scaleRadius() }],
- /**
- * Border Radius Top
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-t': [{ 'rounded-t': scaleRadius() }],
- /**
- * Border Radius Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-r': [{ 'rounded-r': scaleRadius() }],
- /**
- * Border Radius Bottom
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-b': [{ 'rounded-b': scaleRadius() }],
- /**
- * Border Radius Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-l': [{ 'rounded-l': scaleRadius() }],
- /**
- * Border Radius Start Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ss': [{ 'rounded-ss': scaleRadius() }],
- /**
- * Border Radius Start End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-se': [{ 'rounded-se': scaleRadius() }],
- /**
- * Border Radius End End
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-ee': [{ 'rounded-ee': scaleRadius() }],
- /**
- * Border Radius End Start
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-es': [{ 'rounded-es': scaleRadius() }],
- /**
- * Border Radius Top Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tl': [{ 'rounded-tl': scaleRadius() }],
- /**
- * Border Radius Top Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-tr': [{ 'rounded-tr': scaleRadius() }],
- /**
- * Border Radius Bottom Right
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-br': [{ 'rounded-br': scaleRadius() }],
- /**
- * Border Radius Bottom Left
- * @see https://tailwindcss.com/docs/border-radius
- */
- 'rounded-bl': [{ 'rounded-bl': scaleRadius() }],
- /**
- * Border Width
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w': [{ border: scaleBorderWidth() }],
- /**
- * Border Width X
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-x': [{ 'border-x': scaleBorderWidth() }],
- /**
- * Border Width Y
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-y': [{ 'border-y': scaleBorderWidth() }],
- /**
- * Border Width Start
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-s': [{ 'border-s': scaleBorderWidth() }],
- /**
- * Border Width End
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-e': [{ 'border-e': scaleBorderWidth() }],
- /**
- * Border Width Top
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-t': [{ 'border-t': scaleBorderWidth() }],
- /**
- * Border Width Right
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-r': [{ 'border-r': scaleBorderWidth() }],
- /**
- * Border Width Bottom
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-b': [{ 'border-b': scaleBorderWidth() }],
- /**
- * Border Width Left
- * @see https://tailwindcss.com/docs/border-width
- */
- 'border-w-l': [{ 'border-l': scaleBorderWidth() }],
- /**
- * Divide Width X
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x': [{ 'divide-x': scaleBorderWidth() }],
- /**
- * Divide Width X Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-x-reverse': ['divide-x-reverse'],
- /**
- * Divide Width Y
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y': [{ 'divide-y': scaleBorderWidth() }],
- /**
- * Divide Width Y Reverse
- * @see https://tailwindcss.com/docs/border-width#between-children
- */
- 'divide-y-reverse': ['divide-y-reverse'],
- /**
- * Border Style
- * @see https://tailwindcss.com/docs/border-style
- */
- 'border-style': [{ border: [...scaleLineStyle(), 'hidden', 'none'] }],
- /**
- * Divide Style
- * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
- */
- 'divide-style': [{ divide: [...scaleLineStyle(), 'hidden', 'none'] }],
- /**
- * Border Color
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color': [{ border: scaleColor() }],
- /**
- * Border Color X
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-x': [{ 'border-x': scaleColor() }],
- /**
- * Border Color Y
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-y': [{ 'border-y': scaleColor() }],
- /**
- * Border Color S
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-s': [{ 'border-s': scaleColor() }],
- /**
- * Border Color E
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-e': [{ 'border-e': scaleColor() }],
- /**
- * Border Color Top
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-t': [{ 'border-t': scaleColor() }],
- /**
- * Border Color Right
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-r': [{ 'border-r': scaleColor() }],
- /**
- * Border Color Bottom
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-b': [{ 'border-b': scaleColor() }],
- /**
- * Border Color Left
- * @see https://tailwindcss.com/docs/border-color
- */
- 'border-color-l': [{ 'border-l': scaleColor() }],
- /**
- * Divide Color
- * @see https://tailwindcss.com/docs/divide-color
- */
- 'divide-color': [{ divide: scaleColor() }],
- /**
- * Outline Style
- * @see https://tailwindcss.com/docs/outline-style
- */
- 'outline-style': [{ outline: [...scaleLineStyle(), 'none', 'hidden'] }],
- /**
- * Outline Offset
- * @see https://tailwindcss.com/docs/outline-offset
- */
- 'outline-offset': [
- { 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Outline Width
- * @see https://tailwindcss.com/docs/outline-width
- */
- 'outline-w': [
- { outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength] },
- ],
- /**
- * Outline Color
- * @see https://tailwindcss.com/docs/outline-color
- */
- 'outline-color': [{ outline: scaleColor() }],
-
- // ---------------
- // --- Effects ---
- // ---------------
-
- /**
- * Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow
- */
- shadow: [
- {
- shadow: [
- // Deprecated since Tailwind CSS v4.0.0
- '',
- 'none',
- themeShadow,
- isArbitraryVariableShadow,
- isArbitraryShadow,
- ],
- },
- ],
- /**
- * Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
- */
- 'shadow-color': [{ shadow: scaleColor() }],
- /**
- * Inset Box Shadow
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
- */
- 'inset-shadow': [
- {
- 'inset-shadow': [
- 'none',
- themeInsetShadow,
- isArbitraryVariableShadow,
- isArbitraryShadow,
- ],
- },
- ],
- /**
- * Inset Box Shadow Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
- */
- 'inset-shadow-color': [{ 'inset-shadow': scaleColor() }],
- /**
- * Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
- */
- 'ring-w': [{ ring: scaleBorderWidth() }],
- /**
- * Ring Width Inset
- * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-w-inset': ['ring-inset'],
- /**
- * Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
- */
- 'ring-color': [{ ring: scaleColor() }],
- /**
- * Ring Offset Width
- * @see https://v3.tailwindcss.com/docs/ring-offset-width
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-w': [{ 'ring-offset': [isNumber, isArbitraryLength] }],
- /**
- * Ring Offset Color
- * @see https://v3.tailwindcss.com/docs/ring-offset-color
- * @deprecated since Tailwind CSS v4.0.0
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
- */
- 'ring-offset-color': [{ 'ring-offset': scaleColor() }],
- /**
- * Inset Ring Width
- * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
- */
- 'inset-ring-w': [{ 'inset-ring': scaleBorderWidth() }],
- /**
- * Inset Ring Color
- * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
- */
- 'inset-ring-color': [{ 'inset-ring': scaleColor() }],
- /**
- * Text Shadow
- * @see https://tailwindcss.com/docs/text-shadow
- */
- 'text-shadow': [
- {
- 'text-shadow': [
- 'none',
- themeTextShadow,
- isArbitraryVariableShadow,
- isArbitraryShadow,
- ],
- },
- ],
- /**
- * Text Shadow Color
- * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
- */
- 'text-shadow-color': [{ 'text-shadow': scaleColor() }],
- /**
- * Opacity
- * @see https://tailwindcss.com/docs/opacity
- */
- opacity: [{ opacity: [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Mix Blend Mode
- * @see https://tailwindcss.com/docs/mix-blend-mode
- */
- 'mix-blend': [{ 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter'] }],
- /**
- * Background Blend Mode
- * @see https://tailwindcss.com/docs/background-blend-mode
- */
- 'bg-blend': [{ 'bg-blend': scaleBlendMode() }],
- /**
- * Mask Clip
- * @see https://tailwindcss.com/docs/mask-clip
- */
- 'mask-clip': [
- { 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },
- 'mask-no-clip',
- ],
- /**
- * Mask Composite
- * @see https://tailwindcss.com/docs/mask-composite
- */
- 'mask-composite': [{ mask: ['add', 'subtract', 'intersect', 'exclude'] }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image-linear-pos': [{ 'mask-linear': [isNumber] }],
- 'mask-image-linear-from-pos': [{ 'mask-linear-from': scaleMaskImagePosition() }],
- 'mask-image-linear-to-pos': [{ 'mask-linear-to': scaleMaskImagePosition() }],
- 'mask-image-linear-from-color': [{ 'mask-linear-from': scaleColor() }],
- 'mask-image-linear-to-color': [{ 'mask-linear-to': scaleColor() }],
- 'mask-image-t-from-pos': [{ 'mask-t-from': scaleMaskImagePosition() }],
- 'mask-image-t-to-pos': [{ 'mask-t-to': scaleMaskImagePosition() }],
- 'mask-image-t-from-color': [{ 'mask-t-from': scaleColor() }],
- 'mask-image-t-to-color': [{ 'mask-t-to': scaleColor() }],
- 'mask-image-r-from-pos': [{ 'mask-r-from': scaleMaskImagePosition() }],
- 'mask-image-r-to-pos': [{ 'mask-r-to': scaleMaskImagePosition() }],
- 'mask-image-r-from-color': [{ 'mask-r-from': scaleColor() }],
- 'mask-image-r-to-color': [{ 'mask-r-to': scaleColor() }],
- 'mask-image-b-from-pos': [{ 'mask-b-from': scaleMaskImagePosition() }],
- 'mask-image-b-to-pos': [{ 'mask-b-to': scaleMaskImagePosition() }],
- 'mask-image-b-from-color': [{ 'mask-b-from': scaleColor() }],
- 'mask-image-b-to-color': [{ 'mask-b-to': scaleColor() }],
- 'mask-image-l-from-pos': [{ 'mask-l-from': scaleMaskImagePosition() }],
- 'mask-image-l-to-pos': [{ 'mask-l-to': scaleMaskImagePosition() }],
- 'mask-image-l-from-color': [{ 'mask-l-from': scaleColor() }],
- 'mask-image-l-to-color': [{ 'mask-l-to': scaleColor() }],
- 'mask-image-x-from-pos': [{ 'mask-x-from': scaleMaskImagePosition() }],
- 'mask-image-x-to-pos': [{ 'mask-x-to': scaleMaskImagePosition() }],
- 'mask-image-x-from-color': [{ 'mask-x-from': scaleColor() }],
- 'mask-image-x-to-color': [{ 'mask-x-to': scaleColor() }],
- 'mask-image-y-from-pos': [{ 'mask-y-from': scaleMaskImagePosition() }],
- 'mask-image-y-to-pos': [{ 'mask-y-to': scaleMaskImagePosition() }],
- 'mask-image-y-from-color': [{ 'mask-y-from': scaleColor() }],
- 'mask-image-y-to-color': [{ 'mask-y-to': scaleColor() }],
- 'mask-image-radial': [{ 'mask-radial': [isArbitraryVariable, isArbitraryValue] }],
- 'mask-image-radial-from-pos': [{ 'mask-radial-from': scaleMaskImagePosition() }],
- 'mask-image-radial-to-pos': [{ 'mask-radial-to': scaleMaskImagePosition() }],
- 'mask-image-radial-from-color': [{ 'mask-radial-from': scaleColor() }],
- 'mask-image-radial-to-color': [{ 'mask-radial-to': scaleColor() }],
- 'mask-image-radial-shape': [{ 'mask-radial': ['circle', 'ellipse'] }],
- 'mask-image-radial-size': [
- { 'mask-radial': [{ closest: ['side', 'corner'], farthest: ['side', 'corner'] }] },
- ],
- 'mask-image-radial-pos': [{ 'mask-radial-at': scalePosition() }],
- 'mask-image-conic-pos': [{ 'mask-conic': [isNumber] }],
- 'mask-image-conic-from-pos': [{ 'mask-conic-from': scaleMaskImagePosition() }],
- 'mask-image-conic-to-pos': [{ 'mask-conic-to': scaleMaskImagePosition() }],
- 'mask-image-conic-from-color': [{ 'mask-conic-from': scaleColor() }],
- 'mask-image-conic-to-color': [{ 'mask-conic-to': scaleColor() }],
- /**
- * Mask Mode
- * @see https://tailwindcss.com/docs/mask-mode
- */
- 'mask-mode': [{ mask: ['alpha', 'luminance', 'match'] }],
- /**
- * Mask Origin
- * @see https://tailwindcss.com/docs/mask-origin
- */
- 'mask-origin': [
- { 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },
- ],
- /**
- * Mask Position
- * @see https://tailwindcss.com/docs/mask-position
- */
- 'mask-position': [{ mask: scaleBgPosition() }],
- /**
- * Mask Repeat
- * @see https://tailwindcss.com/docs/mask-repeat
- */
- 'mask-repeat': [{ mask: scaleBgRepeat() }],
- /**
- * Mask Size
- * @see https://tailwindcss.com/docs/mask-size
- */
- 'mask-size': [{ mask: scaleBgSize() }],
- /**
- * Mask Type
- * @see https://tailwindcss.com/docs/mask-type
- */
- 'mask-type': [{ 'mask-type': ['alpha', 'luminance'] }],
- /**
- * Mask Image
- * @see https://tailwindcss.com/docs/mask-image
- */
- 'mask-image': [{ mask: ['none', isArbitraryVariable, isArbitraryValue] }],
-
- // ---------------
- // --- Filters ---
- // ---------------
-
- /**
- * Filter
- * @see https://tailwindcss.com/docs/filter
- */
- filter: [
- {
- filter: [
- // Deprecated since Tailwind CSS v3.0.0
- '',
- 'none',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Blur
- * @see https://tailwindcss.com/docs/blur
- */
- blur: [{ blur: scaleBlur() }],
- /**
- * Brightness
- * @see https://tailwindcss.com/docs/brightness
- */
- brightness: [{ brightness: [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Contrast
- * @see https://tailwindcss.com/docs/contrast
- */
- contrast: [{ contrast: [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Drop Shadow
- * @see https://tailwindcss.com/docs/drop-shadow
- */
- 'drop-shadow': [
- {
- 'drop-shadow': [
- // Deprecated since Tailwind CSS v4.0.0
- '',
- 'none',
- themeDropShadow,
- isArbitraryVariableShadow,
- isArbitraryShadow,
- ],
- },
- ],
- /**
- * Drop Shadow Color
- * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
- */
- 'drop-shadow-color': [{ 'drop-shadow': scaleColor() }],
- /**
- * Grayscale
- * @see https://tailwindcss.com/docs/grayscale
- */
- grayscale: [{ grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Hue Rotate
- * @see https://tailwindcss.com/docs/hue-rotate
- */
- 'hue-rotate': [{ 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Invert
- * @see https://tailwindcss.com/docs/invert
- */
- invert: [{ invert: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Saturate
- * @see https://tailwindcss.com/docs/saturate
- */
- saturate: [{ saturate: [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Sepia
- * @see https://tailwindcss.com/docs/sepia
- */
- sepia: [{ sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Backdrop Filter
- * @see https://tailwindcss.com/docs/backdrop-filter
- */
- 'backdrop-filter': [
- {
- 'backdrop-filter': [
- // Deprecated since Tailwind CSS v3.0.0
- '',
- 'none',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Backdrop Blur
- * @see https://tailwindcss.com/docs/backdrop-blur
- */
- 'backdrop-blur': [{ 'backdrop-blur': scaleBlur() }],
- /**
- * Backdrop Brightness
- * @see https://tailwindcss.com/docs/backdrop-brightness
- */
- 'backdrop-brightness': [
- { 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Contrast
- * @see https://tailwindcss.com/docs/backdrop-contrast
- */
- 'backdrop-contrast': [
- { 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Grayscale
- * @see https://tailwindcss.com/docs/backdrop-grayscale
- */
- 'backdrop-grayscale': [
- { 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Hue Rotate
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
- */
- 'backdrop-hue-rotate': [
- { 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Invert
- * @see https://tailwindcss.com/docs/backdrop-invert
- */
- 'backdrop-invert': [
- { 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Opacity
- * @see https://tailwindcss.com/docs/backdrop-opacity
- */
- 'backdrop-opacity': [
- { 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Saturate
- * @see https://tailwindcss.com/docs/backdrop-saturate
- */
- 'backdrop-saturate': [
- { 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Backdrop Sepia
- * @see https://tailwindcss.com/docs/backdrop-sepia
- */
- 'backdrop-sepia': [
- { 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue] },
- ],
-
- // --------------
- // --- Tables ---
- // --------------
-
- /**
- * Border Collapse
- * @see https://tailwindcss.com/docs/border-collapse
- */
- 'border-collapse': [{ border: ['collapse', 'separate'] }],
- /**
- * Border Spacing
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing': [{ 'border-spacing': scaleUnambiguousSpacing() }],
- /**
- * Border Spacing X
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-x': [{ 'border-spacing-x': scaleUnambiguousSpacing() }],
- /**
- * Border Spacing Y
- * @see https://tailwindcss.com/docs/border-spacing
- */
- 'border-spacing-y': [{ 'border-spacing-y': scaleUnambiguousSpacing() }],
- /**
- * Table Layout
- * @see https://tailwindcss.com/docs/table-layout
- */
- 'table-layout': [{ table: ['auto', 'fixed'] }],
- /**
- * Caption Side
- * @see https://tailwindcss.com/docs/caption-side
- */
- caption: [{ caption: ['top', 'bottom'] }],
-
- // ---------------------------------
- // --- Transitions and Animation ---
- // ---------------------------------
-
- /**
- * Transition Property
- * @see https://tailwindcss.com/docs/transition-property
- */
- transition: [
- {
- transition: [
- '',
- 'all',
- 'colors',
- 'opacity',
- 'shadow',
- 'transform',
- 'none',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Transition Behavior
- * @see https://tailwindcss.com/docs/transition-behavior
- */
- 'transition-behavior': [{ transition: ['normal', 'discrete'] }],
- /**
- * Transition Duration
- * @see https://tailwindcss.com/docs/transition-duration
- */
- duration: [{ duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue] }],
- /**
- * Transition Timing Function
- * @see https://tailwindcss.com/docs/transition-timing-function
- */
- ease: [
- { ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Transition Delay
- * @see https://tailwindcss.com/docs/transition-delay
- */
- delay: [{ delay: [isNumber, isArbitraryVariable, isArbitraryValue] }],
- /**
- * Animation
- * @see https://tailwindcss.com/docs/animation
- */
- animate: [{ animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue] }],
-
- // ------------------
- // --- Transforms ---
- // ------------------
-
- /**
- * Backface Visibility
- * @see https://tailwindcss.com/docs/backface-visibility
- */
- backface: [{ backface: ['hidden', 'visible'] }],
- /**
- * Perspective
- * @see https://tailwindcss.com/docs/perspective
- */
- perspective: [
- { perspective: [themePerspective, isArbitraryVariable, isArbitraryValue] },
- ],
- /**
- * Perspective Origin
- * @see https://tailwindcss.com/docs/perspective-origin
- */
- 'perspective-origin': [{ 'perspective-origin': scalePositionWithArbitrary() }],
- /**
- * Rotate
- * @see https://tailwindcss.com/docs/rotate
- */
- rotate: [{ rotate: scaleRotate() }],
- /**
- * Rotate X
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-x': [{ 'rotate-x': scaleRotate() }],
- /**
- * Rotate Y
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-y': [{ 'rotate-y': scaleRotate() }],
- /**
- * Rotate Z
- * @see https://tailwindcss.com/docs/rotate
- */
- 'rotate-z': [{ 'rotate-z': scaleRotate() }],
- /**
- * Scale
- * @see https://tailwindcss.com/docs/scale
- */
- scale: [{ scale: scaleScale() }],
- /**
- * Scale X
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-x': [{ 'scale-x': scaleScale() }],
- /**
- * Scale Y
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-y': [{ 'scale-y': scaleScale() }],
- /**
- * Scale Z
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-z': [{ 'scale-z': scaleScale() }],
- /**
- * Scale 3D
- * @see https://tailwindcss.com/docs/scale
- */
- 'scale-3d': ['scale-3d'],
- /**
- * Skew
- * @see https://tailwindcss.com/docs/skew
- */
- skew: [{ skew: scaleSkew() }],
- /**
- * Skew X
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-x': [{ 'skew-x': scaleSkew() }],
- /**
- * Skew Y
- * @see https://tailwindcss.com/docs/skew
- */
- 'skew-y': [{ 'skew-y': scaleSkew() }],
- /**
- * Transform
- * @see https://tailwindcss.com/docs/transform
- */
- transform: [
- { transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu'] },
- ],
- /**
- * Transform Origin
- * @see https://tailwindcss.com/docs/transform-origin
- */
- 'transform-origin': [{ origin: scalePositionWithArbitrary() }],
- /**
- * Transform Style
- * @see https://tailwindcss.com/docs/transform-style
- */
- 'transform-style': [{ transform: ['3d', 'flat'] }],
- /**
- * Translate
- * @see https://tailwindcss.com/docs/translate
- */
- translate: [{ translate: scaleTranslate() }],
- /**
- * Translate X
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-x': [{ 'translate-x': scaleTranslate() }],
- /**
- * Translate Y
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-y': [{ 'translate-y': scaleTranslate() }],
- /**
- * Translate Z
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-z': [{ 'translate-z': scaleTranslate() }],
- /**
- * Translate None
- * @see https://tailwindcss.com/docs/translate
- */
- 'translate-none': ['translate-none'],
-
- // ---------------------
- // --- Interactivity ---
- // ---------------------
-
- /**
- * Accent Color
- * @see https://tailwindcss.com/docs/accent-color
- */
- accent: [{ accent: scaleColor() }],
- /**
- * Appearance
- * @see https://tailwindcss.com/docs/appearance
- */
- appearance: [{ appearance: ['none', 'auto'] }],
- /**
- * Caret Color
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
- */
- 'caret-color': [{ caret: scaleColor() }],
- /**
- * Color Scheme
- * @see https://tailwindcss.com/docs/color-scheme
- */
- 'color-scheme': [
- { scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light'] },
- ],
- /**
- * Cursor
- * @see https://tailwindcss.com/docs/cursor
- */
- cursor: [
- {
- cursor: [
- 'auto',
- 'default',
- 'pointer',
- 'wait',
- 'text',
- 'move',
- 'help',
- 'not-allowed',
- 'none',
- 'context-menu',
- 'progress',
- 'cell',
- 'crosshair',
- 'vertical-text',
- 'alias',
- 'copy',
- 'no-drop',
- 'grab',
- 'grabbing',
- 'all-scroll',
- 'col-resize',
- 'row-resize',
- 'n-resize',
- 'e-resize',
- 's-resize',
- 'w-resize',
- 'ne-resize',
- 'nw-resize',
- 'se-resize',
- 'sw-resize',
- 'ew-resize',
- 'ns-resize',
- 'nesw-resize',
- 'nwse-resize',
- 'zoom-in',
- 'zoom-out',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
- /**
- * Field Sizing
- * @see https://tailwindcss.com/docs/field-sizing
- */
- 'field-sizing': [{ 'field-sizing': ['fixed', 'content'] }],
- /**
- * Pointer Events
- * @see https://tailwindcss.com/docs/pointer-events
- */
- 'pointer-events': [{ 'pointer-events': ['auto', 'none'] }],
- /**
- * Resize
- * @see https://tailwindcss.com/docs/resize
- */
- resize: [{ resize: ['none', '', 'y', 'x'] }],
- /**
- * Scroll Behavior
- * @see https://tailwindcss.com/docs/scroll-behavior
- */
- 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],
- /**
- * Scroll Margin
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-m': [{ 'scroll-m': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin X
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mx': [{ 'scroll-mx': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Y
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-my': [{ 'scroll-my': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Start
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ms': [{ 'scroll-ms': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin End
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-me': [{ 'scroll-me': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Top
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mt': [{ 'scroll-mt': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Right
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mr': [{ 'scroll-mr': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Bottom
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-mb': [{ 'scroll-mb': scaleUnambiguousSpacing() }],
- /**
- * Scroll Margin Left
- * @see https://tailwindcss.com/docs/scroll-margin
- */
- 'scroll-ml': [{ 'scroll-ml': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-p': [{ 'scroll-p': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding X
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-px': [{ 'scroll-px': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Y
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-py': [{ 'scroll-py': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Start
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-ps': [{ 'scroll-ps': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding End
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pe': [{ 'scroll-pe': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Top
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pt': [{ 'scroll-pt': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Right
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pr': [{ 'scroll-pr': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Bottom
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pb': [{ 'scroll-pb': scaleUnambiguousSpacing() }],
- /**
- * Scroll Padding Left
- * @see https://tailwindcss.com/docs/scroll-padding
- */
- 'scroll-pl': [{ 'scroll-pl': scaleUnambiguousSpacing() }],
- /**
- * Scroll Snap Align
- * @see https://tailwindcss.com/docs/scroll-snap-align
- */
- 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],
- /**
- * Scroll Snap Stop
- * @see https://tailwindcss.com/docs/scroll-snap-stop
- */
- 'snap-stop': [{ snap: ['normal', 'always'] }],
- /**
- * Scroll Snap Type
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],
- /**
- * Scroll Snap Type Strictness
- * @see https://tailwindcss.com/docs/scroll-snap-type
- */
- 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],
- /**
- * Touch Action
- * @see https://tailwindcss.com/docs/touch-action
- */
- touch: [{ touch: ['auto', 'none', 'manipulation'] }],
- /**
- * Touch Action X
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-x': [{ 'touch-pan': ['x', 'left', 'right'] }],
- /**
- * Touch Action Y
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-y': [{ 'touch-pan': ['y', 'up', 'down'] }],
- /**
- * Touch Action Pinch Zoom
- * @see https://tailwindcss.com/docs/touch-action
- */
- 'touch-pz': ['touch-pinch-zoom'],
- /**
- * User Select
- * @see https://tailwindcss.com/docs/user-select
- */
- select: [{ select: ['none', 'text', 'all', 'auto'] }],
- /**
- * Will Change
- * @see https://tailwindcss.com/docs/will-change
- */
- 'will-change': [
- {
- 'will-change': [
- 'auto',
- 'scroll',
- 'contents',
- 'transform',
- isArbitraryVariable,
- isArbitraryValue,
- ],
- },
- ],
-
- // -----------
- // --- SVG ---
- // -----------
-
- /**
- * Fill
- * @see https://tailwindcss.com/docs/fill
- */
- fill: [{ fill: ['none', ...scaleColor()] }],
- /**
- * Stroke Width
- * @see https://tailwindcss.com/docs/stroke-width
- */
- 'stroke-w': [
- {
- stroke: [
- isNumber,
- isArbitraryVariableLength,
- isArbitraryLength,
- isArbitraryNumber,
- ],
- },
- ],
- /**
- * Stroke
- * @see https://tailwindcss.com/docs/stroke
- */
- stroke: [{ stroke: ['none', ...scaleColor()] }],
-
- // ---------------------
- // --- Accessibility ---
- // ---------------------
-
- /**
- * Forced Color Adjust
- * @see https://tailwindcss.com/docs/forced-color-adjust
- */
- 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],
- },
- conflictingClassGroups: {
- overflow: ['overflow-x', 'overflow-y'],
- overscroll: ['overscroll-x', 'overscroll-y'],
- inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
- 'inset-x': ['right', 'left'],
- 'inset-y': ['top', 'bottom'],
- flex: ['basis', 'grow', 'shrink'],
- gap: ['gap-x', 'gap-y'],
- p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
- px: ['pr', 'pl'],
- py: ['pt', 'pb'],
- m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
- mx: ['mr', 'ml'],
- my: ['mt', 'mb'],
- size: ['w', 'h'],
- 'font-size': ['leading'],
- 'fvn-normal': [
- 'fvn-ordinal',
- 'fvn-slashed-zero',
- 'fvn-figure',
- 'fvn-spacing',
- 'fvn-fraction',
- ],
- 'fvn-ordinal': ['fvn-normal'],
- 'fvn-slashed-zero': ['fvn-normal'],
- 'fvn-figure': ['fvn-normal'],
- 'fvn-spacing': ['fvn-normal'],
- 'fvn-fraction': ['fvn-normal'],
- 'line-clamp': ['display', 'overflow'],
- rounded: [
- 'rounded-s',
- 'rounded-e',
- 'rounded-t',
- 'rounded-r',
- 'rounded-b',
- 'rounded-l',
- 'rounded-ss',
- 'rounded-se',
- 'rounded-ee',
- 'rounded-es',
- 'rounded-tl',
- 'rounded-tr',
- 'rounded-br',
- 'rounded-bl',
- ],
- 'rounded-s': ['rounded-ss', 'rounded-es'],
- 'rounded-e': ['rounded-se', 'rounded-ee'],
- 'rounded-t': ['rounded-tl', 'rounded-tr'],
- 'rounded-r': ['rounded-tr', 'rounded-br'],
- 'rounded-b': ['rounded-br', 'rounded-bl'],
- 'rounded-l': ['rounded-tl', 'rounded-bl'],
- 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
- 'border-w': [
- 'border-w-x',
- 'border-w-y',
- 'border-w-s',
- 'border-w-e',
- 'border-w-t',
- 'border-w-r',
- 'border-w-b',
- 'border-w-l',
- ],
- 'border-w-x': ['border-w-r', 'border-w-l'],
- 'border-w-y': ['border-w-t', 'border-w-b'],
- 'border-color': [
- 'border-color-x',
- 'border-color-y',
- 'border-color-s',
- 'border-color-e',
- 'border-color-t',
- 'border-color-r',
- 'border-color-b',
- 'border-color-l',
- ],
- 'border-color-x': ['border-color-r', 'border-color-l'],
- 'border-color-y': ['border-color-t', 'border-color-b'],
- translate: ['translate-x', 'translate-y', 'translate-none'],
- 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],
- 'scroll-m': [
- 'scroll-mx',
- 'scroll-my',
- 'scroll-ms',
- 'scroll-me',
- 'scroll-mt',
- 'scroll-mr',
- 'scroll-mb',
- 'scroll-ml',
- ],
- 'scroll-mx': ['scroll-mr', 'scroll-ml'],
- 'scroll-my': ['scroll-mt', 'scroll-mb'],
- 'scroll-p': [
- 'scroll-px',
- 'scroll-py',
- 'scroll-ps',
- 'scroll-pe',
- 'scroll-pt',
- 'scroll-pr',
- 'scroll-pb',
- 'scroll-pl',
- ],
- 'scroll-px': ['scroll-pr', 'scroll-pl'],
- 'scroll-py': ['scroll-pt', 'scroll-pb'],
- touch: ['touch-x', 'touch-y', 'touch-pz'],
- 'touch-x': ['touch'],
- 'touch-y': ['touch'],
- 'touch-pz': ['touch'],
- },
- conflictingClassGroupModifiers: {
- 'font-size': ['leading'],
- },
- orderSensitiveModifiers: [
- '*',
- '**',
- 'after',
- 'backdrop',
- 'before',
- 'details-content',
- 'file',
- 'first-letter',
- 'first-line',
- 'marker',
- 'placeholder',
- 'selection',
- ],
- } as const satisfies Config
-}
diff --git a/node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts b/node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts
deleted file mode 100644
index 6d06891..0000000
--- a/node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { createTailwindMerge } from './create-tailwind-merge'
-import { getDefaultConfig } from './default-config'
-import { mergeConfigs } from './merge-configs'
-import { AnyConfig, ConfigExtension, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'
-
-type CreateConfigSubsequent = (config: AnyConfig) => AnyConfig
-
-export const extendTailwindMerge = <
- AdditionalClassGroupIds extends string = never,
- AdditionalThemeGroupIds extends string = never,
->(
- configExtension:
- | ConfigExtension<
- DefaultClassGroupIds | AdditionalClassGroupIds,
- DefaultThemeGroupIds | AdditionalThemeGroupIds
- >
- | CreateConfigSubsequent,
- ...createConfig: CreateConfigSubsequent[]
-) =>
- typeof configExtension === 'function'
- ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig)
- : createTailwindMerge(
- () => mergeConfigs(getDefaultConfig(), configExtension),
- ...createConfig,
- )
diff --git a/node_modules/tailwind-merge/src/lib/from-theme.ts b/node_modules/tailwind-merge/src/lib/from-theme.ts
deleted file mode 100644
index f7dfc36..0000000
--- a/node_modules/tailwind-merge/src/lib/from-theme.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'
-
-export const fromTheme = <
- AdditionalThemeGroupIds extends string = never,
- DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,
->(key: NoInfer): ThemeGetter => {
- const themeGetter = (theme: ThemeObject) =>
- theme[key] || []
-
- themeGetter.isThemeGetter = true as const
-
- return themeGetter
-}
diff --git a/node_modules/tailwind-merge/src/lib/lru-cache.ts b/node_modules/tailwind-merge/src/lib/lru-cache.ts
deleted file mode 100644
index 0f7c944..0000000
--- a/node_modules/tailwind-merge/src/lib/lru-cache.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-// Export is needed because TypeScript complains about an error otherwise:
-// Error: ā¦/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module "ā¦/tailwind-merge/src/lru-cache" but cannot be named.
-export interface LruCache {
- get(key: Key): Value | undefined
- set(key: Key, value: Value): void
-}
-
-// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
-export const createLruCache = (maxCacheSize: number): LruCache => {
- if (maxCacheSize < 1) {
- return {
- get: () => undefined,
- set: () => {},
- }
- }
-
- let cacheSize = 0
- let cache = new Map()
- let previousCache = new Map()
-
- const update = (key: Key, value: Value) => {
- cache.set(key, value)
- cacheSize++
-
- if (cacheSize > maxCacheSize) {
- cacheSize = 0
- previousCache = cache
- cache = new Map()
- }
- }
-
- return {
- get(key) {
- let value = cache.get(key)
-
- if (value !== undefined) {
- return value
- }
- if ((value = previousCache.get(key)) !== undefined) {
- update(key, value)
- return value
- }
- },
- set(key, value) {
- if (cache.has(key)) {
- cache.set(key, value)
- } else {
- update(key, value)
- }
- },
- }
-}
diff --git a/node_modules/tailwind-merge/src/lib/merge-classlist.ts b/node_modules/tailwind-merge/src/lib/merge-classlist.ts
deleted file mode 100644
index 12c94ae..0000000
--- a/node_modules/tailwind-merge/src/lib/merge-classlist.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { ConfigUtils } from './config-utils'
-import { IMPORTANT_MODIFIER } from './parse-class-name'
-
-const SPLIT_CLASSES_REGEX = /\s+/
-
-export const mergeClassList = (classList: string, configUtils: ConfigUtils) => {
- const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers } =
- configUtils
-
- /**
- * Set of classGroupIds in following format:
- * `{importantModifier}{variantModifiers}{classGroupId}`
- * @example 'float'
- * @example 'hover:focus:bg-color'
- * @example 'md:!pr'
- */
- const classGroupsInConflict: string[] = []
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)
-
- let result = ''
-
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
- const originalClassName = classNames[index]!
-
- const {
- isExternal,
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition,
- } = parseClassName(originalClassName)
-
- if (isExternal) {
- result = originalClassName + (result.length > 0 ? ' ' + result : result)
- continue
- }
-
- let hasPostfixModifier = !!maybePostfixModifierPosition
- let classGroupId = getClassGroupId(
- hasPostfixModifier
- ? baseClassName.substring(0, maybePostfixModifierPosition)
- : baseClassName,
- )
-
- if (!classGroupId) {
- if (!hasPostfixModifier) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result)
- continue
- }
-
- classGroupId = getClassGroupId(baseClassName)
-
- if (!classGroupId) {
- // Not a Tailwind class
- result = originalClassName + (result.length > 0 ? ' ' + result : result)
- continue
- }
-
- hasPostfixModifier = false
- }
-
- const variantModifier = sortModifiers(modifiers).join(':')
-
- const modifierId = hasImportantModifier
- ? variantModifier + IMPORTANT_MODIFIER
- : variantModifier
-
- const classId = modifierId + classGroupId
-
- if (classGroupsInConflict.includes(classId)) {
- // Tailwind class omitted due to conflict
- continue
- }
-
- classGroupsInConflict.push(classId)
-
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)
- for (let i = 0; i < conflictGroups.length; ++i) {
- const group = conflictGroups[i]!
- classGroupsInConflict.push(modifierId + group)
- }
-
- // Tailwind class not in conflict
- result = originalClassName + (result.length > 0 ? ' ' + result : result)
- }
-
- return result
-}
diff --git a/node_modules/tailwind-merge/src/lib/merge-configs.ts b/node_modules/tailwind-merge/src/lib/merge-configs.ts
deleted file mode 100644
index 1042138..0000000
--- a/node_modules/tailwind-merge/src/lib/merge-configs.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { AnyConfig, ConfigExtension, NoInfer } from './types'
-
-/**
- * @param baseConfig Config where other config will be merged into. This object will be mutated.
- * @param configExtension Partial config to merge into the `baseConfig`.
- */
-export const mergeConfigs = (
- baseConfig: AnyConfig,
- {
- cacheSize,
- prefix,
- experimentalParseClassName,
- extend = {},
- override = {},
- }: ConfigExtension,
-) => {
- overrideProperty(baseConfig, 'cacheSize', cacheSize)
- overrideProperty(baseConfig, 'prefix', prefix)
- overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName)
-
- overrideConfigProperties(baseConfig.theme, override.theme)
- overrideConfigProperties(baseConfig.classGroups, override.classGroups)
- overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups)
- overrideConfigProperties(
- baseConfig.conflictingClassGroupModifiers,
- override.conflictingClassGroupModifiers,
- )
- overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers)
-
- mergeConfigProperties(baseConfig.theme, extend.theme)
- mergeConfigProperties(baseConfig.classGroups, extend.classGroups)
- mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups)
- mergeConfigProperties(
- baseConfig.conflictingClassGroupModifiers,
- extend.conflictingClassGroupModifiers,
- )
- mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers')
-
- return baseConfig
-}
-
-const overrideProperty = (
- baseObject: T,
- overrideKey: K,
- overrideValue: T[K] | undefined,
-) => {
- if (overrideValue !== undefined) {
- baseObject[overrideKey] = overrideValue
- }
-}
-
-const overrideConfigProperties = (
- baseObject: Partial>,
- overrideObject: Partial> | undefined,
-) => {
- if (overrideObject) {
- for (const key in overrideObject) {
- overrideProperty(baseObject, key, overrideObject[key])
- }
- }
-}
-
-const mergeConfigProperties = (
- baseObject: Partial>,
- mergeObject: Partial> | undefined,
-) => {
- if (mergeObject) {
- for (const key in mergeObject) {
- mergeArrayProperties(baseObject, mergeObject, key)
- }
- }
-}
-
-const mergeArrayProperties = (
- baseObject: Partial, readonly unknown[]>>,
- mergeObject: Partial, readonly unknown[]>>,
- key: Key,
-) => {
- const mergeValue = mergeObject[key]
-
- if (mergeValue !== undefined) {
- baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue
- }
-}
diff --git a/node_modules/tailwind-merge/src/lib/parse-class-name.ts b/node_modules/tailwind-merge/src/lib/parse-class-name.ts
deleted file mode 100644
index b18a2fe..0000000
--- a/node_modules/tailwind-merge/src/lib/parse-class-name.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { AnyConfig, ParsedClassName } from './types'
-
-export const IMPORTANT_MODIFIER = '!'
-const MODIFIER_SEPARATOR = ':'
-const MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length
-
-export const createParseClassName = (config: AnyConfig) => {
- const { prefix, experimentalParseClassName } = config
-
- /**
- * Parse class name into parts.
- *
- * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
- * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
- */
- let parseClassName = (className: string): ParsedClassName => {
- const modifiers = []
-
- let bracketDepth = 0
- let parenDepth = 0
- let modifierStart = 0
- let postfixModifierPosition: number | undefined
-
- for (let index = 0; index < className.length; index++) {
- let currentCharacter = className[index]
-
- if (bracketDepth === 0 && parenDepth === 0) {
- if (currentCharacter === MODIFIER_SEPARATOR) {
- modifiers.push(className.slice(modifierStart, index))
- modifierStart = index + MODIFIER_SEPARATOR_LENGTH
- continue
- }
-
- if (currentCharacter === '/') {
- postfixModifierPosition = index
- continue
- }
- }
-
- if (currentCharacter === '[') {
- bracketDepth++
- } else if (currentCharacter === ']') {
- bracketDepth--
- } else if (currentCharacter === '(') {
- parenDepth++
- } else if (currentCharacter === ')') {
- parenDepth--
- }
- }
-
- const baseClassNameWithImportantModifier =
- modifiers.length === 0 ? className : className.substring(modifierStart)
- const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier)
- const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier
- const maybePostfixModifierPosition =
- postfixModifierPosition && postfixModifierPosition > modifierStart
- ? postfixModifierPosition - modifierStart
- : undefined
-
- return {
- modifiers,
- hasImportantModifier,
- baseClassName,
- maybePostfixModifierPosition,
- }
- }
-
- if (prefix) {
- const fullPrefix = prefix + MODIFIER_SEPARATOR
- const parseClassNameOriginal = parseClassName
- parseClassName = (className) =>
- className.startsWith(fullPrefix)
- ? parseClassNameOriginal(className.substring(fullPrefix.length))
- : {
- isExternal: true,
- modifiers: [],
- hasImportantModifier: false,
- baseClassName: className,
- maybePostfixModifierPosition: undefined,
- }
- }
-
- if (experimentalParseClassName) {
- const parseClassNameOriginal = parseClassName
- parseClassName = (className) =>
- experimentalParseClassName({ className, parseClassName: parseClassNameOriginal })
- }
-
- return parseClassName
-}
-
-const stripImportantModifier = (baseClassName: string) => {
- if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(0, baseClassName.length - 1)
- }
-
- /**
- * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
- * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
- */
- if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
- return baseClassName.substring(1)
- }
-
- return baseClassName
-}
diff --git a/node_modules/tailwind-merge/src/lib/sort-modifiers.ts b/node_modules/tailwind-merge/src/lib/sort-modifiers.ts
deleted file mode 100644
index dd34b63..0000000
--- a/node_modules/tailwind-merge/src/lib/sort-modifiers.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { AnyConfig } from './types'
-
-/**
- * Sorts modifiers according to following schema:
- * - Predefined modifiers are sorted alphabetically
- * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
- */
-export const createSortModifiers = (config: AnyConfig) => {
- const orderSensitiveModifiers = Object.fromEntries(
- config.orderSensitiveModifiers.map((modifier) => [modifier, true]),
- )
-
- const sortModifiers = (modifiers: string[]) => {
- if (modifiers.length <= 1) {
- return modifiers
- }
-
- const sortedModifiers: string[] = []
- let unsortedModifiers: string[] = []
-
- modifiers.forEach((modifier) => {
- const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier]
-
- if (isPositionSensitive) {
- sortedModifiers.push(...unsortedModifiers.sort(), modifier)
- unsortedModifiers = []
- } else {
- unsortedModifiers.push(modifier)
- }
- })
-
- sortedModifiers.push(...unsortedModifiers.sort())
-
- return sortedModifiers
- }
-
- return sortModifiers
-}
diff --git a/node_modules/tailwind-merge/src/lib/tw-join.ts b/node_modules/tailwind-merge/src/lib/tw-join.ts
deleted file mode 100644
index 1e2dded..0000000
--- a/node_modules/tailwind-merge/src/lib/tw-join.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
- *
- * Specifically:
- * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
- * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
- *
- * Original code has MIT license: Copyright (c) Luke Edwards (lukeed.com)
- */
-
-export type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false
-type ClassNameArray = ClassNameValue[]
-
-export function twJoin(...classLists: ClassNameValue[]): string
-export function twJoin() {
- let index = 0
- let argument: ClassNameValue
- let resolvedValue: string
- let string = ''
-
- while (index < arguments.length) {
- if ((argument = arguments[index++])) {
- if ((resolvedValue = toValue(argument))) {
- string && (string += ' ')
- string += resolvedValue
- }
- }
- }
- return string
-}
-
-const toValue = (mix: ClassNameArray | string) => {
- if (typeof mix === 'string') {
- return mix
- }
-
- let resolvedValue: string
- let string = ''
-
- for (let k = 0; k < mix.length; k++) {
- if (mix[k]) {
- if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {
- string && (string += ' ')
- string += resolvedValue
- }
- }
- }
-
- return string
-}
diff --git a/node_modules/tailwind-merge/src/lib/tw-merge.ts b/node_modules/tailwind-merge/src/lib/tw-merge.ts
deleted file mode 100644
index 8377664..0000000
--- a/node_modules/tailwind-merge/src/lib/tw-merge.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { createTailwindMerge } from './create-tailwind-merge'
-import { getDefaultConfig } from './default-config'
-
-export const twMerge = createTailwindMerge(getDefaultConfig)
diff --git a/node_modules/tailwind-merge/src/lib/types.ts b/node_modules/tailwind-merge/src/lib/types.ts
deleted file mode 100644
index 274c95a..0000000
--- a/node_modules/tailwind-merge/src/lib/types.ts
+++ /dev/null
@@ -1,566 +0,0 @@
-/**
- * Type the tailwind-merge configuration adheres to.
- */
-export interface Config
- extends ConfigStaticPart,
- ConfigGroupsPart {}
-
-/**
- * The static part of the tailwind-merge configuration. When merging multiple configurations, the properties of this interface are always overridden.
- */
-interface ConfigStaticPart {
- /**
- * Integer indicating size of LRU cache used for memoizing results.
- * - Cache might be up to twice as big as `cacheSize`
- * - No cache is used for values <= 0
- */
- cacheSize: number
- /**
- * Prefix added to Tailwind-generated classes
- * @see https://tailwindcss.com/docs/configuration#prefix
- */
- prefix?: string
- /**
- * Allows to customize parsing of individual classes passed to `twMerge`.
- * All classes passed to `twMerge` outside of cache hits are passed to this function before it is determined whether the class is a valid Tailwind CSS class.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
- experimentalParseClassName?(param: ExperimentalParseClassNameParam): ParsedClassName
-}
-
-/**
- * Type of param passed to the `experimentalParseClassName` function.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
-export interface ExperimentalParseClassNameParam {
- className: string
- parseClassName(className: string): ParsedClassName
-}
-
-/**
- * Type of the result returned by the `experimentalParseClassName` function.
- *
- * This is an experimental feature and may introduce breaking changes in any minor version update.
- */
-export interface ParsedClassName {
- /**
- * Whether the class is external and merging logic should be sipped.
- *
- * If this is `true`, the class will be treated as if it wasn't a Tailwind class and will be passed through as is.
- */
- isExternal?: boolean
- /**
- * Modifiers of the class in the order they appear in the class.
- *
- * @example ['hover', 'dark'] // for `hover:dark:bg-gray-100`
- */
- modifiers: string[]
- /**
- * Whether the class has an `!important` modifier.
- *
- * @example true // for `hover:dark:!bg-gray-100`
- */
- hasImportantModifier: boolean
- /**
- * Base class without preceding modifiers.
- *
- * @example 'bg-gray-100' // for `hover:dark:bg-gray-100`
- */
- baseClassName: string
- /**
- * Index position of a possible postfix modifier in the class.
- * If the class has no postfix modifier, this is `undefined`.
- *
- * This property is prefixed with "maybe" because tailwind-merge does not know whether something is a postfix modifier or part of the base class since it's possible to configure Tailwind CSS classes which include a `/` in the base class name.
- *
- * If a `maybePostfixModifierPosition` is present, tailwind-merge first tries to match the `baseClassName` without the possible postfix modifier to a class group. If that fails, it tries again with the possible postfix modifier.
- *
- * @example 11 // for `bg-gray-100/50`
- */
- maybePostfixModifierPosition: number | undefined
-}
-
-/**
- * The dynamic part of the tailwind-merge configuration. When merging multiple configurations, the user can choose to either override or extend the properties of this interface.
- */
-interface ConfigGroupsPart {
- /**
- * Theme scales used in classGroups.
- *
- * The keys are the same as in the Tailwind config but the values are sometimes defined more broadly.
- */
- theme: NoInfer>
- /**
- * Object with groups of classes.
- *
- * @example
- * {
- * // Creates group of classes `group`, `of` and `classes`
- * 'group-id': ['group', 'of', 'classes'],
- * // Creates group of classes `look-at-me-other` and `look-at-me-group`.
- * 'other-group': [{ 'look-at-me': ['other', 'group']}]
- * }
- */
- classGroups: NoInfer>>
- /**
- * Conflicting classes across groups.
- *
- * The key is the ID of a class group which creates a conflict, values are IDs of class groups which receive a conflict. That means if a class from from the key ID is present, all preceding classes from the values are removed.
- *
- * A class group ID is the key of a class group in the classGroups object.
- *
- * @example { gap: ['gap-x', 'gap-y'] }
- */
- conflictingClassGroups: NoInfer>>
- /**
- * Postfix modifiers conflicting with other class groups.
- *
- * A class group ID is the key of a class group in classGroups object.
- *
- * @example { 'font-size': ['leading'] }
- */
- conflictingClassGroupModifiers: NoInfer<
- Partial>
- >
- /**
- * Modifiers whose order among multiple modifiers should be preserved because their order changes which element gets targeted.
- *
- * tailwind-merge makes sure that classes with these modifiers are not overwritten by classes with the same modifiers with order-sensitive modifiers being in a different position.
- */
- orderSensitiveModifiers: string[]
-}
-
-/**
- * Type of the configuration object that can be passed to `extendTailwindMerge`.
- */
-export interface ConfigExtension
- extends Partial {
- override?: PartialPartial>
- extend?: PartialPartial>
-}
-
-type PartialPartial = {
- [P in keyof T]?: T[P] extends any[] ? T[P] : Partial
-}
-
-export type ThemeObject = Record<
- ThemeGroupIds,
- ClassGroup
->
-export type ClassGroup = readonly ClassDefinition[]
-type ClassDefinition =
- | string
- | ClassValidator
- | ThemeGetter
- | ClassObject
-export type ClassValidator = (classPart: string) => boolean
-export interface ThemeGetter {
- (theme: ThemeObject): ClassGroup
- isThemeGetter: true
-}
-type ClassObject = Record<
- string,
- readonly ClassDefinition[]
->
-
-/**
- * Hack from https://stackoverflow.com/questions/56687668/a-way-to-disable-type-argument-inference-in-generics/56688073#56688073
- *
- * Could be replaced with NoInfer utility type from TypeScript (https://www.typescriptlang.org/docs/handbook/utility-types.html#noinfertype), but that is only supported in TypeScript 5.4 or higher, so I should wait some time before using it.
- */
-export type NoInfer = [T][T extends any ? 0 : never]
-
-/**
- * Theme group IDs included in the default configuration of tailwind-merge.
- *
- * If you want to use a scale that is not supported in the `ThemeObject` type,
- * consider using `classGroups` instead of `theme`.
- *
- * @see https://github.com/dcastil/tailwind-merge/blob/main/docs/configuration.md#theme
- * (the list of supported keys may vary between `tailwind-merge` versions)
- */
-export type DefaultThemeGroupIds =
- | 'animate'
- | 'aspect'
- | 'blur'
- | 'breakpoint'
- | 'color'
- | 'container'
- | 'drop-shadow'
- | 'ease'
- | 'font-weight'
- | 'font'
- | 'inset-shadow'
- | 'leading'
- | 'perspective'
- | 'radius'
- | 'shadow'
- | 'spacing'
- | 'text'
- | 'text-shadow'
- | 'tracking'
-
-/**
- * Class group IDs included in the default configuration of tailwind-merge.
- */
-export type DefaultClassGroupIds =
- | 'accent'
- | 'align-content'
- | 'align-items'
- | 'align-self'
- | 'animate'
- | 'appearance'
- | 'aspect'
- | 'auto-cols'
- | 'auto-rows'
- | 'backdrop-blur'
- | 'backdrop-brightness'
- | 'backdrop-contrast'
- | 'backdrop-filter'
- | 'backdrop-grayscale'
- | 'backdrop-hue-rotate'
- | 'backdrop-invert'
- | 'backdrop-opacity'
- | 'backdrop-saturate'
- | 'backdrop-sepia'
- | 'backface'
- | 'basis'
- | 'bg-attachment'
- | 'bg-blend'
- | 'bg-clip'
- | 'bg-color'
- | 'bg-image'
- | 'bg-origin'
- | 'bg-position'
- | 'bg-repeat'
- | 'bg-size'
- | 'blur'
- | 'border-collapse'
- | 'border-color-b'
- | 'border-color-e'
- | 'border-color-l'
- | 'border-color-r'
- | 'border-color-s'
- | 'border-color-t'
- | 'border-color-x'
- | 'border-color-y'
- | 'border-color'
- | 'border-spacing-x'
- | 'border-spacing-y'
- | 'border-spacing'
- | 'border-style'
- | 'border-w-b'
- | 'border-w-e'
- | 'border-w-l'
- | 'border-w-r'
- | 'border-w-s'
- | 'border-w-t'
- | 'border-w-x'
- | 'border-w-y'
- | 'border-w'
- | 'bottom'
- | 'box-decoration'
- | 'box'
- | 'break-after'
- | 'break-before'
- | 'break-inside'
- | 'break'
- | 'brightness'
- | 'caption'
- | 'caret-color'
- | 'clear'
- | 'col-end'
- | 'col-start-end'
- | 'col-start'
- | 'color-scheme'
- | 'columns'
- | 'container'
- | 'content'
- | 'contrast'
- | 'cursor'
- | 'delay'
- | 'display'
- | 'divide-color'
- | 'divide-style'
- | 'divide-x-reverse'
- | 'divide-x'
- | 'divide-y-reverse'
- | 'divide-y'
- | 'drop-shadow'
- | 'drop-shadow-color'
- | 'duration'
- | 'ease'
- | 'end'
- | 'field-sizing'
- | 'fill'
- | 'filter'
- | 'flex-direction'
- | 'flex-wrap'
- | 'flex'
- | 'float'
- | 'font-family'
- | 'font-size'
- | 'font-smoothing'
- | 'font-stretch'
- | 'font-style'
- | 'font-weight'
- | 'forced-color-adjust'
- | 'fvn-figure'
- | 'fvn-fraction'
- | 'fvn-normal'
- | 'fvn-ordinal'
- | 'fvn-slashed-zero'
- | 'fvn-spacing'
- | 'gap-x'
- | 'gap-y'
- | 'gap'
- | 'gradient-from-pos'
- | 'gradient-from'
- | 'gradient-to-pos'
- | 'gradient-to'
- | 'gradient-via-pos'
- | 'gradient-via'
- | 'grayscale'
- | 'grid-cols'
- | 'grid-flow'
- | 'grid-rows'
- | 'grow'
- | 'h'
- | 'hue-rotate'
- | 'hyphens'
- | 'indent'
- | 'inset-ring-color'
- | 'inset-ring-w'
- | 'inset-shadow-color'
- | 'inset-shadow'
- | 'inset-x'
- | 'inset-y'
- | 'inset'
- | 'invert'
- | 'isolation'
- | 'justify-content'
- | 'justify-items'
- | 'justify-self'
- | 'leading'
- | 'left'
- | 'line-clamp'
- | 'list-image'
- | 'list-style-position'
- | 'list-style-type'
- | 'm'
- | 'mask-clip'
- | 'mask-composite'
- | 'mask-image-b-from-color'
- | 'mask-image-b-from-pos'
- | 'mask-image-b-to-color'
- | 'mask-image-b-to-pos'
- | 'mask-image-conic-from-color'
- | 'mask-image-conic-from-pos'
- | 'mask-image-conic-pos'
- | 'mask-image-conic-to-color'
- | 'mask-image-conic-to-pos'
- | 'mask-image-l-from-color'
- | 'mask-image-l-from-pos'
- | 'mask-image-l-to-color'
- | 'mask-image-l-to-pos'
- | 'mask-image-linear-from-color'
- | 'mask-image-linear-from-pos'
- | 'mask-image-linear-pos'
- | 'mask-image-linear-to-color'
- | 'mask-image-linear-to-pos'
- | 'mask-image-r-from-color'
- | 'mask-image-r-from-pos'
- | 'mask-image-r-to-color'
- | 'mask-image-r-to-pos'
- | 'mask-image-radial-from-color'
- | 'mask-image-radial-from-pos'
- | 'mask-image-radial-pos'
- | 'mask-image-radial-shape'
- | 'mask-image-radial-size'
- | 'mask-image-radial-to-color'
- | 'mask-image-radial-to-pos'
- | 'mask-image-radial'
- | 'mask-image-t-from-color'
- | 'mask-image-t-from-pos'
- | 'mask-image-t-to-color'
- | 'mask-image-t-to-pos'
- | 'mask-image-x-from-color'
- | 'mask-image-x-from-pos'
- | 'mask-image-x-to-color'
- | 'mask-image-x-to-pos'
- | 'mask-image-y-from-color'
- | 'mask-image-y-from-pos'
- | 'mask-image-y-to-color'
- | 'mask-image-y-to-pos'
- | 'mask-image'
- | 'mask-mode'
- | 'mask-origin'
- | 'mask-position'
- | 'mask-repeat'
- | 'mask-size'
- | 'mask-type'
- | 'max-h'
- | 'max-w'
- | 'mb'
- | 'me'
- | 'min-h'
- | 'min-w'
- | 'mix-blend'
- | 'ml'
- | 'mr'
- | 'ms'
- | 'mt'
- | 'mx'
- | 'my'
- | 'object-fit'
- | 'object-position'
- | 'opacity'
- | 'order'
- | 'outline-color'
- | 'outline-offset'
- | 'outline-style'
- | 'outline-w'
- | 'overflow-x'
- | 'overflow-y'
- | 'overflow'
- | 'overscroll-x'
- | 'overscroll-y'
- | 'overscroll'
- | 'p'
- | 'pb'
- | 'pe'
- | 'perspective-origin'
- | 'perspective'
- | 'pl'
- | 'place-content'
- | 'place-items'
- | 'place-self'
- | 'placeholder-color'
- | 'pointer-events'
- | 'position'
- | 'pr'
- | 'ps'
- | 'pt'
- | 'px'
- | 'py'
- | 'resize'
- | 'right'
- | 'ring-color'
- | 'ring-offset-color'
- | 'ring-offset-w'
- | 'ring-w-inset'
- | 'ring-w'
- | 'rotate-x'
- | 'rotate-y'
- | 'rotate-z'
- | 'rotate'
- | 'rounded-b'
- | 'rounded-bl'
- | 'rounded-br'
- | 'rounded-e'
- | 'rounded-ee'
- | 'rounded-es'
- | 'rounded-l'
- | 'rounded-r'
- | 'rounded-s'
- | 'rounded-se'
- | 'rounded-ss'
- | 'rounded-t'
- | 'rounded-tl'
- | 'rounded-tr'
- | 'rounded'
- | 'row-end'
- | 'row-start-end'
- | 'row-start'
- | 'saturate'
- | 'scale-3d'
- | 'scale-x'
- | 'scale-y'
- | 'scale-z'
- | 'scale'
- | 'scroll-behavior'
- | 'scroll-m'
- | 'scroll-mb'
- | 'scroll-me'
- | 'scroll-ml'
- | 'scroll-mr'
- | 'scroll-ms'
- | 'scroll-mt'
- | 'scroll-mx'
- | 'scroll-my'
- | 'scroll-p'
- | 'scroll-pb'
- | 'scroll-pe'
- | 'scroll-pl'
- | 'scroll-pr'
- | 'scroll-ps'
- | 'scroll-pt'
- | 'scroll-px'
- | 'scroll-py'
- | 'select'
- | 'sepia'
- | 'shadow-color'
- | 'shadow'
- | 'shrink'
- | 'size'
- | 'skew-x'
- | 'skew-y'
- | 'skew'
- | 'snap-align'
- | 'snap-stop'
- | 'snap-strictness'
- | 'snap-type'
- | 'space-x-reverse'
- | 'space-x'
- | 'space-y-reverse'
- | 'space-y'
- | 'sr'
- | 'start'
- | 'stroke-w'
- | 'stroke'
- | 'table-layout'
- | 'text-alignment'
- | 'text-color'
- | 'text-decoration-color'
- | 'text-decoration-style'
- | 'text-decoration-thickness'
- | 'text-decoration'
- | 'text-overflow'
- | 'text-shadow'
- | 'text-shadow-color'
- | 'text-transform'
- | 'text-wrap'
- | 'top'
- | 'touch-pz'
- | 'touch-x'
- | 'touch-y'
- | 'touch'
- | 'tracking'
- | 'transform-origin'
- | 'transform-style'
- | 'transform'
- | 'transition-behavior'
- | 'transition'
- | 'translate-none'
- | 'translate-x'
- | 'translate-y'
- | 'translate-z'
- | 'translate'
- | 'underline-offset'
- | 'vertical-align'
- | 'visibility'
- | 'w'
- | 'whitespace'
- | 'will-change'
- | 'wrap'
- | 'z'
-
-export type AnyClassGroupIds = string
-export type AnyThemeGroupIds = string
-
-/**
- * type of the tailwind-merge configuration that allows for any possible configuration.
- */
-export type AnyConfig = Config
diff --git a/node_modules/tailwind-merge/src/lib/validators.ts b/node_modules/tailwind-merge/src/lib/validators.ts
deleted file mode 100644
index 54db549..0000000
--- a/node_modules/tailwind-merge/src/lib/validators.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-const arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i
-const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i
-const fractionRegex = /^\d+\/\d+$/
-const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/
-const lengthUnitRegex =
- /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/
-const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/
-// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
-const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/
-const imageRegex =
- /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/
-
-export const isFraction = (value: string) => fractionRegex.test(value)
-
-export const isNumber = (value: string) => !!value && !Number.isNaN(Number(value))
-
-export const isInteger = (value: string) => !!value && Number.isInteger(Number(value))
-
-export const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))
-
-export const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)
-
-export const isAny = () => true
-
-const isLengthOnly = (value: string) =>
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
-
-const isNever = () => false
-
-const isShadow = (value: string) => shadowRegex.test(value)
-
-const isImage = (value: string) => imageRegex.test(value)
-
-export const isAnyNonArbitrary = (value: string) =>
- !isArbitraryValue(value) && !isArbitraryVariable(value)
-
-export const isArbitrarySize = (value: string) => getIsArbitraryValue(value, isLabelSize, isNever)
-
-export const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)
-
-export const isArbitraryLength = (value: string) =>
- getIsArbitraryValue(value, isLabelLength, isLengthOnly)
-
-export const isArbitraryNumber = (value: string) =>
- getIsArbitraryValue(value, isLabelNumber, isNumber)
-
-export const isArbitraryPosition = (value: string) =>
- getIsArbitraryValue(value, isLabelPosition, isNever)
-
-export const isArbitraryImage = (value: string) => getIsArbitraryValue(value, isLabelImage, isImage)
-
-export const isArbitraryShadow = (value: string) =>
- getIsArbitraryValue(value, isLabelShadow, isShadow)
-
-export const isArbitraryVariable = (value: string) => arbitraryVariableRegex.test(value)
-
-export const isArbitraryVariableLength = (value: string) =>
- getIsArbitraryVariable(value, isLabelLength)
-
-export const isArbitraryVariableFamilyName = (value: string) =>
- getIsArbitraryVariable(value, isLabelFamilyName)
-
-export const isArbitraryVariablePosition = (value: string) =>
- getIsArbitraryVariable(value, isLabelPosition)
-
-export const isArbitraryVariableSize = (value: string) => getIsArbitraryVariable(value, isLabelSize)
-
-export const isArbitraryVariableImage = (value: string) =>
- getIsArbitraryVariable(value, isLabelImage)
-
-export const isArbitraryVariableShadow = (value: string) =>
- getIsArbitraryVariable(value, isLabelShadow, true)
-
-// Helpers
-
-const getIsArbitraryValue = (
- value: string,
- testLabel: (label: string) => boolean,
- testValue: (value: string) => boolean,
-) => {
- const result = arbitraryValueRegex.exec(value)
-
- if (result) {
- if (result[1]) {
- return testLabel(result[1])
- }
-
- return testValue(result[2]!)
- }
-
- return false
-}
-
-const getIsArbitraryVariable = (
- value: string,
- testLabel: (label: string) => boolean,
- shouldMatchNoLabel = false,
-) => {
- const result = arbitraryVariableRegex.exec(value)
-
- if (result) {
- if (result[1]) {
- return testLabel(result[1])
- }
- return shouldMatchNoLabel
- }
-
- return false
-}
-
-// Labels
-
-const isLabelPosition = (label: string) => label === 'position' || label === 'percentage'
-
-const isLabelImage = (label: string) => label === 'image' || label === 'url'
-
-const isLabelSize = (label: string) => label === 'length' || label === 'size' || label === 'bg-size'
-
-const isLabelLength = (label: string) => label === 'length'
-
-const isLabelNumber = (label: string) => label === 'number'
-
-const isLabelFamilyName = (label: string) => label === 'family-name'
-
-const isLabelShadow = (label: string) => label === 'shadow'
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 0aad202..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "dev22603",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "dependencies": {
- "tailwind-merge": "^3.3.1"
- }
- },
- "node_modules/tailwind-merge": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz",
- "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
- }
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index e5a07b5..0000000
--- a/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "dependencies": {
- "tailwind-merge": "^3.3.1"
- }
-}
From 9b22dc949bf80354648d6cc26b144f7d6f9d57a8 Mon Sep 17 00:00:00 2001
From: Dev Bachani
Date: Fri, 22 Aug 2025 16:44:31 +0530
Subject: [PATCH 018/103] scroll fixed
---
frontend/src/App.jsx | 1 +
frontend/src/components/Layout.jsx | 2 +-
frontend/src/index.css | 8 ++++++++
frontend/src/pages/Home.jsx | 24 ++++++++++++++++++++++++
4 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx
index 3f16263..7d86287 100644
--- a/frontend/src/App.jsx
+++ b/frontend/src/App.jsx
@@ -6,6 +6,7 @@ import Home from "@/pages/Home";
// import Contact from "@/pages/Contact";
// import GuestBook from "@/pages/GuestBook";
import { Layout } from "@/components/Layout";
+import { AnnouncementBar } from "./components/AnnouncementBar";
export default function App() {
const DARK_BG = "#0d0b0f";
diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx
index f8869c4..f4d3c47 100644
--- a/frontend/src/components/Layout.jsx
+++ b/frontend/src/components/Layout.jsx
@@ -31,7 +31,7 @@ export function Layout({
return (
{
return (
Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
+ Home
);
};
From b64d0cdbedc605f8a2e0ad6c7b3626806807c210 Mon Sep 17 00:00:00 2001
From: Dev Bachani
Date: Fri, 22 Aug 2025 16:55:50 +0530
Subject: [PATCH 019/103] Navbar is made and Go to Definition now works due to
changes in vite.config.js
---
frontend/jsconfig.json | 10 ++++++++
frontend/src/components/Navbar.jsx | 38 ++++++++++++++++++++++++++++++
frontend/src/pages/Home.jsx | 27 ++-------------------
frontend/vite.config.js | 24 ++++++++++++++-----
4 files changed, 68 insertions(+), 31 deletions(-)
create mode 100644 frontend/jsconfig.json
create mode 100644 frontend/src/components/Navbar.jsx
diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json
new file mode 100644
index 0000000..ca585eb
--- /dev/null
+++ b/frontend/jsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ },
+ "jsx": "react-jsx"
+ },
+ "include": ["src"]
+}
diff --git a/frontend/src/components/Navbar.jsx b/frontend/src/components/Navbar.jsx
new file mode 100644
index 0000000..0ff4185
--- /dev/null
+++ b/frontend/src/components/Navbar.jsx
@@ -0,0 +1,38 @@
+import { useState } from "react";
+
+const navItems = [
+ { name: "Home", shortcut: "h" },
+ { name: "Experience", shortcut: "e" },
+ { name: "Events", shortcut: "v" },
+ { name: "Blogs", shortcut: "b" },
+ { name: "Designs", shortcut: "d" },
+ { name: "Contact", shortcut: "c" },
+];
+
+export default function Navbar() {
+ const [active, setActive] = useState("Home");
+
+ return (
+
+ {navItems.map((item) => (
+ setActive(item.name)}
+ className="relative pb-1"
+ >
+
+ {item.name} ({item.shortcut})
+
+ {/* underline indicator */}
+ {active === item.name && (
+
+ )}
+
+ ))}
+
+ );
+}
diff --git a/frontend/src/pages/Home.jsx b/frontend/src/pages/Home.jsx
index c01cb8f..a53d277 100644
--- a/frontend/src/pages/Home.jsx
+++ b/frontend/src/pages/Home.jsx
@@ -1,34 +1,11 @@
import React from 'react';
import { Link } from 'react-router-dom';
+import Navbar from '@/components/Navbar';
const Home = () => {
return (
-
Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
- Home
+
);
};
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index d6ac2da..166094f 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -7,12 +7,24 @@ import path from "path";
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
- alias: {
- "@": path.resolve(__dirname, "./src"),
- "@/components": path.resolve(__dirname, "./src/components"),
- "@/lib": path.resolve(__dirname, "./src/lib"),
- "@/pages": path.resolve(__dirname, "./src/pages"),
- },
+ alias: [
+ {
+ find: '@',
+ replacement: path.resolve(__dirname, 'src')
+ },
+ {
+ find: '@components',
+ replacement: path.resolve(__dirname, 'src/components')
+ },
+ {
+ find: '@lib',
+ replacement: path.resolve(__dirname, 'src/lib')
+ },
+ {
+ find: '@pages',
+ replacement: path.resolve(__dirname, 'src/pages')
+ }
+ ]
},
server: {
host: "127.0.0.1",
From c6d318889bd28e719d5c6a05935b2a2abbbf4d5e Mon Sep 17 00:00:00 2001
From: Dev Bachani
Date: Fri, 22 Aug 2025 17:17:34 +0530
Subject: [PATCH 020/103] navbar perfected
---
frontend/package-lock.json | 49 ++++++++++++++++++++++++++++
frontend/package.json | 1 +
frontend/src/components/Navbar.jsx | 51 +++++++++++++++++++++---------
3 files changed, 86 insertions(+), 15 deletions(-)
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 21a9d6f..a6b933b 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -10,6 +10,7 @@
"dependencies": {
"@tailwindcss/vite": "^4.1.12",
"clsx": "^2.1.1",
+ "framer-motion": "^12.23.12",
"lucide-react": "^0.541.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
@@ -2119,6 +2120,33 @@
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
"dev": true
},
+ "node_modules/framer-motion": {
+ "version": "12.23.12",
+ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.12.tgz",
+ "integrity": "sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-dom": "^12.23.12",
+ "motion-utils": "^12.23.6",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "@emotion/is-prop-valid": "*",
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/is-prop-valid": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -2639,6 +2667,21 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/motion-dom": {
+ "version": "12.23.12",
+ "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.12.tgz",
+ "integrity": "sha512-RcR4fvMCTESQBD/uKQe49D5RUeDOokkGRmz4ceaJKDBgHYtZtntC/s2vLvY38gqGaytinij/yi3hMcWVcEF5Kw==",
+ "license": "MIT",
+ "dependencies": {
+ "motion-utils": "^12.23.6"
+ }
+ },
+ "node_modules/motion-utils": {
+ "version": "12.23.6",
+ "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz",
+ "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==",
+ "license": "MIT"
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -3060,6 +3103,12 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index de8cccb..b87b930 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -12,6 +12,7 @@
"dependencies": {
"@tailwindcss/vite": "^4.1.12",
"clsx": "^2.1.1",
+ "framer-motion": "^12.23.12",
"lucide-react": "^0.541.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
diff --git a/frontend/src/components/Navbar.jsx b/frontend/src/components/Navbar.jsx
index 0ff4185..0ba1f6f 100644
--- a/frontend/src/components/Navbar.jsx
+++ b/frontend/src/components/Navbar.jsx
@@ -1,35 +1,56 @@
-import { useState } from "react";
+import { useState, useEffect } from "react";
+import { motion } from "framer-motion";
const navItems = [
{ name: "Home", shortcut: "h" },
{ name: "Experience", shortcut: "e" },
{ name: "Events", shortcut: "v" },
- { name: "Blogs", shortcut: "b" },
- { name: "Designs", shortcut: "d" },
{ name: "Contact", shortcut: "c" },
+ { name: "Guestbook", shortcut: "g" },
];
export default function Navbar() {
const [active, setActive] = useState("Home");
+ const [hovered, setHovered] = useState(null);
+
+ const current = hovered || active; // underline follows hover, fallback = active
+
+ // ā
Handle keypress shortcuts
+ useEffect(() => {
+ const handleKeyDown = (e) => {
+ const key = e.key.toLowerCase(); // make case-insensitive
+ const foundItem = navItems.find((item) => item.shortcut === key);
+ if (foundItem) {
+ setActive(foundItem.name);
+ }
+ };
+
+ window.addEventListener("keydown", handleKeyDown);
+ return () => window.removeEventListener("keydown", handleKeyDown);
+ }, []);
return (
-
+
{navItems.map((item) => (
setActive(item.name)}
- className="relative pb-1"
+ onMouseEnter={() => setHovered(item.name)}
+ onMouseLeave={() => setHovered(null)}
+ className={`relative pb-1 transition-colors cursor-pointer ${
+ active === item.name ? "text-white font-semibold" : "text-gray-400"
+ }`}
>
-
- {item.name} ({item.shortcut})
-
- {/* underline indicator */}
- {active === item.name && (
-
+ {item.name}{" "}
+ ({item.shortcut})
+
+ {/* shared underline */}
+ {current === item.name && (
+
)}
))}
From 7fb224f383f7849b3d363f07a8fcd392c1337dea Mon Sep 17 00:00:00 2001
From: Dev Bachani
Date: Fri, 22 Aug 2025 17:23:33 +0530
Subject: [PATCH 021/103] navbar jumping stopped
---
frontend/src/components/Navbar.jsx | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/frontend/src/components/Navbar.jsx b/frontend/src/components/Navbar.jsx
index 0ba1f6f..83830e9 100644
--- a/frontend/src/components/Navbar.jsx
+++ b/frontend/src/components/Navbar.jsx
@@ -30,16 +30,17 @@ export default function Navbar() {
}, []);
return (
-
+
{navItems.map((item) => (
setActive(item.name)}
onMouseEnter={() => setHovered(item.name)}
onMouseLeave={() => setHovered(null)}
- className={`relative pb-1 transition-colors cursor-pointer ${
- active === item.name ? "text-white font-semibold" : "text-gray-400"
+ className={`relative pb-1 transition-colors cursor-pointer font-medium ${
+ active === item.name ? "text-white" : "text-gray-400"
}`}
+
>
{item.name}{" "}
({item.shortcut})
From ec47b4bc474ac7914cc88571a159682a0ab9271f Mon Sep 17 00:00:00 2001
From: Dev Bachani
Date: Fri, 22 Aug 2025 17:43:46 +0530
Subject: [PATCH 022/103] centered the page horizontally
---
frontend/src/components/Layout.jsx | 2 +-
frontend/src/pages/Home.jsx | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx
index f4d3c47..1ec4577 100644
--- a/frontend/src/components/Layout.jsx
+++ b/frontend/src/components/Layout.jsx
@@ -31,7 +31,7 @@ export function Layout({
return (