@@ -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 >
33- < Title title = "Disabled and checked " theme = "light" level = { 4 } />
34- < DxcCheckbox label = "Checkbox" disabled defaultChecked />
29+ < Title title = "Disabled, checked and optional " theme = "light" level = { 4 } />
30+ < DxcCheckbox label = "Checkbox" disabled defaultChecked optional />
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,25 +57,9 @@ 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 >
6060 < ExampleContainer >
6161 < 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 />
62+ < DxcCheckbox label = "Checkbox" disabled labelPosition = "after" optional />
7563 </ ExampleContainer >
7664 < BackgroundColorProvider color = "#333333" >
7765 < DarkContainer >
@@ -84,20 +72,28 @@ const Checkbox = () => (
8472 < DxcCheckbox label = "Checkbox" defaultChecked />
8573 </ ExampleContainer >
8674 < ExampleContainer >
87- < Title title = "Optional " theme = "dark" level = { 4 } />
88- < DxcCheckbox label = "Checkbox" optional />
75+ < Title title = "Disabled " theme = "dark" level = { 4 } />
76+ < DxcCheckbox label = "Checkbox" disabled />
8977 </ ExampleContainer >
9078 < ExampleContainer >
91- < Title title = "Disabled and checked " theme = "dark" level = { 4 } />
92- < DxcCheckbox label = "Checkbox" disabled defaultChecked />
79+ < Title title = "Disabled, checked and optional " theme = "dark" level = { 4 } />
80+ < DxcCheckbox label = "Checkbox" disabled defaultChecked optional />
9381 </ ExampleContainer >
94- < ExampleContainer >
95- < Title title = "Disabled and optional" theme = "dark" level = { 4 } />
96- < DxcCheckbox label = "Checkbox" disabled optional />
82+ < ExampleContainer pseudoState = "pseudo-focus" >
83+ < Title title = "Focused" theme = "dark" level = { 4 } />
84+ < DxcCheckbox label = "Focused" />
85+ </ ExampleContainer >
86+ < ExampleContainer pseudoState = "pseudo-hover" >
87+ < Title title = "Hovered" theme = "dark" level = { 4 } />
88+ < DxcCheckbox label = "Hovered" />
89+ </ ExampleContainer >
90+ < ExampleContainer pseudoState = "pseudo-hover" >
91+ < Title title = "Hovered and checked" theme = "dark" level = { 4 } />
92+ < DxcCheckbox label = "Hovered" defaultChecked />
9793 </ ExampleContainer >
9894 < ExampleContainer >
99- < Title title = "Disabled, optional and checked " theme = "dark" level = { 4 } />
100- < DxcCheckbox label = "Checkbox" disabled optional defaultChecked />
95+ < Title title = "Optional " theme = "dark" level = { 4 } />
96+ < DxcCheckbox label = "Checkbox" optional />
10197 </ ExampleContainer >
10298 < ExampleContainer >
10399 < Title title = "Label after" theme = "dark" level = { 4 } />
@@ -111,25 +107,9 @@ const Checkbox = () => (
111107 < Title title = "Optional with label after" theme = "dark" level = { 4 } />
112108 < DxcCheckbox label = "Checkbox" optional labelPosition = "after" />
113109 </ 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 >
118110 < ExampleContainer >
119111 < 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" />
125- </ ExampleContainer >
126- < ExampleContainer pseudoState = "pseudo-hover" >
127- < Title title = "Hovered" theme = "dark" level = { 4 } />
128- < DxcCheckbox label = "Hovered" />
129- </ ExampleContainer >
130- < ExampleContainer pseudoState = "pseudo-hover" >
131- < Title title = "Hovered and checked" theme = "dark" level = { 4 } />
132- < DxcCheckbox label = "Hovered" defaultChecked />
112+ < DxcCheckbox label = "Checkbox" disabled labelPosition = "after" optional />
133113 </ ExampleContainer >
134114 </ DarkContainer >
135115 </ BackgroundColorProvider >
@@ -178,11 +158,51 @@ const Checkbox = () => (
178158 < Title title = "Xxlarge" theme = "light" level = { 4 } />
179159 < DxcCheckbox label = "Xxlarge" margin = "xxlarge" />
180160 </ ExampleContainer >
161+ < ExampleContainer >
162+ < Title title = "Overflow container" theme = "light" level = { 4 } />
163+ < ScrollableContainer id = "scroll-container" >
164+ < DxcCheckbox label = "Checkbox" defaultChecked />
165+ < DxcCheckbox label = "Checkbox" defaultChecked />
166+ < DxcCheckbox label = "Checkbox" />
167+ < DxcCheckbox label = "Checkbox" defaultChecked />
168+ < DxcCheckbox label = "Checkbox" />
169+ < DxcCheckbox label = "Checkbox" />
170+ < DxcCheckbox label = "Checkbox" />
171+ < DxcCheckbox label = "Checkbox" defaultChecked />
172+ </ ScrollableContainer >
173+ </ ExampleContainer >
174+ < ExampleContainer >
175+ < Title title = "Label overflow" theme = "light" level = { 4 } />
176+ < SmallContainer >
177+ < DxcCheckbox label = "Very long label to check its overflowing" defaultChecked />
178+ < DxcCheckbox label = "Very long label to check its overflowing" labelPosition = "after" />
179+ </ SmallContainer >
180+ </ ExampleContainer >
181181 </ >
182182) ;
183183
184184export const Chromatic = Checkbox . bind ( { } ) ;
185+
185186Chromatic . play = async ( ) => {
186- await userEvent . tab ( ) ;
187- await userEvent . tab ( ) ;
187+ const listEl = document . getElementById ( "scroll-container" ) ;
188+ listEl ?. scrollTo ?. ( { top : 50 } ) ;
188189} ;
190+
191+ const ScrollableContainer = styled . div `
192+ display: flex;
193+ flex-direction: column;
194+ gap: 14px;
195+ width: 200px;
196+ height: 200px;
197+ border: 1px solid #000;
198+ padding: 14px;
199+ overflow: auto;
200+ ` ;
201+
202+ const SmallContainer = styled . div `
203+ display: flex;
204+ flex-direction: column;
205+ gap: 14px;
206+ width: 150px;
207+ height: 150px;
208+ ` ;
0 commit comments