Skip to content

Commit fc34775

Browse files
Merge pull request #494 from aziontech/refactor/standardize-label-component
refactor(form): standardize label usage with LabelBlock component
2 parents a0b8d14 + 174f00e commit fc34775

18 files changed

Lines changed: 22 additions & 43 deletions

File tree

apps/storybook/src/stories/core/form/Label.stories.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default {
77
argTypes: {
88
label: {
99
control: 'text',
10-
description: 'Label text to display (required)'
10+
description: 'Label text to display. When empty, the label is not rendered.'
1111
},
1212
isRequired: {
1313
control: 'boolean',

packages/webkit/src/core/form/field-auto-complete/field-auto-complete.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { useField } from 'vee-validate'
44
import AutoComplete from 'primevue/autocomplete'
55
import InputSlot from '../slots/input-slot'
6+
import LabelBlock from '../label'
67
78
const props = defineProps({
89
value: {
@@ -69,12 +70,10 @@
6970

7071
<template>
7172
<InputSlot>
72-
<label
73+
<LabelBlock
7374
:for="props.name"
74-
class="text-color text-base font-medium leading-5"
75-
>
76-
{{ props.label }}
77-
</label>
75+
:label="props.label"
76+
/>
7877

7978
<div
8079
class="p-inputgroup h-fit"

packages/webkit/src/core/form/field-dropdown-icon/field-dropdown-icon.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { useField } from 'vee-validate'
44
import Dropdown from 'primevue/dropdown'
55
import InputSlot from '../slots/input-slot'
6+
import LabelBlock from '../label'
67
78
const emit = defineEmits(['onChange'])
89
@@ -76,12 +77,10 @@
7677

7778
<template>
7879
<InputSlot>
79-
<label
80+
<LabelBlock
8081
:for="props.name"
81-
class="text-color text-base font-medium leading-5"
82-
>
83-
{{ props.label }}
84-
</label>
82+
:label="props.label"
83+
/>
8584

8685
<div
8786
class="p-inputgroup h-fit"

packages/webkit/src/core/form/field-dropdown-lazy-loader-dynamic/field-dropdown-lazy-loader-dynamic.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<template>
22
<InputSlot>
33
<Label
4-
v-if="props.label"
54
:for="props.name"
65
:label="props.label"
76
:isRequired="$attrs.required"

packages/webkit/src/core/form/field-dropdown-lazy-loader-with-filter/field-dropdown-lazy-loader-with-filter.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,6 @@
423423
<template>
424424
<InputSlot>
425425
<Label
426-
v-if="props.label"
427426
:for="props.name"
428427
:label="props.label"
429428
:isRequired="$attrs.required"

packages/webkit/src/core/form/field-dropdown-lazy-loader/field-dropdown-lazy-loader.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,6 @@
528528
<template>
529529
<InputSlot>
530530
<Label
531-
v-if="props.label"
532531
:for="props.name"
533532
:label="props.label"
534533
:isRequired="$attrs.required"

packages/webkit/src/core/form/field-dropdown-multi-select-lazy-loader/field-dropdown-multi-select-lazy-loader.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@
358358
<template>
359359
<InputSlot>
360360
<Label
361-
v-if="props.label"
362361
:for="props.name"
363362
:label="props.label"
364363
:isRequired="$attrs.required"

packages/webkit/src/core/form/field-dropdown/field-dropdown.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@
179179
:label="props.label"
180180
:isRequired="$attrs.required"
181181
:data-testid="customTestId.label"
182-
v-if="props.label"
183182
/>
184183
<Dropdown
185184
:dropdown-icon="isDisabledIcon"

packages/webkit/src/core/form/field-group-checkbox/field-group-checkbox.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import FieldCheckboxBlock from '../field-checkbox-block'
33
import { computed, ref } from 'vue'
44
import PrimeDivider from 'primevue/divider'
5+
import LabelBlock from '../label'
56
67
defineOptions({ name: 'FieldGroupCheckbox' })
78
@@ -63,9 +64,7 @@
6364

6465
<template>
6566
<div :class="['flex flex-col gap-2', classStateRoot]">
66-
<label class="text-color text-base font-medium leading-5">
67-
{{ props.label }}
68-
</label>
67+
<LabelBlock :label="props.label" />
6968
<div
7069
class="flex"
7170
:class="classListSelector"

packages/webkit/src/core/form/field-group-radio/field-group-radio.vue

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import { useField } from 'vee-validate'
44
import { computed, ref, toRefs, useAttrs } from 'vue'
55
import PrimeDivider from 'primevue/divider'
6+
import LabelBlock from '../label'
67
78
defineOptions({ name: 'FieldGroupRadio' })
89
@@ -86,19 +87,11 @@
8687
8788
<template>
8889
<div :class="['flex flex-col gap-2', classStateRoot]">
89-
<label
90-
class="text-color text-base font-medium leading-5 flex gap-1 align-items-center"
90+
<LabelBlock
91+
:label="props.label"
92+
:isRequired="props.isRequired"
9193
:data-testid="customTestId.label"
92-
>
93-
{{ props.label }}
94-
<div
95-
v-if="props.isRequired"
96-
class="text-sm text-orange-500 flex gap-1"
97-
>
98-
*
99-
<span class="text-[0.625rem] text-color-secondary">(Required)</span>
100-
</div>
101-
</label>
94+
/>
10295
<div
10396
class="flex"
10497
:class="classListSelector"

0 commit comments

Comments
 (0)