tailwindcss 0.0.0-insiders.bbafc8e → 0.0.0-insiders.bbc2f3f
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.
- package/README.md +16 -13
- package/dist/chunk-5C7JPVMO.mjs +10 -0
- package/dist/chunk-AZANAYY2.mjs +1 -0
- package/dist/chunk-V2K3XTS4.mjs +1 -0
- package/dist/colors-b_6i0Oi7.d.ts +295 -0
- package/dist/colors.d.mts +295 -0
- package/dist/colors.d.ts +5 -0
- package/dist/colors.js +1 -0
- package/dist/colors.mjs +1 -0
- package/dist/default-theme.d.mts +1147 -0
- package/dist/default-theme.d.ts +1147 -0
- package/dist/default-theme.js +1 -0
- package/dist/default-theme.mjs +1 -0
- package/dist/flatten-color-palette.d.mts +6 -0
- package/dist/flatten-color-palette.d.ts +6 -0
- package/dist/flatten-color-palette.js +1 -0
- package/dist/flatten-color-palette.mjs +1 -0
- package/dist/lib.d.mts +260 -0
- package/dist/lib.d.ts +3 -0
- package/dist/lib.js +33 -0
- package/dist/lib.mjs +24 -0
- package/dist/plugin.d.mts +11 -0
- package/dist/plugin.d.ts +104 -0
- package/dist/plugin.js +1 -0
- package/dist/plugin.mjs +1 -0
- package/dist/resolve-config-BIFUA2FY.d.ts +29 -0
- package/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
- package/dist/types-B254mqw1.d.mts +98 -0
- package/index.css +865 -0
- package/package.json +73 -95
- package/preflight.css +383 -0
- package/theme.css +453 -0
- package/CHANGELOG.md +0 -2084
- package/base.css +0 -1
- package/colors.js +0 -2
- package/components.css +0 -1
- package/defaultConfig.js +0 -2
- package/defaultTheme.js +0 -2
- package/lib/cli-peer-dependencies.js +0 -15
- package/lib/cli.js +0 -741
- package/lib/constants.js +0 -37
- package/lib/corePluginList.js +0 -178
- package/lib/corePlugins.js +0 -3587
- package/lib/css/LICENSE +0 -25
- package/lib/css/preflight.css +0 -367
- package/lib/featureFlags.js +0 -59
- package/lib/index.js +0 -41
- package/lib/lib/cacheInvalidation.js +0 -69
- package/lib/lib/collapseAdjacentRules.js +0 -54
- package/lib/lib/collapseDuplicateDeclarations.js +0 -80
- package/lib/lib/defaultExtractor.js +0 -44
- package/lib/lib/detectNesting.js +0 -34
- package/lib/lib/evaluateTailwindFunctions.js +0 -171
- package/lib/lib/expandApplyAtRules.js +0 -433
- package/lib/lib/expandTailwindAtRules.js +0 -262
- package/lib/lib/generateRules.js +0 -631
- package/lib/lib/getModuleDependencies.js +0 -48
- package/lib/lib/normalizeTailwindDirectives.js +0 -84
- package/lib/lib/partitionApplyAtRules.js +0 -53
- package/lib/lib/resolveDefaultsAtRules.js +0 -143
- package/lib/lib/setupContextUtils.js +0 -859
- package/lib/lib/setupTrackingContext.js +0 -171
- package/lib/lib/sharedState.js +0 -52
- package/lib/lib/substituteScreenAtRules.js +0 -27
- package/lib/postcss-plugins/nesting/README.md +0 -42
- package/lib/postcss-plugins/nesting/index.js +0 -17
- package/lib/postcss-plugins/nesting/plugin.js +0 -85
- package/lib/processTailwindFeatures.js +0 -59
- package/lib/public/colors.js +0 -329
- package/lib/public/create-plugin.js +0 -13
- package/lib/public/default-config.js +0 -14
- package/lib/public/default-theme.js +0 -14
- package/lib/public/resolve-config.js +0 -19
- package/lib/util/bigSign.js +0 -8
- package/lib/util/buildMediaQuery.js +0 -20
- package/lib/util/cloneDeep.js +0 -19
- package/lib/util/cloneNodes.js +0 -25
- package/lib/util/color.js +0 -99
- package/lib/util/configurePlugins.js +0 -18
- package/lib/util/createPlugin.js +0 -29
- package/lib/util/createUtilityPlugin.js +0 -49
- package/lib/util/dataTypes.js +0 -233
- package/lib/util/defaults.js +0 -22
- package/lib/util/escapeClassName.js +0 -19
- package/lib/util/escapeCommas.js +0 -8
- package/lib/util/flattenColorPalette.js +0 -17
- package/lib/util/formatVariantSelector.js +0 -186
- package/lib/util/getAllConfigs.js +0 -29
- package/lib/util/hashConfig.js +0 -16
- package/lib/util/isKeyframeRule.js +0 -8
- package/lib/util/isPlainObject.js +0 -12
- package/lib/util/isValidArbitraryValue.js +0 -64
- package/lib/util/log.js +0 -51
- package/lib/util/nameClass.js +0 -32
- package/lib/util/negateValue.js +0 -19
- package/lib/util/normalizeConfig.js +0 -240
- package/lib/util/normalizeScreens.js +0 -59
- package/lib/util/parseAnimationValue.js +0 -89
- package/lib/util/parseBoxShadowValue.js +0 -117
- package/lib/util/parseDependency.js +0 -63
- package/lib/util/parseObjectStyles.js +0 -31
- package/lib/util/pluginUtils.js +0 -179
- package/lib/util/prefixSelector.js +0 -20
- package/lib/util/resolveConfig.js +0 -255
- package/lib/util/resolveConfigPath.js +0 -51
- package/lib/util/responsive.js +0 -19
- package/lib/util/tap.js +0 -9
- package/lib/util/toColorValue.js +0 -8
- package/lib/util/toPath.js +0 -14
- package/lib/util/transformThemeValue.js +0 -59
- package/lib/util/withAlphaVariable.js +0 -67
- package/nesting/index.js +0 -2
- package/peers/index.js +0 -75077
- package/plugin.js +0 -2
- package/prettier.config.js +0 -19
- package/resolveConfig.js +0 -2
- package/screens.css +0 -1
- package/scripts/create-plugin-list.js +0 -10
- package/scripts/install-integrations.js +0 -27
- package/scripts/rebuildFixtures.js +0 -68
- package/src/cli-peer-dependencies.js +0 -9
- package/src/cli.js +0 -815
- package/src/constants.js +0 -17
- package/src/corePluginList.js +0 -1
- package/src/corePlugins.js +0 -2365
- package/src/css/LICENSE +0 -25
- package/src/css/preflight.css +0 -367
- package/src/featureFlags.js +0 -54
- package/src/index.js +0 -42
- package/src/lib/cacheInvalidation.js +0 -52
- package/src/lib/collapseAdjacentRules.js +0 -54
- package/src/lib/collapseDuplicateDeclarations.js +0 -93
- package/src/lib/defaultExtractor.js +0 -50
- package/src/lib/detectNesting.js +0 -39
- package/src/lib/evaluateTailwindFunctions.js +0 -198
- package/src/lib/expandApplyAtRules.js +0 -480
- package/src/lib/expandTailwindAtRules.js +0 -292
- package/src/lib/generateRules.js +0 -623
- package/src/lib/getModuleDependencies.js +0 -39
- package/src/lib/normalizeTailwindDirectives.js +0 -84
- package/src/lib/partitionApplyAtRules.js +0 -52
- package/src/lib/resolveDefaultsAtRules.js +0 -146
- package/src/lib/setupContextUtils.js +0 -883
- package/src/lib/setupTrackingContext.js +0 -183
- package/src/lib/sharedState.js +0 -48
- package/src/lib/substituteScreenAtRules.js +0 -19
- package/src/postcss-plugins/nesting/README.md +0 -42
- package/src/postcss-plugins/nesting/index.js +0 -13
- package/src/postcss-plugins/nesting/plugin.js +0 -80
- package/src/processTailwindFeatures.js +0 -58
- package/src/public/colors.js +0 -300
- package/src/public/create-plugin.js +0 -2
- package/src/public/default-config.js +0 -4
- package/src/public/default-theme.js +0 -4
- package/src/public/resolve-config.js +0 -7
- package/src/util/bigSign.js +0 -3
- package/src/util/buildMediaQuery.js +0 -20
- package/src/util/cloneDeep.js +0 -11
- package/src/util/cloneNodes.js +0 -24
- package/src/util/color.js +0 -69
- package/src/util/configurePlugins.js +0 -23
- package/src/util/createPlugin.js +0 -27
- package/src/util/createUtilityPlugin.js +0 -37
- package/src/util/dataTypes.js +0 -248
- package/src/util/defaults.js +0 -17
- package/src/util/escapeClassName.js +0 -8
- package/src/util/escapeCommas.js +0 -3
- package/src/util/flattenColorPalette.js +0 -13
- package/src/util/formatVariantSelector.js +0 -196
- package/src/util/getAllConfigs.js +0 -19
- package/src/util/hashConfig.js +0 -5
- package/src/util/isKeyframeRule.js +0 -3
- package/src/util/isPlainObject.js +0 -8
- package/src/util/isValidArbitraryValue.js +0 -61
- package/src/util/log.js +0 -29
- package/src/util/nameClass.js +0 -26
- package/src/util/negateValue.js +0 -16
- package/src/util/normalizeConfig.js +0 -270
- package/src/util/normalizeScreens.js +0 -45
- package/src/util/parseAnimationValue.js +0 -68
- package/src/util/parseBoxShadowValue.js +0 -119
- package/src/util/parseDependency.js +0 -49
- package/src/util/parseObjectStyles.js +0 -19
- package/src/util/pluginUtils.js +0 -192
- package/src/util/prefixSelector.js +0 -14
- package/src/util/resolveConfig.js +0 -269
- package/src/util/resolveConfigPath.js +0 -55
- package/src/util/responsive.js +0 -10
- package/src/util/tap.js +0 -4
- package/src/util/toColorValue.js +0 -3
- package/src/util/toPath.js +0 -26
- package/src/util/transformThemeValue.js +0 -52
- package/src/util/withAlphaVariable.js +0 -49
- package/stubs/defaultConfig.stub.js +0 -950
- package/stubs/defaultPostCssConfig.stub.js +0 -6
- package/stubs/simpleConfig.stub.js +0 -7
- package/tailwind.css +0 -5
- package/variants.css +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import log from '../util/log'
|
|
2
|
-
|
|
3
|
-
export default function normalizeTailwindDirectives(root) {
|
|
4
|
-
let tailwindDirectives = new Set()
|
|
5
|
-
let layerDirectives = new Set()
|
|
6
|
-
let applyDirectives = new Set()
|
|
7
|
-
|
|
8
|
-
root.walkAtRules((atRule) => {
|
|
9
|
-
if (atRule.name === 'apply') {
|
|
10
|
-
applyDirectives.add(atRule)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if (atRule.name === 'import') {
|
|
14
|
-
if (atRule.params === '"tailwindcss/base"' || atRule.params === "'tailwindcss/base'") {
|
|
15
|
-
atRule.name = 'tailwind'
|
|
16
|
-
atRule.params = 'base'
|
|
17
|
-
} else if (
|
|
18
|
-
atRule.params === '"tailwindcss/components"' ||
|
|
19
|
-
atRule.params === "'tailwindcss/components'"
|
|
20
|
-
) {
|
|
21
|
-
atRule.name = 'tailwind'
|
|
22
|
-
atRule.params = 'components'
|
|
23
|
-
} else if (
|
|
24
|
-
atRule.params === '"tailwindcss/utilities"' ||
|
|
25
|
-
atRule.params === "'tailwindcss/utilities'"
|
|
26
|
-
) {
|
|
27
|
-
atRule.name = 'tailwind'
|
|
28
|
-
atRule.params = 'utilities'
|
|
29
|
-
} else if (
|
|
30
|
-
atRule.params === '"tailwindcss/screens"' ||
|
|
31
|
-
atRule.params === "'tailwindcss/screens'" ||
|
|
32
|
-
atRule.params === '"tailwindcss/variants"' ||
|
|
33
|
-
atRule.params === "'tailwindcss/variants'"
|
|
34
|
-
) {
|
|
35
|
-
atRule.name = 'tailwind'
|
|
36
|
-
atRule.params = 'variants'
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (atRule.name === 'tailwind') {
|
|
41
|
-
if (atRule.params === 'screens') {
|
|
42
|
-
atRule.params = 'variants'
|
|
43
|
-
}
|
|
44
|
-
tailwindDirectives.add(atRule.params)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (['layer', 'responsive', 'variants'].includes(atRule.name)) {
|
|
48
|
-
if (['responsive', 'variants'].includes(atRule.name)) {
|
|
49
|
-
log.warn(`${atRule.name}-at-rule-deprecated`, [
|
|
50
|
-
`The \`@${atRule.name}\` directive has been deprecated in Tailwind CSS v3.0.`,
|
|
51
|
-
`Use \`@layer utilities\` or \`@layer components\` instead.`,
|
|
52
|
-
'https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer',
|
|
53
|
-
])
|
|
54
|
-
}
|
|
55
|
-
layerDirectives.add(atRule)
|
|
56
|
-
}
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
if (
|
|
60
|
-
!tailwindDirectives.has('base') ||
|
|
61
|
-
!tailwindDirectives.has('components') ||
|
|
62
|
-
!tailwindDirectives.has('utilities')
|
|
63
|
-
) {
|
|
64
|
-
for (let rule of layerDirectives) {
|
|
65
|
-
if (rule.name === 'layer' && ['base', 'components', 'utilities'].includes(rule.params)) {
|
|
66
|
-
if (!tailwindDirectives.has(rule.params)) {
|
|
67
|
-
throw rule.error(
|
|
68
|
-
`\`@layer ${rule.params}\` is used but no matching \`@tailwind ${rule.params}\` directive is present.`
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
} else if (rule.name === 'responsive') {
|
|
72
|
-
if (!tailwindDirectives.has('utilities')) {
|
|
73
|
-
throw rule.error('`@responsive` is used but `@tailwind utilities` is missing.')
|
|
74
|
-
}
|
|
75
|
-
} else if (rule.name === 'variants') {
|
|
76
|
-
if (!tailwindDirectives.has('utilities')) {
|
|
77
|
-
throw rule.error('`@variants` is used but `@tailwind utilities` is missing.')
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return { tailwindDirectives, applyDirectives }
|
|
84
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
function partitionRules(root) {
|
|
2
|
-
if (!root.walkAtRules) return
|
|
3
|
-
|
|
4
|
-
let applyParents = new Set()
|
|
5
|
-
|
|
6
|
-
root.walkAtRules('apply', (rule) => {
|
|
7
|
-
applyParents.add(rule.parent)
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
if (applyParents.size === 0) {
|
|
11
|
-
return
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
for (let rule of applyParents) {
|
|
15
|
-
let nodeGroups = []
|
|
16
|
-
let lastGroup = []
|
|
17
|
-
|
|
18
|
-
for (let node of rule.nodes) {
|
|
19
|
-
if (node.type === 'atrule' && node.name === 'apply') {
|
|
20
|
-
if (lastGroup.length > 0) {
|
|
21
|
-
nodeGroups.push(lastGroup)
|
|
22
|
-
lastGroup = []
|
|
23
|
-
}
|
|
24
|
-
nodeGroups.push([node])
|
|
25
|
-
} else {
|
|
26
|
-
lastGroup.push(node)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (lastGroup.length > 0) {
|
|
31
|
-
nodeGroups.push(lastGroup)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (nodeGroups.length === 1) {
|
|
35
|
-
continue
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
for (let group of [...nodeGroups].reverse()) {
|
|
39
|
-
let clone = rule.clone({ nodes: [] })
|
|
40
|
-
clone.append(group)
|
|
41
|
-
rule.after(clone)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
rule.remove()
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export default function expandApplyAtRules() {
|
|
49
|
-
return (root) => {
|
|
50
|
-
partitionRules(root)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import postcss from 'postcss'
|
|
2
|
-
import selectorParser from 'postcss-selector-parser'
|
|
3
|
-
import { flagEnabled } from '../featureFlags'
|
|
4
|
-
|
|
5
|
-
let getNode = {
|
|
6
|
-
id(node) {
|
|
7
|
-
return selectorParser.attribute({
|
|
8
|
-
attribute: 'id',
|
|
9
|
-
operator: '=',
|
|
10
|
-
value: node.value,
|
|
11
|
-
quoteMark: '"',
|
|
12
|
-
})
|
|
13
|
-
},
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function minimumImpactSelector(nodes) {
|
|
17
|
-
let rest = nodes
|
|
18
|
-
.filter((node) => {
|
|
19
|
-
// Keep non-pseudo nodes
|
|
20
|
-
if (node.type !== 'pseudo') return true
|
|
21
|
-
|
|
22
|
-
// Keep pseudo nodes that have subnodes
|
|
23
|
-
// E.g.: `:not()` contains subnodes inside the parentheses
|
|
24
|
-
if (node.nodes.length > 0) return true
|
|
25
|
-
|
|
26
|
-
// Keep pseudo `elements`
|
|
27
|
-
// This implicitly means that we ignore pseudo `classes`
|
|
28
|
-
return (
|
|
29
|
-
node.value.startsWith('::') ||
|
|
30
|
-
[':before', ':after', ':first-line', ':first-letter'].includes(node.value)
|
|
31
|
-
)
|
|
32
|
-
})
|
|
33
|
-
.reverse()
|
|
34
|
-
|
|
35
|
-
let searchFor = new Set(['tag', 'class', 'id', 'attribute'])
|
|
36
|
-
|
|
37
|
-
let splitPointIdx = rest.findIndex((n) => searchFor.has(n.type))
|
|
38
|
-
if (splitPointIdx === -1) return rest.reverse().join('').trim()
|
|
39
|
-
|
|
40
|
-
let node = rest[splitPointIdx]
|
|
41
|
-
let bestNode = getNode[node.type] ? getNode[node.type](node) : node
|
|
42
|
-
|
|
43
|
-
rest = rest.slice(0, splitPointIdx)
|
|
44
|
-
|
|
45
|
-
let combinatorIdx = rest.findIndex((n) => n.type === 'combinator' && n.value === '>')
|
|
46
|
-
if (combinatorIdx !== -1) {
|
|
47
|
-
rest.splice(0, combinatorIdx)
|
|
48
|
-
rest.unshift(selectorParser.universal())
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return [bestNode, ...rest.reverse()].join('').trim()
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export let elementSelectorParser = selectorParser((selectors) => {
|
|
55
|
-
return selectors.map((s) => {
|
|
56
|
-
let nodes = s.split((n) => n.type === 'combinator' && n.value === ' ').pop()
|
|
57
|
-
return minimumImpactSelector(nodes)
|
|
58
|
-
})
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
let cache = new Map()
|
|
62
|
-
|
|
63
|
-
function extractElementSelector(selector) {
|
|
64
|
-
if (!cache.has(selector)) {
|
|
65
|
-
cache.set(selector, elementSelectorParser.transformSync(selector))
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return cache.get(selector)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export default function resolveDefaultsAtRules({ tailwindConfig }) {
|
|
72
|
-
return (root) => {
|
|
73
|
-
let variableNodeMap = new Map()
|
|
74
|
-
|
|
75
|
-
/** @type {Set<import('postcss').AtRule>} */
|
|
76
|
-
let universals = new Set()
|
|
77
|
-
|
|
78
|
-
root.walkAtRules('defaults', (rule) => {
|
|
79
|
-
if (rule.nodes && rule.nodes.length > 0) {
|
|
80
|
-
universals.add(rule)
|
|
81
|
-
return
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
let variable = rule.params
|
|
85
|
-
if (!variableNodeMap.has(variable)) {
|
|
86
|
-
variableNodeMap.set(variable, new Set())
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
variableNodeMap.get(variable).add(rule.parent)
|
|
90
|
-
|
|
91
|
-
rule.remove()
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
for (let universal of universals) {
|
|
95
|
-
/** @type {Map<string, Set<string>>} */
|
|
96
|
-
let selectorGroups = new Map()
|
|
97
|
-
|
|
98
|
-
let rules = variableNodeMap.get(universal.params) ?? []
|
|
99
|
-
|
|
100
|
-
for (let rule of rules) {
|
|
101
|
-
for (let selector of extractElementSelector(rule.selector)) {
|
|
102
|
-
// If selector contains a vendor prefix after a pseudo element or class,
|
|
103
|
-
// we consider them separately because merging the declarations into
|
|
104
|
-
// a single rule will cause browsers that do not understand the
|
|
105
|
-
// vendor prefix to throw out the whole rule
|
|
106
|
-
let selectorGroupName =
|
|
107
|
-
selector.includes(':-') || selector.includes('::-') ? selector : '__DEFAULT__'
|
|
108
|
-
|
|
109
|
-
let selectors = selectorGroups.get(selectorGroupName) ?? new Set()
|
|
110
|
-
selectorGroups.set(selectorGroupName, selectors)
|
|
111
|
-
|
|
112
|
-
selectors.add(selector)
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (flagEnabled(tailwindConfig, 'optimizeUniversalDefaults')) {
|
|
117
|
-
if (selectorGroups.size === 0) {
|
|
118
|
-
universal.remove()
|
|
119
|
-
continue
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
for (let [, selectors] of selectorGroups) {
|
|
123
|
-
let universalRule = postcss.rule({
|
|
124
|
-
source: universal.source,
|
|
125
|
-
})
|
|
126
|
-
|
|
127
|
-
universalRule.selectors = [...selectors]
|
|
128
|
-
|
|
129
|
-
universalRule.append(universal.nodes.map((node) => node.clone()))
|
|
130
|
-
universal.before(universalRule)
|
|
131
|
-
}
|
|
132
|
-
} else {
|
|
133
|
-
let universalRule = postcss.rule({
|
|
134
|
-
source: universal.source,
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
universalRule.selectors = ['*', '::before', '::after']
|
|
138
|
-
|
|
139
|
-
universalRule.append(universal.nodes)
|
|
140
|
-
universal.before(universalRule)
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
universal.remove()
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|