Skip to content

Commit 712f4da

Browse files
committed
Update and cleanup form, fieldset, fields, form group and rows
1 parent 253f72c commit 712f4da

16 files changed

+113
-55
lines changed

config/livewire-forms.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,17 @@
22

33
return [
44
'defaults' => [
5-
'inputClass' => '',
6-
'divClass' => 'col-6',
5+
'divClass' => 'form-group col has-validation',
6+
'rowClass' => 'row gy-r-3',
7+
'formClass' => 'd-flex flex-column gap-3',
8+
'inputClass' => 'form-control',
9+
'inputSelectClass' => 'form-select',
10+
'labelClass' => 'form-label',
11+
'fileInputClass' => 'form-input-file',
12+
'fileInputLabelClass' => 'form-label-file',
13+
'checkInputClass' => 'form-check-input',
14+
'checkLabelClass' => 'form-check-label',
15+
'buttonClass' => 'btn btn--primary',
16+
'textareaRows' => 5,
717
]
818
];
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
<div class="{{ $field->divClass ?? 'col-6' }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
<input
33
@if ($field->action)
44
wire:click.prevent="{{ $field->action }}"
55
@endif
66
type="submit"
77
name="{{ $field->getName() }}"
88
value="{{ $field->getName() }}"
9+
@class([$field->class ?? config('livewire-forms.defaults.buttonClass')])
910
@if ($field->dusk) dusk={{ $field->dusk }} @endif
1011
>
1112
</div>

resources/views/fields/checkbox.blade.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
2-
<input
3-
@include('livewire-forms::fields.binding')
4-
id="{{ $field->getName() }}"
5-
type="checkbox"
6-
class="{{ $field->class ?? config('livewire-forms.defaults.inputClass') }}"
7-
name="{{ $field->getName() }}"
8-
@if ($field->dusk) dusk={{ $field->dusk }} @endif
9-
>
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
2+
<div class="form-check">
3+
<input
4+
@include('livewire-forms::fields.binding')
5+
id="{{ $field->getName() }}"
6+
type="checkbox"
7+
@class([
8+
$field->class ?? config('livewire-forms.defaults.checkInputClass'),
9+
'is-invalid' => $errors->has('fields.' . $field->getName()),
10+
])
11+
name="{{ $field->getName() }}"
12+
@if ($field->dusk) dusk={{ $field->dusk }} @endif
13+
>
1014

11-
@include('livewire-forms::fields.label')
15+
<label @class([config('livewire-forms.defaults.checkLabelClass')]) for="{{ $field->getName() }}">
16+
{!! $field->getLabel() !!}
17+
</label>
18+
</div>
1219

1320
@include('livewire-forms::fields.gdpr')
1421

resources/views/fields/date.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<input
55
@include('livewire-forms::fields.binding')
66
id="{{ $field->getName() }}"
77
type="date"
8-
class="{{ $field->class }}"
8+
@class([
9+
$field->class ?? config('livewire-forms.defaults.inputClass'),
10+
'is-invalid' => $errors->has('fields.' . $field->getName()),
11+
])
912
name="{{ $field->getName() }}"
1013
placeholder="{{ $field->getLabel() }}"
1114
@if($field->readOnly) disabled @endif
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
@error(($field->containsFile ? 'files.' : 'fields.') . $field->getName())
2-
<span class="form-error">{{ $message }}</span>
2+
<span class="invalid-feedback">
3+
{{ $message }}
4+
</span>
35
@enderror

resources/views/fields/file.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<input
55
type="file"
6-
class="{{ $field->class }}"
6+
@class([
7+
$field->class ?? config('livewire-forms.defaults.inputClass'),
8+
'is-invalid' => $errors->has('fields.' . $field->getName()),
9+
])
710
id="{{ $field->getName() }}"
811
name="{{ $field->getName() }}"
912
placeholder="{{ $field->getLabel() }}"
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
@foreach ($field->getNestedFields() as $_field)
2-
{{ $_field->render() }}
3-
@endforeach
1+
<fieldset>
2+
@if($field->legendTitle)
3+
<legend>{{ $field->legendTitle }}</legend>
4+
@endif
5+
6+
@foreach ($field->getNestedFields() as $_field)
7+
{{ $_field->render() }}
8+
@endforeach
9+
</fieldset>
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<label
22
for="{{ $field->getName() }}"
3-
class="{{ $field->labelClass }} {{ ($field->getValue() ? 'changed' : '') }}"
3+
@class([
4+
$field->labelClass ?? config('livewire-forms.defaults.labelClass'),
5+
$field->getValue() ? 'changed' : ''
6+
])
47
>
58
{{ $field->getLabel() }}
69
</label>

resources/views/fields/link.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
<a
33
href="{{ $field->getValue() }}"
44
class="{{ $field->class }}"

resources/views/fields/multi-file.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<input
55
type="file"
6-
class="{{ $field->class }}"
6+
@class([
7+
$field->class ?? config('livewire-forms.defaults.inputClass'),
8+
'is-invalid' => $errors->has('fields.' . $field->getName()),
9+
])
710
id="{{ $field->getName() }}"
811
name="{{ $field->getName() }}[]"
912
placeholder="{{ $field->getLabel() }}"

resources/views/fields/multi-select.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<select
55
@include('livewire-forms::fields.binding')
66
id="{{ $field->getName() }}"
7-
class="{{ $field->class }}"
7+
@class([
8+
$field->class ?? config('livewire-forms.defaults.inputSelectClass'),
9+
'is-invalid' => $errors->has('fields.' . $field->getName()),
10+
])
811
name="{{ $field->getName() }}[]"
912
@if($field->readOnly) disabled @endif
1013
multiple
Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }} required">
2-
@include('livewire-forms::fields.gdpr')
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
2+
@include('livewire-forms::fields.label')
33

4-
@foreach ($field->options as $key => $value)
5-
<div class="form-group custom-control custom-radio">
6-
<input
7-
@include('livewire-forms::fields.binding')
8-
type="radio"
9-
class="{{ $field->class }}"
10-
id="{{ $field->getName() . '.' . $loop->index }}"
11-
name="{{ $field->getName() }}"
12-
value="{{ $field->useValueAsKeys ? $value : $key }}"
13-
@if ($field->dusk) dusk={{ $field->dusk }} @endif
14-
>
15-
<label
16-
class="{{$field->labelClass}} select-none"
17-
for="{{ $field->getName() . '.' . $loop->index }}"
18-
>
19-
{{ $value }}
20-
</label>
21-
</div>
22-
@endforeach
4+
<div class="d-flex flex-column gap-2">
5+
@foreach ($field->options as $key => $value)
6+
<div class="form-check">
7+
<input
8+
@include('livewire-forms::fields.binding')
9+
type="radio"
10+
@class([
11+
$field->class ?? config('livewire-forms.defaults.checkInputClass'),
12+
'is-invalid' => $errors->has('fields.' . $field->getName()),
13+
])
14+
id="{{ $field->getName() . '.' . $loop->index }}"
15+
name="{{ $field->getName() }}"
16+
value="{{ $field->useValueAsKeys ? $value : $key }}"
17+
@if ($field->dusk) dusk={{ $field->dusk }} @endif
18+
>
19+
<label
20+
@class([config('livewire-forms.defaults.checkLabelClass')])
21+
for="{{ $field->getName() . '.' . $loop->index }}"
22+
>
23+
{{ $value }}
24+
</label>
25+
</div>
26+
@endforeach
27+
</div>
2328

29+
@include('livewire-forms::fields.gdpr')
2430
@include('livewire-forms::fields.error')
2531
</div>

resources/views/fields/row.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="{{ $field->divClass ?? 'row' }}">
1+
<div @class([$field->rowClass ?? config('livewire-forms.defaults.rowClass')])>
22
@foreach ($field->getNestedFields() as $_field)
33
{{ $_field->render() }}
44
@endforeach

resources/views/fields/select.blade.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
3+
34
<select
45
@include('livewire-forms::fields.binding')
56
id="{{ $field->getName() }}"
6-
class="{{ $field->class }}"
77
name="{{ $field->getName() }}"
88
@if($field->readOnly) disabled @endif
99
@if ($field->dusk) dusk={{ $field->dusk }} @endif
10+
@class([
11+
$field->class ?? config('livewire-forms.defaults.inputSelectClass'),
12+
'is-invalid' => $errors->has('fields.' . $field->getName()),
13+
])
1014
>
1115
<option value="">{{ __('form.select an option') }}</option>
1216
@foreach ($field->options as $key => $value)

resources/views/fields/text.blade.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<input
55
@include('livewire-forms::fields.binding')
66
id="{{ $field->getName() }}"
77
type="{{ $field->type ?? 'text' }}"
8-
class="{{ $field->class ?? config('livewire-forms.defaults.inputClass') }}"
98
name="{{ $field->getName() }}"
109
placeholder="{{ $field->getLabel() }}"
1110
value="{{ $field->getValue() }}"
1211
@if($field->readOnly) disabled @endif
1312
@if ($field->dusk) dusk={{ $field->dusk }} @endif
13+
@class([
14+
$field->class ?? config('livewire-forms.defaults.inputClass'),
15+
'is-invalid' => $errors->has('fields.' . $field->getName()),
16+
])
1417
>
1518

1619
@include('livewire-forms::fields.gdpr')

resources/views/fields/textarea.blade.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
<div class="{{ $field->divClass ?? config('livewire-forms.defaults.divClass') }}">
1+
<div @class([$field->divClass ?? config('livewire-forms.defaults.divClass')])>
22
@include('livewire-forms::fields.label')
33

44
<textarea
55
@include('livewire-forms::fields.binding')
66
id="{{ $field->getName() }}"
7-
class="{{ $field->class }}"
87
name="{{ $field->getName() }}"
98
placeholder="{{ $field->getLabel() }}"
9+
rows="{{ $field->rows ?? config('livewire-forms.defaults.textareaRows') }}"
1010
@if ($field->dusk) dusk={{ $field->dusk }} @endif
11+
@class([
12+
$field->class ?? config('livewire-forms.defaults.inputClass'),
13+
'is-invalid' => $errors->has('fields.' . $field->getName()),
14+
])
1115
></textarea>
1216

1317
@include('livewire-forms::fields.gdpr')

0 commit comments

Comments
 (0)