@@ -4,7 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
44import Title from "../../.storybook/components/Title" ;
55import ExampleContainer from "../../.storybook/components/ExampleContainer" ;
66import DarkContainer from "../../.storybook/components/DarkSection" ;
7- import { userEvent } from "@storybook/testing-library " ;
7+ import styled from "styled-components " ;
88
99export default {
1010 title : "Checkbox" ,
@@ -17,29 +17,33 @@ const Checkbox = () => (
1717 < Title title = "Default" theme = "light" level = { 4 } />
1818 < DxcCheckbox label = "Checkbox" />
1919 </ ExampleContainer >
20- < ExampleContainer >
21- < Title title = "Focused" theme = "light" level = { 4 } />
22- < DxcCheckbox label = "Focused" />
23- </ ExampleContainer >
2420 < ExampleContainer >
2521 < Title title = "Checked" theme = "light" level = { 4 } />
2622 < DxcCheckbox label = "Checkbox" defaultChecked />
2723 </ ExampleContainer >
2824 < ExampleContainer >
29- < Title title = "Optional " theme = "light" level = { 4 } />
30- < DxcCheckbox label = "Checkbox" optional />
25+ < Title title = "Disabled " theme = "light" level = { 4 } />
26+ < DxcCheckbox label = "Checkbox" disabled />
3127 </ ExampleContainer >
3228 < ExampleContainer >
3329 < Title title = "Disabled and checked" theme = "light" level = { 4 } />
3430 < DxcCheckbox label = "Checkbox" disabled defaultChecked />
3531 </ ExampleContainer >
36- < ExampleContainer >
37- < Title title = "Disabled and optional" theme = "light" level = { 4 } />
38- < DxcCheckbox label = "Checkbox" disabled optional />
32+ < ExampleContainer pseudoState = "pseudo-focus" >
33+ < Title title = "Focused" theme = "light" level = { 4 } />
34+ < DxcCheckbox label = "Focused" />
35+ </ ExampleContainer >
36+ < ExampleContainer pseudoState = "pseudo-hover" >
37+ < Title title = "Hovered" theme = "light" level = { 4 } />
38+ < DxcCheckbox label = "Hovered" />
39+ </ ExampleContainer >
40+ < ExampleContainer pseudoState = "pseudo-hover" >
41+ < Title title = "Hovered and checked" theme = "light" level = { 4 } />
42+ < DxcCheckbox label = "Hovered" defaultChecked />
3943 </ ExampleContainer >
4044 < ExampleContainer >
41- < Title title = "Disabled, optional and checked " theme = "light" level = { 4 } />
42- < DxcCheckbox label = "Checkbox" disabled optional defaultChecked />
45+ < Title title = "Optional " theme = "light" level = { 4 } />
46+ < DxcCheckbox label = "Checkbox" optional />
4347 </ ExampleContainer >
4448 < ExampleContainer >
4549 < Title title = "Label after" theme = "light" level = { 4 } />
@@ -53,26 +57,6 @@ const Checkbox = () => (
5357 < Title title = "Optional with label after" theme = "light" level = { 4 } />
5458 < DxcCheckbox label = "Checkbox" optional labelPosition = "after" />
5559 </ ExampleContainer >
56- < ExampleContainer >
57- < Title title = "Disabled and checked with label after" theme = "light" level = { 4 } />
58- < DxcCheckbox label = "Checkbox" disabled defaultChecked labelPosition = "after" />
59- </ ExampleContainer >
60- < ExampleContainer >
61- < Title title = "Disabled and optional with label after" theme = "light" level = { 4 } />
62- < DxcCheckbox label = "Checkbox" disabled optional labelPosition = "after" />
63- </ ExampleContainer >
64- < ExampleContainer >
65- < Title title = "Disabled, optional and checked with label after" theme = "light" level = { 4 } />
66- < DxcCheckbox label = "Checkbox" disabled optional defaultChecked labelPosition = "after" />
67- </ ExampleContainer >
68- < ExampleContainer pseudoState = "pseudo-hover" >
69- < Title title = "Hovered" theme = "light" level = { 4 } />
70- < DxcCheckbox label = "Hovered" />
71- </ ExampleContainer >
72- < ExampleContainer pseudoState = "pseudo-hover" >
73- < Title title = "Hovered and checked" theme = "light" level = { 4 } />
74- < DxcCheckbox label = "Hovered" defaultChecked />
75- </ ExampleContainer >
7660 < BackgroundColorProvider color = "#333333" >
7761 < DarkContainer >
7862 < ExampleContainer >
@@ -84,44 +68,16 @@ const Checkbox = () => (
8468 < DxcCheckbox label = "Checkbox" defaultChecked />
8569 </ ExampleContainer >
8670 < ExampleContainer >
87- < Title title = "Optional " theme = "dark" level = { 4 } />
88- < DxcCheckbox label = "Checkbox" optional />
71+ < Title title = "Disabled " theme = "dark" level = { 4 } />
72+ < DxcCheckbox label = "Checkbox" disabled />
8973 </ ExampleContainer >
9074 < ExampleContainer >
9175 < Title title = "Disabled and checked" theme = "dark" level = { 4 } />
9276 < DxcCheckbox label = "Checkbox" disabled defaultChecked />
9377 </ ExampleContainer >
94- < ExampleContainer >
95- < Title title = "Disabled and optional" theme = "dark" level = { 4 } />
96- < DxcCheckbox label = "Checkbox" disabled optional />
97- </ ExampleContainer >
98- < ExampleContainer >
99- < Title title = "Disabled, optional and checked" theme = "dark" level = { 4 } />
100- < DxcCheckbox label = "Checkbox" disabled optional defaultChecked />
101- </ ExampleContainer >
102- < ExampleContainer >
103- < Title title = "Label after" theme = "dark" level = { 4 } />
104- < DxcCheckbox label = "Checkbox" labelPosition = "after" />
105- </ ExampleContainer >
106- < ExampleContainer >
107- < Title title = "Checked with label after" theme = "dark" level = { 4 } />
108- < DxcCheckbox label = "Checkbox" defaultChecked labelPosition = "after" />
109- </ ExampleContainer >
110- < ExampleContainer >
111- < Title title = "Optional with label after" theme = "dark" level = { 4 } />
112- < DxcCheckbox label = "Checkbox" optional labelPosition = "after" />
113- </ ExampleContainer >
114- < ExampleContainer >
115- < Title title = "Disabled and checked with label after" theme = "dark" level = { 4 } />
116- < DxcCheckbox label = "Checkbox" disabled defaultChecked labelPosition = "after" />
117- </ ExampleContainer >
118- < ExampleContainer >
119- < Title title = "Disabled and optional with label after" theme = "dark" level = { 4 } />
120- < DxcCheckbox label = "Checkbox" disabled optional labelPosition = "after" />
121- </ ExampleContainer >
122- < ExampleContainer >
123- < Title title = "Disabled, optional and checked with label after" theme = "dark" level = { 4 } />
124- < DxcCheckbox label = "Checkbox" disabled optional defaultChecked labelPosition = "after" />
78+ < ExampleContainer pseudoState = "pseudo-focus" >
79+ < Title title = "Focused" theme = "dark" level = { 4 } />
80+ < DxcCheckbox label = "Focused" />
12581 </ ExampleContainer >
12682 < ExampleContainer pseudoState = "pseudo-hover" >
12783 < Title title = "Hovered" theme = "dark" level = { 4 } />
@@ -131,6 +87,18 @@ const Checkbox = () => (
13187 < Title title = "Hovered and checked" theme = "dark" level = { 4 } />
13288 < DxcCheckbox label = "Hovered" defaultChecked />
13389 </ ExampleContainer >
90+ < ExampleContainer >
91+ < Title title = "Optional" theme = "dark" level = { 4 } />
92+ < DxcCheckbox label = "Checkbox" optional />
93+ </ ExampleContainer >
94+ < ExampleContainer >
95+ < Title title = "Label after" theme = "dark" level = { 4 } />
96+ < DxcCheckbox label = "Checkbox" labelPosition = "after" />
97+ </ ExampleContainer >
98+ < ExampleContainer >
99+ < Title title = "Optional checked with label after" theme = "dark" level = { 4 } />
100+ < DxcCheckbox label = "Checkbox" defaultChecked optional labelPosition = "after" />
101+ </ ExampleContainer >
134102 </ DarkContainer >
135103 </ BackgroundColorProvider >
136104 < Title title = "Sizes" theme = "light" level = { 2 } />
@@ -178,11 +146,51 @@ const Checkbox = () => (
178146 < Title title = "Xxlarge" theme = "light" level = { 4 } />
179147 < DxcCheckbox label = "Xxlarge" margin = "xxlarge" />
180148 </ ExampleContainer >
149+ < ExampleContainer >
150+ < Title title = "Overflow container" theme = "light" level = { 4 } />
151+ < ScrollableContainer id = "scroll-container" >
152+ < DxcCheckbox label = "Checkbox" defaultChecked />
153+ < DxcCheckbox label = "Checkbox" defaultChecked />
154+ < DxcCheckbox label = "Checkbox" />
155+ < DxcCheckbox label = "Checkbox" defaultChecked />
156+ < DxcCheckbox label = "Checkbox" />
157+ < DxcCheckbox label = "Checkbox" />
158+ < DxcCheckbox label = "Checkbox" />
159+ < DxcCheckbox label = "Checkbox" defaultChecked />
160+ </ ScrollableContainer >
161+ </ ExampleContainer >
162+ < ExampleContainer >
163+ < Title title = "Label overflow" theme = "light" level = { 4 } />
164+ < SmallContainer >
165+ < DxcCheckbox label = "Very long label to check its overflowing" defaultChecked />
166+ < DxcCheckbox label = "Very long label to check its overflowing" labelPosition = "after" />
167+ </ SmallContainer >
168+ </ ExampleContainer >
181169 </ >
182170) ;
183171
184172export const Chromatic = Checkbox . bind ( { } ) ;
173+
185174Chromatic . play = async ( ) => {
186- await userEvent . tab ( ) ;
187- await userEvent . tab ( ) ;
175+ const listEl = document . getElementById ( "scroll-container" ) ;
176+ listEl ?. scrollTo ?. ( { top : 50 } ) ;
188177} ;
178+
179+ const ScrollableContainer = styled . div `
180+ display: flex;
181+ flex-direction: column;
182+ gap: 14px;
183+ width: 200px;
184+ height: 200px;
185+ border: 1px solid #000;
186+ padding: 14px;
187+ overflow: auto;
188+ ` ;
189+
190+ const SmallContainer = styled . div `
191+ display: flex;
192+ flex-direction: column;
193+ gap: 14px;
194+ width: 150px;
195+ height: 150px;
196+ ` ;
0 commit comments