@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.
- package/README.md +30 -28
- package/dist/doc/VJoyAdminBanner/metadata.json +2 -0
- package/dist/doc/VJoyAvailability/metadata.json +2 -0
- package/dist/doc/VJoyAvatar/metadata.json +2 -0
- package/dist/doc/VJoyAvatarsList/metadata.json +2 -0
- package/dist/doc/VJoyBadge/metadata.json +2 -0
- package/dist/doc/VJoyBadgeLevel/metadata.json +2 -0
- package/dist/doc/VJoyBlockSkeleton/metadata.json +2 -0
- package/dist/doc/VJoyBottomSheet/metadata.json +2 -0
- package/dist/doc/VJoyBottomSheetTrigger/metadata.json +2 -0
- package/dist/doc/VJoyButton/metadata.json +2 -0
- package/dist/doc/VJoyButtonCard/JoyButtonCard.types.ts +15 -0
- package/dist/doc/VJoyButtonCard/metadata.json +78 -0
- package/dist/doc/VJoyCheckbox/JoyCheckbox.types.ts +26 -0
- package/dist/doc/VJoyCheckbox/metadata.json +29 -27
- package/dist/doc/VJoyCheckboxCard/JoyCheckboxCard.types.ts +8 -0
- package/dist/doc/VJoyCheckboxCard/metadata.json +221 -0
- package/dist/doc/VJoyCheckboxGroup/metadata.json +338 -0
- package/dist/doc/VJoyCollapse/metadata.json +2 -0
- package/dist/doc/VJoyCollapseItem/metadata.json +2 -0
- package/dist/doc/VJoyCompanyAvatar/metadata.json +2 -0
- package/dist/doc/VJoyDialog/metadata.json +2 -0
- package/dist/doc/VJoyDialogTrigger/metadata.json +2 -0
- package/dist/doc/VJoyDot/metadata.json +2 -0
- package/dist/doc/VJoyDrawer/metadata.json +2 -0
- package/dist/doc/VJoyDrawerTrigger/metadata.json +2 -0
- package/dist/doc/VJoyDropdown/metadata.json +76 -74
- package/dist/doc/VJoyDropdownList/metadata.json +2 -0
- package/dist/doc/VJoyDropzone/metadata.json +2 -0
- package/dist/doc/VJoyFilterBar/metadata.json +2 -0
- package/dist/doc/VJoyFilterBarButton/metadata.json +2 -0
- package/dist/doc/VJoyFloatingActionsBar/metadata.json +70 -0
- package/dist/doc/VJoyFormError/metadata.json +2 -0
- package/dist/doc/VJoyFormFieldSkeleton/metadata.json +2 -0
- package/dist/doc/VJoyFormGroup/metadata.json +2 -0
- package/dist/doc/VJoyFunnel/metadata.json +2 -0
- package/dist/doc/VJoyFunnelFooter/metadata.json +2 -0
- package/dist/doc/VJoyFunnelHeader/metadata.json +2 -0
- package/dist/doc/VJoyHighlight/metadata.json +2 -0
- package/dist/doc/VJoyIcon/metadata.json +2 -0
- package/dist/doc/VJoyIconButton/JoyIconButton.types.ts +6 -0
- package/dist/doc/VJoyIconButton/metadata.json +116 -0
- package/dist/doc/VJoyIndicator/metadata.json +2 -0
- package/dist/doc/VJoyIndicators/metadata.json +2 -0
- package/dist/doc/VJoyInput/JoyInput.types.ts +1 -1
- package/dist/doc/VJoyInput/metadata.json +18 -14
- package/dist/doc/VJoyInputDigit/metadata.json +2 -0
- package/dist/doc/VJoyInputNumber/metadata.json +286 -0
- package/dist/doc/VJoyInputPassword/metadata.json +36 -32
- package/dist/doc/VJoyLabel/metadata.json +6 -4
- package/dist/doc/VJoyLink/metadata.json +11 -9
- package/dist/doc/VJoyListItem/metadata.json +2 -0
- package/dist/doc/VJoyMenu/metadata.json +2 -0
- package/dist/doc/VJoyMenuItem/metadata.json +3 -1
- package/dist/doc/VJoyMultiCheckbox/metadata.json +193 -12
- package/dist/doc/VJoyPagination/metadata.json +2 -0
- package/dist/doc/VJoyPanel/metadata.json +2 -0
- package/dist/doc/VJoyPanelSection/metadata.json +2 -0
- package/dist/doc/VJoyPasswordRequirement/metadata.json +2 -0
- package/dist/doc/VJoyProductTour/metadata.json +2 -0
- package/dist/doc/VJoyProductTourTrigger/metadata.json +2 -0
- package/dist/doc/VJoyProgressBar/metadata.json +2 -5
- package/dist/doc/VJoyRadio/metadata.json +2 -0
- package/dist/doc/VJoyRadioGroup/metadata.json +4 -2
- package/dist/doc/VJoyRatingStars/metadata.json +2 -0
- package/dist/doc/VJoyScreenLoader/metadata.json +2 -0
- package/dist/doc/VJoySelect/metadata.json +34 -32
- package/dist/doc/VJoySelectableItem/metadata.json +2 -0
- package/dist/doc/VJoySelectableItemGroup/metadata.json +2 -0
- package/dist/doc/VJoySeparator/metadata.json +2 -0
- package/dist/doc/VJoySnackbar/metadata.json +2 -0
- package/dist/doc/VJoySpinner/metadata.json +2 -0
- package/dist/doc/VJoyStep/metadata.json +2 -0
- package/dist/doc/VJoyStepper/metadata.json +2 -0
- package/dist/doc/VJoyTab/metadata.json +2 -0
- package/dist/doc/VJoyTabs/metadata.json +2 -0
- package/dist/doc/VJoyTag/metadata.json +6 -4
- package/dist/doc/VJoyTagsInput/metadata.json +2 -0
- package/dist/doc/VJoyTagsList/metadata.json +19 -17
- package/dist/doc/VJoyTemplate/metadata.json +2 -0
- package/dist/doc/VJoyText/metadata.json +2 -0
- package/dist/doc/VJoyTextarea/metadata.json +25 -23
- package/dist/doc/VJoyTitleBrand/metadata.json +2 -0
- package/dist/doc/VJoyToggle/metadata.json +15 -13
- package/dist/doc/VJoyTooltip/metadata.json +2 -0
- package/dist/doc/VJoyUserCard/metadata.json +2 -0
- package/dist/doc/VJoyWalkthrough/metadata.json +2 -0
- package/dist/doc/VJoyWalkthroughTrigger/metadata.json +2 -0
- package/dist/doc/VJoyWrapper/metadata.json +20 -18
- package/dist/doc/css-classes.json +2 -0
- package/dist/doc/design-tokens.json +30 -30
- package/dist/doc/index.json +223 -17
- package/dist/parser.d.ts +12 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +25 -0
- package/dist/parser.js.map +1 -1
- package/dist/tools/get-component-info.js +1 -1
- package/dist/tools/get-component-info.js.map +1 -1
- package/dist/tools/list-components.d.ts +2 -4
- package/dist/tools/list-components.d.ts.map +1 -1
- package/dist/tools/list-components.js +24 -7
- package/dist/tools/list-components.js.map +1 -1
- package/package.json +3 -2
- package/dist/doc/VJoyTemplateShape/metadata.json +0 -9
package/dist/doc/index.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-
|
|
3
|
-
"version": "0.
|
|
2
|
+
"generated": "2026-04-16T12:48:46.193Z",
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"statistics": {
|
|
5
|
-
"totalComponents":
|
|
6
|
-
"totalProps":
|
|
7
|
-
"totalEvents":
|
|
8
|
-
"totalSlots":
|
|
9
|
-
"componentsWithVModel":
|
|
5
|
+
"totalComponents": 83,
|
|
6
|
+
"totalProps": 484,
|
|
7
|
+
"totalEvents": 67,
|
|
8
|
+
"totalSlots": 148,
|
|
9
|
+
"componentsWithVModel": 23,
|
|
10
10
|
"componentsWithErrors": 0,
|
|
11
11
|
"componentsWithPartialErrors": 1
|
|
12
12
|
},
|
|
13
13
|
"components": [
|
|
14
14
|
{
|
|
15
15
|
"name": "VJoyAdminBanner",
|
|
16
|
+
"description": "The AdminBanner component displays a visual indicator when users are viewing the application in admin mode.\nIt features a distinctive banner with an eye icon and customizable label, typically positioned at the top of the interface to clearly communicate the current viewing context to administrators.",
|
|
17
|
+
"category": "Admin",
|
|
16
18
|
"path": "VJoyAdminBanner/metadata.json",
|
|
17
19
|
"propsCount": 1,
|
|
18
20
|
"eventsCount": 0,
|
|
@@ -21,6 +23,8 @@
|
|
|
21
23
|
},
|
|
22
24
|
{
|
|
23
25
|
"name": "VJoyAvailability",
|
|
26
|
+
"description": "A status indicator component for displaying user availability information.\nFeatures colored dots and optional labels to communicate different availability states such as available, not available, available soon, or partially available.\nCan be displayed as a simple dot indicator or with descriptive text labels that handle long content gracefully.",
|
|
27
|
+
"category": "View",
|
|
24
28
|
"path": "VJoyAvailability/metadata.json",
|
|
25
29
|
"propsCount": 3,
|
|
26
30
|
"eventsCount": 0,
|
|
@@ -29,6 +33,8 @@
|
|
|
29
33
|
},
|
|
30
34
|
{
|
|
31
35
|
"name": "VJoyAvatar",
|
|
36
|
+
"description": "A versatile avatar component for displaying user profile pictures, initials, or placeholders depending on given properties.\nSupports multiple sizes, fallback to initials when no photo is provided, anonymous states with icons, numeric indicators for \"more users\" displays, and special variants like strategy profiles and company avatars.\nCan be styled as clickable links and includes empty states for various use cases.",
|
|
37
|
+
"category": "View",
|
|
32
38
|
"path": "VJoyAvatar/metadata.json",
|
|
33
39
|
"propsCount": 10,
|
|
34
40
|
"eventsCount": 1,
|
|
@@ -37,6 +43,8 @@
|
|
|
37
43
|
},
|
|
38
44
|
{
|
|
39
45
|
"name": "VJoyAvatarsList",
|
|
46
|
+
"description": "A container component for displaying multiple avatars in a styled group layout.\nProvides consistent spacing and alignment for avatar collections, with an optional compressed mode for more compact displays.\nDesigned to work seamlessly with VJoyAvatar components.",
|
|
47
|
+
"category": "View",
|
|
40
48
|
"path": "VJoyAvatarsList/metadata.json",
|
|
41
49
|
"propsCount": 1,
|
|
42
50
|
"eventsCount": 0,
|
|
@@ -45,6 +53,8 @@
|
|
|
45
53
|
},
|
|
46
54
|
{
|
|
47
55
|
"name": "VJoyBadge",
|
|
56
|
+
"description": "A versatile badge component for labeling, categorizing, and highlighting content with colored indicators.\nSupports various color variants for different semantic meanings, optional bulletpoint dots for visual emphasis,\nand can display either text labels or numeric values. Perfect for status indicators, tags, and notification counters.",
|
|
57
|
+
"category": "View",
|
|
48
58
|
"path": "VJoyBadge/metadata.json",
|
|
49
59
|
"propsCount": 3,
|
|
50
60
|
"eventsCount": 0,
|
|
@@ -53,6 +63,8 @@
|
|
|
53
63
|
},
|
|
54
64
|
{
|
|
55
65
|
"name": "VJoyBadgeLevel",
|
|
66
|
+
"description": "A specialized badge component for displaying user achievement levels and status indicators.\nFeatures custom SVG icons for different categories including SuperMalter levels (with crown icons),\nHigh Potential badges (with diamond icons), verified status, and special designations like Malt Linker.\nCan display icons only or with accompanying text labels for different user recognition levels.",
|
|
67
|
+
"category": "View",
|
|
56
68
|
"path": "VJoyBadgeLevel/metadata.json",
|
|
57
69
|
"propsCount": 3,
|
|
58
70
|
"eventsCount": 0,
|
|
@@ -61,6 +73,8 @@
|
|
|
61
73
|
},
|
|
62
74
|
{
|
|
63
75
|
"name": "VJoyBlockSkeleton",
|
|
76
|
+
"description": "A highly configurable skeleton loading component for creating placeholder blocks during content loading.\nFeatures customizable dimensions, circle variant for avatars, and smooth shimmer animations to improve perceived performance.\nMore flexible than VJoyFormFieldSkeleton and integrates seamlessly with VJoyWrapper for responsive layouts.",
|
|
77
|
+
"category": "Skeletons",
|
|
64
78
|
"path": "VJoyBlockSkeleton/metadata.json",
|
|
65
79
|
"propsCount": 3,
|
|
66
80
|
"eventsCount": 0,
|
|
@@ -69,6 +83,8 @@
|
|
|
69
83
|
},
|
|
70
84
|
{
|
|
71
85
|
"name": "VJoyBottomSheet",
|
|
86
|
+
"description": "A mobile-optimized bottom sheet component that slides up from the bottom of the screen.\nFeatures drag-to-dismiss functionality, customizable content slots, and teleportation support.\n\n**IMPORTANT** : for documentation purpose, you can't hide the bottom sheets here.\n\nBy default, the component is teleported to the body root. You can override this by passing a teleport value.\n\nHow to use:\n\n```html\n<template>\n <VJoyBottomSheet ref=\"bottomSheet\">\n <template #bottom-sheet-content>\n The content\n </template>\n </VJoyBottomSheet>\n</template>\n\n<script lang=\"ts\" setup>\nimport {ref} from 'vue';\nimport {VJoyBottomSheet} from '@maltjoy/core-vue';\n\n// declare the VJoyBottomSheet ref using the component type definition\nconst bottomSheet = ref<InstanceType<typeof VJoyBottomSheet> | null>(null);\n\n// use this function when you need to (onMounted, when clicking on any trigger...)\nfunction openBottomSheet() {\n bottomSheet.value?.show();\n}\n\n</script>\n```\n\n> You can use the `VJoyBottomSheetTrigger` subcomponent if it's easier for you.",
|
|
87
|
+
"category": "Overlays",
|
|
72
88
|
"path": "VJoyBottomSheet/metadata.json",
|
|
73
89
|
"propsCount": 5,
|
|
74
90
|
"eventsCount": 1,
|
|
@@ -77,6 +93,8 @@
|
|
|
77
93
|
},
|
|
78
94
|
{
|
|
79
95
|
"name": "VJoyBottomSheetTrigger",
|
|
96
|
+
"description": "",
|
|
97
|
+
"category": "Overlays",
|
|
80
98
|
"path": "VJoyBottomSheetTrigger/metadata.json",
|
|
81
99
|
"propsCount": 1,
|
|
82
100
|
"eventsCount": 1,
|
|
@@ -85,22 +103,58 @@
|
|
|
85
103
|
},
|
|
86
104
|
{
|
|
87
105
|
"name": "VJoyButton",
|
|
106
|
+
"description": "A button component supporting multiple variants, sizes, and states.\nFeatures icon support, loading states and can function as either a button or link element.\nIncludes ripple effects and comprehensive styling options for different use cases from primary actions to subtle ghost buttons.\n\n**Tips:** set a \"href\" attribute to make the button a link.",
|
|
107
|
+
"category": "Buttons",
|
|
88
108
|
"path": "VJoyButton/metadata.json",
|
|
89
109
|
"propsCount": 9,
|
|
90
110
|
"eventsCount": 0,
|
|
91
111
|
"slotsCount": 1,
|
|
92
112
|
"hasError": false
|
|
93
113
|
},
|
|
114
|
+
{
|
|
115
|
+
"name": "VJoyButtonCard",
|
|
116
|
+
"description": "This component is a CTA or a link used to render complex interactive buttons.\n\nIf your goal is to only use a short string, use `VJoyButton` instead.\n\nPlease note that you have to deal with the content and its style by yourself.",
|
|
117
|
+
"category": "Buttons",
|
|
118
|
+
"path": "VJoyButtonCard/metadata.json",
|
|
119
|
+
"propsCount": 4,
|
|
120
|
+
"eventsCount": 0,
|
|
121
|
+
"slotsCount": 1,
|
|
122
|
+
"hasError": false
|
|
123
|
+
},
|
|
94
124
|
{
|
|
95
125
|
"name": "VJoyCheckbox",
|
|
126
|
+
"description": "A form checkbox component with support for standard, indeterminate, and disabled states.\nFeatures accessible labeling, focus indicators, form integration with validation feedback, and additional content slots.\nSupports both single selections scenarios with proper event handling and state management.",
|
|
127
|
+
"category": "Forms",
|
|
96
128
|
"path": "VJoyCheckbox/metadata.json",
|
|
97
129
|
"propsCount": 10,
|
|
98
130
|
"eventsCount": 3,
|
|
99
131
|
"slotsCount": 2,
|
|
100
132
|
"hasError": false
|
|
101
133
|
},
|
|
134
|
+
{
|
|
135
|
+
"name": "VJoyCheckboxCard",
|
|
136
|
+
"description": "",
|
|
137
|
+
"category": "Forms",
|
|
138
|
+
"path": "VJoyCheckboxCard/metadata.json",
|
|
139
|
+
"propsCount": 11,
|
|
140
|
+
"eventsCount": 3,
|
|
141
|
+
"slotsCount": 2,
|
|
142
|
+
"hasError": false
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "VJoyCheckboxGroup",
|
|
146
|
+
"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.",
|
|
147
|
+
"category": "Forms",
|
|
148
|
+
"path": "VJoyCheckboxGroup/metadata.json",
|
|
149
|
+
"propsCount": 9,
|
|
150
|
+
"eventsCount": 1,
|
|
151
|
+
"slotsCount": 2,
|
|
152
|
+
"hasError": false
|
|
153
|
+
},
|
|
102
154
|
{
|
|
103
155
|
"name": "VJoyCollapse",
|
|
156
|
+
"description": "A container component for creating accordion and collapsible content sections.\nManages multiple VJoyCollapseItem components with support for accordion mode (single open item)\nor standard collapse behavior (multiple open items). Features v-model integration for\nprogrammatic control and various visual modes for different design requirements.",
|
|
157
|
+
"category": "Buttons",
|
|
104
158
|
"path": "VJoyCollapse/metadata.json",
|
|
105
159
|
"propsCount": 3,
|
|
106
160
|
"eventsCount": 1,
|
|
@@ -109,6 +163,8 @@
|
|
|
109
163
|
},
|
|
110
164
|
{
|
|
111
165
|
"name": "VJoyCollapseItem",
|
|
166
|
+
"description": "An individual collapsible content item that can expand and collapse to show/hide content.\nFeatures header and subheader support, optional summary icons, preview content when collapsed, and custom header actions.\nCan be used within VJoyCollapse for grouped accordion behavior.",
|
|
167
|
+
"category": "Buttons",
|
|
112
168
|
"path": "VJoyCollapseItem/metadata.json",
|
|
113
169
|
"propsCount": 6,
|
|
114
170
|
"eventsCount": 2,
|
|
@@ -117,6 +173,8 @@
|
|
|
117
173
|
},
|
|
118
174
|
{
|
|
119
175
|
"name": "VJoyCompanyAvatar",
|
|
176
|
+
"description": "DEPRECATED. Use VJoyAvatar component instead.",
|
|
177
|
+
"category": "View",
|
|
120
178
|
"path": "VJoyCompanyAvatar/metadata.json",
|
|
121
179
|
"propsCount": 5,
|
|
122
180
|
"eventsCount": 0,
|
|
@@ -125,6 +183,8 @@
|
|
|
125
183
|
},
|
|
126
184
|
{
|
|
127
185
|
"name": "VJoyDialog",
|
|
186
|
+
"description": "VJoyDialog component exposes two methods: `show` and `hide`. **Both are asynchronous**.\n\nYou can use the `VJoyDialogTrigger` component as well if it's easier.\n\n\n```html\n<template>\n <VJoyDialog ref=\"dialog\">...</VJoyDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport {ref} from 'vue';\nimport {VJoyDialog} from '@maltjoy/core-vue';\n\nconst dialog = ref<InstanceType<typeof VJoyDialog>>();\n\nasync function showDialog() {\n await dialog.value?.show();\n}\n\n// execute the publicly exposed hide function.\nasync function hideDialog() {\n // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit dialog:hide event.\n await dialog.value?.hide();\n}\n</script>\n```\n\n\n> FYI, the \"teleport\" property is applied on these docs only for preview quality purpose.\n> By default, dialogs are rendered at the end of body tag.",
|
|
187
|
+
"category": "Overlays",
|
|
128
188
|
"path": "VJoyDialog/metadata.json",
|
|
129
189
|
"propsCount": 16,
|
|
130
190
|
"eventsCount": 6,
|
|
@@ -133,6 +193,8 @@
|
|
|
133
193
|
},
|
|
134
194
|
{
|
|
135
195
|
"name": "VJoyDialogTrigger",
|
|
196
|
+
"description": "",
|
|
197
|
+
"category": "Overlays",
|
|
136
198
|
"path": "VJoyDialogTrigger/metadata.json",
|
|
137
199
|
"propsCount": 1,
|
|
138
200
|
"eventsCount": 1,
|
|
@@ -141,6 +203,8 @@
|
|
|
141
203
|
},
|
|
142
204
|
{
|
|
143
205
|
"name": "VJoyDot",
|
|
206
|
+
"description": "A simple colored dot indicator component for status display and notifications.\nCan display as a plain colored dot or include numeric values for notification counters.\nFeatures automatic formatting for large numbers (99+) and supports multiple color variants\nfor different semantic meanings and visual emphasis.",
|
|
207
|
+
"category": "View",
|
|
144
208
|
"path": "VJoyDot/metadata.json",
|
|
145
209
|
"propsCount": 2,
|
|
146
210
|
"eventsCount": 0,
|
|
@@ -149,6 +213,8 @@
|
|
|
149
213
|
},
|
|
150
214
|
{
|
|
151
215
|
"name": "VJoyDrawer",
|
|
216
|
+
"description": "VJoyDrawer component exposes two methods: `show` and `hide`. **Both are asynchronous**.\n\nYou can use the `VJoyDrawerTrigger` component as well if it's easier.\n\n\n```html\n<template>\n <VJoyDrawer ref=\"dialog\">...</VJoyDrawer>\n</template>\n\n<script lang=\"ts\" setup>\nimport {ref} from 'vue';\nimport {VJoyDrawer} from '@maltjoy/core-vue';\n\nconst drawer = ref<InstanceType<typeof VJoyDrawer> | null>(null);\n\nasync function showDrawer() {\n await drawer.value?.show();\n}\n\n// execute the publicly exposed hide function.\nasync function hideDrawer() {\n // you can pass an object as parameter: {fireHideEvent: false} if you don't want to emit drawer:hide event.\n await drawer.value?.hide();\n}\n</script>\n```\n\nIf you need confirmation from the user or wait for an API call to close the drawer you can use the `on-before-hide` function property.\nThis function can be either synchronous or asynchronous and should return a boolean.\nReturning `true` closes the drawer and returning `false` cancels the closing.",
|
|
217
|
+
"category": "Overlays",
|
|
152
218
|
"path": "VJoyDrawer/metadata.json",
|
|
153
219
|
"propsCount": 12,
|
|
154
220
|
"eventsCount": 6,
|
|
@@ -157,6 +223,8 @@
|
|
|
157
223
|
},
|
|
158
224
|
{
|
|
159
225
|
"name": "VJoyDrawerTrigger",
|
|
226
|
+
"description": "",
|
|
227
|
+
"category": "Overlays",
|
|
160
228
|
"path": "VJoyDrawerTrigger/metadata.json",
|
|
161
229
|
"propsCount": 1,
|
|
162
230
|
"eventsCount": 1,
|
|
@@ -165,6 +233,8 @@
|
|
|
165
233
|
},
|
|
166
234
|
{
|
|
167
235
|
"name": "VJoyDropdown",
|
|
236
|
+
"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.",
|
|
237
|
+
"category": "Forms",
|
|
168
238
|
"path": "VJoyDropdown/metadata.json",
|
|
169
239
|
"propsCount": 13,
|
|
170
240
|
"eventsCount": 4,
|
|
@@ -173,6 +243,8 @@
|
|
|
173
243
|
},
|
|
174
244
|
{
|
|
175
245
|
"name": "VJoyDropdownList",
|
|
246
|
+
"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.",
|
|
247
|
+
"category": "Forms",
|
|
176
248
|
"path": "VJoyDropdownList/metadata.json",
|
|
177
249
|
"propsCount": 9,
|
|
178
250
|
"eventsCount": 3,
|
|
@@ -181,6 +253,8 @@
|
|
|
181
253
|
},
|
|
182
254
|
{
|
|
183
255
|
"name": "VJoyDropzone",
|
|
256
|
+
"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.",
|
|
257
|
+
"category": "Forms",
|
|
184
258
|
"path": "VJoyDropzone/metadata.json",
|
|
185
259
|
"propsCount": 11,
|
|
186
260
|
"eventsCount": 0,
|
|
@@ -189,6 +263,8 @@
|
|
|
189
263
|
},
|
|
190
264
|
{
|
|
191
265
|
"name": "VJoyFilterBar",
|
|
266
|
+
"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.",
|
|
267
|
+
"category": "Forms",
|
|
192
268
|
"path": "VJoyFilterBar/metadata.json",
|
|
193
269
|
"propsCount": 1,
|
|
194
270
|
"eventsCount": 0,
|
|
@@ -197,14 +273,28 @@
|
|
|
197
273
|
},
|
|
198
274
|
{
|
|
199
275
|
"name": "VJoyFilterBarButton",
|
|
276
|
+
"description": "",
|
|
277
|
+
"category": "Forms",
|
|
200
278
|
"path": "VJoyFilterBarButton/metadata.json",
|
|
201
279
|
"propsCount": 3,
|
|
202
280
|
"eventsCount": 1,
|
|
203
281
|
"slotsCount": 1,
|
|
204
282
|
"hasError": false
|
|
205
283
|
},
|
|
284
|
+
{
|
|
285
|
+
"name": "VJoyFloatingActionsBar",
|
|
286
|
+
"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.",
|
|
287
|
+
"category": "Overlays",
|
|
288
|
+
"path": "VJoyFloatingActionsBar/metadata.json",
|
|
289
|
+
"propsCount": 3,
|
|
290
|
+
"eventsCount": 0,
|
|
291
|
+
"slotsCount": 2,
|
|
292
|
+
"hasError": false
|
|
293
|
+
},
|
|
206
294
|
{
|
|
207
295
|
"name": "VJoyFormError",
|
|
296
|
+
"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.",
|
|
297
|
+
"category": "Forms",
|
|
208
298
|
"path": "VJoyFormError/metadata.json",
|
|
209
299
|
"propsCount": 4,
|
|
210
300
|
"eventsCount": 0,
|
|
@@ -213,6 +303,8 @@
|
|
|
213
303
|
},
|
|
214
304
|
{
|
|
215
305
|
"name": "VJoyFormFieldSkeleton",
|
|
306
|
+
"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.",
|
|
307
|
+
"category": "Skeletons",
|
|
216
308
|
"path": "VJoyFormFieldSkeleton/metadata.json",
|
|
217
309
|
"propsCount": 3,
|
|
218
310
|
"eventsCount": 0,
|
|
@@ -221,6 +313,8 @@
|
|
|
221
313
|
},
|
|
222
314
|
{
|
|
223
315
|
"name": "VJoyFormGroup",
|
|
316
|
+
"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!",
|
|
317
|
+
"category": "Functional",
|
|
224
318
|
"path": "VJoyFormGroup/metadata.json",
|
|
225
319
|
"propsCount": 0,
|
|
226
320
|
"eventsCount": 0,
|
|
@@ -229,6 +323,8 @@
|
|
|
229
323
|
},
|
|
230
324
|
{
|
|
231
325
|
"name": "VJoyFunnel",
|
|
326
|
+
"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.",
|
|
327
|
+
"category": "Layout",
|
|
232
328
|
"path": "VJoyFunnel/metadata.json",
|
|
233
329
|
"propsCount": 3,
|
|
234
330
|
"eventsCount": 0,
|
|
@@ -237,6 +333,8 @@
|
|
|
237
333
|
},
|
|
238
334
|
{
|
|
239
335
|
"name": "VJoyFunnelFooter",
|
|
336
|
+
"description": "",
|
|
337
|
+
"category": "Layout",
|
|
240
338
|
"path": "VJoyFunnelFooter/metadata.json",
|
|
241
339
|
"propsCount": 0,
|
|
242
340
|
"eventsCount": 0,
|
|
@@ -245,6 +343,8 @@
|
|
|
245
343
|
},
|
|
246
344
|
{
|
|
247
345
|
"name": "VJoyFunnelHeader",
|
|
346
|
+
"description": "",
|
|
347
|
+
"category": "Layout",
|
|
248
348
|
"path": "VJoyFunnelHeader/metadata.json",
|
|
249
349
|
"propsCount": 0,
|
|
250
350
|
"eventsCount": 0,
|
|
@@ -253,6 +353,8 @@
|
|
|
253
353
|
},
|
|
254
354
|
{
|
|
255
355
|
"name": "VJoyHighlight",
|
|
356
|
+
"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.",
|
|
357
|
+
"category": "View",
|
|
256
358
|
"path": "VJoyHighlight/metadata.json",
|
|
257
359
|
"propsCount": 5,
|
|
258
360
|
"eventsCount": 0,
|
|
@@ -261,14 +363,28 @@
|
|
|
261
363
|
},
|
|
262
364
|
{
|
|
263
365
|
"name": "VJoyIcon",
|
|
366
|
+
"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.",
|
|
367
|
+
"category": "Icons",
|
|
264
368
|
"path": "VJoyIcon/metadata.json",
|
|
265
369
|
"propsCount": 7,
|
|
266
370
|
"eventsCount": 0,
|
|
267
371
|
"slotsCount": 0,
|
|
268
372
|
"hasError": false
|
|
269
373
|
},
|
|
374
|
+
{
|
|
375
|
+
"name": "VJoyIconButton",
|
|
376
|
+
"description": "A dedicated icon-button component built on top of `VJoyButton`.\nUse this component instead of the deprecated `circle` prop from `VJoyButton`.",
|
|
377
|
+
"category": "Buttons",
|
|
378
|
+
"path": "VJoyIconButton/metadata.json",
|
|
379
|
+
"propsCount": 6,
|
|
380
|
+
"eventsCount": 0,
|
|
381
|
+
"slotsCount": 1,
|
|
382
|
+
"hasError": false
|
|
383
|
+
},
|
|
270
384
|
{
|
|
271
385
|
"name": "VJoyIndicator",
|
|
386
|
+
"description": "",
|
|
387
|
+
"category": "Buttons",
|
|
272
388
|
"path": "VJoyIndicator/metadata.json",
|
|
273
389
|
"propsCount": 4,
|
|
274
390
|
"eventsCount": 0,
|
|
@@ -277,6 +393,8 @@
|
|
|
277
393
|
},
|
|
278
394
|
{
|
|
279
395
|
"name": "VJoyIndicators",
|
|
396
|
+
"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.",
|
|
397
|
+
"category": "Buttons",
|
|
280
398
|
"path": "VJoyIndicators/metadata.json",
|
|
281
399
|
"propsCount": 2,
|
|
282
400
|
"eventsCount": 1,
|
|
@@ -285,6 +403,8 @@
|
|
|
285
403
|
},
|
|
286
404
|
{
|
|
287
405
|
"name": "VJoyInput",
|
|
406
|
+
"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.",
|
|
407
|
+
"category": "Forms",
|
|
288
408
|
"path": "VJoyInput/metadata.json",
|
|
289
409
|
"propsCount": 19,
|
|
290
410
|
"eventsCount": 1,
|
|
@@ -293,14 +413,28 @@
|
|
|
293
413
|
},
|
|
294
414
|
{
|
|
295
415
|
"name": "VJoyInputDigit",
|
|
416
|
+
"description": "One-time code input with auto-navigation between slots.\nSupports numeric filtering with disabled/invalid states.",
|
|
417
|
+
"category": "Forms",
|
|
296
418
|
"path": "VJoyInputDigit/metadata.json",
|
|
297
419
|
"propsCount": 6,
|
|
298
420
|
"eventsCount": 4,
|
|
299
421
|
"slotsCount": 0,
|
|
300
422
|
"hasError": false
|
|
301
423
|
},
|
|
424
|
+
{
|
|
425
|
+
"name": "VJoyInputNumber",
|
|
426
|
+
"description": "Number input built on top of VJoyInput. Displays the unit label on the right of the input.",
|
|
427
|
+
"category": "Forms",
|
|
428
|
+
"path": "VJoyInputNumber/metadata.json",
|
|
429
|
+
"propsCount": 17,
|
|
430
|
+
"eventsCount": 1,
|
|
431
|
+
"slotsCount": 0,
|
|
432
|
+
"hasError": false
|
|
433
|
+
},
|
|
302
434
|
{
|
|
303
435
|
"name": "VJoyInputPassword",
|
|
436
|
+
"description": "Password input built on top of VJoyInput with built-in visibility toggle.",
|
|
437
|
+
"category": "Forms",
|
|
304
438
|
"path": "VJoyInputPassword/metadata.json",
|
|
305
439
|
"propsCount": 15,
|
|
306
440
|
"eventsCount": 1,
|
|
@@ -309,6 +443,8 @@
|
|
|
309
443
|
},
|
|
310
444
|
{
|
|
311
445
|
"name": "VJoyLabel",
|
|
446
|
+
"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.",
|
|
447
|
+
"category": "Forms",
|
|
312
448
|
"path": "VJoyLabel/metadata.json",
|
|
313
449
|
"propsCount": 5,
|
|
314
450
|
"eventsCount": 0,
|
|
@@ -317,6 +453,8 @@
|
|
|
317
453
|
},
|
|
318
454
|
{
|
|
319
455
|
"name": "VJoyLink",
|
|
456
|
+
"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).",
|
|
457
|
+
"category": "Buttons",
|
|
320
458
|
"path": "VJoyLink/metadata.json",
|
|
321
459
|
"propsCount": 5,
|
|
322
460
|
"eventsCount": 0,
|
|
@@ -325,6 +463,8 @@
|
|
|
325
463
|
},
|
|
326
464
|
{
|
|
327
465
|
"name": "VJoyListItem",
|
|
466
|
+
"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.",
|
|
467
|
+
"category": "View",
|
|
328
468
|
"path": "VJoyListItem/metadata.json",
|
|
329
469
|
"propsCount": 1,
|
|
330
470
|
"eventsCount": 1,
|
|
@@ -333,6 +473,8 @@
|
|
|
333
473
|
},
|
|
334
474
|
{
|
|
335
475
|
"name": "VJoyMenu",
|
|
476
|
+
"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```",
|
|
477
|
+
"category": "Navigation",
|
|
336
478
|
"path": "VJoyMenu/metadata.json",
|
|
337
479
|
"propsCount": 3,
|
|
338
480
|
"eventsCount": 1,
|
|
@@ -341,6 +483,8 @@
|
|
|
341
483
|
},
|
|
342
484
|
{
|
|
343
485
|
"name": "VJoyMenuItem",
|
|
486
|
+
"description": "",
|
|
487
|
+
"category": "Navigation",
|
|
344
488
|
"path": "VJoyMenuItem/metadata.json",
|
|
345
489
|
"propsCount": 9,
|
|
346
490
|
"eventsCount": 0,
|
|
@@ -349,14 +493,18 @@
|
|
|
349
493
|
},
|
|
350
494
|
{
|
|
351
495
|
"name": "VJoyMultiCheckbox",
|
|
496
|
+
"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.",
|
|
497
|
+
"category": "Forms",
|
|
352
498
|
"path": "VJoyMultiCheckbox/metadata.json",
|
|
353
|
-
"propsCount":
|
|
499
|
+
"propsCount": 9,
|
|
354
500
|
"eventsCount": 1,
|
|
355
|
-
"slotsCount":
|
|
501
|
+
"slotsCount": 2,
|
|
356
502
|
"hasError": false
|
|
357
503
|
},
|
|
358
504
|
{
|
|
359
505
|
"name": "VJoyPagination",
|
|
506
|
+
"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.",
|
|
507
|
+
"category": "Navigation",
|
|
360
508
|
"path": "VJoyPagination/metadata.json",
|
|
361
509
|
"propsCount": 5,
|
|
362
510
|
"eventsCount": 1,
|
|
@@ -365,6 +513,8 @@
|
|
|
365
513
|
},
|
|
366
514
|
{
|
|
367
515
|
"name": "VJoyPanel",
|
|
516
|
+
"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.",
|
|
517
|
+
"category": "Layout",
|
|
368
518
|
"path": "VJoyPanel/metadata.json",
|
|
369
519
|
"propsCount": 7,
|
|
370
520
|
"eventsCount": 0,
|
|
@@ -373,6 +523,8 @@
|
|
|
373
523
|
},
|
|
374
524
|
{
|
|
375
525
|
"name": "VJoyPanelSection",
|
|
526
|
+
"description": "",
|
|
527
|
+
"category": "Layout",
|
|
376
528
|
"path": "VJoyPanelSection/metadata.json",
|
|
377
529
|
"propsCount": 0,
|
|
378
530
|
"eventsCount": 0,
|
|
@@ -381,6 +533,8 @@
|
|
|
381
533
|
},
|
|
382
534
|
{
|
|
383
535
|
"name": "VJoyPasswordRequirement",
|
|
536
|
+
"description": "A component to display a password requirement status.\nThis is meant to be displayed under a VJoyInput of type password.",
|
|
537
|
+
"category": "Forms",
|
|
384
538
|
"path": "VJoyPasswordRequirement/metadata.json",
|
|
385
539
|
"propsCount": 2,
|
|
386
540
|
"eventsCount": 0,
|
|
@@ -389,6 +543,8 @@
|
|
|
389
543
|
},
|
|
390
544
|
{
|
|
391
545
|
"name": "VJoyProductTour",
|
|
546
|
+
"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.",
|
|
547
|
+
"category": "Overlays",
|
|
392
548
|
"path": "VJoyProductTour/metadata.json",
|
|
393
549
|
"propsCount": 10,
|
|
394
550
|
"eventsCount": 1,
|
|
@@ -397,6 +553,8 @@
|
|
|
397
553
|
},
|
|
398
554
|
{
|
|
399
555
|
"name": "VJoyProductTourTrigger",
|
|
556
|
+
"description": "",
|
|
557
|
+
"category": "Overlays",
|
|
400
558
|
"path": "VJoyProductTourTrigger/metadata.json",
|
|
401
559
|
"propsCount": 1,
|
|
402
560
|
"eventsCount": 1,
|
|
@@ -405,6 +563,8 @@
|
|
|
405
563
|
},
|
|
406
564
|
{
|
|
407
565
|
"name": "VJoyProgressBar",
|
|
566
|
+
"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.",
|
|
567
|
+
"category": "View",
|
|
408
568
|
"path": "VJoyProgressBar/metadata.json",
|
|
409
569
|
"propsCount": 5,
|
|
410
570
|
"eventsCount": 0,
|
|
@@ -413,6 +573,8 @@
|
|
|
413
573
|
},
|
|
414
574
|
{
|
|
415
575
|
"name": "VJoyRadio",
|
|
576
|
+
"description": "",
|
|
577
|
+
"category": "Forms",
|
|
416
578
|
"path": "VJoyRadio/metadata.json",
|
|
417
579
|
"propsCount": 8,
|
|
418
580
|
"eventsCount": 1,
|
|
@@ -421,6 +583,8 @@
|
|
|
421
583
|
},
|
|
422
584
|
{
|
|
423
585
|
"name": "VJoyRadioGroup",
|
|
586
|
+
"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.",
|
|
587
|
+
"category": "Forms",
|
|
424
588
|
"path": "VJoyRadioGroup/metadata.json",
|
|
425
589
|
"propsCount": 4,
|
|
426
590
|
"eventsCount": 0,
|
|
@@ -429,6 +593,8 @@
|
|
|
429
593
|
},
|
|
430
594
|
{
|
|
431
595
|
"name": "VJoyRatingStars",
|
|
596
|
+
"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.",
|
|
597
|
+
"category": "View",
|
|
432
598
|
"path": "VJoyRatingStars/metadata.json",
|
|
433
599
|
"propsCount": 3,
|
|
434
600
|
"eventsCount": 0,
|
|
@@ -437,6 +603,8 @@
|
|
|
437
603
|
},
|
|
438
604
|
{
|
|
439
605
|
"name": "VJoyScreenLoader",
|
|
606
|
+
"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.",
|
|
607
|
+
"category": "Loader",
|
|
440
608
|
"path": "VJoyScreenLoader/metadata.json",
|
|
441
609
|
"propsCount": 2,
|
|
442
610
|
"eventsCount": 0,
|
|
@@ -445,6 +613,8 @@
|
|
|
445
613
|
},
|
|
446
614
|
{
|
|
447
615
|
"name": "VJoySelect",
|
|
616
|
+
"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.",
|
|
617
|
+
"category": "Forms",
|
|
448
618
|
"path": "VJoySelect/metadata.json",
|
|
449
619
|
"propsCount": 12,
|
|
450
620
|
"eventsCount": 1,
|
|
@@ -453,6 +623,8 @@
|
|
|
453
623
|
},
|
|
454
624
|
{
|
|
455
625
|
"name": "VJoySelectableItem",
|
|
626
|
+
"description": "",
|
|
627
|
+
"category": "Forms",
|
|
456
628
|
"path": "VJoySelectableItem/metadata.json",
|
|
457
629
|
"propsCount": 11,
|
|
458
630
|
"eventsCount": 1,
|
|
@@ -461,6 +633,8 @@
|
|
|
461
633
|
},
|
|
462
634
|
{
|
|
463
635
|
"name": "VJoySelectableItemGroup",
|
|
636
|
+
"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>)[]`",
|
|
637
|
+
"category": "Forms",
|
|
464
638
|
"path": "VJoySelectableItemGroup/metadata.json",
|
|
465
639
|
"propsCount": 14,
|
|
466
640
|
"eventsCount": 1,
|
|
@@ -469,6 +643,8 @@
|
|
|
469
643
|
},
|
|
470
644
|
{
|
|
471
645
|
"name": "VJoySeparator",
|
|
646
|
+
"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.",
|
|
647
|
+
"category": "View",
|
|
472
648
|
"path": "VJoySeparator/metadata.json",
|
|
473
649
|
"propsCount": 2,
|
|
474
650
|
"eventsCount": 0,
|
|
@@ -477,6 +653,8 @@
|
|
|
477
653
|
},
|
|
478
654
|
{
|
|
479
655
|
"name": "VJoySnackbar",
|
|
656
|
+
"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```",
|
|
657
|
+
"category": "Overlays",
|
|
480
658
|
"path": "VJoySnackbar/metadata.json",
|
|
481
659
|
"propsCount": 9,
|
|
482
660
|
"eventsCount": 0,
|
|
@@ -485,6 +663,8 @@
|
|
|
485
663
|
},
|
|
486
664
|
{
|
|
487
665
|
"name": "VJoySpinner",
|
|
666
|
+
"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.",
|
|
667
|
+
"category": "Loader",
|
|
488
668
|
"path": "VJoySpinner/metadata.json",
|
|
489
669
|
"propsCount": 1,
|
|
490
670
|
"eventsCount": 0,
|
|
@@ -493,6 +673,8 @@
|
|
|
493
673
|
},
|
|
494
674
|
{
|
|
495
675
|
"name": "VJoyStep",
|
|
676
|
+
"description": "",
|
|
677
|
+
"category": "View",
|
|
496
678
|
"path": "VJoyStep/metadata.json",
|
|
497
679
|
"propsCount": 6,
|
|
498
680
|
"eventsCount": 1,
|
|
@@ -501,6 +683,8 @@
|
|
|
501
683
|
},
|
|
502
684
|
{
|
|
503
685
|
"name": "VJoyStepper",
|
|
686
|
+
"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",
|
|
687
|
+
"category": "View",
|
|
504
688
|
"path": "VJoyStepper/metadata.json",
|
|
505
689
|
"propsCount": 2,
|
|
506
690
|
"eventsCount": 0,
|
|
@@ -509,6 +693,8 @@
|
|
|
509
693
|
},
|
|
510
694
|
{
|
|
511
695
|
"name": "VJoyTab",
|
|
696
|
+
"description": "",
|
|
697
|
+
"category": "Navigation",
|
|
512
698
|
"path": "VJoyTab/metadata.json",
|
|
513
699
|
"propsCount": 4,
|
|
514
700
|
"eventsCount": 0,
|
|
@@ -517,6 +703,8 @@
|
|
|
517
703
|
},
|
|
518
704
|
{
|
|
519
705
|
"name": "VJoyTabs",
|
|
706
|
+
"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.",
|
|
707
|
+
"category": "Navigation",
|
|
520
708
|
"path": "VJoyTabs/metadata.json",
|
|
521
709
|
"propsCount": 1,
|
|
522
710
|
"eventsCount": 1,
|
|
@@ -525,6 +713,8 @@
|
|
|
525
713
|
},
|
|
526
714
|
{
|
|
527
715
|
"name": "VJoyTag",
|
|
716
|
+
"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.",
|
|
717
|
+
"category": "View",
|
|
528
718
|
"path": "VJoyTag/metadata.json",
|
|
529
719
|
"propsCount": 12,
|
|
530
720
|
"eventsCount": 3,
|
|
@@ -533,6 +723,8 @@
|
|
|
533
723
|
},
|
|
534
724
|
{
|
|
535
725
|
"name": "VJoyTagsInput",
|
|
726
|
+
"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.**",
|
|
727
|
+
"category": "Forms",
|
|
536
728
|
"path": "VJoyTagsInput/metadata.json",
|
|
537
729
|
"propsCount": 9,
|
|
538
730
|
"eventsCount": 2,
|
|
@@ -541,6 +733,8 @@
|
|
|
541
733
|
},
|
|
542
734
|
{
|
|
543
735
|
"name": "VJoyTagsList",
|
|
736
|
+
"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",
|
|
737
|
+
"category": "View",
|
|
544
738
|
"path": "VJoyTagsList/metadata.json",
|
|
545
739
|
"propsCount": 6,
|
|
546
740
|
"eventsCount": 2,
|
|
@@ -549,22 +743,18 @@
|
|
|
549
743
|
},
|
|
550
744
|
{
|
|
551
745
|
"name": "VJoyTemplate",
|
|
746
|
+
"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.",
|
|
747
|
+
"category": "Layout",
|
|
552
748
|
"path": "VJoyTemplate/metadata.json",
|
|
553
749
|
"propsCount": 5,
|
|
554
750
|
"eventsCount": 0,
|
|
555
751
|
"slotsCount": 7,
|
|
556
752
|
"hasError": false
|
|
557
753
|
},
|
|
558
|
-
{
|
|
559
|
-
"name": "VJoyTemplateShape",
|
|
560
|
-
"path": "VJoyTemplateShape/metadata.json",
|
|
561
|
-
"propsCount": 0,
|
|
562
|
-
"eventsCount": 0,
|
|
563
|
-
"slotsCount": 0,
|
|
564
|
-
"hasError": false
|
|
565
|
-
},
|
|
566
754
|
{
|
|
567
755
|
"name": "VJoyText",
|
|
756
|
+
"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.",
|
|
757
|
+
"category": "View",
|
|
568
758
|
"path": "VJoyText/metadata.json",
|
|
569
759
|
"propsCount": 2,
|
|
570
760
|
"eventsCount": 0,
|
|
@@ -573,6 +763,8 @@
|
|
|
573
763
|
},
|
|
574
764
|
{
|
|
575
765
|
"name": "VJoyTextarea",
|
|
766
|
+
"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.",
|
|
767
|
+
"category": "Forms",
|
|
576
768
|
"path": "VJoyTextarea/metadata.json",
|
|
577
769
|
"propsCount": 16,
|
|
578
770
|
"eventsCount": 1,
|
|
@@ -581,6 +773,8 @@
|
|
|
581
773
|
},
|
|
582
774
|
{
|
|
583
775
|
"name": "VJoyTitleBrand",
|
|
776
|
+
"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`.",
|
|
777
|
+
"category": "View",
|
|
584
778
|
"path": "VJoyTitleBrand/metadata.json",
|
|
585
779
|
"propsCount": 1,
|
|
586
780
|
"eventsCount": 0,
|
|
@@ -589,6 +783,8 @@
|
|
|
589
783
|
},
|
|
590
784
|
{
|
|
591
785
|
"name": "VJoyToggle",
|
|
786
|
+
"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.",
|
|
787
|
+
"category": "Forms",
|
|
592
788
|
"path": "VJoyToggle/metadata.json",
|
|
593
789
|
"propsCount": 10,
|
|
594
790
|
"eventsCount": 1,
|
|
@@ -597,6 +793,8 @@
|
|
|
597
793
|
},
|
|
598
794
|
{
|
|
599
795
|
"name": "VJoyTooltip",
|
|
796
|
+
"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.",
|
|
797
|
+
"category": "Overlays",
|
|
600
798
|
"path": "VJoyTooltip/metadata.json",
|
|
601
799
|
"propsCount": 8,
|
|
602
800
|
"eventsCount": 0,
|
|
@@ -605,6 +803,8 @@
|
|
|
605
803
|
},
|
|
606
804
|
{
|
|
607
805
|
"name": "VJoyUserCard",
|
|
806
|
+
"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.",
|
|
807
|
+
"category": "View",
|
|
608
808
|
"path": "VJoyUserCard/metadata.json",
|
|
609
809
|
"propsCount": 5,
|
|
610
810
|
"eventsCount": 0,
|
|
@@ -613,6 +813,8 @@
|
|
|
613
813
|
},
|
|
614
814
|
{
|
|
615
815
|
"name": "VJoyWalkthrough",
|
|
816
|
+
"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.",
|
|
817
|
+
"category": "Overlays",
|
|
616
818
|
"path": "VJoyWalkthrough/metadata.json",
|
|
617
819
|
"propsCount": 7,
|
|
618
820
|
"eventsCount": 3,
|
|
@@ -621,6 +823,8 @@
|
|
|
621
823
|
},
|
|
622
824
|
{
|
|
623
825
|
"name": "VJoyWalkthroughTrigger",
|
|
826
|
+
"description": "",
|
|
827
|
+
"category": "Overlays",
|
|
624
828
|
"path": "VJoyWalkthroughTrigger/metadata.json",
|
|
625
829
|
"propsCount": 4,
|
|
626
830
|
"eventsCount": 0,
|
|
@@ -629,6 +833,8 @@
|
|
|
629
833
|
},
|
|
630
834
|
{
|
|
631
835
|
"name": "VJoyWrapper",
|
|
836
|
+
"description": "A flexible CSS flexbox utility wrapper component for creating responsive layouts with consistent spacing.\nFeatures comprehensive flexbox controls including justify-content, align-items, flex-direction, and wrap properties.\nIncludes automatic gap management, item stretching capabilities, and margin controls. Perfect for form layouts,\nbutton groups, and any content that needs structured, responsive arrangement with minimal CSS.",
|
|
837
|
+
"category": "Layout",
|
|
632
838
|
"path": "VJoyWrapper/metadata.json",
|
|
633
839
|
"propsCount": 8,
|
|
634
840
|
"eventsCount": 0,
|