@maltjoy/mcp-server 0.3.2 → 0.4.0

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.
Files changed (103) hide show
  1. package/README.md +21 -2
  2. package/dist/doc/VJoyAdminBanner/metadata.json +2 -1
  3. package/dist/doc/VJoyAvailability/metadata.json +2 -1
  4. package/dist/doc/VJoyAvatar/metadata.json +2 -1
  5. package/dist/doc/VJoyAvatarsList/metadata.json +2 -1
  6. package/dist/doc/VJoyBadge/metadata.json +2 -1
  7. package/dist/doc/VJoyBadgeLevel/metadata.json +2 -1
  8. package/dist/doc/VJoyBlockSkeleton/metadata.json +2 -1
  9. package/dist/doc/VJoyBottomSheet/metadata.json +2 -1
  10. package/dist/doc/VJoyBottomSheetTrigger/metadata.json +1 -0
  11. package/dist/doc/VJoyButton/metadata.json +2 -1
  12. package/dist/doc/VJoyButtonCard/JoyButtonCard.types.ts +15 -0
  13. package/dist/doc/VJoyButtonCard/metadata.json +78 -0
  14. package/dist/doc/VJoyCheckbox/JoyCheckbox.types.ts +26 -0
  15. package/dist/doc/VJoyCheckbox/metadata.json +29 -28
  16. package/dist/doc/VJoyCheckboxCard/JoyCheckboxCard.types.ts +8 -0
  17. package/dist/doc/VJoyCheckboxCard/metadata.json +221 -0
  18. package/dist/doc/VJoyCheckboxGroup/metadata.json +338 -0
  19. package/dist/doc/VJoyCollapse/metadata.json +2 -1
  20. package/dist/doc/VJoyCollapseItem/metadata.json +2 -1
  21. package/dist/doc/VJoyCompanyAvatar/metadata.json +1 -0
  22. package/dist/doc/VJoyDialog/metadata.json +2 -1
  23. package/dist/doc/VJoyDialogTrigger/metadata.json +1 -0
  24. package/dist/doc/VJoyDot/metadata.json +2 -1
  25. package/dist/doc/VJoyDrawer/metadata.json +2 -1
  26. package/dist/doc/VJoyDrawerTrigger/metadata.json +1 -0
  27. package/dist/doc/VJoyDropdown/metadata.json +76 -75
  28. package/dist/doc/VJoyDropdownList/metadata.json +2 -1
  29. package/dist/doc/VJoyDropzone/metadata.json +2 -1
  30. package/dist/doc/VJoyFilterBar/metadata.json +2 -1
  31. package/dist/doc/VJoyFilterBarButton/metadata.json +1 -0
  32. package/dist/doc/VJoyFloatingActionsBar/metadata.json +70 -0
  33. package/dist/doc/VJoyFormError/metadata.json +2 -1
  34. package/dist/doc/VJoyFormFieldSkeleton/metadata.json +2 -1
  35. package/dist/doc/VJoyFormGroup/metadata.json +2 -1
  36. package/dist/doc/VJoyFunnel/metadata.json +2 -1
  37. package/dist/doc/VJoyFunnelFooter/metadata.json +1 -0
  38. package/dist/doc/VJoyFunnelHeader/metadata.json +1 -0
  39. package/dist/doc/VJoyHighlight/metadata.json +2 -1
  40. package/dist/doc/VJoyIcon/metadata.json +2 -1
  41. package/dist/doc/VJoyIconButton/JoyIconButton.types.ts +6 -0
  42. package/dist/doc/VJoyIconButton/metadata.json +116 -0
  43. package/dist/doc/VJoyIndicator/metadata.json +1 -0
  44. package/dist/doc/VJoyIndicators/metadata.json +2 -1
  45. package/dist/doc/VJoyInput/metadata.json +12 -11
  46. package/dist/doc/VJoyInputDigit/metadata.json +2 -1
  47. package/dist/doc/VJoyInputNumber/metadata.json +286 -0
  48. package/dist/doc/VJoyInputPassword/metadata.json +33 -32
  49. package/dist/doc/VJoyLabel/metadata.json +6 -5
  50. package/dist/doc/VJoyLink/metadata.json +11 -10
  51. package/dist/doc/VJoyListItem/metadata.json +2 -1
  52. package/dist/doc/VJoyMenu/metadata.json +2 -1
  53. package/dist/doc/VJoyMenuItem/metadata.json +2 -1
  54. package/dist/doc/VJoyMultiCheckbox/metadata.json +193 -13
  55. package/dist/doc/VJoyPagination/metadata.json +2 -1
  56. package/dist/doc/VJoyPanel/metadata.json +2 -1
  57. package/dist/doc/VJoyPanelSection/metadata.json +1 -0
  58. package/dist/doc/VJoyPasswordRequirement/metadata.json +2 -1
  59. package/dist/doc/VJoyProductTour/metadata.json +2 -1
  60. package/dist/doc/VJoyProductTourTrigger/metadata.json +1 -0
  61. package/dist/doc/VJoyProgressBar/metadata.json +2 -6
  62. package/dist/doc/VJoyRadio/metadata.json +1 -0
  63. package/dist/doc/VJoyRadioGroup/metadata.json +4 -3
  64. package/dist/doc/VJoyRatingStars/metadata.json +2 -1
  65. package/dist/doc/VJoyScreenLoader/metadata.json +2 -1
  66. package/dist/doc/VJoySelect/metadata.json +34 -33
  67. package/dist/doc/VJoySelectableItem/metadata.json +1 -0
  68. package/dist/doc/VJoySelectableItemGroup/metadata.json +2 -1
  69. package/dist/doc/VJoySeparator/metadata.json +2 -1
  70. package/dist/doc/VJoySnackbar/metadata.json +2 -1
  71. package/dist/doc/VJoySpinner/metadata.json +2 -1
  72. package/dist/doc/VJoyStep/metadata.json +1 -0
  73. package/dist/doc/VJoyStepper/metadata.json +2 -1
  74. package/dist/doc/VJoyTab/metadata.json +1 -0
  75. package/dist/doc/VJoyTabs/metadata.json +2 -1
  76. package/dist/doc/VJoyTag/metadata.json +6 -5
  77. package/dist/doc/VJoyTagsInput/metadata.json +2 -1
  78. package/dist/doc/VJoyTagsList/metadata.json +19 -18
  79. package/dist/doc/VJoyTemplate/metadata.json +2 -1
  80. package/dist/doc/VJoyText/metadata.json +2 -1
  81. package/dist/doc/VJoyTextarea/metadata.json +25 -24
  82. package/dist/doc/VJoyTitleBrand/metadata.json +2 -1
  83. package/dist/doc/VJoyToggle/metadata.json +15 -14
  84. package/dist/doc/VJoyTooltip/metadata.json +2 -1
  85. package/dist/doc/VJoyUserCard/metadata.json +2 -1
  86. package/dist/doc/VJoyWalkthrough/metadata.json +2 -1
  87. package/dist/doc/VJoyWalkthroughTrigger/metadata.json +1 -0
  88. package/dist/doc/VJoyWrapper/metadata.json +20 -19
  89. package/dist/doc/css-classes.json +2 -0
  90. package/dist/doc/design-tokens.json +30 -30
  91. package/dist/doc/index.json +206 -78
  92. package/dist/parser.d.ts +3 -0
  93. package/dist/parser.d.ts.map +1 -1
  94. package/dist/parser.js +3 -0
  95. package/dist/parser.js.map +1 -1
  96. package/dist/tools/get-component-info.js +1 -1
  97. package/dist/tools/get-component-info.js.map +1 -1
  98. package/dist/tools/list-components.d.ts +1 -4
  99. package/dist/tools/list-components.d.ts.map +1 -1
  100. package/dist/tools/list-components.js +22 -5
  101. package/dist/tools/list-components.js.map +1 -1
  102. package/package.json +3 -2
  103. package/dist/doc/VJoyTemplateShape/metadata.json +0 -10
@@ -0,0 +1,338 @@
1
+ {
2
+ "name": "JoyCheckboxGroup",
3
+ "displayName": "VJoyCheckboxGroup",
4
+ "description": "A multi-selection checkbox group component for handling arrays of selected values.\nSimplifies multi-selection scenarios by managing checkbox states and array manipulation automatically.\nFeatures integrated labeling, fieldset structure for accessibility, and customizable checkbox content through slots.\nPerfect for filtering interfaces and bulk selection operations.",
5
+ "category": "Forms",
6
+ "props": [
7
+ {
8
+ "name": "options",
9
+ "type": "Option[] | undefined",
10
+ "required": false,
11
+ "default": "[]",
12
+ "description": "",
13
+ "possibleValues": [
14
+ {
15
+ "kind": "array",
16
+ "type": "Option[]",
17
+ "schema": [
18
+ {
19
+ "kind": "object",
20
+ "type": "Option",
21
+ "schema": {
22
+ "id": {
23
+ "name": "id",
24
+ "global": false,
25
+ "description": "",
26
+ "tags": [],
27
+ "required": true,
28
+ "type": "string",
29
+ "declarations": [
30
+ {
31
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
32
+ "range": [
33
+ 1310,
34
+ 1321
35
+ ]
36
+ }
37
+ ],
38
+ "schema": "string"
39
+ },
40
+ "name": {
41
+ "name": "name",
42
+ "global": false,
43
+ "description": "",
44
+ "tags": [],
45
+ "required": false,
46
+ "type": "string | undefined",
47
+ "declarations": [
48
+ {
49
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
50
+ "range": [
51
+ 1330,
52
+ 1344
53
+ ]
54
+ }
55
+ ],
56
+ "schema": {
57
+ "kind": "enum",
58
+ "type": "string | undefined",
59
+ "schema": [
60
+ "undefined",
61
+ "string"
62
+ ]
63
+ }
64
+ },
65
+ "value": {
66
+ "name": "value",
67
+ "global": false,
68
+ "description": "",
69
+ "tags": [],
70
+ "required": true,
71
+ "type": "string",
72
+ "declarations": [
73
+ {
74
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
75
+ "range": [
76
+ 1353,
77
+ 1367
78
+ ]
79
+ }
80
+ ],
81
+ "schema": "string"
82
+ },
83
+ "label": {
84
+ "name": "label",
85
+ "global": false,
86
+ "description": "",
87
+ "tags": [],
88
+ "required": true,
89
+ "type": "string",
90
+ "declarations": [
91
+ {
92
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
93
+ "range": [
94
+ 1376,
95
+ 1390
96
+ ]
97
+ }
98
+ ],
99
+ "schema": "string"
100
+ },
101
+ "subLabel": {
102
+ "name": "subLabel",
103
+ "global": false,
104
+ "description": "",
105
+ "tags": [],
106
+ "required": false,
107
+ "type": "string | undefined",
108
+ "declarations": [
109
+ {
110
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
111
+ "range": [
112
+ 1399,
113
+ 1417
114
+ ]
115
+ }
116
+ ],
117
+ "schema": "string | undefined"
118
+ },
119
+ "disabled": {
120
+ "name": "disabled",
121
+ "global": false,
122
+ "description": "",
123
+ "tags": [
124
+ {
125
+ "name": "default",
126
+ "text": "false"
127
+ }
128
+ ],
129
+ "required": false,
130
+ "type": "boolean | undefined",
131
+ "declarations": [
132
+ {
133
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
134
+ "range": [
135
+ 1476,
136
+ 1495
137
+ ]
138
+ }
139
+ ],
140
+ "schema": {
141
+ "kind": "enum",
142
+ "type": "boolean | undefined",
143
+ "schema": [
144
+ "undefined",
145
+ "false",
146
+ "true"
147
+ ]
148
+ }
149
+ },
150
+ "required": {
151
+ "name": "required",
152
+ "global": false,
153
+ "description": "",
154
+ "tags": [
155
+ {
156
+ "name": "default",
157
+ "text": "false"
158
+ }
159
+ ],
160
+ "required": false,
161
+ "type": "boolean | undefined",
162
+ "declarations": [
163
+ {
164
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
165
+ "range": [
166
+ 1554,
167
+ 1573
168
+ ]
169
+ }
170
+ ],
171
+ "schema": "boolean | undefined"
172
+ }
173
+ }
174
+ }
175
+ ]
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "name": "id",
181
+ "type": "string | undefined",
182
+ "required": false,
183
+ "description": "",
184
+ "possibleValues": [
185
+ "string"
186
+ ]
187
+ },
188
+ {
189
+ "name": "value",
190
+ "type": "any[] | undefined",
191
+ "required": false,
192
+ "default": "[]",
193
+ "description": "TODO: better typings",
194
+ "possibleValues": [
195
+ {
196
+ "kind": "array",
197
+ "type": "any[]",
198
+ "schema": [
199
+ "any"
200
+ ]
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "name": "direction",
206
+ "type": "CheckboxGroupDirection | undefined",
207
+ "required": false,
208
+ "default": "\"vertical\"",
209
+ "description": "Switch checkboxes layout direction.",
210
+ "possibleValues": [
211
+ "vertical",
212
+ "horizontal"
213
+ ]
214
+ },
215
+ {
216
+ "name": "required",
217
+ "type": "boolean | undefined",
218
+ "required": false,
219
+ "default": "false",
220
+ "description": "",
221
+ "possibleValues": [
222
+ "false",
223
+ "true"
224
+ ]
225
+ },
226
+ {
227
+ "name": "label",
228
+ "type": "string | undefined",
229
+ "required": false,
230
+ "description": "Use VJoyLabel if you need to customize the label HTML.",
231
+ "possibleValues": [
232
+ "string"
233
+ ]
234
+ },
235
+ {
236
+ "name": "labelSize",
237
+ "type": "TJoyLabelSizes | undefined",
238
+ "required": false,
239
+ "default": "\"medium\"",
240
+ "description": "",
241
+ "possibleValues": [
242
+ "medium",
243
+ "large",
244
+ "small"
245
+ ]
246
+ },
247
+ {
248
+ "name": "optionalLabel",
249
+ "type": "string | undefined",
250
+ "required": false,
251
+ "description": "",
252
+ "possibleValues": [
253
+ "string"
254
+ ]
255
+ },
256
+ {
257
+ "name": "requiredMark",
258
+ "type": "boolean | undefined",
259
+ "required": false,
260
+ "default": "false",
261
+ "description": "",
262
+ "possibleValues": [
263
+ "false",
264
+ "true"
265
+ ]
266
+ }
267
+ ],
268
+ "events": [
269
+ {
270
+ "name": "update:value",
271
+ "description": "",
272
+ "signature": "(event: \"update:value\", value: any[]): void"
273
+ }
274
+ ],
275
+ "slots": [
276
+ {
277
+ "name": "default",
278
+ "description": "Allows explicit declaration of VJoyCheckbox / VJoyCheckboxCard children in the group.\n\n**Important**: v-model has to be handled by consumer."
279
+ },
280
+ {
281
+ "name": "checkbox",
282
+ "description": "Customize the inner content of each checkboxes"
283
+ }
284
+ ],
285
+ "exposed": [
286
+ {
287
+ "name": "required",
288
+ "type": "boolean",
289
+ "isMethod": false
290
+ },
291
+ {
292
+ "name": "value",
293
+ "type": "any[]",
294
+ "isMethod": false
295
+ },
296
+ {
297
+ "name": "options",
298
+ "type": "Option[]",
299
+ "isMethod": false
300
+ },
301
+ {
302
+ "name": "direction",
303
+ "type": "CheckboxGroupDirection",
304
+ "isMethod": false
305
+ },
306
+ {
307
+ "name": "labelSize",
308
+ "type": "TJoyLabelSizes",
309
+ "isMethod": false
310
+ },
311
+ {
312
+ "name": "requiredMark",
313
+ "type": "boolean",
314
+ "isMethod": false
315
+ },
316
+ {
317
+ "name": "label",
318
+ "type": "string | undefined",
319
+ "isMethod": false
320
+ },
321
+ {
322
+ "name": "id",
323
+ "type": "string | undefined",
324
+ "isMethod": false
325
+ },
326
+ {
327
+ "name": "optionalLabel",
328
+ "type": "string | undefined",
329
+ "isMethod": false
330
+ },
331
+ {
332
+ "name": "onUpdate:value",
333
+ "type": "((value: any[]) => any) | undefined",
334
+ "isMethod": true
335
+ }
336
+ ],
337
+ "hasVModel": true
338
+ }
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyCollapse",
3
3
  "displayName": "VJoyCollapse",
4
- "description": "A container component for creating accordion and collapsible content sections. Manages multiple VJoyCollapseItem components with support for accordion mode (single open item) or standard collapse behavior (multiple open items). Features v-model integration for programmatic control and various visual modes for different design requirements.",
4
+ "description": "A container component for creating accordion and collapsible content sections.\nManages multiple VJoyCollapseItem components with support for accordion mode (single open item)\nor standard collapse behavior (multiple open items). Features v-model integration for\nprogrammatic control and various visual modes for different design requirements.",
5
+ "category": "Buttons",
5
6
  "props": [
6
7
  {
7
8
  "name": "accordion",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyCollapseItem",
3
3
  "displayName": "VJoyCollapseItem",
4
- "description": "An individual collapsible content item that can expand and collapse to show/hide content. Features header and subheader support, optional summary icons, preview content when collapsed, and custom header actions. Can be used within VJoyCollapse for grouped accordion behavior.",
4
+ "description": "An individual collapsible content item that can expand and collapse to show/hide content.\nFeatures header and subheader support, optional summary icons, preview content when collapsed, and custom header actions.\nCan be used within VJoyCollapse for grouped accordion behavior.",
5
+ "category": "Buttons",
5
6
  "props": [
6
7
  {
7
8
  "name": "open",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyCompanyAvatar",
3
3
  "displayName": "VJoyCompanyAvatar",
4
4
  "description": "DEPRECATED. Use VJoyAvatar component instead.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyDialog",
3
3
  "displayName": "VJoyDialog",
4
- "description": "VJoyDialog component exposes two methods: `show` and `hide`. **Both are asynchronous**. You can use the `VJoyDialogTrigger` component as well if it's easier. ```html <template> <VJoyDialog ref=\"dialog\">...</VJoyDialog> </template> <script lang=\"ts\" setup> import {ref} from 'vue'; import {VJoyDialog} from '@maltjoy/core-vue'; const dialog = ref<InstanceType<typeof VJoyDialog>>(); async function showDialog() { await dialog.value?.show(); } // execute the publicly exposed hide function. async function hideDialog() { // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit dialog:hide event. await dialog.value?.hide(); } </script> ``` > FYI, the \"teleport\" property is applied on these docs only for preview quality purpose. > By default, dialogs are rendered at the end of body tag.",
4
+ "description": "VJoyDialog component exposes two methods: `show` and `hide`. **Both are asynchronous**.\n\nYou can use the `VJoyDialogTrigger` component as well if it's easier.\n\n\n```html\n<template>\n <VJoyDialog ref=\"dialog\">...</VJoyDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport {ref} from 'vue';\nimport {VJoyDialog} from '@maltjoy/core-vue';\n\nconst dialog = ref<InstanceType<typeof VJoyDialog>>();\n\nasync function showDialog() {\n await dialog.value?.show();\n}\n\n// execute the publicly exposed hide function.\nasync function hideDialog() {\n // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit dialog:hide event.\n await dialog.value?.hide();\n}\n</script>\n```\n\n\n> FYI, the \"teleport\" property is applied on these docs only for preview quality purpose.\n> By default, dialogs are rendered at the end of body tag.",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyDialogTrigger",
3
3
  "displayName": "VJoyDialogTrigger",
4
4
  "description": "",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "dialog",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyDot",
3
3
  "displayName": "VJoyDot",
4
- "description": "A simple colored dot indicator component for status display and notifications. Can display as a plain colored dot or include numeric values for notification counters. Features automatic formatting for large numbers (99+) and supports multiple color variants for different semantic meanings and visual emphasis.",
4
+ "description": "A simple colored dot indicator component for status display and notifications.\nCan display as a plain colored dot or include numeric values for notification counters.\nFeatures automatic formatting for large numbers (99+) and supports multiple color variants\nfor different semantic meanings and visual emphasis.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "number",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyDrawer",
3
3
  "displayName": "VJoyDrawer",
4
- "description": "VJoyDrawer component exposes two methods: `show` and `hide`. **Both are asynchronous**. You can use the `VJoyDrawerTrigger` component as well if it's easier. ```html <template> <VJoyDrawer ref=\"dialog\">...</VJoyDrawer> </template> <script lang=\"ts\" setup> import {ref} from 'vue'; import {VJoyDrawer} from '@maltjoy/core-vue'; const drawer = ref<InstanceType<typeof VJoyDrawer> | null>(null); async function showDrawer() { await drawer.value?.show(); } // execute the publicly exposed hide function. async function hideDrawer() { // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit drawer:hide event. await drawer.value?.hide(); } </script> ``` If you need confirmation from the user or wait for an API call to close the drawer you can use the `on-before-hide` function property. This function can be either synchronous or asynchronous and should return a boolean. Returning `true` closes the drawer and returning `false` cancels the closing.",
4
+ "description": "VJoyDrawer component exposes two methods: `show` and `hide`. **Both are asynchronous**.\n\nYou can use the `VJoyDrawerTrigger` component as well if it's easier.\n\n\n```html\n<template>\n <VJoyDrawer ref=\"dialog\">...</VJoyDrawer>\n</template>\n\n<script lang=\"ts\" setup>\nimport {ref} from 'vue';\nimport {VJoyDrawer} from '@maltjoy/core-vue';\n\nconst drawer = ref<InstanceType<typeof VJoyDrawer> | null>(null);\n\nasync function showDrawer() {\n await drawer.value?.show();\n}\n\n// execute the publicly exposed hide function.\nasync function hideDrawer() {\n // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit drawer:hide event.\n await drawer.value?.hide();\n}\n</script>\n```\n\nIf you need confirmation from the user or wait for an API call to close the drawer you can use the `on-before-hide` function property.\nThis function can be either synchronous or asynchronous and should return a boolean.\nReturning `true` closes the drawer and returning `false` cancels the closing.",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyDrawerTrigger",
3
3
  "displayName": "VJoyDrawerTrigger",
4
4
  "description": "",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "drawer",
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "JoyDropdown",
3
3
  "displayName": "VJoyDropdown",
4
- "description": "A flexible dropdown component for creating contextual menus and option lists. Features customizable trigger buttons, positioning options (left/right/up/down), and support for both predefined option lists and completely custom content. Includes proper accessibility support and click-outside behavior for seamless user interaction. **ACCESSIBILITY FOCUS:** When using this component, to properly apply useful informations for screen readers, you will need to set an **aria-label** to your dropdown trigger if it has no default text.",
4
+ "description": "A flexible dropdown component for creating contextual menus and option lists.\nFeatures customizable trigger buttons, positioning options (left/right/up/down), and support for\nboth predefined option lists and completely custom content. Includes proper accessibility support\nand click-outside behavior for seamless user interaction.\n\n**ACCESSIBILITY FOCUS:**\n\nWhen using this component, to properly apply useful informations for screen readers, you will need to set an **aria-label** to your dropdown trigger if it has no default text.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "reset",
8
9
  "type": "boolean | undefined",
9
10
  "required": false,
10
11
  "default": "false",
11
- "description": "Display a reset CTA on top of the dropdown list. Useful when using a VJoyMultiCheckbox.\nPlease note that is does not automatically apply changes to you models, it simply fires a **dropdown:reset** custom event",
12
+ "description": "Display a reset CTA on top of the dropdown list. Useful when using a VJoyCheckboxGroup.\nPlease note that is does not automatically apply changes to you models, it simply fires a **dropdown:reset** custom event",
12
13
  "possibleValues": [
13
14
  "false",
14
15
  "true"
@@ -46,68 +47,6 @@
46
47
  "string"
47
48
  ]
48
49
  },
49
- {
50
- "name": "modelValue",
51
- "type": "string | undefined",
52
- "required": false,
53
- "default": "\"\"",
54
- "description": "Use v-model",
55
- "possibleValues": [
56
- "string"
57
- ]
58
- },
59
- {
60
- "name": "disableTeleport",
61
- "type": "boolean | undefined",
62
- "required": false,
63
- "default": "false",
64
- "description": "Disable teleport for testing purpose mostly.",
65
- "possibleValues": [
66
- "false",
67
- "true"
68
- ]
69
- },
70
- {
71
- "name": "appendTo",
72
- "type": "string | RendererElement | null | undefined",
73
- "required": false,
74
- "default": "\"body\"",
75
- "description": "DOM valid selector to give to Vue3 Teleport \"to\" property",
76
- "possibleValues": null
77
- },
78
- {
79
- "name": "closeOnSelect",
80
- "type": "boolean | undefined",
81
- "required": false,
82
- "default": "true",
83
- "description": "close the dropdown list when clicking on any item. Default to false",
84
- "possibleValues": [
85
- "false",
86
- "true"
87
- ]
88
- },
89
- {
90
- "name": "direction",
91
- "type": "TJoyDropdownDirections | undefined",
92
- "required": false,
93
- "default": "\"down\"",
94
- "description": "Dropdown vertical position according to the trigger",
95
- "possibleValues": [
96
- "up",
97
- "down"
98
- ]
99
- },
100
- {
101
- "name": "justify",
102
- "type": "TPositions | undefined",
103
- "required": false,
104
- "default": "\"left\"",
105
- "description": "Dropdown horizontal justify according to the trigger",
106
- "possibleValues": [
107
- "left",
108
- "right"
109
- ]
110
- },
111
50
  {
112
51
  "name": "options",
113
52
  "type": "TJoyDropdownOption[] | undefined",
@@ -261,6 +200,68 @@
261
200
  }
262
201
  ]
263
202
  },
203
+ {
204
+ "name": "direction",
205
+ "type": "TJoyDropdownDirections | undefined",
206
+ "required": false,
207
+ "default": "\"down\"",
208
+ "description": "Dropdown vertical position according to the trigger",
209
+ "possibleValues": [
210
+ "up",
211
+ "down"
212
+ ]
213
+ },
214
+ {
215
+ "name": "modelValue",
216
+ "type": "string | undefined",
217
+ "required": false,
218
+ "default": "\"\"",
219
+ "description": "Use v-model",
220
+ "possibleValues": [
221
+ "string"
222
+ ]
223
+ },
224
+ {
225
+ "name": "disableTeleport",
226
+ "type": "boolean | undefined",
227
+ "required": false,
228
+ "default": "false",
229
+ "description": "Disable teleport for testing purpose mostly.",
230
+ "possibleValues": [
231
+ "false",
232
+ "true"
233
+ ]
234
+ },
235
+ {
236
+ "name": "appendTo",
237
+ "type": "string | RendererElement | null | undefined",
238
+ "required": false,
239
+ "default": "\"body\"",
240
+ "description": "DOM valid selector to give to Vue3 Teleport \"to\" property",
241
+ "possibleValues": null
242
+ },
243
+ {
244
+ "name": "closeOnSelect",
245
+ "type": "boolean | undefined",
246
+ "required": false,
247
+ "default": "true",
248
+ "description": "close the dropdown list when clicking on any item. Default to false",
249
+ "possibleValues": [
250
+ "false",
251
+ "true"
252
+ ]
253
+ },
254
+ {
255
+ "name": "justify",
256
+ "type": "TPositions | undefined",
257
+ "required": false,
258
+ "default": "\"left\"",
259
+ "description": "Dropdown horizontal justify according to the trigger",
260
+ "possibleValues": [
261
+ "left",
262
+ "right"
263
+ ]
264
+ },
264
265
  {
265
266
  "name": "dropdownGap",
266
267
  "type": "string | undefined",
@@ -314,7 +315,7 @@
314
315
  },
315
316
  {
316
317
  "name": "dropdown-items",
317
- "description": "Free slot in order to render any kind of component. Can be handy to use it with VJoyMultiCheckbox for instance."
318
+ "description": "Free slot in order to render any kind of component. Can be handy to use it with VJoyCheckboxGroup for instance."
318
319
  },
319
320
  {
320
321
  "name": "dropdown-item",
@@ -346,6 +347,16 @@
346
347
  "type": "string",
347
348
  "isMethod": false
348
349
  },
350
+ {
351
+ "name": "options",
352
+ "type": "TJoyDropdownOption[]",
353
+ "isMethod": false
354
+ },
355
+ {
356
+ "name": "direction",
357
+ "type": "TJoyDropdownDirections",
358
+ "isMethod": false
359
+ },
349
360
  {
350
361
  "name": "modelValue",
351
362
  "type": "string",
@@ -366,21 +377,11 @@
366
377
  "type": "boolean",
367
378
  "isMethod": false
368
379
  },
369
- {
370
- "name": "direction",
371
- "type": "TJoyDropdownDirections",
372
- "isMethod": false
373
- },
374
380
  {
375
381
  "name": "justify",
376
382
  "type": "TPositions",
377
383
  "isMethod": false
378
384
  },
379
- {
380
- "name": "options",
381
- "type": "TJoyDropdownOption[]",
382
- "isMethod": false
383
- },
384
385
  {
385
386
  "name": "dropdownGap",
386
387
  "type": "string",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyDropdownList",
3
3
  "displayName": "VJoyDropdownList",
4
- "description": "The core list component used within dropdown interfaces for displaying selectable options. Features customizable sizing, header/footer slots, keyboard navigation, and accessibility compliance. Supports both predefined option arrays and custom content through slots. Can be used standalone or as part of the VJoyDropdown component for complete dropdown functionality.",
4
+ "description": "The core list component used within dropdown interfaces for displaying selectable options.\nFeatures customizable sizing, header/footer slots, keyboard navigation, and accessibility compliance.\nSupports both predefined option arrays and custom content through slots. Can be used standalone\nor as part of the VJoyDropdown component for complete dropdown functionality.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "reset",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyDropzone",
3
3
  "displayName": "VJoyDropzone",
4
- "description": "A file upload component with drag-and-drop functionality for handling file selection and management. Supports single or multiple file uploads, file validation and customizable file displays. Features visual feedback for drag states, error handling, and flexible content slots for file information and actions. The dropzone required as `v-model` an array containing objects with at least the \"name\" property.",
4
+ "description": "A file upload component with drag-and-drop functionality for handling file selection and management.\nSupports single or multiple file uploads, file validation and customizable file displays.\nFeatures visual feedback for drag states, error handling, and flexible content slots for file information and actions.\n\nThe dropzone required as `v-model` an array containing objects with at least the \"name\" property.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "modelValue",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyFilterBar",
3
3
  "displayName": "VJoyFilterBar",
4
- "description": "A container component for creating grouped filter interfaces with connected filter buttons. Automatically applies appropriate border radius styling to create seamless filter groups that work perfectly with VJoyFilterBarButton components. Includes accessibility support and integrates well with dropdowns for complex filtering scenarios.",
4
+ "description": "A container component for creating grouped filter interfaces with connected filter buttons.\nAutomatically applies appropriate border radius styling to create seamless filter groups\nthat work perfectly with VJoyFilterBarButton components. Includes accessibility support\nand integrates well with dropdowns for complex filtering scenarios.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "ariaLabel",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyFilterBarButton",
3
3
  "displayName": "VJoyFilterBarButton",
4
4
  "description": "",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "active",