@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
@@ -2,6 +2,7 @@
2
2
  "name": "JoyInputPassword",
3
3
  "displayName": "VJoyInputPassword",
4
4
  "description": "Password input built on top of VJoyInput with built-in visibility toggle.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "invalid",
@@ -82,28 +83,6 @@
82
83
  "string"
83
84
  ]
84
85
  },
85
- {
86
- "name": "modelValue",
87
- "type": "string | number | null | undefined",
88
- "required": false,
89
- "description": "",
90
- "possibleValues": [
91
- "null",
92
- "string",
93
- "number"
94
- ]
95
- },
96
- {
97
- "name": "autofocus",
98
- "type": "boolean | undefined",
99
- "required": false,
100
- "default": "false",
101
- "description": "",
102
- "possibleValues": [
103
- "false",
104
- "true"
105
- ]
106
- },
107
86
  {
108
87
  "name": "labelSize",
109
88
  "type": "TJoyLabelSizes | undefined",
@@ -136,6 +115,28 @@
136
115
  "true"
137
116
  ]
138
117
  },
118
+ {
119
+ "name": "modelValue",
120
+ "type": "string | number | null | undefined",
121
+ "required": false,
122
+ "description": "",
123
+ "possibleValues": [
124
+ "null",
125
+ "string",
126
+ "number"
127
+ ]
128
+ },
129
+ {
130
+ "name": "autofocus",
131
+ "type": "boolean | undefined",
132
+ "required": false,
133
+ "default": "false",
134
+ "description": "",
135
+ "possibleValues": [
136
+ "false",
137
+ "true"
138
+ ]
139
+ },
139
140
  {
140
141
  "name": "modelModifiers",
141
142
  "type": "Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>> | undefined",
@@ -190,11 +191,6 @@
190
191
  "type": "string",
191
192
  "isMethod": false
192
193
  },
193
- {
194
- "name": "autofocus",
195
- "type": "boolean",
196
- "isMethod": false
197
- },
198
194
  {
199
195
  "name": "labelSize",
200
196
  "type": "TJoyLabelSizes",
@@ -205,6 +201,11 @@
205
201
  "type": "boolean",
206
202
  "isMethod": false
207
203
  },
204
+ {
205
+ "name": "autofocus",
206
+ "type": "boolean",
207
+ "isMethod": false
208
+ },
208
209
  {
209
210
  "name": "modelModifiers",
210
211
  "type": "Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>>",
@@ -230,6 +231,11 @@
230
231
  "type": "string | undefined",
231
232
  "isMethod": false
232
233
  },
234
+ {
235
+ "name": "optionalLabel",
236
+ "type": "string | undefined",
237
+ "isMethod": false
238
+ },
233
239
  {
234
240
  "name": "modelValue",
235
241
  "type": "string | number | null | undefined",
@@ -240,11 +246,6 @@
240
246
  "type": "((value: string) => any) | undefined",
241
247
  "isMethod": true
242
248
  },
243
- {
244
- "name": "optionalLabel",
245
- "type": "string | undefined",
246
- "isMethod": false
247
- },
248
249
  {
249
250
  "name": "unit",
250
251
  "type": "string | undefined",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyLabel",
3
3
  "displayName": "VJoyLabel",
4
- "description": "A flexible form label component with enhanced functionality for complex form layouts. Features size variants, required/optional indicators, tooltip support, and legend text capabilities. Supports both label and legend tag rendering for different form contexts with integrated accessibility features and consistent styling across the design system. All native attributes are not declared as Vue component properties. But the actual label tag inherits from every attribute you pass.",
4
+ "description": "A flexible form label component with enhanced functionality for complex form layouts.\nFeatures size variants, required/optional indicators, tooltip support, and legend text capabilities.\nSupports both label and legend tag rendering for different form contexts with integrated\naccessibility features and consistent styling across the design system.\n\nAll native attributes are not declared as Vue component properties. But the actual label tag inherits from every attribute you pass.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -38,7 +39,7 @@
38
39
  ]
39
40
  },
40
41
  {
41
- "name": "text",
42
+ "name": "optionalLabel",
42
43
  "type": "string | undefined",
43
44
  "required": false,
44
45
  "description": "",
@@ -47,7 +48,7 @@
47
48
  ]
48
49
  },
49
50
  {
50
- "name": "optionalLabel",
51
+ "name": "text",
51
52
  "type": "string | undefined",
52
53
  "required": false,
53
54
  "description": "",
@@ -88,12 +89,12 @@
88
89
  "isMethod": false
89
90
  },
90
91
  {
91
- "name": "text",
92
+ "name": "optionalLabel",
92
93
  "type": "string | undefined",
93
94
  "isMethod": false
94
95
  },
95
96
  {
96
- "name": "optionalLabel",
97
+ "name": "text",
97
98
  "type": "string | undefined",
98
99
  "isMethod": false
99
100
  }
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyLink",
3
3
  "displayName": "VJoyLink",
4
- "description": "Simple link component that should adapt its style depending on the context. Could be a button if **href** prop is undefined (add a **type** prop if needed).",
4
+ "description": "Simple link component that should adapt its style depending on the context.\nCould be a button if **href** prop is undefined (add a **type** prop if needed).",
5
+ "category": "Buttons",
5
6
  "props": [
6
7
  {
7
8
  "name": "color",
@@ -29,21 +30,21 @@
29
30
  "possibleValues": "TJoyIconsNames (220 values)"
30
31
  },
31
32
  {
32
- "name": "text",
33
- "type": "string | null | undefined",
33
+ "name": "href",
34
+ "type": "string | undefined",
34
35
  "required": false,
35
36
  "description": "",
36
37
  "possibleValues": [
37
- "null",
38
38
  "string"
39
39
  ]
40
40
  },
41
41
  {
42
- "name": "href",
43
- "type": "string | undefined",
42
+ "name": "text",
43
+ "type": "string | null | undefined",
44
44
  "required": false,
45
45
  "description": "",
46
46
  "possibleValues": [
47
+ "null",
47
48
  "string"
48
49
  ]
49
50
  }
@@ -72,13 +73,13 @@
72
73
  "isMethod": false
73
74
  },
74
75
  {
75
- "name": "text",
76
- "type": "string | null | undefined",
76
+ "name": "href",
77
+ "type": "string | undefined",
77
78
  "isMethod": false
78
79
  },
79
80
  {
80
- "name": "href",
81
- "type": "string | undefined",
81
+ "name": "text",
82
+ "type": "string | null | undefined",
82
83
  "isMethod": false
83
84
  }
84
85
  ],
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyListItem",
3
3
  "displayName": "VJoyListItem",
4
- "description": "A structured list item component for creating consistent, interactive list entries. Features left and right content areas, optional icon support, hover states, and click handling. Perfect for data lists, navigation items, and content cards where consistent spacing and interactive feedback are essential for user experience.",
4
+ "description": "A structured list item component for creating consistent, interactive list entries.\nFeatures left and right content areas, optional icon support, hover states, and click handling.\nPerfect for data lists, navigation items, and content cards where consistent spacing\nand interactive feedback are essential for user experience.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "icon",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyMenu",
3
3
  "displayName": "VJoyMenu",
4
- "description": "A navigation menu component for creating accessible menu lists with keyboard navigation support. Works with VJoyMenuItem components to build complex navigation structures with icons, status indicators, and various link types. Features proper ARIA attributes, selection states, and integration with routing systems for seamless navigation experiences. items property is deprecated. Please use VJoyMenuItem with default slot. Docs generation is broken for the VJoyMenuItem component. Here you have the props interface as workaround. ```ts interface IJoyMenuItem { label: string; icon?: TJoyIconsNames; current?: boolean; disabled?: boolean; status?: TJoyIconsNames; statusColor?: TJoyIconsColors; type?: Component | 'a' | 'button'; linkProps?: ComponentProps<T>; } ```",
4
+ "description": "A navigation menu component for creating accessible menu lists with keyboard navigation support.\nWorks with VJoyMenuItem components to build complex navigation structures with icons, status indicators,\nand various link types. Features proper ARIA attributes, selection states, and integration with\nrouting systems for seamless navigation experiences.\n\nitems property is deprecated. Please use VJoyMenuItem with default slot.\n\nDocs generation is broken for the VJoyMenuItem component.\nHere you have the props interface as workaround.\n\n```ts\n\ninterface IJoyMenuItem {\n label: string;\n icon?: TJoyIconsNames;\n current?: boolean;\n disabled?: boolean;\n status?: TJoyIconsNames;\n statusColor?: TJoyIconsColors;\n type?: Component | 'a' | 'button';\n linkProps?: ComponentProps<T>;\n}\n```",
5
+ "category": "Navigation",
5
6
  "props": [
6
7
  {
7
8
  "name": "items",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyMenuItem",
3
3
  "displayName": "VJoyMenuItem",
4
4
  "description": "",
5
+ "category": "Navigation",
5
6
  "props": [
6
7
  {
7
8
  "name": "label",
@@ -76,7 +77,7 @@
76
77
  },
77
78
  {
78
79
  "name": "type",
79
- "type": "\"button\" | Component | \"a\" | undefined",
80
+ "type": "\"button\" | \"a\" | Component | undefined",
80
81
  "required": false,
81
82
  "default": "\"a\" as any",
82
83
  "description": "",
@@ -1,14 +1,179 @@
1
1
  {
2
2
  "name": "JoyMultiCheckbox",
3
3
  "displayName": "VJoyMultiCheckbox",
4
- "description": "A multi-selection checkbox group component for handling arrays of selected values. Simplifies multi-selection scenarios by managing checkbox states and array manipulation automatically. Features integrated labeling, fieldset structure for accessibility, and customizable checkbox content through slots. Perfect for filtering interfaces and bulk selection operations.",
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",
5
6
  "props": [
6
7
  {
7
8
  "name": "options",
8
- "type": "Option[]",
9
- "required": true,
9
+ "type": "Option[] | undefined",
10
+ "required": false,
10
11
  "description": "",
11
- "possibleValues": null
12
+ "possibleValues": [
13
+ {
14
+ "kind": "array",
15
+ "type": "Option[]",
16
+ "schema": [
17
+ {
18
+ "kind": "object",
19
+ "type": "Option",
20
+ "schema": {
21
+ "id": {
22
+ "name": "id",
23
+ "global": false,
24
+ "description": "",
25
+ "tags": [],
26
+ "required": true,
27
+ "type": "string",
28
+ "declarations": [
29
+ {
30
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
31
+ "range": [
32
+ 1310,
33
+ 1321
34
+ ]
35
+ }
36
+ ],
37
+ "schema": "string"
38
+ },
39
+ "name": {
40
+ "name": "name",
41
+ "global": false,
42
+ "description": "",
43
+ "tags": [],
44
+ "required": false,
45
+ "type": "string | undefined",
46
+ "declarations": [
47
+ {
48
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
49
+ "range": [
50
+ 1330,
51
+ 1344
52
+ ]
53
+ }
54
+ ],
55
+ "schema": {
56
+ "kind": "enum",
57
+ "type": "string | undefined",
58
+ "schema": [
59
+ "undefined",
60
+ "string"
61
+ ]
62
+ }
63
+ },
64
+ "value": {
65
+ "name": "value",
66
+ "global": false,
67
+ "description": "",
68
+ "tags": [],
69
+ "required": true,
70
+ "type": "string",
71
+ "declarations": [
72
+ {
73
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
74
+ "range": [
75
+ 1353,
76
+ 1367
77
+ ]
78
+ }
79
+ ],
80
+ "schema": "string"
81
+ },
82
+ "label": {
83
+ "name": "label",
84
+ "global": false,
85
+ "description": "",
86
+ "tags": [],
87
+ "required": true,
88
+ "type": "string",
89
+ "declarations": [
90
+ {
91
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
92
+ "range": [
93
+ 1376,
94
+ 1390
95
+ ]
96
+ }
97
+ ],
98
+ "schema": "string"
99
+ },
100
+ "subLabel": {
101
+ "name": "subLabel",
102
+ "global": false,
103
+ "description": "",
104
+ "tags": [],
105
+ "required": false,
106
+ "type": "string | undefined",
107
+ "declarations": [
108
+ {
109
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
110
+ "range": [
111
+ 1399,
112
+ 1417
113
+ ]
114
+ }
115
+ ],
116
+ "schema": "string | undefined"
117
+ },
118
+ "disabled": {
119
+ "name": "disabled",
120
+ "global": false,
121
+ "description": "",
122
+ "tags": [
123
+ {
124
+ "name": "default",
125
+ "text": "false"
126
+ }
127
+ ],
128
+ "required": false,
129
+ "type": "boolean | undefined",
130
+ "declarations": [
131
+ {
132
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
133
+ "range": [
134
+ 1476,
135
+ 1495
136
+ ]
137
+ }
138
+ ],
139
+ "schema": {
140
+ "kind": "enum",
141
+ "type": "boolean | undefined",
142
+ "schema": [
143
+ "undefined",
144
+ "false",
145
+ "true"
146
+ ]
147
+ }
148
+ },
149
+ "required": {
150
+ "name": "required",
151
+ "global": false,
152
+ "description": "",
153
+ "tags": [
154
+ {
155
+ "name": "default",
156
+ "text": "false"
157
+ }
158
+ ],
159
+ "required": false,
160
+ "type": "boolean | undefined",
161
+ "declarations": [
162
+ {
163
+ "file": "/home/kevincarnaille/dev/design-system/packages/core-vue/src/components/JoyCheckboxGroup/VJoyCheckboxGroup.vue",
164
+ "range": [
165
+ 1554,
166
+ 1573
167
+ ]
168
+ }
169
+ ],
170
+ "schema": "boolean | undefined"
171
+ }
172
+ }
173
+ }
174
+ ]
175
+ }
176
+ ]
12
177
  },
13
178
  {
14
179
  "name": "id",
@@ -23,7 +188,6 @@
23
188
  "name": "value",
24
189
  "type": "any[] | undefined",
25
190
  "required": false,
26
- "default": "[]",
27
191
  "description": "TODO: better typings",
28
192
  "possibleValues": [
29
193
  {
@@ -35,11 +199,20 @@
35
199
  }
36
200
  ]
37
201
  },
202
+ {
203
+ "name": "direction",
204
+ "type": "CheckboxGroupDirection | undefined",
205
+ "required": false,
206
+ "description": "Switch checkboxes layout direction.",
207
+ "possibleValues": [
208
+ "vertical",
209
+ "horizontal"
210
+ ]
211
+ },
38
212
  {
39
213
  "name": "required",
40
214
  "type": "boolean | undefined",
41
215
  "required": false,
42
- "default": "false",
43
216
  "description": "",
44
217
  "possibleValues": [
45
218
  "false",
@@ -59,7 +232,6 @@
59
232
  "name": "labelSize",
60
233
  "type": "TJoyLabelSizes | undefined",
61
234
  "required": false,
62
- "default": "\"medium\"",
63
235
  "description": "",
64
236
  "possibleValues": [
65
237
  "medium",
@@ -80,7 +252,6 @@
80
252
  "name": "requiredMark",
81
253
  "type": "boolean | undefined",
82
254
  "required": false,
83
- "default": "false",
84
255
  "description": "",
85
256
  "possibleValues": [
86
257
  "false",
@@ -96,6 +267,10 @@
96
267
  }
97
268
  ],
98
269
  "slots": [
270
+ {
271
+ "name": "default",
272
+ "description": "Allows explicit declaration of VJoyCheckbox / VJoyCheckboxCard children in the group.\n\n**Important**: v-model has to be handled by consumer."
273
+ },
99
274
  {
100
275
  "name": "checkbox",
101
276
  "description": "Customize the inner content of each checkboxes"
@@ -112,6 +287,16 @@
112
287
  "type": "any[]",
113
288
  "isMethod": false
114
289
  },
290
+ {
291
+ "name": "options",
292
+ "type": "Option[]",
293
+ "isMethod": false
294
+ },
295
+ {
296
+ "name": "direction",
297
+ "type": "CheckboxGroupDirection",
298
+ "isMethod": false
299
+ },
115
300
  {
116
301
  "name": "labelSize",
117
302
  "type": "TJoyLabelSizes",
@@ -132,11 +317,6 @@
132
317
  "type": "string | undefined",
133
318
  "isMethod": false
134
319
  },
135
- {
136
- "name": "options",
137
- "type": "Option[]",
138
- "isMethod": false
139
- },
140
320
  {
141
321
  "name": "optionalLabel",
142
322
  "type": "string | undefined",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyPagination",
3
3
  "displayName": "VJoyPagination",
4
- "description": "A complete pagination component for navigating through large datasets with proper accessibility support. Features automatic page number calculation, gap handling for large page counts, customizable navigation arrows, and router integration support through slots. Includes proper ARIA attributes and keyboard navigation for an accessible pagination experience across different content types.",
4
+ "description": "A complete pagination component for navigating through large datasets with proper accessibility support.\nFeatures automatic page number calculation, gap handling for large page counts, customizable navigation arrows,\nand router integration support through slots. Includes proper ARIA attributes and keyboard navigation\nfor an accessible pagination experience across different content types.",
5
+ "category": "Navigation",
5
6
  "props": [
6
7
  {
7
8
  "name": "currentPage",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyPanel",
3
3
  "displayName": "VJoyPanel",
4
- "description": "A structured content container component providing consistent layout patterns for cards and sections. Features header with title/subtitle/actions, main body content, footer actions, and loading overlay support. Includes flexible sizing, padding options, AI variant styling, and seamless integration with VJoyPanelSection for complex nested layouts and modular content organization.",
4
+ "description": "A structured content container component providing consistent layout patterns for cards and sections.\nFeatures header with title/subtitle/actions, main body content, footer actions, and loading overlay support.\nIncludes flexible sizing, padding options, AI variant styling, and seamless integration with\nVJoyPanelSection for complex nested layouts and modular content organization.",
5
+ "category": "Layout",
5
6
  "props": [
6
7
  {
7
8
  "name": "loading",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyPanelSection",
3
3
  "displayName": "VJoyPanelSection",
4
4
  "description": "",
5
+ "category": "Layout",
5
6
  "props": [],
6
7
  "events": [],
7
8
  "slots": [
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyPasswordRequirement",
3
3
  "displayName": "VJoyPasswordRequirement",
4
- "description": "A component to display a password requirement status. This is meant to be displayed under a VJoyInput of type password.",
4
+ "description": "A component to display a password requirement status.\nThis is meant to be displayed under a VJoyInput of type password.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "label",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyProductTour",
3
3
  "displayName": "VJoyProductTour",
4
- "description": "An advanced guided tour component for creating interactive product demonstrations with element highlighting. Features intelligent positioning around target elements, multi-step tour progression, customizable banners and actions, and spotlight effects for drawing user attention. Includes SSR compatibility and proper z-index management through Teleport for seamless user onboarding and feature discovery experiences.",
4
+ "description": "An advanced guided tour component for creating interactive product demonstrations with element highlighting.\nFeatures intelligent positioning around target elements, multi-step tour progression, customizable banners and actions,\nand spotlight effects for drawing user attention. Includes SSR compatibility and proper z-index management\nthrough Teleport for seamless user onboarding and feature discovery experiences.",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "icon",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyProductTourTrigger",
3
3
  "displayName": "VJoyProductTourTrigger",
4
4
  "description": "",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "productTour",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyProgressBar",
3
3
  "displayName": "VJoyProgressBar",
4
- "description": "A visual progress indicator component for displaying completion status with percentage or step-based progress. Features multiple color variants for different semantic meanings (success, warning, error), optional label display, and dual mode support (percentage-based or step-based calculations). Perfect for indicating task completion, loading states, and multi-step process progress with clear visual feedback.",
4
+ "description": "A visual progress indicator component for displaying completion status with percentage or step-based progress.\nFeatures multiple color variants for different semantic meanings (success, warning, error), optional label display,\nand dual mode support (percentage-based or step-based calculations). Perfect for indicating task completion,\nloading states, and multi-step process progress with clear visual feedback.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "color",
@@ -88,11 +89,6 @@
88
89
  "name": "computeInnerWidth",
89
90
  "type": "string",
90
91
  "isMethod": false
91
- },
92
- {
93
- "name": "computedPercentage",
94
- "type": "number",
95
- "isMethod": false
96
92
  }
97
93
  ],
98
94
  "hasVModel": false
@@ -2,6 +2,7 @@
2
2
  "name": "JoyRadio",
3
3
  "displayName": "VJoyRadio",
4
4
  "description": "",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "invalid",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyRadioGroup",
3
3
  "displayName": "VJoyRadioGroup",
4
- "description": "A container component for organizing radio button groups with proper fieldset structure and accessibility. Features horizontal and vertical layout options, legend support for group labeling, and seamless integration with VJoyRadio components. Provides proper ARIA attributes and form association for accessible single-choice selection interfaces with consistent spacing and visual organization. Use the same v-model for each `VJoyRadio` (modelValue). Create a ref for it.",
4
+ "description": "A container component for organizing radio button groups with proper fieldset structure and accessibility.\nFeatures horizontal and vertical layout options, legend support for group labeling, and seamless integration\nwith VJoyRadio components. Provides proper ARIA attributes and form association for accessible\nsingle-choice selection interfaces with consistent spacing and visual organization.\n\nUse the same v-model for each `VJoyRadio` (modelValue). Create a ref for it.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "direction",
@@ -10,8 +11,8 @@
10
11
  "default": "\"horizontal\"",
11
12
  "description": "",
12
13
  "possibleValues": [
13
- "horizontal",
14
- "vertical"
14
+ "vertical",
15
+ "horizontal"
15
16
  ]
16
17
  },
17
18
  {
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyRatingStars",
3
3
  "displayName": "VJoyRatingStars",
4
- "description": "A visual rating display component using star icons to represent rating values from 0 to 5. Features support for fractional ratings with half-star display, multiple size variants, review count display, and customizable content slots. Includes proper accessibility attributes with configurable ARIA labels for screen reader compatibility. **Accessibility focus**: you can give an aria-label to the component to actually describe the rating. By default it is set to \"Rating: X out of 5\" but is obviously not translated.",
4
+ "description": "A visual rating display component using star icons to represent rating values from 0 to 5.\nFeatures support for fractional ratings with half-star display, multiple size variants,\nreview count display, and customizable content slots. Includes proper accessibility\nattributes with configurable ARIA labels for screen reader compatibility.\n\n**Accessibility focus**: you can give an aria-label to the component to actually describe the rating.\nBy default it is set to \"Rating: X out of 5\" but is obviously not translated.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyScreenLoader",
3
3
  "displayName": "VJoyScreenLoader",
4
- "description": "A full-screen loading overlay component for indicating page or section loading states. Features light and dark color modes, overlay positioning for absolute coverage, customizable spinner slots, and content areas for loading messages. Perfect for blocking user interactions during data loading with professional loading animations and flexible content presentation.",
4
+ "description": "A full-screen loading overlay component for indicating page or section loading states.\nFeatures light and dark color modes, overlay positioning for absolute coverage, customizable spinner slots,\nand content areas for loading messages. Perfect for blocking user interactions during data loading\nwith professional loading animations and flexible content presentation.",
5
+ "category": "Loader",
5
6
  "props": [
6
7
  {
7
8
  "name": "color",