@maltjoy/mcp-server 0.3.1 → 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 (104) hide show
  1. package/README.md +30 -28
  2. package/dist/doc/VJoyAdminBanner/metadata.json +2 -0
  3. package/dist/doc/VJoyAvailability/metadata.json +2 -0
  4. package/dist/doc/VJoyAvatar/metadata.json +2 -0
  5. package/dist/doc/VJoyAvatarsList/metadata.json +2 -0
  6. package/dist/doc/VJoyBadge/metadata.json +2 -0
  7. package/dist/doc/VJoyBadgeLevel/metadata.json +2 -0
  8. package/dist/doc/VJoyBlockSkeleton/metadata.json +2 -0
  9. package/dist/doc/VJoyBottomSheet/metadata.json +2 -0
  10. package/dist/doc/VJoyBottomSheetTrigger/metadata.json +2 -0
  11. package/dist/doc/VJoyButton/metadata.json +2 -0
  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 -27
  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 -0
  20. package/dist/doc/VJoyCollapseItem/metadata.json +2 -0
  21. package/dist/doc/VJoyCompanyAvatar/metadata.json +2 -0
  22. package/dist/doc/VJoyDialog/metadata.json +2 -0
  23. package/dist/doc/VJoyDialogTrigger/metadata.json +2 -0
  24. package/dist/doc/VJoyDot/metadata.json +2 -0
  25. package/dist/doc/VJoyDrawer/metadata.json +2 -0
  26. package/dist/doc/VJoyDrawerTrigger/metadata.json +2 -0
  27. package/dist/doc/VJoyDropdown/metadata.json +76 -74
  28. package/dist/doc/VJoyDropdownList/metadata.json +2 -0
  29. package/dist/doc/VJoyDropzone/metadata.json +2 -0
  30. package/dist/doc/VJoyFilterBar/metadata.json +2 -0
  31. package/dist/doc/VJoyFilterBarButton/metadata.json +2 -0
  32. package/dist/doc/VJoyFloatingActionsBar/metadata.json +70 -0
  33. package/dist/doc/VJoyFormError/metadata.json +2 -0
  34. package/dist/doc/VJoyFormFieldSkeleton/metadata.json +2 -0
  35. package/dist/doc/VJoyFormGroup/metadata.json +2 -0
  36. package/dist/doc/VJoyFunnel/metadata.json +2 -0
  37. package/dist/doc/VJoyFunnelFooter/metadata.json +2 -0
  38. package/dist/doc/VJoyFunnelHeader/metadata.json +2 -0
  39. package/dist/doc/VJoyHighlight/metadata.json +2 -0
  40. package/dist/doc/VJoyIcon/metadata.json +2 -0
  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 +2 -0
  44. package/dist/doc/VJoyIndicators/metadata.json +2 -0
  45. package/dist/doc/VJoyInput/JoyInput.types.ts +1 -1
  46. package/dist/doc/VJoyInput/metadata.json +18 -14
  47. package/dist/doc/VJoyInputDigit/metadata.json +2 -0
  48. package/dist/doc/VJoyInputNumber/metadata.json +286 -0
  49. package/dist/doc/VJoyInputPassword/metadata.json +36 -32
  50. package/dist/doc/VJoyLabel/metadata.json +6 -4
  51. package/dist/doc/VJoyLink/metadata.json +11 -9
  52. package/dist/doc/VJoyListItem/metadata.json +2 -0
  53. package/dist/doc/VJoyMenu/metadata.json +2 -0
  54. package/dist/doc/VJoyMenuItem/metadata.json +3 -1
  55. package/dist/doc/VJoyMultiCheckbox/metadata.json +193 -12
  56. package/dist/doc/VJoyPagination/metadata.json +2 -0
  57. package/dist/doc/VJoyPanel/metadata.json +2 -0
  58. package/dist/doc/VJoyPanelSection/metadata.json +2 -0
  59. package/dist/doc/VJoyPasswordRequirement/metadata.json +2 -0
  60. package/dist/doc/VJoyProductTour/metadata.json +2 -0
  61. package/dist/doc/VJoyProductTourTrigger/metadata.json +2 -0
  62. package/dist/doc/VJoyProgressBar/metadata.json +2 -5
  63. package/dist/doc/VJoyRadio/metadata.json +2 -0
  64. package/dist/doc/VJoyRadioGroup/metadata.json +4 -2
  65. package/dist/doc/VJoyRatingStars/metadata.json +2 -0
  66. package/dist/doc/VJoyScreenLoader/metadata.json +2 -0
  67. package/dist/doc/VJoySelect/metadata.json +34 -32
  68. package/dist/doc/VJoySelectableItem/metadata.json +2 -0
  69. package/dist/doc/VJoySelectableItemGroup/metadata.json +2 -0
  70. package/dist/doc/VJoySeparator/metadata.json +2 -0
  71. package/dist/doc/VJoySnackbar/metadata.json +2 -0
  72. package/dist/doc/VJoySpinner/metadata.json +2 -0
  73. package/dist/doc/VJoyStep/metadata.json +2 -0
  74. package/dist/doc/VJoyStepper/metadata.json +2 -0
  75. package/dist/doc/VJoyTab/metadata.json +2 -0
  76. package/dist/doc/VJoyTabs/metadata.json +2 -0
  77. package/dist/doc/VJoyTag/metadata.json +6 -4
  78. package/dist/doc/VJoyTagsInput/metadata.json +2 -0
  79. package/dist/doc/VJoyTagsList/metadata.json +19 -17
  80. package/dist/doc/VJoyTemplate/metadata.json +2 -0
  81. package/dist/doc/VJoyText/metadata.json +2 -0
  82. package/dist/doc/VJoyTextarea/metadata.json +25 -23
  83. package/dist/doc/VJoyTitleBrand/metadata.json +2 -0
  84. package/dist/doc/VJoyToggle/metadata.json +15 -13
  85. package/dist/doc/VJoyTooltip/metadata.json +2 -0
  86. package/dist/doc/VJoyUserCard/metadata.json +2 -0
  87. package/dist/doc/VJoyWalkthrough/metadata.json +2 -0
  88. package/dist/doc/VJoyWalkthroughTrigger/metadata.json +2 -0
  89. package/dist/doc/VJoyWrapper/metadata.json +20 -18
  90. package/dist/doc/css-classes.json +2 -0
  91. package/dist/doc/design-tokens.json +30 -30
  92. package/dist/doc/index.json +223 -17
  93. package/dist/parser.d.ts +12 -0
  94. package/dist/parser.d.ts.map +1 -1
  95. package/dist/parser.js +25 -0
  96. package/dist/parser.js.map +1 -1
  97. package/dist/tools/get-component-info.js +1 -1
  98. package/dist/tools/get-component-info.js.map +1 -1
  99. package/dist/tools/list-components.d.ts +2 -4
  100. package/dist/tools/list-components.d.ts.map +1 -1
  101. package/dist/tools/list-components.js +24 -7
  102. package/dist/tools/list-components.js.map +1 -1
  103. package/package.json +3 -2
  104. package/dist/doc/VJoyTemplateShape/metadata.json +0 -9
@@ -1,13 +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.\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",
4
6
  "props": [
5
7
  {
6
8
  "name": "reset",
7
9
  "type": "boolean | undefined",
8
10
  "required": false,
9
11
  "default": "false",
10
- "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",
11
13
  "possibleValues": [
12
14
  "false",
13
15
  "true"
@@ -45,68 +47,6 @@
45
47
  "string"
46
48
  ]
47
49
  },
48
- {
49
- "name": "modelValue",
50
- "type": "string | undefined",
51
- "required": false,
52
- "default": "\"\"",
53
- "description": "Use v-model",
54
- "possibleValues": [
55
- "string"
56
- ]
57
- },
58
- {
59
- "name": "disableTeleport",
60
- "type": "boolean | undefined",
61
- "required": false,
62
- "default": "false",
63
- "description": "Disable teleport for testing purpose mostly.",
64
- "possibleValues": [
65
- "false",
66
- "true"
67
- ]
68
- },
69
- {
70
- "name": "appendTo",
71
- "type": "string | RendererElement | null | undefined",
72
- "required": false,
73
- "default": "\"body\"",
74
- "description": "DOM valid selector to give to Vue3 Teleport \"to\" property",
75
- "possibleValues": null
76
- },
77
- {
78
- "name": "closeOnSelect",
79
- "type": "boolean | undefined",
80
- "required": false,
81
- "default": "true",
82
- "description": "close the dropdown list when clicking on any item. Default to false",
83
- "possibleValues": [
84
- "false",
85
- "true"
86
- ]
87
- },
88
- {
89
- "name": "direction",
90
- "type": "TJoyDropdownDirections | undefined",
91
- "required": false,
92
- "default": "\"down\"",
93
- "description": "Dropdown vertical position according to the trigger",
94
- "possibleValues": [
95
- "up",
96
- "down"
97
- ]
98
- },
99
- {
100
- "name": "justify",
101
- "type": "TPositions | undefined",
102
- "required": false,
103
- "default": "\"left\"",
104
- "description": "Dropdown horizontal justify according to the trigger",
105
- "possibleValues": [
106
- "left",
107
- "right"
108
- ]
109
- },
110
50
  {
111
51
  "name": "options",
112
52
  "type": "TJoyDropdownOption[] | undefined",
@@ -260,6 +200,68 @@
260
200
  }
261
201
  ]
262
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
+ },
263
265
  {
264
266
  "name": "dropdownGap",
265
267
  "type": "string | undefined",
@@ -313,7 +315,7 @@
313
315
  },
314
316
  {
315
317
  "name": "dropdown-items",
316
- "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."
317
319
  },
318
320
  {
319
321
  "name": "dropdown-item",
@@ -345,6 +347,16 @@
345
347
  "type": "string",
346
348
  "isMethod": false
347
349
  },
350
+ {
351
+ "name": "options",
352
+ "type": "TJoyDropdownOption[]",
353
+ "isMethod": false
354
+ },
355
+ {
356
+ "name": "direction",
357
+ "type": "TJoyDropdownDirections",
358
+ "isMethod": false
359
+ },
348
360
  {
349
361
  "name": "modelValue",
350
362
  "type": "string",
@@ -365,21 +377,11 @@
365
377
  "type": "boolean",
366
378
  "isMethod": false
367
379
  },
368
- {
369
- "name": "direction",
370
- "type": "TJoyDropdownDirections",
371
- "isMethod": false
372
- },
373
380
  {
374
381
  "name": "justify",
375
382
  "type": "TPositions",
376
383
  "isMethod": false
377
384
  },
378
- {
379
- "name": "options",
380
- "type": "TJoyDropdownOption[]",
381
- "isMethod": false
382
- },
383
385
  {
384
386
  "name": "dropdownGap",
385
387
  "type": "string",
@@ -1,6 +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.\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",
4
6
  "props": [
5
7
  {
6
8
  "name": "reset",
@@ -1,6 +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.\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",
4
6
  "props": [
5
7
  {
6
8
  "name": "modelValue",
@@ -1,6 +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.\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",
4
6
  "props": [
5
7
  {
6
8
  "name": "ariaLabel",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFilterBarButton",
3
3
  "displayName": "VJoyFilterBarButton",
4
+ "description": "",
5
+ "category": "Forms",
4
6
  "props": [
5
7
  {
6
8
  "name": "active",
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "JoyFloatingActionsBar",
3
+ "displayName": "VJoyFloatingActionsBar",
4
+ "description": "A persistent action container displayed at the bottom of the viewport.\nUseful to surface bulk actions when items are selected, or to keep\nprimary actions visible while users scroll through long pages.",
5
+ "category": "Overlays",
6
+ "props": [
7
+ {
8
+ "name": "height",
9
+ "type": "string | undefined",
10
+ "required": false,
11
+ "default": "\"92px\"",
12
+ "description": "Height of the bar. Adjust when the default does not fit your content.",
13
+ "possibleValues": [
14
+ "string"
15
+ ]
16
+ },
17
+ {
18
+ "name": "appendTo",
19
+ "type": "string | RendererElement | null | undefined",
20
+ "required": false,
21
+ "default": "\"body\"",
22
+ "description": "CSS selector or DOM element used as the Teleport target.",
23
+ "possibleValues": null
24
+ },
25
+ {
26
+ "name": "justify",
27
+ "type": "\"center\" | \"space-between\" | \"space-around\" | \"space-evenly\" | \"flex-start\" | \"flex-end\" | undefined",
28
+ "required": false,
29
+ "default": "\"space-between\"",
30
+ "description": "Controls the horizontal distribution of the inner content.",
31
+ "possibleValues": [
32
+ "center",
33
+ "space-between",
34
+ "space-around",
35
+ "space-evenly",
36
+ "flex-start",
37
+ "flex-end"
38
+ ]
39
+ }
40
+ ],
41
+ "events": [],
42
+ "slots": [
43
+ {
44
+ "name": "content",
45
+ "description": "Content slot, placed on the left side of the bar"
46
+ },
47
+ {
48
+ "name": "actions",
49
+ "description": "Actions slot, placed on the right side"
50
+ }
51
+ ],
52
+ "exposed": [
53
+ {
54
+ "name": "height",
55
+ "type": "string",
56
+ "isMethod": false
57
+ },
58
+ {
59
+ "name": "appendTo",
60
+ "type": "string | RendererElement | null",
61
+ "isMethod": false
62
+ },
63
+ {
64
+ "name": "justify",
65
+ "type": "\"center\" | \"space-between\" | \"space-around\" | \"space-evenly\" | \"flex-start\" | \"flex-end\"",
66
+ "isMethod": false
67
+ }
68
+ ],
69
+ "hasVModel": false
70
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFormError",
3
3
  "displayName": "VJoyFormError",
4
+ "description": "A form error display component for showing error messages.\nFeatures a warning icon, support for single error messages or multiple error lists, and visibility control for conditional error display.\nIncludes proper accessibility attributes with alert role for screen reader announcement of form errors.",
5
+ "category": "Forms",
4
6
  "props": [
5
7
  {
6
8
  "name": "visible",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFormFieldSkeleton",
3
3
  "displayName": "VJoyFormFieldSkeleton",
4
+ "description": "A specialized skeleton loading component designed specifically for form field placeholders.\nFeatures form-appropriate sizing, flexible layout support with VJoyWrapper integration,\nand consistent styling that matches form field dimensions. Perfect for creating skeleton\nforms and improving perceived loading performance in form-heavy interfaces.\n\nSkeleton is 100% width by default. If you want to have a better control on this, use the \"width\" property.",
5
+ "category": "Skeletons",
4
6
  "props": [
5
7
  {
6
8
  "name": "size",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFormGroup",
3
3
  "displayName": "VJoyFormGroup",
4
+ "description": "A form group component to group form elements together.\n\nIt is used to group a label, any form component, and form errors together.\n\nIt is also used to handle the gap between the form elements, and **it resets the existing margins** within form elements!",
5
+ "category": "Functional",
4
6
  "props": [],
5
7
  "events": [],
6
8
  "slots": [
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFunnel",
3
3
  "displayName": "VJoyFunnel",
4
+ "description": "A full-page layout component designed for multi-step workflows and guided user flows.\nFeatures decorative background shapes, header and footer areas, and seamless integration\nwith stepper components. Optimized for mobile experiences and onboarding funnels\nwith different visual profiles and customizable content areas.",
5
+ "category": "Layout",
4
6
  "props": [
5
7
  {
6
8
  "name": "profile",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFunnelFooter",
3
3
  "displayName": "VJoyFunnelFooter",
4
+ "description": "",
5
+ "category": "Layout",
4
6
  "props": [],
5
7
  "events": [],
6
8
  "slots": [
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyFunnelHeader",
3
3
  "displayName": "VJoyFunnelHeader",
4
+ "description": "",
5
+ "category": "Layout",
4
6
  "props": [],
5
7
  "events": [],
6
8
  "slots": [
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyHighlight",
3
3
  "displayName": "VJoyHighlight",
4
+ "description": "A content highlighting component for displaying important information with visual emphasis.\nFeatures different severity levels (success, info, warning, error, neutral), optional accent borders, customizable icons, and title support.\nIncludes an experimental AI variant for AI-related content with special styling and decorative elements.",
5
+ "category": "View",
4
6
  "props": [
5
7
  {
6
8
  "name": "variant",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyIcon",
3
3
  "displayName": "VJoyIcon",
4
+ "description": "An icon component supporting the complete Joy icon library with customizable sizing and theming.\nFeatures accessibility support with aria labels, multiple color variants and different size options.\nProvides consistent icon rendering across the design system with proper semantic markup and keyboard navigation capabilities.",
5
+ "category": "Icons",
4
6
  "props": [
5
7
  {
6
8
  "name": "size",
@@ -0,0 +1,6 @@
1
+ import {TJoyButtonSizes, TJoyButtonVariants} from '../JoyButton/JoyButton.types';
2
+ import {TJoyIconsNames} from '../JoyIcon/JoyIcon.types';
3
+
4
+ export type TJoyIconButtonVariants = TJoyButtonVariants;
5
+ export type TJoyIconButtonSizes = TJoyButtonSizes;
6
+ export type TJoyIconButtonIconNames = TJoyIconsNames;
@@ -0,0 +1,116 @@
1
+ {
2
+ "name": "JoyIconButton",
3
+ "displayName": "VJoyIconButton",
4
+ "description": "A dedicated icon-button component built on top of `VJoyButton`.\nUse this component instead of the deprecated `circle` prop from `VJoyButton`.",
5
+ "category": "Buttons",
6
+ "props": [
7
+ {
8
+ "name": "size",
9
+ "type": "TJoyButtonSizes | undefined",
10
+ "required": false,
11
+ "default": "\"medium\"",
12
+ "description": "Button or Link size",
13
+ "possibleValues": [
14
+ "medium",
15
+ "large",
16
+ "small",
17
+ "xsmall",
18
+ "xxsmall"
19
+ ]
20
+ },
21
+ {
22
+ "name": "loading",
23
+ "type": "boolean | undefined",
24
+ "required": false,
25
+ "default": "false",
26
+ "description": "Change the component's state and display a JoySpinner.",
27
+ "possibleValues": [
28
+ "false",
29
+ "true"
30
+ ]
31
+ },
32
+ {
33
+ "name": "variant",
34
+ "type": "TJoyButtonVariants | undefined",
35
+ "required": false,
36
+ "default": "\"primary\"",
37
+ "description": "Button or Link color variant",
38
+ "possibleValues": [
39
+ "secondary",
40
+ "primary",
41
+ "main",
42
+ "admin",
43
+ "ghost",
44
+ "secondary-ai",
45
+ "primary-ai",
46
+ "main-ai",
47
+ "ghost-ai"
48
+ ]
49
+ },
50
+ {
51
+ "name": "label",
52
+ "type": "string | undefined",
53
+ "required": false,
54
+ "description": "Accessible label used when no default slot is provided.\nThe text is hidden visually by JoyIconButton styles.",
55
+ "possibleValues": [
56
+ "string"
57
+ ]
58
+ },
59
+ {
60
+ "name": "icon",
61
+ "type": "string",
62
+ "required": true,
63
+ "description": "Name of the icon displayed inside the button",
64
+ "possibleValues": "TJoyIconsNames (220 values)"
65
+ },
66
+ {
67
+ "name": "id",
68
+ "type": "string | undefined",
69
+ "required": false,
70
+ "description": "",
71
+ "possibleValues": [
72
+ "string"
73
+ ]
74
+ }
75
+ ],
76
+ "events": [],
77
+ "slots": [
78
+ {
79
+ "name": "default",
80
+ "description": "Accessible label for the icon button"
81
+ }
82
+ ],
83
+ "exposed": [
84
+ {
85
+ "name": "size",
86
+ "type": "TJoyButtonSizes",
87
+ "isMethod": false
88
+ },
89
+ {
90
+ "name": "loading",
91
+ "type": "boolean",
92
+ "isMethod": false
93
+ },
94
+ {
95
+ "name": "variant",
96
+ "type": "TJoyButtonVariants",
97
+ "isMethod": false
98
+ },
99
+ {
100
+ "name": "label",
101
+ "type": "string | undefined",
102
+ "isMethod": false
103
+ },
104
+ {
105
+ "name": "icon",
106
+ "type": "string",
107
+ "isMethod": false
108
+ },
109
+ {
110
+ "name": "id",
111
+ "type": "string | undefined",
112
+ "isMethod": false
113
+ }
114
+ ],
115
+ "hasVModel": false
116
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyIndicator",
3
3
  "displayName": "VJoyIndicator",
4
+ "description": "",
5
+ "category": "Buttons",
4
6
  "props": [
5
7
  {
6
8
  "name": "variant",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyIndicators",
3
3
  "displayName": "VJoyIndicators",
4
+ "description": "A navigation component for creating page or content indicators, commonly used in carousels and dialogs.\nManages a collection of VJoyIndicator components with selection state and v-model support.\nFeatures visual variants and automatic indicator management for seamless navigation experiences with proper accessibility and keyboard interaction support.",
5
+ "category": "Buttons",
4
6
  "props": [
5
7
  {
6
8
  "name": "variant",
@@ -10,7 +10,7 @@ export interface VJoyInputProps {
10
10
  disabled?: boolean;
11
11
  id?: string;
12
12
  invalid?: boolean;
13
- name: string;
13
+ name?: string;
14
14
  required?: boolean;
15
15
  /** Display a label on top of the element. Handy if you only need to pass a string. If you need more, use the VJoyLabel. */
16
16
  label?: string;
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyInput",
3
3
  "displayName": "VJoyInput",
4
+ "description": "A comprehensive form input component with extensive customization and validation features.\nSupports multiple input types, icon support, clearable functionality, unit displays, and comprehensive validation states.\nFeatures auto-focus capabilities, accessibility compliance, and seamless integration with form validation systems.",
5
+ "category": "Forms",
4
6
  "props": [
5
7
  {
6
8
  "name": "autofocus",
@@ -57,10 +59,12 @@
57
59
  },
58
60
  {
59
61
  "name": "name",
60
- "type": "string",
61
- "required": true,
62
+ "type": "string | undefined",
63
+ "required": false,
62
64
  "description": "",
63
- "possibleValues": null
65
+ "possibleValues": [
66
+ "string"
67
+ ]
64
68
  },
65
69
  {
66
70
  "name": "required",
@@ -236,11 +240,6 @@
236
240
  "type": "boolean",
237
241
  "isMethod": false
238
242
  },
239
- {
240
- "name": "autofocus",
241
- "type": "boolean",
242
- "isMethod": false
243
- },
244
243
  {
245
244
  "name": "labelSize",
246
245
  "type": "TJoyLabelSizes",
@@ -251,6 +250,11 @@
251
250
  "type": "boolean",
252
251
  "isMethod": false
253
252
  },
253
+ {
254
+ "name": "autofocus",
255
+ "type": "boolean",
256
+ "isMethod": false
257
+ },
254
258
  {
255
259
  "name": "modelModifiers",
256
260
  "type": "Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>>",
@@ -288,7 +292,12 @@
288
292
  },
289
293
  {
290
294
  "name": "name",
291
- "type": "string",
295
+ "type": "string | undefined",
296
+ "isMethod": false
297
+ },
298
+ {
299
+ "name": "optionalLabel",
300
+ "type": "string | undefined",
292
301
  "isMethod": false
293
302
  },
294
303
  {
@@ -301,11 +310,6 @@
301
310
  "type": "((value: string) => any) | undefined",
302
311
  "isMethod": true
303
312
  },
304
- {
305
- "name": "optionalLabel",
306
- "type": "string | undefined",
307
- "isMethod": false
308
- },
309
313
  {
310
314
  "name": "unit",
311
315
  "type": "string | undefined",
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "JoyInputDigit",
3
3
  "displayName": "VJoyInputDigit",
4
+ "description": "One-time code input with auto-navigation between slots.\nSupports numeric filtering with disabled/invalid states.",
5
+ "category": "Forms",
4
6
  "props": [
5
7
  {
6
8
  "name": "modelValue",