mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
Tailwind registers internal slots (`--tw-content`, `--tw-shadow`, …) via
`@property` rules that supply their defaults. `decompose` dropped those
rules, so utilities that reference a slot without setting it locally —
notably `after:*`/`before:*` emitting `content: var(--tw-content)` — left
a dangling reference that resolves to nothing and suppresses the
pseudo-element.
`decompose` now captures the `@property` registrations, and `emitCss`
gains a `properties` option to handle them, configurably:
- `mode: 'emit'` — emit `@property` rules for referenced slots,
preserving Tailwind's typed defaults.
- `mode: 'inline'` — substitute each slot's `initial-value` into the
values that reference it (a superset of `inlineVars` for the matched
slots), so the output is fully self-contained.
- `resolve(name, captured)` hook — override or supply a slot's config
(initial-value / syntax / inherits), or register one Tailwind didn't.
- `match` — restrict handling to matching names (default `/^--tw-/`).
`tailwindPlugin` forwards `properties` through its `onCss` path. Adds 9
tests (capture, emit, inline, resolve override, match, back-compat,
plugin e2e). Compiler suite: 178 passing.
29 lines
761 B
TypeScript
29 lines
761 B
TypeScript
export {
|
|
type Declaration,
|
|
decompose,
|
|
type PropertyRule,
|
|
type UtilityCss,
|
|
type Variant,
|
|
type VariantKind,
|
|
} from './decompose';
|
|
export { type DesignSystem, loadDesignSystem } from './design-system';
|
|
export {
|
|
type CompiledRule,
|
|
type EmitCssOptions,
|
|
type EmittedCss,
|
|
emitCss,
|
|
type HoistOptions,
|
|
type PropertyDef,
|
|
type RegisteredPropertiesOptions,
|
|
} from './emit';
|
|
export { clearTokenModuleCache, EvaluationError, loadTokenModule, type TokenValue } from './evaluator';
|
|
export {
|
|
type DeriveClassNameOptions,
|
|
type DerivedClassName,
|
|
DiagnosticError,
|
|
deriveClassName,
|
|
type NameContext,
|
|
type NameTransform,
|
|
} from './naming';
|
|
export { type BagFor, type TailwindPluginOptions, type TailwindTarget, tailwindPlugin } from './plugin';
|