|
1 | 1 | <template>
|
2 |
| - <forge-checkbox :id="props.name" v-if="props.type === 'checkbox'" :label="props.fieldLabel" v-bind="$attrs" |
3 |
| - :name="props.name" v-model="model" /> |
4 |
| - <div class="d-flex flex-column w-100" v-else> |
| 2 | + <forge-checkbox |
| 3 | +v-if="props.type === 'checkbox'" :id="props.name" v-bind="$attrs" v-model="model" |
| 4 | + :label="props.fieldLabel" :name="props.name" /> |
| 5 | + <div v-else class="d-flex flex-column w-100"> |
5 | 6 | <div data-cy="input-wrapper" class="d-flex" :class="props.fieldLabelPosition === 'top' ? 'flex-column' : 'flex-row'">
|
6 | 7 | <label :for="props.name" :class="props.fieldLabelPosition === 'top' ? 'mb-1' : ('me-2 ' + props.labelWidthClass)">
|
7 | 8 | {{ props.fieldLabel }} <span v-if="required" class="text-danger fw-600">*</span>
|
|
10 | 11 | <!-- Slot for Custom Inputs -->
|
11 | 12 | <slot v-bind="{ modelValue: model, updateModel: handleChange, hasErrors }">
|
12 | 13 | <!-- Default Inputs (if no input is provided) -->
|
13 |
| - <InputNumber :id="props.name" v-if="props.type === 'number'" v-bind="$attrs" |
14 |
| - :placeholder="props.placeholder" :input-class="{'is-invalid': hasErrors }" :class="{'is-invalid': hasErrors }" |
15 |
| - @input="change" v-model="model" |
| 14 | + <InputNumber |
| 15 | + v-if="props.type === 'number'" :id="props.name" v-bind="$attrs" |
| 16 | + v-model="model" :placeholder="props.placeholder" :input-class="{'is-invalid': hasErrors }" |
| 17 | + :class="{'is-invalid': hasErrors }" @input="change" |
16 | 18 | />
|
17 |
| - <Textarea :id="props.name" v-else-if="props.type === 'textarea'" v-bind="$attrs" |
18 |
| - :placeholder="props.placeholder" :class="{'is-invalid': hasErrors }" |
19 |
| - v-model="model" |
| 19 | + <Textarea |
| 20 | + v-else-if="props.type === 'textarea'" :id="props.name" v-bind="$attrs" |
| 21 | + v-model="model" :placeholder="props.placeholder" |
| 22 | + :class="{'is-invalid': hasErrors }" |
20 | 23 | @input="change" @blur="handleBlur"
|
21 | 24 | />
|
22 |
| - <InputMask :id="props.name" v-else-if="props.type === 'mask'" v-bind="$attrs" |
23 |
| - :placeholder="props.placeholder" :mask="props.mask" :class="{'is-invalid': hasErrors }" |
24 |
| - v-model="model" @complete="change" @blur="handleBlur" |
| 25 | + <InputMask |
| 26 | + v-else-if="props.type === 'mask'" :id="props.name" v-bind="$attrs" |
| 27 | + v-model="model" :placeholder="props.placeholder" :mask="props.mask" |
| 28 | + :class="{'is-invalid': hasErrors }" @complete="change" @blur="handleBlur" |
25 | 29 | />
|
26 |
| - <InputText :id="props.name" v-else-if="props.type === 'text'" v-bind="$attrs" |
27 |
| - :placeholder="props.placeholder" :class="{'is-invalid': hasErrors }" |
28 |
| - v-model="model" |
| 30 | + <InputText |
| 31 | + v-else-if="props.type === 'text'" :id="props.name" v-bind="$attrs" |
| 32 | + v-model="model" :placeholder="props.placeholder" |
| 33 | + :class="{'is-invalid': hasErrors }" |
29 | 34 | @input="change" @blur="handleBlur"
|
30 | 35 | />
|
31 |
| - <Select v-else-if="props.type === 'select'" v-bind="{...props,...$attrs}" v-model="model" |
| 36 | + <Select |
| 37 | + v-else-if="props.type === 'select'" v-bind="{...props,...$attrs}" v-model="model" |
32 | 38 | :class="{'is-invalid': hasErrors }" />
|
33 |
| - <MultiSelect v-else-if="props.type === 'multiselect'" v-bind="{...props,...$attrs}" v-model="model" |
| 39 | + <MultiSelect |
| 40 | + v-else-if="props.type === 'multiselect'" v-bind="{...props,...$attrs}" v-model="model" |
34 | 41 | :class="{'is-invalid': hasErrors }" />
|
35 |
| - <ForgeMultiSelectPreview v-else-if="props.type === 'multiselect-preview'" v-bind="{...props,...$attrs}" v-model="model" |
| 42 | + <ForgeMultiSelectPreview |
| 43 | + v-else-if="props.type === 'multiselect-preview'" v-bind="{...props,...$attrs}" v-model="model" |
36 | 44 | :class="{'is-invalid': hasErrors }" />
|
37 |
| - <ForgeDatepicker v-else-if="props.type === 'datepicker'" v-bind="{...props,...$attrs}" v-model="model" |
| 45 | + <ForgeDatepicker |
| 46 | + v-else-if="props.type === 'datepicker'" v-bind="{...props,...$attrs}" v-model="model" |
38 | 47 | :class="{'is-invalid': hasErrors }" />
|
39 | 48 | </slot>
|
40 | 49 |
|
|
0 commit comments