@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
|
@@ -1,75 +1,21 @@
|
|
|
1
1
|
## Шаблон маски
|
|
2
2
|
|
|
3
|
-
Свойство `mask` определяет шаблон для структурированного ввода данных с автоматическим форматированием в реальном времени.
|
|
3
|
+
Свойство `mask` определяет шаблон для структурированного ввода данных с автоматическим форматированием в реальном времени.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Возможные значения:**
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- **Специальные символы**: Настраиваемые позиции для ввода через свойство `special`
|
|
10
|
-
- **Предотвращение ошибок**: Ограничивает ввод только допустимыми символами в соответствующих позициях
|
|
11
|
-
- **Интеграция валидации**: Совместная работа с системой проверки данных через `pattern` и `check`
|
|
7
|
+
- `string` — одиночная маска для фиксированного формата
|
|
8
|
+
- `string[]` — массив масок для поддержки множественных форматов с автоматическим выбором
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
В шаблоне используются два типа символов: специальные символы (по умолчанию `*`) обозначают позиции для пользовательского ввода, а литеральные символы вставляются автоматически и не могут быть изменены. Компонент автоматически добавляет разделители во время набора и ограничивает ввод только допустимыми символами в соответствующих позициях. При использовании массива масок система автоматически выбирает наиболее подходящий шаблон на основе введённых данных. Работает совместно с системой валидации через свойства `pattern` и `check`. Для встроенных типов (`currency`, `number`, `date`) маски генерируются автоматически на основе региональных настроек.
|
|
14
11
|
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- **string** — одиночная маска для фиксированного формата
|
|
20
|
-
- **string[]** — массив масок для поддержки множественных форматов
|
|
21
|
-
|
|
22
|
-
### Синтаксис маски
|
|
23
|
-
|
|
24
|
-
В шаблоне маски используются два типа символов:
|
|
25
|
-
|
|
26
|
-
- **Специальные символы** (по умолчанию `*`) — обозначают позиции для пользовательского ввода
|
|
27
|
-
- **Литеральные символы** — вставляются автоматически и не могут быть изменены пользователем
|
|
28
|
-
|
|
29
|
-
### Примеры использования
|
|
30
|
-
|
|
31
|
-
```javascript
|
|
32
|
-
// Российский телефон
|
|
33
|
-
mask: "+7 *** *** ** **"
|
|
34
|
-
|
|
35
|
-
// Банковская карта
|
|
36
|
-
mask: "**** **** **** ****"
|
|
37
|
-
|
|
38
|
-
// Дата в российском формате
|
|
39
|
-
mask: "**.**.****"
|
|
12
|
+
```html
|
|
13
|
+
<!-- Российский телефон -->
|
|
14
|
+
<Mask mask="+7 *** *** ** **" />
|
|
40
15
|
|
|
41
|
-
|
|
42
|
-
mask
|
|
43
|
-
"+7 *** *** ** **", // +7 999 123 45 67
|
|
44
|
-
"8 *** *** ** **" // 8 999 123 45 67
|
|
45
|
-
]
|
|
16
|
+
<!-- Банковская карта -->
|
|
17
|
+
<Mask mask="**** **** **** ****" />
|
|
46
18
|
|
|
47
|
-
|
|
48
|
-
mask
|
|
19
|
+
<!-- Множественные форматы -->
|
|
20
|
+
<Mask :mask="['+7 *** *** ** **', '8 *** *** ** **']" />
|
|
49
21
|
```
|
|
50
|
-
|
|
51
|
-
### Автоматический выбор маски
|
|
52
|
-
|
|
53
|
-
При использовании массива масок система автоматически выбирает наиболее подходящий шаблон на основе введённых данных:
|
|
54
|
-
|
|
55
|
-
```javascript
|
|
56
|
-
mask: [
|
|
57
|
-
"+7 *** *** ** **", // Выберется при вводе +7
|
|
58
|
-
"8 *** *** ** **", // Выберется при вводе 8
|
|
59
|
-
"*** *** ** **" // Резервный вариант
|
|
60
|
-
]
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Взаимодействие с другими свойствами
|
|
64
|
-
|
|
65
|
-
- **special** — определяет, какие символы считаются специальными и их поведение
|
|
66
|
-
- **pattern** — задаёт паттерны валидации для групп специальных символов
|
|
67
|
-
- **check** — применяет дополнительную валидацию к полному значению после заполнения маски
|
|
68
|
-
- **type** — для встроенных типов (`currency`, `number`, `date`) автоматически генерирует соответствующие маски
|
|
69
|
-
|
|
70
|
-
### Рекомендации
|
|
71
|
-
|
|
72
|
-
- Используйте понятные разделители для улучшения читаемости (пробелы, дефисы, скобки)
|
|
73
|
-
- При поддержке нескольких форматов располагайте более специфичные маски первыми в массиве
|
|
74
|
-
- Комбинируйте с валидацией через `pattern` и `check` для полного контроля ввода
|
|
75
|
-
- Для сложных случаев настраивайте специальные символы через свойство `special`
|
|
@@ -1,36 +1,28 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Input character validation
|
|
2
2
|
|
|
3
|
-
The `match` property defines a
|
|
3
|
+
The `match` property defines a regular expression for checking the validity of entered characters.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Possible values:**
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
3. **Default** (`/[0-9]/`)
|
|
7
|
+
- `RegExp` — regular expression (default `/[0-9]/`)
|
|
8
|
+
- `string` — string converted to regular expression
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
type MaskMatchItem = RegExp | string
|
|
15
|
-
|
|
16
|
-
match: /[A-F0-9]/ // RegExp object
|
|
17
|
-
match: "[A-F0-9]" // String (converted to RegExp)
|
|
18
|
-
match: "\\d" // With escaping
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### Examples
|
|
10
|
+
Checks each character during input. Characters that don't match the expression are ignored. Local `match` in group settings (`special[group].match`) takes priority over global. Differs from `pattern` in that `match` is a simple regular expression check, while `pattern` can be a function with access to mask state.
|
|
22
11
|
|
|
23
12
|
```html
|
|
24
|
-
<!--
|
|
25
|
-
<Mask
|
|
13
|
+
<!-- Digits only (default) -->
|
|
14
|
+
<Mask mask="***-***" />
|
|
26
15
|
|
|
27
|
-
<!--
|
|
28
|
-
<Mask
|
|
16
|
+
<!-- HEX characters -->
|
|
17
|
+
<Mask mask="***-***" :match="/[A-F0-9]/i" />
|
|
29
18
|
|
|
30
|
-
<!--
|
|
19
|
+
<!-- Different rules for groups -->
|
|
31
20
|
<Mask
|
|
32
|
-
|
|
33
|
-
:special="{ '*': {}, '#': { match: '[A-Za-z]' } }"
|
|
21
|
+
mask="***-###"
|
|
34
22
|
match="\\d"
|
|
23
|
+
:special="{
|
|
24
|
+
'*': {},
|
|
25
|
+
'#': { match: /[A-Z]/ }
|
|
26
|
+
}"
|
|
35
27
|
/>
|
|
36
28
|
```
|
|
@@ -1,36 +1,28 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Валидация вводимых символов
|
|
2
2
|
|
|
3
|
-
Свойство `match`
|
|
3
|
+
Свойство `match` определяет регулярное выражение для проверки допустимости вводимых символов.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Возможные значения:**
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
3. **По умолчанию** (`/[0-9]/`)
|
|
7
|
+
- `RegExp` — регулярное выражение (по умолчанию `/[0-9]/`)
|
|
8
|
+
- `string` — строка, преобразуется в регулярное выражение
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
type MaskMatchItem = RegExp | string
|
|
15
|
-
|
|
16
|
-
match: /[A-F0-9]/ // RegExp объект
|
|
17
|
-
match: "[A-F0-9]" // Строка (конвертируется в RegExp)
|
|
18
|
-
match: "\\d" // С экранированием
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### Примеры
|
|
10
|
+
Проверяет каждый символ при вводе. Символы, не соответствующие выражению, игнорируются. Локальный `match` в настройках группы (`special[группа].match`) имеет приоритет над глобальным. Отличается от `pattern` тем, что `match` — простая проверка регулярным выражением, а `pattern` может быть функцией с доступом к состоянию маски.
|
|
22
11
|
|
|
23
12
|
```html
|
|
24
|
-
<!--
|
|
25
|
-
<Mask
|
|
13
|
+
<!-- Только цифры (по умолчанию) -->
|
|
14
|
+
<Mask mask="***-***" />
|
|
26
15
|
|
|
27
|
-
<!--
|
|
28
|
-
<Mask
|
|
16
|
+
<!-- HEX-символы -->
|
|
17
|
+
<Mask mask="***-***" :match="/[A-F0-9]/i" />
|
|
29
18
|
|
|
30
|
-
<!--
|
|
19
|
+
<!-- Разные правила для групп -->
|
|
31
20
|
<Mask
|
|
32
|
-
|
|
33
|
-
:special="{ '*': {}, '#': { match: '[A-Za-z]' } }"
|
|
21
|
+
mask="***-###"
|
|
34
22
|
match="\\d"
|
|
23
|
+
:special="{
|
|
24
|
+
'*': {},
|
|
25
|
+
'#': { match: /[A-Z]/ }
|
|
26
|
+
}"
|
|
35
27
|
/>
|
|
36
28
|
```
|
|
@@ -2,80 +2,92 @@
|
|
|
2
2
|
|
|
3
3
|
Numeric types in Mask provide specialized formatting and validation for working with numbers, currencies, and financial data.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Available types:**
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
7
|
+
- `number` — simple numeric mask with rubber structure
|
|
8
|
+
- `number-format` — formatted numbers with thousand separators
|
|
9
|
+
- `currency` — currency mask with automatic currency symbol
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
All numeric types automatically create rubber masks with variable length, ignoring the `mask` property. Numeric character validation occurs at input level, negative values and constraints via `min`/`max` are supported.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
- Rubber mask, numeric character validation
|
|
15
|
-
- Support for negative values and `min`/`max` constraints
|
|
16
|
-
- Decimal places configuration via `fraction`
|
|
13
|
+
The `number-format` and `currency` types apply localized thousand separators according to `language` (space for Russian, comma for English). Decimal places are configured via `fraction` — number for exact digit count, `true` for auto-detection, `false` for integers.
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- Rubber structure for large numbers
|
|
15
|
+
```html
|
|
16
|
+
<!-- Simple number -->
|
|
17
|
+
<Mask type="number" />
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
- Option to hide currency symbol (`currencyHide`)
|
|
26
|
-
- Support for various currencies (RUB, USD, EUR)
|
|
19
|
+
<!-- Formatted number -->
|
|
20
|
+
<Mask type="number-format" language="en-US" :fraction="2" />
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
<!-- Currency -->
|
|
23
|
+
<Mask type="currency" currency="USD" language="en-US" />
|
|
24
|
+
```
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
### Types
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
- **true** — automatic detection based on user input
|
|
34
|
-
- **false/0** — no decimal places
|
|
28
|
+
#### number
|
|
35
29
|
|
|
36
|
-
|
|
30
|
+
Simple numeric mask for entering integers and decimals without formatting. Creates a rubber group with variable length, supports negative values. Decimal separator is determined by locale (dot for English, comma for Russian).
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
<!-- Simple number -->
|
|
40
|
-
<Mask type="number" />
|
|
32
|
+
#### number-format
|
|
41
33
|
|
|
42
|
-
|
|
43
|
-
<Mask type="number" :min="0" :max="100" :fraction="1" />
|
|
34
|
+
Numeric mask with automatic thousand separators to improve readability of large numbers. Works similarly to `number`, but adds thousand and million separators according to regional settings. Suitable for quantitative indicators and statistics.
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
<Mask type="number-format" language="ru" :fraction="2" />
|
|
36
|
+
#### currency
|
|
47
37
|
|
|
48
|
-
|
|
49
|
-
<Mask type="number-format" language="en-US" :fraction="2" />
|
|
38
|
+
Currency mask with currency symbol and formatting according to regional standards. Automatically adds currency symbol (₽, $, €) and thousand separators. Symbol can be displayed before or after the number depending on locale. The `currencyHide` property allows hiding the currency symbol while keeping the formatting.
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
<Mask type="currency" currency="USD" language="en-US" />
|
|
40
|
+
### Property fraction
|
|
53
41
|
|
|
54
|
-
|
|
55
|
-
<Mask type="currency" currency="USD" :currencyHide="true" />
|
|
42
|
+
Defines the number of digits after the decimal separator.
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
<Mask type="number-format" :fraction="0" />
|
|
44
|
+
**Possible values:**
|
|
59
45
|
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
- `number` — exact number of digits (e.g., `2` for two digits)
|
|
47
|
+
- `true` — automatic detection based on user input
|
|
48
|
+
- `false` or `0` — no decimal places (integers only)
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<!-- Two decimal places -->
|
|
52
|
+
<Mask type="number" :fraction="2" />
|
|
53
|
+
|
|
54
|
+
<!-- Auto-detection -->
|
|
55
|
+
<Mask type="number-format" :fraction="true" />
|
|
56
|
+
|
|
57
|
+
<!-- Integers only -->
|
|
58
|
+
<Mask type="currency" currency="USD" :fraction="false" />
|
|
62
59
|
```
|
|
63
60
|
|
|
64
61
|
### Localization
|
|
65
62
|
|
|
66
|
-
Formats automatically adapt to locale:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
63
|
+
Formats automatically adapt to locale via the `language` property:
|
|
64
|
+
|
|
65
|
+
**Russian (ru):**
|
|
66
|
+
- Thousand separator: space
|
|
67
|
+
- Decimal separator: comma
|
|
68
|
+
- Example: `1 234 567,89`
|
|
69
|
+
|
|
70
|
+
**English (en-US):**
|
|
71
|
+
- Thousand separator: comma
|
|
72
|
+
- Decimal separator: dot
|
|
73
|
+
- Example: `1,234,567.89`
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
**German (de):**
|
|
76
|
+
- Thousand separator: dot
|
|
77
|
+
- Decimal separator: comma
|
|
78
|
+
- Example: `1.234.567,89`
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
|
|
80
|
+
```html
|
|
81
|
+
<Mask type="number-format" language="ru" :fraction="2" />
|
|
82
|
+
<!-- Result: 1 234,56 -->
|
|
83
|
+
|
|
84
|
+
<Mask type="number-format" language="en-US" :fraction="2" />
|
|
85
|
+
<!-- Result: 1,234.56 -->
|
|
76
86
|
|
|
77
|
-
|
|
87
|
+
<Mask type="currency" currency="EUR" language="de" />
|
|
88
|
+
<!-- Result: 1.234,56 € -->
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
<!-- Currency without symbol -->
|
|
91
|
+
<Mask type="currency" currency="USD" :currencyHide="true" />
|
|
92
|
+
<!-- Result: 1,234.56 -->
|
|
93
|
+
```
|
|
@@ -2,80 +2,92 @@
|
|
|
2
2
|
|
|
3
3
|
Числовые типы в Mask обеспечивают специализированное форматирование и валидацию для работы с числами, валютами и финансовыми данными.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Доступные типы:**
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
7
|
+
- `number` — простая числовая маска с резиновой структурой
|
|
8
|
+
- `number-format` — форматированные числа с разделителями разрядов
|
|
9
|
+
- `currency` — валютная маска с автоматическим символом валюты
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Все числовые типы автоматически создают резиновые маски переменной длины, игнорируя свойство `mask`. Валидация числовых символов происходит на уровне ввода, поддерживаются отрицательные значения и ограничения через `min`/`max`.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
- Резиновая маска, валидация числовых символов
|
|
15
|
-
- Поддержка отрицательных значений и ограничений `min`/`max`
|
|
16
|
-
- Настройка дробной части через `fraction`
|
|
13
|
+
Типы `number-format` и `currency` применяют локализованные разделители разрядов согласно `language` (пробел для русского, запятая для английского). Дробная часть настраивается через `fraction` — число для точного количества знаков, `true` для автоопределения, `false` для целых чисел.
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- Резиновая структура для больших чисел
|
|
15
|
+
```html
|
|
16
|
+
<!-- Простое число -->
|
|
17
|
+
<Mask type="number" />
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
- Опция скрытия символа валюты (`currencyHide`)
|
|
26
|
-
- Поддержка различных валют (RUB, USD, EUR)
|
|
19
|
+
<!-- Форматированное число -->
|
|
20
|
+
<Mask type="number-format" language="ru" :fraction="2" />
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
<!-- Валюта -->
|
|
23
|
+
<Mask type="currency" currency="RUB" language="ru" />
|
|
24
|
+
```
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
### Типы
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
- **true** — автоматическое определение по вводу пользователя
|
|
34
|
-
- **false/0** — без дробной части
|
|
28
|
+
#### number
|
|
35
29
|
|
|
36
|
-
|
|
30
|
+
Простая числовая маска для ввода целых и дробных чисел без форматирования. Создаёт резиновую группу переменной длины, поддерживает отрицательные значения. Разделитель дробной части определяется локалью (точка для английского, запятая для русского).
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
<!-- Простое число -->
|
|
40
|
-
<Mask type="number" />
|
|
32
|
+
#### number-format
|
|
41
33
|
|
|
42
|
-
|
|
43
|
-
<Mask type="number" :min="0" :max="100" :fraction="1" />
|
|
34
|
+
Числовая маска с автоматическими разделителями разрядов для улучшения читаемости больших чисел. Работает аналогично `number`, но добавляет разделители тысяч, миллионов согласно региональным настройкам. Подходит для количественных показателей, статистики.
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
<Mask type="number-format" language="ru" :fraction="2" />
|
|
36
|
+
#### currency
|
|
47
37
|
|
|
48
|
-
|
|
49
|
-
<Mask type="number-format" language="en-US" :fraction="2" />
|
|
38
|
+
Валютная маска с символом валюты и форматированием согласно региональным стандартам. Автоматически добавляет символ валюты (₽, $, €) и разделители разрядов. Символ может отображаться до или после числа в зависимости от локали. Свойство `currencyHide` позволяет скрыть символ валюты, оставив только форматирование.
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
<Mask type="currency" currency="RUB" language="ru" />
|
|
40
|
+
### Свойство fraction
|
|
53
41
|
|
|
54
|
-
|
|
55
|
-
<Mask type="currency" currency="USD" :currencyHide="true" />
|
|
42
|
+
Определяет количество знаков после десятичного разделителя.
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
<Mask type="number-format" :fraction="0" />
|
|
44
|
+
**Возможные значения:**
|
|
59
45
|
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
- `number` — точное количество знаков (например, `2` для двух знаков)
|
|
47
|
+
- `true` — автоматическое определение по вводу пользователя
|
|
48
|
+
- `false` или `0` — без дробной части (только целые числа)
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
<!-- Два знака после запятой -->
|
|
52
|
+
<Mask type="number" :fraction="2" />
|
|
53
|
+
|
|
54
|
+
<!-- Автоопределение -->
|
|
55
|
+
<Mask type="number-format" :fraction="true" />
|
|
56
|
+
|
|
57
|
+
<!-- Только целые числа -->
|
|
58
|
+
<Mask type="currency" currency="USD" :fraction="false" />
|
|
62
59
|
```
|
|
63
60
|
|
|
64
61
|
### Локализация
|
|
65
62
|
|
|
66
|
-
Форматы автоматически адаптируются к
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
63
|
+
Форматы автоматически адаптируются к локали через свойство `language`:
|
|
64
|
+
|
|
65
|
+
**Русский (ru):**
|
|
66
|
+
- Разделитель разрядов: пробел
|
|
67
|
+
- Десятичный разделитель: запятая
|
|
68
|
+
- Пример: `1 234 567,89`
|
|
69
|
+
|
|
70
|
+
**Английский (en-US):**
|
|
71
|
+
- Разделитель разрядов: запятая
|
|
72
|
+
- Десятичный разделитель: точка
|
|
73
|
+
- Пример: `1,234,567.89`
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
**Немецкий (de):**
|
|
76
|
+
- Разделитель разрядов: точка
|
|
77
|
+
- Десятичный разделитель: запятая
|
|
78
|
+
- Пример: `1.234.567,89`
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
|
|
80
|
+
```html
|
|
81
|
+
<Mask type="number-format" language="ru" :fraction="2" />
|
|
82
|
+
<!-- Результат: 1 234,56 -->
|
|
83
|
+
|
|
84
|
+
<Mask type="number-format" language="en-US" :fraction="2" />
|
|
85
|
+
<!-- Результат: 1,234.56 -->
|
|
76
86
|
|
|
77
|
-
|
|
87
|
+
<Mask type="currency" currency="EUR" language="de" />
|
|
88
|
+
<!-- Результат: 1.234,56 € -->
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
<!-- Валюта без символа -->
|
|
91
|
+
<Mask type="currency" currency="USD" :currencyHide="true" />
|
|
92
|
+
<!-- Результат: 1,234.56 -->
|
|
93
|
+
```
|
|
@@ -1,78 +1,66 @@
|
|
|
1
1
|
## Validation and patterns
|
|
2
2
|
|
|
3
|
-
The `
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
3
|
+
The `pattern` and `check` properties are designed for managing input validation in the mask.
|
|
4
|
+
|
|
5
|
+
**Properties:**
|
|
6
|
+
|
|
7
|
+
- `pattern` — defines validation patterns for individual mask groups, checking entered values
|
|
8
|
+
- `check` — global validation pattern applied after the mask is fully completed
|
|
9
|
+
|
|
10
|
+
Properties work sequentially: `pattern` validates entered values at the mask group level, highlighting validation errors after input. Characters are entered into the field, but when they don't match the pattern, an error message is displayed. Each group (defined by special characters) receives its own pattern. After the mask is fully filled, `check` performs final validation of the entire value, providing an additional layer of verification for complex business logic. Both properties are optional and can be used independently or together for multi-level protection against incorrect data.
|
|
11
|
+
|
|
12
|
+
```html
|
|
13
|
+
<script setup>
|
|
14
|
+
import { ref } from 'vue'
|
|
15
|
+
|
|
16
|
+
const phone = ref('')
|
|
17
|
+
const cardNumber = ref('')
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<!-- Pattern for groups: digits only -->
|
|
22
|
+
<Mask
|
|
23
|
+
v-model="phone"
|
|
24
|
+
mask="+7 (***) ***-**-**"
|
|
25
|
+
pattern="\\d"
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
<!-- Pattern with function for different groups -->
|
|
29
|
+
<Mask
|
|
30
|
+
v-model="phone"
|
|
31
|
+
mask="DD/MM/YYYY"
|
|
32
|
+
:special="{
|
|
33
|
+
'D': {
|
|
34
|
+
pattern: (masks) => {
|
|
35
|
+
const value = masks['D']?.value || ''
|
|
36
|
+
if (value === '0') return '[1-9]'
|
|
37
|
+
if (value === '3') return '[0-1]'
|
|
38
|
+
return '\\d'
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
'M': {
|
|
42
|
+
pattern: (masks) => {
|
|
43
|
+
const value = masks['M']?.value || ''
|
|
44
|
+
if (value === '0') return '[1-9]'
|
|
45
|
+
if (value === '1') return '[0-2]'
|
|
46
|
+
return '\\d'
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
'Y': { pattern: '\\d' }
|
|
50
|
+
}"
|
|
51
|
+
/>
|
|
52
|
+
|
|
53
|
+
<!-- Check for final validation -->
|
|
54
|
+
<Mask
|
|
55
|
+
v-model="cardNumber"
|
|
56
|
+
mask="**** **** **** ****"
|
|
57
|
+
pattern="\\d"
|
|
58
|
+
:check="(maskData) => {
|
|
59
|
+
const number = maskData.value.replace(/\s/g, '')
|
|
60
|
+
return isValidLuhn(number) ? {} : {
|
|
61
|
+
validationMessage: 'Invalid card number'
|
|
62
|
+
}
|
|
63
|
+
}"
|
|
64
|
+
/>
|
|
65
|
+
</template>
|
|
28
66
|
```
|
|
29
|
-
|
|
30
|
-
### Usage differences
|
|
31
|
-
|
|
32
|
-
**Pattern** works at the mask group level:
|
|
33
|
-
- Applied in real-time during character input
|
|
34
|
-
- Each mask group (defined by special characters) gets its own pattern
|
|
35
|
-
- Invalid characters are rejected before appearing in the field
|
|
36
|
-
- Different groups can have different validation rules
|
|
37
|
-
|
|
38
|
-
**Check** works with the complete value:
|
|
39
|
-
- Runs only after the mask is fully completed
|
|
40
|
-
- Applied to the entire entered value
|
|
41
|
-
- Provides an additional validation layer for complex business logic
|
|
42
|
-
- Used for final correctness verification
|
|
43
|
-
|
|
44
|
-
### Usage examples
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
// Pattern for groups: digits only in phone number
|
|
48
|
-
pattern: "\\d"
|
|
49
|
-
|
|
50
|
-
// Pattern with function for different groups
|
|
51
|
-
pattern: (maskData) => {
|
|
52
|
-
if (maskData.group === 'month') return "[0-1]\\d"
|
|
53
|
-
if (maskData.group === 'day') return "[0-3]\\d"
|
|
54
|
-
return "\\d"
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Check for card number validation using Luhn algorithm
|
|
58
|
-
check: (maskData) => {
|
|
59
|
-
const cardNumber = maskData.value.replace(/\s/g, '')
|
|
60
|
-
return isValidLuhn(cardNumber)
|
|
61
|
-
? { valid: true }
|
|
62
|
-
: { valid: false, message: "Invalid card number" }
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Check with RegExp for format validation
|
|
66
|
-
check: "^\\+1\\d{10}$"
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Property interaction
|
|
70
|
-
|
|
71
|
-
The properties work sequentially to ensure quality validation:
|
|
72
|
-
|
|
73
|
-
- `pattern` filters input at the character and group level, preventing incorrect input
|
|
74
|
-
- `check` performs final validation of the complete value after mask completion
|
|
75
|
-
- Both properties are optional and can be used independently or together
|
|
76
|
-
- When used together, they provide multi-level protection against incorrect data
|
|
77
|
-
|
|
78
|
-
This approach allows creating flexible and reliable input fields with detailed validation control at all stages of user interaction.
|