Switch changelog
v1.2.0 (2026-10-23)
Labels use the shared single-line preset while preserving their original snippet. Constrained labels can shrink; complex multiline content can explicitly opt out. Shared gap resolution retains at least 4 CSS px for zero or font/gap scaling and preserves larger preferred gaps, control geometry and transparent inset proportions.
2026-09-21: Unified the usage guide, source property table, and Site / AI reading entry points. Documentation only; component behavior is unchanged.
Switch-Docs.2026-05-25 Archived the historical changelog at the top of the source file. Subsequent changes go in this document’s changelog; the source header retains only responsibilities, current key architecture, and the documentation path.
v1.1.17 (2026-08-31)
Adjustments
TG-Motion.1 Track background and Thumb movement continue to use the shared Frame
controltiming bridge, with the default duration capped at150mslike Checkbox and Radio. Underprefers-reduced-motion: reduce, transitions are removed and the final state is committed immediately.
v1.1.16 (2026-04-28)
Adjustments
TG-Layout.1 Registered the component as an inline shell layout per
LayoutProtocol.md, documented the track + label layout boundary, and consolidated the gap chain under--snowui-switch-gap/--snowui-switch-gap-override.
v1.1.15 (2026-03-06)
Adjustments
TG-Bridge.4 Track background and Thumb movement transitions now use the shared Frame
controltiming bridge variables; the component no longer maintains separate default duration / easing.
v1.1.14 (2026-02-18)
Adjustments
TG-Adj.3 Aligned motion duration and easing with Radio/Checkbox (
0.2s+cubic-bezier(0.4, 0, 0.2, 1)), covering Track and Thumb transitions.
v1.1.13 (2026-02-18)
Fixes
TG-Fix.8 Fixed Switch hover not working by replacing the
:has(...)state selector with theinput:checked + .snowui-switch-trackchain for better compatibility and stability.
v1.1.11 (2026-02-18)
Adjustments
TG-Adj.1 Changed the default color chain to the primary color. With no color class set, the active state uses
--primary, matching Filled Button behavior.TG-Adj.2 Fixed the circular Thumb to the white token
--static-white-100.
v1.1.10 (2026-02-18)
Fixes
TG-Fix.7 Further fixed hover flicker by removing the Track color transition to avoid interpolation jitter in the color chain.
v1.1.9 (2026-02-18)
Fixes
TG-Fix.5 Fixed flicker on hover entry and exit: the overlay now uses a persistent gradient with variable-driven opacity instead of switching
background-imageon hover.TG-Fix.6 Restored active-state contrast: the selected Track regained a solid primary-color background and the Thumb returned to
--white-100.
v1.1.8 (2026-02-18)
Fixes
TG-Fix.4 Fixed hover flicker by keeping a persistent 0% overlay baseline on the Track. Hover changes only overlay intensity, avoiding a flashing
none -> gradientswitch.
v1.1.7 (2026-02-18)
Adjustments
TG-Color.1 Unified component coloring through the
currentColorchain, allowingclass="text-*"to override the whole component.TG-Color.2 Replaced the grayscale layer with same-color opacity layers (20%/40%), using one color family in both active and inactive states.
v1.1.6 (2026-02-18)
Fixes
TG-Fix.3 Fixed the Thumb appearing too close to the edge at large sizes.
thumb-gapnow scales with height (gap = height * 0.125, or 2px at height 16).
v1.1.5 (2026-02-18)
Improvements
TG-Opt.1 Aligned the size scale with Icon:
16/20/24/28/32/40/48/80.TG-Opt.2 Moved the size chain to
--size-*tokens, deriving width and Thumb dimensions from height.TG-Opt.3 Completed the
override -> internal -> tokenvariable bridge.
v1.1.4 (2026-02-18)
Fixes
TG-Fix.2 Removed internal
cursor: pointer; the disabled cursor is now controlled by the shared FrameSurface+.snowui-disabledchain.
v1.1.3 (2026-02-03)
Fixes
TG-Fix.1 Explicitly passed the Frame capability switches and aligned internal variable names with the naming convention.
The following content is for AI reading and links code maintenance to documentation.