Skip to content

Commit 8deb5bd

Browse files
committed
fix(checkbox, radio): layout of label against input
1 parent 09adf7a commit 8deb5bd

File tree

5 files changed

+32
-16
lines changed

5 files changed

+32
-16
lines changed

index.html

+15-6
Original file line numberDiff line numberDiff line change
@@ -669,9 +669,14 @@ <h2>Button</h2>
669669
<div>
670670
<h2>Checkbox</h2>
671671
<form id="radio-submit">
672-
<sgds-checkbox id="hehe" isInline invalid hasFeedback invalidFeedback="test">1</sgds-checkbox>
673-
<sgds-checkbox hasFeedback isInline>2</sgds-checkbox>
674-
<sgds-checkbox isInline>3</sgds-checkbox>
672+
<sgds-checkbox id="hehe" invalid hasFeedback invalidFeedback="invalid hello where is my invlaid">Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
673+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
674+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
675+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
676+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
677+
soluta eaque fug</sgds-checkbox>
678+
<sgds-checkbox hasFeedback >2</sgds-checkbox>
679+
<sgds-checkbox >3</sgds-checkbox>
675680
<sgds-switch invalid checked hasFeedback>test</sgds-switch>
676681
<sgds-button type="submit" >Submit</sgds-button>
677682
</form>
@@ -687,9 +692,13 @@ <h2>Radiogroup</h2>
687692
<form id="radio-submit">
688693
<sgds-radio-group required hasFeedback invalidFeedback="This is required" >
689694
<span slot="label">Select an option</span>
690-
<sgds-radio disabled isInline value="1" >Option 1</sgds-radio>
691-
<sgds-radio isInline value="2" >Option 2</sgds-radio>
692-
<sgds-radio isInline value="3" >Option 3</sgds-radio>
695+
<sgds-radio disabled value="1" >Lorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
696+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
697+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
698+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores
699+
soluta eaque fugit fuga distinctio? EumLorem ipsum dolor sit amet consectetur adipisicing elit. Maiores</sgds-radio>
700+
<sgds-radio value="2" >Option 2</sgds-radio>
701+
<sgds-radio value="3" >Option 3</sgds-radio>
693702
</sgds-radio-group>
694703
<sgds-button type="submit" >Submit</sgds-button>
695704
</form>

src/base/form-check-element.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,14 @@ export class FormCheckElement extends SgdsElement implements SgdsFormControl {
134134
@keydown=${this._handleKeyDown}
135135
@invalid=${(e: Event) => this._handleInvalid(e)}
136136
/>
137-
<label for="${this._inputId}" aria-label=${ifDefined(this.ariaLabel)} class="form-check-label"
138-
><slot></slot
139-
></label>
140-
${this.hasFeedback
141-
? html`<div id="${this._inputId}-invalid" class="invalid-feedback">${this.invalidFeedback}</div>`
142-
: nothing}
137+
<div class="form-check-label-container">
138+
<label for="${this._inputId}" aria-label=${ifDefined(this.ariaLabel)} class="form-check-label"
139+
><slot></slot
140+
></label>
141+
${this.hasFeedback && this.invalid
142+
? html`<div id="${this._inputId}-invalid" class="invalid-feedback">${this.invalidFeedback}</div>`
143+
: nothing}
144+
</div>
143145
</div>
144146
`;
145147
}

src/components/Checkbox/checkbox.css

+7-2
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,19 @@ input {
1616
}
1717

1818
.form-check {
19-
display: block;
19+
display: flex;
2020
margin-bottom: var(--sgds-spacer-2);
2121
min-height: 2rem;
22+
flex-direction: row;
2223
}
2324

2425
.form-check .form-check-input {
2526
margin-right: var(--sgds-form-input-margin-right);
2627
}
28+
.form-check-label-container{
29+
display: flex;
30+
flex-direction: column;
31+
}
2732

2833
.form-check-input {
2934
appearance: none;
@@ -69,7 +74,7 @@ input {
6974
.form-check-input.is-invalid:focus {
7075
box-shadow: var(--sgds-form-focus-invalid-box-shadow);
7176
}
72-
.form-check-input.is-invalid ~ .form-check-label {
77+
.form-check-input.is-invalid ~ .form-check-label-container > .form-check-label {
7378
color: var(--sgds-form-invalid-color);
7479
}
7580
.form-check-inline {

src/components/Radio/radio.css

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ input {
1515
}
1616

1717
.form-check {
18-
display: block;
18+
display: flex;
1919
margin-bottom: var(--sgds-spacer-2);
2020
min-height: 2rem;
21+
flex-direction: row;
2122
}
2223

2324
.form-check .form-check-input {

src/styles/feedback.css

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
.invalid-feedback {
22
color: var(--sgds-form-invalid-color);
3-
display: none;
43
font-size: var(--sgds-form-feedback-font-size);
54
width: 100%;
65
}

0 commit comments

Comments
 (0)