@dxtmisha/wiki 0.24.1 → 0.24.3
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 +3 -2
- package/src/library.ts +7 -7
- package/src/media/descriptions/wikiDescriptionsBars.ts +1 -3
- package/src/media/descriptions/wikiDescriptionsCell.ts +1 -2
- package/src/media/descriptions/wikiDescriptionsChip.ts +0 -1
- package/src/media/descriptions/wikiDescriptionsField.ts +1 -4
- package/src/media/descriptions/wikiDescriptionsFieldCounter.ts +6 -6
- package/src/media/descriptions/wikiDescriptionsFieldMessage.ts +1 -2
- package/src/media/descriptions/wikiDescriptionsImage.ts +2 -2
- 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 +3 -14
- package/src/media/descriptions/wikiDescriptionsMotionTransform.ts +2 -4
- package/src/media/descriptions/wikiDescriptionsScrollbar.ts +1 -7
- package/src/media/descriptions/wikiDescriptionsSkeleton.ts +1 -0
- package/src/media/descriptions/wikiDescriptionsWindow.ts +5 -22
- package/src/media/functional/en/broadcastMessage.mdx +307 -0
- package/src/media/functional/ru/broadcastMessage.mdx +305 -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/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/Field/arrows.en.mdx +67 -17
- package/src/media/mdx/Field/arrows.ru.mdx +67 -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 +151 -0
- package/src/media/mdx/Field/slots.ru.mdx +151 -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/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 +11 -11
- 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/menu.en.mdx +63 -1
- package/src/media/mdx/Menu/menu.ru.mdx +64 -1
- package/src/media/mdx/Menu/slots.en.mdx +122 -0
- package/src/media/mdx/Menu/slots.ru.mdx +122 -0
- package/src/media/mdx/Menu/wikiMdxMenu.ts +7 -32
- 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/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 +5 -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/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/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.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.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 +39 -74
- 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.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.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 +25 -31
- 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/label.en.mdx +2 -8
- package/src/media/mdx/slot/label.ru.mdx +2 -8
- 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/suffix.en.mdx +1 -4
- package/src/media/mdx/slot/suffix.ru.mdx +1 -4
- package/src/media/mdx/slot/wikiMdxSlot.ts +0 -6
- 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/value.en.mdx +6 -12
- package/src/media/mdx/value/value.ru.mdx +6 -12
- 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 +1 -0
- 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,22 +1,66 @@
|
|
|
1
|
-
|
|
1
|
+
Компонент для отображения вспомогательных и валидационных сообщений под полями формы.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
FieldMessage централизует управление текстовыми подсказками и сообщениями об ошибках в формах. Компонент автоматически определяет приоритет отображения (ошибки валидации выше подсказок), поддерживает принудительное показ через forceShow и интегрируется с полями ввода и счетчиками символов. Предоставляет гибкую систему слотов для кастомизации и работает как со статическими, так и с реактивными значениями.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- **Сообщение валидации** — Текст ошибки при некорректном вводе
|
|
7
|
-
- **Принудительное отображение** — Управление показом через свойство forceShow
|
|
8
|
-
- **Автоматическая видимость** — Умное управление отображением
|
|
5
|
+
**Основные возможности:**
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
- Два типа сообщений: вспомогательное (helper) и валидационное (validation)
|
|
8
|
+
- Приоритет сообщений — валидационное сообщение перекрывает вспомогательное
|
|
9
|
+
- Умная видимость — автоматическая логика отображения на основе переданных значений
|
|
10
|
+
- Принудительное отображение через свойство forceShow
|
|
11
|
+
- Гибкие источники — поддержка статических и реактивных значений
|
|
12
|
+
- Интеграция с FieldCounter для комплексных форм
|
|
13
|
+
- Настраиваемый рендеринг через систему дизайна и слоты
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
- **Гибкость источников** — Поддержка статических и реактивных значений
|
|
14
|
-
- **Совместимость** — Используется с полями ввода и счетчиком символов
|
|
15
|
-
- **Настраиваемый вывод** — Через дизайн‑систему и атрибуты компонента
|
|
15
|
+
**Типичные сценарии использования:**
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
- Вспомогательные подсказки под полями ввода
|
|
18
|
+
- Отображение ошибок валидации в формах
|
|
19
|
+
- Динамические сообщения с реактивным контентом
|
|
20
|
+
- Комплексные формы с счетчиками и валидацией
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
```html
|
|
23
|
+
<script setup>
|
|
24
|
+
import { ref } from 'vue'
|
|
25
|
+
import { D1FieldMessage } from '@dxtmisha/d1'
|
|
20
26
|
|
|
21
|
-
|
|
27
|
+
const validationError = ref('')
|
|
22
28
|
|
|
29
|
+
const validateInput = (value) => {
|
|
30
|
+
if (value.length < 3) {
|
|
31
|
+
validationError.value = 'Минимум 3 символа'
|
|
32
|
+
} else {
|
|
33
|
+
validationError.value = ''
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<template>
|
|
39
|
+
<!-- Вспомогательное сообщение -->
|
|
40
|
+
<D1FieldMessage helper="Введите ваше имя" />
|
|
41
|
+
|
|
42
|
+
<!-- Сообщение валидации -->
|
|
43
|
+
<D1FieldMessage
|
|
44
|
+
helper="Минимум 3 символа"
|
|
45
|
+
:validation="validationError"
|
|
46
|
+
/>
|
|
47
|
+
|
|
48
|
+
<!-- Принудительное отображение -->
|
|
49
|
+
<D1FieldMessage
|
|
50
|
+
helper="Всегда видимое сообщение"
|
|
51
|
+
forceShow
|
|
52
|
+
/>
|
|
53
|
+
|
|
54
|
+
<!-- С кастомным контентом через слоты -->
|
|
55
|
+
<D1FieldMessage>
|
|
56
|
+
<template #helper>
|
|
57
|
+
<span class="custom-hint">💡 Подсказка</span>
|
|
58
|
+
</template>
|
|
59
|
+
<template #validation>
|
|
60
|
+
<span class="custom-error">⚠️ Ошибка</span>
|
|
61
|
+
</template>
|
|
62
|
+
</D1FieldMessage>
|
|
63
|
+
</template>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
> Компонент фокусируется на текстовых сообщениях и должен использоваться совместно с элементами управления вводом.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
### `helper`
|
|
2
|
+
|
|
3
|
+
Slot for placing helper message. Displays only when validation message is absent.
|
|
4
|
+
|
|
5
|
+
**Parameters:**
|
|
6
|
+
- `props: FieldMessageSlot` — object with message data
|
|
7
|
+
|
|
8
|
+
### `validation`
|
|
9
|
+
|
|
10
|
+
Slot for placing validation message. Has priority over helper message.
|
|
11
|
+
|
|
12
|
+
**Parameters:**
|
|
13
|
+
- `props: FieldMessageSlot` — object with message data
|
|
14
|
+
|
|
15
|
+
## FieldMessageSlot
|
|
16
|
+
|
|
17
|
+
`FieldMessageSlot` — object passed to FieldMessage component slots, containing data for displaying messages.
|
|
18
|
+
|
|
19
|
+
### Type Structure
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
type FieldMessageSlot = {
|
|
23
|
+
/** Current displayed message */
|
|
24
|
+
message?: string
|
|
25
|
+
|
|
26
|
+
/** Helper message text */
|
|
27
|
+
helperMessage?: string
|
|
28
|
+
|
|
29
|
+
/** Validation message text */
|
|
30
|
+
validationMessage?: string
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Properties
|
|
35
|
+
|
|
36
|
+
- **`message`** — current message to display (validation or helper, depending on active slot)
|
|
37
|
+
- **`helperMessage`** — helper message text from component property
|
|
38
|
+
- **`validationMessage`** — validation message text from component property
|
|
39
|
+
|
|
40
|
+
### Display Priority
|
|
41
|
+
|
|
42
|
+
Component shows only one slot at a time:
|
|
43
|
+
|
|
44
|
+
1. **Validation** — if `validationMessage` is provided or `validation` slot is defined
|
|
45
|
+
2. **Helper** — if validation is absent, but `helperMessage` is provided or `helper` slot is defined
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
### `helper`
|
|
2
|
+
|
|
3
|
+
Слот для размещения вспомогательного сообщения. Отображается только когда отсутствует сообщение валидации.
|
|
4
|
+
|
|
5
|
+
**Параметры:**
|
|
6
|
+
- `props: FieldMessageSlot` — объект с данными сообщений
|
|
7
|
+
|
|
8
|
+
### `validation`
|
|
9
|
+
|
|
10
|
+
Слот для размещения сообщения валидации. Имеет приоритет над вспомогательным сообщением.
|
|
11
|
+
|
|
12
|
+
**Параметры:**
|
|
13
|
+
- `props: FieldMessageSlot` — объект с данными сообщений
|
|
14
|
+
|
|
15
|
+
## FieldMessageSlot
|
|
16
|
+
|
|
17
|
+
`FieldMessageSlot` — объект, передаваемый в слоты компонента FieldMessage, содержащий данные для отображения сообщений.
|
|
18
|
+
|
|
19
|
+
### Структура типа
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
type FieldMessageSlot = {
|
|
23
|
+
/** Текущее отображаемое сообщение */
|
|
24
|
+
message?: string
|
|
25
|
+
|
|
26
|
+
/** Текст вспомогательного сообщения */
|
|
27
|
+
helperMessage?: string
|
|
28
|
+
|
|
29
|
+
/** Текст сообщения валидации */
|
|
30
|
+
validationMessage?: string
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Свойства
|
|
35
|
+
|
|
36
|
+
- **`message`** — текущее сообщение для отображения (validation или helper, в зависимости от активного слота)
|
|
37
|
+
- **`helperMessage`** — текст вспомогательного сообщения из свойства компонента
|
|
38
|
+
- **`validationMessage`** — текст сообщения валидации из свойства компонента
|
|
39
|
+
|
|
40
|
+
### Приоритет отображения
|
|
41
|
+
|
|
42
|
+
Компонент показывает только один слот за раз:
|
|
43
|
+
|
|
44
|
+
1. **Validation** — если передано `validationMessage` или определён слот `validation`
|
|
45
|
+
2. **Helper** — если validation отсутствует, но передано `helperMessage` или определён слот `helper`
|
|
@@ -2,10 +2,8 @@ import type { StorybookComponentsMdxItem } from '../../../types/storybookTypes'
|
|
|
2
2
|
|
|
3
3
|
import fieldMessageEn from './fieldMessage.en.mdx'
|
|
4
4
|
import fieldMessageRu from './fieldMessage.ru.mdx'
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import slotValidationEn from './slot.validation.en.mdx'
|
|
8
|
-
import slotValidationRu from './slot.validation.ru.mdx'
|
|
5
|
+
import slotsEn from './slots.en.mdx'
|
|
6
|
+
import slotsRu from './slots.ru.mdx'
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* MDX files for FieldMessage component
|
|
@@ -15,17 +13,13 @@ import slotValidationRu from './slot.validation.ru.mdx'
|
|
|
15
13
|
export const wikiMdxFieldMessage: StorybookComponentsMdxItem = {
|
|
16
14
|
name: 'FieldMessage',
|
|
17
15
|
descriptions: {
|
|
18
|
-
|
|
16
|
+
fieldMessage: {
|
|
19
17
|
en: fieldMessageEn,
|
|
20
18
|
ru: fieldMessageRu
|
|
21
19
|
},
|
|
22
|
-
|
|
23
|
-
en:
|
|
24
|
-
ru:
|
|
25
|
-
},
|
|
26
|
-
'slot.validation': {
|
|
27
|
-
en: slotValidationEn,
|
|
28
|
-
ru: slotValidationRu
|
|
20
|
+
slots: {
|
|
21
|
+
en: slotsEn,
|
|
22
|
+
ru: slotsRu
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
### `isActive`
|
|
2
2
|
|
|
3
|
-
Computed
|
|
3
|
+
Computed state indicating whether the alternative representation is active (when both `active` and `iconActive` are set).
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
readonly isActive: ComputedRef<boolean>
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Returns `true` only when both conditions are met:
|
|
10
|
-
- The `active` property is set to `true`
|
|
11
|
-
- The `iconActive` property is defined (not empty)
|
|
12
|
-
|
|
13
|
-
This property is used internally by the component to control the display of primary and additional icons.
|
|
5
|
+
**Type:** `ComputedRef<boolean>`
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
### `isActive`
|
|
2
2
|
|
|
3
|
-
Вычисляемое
|
|
3
|
+
Вычисляемое состояние, указывающее активно ли альтернативное представление (когда одновременно установлены `active` и `iconActive`).
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
readonly isActive: ComputedRef<boolean>
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Возвращает `true` только когда выполняются оба условия:
|
|
10
|
-
- Свойство `active` установлено в `true`
|
|
11
|
-
- Свойство `iconActive` задано (не пустое)
|
|
12
|
-
|
|
13
|
-
Это свойство используется внутри компонента для управления отображением основной и дополнительной иконок.
|
|
5
|
+
**Тип:** `ComputedRef<boolean>`
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
## Icon State Management
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A component for displaying icons with support for active state, rotation, loading, and skeleton integration.
|
|
4
|
+
|
|
5
|
+
Icon provides a unified interface for working with icons in the design system, supporting both the main icon and an alternative for the active state. The component automatically manages switching between icons, handles loading events, and integrates with the skeleton system to display loading states.
|
|
6
|
+
|
|
7
|
+
**Key Features:**
|
|
8
|
+
|
|
9
|
+
- Display of main and active icons with smooth transitions
|
|
10
|
+
- Icon rotation at a specified angle
|
|
11
|
+
- Disabled and hide states for visibility control
|
|
12
|
+
- Image loading events for icons
|
|
13
|
+
- Integration with Skeleton for loading states
|
|
14
|
+
- Support within other components (Button, Cell, Chip, Field)
|
|
15
|
+
|
|
16
|
+
**Typical Use Cases:**
|
|
17
|
+
|
|
18
|
+
- Icons in buttons and navigation elements
|
|
19
|
+
- Interactive icons with state changes
|
|
20
|
+
- State indicators in forms and lists
|
|
21
|
+
- Decorative interface elements with animation
|
|
4
22
|
|
|
5
23
|
### Properties
|
|
6
24
|
|
|
@@ -23,21 +41,37 @@ The `icon`, `iconActive`, and `active` properties control the display of the ico
|
|
|
23
41
|
### Usage Example
|
|
24
42
|
|
|
25
43
|
```html
|
|
26
|
-
|
|
27
|
-
|
|
44
|
+
<script setup>
|
|
45
|
+
import { ref } from 'vue'
|
|
46
|
+
import { D1Icon } from '@dxtmisha/d1'
|
|
28
47
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<Icon icon="favorite_border" iconActive="favorite" :active="true" />
|
|
48
|
+
const isActive = ref(false)
|
|
49
|
+
</script>
|
|
32
50
|
|
|
33
|
-
<!-- Dynamic state toggle -->
|
|
34
51
|
<template>
|
|
35
|
-
|
|
52
|
+
<!-- Normal icon -->
|
|
53
|
+
<D1Icon icon="home" />
|
|
54
|
+
|
|
55
|
+
<!-- Active icon -->
|
|
56
|
+
<!-- `favorite` will be displayed because active=true -->
|
|
57
|
+
<D1Icon icon="favorite_border" icon-active="favorite" :active="true" />
|
|
58
|
+
|
|
59
|
+
<!-- Dynamic state toggle -->
|
|
60
|
+
<D1Icon
|
|
36
61
|
icon="visibility"
|
|
37
|
-
|
|
62
|
+
icon-active="visibility_off"
|
|
38
63
|
:active="isVisible"
|
|
39
64
|
@click="isVisible = !isVisible"
|
|
40
65
|
/>
|
|
66
|
+
|
|
67
|
+
<D1Icon
|
|
68
|
+
icon="home"
|
|
69
|
+
icon-active="favorite"
|
|
70
|
+
:active="isActive"
|
|
71
|
+
turn="90"
|
|
72
|
+
@load="onIconLoad"
|
|
73
|
+
/>
|
|
41
74
|
</template>
|
|
42
75
|
```
|
|
43
76
|
|
|
77
|
+
> The Icon component can be used both standalone and as part of other UI components through the `icon`, `icon-trailing`, and `icon-active` properties.
|
|
@@ -1,43 +1,42 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Icon
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Компонент для отображения иконок с поддержкой активного состояния, поворота, загрузки и интеграции со скелетоном.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Icon предоставляет унифицированный интерфейс для работы с иконками в дизайн-системе, поддерживая как основную иконку, так и альтернативную для активного состояния. Компонент автоматически управляет переключением между иконками, обрабатывает события загрузки и интегрируется с системой скелетонов для отображения состояния загрузки.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **`iconActive`** — Иконка, которая отображается, когда компонент находится в активном состоянии (`active` = `true`).
|
|
9
|
-
- **`active`** — Булево свойство, которое переключает состояние компонента между обычным и активным.
|
|
7
|
+
**Основные возможности:**
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
- Отображение основной и активной иконки с плавным переключением
|
|
10
|
+
- Поворот иконки на заданный угол
|
|
11
|
+
- Состояния disabled и hide для управления видимостью
|
|
12
|
+
- События загрузки изображений иконок
|
|
13
|
+
- Интеграция со Skeleton для состояний загрузки
|
|
14
|
+
- Поддержка в составе других компонентов (Button, Cell, Chip, Field)
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
- Если `iconActive` не задано, то при изменении состояния `active` визуально ничего не изменится.
|
|
15
|
-
- Когда `active` установлено в `true`, компонент будет пытаться отобразить иконку, указанную в `iconActive`.
|
|
16
|
-
- Свойство `active` можно использовать для создания переключателей, индикаторов и других интерактивных элементов.
|
|
16
|
+
**Типичные сценарии использования:**
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
### Пример использования
|
|
18
|
+
- Иконки в кнопках и навигационных элементах
|
|
19
|
+
- Интерактивные иконки с изменением состояния
|
|
20
|
+
- Индикаторы состояния в формах и списках
|
|
21
|
+
- Декоративные элементы интерфейса с анимацией
|
|
24
22
|
|
|
25
23
|
```html
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
<script setup>
|
|
25
|
+
import { ref } from 'vue'
|
|
26
|
+
import { D1Icon } from '@dxtmisha/d1'
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<Icon icon="favorite_border" iconActive="favorite" :active="true" />
|
|
28
|
+
const isActive = ref(false)
|
|
29
|
+
</script>
|
|
32
30
|
|
|
33
|
-
<!-- Динамическое переключение состояния -->
|
|
34
31
|
<template>
|
|
35
|
-
<
|
|
36
|
-
icon="
|
|
37
|
-
|
|
38
|
-
:active="
|
|
39
|
-
|
|
32
|
+
<D1Icon
|
|
33
|
+
icon="home"
|
|
34
|
+
icon-active="favorite"
|
|
35
|
+
:active="isActive"
|
|
36
|
+
turn="90"
|
|
37
|
+
@load="onIconLoad"
|
|
40
38
|
/>
|
|
41
39
|
</template>
|
|
42
40
|
```
|
|
43
41
|
|
|
42
|
+
> Компонент Icon может использоваться как самостоятельно, так и в составе других UI-компонентов через свойства `icon`, `icon-trailing` и `icon-active`.
|
|
@@ -1,32 +1,75 @@
|
|
|
1
|
-
## Adaptive scaling
|
|
1
|
+
## Adaptive scaling
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The `adaptive`, `adaptiveGroup`, `adaptiveAlways`, `objectWidth`, and `objectHeight` properties control automatic image scaling to ensure visual consistency of physical object sizes across different images.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Properties:**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- `adaptive` — enables adaptive scaling mode
|
|
8
|
+
- `adaptiveGroup` — group name for scale synchronization (default `'basic'`)
|
|
9
|
+
- `objectWidth` — physical width of the object in the image in millimeters
|
|
10
|
+
- `objectHeight` — physical height of the object in the image in millimeters
|
|
11
|
+
- `adaptiveAlways` — perform calculations even for invisible elements
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
- **object-width** — The physical width of the object in the image (in millimeters, pixels, or other units). Used for scale calculation.
|
|
11
|
-
- **object-height** — The physical height of the object in the image. Can be used instead of or together with `object-width`.
|
|
12
|
-
- **adaptive-group** — Adaptivity group. Elements with the same value of this property will be scaled proportionally to each other.
|
|
13
|
-
- **adaptive-always** — If specified, scaling and calculations will always be performed, even if the element is hidden off-screen.
|
|
13
|
+
Properties work together to ensure proportional display of images with objects of different physical sizes. When `adaptive` is activated, the component starts tracking element dimensions and comparing them with other images in the same group, automatically selecting the optimal scale for each element.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
The `objectWidth` or `objectHeight` properties specify the real physical dimensions of the object in the image in millimeters. These values are necessary for calculating the scaling coefficient — the component uses them to determine how much to enlarge or reduce the image so that objects in different images appear the same size. It is sufficient to specify only one property — either width or height.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
- Use `adaptive-group` if you need to synchronize the scale of several images.
|
|
19
|
-
- Use `adaptive-always` only when necessary to avoid unnecessary calculations.
|
|
17
|
+
The component automatically determines which axis (horizontal or vertical) to scale on, based on available dimensions and image proportions. If `objectWidth` is specified, scaling will occur horizontally, if `objectHeight` — vertically. This allows flexible work with images of different orientations.
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
Elements with the same `adaptiveGroup` value scale synchronously, ensuring consistent visual object sizes across all images in the group. This is especially useful when displaying product galleries or comparison tables where maintaining visual size correspondence is important.
|
|
20
|
+
|
|
21
|
+
For performance optimization, scaling calculations are performed only for visible elements within the viewport plus a small margin. If an element is outside the visible area, calculations are paused until the element appears on screen. The `adaptiveAlways` property disables this optimization and forces the component to constantly recalculate the scale regardless of element visibility.
|
|
22
22
|
|
|
23
23
|
```html
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
<script setup>
|
|
25
|
+
import { ref } from 'vue'
|
|
26
|
+
|
|
27
|
+
const phone1 = ref('/images/phone-model-a.png')
|
|
28
|
+
const phone2 = ref('/images/phone-model-b.png')
|
|
29
|
+
const phone3 = ref('/images/phone-model-c.png')
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<!-- Basic usage with object width -->
|
|
34
|
+
<Image
|
|
35
|
+
:value="phone1"
|
|
36
|
+
adaptive
|
|
37
|
+
object-width="76.2"
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
<!-- Multiple images in one group -->
|
|
41
|
+
<Image
|
|
42
|
+
:value="phone1"
|
|
43
|
+
adaptive
|
|
44
|
+
adaptive-group="phones"
|
|
45
|
+
object-width="76.2"
|
|
46
|
+
/>
|
|
47
|
+
<Image
|
|
48
|
+
:value="phone2"
|
|
49
|
+
adaptive
|
|
50
|
+
adaptive-group="phones"
|
|
51
|
+
object-width="71.9"
|
|
52
|
+
/>
|
|
53
|
+
<Image
|
|
54
|
+
:value="phone3"
|
|
55
|
+
adaptive
|
|
56
|
+
adaptive-group="phones"
|
|
57
|
+
object-width="129.9"
|
|
58
|
+
/>
|
|
26
59
|
|
|
27
|
-
<!--
|
|
28
|
-
<Image
|
|
60
|
+
<!-- With height instead of width -->
|
|
61
|
+
<Image
|
|
62
|
+
adaptive
|
|
63
|
+
object-height="154.8"
|
|
64
|
+
:value="phone1"
|
|
65
|
+
/>
|
|
29
66
|
|
|
30
|
-
<!-- Constant scaling
|
|
31
|
-
<Image
|
|
67
|
+
<!-- Constant scaling -->
|
|
68
|
+
<Image
|
|
69
|
+
adaptive
|
|
70
|
+
adaptive-always
|
|
71
|
+
object-width="76.2"
|
|
72
|
+
:value="phone1"
|
|
73
|
+
/>
|
|
74
|
+
</template>
|
|
32
75
|
```
|
|
@@ -1,38 +1,75 @@
|
|
|
1
|
-
## Адаптивное масштабирование
|
|
1
|
+
## Адаптивное масштабирование
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Свойства `adaptive`, `adaptiveGroup`, `adaptiveAlways`, `objectWidth` и `objectHeight` управляют автоматическим масштабированием изображений для обеспечения визуального соответствия физических размеров объектов на разных изображениях.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Свойства:**
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
7
|
+
- `adaptive` — включает режим адаптивного масштабирования
|
|
8
|
+
- `adaptiveGroup` — название группы для синхронизации масштаба (по умолчанию `'basic'`)
|
|
9
|
+
- `objectWidth` — физическая ширина объекта на изображении в миллиметрах
|
|
10
|
+
- `objectHeight` — физическая высота объекта на изображении в миллиметрах
|
|
11
|
+
- `adaptiveAlways` — выполнять расчёты даже для невидимых элементов
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Свойства работают совместно для обеспечения пропорционального отображения изображений с объектами разных физических размеров. При активации `adaptive` компонент начинает отслеживать размеры элемента и сравнивать их с другими изображениями в той же группе, автоматически подбирая оптимальный масштаб для каждого элемента.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
- `object-width` и `object-height` задают реальные размеры объекта на изображении, что необходимо для корректного расчёта масштаба.
|
|
17
|
-
- `adaptive-group` объединяет элементы в одну группу для совместного масштабирования.
|
|
18
|
-
- `adaptive-always` обеспечивает постоянные вычисления масштаба, даже если элемент временно скрыт.
|
|
19
|
-
- Все свойства могут использоваться совместно для достижения нужного эффекта.
|
|
15
|
+
Свойства `objectWidth` или `objectHeight` задают реальные физические размеры объекта на изображении в миллиметрах. Эти значения необходимы для расчёта коэффициента масштабирования — компонент использует их для определения, во сколько раз нужно увеличить или уменьшить изображение, чтобы объекты на разных изображениях выглядели одинакового размера. Достаточно указать только одно из свойств — либо ширину, либо высоту.
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
Компонент автоматически определяет, по какой оси (горизонтальной или вертикальной) производить масштабирование, основываясь на доступных размерах и пропорциях изображения. Если указан `objectWidth`, масштабирование будет происходить по горизонтали, если `objectHeight` — по вертикали. Это позволяет гибко работать с изображениями разных ориентаций.
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
- Используйте `adaptive-group`, если требуется синхронизировать масштаб нескольких изображений.
|
|
25
|
-
- Применяйте `adaptive-always` только при необходимости, чтобы избежать лишних вычислений.
|
|
19
|
+
Элементы с одинаковым значением `adaptiveGroup` масштабируются синхронно, обеспечивая одинаковый визуальный размер объектов на всех изображениях группы. Это особенно полезно при отображении галерей продуктов или сравнительных таблиц, где важно сохранить визуальное соответствие размеров.
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
Для оптимизации производительности расчёты масштабирования выполняются только для видимых элементов в пределах области просмотра (viewport) плюс небольшой запас. Если элемент находится за пределами видимой области, расчёты приостанавливаются до момента, когда элемент появится на экране. Свойство `adaptiveAlways` отключает эту оптимизацию и заставляет компонент постоянно пересчитывать масштаб независимо от видимости элемента.
|
|
28
22
|
|
|
29
23
|
```html
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
<script setup>
|
|
25
|
+
import { ref } from 'vue'
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
const phone1 = ref('/images/phone-model-a.png')
|
|
28
|
+
const phone2 = ref('/images/phone-model-b.png')
|
|
29
|
+
const phone3 = ref('/images/phone-model-c.png')
|
|
30
|
+
</script>
|
|
35
31
|
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
<template>
|
|
33
|
+
<!-- Базовое использование с шириной объекта -->
|
|
34
|
+
<Image
|
|
35
|
+
:value="phone1"
|
|
36
|
+
adaptive
|
|
37
|
+
object-width="76.2"
|
|
38
|
+
/>
|
|
39
|
+
|
|
40
|
+
<!-- Несколько изображений в одной группе -->
|
|
41
|
+
<Image
|
|
42
|
+
:value="phone1"
|
|
43
|
+
adaptive
|
|
44
|
+
adaptive-group="phones"
|
|
45
|
+
object-width="76.2"
|
|
46
|
+
/>
|
|
47
|
+
<Image
|
|
48
|
+
:value="phone2"
|
|
49
|
+
adaptive
|
|
50
|
+
adaptive-group="phones"
|
|
51
|
+
object-width="71.9"
|
|
52
|
+
/>
|
|
53
|
+
<Image
|
|
54
|
+
:value="phone3"
|
|
55
|
+
adaptive
|
|
56
|
+
adaptive-group="phones"
|
|
57
|
+
object-width="129.9"
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
<!-- С высотой вместо ширины -->
|
|
61
|
+
<Image
|
|
62
|
+
adaptive
|
|
63
|
+
object-height="154.8"
|
|
64
|
+
:value="phone1"
|
|
65
|
+
/>
|
|
66
|
+
|
|
67
|
+
<!-- Постоянное масштабирование -->
|
|
68
|
+
<Image
|
|
69
|
+
adaptive
|
|
70
|
+
adaptive-always
|
|
71
|
+
object-width="76.2"
|
|
72
|
+
:value="phone1"
|
|
73
|
+
/>
|
|
74
|
+
</template>
|
|
38
75
|
```
|
|
@@ -1,4 +1,39 @@
|
|
|
1
1
|
### `load`
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Event fires after the image is loaded.
|
|
4
|
+
|
|
5
|
+
**Parameters:**
|
|
6
|
+
- `image: ImageEventData` — object with image data
|
|
7
|
+
|
|
8
|
+
**ImageEventData structure:**
|
|
9
|
+
- `type: ImageTypeItem` — image type (`'image'`, `'icon'`, `'pdf'`, `'file'`, `'flag'`, `'color'`, etc.)
|
|
10
|
+
- `image: ImageEventItem` — image data (`ImageItem` object, URL string, or `undefined`)
|
|
11
|
+
|
|
12
|
+
**ImageItem structure (when image is an object):**
|
|
13
|
+
- `width: number` — image width
|
|
14
|
+
- `height: number` — image height
|
|
15
|
+
- `image: HTMLImageElement` — image DOM element
|
|
16
|
+
- `src: string` — image source (URL)
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<script setup>
|
|
20
|
+
const handleLoad = (data) => {
|
|
21
|
+
console.log('Image type:', data.type)
|
|
22
|
+
|
|
23
|
+
if (typeof data.image === 'object' && data.image) {
|
|
24
|
+
console.log('Width:', data.image.width)
|
|
25
|
+
console.log('Height:', data.image.height)
|
|
26
|
+
console.log('URL:', data.image.src)
|
|
27
|
+
} else {
|
|
28
|
+
console.log('Image URL:', data.image)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<template>
|
|
34
|
+
<Image
|
|
35
|
+
src="/path/to/image.jpg"
|
|
36
|
+
@load="handleLoad"
|
|
37
|
+
/>
|
|
38
|
+
</template>
|
|
39
|
+
```
|