@dxtmisha/wiki 0.24.3 → 0.25.1

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 (230) hide show
  1. package/package.json +7 -7
  2. package/src/classes/WikiStorybookItem.ts +24 -0
  3. package/src/media/descriptions/wikiDescriptions.ts +28 -0
  4. package/src/media/descriptions/wikiDescriptionsAccordion.ts +158 -0
  5. package/src/media/descriptions/wikiDescriptionsActionSheet.ts +211 -0
  6. package/src/media/descriptions/wikiDescriptionsActions.ts +161 -0
  7. package/src/media/descriptions/wikiDescriptionsAnchor.ts +42 -0
  8. package/src/media/descriptions/wikiDescriptionsArrow.ts +181 -0
  9. package/src/media/descriptions/wikiDescriptionsBlock.ts +97 -0
  10. package/src/media/descriptions/wikiDescriptionsButton.ts +0 -1
  11. package/src/media/descriptions/wikiDescriptionsCell.ts +2 -1
  12. package/src/media/descriptions/wikiDescriptionsChipGroup.ts +168 -0
  13. package/src/media/descriptions/wikiDescriptionsDialog.ts +182 -0
  14. package/src/media/descriptions/wikiDescriptionsField.ts +2 -0
  15. package/src/media/descriptions/wikiDescriptionsImage.ts +41 -6
  16. package/src/media/descriptions/wikiDescriptionsInput.ts +257 -0
  17. package/src/media/descriptions/wikiDescriptionsMenu.ts +123 -0
  18. package/src/media/descriptions/wikiDescriptionsModal.ts +145 -0
  19. package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +2 -6
  20. package/src/media/descriptions/wikiDescriptionsSelect.ts +209 -0
  21. package/src/media/descriptions/wikiDescriptionsSelectValue.ts +78 -0
  22. package/src/media/descriptions/wikiDescriptionsTextareaAutosize.ts +50 -0
  23. package/src/media/descriptions/wikiDescriptionsTooltip.ts +89 -0
  24. package/src/media/functional/en/conversions.mdx +67 -0
  25. package/src/media/functional/en/dataUtils.mdx +25 -0
  26. package/src/media/functional/en/datetimeRef.mdx +1 -1
  27. package/src/media/functional/en/eventRef.mdx +1 -1
  28. package/src/media/functional/en/executionUtils.mdx +58 -0
  29. package/src/media/functional/en/geoFlagRef.mdx +1 -1
  30. package/src/media/functional/en/geoIntlRef.mdx +1 -1
  31. package/src/media/functional/en/geoRef.mdx +2 -2
  32. package/src/media/functional/en/meta.mdx +1206 -0
  33. package/src/media/functional/en/metaManager.mdx +376 -0
  34. package/src/media/functional/en/metaOg.mdx +694 -0
  35. package/src/media/functional/en/metaTwitter.mdx +853 -0
  36. package/src/media/functional/en/reactive.mdx +40 -0
  37. package/src/media/functional/en/refTypes.mdx +1 -1
  38. package/src/media/functional/en/useApiRef.mdx +5 -5
  39. package/src/media/functional/en/useMeta.mdx +431 -0
  40. package/src/media/functional/en/validationUtils.mdx +11 -0
  41. package/src/media/functional/ru/conversions.mdx +67 -0
  42. package/src/media/functional/ru/dataUtils.mdx +25 -0
  43. package/src/media/functional/ru/datetimeRef.mdx +2 -2
  44. package/src/media/functional/ru/eventRef.mdx +1 -1
  45. package/src/media/functional/ru/executionUtils.mdx +58 -0
  46. package/src/media/functional/ru/geoFlagRef.mdx +1 -1
  47. package/src/media/functional/ru/geoIntl.mdx +2 -2
  48. package/src/media/functional/ru/geoIntlRef.mdx +1 -1
  49. package/src/media/functional/ru/geoRef.mdx +2 -2
  50. package/src/media/functional/ru/listTypes.mdx +1 -1
  51. package/src/media/functional/ru/meta.mdx +1330 -0
  52. package/src/media/functional/ru/metaManager.mdx +376 -0
  53. package/src/media/functional/ru/metaOg.mdx +694 -0
  54. package/src/media/functional/ru/metaTwitter.mdx +853 -0
  55. package/src/media/functional/ru/reactive.mdx +40 -0
  56. package/src/media/functional/ru/refTypes.mdx +2 -2
  57. package/src/media/functional/ru/useApiRef.mdx +5 -5
  58. package/src/media/functional/ru/useMeta.mdx +431 -0
  59. package/src/media/functional/ru/validationUtils.mdx +11 -0
  60. package/src/media/mdx/Accordion/accordion.en.mdx +59 -0
  61. package/src/media/mdx/Accordion/accordion.ru.mdx +59 -0
  62. package/src/media/mdx/Accordion/slots.en.mdx +6 -0
  63. package/src/media/mdx/Accordion/slots.ru.mdx +6 -0
  64. package/src/media/mdx/Accordion/wikiMdxAccordion.ts +25 -0
  65. package/src/media/mdx/ActionSheet/actionSheet.en.mdx +61 -0
  66. package/src/media/mdx/ActionSheet/actionSheet.ru.mdx +61 -0
  67. package/src/media/mdx/ActionSheet/touchClose.en.mdx +21 -0
  68. package/src/media/mdx/ActionSheet/touchClose.ru.mdx +21 -0
  69. package/src/media/mdx/ActionSheet/wikiMdxActionSheet.ts +25 -0
  70. package/src/media/mdx/Actions/actions.en.mdx +48 -0
  71. package/src/media/mdx/Actions/actions.ru.mdx +48 -0
  72. package/src/media/mdx/Actions/flexible.en.mdx +19 -0
  73. package/src/media/mdx/Actions/flexible.ru.mdx +19 -0
  74. package/src/media/mdx/Actions/list.en.mdx +50 -0
  75. package/src/media/mdx/Actions/list.ru.mdx +50 -0
  76. package/src/media/mdx/Actions/wikiMdxActions.ts +31 -0
  77. package/src/media/mdx/Anchor/anchor.en.mdx +34 -0
  78. package/src/media/mdx/Anchor/anchor.ru.mdx +34 -0
  79. package/src/media/mdx/Anchor/expose.go.en.mdx +6 -0
  80. package/src/media/mdx/Anchor/expose.go.ru.mdx +6 -0
  81. package/src/media/mdx/Anchor/hide.en.mdx +28 -0
  82. package/src/media/mdx/Anchor/hide.ru.mdx +28 -0
  83. package/src/media/mdx/Anchor/isCopy.en.mdx +23 -0
  84. package/src/media/mdx/Anchor/isCopy.ru.mdx +23 -0
  85. package/src/media/mdx/Anchor/scroll.en.mdx +34 -0
  86. package/src/media/mdx/Anchor/scroll.ru.mdx +35 -0
  87. package/src/media/mdx/Anchor/wikiMdxAnchor.ts +43 -0
  88. package/src/media/mdx/Arrow/arrow.en.mdx +33 -0
  89. package/src/media/mdx/Arrow/arrow.ru.mdx +33 -0
  90. package/src/media/mdx/Arrow/wikiMdxArrow.ts +19 -0
  91. package/src/media/mdx/Block/block.en.mdx +42 -0
  92. package/src/media/mdx/Block/block.ru.mdx +42 -0
  93. package/src/media/mdx/Block/wikiMdxBlock.ts +19 -0
  94. package/src/media/mdx/ChipGroup/chipGroup.en.mdx +51 -0
  95. package/src/media/mdx/ChipGroup/chipGroup.ru.mdx +51 -0
  96. package/src/media/mdx/ChipGroup/selected.en.mdx +50 -0
  97. package/src/media/mdx/ChipGroup/selected.ru.mdx +50 -0
  98. package/src/media/mdx/ChipGroup/wikiMdxChipGroup.ts +25 -0
  99. package/src/media/mdx/Dialog/buttons.en.mdx +45 -0
  100. package/src/media/mdx/Dialog/buttons.ru.mdx +45 -0
  101. package/src/media/mdx/Dialog/dialog.en.mdx +66 -0
  102. package/src/media/mdx/Dialog/dialog.ru.mdx +65 -0
  103. package/src/media/mdx/Dialog/events.en.mdx +63 -0
  104. package/src/media/mdx/Dialog/events.ru.mdx +63 -0
  105. package/src/media/mdx/Dialog/states.en.mdx +58 -0
  106. package/src/media/mdx/Dialog/states.ru.mdx +57 -0
  107. package/src/media/mdx/Dialog/wikiMdxDialog.ts +37 -0
  108. package/src/media/mdx/Field/arrows.en.mdx +22 -6
  109. package/src/media/mdx/Field/arrows.ru.mdx +22 -6
  110. package/src/media/mdx/Field/slots.en.mdx +0 -13
  111. package/src/media/mdx/Field/slots.ru.mdx +0 -13
  112. package/src/media/mdx/Image/img-tag.en.mdx +105 -0
  113. package/src/media/mdx/Image/img-tag.ru.mdx +105 -0
  114. package/src/media/mdx/Image/wikiMdxImage.ts +6 -0
  115. package/src/media/mdx/Input/currency.en.mdx +38 -0
  116. package/src/media/mdx/Input/currency.ru.mdx +38 -0
  117. package/src/media/mdx/Input/date.en.mdx +53 -0
  118. package/src/media/mdx/Input/date.ru.mdx +53 -0
  119. package/src/media/mdx/Input/input.en.mdx +143 -0
  120. package/src/media/mdx/Input/input.ru.mdx +71 -0
  121. package/src/media/mdx/Input/mask.en.mdx +30 -0
  122. package/src/media/mdx/Input/mask.ru.mdx +30 -0
  123. package/src/media/mdx/Input/number.en.mdx +41 -0
  124. package/src/media/mdx/Input/number.ru.mdx +41 -0
  125. package/src/media/mdx/Input/type.en.mdx +26 -0
  126. package/src/media/mdx/Input/type.ru.mdx +26 -0
  127. package/src/media/mdx/Input/wikiMdxInput.ts +49 -0
  128. package/src/media/mdx/Menu/event.updateValue.en.mdx +29 -0
  129. package/src/media/mdx/Menu/event.updateValue.ru.mdx +30 -0
  130. package/src/media/mdx/Menu/expose.navigation.en.mdx +12 -0
  131. package/src/media/mdx/Menu/expose.navigation.ru.mdx +12 -0
  132. package/src/media/mdx/Menu/navigation.en.mdx +56 -0
  133. package/src/media/mdx/Menu/navigation.ru.mdx +56 -0
  134. package/src/media/mdx/Menu/slots.control.en.mdx +65 -0
  135. package/src/media/mdx/Menu/slots.control.ru.mdx +65 -0
  136. package/src/media/mdx/Menu/slots.en.mdx +2 -24
  137. package/src/media/mdx/Menu/slots.ru.mdx +2 -24
  138. package/src/media/mdx/Menu/wikiMdxMenu.ts +27 -3
  139. package/src/media/mdx/Modal/differences.en.mdx +130 -0
  140. package/src/media/mdx/Modal/differences.ru.mdx +65 -0
  141. package/src/media/mdx/Modal/modal.en.mdx +63 -0
  142. package/src/media/mdx/Modal/modal.ru.mdx +63 -0
  143. package/src/media/mdx/Modal/wikiMdxModal.ts +25 -0
  144. package/src/media/mdx/MotionTransform/expose.motionTransformElement.en.mdx +13 -0
  145. package/src/media/mdx/MotionTransform/expose.motionTransformElement.ru.mdx +14 -0
  146. package/src/media/mdx/MotionTransform/wikiMdxMotionTransform.ts +6 -0
  147. package/src/media/mdx/Select/select.en.mdx +69 -0
  148. package/src/media/mdx/Select/select.ru.mdx +69 -0
  149. package/src/media/mdx/Select/wikiMdxSelect.ts +19 -0
  150. package/src/media/mdx/SelectValue/selectValue.en.mdx +64 -0
  151. package/src/media/mdx/SelectValue/selectValue.ru.mdx +64 -0
  152. package/src/media/mdx/SelectValue/wikiMdxSelectValue.ts +19 -0
  153. package/src/media/mdx/TextareaAutosize/textarea-autosize.en.mdx +65 -0
  154. package/src/media/mdx/TextareaAutosize/textarea-autosize.ru.mdx +65 -0
  155. package/src/media/mdx/TextareaAutosize/wikiMdxTextareaAutosize.ts +19 -0
  156. package/src/media/mdx/Tooltip/event.tooltip.en.mdx +7 -0
  157. package/src/media/mdx/Tooltip/event.tooltip.ru.mdx +8 -0
  158. package/src/media/mdx/Tooltip/slot.control.en.mdx +14 -0
  159. package/src/media/mdx/Tooltip/slot.control.ru.mdx +14 -0
  160. package/src/media/mdx/Tooltip/tooltip.en.mdx +34 -0
  161. package/src/media/mdx/Tooltip/tooltip.ru.mdx +34 -0
  162. package/src/media/mdx/Tooltip/wikiMdxTooltip.ts +31 -0
  163. package/src/media/mdx/Window/classes.ru.mdx +1 -1
  164. package/src/media/mdx/event/events.actions.en.mdx +44 -0
  165. package/src/media/mdx/event/events.actions.ru.mdx +44 -0
  166. package/src/media/mdx/event/events.inputStandard.en.mdx +6 -0
  167. package/src/media/mdx/event/events.inputStandard.ru.mdx +6 -0
  168. package/src/media/mdx/event/wikiMdxEvent.ts +20 -8
  169. package/src/media/mdx/expose/expose.descriptionId.en.mdx +6 -0
  170. package/src/media/mdx/expose/expose.descriptionId.ru.mdx +6 -0
  171. package/src/media/mdx/expose/expose.id.en.mdx +6 -0
  172. package/src/media/mdx/expose/expose.id.ru.mdx +6 -0
  173. package/src/media/mdx/expose/expose.labelId.en.mdx +6 -0
  174. package/src/media/mdx/expose/expose.labelId.ru.mdx +6 -0
  175. package/src/media/mdx/expose/wikiMdxExpose.ts +18 -0
  176. package/src/media/mdx/slot/body.en.mdx +6 -0
  177. package/src/media/mdx/slot/body.ru.mdx +6 -0
  178. package/src/media/mdx/slot/headline.en.mdx +7 -0
  179. package/src/media/mdx/slot/headline.ru.mdx +6 -0
  180. package/src/media/mdx/slot/leading.en.mdx +7 -0
  181. package/src/media/mdx/slot/leading.ru.mdx +7 -0
  182. package/src/media/mdx/slot/secondary.en.mdx +5 -0
  183. package/src/media/mdx/slot/secondary.ru.mdx +5 -0
  184. package/src/media/mdx/slot/trailing.en.mdx +7 -0
  185. package/src/media/mdx/slot/trailing.ru.mdx +7 -0
  186. package/src/media/mdx/slot/wikiMdxSlot.ts +30 -0
  187. package/src/media/mdx/style/isSkeleton.en.mdx +2 -2
  188. package/src/media/mdx/style/isSkeleton.ru.mdx +2 -2
  189. package/src/media/mdx/value/v-model-selected.en.mdx +28 -0
  190. package/src/media/mdx/value/v-model-selected.ru.mdx +28 -0
  191. package/src/media/mdx/value/v-model.en.mdx +26 -0
  192. package/src/media/mdx/value/v-model.ru.mdx +26 -0
  193. package/src/media/mdx/value/wikiMdxValue.ts +24 -3
  194. package/src/media/mdx/wikiMdx.ts +29 -1
  195. package/src/media/props/wiki.ts +42 -0
  196. package/src/media/props/wikiActions.ts +43 -0
  197. package/src/media/props/wikiActionsInclude.ts +62 -0
  198. package/src/media/props/wikiAnchor.ts +84 -0
  199. package/src/media/props/wikiAria.ts +102 -0
  200. package/src/media/props/wikiArrow.ts +24 -0
  201. package/src/media/props/wikiArrowInclude.ts +45 -0
  202. package/src/media/props/wikiBarsInclude.ts +80 -0
  203. package/src/media/props/wikiChipGroup.ts +39 -0
  204. package/src/media/props/wikiDialog.ts +34 -0
  205. package/src/media/props/wikiField.ts +0 -21
  206. package/src/media/props/wikiFieldCounterInclude.ts +78 -0
  207. package/src/media/props/wikiForm.ts +248 -0
  208. package/src/media/props/wikiHook.ts +20 -0
  209. package/src/media/props/wikiIcon.ts +3 -3
  210. package/src/media/props/wikiIconInclude.ts +319 -0
  211. package/src/media/props/wikiImage.ts +71 -19
  212. package/src/media/props/wikiInformation.ts +160 -0
  213. package/src/media/props/wikiInput.ts +34 -0
  214. package/src/media/props/wikiListItem.ts +20 -0
  215. package/src/media/props/wikiMask.ts +0 -10
  216. package/src/media/props/wikiMaskInclude.ts +54 -0
  217. package/src/media/props/wikiMenu.ts +0 -10
  218. package/src/media/props/wikiMotionTransform.ts +0 -10
  219. package/src/media/props/wikiOption.ts +113 -0
  220. package/src/media/props/wikiSelect.ts +68 -0
  221. package/src/media/props/wikiSelectValue.ts +30 -0
  222. package/src/media/props/wikiStatus.ts +29 -41
  223. package/src/media/props/wikiStyle.ts +154 -243
  224. package/src/media/props/wikiTechnical.ts +65 -0
  225. package/src/media/props/wikiText.ts +57 -0
  226. package/src/media/props/wikiTooltip.ts +53 -0
  227. package/src/media/props/wikiValue.ts +14 -203
  228. package/src/media/props/wikiWindow.ts +0 -31
  229. package/src/styles/storybookStyle.scss +3 -1
  230. package/src/types/storybookTypes.ts +26 -4
@@ -0,0 +1,25 @@
1
+ import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
2
+
3
+ import accordionEn from './accordion.en.mdx'
4
+ import accordionRu from './accordion.ru.mdx'
5
+ import slotsEn from './slots.en.mdx'
6
+ import slotsRu from './slots.ru.mdx'
7
+
8
+ /**
9
+ * MDX files for Accordion component
10
+ *
11
+ * MDX файлы для компонента Accordion
12
+ */
13
+ export const wikiMdxAccordion: StorybookComponentsMdxItem = {
14
+ name: 'Accordion',
15
+ descriptions: {
16
+ accordion: {
17
+ en: accordionEn,
18
+ ru: accordionRu
19
+ },
20
+ slots: {
21
+ en: slotsEn,
22
+ ru: slotsRu
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,61 @@
1
+ Component for creating mobile-optimized action panels that slide up from the bottom of the screen with smooth animation.
2
+
3
+ ActionSheet is a specialized wrapper over the Window component with a preset `actionSheet` adaptive mode. The component automatically positions itself at the bottom of the screen and slides up when opened, following iOS and Material Design mobile interface patterns. Supports swipe gestures for closing, integration with the Bars component for the header, and automatic focus management.
4
+
5
+ **Key features:**
6
+
7
+ - Positioning at the bottom of the screen with slide-up animation
8
+ - Touch gesture support for closing by swiping down
9
+ - Integration with Bars for header display
10
+ - Automatic background blocking when opened
11
+ - Closing by clicking on overlay or close button
12
+ - Lifecycle events (opening, closing)
13
+ - Slot support for content customization
14
+ - Adaptive height based on content size
15
+
16
+ **Common use cases:**
17
+
18
+ - Action menus for mobile applications
19
+ - Option and selection lists
20
+ - Forms and filters on mobile devices
21
+ - Context menus for touch interfaces
22
+ - Confirmations and notifications
23
+
24
+ ```html
25
+ <script setup>
26
+ import { ref } from 'vue'
27
+
28
+ const isOpen = ref(false)
29
+
30
+ const handleAction = (action) => {
31
+ console.log('Selected action:', action)
32
+ isOpen.value = false
33
+ }
34
+ </script>
35
+
36
+ <template>
37
+ <button @click="isOpen = true">Open Actions</button>
38
+
39
+ <ActionSheet
40
+ v-model:open="isOpen"
41
+ :touchClose="true"
42
+ >
43
+ <template #title>
44
+ <h3>Choose Action</h3>
45
+ </template>
46
+
47
+ <template #default>
48
+ <div class="action-list">
49
+ <button @click="handleAction('share')">Share</button>
50
+ <button @click="handleAction('copy')">Copy Link</button>
51
+ <button @click="handleAction('download')">Download</button>
52
+ </div>
53
+ </template>
54
+
55
+ <template #footer>
56
+ <button @click="isOpen = false">Cancel</button>
57
+ </template>
58
+ </ActionSheet>
59
+ </template>
60
+ ```
61
+
@@ -0,0 +1,61 @@
1
+ Компонент для создания мобильно-оптимизированных панелей действий, выдвигающихся снизу экрана с плавной анимацией.
2
+
3
+ ActionSheet представляет собой специализированную обертку над компонентом Window с предустановленным адаптивным режимом `actionSheet`. Компонент автоматически позиционируется внизу экрана и выдвигается вверх при открытии, следуя паттернам мобильных интерфейсов iOS и Material Design. Поддерживает жесты свайпа для закрытия, интеграцию с компонентом Bars для заголовка и автоматическое управление фокусом.
4
+
5
+ **Основные возможности:**
6
+
7
+ - Позиционирование внизу экрана с анимацией выдвижения
8
+ - Поддержка touch-жестов для закрытия свайпом вниз
9
+ - Интеграция с Bars для отображения заголовка
10
+ - Автоматическая блокировка фона при открытии
11
+ - Закрытие по клику на overlay или кнопке закрытия
12
+ - События жизненного цикла (открытие, закрытие)
13
+ - Поддержка слотов для кастомизации контента
14
+ - Адаптивная высота под размер контента
15
+
16
+ **Типичные сценарии использования:**
17
+
18
+ - Меню действий для мобильных приложений
19
+ - Списки опций и выборов
20
+ - Формы и фильтры на мобильных устройствах
21
+ - Контекстные меню для touch-интерфейсов
22
+ - Подтверждения и уведомления
23
+
24
+ ```html
25
+ <script setup>
26
+ import { ref } from 'vue'
27
+
28
+ const isOpen = ref(false)
29
+
30
+ const handleAction = (action) => {
31
+ console.log('Выбрано действие:', action)
32
+ isOpen.value = false
33
+ }
34
+ </script>
35
+
36
+ <template>
37
+ <button @click="isOpen = true">Открыть действия</button>
38
+
39
+ <ActionSheet
40
+ v-model:open="isOpen"
41
+ :touchClose="true"
42
+ >
43
+ <template #title>
44
+ <h3>Выберите действие</h3>
45
+ </template>
46
+
47
+ <template #default>
48
+ <div class="action-list">
49
+ <button @click="handleAction('share')">Поделиться</button>
50
+ <button @click="handleAction('copy')">Копировать ссылку</button>
51
+ <button @click="handleAction('download')">Скачать</button>
52
+ </div>
53
+ </template>
54
+
55
+ <template #footer>
56
+ <button @click="isOpen = false">Отмена</button>
57
+ </template>
58
+ </ActionSheet>
59
+ </template>
60
+ ```
61
+
@@ -0,0 +1,21 @@
1
+ ## Touch Close Gesture
2
+
3
+ The `touchClose` property enables closing the ActionSheet with a swipe-down gesture.
4
+
5
+ **Possible values:**
6
+
7
+ - `true` — enables closing by swiping down (default)
8
+ - `false` — disables gesture closing
9
+
10
+ When enabled, a special tab indicator (drag handle) is displayed in the header area, which users can pull down to close the panel. This follows iOS and Material Design mobile interface patterns, providing intuitive interaction on touch devices.
11
+
12
+ ```html
13
+ <!-- With gesture closing enabled -->
14
+ <ActionSheet :touchClose="true" />
15
+
16
+ <!-- Without gesture closing -->
17
+ <ActionSheet :touchClose="false" />
18
+ ```
19
+
20
+ The closing gesture is triggered by swiping down in the header area. The component automatically manages touch events and closing animation, ensuring smooth follow-through with the user's finger movement.
21
+
@@ -0,0 +1,21 @@
1
+ ## Закрытие жестом
2
+
3
+ Свойство `touchClose` включает возможность закрытия ActionSheet жестом свайпа вниз.
4
+
5
+ **Возможные значения:**
6
+
7
+ - `true` — включает закрытие свайпом вниз (по умолчанию)
8
+ - `false` — отключает закрытие жестом
9
+
10
+ При включенном свойстве в области заголовка отображается специальная tab-полоска (индикатор перетаскивания), за которую пользователь может потянуть вниз для закрытия панели. Это следует паттернам мобильных интерфейсов iOS и Material Design, обеспечивая интуитивное взаимодействие на сенсорных устройствах.
11
+
12
+ ```html
13
+ <!-- С возможностью закрытия жестом -->
14
+ <ActionSheet :touchClose="true" />
15
+
16
+ <!-- Без возможности закрытия жестом -->
17
+ <ActionSheet :touchClose="false" />
18
+ ```
19
+
20
+ Жест закрытия срабатывает при свайпе вниз в области заголовка. Компонент автоматически управляет touch-событиями и анимацией закрытия, обеспечивая плавное следование за пальцем пользователя.
21
+
@@ -0,0 +1,25 @@
1
+ import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
2
+
3
+ import actionSheetEn from './actionSheet.en.mdx'
4
+ import actionSheetRu from './actionSheet.ru.mdx'
5
+ import touchCloseEn from './touchClose.en.mdx'
6
+ import touchCloseRu from './touchClose.ru.mdx'
7
+
8
+ /**
9
+ * MDX files for ActionSheet component
10
+ *
11
+ * MDX файлы для компонента ActionSheet
12
+ */
13
+ export const wikiMdxActionSheet: StorybookComponentsMdxItem = {
14
+ name: 'ActionSheet',
15
+ descriptions: {
16
+ actionSheet: {
17
+ en: actionSheetEn,
18
+ ru: actionSheetRu
19
+ },
20
+ touchClose: {
21
+ en: touchCloseEn,
22
+ ru: touchCloseRu
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,48 @@
1
+ Container for organizing action buttons with support for primary and secondary grouping, various alignment modes, and adaptive behavior.
2
+
3
+ Actions centralizes the management of interactive button placement in dialogs, forms, and panels, automatically distributes space between groups, supports flexible adaptation to available space, and provides a unified API for creating consistent action sets. It serves as a fundamental component for building user interfaces with clear button hierarchy.
4
+
5
+ **Core capabilities:**
6
+
7
+ - Button grouping (primary group via list, secondary via listSecondary)
8
+ - Alignment control (left, right, center, block, none)
9
+ - Adaptive behavior through flexible property (adaptive/container)
10
+ - Automatic spacer between button groups
11
+ - Separate attribute configuration (buttonAttrs, buttonSecondaryAttrs)
12
+ - Slot support for custom content (default, secondary)
13
+ - Integration with Button component with all its features
14
+ - Flexible layout with automatic transition to block mode
15
+
16
+ **Typical use cases:**
17
+
18
+ - Action panels in dialogs and modal windows
19
+ - Button sets in forms (cancel, save, apply)
20
+ - Control panels with primary and auxiliary actions
21
+ - Adaptive interfaces with automatic restructuring on mobile devices
22
+
23
+ ```html
24
+ <script setup>
25
+ import { ref } from 'vue'
26
+ import { Actions } from '@dxtmisha/constructor'
27
+
28
+ const isLoading = ref(false)
29
+
30
+ const handleSave = async () => {
31
+ isLoading.value = true
32
+ await saveData()
33
+ isLoading.value = false
34
+ }
35
+ </script>
36
+
37
+ <template>
38
+ <Actions
39
+ align="right"
40
+ :list="[
41
+ { label: 'Cancel' },
42
+ { label: 'Save', primary: true, loading: isLoading }
43
+ ]"
44
+ />
45
+ </template>
46
+ ```
47
+
48
+ > Actions is a smart container: it automatically manages button placement, adapts to screen size, and provides visual hierarchy between primary and secondary actions.
@@ -0,0 +1,48 @@
1
+ Контейнер для организации кнопок действий с поддержкой основной и вторичной группировки, различных режимов выравнивания и адаптивного поведения.
2
+
3
+ Actions централизует управление расположением интерактивных кнопок в диалогах, формах и панелях, автоматически распределяет пространство между группами, поддерживает гибкую адаптацию к доступному месту и предоставляет единый API для создания консистентных наборов действий. Является фундаментальным компонентом для построения пользовательских интерфейсов с четкой иерархией кнопок.
4
+
5
+ **Основные возможности:**
6
+
7
+ - Группировка кнопок (основная группа через list, вторичная через listSecondary)
8
+ - Управление выравниванием (left, right, center, block, none)
9
+ - Адаптивное поведение через свойство flexible (adaptive/container)
10
+ - Автоматический спейсер между группами кнопок
11
+ - Раздельная настройка атрибутов (buttonAttrs, buttonSecondaryAttrs)
12
+ - Поддержка слотов для кастомного контента (default, secondary)
13
+ - Интеграция с компонентом Button со всеми его возможностями
14
+ - Гибкая раскладка с автоматическим переходом в блочный режим
15
+
16
+ **Типичные сценарии использования:**
17
+
18
+ - Панели действий в диалоговых окнах и модальных окнах
19
+ - Наборы кнопок в формах (отмена, сохранение, применение)
20
+ - Панели управления с основными и дополнительными действиями
21
+ - Адаптивные интерфейсы с автоматической перестройкой на мобильных устройствах
22
+
23
+ ```html
24
+ <script setup>
25
+ import { ref } from 'vue'
26
+ import { Actions } from '@dxtmisha/constructor'
27
+
28
+ const isLoading = ref(false)
29
+
30
+ const handleSave = async () => {
31
+ isLoading.value = true
32
+ await saveData()
33
+ isLoading.value = false
34
+ }
35
+ </script>
36
+
37
+ <template>
38
+ <Actions
39
+ align="right"
40
+ :list="[
41
+ { label: 'Отмена' },
42
+ { label: 'Сохранить', primary: true, loading: isLoading }
43
+ ]"
44
+ />
45
+ </template>
46
+ ```
47
+
48
+ > Actions — это умный контейнер: он автоматически управляет расположением кнопок, адаптируется к размеру экрана и обеспечивает визуальную иерархию между основными и вторичными действиями.
@@ -0,0 +1,19 @@
1
+ ## Adaptive layout behavior
2
+
3
+ The `flexible` property determines automatic switching to block mode when space is limited.
4
+
5
+ **Possible values:**
6
+
7
+ - `'adaptive'` — uses media queries to determine breakpoint
8
+ - `'container'` — uses container queries to adapt to parent size
9
+
10
+ Automatically applies `align="block"` property when available space becomes smaller than a defined breakpoint. With `adaptive` it tracks screen width through media queries, with `container` it adapts to parent container size. Suitable for creating adaptive interfaces that display correctly on both desktop and mobile devices without additional code.
11
+
12
+ ```html
13
+ <!-- Automatic transition on narrow screens -->
14
+ <Actions flexible="adaptive" :list="[...]" />
15
+
16
+ <!-- Adapts to parent size -->
17
+ <Actions flexible="container" :list="[...]" />
18
+ ```
19
+
@@ -0,0 +1,19 @@
1
+ ## Адаптивное поведение раскладки
2
+
3
+ Свойство `flexible` определяет автоматическое переключение раскладки в блочный режим при нехватке места.
4
+
5
+ **Возможные значения:**
6
+
7
+ - `'adaptive'` — использует медиа-запросы для определения точки перехода
8
+ - `'container'` — использует container queries для адаптации к размеру родителя
9
+
10
+ Автоматически применяет свойство `align="block"` когда доступное пространство становится меньше определенного брейкпоинта. При `adaptive` отслеживает ширину экрана через медиа-запросы, при `container` адаптируется к размеру родительского контейнера. Подходит для создания адаптивных интерфейсов, которые корректно отображаются как на десктопе, так и на мобильных устройствах без дополнительного кода.
11
+
12
+ ```html
13
+ <!-- Автоматический переход на узких экранах -->
14
+ <Actions flexible="adaptive" :list="[...]" />
15
+
16
+ <!-- Адаптация к размеру родителя -->
17
+ <Actions flexible="container" :list="[...]" />
18
+ ```
19
+
@@ -0,0 +1,50 @@
1
+ ## Managing action button groups
2
+
3
+ The `list` and `listSecondary` properties work together to organize buttons in the Actions container. They manage the rendering of primary and secondary button groups with automatic attribute application and visual separation.
4
+
5
+ **Properties:**
6
+
7
+ - `list` — array of configurations for primary action buttons (Cancel, Save, Apply)
8
+ - `listSecondary` — array of configurations for secondary buttons (Delete, Reset, Export)
9
+
10
+ Each array element represents an object with button configuration, supporting all Button component properties (label, icon, disabled, primary, loading, and others). The component automatically applies base attributes from `buttonAttrs` to primary buttons and from `buttonSecondaryAttrs` to secondary ones. Secondary buttons are positioned separately with an automatic spacer and are hidden in `align="center"` and `align="block"` modes. Use `list` for primary actions and `listSecondary` for destructive or less important operations.
11
+
12
+ ```html
13
+ <!-- Primary buttons -->
14
+ <Actions
15
+ :list="[
16
+ { label: 'Cancel', onClick: () => close() },
17
+ { label: 'Save', primary: true, onClick: () => save() }
18
+ ]"
19
+ />
20
+
21
+ <!-- Primary and secondary buttons -->
22
+ <Actions
23
+ :list="[
24
+ { label: 'Cancel' },
25
+ { label: 'Save', primary: true }
26
+ ]"
27
+ :list-secondary="[
28
+ { label: 'Delete', text: true, icon: 'delete', palette: 'error' }
29
+ ]"
30
+ />
31
+
32
+ <!-- Buttons with dynamic state -->
33
+ <Actions
34
+ :list="[
35
+ { label: 'Cancel', disabled: isProcessing },
36
+ { label: 'Save', primary: true, loading: isLoading }
37
+ ]"
38
+ :button-attrs="{ size: 'medium' }"
39
+ />
40
+
41
+ <!-- Secondary buttons with settings -->
42
+ <Actions
43
+ :list="[{ label: 'Close' }]"
44
+ :list-secondary="[
45
+ { label: 'Export', icon: 'download' },
46
+ { label: 'Help', icon: 'help' }
47
+ ]"
48
+ :button-secondary-attrs="{ size: 'small', text: true }"
49
+ />
50
+ ```
@@ -0,0 +1,50 @@
1
+ ## Управление группами кнопок действий
2
+
3
+ Свойства `list` и `listSecondary` работают в связке для организации кнопок в контейнере Actions. Они управляют рендерингом основной и вторичной групп кнопок с автоматическим применением атрибутов и визуальным разделением.
4
+
5
+ **Свойства:**
6
+
7
+ - `list` — массив конфигураций для основных кнопок действий (Отмена, Сохранить, Применить)
8
+ - `listSecondary` — массив конфигураций для вторичных кнопок (Удалить, Сбросить, Экспорт)
9
+
10
+ Каждый элемент массива представляет собой объект с конфигурацией кнопки, поддерживающий все свойства компонента Button (label, icon, disabled, primary, loading и другие). Компонент автоматически применяет базовые атрибуты из `buttonAttrs` к основным кнопкам и из `buttonSecondaryAttrs` к вторичным. Вторичные кнопки располагаются отдельно с автоматическим спейсером и скрываются в режимах `align="center"` и `align="block"`. Используйте `list` для основных действий и `listSecondary` для деструктивных или менее важных операций.
11
+
12
+ ```html
13
+ <!-- Основные кнопки -->
14
+ <Actions
15
+ :list="[
16
+ { label: 'Отмена', onClick: () => close() },
17
+ { label: 'Сохранить', primary: true, onClick: () => save() }
18
+ ]"
19
+ />
20
+
21
+ <!-- Основные и вторичные кнопки -->
22
+ <Actions
23
+ :list="[
24
+ { label: 'Отмена' },
25
+ { label: 'Сохранить', primary: true }
26
+ ]"
27
+ :list-secondary="[
28
+ { label: 'Удалить', text: true, icon: 'delete', palette: 'error' }
29
+ ]"
30
+ />
31
+
32
+ <!-- Кнопки с динамическим состоянием -->
33
+ <Actions
34
+ :list="[
35
+ { label: 'Отмена', disabled: isProcessing },
36
+ { label: 'Сохранить', primary: true, loading: isLoading }
37
+ ]"
38
+ :button-attrs="{ size: 'medium' }"
39
+ />
40
+
41
+ <!-- Вторичные кнопки с настройками -->
42
+ <Actions
43
+ :list="[{ label: 'Закрыть' }]"
44
+ :list-secondary="[
45
+ { label: 'Экспорт', icon: 'download' },
46
+ { label: 'Справка', icon: 'help' }
47
+ ]"
48
+ :button-secondary-attrs="{ size: 'small', text: true }"
49
+ />
50
+ ```
@@ -0,0 +1,31 @@
1
+ import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
2
+
3
+ import actionsEn from './actions.en.mdx'
4
+ import actionsRu from './actions.ru.mdx'
5
+ import flexibleEn from './flexible.en.mdx'
6
+ import flexibleRu from './flexible.ru.mdx'
7
+ import listEn from './list.en.mdx'
8
+ import listRu from './list.ru.mdx'
9
+
10
+ /**
11
+ * MDX files for Actions component
12
+ *
13
+ * MDX файлы для компонента Actions
14
+ */
15
+ export const wikiMdxActions: StorybookComponentsMdxItem = {
16
+ name: 'Actions',
17
+ descriptions: {
18
+ actions: {
19
+ en: actionsEn,
20
+ ru: actionsRu
21
+ },
22
+ flexible: {
23
+ en: flexibleEn,
24
+ ru: flexibleRu
25
+ },
26
+ list: {
27
+ en: listEn,
28
+ ru: listRu
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,34 @@
1
+ Component for creating anchor links with smooth scrolling and URL copying capabilities.
2
+
3
+ Anchor provides interactive anchor links for navigating through page sections. The component automatically handles clicks, updates the URL address, supports smooth scrolling with customizable offset, and integrates with Tooltip for displaying copy notifications. It can work both in regular navigation mode and in link copying mode to clipboard.
4
+
5
+ **Key features:**
6
+
7
+ - Smooth scrolling to target element with configurable parameters
8
+ - Automatic navigation on page load based on URL hash
9
+ - Copy mode for copying full link to clipboard
10
+ - Tooltip integration for copy notifications
11
+ - Icon support for visual styling
12
+ - Hidden anchors for creating invisible navigation points
13
+ - URL updates via history API without page reload
14
+
15
+ **Typical use cases:**
16
+
17
+ - Navigation through documentation sections and long pages
18
+ - Anchors for headings with copy link button
19
+ - Table of contents and page navigation menu
20
+ - "Share link to section" buttons
21
+ - Creating invisible anchor points for programmatic navigation
22
+
23
+ ```html
24
+ <template>
25
+ <!-- Regular anchor -->
26
+ <Anchor name="section-1" text="Go to section" />
27
+
28
+ <!-- With copy mode -->
29
+ <Anchor name="section-2" text="Copy link" isCopy />
30
+
31
+ <!-- Hidden anchor -->
32
+ <Anchor name="section-3" hide />
33
+ </template>
34
+ ```
@@ -0,0 +1,34 @@
1
+ Компонент для создания якорных ссылок с плавной прокруткой и возможностью копирования URL.
2
+
3
+ Anchor предоставляет интерактивные якорные ссылки для навигации по разделам страницы. Компонент автоматически обрабатывает клики, обновляет URL-адрес, поддерживает плавную прокрутку с настраиваемым отступом и интегрируется с Tooltip для отображения уведомлений при копировании. Может работать как в режиме обычной навигации, так и в режиме копирования ссылки в буфер обмена.
4
+
5
+ **Основные возможности:**
6
+
7
+ - Плавная прокрутка к целевому элементу с настройкой параметров
8
+ - Автоматическая навигация при загрузке страницы по хешу в URL
9
+ - Режим копирования полной ссылки в буфер обмена
10
+ - Интеграция с Tooltip для уведомлений о копировании
11
+ - Поддержка иконок для визуального оформления
12
+ - Скрытые якоря для создания невидимых точек навигации
13
+ - Обновление URL через history API без перезагрузки страницы
14
+
15
+ **Типичные сценарии использования:**
16
+
17
+ - Навигация по разделам документации и длинных страниц
18
+ - Якоря для заголовков с кнопкой копирования ссылки
19
+ - Оглавление и меню навигации по странице
20
+ - Кнопки "Поделиться ссылкой на раздел"
21
+ - Создание невидимых якорных точек для программной навигации
22
+
23
+ ```html
24
+ <template>
25
+ <!-- Обычный якорь -->
26
+ <Anchor name="section-1" text="Перейти к разделу" />
27
+
28
+ <!-- С копированием -->
29
+ <Anchor name="section-2" text="Скопировать ссылку" isCopy />
30
+
31
+ <!-- Скрытый якорь -->
32
+ <Anchor name="section-3" hide />
33
+ </template>
34
+ ```
@@ -0,0 +1,6 @@
1
+ ### `go`
2
+
3
+ Method for scrolling the page to the current anchor element. Uses scroll settings (`behavior`, `block`, `inline`, `shift`) and updates the page URL.
4
+
5
+ **Type:** `() => void`
6
+
@@ -0,0 +1,6 @@
1
+ ### `go`
2
+ **Тип:** `() => void`
3
+
4
+ Метод для прокрутки страницы к текущему элементу якоря. Использует настройки прокрутки (`behavior`, `block`, `inline`, `shift`) и обновляет URL страницы.
5
+
6
+
@@ -0,0 +1,28 @@
1
+ ## Hidden anchors
2
+
3
+ The `hide` property creates an invisible anchor point for programmatic navigation without visual representation.
4
+
5
+ **Properties:**
6
+
7
+ - `hide` — hides the visual representation of the component (default `false`)
8
+ - `name` — anchor name for navigation (required property)
9
+
10
+ When `hide` is enabled, the component renders as a hidden `<a name="...">` element without text, icons, or styling. This is useful for creating invisible navigation points that can be programmatically scrolled to or used as target elements for other anchors. The hidden anchor remains in the DOM and is accessible for navigation via URL hash or scroll methods.
11
+
12
+ ```html
13
+ <template>
14
+ <!-- Hidden anchor in section -->
15
+ <section>
16
+ <Anchor name="section-start" hide />
17
+ <h2>Section heading</h2>
18
+ </section>
19
+
20
+ <!-- Combination of hidden and visible -->
21
+ <h3>
22
+ <Anchor name="heading" hide />
23
+ Heading
24
+ <Anchor name="heading" isCopy iconTag="link" />
25
+ </h3>
26
+ </template>
27
+ ```
28
+
@@ -0,0 +1,28 @@
1
+ ## Скрытые якоря
2
+
3
+ Свойство `hide` создаёт невидимую якорную точку для программной навигации без визуального представления.
4
+
5
+ **Свойства:**
6
+
7
+ - `hide` — скрывает визуальное представление компонента (по умолчанию `false`)
8
+ - `name` — имя якоря для навигации (обязательное свойство)
9
+
10
+ При включённом `hide` компонент рендерится как скрытый элемент `<a name="...">` без текста, иконок и стилей оформления. Это полезно для создания невидимых точек навигации, к которым можно программно прокручивать страницу или использовать их как целевые элементы для других якорей. Скрытый якорь остаётся в DOM и доступен для навигации через URL хеш или методы прокрутки.
11
+
12
+ ```html
13
+ <template>
14
+ <!-- Скрытый якорь в секции -->
15
+ <section>
16
+ <Anchor name="section-start" hide />
17
+ <h2>Заголовок раздела</h2>
18
+ </section>
19
+
20
+ <!-- Комбинация скрытого и видимого -->
21
+ <h3>
22
+ <Anchor name="heading" hide />
23
+ Заголовок
24
+ <Anchor name="heading" isCopy iconTag="link" />
25
+ </h3>
26
+ </template>
27
+ ```
28
+