@dxtmisha/wiki 0.24.3 → 0.39.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.
- package/package.json +8 -8
- package/src/classes/WikiStorybook.ts +92 -1
- package/src/classes/WikiStorybookItem.ts +79 -5
- package/src/classes/WikiStorybookProp.ts +109 -0
- package/src/library.ts +1 -0
- package/src/media/descriptions/wikiDescriptions.ts +32 -0
- package/src/media/descriptions/wikiDescriptionsAccordion.ts +204 -0
- package/src/media/descriptions/wikiDescriptionsActionSheet.ts +264 -0
- package/src/media/descriptions/wikiDescriptionsActions.ts +189 -0
- package/src/media/descriptions/wikiDescriptionsAnchor.ts +78 -0
- package/src/media/descriptions/wikiDescriptionsArrow.ts +214 -0
- package/src/media/descriptions/wikiDescriptionsBadge.ts +43 -0
- package/src/media/descriptions/wikiDescriptionsBars.ts +33 -0
- package/src/media/descriptions/wikiDescriptionsBlock.ts +159 -0
- package/src/media/descriptions/wikiDescriptionsButton.ts +32 -1
- package/src/media/descriptions/wikiDescriptionsCell.ts +26 -1
- package/src/media/descriptions/wikiDescriptionsChip.ts +42 -0
- package/src/media/descriptions/wikiDescriptionsChipGroup.ts +199 -0
- package/src/media/descriptions/wikiDescriptionsDialog.ts +226 -0
- package/src/media/descriptions/wikiDescriptionsField.ts +57 -2
- package/src/media/descriptions/wikiDescriptionsFieldCounter.ts +32 -0
- package/src/media/descriptions/wikiDescriptionsFieldLabel.ts +22 -0
- package/src/media/descriptions/wikiDescriptionsFieldMessage.ts +25 -0
- package/src/media/descriptions/wikiDescriptionsIcon.ts +46 -8
- package/src/media/descriptions/wikiDescriptionsImage.ts +91 -7
- package/src/media/descriptions/wikiDescriptionsInput.ts +313 -0
- package/src/media/descriptions/wikiDescriptionsList.ts +31 -0
- package/src/media/descriptions/wikiDescriptionsListGroup.ts +57 -0
- package/src/media/descriptions/wikiDescriptionsListItem.ts +42 -0
- package/src/media/descriptions/wikiDescriptionsListMenu.ts +41 -0
- package/src/media/descriptions/wikiDescriptionsMask.ts +42 -0
- package/src/media/descriptions/wikiDescriptionsMenu.ts +179 -0
- package/src/media/descriptions/wikiDescriptionsModal.ts +200 -0
- package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +59 -6
- package/src/media/descriptions/wikiDescriptionsPage.ts +155 -0
- package/src/media/descriptions/wikiDescriptionsProgress.ts +39 -0
- package/src/media/descriptions/wikiDescriptionsRipple.ts +42 -3
- package/src/media/descriptions/wikiDescriptionsScrollbar.ts +48 -0
- package/src/media/descriptions/wikiDescriptionsSection.ts +152 -0
- package/src/media/descriptions/wikiDescriptionsSelect.ts +253 -0
- package/src/media/descriptions/wikiDescriptionsSelectValue.ts +107 -0
- package/src/media/descriptions/wikiDescriptionsSkeleton.ts +42 -1
- package/src/media/descriptions/wikiDescriptionsTextareaAutosize.ts +80 -0
- package/src/media/descriptions/wikiDescriptionsTooltip.ts +136 -0
- package/src/media/descriptions/wikiDescriptionsWindow.ts +60 -0
- package/src/media/functional/en/conversions.mdx +67 -0
- package/src/media/functional/en/dataUtils.mdx +25 -0
- package/src/media/functional/en/datetimeRef.mdx +1 -1
- package/src/media/functional/en/eventRef.mdx +1 -1
- package/src/media/functional/en/executionUtils.mdx +58 -0
- package/src/media/functional/en/geoFlagRef.mdx +1 -1
- package/src/media/functional/en/geoIntlRef.mdx +1 -1
- package/src/media/functional/en/geoRef.mdx +2 -2
- package/src/media/functional/en/meta.mdx +1206 -0
- package/src/media/functional/en/metaManager.mdx +376 -0
- package/src/media/functional/en/metaOg.mdx +694 -0
- package/src/media/functional/en/metaTwitter.mdx +853 -0
- package/src/media/functional/en/reactive.mdx +40 -0
- package/src/media/functional/en/refTypes.mdx +1 -1
- package/src/media/functional/en/useApiRef.mdx +5 -5
- package/src/media/functional/en/useMeta.mdx +431 -0
- package/src/media/functional/en/validationUtils.mdx +11 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.en.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.ru.mdx +25 -0
- package/src/media/functional/functional-basic/functions/getCurrentDate/getCurrentDate.vi.mdx +25 -0
- package/src/media/functional/functional-basic/functions/isEnter/isEnter.en.mdx +30 -0
- package/src/media/functional/functional-basic/functions/isEnter/isEnter.ru.mdx +30 -0
- package/src/media/functional/functional-basic/functions/isEnter/isEnter.vi.mdx +30 -0
- package/src/media/functional/ru/conversions.mdx +67 -0
- package/src/media/functional/ru/dataUtils.mdx +25 -0
- package/src/media/functional/ru/datetimeRef.mdx +2 -2
- package/src/media/functional/ru/eventRef.mdx +1 -1
- package/src/media/functional/ru/executionUtils.mdx +58 -0
- package/src/media/functional/ru/geoFlagRef.mdx +1 -1
- package/src/media/functional/ru/geoIntl.mdx +2 -2
- package/src/media/functional/ru/geoIntlRef.mdx +1 -1
- package/src/media/functional/ru/geoRef.mdx +2 -2
- package/src/media/functional/ru/listTypes.mdx +1 -1
- package/src/media/functional/ru/meta.mdx +1330 -0
- package/src/media/functional/ru/metaManager.mdx +376 -0
- package/src/media/functional/ru/metaOg.mdx +694 -0
- package/src/media/functional/ru/metaTwitter.mdx +853 -0
- package/src/media/functional/ru/reactive.mdx +40 -0
- package/src/media/functional/ru/refTypes.mdx +2 -2
- package/src/media/functional/ru/useApiRef.mdx +5 -5
- package/src/media/functional/ru/useMeta.mdx +431 -0
- package/src/media/functional/ru/validationUtils.mdx +11 -0
- package/src/media/mdx/Accordion/accordion.en.mdx +59 -0
- package/src/media/mdx/Accordion/accordion.ru.mdx +59 -0
- package/src/media/mdx/Accordion/slots.en.mdx +6 -0
- package/src/media/mdx/Accordion/slots.ru.mdx +6 -0
- package/src/media/mdx/Accordion/wikiMdxAccordion.ts +25 -0
- package/src/media/mdx/ActionSheet/actionSheet.en.mdx +61 -0
- package/src/media/mdx/ActionSheet/actionSheet.ru.mdx +61 -0
- package/src/media/mdx/ActionSheet/touchClose.en.mdx +21 -0
- package/src/media/mdx/ActionSheet/touchClose.ru.mdx +21 -0
- package/src/media/mdx/ActionSheet/wikiMdxActionSheet.ts +25 -0
- package/src/media/mdx/Actions/actions.en.mdx +48 -0
- package/src/media/mdx/Actions/actions.ru.mdx +48 -0
- package/src/media/mdx/Actions/flexible.en.mdx +19 -0
- package/src/media/mdx/Actions/flexible.ru.mdx +19 -0
- package/src/media/mdx/Actions/list.en.mdx +50 -0
- package/src/media/mdx/Actions/list.ru.mdx +50 -0
- package/src/media/mdx/Actions/wikiMdxActions.ts +31 -0
- package/src/media/mdx/Anchor/anchor.en.mdx +34 -0
- package/src/media/mdx/Anchor/anchor.ru.mdx +34 -0
- package/src/media/mdx/Anchor/expose.go.en.mdx +6 -0
- package/src/media/mdx/Anchor/expose.go.ru.mdx +6 -0
- package/src/media/mdx/Anchor/hide.en.mdx +28 -0
- package/src/media/mdx/Anchor/hide.ru.mdx +28 -0
- package/src/media/mdx/Anchor/isCopy.en.mdx +23 -0
- package/src/media/mdx/Anchor/isCopy.ru.mdx +23 -0
- package/src/media/mdx/Anchor/scroll.en.mdx +34 -0
- package/src/media/mdx/Anchor/scroll.ru.mdx +35 -0
- package/src/media/mdx/Anchor/wikiMdxAnchor.ts +43 -0
- package/src/media/mdx/Arrow/arrow.en.mdx +33 -0
- package/src/media/mdx/Arrow/arrow.ru.mdx +33 -0
- package/src/media/mdx/Arrow/wikiMdxArrow.ts +19 -0
- package/src/media/mdx/Block/block.en.mdx +42 -0
- package/src/media/mdx/Block/block.ru.mdx +42 -0
- package/src/media/mdx/Block/wikiMdxBlock.ts +19 -0
- package/src/media/mdx/ChipGroup/chipGroup.en.mdx +51 -0
- package/src/media/mdx/ChipGroup/chipGroup.ru.mdx +51 -0
- package/src/media/mdx/ChipGroup/selected.en.mdx +50 -0
- package/src/media/mdx/ChipGroup/selected.ru.mdx +50 -0
- package/src/media/mdx/ChipGroup/wikiMdxChipGroup.ts +25 -0
- package/src/media/mdx/Dialog/buttons.en.mdx +45 -0
- package/src/media/mdx/Dialog/buttons.ru.mdx +45 -0
- package/src/media/mdx/Dialog/dialog.en.mdx +66 -0
- package/src/media/mdx/Dialog/dialog.ru.mdx +65 -0
- package/src/media/mdx/Dialog/events.en.mdx +63 -0
- package/src/media/mdx/Dialog/events.ru.mdx +63 -0
- package/src/media/mdx/Dialog/states.en.mdx +58 -0
- package/src/media/mdx/Dialog/states.ru.mdx +57 -0
- package/src/media/mdx/Dialog/wikiMdxDialog.ts +37 -0
- package/src/media/mdx/Field/arrows.en.mdx +22 -6
- package/src/media/mdx/Field/arrows.ru.mdx +22 -6
- package/src/media/mdx/Field/slots.en.mdx +0 -13
- package/src/media/mdx/Field/slots.ru.mdx +0 -13
- package/src/media/mdx/Image/flag.en.mdx +23 -0
- package/src/media/mdx/Image/flag.ru.mdx +23 -0
- package/src/media/mdx/Image/image.en.mdx +26 -21
- package/src/media/mdx/Image/image.ru.mdx +26 -22
- package/src/media/mdx/Image/img-tag.en.mdx +105 -0
- package/src/media/mdx/Image/img-tag.ru.mdx +105 -0
- package/src/media/mdx/Image/wikiMdxImage.ts +12 -0
- package/src/media/mdx/Input/currency.en.mdx +38 -0
- package/src/media/mdx/Input/currency.ru.mdx +38 -0
- package/src/media/mdx/Input/date.en.mdx +53 -0
- package/src/media/mdx/Input/date.ru.mdx +53 -0
- package/src/media/mdx/Input/input.en.mdx +143 -0
- package/src/media/mdx/Input/input.ru.mdx +71 -0
- package/src/media/mdx/Input/mask.en.mdx +30 -0
- package/src/media/mdx/Input/mask.ru.mdx +30 -0
- package/src/media/mdx/Input/number.en.mdx +41 -0
- package/src/media/mdx/Input/number.ru.mdx +41 -0
- package/src/media/mdx/Input/type.en.mdx +26 -0
- package/src/media/mdx/Input/type.ru.mdx +26 -0
- package/src/media/mdx/Input/wikiMdxInput.ts +49 -0
- package/src/media/mdx/Menu/event.updateValue.en.mdx +29 -0
- package/src/media/mdx/Menu/event.updateValue.ru.mdx +30 -0
- package/src/media/mdx/Menu/expose.navigation.en.mdx +12 -0
- package/src/media/mdx/Menu/expose.navigation.ru.mdx +12 -0
- package/src/media/mdx/Menu/navigation.en.mdx +56 -0
- package/src/media/mdx/Menu/navigation.ru.mdx +56 -0
- package/src/media/mdx/Menu/slots.control.en.mdx +65 -0
- package/src/media/mdx/Menu/slots.control.ru.mdx +65 -0
- package/src/media/mdx/Menu/slots.en.mdx +2 -24
- package/src/media/mdx/Menu/slots.ru.mdx +2 -24
- package/src/media/mdx/Menu/wikiMdxMenu.ts +27 -3
- package/src/media/mdx/Modal/differences.en.mdx +130 -0
- package/src/media/mdx/Modal/differences.ru.mdx +65 -0
- package/src/media/mdx/Modal/modal.en.mdx +63 -0
- package/src/media/mdx/Modal/modal.ru.mdx +63 -0
- package/src/media/mdx/Modal/wikiMdxModal.ts +25 -0
- package/src/media/mdx/MotionTransform/expose.motionTransformElement.en.mdx +13 -0
- package/src/media/mdx/MotionTransform/expose.motionTransformElement.ru.mdx +14 -0
- package/src/media/mdx/MotionTransform/wikiMdxMotionTransform.ts +6 -0
- package/src/media/mdx/Page/page.en.mdx +38 -0
- package/src/media/mdx/Page/page.ru.mdx +38 -0
- package/src/media/mdx/Page/wikiMdxPage.ts +19 -0
- package/src/media/mdx/Section/section.en.mdx +38 -0
- package/src/media/mdx/Section/section.ru.mdx +38 -0
- package/src/media/mdx/Section/wikiMdxSection.ts +19 -0
- package/src/media/mdx/Select/select.en.mdx +69 -0
- package/src/media/mdx/Select/select.ru.mdx +69 -0
- package/src/media/mdx/Select/wikiMdxSelect.ts +19 -0
- package/src/media/mdx/SelectValue/selectValue.en.mdx +64 -0
- package/src/media/mdx/SelectValue/selectValue.ru.mdx +64 -0
- package/src/media/mdx/SelectValue/wikiMdxSelectValue.ts +19 -0
- package/src/media/mdx/TextareaAutosize/textarea-autosize.en.mdx +65 -0
- package/src/media/mdx/TextareaAutosize/textarea-autosize.ru.mdx +65 -0
- package/src/media/mdx/TextareaAutosize/wikiMdxTextareaAutosize.ts +19 -0
- package/src/media/mdx/Tooltip/event.tooltip.en.mdx +7 -0
- package/src/media/mdx/Tooltip/event.tooltip.ru.mdx +8 -0
- package/src/media/mdx/Tooltip/slot.control.en.mdx +14 -0
- package/src/media/mdx/Tooltip/slot.control.ru.mdx +14 -0
- package/src/media/mdx/Tooltip/tooltip.en.mdx +34 -0
- package/src/media/mdx/Tooltip/tooltip.ru.mdx +34 -0
- package/src/media/mdx/Tooltip/wikiMdxTooltip.ts +31 -0
- package/src/media/mdx/Window/classes.ru.mdx +1 -1
- package/src/media/mdx/event/events.actions.en.mdx +44 -0
- package/src/media/mdx/event/events.actions.ru.mdx +44 -0
- package/src/media/mdx/event/events.inputStandard.en.mdx +6 -0
- package/src/media/mdx/event/events.inputStandard.ru.mdx +6 -0
- package/src/media/mdx/event/wikiMdxEvent.ts +20 -8
- package/src/media/mdx/expose/expose.clear.en.mdx +1 -1
- package/src/media/mdx/expose/expose.descriptionId.en.mdx +6 -0
- package/src/media/mdx/expose/expose.descriptionId.ru.mdx +6 -0
- package/src/media/mdx/expose/expose.id.en.mdx +6 -0
- package/src/media/mdx/expose/expose.id.ru.mdx +6 -0
- package/src/media/mdx/expose/expose.labelId.en.mdx +6 -0
- package/src/media/mdx/expose/expose.labelId.ru.mdx +6 -0
- package/src/media/mdx/expose/wikiMdxExpose.ts +18 -0
- package/src/media/mdx/slot/body.en.mdx +6 -0
- package/src/media/mdx/slot/body.ru.mdx +6 -0
- package/src/media/mdx/slot/headline.en.mdx +7 -0
- package/src/media/mdx/slot/headline.ru.mdx +6 -0
- package/src/media/mdx/slot/leading.en.mdx +7 -0
- package/src/media/mdx/slot/leading.ru.mdx +7 -0
- package/src/media/mdx/slot/secondary.en.mdx +5 -0
- package/src/media/mdx/slot/secondary.ru.mdx +5 -0
- package/src/media/mdx/slot/trailing.en.mdx +7 -0
- package/src/media/mdx/slot/trailing.ru.mdx +7 -0
- package/src/media/mdx/slot/wikiMdxSlot.ts +30 -0
- package/src/media/mdx/style/isSkeleton.en.mdx +2 -2
- package/src/media/mdx/style/isSkeleton.ru.mdx +2 -2
- package/src/media/mdx/value/v-model-selected.en.mdx +28 -0
- package/src/media/mdx/value/v-model-selected.ru.mdx +28 -0
- package/src/media/mdx/value/v-model.en.mdx +26 -0
- package/src/media/mdx/value/v-model.ru.mdx +26 -0
- package/src/media/mdx/value/wikiMdxValue.ts +24 -3
- package/src/media/mdx/wikiMdx.ts +33 -1
- package/src/media/props/wiki.ts +44 -0
- package/src/media/props/wikiActions.ts +43 -0
- package/src/media/props/wikiActionsInclude.ts +62 -0
- package/src/media/props/wikiAnchor.ts +85 -0
- package/src/media/props/wikiAria.ts +123 -0
- package/src/media/props/wikiArrow.ts +24 -0
- package/src/media/props/wikiArrowInclude.ts +45 -0
- package/src/media/props/wikiAttributes.ts +143 -0
- package/src/media/props/wikiBadge.ts +7 -4
- package/src/media/props/wikiBars.ts +7 -6
- package/src/media/props/wikiBarsInclude.ts +82 -0
- package/src/media/props/wikiButton.ts +8 -4
- package/src/media/props/wikiChip.ts +4 -2
- package/src/media/props/wikiChipGroup.ts +39 -0
- package/src/media/props/wikiDialog.ts +33 -0
- package/src/media/props/wikiField.ts +18 -31
- package/src/media/props/wikiFieldCounterInclude.ts +87 -0
- package/src/media/props/wikiForm.ts +267 -0
- package/src/media/props/wikiHook.ts +20 -0
- package/src/media/props/wikiIcon.ts +19 -6
- package/src/media/props/wikiIconInclude.ts +322 -0
- package/src/media/props/wikiImage.ts +97 -20
- package/src/media/props/wikiInformation.ts +164 -0
- package/src/media/props/wikiInput.ts +34 -0
- package/src/media/props/wikiList.ts +10 -4
- package/src/media/props/wikiListItem.ts +23 -2
- package/src/media/props/wikiMask.ts +2 -12
- package/src/media/props/wikiMaskInclude.ts +54 -0
- package/src/media/props/wikiMenu.ts +1 -11
- package/src/media/props/wikiMotionTransform.ts +7 -13
- package/src/media/props/wikiOption.ts +356 -0
- package/src/media/props/wikiProgress.ts +8 -5
- package/src/media/props/wikiScrollbar.ts +6 -6
- package/src/media/props/wikiSelect.ts +68 -0
- package/src/media/props/wikiSelectValue.ts +30 -0
- package/src/media/props/wikiStatus.ts +34 -57
- package/src/media/props/wikiStyle.ts +85 -406
- package/src/media/props/wikiTechnical.ts +141 -1
- package/src/media/props/wikiText.ts +167 -0
- package/src/media/props/wikiTooltip.ts +53 -0
- package/src/media/props/wikiValue.ts +22 -276
- package/src/media/props/wikiWindow.ts +24 -45
- package/src/shims-mdx.d.ts +5 -0
- package/src/styles/storybookStyle.scss +3 -1
- package/src/types/storybookTypes.ts +48 -4
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
2
|
+
|
|
3
|
+
import differencesEn from './differences.en.mdx'
|
|
4
|
+
import differencesRu from './differences.ru.mdx'
|
|
5
|
+
import modalEn from './modal.en.mdx'
|
|
6
|
+
import modalRu from './modal.ru.mdx'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* MDX files for Modal component
|
|
10
|
+
*
|
|
11
|
+
* MDX файлы для компонента Modal
|
|
12
|
+
*/
|
|
13
|
+
export const wikiMdxModal: StorybookComponentsMdxItem = {
|
|
14
|
+
name: 'Modal',
|
|
15
|
+
descriptions: {
|
|
16
|
+
differences: {
|
|
17
|
+
en: differencesEn,
|
|
18
|
+
ru: differencesRu
|
|
19
|
+
},
|
|
20
|
+
modal: {
|
|
21
|
+
en: modalEn,
|
|
22
|
+
ru: modalRu
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
### `motionTransformElement`
|
|
2
|
+
|
|
3
|
+
Reactive reference to the nested MotionTransform component's expose API, providing programmatic access to control methods.
|
|
4
|
+
|
|
5
|
+
**Type:** `Ref<ConstrBind<MotionTransformExpose> | undefined>`
|
|
6
|
+
|
|
7
|
+
**Methods via motionTransformElement.value:**
|
|
8
|
+
- `open` — reactive open state
|
|
9
|
+
- `isShow` — computed visibility state
|
|
10
|
+
- `setOpen(open: boolean)` — set open state
|
|
11
|
+
- `toOpen()` — open component
|
|
12
|
+
- `toClose()` — close component
|
|
13
|
+
- `toggle()` — toggle state
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
### `motionTransformElement`
|
|
2
|
+
|
|
3
|
+
Реактивная ссылка на expose API вложенного компонента MotionTransform, предоставляющая программный доступ к методам управления.
|
|
4
|
+
|
|
5
|
+
**Тип:** `Ref<ConstrBind<MotionTransformExpose> | undefined>`
|
|
6
|
+
|
|
7
|
+
**Методы через motionTransformElement.value:**
|
|
8
|
+
- `open` — реактивное состояние открытия
|
|
9
|
+
- `isShow` — вычисляемое состояние видимости
|
|
10
|
+
- `setOpen(open: boolean)` — установить состояние открытия
|
|
11
|
+
- `toOpen()` — открыть компонент
|
|
12
|
+
- `toClose()` — закрыть компонент
|
|
13
|
+
- `toggle()` — переключить состояние
|
|
14
|
+
|
|
@@ -8,6 +8,8 @@ import eventsEn from './events.en.mdx'
|
|
|
8
8
|
import eventsRu from './events.ru.mdx'
|
|
9
9
|
import exposeIsShowEn from './expose.isShow.en.mdx'
|
|
10
10
|
import exposeIsShowRu from './expose.isShow.ru.mdx'
|
|
11
|
+
import exposeMotionTransformElementEn from './expose.motionTransformElement.en.mdx'
|
|
12
|
+
import exposeMotionTransformElementRu from './expose.motionTransformElement.ru.mdx'
|
|
11
13
|
import ignoreEn from './ignore.en.mdx'
|
|
12
14
|
import ignoreRu from './ignore.ru.mdx'
|
|
13
15
|
import motionTransformEn from './motionTransform.en.mdx'
|
|
@@ -41,6 +43,10 @@ export const wikiMdxMotionTransform: StorybookComponentsMdxItem = {
|
|
|
41
43
|
en: exposeIsShowEn,
|
|
42
44
|
ru: exposeIsShowRu
|
|
43
45
|
},
|
|
46
|
+
'expose.motionTransformElement': {
|
|
47
|
+
en: exposeMotionTransformElementEn,
|
|
48
|
+
ru: exposeMotionTransformElementRu
|
|
49
|
+
},
|
|
44
50
|
'ignore': {
|
|
45
51
|
en: ignoreEn,
|
|
46
52
|
ru: ignoreRu
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
A top-level semantic container component designed to wrap the main content of a page. It uses the `<main>` tag by default.
|
|
4
|
+
|
|
5
|
+
Page provides capabilities for displaying main headlines, labels, descriptions, captions, and icons. The main purpose of the component is to designate the unique part of the document's content, which is critical for accessibility and SEO. The headline is rendered as `<h1>` by default.
|
|
6
|
+
|
|
7
|
+
**Key Features:**
|
|
8
|
+
|
|
9
|
+
- Semantic wrapper for main content (`<main>` tag)
|
|
10
|
+
- Support for main headlines (default `<h1>`), labels, descriptions, and captions
|
|
11
|
+
- Support for icons
|
|
12
|
+
- Customizable layout and spacing
|
|
13
|
+
- Full support for slots for content customization
|
|
14
|
+
|
|
15
|
+
**Typical Use Cases:**
|
|
16
|
+
|
|
17
|
+
- Wrapper for unique page content
|
|
18
|
+
- Main application screen
|
|
19
|
+
- Article or documentation page
|
|
20
|
+
- Root element for routed components (views)
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref } from 'vue'
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<template>
|
|
28
|
+
<Page
|
|
29
|
+
headline="Main Page Title"
|
|
30
|
+
label="Category"
|
|
31
|
+
description="Brief description of the page content"
|
|
32
|
+
>
|
|
33
|
+
<p>Unique page content...</p>
|
|
34
|
+
</Page>
|
|
35
|
+
</template>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> Page should be used once per page (or per active view) and should not include repeated navigation elements.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## Описание
|
|
2
|
+
|
|
3
|
+
Семантический компонент-контейнер верхнего уровня, предназначенный для обертки основного содержимого страницы. По умолчанию использует тег `<main>`.
|
|
4
|
+
|
|
5
|
+
Page предоставляет возможности для отображения главных заголовков, меток, описаний, подписей и иконок. Основное назначение компонента — обозначение уникальной части содержимого документа, что критически важно для доступности (accessibility) и SEO. Заголовок по умолчанию рендерится как `<h1>`.
|
|
6
|
+
|
|
7
|
+
**Основные возможности:**
|
|
8
|
+
|
|
9
|
+
- Семантическая обертка основного контента (тег `<main>`)
|
|
10
|
+
- Поддержка главных заголовков (по умолчанию `<h1>`), меток, описаний и подписей
|
|
11
|
+
- Поддержка иконок
|
|
12
|
+
- Настраиваемый макет и отступы
|
|
13
|
+
- Полная поддержка слотов для кастомизации контента
|
|
14
|
+
|
|
15
|
+
**Типичные сценарии использования:**
|
|
16
|
+
|
|
17
|
+
- Обертка для уникального контента страницы
|
|
18
|
+
- Главный экран приложения
|
|
19
|
+
- Страница статьи или документации
|
|
20
|
+
- Корневой элемент для маршрутизируемых компонентов (views)
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref } from 'vue'
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<template>
|
|
28
|
+
<Page
|
|
29
|
+
headline="Главный заголовок страницы"
|
|
30
|
+
label="Категория"
|
|
31
|
+
description="Краткое описание содержимого страницы"
|
|
32
|
+
>
|
|
33
|
+
<p>Уникальный контент страницы...</p>
|
|
34
|
+
</Page>
|
|
35
|
+
</template>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> Page должен использоваться один раз на странице (или в активном view) и не должен включать повторяющиеся элементы навигации.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
2
|
+
|
|
3
|
+
import pageEn from './page.en.mdx'
|
|
4
|
+
import pageRu from './page.ru.mdx'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* MDX files for Page component
|
|
8
|
+
*
|
|
9
|
+
* MDX файлы для компонента Page
|
|
10
|
+
*/
|
|
11
|
+
export const wikiMdxPage: StorybookComponentsMdxItem = {
|
|
12
|
+
name: 'Page',
|
|
13
|
+
descriptions: {
|
|
14
|
+
block: {
|
|
15
|
+
en: pageEn,
|
|
16
|
+
ru: pageRu
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
A semantic container component designed for grouping related content. It uses the `<section>` tag by default.
|
|
4
|
+
|
|
5
|
+
Section provides capabilities for displaying headlines, labels, descriptions, captions, and icons. The main purpose of the component is to designate thematic sections of a document, which improves the semantics and accessibility of the page. The headline is rendered as `<h2>` by default.
|
|
6
|
+
|
|
7
|
+
**Key Features:**
|
|
8
|
+
|
|
9
|
+
- Semantic content grouping (`<section>` tag)
|
|
10
|
+
- Support for headlines (default `<h2>`), labels, descriptions, and captions
|
|
11
|
+
- Support for icons
|
|
12
|
+
- Customizable layout and spacing
|
|
13
|
+
- Full support for slots for content customization
|
|
14
|
+
|
|
15
|
+
**Typical Use Cases:**
|
|
16
|
+
|
|
17
|
+
- Thematic page sections
|
|
18
|
+
- Content grouping in articles
|
|
19
|
+
- Information blocks with second-level headings
|
|
20
|
+
- Landing page sections
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref } from 'vue'
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<template>
|
|
28
|
+
<Section
|
|
29
|
+
headline="Section Headline"
|
|
30
|
+
label="Label"
|
|
31
|
+
description="Description of this section's content"
|
|
32
|
+
>
|
|
33
|
+
<p>Main section content...</p>
|
|
34
|
+
</Section>
|
|
35
|
+
</template>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> Section is the semantically correct choice for dividing a page into large logical blocks.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## Описание
|
|
2
|
+
|
|
3
|
+
Семантический компонент-контейнер, предназначенный для группировки связанного контента. По умолчанию использует тег `<section>`.
|
|
4
|
+
|
|
5
|
+
Section предоставляет возможности для отображения заголовков, меток, описаний, подписей и иконок. Основное назначение компонента — обозначение тематических разделов документа, что улучшает семантику и доступность страницы. Заголовок по умолчанию рендерится как `<h2>`.
|
|
6
|
+
|
|
7
|
+
**Основные возможности:**
|
|
8
|
+
|
|
9
|
+
- Семантическая группировка контента (тег `<section>`)
|
|
10
|
+
- Поддержка заголовков (по умолчанию `<h2>`), меток, описаний и подписей
|
|
11
|
+
- Поддержка иконок
|
|
12
|
+
- Настраиваемый макет и отступы
|
|
13
|
+
- Полная поддержка слотов для кастомизации контента
|
|
14
|
+
|
|
15
|
+
**Типичные сценарии использования:**
|
|
16
|
+
|
|
17
|
+
- Тематические разделы страницы
|
|
18
|
+
- Группировка контента в статьях
|
|
19
|
+
- Информационные блоки с заголовками второго уровня
|
|
20
|
+
- Секции лэндингов
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref } from 'vue'
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<template>
|
|
28
|
+
<Section
|
|
29
|
+
headline="Заголовок секции"
|
|
30
|
+
label="Метка"
|
|
31
|
+
description="Описание содержимого данной секции"
|
|
32
|
+
>
|
|
33
|
+
<p>Основной контент секции...</p>
|
|
34
|
+
</Section>
|
|
35
|
+
</template>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> Section — это семантически верный выбор для разделения страницы на крупные логические блоки.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
2
|
+
|
|
3
|
+
import sectionEn from './section.en.mdx'
|
|
4
|
+
import sectionRu from './section.ru.mdx'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* MDX files for Section component
|
|
8
|
+
*
|
|
9
|
+
* MDX файлы для компонента Section
|
|
10
|
+
*/
|
|
11
|
+
export const wikiMdxSection: StorybookComponentsMdxItem = {
|
|
12
|
+
name: 'Section',
|
|
13
|
+
descriptions: {
|
|
14
|
+
section: {
|
|
15
|
+
en: sectionEn,
|
|
16
|
+
ru: sectionRu
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Component for creating dropdown selection lists with search, filtering, multiple selection, and validation support.
|
|
2
|
+
|
|
3
|
+
Select is a complete selection element that combines Field, Menu, SelectValue, and Input components to create an advanced selection interface. The component automatically displays selected values as text or chips (for multiple selection), provides built-in search and option filtering, supports AJAX data loading with caching. It integrates with all Field component features including validation, labels, counters, and messages.
|
|
4
|
+
|
|
5
|
+
**Key features:**
|
|
6
|
+
|
|
7
|
+
- Single or multiple value selection
|
|
8
|
+
- Built-in search and real-time option filtering
|
|
9
|
+
- AJAX data loading with caching support
|
|
10
|
+
- Editable selected value mode (editValue)
|
|
11
|
+
- Validation with standard Field features
|
|
12
|
+
- Keyboard navigation and accessibility support
|
|
13
|
+
- Automatic display of selected values (text or chips)
|
|
14
|
+
- Maximum number of selected items limitation
|
|
15
|
+
- Icon support for dropdown arrow and search
|
|
16
|
+
- Auto-close control for multiple selection
|
|
17
|
+
- Integration with Field, Menu, SelectValue, Input components
|
|
18
|
+
- Customization via slots and attributes
|
|
19
|
+
- Responsive design for mobile devices
|
|
20
|
+
|
|
21
|
+
**Typical use cases:**
|
|
22
|
+
|
|
23
|
+
- Selecting values from a predefined list of options
|
|
24
|
+
- Filtering and searching in large data lists
|
|
25
|
+
- Multiple item selection with quantity limitation
|
|
26
|
+
- Selection with AJAX data loading from server
|
|
27
|
+
- Forms with validation of selected values
|
|
28
|
+
- Combo boxes with editing capability
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<script setup>
|
|
32
|
+
import { ref } from 'vue'
|
|
33
|
+
|
|
34
|
+
const selectedCountry = ref('us')
|
|
35
|
+
const selectedLanguages = ref(['js', 'ts'])
|
|
36
|
+
|
|
37
|
+
const countries = [
|
|
38
|
+
{ label: 'Russia', value: 'ru' },
|
|
39
|
+
{ label: 'USA', value: 'us' },
|
|
40
|
+
{ label: 'Germany', value: 'de' }
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
const languages = [
|
|
44
|
+
{ label: 'JavaScript', value: 'js' },
|
|
45
|
+
{ label: 'TypeScript', value: 'ts' },
|
|
46
|
+
{ label: 'Python', value: 'py' }
|
|
47
|
+
]
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<template>
|
|
51
|
+
<!-- Simple selection -->
|
|
52
|
+
<Select
|
|
53
|
+
v-model="selectedCountry"
|
|
54
|
+
label="Country"
|
|
55
|
+
placeholder="Choose a country"
|
|
56
|
+
:option="countries"
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
<!-- Multiple selection -->
|
|
60
|
+
<Select
|
|
61
|
+
v-model="selectedLanguages"
|
|
62
|
+
label="Programming languages"
|
|
63
|
+
:multiple="true"
|
|
64
|
+
:max="3"
|
|
65
|
+
helper-message="Select up to 3 languages"
|
|
66
|
+
:option="languages"
|
|
67
|
+
/>
|
|
68
|
+
</template>
|
|
69
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Компонент для создания выпадающих списков выбора с поддержкой поиска, фильтрации, множественного выбора и валидации.
|
|
2
|
+
|
|
3
|
+
Select представляет собой полнофункциональный элемент выбора, объединяющий компоненты Field, Menu, SelectValue и Input для создания продвинутого интерфейса выбора. Компонент автоматически отображает выбранные значения в виде текста или чипов (для множественного выбора), предоставляет встроенный поиск и фильтрацию опций, поддерживает AJAX загрузку данных с кешированием. Интегрируется со всеми возможностями компонента Field, включая валидацию, подписи, счётчики и сообщения.
|
|
4
|
+
|
|
5
|
+
**Основные возможности:**
|
|
6
|
+
|
|
7
|
+
- Одиночный или множественный выбор значений
|
|
8
|
+
- Встроенный поиск и фильтрация опций в реальном времени
|
|
9
|
+
- AJAX загрузка данных с поддержкой кеширования
|
|
10
|
+
- Режим редактирования выбранного значения (editValue)
|
|
11
|
+
- Валидация со стандартными функциями Field
|
|
12
|
+
- Клавиатурная навигация и поддержка accessibility
|
|
13
|
+
- Автоматическое отображение выбранных значений (текст или чипы)
|
|
14
|
+
- Ограничение максимального количества выбранных элементов
|
|
15
|
+
- Поддержка иконок для стрелки выпадающего списка и поиска
|
|
16
|
+
- Управление автозакрытием для множественного выбора
|
|
17
|
+
- Интеграция с компонентами Field, Menu, SelectValue, Input
|
|
18
|
+
- Кастомизация через слоты и атрибуты
|
|
19
|
+
- Адаптивный дизайн для мобильных устройств
|
|
20
|
+
|
|
21
|
+
**Типичные сценарии использования:**
|
|
22
|
+
|
|
23
|
+
- Выбор значений из предопределённого списка опций
|
|
24
|
+
- Фильтрация и поиск в больших списках данных
|
|
25
|
+
- Множественный выбор элементов с ограничением количества
|
|
26
|
+
- Выбор с AJAX загрузкой данных с сервера
|
|
27
|
+
- Формы с валидацией выбранных значений
|
|
28
|
+
- Комбо-боксы с возможностью редактирования
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<script setup>
|
|
32
|
+
import { ref } from 'vue'
|
|
33
|
+
|
|
34
|
+
const selectedCountry = ref('ru')
|
|
35
|
+
const selectedLanguages = ref(['js', 'ts'])
|
|
36
|
+
|
|
37
|
+
const countries = [
|
|
38
|
+
{ label: 'Россия', value: 'ru' },
|
|
39
|
+
{ label: 'США', value: 'us' },
|
|
40
|
+
{ label: 'Германия', value: 'de' }
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
const languages = [
|
|
44
|
+
{ label: 'JavaScript', value: 'js' },
|
|
45
|
+
{ label: 'TypeScript', value: 'ts' },
|
|
46
|
+
{ label: 'Python', value: 'py' }
|
|
47
|
+
]
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<template>
|
|
51
|
+
<!-- Простой выбор -->
|
|
52
|
+
<Select
|
|
53
|
+
v-model="selectedCountry"
|
|
54
|
+
label="Страна"
|
|
55
|
+
placeholder="Выберите страну"
|
|
56
|
+
:option="countries"
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
<!-- Множественный выбор -->
|
|
60
|
+
<Select
|
|
61
|
+
v-model="selectedLanguages"
|
|
62
|
+
label="Языки программирования"
|
|
63
|
+
:multiple="true"
|
|
64
|
+
:max="3"
|
|
65
|
+
helper-message="Выберите до 3 языков"
|
|
66
|
+
:option="languages"
|
|
67
|
+
/>
|
|
68
|
+
</template>
|
|
69
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
2
|
+
|
|
3
|
+
import selectEn from './select.en.mdx'
|
|
4
|
+
import selectRu from './select.ru.mdx'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* MDX files for Select component
|
|
8
|
+
*
|
|
9
|
+
* MDX файлы для компонента Select
|
|
10
|
+
*/
|
|
11
|
+
export const wikiMdxSelect: StorybookComponentsMdxItem = {
|
|
12
|
+
name: 'Select',
|
|
13
|
+
descriptions: {
|
|
14
|
+
select: {
|
|
15
|
+
en: selectEn,
|
|
16
|
+
ru: selectRu
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Component for displaying selected values in selection controls with support for single and multiple modes.
|
|
2
|
+
|
|
3
|
+
SelectValue manages the visualization of selected items, automatically switching between text display for single selection and chips for multiple selection. The component integrates with the event system to handle user actions, supports icon display, placeholders, and cancel buttons for selections.
|
|
4
|
+
|
|
5
|
+
**Key features:**
|
|
6
|
+
|
|
7
|
+
- Automatic switching between single and multiple selection modes
|
|
8
|
+
- Chip rendering with customizable appearance for multiple selections
|
|
9
|
+
- Placeholder support for empty state
|
|
10
|
+
- Icon display in selected items
|
|
11
|
+
- Cancel buttons for removing individual selections
|
|
12
|
+
- Integration with Chip component for element styling
|
|
13
|
+
- Handling disabled and readonly states
|
|
14
|
+
|
|
15
|
+
**Typical use cases:**
|
|
16
|
+
|
|
17
|
+
- Displaying selected options in selects and comboboxes
|
|
18
|
+
- Visualizing multiple selections in lists
|
|
19
|
+
- Showing active filters with removal capability
|
|
20
|
+
- Displaying tags and categories
|
|
21
|
+
- Representing selected elements in forms
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<script setup>
|
|
25
|
+
import { ref } from 'vue'
|
|
26
|
+
|
|
27
|
+
const selectedSingle = ref([
|
|
28
|
+
{ label: 'JavaScript', value: 'js', icon: 'code', index: '1' }
|
|
29
|
+
])
|
|
30
|
+
|
|
31
|
+
const selectedMultiple = ref([
|
|
32
|
+
{ label: 'React', value: 'react', icon: 'favorite', index: '1' },
|
|
33
|
+
{ label: 'Vue.js', value: 'vue', icon: 'star', index: '2' }
|
|
34
|
+
])
|
|
35
|
+
|
|
36
|
+
const handleClick = (event) => {
|
|
37
|
+
console.log('Element clicked:', event)
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<!-- Single selection -->
|
|
43
|
+
<SelectValue
|
|
44
|
+
:value="selectedSingle"
|
|
45
|
+
:icon-show="true"
|
|
46
|
+
@click="handleClick"
|
|
47
|
+
/>
|
|
48
|
+
|
|
49
|
+
<!-- Multiple selection with chips -->
|
|
50
|
+
<SelectValue
|
|
51
|
+
:value="selectedMultiple"
|
|
52
|
+
:multiple="true"
|
|
53
|
+
:icon-show="true"
|
|
54
|
+
icon-cancel="close"
|
|
55
|
+
@click="handleClick"
|
|
56
|
+
/>
|
|
57
|
+
|
|
58
|
+
<!-- With placeholder -->
|
|
59
|
+
<SelectValue
|
|
60
|
+
placeholder="Select a value"
|
|
61
|
+
/>
|
|
62
|
+
</template>
|
|
63
|
+
```
|
|
64
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Компонент для отображения выбранных значений в элементах управления выбором с поддержкой одиночного и множественного режимов.
|
|
2
|
+
|
|
3
|
+
SelectValue управляет визуализацией выбранных элементов, автоматически переключаясь между текстовым отображением для одиночного выбора и чипами для множественного. Компонент интегрируется с системой событий для обработки действий пользователя, поддерживает отображение иконок, плейсхолдеров и кнопок отмены выбора.
|
|
4
|
+
|
|
5
|
+
**Основные возможности:**
|
|
6
|
+
|
|
7
|
+
- Автоматическое переключение между режимами одиночного и множественного выбора
|
|
8
|
+
- Рендеринг чипов с настраиваемым внешним видом для множественного выбора
|
|
9
|
+
- Поддержка плейсхолдера для пустого состояния
|
|
10
|
+
- Отображение иконок в выбранных элементах
|
|
11
|
+
- Кнопки отмены для удаления отдельных выборов
|
|
12
|
+
- Интеграция с Chip компонентом для стилизации элементов
|
|
13
|
+
- Обработка состояний disabled и readonly
|
|
14
|
+
|
|
15
|
+
**Типичные сценарии использования:**
|
|
16
|
+
|
|
17
|
+
- Отображение выбранных опций в селектах и комбобоксах
|
|
18
|
+
- Визуализация множественного выбора в списках
|
|
19
|
+
- Показ активных фильтров с возможностью удаления
|
|
20
|
+
- Отображение тегов и категорий
|
|
21
|
+
- Представление выбранных элементов в формах
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<script setup>
|
|
25
|
+
import { ref } from 'vue'
|
|
26
|
+
|
|
27
|
+
const selectedSingle = ref([
|
|
28
|
+
{ label: 'JavaScript', value: 'js', icon: 'code', index: '1' }
|
|
29
|
+
])
|
|
30
|
+
|
|
31
|
+
const selectedMultiple = ref([
|
|
32
|
+
{ label: 'React', value: 'react', icon: 'favorite', index: '1' },
|
|
33
|
+
{ label: 'Vue.js', value: 'vue', icon: 'star', index: '2' }
|
|
34
|
+
])
|
|
35
|
+
|
|
36
|
+
const handleClick = (event) => {
|
|
37
|
+
console.log('Клик по элементу:', event)
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<!-- Одиночный выбор -->
|
|
43
|
+
<SelectValue
|
|
44
|
+
:value="selectedSingle"
|
|
45
|
+
:icon-show="true"
|
|
46
|
+
@click="handleClick"
|
|
47
|
+
/>
|
|
48
|
+
|
|
49
|
+
<!-- Множественный выбор с чипами -->
|
|
50
|
+
<SelectValue
|
|
51
|
+
:value="selectedMultiple"
|
|
52
|
+
:multiple="true"
|
|
53
|
+
:icon-show="true"
|
|
54
|
+
icon-cancel="close"
|
|
55
|
+
@click="handleClick"
|
|
56
|
+
/>
|
|
57
|
+
|
|
58
|
+
<!-- С плейсхолдером -->
|
|
59
|
+
<SelectValue
|
|
60
|
+
placeholder="Выберите значение"
|
|
61
|
+
/>
|
|
62
|
+
</template>
|
|
63
|
+
```
|
|
64
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
2
|
+
|
|
3
|
+
import selectValueEn from './selectValue.en.mdx'
|
|
4
|
+
import selectValueRu from './selectValue.ru.mdx'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* MDX files for SelectValue component
|
|
8
|
+
*
|
|
9
|
+
* MDX файлы для компонента SelectValue
|
|
10
|
+
*/
|
|
11
|
+
export const wikiMdxSelectValue: StorybookComponentsMdxItem = {
|
|
12
|
+
name: 'SelectValue',
|
|
13
|
+
descriptions: {
|
|
14
|
+
selectValue: {
|
|
15
|
+
en: selectValueEn,
|
|
16
|
+
ru: selectValueRu
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Text field component that automatically adjusts its height based on content.
|
|
2
|
+
|
|
3
|
+
TextareaAutosize provides a multi-line text field that dynamically changes its height depending on the amount of entered text. The component uses a hidden clone element for precise height calculation, taking into account all padding and styles of the original textarea. This ensures smooth and natural behavior when entering text without manual height adjustment.
|
|
4
|
+
|
|
5
|
+
**Key features:**
|
|
6
|
+
|
|
7
|
+
- Automatic height adjustment based on content
|
|
8
|
+
- Precise size calculation considering padding and styles
|
|
9
|
+
- Smooth height transitions on content change
|
|
10
|
+
- Optional autosize toggle for fixed height
|
|
11
|
+
- Support for all standard textarea attributes
|
|
12
|
+
- Reactive value binding with input events
|
|
13
|
+
- Optimized performance through requestAnimationFrame
|
|
14
|
+
|
|
15
|
+
**Common use cases:**
|
|
16
|
+
|
|
17
|
+
- Comment and review fields
|
|
18
|
+
- Feedback forms with long texts
|
|
19
|
+
- Description and notes editors
|
|
20
|
+
- Chats and messengers
|
|
21
|
+
- Forms with dynamic content
|
|
22
|
+
- Multi-line fields in adaptive interfaces
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<script setup>
|
|
26
|
+
import { ref } from 'vue'
|
|
27
|
+
|
|
28
|
+
const message = ref('')
|
|
29
|
+
|
|
30
|
+
const handleInput = (event) => {
|
|
31
|
+
console.log('Current value:', event.target.value)
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<div class="form">
|
|
37
|
+
<TextareaAutosize
|
|
38
|
+
v-model="message"
|
|
39
|
+
:inputAttrs="{
|
|
40
|
+
placeholder: 'Enter your message...',
|
|
41
|
+
maxlength: 500
|
|
42
|
+
}"
|
|
43
|
+
@input="handleInput"
|
|
44
|
+
/>
|
|
45
|
+
|
|
46
|
+
<TextareaAutosize
|
|
47
|
+
value="Text field with fixed height"
|
|
48
|
+
:autosize="false"
|
|
49
|
+
:inputAttrs="{
|
|
50
|
+
placeholder: 'Height does not change',
|
|
51
|
+
rows: 3
|
|
52
|
+
}"
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
<TextareaAutosize
|
|
56
|
+
:inputAttrs="{
|
|
57
|
+
placeholder: 'Comment',
|
|
58
|
+
'aria-label': 'Comment field',
|
|
59
|
+
required: true
|
|
60
|
+
}"
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
65
|
+
|