@primevue/mcp 4.5.5 → 5.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +45 -21
- package/README.md +48 -250
- package/data/components.json +47269 -0
- package/data/llms/components/accordion.md +629 -0
- package/data/llms/components/animateonscroll.md +165 -0
- package/data/llms/components/autocomplete.md +995 -0
- package/data/llms/components/avatar.md +264 -0
- package/data/llms/components/badge.md +200 -0
- package/data/llms/components/blockui.md +99 -0
- package/data/llms/components/breadcrumb.md +269 -0
- package/data/llms/components/button.md +902 -0
- package/data/llms/components/card.md +209 -0
- package/data/llms/components/carousel.md +506 -0
- package/data/llms/components/cascadeselect.md +1207 -0
- package/data/llms/components/chart.md +1022 -0
- package/data/llms/components/checkbox.md +401 -0
- package/data/llms/components/chip.md +206 -0
- package/data/llms/components/colorpicker.md +213 -0
- package/data/llms/components/commandmenu.md +660 -0
- package/data/llms/components/compare.md +407 -0
- package/data/llms/components/confirmdialog.md +343 -0
- package/data/llms/components/confirmpopup.md +252 -0
- package/data/llms/components/contextmenu.md +522 -0
- package/data/llms/components/datatable.md +5266 -0
- package/data/llms/components/dataview.md +569 -0
- package/data/llms/components/datepicker.md +964 -0
- package/data/llms/components/deferredcontent.md +96 -0
- package/data/llms/components/dialog.md +702 -0
- package/data/llms/components/divider.md +152 -0
- package/data/llms/components/dock.md +488 -0
- package/data/llms/components/drawer.md +469 -0
- package/data/llms/components/dynamicdialog.md +214 -0
- package/data/llms/components/editor.md +205 -0
- package/data/llms/components/fieldset.md +253 -0
- package/data/llms/components/fileupload.md +459 -0
- package/data/llms/components/floatlabel.md +144 -0
- package/data/llms/components/fluid.md +104 -0
- package/data/llms/components/focustrap.md +59 -0
- package/data/llms/components/forms.md +344 -0
- package/data/llms/components/galleria.md +1119 -0
- package/data/llms/components/gallery.md +1003 -0
- package/data/llms/components/iconfield.md +283 -0
- package/data/llms/components/iftalabel.md +96 -0
- package/data/llms/components/image.md +179 -0
- package/data/llms/components/imagecompare.md +108 -0
- package/data/llms/components/inplace.md +183 -0
- package/data/llms/components/inputcolor.md +869 -0
- package/data/llms/components/inputgroup.md +419 -0
- package/data/llms/components/inputmask.md +345 -0
- package/data/llms/components/inputnumber.md +551 -0
- package/data/llms/components/inputotp.md +345 -0
- package/data/llms/components/inputpassword.md +738 -0
- package/data/llms/components/inputtags.md +432 -0
- package/data/llms/components/inputtext.md +569 -0
- package/data/llms/components/installation.md +1 -0
- package/data/llms/components/keyfilter.md +116 -0
- package/data/llms/components/knob.md +318 -0
- package/data/llms/components/label.md +151 -0
- package/data/llms/components/laravel.md +53 -0
- package/data/llms/components/listbox.md +636 -0
- package/data/llms/components/mask.md +203 -0
- package/data/llms/components/mcp.md +39 -0
- package/data/llms/components/megamenu.md +563 -0
- package/data/llms/components/menu.md +651 -0
- package/data/llms/components/menubar.md +446 -0
- package/data/llms/components/message.md +497 -0
- package/data/llms/components/metergroup.md +281 -0
- package/data/llms/components/multiselect.md +752 -0
- package/data/llms/components/orderlist.md +224 -0
- package/data/llms/components/organizationchart.md +418 -0
- package/data/llms/components/paginator.md +221 -0
- package/data/llms/components/panel.md +321 -0
- package/data/llms/components/panelmenu.md +703 -0
- package/data/llms/components/password.md +657 -0
- package/data/llms/components/picklist.md +286 -0
- package/data/llms/components/popover.md +145 -0
- package/data/llms/components/progressbar.md +242 -0
- package/data/llms/components/progressspinner.md +104 -0
- package/data/llms/components/radiobutton.md +427 -0
- package/data/llms/components/rating.md +312 -0
- package/data/llms/components/ripple.md +91 -0
- package/data/llms/components/scrollarea.md +700 -0
- package/data/llms/components/scrollpanel.md +131 -0
- package/data/llms/components/scrolltop.md +87 -0
- package/data/llms/components/select.md +1251 -0
- package/data/llms/components/selectbutton.md +268 -0
- package/data/llms/components/sidebar.md +2232 -0
- package/data/llms/components/skeleton.md +302 -0
- package/data/llms/components/slider.md +416 -0
- package/data/llms/components/speeddial.md +402 -0
- package/data/llms/components/splitbutton.md +840 -0
- package/data/llms/components/splitter.md +447 -0
- package/data/llms/components/stepper.md +551 -0
- package/data/llms/components/styleclass.md +226 -0
- package/data/llms/components/tabs.md +609 -0
- package/data/llms/components/tag.md +178 -0
- package/data/llms/components/terminal.md +123 -0
- package/data/llms/components/textarea.md +519 -0
- package/data/llms/components/tieredmenu.md +578 -0
- package/data/llms/components/timeline.md +494 -0
- package/data/llms/components/toast.md +472 -0
- package/data/llms/components/togglebutton.md +276 -0
- package/data/llms/components/toggleswitch.md +271 -0
- package/data/llms/components/toolbar.md +140 -0
- package/data/llms/components/tooltip.md +160 -0
- package/data/llms/components/tree.md +1076 -0
- package/data/llms/components/treeselect.md +660 -0
- package/data/llms/components/treetable.md +2493 -0
- package/data/llms/components/virtualscroller.md +265 -0
- package/data/llms/guides/autoimport.md +28 -0
- package/data/llms/guides/cdn.md +72 -0
- package/data/llms/guides/configuration.md +158 -0
- package/data/llms/guides/customicons.md +67 -0
- package/data/llms/guides/guides/accessibility.md +27 -0
- package/data/llms/guides/guides/animations.md +119 -0
- package/data/llms/guides/guides/rtl.md +7 -0
- package/data/llms/guides/icons.md +136 -0
- package/data/llms/guides/installation.md +3 -0
- package/data/llms/guides/laravel.md +66 -0
- package/data/llms/guides/llms.md +15 -0
- package/data/llms/guides/mcp.md +104 -0
- package/data/llms/guides/migration/v4.md +15 -0
- package/data/llms/guides/migration/v5.md +15 -0
- package/data/llms/guides/nuxt.md +141 -0
- package/data/llms/guides/passthrough.md +137 -0
- package/data/llms/guides/primeclt.md +43 -0
- package/data/llms/guides/tailwind.md +151 -0
- package/data/llms/guides/theming/styled.md +497 -0
- package/data/llms/guides/theming/unstyled.md +57 -0
- package/data/llms/guides/uikit.md +3 -0
- package/data/llms/guides/vite.md +90 -0
- package/data/llms/llms-full.txt +54465 -0
- package/data/llms/llms.txt +132 -0
- package/data/llms/pages/accessibility.md +27 -0
- package/data/llms/pages/animations.md +119 -0
- package/data/llms/pages/autoimport.md +28 -0
- package/data/llms/pages/cdn.md +72 -0
- package/data/llms/pages/configuration.md +158 -0
- package/data/llms/pages/contribution.md +31 -0
- package/data/llms/pages/customicons.md +67 -0
- package/data/llms/pages/designer.md +79 -0
- package/data/llms/pages/dynamicimports.md +7 -0
- package/data/llms/pages/forms.md +63 -0
- package/data/llms/pages/guides/accessibility.md +27 -0
- package/data/llms/pages/guides/animations.md +119 -0
- package/data/llms/pages/guides/rtl.md +7 -0
- package/data/llms/pages/icons.md +136 -0
- package/data/llms/pages/installation.md +3 -0
- package/data/llms/pages/introduction.md +23 -0
- package/data/llms/pages/laravel.md +66 -0
- package/data/llms/pages/llms.md +15 -0
- package/data/llms/pages/mcp.md +104 -0
- package/data/llms/pages/migration/v4.md +15 -0
- package/data/llms/pages/migration/v5.md +15 -0
- package/data/llms/pages/nuxt.md +141 -0
- package/data/llms/pages/passthrough.md +137 -0
- package/data/llms/pages/primeclt.md +43 -0
- package/data/llms/pages/rtl.md +7 -0
- package/data/llms/pages/setup.md +3 -0
- package/data/llms/pages/styled.md +497 -0
- package/data/llms/pages/tailwind.md +151 -0
- package/data/llms/pages/theming/styled.md +497 -0
- package/data/llms/pages/theming/unstyled.md +57 -0
- package/data/llms/pages/uikit.md +3 -0
- package/data/llms/pages/unstyled.md +57 -0
- package/data/llms/pages/v4.md +15 -0
- package/data/llms/pages/v5.md +15 -0
- package/data/llms/pages/vite.md +90 -0
- package/data/manifest.json +11117 -0
- package/data/mcp-data.json +55940 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.js +66066 -72541
- package/package.json +10 -12
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Knob
|
|
2
|
+
|
|
3
|
+
Knob is a form component to define number inputs with a dial.
|
|
4
|
+
|
|
5
|
+
## Basic
|
|
6
|
+
|
|
7
|
+
Knob is an input component and used with the standard v-model directive.
|
|
8
|
+
|
|
9
|
+
```vue
|
|
10
|
+
<template>
|
|
11
|
+
<div class="flex justify-center">
|
|
12
|
+
<Knob v-model="value" />
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script setup>
|
|
17
|
+
import { ref } from 'vue';
|
|
18
|
+
|
|
19
|
+
const value = ref(50);
|
|
20
|
+
<\/script>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Min/Max
|
|
24
|
+
|
|
25
|
+
Boundaries are configured with the min and max properties whose defaults are 0 and 100 respectively.
|
|
26
|
+
|
|
27
|
+
```vue
|
|
28
|
+
<template>
|
|
29
|
+
<div class="flex justify-center">
|
|
30
|
+
<Knob v-model="value" :min="-50" :max="50" />
|
|
31
|
+
</div>
|
|
32
|
+
</template>
|
|
33
|
+
|
|
34
|
+
<script setup>
|
|
35
|
+
import { ref } from 'vue';
|
|
36
|
+
|
|
37
|
+
const value = ref(10);
|
|
38
|
+
<\/script>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Step
|
|
42
|
+
|
|
43
|
+
Size of each movement is defined with the step property.
|
|
44
|
+
|
|
45
|
+
```vue
|
|
46
|
+
<template>
|
|
47
|
+
<div class="flex justify-center">
|
|
48
|
+
<Knob v-model="value" :step="10" />
|
|
49
|
+
</div>
|
|
50
|
+
</template>
|
|
51
|
+
|
|
52
|
+
<script setup>
|
|
53
|
+
import { ref } from 'vue';
|
|
54
|
+
|
|
55
|
+
const value = ref(50);
|
|
56
|
+
<\/script>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Template
|
|
60
|
+
|
|
61
|
+
Label is a string template that can be customized with the valueTemplate property having 60 as the placeholder .
|
|
62
|
+
|
|
63
|
+
```vue
|
|
64
|
+
<template>
|
|
65
|
+
<div class="flex justify-center">
|
|
66
|
+
<Knob v-model="value" valueTemplate="{value}%" />
|
|
67
|
+
</div>
|
|
68
|
+
</template>
|
|
69
|
+
|
|
70
|
+
<script setup>
|
|
71
|
+
import { ref } from 'vue';
|
|
72
|
+
|
|
73
|
+
const value = ref(60);
|
|
74
|
+
<\/script>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Stroke
|
|
78
|
+
|
|
79
|
+
The border size is specified with the strokeWidth property as a number in pixels.
|
|
80
|
+
|
|
81
|
+
```vue
|
|
82
|
+
<template>
|
|
83
|
+
<div class="flex justify-center">
|
|
84
|
+
<Knob v-model="value" :strokeWidth="5" />
|
|
85
|
+
</div>
|
|
86
|
+
</template>
|
|
87
|
+
|
|
88
|
+
<script setup>
|
|
89
|
+
import { ref } from 'vue';
|
|
90
|
+
|
|
91
|
+
const value = ref(40);
|
|
92
|
+
<\/script>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Size
|
|
96
|
+
|
|
97
|
+
Diameter of the knob is defined in pixels using the size property.
|
|
98
|
+
|
|
99
|
+
```vue
|
|
100
|
+
<template>
|
|
101
|
+
<div class="flex justify-center">
|
|
102
|
+
<Knob v-model="value" :size="200" />
|
|
103
|
+
</div>
|
|
104
|
+
</template>
|
|
105
|
+
|
|
106
|
+
<script setup>
|
|
107
|
+
import { ref } from 'vue';
|
|
108
|
+
|
|
109
|
+
const value = ref(60);
|
|
110
|
+
<\/script>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Color
|
|
114
|
+
|
|
115
|
+
Colors are customized with the textColor , rangeColor and valueColor properties.
|
|
116
|
+
|
|
117
|
+
```vue
|
|
118
|
+
<template>
|
|
119
|
+
<div class="flex justify-center">
|
|
120
|
+
<Knob v-model="value" valueColor="PeachPuff" rangeColor="MediumTurquoise" />
|
|
121
|
+
</div>
|
|
122
|
+
</template>
|
|
123
|
+
|
|
124
|
+
<script setup>
|
|
125
|
+
import { ref } from 'vue';
|
|
126
|
+
|
|
127
|
+
const value = ref(50);
|
|
128
|
+
<\/script>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Reactive
|
|
132
|
+
|
|
133
|
+
Knob can be controlled with custom controls as well.
|
|
134
|
+
|
|
135
|
+
```vue
|
|
136
|
+
<template>
|
|
137
|
+
<div class="flex flex-col items-center gap-2">
|
|
138
|
+
<Knob v-model="value" :size="150" readonly />
|
|
139
|
+
<div class="flex gap-2">
|
|
140
|
+
<Button :disabled="value >= 100" iconOnly @click="value++">
|
|
141
|
+
<Plus />
|
|
142
|
+
</Button>
|
|
143
|
+
<Button :disabled="value <= 0" iconOnly @click="value--">
|
|
144
|
+
<Minus />
|
|
145
|
+
</Button>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
</template>
|
|
149
|
+
|
|
150
|
+
<script setup>
|
|
151
|
+
import { ref } from 'vue';
|
|
152
|
+
import Minus from '@primeicons/vue/minus';
|
|
153
|
+
import Plus from '@primeicons/vue/plus';
|
|
154
|
+
|
|
155
|
+
const value = ref(0);
|
|
156
|
+
<\/script>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## ReadOnly
|
|
160
|
+
|
|
161
|
+
When readonly present, value cannot be edited.
|
|
162
|
+
|
|
163
|
+
```vue
|
|
164
|
+
<template>
|
|
165
|
+
<div class="flex justify-center">
|
|
166
|
+
<Knob v-model="value" readonly />
|
|
167
|
+
</div>
|
|
168
|
+
</template>
|
|
169
|
+
|
|
170
|
+
<script setup>
|
|
171
|
+
import { ref } from 'vue';
|
|
172
|
+
|
|
173
|
+
const value = ref(50);
|
|
174
|
+
<\/script>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Disabled
|
|
178
|
+
|
|
179
|
+
When disabled is present, a visual hint is applied to indicate that the Knob cannot be interacted with.
|
|
180
|
+
|
|
181
|
+
```vue
|
|
182
|
+
<template>
|
|
183
|
+
<div class="flex justify-center">
|
|
184
|
+
<Knob v-model="value" disabled />
|
|
185
|
+
</div>
|
|
186
|
+
</template>
|
|
187
|
+
|
|
188
|
+
<script setup>
|
|
189
|
+
import { ref } from 'vue';
|
|
190
|
+
|
|
191
|
+
const value = ref(75);
|
|
192
|
+
<\/script>
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Forms
|
|
196
|
+
|
|
197
|
+
Knob integrates seamlessly with the PrimeVue Forms library.
|
|
198
|
+
|
|
199
|
+
```vue
|
|
200
|
+
<template>
|
|
201
|
+
<div class="flex justify-center">
|
|
202
|
+
<Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex flex-col gap-4">
|
|
203
|
+
<div class="flex flex-col items-center gap-1">
|
|
204
|
+
<Knob name="knob" />
|
|
205
|
+
<Message v-if="$form.knob?.invalid" severity="error" size="small" variant="simple">{{ $form.knob.error?.message }}</Message>
|
|
206
|
+
</div>
|
|
207
|
+
<Button type="submit" severity="secondary">Submit</Button>
|
|
208
|
+
</Form>
|
|
209
|
+
</div>
|
|
210
|
+
<Toast />
|
|
211
|
+
</template>
|
|
212
|
+
|
|
213
|
+
<script setup>
|
|
214
|
+
import { ref } from 'vue';
|
|
215
|
+
import { zodResolver } from '@primevue/forms/resolvers/zod';
|
|
216
|
+
import { useToast } from "primevue/usetoast";
|
|
217
|
+
import { z } from 'zod';
|
|
218
|
+
|
|
219
|
+
const toast = useToast();
|
|
220
|
+
const initialValues = ref({
|
|
221
|
+
knob: 15
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
const resolver = ref(zodResolver(
|
|
225
|
+
z.object({
|
|
226
|
+
knob: z.number().gt(25, { message: 'Must be greater than 25.' }).lt(75, { message: 'Must be less than 75.' })
|
|
227
|
+
})
|
|
228
|
+
));
|
|
229
|
+
|
|
230
|
+
const onFormSubmit = ({ valid }) => {
|
|
231
|
+
if (valid) {
|
|
232
|
+
toast.add({ severity: 'success', summary: 'Form is submitted.', life: 3000 });
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
<\/script>
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Accessibility
|
|
239
|
+
|
|
240
|
+
Screen Reader Knob element component uses slider role in addition to the aria-valuemin , aria-valuemax and aria-valuenow attributes. Value to describe the component can be defined using ariaLabelledby and ariaLabel props. Keyboard Support Key Function tab Moves focus to the slider. left arrow down arrow Decrements the value. right arrow up arrow Increments the value. home Set the minimum value. end Set the maximum value. page up Increments the value by 10 steps. page down Decrements the value by 10 steps.
|
|
241
|
+
|
|
242
|
+
```vue
|
|
243
|
+
<template>
|
|
244
|
+
<span id="label_number">Number</span>
|
|
245
|
+
<Knob ariaLabelledby="label_number" />
|
|
246
|
+
|
|
247
|
+
<Knob ariaLabel="Number" />
|
|
248
|
+
</template>
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Knob API
|
|
252
|
+
|
|
253
|
+
### Props
|
|
254
|
+
|
|
255
|
+
| Name |Type |Default |Description |
|
|
256
|
+
| --- | --- | --- | --- |
|
|
257
|
+
| modelValue | number | - | Value of the component. |
|
|
258
|
+
| defaultValue | any | - | The default value for the input when not controlled by `modelValue` . |
|
|
259
|
+
| name | string | - | The name attribute for the element, typically used in form submissions. |
|
|
260
|
+
| size | number | 100 | Size of the component in pixels. |
|
|
261
|
+
| invalid | boolean | false | When present, it specifies that the component should have invalid state style. |
|
|
262
|
+
| disabled | boolean | false | When present, it specifies that the component should be disabled. |
|
|
263
|
+
| readonly | boolean | false | When present, it specifies that the component value cannot be edited. |
|
|
264
|
+
| step | number | 1 | Step factor to increment/decrement the value. |
|
|
265
|
+
| min | number | 0 | Mininum boundary value. |
|
|
266
|
+
| max | number | 100 | Maximum boundary value. |
|
|
267
|
+
| valueColor | string | $dt('knob.value.background') | Background of the value. |
|
|
268
|
+
| rangeColor | string | $dt('knob.range.background') | Background color of the range. |
|
|
269
|
+
| textColor | string | $dt('knob.text.color') | Color of the value text. |
|
|
270
|
+
| strokeWidth | number | 14 | Width of the knob stroke. |
|
|
271
|
+
| showValue | boolean | true | Whether the show the value inside the knob. |
|
|
272
|
+
| valueTemplate | string \| Function | '{value}' | Template string of the value. |
|
|
273
|
+
| tabindex | number | 0 | Index of the element in tabbing order. |
|
|
274
|
+
| ariaLabelledby | string | - | Establishes relationships between the component and label(s) where its value should be one or more element IDs. |
|
|
275
|
+
| ariaLabel | string | - | Used to define a string that labels the element. |
|
|
276
|
+
| formControl | Record<string, any> | - | Form control object, typically used for handling validation and form state. |
|
|
277
|
+
| dt | any | - | It generates scoped CSS variables using design tokens for the component. |
|
|
278
|
+
| pt | PassThrough<KnobPassThroughOptions> | - | Used to pass attributes to DOM elements inside the component. |
|
|
279
|
+
| ptOptions | any | - | Used to configure passthrough(pt) options of the component. |
|
|
280
|
+
| unstyled | boolean | false | When enabled, it removes component related styles in the core. |
|
|
281
|
+
|
|
282
|
+
### Pass Through Options
|
|
283
|
+
|
|
284
|
+
| Name |Type |Description |
|
|
285
|
+
| --- | --- | --- |
|
|
286
|
+
| root | KnobPassThroughOptionType | Used to pass attributes to the root's DOM element. |
|
|
287
|
+
| svg | KnobPassThroughOptionType | Used to pass attributes to the svg's DOM element. |
|
|
288
|
+
| range | KnobPassThroughOptionType | Used to pass attributes to the range's DOM element. |
|
|
289
|
+
| value | KnobPassThroughOptionType | Used to pass attributes to the value' DOM element. |
|
|
290
|
+
| text | KnobPassThroughOptionType | Used to pass attributes to the text's DOM element. |
|
|
291
|
+
| hooks | any | Used to manage all lifecycle hooks. |
|
|
292
|
+
|
|
293
|
+
### Theming
|
|
294
|
+
|
|
295
|
+
### CSS Classes
|
|
296
|
+
|
|
297
|
+
| Class |Description |
|
|
298
|
+
| --- | --- |
|
|
299
|
+
| p-knob | Class name of the root element |
|
|
300
|
+
| p-knob-range | Class name of the range element |
|
|
301
|
+
| p-knob-value | Class name of the value element |
|
|
302
|
+
| p-knob-text | Class name of the text element |
|
|
303
|
+
|
|
304
|
+
### Design Tokens
|
|
305
|
+
|
|
306
|
+
| Token |CSS Variable |Description |
|
|
307
|
+
| --- | --- | --- |
|
|
308
|
+
| knob.transition.duration | --p-knob-transition-duration | Transition duration of root |
|
|
309
|
+
| knob.focus.ring.width | --p-knob-focus-ring-width | Focus ring width of root |
|
|
310
|
+
| knob.focus.ring.style | --p-knob-focus-ring-style | Focus ring style of root |
|
|
311
|
+
| knob.focus.ring.color | --p-knob-focus-ring-color | Focus ring color of root |
|
|
312
|
+
| knob.focus.ring.offset | --p-knob-focus-ring-offset | Focus ring offset of root |
|
|
313
|
+
| knob.focus.ring.shadow | --p-knob-focus-ring-shadow | Focus ring shadow of root |
|
|
314
|
+
| knob.value.background | --p-knob-value-background | Background of value |
|
|
315
|
+
| knob.range.background | --p-knob-range-background | Background of range |
|
|
316
|
+
| knob.text.color | --p-knob-text-color | Color of text |
|
|
317
|
+
| knob.text.font.size | --p-knob-text-font-size | Font size of text |
|
|
318
|
+
| knob.text.font.weight | --p-knob-text-font-weight | Font weight of text |
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Label
|
|
2
|
+
|
|
3
|
+
Label provides accessible text labels for form controls. Use the for attribute to link the label to a form control by its id.
|
|
4
|
+
|
|
5
|
+
## Basic
|
|
6
|
+
|
|
7
|
+
An accessible label element associated with a form control.
|
|
8
|
+
|
|
9
|
+
```vue
|
|
10
|
+
<template>
|
|
11
|
+
<div class="flex flex-wrap justify-center">
|
|
12
|
+
<div class="flex flex-col gap-2 w-full max-w-sm">
|
|
13
|
+
<Label for="username">Username</Label>
|
|
14
|
+
<InputText id="username" v-model="value" placeholder="Enter username" />
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup>
|
|
20
|
+
import { ref } from 'vue';
|
|
21
|
+
|
|
22
|
+
const value = ref('');
|
|
23
|
+
<\/script>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Required
|
|
27
|
+
|
|
28
|
+
You can display required indicators in the label content while keeping the input semantics with required or aria-required .
|
|
29
|
+
|
|
30
|
+
```vue
|
|
31
|
+
<template>
|
|
32
|
+
<div class="flex flex-wrap justify-center">
|
|
33
|
+
<div class="flex flex-col gap-2 w-full max-w-sm">
|
|
34
|
+
<Label for="email" class="font-medium!">
|
|
35
|
+
<Envelope />
|
|
36
|
+
<span>Email</span>
|
|
37
|
+
<span aria-hidden="true">*</span>
|
|
38
|
+
</Label>
|
|
39
|
+
<InputText id="email" v-model="value" type="email" placeholder="name@example.com" required aria-required="true" />
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</template>
|
|
43
|
+
|
|
44
|
+
<script setup>
|
|
45
|
+
import { ref } from 'vue';
|
|
46
|
+
import Envelope from '@primeicons/vue/envelope';
|
|
47
|
+
|
|
48
|
+
const value = ref('');
|
|
49
|
+
<\/script>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Wrapper
|
|
53
|
+
|
|
54
|
+
Label can wrap a form control to associate them implicitly without for . Useful for card-style selectable options.
|
|
55
|
+
|
|
56
|
+
```vue
|
|
57
|
+
<template>
|
|
58
|
+
<div class="flex flex-wrap justify-center">
|
|
59
|
+
<div class="flex flex-col w-full max-w-3xs gap-2">
|
|
60
|
+
<Label v-for="plan in plans" :key="plan.id" :class="'flex items-start gap-3 p-3 rounded-md border cursor-pointer ' + (selected === plan.id ? 'border-primary' : 'border-surface')">
|
|
61
|
+
<RadioButton name="plan" :value="plan.id" v-model="selected" />
|
|
62
|
+
<div class="flex flex-col gap-0.5">
|
|
63
|
+
<span class="font-medium">{{ plan.name }}</span>
|
|
64
|
+
<span class="text-xs text-surface-500">{{ plan.description }}</span>
|
|
65
|
+
</div>
|
|
66
|
+
</Label>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<script setup>
|
|
72
|
+
import { ref } from 'vue';
|
|
73
|
+
|
|
74
|
+
const selected = ref('pro');
|
|
75
|
+
const plans = ref([
|
|
76
|
+
{ id: 'starter', name: 'Starter', description: 'For solo developers.' },
|
|
77
|
+
{ id: 'pro', name: 'Pro', description: 'For growing teams.' },
|
|
78
|
+
{ id: 'enterprise', name: 'Enterprise', description: 'For large organizations.' }
|
|
79
|
+
]);
|
|
80
|
+
<\/script>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Disabled
|
|
84
|
+
|
|
85
|
+
Label reflects the disabled state of an associated control automatically when the control and label are peers or when the container has data-disabled .
|
|
86
|
+
|
|
87
|
+
```vue
|
|
88
|
+
<template>
|
|
89
|
+
<div class="flex flex-col items-start max-w-3xs w-full mx-auto gap-6">
|
|
90
|
+
<div class="flex flex-col gap-2 w-full">
|
|
91
|
+
<Label for="account-id">Account ID</Label>
|
|
92
|
+
<InputText id="account-id" v-model="accountId" disabled />
|
|
93
|
+
</div>
|
|
94
|
+
<div data-disabled="true" class="flex flex-col gap-2 w-full">
|
|
95
|
+
<Label for="api-key">API Key</Label>
|
|
96
|
+
<span>
|
|
97
|
+
<InputText id="api-key" v-model="apiKey" disabled fluid />
|
|
98
|
+
</span>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</template>
|
|
102
|
+
|
|
103
|
+
<script setup>
|
|
104
|
+
import { ref } from 'vue';
|
|
105
|
+
|
|
106
|
+
const accountId = ref('ACC-2026-0042');
|
|
107
|
+
const apiKey = ref('sk_live_***************');
|
|
108
|
+
<\/script>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Accessibility
|
|
112
|
+
|
|
113
|
+
Screen Reader Label renders a native label element. Use the for attribute to associate it with a form control id, or wrap the form control inside the label. Keyboard Support Component does not include any interactive elements.
|
|
114
|
+
|
|
115
|
+
## Label API
|
|
116
|
+
|
|
117
|
+
### Props
|
|
118
|
+
|
|
119
|
+
| Name |Type |Default |Description |
|
|
120
|
+
| --- | --- | --- | --- |
|
|
121
|
+
| as | string \| Component | LABEL | Use to change the HTML tag of root element. |
|
|
122
|
+
| asChild | boolean | false | When enabled, it changes the default rendered element for the one passed as a child element. |
|
|
123
|
+
| dt | any | - | It generates scoped CSS variables using design tokens for the component. |
|
|
124
|
+
| pt | PassThrough<LabelPassThroughOptions> | - | Used to pass attributes to DOM elements inside the component. |
|
|
125
|
+
| ptOptions | any | - | Used to configure passthrough(pt) options of the component. |
|
|
126
|
+
| unstyled | boolean | false | When enabled, it removes component related styles in the core. |
|
|
127
|
+
|
|
128
|
+
### Pass Through Options
|
|
129
|
+
|
|
130
|
+
| Name |Type |Description |
|
|
131
|
+
| --- | --- | --- |
|
|
132
|
+
| root | LabelPassThroughOptionType | Used to pass attributes to the root's DOM element. |
|
|
133
|
+
| hooks | any | Used to manage all lifecycle hooks. |
|
|
134
|
+
|
|
135
|
+
### Theming
|
|
136
|
+
|
|
137
|
+
### CSS Classes
|
|
138
|
+
|
|
139
|
+
| Class |Description |
|
|
140
|
+
| --- | --- |
|
|
141
|
+
| p-label | Class name of the root element |
|
|
142
|
+
|
|
143
|
+
### Design Tokens
|
|
144
|
+
|
|
145
|
+
| Token |CSS Variable |Description |
|
|
146
|
+
| --- | --- | --- |
|
|
147
|
+
| label.gap | --p-label-gap | Gap of root |
|
|
148
|
+
| label.font.size | --p-label-font-size | Font size of root |
|
|
149
|
+
| label.font.weight | --p-label-font-weight | Font weight of root |
|
|
150
|
+
| label.text.color | --p-label-text-color | Text color of root |
|
|
151
|
+
| label.disabled.opacity | --p-label-disabled-opacity | Disabled opacity of root |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# laravel
|
|
2
|
+
|
|
3
|
+
## Download
|
|
4
|
+
|
|
5
|
+
PrimeVue is available for download on npm registry .
|
|
6
|
+
|
|
7
|
+
```vue
|
|
8
|
+
# Using npm npm install primevue @primeuix/themes # Using yarn yarn add primevue @primeuix/themes # Using pnpm pnpm add primevue @primeuix/themes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
We've created various samples for the popular options in the Vue ecosystem. Visit the primevue-examples repository for more samples including laravel-quickstart and inertia-quickstart .
|
|
14
|
+
|
|
15
|
+
## Next Steps
|
|
16
|
+
|
|
17
|
+
Welcome to the Prime UI Ecosystem! Once you have PrimeVue up and running, we recommend exploring the following resources to gain a deeper understanding of the library. Global configuration Auto imports with tree-shaking Customization of styles Pass through attributes Getting support
|
|
18
|
+
|
|
19
|
+
## PluginDoc
|
|
20
|
+
|
|
21
|
+
PrimeVue plugin is required to be installed as an application plugin to set up the default configuration . The plugin is lightweight, and only utilized for configuration purposes.
|
|
22
|
+
|
|
23
|
+
```vue
|
|
24
|
+
import { createApp } from 'vue'; import PrimeVue from 'primevue/config'; const app = createApp(App); app.use(PrimeVue);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Plugin
|
|
28
|
+
|
|
29
|
+
Configure PrimeVue to use a theme like Aura.
|
|
30
|
+
|
|
31
|
+
## Verify
|
|
32
|
+
|
|
33
|
+
Verify your setup by adding a component such as Button . Each component can be imported and registered individually so that you only include what you use for bundle optimization. Import path is available in the documentation of the corresponding component.
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
import Button from "primevue/button" const app = createApp(App); app.component('Button', Button);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
<details>
|
|
40
|
+
<summary>Composition API Example</summary>
|
|
41
|
+
|
|
42
|
+
```vue
|
|
43
|
+
<template>
|
|
44
|
+
<div class="card flex justify-center">
|
|
45
|
+
<Button label="Verify" />
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<script setup>
|
|
50
|
+
<\/script>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
</details>
|