Files
Oleg Isonen f08b72439c fix: Preserve calc flex basis in fragment styles (#6585)
Closes #6584

## Change
A `flex` shorthand with a nested `calc()` and CSS variable could lose
its basis during expansion. Keep the complete basis when it appears
alone, before the numeric flex factors, or after one or two factors. The
parser handles these forms without a function-name list.

Also update `mdn-data` from 2.33.0 to 2.37.2, as requested for this PR.
Regenerated CSS data adds `scroll-axis-lock` and `window-drag`, marks
`zoom` animatable, and refreshes MDN links. The two new property article
links currently lead to missing pages, so the generator uses its
existing MDN search fallback for them. The flex grammar in MDN data did
not change.

The flex parser changes add 20 net non-test lines. The dependency update
adds 3 net handwritten lines in the generator; the rest is package
metadata and generated output.

## Verification
- The reported shorthand regression and a `parseCss` comparison against
explicit longhands failed before the parser fix and pass afterward.
- CSS-data tests: 4,657 passed, 1 skipped. CSS-engine tests: 173 passed.
Targeted Builder Chromium tests: 27 passed.
- CSS-data, CSS-engine, and Builder typechecks; root lint; formatting;
and `git diff --check` passed.
- Frozen lockfile install and the full fixture link/sync/build pipeline
passed. The only fixture output drift came from unrelated synced sitemap
content and was excluded.
- Both CSS generators produced stable output on a second run. Both
fallback MDN search links returned HTTP 200.
- Reviewed Builder `docs/`: no documentation change is needed. Existing
guidance covers property status and animation choices.

## Known limitation
`calc-size()` is preserved during shorthand expansion, but the separate
longhand validator still marks it invalid in non-browser builds. Numeric
and basis functions can also be ambiguous until CSS variables resolve;
this fallback handles the reproduced basis forms, not every possible
calculation.

## Checklist
- [x] Reproduce the reported nested `calc()` value and cover shorthand
and saved-style parsing.
- [x] Preserve the full basis without changing simple flex expansion.
- [x] Simplify the fallback parsing, remove the function-name list, and
test another valid basis function.
- [x] Update `mdn-data` to 2.37.2 and regenerate CSS data and variable
fixtures.
- [x] Use working MDN search links for the two new properties whose
articles return 404.
- [x] Review generated CSS, type, and fixture changes.
- [x] Run CSS tests, typechecks, lint, formatting, and fixtures.
- [x] Review Builder `docs/` for both changes; no documentation update
is needed.
- [x] Review the diff and commit only related files.
- [x] Resolve review feedback for calculated flex bases with optional
factors and basis-first order.
- [x] Verify required PR CI checks after the final update.
2026-10-23 17:24:25 +02:00
..
2022-11-17 21:12:39 +01:00

CSS Data

Generated configs and collections from mdn-data into consumable form.