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,238 +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 _default;
9
- }
10
- });
11
- const _dlv = /*#__PURE__*/ _interop_require_default(require("dlv"));
12
- const _didyoumean = /*#__PURE__*/ _interop_require_default(require("didyoumean"));
13
- const _transformThemeValue = /*#__PURE__*/ _interop_require_default(require("../util/transformThemeValue"));
14
- const _index = /*#__PURE__*/ _interop_require_default(require("../value-parser/index"));
15
- const _normalizeScreens = require("../util/normalizeScreens");
16
- const _buildMediaQuery = /*#__PURE__*/ _interop_require_default(require("../util/buildMediaQuery"));
17
- const _toPath = require("../util/toPath");
18
- const _withAlphaVariable = require("../util/withAlphaVariable");
19
- const _pluginUtils = require("../util/pluginUtils");
20
- const _log = /*#__PURE__*/ _interop_require_default(require("../util/log"));
21
- function _interop_require_default(obj) {
22
- return obj && obj.__esModule ? obj : {
23
- default: obj
24
- };
25
- }
26
- function isObject(input) {
27
- return typeof input === "object" && input !== null;
28
- }
29
- function findClosestExistingPath(theme, path) {
30
- let parts = (0, _toPath.toPath)(path);
31
- do {
32
- parts.pop();
33
- if ((0, _dlv.default)(theme, parts) !== undefined) break;
34
- }while (parts.length);
35
- return parts.length ? parts : undefined;
36
- }
37
- function pathToString(path) {
38
- if (typeof path === "string") return path;
39
- return path.reduce((acc, cur, i)=>{
40
- if (cur.includes(".")) return `${acc}[${cur}]`;
41
- return i === 0 ? cur : `${acc}.${cur}`;
42
- }, "");
43
- }
44
- function list(items) {
45
- return items.map((key)=>`'${key}'`).join(", ");
46
- }
47
- function listKeys(obj) {
48
- return list(Object.keys(obj));
49
- }
50
- function validatePath(config, path, defaultValue, themeOpts = {}) {
51
- const pathString = Array.isArray(path) ? pathToString(path) : path.replace(/^['"]+|['"]+$/g, "");
52
- const pathSegments = Array.isArray(path) ? path : (0, _toPath.toPath)(pathString);
53
- const value = (0, _dlv.default)(config.theme, pathSegments, defaultValue);
54
- if (value === undefined) {
55
- let error = `'${pathString}' does not exist in your theme config.`;
56
- const parentSegments = pathSegments.slice(0, -1);
57
- const parentValue = (0, _dlv.default)(config.theme, parentSegments);
58
- if (isObject(parentValue)) {
59
- const validKeys = Object.keys(parentValue).filter((key)=>validatePath(config, [
60
- ...parentSegments,
61
- key
62
- ]).isValid);
63
- const suggestion = (0, _didyoumean.default)(pathSegments[pathSegments.length - 1], validKeys);
64
- if (suggestion) {
65
- error += ` Did you mean '${pathToString([
66
- ...parentSegments,
67
- suggestion
68
- ])}'?`;
69
- } else if (validKeys.length > 0) {
70
- error += ` '${pathToString(parentSegments)}' has the following valid keys: ${list(validKeys)}`;
71
- }
72
- } else {
73
- const closestPath = findClosestExistingPath(config.theme, pathString);
74
- if (closestPath) {
75
- const closestValue = (0, _dlv.default)(config.theme, closestPath);
76
- if (isObject(closestValue)) {
77
- error += ` '${pathToString(closestPath)}' has the following keys: ${listKeys(closestValue)}`;
78
- } else {
79
- error += ` '${pathToString(closestPath)}' is not an object.`;
80
- }
81
- } else {
82
- error += ` Your theme has the following top-level keys: ${listKeys(config.theme)}`;
83
- }
84
- }
85
- return {
86
- isValid: false,
87
- error
88
- };
89
- }
90
- if (!(typeof value === "string" || typeof value === "number" || typeof value === "function" || value instanceof String || value instanceof Number || Array.isArray(value))) {
91
- let error = `'${pathString}' was found but does not resolve to a string.`;
92
- if (isObject(value)) {
93
- let validKeys = Object.keys(value).filter((key)=>validatePath(config, [
94
- ...pathSegments,
95
- key
96
- ]).isValid);
97
- if (validKeys.length) {
98
- error += ` Did you mean something like '${pathToString([
99
- ...pathSegments,
100
- validKeys[0]
101
- ])}'?`;
102
- }
103
- }
104
- return {
105
- isValid: false,
106
- error
107
- };
108
- }
109
- const [themeSection] = pathSegments;
110
- return {
111
- isValid: true,
112
- value: (0, _transformThemeValue.default)(themeSection)(value, themeOpts)
113
- };
114
- }
115
- function extractArgs(node, vNodes, functions) {
116
- vNodes = vNodes.map((vNode)=>resolveVNode(node, vNode, functions));
117
- let args = [
118
- ""
119
- ];
120
- for (let vNode of vNodes){
121
- if (vNode.type === "div" && vNode.value === ",") {
122
- args.push("");
123
- } else {
124
- args[args.length - 1] += _index.default.stringify(vNode);
125
- }
126
- }
127
- return args;
128
- }
129
- function resolveVNode(node, vNode, functions) {
130
- if (vNode.type === "function" && functions[vNode.value] !== undefined) {
131
- let args = extractArgs(node, vNode.nodes, functions);
132
- vNode.type = "word";
133
- vNode.value = functions[vNode.value](node, ...args);
134
- }
135
- return vNode;
136
- }
137
- function resolveFunctions(node, input, functions) {
138
- let hasAnyFn = Object.keys(functions).some((fn)=>input.includes(`${fn}(`));
139
- if (!hasAnyFn) return input;
140
- return (0, _index.default)(input).walk((vNode)=>{
141
- resolveVNode(node, vNode, functions);
142
- }).toString();
143
- }
144
- let nodeTypePropertyMap = {
145
- atrule: "params",
146
- decl: "value"
147
- };
148
- /**
149
- * @param {string} path
150
- * @returns {Iterable<[path: string, alpha: string|undefined]>}
151
- */ function* toPaths(path) {
152
- // Strip quotes from beginning and end of string
153
- // This allows the alpha value to be present inside of quotes
154
- path = path.replace(/^['"]+|['"]+$/g, "");
155
- let matches = path.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/);
156
- let alpha = undefined;
157
- yield [
158
- path,
159
- undefined
160
- ];
161
- if (matches) {
162
- path = matches[1];
163
- alpha = matches[2];
164
- yield [
165
- path,
166
- alpha
167
- ];
168
- }
169
- }
170
- /**
171
- *
172
- * @param {any} config
173
- * @param {string} path
174
- * @param {any} defaultValue
175
- */ function resolvePath(config, path, defaultValue) {
176
- const results = Array.from(toPaths(path)).map(([path, alpha])=>{
177
- return Object.assign(validatePath(config, path, defaultValue, {
178
- opacityValue: alpha
179
- }), {
180
- resolvedPath: path,
181
- alpha
182
- });
183
- });
184
- var _results_find;
185
- return (_results_find = results.find((result)=>result.isValid)) !== null && _results_find !== void 0 ? _results_find : results[0];
186
- }
187
- function _default(context) {
188
- let config = context.tailwindConfig;
189
- let functions = {
190
- theme: (node, path, ...defaultValue)=>{
191
- let { isValid , value , error , alpha } = resolvePath(config, path, defaultValue.length ? defaultValue : undefined);
192
- if (!isValid) {
193
- var _parentNode_raws_tailwind;
194
- let parentNode = node.parent;
195
- let candidate = (_parentNode_raws_tailwind = parentNode === null || parentNode === void 0 ? void 0 : parentNode.raws.tailwind) === null || _parentNode_raws_tailwind === void 0 ? void 0 : _parentNode_raws_tailwind.candidate;
196
- if (parentNode && candidate !== undefined) {
197
- // Remove this utility from any caches
198
- context.markInvalidUtilityNode(parentNode);
199
- // Remove the CSS node from the markup
200
- parentNode.remove();
201
- // Show a warning
202
- _log.default.warn("invalid-theme-key-in-class", [
203
- `The utility \`${candidate}\` contains an invalid theme value and was not generated.`
204
- ]);
205
- return;
206
- }
207
- throw node.error(error);
208
- }
209
- let maybeColor = (0, _pluginUtils.parseColorFormat)(value);
210
- let isColorFunction = maybeColor !== undefined && typeof maybeColor === "function";
211
- if (alpha !== undefined || isColorFunction) {
212
- if (alpha === undefined) {
213
- alpha = 1.0;
214
- }
215
- value = (0, _withAlphaVariable.withAlphaValue)(maybeColor, alpha, maybeColor);
216
- }
217
- return value;
218
- },
219
- screen: (node, screen)=>{
220
- screen = screen.replace(/^['"]+/g, "").replace(/['"]+$/g, "");
221
- let screens = (0, _normalizeScreens.normalizeScreens)(config.theme.screens);
222
- let screenDefinition = screens.find(({ name })=>name === screen);
223
- if (!screenDefinition) {
224
- throw node.error(`The '${screen}' screen does not exist in your theme.`);
225
- }
226
- return (0, _buildMediaQuery.default)(screenDefinition);
227
- }
228
- };
229
- return (root)=>{
230
- root.walk((node)=>{
231
- let property = nodeTypePropertyMap[node.type];
232
- if (property === undefined) {
233
- return;
234
- }
235
- node[property] = resolveFunctions(node, node[property], functions);
236
- });
237
- };
238
- }