Skip to content

Add support for CSS clamp() and min() functions#2000

Open
Jym77 wants to merge 18 commits intomainfrom
css-clamp
Open

Add support for CSS clamp() and min() functions#2000
Jym77 wants to merge 18 commits intomainfrom
css-clamp

Conversation

@Jym77
Copy link
Contributor

@Jym77 Jym77 commented Feb 13, 2026

Resolves https://siteimprove.slack.com/archives/C0AL4K656/p1769713136236259

  • Reorganise the calculations parser to use dependency injection rather than co-recursivity, allowing to move the parsers where they belong.
  • Refactor the CSS calculation function code a bit, for better separation of concerns (could do the same with operations, but these seem unlikely to expand…)
  • Add support for clamp() and min() functions, that are fairly simple to handle. Other functions should be OK-ish to add (a bit more tricky for the step-like one due to the non-calculation argument), but we'll do that later.

@Jym77 Jym77 self-assigned this Feb 13, 2026
@Jym77 Jym77 added the minor Backwards-compatible change that touches public API label Feb 13, 2026
@github-project-automation github-project-automation bot moved this to 🧑‍💻 Doing in ⚙️ Alfa Development Feb 13, 2026
@changeset-bot
Copy link

changeset-bot bot commented Feb 13, 2026

🦋 Changeset detected

Latest commit: 081cd4a

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 80 packages
Name Type
@siteimprove/alfa-css Minor
@siteimprove/alfa-tuple Minor
@siteimprove/alfa-parser Minor
@siteimprove/alfa-cascade Minor
@siteimprove/alfa-css-feature Minor
@siteimprove/alfa-dom Minor
@siteimprove/alfa-painting-order Minor
@siteimprove/alfa-rules Minor
@siteimprove/alfa-selector Minor
@siteimprove/alfa-style Minor
@siteimprove/alfa-act Minor
@siteimprove/alfa-xpath Minor
@siteimprove/alfa-aria Minor
@siteimprove/alfa-table Minor
@siteimprove/alfa-web Minor
@siteimprove/alfa-eaa Minor
@siteimprove/alfa-wcag Minor
@siteimprove/alfa-affine Minor
@siteimprove/alfa-applicative Minor
@siteimprove/alfa-array Minor
@siteimprove/alfa-bits Minor
@siteimprove/alfa-branched Minor
@siteimprove/alfa-cache Minor
@siteimprove/alfa-callback Minor
@siteimprove/alfa-clone Minor
@siteimprove/alfa-collection Minor
@siteimprove/alfa-comparable Minor
@siteimprove/alfa-compatibility Minor
@siteimprove/alfa-continuation Minor
@siteimprove/alfa-device Minor
@siteimprove/alfa-earl Minor
@siteimprove/alfa-either Minor
@siteimprove/alfa-emitter Minor
@siteimprove/alfa-encoding Minor
@siteimprove/alfa-equatable Minor
@siteimprove/alfa-flags Minor
@siteimprove/alfa-fnv Minor
@siteimprove/alfa-foldable Minor
@siteimprove/alfa-functor Minor
@siteimprove/alfa-future Minor
@siteimprove/alfa-generator Minor
@siteimprove/alfa-graph Minor
@siteimprove/alfa-hash Minor
@siteimprove/alfa-http Minor
@siteimprove/alfa-iana Minor
@siteimprove/alfa-iterable Minor
@siteimprove/alfa-json-ld Minor
@siteimprove/alfa-json Minor
@siteimprove/alfa-lazy Minor
@siteimprove/alfa-list Minor
@siteimprove/alfa-map Minor
@siteimprove/alfa-mapper Minor
@siteimprove/alfa-math Minor
@siteimprove/alfa-monad Minor
@siteimprove/alfa-network Minor
@siteimprove/alfa-option Minor
@siteimprove/alfa-performance Minor
@siteimprove/alfa-predicate Minor
@siteimprove/alfa-promise Minor
@siteimprove/alfa-record Minor
@siteimprove/alfa-rectangle Minor
@siteimprove/alfa-reducer Minor
@siteimprove/alfa-refinement Minor
@siteimprove/alfa-result Minor
@siteimprove/alfa-rng Minor
@siteimprove/alfa-sarif Minor
@siteimprove/alfa-selective Minor
@siteimprove/alfa-sequence Minor
@siteimprove/alfa-set Minor
@siteimprove/alfa-slice Minor
@siteimprove/alfa-string Minor
@siteimprove/alfa-test Minor
@siteimprove/alfa-thenable Minor
@siteimprove/alfa-thunk Minor
@siteimprove/alfa-time Minor
@siteimprove/alfa-toolchain Minor
@siteimprove/alfa-trampoline Minor
@siteimprove/alfa-tree Minor
@siteimprove/alfa-trilean Minor
@siteimprove/alfa-url Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Jym77
Copy link
Contributor Author

Jym77 commented Feb 13, 2026

!pr extract

@Jym77 Jym77 marked this pull request as ready for review February 13, 2026 10:20
@Jym77 Jym77 requested a review from a team as a code owner February 13, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Backwards-compatible change that touches public API

Projects

Status: 🧑‍💻 Doing

Development

Successfully merging this pull request may close these issues.

1 participant