Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
14c97c4
Update docs - TEMP change
ttaylor-stack Nov 20, 2025
9b03f7f
add checkmark class
ttaylor-stack Nov 20, 2025
857281c
update docs
ttaylor-stack Nov 21, 2025
36c0a64
Add radio svelte component
ttaylor-stack Nov 21, 2025
3941c59
Add Checkbox and Checkmark svelte components
ttaylor-stack Nov 21, 2025
27edd5d
add changeset
ttaylor-stack Nov 21, 2025
497dc04
fix tests
ttaylor-stack Nov 21, 2025
eb703e1
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 21, 2025
2be8337
remove todo
ttaylor-stack Nov 21, 2025
76257a4
use black-300 instead of opacity for checkmark
ttaylor-stack Nov 21, 2025
0abee85
update a11y and visual tests
ttaylor-stack Nov 21, 2025
1a15deb
Update site-navigation.json
ttaylor-stack Nov 21, 2025
68dabc4
Merge branch 'spark-77/update-radio-and-checkbox-components-for-shine…
ttaylor-stack Nov 21, 2025
ee22c2b
update tests
ttaylor-stack Nov 21, 2025
76c3349
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 24, 2025
eeab615
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 24, 2025
2cd6a8e
update based on comments
ttaylor-stack Nov 24, 2025
dbc13b6
Merge branch 'spark-77/update-radio-and-checkbox-components-for-shine…
ttaylor-stack Nov 24, 2025
c11f4db
update visual regression tests
ttaylor-stack Nov 24, 2025
af4bfd0
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 24, 2025
9229c08
Merge branch 'spark-77/update-radio-and-checkbox-components-for-shine…
ttaylor-stack Nov 24, 2025
a4a5fc8
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 24, 2025
d6f5019
visual tests
ttaylor-stack Nov 25, 2025
7fc7169
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Nov 25, 2025
eef7039
Checkbox, radio refactor (#2078)
dancormier Dec 1, 2025
f9dabea
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Dec 1, 2025
fc75e5e
update based on comments
ttaylor-stack Dec 3, 2025
4090ad5
update based on comments
ttaylor-stack Dec 3, 2025
df09f12
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Dec 3, 2025
6e2cd57
update visual tests
ttaylor-stack Dec 3, 2025
44118ae
Merge branch 'spark-77/update-radio-and-checkbox-components-for-shine…
ttaylor-stack Dec 3, 2025
112b534
Update based on comments
ttaylor-stack Dec 4, 2025
db1db5f
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Dec 4, 2025
687eeda
Update Checkmark.test.ts
ttaylor-stack Dec 4, 2025
89cc4c4
Merge branch 'spark-77/update-radio-and-checkbox-components-for-shine…
ttaylor-stack Dec 4, 2025
2562391
Docs updates for checkbox, radio, checkmark, menu (#2090)
dancormier Dec 4, 2025
d570fce
cleanup
dancormier Dec 9, 2025
b40efcd
Replace Checkbox/Radio w/ CheckControl, Add CheckGroup
dancormier Dec 10, 2025
ac7b907
Modify docs icons class appending to support new icons
dancormier Dec 10, 2025
02dd535
Minor updates
dancormier Dec 10, 2025
575e9d6
Create MenuCheckItem
dancormier Dec 10, 2025
b190a05
Make type prop optional
dancormier Dec 11, 2025
cbe807b
Add CheckControl, CheckGroup tests
dancormier Dec 12, 2025
7a2ca9b
Update Menu tests
dancormier Dec 12, 2025
fc15ed1
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
dancormier Dec 12, 2025
5ee8a1c
visual test images
dancormier Dec 12, 2025
90d116c
formatting
dancormier Dec 12, 2025
a7090a7
fix lint errors
dancormier Dec 12, 2025
13efe69
revert table test image changes not related to this PR
dancormier Dec 12, 2025
2be4297
revert select test image changes not related to this PR
dancormier Dec 12, 2025
82a68e8
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
dancormier Dec 12, 2025
8e88863
Remove .s-check, .s-radio, rename .s-check-control to .s-check
dancormier Dec 12, 2025
e475b6f
remove a couple missed .s-checkbox, .s-radio references
dancormier Dec 12, 2025
26c362b
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
dancormier Dec 12, 2025
0cb0de1
Update table test images that contain checkboxes
dancormier Dec 12, 2025
37f177b
Rename docs page to "Check"
dancormier Dec 12, 2025
a13bcc0
Fix minor bugs; include disabled input in visual test
dancormier Dec 12, 2025
0869c1f
Fix .s-menu > .s-check-group gap; add visual test
dancormier Dec 12, 2025
6ea6e2e
Replace .s-check with .s-checkbox, .s-radio
dancormier Dec 16, 2025
c1387d6
Fix validation state border color
dancormier Dec 16, 2025
883396b
Add Checkbox, Radio Svelte components; hide Check
dancormier Dec 16, 2025
ceda7ef
Give checkbox and radio independent docs pages
dancormier Dec 16, 2025
f271286
Split .s-check-group into .s-checkbox-group, .s-radio-group
dancormier Dec 16, 2025
8165fcb
Split CheckGroup into CheckboxGroup, RadioGroup
dancormier Dec 16, 2025
a7ca2e8
Rename group files in stacks-classic
dancormier Dec 16, 2025
4f4301c
Regenerate visual regresssion test images
dancormier Dec 16, 2025
5d48c7a
Formatting
dancormier Dec 17, 2025
6bbf1de
Revert some screenshots to reduce PR noise
dancormier Dec 17, 2025
3655442
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
dancormier Dec 17, 2025
189f5ec
Replace CheckboxGroup, RadioGroup with FormGroup
dancormier Dec 17, 2025
34a4189
Remove Check
dancormier Dec 17, 2025
2bb4c36
Update Radio, Checkbox
dancormier Dec 17, 2025
a19b019
CheckboxGroup, RadioGroup updates
dancormier Dec 17, 2025
ab6d415
Minor docs updates
dancormier Dec 18, 2025
c82cacb
target correct classes in menu
dancormier Dec 18, 2025
be68f3c
Update table tests
dancormier Dec 18, 2025
8348d9e
Consolidate Svelte structure, add/update tests
dancormier Dec 18, 2025
c367b0b
Formatting and linting
dancormier Dec 18, 2025
94a34cb
Update stacks svelte radio link
dancormier Dec 18, 2025
5dac9ad
Add stories for change events and bindings
dancormier Dec 18, 2025
34369cf
Lift `onValueChange` up to `FormGroup`
dancormier Dec 18, 2025
a737ed9
Update CheckboxGroup story with onValueChange
dancormier Dec 18, 2025
421ee41
Update migration guide, changeset
dancormier Dec 19, 2025
43164d7
Minor fixes
dancormier Dec 19, 2025
50568de
Minor fixes
dancormier Dec 19, 2025
55a36e4
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Dec 22, 2025
f455fac
update visual tests
ttaylor-stack Dec 22, 2025
9113a05
Merge branch 'beta' into spark-77/update-radio-and-checkbox-component…
ttaylor-stack Dec 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .changeset/lemon-shoes-tease.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@stackoverflow/stacks": minor
"@stackoverflow/stacks-svelte": minor
---

Updated checkbox and radio styling in Stacks Classic and documentation for SHINE
`.s-check-control` has been removed
Renamed `.s-check-group` to `.s-form-group`
`.s-checkbox` and `.s-radio` are now expected to be on the container where `.s-check-control` would previously be applied. They are no longer needed on the input itself
Added `.s-checkbox__checkmark` and `.s-radio__checkmark` to Stacks Classic
Added `Checkbox`, `CheckboxGroup`, `Radio`, `RadioGroup` components to Stacks Svelte
6 changes: 6 additions & 0 deletions MIGRATION_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@
- The variant `Muted` has been removed, `Tonal` has been added
- `s-btn__md` has been removed, `s-btn__lg` has been added

#### Checkbox & Radio
- The `s-checkbox` and `s-radio` classes should now be applied to the container including the `input` and `label`. These classes replace `.s-check-control`
- The `s-checkbox` and `s-radio` classes are no longer needed on the `input` element itself
- The `s-check-group` class has been renamed to `s-form-group`
- Added `.s-checkbox__checkmark` and `.s-radio__checkmark` modifier classes for checkmark-style variants

#### Inputs
- `s-input__md` removed
- `s-input__xl` removed
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,35 +1,33 @@
import { html } from "@open-wc/testing";
import { runA11yTests } from "../../test/a11y-test-utils";
import "../../index";

// eslint-disable-next-line @typescript-eslint/no-explicit-any
const checkboxTemplate = ({ component, testid, id }: any) =>
html` <div class="s-check-control" data-testid="${testid}">
${component}
<label class="s-label" for="${id}">Label</label>
</div>`;
["s-checkbox", "s-radio"].forEach((atomicClass) => {
const type = atomicClass.replace("s-", "");

["checkbox", "radio"].forEach((type) => {
describe(type, () => {
// TODO include indeterminate
["checked", "unchecked"].forEach((state) => {
runA11yTests({
tag: "input",
baseClass: `s-${type}`,
attributes: {
name: "test-name",
id: "test-id",
type,
...(state === "checked" ? { checked: "checked" } : {}),
baseClass: atomicClass,
modifiers: {
global: ["has-warning", "has-error", "has-success"],
primary: ["checkmark"],
},
children: {
default: `
<input
type="${type}"
id="test-input"
name=""
${state === "checked" ? "checked" : ""}/>
<label class="s-label" for="test-input">
Label ${type}
<p class="s-input-message">Description</p>
</label>
`,
},
template: ({ component, testid }) =>
checkboxTemplate({
component,
testid,
id: "test-id",
}),
options: {
testidSuffix: state,
testidSuffix: `${state}-${type}`,
},
});
});
Expand Down
Loading