Skip to content

Commit c6296fa

Browse files
committed
Switch ClubMembers example to Bootstrap 5
1 parent 962d450 commit c6296fa

File tree

3 files changed

+26
-33
lines changed

3 files changed

+26
-33
lines changed

examples/ClubMembers/App.tsx

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ const Hobbies = observer<React.FunctionComponent<HobbiesProps>>(
131131
const hobbyName = `member${memberIndex}.hobby${index}`;
132132

133133
return (
134-
<li key={index} className="form-group">
135-
<div className="form-inline">
134+
<li key={index} className="mb-3">
135+
<div className="d-flex align-items-center">
136136
<Input
137137
name={hobbyName}
138138
id={hobbyName}
@@ -142,16 +142,15 @@ const Hobbies = observer<React.FunctionComponent<HobbiesProps>>(
142142
required
143143
minLength={3}
144144
className="form-control"
145-
style={{ width: 'auto' }}
146145
/>
146+
&nbsp;
147147
<button
148148
type="button"
149149
title="Remove Hobby"
150150
onClick={() => removeHobby(index)}
151-
className="close"
152-
>
153-
&times;
154-
</button>
151+
className="btn-close"
152+
aria-label="Close"
153+
/>
155154
</div>
156155
<FieldFeedbacks for={hobbyName}>
157156
<FieldFeedback when="*" />
@@ -164,7 +163,7 @@ const Hobbies = observer<React.FunctionComponent<HobbiesProps>>(
164163

165164
return (
166165
<>
167-
<div className="form-group">
166+
<div className="mb-3">
168167
<button
169168
type="button"
170169
name={checkNbHobbiesName}
@@ -179,7 +178,7 @@ const Hobbies = observer<React.FunctionComponent<HobbiesProps>>(
179178
</FieldFeedback>
180179
</FieldFeedbacks>
181180
</div>
182-
<ul className="list-none">
181+
<ul className="list-style-none">
183182
{member.hobbies.map((hobby, index) => renderHobby(hobby, index))}
184183
</ul>
185184
</>
@@ -224,17 +223,17 @@ const Members = observer<React.FunctionComponent<MembersProps>>(({ club, validat
224223
<li key={index}>
225224
<h4>
226225
Member #{index + 1}
226+
&nbsp;
227227
<button
228228
type="button"
229229
title="Remove Member"
230230
onClick={() => removeMember(index)}
231-
className="close"
232-
>
233-
&times;
234-
</button>
231+
className="btn-close fs-6"
232+
aria-label="Close"
233+
/>
235234
</h4>
236235

237-
<div className="form-group">
236+
<div className="mb-3">
238237
<Input
239238
name={memberFirstNameName}
240239
placeholder="First Name"
@@ -249,7 +248,7 @@ const Members = observer<React.FunctionComponent<MembersProps>>(({ club, validat
249248
</FieldFeedbacks>
250249
</div>
251250

252-
<div className="form-group">
251+
<div className="mb-3">
253252
<Input
254253
name={memberLastNameName}
255254
placeholder="Last Name"
@@ -271,7 +270,7 @@ const Members = observer<React.FunctionComponent<MembersProps>>(({ club, validat
271270

272271
return (
273272
<>
274-
<div className="form-group">
273+
<div className="mb-3">
275274
<button
276275
type="button"
277276
name="checkNbMembers"
@@ -286,7 +285,7 @@ const Members = observer<React.FunctionComponent<MembersProps>>(({ club, validat
286285
</FieldFeedback>
287286
</FieldFeedbacks>
288287
</div>
289-
<ul className="list-none">
288+
<ul className="list-style-none">
290289
{club.members.map((member, index) => renderMember(member, index))}
291290
</ul>
292291
</>
@@ -341,7 +340,7 @@ class Form extends React.Component<FormProps> {
341340
onSubmit={this.handleSubmit}
342341
noValidate
343342
>
344-
<div className="form-group">
343+
<div className="mb-3">
345344
<Input
346345
name="clubName"
347346
placeholder="Club Name"

examples/ClubMembers/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<link
1010
rel="stylesheet"
11-
href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.css"
11+
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.css"
1212
/>
1313
</head>
1414

examples/ClubMembers/style.css

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,27 @@
1-
/* https://github.com/twbs/bootstrap/blob/v4.1.2/scss/_close.scss */
2-
button.close {
3-
float: initial;
4-
padding-left: 0.5rem;
5-
}
6-
7-
ul.list-none {
1+
.list-style-none {
82
list-style-type: none;
93
}
104

115
/*
12-
* https://github.com/twbs/bootstrap/blob/v4.1.2/scss/mixins/_forms.scss#L30
6+
* https://github.com/twbs/bootstrap/blob/v5.0.1/scss/mixins/_forms.scss#L26
137
*/
148
[data-feedback].error {
159
margin-top: 0.25rem; /* $form-feedback-margin-top => $form-text-margin-top => .25rem */
16-
font-size: 80%; /* $form-feedback-font-size => $small-font-size => 80% */
10+
font-size: 0.875em; /* $form-feedback-font-size => $form-text-font-size => $small-font-size => .875em */
1711
color: #dc3545; /* $form-feedback-invalid-color => $danger => $red => #dc3545 */
1812
}
1913
[data-feedback].warning {
2014
margin-top: 0.25rem;
21-
font-size: 80%;
15+
font-size: 0.875em;
2216
color: #ffc107; /* $warning => $yellow => #ffc107 */
2317
}
2418
[data-feedback].info {
2519
margin-top: 0.25rem;
26-
font-size: 80%;
27-
color: #17a2b8; /* $info => $cyan => #17a2b8 */
20+
font-size: 0.875em;
21+
color: #0dcaf0; /* $info => $cyan => #0dcaf0 */
2822
}
2923
[data-feedback].when-valid {
3024
margin-top: 0.25rem;
31-
font-size: 80%;
32-
color: #28a745; /* $form-feedback-valid-color => $success => $green => #28a745 */
25+
font-size: 0.875em;
26+
color: #198754; /* $form-feedback-valid-color => $success => $green => #198754 */
3327
}

0 commit comments

Comments
 (0)