min and max grey out the days the control would refuse

Expected: the picker for the first control shows September 2026 with every day selectable; for the second, only the 10th to the 20th are; stepping to another month shows it entirely greyed. The value never leaves the allowed range.

step counts days from min

Expected: with step="7" and min="2026-09-01" only the 1st, 8th, 15th, 22nd and 29th of September are selectable (every Tuesday). Without a min the step is counted from 1970-01-01, a Thursday, so the second control allows Thursdays only.

Bounds that say nothing

Expected: these open like an unbounded control. A bound that is not a valid date, a step of 0, a negative step or step="any" is ignored.

Value outside the bounds

Expected: the control still shows 2026-09-15 — a value attribute is not clamped — but the picker opens on a month where everything past the 10th is greyed.

Beacon's shell reads min, max and step exactly as written; the greying is the shell's, the sanitised value is the engine's.