pdyform 2.0.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +98 -74
  2. package/package.json +9 -3
  3. package/packages/core/dist/chunk-6F4PWJZI.js +0 -0
  4. package/packages/core/dist/chunk-KA6QUMVR.js +158 -0
  5. package/packages/core/dist/chunk-REHKL5VH.js +76 -0
  6. package/packages/core/dist/formState.cjs +132 -78
  7. package/packages/core/dist/formState.d.cts +14 -10
  8. package/packages/core/dist/formState.d.ts +14 -10
  9. package/packages/core/dist/formState.js +4 -12
  10. package/packages/core/dist/index.cjs +138 -78
  11. package/packages/core/dist/index.d.cts +4 -3
  12. package/packages/core/dist/index.d.ts +4 -3
  13. package/packages/core/dist/index.js +11 -12
  14. package/packages/core/dist/types.d.cts +17 -5
  15. package/packages/core/dist/types.d.ts +17 -5
  16. package/packages/core/dist/types.js +1 -0
  17. package/packages/core/dist/utils.cjs +78 -19
  18. package/packages/core/dist/utils.d.cts +17 -5
  19. package/packages/core/dist/utils.d.ts +17 -5
  20. package/packages/core/dist/utils.js +7 -1
  21. package/packages/react/dist/index.cjs +1 -461
  22. package/packages/react/dist/index.d.cts +33 -2
  23. package/packages/react/dist/index.d.ts +33 -2
  24. package/packages/react/dist/index.js +1 -411
  25. package/packages/vue/dist/index.d.ts +51 -39
  26. package/packages/vue/dist/index.js +1 -28
  27. package/packages/vue/dist/index.mjs +630 -6527
  28. package/eslint.config.mjs +0 -53
  29. package/example/README.md +0 -36
  30. package/example/react-demo/index.html +0 -12
  31. package/example/react-demo/node_modules/.bin/browserslist +0 -17
  32. package/example/react-demo/node_modules/.bin/tsc +0 -17
  33. package/example/react-demo/node_modules/.bin/tsserver +0 -17
  34. package/example/react-demo/node_modules/.bin/vite +0 -17
  35. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-checkbox.js +0 -300
  36. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-checkbox.js.map +0 -7
  37. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-label.js +0 -194
  38. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-label.js.map +0 -7
  39. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-radio-group.js +0 -530
  40. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-radio-group.js.map +0 -7
  41. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-select.js +0 -4808
  42. package/example/react-demo/node_modules/.vite/deps/@radix-ui_react-select.js.map +0 -7
  43. package/example/react-demo/node_modules/.vite/deps/_metadata.json +0 -115
  44. package/example/react-demo/node_modules/.vite/deps/chunk-3D5PZ6F6.js +0 -49
  45. package/example/react-demo/node_modules/.vite/deps/chunk-3D5PZ6F6.js.map +0 -7
  46. package/example/react-demo/node_modules/.vite/deps/chunk-5Q2RBQLA.js +0 -127
  47. package/example/react-demo/node_modules/.vite/deps/chunk-5Q2RBQLA.js.map +0 -7
  48. package/example/react-demo/node_modules/.vite/deps/chunk-G3PMV62Z.js +0 -36
  49. package/example/react-demo/node_modules/.vite/deps/chunk-G3PMV62Z.js.map +0 -7
  50. package/example/react-demo/node_modules/.vite/deps/chunk-GX7YZ5KV.js +0 -370
  51. package/example/react-demo/node_modules/.vite/deps/chunk-GX7YZ5KV.js.map +0 -7
  52. package/example/react-demo/node_modules/.vite/deps/chunk-PUFJGYAC.js +0 -928
  53. package/example/react-demo/node_modules/.vite/deps/chunk-PUFJGYAC.js.map +0 -7
  54. package/example/react-demo/node_modules/.vite/deps/chunk-SIU35MPB.js +0 -21
  55. package/example/react-demo/node_modules/.vite/deps/chunk-SIU35MPB.js.map +0 -7
  56. package/example/react-demo/node_modules/.vite/deps/chunk-TOMGVNQP.js +0 -1906
  57. package/example/react-demo/node_modules/.vite/deps/chunk-TOMGVNQP.js.map +0 -7
  58. package/example/react-demo/node_modules/.vite/deps/chunk-YYN6DZAU.js +0 -21628
  59. package/example/react-demo/node_modules/.vite/deps/chunk-YYN6DZAU.js.map +0 -7
  60. package/example/react-demo/node_modules/.vite/deps/chunk-ZE5VSJFE.js +0 -144
  61. package/example/react-demo/node_modules/.vite/deps/chunk-ZE5VSJFE.js.map +0 -7
  62. package/example/react-demo/node_modules/.vite/deps/class-variance-authority.js +0 -51
  63. package/example/react-demo/node_modules/.vite/deps/class-variance-authority.js.map +0 -7
  64. package/example/react-demo/node_modules/.vite/deps/clsx.js +0 -10
  65. package/example/react-demo/node_modules/.vite/deps/clsx.js.map +0 -7
  66. package/example/react-demo/node_modules/.vite/deps/lucide-react.js +0 -29725
  67. package/example/react-demo/node_modules/.vite/deps/lucide-react.js.map +0 -7
  68. package/example/react-demo/node_modules/.vite/deps/package.json +0 -3
  69. package/example/react-demo/node_modules/.vite/deps/react-dom.js +0 -7
  70. package/example/react-demo/node_modules/.vite/deps/react-dom.js.map +0 -7
  71. package/example/react-demo/node_modules/.vite/deps/react-dom_client.js +0 -39
  72. package/example/react-demo/node_modules/.vite/deps/react-dom_client.js.map +0 -7
  73. package/example/react-demo/node_modules/.vite/deps/react.js +0 -6
  74. package/example/react-demo/node_modules/.vite/deps/react.js.map +0 -7
  75. package/example/react-demo/node_modules/.vite/deps/react_jsx-dev-runtime.js +0 -913
  76. package/example/react-demo/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +0 -7
  77. package/example/react-demo/node_modules/.vite/deps/react_jsx-runtime.js +0 -7
  78. package/example/react-demo/node_modules/.vite/deps/react_jsx-runtime.js.map +0 -7
  79. package/example/react-demo/node_modules/.vite/deps/tailwind-merge.js +0 -2534
  80. package/example/react-demo/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
  81. package/example/react-demo/package.json +0 -23
  82. package/example/react-demo/postcss.config.mjs +0 -6
  83. package/example/react-demo/src/App.tsx +0 -64
  84. package/example/react-demo/src/main.tsx +0 -10
  85. package/example/react-demo/src/styles.css +0 -102
  86. package/example/react-demo/tailwind.config.mjs +0 -50
  87. package/example/react-demo/tsconfig.json +0 -16
  88. package/example/react-demo/vite.config.ts +0 -14
  89. package/example/shared/defaultSchema.ts +0 -68
  90. package/example/vue-demo/index.html +0 -12
  91. package/example/vue-demo/node_modules/.bin/tsc +0 -17
  92. package/example/vue-demo/node_modules/.bin/tsserver +0 -17
  93. package/example/vue-demo/node_modules/.bin/vite +0 -17
  94. package/example/vue-demo/node_modules/.vite/deps/_metadata.json +0 -46
  95. package/example/vue-demo/node_modules/.vite/deps/chunk-PZ5AY32C.js +0 -10
  96. package/example/vue-demo/node_modules/.vite/deps/chunk-PZ5AY32C.js.map +0 -7
  97. package/example/vue-demo/node_modules/.vite/deps/chunk-TCXBSQ4M.js +0 -12877
  98. package/example/vue-demo/node_modules/.vite/deps/chunk-TCXBSQ4M.js.map +0 -7
  99. package/example/vue-demo/node_modules/.vite/deps/clsx.js +0 -22
  100. package/example/vue-demo/node_modules/.vite/deps/clsx.js.map +0 -7
  101. package/example/vue-demo/node_modules/.vite/deps/lucide-vue-next.js +0 -29720
  102. package/example/vue-demo/node_modules/.vite/deps/lucide-vue-next.js.map +0 -7
  103. package/example/vue-demo/node_modules/.vite/deps/package.json +0 -3
  104. package/example/vue-demo/node_modules/.vite/deps/radix-vue.js +0 -24321
  105. package/example/vue-demo/node_modules/.vite/deps/radix-vue.js.map +0 -7
  106. package/example/vue-demo/node_modules/.vite/deps/tailwind-merge.js +0 -2534
  107. package/example/vue-demo/node_modules/.vite/deps/tailwind-merge.js.map +0 -7
  108. package/example/vue-demo/node_modules/.vite/deps/vue.js +0 -348
  109. package/example/vue-demo/node_modules/.vite/deps/vue.js.map +0 -7
  110. package/example/vue-demo/package.json +0 -20
  111. package/example/vue-demo/postcss.config.mjs +0 -6
  112. package/example/vue-demo/src/App.vue +0 -61
  113. package/example/vue-demo/src/env.d.ts +0 -1
  114. package/example/vue-demo/src/main.ts +0 -5
  115. package/example/vue-demo/src/style.css +0 -102
  116. package/example/vue-demo/tailwind.config.mjs +0 -50
  117. package/example/vue-demo/tsconfig.json +0 -15
  118. package/example/vue-demo/vite.config.ts +0 -14
  119. package/packages/core/dist/chunk-TP3IHKWV.js +0 -69
  120. package/packages/core/dist/chunk-WEDHXOHH.js +0 -102
  121. package/packages/core/node_modules/.bin/api-extractor +0 -17
  122. package/packages/core/node_modules/.bin/esbuild +0 -14
  123. package/packages/core/node_modules/.bin/jiti +0 -17
  124. package/packages/core/node_modules/.bin/tsc +0 -17
  125. package/packages/core/node_modules/.bin/tsserver +0 -17
  126. package/packages/core/node_modules/.bin/tsup +0 -17
  127. package/packages/core/node_modules/.bin/tsup-node +0 -17
  128. package/packages/core/node_modules/.bin/vitest +0 -17
  129. package/packages/core/node_modules/.vite/vitest/results.json +0 -1
  130. package/packages/core/package.json +0 -37
  131. package/packages/core/src/formState.ts +0 -79
  132. package/packages/core/src/index.ts +0 -3
  133. package/packages/core/src/types.ts +0 -42
  134. package/packages/core/src/utils.ts +0 -104
  135. package/packages/core/test/formState.test.ts +0 -71
  136. package/packages/core/test/utils.test.ts +0 -178
  137. package/packages/core/tsconfig.json +0 -15
  138. package/packages/core/tsup.config.ts +0 -9
  139. package/packages/react/node_modules/.bin/api-extractor +0 -17
  140. package/packages/react/node_modules/.bin/browserslist +0 -17
  141. package/packages/react/node_modules/.bin/esbuild +0 -14
  142. package/packages/react/node_modules/.bin/jiti +0 -17
  143. package/packages/react/node_modules/.bin/tsc +0 -17
  144. package/packages/react/node_modules/.bin/tsserver +0 -17
  145. package/packages/react/node_modules/.bin/tsup +0 -17
  146. package/packages/react/node_modules/.bin/tsup-node +0 -17
  147. package/packages/react/node_modules/.bin/vite +0 -17
  148. package/packages/react/node_modules/.bin/vitest +0 -17
  149. package/packages/react/node_modules/.vite/vitest/results.json +0 -1
  150. package/packages/react/package.json +0 -57
  151. package/packages/react/postcss.config.mjs +0 -6
  152. package/packages/react/src/DynamicForm.tsx +0 -69
  153. package/packages/react/src/FormFieldRenderer.tsx +0 -50
  154. package/packages/react/src/components/Checkbox.tsx +0 -28
  155. package/packages/react/src/components/CheckboxRenderer.tsx +0 -37
  156. package/packages/react/src/components/Input.tsx +0 -24
  157. package/packages/react/src/components/InputRenderer.tsx +0 -25
  158. package/packages/react/src/components/Label.tsx +0 -24
  159. package/packages/react/src/components/RadioGroup.tsx +0 -42
  160. package/packages/react/src/components/RadioRenderer.tsx +0 -29
  161. package/packages/react/src/components/Select.tsx +0 -93
  162. package/packages/react/src/components/SelectRenderer.tsx +0 -27
  163. package/packages/react/src/components/Textarea.tsx +0 -23
  164. package/packages/react/src/components/TextareaRenderer.tsx +0 -17
  165. package/packages/react/src/components/index.ts +0 -55
  166. package/packages/react/src/components/types.ts +0 -17
  167. package/packages/react/src/index.tsx +0 -3
  168. package/packages/react/src/utils.ts +0 -7
  169. package/packages/react/tailwind.config.mjs +0 -10
  170. package/packages/react/test/DynamicForm.test.tsx +0 -25
  171. package/packages/react/test/FormFieldRenderer.test.tsx +0 -127
  172. package/packages/react/tsconfig.json +0 -15
  173. package/packages/react/vitest.config.ts +0 -16
  174. package/packages/vue/node_modules/.bin/rollup +0 -17
  175. package/packages/vue/node_modules/.bin/tsc +0 -17
  176. package/packages/vue/node_modules/.bin/tsserver +0 -17
  177. package/packages/vue/node_modules/.bin/vite +0 -17
  178. package/packages/vue/node_modules/.bin/vitest +0 -17
  179. package/packages/vue/node_modules/.bin/vue-tsc +0 -17
  180. package/packages/vue/node_modules/.vite/vitest/results.json +0 -1
  181. package/packages/vue/node_modules/.vue-global-types/vue_3.5_0_0_0.d.ts +0 -118
  182. package/packages/vue/node_modules/.vue-global-types/vue_3.5_false.d.ts +0 -128
  183. package/packages/vue/package.json +0 -53
  184. package/packages/vue/postcss.config.mjs +0 -6
  185. package/packages/vue/src/DynamicForm.vue +0 -63
  186. package/packages/vue/src/FormFieldRenderer.vue +0 -70
  187. package/packages/vue/src/components/Checkbox.vue +0 -28
  188. package/packages/vue/src/components/CheckboxRenderer.vue +0 -35
  189. package/packages/vue/src/components/Input.vue +0 -21
  190. package/packages/vue/src/components/InputRenderer.vue +0 -24
  191. package/packages/vue/src/components/Label.vue +0 -21
  192. package/packages/vue/src/components/RadioGroup.vue +0 -30
  193. package/packages/vue/src/components/RadioGroupItem.vue +0 -26
  194. package/packages/vue/src/components/RadioRenderer.vue +0 -24
  195. package/packages/vue/src/components/Select.vue +0 -40
  196. package/packages/vue/src/components/SelectContent.vue +0 -38
  197. package/packages/vue/src/components/SelectItem.vue +0 -43
  198. package/packages/vue/src/components/SelectRenderer.vue +0 -30
  199. package/packages/vue/src/components/SelectTrigger.vue +0 -27
  200. package/packages/vue/src/components/Textarea.vue +0 -19
  201. package/packages/vue/src/components/TextareaRenderer.vue +0 -18
  202. package/packages/vue/src/components/index.ts +0 -24
  203. package/packages/vue/src/env.d.ts +0 -7
  204. package/packages/vue/src/fieldComponentMap.ts +0 -34
  205. package/packages/vue/src/index.ts +0 -4
  206. package/packages/vue/src/utils.ts +0 -6
  207. package/packages/vue/tailwind.config.mjs +0 -10
  208. package/packages/vue/test/DynamicForm.test.ts +0 -19
  209. package/packages/vue/test/FormFieldRenderer.test.ts +0 -133
  210. package/packages/vue/tsconfig.json +0 -16
  211. package/packages/vue/vite.config.ts +0 -29
  212. package/packages/vue/vitest.config.ts +0 -16
  213. package/pnpm-workspace.yaml +0 -4
  214. package/tsconfig.json +0 -21
  215. package/turbo.json +0 -25
@@ -1,2534 +0,0 @@
1
- import "./chunk-G3PMV62Z.js";
2
-
3
- // ../../node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs
4
- var CLASS_PART_SEPARATOR = "-";
5
- var createClassGroupUtils = (config) => {
6
- const classMap = createClassMap(config);
7
- const {
8
- conflictingClassGroups,
9
- conflictingClassGroupModifiers
10
- } = config;
11
- const getClassGroupId = (className) => {
12
- const classParts = className.split(CLASS_PART_SEPARATOR);
13
- if (classParts[0] === "" && classParts.length !== 1) {
14
- classParts.shift();
15
- }
16
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
17
- };
18
- const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
19
- const conflicts = conflictingClassGroups[classGroupId] || [];
20
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
21
- return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
22
- }
23
- return conflicts;
24
- };
25
- return {
26
- getClassGroupId,
27
- getConflictingClassGroupIds
28
- };
29
- };
30
- var getGroupRecursive = (classParts, classPartObject) => {
31
- var _a;
32
- if (classParts.length === 0) {
33
- return classPartObject.classGroupId;
34
- }
35
- const currentClassPart = classParts[0];
36
- const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
37
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
38
- if (classGroupFromNextClassPart) {
39
- return classGroupFromNextClassPart;
40
- }
41
- if (classPartObject.validators.length === 0) {
42
- return void 0;
43
- }
44
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
45
- return (_a = classPartObject.validators.find(({
46
- validator
47
- }) => validator(classRest))) == null ? void 0 : _a.classGroupId;
48
- };
49
- var arbitraryPropertyRegex = /^\[(.+)\]$/;
50
- var getGroupIdForArbitraryProperty = (className) => {
51
- if (arbitraryPropertyRegex.test(className)) {
52
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
53
- const property = arbitraryPropertyClassName == null ? void 0 : arbitraryPropertyClassName.substring(0, arbitraryPropertyClassName.indexOf(":"));
54
- if (property) {
55
- return "arbitrary.." + property;
56
- }
57
- }
58
- };
59
- var createClassMap = (config) => {
60
- const {
61
- theme,
62
- prefix
63
- } = config;
64
- const classMap = {
65
- nextPart: /* @__PURE__ */ new Map(),
66
- validators: []
67
- };
68
- const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
69
- prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
70
- processClassesRecursively(classGroup, classMap, classGroupId, theme);
71
- });
72
- return classMap;
73
- };
74
- var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
75
- classGroup.forEach((classDefinition) => {
76
- if (typeof classDefinition === "string") {
77
- const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
78
- classPartObjectToEdit.classGroupId = classGroupId;
79
- return;
80
- }
81
- if (typeof classDefinition === "function") {
82
- if (isThemeGetter(classDefinition)) {
83
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
84
- return;
85
- }
86
- classPartObject.validators.push({
87
- validator: classDefinition,
88
- classGroupId
89
- });
90
- return;
91
- }
92
- Object.entries(classDefinition).forEach(([key, classGroup2]) => {
93
- processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
94
- });
95
- });
96
- };
97
- var getPart = (classPartObject, path) => {
98
- let currentClassPartObject = classPartObject;
99
- path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
100
- if (!currentClassPartObject.nextPart.has(pathPart)) {
101
- currentClassPartObject.nextPart.set(pathPart, {
102
- nextPart: /* @__PURE__ */ new Map(),
103
- validators: []
104
- });
105
- }
106
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
107
- });
108
- return currentClassPartObject;
109
- };
110
- var isThemeGetter = (func) => func.isThemeGetter;
111
- var getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {
112
- if (!prefix) {
113
- return classGroupEntries;
114
- }
115
- return classGroupEntries.map(([classGroupId, classGroup]) => {
116
- const prefixedClassGroup = classGroup.map((classDefinition) => {
117
- if (typeof classDefinition === "string") {
118
- return prefix + classDefinition;
119
- }
120
- if (typeof classDefinition === "object") {
121
- return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
122
- }
123
- return classDefinition;
124
- });
125
- return [classGroupId, prefixedClassGroup];
126
- });
127
- };
128
- var createLruCache = (maxCacheSize) => {
129
- if (maxCacheSize < 1) {
130
- return {
131
- get: () => void 0,
132
- set: () => {
133
- }
134
- };
135
- }
136
- let cacheSize = 0;
137
- let cache = /* @__PURE__ */ new Map();
138
- let previousCache = /* @__PURE__ */ new Map();
139
- const update = (key, value) => {
140
- cache.set(key, value);
141
- cacheSize++;
142
- if (cacheSize > maxCacheSize) {
143
- cacheSize = 0;
144
- previousCache = cache;
145
- cache = /* @__PURE__ */ new Map();
146
- }
147
- };
148
- return {
149
- get(key) {
150
- let value = cache.get(key);
151
- if (value !== void 0) {
152
- return value;
153
- }
154
- if ((value = previousCache.get(key)) !== void 0) {
155
- update(key, value);
156
- return value;
157
- }
158
- },
159
- set(key, value) {
160
- if (cache.has(key)) {
161
- cache.set(key, value);
162
- } else {
163
- update(key, value);
164
- }
165
- }
166
- };
167
- };
168
- var IMPORTANT_MODIFIER = "!";
169
- var createParseClassName = (config) => {
170
- const {
171
- separator,
172
- experimentalParseClassName
173
- } = config;
174
- const isSeparatorSingleCharacter = separator.length === 1;
175
- const firstSeparatorCharacter = separator[0];
176
- const separatorLength = separator.length;
177
- const parseClassName = (className) => {
178
- const modifiers = [];
179
- let bracketDepth = 0;
180
- let modifierStart = 0;
181
- let postfixModifierPosition;
182
- for (let index = 0; index < className.length; index++) {
183
- let currentCharacter = className[index];
184
- if (bracketDepth === 0) {
185
- if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
186
- modifiers.push(className.slice(modifierStart, index));
187
- modifierStart = index + separatorLength;
188
- continue;
189
- }
190
- if (currentCharacter === "/") {
191
- postfixModifierPosition = index;
192
- continue;
193
- }
194
- }
195
- if (currentCharacter === "[") {
196
- bracketDepth++;
197
- } else if (currentCharacter === "]") {
198
- bracketDepth--;
199
- }
200
- }
201
- const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
202
- const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
203
- const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
204
- const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
205
- return {
206
- modifiers,
207
- hasImportantModifier,
208
- baseClassName,
209
- maybePostfixModifierPosition
210
- };
211
- };
212
- if (experimentalParseClassName) {
213
- return (className) => experimentalParseClassName({
214
- className,
215
- parseClassName
216
- });
217
- }
218
- return parseClassName;
219
- };
220
- var sortModifiers = (modifiers) => {
221
- if (modifiers.length <= 1) {
222
- return modifiers;
223
- }
224
- const sortedModifiers = [];
225
- let unsortedModifiers = [];
226
- modifiers.forEach((modifier) => {
227
- const isArbitraryVariant = modifier[0] === "[";
228
- if (isArbitraryVariant) {
229
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
230
- unsortedModifiers = [];
231
- } else {
232
- unsortedModifiers.push(modifier);
233
- }
234
- });
235
- sortedModifiers.push(...unsortedModifiers.sort());
236
- return sortedModifiers;
237
- };
238
- var createConfigUtils = (config) => ({
239
- cache: createLruCache(config.cacheSize),
240
- parseClassName: createParseClassName(config),
241
- ...createClassGroupUtils(config)
242
- });
243
- var SPLIT_CLASSES_REGEX = /\s+/;
244
- var mergeClassList = (classList, configUtils) => {
245
- const {
246
- parseClassName,
247
- getClassGroupId,
248
- getConflictingClassGroupIds
249
- } = configUtils;
250
- const classGroupsInConflict = [];
251
- const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
252
- let result = "";
253
- for (let index = classNames.length - 1; index >= 0; index -= 1) {
254
- const originalClassName = classNames[index];
255
- const {
256
- modifiers,
257
- hasImportantModifier,
258
- baseClassName,
259
- maybePostfixModifierPosition
260
- } = parseClassName(originalClassName);
261
- let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
262
- let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
263
- if (!classGroupId) {
264
- if (!hasPostfixModifier) {
265
- result = originalClassName + (result.length > 0 ? " " + result : result);
266
- continue;
267
- }
268
- classGroupId = getClassGroupId(baseClassName);
269
- if (!classGroupId) {
270
- result = originalClassName + (result.length > 0 ? " " + result : result);
271
- continue;
272
- }
273
- hasPostfixModifier = false;
274
- }
275
- const variantModifier = sortModifiers(modifiers).join(":");
276
- const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
277
- const classId = modifierId + classGroupId;
278
- if (classGroupsInConflict.includes(classId)) {
279
- continue;
280
- }
281
- classGroupsInConflict.push(classId);
282
- const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
283
- for (let i = 0; i < conflictGroups.length; ++i) {
284
- const group = conflictGroups[i];
285
- classGroupsInConflict.push(modifierId + group);
286
- }
287
- result = originalClassName + (result.length > 0 ? " " + result : result);
288
- }
289
- return result;
290
- };
291
- function twJoin() {
292
- let index = 0;
293
- let argument;
294
- let resolvedValue;
295
- let string = "";
296
- while (index < arguments.length) {
297
- if (argument = arguments[index++]) {
298
- if (resolvedValue = toValue(argument)) {
299
- string && (string += " ");
300
- string += resolvedValue;
301
- }
302
- }
303
- }
304
- return string;
305
- }
306
- var toValue = (mix) => {
307
- if (typeof mix === "string") {
308
- return mix;
309
- }
310
- let resolvedValue;
311
- let string = "";
312
- for (let k = 0; k < mix.length; k++) {
313
- if (mix[k]) {
314
- if (resolvedValue = toValue(mix[k])) {
315
- string && (string += " ");
316
- string += resolvedValue;
317
- }
318
- }
319
- }
320
- return string;
321
- };
322
- function createTailwindMerge(createConfigFirst, ...createConfigRest) {
323
- let configUtils;
324
- let cacheGet;
325
- let cacheSet;
326
- let functionToCall = initTailwindMerge;
327
- function initTailwindMerge(classList) {
328
- const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
329
- configUtils = createConfigUtils(config);
330
- cacheGet = configUtils.cache.get;
331
- cacheSet = configUtils.cache.set;
332
- functionToCall = tailwindMerge;
333
- return tailwindMerge(classList);
334
- }
335
- function tailwindMerge(classList) {
336
- const cachedResult = cacheGet(classList);
337
- if (cachedResult) {
338
- return cachedResult;
339
- }
340
- const result = mergeClassList(classList, configUtils);
341
- cacheSet(classList, result);
342
- return result;
343
- }
344
- return function callTailwindMerge() {
345
- return functionToCall(twJoin.apply(null, arguments));
346
- };
347
- }
348
- var fromTheme = (key) => {
349
- const themeGetter = (theme) => theme[key] || [];
350
- themeGetter.isThemeGetter = true;
351
- return themeGetter;
352
- };
353
- var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
354
- var fractionRegex = /^\d+\/\d+$/;
355
- var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
356
- var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
357
- 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$/;
358
- var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
359
- var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
360
- var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
361
- var isLength = (value) => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
362
- var isArbitraryLength = (value) => getIsArbitraryValue(value, "length", isLengthOnly);
363
- var isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
364
- var isArbitraryNumber = (value) => getIsArbitraryValue(value, "number", isNumber);
365
- var isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
366
- var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
367
- var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
368
- var isTshirtSize = (value) => tshirtUnitRegex.test(value);
369
- var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
370
- var isArbitrarySize = (value) => getIsArbitraryValue(value, sizeLabels, isNever);
371
- var isArbitraryPosition = (value) => getIsArbitraryValue(value, "position", isNever);
372
- var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
373
- var isArbitraryImage = (value) => getIsArbitraryValue(value, imageLabels, isImage);
374
- var isArbitraryShadow = (value) => getIsArbitraryValue(value, "", isShadow);
375
- var isAny = () => true;
376
- var getIsArbitraryValue = (value, label, testValue) => {
377
- const result = arbitraryValueRegex.exec(value);
378
- if (result) {
379
- if (result[1]) {
380
- return typeof label === "string" ? result[1] === label : label.has(result[1]);
381
- }
382
- return testValue(result[2]);
383
- }
384
- return false;
385
- };
386
- var isLengthOnly = (value) => (
387
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
388
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
389
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
390
- lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
391
- );
392
- var isNever = () => false;
393
- var isShadow = (value) => shadowRegex.test(value);
394
- var isImage = (value) => imageRegex.test(value);
395
- var validators = Object.defineProperty({
396
- __proto__: null,
397
- isAny,
398
- isArbitraryImage,
399
- isArbitraryLength,
400
- isArbitraryNumber,
401
- isArbitraryPosition,
402
- isArbitraryShadow,
403
- isArbitrarySize,
404
- isArbitraryValue,
405
- isInteger,
406
- isLength,
407
- isNumber,
408
- isPercent,
409
- isTshirtSize
410
- }, Symbol.toStringTag, {
411
- value: "Module"
412
- });
413
- var getDefaultConfig = () => {
414
- const colors = fromTheme("colors");
415
- const spacing = fromTheme("spacing");
416
- const blur = fromTheme("blur");
417
- const brightness = fromTheme("brightness");
418
- const borderColor = fromTheme("borderColor");
419
- const borderRadius = fromTheme("borderRadius");
420
- const borderSpacing = fromTheme("borderSpacing");
421
- const borderWidth = fromTheme("borderWidth");
422
- const contrast = fromTheme("contrast");
423
- const grayscale = fromTheme("grayscale");
424
- const hueRotate = fromTheme("hueRotate");
425
- const invert = fromTheme("invert");
426
- const gap = fromTheme("gap");
427
- const gradientColorStops = fromTheme("gradientColorStops");
428
- const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
429
- const inset = fromTheme("inset");
430
- const margin = fromTheme("margin");
431
- const opacity = fromTheme("opacity");
432
- const padding = fromTheme("padding");
433
- const saturate = fromTheme("saturate");
434
- const scale = fromTheme("scale");
435
- const sepia = fromTheme("sepia");
436
- const skew = fromTheme("skew");
437
- const space = fromTheme("space");
438
- const translate = fromTheme("translate");
439
- const getOverscroll = () => ["auto", "contain", "none"];
440
- const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
441
- const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
442
- const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
443
- const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
444
- const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
445
- const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
446
- const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
447
- const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
448
- const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
449
- const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
450
- const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
451
- const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
452
- return {
453
- cacheSize: 500,
454
- separator: ":",
455
- theme: {
456
- colors: [isAny],
457
- spacing: [isLength, isArbitraryLength],
458
- blur: ["none", "", isTshirtSize, isArbitraryValue],
459
- brightness: getNumberAndArbitrary(),
460
- borderColor: [colors],
461
- borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
462
- borderSpacing: getSpacingWithArbitrary(),
463
- borderWidth: getLengthWithEmptyAndArbitrary(),
464
- contrast: getNumberAndArbitrary(),
465
- grayscale: getZeroAndEmpty(),
466
- hueRotate: getNumberAndArbitrary(),
467
- invert: getZeroAndEmpty(),
468
- gap: getSpacingWithArbitrary(),
469
- gradientColorStops: [colors],
470
- gradientColorStopPositions: [isPercent, isArbitraryLength],
471
- inset: getSpacingWithAutoAndArbitrary(),
472
- margin: getSpacingWithAutoAndArbitrary(),
473
- opacity: getNumberAndArbitrary(),
474
- padding: getSpacingWithArbitrary(),
475
- saturate: getNumberAndArbitrary(),
476
- scale: getNumberAndArbitrary(),
477
- sepia: getZeroAndEmpty(),
478
- skew: getNumberAndArbitrary(),
479
- space: getSpacingWithArbitrary(),
480
- translate: getSpacingWithArbitrary()
481
- },
482
- classGroups: {
483
- // Layout
484
- /**
485
- * Aspect Ratio
486
- * @see https://tailwindcss.com/docs/aspect-ratio
487
- */
488
- aspect: [{
489
- aspect: ["auto", "square", "video", isArbitraryValue]
490
- }],
491
- /**
492
- * Container
493
- * @see https://tailwindcss.com/docs/container
494
- */
495
- container: ["container"],
496
- /**
497
- * Columns
498
- * @see https://tailwindcss.com/docs/columns
499
- */
500
- columns: [{
501
- columns: [isTshirtSize]
502
- }],
503
- /**
504
- * Break After
505
- * @see https://tailwindcss.com/docs/break-after
506
- */
507
- "break-after": [{
508
- "break-after": getBreaks()
509
- }],
510
- /**
511
- * Break Before
512
- * @see https://tailwindcss.com/docs/break-before
513
- */
514
- "break-before": [{
515
- "break-before": getBreaks()
516
- }],
517
- /**
518
- * Break Inside
519
- * @see https://tailwindcss.com/docs/break-inside
520
- */
521
- "break-inside": [{
522
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
523
- }],
524
- /**
525
- * Box Decoration Break
526
- * @see https://tailwindcss.com/docs/box-decoration-break
527
- */
528
- "box-decoration": [{
529
- "box-decoration": ["slice", "clone"]
530
- }],
531
- /**
532
- * Box Sizing
533
- * @see https://tailwindcss.com/docs/box-sizing
534
- */
535
- box: [{
536
- box: ["border", "content"]
537
- }],
538
- /**
539
- * Display
540
- * @see https://tailwindcss.com/docs/display
541
- */
542
- 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"],
543
- /**
544
- * Floats
545
- * @see https://tailwindcss.com/docs/float
546
- */
547
- float: [{
548
- float: ["right", "left", "none", "start", "end"]
549
- }],
550
- /**
551
- * Clear
552
- * @see https://tailwindcss.com/docs/clear
553
- */
554
- clear: [{
555
- clear: ["left", "right", "both", "none", "start", "end"]
556
- }],
557
- /**
558
- * Isolation
559
- * @see https://tailwindcss.com/docs/isolation
560
- */
561
- isolation: ["isolate", "isolation-auto"],
562
- /**
563
- * Object Fit
564
- * @see https://tailwindcss.com/docs/object-fit
565
- */
566
- "object-fit": [{
567
- object: ["contain", "cover", "fill", "none", "scale-down"]
568
- }],
569
- /**
570
- * Object Position
571
- * @see https://tailwindcss.com/docs/object-position
572
- */
573
- "object-position": [{
574
- object: [...getPositions(), isArbitraryValue]
575
- }],
576
- /**
577
- * Overflow
578
- * @see https://tailwindcss.com/docs/overflow
579
- */
580
- overflow: [{
581
- overflow: getOverflow()
582
- }],
583
- /**
584
- * Overflow X
585
- * @see https://tailwindcss.com/docs/overflow
586
- */
587
- "overflow-x": [{
588
- "overflow-x": getOverflow()
589
- }],
590
- /**
591
- * Overflow Y
592
- * @see https://tailwindcss.com/docs/overflow
593
- */
594
- "overflow-y": [{
595
- "overflow-y": getOverflow()
596
- }],
597
- /**
598
- * Overscroll Behavior
599
- * @see https://tailwindcss.com/docs/overscroll-behavior
600
- */
601
- overscroll: [{
602
- overscroll: getOverscroll()
603
- }],
604
- /**
605
- * Overscroll Behavior X
606
- * @see https://tailwindcss.com/docs/overscroll-behavior
607
- */
608
- "overscroll-x": [{
609
- "overscroll-x": getOverscroll()
610
- }],
611
- /**
612
- * Overscroll Behavior Y
613
- * @see https://tailwindcss.com/docs/overscroll-behavior
614
- */
615
- "overscroll-y": [{
616
- "overscroll-y": getOverscroll()
617
- }],
618
- /**
619
- * Position
620
- * @see https://tailwindcss.com/docs/position
621
- */
622
- position: ["static", "fixed", "absolute", "relative", "sticky"],
623
- /**
624
- * Top / Right / Bottom / Left
625
- * @see https://tailwindcss.com/docs/top-right-bottom-left
626
- */
627
- inset: [{
628
- inset: [inset]
629
- }],
630
- /**
631
- * Right / Left
632
- * @see https://tailwindcss.com/docs/top-right-bottom-left
633
- */
634
- "inset-x": [{
635
- "inset-x": [inset]
636
- }],
637
- /**
638
- * Top / Bottom
639
- * @see https://tailwindcss.com/docs/top-right-bottom-left
640
- */
641
- "inset-y": [{
642
- "inset-y": [inset]
643
- }],
644
- /**
645
- * Start
646
- * @see https://tailwindcss.com/docs/top-right-bottom-left
647
- */
648
- start: [{
649
- start: [inset]
650
- }],
651
- /**
652
- * End
653
- * @see https://tailwindcss.com/docs/top-right-bottom-left
654
- */
655
- end: [{
656
- end: [inset]
657
- }],
658
- /**
659
- * Top
660
- * @see https://tailwindcss.com/docs/top-right-bottom-left
661
- */
662
- top: [{
663
- top: [inset]
664
- }],
665
- /**
666
- * Right
667
- * @see https://tailwindcss.com/docs/top-right-bottom-left
668
- */
669
- right: [{
670
- right: [inset]
671
- }],
672
- /**
673
- * Bottom
674
- * @see https://tailwindcss.com/docs/top-right-bottom-left
675
- */
676
- bottom: [{
677
- bottom: [inset]
678
- }],
679
- /**
680
- * Left
681
- * @see https://tailwindcss.com/docs/top-right-bottom-left
682
- */
683
- left: [{
684
- left: [inset]
685
- }],
686
- /**
687
- * Visibility
688
- * @see https://tailwindcss.com/docs/visibility
689
- */
690
- visibility: ["visible", "invisible", "collapse"],
691
- /**
692
- * Z-Index
693
- * @see https://tailwindcss.com/docs/z-index
694
- */
695
- z: [{
696
- z: ["auto", isInteger, isArbitraryValue]
697
- }],
698
- // Flexbox and Grid
699
- /**
700
- * Flex Basis
701
- * @see https://tailwindcss.com/docs/flex-basis
702
- */
703
- basis: [{
704
- basis: getSpacingWithAutoAndArbitrary()
705
- }],
706
- /**
707
- * Flex Direction
708
- * @see https://tailwindcss.com/docs/flex-direction
709
- */
710
- "flex-direction": [{
711
- flex: ["row", "row-reverse", "col", "col-reverse"]
712
- }],
713
- /**
714
- * Flex Wrap
715
- * @see https://tailwindcss.com/docs/flex-wrap
716
- */
717
- "flex-wrap": [{
718
- flex: ["wrap", "wrap-reverse", "nowrap"]
719
- }],
720
- /**
721
- * Flex
722
- * @see https://tailwindcss.com/docs/flex
723
- */
724
- flex: [{
725
- flex: ["1", "auto", "initial", "none", isArbitraryValue]
726
- }],
727
- /**
728
- * Flex Grow
729
- * @see https://tailwindcss.com/docs/flex-grow
730
- */
731
- grow: [{
732
- grow: getZeroAndEmpty()
733
- }],
734
- /**
735
- * Flex Shrink
736
- * @see https://tailwindcss.com/docs/flex-shrink
737
- */
738
- shrink: [{
739
- shrink: getZeroAndEmpty()
740
- }],
741
- /**
742
- * Order
743
- * @see https://tailwindcss.com/docs/order
744
- */
745
- order: [{
746
- order: ["first", "last", "none", isInteger, isArbitraryValue]
747
- }],
748
- /**
749
- * Grid Template Columns
750
- * @see https://tailwindcss.com/docs/grid-template-columns
751
- */
752
- "grid-cols": [{
753
- "grid-cols": [isAny]
754
- }],
755
- /**
756
- * Grid Column Start / End
757
- * @see https://tailwindcss.com/docs/grid-column
758
- */
759
- "col-start-end": [{
760
- col: ["auto", {
761
- span: ["full", isInteger, isArbitraryValue]
762
- }, isArbitraryValue]
763
- }],
764
- /**
765
- * Grid Column Start
766
- * @see https://tailwindcss.com/docs/grid-column
767
- */
768
- "col-start": [{
769
- "col-start": getNumberWithAutoAndArbitrary()
770
- }],
771
- /**
772
- * Grid Column End
773
- * @see https://tailwindcss.com/docs/grid-column
774
- */
775
- "col-end": [{
776
- "col-end": getNumberWithAutoAndArbitrary()
777
- }],
778
- /**
779
- * Grid Template Rows
780
- * @see https://tailwindcss.com/docs/grid-template-rows
781
- */
782
- "grid-rows": [{
783
- "grid-rows": [isAny]
784
- }],
785
- /**
786
- * Grid Row Start / End
787
- * @see https://tailwindcss.com/docs/grid-row
788
- */
789
- "row-start-end": [{
790
- row: ["auto", {
791
- span: [isInteger, isArbitraryValue]
792
- }, isArbitraryValue]
793
- }],
794
- /**
795
- * Grid Row Start
796
- * @see https://tailwindcss.com/docs/grid-row
797
- */
798
- "row-start": [{
799
- "row-start": getNumberWithAutoAndArbitrary()
800
- }],
801
- /**
802
- * Grid Row End
803
- * @see https://tailwindcss.com/docs/grid-row
804
- */
805
- "row-end": [{
806
- "row-end": getNumberWithAutoAndArbitrary()
807
- }],
808
- /**
809
- * Grid Auto Flow
810
- * @see https://tailwindcss.com/docs/grid-auto-flow
811
- */
812
- "grid-flow": [{
813
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
814
- }],
815
- /**
816
- * Grid Auto Columns
817
- * @see https://tailwindcss.com/docs/grid-auto-columns
818
- */
819
- "auto-cols": [{
820
- "auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
821
- }],
822
- /**
823
- * Grid Auto Rows
824
- * @see https://tailwindcss.com/docs/grid-auto-rows
825
- */
826
- "auto-rows": [{
827
- "auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
828
- }],
829
- /**
830
- * Gap
831
- * @see https://tailwindcss.com/docs/gap
832
- */
833
- gap: [{
834
- gap: [gap]
835
- }],
836
- /**
837
- * Gap X
838
- * @see https://tailwindcss.com/docs/gap
839
- */
840
- "gap-x": [{
841
- "gap-x": [gap]
842
- }],
843
- /**
844
- * Gap Y
845
- * @see https://tailwindcss.com/docs/gap
846
- */
847
- "gap-y": [{
848
- "gap-y": [gap]
849
- }],
850
- /**
851
- * Justify Content
852
- * @see https://tailwindcss.com/docs/justify-content
853
- */
854
- "justify-content": [{
855
- justify: ["normal", ...getAlign()]
856
- }],
857
- /**
858
- * Justify Items
859
- * @see https://tailwindcss.com/docs/justify-items
860
- */
861
- "justify-items": [{
862
- "justify-items": ["start", "end", "center", "stretch"]
863
- }],
864
- /**
865
- * Justify Self
866
- * @see https://tailwindcss.com/docs/justify-self
867
- */
868
- "justify-self": [{
869
- "justify-self": ["auto", "start", "end", "center", "stretch"]
870
- }],
871
- /**
872
- * Align Content
873
- * @see https://tailwindcss.com/docs/align-content
874
- */
875
- "align-content": [{
876
- content: ["normal", ...getAlign(), "baseline"]
877
- }],
878
- /**
879
- * Align Items
880
- * @see https://tailwindcss.com/docs/align-items
881
- */
882
- "align-items": [{
883
- items: ["start", "end", "center", "baseline", "stretch"]
884
- }],
885
- /**
886
- * Align Self
887
- * @see https://tailwindcss.com/docs/align-self
888
- */
889
- "align-self": [{
890
- self: ["auto", "start", "end", "center", "stretch", "baseline"]
891
- }],
892
- /**
893
- * Place Content
894
- * @see https://tailwindcss.com/docs/place-content
895
- */
896
- "place-content": [{
897
- "place-content": [...getAlign(), "baseline"]
898
- }],
899
- /**
900
- * Place Items
901
- * @see https://tailwindcss.com/docs/place-items
902
- */
903
- "place-items": [{
904
- "place-items": ["start", "end", "center", "baseline", "stretch"]
905
- }],
906
- /**
907
- * Place Self
908
- * @see https://tailwindcss.com/docs/place-self
909
- */
910
- "place-self": [{
911
- "place-self": ["auto", "start", "end", "center", "stretch"]
912
- }],
913
- // Spacing
914
- /**
915
- * Padding
916
- * @see https://tailwindcss.com/docs/padding
917
- */
918
- p: [{
919
- p: [padding]
920
- }],
921
- /**
922
- * Padding X
923
- * @see https://tailwindcss.com/docs/padding
924
- */
925
- px: [{
926
- px: [padding]
927
- }],
928
- /**
929
- * Padding Y
930
- * @see https://tailwindcss.com/docs/padding
931
- */
932
- py: [{
933
- py: [padding]
934
- }],
935
- /**
936
- * Padding Start
937
- * @see https://tailwindcss.com/docs/padding
938
- */
939
- ps: [{
940
- ps: [padding]
941
- }],
942
- /**
943
- * Padding End
944
- * @see https://tailwindcss.com/docs/padding
945
- */
946
- pe: [{
947
- pe: [padding]
948
- }],
949
- /**
950
- * Padding Top
951
- * @see https://tailwindcss.com/docs/padding
952
- */
953
- pt: [{
954
- pt: [padding]
955
- }],
956
- /**
957
- * Padding Right
958
- * @see https://tailwindcss.com/docs/padding
959
- */
960
- pr: [{
961
- pr: [padding]
962
- }],
963
- /**
964
- * Padding Bottom
965
- * @see https://tailwindcss.com/docs/padding
966
- */
967
- pb: [{
968
- pb: [padding]
969
- }],
970
- /**
971
- * Padding Left
972
- * @see https://tailwindcss.com/docs/padding
973
- */
974
- pl: [{
975
- pl: [padding]
976
- }],
977
- /**
978
- * Margin
979
- * @see https://tailwindcss.com/docs/margin
980
- */
981
- m: [{
982
- m: [margin]
983
- }],
984
- /**
985
- * Margin X
986
- * @see https://tailwindcss.com/docs/margin
987
- */
988
- mx: [{
989
- mx: [margin]
990
- }],
991
- /**
992
- * Margin Y
993
- * @see https://tailwindcss.com/docs/margin
994
- */
995
- my: [{
996
- my: [margin]
997
- }],
998
- /**
999
- * Margin Start
1000
- * @see https://tailwindcss.com/docs/margin
1001
- */
1002
- ms: [{
1003
- ms: [margin]
1004
- }],
1005
- /**
1006
- * Margin End
1007
- * @see https://tailwindcss.com/docs/margin
1008
- */
1009
- me: [{
1010
- me: [margin]
1011
- }],
1012
- /**
1013
- * Margin Top
1014
- * @see https://tailwindcss.com/docs/margin
1015
- */
1016
- mt: [{
1017
- mt: [margin]
1018
- }],
1019
- /**
1020
- * Margin Right
1021
- * @see https://tailwindcss.com/docs/margin
1022
- */
1023
- mr: [{
1024
- mr: [margin]
1025
- }],
1026
- /**
1027
- * Margin Bottom
1028
- * @see https://tailwindcss.com/docs/margin
1029
- */
1030
- mb: [{
1031
- mb: [margin]
1032
- }],
1033
- /**
1034
- * Margin Left
1035
- * @see https://tailwindcss.com/docs/margin
1036
- */
1037
- ml: [{
1038
- ml: [margin]
1039
- }],
1040
- /**
1041
- * Space Between X
1042
- * @see https://tailwindcss.com/docs/space
1043
- */
1044
- "space-x": [{
1045
- "space-x": [space]
1046
- }],
1047
- /**
1048
- * Space Between X Reverse
1049
- * @see https://tailwindcss.com/docs/space
1050
- */
1051
- "space-x-reverse": ["space-x-reverse"],
1052
- /**
1053
- * Space Between Y
1054
- * @see https://tailwindcss.com/docs/space
1055
- */
1056
- "space-y": [{
1057
- "space-y": [space]
1058
- }],
1059
- /**
1060
- * Space Between Y Reverse
1061
- * @see https://tailwindcss.com/docs/space
1062
- */
1063
- "space-y-reverse": ["space-y-reverse"],
1064
- // Sizing
1065
- /**
1066
- * Width
1067
- * @see https://tailwindcss.com/docs/width
1068
- */
1069
- w: [{
1070
- w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
1071
- }],
1072
- /**
1073
- * Min-Width
1074
- * @see https://tailwindcss.com/docs/min-width
1075
- */
1076
- "min-w": [{
1077
- "min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
1078
- }],
1079
- /**
1080
- * Max-Width
1081
- * @see https://tailwindcss.com/docs/max-width
1082
- */
1083
- "max-w": [{
1084
- "max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
1085
- screen: [isTshirtSize]
1086
- }, isTshirtSize]
1087
- }],
1088
- /**
1089
- * Height
1090
- * @see https://tailwindcss.com/docs/height
1091
- */
1092
- h: [{
1093
- h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1094
- }],
1095
- /**
1096
- * Min-Height
1097
- * @see https://tailwindcss.com/docs/min-height
1098
- */
1099
- "min-h": [{
1100
- "min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1101
- }],
1102
- /**
1103
- * Max-Height
1104
- * @see https://tailwindcss.com/docs/max-height
1105
- */
1106
- "max-h": [{
1107
- "max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1108
- }],
1109
- /**
1110
- * Size
1111
- * @see https://tailwindcss.com/docs/size
1112
- */
1113
- size: [{
1114
- size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
1115
- }],
1116
- // Typography
1117
- /**
1118
- * Font Size
1119
- * @see https://tailwindcss.com/docs/font-size
1120
- */
1121
- "font-size": [{
1122
- text: ["base", isTshirtSize, isArbitraryLength]
1123
- }],
1124
- /**
1125
- * Font Smoothing
1126
- * @see https://tailwindcss.com/docs/font-smoothing
1127
- */
1128
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
1129
- /**
1130
- * Font Style
1131
- * @see https://tailwindcss.com/docs/font-style
1132
- */
1133
- "font-style": ["italic", "not-italic"],
1134
- /**
1135
- * Font Weight
1136
- * @see https://tailwindcss.com/docs/font-weight
1137
- */
1138
- "font-weight": [{
1139
- font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
1140
- }],
1141
- /**
1142
- * Font Family
1143
- * @see https://tailwindcss.com/docs/font-family
1144
- */
1145
- "font-family": [{
1146
- font: [isAny]
1147
- }],
1148
- /**
1149
- * Font Variant Numeric
1150
- * @see https://tailwindcss.com/docs/font-variant-numeric
1151
- */
1152
- "fvn-normal": ["normal-nums"],
1153
- /**
1154
- * Font Variant Numeric
1155
- * @see https://tailwindcss.com/docs/font-variant-numeric
1156
- */
1157
- "fvn-ordinal": ["ordinal"],
1158
- /**
1159
- * Font Variant Numeric
1160
- * @see https://tailwindcss.com/docs/font-variant-numeric
1161
- */
1162
- "fvn-slashed-zero": ["slashed-zero"],
1163
- /**
1164
- * Font Variant Numeric
1165
- * @see https://tailwindcss.com/docs/font-variant-numeric
1166
- */
1167
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
1168
- /**
1169
- * Font Variant Numeric
1170
- * @see https://tailwindcss.com/docs/font-variant-numeric
1171
- */
1172
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
1173
- /**
1174
- * Font Variant Numeric
1175
- * @see https://tailwindcss.com/docs/font-variant-numeric
1176
- */
1177
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1178
- /**
1179
- * Letter Spacing
1180
- * @see https://tailwindcss.com/docs/letter-spacing
1181
- */
1182
- tracking: [{
1183
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
1184
- }],
1185
- /**
1186
- * Line Clamp
1187
- * @see https://tailwindcss.com/docs/line-clamp
1188
- */
1189
- "line-clamp": [{
1190
- "line-clamp": ["none", isNumber, isArbitraryNumber]
1191
- }],
1192
- /**
1193
- * Line Height
1194
- * @see https://tailwindcss.com/docs/line-height
1195
- */
1196
- leading: [{
1197
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
1198
- }],
1199
- /**
1200
- * List Style Image
1201
- * @see https://tailwindcss.com/docs/list-style-image
1202
- */
1203
- "list-image": [{
1204
- "list-image": ["none", isArbitraryValue]
1205
- }],
1206
- /**
1207
- * List Style Type
1208
- * @see https://tailwindcss.com/docs/list-style-type
1209
- */
1210
- "list-style-type": [{
1211
- list: ["none", "disc", "decimal", isArbitraryValue]
1212
- }],
1213
- /**
1214
- * List Style Position
1215
- * @see https://tailwindcss.com/docs/list-style-position
1216
- */
1217
- "list-style-position": [{
1218
- list: ["inside", "outside"]
1219
- }],
1220
- /**
1221
- * Placeholder Color
1222
- * @deprecated since Tailwind CSS v3.0.0
1223
- * @see https://tailwindcss.com/docs/placeholder-color
1224
- */
1225
- "placeholder-color": [{
1226
- placeholder: [colors]
1227
- }],
1228
- /**
1229
- * Placeholder Opacity
1230
- * @see https://tailwindcss.com/docs/placeholder-opacity
1231
- */
1232
- "placeholder-opacity": [{
1233
- "placeholder-opacity": [opacity]
1234
- }],
1235
- /**
1236
- * Text Alignment
1237
- * @see https://tailwindcss.com/docs/text-align
1238
- */
1239
- "text-alignment": [{
1240
- text: ["left", "center", "right", "justify", "start", "end"]
1241
- }],
1242
- /**
1243
- * Text Color
1244
- * @see https://tailwindcss.com/docs/text-color
1245
- */
1246
- "text-color": [{
1247
- text: [colors]
1248
- }],
1249
- /**
1250
- * Text Opacity
1251
- * @see https://tailwindcss.com/docs/text-opacity
1252
- */
1253
- "text-opacity": [{
1254
- "text-opacity": [opacity]
1255
- }],
1256
- /**
1257
- * Text Decoration
1258
- * @see https://tailwindcss.com/docs/text-decoration
1259
- */
1260
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1261
- /**
1262
- * Text Decoration Style
1263
- * @see https://tailwindcss.com/docs/text-decoration-style
1264
- */
1265
- "text-decoration-style": [{
1266
- decoration: [...getLineStyles(), "wavy"]
1267
- }],
1268
- /**
1269
- * Text Decoration Thickness
1270
- * @see https://tailwindcss.com/docs/text-decoration-thickness
1271
- */
1272
- "text-decoration-thickness": [{
1273
- decoration: ["auto", "from-font", isLength, isArbitraryLength]
1274
- }],
1275
- /**
1276
- * Text Underline Offset
1277
- * @see https://tailwindcss.com/docs/text-underline-offset
1278
- */
1279
- "underline-offset": [{
1280
- "underline-offset": ["auto", isLength, isArbitraryValue]
1281
- }],
1282
- /**
1283
- * Text Decoration Color
1284
- * @see https://tailwindcss.com/docs/text-decoration-color
1285
- */
1286
- "text-decoration-color": [{
1287
- decoration: [colors]
1288
- }],
1289
- /**
1290
- * Text Transform
1291
- * @see https://tailwindcss.com/docs/text-transform
1292
- */
1293
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1294
- /**
1295
- * Text Overflow
1296
- * @see https://tailwindcss.com/docs/text-overflow
1297
- */
1298
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1299
- /**
1300
- * Text Wrap
1301
- * @see https://tailwindcss.com/docs/text-wrap
1302
- */
1303
- "text-wrap": [{
1304
- text: ["wrap", "nowrap", "balance", "pretty"]
1305
- }],
1306
- /**
1307
- * Text Indent
1308
- * @see https://tailwindcss.com/docs/text-indent
1309
- */
1310
- indent: [{
1311
- indent: getSpacingWithArbitrary()
1312
- }],
1313
- /**
1314
- * Vertical Alignment
1315
- * @see https://tailwindcss.com/docs/vertical-align
1316
- */
1317
- "vertical-align": [{
1318
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
1319
- }],
1320
- /**
1321
- * Whitespace
1322
- * @see https://tailwindcss.com/docs/whitespace
1323
- */
1324
- whitespace: [{
1325
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1326
- }],
1327
- /**
1328
- * Word Break
1329
- * @see https://tailwindcss.com/docs/word-break
1330
- */
1331
- break: [{
1332
- break: ["normal", "words", "all", "keep"]
1333
- }],
1334
- /**
1335
- * Hyphens
1336
- * @see https://tailwindcss.com/docs/hyphens
1337
- */
1338
- hyphens: [{
1339
- hyphens: ["none", "manual", "auto"]
1340
- }],
1341
- /**
1342
- * Content
1343
- * @see https://tailwindcss.com/docs/content
1344
- */
1345
- content: [{
1346
- content: ["none", isArbitraryValue]
1347
- }],
1348
- // Backgrounds
1349
- /**
1350
- * Background Attachment
1351
- * @see https://tailwindcss.com/docs/background-attachment
1352
- */
1353
- "bg-attachment": [{
1354
- bg: ["fixed", "local", "scroll"]
1355
- }],
1356
- /**
1357
- * Background Clip
1358
- * @see https://tailwindcss.com/docs/background-clip
1359
- */
1360
- "bg-clip": [{
1361
- "bg-clip": ["border", "padding", "content", "text"]
1362
- }],
1363
- /**
1364
- * Background Opacity
1365
- * @deprecated since Tailwind CSS v3.0.0
1366
- * @see https://tailwindcss.com/docs/background-opacity
1367
- */
1368
- "bg-opacity": [{
1369
- "bg-opacity": [opacity]
1370
- }],
1371
- /**
1372
- * Background Origin
1373
- * @see https://tailwindcss.com/docs/background-origin
1374
- */
1375
- "bg-origin": [{
1376
- "bg-origin": ["border", "padding", "content"]
1377
- }],
1378
- /**
1379
- * Background Position
1380
- * @see https://tailwindcss.com/docs/background-position
1381
- */
1382
- "bg-position": [{
1383
- bg: [...getPositions(), isArbitraryPosition]
1384
- }],
1385
- /**
1386
- * Background Repeat
1387
- * @see https://tailwindcss.com/docs/background-repeat
1388
- */
1389
- "bg-repeat": [{
1390
- bg: ["no-repeat", {
1391
- repeat: ["", "x", "y", "round", "space"]
1392
- }]
1393
- }],
1394
- /**
1395
- * Background Size
1396
- * @see https://tailwindcss.com/docs/background-size
1397
- */
1398
- "bg-size": [{
1399
- bg: ["auto", "cover", "contain", isArbitrarySize]
1400
- }],
1401
- /**
1402
- * Background Image
1403
- * @see https://tailwindcss.com/docs/background-image
1404
- */
1405
- "bg-image": [{
1406
- bg: ["none", {
1407
- "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1408
- }, isArbitraryImage]
1409
- }],
1410
- /**
1411
- * Background Color
1412
- * @see https://tailwindcss.com/docs/background-color
1413
- */
1414
- "bg-color": [{
1415
- bg: [colors]
1416
- }],
1417
- /**
1418
- * Gradient Color Stops From Position
1419
- * @see https://tailwindcss.com/docs/gradient-color-stops
1420
- */
1421
- "gradient-from-pos": [{
1422
- from: [gradientColorStopPositions]
1423
- }],
1424
- /**
1425
- * Gradient Color Stops Via Position
1426
- * @see https://tailwindcss.com/docs/gradient-color-stops
1427
- */
1428
- "gradient-via-pos": [{
1429
- via: [gradientColorStopPositions]
1430
- }],
1431
- /**
1432
- * Gradient Color Stops To Position
1433
- * @see https://tailwindcss.com/docs/gradient-color-stops
1434
- */
1435
- "gradient-to-pos": [{
1436
- to: [gradientColorStopPositions]
1437
- }],
1438
- /**
1439
- * Gradient Color Stops From
1440
- * @see https://tailwindcss.com/docs/gradient-color-stops
1441
- */
1442
- "gradient-from": [{
1443
- from: [gradientColorStops]
1444
- }],
1445
- /**
1446
- * Gradient Color Stops Via
1447
- * @see https://tailwindcss.com/docs/gradient-color-stops
1448
- */
1449
- "gradient-via": [{
1450
- via: [gradientColorStops]
1451
- }],
1452
- /**
1453
- * Gradient Color Stops To
1454
- * @see https://tailwindcss.com/docs/gradient-color-stops
1455
- */
1456
- "gradient-to": [{
1457
- to: [gradientColorStops]
1458
- }],
1459
- // Borders
1460
- /**
1461
- * Border Radius
1462
- * @see https://tailwindcss.com/docs/border-radius
1463
- */
1464
- rounded: [{
1465
- rounded: [borderRadius]
1466
- }],
1467
- /**
1468
- * Border Radius Start
1469
- * @see https://tailwindcss.com/docs/border-radius
1470
- */
1471
- "rounded-s": [{
1472
- "rounded-s": [borderRadius]
1473
- }],
1474
- /**
1475
- * Border Radius End
1476
- * @see https://tailwindcss.com/docs/border-radius
1477
- */
1478
- "rounded-e": [{
1479
- "rounded-e": [borderRadius]
1480
- }],
1481
- /**
1482
- * Border Radius Top
1483
- * @see https://tailwindcss.com/docs/border-radius
1484
- */
1485
- "rounded-t": [{
1486
- "rounded-t": [borderRadius]
1487
- }],
1488
- /**
1489
- * Border Radius Right
1490
- * @see https://tailwindcss.com/docs/border-radius
1491
- */
1492
- "rounded-r": [{
1493
- "rounded-r": [borderRadius]
1494
- }],
1495
- /**
1496
- * Border Radius Bottom
1497
- * @see https://tailwindcss.com/docs/border-radius
1498
- */
1499
- "rounded-b": [{
1500
- "rounded-b": [borderRadius]
1501
- }],
1502
- /**
1503
- * Border Radius Left
1504
- * @see https://tailwindcss.com/docs/border-radius
1505
- */
1506
- "rounded-l": [{
1507
- "rounded-l": [borderRadius]
1508
- }],
1509
- /**
1510
- * Border Radius Start Start
1511
- * @see https://tailwindcss.com/docs/border-radius
1512
- */
1513
- "rounded-ss": [{
1514
- "rounded-ss": [borderRadius]
1515
- }],
1516
- /**
1517
- * Border Radius Start End
1518
- * @see https://tailwindcss.com/docs/border-radius
1519
- */
1520
- "rounded-se": [{
1521
- "rounded-se": [borderRadius]
1522
- }],
1523
- /**
1524
- * Border Radius End End
1525
- * @see https://tailwindcss.com/docs/border-radius
1526
- */
1527
- "rounded-ee": [{
1528
- "rounded-ee": [borderRadius]
1529
- }],
1530
- /**
1531
- * Border Radius End Start
1532
- * @see https://tailwindcss.com/docs/border-radius
1533
- */
1534
- "rounded-es": [{
1535
- "rounded-es": [borderRadius]
1536
- }],
1537
- /**
1538
- * Border Radius Top Left
1539
- * @see https://tailwindcss.com/docs/border-radius
1540
- */
1541
- "rounded-tl": [{
1542
- "rounded-tl": [borderRadius]
1543
- }],
1544
- /**
1545
- * Border Radius Top Right
1546
- * @see https://tailwindcss.com/docs/border-radius
1547
- */
1548
- "rounded-tr": [{
1549
- "rounded-tr": [borderRadius]
1550
- }],
1551
- /**
1552
- * Border Radius Bottom Right
1553
- * @see https://tailwindcss.com/docs/border-radius
1554
- */
1555
- "rounded-br": [{
1556
- "rounded-br": [borderRadius]
1557
- }],
1558
- /**
1559
- * Border Radius Bottom Left
1560
- * @see https://tailwindcss.com/docs/border-radius
1561
- */
1562
- "rounded-bl": [{
1563
- "rounded-bl": [borderRadius]
1564
- }],
1565
- /**
1566
- * Border Width
1567
- * @see https://tailwindcss.com/docs/border-width
1568
- */
1569
- "border-w": [{
1570
- border: [borderWidth]
1571
- }],
1572
- /**
1573
- * Border Width X
1574
- * @see https://tailwindcss.com/docs/border-width
1575
- */
1576
- "border-w-x": [{
1577
- "border-x": [borderWidth]
1578
- }],
1579
- /**
1580
- * Border Width Y
1581
- * @see https://tailwindcss.com/docs/border-width
1582
- */
1583
- "border-w-y": [{
1584
- "border-y": [borderWidth]
1585
- }],
1586
- /**
1587
- * Border Width Start
1588
- * @see https://tailwindcss.com/docs/border-width
1589
- */
1590
- "border-w-s": [{
1591
- "border-s": [borderWidth]
1592
- }],
1593
- /**
1594
- * Border Width End
1595
- * @see https://tailwindcss.com/docs/border-width
1596
- */
1597
- "border-w-e": [{
1598
- "border-e": [borderWidth]
1599
- }],
1600
- /**
1601
- * Border Width Top
1602
- * @see https://tailwindcss.com/docs/border-width
1603
- */
1604
- "border-w-t": [{
1605
- "border-t": [borderWidth]
1606
- }],
1607
- /**
1608
- * Border Width Right
1609
- * @see https://tailwindcss.com/docs/border-width
1610
- */
1611
- "border-w-r": [{
1612
- "border-r": [borderWidth]
1613
- }],
1614
- /**
1615
- * Border Width Bottom
1616
- * @see https://tailwindcss.com/docs/border-width
1617
- */
1618
- "border-w-b": [{
1619
- "border-b": [borderWidth]
1620
- }],
1621
- /**
1622
- * Border Width Left
1623
- * @see https://tailwindcss.com/docs/border-width
1624
- */
1625
- "border-w-l": [{
1626
- "border-l": [borderWidth]
1627
- }],
1628
- /**
1629
- * Border Opacity
1630
- * @see https://tailwindcss.com/docs/border-opacity
1631
- */
1632
- "border-opacity": [{
1633
- "border-opacity": [opacity]
1634
- }],
1635
- /**
1636
- * Border Style
1637
- * @see https://tailwindcss.com/docs/border-style
1638
- */
1639
- "border-style": [{
1640
- border: [...getLineStyles(), "hidden"]
1641
- }],
1642
- /**
1643
- * Divide Width X
1644
- * @see https://tailwindcss.com/docs/divide-width
1645
- */
1646
- "divide-x": [{
1647
- "divide-x": [borderWidth]
1648
- }],
1649
- /**
1650
- * Divide Width X Reverse
1651
- * @see https://tailwindcss.com/docs/divide-width
1652
- */
1653
- "divide-x-reverse": ["divide-x-reverse"],
1654
- /**
1655
- * Divide Width Y
1656
- * @see https://tailwindcss.com/docs/divide-width
1657
- */
1658
- "divide-y": [{
1659
- "divide-y": [borderWidth]
1660
- }],
1661
- /**
1662
- * Divide Width Y Reverse
1663
- * @see https://tailwindcss.com/docs/divide-width
1664
- */
1665
- "divide-y-reverse": ["divide-y-reverse"],
1666
- /**
1667
- * Divide Opacity
1668
- * @see https://tailwindcss.com/docs/divide-opacity
1669
- */
1670
- "divide-opacity": [{
1671
- "divide-opacity": [opacity]
1672
- }],
1673
- /**
1674
- * Divide Style
1675
- * @see https://tailwindcss.com/docs/divide-style
1676
- */
1677
- "divide-style": [{
1678
- divide: getLineStyles()
1679
- }],
1680
- /**
1681
- * Border Color
1682
- * @see https://tailwindcss.com/docs/border-color
1683
- */
1684
- "border-color": [{
1685
- border: [borderColor]
1686
- }],
1687
- /**
1688
- * Border Color X
1689
- * @see https://tailwindcss.com/docs/border-color
1690
- */
1691
- "border-color-x": [{
1692
- "border-x": [borderColor]
1693
- }],
1694
- /**
1695
- * Border Color Y
1696
- * @see https://tailwindcss.com/docs/border-color
1697
- */
1698
- "border-color-y": [{
1699
- "border-y": [borderColor]
1700
- }],
1701
- /**
1702
- * Border Color S
1703
- * @see https://tailwindcss.com/docs/border-color
1704
- */
1705
- "border-color-s": [{
1706
- "border-s": [borderColor]
1707
- }],
1708
- /**
1709
- * Border Color E
1710
- * @see https://tailwindcss.com/docs/border-color
1711
- */
1712
- "border-color-e": [{
1713
- "border-e": [borderColor]
1714
- }],
1715
- /**
1716
- * Border Color Top
1717
- * @see https://tailwindcss.com/docs/border-color
1718
- */
1719
- "border-color-t": [{
1720
- "border-t": [borderColor]
1721
- }],
1722
- /**
1723
- * Border Color Right
1724
- * @see https://tailwindcss.com/docs/border-color
1725
- */
1726
- "border-color-r": [{
1727
- "border-r": [borderColor]
1728
- }],
1729
- /**
1730
- * Border Color Bottom
1731
- * @see https://tailwindcss.com/docs/border-color
1732
- */
1733
- "border-color-b": [{
1734
- "border-b": [borderColor]
1735
- }],
1736
- /**
1737
- * Border Color Left
1738
- * @see https://tailwindcss.com/docs/border-color
1739
- */
1740
- "border-color-l": [{
1741
- "border-l": [borderColor]
1742
- }],
1743
- /**
1744
- * Divide Color
1745
- * @see https://tailwindcss.com/docs/divide-color
1746
- */
1747
- "divide-color": [{
1748
- divide: [borderColor]
1749
- }],
1750
- /**
1751
- * Outline Style
1752
- * @see https://tailwindcss.com/docs/outline-style
1753
- */
1754
- "outline-style": [{
1755
- outline: ["", ...getLineStyles()]
1756
- }],
1757
- /**
1758
- * Outline Offset
1759
- * @see https://tailwindcss.com/docs/outline-offset
1760
- */
1761
- "outline-offset": [{
1762
- "outline-offset": [isLength, isArbitraryValue]
1763
- }],
1764
- /**
1765
- * Outline Width
1766
- * @see https://tailwindcss.com/docs/outline-width
1767
- */
1768
- "outline-w": [{
1769
- outline: [isLength, isArbitraryLength]
1770
- }],
1771
- /**
1772
- * Outline Color
1773
- * @see https://tailwindcss.com/docs/outline-color
1774
- */
1775
- "outline-color": [{
1776
- outline: [colors]
1777
- }],
1778
- /**
1779
- * Ring Width
1780
- * @see https://tailwindcss.com/docs/ring-width
1781
- */
1782
- "ring-w": [{
1783
- ring: getLengthWithEmptyAndArbitrary()
1784
- }],
1785
- /**
1786
- * Ring Width Inset
1787
- * @see https://tailwindcss.com/docs/ring-width
1788
- */
1789
- "ring-w-inset": ["ring-inset"],
1790
- /**
1791
- * Ring Color
1792
- * @see https://tailwindcss.com/docs/ring-color
1793
- */
1794
- "ring-color": [{
1795
- ring: [colors]
1796
- }],
1797
- /**
1798
- * Ring Opacity
1799
- * @see https://tailwindcss.com/docs/ring-opacity
1800
- */
1801
- "ring-opacity": [{
1802
- "ring-opacity": [opacity]
1803
- }],
1804
- /**
1805
- * Ring Offset Width
1806
- * @see https://tailwindcss.com/docs/ring-offset-width
1807
- */
1808
- "ring-offset-w": [{
1809
- "ring-offset": [isLength, isArbitraryLength]
1810
- }],
1811
- /**
1812
- * Ring Offset Color
1813
- * @see https://tailwindcss.com/docs/ring-offset-color
1814
- */
1815
- "ring-offset-color": [{
1816
- "ring-offset": [colors]
1817
- }],
1818
- // Effects
1819
- /**
1820
- * Box Shadow
1821
- * @see https://tailwindcss.com/docs/box-shadow
1822
- */
1823
- shadow: [{
1824
- shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
1825
- }],
1826
- /**
1827
- * Box Shadow Color
1828
- * @see https://tailwindcss.com/docs/box-shadow-color
1829
- */
1830
- "shadow-color": [{
1831
- shadow: [isAny]
1832
- }],
1833
- /**
1834
- * Opacity
1835
- * @see https://tailwindcss.com/docs/opacity
1836
- */
1837
- opacity: [{
1838
- opacity: [opacity]
1839
- }],
1840
- /**
1841
- * Mix Blend Mode
1842
- * @see https://tailwindcss.com/docs/mix-blend-mode
1843
- */
1844
- "mix-blend": [{
1845
- "mix-blend": [...getBlendModes(), "plus-lighter", "plus-darker"]
1846
- }],
1847
- /**
1848
- * Background Blend Mode
1849
- * @see https://tailwindcss.com/docs/background-blend-mode
1850
- */
1851
- "bg-blend": [{
1852
- "bg-blend": getBlendModes()
1853
- }],
1854
- // Filters
1855
- /**
1856
- * Filter
1857
- * @deprecated since Tailwind CSS v3.0.0
1858
- * @see https://tailwindcss.com/docs/filter
1859
- */
1860
- filter: [{
1861
- filter: ["", "none"]
1862
- }],
1863
- /**
1864
- * Blur
1865
- * @see https://tailwindcss.com/docs/blur
1866
- */
1867
- blur: [{
1868
- blur: [blur]
1869
- }],
1870
- /**
1871
- * Brightness
1872
- * @see https://tailwindcss.com/docs/brightness
1873
- */
1874
- brightness: [{
1875
- brightness: [brightness]
1876
- }],
1877
- /**
1878
- * Contrast
1879
- * @see https://tailwindcss.com/docs/contrast
1880
- */
1881
- contrast: [{
1882
- contrast: [contrast]
1883
- }],
1884
- /**
1885
- * Drop Shadow
1886
- * @see https://tailwindcss.com/docs/drop-shadow
1887
- */
1888
- "drop-shadow": [{
1889
- "drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
1890
- }],
1891
- /**
1892
- * Grayscale
1893
- * @see https://tailwindcss.com/docs/grayscale
1894
- */
1895
- grayscale: [{
1896
- grayscale: [grayscale]
1897
- }],
1898
- /**
1899
- * Hue Rotate
1900
- * @see https://tailwindcss.com/docs/hue-rotate
1901
- */
1902
- "hue-rotate": [{
1903
- "hue-rotate": [hueRotate]
1904
- }],
1905
- /**
1906
- * Invert
1907
- * @see https://tailwindcss.com/docs/invert
1908
- */
1909
- invert: [{
1910
- invert: [invert]
1911
- }],
1912
- /**
1913
- * Saturate
1914
- * @see https://tailwindcss.com/docs/saturate
1915
- */
1916
- saturate: [{
1917
- saturate: [saturate]
1918
- }],
1919
- /**
1920
- * Sepia
1921
- * @see https://tailwindcss.com/docs/sepia
1922
- */
1923
- sepia: [{
1924
- sepia: [sepia]
1925
- }],
1926
- /**
1927
- * Backdrop Filter
1928
- * @deprecated since Tailwind CSS v3.0.0
1929
- * @see https://tailwindcss.com/docs/backdrop-filter
1930
- */
1931
- "backdrop-filter": [{
1932
- "backdrop-filter": ["", "none"]
1933
- }],
1934
- /**
1935
- * Backdrop Blur
1936
- * @see https://tailwindcss.com/docs/backdrop-blur
1937
- */
1938
- "backdrop-blur": [{
1939
- "backdrop-blur": [blur]
1940
- }],
1941
- /**
1942
- * Backdrop Brightness
1943
- * @see https://tailwindcss.com/docs/backdrop-brightness
1944
- */
1945
- "backdrop-brightness": [{
1946
- "backdrop-brightness": [brightness]
1947
- }],
1948
- /**
1949
- * Backdrop Contrast
1950
- * @see https://tailwindcss.com/docs/backdrop-contrast
1951
- */
1952
- "backdrop-contrast": [{
1953
- "backdrop-contrast": [contrast]
1954
- }],
1955
- /**
1956
- * Backdrop Grayscale
1957
- * @see https://tailwindcss.com/docs/backdrop-grayscale
1958
- */
1959
- "backdrop-grayscale": [{
1960
- "backdrop-grayscale": [grayscale]
1961
- }],
1962
- /**
1963
- * Backdrop Hue Rotate
1964
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
1965
- */
1966
- "backdrop-hue-rotate": [{
1967
- "backdrop-hue-rotate": [hueRotate]
1968
- }],
1969
- /**
1970
- * Backdrop Invert
1971
- * @see https://tailwindcss.com/docs/backdrop-invert
1972
- */
1973
- "backdrop-invert": [{
1974
- "backdrop-invert": [invert]
1975
- }],
1976
- /**
1977
- * Backdrop Opacity
1978
- * @see https://tailwindcss.com/docs/backdrop-opacity
1979
- */
1980
- "backdrop-opacity": [{
1981
- "backdrop-opacity": [opacity]
1982
- }],
1983
- /**
1984
- * Backdrop Saturate
1985
- * @see https://tailwindcss.com/docs/backdrop-saturate
1986
- */
1987
- "backdrop-saturate": [{
1988
- "backdrop-saturate": [saturate]
1989
- }],
1990
- /**
1991
- * Backdrop Sepia
1992
- * @see https://tailwindcss.com/docs/backdrop-sepia
1993
- */
1994
- "backdrop-sepia": [{
1995
- "backdrop-sepia": [sepia]
1996
- }],
1997
- // Tables
1998
- /**
1999
- * Border Collapse
2000
- * @see https://tailwindcss.com/docs/border-collapse
2001
- */
2002
- "border-collapse": [{
2003
- border: ["collapse", "separate"]
2004
- }],
2005
- /**
2006
- * Border Spacing
2007
- * @see https://tailwindcss.com/docs/border-spacing
2008
- */
2009
- "border-spacing": [{
2010
- "border-spacing": [borderSpacing]
2011
- }],
2012
- /**
2013
- * Border Spacing X
2014
- * @see https://tailwindcss.com/docs/border-spacing
2015
- */
2016
- "border-spacing-x": [{
2017
- "border-spacing-x": [borderSpacing]
2018
- }],
2019
- /**
2020
- * Border Spacing Y
2021
- * @see https://tailwindcss.com/docs/border-spacing
2022
- */
2023
- "border-spacing-y": [{
2024
- "border-spacing-y": [borderSpacing]
2025
- }],
2026
- /**
2027
- * Table Layout
2028
- * @see https://tailwindcss.com/docs/table-layout
2029
- */
2030
- "table-layout": [{
2031
- table: ["auto", "fixed"]
2032
- }],
2033
- /**
2034
- * Caption Side
2035
- * @see https://tailwindcss.com/docs/caption-side
2036
- */
2037
- caption: [{
2038
- caption: ["top", "bottom"]
2039
- }],
2040
- // Transitions and Animation
2041
- /**
2042
- * Tranisition Property
2043
- * @see https://tailwindcss.com/docs/transition-property
2044
- */
2045
- transition: [{
2046
- transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
2047
- }],
2048
- /**
2049
- * Transition Duration
2050
- * @see https://tailwindcss.com/docs/transition-duration
2051
- */
2052
- duration: [{
2053
- duration: getNumberAndArbitrary()
2054
- }],
2055
- /**
2056
- * Transition Timing Function
2057
- * @see https://tailwindcss.com/docs/transition-timing-function
2058
- */
2059
- ease: [{
2060
- ease: ["linear", "in", "out", "in-out", isArbitraryValue]
2061
- }],
2062
- /**
2063
- * Transition Delay
2064
- * @see https://tailwindcss.com/docs/transition-delay
2065
- */
2066
- delay: [{
2067
- delay: getNumberAndArbitrary()
2068
- }],
2069
- /**
2070
- * Animation
2071
- * @see https://tailwindcss.com/docs/animation
2072
- */
2073
- animate: [{
2074
- animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
2075
- }],
2076
- // Transforms
2077
- /**
2078
- * Transform
2079
- * @see https://tailwindcss.com/docs/transform
2080
- */
2081
- transform: [{
2082
- transform: ["", "gpu", "none"]
2083
- }],
2084
- /**
2085
- * Scale
2086
- * @see https://tailwindcss.com/docs/scale
2087
- */
2088
- scale: [{
2089
- scale: [scale]
2090
- }],
2091
- /**
2092
- * Scale X
2093
- * @see https://tailwindcss.com/docs/scale
2094
- */
2095
- "scale-x": [{
2096
- "scale-x": [scale]
2097
- }],
2098
- /**
2099
- * Scale Y
2100
- * @see https://tailwindcss.com/docs/scale
2101
- */
2102
- "scale-y": [{
2103
- "scale-y": [scale]
2104
- }],
2105
- /**
2106
- * Rotate
2107
- * @see https://tailwindcss.com/docs/rotate
2108
- */
2109
- rotate: [{
2110
- rotate: [isInteger, isArbitraryValue]
2111
- }],
2112
- /**
2113
- * Translate X
2114
- * @see https://tailwindcss.com/docs/translate
2115
- */
2116
- "translate-x": [{
2117
- "translate-x": [translate]
2118
- }],
2119
- /**
2120
- * Translate Y
2121
- * @see https://tailwindcss.com/docs/translate
2122
- */
2123
- "translate-y": [{
2124
- "translate-y": [translate]
2125
- }],
2126
- /**
2127
- * Skew X
2128
- * @see https://tailwindcss.com/docs/skew
2129
- */
2130
- "skew-x": [{
2131
- "skew-x": [skew]
2132
- }],
2133
- /**
2134
- * Skew Y
2135
- * @see https://tailwindcss.com/docs/skew
2136
- */
2137
- "skew-y": [{
2138
- "skew-y": [skew]
2139
- }],
2140
- /**
2141
- * Transform Origin
2142
- * @see https://tailwindcss.com/docs/transform-origin
2143
- */
2144
- "transform-origin": [{
2145
- origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
2146
- }],
2147
- // Interactivity
2148
- /**
2149
- * Accent Color
2150
- * @see https://tailwindcss.com/docs/accent-color
2151
- */
2152
- accent: [{
2153
- accent: ["auto", colors]
2154
- }],
2155
- /**
2156
- * Appearance
2157
- * @see https://tailwindcss.com/docs/appearance
2158
- */
2159
- appearance: [{
2160
- appearance: ["none", "auto"]
2161
- }],
2162
- /**
2163
- * Cursor
2164
- * @see https://tailwindcss.com/docs/cursor
2165
- */
2166
- cursor: [{
2167
- 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", isArbitraryValue]
2168
- }],
2169
- /**
2170
- * Caret Color
2171
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2172
- */
2173
- "caret-color": [{
2174
- caret: [colors]
2175
- }],
2176
- /**
2177
- * Pointer Events
2178
- * @see https://tailwindcss.com/docs/pointer-events
2179
- */
2180
- "pointer-events": [{
2181
- "pointer-events": ["none", "auto"]
2182
- }],
2183
- /**
2184
- * Resize
2185
- * @see https://tailwindcss.com/docs/resize
2186
- */
2187
- resize: [{
2188
- resize: ["none", "y", "x", ""]
2189
- }],
2190
- /**
2191
- * Scroll Behavior
2192
- * @see https://tailwindcss.com/docs/scroll-behavior
2193
- */
2194
- "scroll-behavior": [{
2195
- scroll: ["auto", "smooth"]
2196
- }],
2197
- /**
2198
- * Scroll Margin
2199
- * @see https://tailwindcss.com/docs/scroll-margin
2200
- */
2201
- "scroll-m": [{
2202
- "scroll-m": getSpacingWithArbitrary()
2203
- }],
2204
- /**
2205
- * Scroll Margin X
2206
- * @see https://tailwindcss.com/docs/scroll-margin
2207
- */
2208
- "scroll-mx": [{
2209
- "scroll-mx": getSpacingWithArbitrary()
2210
- }],
2211
- /**
2212
- * Scroll Margin Y
2213
- * @see https://tailwindcss.com/docs/scroll-margin
2214
- */
2215
- "scroll-my": [{
2216
- "scroll-my": getSpacingWithArbitrary()
2217
- }],
2218
- /**
2219
- * Scroll Margin Start
2220
- * @see https://tailwindcss.com/docs/scroll-margin
2221
- */
2222
- "scroll-ms": [{
2223
- "scroll-ms": getSpacingWithArbitrary()
2224
- }],
2225
- /**
2226
- * Scroll Margin End
2227
- * @see https://tailwindcss.com/docs/scroll-margin
2228
- */
2229
- "scroll-me": [{
2230
- "scroll-me": getSpacingWithArbitrary()
2231
- }],
2232
- /**
2233
- * Scroll Margin Top
2234
- * @see https://tailwindcss.com/docs/scroll-margin
2235
- */
2236
- "scroll-mt": [{
2237
- "scroll-mt": getSpacingWithArbitrary()
2238
- }],
2239
- /**
2240
- * Scroll Margin Right
2241
- * @see https://tailwindcss.com/docs/scroll-margin
2242
- */
2243
- "scroll-mr": [{
2244
- "scroll-mr": getSpacingWithArbitrary()
2245
- }],
2246
- /**
2247
- * Scroll Margin Bottom
2248
- * @see https://tailwindcss.com/docs/scroll-margin
2249
- */
2250
- "scroll-mb": [{
2251
- "scroll-mb": getSpacingWithArbitrary()
2252
- }],
2253
- /**
2254
- * Scroll Margin Left
2255
- * @see https://tailwindcss.com/docs/scroll-margin
2256
- */
2257
- "scroll-ml": [{
2258
- "scroll-ml": getSpacingWithArbitrary()
2259
- }],
2260
- /**
2261
- * Scroll Padding
2262
- * @see https://tailwindcss.com/docs/scroll-padding
2263
- */
2264
- "scroll-p": [{
2265
- "scroll-p": getSpacingWithArbitrary()
2266
- }],
2267
- /**
2268
- * Scroll Padding X
2269
- * @see https://tailwindcss.com/docs/scroll-padding
2270
- */
2271
- "scroll-px": [{
2272
- "scroll-px": getSpacingWithArbitrary()
2273
- }],
2274
- /**
2275
- * Scroll Padding Y
2276
- * @see https://tailwindcss.com/docs/scroll-padding
2277
- */
2278
- "scroll-py": [{
2279
- "scroll-py": getSpacingWithArbitrary()
2280
- }],
2281
- /**
2282
- * Scroll Padding Start
2283
- * @see https://tailwindcss.com/docs/scroll-padding
2284
- */
2285
- "scroll-ps": [{
2286
- "scroll-ps": getSpacingWithArbitrary()
2287
- }],
2288
- /**
2289
- * Scroll Padding End
2290
- * @see https://tailwindcss.com/docs/scroll-padding
2291
- */
2292
- "scroll-pe": [{
2293
- "scroll-pe": getSpacingWithArbitrary()
2294
- }],
2295
- /**
2296
- * Scroll Padding Top
2297
- * @see https://tailwindcss.com/docs/scroll-padding
2298
- */
2299
- "scroll-pt": [{
2300
- "scroll-pt": getSpacingWithArbitrary()
2301
- }],
2302
- /**
2303
- * Scroll Padding Right
2304
- * @see https://tailwindcss.com/docs/scroll-padding
2305
- */
2306
- "scroll-pr": [{
2307
- "scroll-pr": getSpacingWithArbitrary()
2308
- }],
2309
- /**
2310
- * Scroll Padding Bottom
2311
- * @see https://tailwindcss.com/docs/scroll-padding
2312
- */
2313
- "scroll-pb": [{
2314
- "scroll-pb": getSpacingWithArbitrary()
2315
- }],
2316
- /**
2317
- * Scroll Padding Left
2318
- * @see https://tailwindcss.com/docs/scroll-padding
2319
- */
2320
- "scroll-pl": [{
2321
- "scroll-pl": getSpacingWithArbitrary()
2322
- }],
2323
- /**
2324
- * Scroll Snap Align
2325
- * @see https://tailwindcss.com/docs/scroll-snap-align
2326
- */
2327
- "snap-align": [{
2328
- snap: ["start", "end", "center", "align-none"]
2329
- }],
2330
- /**
2331
- * Scroll Snap Stop
2332
- * @see https://tailwindcss.com/docs/scroll-snap-stop
2333
- */
2334
- "snap-stop": [{
2335
- snap: ["normal", "always"]
2336
- }],
2337
- /**
2338
- * Scroll Snap Type
2339
- * @see https://tailwindcss.com/docs/scroll-snap-type
2340
- */
2341
- "snap-type": [{
2342
- snap: ["none", "x", "y", "both"]
2343
- }],
2344
- /**
2345
- * Scroll Snap Type Strictness
2346
- * @see https://tailwindcss.com/docs/scroll-snap-type
2347
- */
2348
- "snap-strictness": [{
2349
- snap: ["mandatory", "proximity"]
2350
- }],
2351
- /**
2352
- * Touch Action
2353
- * @see https://tailwindcss.com/docs/touch-action
2354
- */
2355
- touch: [{
2356
- touch: ["auto", "none", "manipulation"]
2357
- }],
2358
- /**
2359
- * Touch Action X
2360
- * @see https://tailwindcss.com/docs/touch-action
2361
- */
2362
- "touch-x": [{
2363
- "touch-pan": ["x", "left", "right"]
2364
- }],
2365
- /**
2366
- * Touch Action Y
2367
- * @see https://tailwindcss.com/docs/touch-action
2368
- */
2369
- "touch-y": [{
2370
- "touch-pan": ["y", "up", "down"]
2371
- }],
2372
- /**
2373
- * Touch Action Pinch Zoom
2374
- * @see https://tailwindcss.com/docs/touch-action
2375
- */
2376
- "touch-pz": ["touch-pinch-zoom"],
2377
- /**
2378
- * User Select
2379
- * @see https://tailwindcss.com/docs/user-select
2380
- */
2381
- select: [{
2382
- select: ["none", "text", "all", "auto"]
2383
- }],
2384
- /**
2385
- * Will Change
2386
- * @see https://tailwindcss.com/docs/will-change
2387
- */
2388
- "will-change": [{
2389
- "will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
2390
- }],
2391
- // SVG
2392
- /**
2393
- * Fill
2394
- * @see https://tailwindcss.com/docs/fill
2395
- */
2396
- fill: [{
2397
- fill: [colors, "none"]
2398
- }],
2399
- /**
2400
- * Stroke Width
2401
- * @see https://tailwindcss.com/docs/stroke-width
2402
- */
2403
- "stroke-w": [{
2404
- stroke: [isLength, isArbitraryLength, isArbitraryNumber]
2405
- }],
2406
- /**
2407
- * Stroke
2408
- * @see https://tailwindcss.com/docs/stroke
2409
- */
2410
- stroke: [{
2411
- stroke: [colors, "none"]
2412
- }],
2413
- // Accessibility
2414
- /**
2415
- * Screen Readers
2416
- * @see https://tailwindcss.com/docs/screen-readers
2417
- */
2418
- sr: ["sr-only", "not-sr-only"],
2419
- /**
2420
- * Forced Color Adjust
2421
- * @see https://tailwindcss.com/docs/forced-color-adjust
2422
- */
2423
- "forced-color-adjust": [{
2424
- "forced-color-adjust": ["auto", "none"]
2425
- }]
2426
- },
2427
- conflictingClassGroups: {
2428
- overflow: ["overflow-x", "overflow-y"],
2429
- overscroll: ["overscroll-x", "overscroll-y"],
2430
- inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2431
- "inset-x": ["right", "left"],
2432
- "inset-y": ["top", "bottom"],
2433
- flex: ["basis", "grow", "shrink"],
2434
- gap: ["gap-x", "gap-y"],
2435
- p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2436
- px: ["pr", "pl"],
2437
- py: ["pt", "pb"],
2438
- m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2439
- mx: ["mr", "ml"],
2440
- my: ["mt", "mb"],
2441
- size: ["w", "h"],
2442
- "font-size": ["leading"],
2443
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2444
- "fvn-ordinal": ["fvn-normal"],
2445
- "fvn-slashed-zero": ["fvn-normal"],
2446
- "fvn-figure": ["fvn-normal"],
2447
- "fvn-spacing": ["fvn-normal"],
2448
- "fvn-fraction": ["fvn-normal"],
2449
- "line-clamp": ["display", "overflow"],
2450
- 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"],
2451
- "rounded-s": ["rounded-ss", "rounded-es"],
2452
- "rounded-e": ["rounded-se", "rounded-ee"],
2453
- "rounded-t": ["rounded-tl", "rounded-tr"],
2454
- "rounded-r": ["rounded-tr", "rounded-br"],
2455
- "rounded-b": ["rounded-br", "rounded-bl"],
2456
- "rounded-l": ["rounded-tl", "rounded-bl"],
2457
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
2458
- "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2459
- "border-w-x": ["border-w-r", "border-w-l"],
2460
- "border-w-y": ["border-w-t", "border-w-b"],
2461
- "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2462
- "border-color-x": ["border-color-r", "border-color-l"],
2463
- "border-color-y": ["border-color-t", "border-color-b"],
2464
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2465
- "scroll-mx": ["scroll-mr", "scroll-ml"],
2466
- "scroll-my": ["scroll-mt", "scroll-mb"],
2467
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2468
- "scroll-px": ["scroll-pr", "scroll-pl"],
2469
- "scroll-py": ["scroll-pt", "scroll-pb"],
2470
- touch: ["touch-x", "touch-y", "touch-pz"],
2471
- "touch-x": ["touch"],
2472
- "touch-y": ["touch"],
2473
- "touch-pz": ["touch"]
2474
- },
2475
- conflictingClassGroupModifiers: {
2476
- "font-size": ["leading"]
2477
- }
2478
- };
2479
- };
2480
- var mergeConfigs = (baseConfig, {
2481
- cacheSize,
2482
- prefix,
2483
- separator,
2484
- experimentalParseClassName,
2485
- extend = {},
2486
- override = {}
2487
- }) => {
2488
- overrideProperty(baseConfig, "cacheSize", cacheSize);
2489
- overrideProperty(baseConfig, "prefix", prefix);
2490
- overrideProperty(baseConfig, "separator", separator);
2491
- overrideProperty(baseConfig, "experimentalParseClassName", experimentalParseClassName);
2492
- for (const configKey in override) {
2493
- overrideConfigProperties(baseConfig[configKey], override[configKey]);
2494
- }
2495
- for (const key in extend) {
2496
- mergeConfigProperties(baseConfig[key], extend[key]);
2497
- }
2498
- return baseConfig;
2499
- };
2500
- var overrideProperty = (baseObject, overrideKey, overrideValue) => {
2501
- if (overrideValue !== void 0) {
2502
- baseObject[overrideKey] = overrideValue;
2503
- }
2504
- };
2505
- var overrideConfigProperties = (baseObject, overrideObject) => {
2506
- if (overrideObject) {
2507
- for (const key in overrideObject) {
2508
- overrideProperty(baseObject, key, overrideObject[key]);
2509
- }
2510
- }
2511
- };
2512
- var mergeConfigProperties = (baseObject, mergeObject) => {
2513
- if (mergeObject) {
2514
- for (const key in mergeObject) {
2515
- const mergeValue = mergeObject[key];
2516
- if (mergeValue !== void 0) {
2517
- baseObject[key] = (baseObject[key] || []).concat(mergeValue);
2518
- }
2519
- }
2520
- }
2521
- };
2522
- var extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
2523
- var twMerge = createTailwindMerge(getDefaultConfig);
2524
- export {
2525
- createTailwindMerge,
2526
- extendTailwindMerge,
2527
- fromTheme,
2528
- getDefaultConfig,
2529
- mergeConfigs,
2530
- twJoin,
2531
- twMerge,
2532
- validators
2533
- };
2534
- //# sourceMappingURL=tailwind-merge.js.map