@dxtmisha/wiki 0.24.2 → 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.
- package/package.json +7 -7
- package/src/classes/WikiStorybookItem.ts +24 -0
- package/src/library.ts +7 -7
- package/src/media/descriptions/wikiDescriptions.ts +28 -0
- package/src/media/descriptions/wikiDescriptionsAccordion.ts +158 -0
- package/src/media/descriptions/wikiDescriptionsActionSheet.ts +211 -0
- package/src/media/descriptions/wikiDescriptionsActions.ts +161 -0
- package/src/media/descriptions/wikiDescriptionsAnchor.ts +42 -0
- package/src/media/descriptions/wikiDescriptionsArrow.ts +181 -0
- package/src/media/descriptions/wikiDescriptionsBars.ts +1 -3
- package/src/media/descriptions/wikiDescriptionsBlock.ts +97 -0
- package/src/media/descriptions/wikiDescriptionsButton.ts +0 -1
- package/src/media/descriptions/wikiDescriptionsCell.ts +3 -3
- package/src/media/descriptions/wikiDescriptionsChip.ts +0 -1
- package/src/media/descriptions/wikiDescriptionsChipGroup.ts +168 -0
- package/src/media/descriptions/wikiDescriptionsDialog.ts +182 -0
- package/src/media/descriptions/wikiDescriptionsField.ts +3 -4
- package/src/media/descriptions/wikiDescriptionsFieldCounter.ts +6 -6
- package/src/media/descriptions/wikiDescriptionsFieldMessage.ts +1 -2
- package/src/media/descriptions/wikiDescriptionsImage.ts +43 -8
- package/src/media/descriptions/wikiDescriptionsInput.ts +257 -0
- package/src/media/descriptions/wikiDescriptionsList.ts +1 -5
- package/src/media/descriptions/wikiDescriptionsListGroup.ts +2 -3
- package/src/media/descriptions/wikiDescriptionsListItem.ts +1 -3
- package/src/media/descriptions/wikiDescriptionsListMenu.ts +2 -9
- package/src/media/descriptions/wikiDescriptionsMask.ts +12 -0
- package/src/media/descriptions/wikiDescriptionsMenu.ts +126 -14
- package/src/media/descriptions/wikiDescriptionsModal.ts +145 -0
- package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +4 -10
- package/src/media/descriptions/wikiDescriptionsScrollbar.ts +1 -7
- package/src/media/descriptions/wikiDescriptionsSelect.ts +209 -0
- package/src/media/descriptions/wikiDescriptionsSelectValue.ts +78 -0
- package/src/media/descriptions/wikiDescriptionsSkeleton.ts +1 -0
- package/src/media/descriptions/wikiDescriptionsTextareaAutosize.ts +50 -0
- package/src/media/descriptions/wikiDescriptionsTooltip.ts +89 -0
- package/src/media/descriptions/wikiDescriptionsWindow.ts +5 -22
- package/src/media/functional/en/broadcastMessage.mdx +307 -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/ru/broadcastMessage.mdx +305 -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/Badge/badge.en.mdx +85 -7
- package/src/media/mdx/Badge/badge.ru.mdx +85 -7
- package/src/media/mdx/Badge/dot.en.mdx +16 -12
- package/src/media/mdx/Badge/dot.ru.mdx +16 -12
- package/src/media/mdx/Badge/outline.en.mdx +12 -13
- package/src/media/mdx/Badge/outline.ru.mdx +12 -13
- package/src/media/mdx/Badge/primary.en.mdx +12 -12
- package/src/media/mdx/Badge/primary.ru.mdx +12 -12
- package/src/media/mdx/Badge/secondary.en.mdx +12 -13
- package/src/media/mdx/Badge/secondary.ru.mdx +12 -13
- package/src/media/mdx/Bars/action.en.mdx +72 -28
- package/src/media/mdx/Bars/action.ru.mdx +73 -29
- package/src/media/mdx/Bars/bars.en.mdx +90 -15
- package/src/media/mdx/Bars/bars.ru.mdx +91 -15
- package/src/media/mdx/Bars/slots.en.mdx +33 -0
- package/src/media/mdx/Bars/slots.ru.mdx +33 -0
- package/src/media/mdx/Bars/v-model.en.mdx +23 -14
- package/src/media/mdx/Bars/v-model.ru.mdx +23 -14
- package/src/media/mdx/Bars/wikiMdxBars.ts +5 -11
- 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/Button/button.en.mdx +89 -1
- package/src/media/mdx/Button/button.ru.mdx +89 -1
- package/src/media/mdx/Button/outline.en.mdx +12 -14
- package/src/media/mdx/Button/outline.ru.mdx +12 -14
- package/src/media/mdx/Button/primary.en.mdx +12 -19
- package/src/media/mdx/Button/primary.ru.mdx +12 -19
- package/src/media/mdx/Button/secondary.en.mdx +12 -17
- package/src/media/mdx/Button/secondary.ru.mdx +12 -17
- package/src/media/mdx/Button/text.en.mdx +12 -11
- package/src/media/mdx/Button/text.ru.mdx +12 -11
- package/src/media/mdx/Cell/cell.en.mdx +50 -9
- package/src/media/mdx/Cell/cell.ru.mdx +50 -9
- package/src/media/mdx/Cell/slots.en.mdx +82 -0
- package/src/media/mdx/Cell/slots.ru.mdx +83 -0
- package/src/media/mdx/Cell/wikiMdxCell.ts +6 -12
- package/src/media/mdx/Chip/assistive.en.mdx +12 -14
- package/src/media/mdx/Chip/assistive.ru.mdx +12 -14
- package/src/media/mdx/Chip/chip.en.mdx +69 -9
- package/src/media/mdx/Chip/chip.ru.mdx +69 -9
- package/src/media/mdx/Chip/input.en.mdx +12 -19
- package/src/media/mdx/Chip/input.ru.mdx +12 -19
- 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 +83 -17
- package/src/media/mdx/Field/arrows.ru.mdx +83 -17
- package/src/media/mdx/Field/cancel.en.mdx +47 -10
- package/src/media/mdx/Field/cancel.ru.mdx +47 -10
- package/src/media/mdx/Field/field.en.mdx +45 -15
- package/src/media/mdx/Field/field.ru.mdx +45 -15
- package/src/media/mdx/Field/slots.en.mdx +138 -0
- package/src/media/mdx/Field/slots.ru.mdx +138 -0
- package/src/media/mdx/Field/value.en.mdx +49 -28
- package/src/media/mdx/Field/value.ru.mdx +49 -28
- package/src/media/mdx/Field/width.en.mdx +21 -19
- package/src/media/mdx/Field/width.ru.mdx +21 -19
- package/src/media/mdx/Field/wikiMdxField.ts +14 -26
- package/src/media/mdx/FieldCounter/fieldCounter.en.mdx +52 -14
- package/src/media/mdx/FieldCounter/fieldCounter.ru.mdx +55 -14
- package/src/media/mdx/FieldCounter/templates.en.mdx +26 -6
- package/src/media/mdx/FieldCounter/templates.ru.mdx +25 -5
- package/src/media/mdx/FieldLabel/fieldLabel.en.mdx +56 -14
- package/src/media/mdx/FieldLabel/fieldLabel.ru.mdx +56 -14
- package/src/media/mdx/FieldMessage/fieldMessage.en.mdx +58 -14
- package/src/media/mdx/FieldMessage/fieldMessage.ru.mdx +58 -14
- package/src/media/mdx/FieldMessage/slots.en.mdx +45 -0
- package/src/media/mdx/FieldMessage/slots.ru.mdx +45 -0
- package/src/media/mdx/FieldMessage/wikiMdxFieldMessage.ts +6 -12
- package/src/media/mdx/Icon/expose.isActive.en.mdx +2 -10
- package/src/media/mdx/Icon/expose.isActive.ru.mdx +2 -10
- package/src/media/mdx/Icon/icon.en.mdx +43 -9
- package/src/media/mdx/Icon/icon.ru.mdx +27 -28
- package/src/media/mdx/Image/adaptive.en.mdx +63 -20
- package/src/media/mdx/Image/adaptive.ru.mdx +62 -25
- package/src/media/mdx/Image/event.load.en.mdx +37 -2
- package/src/media/mdx/Image/event.load.ru.mdx +34 -7
- package/src/media/mdx/Image/{expose.type.ru.mdx → expose.en.mdx} +11 -1
- package/src/media/mdx/Image/expose.ru.mdx +31 -0
- package/src/media/mdx/Image/image.en.mdx +46 -0
- package/src/media/mdx/Image/image.ru.mdx +47 -0
- 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/size.en.mdx +19 -19
- package/src/media/mdx/Image/size.ru.mdx +19 -23
- package/src/media/mdx/Image/value.en.mdx +10 -27
- package/src/media/mdx/Image/value.ru.mdx +10 -29
- package/src/media/mdx/Image/wikiMdxImage.ts +17 -11
- 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/List/event.close.en.mdx +5 -8
- package/src/media/mdx/List/event.close.ru.mdx +5 -8
- package/src/media/mdx/List/list.en.mdx +56 -14
- package/src/media/mdx/List/list.ru.mdx +56 -14
- package/src/media/mdx/List/lite.en.mdx +17 -12
- package/src/media/mdx/List/lite.ru.mdx +17 -12
- package/src/media/mdx/List/slot.html.en.mdx +72 -21
- package/src/media/mdx/List/slot.html.ru.mdx +72 -21
- package/src/media/mdx/ListGroup/listGroup.en.mdx +55 -1
- package/src/media/mdx/ListGroup/listGroup.ru.mdx +55 -1
- package/src/media/mdx/ListGroup/slots.en.mdx +10 -0
- package/src/media/mdx/ListGroup/slots.ru.mdx +10 -0
- package/src/media/mdx/ListGroup/wikiMdxListGroup.ts +6 -12
- package/src/media/mdx/ListItem/basic.en.mdx +47 -10
- package/src/media/mdx/ListItem/basic.ru.mdx +46 -9
- package/src/media/mdx/ListItem/fill.en.mdx +22 -8
- package/src/media/mdx/ListItem/fill.ru.mdx +22 -8
- package/src/media/mdx/ListItem/slots.en.mdx +7 -0
- package/src/media/mdx/ListItem/slots.ru.mdx +7 -0
- package/src/media/mdx/ListItem/wikiMdxListItem.ts +7 -13
- package/src/media/mdx/ListMenu/listMenu.en.mdx +62 -1
- package/src/media/mdx/ListMenu/listMenu.ru.mdx +62 -1
- package/src/media/mdx/Mask/basic.en.mdx +68 -16
- package/src/media/mdx/Mask/basic.ru.mdx +70 -11
- package/src/media/mdx/Mask/dateTypes.en.mdx +82 -68
- package/src/media/mdx/Mask/dateTypes.ru.mdx +82 -68
- package/src/media/mdx/Mask/expose.en.mdx +20 -0
- package/src/media/mdx/Mask/expose.ru.mdx +20 -0
- package/src/media/mdx/Mask/groupSave.en.mdx +13 -46
- package/src/media/mdx/Mask/groupSave.ru.mdx +13 -46
- package/src/media/mdx/Mask/mask.en.mdx +12 -66
- package/src/media/mdx/Mask/mask.ru.mdx +12 -66
- package/src/media/mdx/Mask/match.en.mdx +16 -24
- package/src/media/mdx/Mask/match.ru.mdx +16 -24
- package/src/media/mdx/Mask/numberTypes.en.mdx +64 -52
- package/src/media/mdx/Mask/numberTypes.ru.mdx +64 -52
- package/src/media/mdx/Mask/pattern.en.mdx +63 -75
- package/src/media/mdx/Mask/pattern.ru.mdx +63 -75
- package/src/media/mdx/Mask/special.en.mdx +174 -97
- package/src/media/mdx/Mask/special.ru.mdx +174 -97
- package/src/media/mdx/Mask/type.en.mdx +12 -36
- package/src/media/mdx/Mask/type.ru.mdx +11 -35
- package/src/media/mdx/Mask/visible.en.mdx +33 -41
- package/src/media/mdx/Mask/visible.ru.mdx +32 -40
- package/src/media/mdx/Mask/wikiMdxMask.ts +6 -0
- package/src/media/mdx/Menu/ajax.en.mdx +44 -51
- package/src/media/mdx/Menu/ajax.ru.mdx +44 -52
- 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/menu.en.mdx +63 -1
- package/src/media/mdx/Menu/menu.ru.mdx +64 -1
- 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 +100 -0
- package/src/media/mdx/Menu/slots.ru.mdx +100 -0
- package/src/media/mdx/Menu/wikiMdxMenu.ts +27 -28
- 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/animationHeadPosition.en.mdx +10 -22
- package/src/media/mdx/MotionTransform/animationHeadPosition.ru.mdx +10 -22
- package/src/media/mdx/MotionTransform/classes.en.mdx +18 -25
- package/src/media/mdx/MotionTransform/classes.ru.mdx +18 -25
- package/src/media/mdx/MotionTransform/events.en.mdx +31 -43
- package/src/media/mdx/MotionTransform/events.ru.mdx +31 -43
- package/src/media/mdx/MotionTransform/expose.isShow.en.mdx +2 -4
- package/src/media/mdx/MotionTransform/expose.isShow.ru.mdx +2 -4
- 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/ignore.en.mdx +22 -24
- package/src/media/mdx/MotionTransform/ignore.ru.mdx +22 -24
- package/src/media/mdx/MotionTransform/motionTransform.en.mdx +44 -15
- package/src/media/mdx/MotionTransform/motionTransform.ru.mdx +44 -15
- package/src/media/mdx/MotionTransform/slots.en.mdx +92 -0
- package/src/media/mdx/MotionTransform/slots.ru.mdx +92 -0
- package/src/media/mdx/MotionTransform/v-model.en.mdx +23 -14
- package/src/media/mdx/MotionTransform/v-model.ru.mdx +23 -14
- package/src/media/mdx/MotionTransform/wikiMdxMotionTransform.ts +11 -17
- package/src/media/mdx/Progress/circular.en.mdx +7 -20
- package/src/media/mdx/Progress/circular.ru.mdx +7 -20
- package/src/media/mdx/Progress/delays.en.mdx +6 -13
- package/src/media/mdx/Progress/delays.ru.mdx +6 -13
- package/src/media/mdx/Progress/linear.en.mdx +9 -23
- package/src/media/mdx/Progress/linear.ru.mdx +9 -23
- package/src/media/mdx/Progress/progress.en.mdx +67 -5
- package/src/media/mdx/Progress/progress.ru.mdx +67 -5
- package/src/media/mdx/Progress/values.en.mdx +6 -28
- package/src/media/mdx/Progress/values.ru.mdx +6 -29
- package/src/media/mdx/Ripple/ripple.en.mdx +34 -40
- package/src/media/mdx/Ripple/ripple.ru.mdx +34 -40
- package/src/media/mdx/Scrollbar/emits-include.en.mdx +38 -0
- package/src/media/mdx/Scrollbar/emits-include.ru.mdx +38 -0
- package/src/media/mdx/Scrollbar/emits.en.mdx +38 -0
- package/src/media/mdx/Scrollbar/emits.ru.mdx +38 -0
- package/src/media/mdx/Scrollbar/scrollbar.en.mdx +38 -2
- package/src/media/mdx/Scrollbar/scrollbar.ru.mdx +38 -2
- package/src/media/mdx/Scrollbar/wikiMdxScrollbar.ts +12 -43
- 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/Skeleton/classes.en.mdx +13 -0
- package/src/media/mdx/Skeleton/classes.ru.mdx +13 -0
- package/src/media/mdx/Skeleton/expose.isActive.en.mdx +7 -28
- package/src/media/mdx/Skeleton/expose.isActive.ru.mdx +7 -28
- package/src/media/mdx/Skeleton/skeleton.en.mdx +37 -36
- package/src/media/mdx/Skeleton/skeleton.ru.mdx +37 -36
- package/src/media/mdx/Skeleton/wikiMdxSkeleton.ts +7 -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/axis.en.mdx +11 -19
- package/src/media/mdx/Window/axis.ru.mdx +11 -19
- package/src/media/mdx/Window/classes.en.mdx +9 -26
- package/src/media/mdx/Window/classes.ru.mdx +9 -26
- package/src/media/mdx/Window/event.window.en.mdx +26 -8
- package/src/media/mdx/Window/event.window.ru.mdx +26 -8
- package/src/media/mdx/Window/expose.en.mdx +44 -0
- package/src/media/mdx/Window/expose.ru.mdx +44 -0
- package/src/media/mdx/Window/hooks.en.mdx +29 -50
- package/src/media/mdx/Window/hooks.ru.mdx +31 -52
- package/src/media/mdx/Window/slots.en.mdx +168 -0
- package/src/media/mdx/Window/slots.ru.mdx +168 -0
- package/src/media/mdx/Window/v-model.en.mdx +20 -11
- package/src/media/mdx/Window/v-model.ru.mdx +19 -11
- package/src/media/mdx/Window/wikiMdxWindow.ts +11 -41
- package/src/media/mdx/Window/window.en.mdx +55 -1
- package/src/media/mdx/Window/window.ru.mdx +55 -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.bars.en.mdx +50 -0
- package/src/media/mdx/event/events.bars.ru.mdx +50 -0
- package/src/media/mdx/event/events.beforeinput.en.mdx +13 -0
- package/src/media/mdx/event/events.beforeinput.ru.mdx +13 -0
- package/src/media/mdx/event/events.click.en.mdx +36 -0
- package/src/media/mdx/event/events.click.ru.mdx +36 -0
- package/src/media/mdx/event/events.focus.en.mdx +13 -0
- package/src/media/mdx/event/events.focus.ru.mdx +13 -0
- package/src/media/mdx/event/events.input.en.mdx +89 -0
- package/src/media/mdx/event/events.input.ru.mdx +90 -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/events.keyboard.en.mdx +13 -0
- package/src/media/mdx/event/events.keyboard.ru.mdx +13 -0
- package/src/media/mdx/event/events.paste.en.mdx +6 -0
- package/src/media/mdx/event/events.paste.ru.mdx +6 -0
- package/src/media/mdx/event/events.reset.en.mdx +6 -0
- package/src/media/mdx/event/events.reset.ru.mdx +6 -0
- package/src/media/mdx/event/wikiMdxEvent.ts +50 -73
- package/src/media/mdx/expose/expose.clear.en.mdx +3 -0
- package/src/media/mdx/expose/expose.clear.ru.mdx +3 -0
- 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.detail.en.mdx +5 -0
- package/src/media/mdx/expose/{detail.ru.mdx → expose.detail.ru.mdx} +1 -3
- 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/expose.open.en.mdx +5 -0
- package/src/media/mdx/expose/expose.open.ru.mdx +5 -0
- package/src/media/mdx/expose/expose.selected.en.mdx +23 -0
- package/src/media/mdx/expose/expose.selected.ru.mdx +23 -0
- package/src/media/mdx/expose/{value.en.mdx → expose.value.en.mdx} +1 -3
- package/src/media/mdx/expose/{value.ru.mdx → expose.value.ru.mdx} +1 -3
- package/src/media/mdx/expose/wikiMdxExpose.ts +41 -29
- 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/caption.en.mdx +2 -7
- package/src/media/mdx/slot/caption.ru.mdx +2 -7
- package/src/media/mdx/slot/control.en.mdx +4 -5
- package/src/media/mdx/slot/control.ru.mdx +4 -5
- package/src/media/mdx/slot/default.en.mdx +2 -7
- package/src/media/mdx/slot/default.ru.mdx +2 -7
- package/src/media/mdx/slot/description.en.mdx +2 -7
- package/src/media/mdx/slot/description.ru.mdx +2 -7
- package/src/media/mdx/slot/footer.en.mdx +4 -5
- package/src/media/mdx/slot/footer.ru.mdx +4 -5
- 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/label.en.mdx +2 -8
- package/src/media/mdx/slot/label.ru.mdx +2 -8
- 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/prefix.en.mdx +1 -4
- package/src/media/mdx/slot/prefix.ru.mdx +1 -4
- 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/suffix.en.mdx +1 -4
- package/src/media/mdx/slot/suffix.ru.mdx +1 -4
- 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 +29 -5
- package/src/media/mdx/style/adaptive.en.mdx +6 -16
- package/src/media/mdx/style/adaptive.ru.mdx +6 -16
- package/src/media/mdx/style/asPalette.en.mdx +13 -5
- package/src/media/mdx/style/asPalette.ru.mdx +13 -5
- package/src/media/mdx/style/dir.en.mdx +14 -7
- package/src/media/mdx/style/dir.ru.mdx +14 -7
- package/src/media/mdx/style/isSkeleton.en.mdx +20 -6
- package/src/media/mdx/style/isSkeleton.ru.mdx +19 -5
- package/src/media/mdx/value/highlight.en.mdx +19 -12
- package/src/media/mdx/value/highlight.ru.mdx +19 -12
- package/src/media/mdx/value/labelNumber.en.mdx +39 -20
- package/src/media/mdx/value/labelNumber.ru.mdx +39 -20
- 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/value.en.mdx +6 -12
- package/src/media/mdx/value/value.ru.mdx +6 -12
- package/src/media/mdx/value/wikiMdxValue.ts +24 -3
- package/src/media/mdx/wikiMdx.ts +29 -1
- package/src/media/props/wiki.ts +42 -0
- package/src/media/props/wikiActions.ts +43 -0
- package/src/media/props/wikiActionsInclude.ts +62 -0
- package/src/media/props/wikiAnchor.ts +84 -0
- package/src/media/props/wikiAria.ts +102 -0
- package/src/media/props/wikiArrow.ts +24 -0
- package/src/media/props/wikiArrowInclude.ts +45 -0
- package/src/media/props/wikiBarsInclude.ts +80 -0
- package/src/media/props/wikiChipGroup.ts +39 -0
- package/src/media/props/wikiDialog.ts +34 -0
- package/src/media/props/wikiField.ts +0 -21
- package/src/media/props/wikiFieldCounterInclude.ts +78 -0
- package/src/media/props/wikiForm.ts +248 -0
- package/src/media/props/wikiHook.ts +20 -0
- package/src/media/props/wikiIcon.ts +3 -3
- package/src/media/props/wikiIconInclude.ts +319 -0
- package/src/media/props/wikiImage.ts +71 -19
- package/src/media/props/wikiInformation.ts +160 -0
- package/src/media/props/wikiInput.ts +34 -0
- package/src/media/props/wikiListItem.ts +20 -0
- package/src/media/props/wikiMask.ts +0 -10
- package/src/media/props/wikiMaskInclude.ts +54 -0
- package/src/media/props/wikiMenu.ts +0 -10
- package/src/media/props/wikiMotionTransform.ts +0 -10
- package/src/media/props/wikiOption.ts +113 -0
- package/src/media/props/wikiSelect.ts +68 -0
- package/src/media/props/wikiSelectValue.ts +30 -0
- package/src/media/props/wikiStatus.ts +29 -41
- package/src/media/props/wikiStyle.ts +154 -243
- package/src/media/props/wikiTechnical.ts +65 -0
- package/src/media/props/wikiText.ts +57 -0
- package/src/media/props/wikiTooltip.ts +53 -0
- package/src/media/props/wikiValue.ts +14 -203
- package/src/media/props/wikiWindow.ts +0 -31
- package/src/media/styles/color.md +1 -0
- package/src/media/styles/en/about.mdx +79 -0
- package/src/media/styles/en/color.mdx +711 -0
- package/src/media/styles/en/content.mdx +29 -0
- package/src/media/styles/en/dimension.mdx +233 -0
- package/src/media/styles/en/dir.mdx +193 -0
- package/src/media/styles/en/flex.mdx +249 -0
- package/src/media/styles/en/font.mdx +171 -0
- package/src/media/styles/en/margin.mdx +115 -0
- package/src/media/styles/en/media.mdx +133 -0
- package/src/media/styles/en/padding.mdx +115 -0
- package/src/media/styles/en/position.mdx +183 -0
- package/src/media/styles/en/rules.mdx +117 -0
- package/src/media/styles/en/scrollbar.mdx +27 -0
- package/src/media/styles/en/selector.mdx +153 -0
- package/src/media/styles/en/transform.mdx +114 -0
- package/src/media/styles/ru/about.mdx +78 -0
- package/src/media/styles/ru/color.mdx +711 -0
- package/src/media/styles/ru/content.mdx +30 -0
- package/src/media/styles/ru/dimension.mdx +233 -0
- package/src/media/styles/ru/dir.mdx +193 -0
- package/src/media/styles/ru/flex.mdx +249 -0
- package/src/media/styles/ru/font.mdx +171 -0
- package/src/media/styles/ru/margin.mdx +115 -0
- package/src/media/styles/ru/media.mdx +133 -0
- package/src/media/styles/ru/padding.mdx +115 -0
- package/src/media/styles/ru/position.mdx +183 -0
- package/src/media/styles/ru/rules.mdx +117 -0
- package/src/media/styles/ru/scrollbar.mdx +27 -0
- package/src/media/styles/ru/selector.mdx +153 -0
- package/src/media/styles/ru/transform.mdx +114 -0
- package/src/styles/storybookStyle.scss +4 -1
- package/src/types/storybookTypes.ts +26 -4
- package/src/media/mdx/Bars/slot.actionBars.en.mdx +0 -12
- package/src/media/mdx/Bars/slot.actionBars.ru.mdx +0 -11
- package/src/media/mdx/Bars/slot.bars.en.mdx +0 -12
- package/src/media/mdx/Bars/slot.bars.ru.mdx +0 -11
- package/src/media/mdx/Cell/slot.body.en.mdx +0 -7
- package/src/media/mdx/Cell/slot.body.ru.mdx +0 -7
- package/src/media/mdx/Cell/slot.trailing.en.mdx +0 -7
- package/src/media/mdx/Cell/slot.trailing.ru.mdx +0 -7
- package/src/media/mdx/Field/slot.default.en.mdx +0 -9
- package/src/media/mdx/Field/slot.default.ru.mdx +0 -9
- package/src/media/mdx/Field/slot.leading.en.mdx +0 -10
- package/src/media/mdx/Field/slot.leading.ru.mdx +0 -10
- package/src/media/mdx/Field/slot.trailing.en.mdx +0 -10
- package/src/media/mdx/Field/slot.trailing.ru.mdx +0 -10
- package/src/media/mdx/FieldMessage/slot.helper.en.mdx +0 -12
- package/src/media/mdx/FieldMessage/slot.helper.ru.mdx +0 -12
- package/src/media/mdx/FieldMessage/slot.validation.en.mdx +0 -12
- package/src/media/mdx/FieldMessage/slot.validation.ru.mdx +0 -12
- package/src/media/mdx/Image/expose.data.en.mdx +0 -13
- package/src/media/mdx/Image/expose.data.ru.mdx +0 -13
- package/src/media/mdx/Image/expose.type.en.mdx +0 -21
- package/src/media/mdx/ListGroup/slot.head.en.mdx +0 -8
- package/src/media/mdx/ListGroup/slot.head.ru.mdx +0 -8
- package/src/media/mdx/ListGroup/slot.list.en.mdx +0 -8
- package/src/media/mdx/ListGroup/slot.list.ru.mdx +0 -8
- package/src/media/mdx/ListItem/slot.body.en.mdx +0 -7
- package/src/media/mdx/ListItem/slot.body.ru.mdx +0 -7
- package/src/media/mdx/ListItem/slot.trailing.en.mdx +0 -7
- package/src/media/mdx/ListItem/slot.trailing.ru.mdx +0 -7
- package/src/media/mdx/Menu/slot.contextBottom.en.mdx +0 -9
- package/src/media/mdx/Menu/slot.contextBottom.ru.mdx +0 -9
- package/src/media/mdx/Menu/slot.contextTop.en.mdx +0 -9
- package/src/media/mdx/Menu/slot.contextTop.ru.mdx +0 -9
- package/src/media/mdx/Menu/slot.control.en.mdx +0 -9
- package/src/media/mdx/Menu/slot.control.ru.mdx +0 -9
- package/src/media/mdx/Menu/slot.footer.en.mdx +0 -9
- package/src/media/mdx/Menu/slot.footer.ru.mdx +0 -9
- package/src/media/mdx/Menu/slot.title.en.mdx +0 -9
- package/src/media/mdx/Menu/slot.title.ru.mdx +0 -9
- package/src/media/mdx/MotionTransform/slot.body.en.mdx +0 -11
- package/src/media/mdx/MotionTransform/slot.body.ru.mdx +0 -11
- package/src/media/mdx/MotionTransform/slot.head.en.mdx +0 -11
- package/src/media/mdx/MotionTransform/slot.head.ru.mdx +0 -11
- package/src/media/mdx/MotionTransform/slot.params.en.mdx +0 -61
- package/src/media/mdx/MotionTransform/slot.params.ru.mdx +0 -61
- package/src/media/mdx/Scrollbar/event.bottom.en.mdx +0 -12
- package/src/media/mdx/Scrollbar/event.bottom.ru.mdx +0 -12
- package/src/media/mdx/Scrollbar/event.edge.en.mdx +0 -14
- package/src/media/mdx/Scrollbar/event.edge.ru.mdx +0 -14
- package/src/media/mdx/Scrollbar/event.leaveBottom.en.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.leaveBottom.ru.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.leaveTop.en.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.leaveTop.ru.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.reachBottom.en.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.reachBottom.ru.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.reachTop.en.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.reachTop.ru.mdx +0 -11
- package/src/media/mdx/Scrollbar/event.top.en.mdx +0 -12
- package/src/media/mdx/Scrollbar/event.top.ru.mdx +0 -12
- package/src/media/mdx/Window/expose.control.en.mdx +0 -15
- package/src/media/mdx/Window/expose.control.ru.mdx +0 -15
- package/src/media/mdx/Window/expose.id.en.mdx +0 -7
- package/src/media/mdx/Window/expose.id.ru.mdx +0 -7
- package/src/media/mdx/Window/expose.open.en.mdx +0 -7
- package/src/media/mdx/Window/expose.open.ru.mdx +0 -7
- package/src/media/mdx/Window/expose.setOpen.en.mdx +0 -7
- package/src/media/mdx/Window/expose.setOpen.ru.mdx +0 -7
- package/src/media/mdx/Window/expose.toClose.en.mdx +0 -7
- package/src/media/mdx/Window/expose.toClose.ru.mdx +0 -7
- package/src/media/mdx/Window/expose.toOpen.en.mdx +0 -7
- package/src/media/mdx/Window/expose.toOpen.ru.mdx +0 -7
- package/src/media/mdx/Window/expose.toggle.en.mdx +0 -7
- package/src/media/mdx/Window/expose.toggle.ru.mdx +0 -7
- package/src/media/mdx/event/bars.en.mdx +0 -17
- package/src/media/mdx/event/bars.ru.mdx +0 -14
- package/src/media/mdx/event/barsBack.en.mdx +0 -14
- package/src/media/mdx/event/barsBack.ru.mdx +0 -16
- package/src/media/mdx/event/barsLite.en.mdx +0 -14
- package/src/media/mdx/event/barsLite.ru.mdx +0 -14
- package/src/media/mdx/event/click.en.mdx +0 -18
- package/src/media/mdx/event/click.ru.mdx +0 -18
- package/src/media/mdx/event/clickLite.en.mdx +0 -18
- package/src/media/mdx/event/clickLite.ru.mdx +0 -18
- package/src/media/mdx/event/scrollbarBottom.en.mdx +0 -13
- package/src/media/mdx/event/scrollbarBottom.ru.mdx +0 -13
- package/src/media/mdx/event/scrollbarEdge.en.mdx +0 -15
- package/src/media/mdx/event/scrollbarEdge.ru.mdx +0 -15
- package/src/media/mdx/event/scrollbarLeaveBottom.en.mdx +0 -12
- package/src/media/mdx/event/scrollbarLeaveBottom.ru.mdx +0 -12
- package/src/media/mdx/event/scrollbarLeaveTop.en.mdx +0 -12
- package/src/media/mdx/event/scrollbarLeaveTop.ru.mdx +0 -12
- package/src/media/mdx/event/scrollbarReachBottom.en.mdx +0 -12
- package/src/media/mdx/event/scrollbarReachBottom.ru.mdx +0 -12
- package/src/media/mdx/event/scrollbarReachTop.en.mdx +0 -12
- package/src/media/mdx/event/scrollbarReachTop.ru.mdx +0 -12
- package/src/media/mdx/event/scrollbarTop.en.mdx +0 -13
- package/src/media/mdx/event/scrollbarTop.ru.mdx +0 -13
- package/src/media/mdx/event/window.en.mdx +0 -20
- package/src/media/mdx/event/window.ru.mdx +0 -20
- package/src/media/mdx/expose/detail.en.mdx +0 -7
- package/src/media/mdx/expose/isSelected.en.mdx +0 -8
- package/src/media/mdx/expose/isSelected.ru.mdx +0 -8
- package/src/media/mdx/expose/selectedList.en.mdx +0 -7
- package/src/media/mdx/expose/selectedList.ru.mdx +0 -7
- package/src/media/mdx/expose/selectedNames.en.mdx +0 -7
- package/src/media/mdx/expose/selectedNames.ru.mdx +0 -7
- package/src/media/mdx/expose/selectedValues.en.mdx +0 -8
- package/src/media/mdx/expose/selectedValues.ru.mdx +0 -8
- package/src/media/mdx/slot/title.en.mdx +0 -9
- package/src/media/mdx/slot/title.ru.mdx +0 -9
|
@@ -2,55 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
The `ajax`, `request`, and `cache` properties are designed for managing asynchronous loading and caching of menu data.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
5
|
+
**Properties:**
|
|
6
|
+
|
|
7
|
+
- `ajax` — enables remote data loading mode (URL string or function)
|
|
8
|
+
- `request` — object of type `ApiFetch` with HTTP request settings
|
|
9
|
+
- `cache` — enables caching of loaded menu items
|
|
10
|
+
|
|
11
|
+
Properties work together: if `ajax` is not specified or equals `false`, the menu uses local data. When `ajax` is activated (URL string or `true`), `request` defines HTTP request parameters (method, headers, body), and `cache` manages data persistence. When `cache` is enabled, repeated menu openings use saved data instead of new requests, reducing server load.
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script setup>
|
|
15
|
+
import { ref } from 'vue'
|
|
16
|
+
|
|
17
|
+
const isOpen = ref(false)
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<!-- Loading with URL -->
|
|
22
|
+
<Menu
|
|
23
|
+
v-model:open="isOpen"
|
|
24
|
+
ajax="/api/menu-items"
|
|
25
|
+
:cache="true"
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
<!-- With request settings -->
|
|
29
|
+
<Menu
|
|
30
|
+
v-model:open="isOpen"
|
|
31
|
+
ajax="/api/menu"
|
|
32
|
+
:request="{
|
|
33
|
+
method: 'POST',
|
|
34
|
+
headers: { 'X-Custom': 'value' },
|
|
35
|
+
auth: true
|
|
36
|
+
}"
|
|
37
|
+
:cache="true"
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
<!-- Loading function -->
|
|
41
|
+
<Menu
|
|
42
|
+
v-model:open="isOpen"
|
|
43
|
+
:ajax="async () => {
|
|
44
|
+
const response = await fetch('/api/menu')
|
|
45
|
+
return response.json()
|
|
46
|
+
}"
|
|
47
|
+
/>
|
|
48
|
+
</template>
|
|
44
49
|
```
|
|
45
|
-
|
|
46
|
-
### Property Relationships
|
|
47
|
-
|
|
48
|
-
The properties work together to provide efficient data loading:
|
|
49
|
-
|
|
50
|
-
- If `ajax = false` (or not specified), the menu uses local data, and `request` and `cache` are ignored
|
|
51
|
-
- If `ajax = true` or specified as a URL string, network loading is activated:
|
|
52
|
-
- `request` defines HTTP request parameters (method, headers, request body)
|
|
53
|
-
- `cache` manages saving and reusing received data
|
|
54
|
-
- When `cache` is enabled, subsequent menu openings use saved data instead of new requests
|
|
55
|
-
|
|
56
|
-
This approach reduces server load, speeds up interface response, and allows flexible configuration of data loading strategies for different usage scenarios.
|
|
@@ -2,56 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
Свойства `ajax`, `request` и `cache` предназначены для управления асинхронной загрузкой и кэшированием данных меню.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
5
|
+
**Свойства:**
|
|
6
|
+
|
|
7
|
+
- `ajax` — включает режим удалённой загрузки данных (строка URL или функция)
|
|
8
|
+
- `request` — объект типа `ApiFetch` с настройками HTTP-запроса
|
|
9
|
+
- `cache` — включает кэширование загруженных элементов меню
|
|
10
|
+
|
|
11
|
+
Свойства работают совместно: если `ajax` не задан или равен `false`, меню использует локальные данные. При активации `ajax` (строка URL или `true`), `request` определяет параметры HTTP-запроса (метод, заголовки, тело), а `cache` управляет сохранением данных. При включённом `cache` повторные открытия меню используют сохранённые данные вместо новых запросов, снижая нагрузку на сервер.
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script setup>
|
|
15
|
+
import { ref } from 'vue'
|
|
16
|
+
|
|
17
|
+
const isOpen = ref(false)
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<!-- Загрузка с URL -->
|
|
22
|
+
<Menu
|
|
23
|
+
v-model:open="isOpen"
|
|
24
|
+
ajax="/api/menu-items"
|
|
25
|
+
:cache="true"
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
<!-- С настройками запроса -->
|
|
29
|
+
<Menu
|
|
30
|
+
v-model:open="isOpen"
|
|
31
|
+
ajax="/api/menu"
|
|
32
|
+
:request="{
|
|
33
|
+
method: 'POST',
|
|
34
|
+
headers: { 'X-Custom': 'value' },
|
|
35
|
+
auth: true
|
|
36
|
+
}"
|
|
37
|
+
:cache="true"
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
<!-- Функция загрузки -->
|
|
41
|
+
<Menu
|
|
42
|
+
v-model:open="isOpen"
|
|
43
|
+
:ajax="async () => {
|
|
44
|
+
const response = await fetch('/api/menu')
|
|
45
|
+
return response.json()
|
|
46
|
+
}"
|
|
47
|
+
/>
|
|
48
|
+
</template>
|
|
45
49
|
```
|
|
46
|
-
|
|
47
|
-
### Взаимосвязь свойств
|
|
48
|
-
|
|
49
|
-
Свойства работают совместно для обеспечения эффективной загрузки данных:
|
|
50
|
-
|
|
51
|
-
- Если `ajax = false` (или не задан), меню использует локальные данные, а `request` и `cache` игнорируются
|
|
52
|
-
- Если `ajax = true` или задан как строка URL, активируется сетевая загрузка:
|
|
53
|
-
- `request` определяет параметры HTTP-запроса (метод, заголовки, тело запроса)
|
|
54
|
-
- `cache` управляет сохранением и повторным использованием полученных данных
|
|
55
|
-
- При включённом `cache` повторные открытия меню используют сохранённые данные вместо новых запросов
|
|
56
|
-
|
|
57
|
-
Такой подход снижает нагрузку на сервер, ускоряет отклик интерфейса и позволяет гибко настраивать стратегию загрузки данных для разных сценариев использования.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
### `updateValue`
|
|
2
|
+
|
|
3
|
+
Event fires when the selected value in the menu changes.
|
|
4
|
+
|
|
5
|
+
**Parameters:**
|
|
6
|
+
- `value?: NumberOrStringOrBoolean` — new selected value
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<script setup>
|
|
10
|
+
const handleUpdateValue = (value) => {
|
|
11
|
+
console.log('New value:', value)
|
|
12
|
+
console.log('Value type:', typeof value)
|
|
13
|
+
}
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<Menu
|
|
18
|
+
:isSelectedByValue="true"
|
|
19
|
+
@updateValue="handleUpdateValue"
|
|
20
|
+
>
|
|
21
|
+
<template #default>
|
|
22
|
+
<MenuItem value="item1">Menu Item 1</MenuItem>
|
|
23
|
+
<MenuItem value="item2">Menu Item 2</MenuItem>
|
|
24
|
+
<MenuItem value="item3">Menu Item 3</MenuItem>
|
|
25
|
+
</template>
|
|
26
|
+
</Menu>
|
|
27
|
+
</template>
|
|
28
|
+
```
|
|
29
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
### `updateValue`
|
|
2
|
+
|
|
3
|
+
Событие срабатывает при изменении выбранного значения в меню.
|
|
4
|
+
|
|
5
|
+
**Параметры:**
|
|
6
|
+
- `value?: NumberOrStringOrBoolean` — новое выбранное значение
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<script setup>
|
|
10
|
+
const handleUpdateValue = (value) => {
|
|
11
|
+
console.log('Новое значение:', value)
|
|
12
|
+
console.log('Тип значения:', typeof value)
|
|
13
|
+
}
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<Menu
|
|
18
|
+
:isSelectedByValue="true"
|
|
19
|
+
@updateValue="handleUpdateValue"
|
|
20
|
+
>
|
|
21
|
+
<template #default>
|
|
22
|
+
<MenuItem value="item1">Пункт меню 1</MenuItem>
|
|
23
|
+
<MenuItem value="item2">Пункт меню 2</MenuItem>
|
|
24
|
+
<MenuItem value="item3">Пункт меню 3</MenuItem>
|
|
25
|
+
</template>
|
|
26
|
+
</Menu>
|
|
27
|
+
</template>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
### `previous()`
|
|
2
|
+
|
|
3
|
+
Перемещает выбор на предыдущий элемент меню на основе значения свойства `step`.
|
|
4
|
+
|
|
5
|
+
**Возвращает:** `void`
|
|
6
|
+
|
|
7
|
+
### `next()`
|
|
8
|
+
|
|
9
|
+
Перемещает выбор на следующий элемент меню на основе значения свойства `step`.
|
|
10
|
+
|
|
11
|
+
**Возвращает:** `void`
|
|
12
|
+
|
|
@@ -1,2 +1,64 @@
|
|
|
1
|
-
|
|
1
|
+
Component for creating popup menus, dropdown lists, and context menus with navigation and action support.
|
|
2
2
|
|
|
3
|
+
Menu combines the functionality of Window (positioning and visibility management), Bars (action and tool panel), and List (displaying items, groups, and nested submenus). The component provides keyboard navigation, nested structure support, asynchronous data loading, optimized rendering mode for large lists, and full control over open/close state.
|
|
4
|
+
|
|
5
|
+
**Key Features:**
|
|
6
|
+
|
|
7
|
+
- Integration of Window, Bars, and List components
|
|
8
|
+
- Keyboard navigation through menu items
|
|
9
|
+
- Nested submenus with unlimited depth
|
|
10
|
+
- Asynchronous data loading via AJAX
|
|
11
|
+
- Lite mode for optimizing large lists (liteThreshold)
|
|
12
|
+
- Search and filtering of menu items
|
|
13
|
+
- Management of selected items (selected)
|
|
14
|
+
- Flexible positioning relative to anchor
|
|
15
|
+
|
|
16
|
+
**Typical Use Cases:**
|
|
17
|
+
|
|
18
|
+
- Navigation dropdown menus
|
|
19
|
+
- Right-click context menus
|
|
20
|
+
- Action and operation menus
|
|
21
|
+
- Selectors with search and filtering
|
|
22
|
+
- Multi-level navigation menus
|
|
23
|
+
- Menus with dynamic data loading
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<script setup>
|
|
27
|
+
import { ref } from 'vue'
|
|
28
|
+
|
|
29
|
+
const isOpen = ref(false)
|
|
30
|
+
const menuItems = ref([
|
|
31
|
+
{ label: 'Create', value: 'create', icon: 'add' },
|
|
32
|
+
{ label: 'Edit', value: 'edit', icon: 'edit' },
|
|
33
|
+
{ label: 'Delete', value: 'delete', icon: 'delete' },
|
|
34
|
+
{
|
|
35
|
+
label: 'Export',
|
|
36
|
+
value: 'export',
|
|
37
|
+
children: [
|
|
38
|
+
{ label: 'PDF', value: 'pdf' },
|
|
39
|
+
{ label: 'Excel', value: 'excel' },
|
|
40
|
+
{ label: 'CSV', value: 'csv' }
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
])
|
|
44
|
+
|
|
45
|
+
const handleClick = (value) => {
|
|
46
|
+
console.log('Selected item:', value)
|
|
47
|
+
isOpen.value = false
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<button @click="isOpen = true">Open menu</button>
|
|
53
|
+
|
|
54
|
+
<Menu
|
|
55
|
+
v-model:open="isOpen"
|
|
56
|
+
:list="menuItems"
|
|
57
|
+
@click="handleClick"
|
|
58
|
+
>
|
|
59
|
+
<template #control="{ onclick }">
|
|
60
|
+
<button @click="onclick">Actions</button>
|
|
61
|
+
</template>
|
|
62
|
+
</Menu>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
@@ -1 +1,64 @@
|
|
|
1
|
-
Компонент
|
|
1
|
+
Компонент для создания всплывающих меню, выпадающих списков и контекстных меню с поддержкой навигации и действий.
|
|
2
|
+
|
|
3
|
+
Menu объединяет функциональность Window (позиционирование и управление видимостью), Bars (панель действий и инструментов) и List (отображение пунктов, групп и вложенных подменю). Компонент обеспечивает клавиатурную навигацию, поддержку вложенной структуры, асинхронную загрузку данных, режим оптимизированного рендеринга для больших списков и полный контроль над состоянием открытия/закрытия.
|
|
4
|
+
|
|
5
|
+
**Основные возможности:**
|
|
6
|
+
|
|
7
|
+
- Интеграция Window, Bars и List компонентов
|
|
8
|
+
- Клавиатурная навигация по пунктам меню
|
|
9
|
+
- Вложенные подменю с неограниченной глубиной
|
|
10
|
+
- Асинхронная загрузка данных через AJAX
|
|
11
|
+
- Режим lite для оптимизации больших списков (liteThreshold)
|
|
12
|
+
- Поиск и фильтрация пунктов меню
|
|
13
|
+
- Управление выбранными элементами (selected)
|
|
14
|
+
- Гибкое позиционирование относительно якоря
|
|
15
|
+
|
|
16
|
+
**Типичные сценарии использования:**
|
|
17
|
+
|
|
18
|
+
- Выпадающие меню навигации
|
|
19
|
+
- Контекстные меню по правому клику
|
|
20
|
+
- Меню действий и операций
|
|
21
|
+
- Селекторы с поиском и фильтрацией
|
|
22
|
+
- Многоуровневые навигационные меню
|
|
23
|
+
- Меню с динамической загрузкой данных
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<script setup>
|
|
27
|
+
import { ref } from 'vue'
|
|
28
|
+
|
|
29
|
+
const isOpen = ref(false)
|
|
30
|
+
const menuItems = ref([
|
|
31
|
+
{ label: 'Создать', value: 'create', icon: 'add' },
|
|
32
|
+
{ label: 'Редактировать', value: 'edit', icon: 'edit' },
|
|
33
|
+
{ label: 'Удалить', value: 'delete', icon: 'delete' },
|
|
34
|
+
{
|
|
35
|
+
label: 'Экспорт',
|
|
36
|
+
value: 'export',
|
|
37
|
+
children: [
|
|
38
|
+
{ label: 'PDF', value: 'pdf' },
|
|
39
|
+
{ label: 'Excel', value: 'excel' },
|
|
40
|
+
{ label: 'CSV', value: 'csv' }
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
])
|
|
44
|
+
|
|
45
|
+
const handleClick = (value) => {
|
|
46
|
+
console.log('Выбран пункт:', value)
|
|
47
|
+
isOpen.value = false
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<button @click="isOpen = true">Открыть меню</button>
|
|
53
|
+
|
|
54
|
+
<Menu
|
|
55
|
+
v-model:open="isOpen"
|
|
56
|
+
:list="menuItems"
|
|
57
|
+
@click="handleClick"
|
|
58
|
+
>
|
|
59
|
+
<template #control="{ onclick }">
|
|
60
|
+
<button @click="onclick">Действия</button>
|
|
61
|
+
</template>
|
|
62
|
+
</Menu>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
## Menu item navigation
|
|
2
|
+
|
|
3
|
+
Methods `previous()` and `next()` are designed for programmatic movement through menu items based on current selection and the `step` property.
|
|
4
|
+
|
|
5
|
+
**Methods:**
|
|
6
|
+
|
|
7
|
+
- `previous()` — moves selection to the previous item (backwards by `step` positions)
|
|
8
|
+
- `next()` — moves selection to the next item (forwards by `step` positions)
|
|
9
|
+
- `step` — number of items to skip during navigation (default: 1)
|
|
10
|
+
|
|
11
|
+
The methods work together with reactive `selected` state: calling `previous()` or `next()` automatically calculates the new position relative to the currently selected item. If no item is selected, the methods select the first available item. When reaching list boundaries (first or last item), navigation stops at the boundary item, preventing overflow beyond the list.
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script setup>
|
|
15
|
+
import { ref } from 'vue'
|
|
16
|
+
|
|
17
|
+
const menuRef = ref()
|
|
18
|
+
const selected = ref('item2')
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<template>
|
|
22
|
+
<!-- Call via ref -->
|
|
23
|
+
<button @click="menuRef?.previous()">Previous</button>
|
|
24
|
+
<button @click="menuRef?.next()">Next</button>
|
|
25
|
+
|
|
26
|
+
<Menu
|
|
27
|
+
ref="menuRef"
|
|
28
|
+
v-model:selected="selected"
|
|
29
|
+
:list="[
|
|
30
|
+
{ label: 'Item 1', value: 'item1' },
|
|
31
|
+
{ label: 'Item 2', value: 'item2' },
|
|
32
|
+
{ label: 'Item 3', value: 'item3' }
|
|
33
|
+
]"
|
|
34
|
+
:step="1"
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
<!-- Navigation in control slot -->
|
|
38
|
+
<Menu v-model:selected="selected" :list="items">
|
|
39
|
+
<template #control="{ previous, next, selectedNames }">
|
|
40
|
+
<button @click="previous">◀</button>
|
|
41
|
+
<span>{{ selectedNames[0] }}</span>
|
|
42
|
+
<button @click="next">▶</button>
|
|
43
|
+
</template>
|
|
44
|
+
</Menu>
|
|
45
|
+
|
|
46
|
+
<!-- With custom step -->
|
|
47
|
+
<Menu
|
|
48
|
+
ref="menuRef"
|
|
49
|
+
v-model:selected="selected"
|
|
50
|
+
:list="items"
|
|
51
|
+
:step="2"
|
|
52
|
+
/>
|
|
53
|
+
</template>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
## Навигация по элементам меню
|
|
2
|
+
|
|
3
|
+
Методы `previous()` и `next()` предназначены для программного перемещения по элементам меню на основе текущего выбора и свойства `step`.
|
|
4
|
+
|
|
5
|
+
**Методы:**
|
|
6
|
+
|
|
7
|
+
- `previous()` — перемещает выбор на предыдущий элемент (назад на `step` позиций)
|
|
8
|
+
- `next()` — перемещает выбор на следующий элемент (вперед на `step` позиций)
|
|
9
|
+
- `step` — количество элементов для пропуска при навигации (по умолчанию: 1)
|
|
10
|
+
|
|
11
|
+
Методы работают совместно с реактивным состоянием `selected`: при вызове `previous()` или `next()` происходит автоматический расчёт новой позиции относительно текущего выделенного элемента. Если элемент не выбран, методы выбирают первый доступный элемент. При достижении границ списка (первый или последний элемент) навигация останавливается на граничном элементе, предотвращая выход за пределы списка.
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script setup>
|
|
15
|
+
import { ref } from 'vue'
|
|
16
|
+
|
|
17
|
+
const menuRef = ref()
|
|
18
|
+
const selected = ref('item2')
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<template>
|
|
22
|
+
<!-- Вызов через ref -->
|
|
23
|
+
<button @click="menuRef?.previous()">Назад</button>
|
|
24
|
+
<button @click="menuRef?.next()">Вперед</button>
|
|
25
|
+
|
|
26
|
+
<Menu
|
|
27
|
+
ref="menuRef"
|
|
28
|
+
v-model:selected="selected"
|
|
29
|
+
:list="[
|
|
30
|
+
{ label: 'Элемент 1', value: 'item1' },
|
|
31
|
+
{ label: 'Элемент 2', value: 'item2' },
|
|
32
|
+
{ label: 'Элемент 3', value: 'item3' }
|
|
33
|
+
]"
|
|
34
|
+
:step="1"
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
<!-- Навигация в слоте control -->
|
|
38
|
+
<Menu v-model:selected="selected" :list="items">
|
|
39
|
+
<template #control="{ previous, next, selectedNames }">
|
|
40
|
+
<button @click="previous">◀</button>
|
|
41
|
+
<span>{{ selectedNames[0] }}</span>
|
|
42
|
+
<button @click="next">▶</button>
|
|
43
|
+
</template>
|
|
44
|
+
</Menu>
|
|
45
|
+
|
|
46
|
+
<!-- С пользовательским шагом -->
|
|
47
|
+
<Menu
|
|
48
|
+
ref="menuRef"
|
|
49
|
+
v-model:selected="selected"
|
|
50
|
+
:list="items"
|
|
51
|
+
:step="2"
|
|
52
|
+
/>
|
|
53
|
+
</template>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
### `control`
|
|
2
|
+
|
|
3
|
+
Slot for placing the menu control element (trigger).
|
|
4
|
+
|
|
5
|
+
**Parameters:**
|
|
6
|
+
- `props: MenuControlItem` — object with menu control data
|
|
7
|
+
- `onclick` — function to toggle menu open/close
|
|
8
|
+
- `isSelected` — computed boolean indicating if any item is selected
|
|
9
|
+
- `selectedNames` — computed array of selected item labels
|
|
10
|
+
- `selectedValues` — computed array of selected item values
|
|
11
|
+
- `selectedList` — computed array of selected list items
|
|
12
|
+
- `loading` — ref indicating AJAX loading state
|
|
13
|
+
- `previous()` — method to navigate to previous item(s)
|
|
14
|
+
- `next()` — method to navigate to next item(s)
|
|
15
|
+
|
|
16
|
+
```html
|
|
17
|
+
<script setup>
|
|
18
|
+
import { ref } from 'vue'
|
|
19
|
+
|
|
20
|
+
const isOpen = ref(false)
|
|
21
|
+
const menuItems = ref([
|
|
22
|
+
{ label: 'Item 1', value: '1' },
|
|
23
|
+
{ label: 'Item 2', value: '2' },
|
|
24
|
+
{ label: 'Item 3', value: '3' }
|
|
25
|
+
])
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<template>
|
|
29
|
+
<Menu v-model:open="isOpen" :list="menuItems">
|
|
30
|
+
<template #control="{ onclick, isSelected, selectedNames }">
|
|
31
|
+
<button @click="onclick">
|
|
32
|
+
{{ isSelected ? selectedNames.join(', ') : 'Select items' }}
|
|
33
|
+
</button>
|
|
34
|
+
</template>
|
|
35
|
+
</Menu>
|
|
36
|
+
</template>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Navigation Example:**
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<script setup>
|
|
43
|
+
import { ref } from 'vue'
|
|
44
|
+
|
|
45
|
+
const selected = ref('item1')
|
|
46
|
+
const menuItems = ref([
|
|
47
|
+
{ label: 'Item 1', value: 'item1' },
|
|
48
|
+
{ label: 'Item 2', value: 'item2' },
|
|
49
|
+
{ label: 'Item 3', value: 'item3' }
|
|
50
|
+
])
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
<Menu v-model:selected="selected" :list="menuItems">
|
|
55
|
+
<template #control="{ previous, next, selectedNames }">
|
|
56
|
+
<div class="navigation-control">
|
|
57
|
+
<button @click="previous">◀</button>
|
|
58
|
+
<span>{{ selectedNames[0] }}</span>
|
|
59
|
+
<button @click="next">▶</button>
|
|
60
|
+
</div>
|
|
61
|
+
</template>
|
|
62
|
+
</Menu>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
65
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
### `control`
|
|
2
|
+
|
|
3
|
+
Слот для размещения элемента управления (триггера) меню.
|
|
4
|
+
|
|
5
|
+
**Параметры:**
|
|
6
|
+
- `props: MenuControlItem` — объект с данными управления меню
|
|
7
|
+
- `onclick` — функция для переключения открытия/закрытия меню
|
|
8
|
+
- `isSelected` — computed boolean, указывающий, выбран ли какой-либо элемент
|
|
9
|
+
- `selectedNames` — computed массив меток выбранных элементов
|
|
10
|
+
- `selectedValues` — computed массив значений выбранных элементов
|
|
11
|
+
- `selectedList` — computed массив выбранных элементов списка
|
|
12
|
+
- `loading` — ref, указывающий на состояние загрузки AJAX
|
|
13
|
+
- `previous()` — метод для перехода к предыдущему элементу(ам)
|
|
14
|
+
- `next()` — метод для перехода к следующему элементу(ам)
|
|
15
|
+
|
|
16
|
+
```html
|
|
17
|
+
<script setup>
|
|
18
|
+
import { ref } from 'vue'
|
|
19
|
+
|
|
20
|
+
const isOpen = ref(false)
|
|
21
|
+
const menuItems = ref([
|
|
22
|
+
{ label: 'Элемент 1', value: '1' },
|
|
23
|
+
{ label: 'Элемент 2', value: '2' },
|
|
24
|
+
{ label: 'Элемент 3', value: '3' }
|
|
25
|
+
])
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<template>
|
|
29
|
+
<Menu v-model:open="isOpen" :list="menuItems">
|
|
30
|
+
<template #control="{ onclick, isSelected, selectedNames }">
|
|
31
|
+
<button @click="onclick">
|
|
32
|
+
{{ isSelected ? selectedNames.join(', ') : 'Выбрать элементы' }}
|
|
33
|
+
</button>
|
|
34
|
+
</template>
|
|
35
|
+
</Menu>
|
|
36
|
+
</template>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Пример навигации:**
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<script setup>
|
|
43
|
+
import { ref } from 'vue'
|
|
44
|
+
|
|
45
|
+
const selected = ref('item1')
|
|
46
|
+
const menuItems = ref([
|
|
47
|
+
{ label: 'Элемент 1', value: 'item1' },
|
|
48
|
+
{ label: 'Элемент 2', value: 'item2' },
|
|
49
|
+
{ label: 'Элемент 3', value: 'item3' }
|
|
50
|
+
])
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
<Menu v-model:selected="selected" :list="menuItems">
|
|
55
|
+
<template #control="{ previous, next, selectedNames }">
|
|
56
|
+
<div class="navigation-control">
|
|
57
|
+
<button @click="previous">◀</button>
|
|
58
|
+
<span>{{ selectedNames[0] }}</span>
|
|
59
|
+
<button @click="next">▶</button>
|
|
60
|
+
</div>
|
|
61
|
+
</template>
|
|
62
|
+
</Menu>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
65
|
+
|