You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Auto-derived alpha keys for opacity modifier on semantic colors. Writing bg-surface/65 (or any other opacity modifier on a class that resolves to a semantic name) now produces a working rule instead of a warning or error. PurgeTSS detects that the underlying value is a semantic name from semantic.colors.json, derives a new key <originalKey>_<alphaPercent> with the original light/dark hex values and the requested alpha applied to both modes, writes the derived key back to semantic.colors.json, and emits the rule against it (e.g. '.bg-surface/65': { backgroundColor: 'surfaceColor_65' }). The Light/Dark switching that semantic colors give you is preserved end-to-end. Works from both direct XML usage (handled in tailwind-purger.js) and apply: strings inside config.cjs (handled in compileApplyDirectives). Idempotent: re-running build/purge reuses the existing key without duplicating; if a key with the same name exists with different values (e.g. a manual edit), the build halts with a Conflict error so user edits are not silently overwritten. Constraints match the existing opacity modifier — integer 0–100 alpha, base key must already exist in semantic.colors.json. The fail-safe warning/throw added earlier this release still fires when the base key is missing.
Changed
experimental/completions2.js → src/core/builders/auto-utilities-builder.js. The file that owns autoBuildUtilitiesTSS — the active production path that emits utilities.tss from config.cjs — was originally placed under experimental/ while the v6→v7 ESM refactor was in flight, then promoted to production without the rename happening. The file is now under src/core/builders/ next to tailwind-builder.js (its only consumer), with a name that matches its single export.
User-facing glossary output path renamed: purgetss/experimental/tailwind-classes/ → purgetss/glossary/tailwind-classes/.Breaking for any tooling or CI that reads from the old path — no transition shim was added on purpose.
Removed
Dead helpers in src/core/builders/tailwind-helpers.js: combineAllValues, getBaseValues, removeFitMaxMin. Leftovers from the v6→v7 ESM refactor that were never on the production build path.
Dead resetStyles() in src/shared/helpers/core.js. Function was only referenced by tests; not on the active build path.
Orphan wrapper src/dev/builders/tailwind-builder.js. Zero consumers anywhere in src/, bin/, lib/, or tests/.
Fixed
semantic tonal palette: Light/Dark mapping was inverted.buildSemanticPalette was assigning the mirrored hex to light and the original hex to dark. The two values are now in their natural slots.
Opacity modifier on semantic colors no longer crashes or silently disappears.tailwind-purger.js now skips the opacity blend and prints a yellow warning naming the offending class plus three concrete next steps. compileApplyDirectives now throws a descriptive Error with the same three suggestions instead of dereferencing a null regex match.
Background gradient color order was position-dependent and could swap from/to after sort(). The two entries are now identified by array length instead of by index.
theme.Window / theme.View / theme.ImageView no longer leak framework presets when defined at the top level (replace mode). The merge now tracks userReplaced[comp] BEFORE folding extend into theme and skips the preset injection when the element was defined at the replace level.
Gradient direction (bg-gradient-to-X) was silently dropped when combined with gradient colors (from-X to-Y) in the same apply string. Direction and colors now coexist in one object.