Skip to content

Commit 183450f

Browse files
test(checkbox): add more coverage for checkbox (#3625)
* chore(checkbox): add isHovered state to checkbox - adds isHovered shared type and control to checkbox stories - adds several isHovered test cases - updates checkbox template to include isHovered arg * chore(form): fix the fieldgroup component input and labels
1 parent 754f99a commit 183450f

File tree

4 files changed

+33
-7
lines changed

4 files changed

+33
-7
lines changed

components/checkbox/stories/checkbox.stories.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Sizes } from "@spectrum-css/preview/decorators";
22
import { disableDefaultModes } from "@spectrum-css/preview/modes";
3-
import { isChecked, isDisabled, isEmphasized, isIndeterminate, isInvalid, isReadOnly, size } from "@spectrum-css/preview/types";
3+
import { isChecked, isDisabled, isEmphasized, isHovered, isIndeterminate, isInvalid, isReadOnly, size } from "@spectrum-css/preview/types";
44
import metadata from "../dist/metadata.json";
55
import packageJson from "../package.json";
66
import { CheckboxGroup } from "./checkbox.test.js";
@@ -30,6 +30,7 @@ export default {
3030
control: { type: "text" },
3131
},
3232
isEmphasized,
33+
isHovered,
3334
isInvalid,
3435
isDisabled,
3536
isChecked,
@@ -43,6 +44,7 @@ export default {
4344
isChecked: false,
4445
isDisabled: false,
4546
isEmphasized: false,
47+
isHovered: false,
4648
isIndeterminate: false,
4749
isInvalid: false,
4850
isReadOnly: false,

components/checkbox/stories/checkbox.test.js

+22
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ export const CheckboxGroup = Variants({
2727
testHeading: "Checked",
2828
isChecked: true,
2929
},
30+
{
31+
testHeading: "Checked, hovered",
32+
isChecked: true,
33+
isHovered: true,
34+
},
3035
{
3136
testHeading: "Indeterminate",
3237
isIndeterminate: true,
@@ -40,6 +45,12 @@ export const CheckboxGroup = Variants({
4045
isInvalid: true,
4146
isChecked: true,
4247
},
48+
{
49+
testHeading: "Invalid, checked, hovered",
50+
isInvalid: true,
51+
isChecked: true,
52+
isHovered: true,
53+
},
4354
{
4455
testHeading: "Invalid, indeterminate",
4556
isInvalid: true,
@@ -54,6 +65,11 @@ export const CheckboxGroup = Variants({
5465
isDisabled: true,
5566
isChecked: true,
5667
},
68+
{
69+
testHeading: "Disabled, checked, hovered",
70+
isDisabled: true,
71+
isChecked: true,
72+
},
5773
{
5874
testHeading: "Disabled, indeterminate",
5975
isDisabled: true,
@@ -68,6 +84,12 @@ export const CheckboxGroup = Variants({
6884
isReadOnly: true,
6985
isChecked: true,
7086
},
87+
{
88+
testHeading: "Read-only, checked, hovered",
89+
isReadOnly: true,
90+
isChecked: true,
91+
isHovered: true,
92+
},
7193
{
7294
testHeading: "Read-only, indeterminate",
7395
isReadOnly: true,

components/checkbox/stories/template.js

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export const Template = ({
1717
label,
1818
isChecked = false,
1919
isEmphasized = false,
20+
isHovered = false,
2021
isIndeterminate = false,
2122
isDisabled = false,
2223
isInvalid = false,
@@ -55,6 +56,7 @@ export const Template = ({
5556
["is-indeterminate"]: isIndeterminate,
5657
["is-disabled"]: isDisabled,
5758
["is-invalid"]: isInvalid,
59+
["is-hover"]: isHovered && !isDisabled,
5860
["is-readOnly"]: isReadOnly,
5961
...customClasses.reduce((a, c) => ({ ...a, [c]: true }), {}),
6062
})}

components/form/stories/form.stories.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { Template as Checkbox } from "@spectrum-css/checkbox/stories/template.js";
21
import { Template as Fieldgroup } from "@spectrum-css/fieldgroup/stories/template.js";
32
import { Template as Picker } from "@spectrum-css/picker/stories/template.js";
43
import { disableDefaultModes } from "@spectrum-css/preview/modes";
@@ -80,18 +79,19 @@ export default {
8079
content: [
8180
(passthroughs, context) => Fieldgroup({
8281
layout: "horizontal",
82+
inputType: "checkbox",
8383
items: [
84-
Checkbox({
84+
{
8585
...passthroughs,
8686
label: "Kittens",
8787
customClasses: ["spectrum-FieldGroup-item"],
88-
}, context),
89-
Checkbox({
88+
},
89+
{
9090
...passthroughs,
9191
label: "Puppies",
9292
customClasses: ["spectrum-FieldGroup-item"],
93-
}, context),]
94-
}),
93+
}]
94+
}, context),
9595
],
9696
},{
9797
label: "Age",

0 commit comments

Comments
 (0)