tailwindcss 3.4.1 → 4.0.0-alpha.2

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 (280) hide show
  1. package/README.md +5 -6
  2. package/dist/lib.d.mts +324 -0
  3. package/dist/lib.d.ts +324 -0
  4. package/dist/lib.js +11 -0
  5. package/dist/lib.mjs +11 -0
  6. package/index.css +5 -0
  7. package/package.json +29 -107
  8. package/preflight.css +355 -0
  9. package/theme.css +465 -0
  10. package/CHANGELOG.md +0 -2571
  11. package/base.css +0 -1
  12. package/colors.d.ts +0 -3
  13. package/colors.js +0 -2
  14. package/components.css +0 -1
  15. package/defaultConfig.d.ts +0 -3
  16. package/defaultConfig.js +0 -2
  17. package/defaultTheme.d.ts +0 -4
  18. package/defaultTheme.js +0 -2
  19. package/lib/cli/build/deps.js +0 -62
  20. package/lib/cli/build/index.js +0 -54
  21. package/lib/cli/build/plugin.js +0 -378
  22. package/lib/cli/build/utils.js +0 -88
  23. package/lib/cli/build/watching.js +0 -182
  24. package/lib/cli/help/index.js +0 -73
  25. package/lib/cli/index.js +0 -230
  26. package/lib/cli/init/index.js +0 -63
  27. package/lib/cli-peer-dependencies.js +0 -36
  28. package/lib/cli.js +0 -7
  29. package/lib/corePluginList.js +0 -190
  30. package/lib/corePlugins.js +0 -4282
  31. package/lib/css/LICENSE +0 -25
  32. package/lib/css/preflight.css +0 -385
  33. package/lib/featureFlags.js +0 -83
  34. package/lib/index.js +0 -2
  35. package/lib/lib/cacheInvalidation.js +0 -92
  36. package/lib/lib/collapseAdjacentRules.js +0 -61
  37. package/lib/lib/collapseDuplicateDeclarations.js +0 -85
  38. package/lib/lib/content.js +0 -181
  39. package/lib/lib/defaultExtractor.js +0 -251
  40. package/lib/lib/detectNesting.js +0 -45
  41. package/lib/lib/evaluateTailwindFunctions.js +0 -238
  42. package/lib/lib/expandApplyAtRules.js +0 -540
  43. package/lib/lib/expandTailwindAtRules.js +0 -291
  44. package/lib/lib/findAtConfigPath.js +0 -46
  45. package/lib/lib/generateRules.js +0 -904
  46. package/lib/lib/getModuleDependencies.js +0 -99
  47. package/lib/lib/load-config.js +0 -53
  48. package/lib/lib/normalizeTailwindDirectives.js +0 -89
  49. package/lib/lib/offsets.js +0 -306
  50. package/lib/lib/partitionApplyAtRules.js +0 -58
  51. package/lib/lib/regex.js +0 -74
  52. package/lib/lib/remap-bitfield.js +0 -89
  53. package/lib/lib/resolveDefaultsAtRules.js +0 -165
  54. package/lib/lib/setupContextUtils.js +0 -1294
  55. package/lib/lib/setupTrackingContext.js +0 -166
  56. package/lib/lib/sharedState.js +0 -87
  57. package/lib/lib/substituteScreenAtRules.js +0 -31
  58. package/lib/oxide/cli/build/deps.js +0 -89
  59. package/lib/oxide/cli/build/index.js +0 -53
  60. package/lib/oxide/cli/build/plugin.js +0 -375
  61. package/lib/oxide/cli/build/utils.js +0 -87
  62. package/lib/oxide/cli/build/watching.js +0 -179
  63. package/lib/oxide/cli/help/index.js +0 -72
  64. package/lib/oxide/cli/index.js +0 -214
  65. package/lib/oxide/cli/init/index.js +0 -52
  66. package/lib/oxide/cli.js +0 -5
  67. package/lib/oxide/postcss-plugin.js +0 -2
  68. package/lib/plugin.js +0 -98
  69. package/lib/postcss-plugins/nesting/README.md +0 -42
  70. package/lib/postcss-plugins/nesting/index.js +0 -21
  71. package/lib/postcss-plugins/nesting/plugin.js +0 -89
  72. package/lib/processTailwindFeatures.js +0 -64
  73. package/lib/public/colors.js +0 -355
  74. package/lib/public/create-plugin.js +0 -17
  75. package/lib/public/default-config.js +0 -18
  76. package/lib/public/default-theme.js +0 -18
  77. package/lib/public/load-config.js +0 -12
  78. package/lib/public/resolve-config.js +0 -24
  79. package/lib/util/applyImportantSelector.js +0 -36
  80. package/lib/util/bigSign.js +0 -13
  81. package/lib/util/buildMediaQuery.js +0 -27
  82. package/lib/util/cloneDeep.js +0 -22
  83. package/lib/util/cloneNodes.js +0 -54
  84. package/lib/util/color.js +0 -116
  85. package/lib/util/colorNames.js +0 -752
  86. package/lib/util/configurePlugins.js +0 -23
  87. package/lib/util/createPlugin.js +0 -32
  88. package/lib/util/createUtilityPlugin.js +0 -53
  89. package/lib/util/dataTypes.js +0 -415
  90. package/lib/util/defaults.js +0 -27
  91. package/lib/util/escapeClassName.js +0 -24
  92. package/lib/util/escapeCommas.js +0 -13
  93. package/lib/util/flattenColorPalette.js +0 -18
  94. package/lib/util/formatVariantSelector.js +0 -270
  95. package/lib/util/getAllConfigs.js +0 -50
  96. package/lib/util/hashConfig.js +0 -21
  97. package/lib/util/isKeyframeRule.js +0 -13
  98. package/lib/util/isPlainObject.js +0 -17
  99. package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
  100. package/lib/util/log.js +0 -61
  101. package/lib/util/nameClass.js +0 -49
  102. package/lib/util/negateValue.js +0 -36
  103. package/lib/util/normalizeConfig.js +0 -282
  104. package/lib/util/normalizeScreens.js +0 -178
  105. package/lib/util/parseAnimationValue.js +0 -93
  106. package/lib/util/parseBoxShadowValue.js +0 -88
  107. package/lib/util/parseDependency.js +0 -47
  108. package/lib/util/parseGlob.js +0 -36
  109. package/lib/util/parseObjectStyles.js +0 -36
  110. package/lib/util/pluginUtils.js +0 -289
  111. package/lib/util/prefixSelector.js +0 -39
  112. package/lib/util/pseudoElements.js +0 -212
  113. package/lib/util/removeAlphaVariables.js +0 -31
  114. package/lib/util/resolveConfig.js +0 -256
  115. package/lib/util/resolveConfigPath.js +0 -70
  116. package/lib/util/responsive.js +0 -24
  117. package/lib/util/splitAtTopLevelOnly.js +0 -51
  118. package/lib/util/tap.js +0 -14
  119. package/lib/util/toColorValue.js +0 -13
  120. package/lib/util/toPath.js +0 -32
  121. package/lib/util/transformThemeValue.js +0 -73
  122. package/lib/util/validateConfig.js +0 -37
  123. package/lib/util/validateFormalSyntax.js +0 -26
  124. package/lib/util/withAlphaVariable.js +0 -79
  125. package/lib/value-parser/LICENSE +0 -22
  126. package/lib/value-parser/README.md +0 -3
  127. package/lib/value-parser/index.d.js +0 -2
  128. package/lib/value-parser/index.js +0 -22
  129. package/lib/value-parser/parse.js +0 -259
  130. package/lib/value-parser/stringify.js +0 -38
  131. package/lib/value-parser/unit.js +0 -86
  132. package/lib/value-parser/walk.js +0 -16
  133. package/loadConfig.d.ts +0 -4
  134. package/loadConfig.js +0 -2
  135. package/nesting/index.d.ts +0 -4
  136. package/nesting/index.js +0 -2
  137. package/peers/index.js +0 -96624
  138. package/plugin.d.ts +0 -11
  139. package/plugin.js +0 -2
  140. package/prettier.config.js +0 -19
  141. package/resolveConfig.d.ts +0 -31
  142. package/resolveConfig.js +0 -2
  143. package/screens.css +0 -1
  144. package/scripts/create-plugin-list.js +0 -10
  145. package/scripts/generate-types.js +0 -104
  146. package/scripts/release-channel.js +0 -18
  147. package/scripts/release-notes.js +0 -21
  148. package/scripts/swap-engines.js +0 -40
  149. package/scripts/type-utils.js +0 -27
  150. package/src/cli/build/deps.js +0 -56
  151. package/src/cli/build/index.js +0 -49
  152. package/src/cli/build/plugin.js +0 -444
  153. package/src/cli/build/utils.js +0 -76
  154. package/src/cli/build/watching.js +0 -229
  155. package/src/cli/help/index.js +0 -70
  156. package/src/cli/index.js +0 -216
  157. package/src/cli/init/index.js +0 -79
  158. package/src/cli-peer-dependencies.js +0 -15
  159. package/src/cli.js +0 -7
  160. package/src/corePluginList.js +0 -1
  161. package/src/corePlugins.js +0 -2943
  162. package/src/css/LICENSE +0 -25
  163. package/src/css/preflight.css +0 -385
  164. package/src/featureFlags.js +0 -66
  165. package/src/index.js +0 -1
  166. package/src/lib/cacheInvalidation.js +0 -52
  167. package/src/lib/collapseAdjacentRules.js +0 -58
  168. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  169. package/src/lib/content.js +0 -208
  170. package/src/lib/defaultExtractor.js +0 -230
  171. package/src/lib/detectNesting.js +0 -47
  172. package/src/lib/evaluateTailwindFunctions.js +0 -272
  173. package/src/lib/expandApplyAtRules.js +0 -620
  174. package/src/lib/expandTailwindAtRules.js +0 -300
  175. package/src/lib/findAtConfigPath.js +0 -48
  176. package/src/lib/generateRules.js +0 -951
  177. package/src/lib/getModuleDependencies.js +0 -79
  178. package/src/lib/load-config.ts +0 -39
  179. package/src/lib/normalizeTailwindDirectives.js +0 -84
  180. package/src/lib/offsets.js +0 -373
  181. package/src/lib/partitionApplyAtRules.js +0 -52
  182. package/src/lib/regex.js +0 -74
  183. package/src/lib/remap-bitfield.js +0 -82
  184. package/src/lib/resolveDefaultsAtRules.js +0 -163
  185. package/src/lib/setupContextUtils.js +0 -1366
  186. package/src/lib/setupTrackingContext.js +0 -169
  187. package/src/lib/sharedState.js +0 -61
  188. package/src/lib/substituteScreenAtRules.js +0 -19
  189. package/src/oxide/cli/build/deps.ts +0 -91
  190. package/src/oxide/cli/build/index.ts +0 -47
  191. package/src/oxide/cli/build/plugin.ts +0 -442
  192. package/src/oxide/cli/build/utils.ts +0 -74
  193. package/src/oxide/cli/build/watching.ts +0 -225
  194. package/src/oxide/cli/help/index.ts +0 -69
  195. package/src/oxide/cli/index.ts +0 -204
  196. package/src/oxide/cli/init/index.ts +0 -59
  197. package/src/oxide/cli.ts +0 -1
  198. package/src/oxide/postcss-plugin.ts +0 -1
  199. package/src/plugin.js +0 -107
  200. package/src/postcss-plugins/nesting/README.md +0 -42
  201. package/src/postcss-plugins/nesting/index.js +0 -13
  202. package/src/postcss-plugins/nesting/plugin.js +0 -80
  203. package/src/processTailwindFeatures.js +0 -59
  204. package/src/public/colors.js +0 -322
  205. package/src/public/create-plugin.js +0 -2
  206. package/src/public/default-config.js +0 -4
  207. package/src/public/default-theme.js +0 -4
  208. package/src/public/load-config.js +0 -2
  209. package/src/public/resolve-config.js +0 -7
  210. package/src/util/applyImportantSelector.js +0 -27
  211. package/src/util/bigSign.js +0 -3
  212. package/src/util/buildMediaQuery.js +0 -22
  213. package/src/util/cloneDeep.js +0 -11
  214. package/src/util/cloneNodes.js +0 -49
  215. package/src/util/color.js +0 -88
  216. package/src/util/colorNames.js +0 -150
  217. package/src/util/configurePlugins.js +0 -23
  218. package/src/util/createPlugin.js +0 -27
  219. package/src/util/createUtilityPlugin.js +0 -37
  220. package/src/util/dataTypes.js +0 -406
  221. package/src/util/defaults.js +0 -17
  222. package/src/util/escapeClassName.js +0 -8
  223. package/src/util/escapeCommas.js +0 -3
  224. package/src/util/flattenColorPalette.js +0 -13
  225. package/src/util/formatVariantSelector.js +0 -324
  226. package/src/util/getAllConfigs.js +0 -38
  227. package/src/util/hashConfig.js +0 -5
  228. package/src/util/isKeyframeRule.js +0 -3
  229. package/src/util/isPlainObject.js +0 -8
  230. package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
  231. package/src/util/log.js +0 -29
  232. package/src/util/nameClass.js +0 -30
  233. package/src/util/negateValue.js +0 -24
  234. package/src/util/normalizeConfig.js +0 -301
  235. package/src/util/normalizeScreens.js +0 -140
  236. package/src/util/parseAnimationValue.js +0 -68
  237. package/src/util/parseBoxShadowValue.js +0 -72
  238. package/src/util/parseDependency.js +0 -44
  239. package/src/util/parseGlob.js +0 -24
  240. package/src/util/parseObjectStyles.js +0 -19
  241. package/src/util/pluginUtils.js +0 -307
  242. package/src/util/prefixSelector.js +0 -33
  243. package/src/util/pseudoElements.js +0 -171
  244. package/src/util/removeAlphaVariables.js +0 -24
  245. package/src/util/resolveConfig.js +0 -277
  246. package/src/util/resolveConfigPath.js +0 -66
  247. package/src/util/responsive.js +0 -10
  248. package/src/util/splitAtTopLevelOnly.js +0 -52
  249. package/src/util/tap.js +0 -4
  250. package/src/util/toColorValue.js +0 -3
  251. package/src/util/toPath.js +0 -26
  252. package/src/util/transformThemeValue.js +0 -62
  253. package/src/util/validateConfig.js +0 -26
  254. package/src/util/validateFormalSyntax.js +0 -34
  255. package/src/util/withAlphaVariable.js +0 -49
  256. package/src/value-parser/LICENSE +0 -22
  257. package/src/value-parser/README.md +0 -3
  258. package/src/value-parser/index.d.ts +0 -177
  259. package/src/value-parser/index.js +0 -28
  260. package/src/value-parser/parse.js +0 -303
  261. package/src/value-parser/stringify.js +0 -41
  262. package/src/value-parser/unit.js +0 -118
  263. package/src/value-parser/walk.js +0 -18
  264. package/stubs/.gitignore +0 -1
  265. package/stubs/.prettierrc.json +0 -6
  266. package/stubs/config.full.js +0 -1062
  267. package/stubs/config.simple.js +0 -7
  268. package/stubs/postcss.config.cjs +0 -6
  269. package/stubs/postcss.config.js +0 -6
  270. package/stubs/tailwind.config.cjs +0 -2
  271. package/stubs/tailwind.config.js +0 -2
  272. package/stubs/tailwind.config.ts +0 -3
  273. package/tailwind.css +0 -5
  274. package/types/config.d.ts +0 -376
  275. package/types/generated/.gitkeep +0 -0
  276. package/types/generated/colors.d.ts +0 -298
  277. package/types/generated/corePluginList.d.ts +0 -1
  278. package/types/generated/default-theme.d.ts +0 -397
  279. package/types/index.d.ts +0 -11
  280. package/variants.css +0 -1
@@ -1,282 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "normalizeConfig", {
6
- enumerable: true,
7
- get: function() {
8
- return normalizeConfig;
9
- }
10
- });
11
- const _featureFlags = require("../featureFlags");
12
- const _log = /*#__PURE__*/ _interop_require_wildcard(require("./log"));
13
- function _getRequireWildcardCache(nodeInterop) {
14
- if (typeof WeakMap !== "function") return null;
15
- var cacheBabelInterop = new WeakMap();
16
- var cacheNodeInterop = new WeakMap();
17
- return (_getRequireWildcardCache = function(nodeInterop) {
18
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
19
- })(nodeInterop);
20
- }
21
- function _interop_require_wildcard(obj, nodeInterop) {
22
- if (!nodeInterop && obj && obj.__esModule) {
23
- return obj;
24
- }
25
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
26
- return {
27
- default: obj
28
- };
29
- }
30
- var cache = _getRequireWildcardCache(nodeInterop);
31
- if (cache && cache.has(obj)) {
32
- return cache.get(obj);
33
- }
34
- var newObj = {};
35
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
36
- for(var key in obj){
37
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
38
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
39
- if (desc && (desc.get || desc.set)) {
40
- Object.defineProperty(newObj, key, desc);
41
- } else {
42
- newObj[key] = obj[key];
43
- }
44
- }
45
- }
46
- newObj.default = obj;
47
- if (cache) {
48
- cache.set(obj, newObj);
49
- }
50
- return newObj;
51
- }
52
- function normalizeConfig(config) {
53
- // Quick structure validation
54
- /**
55
- * type FilePath = string
56
- * type RawFile = { raw: string, extension?: string }
57
- * type ExtractorFn = (content: string) => Array<string>
58
- * type TransformerFn = (content: string) => string
59
- *
60
- * type Content =
61
- * | Array<FilePath | RawFile>
62
- * | {
63
- * files: Array<FilePath | RawFile>,
64
- * extract?: ExtractorFn | { [extension: string]: ExtractorFn }
65
- * transform?: TransformerFn | { [extension: string]: TransformerFn }
66
- * }
67
- */ let valid = (()=>{
68
- // `config.purge` should not exist anymore
69
- if (config.purge) {
70
- return false;
71
- }
72
- // `config.content` should exist
73
- if (!config.content) {
74
- return false;
75
- }
76
- // `config.content` should be an object or an array
77
- if (!Array.isArray(config.content) && !(typeof config.content === "object" && config.content !== null)) {
78
- return false;
79
- }
80
- // When `config.content` is an array, it should consist of FilePaths or RawFiles
81
- if (Array.isArray(config.content)) {
82
- return config.content.every((path)=>{
83
- // `path` can be a string
84
- if (typeof path === "string") return true;
85
- // `path` can be an object { raw: string, extension?: string }
86
- // `raw` must be a string
87
- if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== "string") return false;
88
- // `extension` (if provided) should also be a string
89
- if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== "string") {
90
- return false;
91
- }
92
- return true;
93
- });
94
- }
95
- // When `config.content` is an object
96
- if (typeof config.content === "object" && config.content !== null) {
97
- // Only `files`, `relative`, `extract`, and `transform` can exist in `config.content`
98
- if (Object.keys(config.content).some((key)=>![
99
- "files",
100
- "relative",
101
- "extract",
102
- "transform"
103
- ].includes(key))) {
104
- return false;
105
- }
106
- // `config.content.files` should exist of FilePaths or RawFiles
107
- if (Array.isArray(config.content.files)) {
108
- if (!config.content.files.every((path)=>{
109
- // `path` can be a string
110
- if (typeof path === "string") return true;
111
- // `path` can be an object { raw: string, extension?: string }
112
- // `raw` must be a string
113
- if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== "string") return false;
114
- // `extension` (if provided) should also be a string
115
- if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== "string") {
116
- return false;
117
- }
118
- return true;
119
- })) {
120
- return false;
121
- }
122
- // `config.content.extract` is optional, and can be a Function or a Record<String, Function>
123
- if (typeof config.content.extract === "object") {
124
- for (let value of Object.values(config.content.extract)){
125
- if (typeof value !== "function") {
126
- return false;
127
- }
128
- }
129
- } else if (!(config.content.extract === undefined || typeof config.content.extract === "function")) {
130
- return false;
131
- }
132
- // `config.content.transform` is optional, and can be a Function or a Record<String, Function>
133
- if (typeof config.content.transform === "object") {
134
- for (let value of Object.values(config.content.transform)){
135
- if (typeof value !== "function") {
136
- return false;
137
- }
138
- }
139
- } else if (!(config.content.transform === undefined || typeof config.content.transform === "function")) {
140
- return false;
141
- }
142
- // `config.content.relative` is optional and can be a boolean
143
- if (typeof config.content.relative !== "boolean" && typeof config.content.relative !== "undefined") {
144
- return false;
145
- }
146
- }
147
- return true;
148
- }
149
- return false;
150
- })();
151
- if (!valid) {
152
- _log.default.warn("purge-deprecation", [
153
- "The `purge`/`content` options have changed in Tailwind CSS v3.0.",
154
- "Update your configuration file to eliminate this warning.",
155
- "https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"
156
- ]);
157
- }
158
- // Normalize the `safelist`
159
- config.safelist = (()=>{
160
- var _purge_options;
161
- let { content , purge , safelist } = config;
162
- if (Array.isArray(safelist)) return safelist;
163
- if (Array.isArray(content === null || content === void 0 ? void 0 : content.safelist)) return content.safelist;
164
- if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.safelist)) return purge.safelist;
165
- if (Array.isArray(purge === null || purge === void 0 ? void 0 : (_purge_options = purge.options) === null || _purge_options === void 0 ? void 0 : _purge_options.safelist)) return purge.options.safelist;
166
- return [];
167
- })();
168
- // Normalize the `blocklist`
169
- config.blocklist = (()=>{
170
- let { blocklist } = config;
171
- if (Array.isArray(blocklist)) {
172
- if (blocklist.every((item)=>typeof item === "string")) {
173
- return blocklist;
174
- }
175
- _log.default.warn("blocklist-invalid", [
176
- "The `blocklist` option must be an array of strings.",
177
- "https://tailwindcss.com/docs/content-configuration#discarding-classes"
178
- ]);
179
- }
180
- return [];
181
- })();
182
- // Normalize prefix option
183
- if (typeof config.prefix === "function") {
184
- _log.default.warn("prefix-function", [
185
- "As of Tailwind CSS v3.0, `prefix` cannot be a function.",
186
- "Update `prefix` in your configuration to be a string to eliminate this warning.",
187
- "https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"
188
- ]);
189
- config.prefix = "";
190
- } else {
191
- var _config_prefix;
192
- config.prefix = (_config_prefix = config.prefix) !== null && _config_prefix !== void 0 ? _config_prefix : "";
193
- }
194
- // Normalize the `content`
195
- config.content = {
196
- relative: (()=>{
197
- let { content } = config;
198
- if (content === null || content === void 0 ? void 0 : content.relative) {
199
- return content.relative;
200
- }
201
- return (0, _featureFlags.flagEnabled)(config, "relativeContentPathsByDefault");
202
- })(),
203
- files: (()=>{
204
- let { content , purge } = config;
205
- if (Array.isArray(purge)) return purge;
206
- if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.content)) return purge.content;
207
- if (Array.isArray(content)) return content;
208
- if (Array.isArray(content === null || content === void 0 ? void 0 : content.content)) return content.content;
209
- if (Array.isArray(content === null || content === void 0 ? void 0 : content.files)) return content.files;
210
- return [];
211
- })(),
212
- extract: (()=>{
213
- let extract = (()=>{
214
- var _config_purge, _config_content, _config_purge1, _config_purge_extract, _config_content1, _config_content_extract, _config_purge2, _config_purge_options, _config_content2, _config_content_options;
215
- if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.extract) return config.purge.extract;
216
- if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.extract) return config.content.extract;
217
- if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_extract = _config_purge1.extract) === null || _config_purge_extract === void 0 ? void 0 : _config_purge_extract.DEFAULT) return config.purge.extract.DEFAULT;
218
- if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_extract = _config_content1.extract) === null || _config_content_extract === void 0 ? void 0 : _config_content_extract.DEFAULT) return config.content.extract.DEFAULT;
219
- if ((_config_purge2 = config.purge) === null || _config_purge2 === void 0 ? void 0 : (_config_purge_options = _config_purge2.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.extractors) return config.purge.options.extractors;
220
- if ((_config_content2 = config.content) === null || _config_content2 === void 0 ? void 0 : (_config_content_options = _config_content2.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.extractors) return config.content.options.extractors;
221
- return {};
222
- })();
223
- let extractors = {};
224
- let defaultExtractor = (()=>{
225
- var _config_purge, _config_purge_options, _config_content, _config_content_options;
226
- if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : (_config_purge_options = _config_purge.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.defaultExtractor) {
227
- return config.purge.options.defaultExtractor;
228
- }
229
- if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : (_config_content_options = _config_content.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.defaultExtractor) {
230
- return config.content.options.defaultExtractor;
231
- }
232
- return undefined;
233
- })();
234
- if (defaultExtractor !== undefined) {
235
- extractors.DEFAULT = defaultExtractor;
236
- }
237
- // Functions
238
- if (typeof extract === "function") {
239
- extractors.DEFAULT = extract;
240
- } else if (Array.isArray(extract)) {
241
- for (let { extensions , extractor } of extract !== null && extract !== void 0 ? extract : []){
242
- for (let extension of extensions){
243
- extractors[extension] = extractor;
244
- }
245
- }
246
- } else if (typeof extract === "object" && extract !== null) {
247
- Object.assign(extractors, extract);
248
- }
249
- return extractors;
250
- })(),
251
- transform: (()=>{
252
- let transform = (()=>{
253
- var _config_purge, _config_content, _config_purge1, _config_purge_transform, _config_content1, _config_content_transform;
254
- if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.transform) return config.purge.transform;
255
- if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.transform) return config.content.transform;
256
- if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_transform = _config_purge1.transform) === null || _config_purge_transform === void 0 ? void 0 : _config_purge_transform.DEFAULT) return config.purge.transform.DEFAULT;
257
- if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_transform = _config_content1.transform) === null || _config_content_transform === void 0 ? void 0 : _config_content_transform.DEFAULT) return config.content.transform.DEFAULT;
258
- return {};
259
- })();
260
- let transformers = {};
261
- if (typeof transform === "function") {
262
- transformers.DEFAULT = transform;
263
- }
264
- if (typeof transform === "object" && transform !== null) {
265
- Object.assign(transformers, transform);
266
- }
267
- return transformers;
268
- })()
269
- };
270
- // Validate globs to prevent bogus globs.
271
- // E.g.: `./src/*.{html}` is invalid, the `{html}` should just be `html`
272
- for (let file of config.content.files){
273
- if (typeof file === "string" && /{([^,]*?)}/g.test(file)) {
274
- _log.default.warn("invalid-glob-braces", [
275
- `The glob pattern ${(0, _log.dim)(file)} in your Tailwind CSS configuration is invalid.`,
276
- `Update it to ${(0, _log.dim)(file.replace(/{([^,]*?)}/g, "$1"))} to silence this warning.`
277
- ]);
278
- break;
279
- }
280
- }
281
- return config;
282
- }
@@ -1,178 +0,0 @@
1
- /**
2
- * @typedef {object} ScreenValue
3
- * @property {number|undefined} min
4
- * @property {number|undefined} max
5
- * @property {string|undefined} raw
6
- */ /**
7
- * @typedef {object} Screen
8
- * @property {string} name
9
- * @property {boolean} not
10
- * @property {ScreenValue[]} values
11
- */ /**
12
- * A function that normalizes the various forms that the screens object can be
13
- * provided in.
14
- *
15
- * Input(s):
16
- * - ['100px', '200px'] // Raw strings
17
- * - { sm: '100px', md: '200px' } // Object with string values
18
- * - { sm: { min: '100px' }, md: { max: '100px' } } // Object with object values
19
- * - { sm: [{ min: '100px' }, { max: '200px' }] } // Object with object array (multiple values)
20
- *
21
- * Output(s):
22
- * - [{ name: 'sm', values: [{ min: '100px', max: '200px' }] }] // List of objects, that contains multiple values
23
- *
24
- * @returns {Screen[]}
25
- */ "use strict";
26
- Object.defineProperty(exports, "__esModule", {
27
- value: true
28
- });
29
- function _export(target, all) {
30
- for(var name in all)Object.defineProperty(target, name, {
31
- enumerable: true,
32
- get: all[name]
33
- });
34
- }
35
- _export(exports, {
36
- normalizeScreens: function() {
37
- return normalizeScreens;
38
- },
39
- isScreenSortable: function() {
40
- return isScreenSortable;
41
- },
42
- compareScreens: function() {
43
- return compareScreens;
44
- },
45
- toScreen: function() {
46
- return toScreen;
47
- }
48
- });
49
- function normalizeScreens(screens, root = true) {
50
- if (Array.isArray(screens)) {
51
- return screens.map((screen)=>{
52
- if (root && Array.isArray(screen)) {
53
- throw new Error("The tuple syntax is not supported for `screens`.");
54
- }
55
- if (typeof screen === "string") {
56
- return {
57
- name: screen.toString(),
58
- not: false,
59
- values: [
60
- {
61
- min: screen,
62
- max: undefined
63
- }
64
- ]
65
- };
66
- }
67
- let [name, options] = screen;
68
- name = name.toString();
69
- if (typeof options === "string") {
70
- return {
71
- name,
72
- not: false,
73
- values: [
74
- {
75
- min: options,
76
- max: undefined
77
- }
78
- ]
79
- };
80
- }
81
- if (Array.isArray(options)) {
82
- return {
83
- name,
84
- not: false,
85
- values: options.map((option)=>resolveValue(option))
86
- };
87
- }
88
- return {
89
- name,
90
- not: false,
91
- values: [
92
- resolveValue(options)
93
- ]
94
- };
95
- });
96
- }
97
- return normalizeScreens(Object.entries(screens !== null && screens !== void 0 ? screens : {}), false);
98
- }
99
- function isScreenSortable(screen) {
100
- if (screen.values.length !== 1) {
101
- return {
102
- result: false,
103
- reason: "multiple-values"
104
- };
105
- } else if (screen.values[0].raw !== undefined) {
106
- return {
107
- result: false,
108
- reason: "raw-values"
109
- };
110
- } else if (screen.values[0].min !== undefined && screen.values[0].max !== undefined) {
111
- return {
112
- result: false,
113
- reason: "min-and-max"
114
- };
115
- }
116
- return {
117
- result: true,
118
- reason: null
119
- };
120
- }
121
- function compareScreens(type, a, z) {
122
- let aScreen = toScreen(a, type);
123
- let zScreen = toScreen(z, type);
124
- let aSorting = isScreenSortable(aScreen);
125
- let bSorting = isScreenSortable(zScreen);
126
- // These cases should never happen and indicate a bug in Tailwind CSS itself
127
- if (aSorting.reason === "multiple-values" || bSorting.reason === "multiple-values") {
128
- throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");
129
- } else if (aSorting.reason === "raw-values" || bSorting.reason === "raw-values") {
130
- throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");
131
- } else if (aSorting.reason === "min-and-max" || bSorting.reason === "min-and-max") {
132
- throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");
133
- }
134
- // Let the sorting begin
135
- let { min: aMin , max: aMax } = aScreen.values[0];
136
- let { min: zMin , max: zMax } = zScreen.values[0];
137
- // Negating screens flip their behavior. Basically `not min-width` is `max-width`
138
- if (a.not) [aMin, aMax] = [
139
- aMax,
140
- aMin
141
- ];
142
- if (z.not) [zMin, zMax] = [
143
- zMax,
144
- zMin
145
- ];
146
- aMin = aMin === undefined ? aMin : parseFloat(aMin);
147
- aMax = aMax === undefined ? aMax : parseFloat(aMax);
148
- zMin = zMin === undefined ? zMin : parseFloat(zMin);
149
- zMax = zMax === undefined ? zMax : parseFloat(zMax);
150
- let [aValue, zValue] = type === "min" ? [
151
- aMin,
152
- zMin
153
- ] : [
154
- zMax,
155
- aMax
156
- ];
157
- return aValue - zValue;
158
- }
159
- function toScreen(value, type) {
160
- if (typeof value === "object") {
161
- return value;
162
- }
163
- return {
164
- name: "arbitrary-screen",
165
- values: [
166
- {
167
- [type]: value
168
- }
169
- ]
170
- };
171
- }
172
- function resolveValue({ "min-width": _minWidth , min =_minWidth , max , raw } = {}) {
173
- return {
174
- min,
175
- max,
176
- raw
177
- };
178
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return parseAnimationValue;
9
- }
10
- });
11
- const DIRECTIONS = new Set([
12
- "normal",
13
- "reverse",
14
- "alternate",
15
- "alternate-reverse"
16
- ]);
17
- const PLAY_STATES = new Set([
18
- "running",
19
- "paused"
20
- ]);
21
- const FILL_MODES = new Set([
22
- "none",
23
- "forwards",
24
- "backwards",
25
- "both"
26
- ]);
27
- const ITERATION_COUNTS = new Set([
28
- "infinite"
29
- ]);
30
- const TIMINGS = new Set([
31
- "linear",
32
- "ease",
33
- "ease-in",
34
- "ease-out",
35
- "ease-in-out",
36
- "step-start",
37
- "step-end"
38
- ]);
39
- const TIMING_FNS = [
40
- "cubic-bezier",
41
- "steps"
42
- ];
43
- const COMMA = /\,(?![^(]*\))/g // Comma separator that is not located between brackets. E.g.: `cubiz-bezier(a, b, c)` these don't count.
44
- ;
45
- const SPACE = /\ +(?![^(]*\))/g // Similar to the one above, but with spaces instead.
46
- ;
47
- const TIME = /^(-?[\d.]+m?s)$/;
48
- const DIGIT = /^(\d+)$/;
49
- function parseAnimationValue(input) {
50
- let animations = input.split(COMMA);
51
- return animations.map((animation)=>{
52
- let value = animation.trim();
53
- let result = {
54
- value
55
- };
56
- let parts = value.split(SPACE);
57
- let seen = new Set();
58
- for (let part of parts){
59
- if (!seen.has("DIRECTIONS") && DIRECTIONS.has(part)) {
60
- result.direction = part;
61
- seen.add("DIRECTIONS");
62
- } else if (!seen.has("PLAY_STATES") && PLAY_STATES.has(part)) {
63
- result.playState = part;
64
- seen.add("PLAY_STATES");
65
- } else if (!seen.has("FILL_MODES") && FILL_MODES.has(part)) {
66
- result.fillMode = part;
67
- seen.add("FILL_MODES");
68
- } else if (!seen.has("ITERATION_COUNTS") && (ITERATION_COUNTS.has(part) || DIGIT.test(part))) {
69
- result.iterationCount = part;
70
- seen.add("ITERATION_COUNTS");
71
- } else if (!seen.has("TIMING_FUNCTION") && TIMINGS.has(part)) {
72
- result.timingFunction = part;
73
- seen.add("TIMING_FUNCTION");
74
- } else if (!seen.has("TIMING_FUNCTION") && TIMING_FNS.some((f)=>part.startsWith(`${f}(`))) {
75
- result.timingFunction = part;
76
- seen.add("TIMING_FUNCTION");
77
- } else if (!seen.has("DURATION") && TIME.test(part)) {
78
- result.duration = part;
79
- seen.add("DURATION");
80
- } else if (!seen.has("DELAY") && TIME.test(part)) {
81
- result.delay = part;
82
- seen.add("DELAY");
83
- } else if (!seen.has("NAME")) {
84
- result.name = part;
85
- seen.add("NAME");
86
- } else {
87
- if (!result.unknown) result.unknown = [];
88
- result.unknown.push(part);
89
- }
90
- }
91
- return result;
92
- });
93
- }
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- parseBoxShadowValue: function() {
13
- return parseBoxShadowValue;
14
- },
15
- formatBoxShadowValue: function() {
16
- return formatBoxShadowValue;
17
- }
18
- });
19
- const _splitAtTopLevelOnly = require("./splitAtTopLevelOnly");
20
- let KEYWORDS = new Set([
21
- "inset",
22
- "inherit",
23
- "initial",
24
- "revert",
25
- "unset"
26
- ]);
27
- let SPACE = /\ +(?![^(]*\))/g // Similar to the one above, but with spaces instead.
28
- ;
29
- let LENGTH = /^-?(\d+|\.\d+)(.*?)$/g;
30
- function parseBoxShadowValue(input) {
31
- let shadows = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(input, ",");
32
- return shadows.map((shadow)=>{
33
- let value = shadow.trim();
34
- let result = {
35
- raw: value
36
- };
37
- let parts = value.split(SPACE);
38
- let seen = new Set();
39
- for (let part of parts){
40
- // Reset index, since the regex is stateful.
41
- LENGTH.lastIndex = 0;
42
- // Keyword
43
- if (!seen.has("KEYWORD") && KEYWORDS.has(part)) {
44
- result.keyword = part;
45
- seen.add("KEYWORD");
46
- } else if (LENGTH.test(part)) {
47
- if (!seen.has("X")) {
48
- result.x = part;
49
- seen.add("X");
50
- } else if (!seen.has("Y")) {
51
- result.y = part;
52
- seen.add("Y");
53
- } else if (!seen.has("BLUR")) {
54
- result.blur = part;
55
- seen.add("BLUR");
56
- } else if (!seen.has("SPREAD")) {
57
- result.spread = part;
58
- seen.add("SPREAD");
59
- }
60
- } else {
61
- if (!result.color) {
62
- result.color = part;
63
- } else {
64
- if (!result.unknown) result.unknown = [];
65
- result.unknown.push(part);
66
- }
67
- }
68
- }
69
- // Check if valid
70
- result.valid = result.x !== undefined && result.y !== undefined;
71
- return result;
72
- });
73
- }
74
- function formatBoxShadowValue(shadows) {
75
- return shadows.map((shadow)=>{
76
- if (!shadow.valid) {
77
- return shadow.raw;
78
- }
79
- return [
80
- shadow.keyword,
81
- shadow.x,
82
- shadow.y,
83
- shadow.blur,
84
- shadow.spread,
85
- shadow.color
86
- ].filter(Boolean).join(" ");
87
- }).join(", ");
88
- }
@@ -1,47 +0,0 @@
1
- // @ts-check
2
- /**
3
- * @typedef {{type: 'dependency', file: string} | {type: 'dir-dependency', dir: string, glob: string}} Dependency
4
- */ /**
5
- *
6
- * @param {import('../lib/content.js').ContentPath} contentPath
7
- * @returns {Dependency[]}
8
- */ "use strict";
9
- Object.defineProperty(exports, "__esModule", {
10
- value: true
11
- });
12
- Object.defineProperty(exports, "default", {
13
- enumerable: true,
14
- get: function() {
15
- return parseDependency;
16
- }
17
- });
18
- function parseDependency(contentPath) {
19
- if (contentPath.ignore) {
20
- return [];
21
- }
22
- if (!contentPath.glob) {
23
- return [
24
- {
25
- type: "dependency",
26
- file: contentPath.base
27
- }
28
- ];
29
- }
30
- if (process.env.ROLLUP_WATCH === "true") {
31
- // rollup-plugin-postcss does not support dir-dependency messages
32
- // but directories can be watched in the same way as files
33
- return [
34
- {
35
- type: "dependency",
36
- file: contentPath.base
37
- }
38
- ];
39
- }
40
- return [
41
- {
42
- type: "dir-dependency",
43
- dir: contentPath.base,
44
- glob: contentPath.glob
45
- }
46
- ];
47
- }