@dxtmisha/wiki 0.24.2 → 0.24.3

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 (415) hide show
  1. package/package.json +1 -1
  2. package/src/library.ts +7 -7
  3. package/src/media/descriptions/wikiDescriptionsBars.ts +1 -3
  4. package/src/media/descriptions/wikiDescriptionsCell.ts +1 -2
  5. package/src/media/descriptions/wikiDescriptionsChip.ts +0 -1
  6. package/src/media/descriptions/wikiDescriptionsField.ts +1 -4
  7. package/src/media/descriptions/wikiDescriptionsFieldCounter.ts +6 -6
  8. package/src/media/descriptions/wikiDescriptionsFieldMessage.ts +1 -2
  9. package/src/media/descriptions/wikiDescriptionsImage.ts +2 -2
  10. package/src/media/descriptions/wikiDescriptionsList.ts +1 -5
  11. package/src/media/descriptions/wikiDescriptionsListGroup.ts +2 -3
  12. package/src/media/descriptions/wikiDescriptionsListItem.ts +1 -3
  13. package/src/media/descriptions/wikiDescriptionsListMenu.ts +2 -9
  14. package/src/media/descriptions/wikiDescriptionsMask.ts +12 -0
  15. package/src/media/descriptions/wikiDescriptionsMenu.ts +3 -14
  16. package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +2 -4
  17. package/src/media/descriptions/wikiDescriptionsScrollbar.ts +1 -7
  18. package/src/media/descriptions/wikiDescriptionsSkeleton.ts +1 -0
  19. package/src/media/descriptions/wikiDescriptionsWindow.ts +5 -22
  20. package/src/media/functional/en/broadcastMessage.mdx +307 -0
  21. package/src/media/functional/ru/broadcastMessage.mdx +305 -0
  22. package/src/media/mdx/Badge/badge.en.mdx +85 -7
  23. package/src/media/mdx/Badge/badge.ru.mdx +85 -7
  24. package/src/media/mdx/Badge/dot.en.mdx +16 -12
  25. package/src/media/mdx/Badge/dot.ru.mdx +16 -12
  26. package/src/media/mdx/Badge/outline.en.mdx +12 -13
  27. package/src/media/mdx/Badge/outline.ru.mdx +12 -13
  28. package/src/media/mdx/Badge/primary.en.mdx +12 -12
  29. package/src/media/mdx/Badge/primary.ru.mdx +12 -12
  30. package/src/media/mdx/Badge/secondary.en.mdx +12 -13
  31. package/src/media/mdx/Badge/secondary.ru.mdx +12 -13
  32. package/src/media/mdx/Bars/action.en.mdx +72 -28
  33. package/src/media/mdx/Bars/action.ru.mdx +73 -29
  34. package/src/media/mdx/Bars/bars.en.mdx +90 -15
  35. package/src/media/mdx/Bars/bars.ru.mdx +91 -15
  36. package/src/media/mdx/Bars/slots.en.mdx +33 -0
  37. package/src/media/mdx/Bars/slots.ru.mdx +33 -0
  38. package/src/media/mdx/Bars/v-model.en.mdx +23 -14
  39. package/src/media/mdx/Bars/v-model.ru.mdx +23 -14
  40. package/src/media/mdx/Bars/wikiMdxBars.ts +5 -11
  41. package/src/media/mdx/Button/button.en.mdx +89 -1
  42. package/src/media/mdx/Button/button.ru.mdx +89 -1
  43. package/src/media/mdx/Button/outline.en.mdx +12 -14
  44. package/src/media/mdx/Button/outline.ru.mdx +12 -14
  45. package/src/media/mdx/Button/primary.en.mdx +12 -19
  46. package/src/media/mdx/Button/primary.ru.mdx +12 -19
  47. package/src/media/mdx/Button/secondary.en.mdx +12 -17
  48. package/src/media/mdx/Button/secondary.ru.mdx +12 -17
  49. package/src/media/mdx/Button/text.en.mdx +12 -11
  50. package/src/media/mdx/Button/text.ru.mdx +12 -11
  51. package/src/media/mdx/Cell/cell.en.mdx +50 -9
  52. package/src/media/mdx/Cell/cell.ru.mdx +50 -9
  53. package/src/media/mdx/Cell/slots.en.mdx +82 -0
  54. package/src/media/mdx/Cell/slots.ru.mdx +83 -0
  55. package/src/media/mdx/Cell/wikiMdxCell.ts +6 -12
  56. package/src/media/mdx/Chip/assistive.en.mdx +12 -14
  57. package/src/media/mdx/Chip/assistive.ru.mdx +12 -14
  58. package/src/media/mdx/Chip/chip.en.mdx +69 -9
  59. package/src/media/mdx/Chip/chip.ru.mdx +69 -9
  60. package/src/media/mdx/Chip/input.en.mdx +12 -19
  61. package/src/media/mdx/Chip/input.ru.mdx +12 -19
  62. package/src/media/mdx/Field/arrows.en.mdx +67 -17
  63. package/src/media/mdx/Field/arrows.ru.mdx +67 -17
  64. package/src/media/mdx/Field/cancel.en.mdx +47 -10
  65. package/src/media/mdx/Field/cancel.ru.mdx +47 -10
  66. package/src/media/mdx/Field/field.en.mdx +45 -15
  67. package/src/media/mdx/Field/field.ru.mdx +45 -15
  68. package/src/media/mdx/Field/slots.en.mdx +151 -0
  69. package/src/media/mdx/Field/slots.ru.mdx +151 -0
  70. package/src/media/mdx/Field/value.en.mdx +49 -28
  71. package/src/media/mdx/Field/value.ru.mdx +49 -28
  72. package/src/media/mdx/Field/width.en.mdx +21 -19
  73. package/src/media/mdx/Field/width.ru.mdx +21 -19
  74. package/src/media/mdx/Field/wikiMdxField.ts +14 -26
  75. package/src/media/mdx/FieldCounter/fieldCounter.en.mdx +52 -14
  76. package/src/media/mdx/FieldCounter/fieldCounter.ru.mdx +55 -14
  77. package/src/media/mdx/FieldCounter/templates.en.mdx +26 -6
  78. package/src/media/mdx/FieldCounter/templates.ru.mdx +25 -5
  79. package/src/media/mdx/FieldLabel/fieldLabel.en.mdx +56 -14
  80. package/src/media/mdx/FieldLabel/fieldLabel.ru.mdx +56 -14
  81. package/src/media/mdx/FieldMessage/fieldMessage.en.mdx +58 -14
  82. package/src/media/mdx/FieldMessage/fieldMessage.ru.mdx +58 -14
  83. package/src/media/mdx/FieldMessage/slots.en.mdx +45 -0
  84. package/src/media/mdx/FieldMessage/slots.ru.mdx +45 -0
  85. package/src/media/mdx/FieldMessage/wikiMdxFieldMessage.ts +6 -12
  86. package/src/media/mdx/Icon/expose.isActive.en.mdx +2 -10
  87. package/src/media/mdx/Icon/expose.isActive.ru.mdx +2 -10
  88. package/src/media/mdx/Icon/icon.en.mdx +43 -9
  89. package/src/media/mdx/Icon/icon.ru.mdx +27 -28
  90. package/src/media/mdx/Image/adaptive.en.mdx +63 -20
  91. package/src/media/mdx/Image/adaptive.ru.mdx +62 -25
  92. package/src/media/mdx/Image/event.load.en.mdx +37 -2
  93. package/src/media/mdx/Image/event.load.ru.mdx +34 -7
  94. package/src/media/mdx/Image/{expose.type.ru.mdx → expose.en.mdx} +11 -1
  95. package/src/media/mdx/Image/expose.ru.mdx +31 -0
  96. package/src/media/mdx/Image/image.en.mdx +46 -0
  97. package/src/media/mdx/Image/image.ru.mdx +47 -0
  98. package/src/media/mdx/Image/size.en.mdx +19 -19
  99. package/src/media/mdx/Image/size.ru.mdx +19 -23
  100. package/src/media/mdx/Image/value.en.mdx +10 -27
  101. package/src/media/mdx/Image/value.ru.mdx +10 -29
  102. package/src/media/mdx/Image/wikiMdxImage.ts +11 -11
  103. package/src/media/mdx/List/event.close.en.mdx +5 -8
  104. package/src/media/mdx/List/event.close.ru.mdx +5 -8
  105. package/src/media/mdx/List/list.en.mdx +56 -14
  106. package/src/media/mdx/List/list.ru.mdx +56 -14
  107. package/src/media/mdx/List/lite.en.mdx +17 -12
  108. package/src/media/mdx/List/lite.ru.mdx +17 -12
  109. package/src/media/mdx/List/slot.html.en.mdx +72 -21
  110. package/src/media/mdx/List/slot.html.ru.mdx +72 -21
  111. package/src/media/mdx/ListGroup/listGroup.en.mdx +55 -1
  112. package/src/media/mdx/ListGroup/listGroup.ru.mdx +55 -1
  113. package/src/media/mdx/ListGroup/slots.en.mdx +10 -0
  114. package/src/media/mdx/ListGroup/slots.ru.mdx +10 -0
  115. package/src/media/mdx/ListGroup/wikiMdxListGroup.ts +6 -12
  116. package/src/media/mdx/ListItem/basic.en.mdx +47 -10
  117. package/src/media/mdx/ListItem/basic.ru.mdx +46 -9
  118. package/src/media/mdx/ListItem/fill.en.mdx +22 -8
  119. package/src/media/mdx/ListItem/fill.ru.mdx +22 -8
  120. package/src/media/mdx/ListItem/slots.en.mdx +7 -0
  121. package/src/media/mdx/ListItem/slots.ru.mdx +7 -0
  122. package/src/media/mdx/ListItem/wikiMdxListItem.ts +7 -13
  123. package/src/media/mdx/ListMenu/listMenu.en.mdx +62 -1
  124. package/src/media/mdx/ListMenu/listMenu.ru.mdx +62 -1
  125. package/src/media/mdx/Mask/basic.en.mdx +68 -16
  126. package/src/media/mdx/Mask/basic.ru.mdx +70 -11
  127. package/src/media/mdx/Mask/dateTypes.en.mdx +82 -68
  128. package/src/media/mdx/Mask/dateTypes.ru.mdx +82 -68
  129. package/src/media/mdx/Mask/expose.en.mdx +20 -0
  130. package/src/media/mdx/Mask/expose.ru.mdx +20 -0
  131. package/src/media/mdx/Mask/groupSave.en.mdx +13 -46
  132. package/src/media/mdx/Mask/groupSave.ru.mdx +13 -46
  133. package/src/media/mdx/Mask/mask.en.mdx +12 -66
  134. package/src/media/mdx/Mask/mask.ru.mdx +12 -66
  135. package/src/media/mdx/Mask/match.en.mdx +16 -24
  136. package/src/media/mdx/Mask/match.ru.mdx +16 -24
  137. package/src/media/mdx/Mask/numberTypes.en.mdx +64 -52
  138. package/src/media/mdx/Mask/numberTypes.ru.mdx +64 -52
  139. package/src/media/mdx/Mask/pattern.en.mdx +63 -75
  140. package/src/media/mdx/Mask/pattern.ru.mdx +63 -75
  141. package/src/media/mdx/Mask/special.en.mdx +174 -97
  142. package/src/media/mdx/Mask/special.ru.mdx +174 -97
  143. package/src/media/mdx/Mask/type.en.mdx +12 -36
  144. package/src/media/mdx/Mask/type.ru.mdx +11 -35
  145. package/src/media/mdx/Mask/visible.en.mdx +33 -41
  146. package/src/media/mdx/Mask/visible.ru.mdx +32 -40
  147. package/src/media/mdx/Mask/wikiMdxMask.ts +6 -0
  148. package/src/media/mdx/Menu/ajax.en.mdx +44 -51
  149. package/src/media/mdx/Menu/ajax.ru.mdx +44 -52
  150. package/src/media/mdx/Menu/menu.en.mdx +63 -1
  151. package/src/media/mdx/Menu/menu.ru.mdx +64 -1
  152. package/src/media/mdx/Menu/slots.en.mdx +122 -0
  153. package/src/media/mdx/Menu/slots.ru.mdx +122 -0
  154. package/src/media/mdx/Menu/wikiMdxMenu.ts +7 -32
  155. package/src/media/mdx/MotionTransform/animationHeadPosition.en.mdx +10 -22
  156. package/src/media/mdx/MotionTransform/animationHeadPosition.ru.mdx +10 -22
  157. package/src/media/mdx/MotionTransform/classes.en.mdx +18 -25
  158. package/src/media/mdx/MotionTransform/classes.ru.mdx +18 -25
  159. package/src/media/mdx/MotionTransform/events.en.mdx +31 -43
  160. package/src/media/mdx/MotionTransform/events.ru.mdx +31 -43
  161. package/src/media/mdx/MotionTransform/expose.isShow.en.mdx +2 -4
  162. package/src/media/mdx/MotionTransform/expose.isShow.ru.mdx +2 -4
  163. package/src/media/mdx/MotionTransform/ignore.en.mdx +22 -24
  164. package/src/media/mdx/MotionTransform/ignore.ru.mdx +22 -24
  165. package/src/media/mdx/MotionTransform/motionTransform.en.mdx +44 -15
  166. package/src/media/mdx/MotionTransform/motionTransform.ru.mdx +44 -15
  167. package/src/media/mdx/MotionTransform/slots.en.mdx +92 -0
  168. package/src/media/mdx/MotionTransform/slots.ru.mdx +92 -0
  169. package/src/media/mdx/MotionTransform/v-model.en.mdx +23 -14
  170. package/src/media/mdx/MotionTransform/v-model.ru.mdx +23 -14
  171. package/src/media/mdx/MotionTransform/wikiMdxMotionTransform.ts +5 -17
  172. package/src/media/mdx/Progress/circular.en.mdx +7 -20
  173. package/src/media/mdx/Progress/circular.ru.mdx +7 -20
  174. package/src/media/mdx/Progress/delays.en.mdx +6 -13
  175. package/src/media/mdx/Progress/delays.ru.mdx +6 -13
  176. package/src/media/mdx/Progress/linear.en.mdx +9 -23
  177. package/src/media/mdx/Progress/linear.ru.mdx +9 -23
  178. package/src/media/mdx/Progress/progress.en.mdx +67 -5
  179. package/src/media/mdx/Progress/progress.ru.mdx +67 -5
  180. package/src/media/mdx/Progress/values.en.mdx +6 -28
  181. package/src/media/mdx/Progress/values.ru.mdx +6 -29
  182. package/src/media/mdx/Ripple/ripple.en.mdx +34 -40
  183. package/src/media/mdx/Ripple/ripple.ru.mdx +34 -40
  184. package/src/media/mdx/Scrollbar/emits-include.en.mdx +38 -0
  185. package/src/media/mdx/Scrollbar/emits-include.ru.mdx +38 -0
  186. package/src/media/mdx/Scrollbar/emits.en.mdx +38 -0
  187. package/src/media/mdx/Scrollbar/emits.ru.mdx +38 -0
  188. package/src/media/mdx/Scrollbar/scrollbar.en.mdx +38 -2
  189. package/src/media/mdx/Scrollbar/scrollbar.ru.mdx +38 -2
  190. package/src/media/mdx/Scrollbar/wikiMdxScrollbar.ts +12 -43
  191. package/src/media/mdx/Skeleton/classes.en.mdx +13 -0
  192. package/src/media/mdx/Skeleton/classes.ru.mdx +13 -0
  193. package/src/media/mdx/Skeleton/expose.isActive.en.mdx +7 -28
  194. package/src/media/mdx/Skeleton/expose.isActive.ru.mdx +7 -28
  195. package/src/media/mdx/Skeleton/skeleton.en.mdx +37 -36
  196. package/src/media/mdx/Skeleton/skeleton.ru.mdx +37 -36
  197. package/src/media/mdx/Skeleton/wikiMdxSkeleton.ts +7 -0
  198. package/src/media/mdx/Window/axis.en.mdx +11 -19
  199. package/src/media/mdx/Window/axis.ru.mdx +11 -19
  200. package/src/media/mdx/Window/classes.en.mdx +9 -26
  201. package/src/media/mdx/Window/classes.ru.mdx +9 -26
  202. package/src/media/mdx/Window/event.window.en.mdx +26 -8
  203. package/src/media/mdx/Window/event.window.ru.mdx +26 -8
  204. package/src/media/mdx/Window/expose.en.mdx +44 -0
  205. package/src/media/mdx/Window/expose.ru.mdx +44 -0
  206. package/src/media/mdx/Window/hooks.en.mdx +29 -50
  207. package/src/media/mdx/Window/hooks.ru.mdx +31 -52
  208. package/src/media/mdx/Window/slots.en.mdx +168 -0
  209. package/src/media/mdx/Window/slots.ru.mdx +168 -0
  210. package/src/media/mdx/Window/v-model.en.mdx +20 -11
  211. package/src/media/mdx/Window/v-model.ru.mdx +19 -11
  212. package/src/media/mdx/Window/wikiMdxWindow.ts +11 -41
  213. package/src/media/mdx/Window/window.en.mdx +55 -1
  214. package/src/media/mdx/Window/window.ru.mdx +55 -1
  215. package/src/media/mdx/event/events.bars.en.mdx +50 -0
  216. package/src/media/mdx/event/events.bars.ru.mdx +50 -0
  217. package/src/media/mdx/event/events.beforeinput.en.mdx +13 -0
  218. package/src/media/mdx/event/events.beforeinput.ru.mdx +13 -0
  219. package/src/media/mdx/event/events.click.en.mdx +36 -0
  220. package/src/media/mdx/event/events.click.ru.mdx +36 -0
  221. package/src/media/mdx/event/events.focus.en.mdx +13 -0
  222. package/src/media/mdx/event/events.focus.ru.mdx +13 -0
  223. package/src/media/mdx/event/events.input.en.mdx +89 -0
  224. package/src/media/mdx/event/events.input.ru.mdx +90 -0
  225. package/src/media/mdx/event/events.keyboard.en.mdx +13 -0
  226. package/src/media/mdx/event/events.keyboard.ru.mdx +13 -0
  227. package/src/media/mdx/event/events.paste.en.mdx +6 -0
  228. package/src/media/mdx/event/events.paste.ru.mdx +6 -0
  229. package/src/media/mdx/event/events.reset.en.mdx +6 -0
  230. package/src/media/mdx/event/events.reset.ru.mdx +6 -0
  231. package/src/media/mdx/event/wikiMdxEvent.ts +39 -74
  232. package/src/media/mdx/expose/expose.clear.en.mdx +3 -0
  233. package/src/media/mdx/expose/expose.clear.ru.mdx +3 -0
  234. package/src/media/mdx/expose/expose.detail.en.mdx +5 -0
  235. package/src/media/mdx/expose/{detail.ru.mdx → expose.detail.ru.mdx} +1 -3
  236. package/src/media/mdx/expose/expose.open.en.mdx +5 -0
  237. package/src/media/mdx/expose/expose.open.ru.mdx +5 -0
  238. package/src/media/mdx/expose/expose.selected.en.mdx +23 -0
  239. package/src/media/mdx/expose/expose.selected.ru.mdx +23 -0
  240. package/src/media/mdx/expose/{value.en.mdx → expose.value.en.mdx} +1 -3
  241. package/src/media/mdx/expose/{value.ru.mdx → expose.value.ru.mdx} +1 -3
  242. package/src/media/mdx/expose/wikiMdxExpose.ts +25 -31
  243. package/src/media/mdx/slot/caption.en.mdx +2 -7
  244. package/src/media/mdx/slot/caption.ru.mdx +2 -7
  245. package/src/media/mdx/slot/control.en.mdx +4 -5
  246. package/src/media/mdx/slot/control.ru.mdx +4 -5
  247. package/src/media/mdx/slot/default.en.mdx +2 -7
  248. package/src/media/mdx/slot/default.ru.mdx +2 -7
  249. package/src/media/mdx/slot/description.en.mdx +2 -7
  250. package/src/media/mdx/slot/description.ru.mdx +2 -7
  251. package/src/media/mdx/slot/footer.en.mdx +4 -5
  252. package/src/media/mdx/slot/footer.ru.mdx +4 -5
  253. package/src/media/mdx/slot/label.en.mdx +2 -8
  254. package/src/media/mdx/slot/label.ru.mdx +2 -8
  255. package/src/media/mdx/slot/prefix.en.mdx +1 -4
  256. package/src/media/mdx/slot/prefix.ru.mdx +1 -4
  257. package/src/media/mdx/slot/suffix.en.mdx +1 -4
  258. package/src/media/mdx/slot/suffix.ru.mdx +1 -4
  259. package/src/media/mdx/slot/wikiMdxSlot.ts +0 -6
  260. package/src/media/mdx/style/adaptive.en.mdx +6 -16
  261. package/src/media/mdx/style/adaptive.ru.mdx +6 -16
  262. package/src/media/mdx/style/asPalette.en.mdx +13 -5
  263. package/src/media/mdx/style/asPalette.ru.mdx +13 -5
  264. package/src/media/mdx/style/dir.en.mdx +14 -7
  265. package/src/media/mdx/style/dir.ru.mdx +14 -7
  266. package/src/media/mdx/style/isSkeleton.en.mdx +20 -6
  267. package/src/media/mdx/style/isSkeleton.ru.mdx +19 -5
  268. package/src/media/mdx/value/highlight.en.mdx +19 -12
  269. package/src/media/mdx/value/highlight.ru.mdx +19 -12
  270. package/src/media/mdx/value/labelNumber.en.mdx +39 -20
  271. package/src/media/mdx/value/labelNumber.ru.mdx +39 -20
  272. package/src/media/mdx/value/value.en.mdx +6 -12
  273. package/src/media/mdx/value/value.ru.mdx +6 -12
  274. package/src/media/styles/color.md +1 -0
  275. package/src/media/styles/en/about.mdx +79 -0
  276. package/src/media/styles/en/color.mdx +711 -0
  277. package/src/media/styles/en/content.mdx +29 -0
  278. package/src/media/styles/en/dimension.mdx +233 -0
  279. package/src/media/styles/en/dir.mdx +193 -0
  280. package/src/media/styles/en/flex.mdx +249 -0
  281. package/src/media/styles/en/font.mdx +171 -0
  282. package/src/media/styles/en/margin.mdx +115 -0
  283. package/src/media/styles/en/media.mdx +133 -0
  284. package/src/media/styles/en/padding.mdx +115 -0
  285. package/src/media/styles/en/position.mdx +183 -0
  286. package/src/media/styles/en/rules.mdx +117 -0
  287. package/src/media/styles/en/scrollbar.mdx +27 -0
  288. package/src/media/styles/en/selector.mdx +153 -0
  289. package/src/media/styles/en/transform.mdx +114 -0
  290. package/src/media/styles/ru/about.mdx +78 -0
  291. package/src/media/styles/ru/color.mdx +711 -0
  292. package/src/media/styles/ru/content.mdx +30 -0
  293. package/src/media/styles/ru/dimension.mdx +233 -0
  294. package/src/media/styles/ru/dir.mdx +193 -0
  295. package/src/media/styles/ru/flex.mdx +249 -0
  296. package/src/media/styles/ru/font.mdx +171 -0
  297. package/src/media/styles/ru/margin.mdx +115 -0
  298. package/src/media/styles/ru/media.mdx +133 -0
  299. package/src/media/styles/ru/padding.mdx +115 -0
  300. package/src/media/styles/ru/position.mdx +183 -0
  301. package/src/media/styles/ru/rules.mdx +117 -0
  302. package/src/media/styles/ru/scrollbar.mdx +27 -0
  303. package/src/media/styles/ru/selector.mdx +153 -0
  304. package/src/media/styles/ru/transform.mdx +114 -0
  305. package/src/styles/storybookStyle.scss +1 -0
  306. package/src/media/mdx/Bars/slot.actionBars.en.mdx +0 -12
  307. package/src/media/mdx/Bars/slot.actionBars.ru.mdx +0 -11
  308. package/src/media/mdx/Bars/slot.bars.en.mdx +0 -12
  309. package/src/media/mdx/Bars/slot.bars.ru.mdx +0 -11
  310. package/src/media/mdx/Cell/slot.body.en.mdx +0 -7
  311. package/src/media/mdx/Cell/slot.body.ru.mdx +0 -7
  312. package/src/media/mdx/Cell/slot.trailing.en.mdx +0 -7
  313. package/src/media/mdx/Cell/slot.trailing.ru.mdx +0 -7
  314. package/src/media/mdx/Field/slot.default.en.mdx +0 -9
  315. package/src/media/mdx/Field/slot.default.ru.mdx +0 -9
  316. package/src/media/mdx/Field/slot.leading.en.mdx +0 -10
  317. package/src/media/mdx/Field/slot.leading.ru.mdx +0 -10
  318. package/src/media/mdx/Field/slot.trailing.en.mdx +0 -10
  319. package/src/media/mdx/Field/slot.trailing.ru.mdx +0 -10
  320. package/src/media/mdx/FieldMessage/slot.helper.en.mdx +0 -12
  321. package/src/media/mdx/FieldMessage/slot.helper.ru.mdx +0 -12
  322. package/src/media/mdx/FieldMessage/slot.validation.en.mdx +0 -12
  323. package/src/media/mdx/FieldMessage/slot.validation.ru.mdx +0 -12
  324. package/src/media/mdx/Image/expose.data.en.mdx +0 -13
  325. package/src/media/mdx/Image/expose.data.ru.mdx +0 -13
  326. package/src/media/mdx/Image/expose.type.en.mdx +0 -21
  327. package/src/media/mdx/ListGroup/slot.head.en.mdx +0 -8
  328. package/src/media/mdx/ListGroup/slot.head.ru.mdx +0 -8
  329. package/src/media/mdx/ListGroup/slot.list.en.mdx +0 -8
  330. package/src/media/mdx/ListGroup/slot.list.ru.mdx +0 -8
  331. package/src/media/mdx/ListItem/slot.body.en.mdx +0 -7
  332. package/src/media/mdx/ListItem/slot.body.ru.mdx +0 -7
  333. package/src/media/mdx/ListItem/slot.trailing.en.mdx +0 -7
  334. package/src/media/mdx/ListItem/slot.trailing.ru.mdx +0 -7
  335. package/src/media/mdx/Menu/slot.contextBottom.en.mdx +0 -9
  336. package/src/media/mdx/Menu/slot.contextBottom.ru.mdx +0 -9
  337. package/src/media/mdx/Menu/slot.contextTop.en.mdx +0 -9
  338. package/src/media/mdx/Menu/slot.contextTop.ru.mdx +0 -9
  339. package/src/media/mdx/Menu/slot.control.en.mdx +0 -9
  340. package/src/media/mdx/Menu/slot.control.ru.mdx +0 -9
  341. package/src/media/mdx/Menu/slot.footer.en.mdx +0 -9
  342. package/src/media/mdx/Menu/slot.footer.ru.mdx +0 -9
  343. package/src/media/mdx/Menu/slot.title.en.mdx +0 -9
  344. package/src/media/mdx/Menu/slot.title.ru.mdx +0 -9
  345. package/src/media/mdx/MotionTransform/slot.body.en.mdx +0 -11
  346. package/src/media/mdx/MotionTransform/slot.body.ru.mdx +0 -11
  347. package/src/media/mdx/MotionTransform/slot.head.en.mdx +0 -11
  348. package/src/media/mdx/MotionTransform/slot.head.ru.mdx +0 -11
  349. package/src/media/mdx/MotionTransform/slot.params.en.mdx +0 -61
  350. package/src/media/mdx/MotionTransform/slot.params.ru.mdx +0 -61
  351. package/src/media/mdx/Scrollbar/event.bottom.en.mdx +0 -12
  352. package/src/media/mdx/Scrollbar/event.bottom.ru.mdx +0 -12
  353. package/src/media/mdx/Scrollbar/event.edge.en.mdx +0 -14
  354. package/src/media/mdx/Scrollbar/event.edge.ru.mdx +0 -14
  355. package/src/media/mdx/Scrollbar/event.leaveBottom.en.mdx +0 -11
  356. package/src/media/mdx/Scrollbar/event.leaveBottom.ru.mdx +0 -11
  357. package/src/media/mdx/Scrollbar/event.leaveTop.en.mdx +0 -11
  358. package/src/media/mdx/Scrollbar/event.leaveTop.ru.mdx +0 -11
  359. package/src/media/mdx/Scrollbar/event.reachBottom.en.mdx +0 -11
  360. package/src/media/mdx/Scrollbar/event.reachBottom.ru.mdx +0 -11
  361. package/src/media/mdx/Scrollbar/event.reachTop.en.mdx +0 -11
  362. package/src/media/mdx/Scrollbar/event.reachTop.ru.mdx +0 -11
  363. package/src/media/mdx/Scrollbar/event.top.en.mdx +0 -12
  364. package/src/media/mdx/Scrollbar/event.top.ru.mdx +0 -12
  365. package/src/media/mdx/Window/expose.control.en.mdx +0 -15
  366. package/src/media/mdx/Window/expose.control.ru.mdx +0 -15
  367. package/src/media/mdx/Window/expose.id.en.mdx +0 -7
  368. package/src/media/mdx/Window/expose.id.ru.mdx +0 -7
  369. package/src/media/mdx/Window/expose.open.en.mdx +0 -7
  370. package/src/media/mdx/Window/expose.open.ru.mdx +0 -7
  371. package/src/media/mdx/Window/expose.setOpen.en.mdx +0 -7
  372. package/src/media/mdx/Window/expose.setOpen.ru.mdx +0 -7
  373. package/src/media/mdx/Window/expose.toClose.en.mdx +0 -7
  374. package/src/media/mdx/Window/expose.toClose.ru.mdx +0 -7
  375. package/src/media/mdx/Window/expose.toOpen.en.mdx +0 -7
  376. package/src/media/mdx/Window/expose.toOpen.ru.mdx +0 -7
  377. package/src/media/mdx/Window/expose.toggle.en.mdx +0 -7
  378. package/src/media/mdx/Window/expose.toggle.ru.mdx +0 -7
  379. package/src/media/mdx/event/bars.en.mdx +0 -17
  380. package/src/media/mdx/event/bars.ru.mdx +0 -14
  381. package/src/media/mdx/event/barsBack.en.mdx +0 -14
  382. package/src/media/mdx/event/barsBack.ru.mdx +0 -16
  383. package/src/media/mdx/event/barsLite.en.mdx +0 -14
  384. package/src/media/mdx/event/barsLite.ru.mdx +0 -14
  385. package/src/media/mdx/event/click.en.mdx +0 -18
  386. package/src/media/mdx/event/click.ru.mdx +0 -18
  387. package/src/media/mdx/event/clickLite.en.mdx +0 -18
  388. package/src/media/mdx/event/clickLite.ru.mdx +0 -18
  389. package/src/media/mdx/event/scrollbarBottom.en.mdx +0 -13
  390. package/src/media/mdx/event/scrollbarBottom.ru.mdx +0 -13
  391. package/src/media/mdx/event/scrollbarEdge.en.mdx +0 -15
  392. package/src/media/mdx/event/scrollbarEdge.ru.mdx +0 -15
  393. package/src/media/mdx/event/scrollbarLeaveBottom.en.mdx +0 -12
  394. package/src/media/mdx/event/scrollbarLeaveBottom.ru.mdx +0 -12
  395. package/src/media/mdx/event/scrollbarLeaveTop.en.mdx +0 -12
  396. package/src/media/mdx/event/scrollbarLeaveTop.ru.mdx +0 -12
  397. package/src/media/mdx/event/scrollbarReachBottom.en.mdx +0 -12
  398. package/src/media/mdx/event/scrollbarReachBottom.ru.mdx +0 -12
  399. package/src/media/mdx/event/scrollbarReachTop.en.mdx +0 -12
  400. package/src/media/mdx/event/scrollbarReachTop.ru.mdx +0 -12
  401. package/src/media/mdx/event/scrollbarTop.en.mdx +0 -13
  402. package/src/media/mdx/event/scrollbarTop.ru.mdx +0 -13
  403. package/src/media/mdx/event/window.en.mdx +0 -20
  404. package/src/media/mdx/event/window.ru.mdx +0 -20
  405. package/src/media/mdx/expose/detail.en.mdx +0 -7
  406. package/src/media/mdx/expose/isSelected.en.mdx +0 -8
  407. package/src/media/mdx/expose/isSelected.ru.mdx +0 -8
  408. package/src/media/mdx/expose/selectedList.en.mdx +0 -7
  409. package/src/media/mdx/expose/selectedList.ru.mdx +0 -7
  410. package/src/media/mdx/expose/selectedNames.en.mdx +0 -7
  411. package/src/media/mdx/expose/selectedNames.ru.mdx +0 -7
  412. package/src/media/mdx/expose/selectedValues.en.mdx +0 -8
  413. package/src/media/mdx/expose/selectedValues.ru.mdx +0 -8
  414. package/src/media/mdx/slot/title.en.mdx +0 -9
  415. package/src/media/mdx/slot/title.ru.mdx +0 -9
@@ -2,55 +2,48 @@
2
2
 
3
3
  The `ajax`, `request`, and `cache` properties are designed for managing asynchronous loading and caching of menu data.
4
4
 
5
- ### Properties
6
-
7
- - **ajax**Enables remote data loading mode for the menu list (URL string or function)
8
- - **request**Object of type `ApiFetch` with HTTP request settings
9
- - **cache**Enables/configures caching of loaded menu items
10
-
11
- ### Request Type
12
-
13
- The `request` parameter has type `ApiFetch` and accepts the following properties:
14
-
15
- ```ts
16
- interface ApiFetch {
17
- // Use base API URL
18
- api?: boolean
19
- // Relative request path
20
- path?: string
21
- // Full URL (ignores api)
22
- pathFull?: string
23
- // HTTP method
24
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE'
25
- // Request data
26
- request?: FormData | Record<string, any> | string
27
- // Add authorization headers
28
- auth?: boolean
29
- // Custom headers
30
- headers?: Record<string, string> | null
31
- // Content-Type
32
- type?: string
33
- // Wrap response in data object
34
- toData?: boolean
35
- // Use global settings
36
- global?: boolean
37
- // Hide errors from user
38
- hideError?: boolean
39
- // Response handler
40
- queryReturn?: (response: Response) => Promise<any>
41
- // Additional fetch options
42
- init?: RequestInit
43
- }
5
+ **Properties:**
6
+
7
+ - `ajax`enables remote data loading mode (URL string or function)
8
+ - `request`object of type `ApiFetch` with HTTP request settings
9
+ - `cache`enables caching of loaded menu items
10
+
11
+ Properties work together: if `ajax` is not specified or equals `false`, the menu uses local data. When `ajax` is activated (URL string or `true`), `request` defines HTTP request parameters (method, headers, body), and `cache` manages data persistence. When `cache` is enabled, repeated menu openings use saved data instead of new requests, reducing server load.
12
+
13
+ ```html
14
+ <script setup>
15
+ import { ref } from 'vue'
16
+
17
+ const isOpen = ref(false)
18
+ </script>
19
+
20
+ <template>
21
+ <!-- Loading with URL -->
22
+ <Menu
23
+ v-model:open="isOpen"
24
+ ajax="/api/menu-items"
25
+ :cache="true"
26
+ />
27
+
28
+ <!-- With request settings -->
29
+ <Menu
30
+ v-model:open="isOpen"
31
+ ajax="/api/menu"
32
+ :request="{
33
+ method: 'POST',
34
+ headers: { 'X-Custom': 'value' },
35
+ auth: true
36
+ }"
37
+ :cache="true"
38
+ />
39
+
40
+ <!-- Loading function -->
41
+ <Menu
42
+ v-model:open="isOpen"
43
+ :ajax="async () => {
44
+ const response = await fetch('/api/menu')
45
+ return response.json()
46
+ }"
47
+ />
48
+ </template>
44
49
  ```
45
-
46
- ### Property Relationships
47
-
48
- The properties work together to provide efficient data loading:
49
-
50
- - If `ajax = false` (or not specified), the menu uses local data, and `request` and `cache` are ignored
51
- - If `ajax = true` or specified as a URL string, network loading is activated:
52
- - `request` defines HTTP request parameters (method, headers, request body)
53
- - `cache` manages saving and reusing received data
54
- - When `cache` is enabled, subsequent menu openings use saved data instead of new requests
55
-
56
- This approach reduces server load, speeds up interface response, and allows flexible configuration of data loading strategies for different usage scenarios.
@@ -2,56 +2,48 @@
2
2
 
3
3
  Свойства `ajax`, `request` и `cache` предназначены для управления асинхронной загрузкой и кэшированием данных меню.
4
4
 
5
- ### Свойства
6
-
7
-
8
- - **ajax**Включает режим удалённой загрузки данных для списка меню (строка URL или функция)
9
- - **request**Объект типа `ApiFetch` с настройками HTTP-запроса
10
- - **cache** — Включает/настраивает кэширование загруженных элементов меню
11
-
12
- ### Тип request
13
-
14
- Параметр `request` имеет тип `ApiFetch` и принимает следующие свойства:
15
-
16
- ```ts
17
- interface ApiFetch {
18
- // Использовать базовый API URL
19
- api?: boolean
20
- // Относительный путь запроса
21
- path?: string
22
- // Полный URL (игнорирует api)
23
- pathFull?: string
24
- // HTTP метод
25
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE'
26
- // Данные запроса
27
- request?: FormData | Record<string, any> | string
28
- // Добавить авторизационные заголовки
29
- auth?: boolean
30
- // Пользовательские заголовки
31
- headers?: Record<string, string> | null
32
- // Content-Type
33
- type?: string
34
- // Обернуть ответ в data объект
35
- toData?: boolean
36
- // Использовать глобальные настройки
37
- global?: boolean
38
- // Скрыть ошибки от пользователя
39
- hideError?: boolean
40
- // Обработчик ответа
41
- queryReturn?: (response: Response) => Promise<any>
42
- // Дополнительные опции fetch
43
- init?: RequestInit
44
- }
5
+ **Свойства:**
6
+
7
+ - `ajax` — включает режим удалённой загрузки данных (строка URL или функция)
8
+ - `request`объект типа `ApiFetch` с настройками HTTP-запроса
9
+ - `cache`включает кэширование загруженных элементов меню
10
+
11
+ Свойства работают совместно: если `ajax` не задан или равен `false`, меню использует локальные данные. При активации `ajax` (строка URL или `true`), `request` определяет параметры HTTP-запроса (метод, заголовки, тело), а `cache` управляет сохранением данных. При включённом `cache` повторные открытия меню используют сохранённые данные вместо новых запросов, снижая нагрузку на сервер.
12
+
13
+ ```html
14
+ <script setup>
15
+ import { ref } from 'vue'
16
+
17
+ const isOpen = ref(false)
18
+ </script>
19
+
20
+ <template>
21
+ <!-- Загрузка с URL -->
22
+ <Menu
23
+ v-model:open="isOpen"
24
+ ajax="/api/menu-items"
25
+ :cache="true"
26
+ />
27
+
28
+ <!-- С настройками запроса -->
29
+ <Menu
30
+ v-model:open="isOpen"
31
+ ajax="/api/menu"
32
+ :request="{
33
+ method: 'POST',
34
+ headers: { 'X-Custom': 'value' },
35
+ auth: true
36
+ }"
37
+ :cache="true"
38
+ />
39
+
40
+ <!-- Функция загрузки -->
41
+ <Menu
42
+ v-model:open="isOpen"
43
+ :ajax="async () => {
44
+ const response = await fetch('/api/menu')
45
+ return response.json()
46
+ }"
47
+ />
48
+ </template>
45
49
  ```
46
-
47
- ### Взаимосвязь свойств
48
-
49
- Свойства работают совместно для обеспечения эффективной загрузки данных:
50
-
51
- - Если `ajax = false` (или не задан), меню использует локальные данные, а `request` и `cache` игнорируются
52
- - Если `ajax = true` или задан как строка URL, активируется сетевая загрузка:
53
- - `request` определяет параметры HTTP-запроса (метод, заголовки, тело запроса)
54
- - `cache` управляет сохранением и повторным использованием полученных данных
55
- - При включённом `cache` повторные открытия меню используют сохранённые данные вместо новых запросов
56
-
57
- Такой подход снижает нагрузку на сервер, ускоряет отклик интерфейса и позволяет гибко настраивать стратегию загрузки данных для разных сценариев использования.
@@ -1,2 +1,64 @@
1
- The Menu component is a popup menu for navigation and actions. It combines Window (container and positioning), Bars (action toolbar), and List (items, groups, and nested submenus), providing keyboard navigation, nested structure support, a lightweight rendering mode (lite with liteThreshold), and controlled open/close behavior.
1
+ Component for creating popup menus, dropdown lists, and context menus with navigation and action support.
2
2
 
3
+ Menu combines the functionality of Window (positioning and visibility management), Bars (action and tool panel), and List (displaying items, groups, and nested submenus). The component provides keyboard navigation, nested structure support, asynchronous data loading, optimized rendering mode for large lists, and full control over open/close state.
4
+
5
+ **Key Features:**
6
+
7
+ - Integration of Window, Bars, and List components
8
+ - Keyboard navigation through menu items
9
+ - Nested submenus with unlimited depth
10
+ - Asynchronous data loading via AJAX
11
+ - Lite mode for optimizing large lists (liteThreshold)
12
+ - Search and filtering of menu items
13
+ - Management of selected items (selected)
14
+ - Flexible positioning relative to anchor
15
+
16
+ **Typical Use Cases:**
17
+
18
+ - Navigation dropdown menus
19
+ - Right-click context menus
20
+ - Action and operation menus
21
+ - Selectors with search and filtering
22
+ - Multi-level navigation menus
23
+ - Menus with dynamic data loading
24
+
25
+ ```html
26
+ <script setup>
27
+ import { ref } from 'vue'
28
+
29
+ const isOpen = ref(false)
30
+ const menuItems = ref([
31
+ { label: 'Create', value: 'create', icon: 'add' },
32
+ { label: 'Edit', value: 'edit', icon: 'edit' },
33
+ { label: 'Delete', value: 'delete', icon: 'delete' },
34
+ {
35
+ label: 'Export',
36
+ value: 'export',
37
+ children: [
38
+ { label: 'PDF', value: 'pdf' },
39
+ { label: 'Excel', value: 'excel' },
40
+ { label: 'CSV', value: 'csv' }
41
+ ]
42
+ }
43
+ ])
44
+
45
+ const handleClick = (value) => {
46
+ console.log('Selected item:', value)
47
+ isOpen.value = false
48
+ }
49
+ </script>
50
+
51
+ <template>
52
+ <button @click="isOpen = true">Open menu</button>
53
+
54
+ <Menu
55
+ v-model:open="isOpen"
56
+ :list="menuItems"
57
+ @click="handleClick"
58
+ >
59
+ <template #control="{ onclick }">
60
+ <button @click="onclick">Actions</button>
61
+ </template>
62
+ </Menu>
63
+ </template>
64
+ ```
@@ -1 +1,64 @@
1
- Компонент Menu — всплывающее меню для навигации и действий. Он объединяет возможности Window (контейнер и позиционирование), Bars (панель действий) и List (пункты, группы и вложенные подменю), обеспечивая клавиатурную навигацию, поддержку вложенной структуры, лёгкий режим рендеринга (lite с порогом liteThreshold) и управляемое открытие/закрытие.
1
+ Компонент для создания всплывающих меню, выпадающих списков и контекстных меню с поддержкой навигации и действий.
2
+
3
+ Menu объединяет функциональность Window (позиционирование и управление видимостью), Bars (панель действий и инструментов) и List (отображение пунктов, групп и вложенных подменю). Компонент обеспечивает клавиатурную навигацию, поддержку вложенной структуры, асинхронную загрузку данных, режим оптимизированного рендеринга для больших списков и полный контроль над состоянием открытия/закрытия.
4
+
5
+ **Основные возможности:**
6
+
7
+ - Интеграция Window, Bars и List компонентов
8
+ - Клавиатурная навигация по пунктам меню
9
+ - Вложенные подменю с неограниченной глубиной
10
+ - Асинхронная загрузка данных через AJAX
11
+ - Режим lite для оптимизации больших списков (liteThreshold)
12
+ - Поиск и фильтрация пунктов меню
13
+ - Управление выбранными элементами (selected)
14
+ - Гибкое позиционирование относительно якоря
15
+
16
+ **Типичные сценарии использования:**
17
+
18
+ - Выпадающие меню навигации
19
+ - Контекстные меню по правому клику
20
+ - Меню действий и операций
21
+ - Селекторы с поиском и фильтрацией
22
+ - Многоуровневые навигационные меню
23
+ - Меню с динамической загрузкой данных
24
+
25
+ ```html
26
+ <script setup>
27
+ import { ref } from 'vue'
28
+
29
+ const isOpen = ref(false)
30
+ const menuItems = ref([
31
+ { label: 'Создать', value: 'create', icon: 'add' },
32
+ { label: 'Редактировать', value: 'edit', icon: 'edit' },
33
+ { label: 'Удалить', value: 'delete', icon: 'delete' },
34
+ {
35
+ label: 'Экспорт',
36
+ value: 'export',
37
+ children: [
38
+ { label: 'PDF', value: 'pdf' },
39
+ { label: 'Excel', value: 'excel' },
40
+ { label: 'CSV', value: 'csv' }
41
+ ]
42
+ }
43
+ ])
44
+
45
+ const handleClick = (value) => {
46
+ console.log('Выбран пункт:', value)
47
+ isOpen.value = false
48
+ }
49
+ </script>
50
+
51
+ <template>
52
+ <button @click="isOpen = true">Открыть меню</button>
53
+
54
+ <Menu
55
+ v-model:open="isOpen"
56
+ :list="menuItems"
57
+ @click="handleClick"
58
+ >
59
+ <template #control="{ onclick }">
60
+ <button @click="onclick">Действия</button>
61
+ </template>
62
+ </Menu>
63
+ </template>
64
+ ```
@@ -0,0 +1,122 @@
1
+ ### `control`
2
+
3
+ Slot for placing the menu control element (trigger).
4
+
5
+ **Parameters:**
6
+ - `props: MenuControlItem` — object with menu control data
7
+
8
+ ### `title`
9
+
10
+ Slot for placing the menu window title.
11
+
12
+ **Parameters:**
13
+ - `props: MenuControlItem` — object with menu control data
14
+
15
+ ### `footer`
16
+
17
+ Slot for placing content in the bottom part of the menu window (action buttons, information).
18
+
19
+ **Parameters:**
20
+ - `props: MenuControlItem` — object with menu control data
21
+
22
+ ### `contextTop`
23
+
24
+ Slot for placing contextual area above the menu list (search, filters, hints).
25
+
26
+ **Parameters:**
27
+ - `props: MenuControlItem` — object with menu control data
28
+
29
+ ### `contextBottom`
30
+
31
+ Slot for placing contextual area below the menu list (hints, final actions).
32
+
33
+ **Parameters:**
34
+ - `props: MenuControlItem` — object with menu control data
35
+
36
+ ```html
37
+ <script setup>
38
+ import { ref } from 'vue'
39
+
40
+ const isOpen = ref(false)
41
+ const menuItems = ref([
42
+ { label: 'Item 1', value: '1' },
43
+ { label: 'Item 2', value: '2' },
44
+ { label: 'Item 3', value: '3' }
45
+ ])
46
+
47
+ const handleSubmit = (values) => {
48
+ console.log('Selected values:', values)
49
+ }
50
+ </script>
51
+
52
+ <template>
53
+ <Menu v-model:open="isOpen" :list="menuItems">
54
+ <template #control="{ onclick, isSelected, selectedNames }">
55
+ <button @click="onclick">
56
+ {{ isSelected ? selectedNames.join(', ') : 'Select items' }}
57
+ </button>
58
+ </template>
59
+
60
+ <template #title="{ selectedList }">
61
+ <h3>Select Items</h3>
62
+ <span v-if="selectedList.length">
63
+ ({{ selectedList.length }})
64
+ </span>
65
+ </template>
66
+
67
+ <template #contextTop>
68
+ <input type="search" placeholder="Search items..." />
69
+ </template>
70
+
71
+ <template #footer="{ isSelected, selectedValues }">
72
+ <button @click="isOpen = false">Cancel</button>
73
+ <button
74
+ :disabled="!isSelected"
75
+ @click="handleSubmit(selectedValues)"
76
+ >
77
+ Apply
78
+ </button>
79
+ </template>
80
+ </Menu>
81
+ </template>
82
+ ```
83
+
84
+ ## MenuControlItem
85
+
86
+ `MenuControlItem` — object passed to all Menu component slots, containing menu control data and selection information.
87
+
88
+ ### Type structure
89
+
90
+ ```typescript
91
+ type MenuControlItem = MenuControlBasic & WindowControlItem
92
+
93
+ type MenuControlBasic = ListExpose & {
94
+ /** Data loading state */
95
+ loading: Ref<boolean>
96
+ }
97
+
98
+ // Includes properties from ListExpose:
99
+ // - isSelected: ComputedRef<boolean>
100
+ // - selectedList: Ref<any[]>
101
+ // - selectedNames: Ref<string[]>
102
+ // - selectedValues: Ref<any[]>
103
+
104
+ // And properties from WindowControlItem:
105
+ // - classesWindow: WindowClassesList
106
+ // - class: string
107
+ // - open: Ref<boolean>
108
+ // - onclick: (event: MouseEvent & TouchEvent) => Promise<void>
109
+ // - oncontextmenu: (event: MouseEvent & TouchEvent) => Promise<void>
110
+ // - binds: object
111
+ ```
112
+
113
+ ### Main properties
114
+
115
+ - **`loading`** — reactive state of menu data loading
116
+ - **`isSelected`** — computed property indicating presence of selected items
117
+ - **`selectedList`** — reactive list of selected items
118
+ - **`selectedNames`** — reactive list of labels of selected items
119
+ - **`selectedValues`** — reactive array of values of selected items
120
+ - **`open`** — reactive state of menu open/close
121
+ - **`onclick`** — click handler for opening/closing menu
122
+
@@ -0,0 +1,122 @@
1
+ ### `control`
2
+
3
+ Слот для размещения элемента управления (триггера) меню.
4
+
5
+ **Параметры:**
6
+ - `props: MenuControlItem` — объект с данными управления меню
7
+
8
+ ### `title`
9
+
10
+ Слот для размещения заголовка окна меню.
11
+
12
+ **Параметры:**
13
+ - `props: MenuControlItem` — объект с данными управления меню
14
+
15
+ ### `footer`
16
+
17
+ Слот для размещения содержимого в нижней части окна меню (кнопки действий, информация).
18
+
19
+ **Параметры:**
20
+ - `props: MenuControlItem` — объект с данными управления меню
21
+
22
+ ### `contextTop`
23
+
24
+ Слот для размещения контекстной области над списком меню (поиск, фильтры, подсказки).
25
+
26
+ **Параметры:**
27
+ - `props: MenuControlItem` — объект с данными управления меню
28
+
29
+ ### `contextBottom`
30
+
31
+ Слот для размещения контекстной области под списком меню (подсказки, итоговые действия).
32
+
33
+ **Параметры:**
34
+ - `props: MenuControlItem` — объект с данными управления меню
35
+
36
+ ```html
37
+ <script setup>
38
+ import { ref } from 'vue'
39
+
40
+ const isOpen = ref(false)
41
+ const menuItems = ref([
42
+ { label: 'Элемент 1', value: '1' },
43
+ { label: 'Элемент 2', value: '2' },
44
+ { label: 'Элемент 3', value: '3' }
45
+ ])
46
+
47
+ const handleSubmit = (values) => {
48
+ console.log('Выбранные значения:', values)
49
+ }
50
+ </script>
51
+
52
+ <template>
53
+ <Menu v-model:open="isOpen" :list="menuItems">
54
+ <template #control="{ onclick, isSelected, selectedNames }">
55
+ <button @click="onclick">
56
+ {{ isSelected ? selectedNames.join(', ') : 'Выбрать элементы' }}
57
+ </button>
58
+ </template>
59
+
60
+ <template #title="{ selectedList }">
61
+ <h3>Выбор элементов</h3>
62
+ <span v-if="selectedList.length">
63
+ ({{ selectedList.length }})
64
+ </span>
65
+ </template>
66
+
67
+ <template #contextTop>
68
+ <input type="search" placeholder="Поиск элементов..." />
69
+ </template>
70
+
71
+ <template #footer="{ isSelected, selectedValues }">
72
+ <button @click="isOpen = false">Отмена</button>
73
+ <button
74
+ :disabled="!isSelected"
75
+ @click="handleSubmit(selectedValues)"
76
+ >
77
+ Применить
78
+ </button>
79
+ </template>
80
+ </Menu>
81
+ </template>
82
+ ```
83
+
84
+ ## MenuControlItem
85
+
86
+ `MenuControlItem` — объект, передаваемый во все слоты компонента Menu, содержащий данные для управления меню и информацию о выборе.
87
+
88
+ ### Структура типа
89
+
90
+ ```typescript
91
+ type MenuControlItem = MenuControlBasic & WindowControlItem
92
+
93
+ type MenuControlBasic = ListExpose & {
94
+ /** Состояние загрузки данных */
95
+ loading: Ref<boolean>
96
+ }
97
+
98
+ // Включает свойства из ListExpose:
99
+ // - isSelected: ComputedRef<boolean>
100
+ // - selectedList: Ref<any[]>
101
+ // - selectedNames: Ref<string[]>
102
+ // - selectedValues: Ref<any[]>
103
+
104
+ // И свойства из WindowControlItem:
105
+ // - classesWindow: WindowClassesList
106
+ // - class: string
107
+ // - open: Ref<boolean>
108
+ // - onclick: (event: MouseEvent & TouchEvent) => Promise<void>
109
+ // - oncontextmenu: (event: MouseEvent & TouchEvent) => Promise<void>
110
+ // - binds: object
111
+ ```
112
+
113
+ ### Основные свойства
114
+
115
+ - **`loading`** — реактивное состояние загрузки данных меню
116
+ - **`isSelected`** — вычисляемое свойство, указывающее наличие выбранных элементов
117
+ - **`selectedList`** — реактивный список выбранных элементов
118
+ - **`selectedNames`** — реактивный список меток выбранных элементов
119
+ - **`selectedValues`** — реактивный массив значений выбранных элементов
120
+ - **`open`** — реактивное состояние открытия меню
121
+ - **`onclick`** — обработчик клика для открытия/закрытия меню
122
+
@@ -4,49 +4,24 @@ import ajaxEn from './ajax.en.mdx'
4
4
  import ajaxRu from './ajax.ru.mdx'
5
5
  import menuEn from './menu.en.mdx'
6
6
  import menuRu from './menu.ru.mdx'
7
-
8
- import slotControlEn from './slot.control.en.mdx'
9
- import slotControlRu from './slot.control.ru.mdx'
10
- import slotTitleEn from './slot.title.en.mdx'
11
- import slotTitleRu from './slot.title.ru.mdx'
12
- import slotFooterEn from './slot.footer.en.mdx'
13
- import slotFooterRu from './slot.footer.ru.mdx'
14
- import slotContextTopEn from './slot.contextTop.en.mdx'
15
- import slotContextTopRu from './slot.contextTop.ru.mdx'
16
- import slotContextBottomEn from './slot.contextBottom.en.mdx'
17
- import slotContextBottomRu from './slot.contextBottom.ru.mdx'
7
+ import slotsEn from './slots.en.mdx'
8
+ import slotsRu from './slots.ru.mdx'
18
9
 
19
10
  /** MDX документация для компонента Menu */
20
11
  export const wikiMdxMenu: StorybookComponentsMdxItem = {
21
12
  name: 'Menu',
22
13
  descriptions: {
23
- 'ajax': {
14
+ ajax: {
24
15
  en: ajaxEn,
25
16
  ru: ajaxRu
26
17
  },
27
- 'menu': {
18
+ menu: {
28
19
  en: menuEn,
29
20
  ru: menuRu
30
21
  },
31
- 'slot.control': {
32
- en: slotControlEn,
33
- ru: slotControlRu
34
- },
35
- 'slot.title': {
36
- en: slotTitleEn,
37
- ru: slotTitleRu
38
- },
39
- 'slot.footer': {
40
- en: slotFooterEn,
41
- ru: slotFooterRu
42
- },
43
- 'slot.contextTop': {
44
- en: slotContextTopEn,
45
- ru: slotContextTopRu
46
- },
47
- 'slot.contextBottom': {
48
- en: slotContextBottomEn,
49
- ru: slotContextBottomRu
22
+ slots: {
23
+ en: slotsEn,
24
+ ru: slotsRu
50
25
  }
51
26
  }
52
27
  }