@maltjoy/mcp-server 0.5.0-beta.0 → 0.6.0-beta.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 (849) hide show
  1. package/README.md +30 -24
  2. package/dist/doc/VJoyAdminBanner/guideline.md +284 -0
  3. package/dist/doc/VJoyAvailability/guideline.md +352 -0
  4. package/dist/doc/VJoyAvailability/metadata.json +1 -1
  5. package/dist/doc/VJoyAvatar/guideline.md +192 -0
  6. package/dist/doc/VJoyAvatarsList/guideline.md +328 -0
  7. package/dist/doc/VJoyBadge/guideline.md +169 -0
  8. package/dist/doc/VJoyBadgeLevel/guideline.md +166 -0
  9. package/dist/doc/VJoyBlockSkeleton/guideline.md +150 -0
  10. package/dist/doc/VJoyBottomSheet/guideline.md +345 -0
  11. package/dist/doc/VJoyBottomSheetTrigger/guideline.md +156 -0
  12. package/dist/doc/VJoyButton/guideline.md +371 -0
  13. package/dist/doc/VJoyButton/metadata.json +0 -16
  14. package/dist/doc/VJoyButtonCard/guideline.md +384 -0
  15. package/dist/doc/VJoyCheckbox/guideline.md +317 -0
  16. package/dist/doc/VJoyCheckboxCard/guideline.md +381 -0
  17. package/dist/doc/VJoyCheckboxGroup/guideline.md +363 -0
  18. package/dist/doc/VJoyCollapse/guideline.md +362 -0
  19. package/dist/doc/VJoyCollapseItem/guideline.md +394 -0
  20. package/dist/doc/VJoyCompanyAvatar/guideline.md +162 -0
  21. package/dist/doc/VJoyDialog/guideline.md +425 -0
  22. package/dist/doc/VJoyDialogTrigger/guideline.md +186 -0
  23. package/dist/doc/VJoyDot/guideline.md +177 -0
  24. package/dist/doc/VJoyDrawer/guideline.md +392 -0
  25. package/dist/doc/VJoyDrawerTrigger/guideline.md +145 -0
  26. package/dist/doc/VJoyDropdown/guideline.md +393 -0
  27. package/dist/doc/VJoyDropdownList/guideline.md +396 -0
  28. package/dist/doc/VJoyDropdownList/metadata.json +1 -1
  29. package/dist/doc/VJoyDropzone/guideline.md +390 -0
  30. package/dist/doc/VJoyDropzone/metadata.json +10 -1
  31. package/dist/doc/VJoyFilterBar/guideline.md +419 -0
  32. package/dist/doc/VJoyFilterBarButton/guideline.md +359 -0
  33. package/dist/doc/VJoyFloatingActionsBar/guideline.md +372 -0
  34. package/dist/doc/VJoyFormError/guideline.md +325 -0
  35. package/dist/doc/VJoyFormError/metadata.json +0 -14
  36. package/dist/doc/VJoyFormFieldSkeleton/guideline.md +159 -0
  37. package/dist/doc/VJoyFormGroup/guideline.md +285 -0
  38. package/dist/doc/VJoyFunnel/guideline.md +349 -0
  39. package/dist/doc/VJoyFunnelFooter/guideline.md +178 -0
  40. package/dist/doc/VJoyFunnelHeader/guideline.md +204 -0
  41. package/dist/doc/VJoyHighlight/guideline.md +169 -0
  42. package/dist/doc/VJoyIcon/JoyIcon.types.ts +1 -1
  43. package/dist/doc/VJoyIcon/guideline.md +168 -0
  44. package/dist/doc/VJoyIcon/metadata.json +0 -1
  45. package/dist/doc/VJoyIconButton/guideline.md +169 -0
  46. package/dist/doc/VJoyIconButton/metadata.json +1 -1
  47. package/dist/doc/VJoyIndicator/guideline.md +168 -0
  48. package/dist/doc/VJoyIndicators/guideline.md +183 -0
  49. package/dist/doc/VJoyInput/JoyInput.types.ts +1 -9
  50. package/dist/doc/VJoyInput/guideline.md +401 -0
  51. package/dist/doc/VJoyInput/metadata.json +5 -14
  52. package/dist/doc/VJoyInputDigit/guideline.md +381 -0
  53. package/dist/doc/VJoyInputNumber/guideline.md +414 -0
  54. package/dist/doc/VJoyInputNumber/metadata.json +16 -16
  55. package/dist/doc/VJoyInputPassword/guideline.md +379 -0
  56. package/dist/doc/VJoyInputPassword/metadata.json +0 -14
  57. package/dist/doc/VJoyLabel/guideline.md +200 -0
  58. package/dist/doc/VJoyLink/guideline.md +360 -0
  59. package/dist/doc/VJoyListItem/guideline.md +335 -0
  60. package/dist/doc/VJoyMenu/guideline.md +304 -0
  61. package/dist/doc/VJoyMenuItem/guideline.md +352 -0
  62. package/dist/doc/VJoyPagination/guideline.md +355 -0
  63. package/dist/doc/VJoyPanel/guideline.md +238 -0
  64. package/dist/doc/VJoyPanelSection/guideline.md +160 -0
  65. package/dist/doc/VJoyPasswordRequirement/guideline.md +336 -0
  66. package/dist/doc/VJoyPasswordRequirement/metadata.json +1 -1
  67. package/dist/doc/VJoyProductTour/JoyProductTour.types.ts +0 -1
  68. package/dist/doc/VJoyProductTour/guideline.md +455 -0
  69. package/dist/doc/VJoyProductTour/metadata.json +1 -1
  70. package/dist/doc/VJoyProductTourTrigger/guideline.md +167 -0
  71. package/dist/doc/VJoyProgressBar/guideline.md +348 -0
  72. package/dist/doc/VJoyRadio/guideline.md +346 -0
  73. package/dist/doc/VJoyRadioGroup/guideline.md +331 -0
  74. package/dist/doc/VJoyRatingStars/guideline.md +306 -0
  75. package/dist/doc/VJoyScreenLoader/guideline.md +172 -0
  76. package/dist/doc/VJoySelect/guideline.md +396 -0
  77. package/dist/doc/VJoySelectableItem/guideline.md +351 -0
  78. package/dist/doc/VJoySelectableItemGroup/guideline.md +370 -0
  79. package/dist/doc/VJoySeparator/guideline.md +161 -0
  80. package/dist/doc/VJoySnackbar/guideline.md +402 -0
  81. package/dist/doc/VJoySpinner/guideline.md +168 -0
  82. package/dist/doc/VJoyStep/guideline.md +182 -0
  83. package/dist/doc/VJoyStepper/guideline.md +390 -0
  84. package/dist/doc/VJoyTab/guideline.md +298 -0
  85. package/dist/doc/VJoyTabs/guideline.md +353 -0
  86. package/dist/doc/VJoyTag/guideline.md +226 -0
  87. package/dist/doc/VJoyTagsInput/guideline.md +387 -0
  88. package/dist/doc/VJoyTagsList/guideline.md +311 -0
  89. package/dist/doc/VJoyTemplate/guideline.md +366 -0
  90. package/dist/doc/VJoyText/guideline.md +175 -0
  91. package/dist/doc/VJoyTextarea/guideline.md +378 -0
  92. package/dist/doc/VJoyTitleBrand/guideline.md +155 -0
  93. package/dist/doc/VJoyToggle/guideline.md +327 -0
  94. package/dist/doc/VJoyTooltip/guideline.md +322 -0
  95. package/dist/doc/VJoyUserCard/guideline.md +268 -0
  96. package/dist/doc/VJoyUserCard/metadata.json +3 -17
  97. package/dist/doc/VJoyWalkthrough/guideline.md +351 -0
  98. package/dist/doc/VJoyWalkthroughTrigger/guideline.md +171 -0
  99. package/dist/doc/VJoyWrapper/guideline.md +173 -0
  100. package/dist/doc/css-classes.json +1 -17
  101. package/dist/doc/index.json +19 -29
  102. package/dist/index.js +15 -25
  103. package/dist/index.js.map +1 -1
  104. package/dist/tools/get-component-guideline.d.ts +30 -0
  105. package/dist/tools/get-component-guideline.d.ts.map +1 -0
  106. package/dist/tools/get-component-guideline.js +51 -0
  107. package/dist/tools/get-component-guideline.js.map +1 -0
  108. package/dist/tools/get-component-info.d.ts +1 -9
  109. package/dist/tools/get-component-info.d.ts.map +1 -1
  110. package/dist/tools/get-component-info.js +1 -9
  111. package/dist/tools/get-component-info.js.map +1 -1
  112. package/package.json +3 -5
  113. package/dist/doc/VJoyMultiCheckbox/metadata.json +0 -332
  114. package/dist/doc/zeroheight/components/1398444/change-logs.md +0 -1
  115. package/dist/doc/zeroheight/components/1398444/content.md +0 -149
  116. package/dist/doc/zeroheight/components/1398444/description.md +0 -1
  117. package/dist/doc/zeroheight/components/1398444/introduction.md +0 -49
  118. package/dist/doc/zeroheight/components/1398444/meta.json +0 -18
  119. package/dist/doc/zeroheight/components/1398444/usage.md +0 -10
  120. package/dist/doc/zeroheight/components/1423580/change-log.md +0 -1
  121. package/dist/doc/zeroheight/components/1423580/introduction.md +0 -17
  122. package/dist/doc/zeroheight/components/1423580/meta.json +0 -17
  123. package/dist/doc/zeroheight/components/1423580/usage.md +0 -5
  124. package/dist/doc/zeroheight/components/1423608/change-log.md +0 -1
  125. package/dist/doc/zeroheight/components/1423608/content.md +0 -49
  126. package/dist/doc/zeroheight/components/1423608/description.md +0 -3
  127. package/dist/doc/zeroheight/components/1423608/introduction.md +0 -29
  128. package/dist/doc/zeroheight/components/1423608/meta.json +0 -18
  129. package/dist/doc/zeroheight/components/1423608/usage.md +0 -18
  130. package/dist/doc/zeroheight/components/1423634/change-log.md +0 -1
  131. package/dist/doc/zeroheight/components/1423634/content.md +0 -1
  132. package/dist/doc/zeroheight/components/1423634/description.md +0 -1
  133. package/dist/doc/zeroheight/components/1423634/introduction.md +0 -27
  134. package/dist/doc/zeroheight/components/1423634/meta.json +0 -18
  135. package/dist/doc/zeroheight/components/1423634/usage.md +0 -11
  136. package/dist/doc/zeroheight/components/1423653/change-log.md +0 -9
  137. package/dist/doc/zeroheight/components/1423653/content.md +0 -72
  138. package/dist/doc/zeroheight/components/1423653/introduction.md +0 -45
  139. package/dist/doc/zeroheight/components/1423653/meta.json +0 -17
  140. package/dist/doc/zeroheight/components/1423737/change-log.md +0 -1
  141. package/dist/doc/zeroheight/components/1423737/description.md +0 -1
  142. package/dist/doc/zeroheight/components/1423737/introduction.md +0 -17
  143. package/dist/doc/zeroheight/components/1423737/meta.json +0 -17
  144. package/dist/doc/zeroheight/components/1423737/usage.md +0 -1
  145. package/dist/doc/zeroheight/components/1465673/code.md +0 -1
  146. package/dist/doc/zeroheight/components/1465673/content.md +0 -1
  147. package/dist/doc/zeroheight/components/1465673/description.md +0 -1
  148. package/dist/doc/zeroheight/components/1465673/introduction.md +0 -29
  149. package/dist/doc/zeroheight/components/1465673/meta.json +0 -18
  150. package/dist/doc/zeroheight/components/1465673/usage.md +0 -1
  151. package/dist/doc/zeroheight/components/1475881/change-log.md +0 -1
  152. package/dist/doc/zeroheight/components/1475881/description.md +0 -1
  153. package/dist/doc/zeroheight/components/1475881/introduction.md +0 -42
  154. package/dist/doc/zeroheight/components/1475881/meta.json +0 -17
  155. package/dist/doc/zeroheight/components/1475881/usage.md +0 -7
  156. package/dist/doc/zeroheight/components/2271816/change-log.md +0 -1
  157. package/dist/doc/zeroheight/components/2271816/introduction.md +0 -19
  158. package/dist/doc/zeroheight/components/2271816/meta.json +0 -17
  159. package/dist/doc/zeroheight/components/2271816/usage.md +0 -1
  160. package/dist/doc/zeroheight/components/2352087/change-log.md +0 -1
  161. package/dist/doc/zeroheight/components/2352087/content.md +0 -82
  162. package/dist/doc/zeroheight/components/2352087/description.md +0 -1
  163. package/dist/doc/zeroheight/components/2352087/introduction.md +0 -18
  164. package/dist/doc/zeroheight/components/2352087/meta.json +0 -18
  165. package/dist/doc/zeroheight/components/2352087/usage.md +0 -13
  166. package/dist/doc/zeroheight/components/2411991/content.md +0 -1
  167. package/dist/doc/zeroheight/components/2411991/description.md +0 -1
  168. package/dist/doc/zeroheight/components/2411991/introduction.md +0 -27
  169. package/dist/doc/zeroheight/components/2411991/meta.json +0 -18
  170. package/dist/doc/zeroheight/components/2411991/release-log.md +0 -1
  171. package/dist/doc/zeroheight/components/2411991/usage.md +0 -1
  172. package/dist/doc/zeroheight/components/2427736/change-log.md +0 -1
  173. package/dist/doc/zeroheight/components/2427736/description.md +0 -1
  174. package/dist/doc/zeroheight/components/2427736/introduction.md +0 -11
  175. package/dist/doc/zeroheight/components/2427736/meta.json +0 -17
  176. package/dist/doc/zeroheight/components/2427736/usage.md +0 -1
  177. package/dist/doc/zeroheight/components/2427817/change-log.md +0 -1
  178. package/dist/doc/zeroheight/components/2427817/content.md +0 -69
  179. package/dist/doc/zeroheight/components/2427817/description.md +0 -1
  180. package/dist/doc/zeroheight/components/2427817/meta.json +0 -18
  181. package/dist/doc/zeroheight/components/2427817/overview.md +0 -22
  182. package/dist/doc/zeroheight/components/2427817/usage.md +0 -23
  183. package/dist/doc/zeroheight/components/2432739/change-log.md +0 -1
  184. package/dist/doc/zeroheight/components/2432739/content.md +0 -112
  185. package/dist/doc/zeroheight/components/2432739/description.md +0 -1
  186. package/dist/doc/zeroheight/components/2432739/meta.json +0 -18
  187. package/dist/doc/zeroheight/components/2432739/overview.md +0 -17
  188. package/dist/doc/zeroheight/components/2432739/usage.md +0 -43
  189. package/dist/doc/zeroheight/components/2434826/change-log.md +0 -1
  190. package/dist/doc/zeroheight/components/2434826/content.md +0 -72
  191. package/dist/doc/zeroheight/components/2434826/description.md +0 -1
  192. package/dist/doc/zeroheight/components/2434826/introduction.md +0 -15
  193. package/dist/doc/zeroheight/components/2434826/meta.json +0 -17
  194. package/dist/doc/zeroheight/components/2564356/code.md +0 -1
  195. package/dist/doc/zeroheight/components/2564356/description.md +0 -1
  196. package/dist/doc/zeroheight/components/2564356/introduction.md +0 -39
  197. package/dist/doc/zeroheight/components/2564356/meta.json +0 -17
  198. package/dist/doc/zeroheight/components/2564356/usage.md +0 -14
  199. package/dist/doc/zeroheight/components/2849141/content.md +0 -114
  200. package/dist/doc/zeroheight/components/2849141/description.md +0 -1
  201. package/dist/doc/zeroheight/components/2849141/meta.json +0 -17
  202. package/dist/doc/zeroheight/components/2849141/overview.md +0 -19
  203. package/dist/doc/zeroheight/components/2849141/usage.md +0 -22
  204. package/dist/doc/zeroheight/components/3079912/change-log.md +0 -1
  205. package/dist/doc/zeroheight/components/3079912/content.md +0 -35
  206. package/dist/doc/zeroheight/components/3079912/description.md +0 -1
  207. package/dist/doc/zeroheight/components/3079912/meta.json +0 -18
  208. package/dist/doc/zeroheight/components/3079912/overview.md +0 -11
  209. package/dist/doc/zeroheight/components/3079912/usage.md +0 -16
  210. package/dist/doc/zeroheight/components/3095627/change-log.md +0 -1
  211. package/dist/doc/zeroheight/components/3095627/content.md +0 -1
  212. package/dist/doc/zeroheight/components/3095627/description.md +0 -1
  213. package/dist/doc/zeroheight/components/3095627/meta.json +0 -18
  214. package/dist/doc/zeroheight/components/3095627/overview.md +0 -33
  215. package/dist/doc/zeroheight/components/3095627/usage.md +0 -1
  216. package/dist/doc/zeroheight/components/4065429/change-log.md +0 -1
  217. package/dist/doc/zeroheight/components/4065429/content.md +0 -1
  218. package/dist/doc/zeroheight/components/4065429/description.md +0 -3
  219. package/dist/doc/zeroheight/components/4065429/meta.json +0 -18
  220. package/dist/doc/zeroheight/components/4065429/overview.md +0 -34
  221. package/dist/doc/zeroheight/components/4065429/usage.md +0 -17
  222. package/dist/doc/zeroheight/components/4070710/change-log.md +0 -1
  223. package/dist/doc/zeroheight/components/4070710/content.md +0 -87
  224. package/dist/doc/zeroheight/components/4070710/description.md +0 -1
  225. package/dist/doc/zeroheight/components/4070710/introduction.md +0 -13
  226. package/dist/doc/zeroheight/components/4070710/meta.json +0 -18
  227. package/dist/doc/zeroheight/components/4070710/usage.md +0 -30
  228. package/dist/doc/zeroheight/components/4273331/change-log.md +0 -1
  229. package/dist/doc/zeroheight/components/4273331/content.md +0 -1
  230. package/dist/doc/zeroheight/components/4273331/description.md +0 -1
  231. package/dist/doc/zeroheight/components/4273331/meta.json +0 -18
  232. package/dist/doc/zeroheight/components/4273331/overview.md +0 -18
  233. package/dist/doc/zeroheight/components/4273331/usage.md +0 -14
  234. package/dist/doc/zeroheight/components/4273801/animation.md +0 -1
  235. package/dist/doc/zeroheight/components/4273801/code.md +0 -6
  236. package/dist/doc/zeroheight/components/4273801/description.md +0 -1
  237. package/dist/doc/zeroheight/components/4273801/introduction.md +0 -28
  238. package/dist/doc/zeroheight/components/4273801/meta.json +0 -18
  239. package/dist/doc/zeroheight/components/4273801/usage.md +0 -14
  240. package/dist/doc/zeroheight/components/4328173/change-log.md +0 -1
  241. package/dist/doc/zeroheight/components/4328173/content.md +0 -1
  242. package/dist/doc/zeroheight/components/4328173/description.md +0 -1
  243. package/dist/doc/zeroheight/components/4328173/introduction.md +0 -9
  244. package/dist/doc/zeroheight/components/4328173/meta.json +0 -18
  245. package/dist/doc/zeroheight/components/4328173/usage.md +0 -5
  246. package/dist/doc/zeroheight/components/4593875/change-log.md +0 -1
  247. package/dist/doc/zeroheight/components/4593875/content.md +0 -48
  248. package/dist/doc/zeroheight/components/4593875/description.md +0 -1
  249. package/dist/doc/zeroheight/components/4593875/meta.json +0 -18
  250. package/dist/doc/zeroheight/components/4593875/overview.md +0 -44
  251. package/dist/doc/zeroheight/components/4593875/usage.md +0 -55
  252. package/dist/doc/zeroheight/components/4599330/change-log.md +0 -1
  253. package/dist/doc/zeroheight/components/4599330/content.md +0 -1
  254. package/dist/doc/zeroheight/components/4599330/description.md +0 -1
  255. package/dist/doc/zeroheight/components/4599330/meta.json +0 -18
  256. package/dist/doc/zeroheight/components/4599330/overview.md +0 -25
  257. package/dist/doc/zeroheight/components/4599330/usage.md +0 -16
  258. package/dist/doc/zeroheight/components/4656241/change-log.md +0 -1
  259. package/dist/doc/zeroheight/components/4656241/content.md +0 -28
  260. package/dist/doc/zeroheight/components/4656241/description.md +0 -1
  261. package/dist/doc/zeroheight/components/4656241/introduction.md +0 -18
  262. package/dist/doc/zeroheight/components/4656241/meta.json +0 -18
  263. package/dist/doc/zeroheight/components/4656241/usage.md +0 -17
  264. package/dist/doc/zeroheight/components/4675975/change-log.md +0 -1
  265. package/dist/doc/zeroheight/components/4675975/description.md +0 -1
  266. package/dist/doc/zeroheight/components/4675975/introduction.md +0 -41
  267. package/dist/doc/zeroheight/components/4675975/meta.json +0 -17
  268. package/dist/doc/zeroheight/components/4675975/usage.md +0 -1
  269. package/dist/doc/zeroheight/components/6305853/content.md +0 -3
  270. package/dist/doc/zeroheight/components/6305853/introduction.md +0 -17
  271. package/dist/doc/zeroheight/components/6305853/meta.json +0 -17
  272. package/dist/doc/zeroheight/components/6305853/usage.md +0 -14
  273. package/dist/doc/zeroheight/components/6968477/change-log.md +0 -1
  274. package/dist/doc/zeroheight/components/6968477/introduction.md +0 -11
  275. package/dist/doc/zeroheight/components/6968477/meta.json +0 -17
  276. package/dist/doc/zeroheight/components/6968477/usage.md +0 -1
  277. package/dist/doc/zeroheight/components/6972500/change-log.md +0 -1
  278. package/dist/doc/zeroheight/components/6972500/content.md +0 -41
  279. package/dist/doc/zeroheight/components/6972500/description.md +0 -1
  280. package/dist/doc/zeroheight/components/6972500/introduction.md +0 -11
  281. package/dist/doc/zeroheight/components/6972500/meta.json +0 -18
  282. package/dist/doc/zeroheight/components/6972500/usage.md +0 -1
  283. package/dist/doc/zeroheight/components/7340384/content.md +0 -4
  284. package/dist/doc/zeroheight/components/7340384/description.md +0 -1
  285. package/dist/doc/zeroheight/components/7340384/introduction.md +0 -11
  286. package/dist/doc/zeroheight/components/7340384/meta.json +0 -17
  287. package/dist/doc/zeroheight/components/7340384/usage.md +0 -8
  288. package/dist/doc/zeroheight/components/8043088/change-log.md +0 -1
  289. package/dist/doc/zeroheight/components/8043088/content.md +0 -1
  290. package/dist/doc/zeroheight/components/8043088/description.md +0 -1
  291. package/dist/doc/zeroheight/components/8043088/meta.json +0 -18
  292. package/dist/doc/zeroheight/components/8043088/overview.md +0 -35
  293. package/dist/doc/zeroheight/components/8043088/usage.md +0 -18
  294. package/dist/doc/zeroheight/components/8386038/change-logs.md +0 -1
  295. package/dist/doc/zeroheight/components/8386038/content.md +0 -34
  296. package/dist/doc/zeroheight/components/8386038/description.md +0 -1
  297. package/dist/doc/zeroheight/components/8386038/introduction.md +0 -7
  298. package/dist/doc/zeroheight/components/8386038/meta.json +0 -18
  299. package/dist/doc/zeroheight/components/8386038/usage.md +0 -6
  300. package/dist/doc/zeroheight/components/8408347/change-log.md +0 -1
  301. package/dist/doc/zeroheight/components/8408347/content.md +0 -38
  302. package/dist/doc/zeroheight/components/8408347/description.md +0 -1
  303. package/dist/doc/zeroheight/components/8408347/introduction.md +0 -9
  304. package/dist/doc/zeroheight/components/8408347/meta.json +0 -18
  305. package/dist/doc/zeroheight/components/8408347/usage.md +0 -11
  306. package/dist/doc/zeroheight/components/8636827/change-log.md +0 -1
  307. package/dist/doc/zeroheight/components/8636827/content.md +0 -82
  308. package/dist/doc/zeroheight/components/8636827/description.md +0 -1
  309. package/dist/doc/zeroheight/components/8636827/introduction.md +0 -19
  310. package/dist/doc/zeroheight/components/8636827/meta.json +0 -18
  311. package/dist/doc/zeroheight/components/8636827/usage.md +0 -13
  312. package/dist/doc/zeroheight/foundations/1398439/description.md +0 -1
  313. package/dist/doc/zeroheight/foundations/1398439/ia-colors.md +0 -4
  314. package/dist/doc/zeroheight/foundations/1398439/meta.json +0 -17
  315. package/dist/doc/zeroheight/foundations/1398439/overview.md +0 -29
  316. package/dist/doc/zeroheight/foundations/1398439/usage.md +0 -11
  317. package/dist/doc/zeroheight/foundations/1612530/description.md +0 -1
  318. package/dist/doc/zeroheight/foundations/1612530/meta.json +0 -15
  319. package/dist/doc/zeroheight/foundations/1612530/overview.md +0 -27
  320. package/dist/doc/zeroheight/foundations/2147931/description.md +0 -1
  321. package/dist/doc/zeroheight/foundations/2147931/meta.json +0 -16
  322. package/dist/doc/zeroheight/foundations/2147931/overview.md +0 -42
  323. package/dist/doc/zeroheight/foundations/2147931/usage.md +0 -4
  324. package/dist/doc/zeroheight/foundations/2147933/description.md +0 -1
  325. package/dist/doc/zeroheight/foundations/2147933/meta.json +0 -16
  326. package/dist/doc/zeroheight/foundations/2147933/overview.md +0 -19
  327. package/dist/doc/zeroheight/foundations/2147933/usage.md +0 -2
  328. package/dist/doc/zeroheight/foundations/2266238/description.md +0 -1
  329. package/dist/doc/zeroheight/foundations/2266238/meta.json +0 -15
  330. package/dist/doc/zeroheight/foundations/2266238/overview.md +0 -10
  331. package/dist/doc/zeroheight/foundations/2488627/description.md +0 -1
  332. package/dist/doc/zeroheight/foundations/2488627/meta.json +0 -15
  333. package/dist/doc/zeroheight/foundations/2488627/overview.md +0 -16
  334. package/dist/doc/zeroheight/foundations/4055467/description.md +0 -1
  335. package/dist/doc/zeroheight/foundations/4055467/download.md +0 -1
  336. package/dist/doc/zeroheight/foundations/4055467/meta.json +0 -18
  337. package/dist/doc/zeroheight/foundations/4055467/overview.md +0 -29
  338. package/dist/doc/zeroheight/foundations/4055467/text-styles.md +0 -3
  339. package/dist/doc/zeroheight/foundations/4055467/usage.md +0 -11
  340. package/dist/doc/zeroheight/foundations/4845111/description.md +0 -1
  341. package/dist/doc/zeroheight/foundations/4845111/fonts.md +0 -37
  342. package/dist/doc/zeroheight/foundations/4845111/meta.json +0 -16
  343. package/dist/doc/zeroheight/foundations/4845111/usage.md +0 -9
  344. package/dist/doc/zeroheight/foundations/4845112/description.md +0 -1
  345. package/dist/doc/zeroheight/foundations/4845112/malt-colors-usage.md +0 -9
  346. package/dist/doc/zeroheight/foundations/4845112/malt-colors.md +0 -14
  347. package/dist/doc/zeroheight/foundations/4845112/meta.json +0 -16
  348. package/dist/doc/zeroheight/foundations/7486175/introduction.md +0 -3
  349. package/dist/doc/zeroheight/foundations/7486175/meta.json +0 -13
  350. package/dist/doc/zeroheight/guidelines/1398442/change-log.md +0 -1
  351. package/dist/doc/zeroheight/guidelines/1398442/description.md +0 -1
  352. package/dist/doc/zeroheight/guidelines/1398442/library.md +0 -18
  353. package/dist/doc/zeroheight/guidelines/1398442/meta.json +0 -19
  354. package/dist/doc/zeroheight/guidelines/1398442/overview.md +0 -44
  355. package/dist/doc/zeroheight/guidelines/1398442/request-an-icon.md +0 -24
  356. package/dist/doc/zeroheight/guidelines/1398442/usage.md +0 -51
  357. package/dist/doc/zeroheight/guidelines/1398447/introduction.md +0 -1
  358. package/dist/doc/zeroheight/guidelines/1398447/meta.json +0 -16
  359. package/dist/doc/zeroheight/guidelines/1398447/team.md +0 -1
  360. package/dist/doc/zeroheight/guidelines/1423622/change-logs.md +0 -1
  361. package/dist/doc/zeroheight/guidelines/1423622/content.md +0 -72
  362. package/dist/doc/zeroheight/guidelines/1423622/description.md +0 -1
  363. package/dist/doc/zeroheight/guidelines/1423622/introduction.md +0 -29
  364. package/dist/doc/zeroheight/guidelines/1423622/meta.json +0 -18
  365. package/dist/doc/zeroheight/guidelines/1423622/usage.md +0 -14
  366. package/dist/doc/zeroheight/guidelines/1423646/change-log.md +0 -1
  367. package/dist/doc/zeroheight/guidelines/1423646/content.md +0 -36
  368. package/dist/doc/zeroheight/guidelines/1423646/description.md +0 -1
  369. package/dist/doc/zeroheight/guidelines/1423646/introduction.md +0 -27
  370. package/dist/doc/zeroheight/guidelines/1423646/meta.json +0 -18
  371. package/dist/doc/zeroheight/guidelines/1423646/usage.md +0 -19
  372. package/dist/doc/zeroheight/guidelines/1423650/change-log.md +0 -1
  373. package/dist/doc/zeroheight/guidelines/1423650/content.md +0 -72
  374. package/dist/doc/zeroheight/guidelines/1423650/introduction.md +0 -17
  375. package/dist/doc/zeroheight/guidelines/1423650/meta.json +0 -17
  376. package/dist/doc/zeroheight/guidelines/1465972/code.md +0 -1
  377. package/dist/doc/zeroheight/guidelines/1465972/content.md +0 -1
  378. package/dist/doc/zeroheight/guidelines/1465972/description.md +0 -1
  379. package/dist/doc/zeroheight/guidelines/1465972/introduction.md +0 -36
  380. package/dist/doc/zeroheight/guidelines/1465972/meta.json +0 -18
  381. package/dist/doc/zeroheight/guidelines/1465972/usage.md +0 -1
  382. package/dist/doc/zeroheight/guidelines/1476144/change-log.md +0 -1
  383. package/dist/doc/zeroheight/guidelines/1476144/content.md +0 -114
  384. package/dist/doc/zeroheight/guidelines/1476144/introduction.md +0 -41
  385. package/dist/doc/zeroheight/guidelines/1476144/meta.json +0 -18
  386. package/dist/doc/zeroheight/guidelines/1476144/usage.md +0 -74
  387. package/dist/doc/zeroheight/guidelines/1526588/description.md +0 -1
  388. package/dist/doc/zeroheight/guidelines/1526588/grid-system.md +0 -16
  389. package/dist/doc/zeroheight/guidelines/1526588/meta.json +0 -16
  390. package/dist/doc/zeroheight/guidelines/1526588/overview.md +0 -20
  391. package/dist/doc/zeroheight/guidelines/2126958/joy-major-release.md +0 -50
  392. package/dist/doc/zeroheight/guidelines/2126958/last-updates.md +0 -3
  393. package/dist/doc/zeroheight/guidelines/2126958/meta.json +0 -17
  394. package/dist/doc/zeroheight/guidelines/2126958/zeroheight.md +0 -9
  395. package/dist/doc/zeroheight/guidelines/2147712/description.md +0 -1
  396. package/dist/doc/zeroheight/guidelines/2147712/introduction.md +0 -5
  397. package/dist/doc/zeroheight/guidelines/2147712/meta.json +0 -13
  398. package/dist/doc/zeroheight/guidelines/2147713/introduction.md +0 -3
  399. package/dist/doc/zeroheight/guidelines/2147713/meta.json +0 -13
  400. package/dist/doc/zeroheight/guidelines/2147725/figma-libraries.md +0 -1
  401. package/dist/doc/zeroheight/guidelines/2147725/malt-typographies.md +0 -1
  402. package/dist/doc/zeroheight/guidelines/2147725/meta.json +0 -17
  403. package/dist/doc/zeroheight/guidelines/2147725/structure.md +0 -1
  404. package/dist/doc/zeroheight/guidelines/2147866/description.md +0 -1
  405. package/dist/doc/zeroheight/guidelines/2147866/introduction.md +0 -9
  406. package/dist/doc/zeroheight/guidelines/2147866/meta.json +0 -13
  407. package/dist/doc/zeroheight/guidelines/2147919/introduction.md +0 -9
  408. package/dist/doc/zeroheight/guidelines/2147919/meta.json +0 -13
  409. package/dist/doc/zeroheight/guidelines/2147920/description.md +0 -1
  410. package/dist/doc/zeroheight/guidelines/2147920/introduction.md +0 -5
  411. package/dist/doc/zeroheight/guidelines/2147920/meta.json +0 -13
  412. package/dist/doc/zeroheight/guidelines/2147925/description.md +0 -1
  413. package/dist/doc/zeroheight/guidelines/2147925/introduction.md +0 -1
  414. package/dist/doc/zeroheight/guidelines/2147925/meta.json +0 -13
  415. package/dist/doc/zeroheight/guidelines/2148354/introduction.md +0 -18
  416. package/dist/doc/zeroheight/guidelines/2148354/meta.json +0 -13
  417. package/dist/doc/zeroheight/guidelines/2266527/content.md +0 -1
  418. package/dist/doc/zeroheight/guidelines/2266527/introduction.md +0 -32
  419. package/dist/doc/zeroheight/guidelines/2266527/meta.json +0 -17
  420. package/dist/doc/zeroheight/guidelines/2266527/usage.md +0 -1
  421. package/dist/doc/zeroheight/guidelines/2287200/description.md +0 -1
  422. package/dist/doc/zeroheight/guidelines/2287200/introduction.md +0 -1
  423. package/dist/doc/zeroheight/guidelines/2287200/meta.json +0 -13
  424. package/dist/doc/zeroheight/guidelines/2287201/code.md +0 -1
  425. package/dist/doc/zeroheight/guidelines/2287201/description.md +0 -1
  426. package/dist/doc/zeroheight/guidelines/2287201/introduction.md +0 -11
  427. package/dist/doc/zeroheight/guidelines/2287201/meta.json +0 -17
  428. package/dist/doc/zeroheight/guidelines/2287201/usage.md +0 -1
  429. package/dist/doc/zeroheight/guidelines/2303886/description.md +0 -1
  430. package/dist/doc/zeroheight/guidelines/2303886/introduction.md +0 -15
  431. package/dist/doc/zeroheight/guidelines/2303886/malts-design-principles-cards.md +0 -1
  432. package/dist/doc/zeroheight/guidelines/2303886/meta.json +0 -16
  433. package/dist/doc/zeroheight/guidelines/2304138/description.md +0 -1
  434. package/dist/doc/zeroheight/guidelines/2304138/introduction.md +0 -13
  435. package/dist/doc/zeroheight/guidelines/2304138/meta.json +0 -13
  436. package/dist/doc/zeroheight/guidelines/2351818/change-log.md +0 -1
  437. package/dist/doc/zeroheight/guidelines/2351818/description.md +0 -1
  438. package/dist/doc/zeroheight/guidelines/2351818/introduction.md +0 -32
  439. package/dist/doc/zeroheight/guidelines/2351818/meta.json +0 -16
  440. package/dist/doc/zeroheight/guidelines/2352029/code.md +0 -1
  441. package/dist/doc/zeroheight/guidelines/2352029/content.md +0 -1
  442. package/dist/doc/zeroheight/guidelines/2352029/description.md +0 -1
  443. package/dist/doc/zeroheight/guidelines/2352029/funnel-headers.md +0 -31
  444. package/dist/doc/zeroheight/guidelines/2352029/introduction.md +0 -13
  445. package/dist/doc/zeroheight/guidelines/2352029/meta.json +0 -19
  446. package/dist/doc/zeroheight/guidelines/2352029/usage.md +0 -6
  447. package/dist/doc/zeroheight/guidelines/2380975/change-log.md +0 -1
  448. package/dist/doc/zeroheight/guidelines/2380975/description.md +0 -1
  449. package/dist/doc/zeroheight/guidelines/2380975/introduction.md +0 -11
  450. package/dist/doc/zeroheight/guidelines/2380975/meta.json +0 -17
  451. package/dist/doc/zeroheight/guidelines/2380975/usage.md +0 -6
  452. package/dist/doc/zeroheight/guidelines/2427804/change-log.md +0 -1
  453. package/dist/doc/zeroheight/guidelines/2427804/content.md +0 -1
  454. package/dist/doc/zeroheight/guidelines/2427804/description.md +0 -1
  455. package/dist/doc/zeroheight/guidelines/2427804/introduction.md +0 -11
  456. package/dist/doc/zeroheight/guidelines/2427804/meta.json +0 -18
  457. package/dist/doc/zeroheight/guidelines/2427804/usage.md +0 -1
  458. package/dist/doc/zeroheight/guidelines/2427818/change-log.md +0 -1
  459. package/dist/doc/zeroheight/guidelines/2427818/description.md +0 -1
  460. package/dist/doc/zeroheight/guidelines/2427818/introduction.md +0 -13
  461. package/dist/doc/zeroheight/guidelines/2427818/meta.json +0 -17
  462. package/dist/doc/zeroheight/guidelines/2427818/usage.md +0 -9
  463. package/dist/doc/zeroheight/guidelines/2433031/change-log.md +0 -1
  464. package/dist/doc/zeroheight/guidelines/2433031/description.md +0 -1
  465. package/dist/doc/zeroheight/guidelines/2433031/introduction.md +0 -15
  466. package/dist/doc/zeroheight/guidelines/2433031/meta.json +0 -17
  467. package/dist/doc/zeroheight/guidelines/2433031/usage.md +0 -4
  468. package/dist/doc/zeroheight/guidelines/2447204/figma-cover.md +0 -3
  469. package/dist/doc/zeroheight/guidelines/2447204/figma-page-structure.md +0 -3
  470. package/dist/doc/zeroheight/guidelines/2447204/meta.json +0 -17
  471. package/dist/doc/zeroheight/guidelines/2447204/template.md +0 -42
  472. package/dist/doc/zeroheight/guidelines/2465594/change-log.md +0 -1
  473. package/dist/doc/zeroheight/guidelines/2465594/content.md +0 -1
  474. package/dist/doc/zeroheight/guidelines/2465594/description.md +0 -1
  475. package/dist/doc/zeroheight/guidelines/2465594/introduction.md +0 -35
  476. package/dist/doc/zeroheight/guidelines/2465594/meta.json +0 -18
  477. package/dist/doc/zeroheight/guidelines/2465594/usage.md +0 -8
  478. package/dist/doc/zeroheight/guidelines/2487804/description.md +0 -1
  479. package/dist/doc/zeroheight/guidelines/2487804/introduction.md +0 -5
  480. package/dist/doc/zeroheight/guidelines/2487804/meta.json +0 -16
  481. package/dist/doc/zeroheight/guidelines/2487804/usage.md +0 -14
  482. package/dist/doc/zeroheight/guidelines/2732341/components.md +0 -24
  483. package/dist/doc/zeroheight/guidelines/2732341/core-design.md +0 -15
  484. package/dist/doc/zeroheight/guidelines/2732341/description.md +0 -1
  485. package/dist/doc/zeroheight/guidelines/2732341/design-tokens.md +0 -34
  486. package/dist/doc/zeroheight/guidelines/2732341/meta.json +0 -18
  487. package/dist/doc/zeroheight/guidelines/2732341/theme.md +0 -20
  488. package/dist/doc/zeroheight/guidelines/3060512/description.md +0 -1
  489. package/dist/doc/zeroheight/guidelines/3060512/introduction.md +0 -1
  490. package/dist/doc/zeroheight/guidelines/3060512/meta.json +0 -13
  491. package/dist/doc/zeroheight/guidelines/3060514/description.md +0 -1
  492. package/dist/doc/zeroheight/guidelines/3060514/meta.json +0 -16
  493. package/dist/doc/zeroheight/guidelines/3060514/overview.md +0 -9
  494. package/dist/doc/zeroheight/guidelines/3060514/usage.md +0 -36
  495. package/dist/doc/zeroheight/guidelines/3279582/content-localization-plugin.md +0 -27
  496. package/dist/doc/zeroheight/guidelines/3279582/description.md +0 -1
  497. package/dist/doc/zeroheight/guidelines/3279582/meta.json +0 -17
  498. package/dist/doc/zeroheight/guidelines/3279582/plugins.md +0 -46
  499. package/dist/doc/zeroheight/guidelines/3279582/widgets.md +0 -18
  500. package/dist/doc/zeroheight/guidelines/3286138/changelog.md +0 -1
  501. package/dist/doc/zeroheight/guidelines/3286138/content.md +0 -1
  502. package/dist/doc/zeroheight/guidelines/3286138/description.md +0 -1
  503. package/dist/doc/zeroheight/guidelines/3286138/introduction.md +0 -47
  504. package/dist/doc/zeroheight/guidelines/3286138/meta.json +0 -18
  505. package/dist/doc/zeroheight/guidelines/3286138/usage.md +0 -11
  506. package/dist/doc/zeroheight/guidelines/3780230/introduction.md +0 -36
  507. package/dist/doc/zeroheight/guidelines/3780230/meta.json +0 -13
  508. package/dist/doc/zeroheight/guidelines/3781391/code.md +0 -1
  509. package/dist/doc/zeroheight/guidelines/3781391/description.md +0 -1
  510. package/dist/doc/zeroheight/guidelines/3781391/introduction.md +0 -38
  511. package/dist/doc/zeroheight/guidelines/3781391/meta.json +0 -17
  512. package/dist/doc/zeroheight/guidelines/3781391/usage.md +0 -14
  513. package/dist/doc/zeroheight/guidelines/3782376/code.md +0 -1
  514. package/dist/doc/zeroheight/guidelines/3782376/description.md +0 -1
  515. package/dist/doc/zeroheight/guidelines/3782376/introduction.md +0 -11
  516. package/dist/doc/zeroheight/guidelines/3782376/meta.json +0 -17
  517. package/dist/doc/zeroheight/guidelines/3782376/usage.md +0 -11
  518. package/dist/doc/zeroheight/guidelines/3992574/create-a-jira-ticket-for-development.md +0 -47
  519. package/dist/doc/zeroheight/guidelines/3992574/create-a-notion-ticket.md +0 -51
  520. package/dist/doc/zeroheight/guidelines/3992574/description.md +0 -1
  521. package/dist/doc/zeroheight/guidelines/3992574/meta.json +0 -17
  522. package/dist/doc/zeroheight/guidelines/3992574/workflow.md +0 -87
  523. package/dist/doc/zeroheight/guidelines/4083384/content.md +0 -1
  524. package/dist/doc/zeroheight/guidelines/4083384/description.md +0 -1
  525. package/dist/doc/zeroheight/guidelines/4083384/introduction.md +0 -1
  526. package/dist/doc/zeroheight/guidelines/4083384/meta.json +0 -17
  527. package/dist/doc/zeroheight/guidelines/4083384/usage.md +0 -14
  528. package/dist/doc/zeroheight/guidelines/4328996/change-log.md +0 -1
  529. package/dist/doc/zeroheight/guidelines/4328996/introduction.md +0 -13
  530. package/dist/doc/zeroheight/guidelines/4328996/meta.json +0 -17
  531. package/dist/doc/zeroheight/guidelines/4328996/usage.md +0 -5
  532. package/dist/doc/zeroheight/guidelines/4359856/description.md +0 -1
  533. package/dist/doc/zeroheight/guidelines/4359856/introduction.md +0 -37
  534. package/dist/doc/zeroheight/guidelines/4359856/meta.json +0 -13
  535. package/dist/doc/zeroheight/guidelines/4406320/description.md +0 -1
  536. package/dist/doc/zeroheight/guidelines/4406320/introduction.md +0 -31
  537. package/dist/doc/zeroheight/guidelines/4406320/meta.json +0 -13
  538. package/dist/doc/zeroheight/guidelines/4408066/changelog.md +0 -1
  539. package/dist/doc/zeroheight/guidelines/4408066/content.md +0 -89
  540. package/dist/doc/zeroheight/guidelines/4408066/description.md +0 -1
  541. package/dist/doc/zeroheight/guidelines/4408066/meta.json +0 -18
  542. package/dist/doc/zeroheight/guidelines/4408066/overview.md +0 -49
  543. package/dist/doc/zeroheight/guidelines/4408066/usage.md +0 -24
  544. package/dist/doc/zeroheight/guidelines/4544263/description.md +0 -1
  545. package/dist/doc/zeroheight/guidelines/4544263/introduction.md +0 -9
  546. package/dist/doc/zeroheight/guidelines/4544263/meta.json +0 -16
  547. package/dist/doc/zeroheight/guidelines/4544263/ui-guidelines.md +0 -75
  548. package/dist/doc/zeroheight/guidelines/4565202/definition.md +0 -29
  549. package/dist/doc/zeroheight/guidelines/4565202/meta.json +0 -16
  550. package/dist/doc/zeroheight/guidelines/4565202/usage.md +0 -27
  551. package/dist/doc/zeroheight/guidelines/4845035/description.md +0 -1
  552. package/dist/doc/zeroheight/guidelines/4845035/introduction.md +0 -49
  553. package/dist/doc/zeroheight/guidelines/4845035/meta.json +0 -13
  554. package/dist/doc/zeroheight/guidelines/4845039/introduction.md +0 -25
  555. package/dist/doc/zeroheight/guidelines/4845039/meta.json +0 -17
  556. package/dist/doc/zeroheight/guidelines/4845039/offers.md +0 -41
  557. package/dist/doc/zeroheight/guidelines/4845039/our-strategy.md +0 -26
  558. package/dist/doc/zeroheight/guidelines/4845106/description.md +0 -1
  559. package/dist/doc/zeroheight/guidelines/4845106/introduction.md +0 -16
  560. package/dist/doc/zeroheight/guidelines/4845106/meta.json +0 -13
  561. package/dist/doc/zeroheight/guidelines/4845108/introduction.md +0 -10
  562. package/dist/doc/zeroheight/guidelines/4845108/meta.json +0 -13
  563. package/dist/doc/zeroheight/guidelines/4845110/malt-logos.md +0 -23
  564. package/dist/doc/zeroheight/guidelines/4845110/meta.json +0 -16
  565. package/dist/doc/zeroheight/guidelines/4845110/usage.md +0 -12
  566. package/dist/doc/zeroheight/guidelines/4845113/art-direction.md +0 -11
  567. package/dist/doc/zeroheight/guidelines/4845113/description.md +0 -1
  568. package/dist/doc/zeroheight/guidelines/4845113/graphic-shapes.md +0 -7
  569. package/dist/doc/zeroheight/guidelines/4845113/meta.json +0 -17
  570. package/dist/doc/zeroheight/guidelines/4845113/usage.md +0 -32
  571. package/dist/doc/zeroheight/guidelines/4845115/introduction.md +0 -1
  572. package/dist/doc/zeroheight/guidelines/4845115/meta.json +0 -13
  573. package/dist/doc/zeroheight/guidelines/4845132/introduction.md +0 -1
  574. package/dist/doc/zeroheight/guidelines/4845132/meta.json +0 -13
  575. package/dist/doc/zeroheight/guidelines/4845133/art-direction.md +0 -1
  576. package/dist/doc/zeroheight/guidelines/4845133/description.md +0 -1
  577. package/dist/doc/zeroheight/guidelines/4845133/meta.json +0 -17
  578. package/dist/doc/zeroheight/guidelines/4845133/photos.md +0 -12
  579. package/dist/doc/zeroheight/guidelines/4845133/usage.md +0 -12
  580. package/dist/doc/zeroheight/guidelines/4845134/art-direction.md +0 -1
  581. package/dist/doc/zeroheight/guidelines/4845134/meta.json +0 -17
  582. package/dist/doc/zeroheight/guidelines/4845134/usage.md +0 -1
  583. package/dist/doc/zeroheight/guidelines/4845134/videos.md +0 -7
  584. package/dist/doc/zeroheight/guidelines/4845138/introduction.md +0 -17
  585. package/dist/doc/zeroheight/guidelines/4845138/meta.json +0 -13
  586. package/dist/doc/zeroheight/guidelines/4845140/introduction.md +0 -1
  587. package/dist/doc/zeroheight/guidelines/4845140/meta.json +0 -13
  588. package/dist/doc/zeroheight/guidelines/4845141/description.md +0 -1
  589. package/dist/doc/zeroheight/guidelines/4845141/google-docs.md +0 -3
  590. package/dist/doc/zeroheight/guidelines/4845141/google-slides.md +0 -1
  591. package/dist/doc/zeroheight/guidelines/4845141/meta.json +0 -16
  592. package/dist/doc/zeroheight/guidelines/4845142/description.md +0 -1
  593. package/dist/doc/zeroheight/guidelines/4845142/introduction.md +0 -1
  594. package/dist/doc/zeroheight/guidelines/4845142/meta.json +0 -13
  595. package/dist/doc/zeroheight/guidelines/4845144/introduction.md +0 -3
  596. package/dist/doc/zeroheight/guidelines/4845144/meta.json +0 -13
  597. package/dist/doc/zeroheight/guidelines/4845145/informative-posters.md +0 -1
  598. package/dist/doc/zeroheight/guidelines/4845145/kitchen-labels.md +0 -1
  599. package/dist/doc/zeroheight/guidelines/4845145/meta.json +0 -16
  600. package/dist/doc/zeroheight/guidelines/4845147/introduction.md +0 -3
  601. package/dist/doc/zeroheight/guidelines/4845147/meta.json +0 -13
  602. package/dist/doc/zeroheight/guidelines/4845148/final-results.md +0 -1
  603. package/dist/doc/zeroheight/guidelines/4845148/graphic-materials.md +0 -1
  604. package/dist/doc/zeroheight/guidelines/4845148/meta.json +0 -16
  605. package/dist/doc/zeroheight/guidelines/4845149/business-cards.md +0 -3
  606. package/dist/doc/zeroheight/guidelines/4845149/meta.json +0 -16
  607. package/dist/doc/zeroheight/guidelines/4845149/mugs.md +0 -1
  608. package/dist/doc/zeroheight/guidelines/4859603/description.md +0 -1
  609. package/dist/doc/zeroheight/guidelines/4859603/introduction.md +0 -28
  610. package/dist/doc/zeroheight/guidelines/4859603/meta.json +0 -13
  611. package/dist/doc/zeroheight/guidelines/4860019/introduction.md +0 -1
  612. package/dist/doc/zeroheight/guidelines/4860019/meta.json +0 -13
  613. package/dist/doc/zeroheight/guidelines/4895510/description.md +0 -3
  614. package/dist/doc/zeroheight/guidelines/4895510/introduction.md +0 -55
  615. package/dist/doc/zeroheight/guidelines/4895510/meta.json +0 -13
  616. package/dist/doc/zeroheight/guidelines/4946782/cover-page.md +0 -15
  617. package/dist/doc/zeroheight/guidelines/4946782/description.md +0 -1
  618. package/dist/doc/zeroheight/guidelines/4946782/file-annotation.md +0 -15
  619. package/dist/doc/zeroheight/guidelines/4946782/layerpage-name.md +0 -32
  620. package/dist/doc/zeroheight/guidelines/4946782/meta.json +0 -19
  621. package/dist/doc/zeroheight/guidelines/4946782/organize-sections.md +0 -11
  622. package/dist/doc/zeroheight/guidelines/4946782/unliked-styles.md +0 -24
  623. package/dist/doc/zeroheight/guidelines/4951086/description.md +0 -1
  624. package/dist/doc/zeroheight/guidelines/4951086/introduction.md +0 -71
  625. package/dist/doc/zeroheight/guidelines/4951086/meta.json +0 -13
  626. package/dist/doc/zeroheight/guidelines/4951250/description.md +0 -1
  627. package/dist/doc/zeroheight/guidelines/4951250/how-to-use-it.md +0 -5
  628. package/dist/doc/zeroheight/guidelines/4951250/introduction.md +0 -3
  629. package/dist/doc/zeroheight/guidelines/4951250/meta.json +0 -17
  630. package/dist/doc/zeroheight/guidelines/4951250/where-to-find-it.md +0 -1
  631. package/dist/doc/zeroheight/guidelines/4952953/content-qa.md +0 -20
  632. package/dist/doc/zeroheight/guidelines/4952953/description.md +0 -1
  633. package/dist/doc/zeroheight/guidelines/4952953/design-system-qa.md +0 -22
  634. package/dist/doc/zeroheight/guidelines/4952953/introduction.md +0 -21
  635. package/dist/doc/zeroheight/guidelines/4952953/meta.json +0 -18
  636. package/dist/doc/zeroheight/guidelines/4952953/qa-tooling.md +0 -3
  637. package/dist/doc/zeroheight/guidelines/4955574/description.md +0 -1
  638. package/dist/doc/zeroheight/guidelines/4955574/introduction.md +0 -20
  639. package/dist/doc/zeroheight/guidelines/4955574/meta.json +0 -13
  640. package/dist/doc/zeroheight/guidelines/4964435/introduction.md +0 -49
  641. package/dist/doc/zeroheight/guidelines/4964435/meta.json +0 -13
  642. package/dist/doc/zeroheight/guidelines/4964653/description.md +0 -3
  643. package/dist/doc/zeroheight/guidelines/4964653/introduction.md +0 -29
  644. package/dist/doc/zeroheight/guidelines/4964653/meta.json +0 -13
  645. package/dist/doc/zeroheight/guidelines/5049512/description.md +0 -1
  646. package/dist/doc/zeroheight/guidelines/5049512/general-iconstrations.md +0 -3
  647. package/dist/doc/zeroheight/guidelines/5049512/malt-strategy-iconstrations.md +0 -1
  648. package/dist/doc/zeroheight/guidelines/5049512/meta.json +0 -16
  649. package/dist/doc/zeroheight/guidelines/5174186/black-lines-illustrations.md +0 -8
  650. package/dist/doc/zeroheight/guidelines/5174186/colored-illustrations.md +0 -6
  651. package/dist/doc/zeroheight/guidelines/5174186/for-developersproduct.md +0 -32
  652. package/dist/doc/zeroheight/guidelines/5174186/meta.json +0 -17
  653. package/dist/doc/zeroheight/guidelines/5178604/introduction.md +0 -11
  654. package/dist/doc/zeroheight/guidelines/5178604/meta.json +0 -13
  655. package/dist/doc/zeroheight/guidelines/5178605/definition.md +0 -25
  656. package/dist/doc/zeroheight/guidelines/5178605/description.md +0 -1
  657. package/dist/doc/zeroheight/guidelines/5178605/meta.json +0 -17
  658. package/dist/doc/zeroheight/guidelines/5178605/pillars.md +0 -10
  659. package/dist/doc/zeroheight/guidelines/5178605/resources.md +0 -1
  660. package/dist/doc/zeroheight/guidelines/5178997/meta.json +0 -16
  661. package/dist/doc/zeroheight/guidelines/5178997/principles.md +0 -29
  662. package/dist/doc/zeroheight/guidelines/5178997/tone-map.md +0 -12
  663. package/dist/doc/zeroheight/guidelines/5179000/description.md +0 -1
  664. package/dist/doc/zeroheight/guidelines/5179000/dutch.md +0 -59
  665. package/dist/doc/zeroheight/guidelines/5179000/english.md +0 -31
  666. package/dist/doc/zeroheight/guidelines/5179000/french.md +0 -68
  667. package/dist/doc/zeroheight/guidelines/5179000/german.md +0 -53
  668. package/dist/doc/zeroheight/guidelines/5179000/meta.json +0 -19
  669. package/dist/doc/zeroheight/guidelines/5179000/spanish.md +0 -22
  670. package/dist/doc/zeroheight/guidelines/5179473/dutch.md +0 -7
  671. package/dist/doc/zeroheight/guidelines/5179473/english.md +0 -7
  672. package/dist/doc/zeroheight/guidelines/5179473/french.md +0 -13
  673. package/dist/doc/zeroheight/guidelines/5179473/german.md +0 -9
  674. package/dist/doc/zeroheight/guidelines/5179473/meta.json +0 -19
  675. package/dist/doc/zeroheight/guidelines/5179473/spanish.md +0 -12
  676. package/dist/doc/zeroheight/guidelines/5179474/dutch.md +0 -114
  677. package/dist/doc/zeroheight/guidelines/5179474/english.md +0 -69
  678. package/dist/doc/zeroheight/guidelines/5179474/french.md +0 -92
  679. package/dist/doc/zeroheight/guidelines/5179474/german.md +0 -151
  680. package/dist/doc/zeroheight/guidelines/5179474/meta.json +0 -19
  681. package/dist/doc/zeroheight/guidelines/5179474/spanish.md +0 -73
  682. package/dist/doc/zeroheight/guidelines/5179475/dutch.md +0 -106
  683. package/dist/doc/zeroheight/guidelines/5179475/english.md +0 -55
  684. package/dist/doc/zeroheight/guidelines/5179475/french.md +0 -54
  685. package/dist/doc/zeroheight/guidelines/5179475/german.md +0 -97
  686. package/dist/doc/zeroheight/guidelines/5179475/meta.json +0 -19
  687. package/dist/doc/zeroheight/guidelines/5179475/spanish.md +0 -81
  688. package/dist/doc/zeroheight/guidelines/5179476/dutch.md +0 -48
  689. package/dist/doc/zeroheight/guidelines/5179476/english.md +0 -27
  690. package/dist/doc/zeroheight/guidelines/5179476/french.md +0 -55
  691. package/dist/doc/zeroheight/guidelines/5179476/german.md +0 -36
  692. package/dist/doc/zeroheight/guidelines/5179476/meta.json +0 -19
  693. package/dist/doc/zeroheight/guidelines/5179476/spanish.md +0 -40
  694. package/dist/doc/zeroheight/guidelines/5179551/dutch.md +0 -33
  695. package/dist/doc/zeroheight/guidelines/5179551/english.md +0 -82
  696. package/dist/doc/zeroheight/guidelines/5179551/french.md +0 -15
  697. package/dist/doc/zeroheight/guidelines/5179551/german.md +0 -39
  698. package/dist/doc/zeroheight/guidelines/5179551/meta.json +0 -19
  699. package/dist/doc/zeroheight/guidelines/5179551/spanish.md +0 -102
  700. package/dist/doc/zeroheight/guidelines/5193537/adding-joy.md +0 -124
  701. package/dist/doc/zeroheight/guidelines/5193537/additional-resources.md +0 -5
  702. package/dist/doc/zeroheight/guidelines/5193537/description.md +0 -1
  703. package/dist/doc/zeroheight/guidelines/5193537/introduction.md +0 -16
  704. package/dist/doc/zeroheight/guidelines/5193537/meta.json +0 -18
  705. package/dist/doc/zeroheight/guidelines/5193537/pillars.md +0 -49
  706. package/dist/doc/zeroheight/guidelines/5196622/dutch.md +0 -39
  707. package/dist/doc/zeroheight/guidelines/5196622/english.md +0 -32
  708. package/dist/doc/zeroheight/guidelines/5196622/french.md +0 -61
  709. package/dist/doc/zeroheight/guidelines/5196622/german.md +0 -39
  710. package/dist/doc/zeroheight/guidelines/5196622/meta.json +0 -19
  711. package/dist/doc/zeroheight/guidelines/5196622/spanish.md +0 -37
  712. package/dist/doc/zeroheight/guidelines/5196627/dutch.md +0 -61
  713. package/dist/doc/zeroheight/guidelines/5196627/english.md +0 -49
  714. package/dist/doc/zeroheight/guidelines/5196627/french.md +0 -124
  715. package/dist/doc/zeroheight/guidelines/5196627/german.md +0 -101
  716. package/dist/doc/zeroheight/guidelines/5196627/meta.json +0 -19
  717. package/dist/doc/zeroheight/guidelines/5196627/spanish.md +0 -61
  718. package/dist/doc/zeroheight/guidelines/5196629/dutch.md +0 -15
  719. package/dist/doc/zeroheight/guidelines/5196629/english.md +0 -15
  720. package/dist/doc/zeroheight/guidelines/5196629/french.md +0 -15
  721. package/dist/doc/zeroheight/guidelines/5196629/german.md +0 -38
  722. package/dist/doc/zeroheight/guidelines/5196629/meta.json +0 -19
  723. package/dist/doc/zeroheight/guidelines/5196629/spanish.md +0 -14
  724. package/dist/doc/zeroheight/guidelines/5196630/dutch.md +0 -37
  725. package/dist/doc/zeroheight/guidelines/5196630/english.md +0 -9
  726. package/dist/doc/zeroheight/guidelines/5196630/french.md +0 -11
  727. package/dist/doc/zeroheight/guidelines/5196630/german.md +0 -40
  728. package/dist/doc/zeroheight/guidelines/5196630/meta.json +0 -19
  729. package/dist/doc/zeroheight/guidelines/5196630/spanish.md +0 -21
  730. package/dist/doc/zeroheight/guidelines/5270669/introduction.md +0 -11
  731. package/dist/doc/zeroheight/guidelines/5270669/meta.json +0 -13
  732. package/dist/doc/zeroheight/guidelines/5540716/description.md +0 -1
  733. package/dist/doc/zeroheight/guidelines/5540716/introduction.md +0 -7
  734. package/dist/doc/zeroheight/guidelines/5540716/meta.json +0 -13
  735. package/dist/doc/zeroheight/guidelines/5596206/meta.json +0 -15
  736. package/dist/doc/zeroheight/guidelines/5596206/paris-office-pictures.md +0 -1
  737. package/dist/doc/zeroheight/guidelines/5961423/description.md +0 -1
  738. package/dist/doc/zeroheight/guidelines/5961423/desktop.md +0 -51
  739. package/dist/doc/zeroheight/guidelines/5961423/meta.json +0 -18
  740. package/dist/doc/zeroheight/guidelines/5961423/overview.md +0 -54
  741. package/dist/doc/zeroheight/guidelines/5961423/tablet-mobile.md +0 -17
  742. package/dist/doc/zeroheight/guidelines/5961423/usage.md +0 -25
  743. package/dist/doc/zeroheight/guidelines/5980570/description.md +0 -1
  744. package/dist/doc/zeroheight/guidelines/5980570/introduction.md +0 -9
  745. package/dist/doc/zeroheight/guidelines/5980570/meta.json +0 -13
  746. package/dist/doc/zeroheight/guidelines/6428505/change-log.md +0 -1
  747. package/dist/doc/zeroheight/guidelines/6428505/introduction.md +0 -20
  748. package/dist/doc/zeroheight/guidelines/6428505/meta.json +0 -17
  749. package/dist/doc/zeroheight/guidelines/6428505/usage.md +0 -12
  750. package/dist/doc/zeroheight/guidelines/6458816/code.md +0 -1
  751. package/dist/doc/zeroheight/guidelines/6458816/content.md +0 -44
  752. package/dist/doc/zeroheight/guidelines/6458816/description.md +0 -1
  753. package/dist/doc/zeroheight/guidelines/6458816/introduction.md +0 -10
  754. package/dist/doc/zeroheight/guidelines/6458816/meta.json +0 -18
  755. package/dist/doc/zeroheight/guidelines/6458816/usage.md +0 -14
  756. package/dist/doc/zeroheight/guidelines/6559814/change-logs.md +0 -1
  757. package/dist/doc/zeroheight/guidelines/6559814/content.md +0 -72
  758. package/dist/doc/zeroheight/guidelines/6559814/introduction.md +0 -11
  759. package/dist/doc/zeroheight/guidelines/6559814/meta.json +0 -17
  760. package/dist/doc/zeroheight/guidelines/6637374/description.md +0 -1
  761. package/dist/doc/zeroheight/guidelines/6637374/introduction.md +0 -1
  762. package/dist/doc/zeroheight/guidelines/6637374/meta.json +0 -13
  763. package/dist/doc/zeroheight/guidelines/6637397/description.md +0 -1
  764. package/dist/doc/zeroheight/guidelines/6637397/introduction.md +0 -1
  765. package/dist/doc/zeroheight/guidelines/6637397/meta.json +0 -13
  766. package/dist/doc/zeroheight/guidelines/6637403/description.md +0 -1
  767. package/dist/doc/zeroheight/guidelines/6637403/design-1.md +0 -7
  768. package/dist/doc/zeroheight/guidelines/6637403/design-2.md +0 -7
  769. package/dist/doc/zeroheight/guidelines/6637403/design-3.md +0 -7
  770. package/dist/doc/zeroheight/guidelines/6637403/design-4.md +0 -7
  771. package/dist/doc/zeroheight/guidelines/6637403/meta.json +0 -18
  772. package/dist/doc/zeroheight/guidelines/6637410/description.md +0 -1
  773. package/dist/doc/zeroheight/guidelines/6637410/introduction.md +0 -1
  774. package/dist/doc/zeroheight/guidelines/6637410/meta.json +0 -13
  775. package/dist/doc/zeroheight/guidelines/6637415/description.md +0 -1
  776. package/dist/doc/zeroheight/guidelines/6637415/employer-brand.md +0 -3
  777. package/dist/doc/zeroheight/guidelines/6637415/malt-strategy.md +0 -1
  778. package/dist/doc/zeroheight/guidelines/6637415/malt.md +0 -1
  779. package/dist/doc/zeroheight/guidelines/6637415/meta.json +0 -19
  780. package/dist/doc/zeroheight/guidelines/6637415/random.md +0 -1
  781. package/dist/doc/zeroheight/guidelines/6637415/seasonal.md +0 -9
  782. package/dist/doc/zeroheight/guidelines/6832117/description.md +0 -1
  783. package/dist/doc/zeroheight/guidelines/6832117/introduction.md +0 -91
  784. package/dist/doc/zeroheight/guidelines/6832117/meta.json +0 -13
  785. package/dist/doc/zeroheight/guidelines/6904773/description.md +0 -1
  786. package/dist/doc/zeroheight/guidelines/6904773/meta.json +0 -16
  787. package/dist/doc/zeroheight/guidelines/6904773/overview.md +0 -33
  788. package/dist/doc/zeroheight/guidelines/6904773/ui-kit.md +0 -27
  789. package/dist/doc/zeroheight/guidelines/7166343/changelog.md +0 -1
  790. package/dist/doc/zeroheight/guidelines/7166343/content.md +0 -94
  791. package/dist/doc/zeroheight/guidelines/7166343/description.md +0 -1
  792. package/dist/doc/zeroheight/guidelines/7166343/meta.json +0 -18
  793. package/dist/doc/zeroheight/guidelines/7166343/overview.md +0 -11
  794. package/dist/doc/zeroheight/guidelines/7166343/usage.md +0 -41
  795. package/dist/doc/zeroheight/guidelines/7291529/description.md +0 -1
  796. package/dist/doc/zeroheight/guidelines/7291529/examples.md +0 -85
  797. package/dist/doc/zeroheight/guidelines/7291529/guidelines.md +0 -34
  798. package/dist/doc/zeroheight/guidelines/7291529/meta.json +0 -17
  799. package/dist/doc/zeroheight/guidelines/7291529/overview.md +0 -37
  800. package/dist/doc/zeroheight/guidelines/7465124/description.md +0 -1
  801. package/dist/doc/zeroheight/guidelines/7465124/introduction.md +0 -13
  802. package/dist/doc/zeroheight/guidelines/7465124/meta.json +0 -13
  803. package/dist/doc/zeroheight/guidelines/7485271/description.md +0 -1
  804. package/dist/doc/zeroheight/guidelines/7485271/introduction.md +0 -1
  805. package/dist/doc/zeroheight/guidelines/7485271/meta.json +0 -13
  806. package/dist/doc/zeroheight/guidelines/7490163/description.md +0 -1
  807. package/dist/doc/zeroheight/guidelines/7490163/introduction.md +0 -13
  808. package/dist/doc/zeroheight/guidelines/7490163/meta.json +0 -13
  809. package/dist/doc/zeroheight/guidelines/7490164/description.md +0 -1
  810. package/dist/doc/zeroheight/guidelines/7490164/introduction.md +0 -13
  811. package/dist/doc/zeroheight/guidelines/7490164/meta.json +0 -13
  812. package/dist/doc/zeroheight/guidelines/7490166/description.md +0 -1
  813. package/dist/doc/zeroheight/guidelines/7490166/introduction.md +0 -13
  814. package/dist/doc/zeroheight/guidelines/7490166/meta.json +0 -13
  815. package/dist/doc/zeroheight/guidelines/7490167/description.md +0 -1
  816. package/dist/doc/zeroheight/guidelines/7490167/introduction.md +0 -13
  817. package/dist/doc/zeroheight/guidelines/7490167/meta.json +0 -13
  818. package/dist/doc/zeroheight/guidelines/7490191/description.md +0 -1
  819. package/dist/doc/zeroheight/guidelines/7490191/how-to-use-branches.md +0 -3
  820. package/dist/doc/zeroheight/guidelines/7490191/introduction.md +0 -31
  821. package/dist/doc/zeroheight/guidelines/7490191/meta.json +0 -17
  822. package/dist/doc/zeroheight/guidelines/7490191/resources.md +0 -1
  823. package/dist/doc/zeroheight/guidelines/7490209/description.md +0 -1
  824. package/dist/doc/zeroheight/guidelines/7490209/full-process.md +0 -1
  825. package/dist/doc/zeroheight/guidelines/7490209/introduction.md +0 -9
  826. package/dist/doc/zeroheight/guidelines/7490209/meta.json +0 -18
  827. package/dist/doc/zeroheight/guidelines/7490209/need-identification.md +0 -9
  828. package/dist/doc/zeroheight/guidelines/7490209/roles-and-responsibilities.md +0 -19
  829. package/dist/doc/zeroheight/guidelines/7517834/content.md +0 -78
  830. package/dist/doc/zeroheight/guidelines/7517834/description.md +0 -1
  831. package/dist/doc/zeroheight/guidelines/7517834/meta.json +0 -17
  832. package/dist/doc/zeroheight/guidelines/7517834/overview.md +0 -19
  833. package/dist/doc/zeroheight/guidelines/7517834/usage.md +0 -42
  834. package/dist/doc/zeroheight/guidelines/7629688/description.md +0 -1
  835. package/dist/doc/zeroheight/guidelines/7629688/examples.md +0 -1
  836. package/dist/doc/zeroheight/guidelines/7629688/guidelines.md +0 -1
  837. package/dist/doc/zeroheight/guidelines/7629688/meta.json +0 -17
  838. package/dist/doc/zeroheight/guidelines/7629688/overview.md +0 -7
  839. package/dist/doc/zeroheight/guidelines/8415609/change-log.md +0 -1
  840. package/dist/doc/zeroheight/guidelines/8415609/content.md +0 -52
  841. package/dist/doc/zeroheight/guidelines/8415609/description.md +0 -1
  842. package/dist/doc/zeroheight/guidelines/8415609/meta.json +0 -18
  843. package/dist/doc/zeroheight/guidelines/8415609/overview.md +0 -13
  844. package/dist/doc/zeroheight/guidelines/8415609/usage.md +0 -6
  845. package/dist/doc/zeroheight/guidelines/8548355/content.md +0 -102
  846. package/dist/doc/zeroheight/guidelines/8548355/description.md +0 -1
  847. package/dist/doc/zeroheight/guidelines/8548355/meta.json +0 -16
  848. package/dist/doc/zeroheight/guidelines/8548355/usage.md +0 -7
  849. package/dist/doc/zeroheight/index.json +0 -2577
@@ -0,0 +1,304 @@
1
+ ---
2
+ component: VJoyMenu
3
+ status: draft
4
+ language: en
5
+ dsds: JoyMenu.dsds.json
6
+ dsdsVersion: "0.15.2"
7
+ ---
8
+
9
+ # Menu
10
+
11
+ Use **`VJoyMenu`** when the user needs a **persistent vertical list of navigation destinations** — typically the sidebar in an app shell built with `VJoyTemplate`.
12
+
13
+ Compose it with **`VJoyMenuItem`** children for links, buttons, or router-aware navigation. Each item can show a leading icon, a trailing status icon, a current-page state, and disabled styling. Keyboard navigation (arrow keys, Home/End, Enter) is built in.
14
+
15
+ | | |
16
+ | --- | --- |
17
+ | **Code** | `VJoyMenu` + `VJoyMenuItem` from `@maltjoy/core-vue` |
18
+ | **Design** | [ZeroHeight — Menu](https://zeroheight.com/6bf479565/p/955426-menu) |
19
+ | **Storybook** | [VJoyMenu docs](https://doc.malt.tech/joy-storybook/?path=/docs/components-navigation-vjoymenu--docs) |
20
+ | **DSDS (machine)** | [`JoyMenu.dsds.json`](./JoyMenu.dsds.json) |
21
+ | **Live API** | `joy_get_component_info("VJoyMenu")` · `joy_get_component_info("VJoyMenuItem")` |
22
+
23
+ ---
24
+
25
+ ## When to use this component
26
+
27
+ Use a menu when users move between **sections or routes** from a fixed sidebar — for example app settings areas, account navigation, or funnel step lists inside `VJoyTemplate`.
28
+
29
+ `VJoyMenuItem` supports plain anchors (`href`), buttons (`type="button"`), and framework links (`RouterLink` / `NuxtLink` via `type` + `linkProps`). Mark the active destination with `current`.
30
+
31
+ ### When not to use this component
32
+
33
+ | Need | Use instead |
34
+ | --- | --- |
35
+ | A contextual panel that opens from a trigger (overflow, filters) | `VJoyDropdown` |
36
+ | Switching peer content panels on the same page | `VJoyTabs` |
37
+ | Choosing one value inside a labeled form field | `VJoySelect` |
38
+ | Short hover-only hints | `VJoyTooltip` |
39
+ | Main content layout chrome | `VJoyPanel` (not as a wrapper around the menu) |
40
+ | Custom `<ul>` / sidebar markup with ad-hoc CSS | Still use `VJoyMenu` + `VJoyMenuItem` + Joy tokens |
41
+
42
+ > **Deprecated:** do not use the `items` prop on `VJoyMenu` for new work. Prefer `VJoyMenuItem` in the default slot. The `menu-item` slot only applies to the deprecated `items` API.
43
+
44
+ ---
45
+
46
+ ## How it works
47
+
48
+ `VJoyMenu` renders a bordered `<ul role="menu">`. Each `VJoyMenuItem` renders a `<li role="menuitem">` with an inner interactive element (`<a>`, `<button>`, or a custom link component).
49
+
50
+ ### Anatomy
51
+
52
+ | Part | Required? | What it is |
53
+ | --- | --- | --- |
54
+ | Menu list (`VJoyMenu`) | Yes | Root `<ul>` with border, radius, and keyboard handling |
55
+ | `aria-label` | Yes* | Accessible name for the menu (`ariaLabel` prop) — required when no visible heading labels the list |
56
+ | `VJoyMenuItem` (default slot) | Yes (preferred) | One row per destination |
57
+ | Leading icon | No | `icon` on `VJoyMenuItem` |
58
+ | Label | Yes | Primary text on each item (`label` prop) |
59
+ | Status icon | No | Trailing `status` + optional `statusColor` (check, warning, lock, …) |
60
+ | Current indicator | No | `current` highlights the active destination (`aria-current`) |
61
+ | `menu-item` slot | No | Custom inner content per row — **only** for deprecated `items` prop |
62
+
63
+ ### Default values
64
+
65
+ - `items` defaults to **`[]`** (deprecated — prefer slot composition)
66
+ - `VJoyMenuItem` `type` defaults to **`"a"`** (anchor)
67
+ - `disabled` defaults to **`false`**
68
+ - `current` defaults to **`false`**
69
+
70
+ Props, events, and slots: use Joy MCP or Storybook — this page focuses on **when** and **how**, not a full API dump.
71
+
72
+ ### Visual treatment
73
+
74
+ There is **no `variant` or `size` prop**. Item height, padding, colors, and border radius come from Joy tokens inside the component (e.g. `--joy-form-field-height-medium`, `--joy-core-radius-3`) — **don’t hardcode menu item heights or border colors** in product CSS.
75
+
76
+ The list uses `--menu-item-min-width: 120px` internally. Long labels truncate with ellipsis; the full label is available via the native `title` attribute.
77
+
78
+ ### App shell placement
79
+
80
+ In Malt apps, `VJoyMenu` belongs in **`VJoyTemplate`’s `#template-sidebar` slot** (enforced by the `require-vjoymenu-template-sidebar` ESLint rule). Do **not** nest `VJoyMenu` inside `VJoyPanel` (`no-vjoymenu-vjoypanel` rule) — the menu and panel serve different layout roles.
81
+
82
+ ---
83
+
84
+ ## States
85
+
86
+ | State | What the user sees / can do |
87
+ | --- | --- |
88
+ | Default | Neutral text; row is interactive |
89
+ | Hover | Secondary background highlight (pointer devices) |
90
+ | Focus | Inset focus ring on the inner control; current row also uses secondary background |
91
+ | Current (`current`) | Secondary background and text color — marks the active page/section |
92
+ | Disabled | Muted text, disabled background, `cursor: not-allowed`; not clickable |
93
+ | Keyboard active (deprecated `items` mode) | `aria-activedescendant` tracks the focused row while arrowing |
94
+ | Link item | Default `type="a"` or router link navigates on click / Enter |
95
+ | Button item | `type="button"` fires `@click` on `VJoyMenuItem` without navigation |
96
+
97
+ When a disabled item is visible, **explain why** nearby (tooltip or helper text) if the reason is not obvious from context.
98
+
99
+ ---
100
+
101
+ ## Best practices
102
+
103
+ Rules use RFC 2119 strength (**MUST** / **SHOULD** / **MUST NOT** / **SHOULD NOT**).
104
+
105
+ ### Placement and hierarchy
106
+
107
+ - **MUST** place `VJoyMenu` inside `VJoyTemplate` `#template-sidebar` in app-shell layouts.
108
+ - **MUST NOT** nest `VJoyMenu` inside `VJoyPanel`.
109
+ - **SHOULD** mark exactly one item `current` for the active route or section (when applicable).
110
+ - **SHOULD** keep the menu list focused on navigation — avoid embedding heavy forms or multi-step panels inside menu rows.
111
+
112
+ ### Composition
113
+
114
+ - **MUST** use `VJoyMenuItem` children for new work — not the deprecated `items` prop.
115
+ - **MUST** set `aria-label` on `VJoyMenu` when the sidebar has no visible heading that names the list.
116
+ - **SHOULD** use `type="button"` only when the row triggers an in-page action without navigation.
117
+ - **SHOULD** use `RouterLink` / `NuxtLink` (`type` + `linkProps`) for SPA navigation instead of full page reloads.
118
+ - **SHOULD** use `status` icons sparingly — completion, warning, or lock states users must notice at a glance.
119
+
120
+ ### Implementation
121
+
122
+ - **MUST** use only documented prop values (MCP / `JoyMenu.types.ts` / `VJoyMenuItem` props).
123
+ - **MUST** style with Joy tokens — no custom `.joy-menu-list` or `.joy-menu-item` chrome overrides.
124
+ - **MUST NOT** invent props (`variant`, `size`, `open`, …).
125
+ - **MUST NOT** use `VJoyMenu` for transient overlay menus — use `VJoyDropdown`.
126
+
127
+ ### Do / don’t
128
+
129
+ | Do | Don’t |
130
+ | --- | --- |
131
+ | `VJoyMenu` + `VJoyMenuItem` in `#template-sidebar` | `items` prop for new screens |
132
+ | `current` on the active route | Multiple `current` items for one section |
133
+ | `RouterLink` / `NuxtLink` for in-app nav | Raw `<a href>` that reloads the SPA unnecessarily |
134
+ | `aria-label` when no visible list title | Unnamed menu for screen-reader users |
135
+ | `status` for lock / warning / done | Decorative status icons on every row |
136
+
137
+ ---
138
+
139
+ ## Content
140
+
141
+ Menu items are navigation labels. They should be scannable at a glance and parallel in grammar.
142
+
143
+ ### Label formula
144
+
145
+ **Navigation items:** **short noun or noun phrase** naming the destination — e.g. `Dashboard`, `Billing`, `Team members`.
146
+
147
+ **Action rows (`type="button"`):** **infinitive verb + noun** when the row triggers an action — e.g. `Sign out`, `Create project`.
148
+
149
+ **Status context:** rely on the `status` icon + `statusColor` for lock/warning/done; don’t repeat the same meaning in the label unless needed for clarity.
150
+
151
+ ### Writing rules
152
+
153
+ | Strength | Rule |
154
+ | --- | --- |
155
+ | **MUST** | Each `label` is unique within the menu |
156
+ | **MUST** | Labels stay concise — long text truncates with ellipsis (`title` shows the full string) |
157
+ | **MUST** | Disabled items include context elsewhere if the reason isn’t obvious |
158
+ | **MUST NOT** | Vague labels — ❌ `Click here`, ❌ `Menu item` |
159
+ | **MUST NOT** | Duplicate the section heading on every row when the group context is clear |
160
+ | **SHOULD** | ≤ 3 words per label where possible |
161
+ | **SHOULD** | Sentence case for multi-word labels |
162
+ | **SHOULD** | Parallel grammar across siblings (`Overview`, `Settings`, `Billing` — not mixed verb/noun styles) |
163
+ | **SHOULD** | Localize labels — menu copy is user-facing product UI |
164
+
165
+ ### Patterns
166
+
167
+ **App sidebar** — Group related destinations under `VJoyTemplate` sidebar chrome (headings outside the menu if needed). One `current` item matching the active route.
168
+
169
+ **Funnel / step list** — Each row is a step name (`Company details`, `Payment`). Use `status="check-circle"` + `statusColor="success"` for completed steps, `status="lock"` for locked future steps.
170
+
171
+ **Mixed link + action** — Navigation rows use default `type="a"` or router links; a final `Sign out` row uses `type="button"`.
172
+
173
+ ---
174
+
175
+ ## Accessibility
176
+
177
+ Behaviors (what must happen), not slogans.
178
+
179
+ | Behavior | Expectation |
180
+ | --- | --- |
181
+ | Menu role | `role="menu"` on the `<ul>`; each row `role="menuitem"` |
182
+ | Name | `aria-label` on `VJoyMenu` when no visible heading names the list |
183
+ | Current page | `aria-current` on the item with `current` |
184
+ | Disabled | `aria-disabled="true"`; not activatable |
185
+ | Row name | `aria-label` and `title` from each item’s `label` |
186
+ | Keyboard (list focus) | **ArrowDown** / **ArrowUp** move between enabled items; **Home** / **End** jump to first/last; **Enter** activates the focused row (clicks inner link/button); **Tab** clears active descendant tracking |
187
+ | Space | Prevented from scrolling when an item is focused (deprecated `items` keyboard path) |
188
+ | Focus ring | Visible inset ring on focused items — don’t remove in product CSS |
189
+ | Icons | Leading/trailing icons are decorative when the label conveys meaning (Joy default) |
190
+
191
+ Target: **WCAG 2.2 AA** where the product requires it.
192
+
193
+ ---
194
+
195
+ ## Examples
196
+
197
+ ```vue
198
+ <script setup lang="ts">
199
+ import { VJoyMenu, VJoyMenuItem } from '@maltjoy/core-vue'
200
+ import { NuxtLink } from '#components'
201
+ </script>
202
+
203
+ <template>
204
+ <!-- Preferred: VJoyMenuItem composition inside app shell -->
205
+ <VJoyTemplate>
206
+ <template #template-sidebar>
207
+ <VJoyMenu aria-label="Account navigation">
208
+ <VJoyMenuItem icon="user" label="Profile" href="/account/profile" />
209
+ <VJoyMenuItem icon="billing" label="Billing" href="/account/billing" current />
210
+ <VJoyMenuItem
211
+ icon="team"
212
+ label="Team members"
213
+ :type="NuxtLink"
214
+ :link-props="{ to: '/account/team' }"
215
+ />
216
+ <VJoyMenuItem
217
+ label="Security"
218
+ status="warning"
219
+ status-color="warning"
220
+ href="/account/security"
221
+ />
222
+ <VJoyMenuItem label="Archived" disabled icon="company-placeholder" status="lock" />
223
+ <VJoyMenuItem type="button" label="Sign out" @click="/* handle sign out */" />
224
+ </VJoyMenu>
225
+ </template>
226
+
227
+ <template #template-main>
228
+ <!-- page content -->
229
+ </template>
230
+ </VJoyTemplate>
231
+ </template>
232
+ ```
233
+
234
+ In Nuxt (or apps with auto-import), omit the import if `VJoyMenu` / `VJoyMenuItem` are already global. For Vue Router, pass `RouterLink` as `type` with `link-props="{ to: '...' }"` the same way as `NuxtLink` in Storybook.
235
+
236
+ ---
237
+
238
+ ## Related
239
+
240
+ | Component | Use when |
241
+ | --- | --- |
242
+ | `VJoyMenuItem` | Each row inside `VJoyMenu` (required for new work) |
243
+ | `VJoyTemplate` | App shell with `#template-sidebar` slot for the menu |
244
+ | `VJoyDropdown` | Contextual menus opened from a trigger |
245
+ | `VJoyTabs` | Peer content panels on one page |
246
+ | `VJoyPanel` | Main or sidebar content blocks — not as a parent of `VJoyMenu` |
247
+ | `VJoyIcon` | Icons on menu items (`icon`, `status`) |
248
+
249
+ ---
250
+
251
+ ## For agents
252
+
253
+ Optional for readers; **required** for vibe-coding quality. Maps to `agentDocumentBlocks` in [`JoyMenu.dsds.json`](./JoyMenu.dsds.json).
254
+
255
+ ### Pick the right component
256
+
257
+ | If the intent is… | Emit… | Do not emit… |
258
+ | --- | --- | --- |
259
+ | Persistent sidebar / app navigation | `VJoyMenu` + `VJoyMenuItem` | `VJoyDropdown` |
260
+ | Overflow menu from a button | `VJoyDropdown` | `VJoyMenu` |
261
+ | Tab panels on one page | `VJoyTabs` | `VJoyMenu` for section switching |
262
+ | Form single-select | `VJoySelect` | `VJoyMenu` |
263
+ | SPA route link | `VJoyMenuItem` + `RouterLink`/`NuxtLink` | Raw `<li><a>` lists |
264
+
265
+ ### Hard rules
266
+
267
+ 1. **MUST** call `joy_get_component_info("VJoyMenu")` and `joy_get_component_info("VJoyMenuItem")` before generating props.
268
+ 2. **MUST** compose menus with `VJoyMenuItem` in the default slot — not the deprecated `items` prop.
269
+ 3. **MUST** set `aria-label` on `VJoyMenu` when no visible heading names the list.
270
+ 4. **MUST** place `VJoyMenu` in `VJoyTemplate` `#template-sidebar` for app-shell layouts.
271
+ 5. **MUST NOT** nest `VJoyMenu` inside `VJoyPanel`.
272
+ 6. **MUST NOT** invent props (`variant`, `size`, `open`, …) or override `.joy-menu-list` / `.joy-menu-item` chrome.
273
+ 7. **SHOULD** set `current` on the item matching the active route.
274
+ 8. **SHOULD** use `type="button"` only for non-navigation actions (e.g. sign out).
275
+
276
+ ### Checklist
277
+
278
+ - [ ] Correct component (`VJoyMenu` + `VJoyMenuItem`, or named alternative)
279
+ - [ ] Props from MCP / types only — no `items` prop on new code
280
+ - [ ] `aria-label` on the menu when needed
281
+ - [ ] `#template-sidebar` placement in `VJoyTemplate` layouts
282
+ - [ ] Not nested inside `VJoyPanel`
283
+ - [ ] At most one `current` item per logical section
284
+ - [ ] Router links use `type` + `linkProps`, not bare `href` reloads in SPAs
285
+ - [ ] No invented props / no custom menu chrome CSS
286
+
287
+ ---
288
+
289
+ ## DSDS mapping
290
+
291
+ This Markdown mirrors [`JoyMenu.dsds.json`](./JoyMenu.dsds.json) (DSDS **0.15.2**).
292
+
293
+ | Section here | DSDS block |
294
+ | --- | --- |
295
+ | When to use / not | `use-cases` |
296
+ | Anatomy | `anatomy` |
297
+ | Visual treatment (no variants/sizes) | `design-specifications` |
298
+ | States | `states` |
299
+ | Best practices / content rules | `guidelines` (+ `content`) |
300
+ | Accessibility | `accessibility` |
301
+ | Examples | `sections` |
302
+ | For agents | `agentDocumentBlocks` |
303
+ | Props detail | `api` in JSON + Joy MCP |
304
+ | Imports | `imports` in JSON |
@@ -0,0 +1,352 @@
1
+ ---
2
+ component: VJoyMenuItem
3
+ status: draft
4
+ language: en
5
+ dsds: JoyMenuItem.dsds.json
6
+ dsdsVersion: "0.15.2"
7
+ ---
8
+
9
+ # Menu item
10
+
11
+ Use **`VJoyMenuItem`** when you need a single row inside a navigation menu — a labeled choice that navigates somewhere, fires an in-page action, or shows selection and status at a glance.
12
+
13
+ Each item renders as a `role="menuitem"` list row with optional leading icon, required text label, and optional trailing status icon. The inner control can be a native link (`<a>`), a `<button>`, or a router component (`RouterLink`, `NuxtLink`) passed through the `type` prop.
14
+
15
+ | | |
16
+ | --- | --- |
17
+ | **Code** | `VJoyMenuItem` from `@maltjoy/core-vue` |
18
+ | **Design** | [Figma — Joy components](https://www.figma.com/design/jfndp2QBJGS9yeuWbeGuvD/) |
19
+ | **Storybook** | [VJoyMenu docs](https://doc.malt.tech/joy-storybook/?path=/docs/components-navigation-vjoymenu--docs) (see **WithSubItem** story) |
20
+ | **DSDS (machine)** | [`JoyMenuItem.dsds.json`](./JoyMenuItem.dsds.json) |
21
+ | **Live API** | `joy_get_component_info("VJoyMenuItem")` — if unavailable, read `VJoyMenuItem.vue` and `JoyMenu.metadata.md` |
22
+
23
+ > **MCP note:** Joy MCP may not return `VJoyMenuItem` API yet (docs generation is broken for this component). Use `VJoyMenuItem.vue`, `JoyMenu.metadata.md`, or Storybook **WithSubItem** as the source of truth until MCP is updated.
24
+
25
+ ---
26
+
27
+ ## When to use this component
28
+
29
+ Use a menu item when building a **persistent navigation list** inside `VJoyMenu` — for example app sidebar links, station pickers, or settings sections where each row is a destination or action.
30
+
31
+ `VJoyMenuItem` is the preferred way to declare menu rows (icons, current state, disabled rows, router links). Compose one or more items in the **default slot** of `VJoyMenu`.
32
+
33
+ ### When not to use this component
34
+
35
+ | Need | Use instead |
36
+ | --- | --- |
37
+ | Contextual overflow / action menu from a trigger | `VJoyDropdown` + `VJoyDropdownList` |
38
+ | Labeled single-select form field | `VJoySelect` |
39
+ | Tabbed content switching on the same surface | `VJoyTabs` |
40
+ | Standalone CTA or form submit | `VJoyButton` |
41
+ | Data list rows with rich left/right content | `VJoyListItem` |
42
+ | Custom `<li>` markup with ad-hoc menu styling | Still use `VJoyMenuItem` + Joy tokens — don’t reinvent menu row chrome |
43
+
44
+ > **Deprecated:** do not drive menu rows through `VJoyMenu`’s `items` prop for new work. That array API is deprecated — use `VJoyMenuItem` children in the default slot instead.
45
+
46
+ ---
47
+
48
+ ## How it works
49
+
50
+ ### Anatomy
51
+
52
+ | Part | Required? | What it is |
53
+ | --- | --- | --- |
54
+ | List row (`<li>`) | Yes | Outer `role="menuitem"` wrapper with `aria-label`, `aria-disabled`, and `aria-current` |
55
+ | Inner control | Yes | `.joy-menu-item__inner` — `<a>`, `<button>`, router component, or `<div>` when `disabled` |
56
+ | Label | Yes | Text from the `label` prop (`.joy-menu-item__label`) |
57
+ | Leading icon | No | `VJoyIcon` when `icon` is set (`.joy-menu-item__icon-left`) |
58
+ | Status icon | No | Trailing `VJoyIcon` when `status` is set (`.joy-menu-item__icon-right`); color via `statusColor` |
59
+ | Focus ring | Yes | Inset `box-shadow` on inner `:focus` — don’t remove it in product CSS |
60
+
61
+ ### Default values
62
+
63
+ - `type` defaults to **`'a'`** (native anchor)
64
+ - `disabled` defaults to **`false`**
65
+ - `current` defaults to **`false`**
66
+ - `href`, `icon`, `status`, `statusColor`, and `linkProps` are optional
67
+
68
+ Props, events, and composition: use Joy MCP (when available), `VJoyMenuItem.vue`, or Storybook — this page focuses on **when** and **how**, not a full API dump.
69
+
70
+ ### Link types
71
+
72
+ | `type` | Inner element | Props / attrs |
73
+ | --- | --- | --- |
74
+ | `'a'` (default) | `<a href="…">` | `href` prop + native attrs via `$attrs` (`target`, `rel`, `data-*`, …) |
75
+ | `'button'` | `<button type="button">` | Native button attrs via `$attrs`; emits `click` |
76
+ | `RouterLink` / `NuxtLink` / custom component | Dynamic `:is="type"` | Pass routing props via `linkProps` (e.g. `{ to: '/' }`) |
77
+
78
+ When `disabled` is true, the inner control becomes a **non-interactive `<div>`** — clicks do not emit `click`.
79
+
80
+ ---
81
+
82
+ ## States
83
+
84
+ | State | What the user sees / can do |
85
+ | --- | --- |
86
+ | Default | Neutral text (`--joy-color-neutral-60`); row is interactive |
87
+ | Hover | Light secondary background (`--joy-color-secondary-10`) on the inner control |
88
+ | Focus | Secondary background + inset information focus ring (`--joy-color-information-50`) |
89
+ | Current | `current` prop — secondary background and secondary text color; `aria-current` on the row |
90
+ | Disabled | Muted text, disabled background (`--joy-color-state-disabled-background`), `cursor: not-allowed`; inner is `<div>`; `aria-disabled="true"`; no `click` emission |
91
+
92
+ Long labels truncate with ellipsis; the full string is available via the native `title` attribute on the row.
93
+
94
+ ---
95
+
96
+ ## Best practices
97
+
98
+ Rules use RFC 2119 strength (**MUST** / **SHOULD** / **MUST NOT** / **SHOULD NOT**).
99
+
100
+ ### Composition
101
+
102
+ - **MUST** place `VJoyMenuItem` inside `VJoyMenu` (default slot) so keyboard navigation and `role="menu"` semantics stay correct.
103
+ - **MUST** set `aria-label` on `VJoyMenu` when the menu’s purpose isn’t obvious from visible context alone.
104
+ - **SHOULD** use at most one `current` item per menu when indicating the active destination.
105
+ - **SHOULD** order items logically — primary destinations first, destructive or rare actions last.
106
+
107
+ ### Implementation
108
+
109
+ - **MUST** use only documented props from `VJoyMenuItem.vue` / `JoyMenu.metadata.md` — no invented props.
110
+ - **MUST** style with Joy tokens — no custom `.joy-menu-item` chrome overrides.
111
+ - **MUST** pass `href` when `type` is `'a'` and the row navigates.
112
+ - **MUST** pass `linkProps` when `type` is `RouterLink`, `NuxtLink`, or another component.
113
+ - **MUST NOT** use `VJoyMenu`’s deprecated `items` array for new menus.
114
+ - **MUST NOT** hardcode row height — the component uses `--joy-form-field-height-medium`.
115
+ - **SHOULD** pass native HTML attributes (`target`, `rel`, `data-test-id`, …) as attributes on `VJoyMenuItem` when `type` is `'a'` or `'button'` (they flow through `$attrs`).
116
+
117
+ ### Icons and status
118
+
119
+ - **SHOULD** use `icon` for wayfinding (user, settings, section glyph) — not decoration alone.
120
+ - **SHOULD** use `status` + `statusColor` for semantic feedback (check, warning, lock) — keep one trailing icon per row.
121
+ - **MUST NOT** rely on icon color alone to convey meaning — the `label` must still describe the action or destination.
122
+
123
+ ### Interaction
124
+
125
+ - **MUST** set `disabled` when the row must not activate; explain why elsewhere if the reason isn’t obvious.
126
+ - **SHOULD** use `type="button"` + `@click` for in-page actions that do not navigate.
127
+ - **SHOULD** use `type` router component + `linkProps` for SPA navigation instead of `<a>` + manual router pushes.
128
+
129
+ ### Do / don’t
130
+
131
+ | Do | Don’t |
132
+ | --- | --- |
133
+ | `VJoyMenu` + `VJoyMenuItem` slot children | Deprecated `items` prop on `VJoyMenu` |
134
+ | `linkProps` with `NuxtLink` / `RouterLink` | Plain `<a>` + `@click` router hacks |
135
+ | `current` for the active nav target | Multiple `current` rows without reason |
136
+ | Concise `label` text (1–3 words) | Vague labels (`Click here`, `Menu`) |
137
+ | `status` for lock / check / warning | Random decorative trailing icons |
138
+ | Explain disabled rows when needed | Disabled row with no context |
139
+
140
+ ---
141
+
142
+ ## Content
143
+
144
+ Menu items are scanned quickly. Labels must be short, parallel, and predictable.
145
+
146
+ ### Label formula
147
+
148
+ **Navigation rows:** **noun or short noun phrase** — e.g. `Profile`, `Billing`, `Paris Montparnasse`.
149
+
150
+ **Action rows** (`type="button"`): **verb or verb + object** — e.g. `Sign out`, `Export data`.
151
+
152
+ Use **parallel grammar** across siblings (all nouns or all verbs — don’t mix styles in one menu).
153
+
154
+ ### Writing rules
155
+
156
+ | Strength | Rule |
157
+ | --- | --- |
158
+ | **MUST** | `label` is required and becomes the accessible name (`aria-label` + `title`) |
159
+ | **MUST** | Keep labels concise; overflow shows ellipsis — don’t rely on truncation for critical detail |
160
+ | **MUST NOT** | Vague labels — ❌ `Click here`, ❌ `Options`, ❌ `Item 1` in product UI |
161
+ | **MUST NOT** | Duplicate the parent menu title on every row when context is already clear |
162
+ | **SHOULD** | 1–3 words per item |
163
+ | **SHOULD** | Sentence case for multi-word labels |
164
+ | **SHOULD** | Name destructive actions explicitly — ✅ `Delete project` · ❌ `Delete` alone in a mixed menu |
165
+ | **SHOULD** | Start each item the same way (all verbs or all nouns) for scannability |
166
+
167
+ ### Patterns
168
+
169
+ **App / settings navigation** — Noun labels: `Account`, `Notifications`, `Privacy`. Mark the active section with `current`.
170
+
171
+ **Router-linked sidebar** — `:type="NuxtLink"` (or `RouterLink`) + `:link-props="{ to: '/path' }"`. Label names the destination page.
172
+
173
+ **Status feedback** — Trailing `status` icon with `statusColor`: check for completed setup, lock for gated features, warning for attention needed. Label still states the destination.
174
+
175
+ **Disabled rows** — Keep the label readable; use `status="lock"` when helpful. Explain gating in surrounding UI or a tooltip on a related control — not only via icon color.
176
+
177
+ ---
178
+
179
+ ## Accessibility
180
+
181
+ Behaviors (what must happen), not slogans.
182
+
183
+ | Behavior | Expectation |
184
+ | --- | --- |
185
+ | Role | Outer `<li role="menuitem">` inside `VJoyMenu`’s `role="menu"` list |
186
+ | Name | From `label` (`aria-label` on the row; `title` for truncated text) |
187
+ | Current page | `current` sets `aria-current` on the row and visible current styling |
188
+ | Disabled | `aria-disabled="true"` on the row; inner becomes non-focusable `<div>` |
189
+ | Keyboard | Arrow keys, Home, End, Enter, and Space are handled by parent `VJoyMenu` — don’t reimplement list keyboard logic on individual items |
190
+ | Focus | Inner control shows visible focus ring — keep it in product CSS |
191
+ | Icons | Leading/trailing icons are decorative when `label` is present — Joy icons default to `aria-hidden` where appropriate |
192
+ | Links | Use real `<a href>` or router links — not clickable `<div>` except when `disabled` |
193
+
194
+ Target: **WCAG 2.2 AA** where the product requires it.
195
+
196
+ ---
197
+
198
+ ## Examples
199
+
200
+ ```vue
201
+ <script setup lang="ts">
202
+ import { VJoyMenu, VJoyMenuItem } from '@maltjoy/core-vue'
203
+
204
+ // Nuxt example — use your app's NuxtLink import
205
+ // import { NuxtLink } from '#components'
206
+ </script>
207
+
208
+ <template>
209
+ <VJoyMenu aria-label="Account sections">
210
+ <!-- Default: native link -->
211
+ <VJoyMenuItem label="Profile" href="/profile" icon="user" />
212
+
213
+ <!-- Current section -->
214
+ <VJoyMenuItem
215
+ label="Billing"
216
+ href="/billing"
217
+ icon="credit-card"
218
+ current
219
+ status="check-circle"
220
+ status-color="success"
221
+ />
222
+
223
+ <!-- Opens in new tab -->
224
+ <VJoyMenuItem
225
+ label="Help center"
226
+ href="https://help.malt.com"
227
+ target="_blank"
228
+ rel="noopener noreferrer"
229
+ />
230
+
231
+ <!-- In-page action -->
232
+ <VJoyMenuItem
233
+ label="Sign out"
234
+ type="button"
235
+ icon="logout"
236
+ @click="onSignOut"
237
+ />
238
+
239
+ <!-- SPA navigation (Nuxt) -->
240
+ <!--
241
+ <VJoyMenuItem
242
+ label="Dashboard"
243
+ :type="NuxtLink"
244
+ :link-props="{ to: '/' }"
245
+ icon="home"
246
+ />
247
+ -->
248
+
249
+ <!-- Disabled row -->
250
+ <VJoyMenuItem
251
+ label="Team settings"
252
+ disabled
253
+ icon="company-placeholder"
254
+ status="lock"
255
+ />
256
+ </VJoyMenu>
257
+ </template>
258
+ ```
259
+
260
+ In Nuxt (or apps with auto-import), omit the import if `VJoyMenuItem` is already global.
261
+
262
+ ---
263
+
264
+ ## Related
265
+
266
+ | Component | Use when |
267
+ | --- | --- |
268
+ | `VJoyMenu` | Parent list with keyboard navigation and `role="menu"` |
269
+ | `VJoyDropdown` | Contextual menus opened from a trigger |
270
+ | `VJoyDropdownList` | Option list UI without full menu semantics |
271
+ | `VJoyIcon` | Icon primitive used for `icon` and `status` |
272
+ | `VJoyButton` | Standalone actions outside a menu list |
273
+ | `VJoyTabs` | Switching content panels on the same surface |
274
+ | `VJoyTooltip` | Extra detail for disabled or icon-only adjacent controls |
275
+
276
+ ---
277
+
278
+ ## For agents
279
+
280
+ Optional for readers; **required** for vibe-coding quality. Maps to `agentDocumentBlocks` in [`JoyMenuItem.dsds.json`](./JoyMenuItem.dsds.json).
281
+
282
+ ### Pick the right component
283
+
284
+ | If the intent is… | Emit… | Do not emit… |
285
+ | --- | --- | --- |
286
+ | Row inside a nav / settings menu | `VJoyMenu` + `VJoyMenuItem` | Raw `<li>` with custom menu CSS |
287
+ | Overflow menu from a button | `VJoyDropdown` | `VJoyMenu` for kebab menus |
288
+ | SPA route in a menu | `VJoyMenuItem` + `:type="NuxtLink"` / `RouterLink` + `link-props` | `<a>` + `@click` router navigation |
289
+ | External URL | `VJoyMenuItem` + `href` (default `type="a"`) | `type="button"` + window.location |
290
+ | In-page menu action | `VJoyMenuItem` + `type="button"` + `@click` | `href="#"` + click handler |
291
+ | Active nav destination | `current` on one item | Custom “selected” CSS classes |
292
+ | Deprecated data-driven menu | `VJoyMenuItem` children | `VJoyMenu` `items` prop |
293
+
294
+ ### Hard rules
295
+
296
+ 1. **MUST** read `VJoyMenuItem.vue` and/or `JoyMenu.metadata.md` before generating props (`joy_get_component_info` may not work yet).
297
+ 2. **MUST** wrap items in `VJoyMenu` with an `aria-label` when context is not self-evident.
298
+ 3. **MUST** set `label` on every item — there is no default slot for label text.
299
+ 4. **MUST** use `linkProps` when `type` is a Vue/router component; use `href` + `$attrs` when `type` is `'a'`.
300
+ 5. **MUST** use `type="button"` for actions that emit `click` without navigation.
301
+ 6. **MUST NOT** invent props (`variant`, `size`, `selected`, `active`, …).
302
+ 7. **MUST NOT** override `.joy-menu-item` / `.joy-menu-item__inner` background, padding, height, or focus ring.
303
+ 8. **MUST NOT** use `VJoyMenu` `items` prop in new code.
304
+ 9. **SHOULD** set at most one `current` item per menu for active-route indication.
305
+ 10. **SHOULD** use kebab-case in templates for multi-word props (`status-color` → `statusColor`).
306
+
307
+ ### Documented props (from source)
308
+
309
+ | Prop | Type / notes |
310
+ | --- | --- |
311
+ | `label` | `string` — **required** |
312
+ | `href` | `string` — for `type="a"` |
313
+ | `icon` | `TJoyIconsNames` — leading icon |
314
+ | `current` | `boolean` — active / current destination |
315
+ | `disabled` | `boolean` |
316
+ | `status` | `TJoyIconsNames` — trailing status icon |
317
+ | `statusColor` | `TJoyIconsColors` — trailing icon color |
318
+ | `type` | `Component \| 'a' \| 'button'` — default `'a'` |
319
+ | `linkProps` | `ComponentProps<T>` — for non-native `type` |
320
+
321
+ **Event:** `click` — emitted on inner activation when not `disabled` (typically `type="button"`).
322
+
323
+ ### Checklist
324
+
325
+ - [ ] Correct component (`VJoyMenuItem` inside `VJoyMenu`, or named alternative)
326
+ - [ ] Props from source / metadata only — no invented props
327
+ - [ ] `label` set on every row
328
+ - [ ] `href` or `linkProps` matches `type` (link vs router vs button)
329
+ - [ ] `current` used intentionally (≤ 1 per menu in most cases)
330
+ - [ ] `disabled` rows explained when reason isn’t obvious
331
+ - [ ] No custom `.joy-menu-item` chrome CSS
332
+ - [ ] No deprecated `VJoyMenu` `items` array for new menus
333
+ - [ ] Native attrs on `VJoyMenuItem` when using `'a'` or `'button'`
334
+
335
+ ---
336
+
337
+ ## DSDS mapping
338
+
339
+ This Markdown mirrors [`JoyMenuItem.dsds.json`](./JoyMenuItem.dsds.json) (DSDS **0.15.2**).
340
+
341
+ | Section here | DSDS block |
342
+ | --- | --- |
343
+ | When to use / not | `use-cases` |
344
+ | Anatomy / link types | `anatomy` |
345
+ | States | `states` |
346
+ | Best practices / content rules | `guidelines` (+ `content`) |
347
+ | Accessibility | `accessibility` |
348
+ | Examples | `sections` |
349
+ | For agents | `agentDocumentBlocks` |
350
+ | Props detail | `api` in JSON + Joy MCP (when available) |
351
+ | Imports | `imports` in JSON |
352
+ | Token sizing | `design-specifications` in JSON (`--joy-form-field-height-medium`, color tokens) |