tailwindcss 0.0.0-insiders.eb8d929 → 0.0.0-insiders.ec0049a

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 (277) hide show
  1. package/README.md +5 -6
  2. package/dist/chunk-AZANAYY2.mjs +1 -0
  3. package/dist/chunk-CH45MXZF.mjs +10 -0
  4. package/dist/chunk-V2K3XTS4.mjs +1 -0
  5. package/dist/colors-b_6i0Oi7.d.ts +295 -0
  6. package/dist/colors.d.mts +295 -0
  7. package/dist/colors.d.ts +5 -0
  8. package/dist/colors.js +1 -0
  9. package/dist/colors.mjs +1 -0
  10. package/dist/default-theme.d.mts +1147 -0
  11. package/dist/default-theme.d.ts +1147 -0
  12. package/dist/default-theme.js +1 -0
  13. package/dist/default-theme.mjs +1 -0
  14. package/dist/flatten-color-palette.d.mts +6 -0
  15. package/dist/flatten-color-palette.d.ts +6 -0
  16. package/dist/flatten-color-palette.js +1 -0
  17. package/dist/flatten-color-palette.mjs +1 -0
  18. package/dist/lib.d.mts +260 -0
  19. package/dist/lib.d.ts +3 -0
  20. package/dist/lib.js +33 -0
  21. package/dist/lib.mjs +24 -0
  22. package/dist/plugin.d.mts +11 -0
  23. package/dist/plugin.d.ts +104 -0
  24. package/dist/plugin.js +1 -0
  25. package/dist/plugin.mjs +1 -0
  26. package/dist/resolve-config-BIFUA2FY.d.ts +29 -0
  27. package/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
  28. package/dist/types-B254mqw1.d.mts +98 -0
  29. package/index.css +863 -3
  30. package/package.json +73 -102
  31. package/preflight.css +383 -0
  32. package/theme.css +453 -0
  33. package/base.css +0 -1
  34. package/colors.d.ts +0 -3
  35. package/colors.js +0 -2
  36. package/components.css +0 -1
  37. package/defaultConfig.d.ts +0 -3
  38. package/defaultConfig.js +0 -2
  39. package/defaultTheme.d.ts +0 -4
  40. package/defaultTheme.js +0 -2
  41. package/lib/cli/build/index.js +0 -57
  42. package/lib/cli/build/plugin.js +0 -381
  43. package/lib/cli/build/utils.js +0 -88
  44. package/lib/cli/build/watching.js +0 -182
  45. package/lib/cli/help/index.js +0 -73
  46. package/lib/cli/index.js +0 -231
  47. package/lib/cli/init/index.js +0 -63
  48. package/lib/cli.js +0 -3
  49. package/lib/corePluginList.js +0 -188
  50. package/lib/corePlugins.js +0 -4197
  51. package/lib/css/LICENSE +0 -25
  52. package/lib/css/preflight.css +0 -375
  53. package/lib/featureFlags.js +0 -84
  54. package/lib/index.js +0 -2
  55. package/lib/lib/cacheInvalidation.js +0 -92
  56. package/lib/lib/collapseAdjacentRules.js +0 -61
  57. package/lib/lib/collapseDuplicateDeclarations.js +0 -85
  58. package/lib/lib/content.js +0 -207
  59. package/lib/lib/defaultExtractor.js +0 -243
  60. package/lib/lib/detectNesting.js +0 -45
  61. package/lib/lib/evaluateTailwindFunctions.js +0 -238
  62. package/lib/lib/expandApplyAtRules.js +0 -534
  63. package/lib/lib/expandTailwindAtRules.js +0 -314
  64. package/lib/lib/findAtConfigPath.js +0 -46
  65. package/lib/lib/generateRules.js +0 -879
  66. package/lib/lib/getModuleDependencies.js +0 -99
  67. package/lib/lib/handleImportAtRules.js +0 -50
  68. package/lib/lib/load-config.js +0 -42
  69. package/lib/lib/normalizeTailwindDirectives.js +0 -74
  70. package/lib/lib/offsets.js +0 -306
  71. package/lib/lib/partitionApplyAtRules.js +0 -58
  72. package/lib/lib/regex.js +0 -74
  73. package/lib/lib/remap-bitfield.js +0 -89
  74. package/lib/lib/resolveDefaultsAtRules.js +0 -165
  75. package/lib/lib/setupContextUtils.js +0 -1245
  76. package/lib/lib/setupTrackingContext.js +0 -166
  77. package/lib/lib/sharedState.js +0 -79
  78. package/lib/lib/substituteScreenAtRules.js +0 -31
  79. package/lib/plugin.js +0 -116
  80. package/lib/postcss-plugins/nesting/README.md +0 -42
  81. package/lib/postcss-plugins/nesting/index.js +0 -21
  82. package/lib/postcss-plugins/nesting/plugin.js +0 -89
  83. package/lib/processTailwindFeatures.js +0 -64
  84. package/lib/public/colors.js +0 -355
  85. package/lib/public/create-plugin.js +0 -17
  86. package/lib/public/default-config.js +0 -18
  87. package/lib/public/default-theme.js +0 -18
  88. package/lib/public/load-config.js +0 -12
  89. package/lib/public/resolve-config.js +0 -24
  90. package/lib/util/applyImportantSelector.js +0 -36
  91. package/lib/util/bigSign.js +0 -13
  92. package/lib/util/buildMediaQuery.js +0 -27
  93. package/lib/util/cloneDeep.js +0 -22
  94. package/lib/util/cloneNodes.js +0 -34
  95. package/lib/util/color.js +0 -116
  96. package/lib/util/colorNames.js +0 -752
  97. package/lib/util/configurePlugins.js +0 -23
  98. package/lib/util/createPlugin.js +0 -32
  99. package/lib/util/createUtilityPlugin.js +0 -53
  100. package/lib/util/dataTypes.js +0 -304
  101. package/lib/util/defaults.js +0 -27
  102. package/lib/util/escapeClassName.js +0 -24
  103. package/lib/util/escapeCommas.js +0 -13
  104. package/lib/util/flattenColorPalette.js +0 -18
  105. package/lib/util/formatVariantSelector.js +0 -263
  106. package/lib/util/getAllConfigs.js +0 -50
  107. package/lib/util/hashConfig.js +0 -21
  108. package/lib/util/isKeyframeRule.js +0 -13
  109. package/lib/util/isPlainObject.js +0 -17
  110. package/lib/util/isSyntacticallyValidPropertyValue.js +0 -74
  111. package/lib/util/log.js +0 -78
  112. package/lib/util/nameClass.js +0 -49
  113. package/lib/util/negateValue.js +0 -36
  114. package/lib/util/normalizeConfig.js +0 -308
  115. package/lib/util/normalizeScreens.js +0 -178
  116. package/lib/util/parseAnimationValue.js +0 -93
  117. package/lib/util/parseBoxShadowValue.js +0 -88
  118. package/lib/util/parseDependency.js +0 -47
  119. package/lib/util/parseGlob.js +0 -36
  120. package/lib/util/parseObjectStyles.js +0 -36
  121. package/lib/util/pluginUtils.js +0 -274
  122. package/lib/util/prefixSelector.js +0 -39
  123. package/lib/util/pseudoElements.js +0 -229
  124. package/lib/util/removeAlphaVariables.js +0 -31
  125. package/lib/util/resolveConfig.js +0 -256
  126. package/lib/util/resolveConfigPath.js +0 -70
  127. package/lib/util/responsive.js +0 -24
  128. package/lib/util/splitAtTopLevelOnly.js +0 -51
  129. package/lib/util/tap.js +0 -14
  130. package/lib/util/toColorValue.js +0 -13
  131. package/lib/util/toPath.js +0 -32
  132. package/lib/util/transformThemeValue.js +0 -73
  133. package/lib/util/validateConfig.js +0 -48
  134. package/lib/util/validateFormalSyntax.js +0 -26
  135. package/lib/util/withAlphaVariable.js +0 -79
  136. package/lib/value-parser/LICENSE +0 -22
  137. package/lib/value-parser/README.md +0 -3
  138. package/lib/value-parser/index.d.js +0 -2
  139. package/lib/value-parser/index.js +0 -22
  140. package/lib/value-parser/parse.js +0 -259
  141. package/lib/value-parser/stringify.js +0 -38
  142. package/lib/value-parser/unit.js +0 -86
  143. package/lib/value-parser/walk.js +0 -16
  144. package/loadConfig.d.ts +0 -4
  145. package/loadConfig.js +0 -2
  146. package/nesting/index.js +0 -2
  147. package/plugin.d.ts +0 -11
  148. package/plugin.js +0 -2
  149. package/prettier.config.js +0 -19
  150. package/resolveConfig.d.ts +0 -12
  151. package/resolveConfig.js +0 -2
  152. package/screens.css +0 -1
  153. package/scripts/create-plugin-list.js +0 -10
  154. package/scripts/generate-types.js +0 -105
  155. package/scripts/release-channel.js +0 -18
  156. package/scripts/release-notes.js +0 -21
  157. package/scripts/type-utils.js +0 -27
  158. package/src/cli/build/index.js +0 -53
  159. package/src/cli/build/plugin.js +0 -457
  160. package/src/cli/build/utils.js +0 -76
  161. package/src/cli/build/watching.js +0 -229
  162. package/src/cli/help/index.js +0 -70
  163. package/src/cli/index.js +0 -217
  164. package/src/cli/init/index.js +0 -79
  165. package/src/cli.js +0 -3
  166. package/src/corePluginList.js +0 -1
  167. package/src/corePlugins.js +0 -2877
  168. package/src/css/LICENSE +0 -25
  169. package/src/css/preflight.css +0 -375
  170. package/src/featureFlags.js +0 -68
  171. package/src/index.js +0 -1
  172. package/src/lib/cacheInvalidation.js +0 -52
  173. package/src/lib/collapseAdjacentRules.js +0 -58
  174. package/src/lib/collapseDuplicateDeclarations.js +0 -93
  175. package/src/lib/content.js +0 -240
  176. package/src/lib/defaultExtractor.js +0 -217
  177. package/src/lib/detectNesting.js +0 -47
  178. package/src/lib/evaluateTailwindFunctions.js +0 -272
  179. package/src/lib/expandApplyAtRules.js +0 -613
  180. package/src/lib/expandTailwindAtRules.js +0 -315
  181. package/src/lib/findAtConfigPath.js +0 -48
  182. package/src/lib/generateRules.js +0 -923
  183. package/src/lib/getModuleDependencies.js +0 -79
  184. package/src/lib/handleImportAtRules.js +0 -34
  185. package/src/lib/load-config.ts +0 -31
  186. package/src/lib/normalizeTailwindDirectives.js +0 -57
  187. package/src/lib/offsets.js +0 -373
  188. package/src/lib/partitionApplyAtRules.js +0 -52
  189. package/src/lib/regex.js +0 -74
  190. package/src/lib/remap-bitfield.js +0 -82
  191. package/src/lib/resolveDefaultsAtRules.js +0 -163
  192. package/src/lib/setupContextUtils.js +0 -1318
  193. package/src/lib/setupTrackingContext.js +0 -169
  194. package/src/lib/sharedState.js +0 -57
  195. package/src/lib/substituteScreenAtRules.js +0 -19
  196. package/src/plugin.js +0 -124
  197. package/src/postcss-plugins/nesting/README.md +0 -42
  198. package/src/postcss-plugins/nesting/index.js +0 -13
  199. package/src/postcss-plugins/nesting/plugin.js +0 -80
  200. package/src/processTailwindFeatures.js +0 -58
  201. package/src/public/colors.js +0 -322
  202. package/src/public/create-plugin.js +0 -2
  203. package/src/public/default-config.js +0 -4
  204. package/src/public/default-theme.js +0 -4
  205. package/src/public/load-config.js +0 -2
  206. package/src/public/resolve-config.js +0 -7
  207. package/src/util/applyImportantSelector.js +0 -27
  208. package/src/util/bigSign.js +0 -3
  209. package/src/util/buildMediaQuery.js +0 -22
  210. package/src/util/cloneDeep.js +0 -11
  211. package/src/util/cloneNodes.js +0 -28
  212. package/src/util/color.js +0 -88
  213. package/src/util/colorNames.js +0 -150
  214. package/src/util/configurePlugins.js +0 -23
  215. package/src/util/createPlugin.js +0 -27
  216. package/src/util/createUtilityPlugin.js +0 -37
  217. package/src/util/dataTypes.js +0 -292
  218. package/src/util/defaults.js +0 -17
  219. package/src/util/escapeClassName.js +0 -8
  220. package/src/util/escapeCommas.js +0 -3
  221. package/src/util/flattenColorPalette.js +0 -13
  222. package/src/util/formatVariantSelector.js +0 -316
  223. package/src/util/getAllConfigs.js +0 -38
  224. package/src/util/hashConfig.js +0 -5
  225. package/src/util/isKeyframeRule.js +0 -3
  226. package/src/util/isPlainObject.js +0 -8
  227. package/src/util/isSyntacticallyValidPropertyValue.js +0 -61
  228. package/src/util/log.js +0 -53
  229. package/src/util/nameClass.js +0 -30
  230. package/src/util/negateValue.js +0 -24
  231. package/src/util/normalizeConfig.js +0 -328
  232. package/src/util/normalizeScreens.js +0 -140
  233. package/src/util/parseAnimationValue.js +0 -68
  234. package/src/util/parseBoxShadowValue.js +0 -72
  235. package/src/util/parseDependency.js +0 -44
  236. package/src/util/parseGlob.js +0 -24
  237. package/src/util/parseObjectStyles.js +0 -19
  238. package/src/util/pluginUtils.js +0 -287
  239. package/src/util/prefixSelector.js +0 -32
  240. package/src/util/pseudoElements.js +0 -170
  241. package/src/util/removeAlphaVariables.js +0 -24
  242. package/src/util/resolveConfig.js +0 -277
  243. package/src/util/resolveConfigPath.js +0 -66
  244. package/src/util/responsive.js +0 -10
  245. package/src/util/splitAtTopLevelOnly.js +0 -52
  246. package/src/util/tap.js +0 -4
  247. package/src/util/toColorValue.js +0 -3
  248. package/src/util/toPath.js +0 -26
  249. package/src/util/transformThemeValue.js +0 -62
  250. package/src/util/validateConfig.js +0 -36
  251. package/src/util/validateFormalSyntax.js +0 -34
  252. package/src/util/withAlphaVariable.js +0 -49
  253. package/src/value-parser/LICENSE +0 -22
  254. package/src/value-parser/README.md +0 -3
  255. package/src/value-parser/index.d.ts +0 -177
  256. package/src/value-parser/index.js +0 -28
  257. package/src/value-parser/parse.js +0 -303
  258. package/src/value-parser/stringify.js +0 -41
  259. package/src/value-parser/unit.js +0 -118
  260. package/src/value-parser/walk.js +0 -18
  261. package/stubs/.gitignore +0 -1
  262. package/stubs/.prettierrc.json +0 -6
  263. package/stubs/config.full.js +0 -1003
  264. package/stubs/config.simple.js +0 -7
  265. package/stubs/postcss.config.cjs +0 -5
  266. package/stubs/postcss.config.js +0 -5
  267. package/stubs/tailwind.config.cjs +0 -2
  268. package/stubs/tailwind.config.js +0 -2
  269. package/stubs/tailwind.config.ts +0 -3
  270. package/tailwind.css +0 -5
  271. package/types/config.d.ts +0 -369
  272. package/types/generated/.gitkeep +0 -0
  273. package/types/generated/colors.d.ts +0 -298
  274. package/types/generated/corePluginList.d.ts +0 -1
  275. package/types/generated/default-theme.d.ts +0 -372
  276. package/types/index.d.ts +0 -7
  277. package/variants.css +0 -1
@@ -1,23 +0,0 @@
1
- export default function (pluginConfig, plugins) {
2
- if (pluginConfig === undefined) {
3
- return plugins
4
- }
5
-
6
- const pluginNames = Array.isArray(pluginConfig)
7
- ? pluginConfig
8
- : [
9
- ...new Set(
10
- plugins
11
- .filter((pluginName) => {
12
- return pluginConfig !== false && pluginConfig[pluginName] !== false
13
- })
14
- .concat(
15
- Object.keys(pluginConfig).filter((pluginName) => {
16
- return pluginConfig[pluginName] !== false
17
- })
18
- )
19
- ),
20
- ]
21
-
22
- return pluginNames
23
- }
@@ -1,27 +0,0 @@
1
- function createPlugin(plugin, config) {
2
- return {
3
- handler: plugin,
4
- config,
5
- }
6
- }
7
-
8
- createPlugin.withOptions = function (pluginFunction, configFunction = () => ({})) {
9
- const optionsFunction = function (options) {
10
- return {
11
- __options: options,
12
- handler: pluginFunction(options),
13
- config: configFunction(options),
14
- }
15
- }
16
-
17
- optionsFunction.__isOptionsFunction = true
18
-
19
- // Expose plugin dependencies so that `object-hash` returns a different
20
- // value if anything here changes, to ensure a rebuild is triggered.
21
- optionsFunction.__pluginFunction = pluginFunction
22
- optionsFunction.__configFunction = configFunction
23
-
24
- return optionsFunction
25
- }
26
-
27
- export default createPlugin
@@ -1,37 +0,0 @@
1
- import transformThemeValue from './transformThemeValue'
2
-
3
- export default function createUtilityPlugin(
4
- themeKey,
5
- utilityVariations = [[themeKey, [themeKey]]],
6
- { filterDefault = false, ...options } = {}
7
- ) {
8
- let transformValue = transformThemeValue(themeKey)
9
- return function ({ matchUtilities, theme }) {
10
- for (let utilityVariation of utilityVariations) {
11
- let group = Array.isArray(utilityVariation[0]) ? utilityVariation : [utilityVariation]
12
-
13
- matchUtilities(
14
- group.reduce((obj, [classPrefix, properties]) => {
15
- return Object.assign(obj, {
16
- [classPrefix]: (value) => {
17
- return properties.reduce((obj, name) => {
18
- if (Array.isArray(name)) {
19
- return Object.assign(obj, { [name[0]]: name[1] })
20
- }
21
- return Object.assign(obj, { [name]: transformValue(value) })
22
- }, {})
23
- },
24
- })
25
- }, {}),
26
- {
27
- ...options,
28
- values: filterDefault
29
- ? Object.fromEntries(
30
- Object.entries(theme(themeKey) ?? {}).filter(([modifier]) => modifier !== 'DEFAULT')
31
- )
32
- : theme(themeKey),
33
- }
34
- )
35
- }
36
- }
37
- }
@@ -1,292 +0,0 @@
1
- import { parseColor } from './color'
2
- import { parseBoxShadowValue } from './parseBoxShadowValue'
3
- import { splitAtTopLevelOnly } from './splitAtTopLevelOnly'
4
-
5
- let cssFunctions = ['min', 'max', 'clamp', 'calc']
6
-
7
- // Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types
8
-
9
- function isCSSFunction(value) {
10
- return cssFunctions.some((fn) => new RegExp(`^${fn}\\(.*\\)`).test(value))
11
- }
12
-
13
- const placeholder = '--tw-placeholder'
14
- const placeholderRe = new RegExp(placeholder, 'g')
15
-
16
- // This is not a data type, but rather a function that can normalize the
17
- // correct values.
18
- export function normalize(value, isRoot = true) {
19
- if (value.startsWith('--')) {
20
- return `var(${value})`
21
- }
22
-
23
- // Keep raw strings if it starts with `url(`
24
- if (value.includes('url(')) {
25
- return value
26
- .split(/(url\(.*?\))/g)
27
- .filter(Boolean)
28
- .map((part) => {
29
- if (/^url\(.*?\)$/.test(part)) {
30
- return part
31
- }
32
-
33
- return normalize(part, false)
34
- })
35
- .join('')
36
- }
37
-
38
- // Convert `_` to ` `, except for escaped underscores `\_`
39
- value = value
40
- .replace(
41
- /([^\\])_+/g,
42
- (fullMatch, characterBefore) => characterBefore + ' '.repeat(fullMatch.length - 1)
43
- )
44
- .replace(/^_/g, ' ')
45
- .replace(/\\_/g, '_')
46
-
47
- // Remove leftover whitespace
48
- if (isRoot) {
49
- value = value.trim()
50
- }
51
-
52
- value = normalizeMathOperatorSpacing(value)
53
-
54
- return value
55
- }
56
-
57
- /**
58
- * Add spaces around operators inside math functions
59
- * like calc() that do not follow an operator or '('.
60
- *
61
- * @param {string} value
62
- * @returns {string}
63
- */
64
- function normalizeMathOperatorSpacing(value) {
65
- return value.replace(/(calc|min|max|clamp)\(.+\)/g, (match) => {
66
- let vars = []
67
-
68
- return match
69
- .replace(/var\((--.+?)[,)]/g, (match, g1) => {
70
- vars.push(g1)
71
- return match.replace(g1, placeholder)
72
- })
73
- .replace(/(-?\d*\.?\d(?!\b-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g, '$1 $2 ')
74
- .replace(placeholderRe, () => vars.shift())
75
- })
76
- }
77
-
78
- export function url(value) {
79
- return value.startsWith('url(')
80
- }
81
-
82
- export function number(value) {
83
- return !isNaN(Number(value)) || isCSSFunction(value)
84
- }
85
-
86
- export function percentage(value) {
87
- return (value.endsWith('%') && number(value.slice(0, -1))) || isCSSFunction(value)
88
- }
89
-
90
- // Please refer to MDN when updating this list:
91
- // https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units
92
- // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries#container_query_length_units
93
- let lengthUnits = [
94
- 'cm',
95
- 'mm',
96
- 'Q',
97
- 'in',
98
- 'pc',
99
- 'pt',
100
- 'px',
101
- 'em',
102
- 'ex',
103
- 'ch',
104
- 'rem',
105
- 'lh',
106
- 'rlh',
107
- 'vw',
108
- 'vh',
109
- 'vmin',
110
- 'vmax',
111
- 'vb',
112
- 'vi',
113
- 'svw',
114
- 'svh',
115
- 'lvw',
116
- 'lvh',
117
- 'dvw',
118
- 'dvh',
119
- 'cqw',
120
- 'cqh',
121
- 'cqi',
122
- 'cqb',
123
- 'cqmin',
124
- 'cqmax',
125
- ]
126
- let lengthUnitsPattern = `(?:${lengthUnits.join('|')})`
127
- export function length(value) {
128
- return (
129
- value === '0' ||
130
- new RegExp(`^[+-]?[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) ||
131
- isCSSFunction(value)
132
- )
133
- }
134
-
135
- let lineWidths = new Set(['thin', 'medium', 'thick'])
136
- export function lineWidth(value) {
137
- return lineWidths.has(value)
138
- }
139
-
140
- export function shadow(value) {
141
- let parsedShadows = parseBoxShadowValue(normalize(value))
142
-
143
- for (let parsedShadow of parsedShadows) {
144
- if (!parsedShadow.valid) {
145
- return false
146
- }
147
- }
148
-
149
- return true
150
- }
151
-
152
- export function color(value) {
153
- let colors = 0
154
-
155
- let result = splitAtTopLevelOnly(value, '_').every((part) => {
156
- part = normalize(part)
157
-
158
- if (part.startsWith('var(')) return true
159
- if (parseColor(part, { loose: true }) !== null) return colors++, true
160
-
161
- return false
162
- })
163
-
164
- if (!result) return false
165
- return colors > 0
166
- }
167
-
168
- export function image(value) {
169
- let images = 0
170
- let result = splitAtTopLevelOnly(value, ',').every((part) => {
171
- part = normalize(part)
172
-
173
- if (part.startsWith('var(')) return true
174
- if (
175
- url(part) ||
176
- gradient(part) ||
177
- ['element(', 'image(', 'cross-fade(', 'image-set('].some((fn) => part.startsWith(fn))
178
- ) {
179
- images++
180
- return true
181
- }
182
-
183
- return false
184
- })
185
-
186
- if (!result) return false
187
- return images > 0
188
- }
189
-
190
- let gradientTypes = new Set([
191
- 'conic-gradient',
192
- 'linear-gradient',
193
- 'radial-gradient',
194
- 'repeating-conic-gradient',
195
- 'repeating-linear-gradient',
196
- 'repeating-radial-gradient',
197
- ])
198
- export function gradient(value) {
199
- value = normalize(value)
200
-
201
- for (let type of gradientTypes) {
202
- if (value.startsWith(`${type}(`)) {
203
- return true
204
- }
205
- }
206
- return false
207
- }
208
-
209
- let validPositions = new Set(['center', 'top', 'right', 'bottom', 'left'])
210
- export function position(value) {
211
- let positions = 0
212
- let result = splitAtTopLevelOnly(value, '_').every((part) => {
213
- part = normalize(part)
214
-
215
- if (part.startsWith('var(')) return true
216
- if (validPositions.has(part) || length(part) || percentage(part)) {
217
- positions++
218
- return true
219
- }
220
-
221
- return false
222
- })
223
-
224
- if (!result) return false
225
- return positions > 0
226
- }
227
-
228
- export function familyName(value) {
229
- let fonts = 0
230
- let result = splitAtTopLevelOnly(value, ',').every((part) => {
231
- part = normalize(part)
232
-
233
- if (part.startsWith('var(')) return true
234
-
235
- // If it contains spaces, then it should be quoted
236
- if (part.includes(' ')) {
237
- if (!/(['"])([^"']+)\1/g.test(part)) {
238
- return false
239
- }
240
- }
241
-
242
- // If it starts with a number, it's invalid
243
- if (/^\d/g.test(part)) {
244
- return false
245
- }
246
-
247
- fonts++
248
-
249
- return true
250
- })
251
-
252
- if (!result) return false
253
- return fonts > 0
254
- }
255
-
256
- let genericNames = new Set([
257
- 'serif',
258
- 'sans-serif',
259
- 'monospace',
260
- 'cursive',
261
- 'fantasy',
262
- 'system-ui',
263
- 'ui-serif',
264
- 'ui-sans-serif',
265
- 'ui-monospace',
266
- 'ui-rounded',
267
- 'math',
268
- 'emoji',
269
- 'fangsong',
270
- ])
271
- export function genericName(value) {
272
- return genericNames.has(value)
273
- }
274
-
275
- let absoluteSizes = new Set([
276
- 'xx-small',
277
- 'x-small',
278
- 'small',
279
- 'medium',
280
- 'large',
281
- 'x-large',
282
- 'x-large',
283
- 'xxx-large',
284
- ])
285
- export function absoluteSize(value) {
286
- return absoluteSizes.has(value)
287
- }
288
-
289
- let relativeSizes = new Set(['larger', 'smaller'])
290
- export function relativeSize(value) {
291
- return relativeSizes.has(value)
292
- }
@@ -1,17 +0,0 @@
1
- export function defaults(target, ...sources) {
2
- for (let source of sources) {
3
- for (let k in source) {
4
- if (!target?.hasOwnProperty?.(k)) {
5
- target[k] = source[k]
6
- }
7
- }
8
-
9
- for (let k of Object.getOwnPropertySymbols(source)) {
10
- if (!target?.hasOwnProperty?.(k)) {
11
- target[k] = source[k]
12
- }
13
- }
14
- }
15
-
16
- return target
17
- }
@@ -1,8 +0,0 @@
1
- import parser from 'postcss-selector-parser'
2
- import escapeCommas from './escapeCommas'
3
-
4
- export default function escapeClassName(className) {
5
- let node = parser.className()
6
- node.value = className
7
- return escapeCommas(node?.raws?.value ?? node.value)
8
- }
@@ -1,3 +0,0 @@
1
- export default function escapeCommas(className) {
2
- return className.replace(/\\,/g, '\\2c ')
3
- }
@@ -1,13 +0,0 @@
1
- const flattenColorPalette = (colors) =>
2
- Object.assign(
3
- {},
4
- ...Object.entries(colors ?? {}).flatMap(([color, values]) =>
5
- typeof values == 'object'
6
- ? Object.entries(flattenColorPalette(values)).map(([number, hex]) => ({
7
- [color + (number === 'DEFAULT' ? '' : `-${number}`)]: hex,
8
- }))
9
- : [{ [`${color}`]: values }]
10
- )
11
- )
12
-
13
- export default flattenColorPalette