mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-10-25 04:27:14 +09:00
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.
CSS Data
Generated configs and collections from mdn-data into consumable form.