What
There's no styled range input in the UI library. A themed <input type="range" class="s-range"> that matches the rest of the components would round out the form controls (we already have input, select, checkbox, switch).
Why it's a good first issue
Self-contained CSS. The only slightly fiddly part is that native range inputs need vendor pseudo-elements to theme the track and thumb — a great, well-bounded way to learn cross-browser form styling.
What to build
Where
docs/assets/components.css (see .s-switch / .s-check for token-driven control styling)
content/comp-input.md (good template for a form-control page)
scripts/build-docs.mjs → COMPONENT_CLASS
Done when
npm run docs && npm run verify:docs passes and the slider is keyboard-focusable and looks consistent across browsers and themes.
What
There's no styled range input in the UI library. A themed
<input type="range" class="s-range">that matches the rest of the components would round out the form controls (we already have input, select, checkbox, switch).Why it's a good first issue
Self-contained CSS. The only slightly fiddly part is that native range inputs need vendor pseudo-elements to theme the track and thumb — a great, well-bounded way to learn cross-browser form styling.
What to build
.s-rangeclass todocs/assets/components.cssthat styles both engines:::-webkit-slider-runnable-trackand::-webkit-slider-thumb::-moz-range-trackand::-moz-range-thumbvar(--accent)for the thumb/fill,var(--border)/var(--surface-2)for the track. No gradients, no hard-coded brand colors.:focus-visiblering on the thumb for keyboard users.content/comp-range.mdwith a live```summitdemo that binds the value withs-model(e.g. show the current value next to the slider — nice dogfooding of Summit)."comp-range": "s-range"toCOMPONENT_CLASSinscripts/build-docs.mjs.Where
docs/assets/components.css(see.s-switch/.s-checkfor token-driven control styling)content/comp-input.md(good template for a form-control page)scripts/build-docs.mjs→COMPONENT_CLASSDone when
npm run docs && npm run verify:docspasses and the slider is keyboard-focusable and looks consistent across browsers and themes.