@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
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoySelect",
3
3
  "displayName": "VJoySelect",
4
- "description": "A styled select dropdown component with integrated labeling. Features multiple size variants, disabled and invalid states, and flexible option rendering. Supports both inline label props and external VJoyLabel component usage.",
4
+ "description": "A styled select dropdown component with integrated labeling.\nFeatures multiple size variants, disabled and invalid states, and flexible option rendering.\nSupports both inline label props and external VJoyLabel component usage.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "invalid",
@@ -48,6 +49,17 @@
48
49
  "true"
49
50
  ]
50
51
  },
52
+ {
53
+ "name": "requiredMark",
54
+ "type": "boolean | undefined",
55
+ "required": false,
56
+ "default": "false",
57
+ "description": "",
58
+ "possibleValues": [
59
+ "false",
60
+ "true"
61
+ ]
62
+ },
51
63
  {
52
64
  "name": "modelValue",
53
65
  "type": "string | number | null | undefined",
@@ -60,17 +72,6 @@
60
72
  "number"
61
73
  ]
62
74
  },
63
- {
64
- "name": "requiredMark",
65
- "type": "boolean | undefined",
66
- "required": false,
67
- "default": "false",
68
- "description": "",
69
- "possibleValues": [
70
- "false",
71
- "true"
72
- ]
73
- },
74
75
  {
75
76
  "name": "label",
76
77
  "type": "string | undefined",
@@ -98,15 +99,6 @@
98
99
  "string"
99
100
  ]
100
101
  },
101
- {
102
- "name": "ariaLabel",
103
- "type": "string | undefined",
104
- "required": false,
105
- "description": "aria-label is available only if 'label' property is undefined *",
106
- "possibleValues": [
107
- "string"
108
- ]
109
- },
110
102
  {
111
103
  "name": "labelSize",
112
104
  "type": "TJoyLabelSizes | undefined",
@@ -126,6 +118,15 @@
126
118
  "possibleValues": [
127
119
  "string"
128
120
  ]
121
+ },
122
+ {
123
+ "name": "ariaLabel",
124
+ "type": "string | undefined",
125
+ "required": false,
126
+ "description": "aria-label is available only if 'label' property is undefined *",
127
+ "possibleValues": [
128
+ "string"
129
+ ]
129
130
  }
130
131
  ],
131
132
  "events": [
@@ -167,13 +168,13 @@
167
168
  "isMethod": false
168
169
  },
169
170
  {
170
- "name": "modelValue",
171
- "type": "string | number | null",
171
+ "name": "requiredMark",
172
+ "type": "boolean",
172
173
  "isMethod": false
173
174
  },
174
175
  {
175
- "name": "requiredMark",
176
- "type": "boolean",
176
+ "name": "modelValue",
177
+ "type": "string | number | null",
177
178
  "isMethod": false
178
179
  },
179
180
  {
@@ -192,22 +193,22 @@
192
193
  "isMethod": false
193
194
  },
194
195
  {
195
- "name": "onUpdate:modelValue",
196
- "type": "((value: string) => any) | undefined",
197
- "isMethod": true
196
+ "name": "labelSize",
197
+ "type": "TJoyLabelSizes | undefined",
198
+ "isMethod": false
198
199
  },
199
200
  {
200
- "name": "ariaLabel",
201
+ "name": "optionalLabel",
201
202
  "type": "string | undefined",
202
203
  "isMethod": false
203
204
  },
204
205
  {
205
- "name": "labelSize",
206
- "type": "TJoyLabelSizes | undefined",
207
- "isMethod": false
206
+ "name": "onUpdate:modelValue",
207
+ "type": "((value: string) => any) | undefined",
208
+ "isMethod": true
208
209
  },
209
210
  {
210
- "name": "optionalLabel",
211
+ "name": "ariaLabel",
211
212
  "type": "string | undefined",
212
213
  "isMethod": false
213
214
  },
@@ -2,6 +2,7 @@
2
2
  "name": "JoySelectableItem",
3
3
  "displayName": "VJoySelectableItem",
4
4
  "description": "",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "disabled",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoySelectableItemGroup",
3
3
  "displayName": "VJoySelectableItemGroup",
4
- "description": "Basic full implementation example : ```html <template> <VJoySelectableItemGroup :options=\"options\" v-model:value=\"selectableModel\" /> <template> <script setup lang=\"ts\"> import {ref} from 'vue'; import {TJoySelectableItemOption} from '@maltjoy/core-vue'; const options = ref<TJoySelectableItemOption[]>([ {value: 'first-selectable-value', label: 'Option 1'}, {value: 'second-selectable-value', label: 'Option 2'}, {value: 'third-selectable-value', label: 'Option 3', {attrs: {...}}}, ]); // Use any type you prefer here, depending on what the backend is sending to you const selectableModel = ref(['second-selectable-value']); </script> ``` > When passing the `options` property, you can include both `value` and `label` properties to each option. > But if it's simpler to use other key names, you can use `valueKey` and `labelKey` properties from `VJoySelectableItemGroup` to define the keys you prefer. > > You will have to deal with the typings by yourself, by creating a mix of interfaces or using satifies with type `TJoySelectableItemOption` depending on your cases. > > Example: `satisfies (TJoySelectableItemOption & Record<string, unknown>)[]`",
4
+ "description": "Basic full implementation example :\n\n```html\n\n <template>\n <VJoySelectableItemGroup :options=\"options\" v-model:value=\"selectableModel\" />\n <template>\n\n<script setup lang=\"ts\">\n import {ref} from 'vue';\n import {TJoySelectableItemOption} from '@maltjoy/core-vue';\n\nconst options = ref<TJoySelectableItemOption[]>([\n {value: 'first-selectable-value', label: 'Option 1'},\n {value: 'second-selectable-value', label: 'Option 2'},\n {value: 'third-selectable-value', label: 'Option 3', {attrs: {...}}},\n]); // Use any type you prefer here, depending on what the backend is sending to you\n\n\nconst selectableModel = ref(['second-selectable-value']);\n\n</script>\n```\n\n> When passing the `options` property, you can include both `value` and `label` properties to each option.\n> But if it's simpler to use other key names, you can use `valueKey` and `labelKey` properties from `VJoySelectableItemGroup` to define the keys you prefer.\n>\n> You will have to deal with the typings by yourself, by creating a mix of interfaces or using satifies with type `TJoySelectableItemOption` depending on your cases.\n>\n> Example: `satisfies (TJoySelectableItemOption & Record<string, unknown>)[]`",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "options",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoySeparator",
3
3
  "displayName": "VJoySeparator",
4
- "description": "A visual content separator component with text labeling capabilities for organizing interface sections. Features customizable text content, multiple size options, and styled horizontal lines for improved visual hierarchy. Enhanced version of the HTML hr element with better styling control and integrated text display for clearer content separation and section identification.",
4
+ "description": "A visual content separator component with text labeling capabilities for organizing interface sections.\nFeatures customizable text content, multiple size options, and styled horizontal lines for improved\nvisual hierarchy. Enhanced version of the HTML hr element with better styling control and\nintegrated text display for clearer content separation and section identification.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoySnackbar",
3
3
  "displayName": "VJoySnackbar",
4
- "description": "This component should not be directly used. To display it, please use the pushVJoySnackbar service : ```typescript import {pushVJoySnackbar} from '@maltjoy/core-vue'; function yourFunction() { pushVJoySnackbar({ props: { // at least message is mandatory message: 'Your message' } }); } ``` If you need to listen to events fired by the component, you can actually grab the event bus : ```typescript import {pushVJoySnackbar} from '@maltjoy/core-vue'; function yourFunction() { const {snackbarEventBus} = pushVJoySnackbar({ props: { // at least message is mandatory message: 'Your message' } }); snackbarEventBus.on('snackbar:hide', () => { // do what you want, and don't forget to unregister the listener on component destroy }); } ``` On the other hand, if you need to access the component instance, you can grab it as well ```typescript import {pushVJoySnackbar} from '@maltjoy/core-vue'; function yourFunction() { const {snackbarApp} = pushVJoySnackbar({ props: { // at least message is mandatory message: 'Your message' } }); } ```",
4
+ "description": "This component should not be directly used. To display it, please use the pushVJoySnackbar service :\n\n```typescript\nimport {pushVJoySnackbar} from '@maltjoy/core-vue';\n\nfunction yourFunction() {\n pushVJoySnackbar({\n props: {\n // at least message is mandatory\n message: 'Your message'\n }\n });\n}\n```\n\nIf you need to listen to events fired by the component, you can actually grab the event bus :\n\n```typescript\nimport {pushVJoySnackbar} from '@maltjoy/core-vue';\n\nfunction yourFunction() {\n const {snackbarEventBus} = pushVJoySnackbar({\n props: {\n // at least message is mandatory\n message: 'Your message'\n }\n });\n\n snackbarEventBus.on('snackbar:hide', () => {\n // do what you want, and don't forget to unregister the listener on component destroy\n });\n}\n```\n\nOn the other hand, if you need to access the component instance, you can grab it as well\n\n```typescript\nimport {pushVJoySnackbar} from '@maltjoy/core-vue';\n\nfunction yourFunction() {\n const {snackbarApp} = pushVJoySnackbar({\n props: {\n // at least message is mandatory\n message: 'Your message'\n }\n });\n\n}\n```",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "frozen",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoySpinner",
3
3
  "displayName": "VJoySpinner",
4
- "description": "A simple animated loading spinner component for indicating processing or loading states. Features customizable color variants to match different contexts and design requirements. Lightweight and performant with CSS-based animations, perfect for buttons, forms, and content areas that need visual loading feedback.",
4
+ "description": "A simple animated loading spinner component for indicating processing or loading states.\nFeatures customizable color variants to match different contexts and design requirements.\nLightweight and performant with CSS-based animations, perfect for buttons, forms,\nand content areas that need visual loading feedback.",
5
+ "category": "Loader",
5
6
  "props": [
6
7
  {
7
8
  "name": "color",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyStep",
3
3
  "displayName": "VJoyStep",
4
4
  "description": "",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "size",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyStepper",
3
3
  "displayName": "VJoyStepper",
4
- "description": "A progress stepper component for visualizing multi-step processes and user workflows. Manages a collection of VJoyStep components with support for main steps and sub-steps for granular progress tracking. Features automatic step state management (completed, current, upcoming), visual progress indicators, and flexible step sizing. Perfect for onboarding flows, form wizards, and guided processes. See **VJoyStep** stories for properties related to `VJoyStepper` children",
4
+ "description": "A progress stepper component for visualizing multi-step processes and user workflows.\nManages a collection of VJoyStep components with support for main steps and sub-steps for granular progress tracking.\nFeatures automatic step state management (completed, current, upcoming), visual progress indicators,\nand flexible step sizing. Perfect for onboarding flows, form wizards, and guided processes.\n\nSee **VJoyStep** stories for properties related to `VJoyStepper` children",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "subStep",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyTab",
3
3
  "displayName": "VJoyTab",
4
4
  "description": "",
5
+ "category": "Navigation",
5
6
  "props": [
6
7
  {
7
8
  "name": "notification",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTabs",
3
3
  "displayName": "VJoyTabs",
4
- "description": "A tabbed navigation component for organizing content into switchable panels with proper accessibility support. Features scrollable tab headers for overflow management, notification badges, custom header content slots, and both local navigation and external link support. Includes automatic tab selection management and event handling for seamless content organization and user experience.",
4
+ "description": "A tabbed navigation component for organizing content into switchable panels with proper accessibility support.\nFeatures scrollable tab headers for overflow management, notification badges, custom header content slots,\nand both local navigation and external link support. Includes automatic tab selection management\nand event handling for seamless content organization and user experience.",
5
+ "category": "Navigation",
5
6
  "props": [
6
7
  {
7
8
  "name": "selectedTab",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTag",
3
3
  "displayName": "VJoyTag",
4
- "description": "A versatile tag component for labeling, categorizing, and interactive content organization. Features multiple variants and sizes, removable functionality, drag visual indicators, selectable states, link styling, and AI-specific variants. Supports click handlers, removal events, and flexible content through slots for complex tag implementations.",
4
+ "description": "A versatile tag component for labeling, categorizing, and interactive content organization.\nFeatures multiple variants and sizes, removable functionality, drag visual indicators,\nselectable states, link styling, and AI-specific variants. Supports click handlers,\nremoval events, and flexible content through slots for complex tag implementations.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "label",
@@ -181,13 +182,13 @@
181
182
  "isMethod": false
182
183
  },
183
184
  {
184
- "name": "value",
185
- "type": "string | number",
185
+ "name": "disabled",
186
+ "type": "boolean",
186
187
  "isMethod": false
187
188
  },
188
189
  {
189
- "name": "disabled",
190
- "type": "boolean",
190
+ "name": "value",
191
+ "type": "string | number",
191
192
  "isMethod": false
192
193
  },
193
194
  {
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTagsInput",
3
3
  "displayName": "VJoyTagsInput",
4
- "description": "A specialized form input component for managing collections of tags with dynamic add/remove functionality. Features email validation, duplication detection, multi-line responsive layout, and comprehensive error handling. Integrates seamlessly with VJoyTag components for consistent tag display and provides flexible labeling options for complex form scenarios with collections management. > **To render the component with default model, pass it an array of values.** > **Storybook code snippet is broken at the moment.**",
4
+ "description": "A specialized form input component for managing collections of tags with dynamic add/remove functionality.\nFeatures email validation, duplication detection, multi-line responsive layout, and comprehensive error handling.\nIntegrates seamlessly with VJoyTag components for consistent tag display and provides flexible labeling\noptions for complex form scenarios with collections management.\n\n> **To render the component with default model, pass it an array of values.**\n> **Storybook code snippet is broken at the moment.**",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "name",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTagsList",
3
3
  "displayName": "VJoyTagsList",
4
- "description": "**VJoyTagsList** is a simple wrapper for **VJoyTag** allowing you to create a list with pre-defined style. If it is more flexible for you to directly use **VJoyTag** don't hesitate to get rid of this parent component! Instead you can wrap your **VJoyTag** list in a **VJoyWrapper** for instance",
4
+ "description": "**VJoyTagsList** is a simple wrapper for **VJoyTag** allowing you to create a list with pre-defined style.\nIf it is more flexible for you to directly use **VJoyTag** don't hesitate to get rid of this parent component!\nInstead you can wrap your **VJoyTag** list in a **VJoyWrapper** for instance",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "variant",
@@ -22,6 +23,18 @@
22
23
  "ai-secondary"
23
24
  ]
24
25
  },
26
+ {
27
+ "name": "align",
28
+ "type": "TJoyTagsListAlign | undefined",
29
+ "required": false,
30
+ "default": "\"left\"",
31
+ "description": "",
32
+ "possibleValues": [
33
+ "left",
34
+ "right",
35
+ "center"
36
+ ]
37
+ },
25
38
  {
26
39
  "name": "removable",
27
40
  "type": "boolean | undefined",
@@ -44,18 +57,6 @@
44
57
  "true"
45
58
  ]
46
59
  },
47
- {
48
- "name": "align",
49
- "type": "TJoyTagsListAlign | undefined",
50
- "required": false,
51
- "default": "\"left\"",
52
- "description": "",
53
- "possibleValues": [
54
- "left",
55
- "right",
56
- "center"
57
- ]
58
- },
59
60
  {
60
61
  "name": "tags",
61
62
  "type": "TJoyTagsList | undefined",
@@ -823,18 +824,18 @@
823
824
  "isMethod": false
824
825
  },
825
826
  {
826
- "name": "removable",
827
- "type": "boolean",
827
+ "name": "align",
828
+ "type": "TJoyTagsListAlign",
828
829
  "isMethod": false
829
830
  },
830
831
  {
831
- "name": "selectable",
832
+ "name": "removable",
832
833
  "type": "boolean",
833
834
  "isMethod": false
834
835
  },
835
836
  {
836
- "name": "align",
837
- "type": "TJoyTagsListAlign",
837
+ "name": "selectable",
838
+ "type": "boolean",
838
839
  "isMethod": false
839
840
  },
840
841
  {
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTemplate",
3
3
  "displayName": "VJoyTemplate",
4
- "description": "A comprehensive page layout template component providing structured slots for complete page organization. Features header area with title/subtitle/actions, main content with optional sidebar, back navigation support, loading overlay integration, and decorative background shapes. Perfect for creating consistent page layouts with flexible content positioning and professional presentation across the application.",
4
+ "description": "A comprehensive page layout template component providing structured slots for complete page organization.\nFeatures header area with title/subtitle/actions, main content with optional sidebar, back navigation support,\nloading overlay integration, and decorative background shapes. Perfect for creating consistent page layouts\nwith flexible content positioning and professional presentation across the application.",
5
+ "category": "Layout",
5
6
  "props": [
6
7
  {
7
8
  "name": "loading",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyText",
3
3
  "displayName": "VJoyText",
4
- "description": "This component is directly dependant from `@maltjoy/css` package, a CSS class utils package built on top of `@maltjoy/themes` that contains our design tokens. **Reminder**: values ending with 50 have same size but are bold. See \"Fonts\" section here https://doc.malt.tech/joy-storybook/?path=/docs/css-framework--docs#advanced-fonts **Warning** If you use long text within a VJoyWrapper, you'll have to set a max-width to prevent the text from breaking the layout.",
4
+ "description": "This component is directly dependant from `@maltjoy/css` package, a CSS class utils package built on top of `@maltjoy/themes` that contains our design tokens.\n\n**Reminder**: values ending with 50 have same size but are bold.\n\nSee \"Fonts\" section here https://doc.malt.tech/joy-storybook/?path=/docs/css-framework--docs#advanced-fonts\n\n**Warning** If you use long text within a VJoyWrapper, you'll have to set a max-width to prevent the text from breaking the layout.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "tagName",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTextarea",
3
3
  "displayName": "VJoyTextarea",
4
- "description": "A comprehensive multi-line text input component with advanced features for form interfaces. Features autogrow functionality, character count validation, min/max length constraints, integrated labeling, and form validation support. Includes visual feedback for length limits, disabled states, and seamless integration with VJoyLabel for flexible form layouts.",
4
+ "description": "A comprehensive multi-line text input component with advanced features for form interfaces.\nFeatures autogrow functionality, character count validation, min/max length constraints,\nintegrated labeling, and form validation support. Includes visual feedback for length limits,\ndisabled states, and seamless integration with VJoyLabel for flexible form layouts.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "invalid",
@@ -37,17 +38,19 @@
37
38
  ]
38
39
  },
39
40
  {
40
- "name": "modelValue",
41
- "type": "string | undefined",
41
+ "name": "labelSize",
42
+ "type": "TJoyLabelSizes | undefined",
42
43
  "required": false,
43
- "default": "\"\"",
44
+ "default": "\"medium\"",
44
45
  "description": "",
45
46
  "possibleValues": [
46
- "string"
47
+ "medium",
48
+ "large",
49
+ "small"
47
50
  ]
48
51
  },
49
52
  {
50
- "name": "autofocus",
53
+ "name": "requiredMark",
51
54
  "type": "boolean | undefined",
52
55
  "required": false,
53
56
  "default": "false",
@@ -58,19 +61,17 @@
58
61
  ]
59
62
  },
60
63
  {
61
- "name": "labelSize",
62
- "type": "TJoyLabelSizes | undefined",
64
+ "name": "modelValue",
65
+ "type": "string | undefined",
63
66
  "required": false,
64
- "default": "\"medium\"",
67
+ "default": "\"\"",
65
68
  "description": "",
66
69
  "possibleValues": [
67
- "medium",
68
- "large",
69
- "small"
70
+ "string"
70
71
  ]
71
72
  },
72
73
  {
73
- "name": "requiredMark",
74
+ "name": "autofocus",
74
75
  "type": "boolean | undefined",
75
76
  "required": false,
76
77
  "default": "false",
@@ -193,22 +194,22 @@
193
194
  "isMethod": false
194
195
  },
195
196
  {
196
- "name": "modelValue",
197
- "type": "string",
197
+ "name": "labelSize",
198
+ "type": "TJoyLabelSizes",
198
199
  "isMethod": false
199
200
  },
200
201
  {
201
- "name": "autofocus",
202
+ "name": "requiredMark",
202
203
  "type": "boolean",
203
204
  "isMethod": false
204
205
  },
205
206
  {
206
- "name": "labelSize",
207
- "type": "TJoyLabelSizes",
207
+ "name": "modelValue",
208
+ "type": "string",
208
209
  "isMethod": false
209
210
  },
210
211
  {
211
- "name": "requiredMark",
212
+ "name": "autofocus",
212
213
  "type": "boolean",
213
214
  "isMethod": false
214
215
  },
@@ -237,16 +238,16 @@
237
238
  "type": "string | undefined",
238
239
  "isMethod": false
239
240
  },
240
- {
241
- "name": "onUpdate:modelValue",
242
- "type": "((value: string) => any) | undefined",
243
- "isMethod": true
244
- },
245
241
  {
246
242
  "name": "optionalLabel",
247
243
  "type": "string | undefined",
248
244
  "isMethod": false
249
245
  },
246
+ {
247
+ "name": "onUpdate:modelValue",
248
+ "type": "((value: string) => any) | undefined",
249
+ "isMethod": true
250
+ },
250
251
  {
251
252
  "name": "minlengthLabel",
252
253
  "type": "string | undefined",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTitleBrand",
3
3
  "displayName": "VJoyTitleBrand",
4
- "description": "A branded title component for creating visually striking headings with highlighted text segments. Features flexible HTML tag rendering (h1-h6, p) and automatic styling for span elements with rotated background highlights. Perfect for page headers, dialog titles, and marketing content where brand emphasis is important for visual hierarchy and user attention. This component can be used in `VJoyTemplate` or `VJoyDialog`.",
4
+ "description": "A branded title component for creating visually striking headings with highlighted text segments.\nFeatures flexible HTML tag rendering (h1-h6, p) and automatic styling for span elements with\nrotated background highlights. Perfect for page headers, dialog titles, and marketing content\nwhere brand emphasis is important for visual hierarchy and user attention.\n\nThis component can be used in `VJoyTemplate` or `VJoyDialog`.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "tag",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyToggle",
3
3
  "displayName": "VJoyToggle",
4
- "description": "A form toggle switch component for binary on/off state management with visual feedback. Features multiple variants including default (with smile icon) and admin (with eye icon), integrated labeling, disabled states, and proper accessibility attributes. Provides smooth animations and clear visual indicators for user interactions in forms and settings interfaces.",
4
+ "description": "A form toggle switch component for binary on/off state management with visual feedback.\nFeatures multiple variants including default (with smile icon) and admin (with eye icon), integrated labeling, disabled states, and proper accessibility attributes.\nProvides smooth animations and clear visual indicators for user interactions in forms and settings interfaces.",
5
+ "category": "Forms",
5
6
  "props": [
6
7
  {
7
8
  "name": "invalid",
@@ -37,24 +38,24 @@
37
38
  ]
38
39
  },
39
40
  {
40
- "name": "value",
41
- "type": "string | undefined",
41
+ "name": "disabled",
42
+ "type": "boolean | undefined",
42
43
  "required": false,
43
- "default": "\"on\"",
44
+ "default": "false",
44
45
  "description": "",
45
46
  "possibleValues": [
46
- "string"
47
+ "false",
48
+ "true"
47
49
  ]
48
50
  },
49
51
  {
50
- "name": "disabled",
51
- "type": "boolean | undefined",
52
+ "name": "value",
53
+ "type": "string | undefined",
52
54
  "required": false,
53
- "default": "false",
55
+ "default": "\"on\"",
54
56
  "description": "",
55
57
  "possibleValues": [
56
- "false",
57
- "true"
58
+ "string"
58
59
  ]
59
60
  },
60
61
  {
@@ -137,13 +138,13 @@
137
138
  "isMethod": false
138
139
  },
139
140
  {
140
- "name": "value",
141
- "type": "string",
141
+ "name": "disabled",
142
+ "type": "boolean",
142
143
  "isMethod": false
143
144
  },
144
145
  {
145
- "name": "disabled",
146
- "type": "boolean",
146
+ "name": "value",
147
+ "type": "string",
147
148
  "isMethod": false
148
149
  },
149
150
  {
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyTooltip",
3
3
  "displayName": "VJoyTooltip",
4
- "description": "A floating tooltip overlay component for providing contextual information and help text. Features intelligent positioning with automatic placement adjustments, support for both hover and click triggers, and flexible content through text props or HTML slots. Uses Teleport for proper z-index management and includes proper accessibility attributes with ARIA support for screen readers.",
4
+ "description": "A floating tooltip overlay component for providing contextual information and help text.\nFeatures intelligent positioning with automatic placement adjustments, support for both hover and click triggers,\nand flexible content through text props or HTML slots. Uses Teleport for proper z-index management\nand includes proper accessibility attributes with ARIA support for screen readers.",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "show",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyUserCard",
3
3
  "displayName": "VJoyUserCard",
4
- "description": "A comprehensive user profile card component for displaying user information in a structured layout. Features integrated avatar display, name/subtitle presentation, rating stars support, and optional link functionality for navigation. Includes multiple customization slots for avatar, title, subtitle, and rating components, with full attribute inheritance for link behavior and accessibility.",
4
+ "description": "A comprehensive user profile card component for displaying user information in a structured layout.\nFeatures integrated avatar display, name/subtitle presentation, rating stars support, and optional\nlink functionality for navigation. Includes multiple customization slots for avatar, title, subtitle,\nand rating components, with full attribute inheritance for link behavior and accessibility.",
5
+ "category": "View",
5
6
  "props": [
6
7
  {
7
8
  "name": "fullName",
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "JoyWalkthrough",
3
3
  "displayName": "VJoyWalkthrough",
4
- "description": "A comprehensive guided tour component for creating interactive onboarding experiences and feature walkthroughs. Features collapsible modal interface with trigger button, progress tracking with visual indicators, mobile-responsive design, and flexible content slots for illustrations, descriptions, and custom actions. Uses Teleport for proper z-index management and includes accessibility support for guided user experiences. > ⚠ The use of **disableTeleport** property is only for documentation purpose. You won't need it in production.",
4
+ "description": "A comprehensive guided tour component for creating interactive onboarding experiences and feature walkthroughs.\nFeatures collapsible modal interface with trigger button, progress tracking with visual indicators, mobile-responsive\ndesign, and flexible content slots for illustrations, descriptions, and custom actions. Uses Teleport for proper\nz-index management and includes accessibility support for guided user experiences.\n\n> ⚠ The use of **disableTeleport** property is only for documentation purpose. You won't need it in production.",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "open",
@@ -2,6 +2,7 @@
2
2
  "name": "JoyWalkthroughTrigger",
3
3
  "displayName": "VJoyWalkthroughTrigger",
4
4
  "description": "",
5
+ "category": "Overlays",
5
6
  "props": [
6
7
  {
7
8
  "name": "icon",