@maltjoy/mcp-server 0.3.0 → 0.3.2
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 +11 -28
- package/dist/doc/VJoyAdminBanner/metadata.json +1 -0
- package/dist/doc/VJoyAvailability/metadata.json +1 -0
- package/dist/doc/VJoyAvatar/metadata.json +2 -0
- package/dist/doc/VJoyAvatarsList/metadata.json +1 -0
- package/dist/doc/VJoyBadge/metadata.json +1 -0
- package/dist/doc/VJoyBadgeLevel/metadata.json +1 -0
- package/dist/doc/VJoyBlockSkeleton/metadata.json +1 -0
- package/dist/doc/VJoyBottomSheet/metadata.json +1 -0
- package/dist/doc/VJoyBottomSheetTrigger/metadata.json +1 -0
- package/dist/doc/VJoyButton/JoyButton.types.ts +1 -1
- package/dist/doc/VJoyButton/metadata.json +1 -0
- package/dist/doc/VJoyCheckbox/metadata.json +1 -0
- package/dist/doc/VJoyCollapse/metadata.json +1 -0
- package/dist/doc/VJoyCollapseItem/metadata.json +1 -0
- package/dist/doc/VJoyCompanyAvatar/metadata.json +1 -0
- package/dist/doc/VJoyDialog/metadata.json +1 -0
- package/dist/doc/VJoyDialogTrigger/metadata.json +1 -0
- package/dist/doc/VJoyDot/metadata.json +1 -0
- package/dist/doc/VJoyDrawer/metadata.json +1 -0
- package/dist/doc/VJoyDrawerTrigger/metadata.json +1 -0
- package/dist/doc/VJoyDropdown/metadata.json +1 -0
- package/dist/doc/VJoyDropdownList/metadata.json +1 -0
- package/dist/doc/VJoyDropzone/metadata.json +1 -0
- package/dist/doc/VJoyFilterBar/metadata.json +1 -0
- package/dist/doc/VJoyFilterBarButton/metadata.json +1 -0
- package/dist/doc/VJoyFormError/metadata.json +1 -0
- package/dist/doc/VJoyFormFieldSkeleton/metadata.json +1 -0
- package/dist/doc/VJoyFormGroup/metadata.json +15 -0
- package/dist/doc/VJoyFunnel/metadata.json +1 -0
- package/dist/doc/VJoyFunnelFooter/metadata.json +1 -0
- package/dist/doc/VJoyFunnelHeader/metadata.json +1 -0
- package/dist/doc/VJoyHighlight/metadata.json +1 -0
- package/dist/doc/VJoyIcon/JoyIcon.types.ts +1 -1
- package/dist/doc/VJoyIcon/metadata.json +3 -2
- package/dist/doc/VJoyIndicator/metadata.json +1 -0
- package/dist/doc/VJoyIndicators/metadata.json +1 -0
- package/dist/doc/VJoyInput/JoyInput.types.ts +4 -0
- package/dist/doc/VJoyInput/metadata.json +5 -0
- package/dist/doc/VJoyInputDigit/JoyInputDigit.types.ts +14 -0
- package/dist/doc/VJoyInputDigit/metadata.json +155 -0
- package/dist/doc/VJoyInputPassword/metadata.json +260 -0
- package/dist/doc/VJoyLabel/JoyLabel.types.ts +1 -0
- package/dist/doc/VJoyLabel/metadata.json +1 -0
- package/dist/doc/VJoyLink/metadata.json +1 -0
- package/dist/doc/VJoyListItem/metadata.json +1 -0
- package/dist/doc/VJoyMenu/metadata.json +1 -0
- package/dist/doc/VJoyMenuItem/JoyMenuItem.types.ts +14 -0
- package/dist/doc/VJoyMenuItem/metadata.json +1 -0
- package/dist/doc/VJoyMultiCheckbox/metadata.json +1 -0
- package/dist/doc/VJoyPagination/metadata.json +1 -0
- package/dist/doc/VJoyPanel/metadata.json +1 -0
- package/dist/doc/VJoyPanelSection/metadata.json +1 -0
- package/dist/doc/VJoyPasswordRequirement/JoyPasswordRequirement.types.ts +8 -0
- package/dist/doc/VJoyPasswordRequirement/metadata.json +40 -0
- package/dist/doc/VJoyProductTour/metadata.json +1 -0
- package/dist/doc/VJoyProductTourTrigger/metadata.json +1 -0
- package/dist/doc/VJoyProgressBar/metadata.json +1 -0
- package/dist/doc/VJoyRadio/metadata.json +1 -0
- package/dist/doc/VJoyRadioGroup/metadata.json +1 -0
- package/dist/doc/VJoyRatingStars/metadata.json +1 -0
- package/dist/doc/VJoyScreenLoader/metadata.json +1 -0
- package/dist/doc/VJoySelect/metadata.json +1 -0
- package/dist/doc/VJoySelectableItem/metadata.json +1 -0
- package/dist/doc/VJoySelectableItemGroup/metadata.json +1 -0
- package/dist/doc/VJoySeparator/metadata.json +1 -0
- package/dist/doc/VJoySnackbar/metadata.json +1 -0
- package/dist/doc/VJoySpinner/metadata.json +1 -0
- package/dist/doc/VJoyStep/metadata.json +1 -0
- package/dist/doc/VJoyStepper/metadata.json +1 -0
- package/dist/doc/VJoyTab/metadata.json +1 -0
- package/dist/doc/VJoyTabs/metadata.json +1 -0
- package/dist/doc/VJoyTag/metadata.json +2 -0
- package/dist/doc/VJoyTagsInput/metadata.json +2 -0
- package/dist/doc/VJoyTagsList/metadata.json +2 -0
- package/dist/doc/VJoyTemplate/metadata.json +1 -0
- package/dist/doc/VJoyTemplateShape/metadata.json +1 -0
- package/dist/doc/VJoyText/metadata.json +1 -0
- package/dist/doc/VJoyTextarea/metadata.json +1 -0
- package/dist/doc/VJoyTitleBrand/metadata.json +1 -0
- package/dist/doc/VJoyToggle/metadata.json +1 -0
- package/dist/doc/VJoyTooltip/metadata.json +1 -0
- package/dist/doc/VJoyUserCard/metadata.json +1 -0
- package/dist/doc/VJoyWalkthrough/metadata.json +1 -0
- package/dist/doc/VJoyWalkthroughTrigger/metadata.json +1 -0
- package/dist/doc/VJoyWrapper/metadata.json +1 -0
- package/dist/doc/index.json +117 -7
- package/dist/index.js +1 -1
- package/dist/parser.d.ts +9 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +22 -0
- package/dist/parser.js.map +1 -1
- package/dist/tools/list-components.d.ts +2 -1
- package/dist/tools/list-components.d.ts.map +1 -1
- package/dist/tools/list-components.js +3 -3
- package/dist/tools/list-components.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "JoyInputDigit",
|
|
3
|
+
"displayName": "VJoyInputDigit",
|
|
4
|
+
"description": "One-time code input with auto-navigation between slots. Supports numeric filtering with disabled/invalid states.",
|
|
5
|
+
"props": [
|
|
6
|
+
{
|
|
7
|
+
"name": "modelValue",
|
|
8
|
+
"type": "string | undefined",
|
|
9
|
+
"required": false,
|
|
10
|
+
"default": "\"\"",
|
|
11
|
+
"description": "Joined value of all input slots.",
|
|
12
|
+
"possibleValues": [
|
|
13
|
+
"string"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "length",
|
|
18
|
+
"type": "number | undefined",
|
|
19
|
+
"required": false,
|
|
20
|
+
"default": "6",
|
|
21
|
+
"description": "Number of displayed input slots.",
|
|
22
|
+
"possibleValues": [
|
|
23
|
+
"number"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "invalid",
|
|
28
|
+
"type": "boolean | undefined",
|
|
29
|
+
"required": false,
|
|
30
|
+
"default": "false",
|
|
31
|
+
"description": "Applies invalid visual state on every slot.",
|
|
32
|
+
"possibleValues": [
|
|
33
|
+
"false",
|
|
34
|
+
"true"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "disabled",
|
|
39
|
+
"type": "boolean | undefined",
|
|
40
|
+
"required": false,
|
|
41
|
+
"default": "false",
|
|
42
|
+
"description": "Disables all input slots.",
|
|
43
|
+
"possibleValues": [
|
|
44
|
+
"false",
|
|
45
|
+
"true"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "name",
|
|
50
|
+
"type": "string | undefined",
|
|
51
|
+
"required": false,
|
|
52
|
+
"default": "\"joy-input-digit\"",
|
|
53
|
+
"description": "Name prefix used for each generated input.",
|
|
54
|
+
"possibleValues": [
|
|
55
|
+
"string"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "inputAriaLabel",
|
|
60
|
+
"type": "string | undefined",
|
|
61
|
+
"required": false,
|
|
62
|
+
"default": "\"Digit\"",
|
|
63
|
+
"description": "Base aria-label used for each input, indexed automatically (e.g. \"Digit 1 of 6\").",
|
|
64
|
+
"possibleValues": [
|
|
65
|
+
"string"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"events": [
|
|
70
|
+
{
|
|
71
|
+
"name": "blur",
|
|
72
|
+
"description": "",
|
|
73
|
+
"signature": "(event: \"blur\", event: FocusEvent): void"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "change",
|
|
77
|
+
"description": "",
|
|
78
|
+
"signature": "(event: \"change\", value: string, event: Event): void"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "focus",
|
|
82
|
+
"description": "",
|
|
83
|
+
"signature": "(event: \"focus\", event: FocusEvent): void"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "update:modelValue",
|
|
87
|
+
"description": "",
|
|
88
|
+
"signature": "(event: \"update:modelValue\", value: string): void"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"slots": [],
|
|
92
|
+
"exposed": [
|
|
93
|
+
{
|
|
94
|
+
"name": "invalid",
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"isMethod": false
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "length",
|
|
100
|
+
"type": "number",
|
|
101
|
+
"isMethod": false
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "disabled",
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"isMethod": false
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "name",
|
|
110
|
+
"type": "string",
|
|
111
|
+
"isMethod": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "modelValue",
|
|
115
|
+
"type": "string",
|
|
116
|
+
"isMethod": false
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "inputAriaLabel",
|
|
120
|
+
"type": "string",
|
|
121
|
+
"isMethod": false
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "onBlur",
|
|
125
|
+
"type": "((event: FocusEvent) => any) | undefined",
|
|
126
|
+
"isMethod": true
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "onFocus",
|
|
130
|
+
"type": "((event: FocusEvent) => any) | undefined",
|
|
131
|
+
"isMethod": true
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "onUpdate:modelValue",
|
|
135
|
+
"type": "((value: string) => any) | undefined",
|
|
136
|
+
"isMethod": true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "onChange",
|
|
140
|
+
"type": "((value: string, event: Event) => any) | undefined",
|
|
141
|
+
"isMethod": true
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "focusInput",
|
|
145
|
+
"type": "(index: number) => void",
|
|
146
|
+
"isMethod": true
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "tokens",
|
|
150
|
+
"type": "string[]",
|
|
151
|
+
"isMethod": false
|
|
152
|
+
}
|
|
153
|
+
],
|
|
154
|
+
"hasVModel": true
|
|
155
|
+
}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "JoyInputPassword",
|
|
3
|
+
"displayName": "VJoyInputPassword",
|
|
4
|
+
"description": "Password input built on top of VJoyInput with built-in visibility toggle.",
|
|
5
|
+
"props": [
|
|
6
|
+
{
|
|
7
|
+
"name": "invalid",
|
|
8
|
+
"type": "boolean | undefined",
|
|
9
|
+
"required": false,
|
|
10
|
+
"default": "false",
|
|
11
|
+
"description": "",
|
|
12
|
+
"possibleValues": [
|
|
13
|
+
"false",
|
|
14
|
+
"true"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "label",
|
|
19
|
+
"type": "string | undefined",
|
|
20
|
+
"required": false,
|
|
21
|
+
"description": "Display a label on top of the element. Handy if you only need to pass a string. If you need more, use the VJoyLabel.",
|
|
22
|
+
"possibleValues": [
|
|
23
|
+
"string"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "size",
|
|
28
|
+
"type": "TJoyInputSizes | undefined",
|
|
29
|
+
"required": false,
|
|
30
|
+
"description": "",
|
|
31
|
+
"possibleValues": [
|
|
32
|
+
"medium",
|
|
33
|
+
"large",
|
|
34
|
+
"small"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "required",
|
|
39
|
+
"type": "boolean | undefined",
|
|
40
|
+
"required": false,
|
|
41
|
+
"default": "false",
|
|
42
|
+
"description": "",
|
|
43
|
+
"possibleValues": [
|
|
44
|
+
"false",
|
|
45
|
+
"true"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "icon",
|
|
50
|
+
"type": "string",
|
|
51
|
+
"required": false,
|
|
52
|
+
"description": "Add a JoyIcon / joy-icon with given name on left-side.",
|
|
53
|
+
"possibleValues": "TJoyIconsNames (220 values)"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "id",
|
|
57
|
+
"type": "string | undefined",
|
|
58
|
+
"required": false,
|
|
59
|
+
"description": "",
|
|
60
|
+
"possibleValues": [
|
|
61
|
+
"string"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "disabled",
|
|
66
|
+
"type": "boolean | undefined",
|
|
67
|
+
"required": false,
|
|
68
|
+
"default": "false",
|
|
69
|
+
"description": "",
|
|
70
|
+
"possibleValues": [
|
|
71
|
+
"false",
|
|
72
|
+
"true"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "name",
|
|
77
|
+
"type": "string | undefined",
|
|
78
|
+
"required": false,
|
|
79
|
+
"default": "\"joy-input-password\"",
|
|
80
|
+
"description": "",
|
|
81
|
+
"possibleValues": [
|
|
82
|
+
"string"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "modelValue",
|
|
87
|
+
"type": "string | number | null | undefined",
|
|
88
|
+
"required": false,
|
|
89
|
+
"description": "",
|
|
90
|
+
"possibleValues": [
|
|
91
|
+
"null",
|
|
92
|
+
"string",
|
|
93
|
+
"number"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "autofocus",
|
|
98
|
+
"type": "boolean | undefined",
|
|
99
|
+
"required": false,
|
|
100
|
+
"default": "false",
|
|
101
|
+
"description": "",
|
|
102
|
+
"possibleValues": [
|
|
103
|
+
"false",
|
|
104
|
+
"true"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "labelSize",
|
|
109
|
+
"type": "TJoyLabelSizes | undefined",
|
|
110
|
+
"required": false,
|
|
111
|
+
"default": "\"medium\"",
|
|
112
|
+
"description": "Overrides the default label size. See JoyLabel stories",
|
|
113
|
+
"possibleValues": [
|
|
114
|
+
"medium",
|
|
115
|
+
"large",
|
|
116
|
+
"small"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "optionalLabel",
|
|
121
|
+
"type": "string | undefined",
|
|
122
|
+
"required": false,
|
|
123
|
+
"description": "If your component is not required, we can add a label to explicitely tell that it's not mandatory",
|
|
124
|
+
"possibleValues": [
|
|
125
|
+
"string"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "requiredMark",
|
|
130
|
+
"type": "boolean | undefined",
|
|
131
|
+
"required": false,
|
|
132
|
+
"default": "false",
|
|
133
|
+
"description": "Depending on context, we can add a \"*\" after the label to specify it's mandatory.",
|
|
134
|
+
"possibleValues": [
|
|
135
|
+
"false",
|
|
136
|
+
"true"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "modelModifiers",
|
|
141
|
+
"type": "Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>> | undefined",
|
|
142
|
+
"required": false,
|
|
143
|
+
"default": "{ lazy: false }",
|
|
144
|
+
"description": "",
|
|
145
|
+
"possibleValues": [
|
|
146
|
+
"Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>>"
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "unit",
|
|
151
|
+
"type": "string | undefined",
|
|
152
|
+
"required": false,
|
|
153
|
+
"description": "Adds a legend like symbol on the right of the component. Made for number based values",
|
|
154
|
+
"possibleValues": [
|
|
155
|
+
"string"
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"events": [
|
|
160
|
+
{
|
|
161
|
+
"name": "update:modelValue",
|
|
162
|
+
"description": "",
|
|
163
|
+
"signature": "(event: \"update:modelValue\", value: string): void"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"slots": [
|
|
167
|
+
{
|
|
168
|
+
"name": "password-requirements",
|
|
169
|
+
"description": "Slot used to inject password requirements. Use VJoyPasswordRequirement component to display the requirements."
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"exposed": [
|
|
173
|
+
{
|
|
174
|
+
"name": "invalid",
|
|
175
|
+
"type": "boolean",
|
|
176
|
+
"isMethod": false
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "required",
|
|
180
|
+
"type": "boolean",
|
|
181
|
+
"isMethod": false
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "disabled",
|
|
185
|
+
"type": "boolean",
|
|
186
|
+
"isMethod": false
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "name",
|
|
190
|
+
"type": "string",
|
|
191
|
+
"isMethod": false
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "autofocus",
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"isMethod": false
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "labelSize",
|
|
200
|
+
"type": "TJoyLabelSizes",
|
|
201
|
+
"isMethod": false
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "requiredMark",
|
|
205
|
+
"type": "boolean",
|
|
206
|
+
"isMethod": false
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "modelModifiers",
|
|
210
|
+
"type": "Partial<Record<\"number\" | \"trim\" | \"lazy\", boolean>>",
|
|
211
|
+
"isMethod": false
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "label",
|
|
215
|
+
"type": "string | undefined",
|
|
216
|
+
"isMethod": false
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "size",
|
|
220
|
+
"type": "TJoyInputSizes | undefined",
|
|
221
|
+
"isMethod": false
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "icon",
|
|
225
|
+
"type": "string",
|
|
226
|
+
"isMethod": false
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "id",
|
|
230
|
+
"type": "string | undefined",
|
|
231
|
+
"isMethod": false
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"name": "modelValue",
|
|
235
|
+
"type": "string | number | null | undefined",
|
|
236
|
+
"isMethod": false
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "onUpdate:modelValue",
|
|
240
|
+
"type": "((value: string) => any) | undefined",
|
|
241
|
+
"isMethod": true
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "optionalLabel",
|
|
245
|
+
"type": "string | undefined",
|
|
246
|
+
"isMethod": false
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "unit",
|
|
250
|
+
"type": "string | undefined",
|
|
251
|
+
"isMethod": false
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "focus",
|
|
255
|
+
"type": "() => void",
|
|
256
|
+
"isMethod": true
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"hasVModel": true
|
|
260
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyLabel",
|
|
3
3
|
"displayName": "VJoyLabel",
|
|
4
|
+
"description": "A flexible form label component with enhanced functionality for complex form layouts. Features size variants, required/optional indicators, tooltip support, and legend text capabilities. Supports both label and legend tag rendering for different form contexts with integrated accessibility features and consistent styling across the design system. All native attributes are not declared as Vue component properties. But the actual label tag inherits from every attribute you pass.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "size",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyListItem",
|
|
3
3
|
"displayName": "VJoyListItem",
|
|
4
|
+
"description": "A structured list item component for creating consistent, interactive list entries. Features left and right content areas, optional icon support, hover states, and click handling. Perfect for data lists, navigation items, and content cards where consistent spacing and interactive feedback are essential for user experience.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "icon",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyMenu",
|
|
3
3
|
"displayName": "VJoyMenu",
|
|
4
|
+
"description": "A navigation menu component for creating accessible menu lists with keyboard navigation support. Works with VJoyMenuItem components to build complex navigation structures with icons, status indicators, and various link types. Features proper ARIA attributes, selection states, and integration with routing systems for seamless navigation experiences. items property is deprecated. Please use VJoyMenuItem with default slot. Docs generation is broken for the VJoyMenuItem component. Here you have the props interface as workaround. ```ts interface IJoyMenuItem { label: string; icon?: TJoyIconsNames; current?: boolean; disabled?: boolean; status?: TJoyIconsNames; statusColor?: TJoyIconsColors; type?: Component | 'a' | 'button'; linkProps?: ComponentProps<T>; } ```",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "items",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {JoyIconsId} from '@maltjoy/icons';
|
|
2
|
+
|
|
3
|
+
export interface IJoyMenuItemBis {
|
|
4
|
+
id?: string;
|
|
5
|
+
label: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
icon?: JoyIconsId;
|
|
8
|
+
current?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
[k: string]: any;
|
|
14
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyMultiCheckbox",
|
|
3
3
|
"displayName": "VJoyMultiCheckbox",
|
|
4
|
+
"description": "A multi-selection checkbox group component for handling arrays of selected values. Simplifies multi-selection scenarios by managing checkbox states and array manipulation automatically. Features integrated labeling, fieldset structure for accessibility, and customizable checkbox content through slots. Perfect for filtering interfaces and bulk selection operations.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "options",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyPagination",
|
|
3
3
|
"displayName": "VJoyPagination",
|
|
4
|
+
"description": "A complete pagination component for navigating through large datasets with proper accessibility support. Features automatic page number calculation, gap handling for large page counts, customizable navigation arrows, and router integration support through slots. Includes proper ARIA attributes and keyboard navigation for an accessible pagination experience across different content types.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "currentPage",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyPanel",
|
|
3
3
|
"displayName": "VJoyPanel",
|
|
4
|
+
"description": "A structured content container component providing consistent layout patterns for cards and sections. Features header with title/subtitle/actions, main body content, footer actions, and loading overlay support. Includes flexible sizing, padding options, AI variant styling, and seamless integration with VJoyPanelSection for complex nested layouts and modular content organization.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "loading",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type {TLevels} from '../../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* - neutral : The password field is focused but not this rule is not valid
|
|
5
|
+
* - valid : This rule is valid
|
|
6
|
+
* - invalid : This field is not focused and this rule is invalid
|
|
7
|
+
*/
|
|
8
|
+
export type TVJoyPasswordRequirementStatus = Extract<TLevels, 'success' | 'error' | 'neutral'>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "JoyPasswordRequirement",
|
|
3
|
+
"displayName": "VJoyPasswordRequirement",
|
|
4
|
+
"description": "A component to display a password requirement status. This is meant to be displayed under a VJoyInput of type password.",
|
|
5
|
+
"props": [
|
|
6
|
+
{
|
|
7
|
+
"name": "label",
|
|
8
|
+
"type": "string",
|
|
9
|
+
"required": true,
|
|
10
|
+
"description": "Label of the password strength rule",
|
|
11
|
+
"possibleValues": null
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "status",
|
|
15
|
+
"type": "TVJoyPasswordRequirementStatus | undefined",
|
|
16
|
+
"required": false,
|
|
17
|
+
"description": "Status of the password requirement",
|
|
18
|
+
"possibleValues": [
|
|
19
|
+
"error",
|
|
20
|
+
"neutral",
|
|
21
|
+
"success"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"events": [],
|
|
26
|
+
"slots": [],
|
|
27
|
+
"exposed": [
|
|
28
|
+
{
|
|
29
|
+
"name": "label",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"isMethod": false
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "status",
|
|
35
|
+
"type": "TVJoyPasswordRequirementStatus | undefined",
|
|
36
|
+
"isMethod": false
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"hasVModel": false
|
|
40
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyProductTour",
|
|
3
3
|
"displayName": "VJoyProductTour",
|
|
4
|
+
"description": "An advanced guided tour component for creating interactive product demonstrations with element highlighting. Features intelligent positioning around target elements, multi-step tour progression, customizable banners and actions, and spotlight effects for drawing user attention. Includes SSR compatibility and proper z-index management through Teleport for seamless user onboarding and feature discovery experiences.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "icon",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyProgressBar",
|
|
3
3
|
"displayName": "VJoyProgressBar",
|
|
4
|
+
"description": "A visual progress indicator component for displaying completion status with percentage or step-based progress. Features multiple color variants for different semantic meanings (success, warning, error), optional label display, and dual mode support (percentage-based or step-based calculations). Perfect for indicating task completion, loading states, and multi-step process progress with clear visual feedback.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "color",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyRadioGroup",
|
|
3
3
|
"displayName": "VJoyRadioGroup",
|
|
4
|
+
"description": "A container component for organizing radio button groups with proper fieldset structure and accessibility. Features horizontal and vertical layout options, legend support for group labeling, and seamless integration with VJoyRadio components. Provides proper ARIA attributes and form association for accessible single-choice selection interfaces with consistent spacing and visual organization. Use the same v-model for each `VJoyRadio` (modelValue). Create a ref for it.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "direction",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyRatingStars",
|
|
3
3
|
"displayName": "VJoyRatingStars",
|
|
4
|
+
"description": "A visual rating display component using star icons to represent rating values from 0 to 5. Features support for fractional ratings with half-star display, multiple size variants, review count display, and customizable content slots. Includes proper accessibility attributes with configurable ARIA labels for screen reader compatibility. **Accessibility focus**: you can give an aria-label to the component to actually describe the rating. By default it is set to \"Rating: X out of 5\" but is obviously not translated.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "size",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "JoyScreenLoader",
|
|
3
3
|
"displayName": "VJoyScreenLoader",
|
|
4
|
+
"description": "A full-screen loading overlay component for indicating page or section loading states. Features light and dark color modes, overlay positioning for absolute coverage, customizable spinner slots, and content areas for loading messages. Perfect for blocking user interactions during data loading with professional loading animations and flexible content presentation.",
|
|
4
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "color",
|
|
@@ -1,6 +1,7 @@
|
|
|
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
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "invalid",
|
|
@@ -1,6 +1,7 @@
|
|
|
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
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "options",
|
|
@@ -1,6 +1,7 @@
|
|
|
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
5
|
"props": [
|
|
5
6
|
{
|
|
6
7
|
"name": "size",
|