@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,45 @@
1
+ ## Кнопки действий
2
+
3
+ Свойства `buttonOk`, `buttonClose` и `actionsList` управляют кнопками действий в диалоговом окне через встроенный компонент Actions.
4
+
5
+ **Свойства:**
6
+
7
+ - `buttonOk` — кнопка подтверждения
8
+ - `buttonClose` — кнопка закрытия
9
+ - `clickOkAndClose` — автоматическое закрытие диалога при нажатии кнопки OK
10
+ - `actionsList` — прямой доступ к списку кнопок компонента Actions
11
+
12
+ При `clickOkAndClose="true"` кнопка OK автоматически закрывает диалог после нажатия.
13
+
14
+ ```html
15
+ <script setup>
16
+ import { ref } from 'vue'
17
+ </script>
18
+
19
+ <template>
20
+ <!-- Базовое использование -->
21
+ <Dialog
22
+ buttonOk="Подтвердить"
23
+ buttonClose="Отмена"
24
+ label="Удаление файла"
25
+ @ok="handleDelete"
26
+ />
27
+
28
+ <!-- Скрытие кнопки закрытия -->
29
+ <Dialog
30
+ buttonOk="Понятно"
31
+ :buttonClose="null"
32
+ label="Информация"
33
+ />
34
+
35
+ <!-- Использование actionsList -->
36
+ <Dialog
37
+ :actionsList="[
38
+ { label: 'Сохранить', onClick: handleSave },
39
+ { label: 'Отмена', outline: true, onClick: handleCancel }
40
+ ]"
41
+ label="Сохранение"
42
+ />
43
+ </template>
44
+ ```
45
+
@@ -0,0 +1,66 @@
1
+ Component for creating modal dialog windows with icon support, titles, and predefined action buttons.
2
+
3
+ Dialog is a specialized wrapper over the Modal component with additional capabilities for displaying informational messages, confirmations, and notifications. The component automatically displays an information block with icon, title, and description, and provides predefined OK and Close buttons. Supports success and error states with automatic icon switching, image positioning, and full content customization.
4
+
5
+ **Key features:**
6
+
7
+ - Modal window with centering and background blocking
8
+ - Icon support with automatic switching for success/error states
9
+ - Information block with icon, title, and description
10
+ - Predefined OK and Close buttons with customization options
11
+ - Image positioning at top or left
12
+ - Integration with Window, Bars, Actions, Icon components
13
+ - Closing by ESC key and overlay click
14
+ - ok and close events for handling user actions
15
+ - Slot support for content customization
16
+ - Responsive design for mobile devices
17
+
18
+ **Common use cases:**
19
+
20
+ - User action confirmations
21
+ - Success or error notifications
22
+ - Informational messages
23
+ - Warnings and alerts
24
+ - Simple forms with minimal fields
25
+
26
+ ```html
27
+ <script setup>
28
+ import { ref } from 'vue'
29
+
30
+ const isOpen = ref(false)
31
+ const showSuccess = ref(false)
32
+
33
+ const handleConfirm = () => {
34
+ console.log('Action confirmed')
35
+ isOpen.value = false
36
+ showSuccess.value = true
37
+ }
38
+ </script>
39
+
40
+ <template>
41
+ <button @click="isOpen = true">Open Dialog</button>
42
+
43
+ <Dialog
44
+ v-model:open="isOpen"
45
+ label="Confirmation"
46
+ description="Are you sure you want to perform this action?"
47
+ @ok="handleConfirm"
48
+ @close="isOpen = false"
49
+ >
50
+ <template #default>
51
+ <div class="additional-info">
52
+ Additional information can be placed here.
53
+ </div>
54
+ </template>
55
+ </Dialog>
56
+
57
+ <Dialog
58
+ v-model:open="showSuccess"
59
+ :success="true"
60
+ label="Success"
61
+ description="Your action has been completed successfully."
62
+ :buttonClose="null"
63
+ />
64
+ </template>
65
+ ```
66
+
@@ -0,0 +1,65 @@
1
+ Компонент для создания модальных диалоговых окон с поддержкой иконок, заголовков и предустановленных кнопок действий.
2
+
3
+ Dialog представляет собой специализированную обертку над компонентом Modal с дополнительными возможностями для отображения информационных сообщений, подтверждений и уведомлений. Компонент автоматически отображает информационный блок с иконкой, заголовком и описанием, а также предоставляет предустановленные кнопки OK и Закрыть. Поддерживает состояния успеха и ошибки с автоматическим переключением иконок, позиционирование изображения и полную кастомизацию контента.
4
+
5
+ **Основные возможности:**
6
+
7
+ - Модальное окно с центрированием и блокировкой фона
8
+ - Поддержка иконок с автоматическим переключением для состояний успеха/ошибки
9
+ - Информационный блок с иконкой, заголовком и описанием
10
+ - Предустановленные кнопки OK и Закрыть с возможностью кастомизации
11
+ - Позиционирование изображения сверху или слева
12
+ - Интеграция с компонентами Window, Bars, Actions, Icon
13
+ - Закрытие по ESC и клику на overlay
14
+ - События ok и close для обработки действий пользователя
15
+ - Поддержка слотов для кастомизации контента
16
+ - Адаптивный дизайн для мобильных устройств
17
+
18
+ **Типичные сценарии использования:**
19
+
20
+ - Подтверждения действий пользователя
21
+ - Уведомления об успехе или ошибке
22
+ - Информационные сообщения
23
+ - Предупреждения и алерты
24
+ - Простые формы с минимальным количеством полей
25
+
26
+ ```html
27
+ <script setup>
28
+ import { ref } from 'vue'
29
+
30
+ const isOpen = ref(false)
31
+ const showSuccess = ref(false)
32
+
33
+ const handleConfirm = () => {
34
+ console.log('Действие подтверждено')
35
+ isOpen.value = false
36
+ showSuccess.value = true
37
+ }
38
+ </script>
39
+
40
+ <template>
41
+ <button @click="isOpen = true">Открыть диалог</button>
42
+
43
+ <Dialog
44
+ v-model:open="isOpen"
45
+ label="Подтверждение"
46
+ description="Вы уверены, что хотите выполнить это действие?"
47
+ @ok="handleConfirm"
48
+ @close="isOpen = false"
49
+ >
50
+ <template #default>
51
+ <div class="additional-info">
52
+ Дополнительная информация может быть размещена здесь.
53
+ </div>
54
+ </template>
55
+ </Dialog>
56
+
57
+ <Dialog
58
+ v-model:open="showSuccess"
59
+ :success="true"
60
+ label="Успешно"
61
+ description="Ваше действие выполнено успешно."
62
+ :buttonClose="null"
63
+ />
64
+ </template>
65
+ ```
@@ -0,0 +1,63 @@
1
+
2
+ ### `ok`
3
+
4
+ Event fires when the confirmation (OK) button in the dialog is clicked.
5
+
6
+ **Parameters:**
7
+ Event does not pass parameters.
8
+
9
+ ```html
10
+ <script setup>
11
+ import { ref } from 'vue'
12
+
13
+ const showDialog = ref(false)
14
+
15
+ const handleOk = () => {
16
+ console.log('User confirmed action')
17
+ showDialog.value = false
18
+ // Execute action after confirmation
19
+ }
20
+ </script>
21
+
22
+ <template>
23
+ <Dialog
24
+ v-model:open="showDialog"
25
+ buttonOk="Confirm"
26
+ label="Delete file"
27
+ description="Are you sure you want to delete this file?"
28
+ @ok="handleOk"
29
+ />
30
+ </template>
31
+ ```
32
+
33
+ ### `close`
34
+
35
+ Event fires when the close button in the dialog is clicked.
36
+
37
+ **Parameters:**
38
+ Event does not pass parameters.
39
+
40
+ ```html
41
+ <script setup>
42
+ import { ref } from 'vue'
43
+
44
+ const showDialog = ref(false)
45
+
46
+ const handleClose = () => {
47
+ console.log('User cancelled action')
48
+ showDialog.value = false
49
+ }
50
+ </script>
51
+
52
+ <template>
53
+ <Dialog
54
+ v-model:open="showDialog"
55
+ buttonClose="Cancel"
56
+ label="Confirmation"
57
+ @close="handleClose"
58
+ />
59
+ </template>
60
+ ```
61
+
62
+ > Buttons can be configured via `buttonOk` and `buttonClose` properties, or hidden by passing `null`.
63
+
@@ -0,0 +1,63 @@
1
+
2
+ ### `ok`
3
+
4
+ Событие срабатывает при клике на кнопку подтверждения (OK) в диалоговом окне.
5
+
6
+ **Параметры:**
7
+ Событие не передаёт параметров.
8
+
9
+ ```html
10
+ <script setup>
11
+ import { ref } from 'vue'
12
+
13
+ const showDialog = ref(false)
14
+
15
+ const handleOk = () => {
16
+ console.log('Пользователь подтвердил действие')
17
+ showDialog.value = false
18
+ // Выполнение действия после подтверждения
19
+ }
20
+ </script>
21
+
22
+ <template>
23
+ <Dialog
24
+ v-model:open="showDialog"
25
+ buttonOk="Подтвердить"
26
+ label="Удаление файла"
27
+ description="Вы действительно хотите удалить этот файл?"
28
+ @ok="handleOk"
29
+ />
30
+ </template>
31
+ ```
32
+
33
+ ### `close`
34
+
35
+ Событие срабатывает при клике на кнопку закрытия в диалоговом окне.
36
+
37
+ **Параметры:**
38
+ Событие не передаёт параметров.
39
+
40
+ ```html
41
+ <script setup>
42
+ import { ref } from 'vue'
43
+
44
+ const showDialog = ref(false)
45
+
46
+ const handleClose = () => {
47
+ console.log('Пользователь отменил действие')
48
+ showDialog.value = false
49
+ }
50
+ </script>
51
+
52
+ <template>
53
+ <Dialog
54
+ v-model:open="showDialog"
55
+ buttonClose="Отмена"
56
+ label="Подтверждение"
57
+ @close="handleClose"
58
+ />
59
+ </template>
60
+ ```
61
+
62
+ > Кнопки можно настроить через свойства `buttonOk` и `buttonClose`, либо скрыть, передав `null`.
63
+
@@ -0,0 +1,58 @@
1
+ ## Success and error states
2
+
3
+ Properties `success`, `error`, `iconSuccess` and `iconError` are designed to control the visual state of the dialog and automatically display corresponding icons.
4
+
5
+ **Properties:**
6
+
7
+ - `success` — sets the dialog to success state with automatic icon
8
+ - `error` — sets the dialog to error state with automatic icon
9
+ - `iconSuccess` — sets the icon for success state (default 'check_circle')
10
+ - `iconError` — sets the icon for error state (default 'error')
11
+
12
+ Properties work together: if `success` or `error` are not set or equal to `false`, the dialog is displayed in a neutral state. When `success="true"` is activated, the component automatically displays the success icon from `iconSuccess`. When `error="true"` is activated, the error icon from `iconError` is displayed. Properties `iconSuccess` and `iconError` allow overriding standard icons with custom ones, providing flexibility in visual design of dialog messages.
13
+
14
+ ```html
15
+ <script setup>
16
+ import { ref } from 'vue'
17
+
18
+ const showSuccess = ref(false)
19
+ const showError = ref(false)
20
+ </script>
21
+
22
+ <template>
23
+ <!-- Success dialog -->
24
+ <Dialog
25
+ v-model:open="showSuccess"
26
+ :success="true"
27
+ label="Operation completed"
28
+ description="Your changes have been saved successfully."
29
+ />
30
+
31
+ <!-- Error dialog -->
32
+ <Dialog
33
+ v-model:open="showError"
34
+ :error="true"
35
+ label="Operation failed"
36
+ description="Unable to complete the operation. Please try again."
37
+ />
38
+
39
+ <!-- With custom icons -->
40
+ <Dialog
41
+ v-model:open="showSuccess"
42
+ :success="true"
43
+ iconSuccess="done_all"
44
+ label="All done"
45
+ description="Process completed successfully."
46
+ />
47
+
48
+ <!-- Error with custom icon -->
49
+ <Dialog
50
+ v-model:open="showError"
51
+ :error="true"
52
+ iconError="warning"
53
+ label="Warning"
54
+ description="Issues detected during data processing."
55
+ />
56
+ </template>
57
+ ```
58
+
@@ -0,0 +1,57 @@
1
+ ## Состояния успеха и ошибки
2
+
3
+ Свойства `success`, `error`, `iconSuccess` и `iconError` предназначены для управления визуальным состоянием диалога и автоматического отображения соответствующих иконок.
4
+
5
+ **Свойства:**
6
+
7
+ - `success` — переводит диалог в состояние успеха с автоматической иконкой
8
+ - `error` — переводит диалог в состояние ошибки с автоматической иконкой
9
+ - `iconSuccess` — задаёт иконку для состояния успеха (по умолчанию 'check_circle')
10
+ - `iconError` — задаёт иконку для состояния ошибки (по умолчанию 'error')
11
+
12
+ Свойства работают совместно: если `success` или `error` не заданы или равны `false`, диалог отображается в нейтральном состоянии. При активации `success="true"`, компонент автоматически отображает иконку успеха из `iconSuccess`. При активации `error="true"`, отображается иконка ошибки из `iconError`. Свойства `iconSuccess` и `iconError` позволяют переопределить стандартные иконки на пользовательские, обеспечивая гибкость визуального оформления диалоговых сообщений.
13
+
14
+ ```html
15
+ <script setup>
16
+ import { ref } from 'vue'
17
+
18
+ const showSuccess = ref(false)
19
+ const showError = ref(false)
20
+ </script>
21
+
22
+ <template>
23
+ <!-- Диалог успеха -->
24
+ <Dialog
25
+ v-model:open="showSuccess"
26
+ :success="true"
27
+ label="Операция выполнена"
28
+ description="Ваши изменения успешно сохранены."
29
+ />
30
+
31
+ <!-- Диалог ошибки -->
32
+ <Dialog
33
+ v-model:open="showError"
34
+ :error="true"
35
+ label="Ошибка выполнения"
36
+ description="Не удалось выполнить операцию. Попробуйте ещё раз."
37
+ />
38
+
39
+ <!-- С пользовательскими иконками -->
40
+ <Dialog
41
+ v-model:open="showSuccess"
42
+ :success="true"
43
+ iconSuccess="done_all"
44
+ label="Всё готово"
45
+ description="Процесс завершён успешно."
46
+ />
47
+
48
+ <!-- Ошибка с кастомной иконкой -->
49
+ <Dialog
50
+ v-model:open="showError"
51
+ :error="true"
52
+ iconError="warning"
53
+ label="Внимание"
54
+ description="Обнаружены проблемы при обработке данных."
55
+ />
56
+ </template>
57
+ ```
@@ -0,0 +1,37 @@
1
+ import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
2
+
3
+ import dialogEn from './dialog.en.mdx'
4
+ import dialogRu from './dialog.ru.mdx'
5
+ import statesEn from './states.en.mdx'
6
+ import statesRu from './states.ru.mdx'
7
+ import buttonsEn from './buttons.en.mdx'
8
+ import buttonsRu from './buttons.ru.mdx'
9
+ import eventsEn from './events.en.mdx'
10
+ import eventsRu from './events.ru.mdx'
11
+
12
+ /**
13
+ * MDX files for Dialog component
14
+ *
15
+ * MDX файлы для компонента Dialog
16
+ */
17
+ export const wikiMdxDialog: StorybookComponentsMdxItem = {
18
+ name: 'Dialog',
19
+ descriptions: {
20
+ dialog: {
21
+ en: dialogEn,
22
+ ru: dialogRu
23
+ },
24
+ states: {
25
+ en: statesEn,
26
+ ru: statesRu
27
+ },
28
+ buttons: {
29
+ en: buttonsEn,
30
+ ru: buttonsRu
31
+ },
32
+ events: {
33
+ en: eventsEn,
34
+ ru: eventsRu
35
+ }
36
+ }
37
+ }
@@ -1,16 +1,16 @@
1
1
  ## Navigation and arrows
2
2
 
3
- Properties `arrowCarousel`, `arrowStepper`, `disabledPrevious`, `disabledNext`, and `align` are designed to control built-in navigation elements and content alignment.
3
+ Properties `arrowCarousel`, `arrowStepper`, `arrowAlign`, `disabledPrevious`, and `disabledNext` are designed to control built-in navigation elements.
4
4
 
5
5
  **Properties:**
6
6
 
7
7
  - `arrowCarousel` — enables navigation arrows (left/right) for switching elements
8
8
  - `arrowStepper` — enables numeric step buttons (minus/plus)
9
+ - `arrowAlign` — controls horizontal position of navigation arrows (`left`, `center`, `right`)
9
10
  - `disabledPrevious` — disables the left button (back/minus)
10
11
  - `disabledNext` — disables the right button (forward/plus)
11
- - `align` — horizontal content alignment (`left`, `center`, `right`)
12
12
 
13
- Properties work together: only one arrow mode is active — if `arrowCarousel = true`, the `arrowStepper` mode is ignored and vice versa. When navigation mode is active, the clear button (`cancel`) is automatically hidden, as the control area takes priority. The `disabledPrevious` and `disabledNext` flags apply only to the currently active arrow mode. The `align` property affects text and content alignment inside the field, but does not change the position of the navigation buttons themselves.
13
+ Properties work together: only one arrow mode is active — if `arrowCarousel = true`, the `arrowStepper` mode is ignored and vice versa. When navigation mode is active, the clear button (`cancel`) is automatically hidden, as the control area takes priority. The `disabledPrevious` and `disabledNext` flags apply only to the currently active arrow mode.
14
14
 
15
15
  ```html
16
16
  <script setup>
@@ -39,11 +39,10 @@ const count = ref(5)
39
39
  </template>
40
40
  </Field>
41
41
 
42
- <!-- Numeric stepper with centering -->
42
+ <!-- Numeric stepper -->
43
43
  <Field
44
44
  label="Quantity"
45
45
  arrow-stepper
46
- align="center"
47
46
  :disabled-previous="count <= 0"
48
47
  :disabled-next="count >= 99"
49
48
  >
@@ -57,10 +56,27 @@ const count = ref(5)
57
56
  </template>
58
57
  </Field>
59
58
 
60
- <!-- Stepper without limits -->
59
+ <!-- Stepper with left-aligned arrows -->
61
60
  <Field
62
61
  label="Value"
63
62
  arrow-stepper
63
+ arrow-align="left"
64
+ >
65
+ <template #default="{ id, className }">
66
+ <input
67
+ :id="id"
68
+ :class="className"
69
+ :value="count"
70
+ readonly
71
+ />
72
+ </template>
73
+ </Field>
74
+
75
+ <!-- Stepper with centered arrows -->
76
+ <Field
77
+ label="Value"
78
+ arrow-stepper
79
+ arrow-align="center"
64
80
  >
65
81
  <template #default="{ id, className }">
66
82
  <input
@@ -1,16 +1,16 @@
1
1
  ## Навигация и стрелки
2
2
 
3
- Свойства `arrowCarousel`, `arrowStepper`, `disabledPrevious`, `disabledNext` и `align` предназначены для управления встроенными элементами навигации и выравнивания содержимого.
3
+ Свойства `arrowCarousel`, `arrowStepper`, `arrowAlign`, `disabledPrevious` и `disabledNext` предназначены для управления встроенными элементами навигации.
4
4
 
5
5
  **Свойства:**
6
6
 
7
7
  - `arrowCarousel` — включает стрелки навигации (влево/вправо) для переключения элементов
8
8
  - `arrowStepper` — включает числовые шаговые кнопки (минус/плюс)
9
+ - `arrowAlign` — управляет горизонтальным расположением стрелок навигации (`left`, `center`, `right`)
9
10
  - `disabledPrevious` — отключает левую кнопку (назад/минус)
10
11
  - `disabledNext` — отключает правую кнопку (вперёд/плюс)
11
- - `align` — горизонтальное выравнивание содержимого (`left`, `center`, `right`)
12
12
 
13
- Свойства работают совместно: активен только один режим стрелок — если `arrowCarousel = true`, режим `arrowStepper` игнорируется и наоборот. При активном режиме навигации кнопка очистки (`cancel`) автоматически скрывается, так как область управления имеет приоритет. Флаги `disabledPrevious` и `disabledNext` применяются только к текущему активному режиму стрелок. Свойство `align` влияет на выравнивание текста и содержимого внутри поля, но не изменяет позицию самих кнопок навигации.
13
+ Свойства работают совместно: активен только один режим стрелок — если `arrowCarousel = true`, режим `arrowStepper` игнорируется и наоборот. При активном режиме навигации кнопка очистки (`cancel`) автоматически скрывается, так как область управления имеет приоритет. Флаги `disabledPrevious` и `disabledNext` применяются только к текущему активному режиму стрелок.
14
14
 
15
15
  ```html
16
16
  <script setup>
@@ -39,11 +39,10 @@ const count = ref(5)
39
39
  </template>
40
40
  </Field>
41
41
 
42
- <!-- Числовой степпер с центрированием -->
42
+ <!-- Числовой степпер -->
43
43
  <Field
44
44
  label="Количество"
45
45
  arrow-stepper
46
- align="center"
47
46
  :disabled-previous="count <= 0"
48
47
  :disabled-next="count >= 99"
49
48
  >
@@ -57,10 +56,27 @@ const count = ref(5)
57
56
  </template>
58
57
  </Field>
59
58
 
60
- <!-- Степпер без ограничений -->
59
+ <!-- Степпер со стрелками слева -->
61
60
  <Field
62
61
  label="Значение"
63
62
  arrow-stepper
63
+ arrow-align="left"
64
+ >
65
+ <template #default="{ id, className }">
66
+ <input
67
+ :id="id"
68
+ :class="className"
69
+ :value="count"
70
+ readonly
71
+ />
72
+ </template>
73
+ </Field>
74
+
75
+ <!-- Степпер с центрированными стрелками -->
76
+ <Field
77
+ label="Значение"
78
+ arrow-stepper
79
+ arrow-align="center"
64
80
  >
65
81
  <template #default="{ id, className }">
66
82
  <input
@@ -5,19 +5,6 @@ Slot for placing the main input element (input, select, textarea, etc.). Require
5
5
  **Parameters:**
6
6
  - `props: FieldControl` — object with data for binding the input element
7
7
 
8
- ### `leading`
9
-
10
- Slot for placing content at the start of the interactive field area, before the main input element.
11
-
12
- **Parameters:**
13
- - `props: FieldControl` — object with data for binding
14
-
15
- ### `trailing`
16
-
17
- Slot for placing content at the end of the interactive field area, after the main input element.
18
-
19
- **Parameters:**
20
- - `props: FieldControl` — object with data for binding
21
8
 
22
9
  ## FieldControl
23
10
 
@@ -5,19 +5,6 @@
5
5
  **Параметры:**
6
6
  - `props: FieldControl` — объект с данными для связывания элемента ввода
7
7
 
8
- ### `leading`
9
-
10
- Слот для размещения контента в начале интерактивной области поля, перед основным элементом ввода.
11
-
12
- **Параметры:**
13
- - `props: FieldControl` — объект с данными для связывания
14
-
15
- ### `trailing`
16
-
17
- Слот для размещения контента в конце интерактивной области поля, после основного элемента ввода.
18
-
19
- **Параметры:**
20
- - `props: FieldControl` — объект с данными для связывания
21
8
 
22
9
  ## FieldControl
23
10