@dxtmisha/constructor 0.23.0
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/LICENSE +21 -0
- package/README.md +136 -0
- package/package.json +124 -0
- package/src/classes/CaptionInclude.ts +71 -0
- package/src/classes/DescriptionInclude.ts +70 -0
- package/src/classes/EnabledInclude.ts +56 -0
- package/src/classes/EventClickInclude.ts +138 -0
- package/src/classes/LabelHighlightInclude.ts +90 -0
- package/src/classes/LabelInclude.ts +171 -0
- package/src/classes/LabelNumberInclude.ts +70 -0
- package/src/classes/ModelInclude.ts +49 -0
- package/src/classes/PrefixInclude.ts +71 -0
- package/src/classes/SuffixInclude.ts +71 -0
- package/src/classes/field/FieldAttributesInclude.ts +100 -0
- package/src/classes/field/FieldChangeInclude.ts +52 -0
- package/src/classes/field/FieldCodeInclude.ts +69 -0
- package/src/classes/field/FieldElementInclude.ts +97 -0
- package/src/classes/field/FieldInputCheckInclude.ts +128 -0
- package/src/classes/field/FieldMatchInclude.ts +101 -0
- package/src/classes/field/FieldPatternInclude.ts +42 -0
- package/src/classes/field/FieldTypeInclude.ts +42 -0
- package/src/classes/field/FieldValidationInclude.ts +196 -0
- package/src/classes/field/FieldValueInclude.ts +318 -0
- package/src/classes/field/FieldVisibilityInclude.ts +21 -0
- package/src/constructors/Badge/Badge.ts +73 -0
- package/src/constructors/Badge/BadgeDesign.tsx +127 -0
- package/src/constructors/Badge/BadgeInclude.ts +78 -0
- package/src/constructors/Badge/basicTypes.ts +15 -0
- package/src/constructors/Badge/index.ts +5 -0
- package/src/constructors/Badge/properties.json +36 -0
- package/src/constructors/Badge/props.ts +43 -0
- package/src/constructors/Badge/style.scss +83 -0
- package/src/constructors/Badge/types.ts +47 -0
- package/src/constructors/Bars/Bars.ts +188 -0
- package/src/constructors/Bars/BarsAction.ts +57 -0
- package/src/constructors/Bars/BarsDesign.tsx +229 -0
- package/src/constructors/Bars/BarsInclude.ts +116 -0
- package/src/constructors/Bars/basicTypes.ts +40 -0
- package/src/constructors/Bars/index.ts +6 -0
- package/src/constructors/Bars/properties.json +6 -0
- package/src/constructors/Bars/props.ts +63 -0
- package/src/constructors/Bars/style.scss +18 -0
- package/src/constructors/Bars/types.ts +58 -0
- package/src/constructors/Button/Button.ts +88 -0
- package/src/constructors/Button/ButtonDesign.tsx +136 -0
- package/src/constructors/Button/ButtonInclude.ts +80 -0
- package/src/constructors/Button/basicTypes.ts +12 -0
- package/src/constructors/Button/index.ts +5 -0
- package/src/constructors/Button/properties.json +84 -0
- package/src/constructors/Button/props.ts +55 -0
- package/src/constructors/Button/style.scss +96 -0
- package/src/constructors/Button/types.ts +56 -0
- package/src/constructors/Cell/Cell.ts +127 -0
- package/src/constructors/Cell/CellDesign.tsx +203 -0
- package/src/constructors/Cell/basicTypes.ts +6 -0
- package/src/constructors/Cell/index.ts +5 -0
- package/src/constructors/Cell/properties.json +52 -0
- package/src/constructors/Cell/props.ts +61 -0
- package/src/constructors/Cell/style.scss +80 -0
- package/src/constructors/Cell/types.ts +68 -0
- package/src/constructors/Chip/Chip.ts +33 -0
- package/src/constructors/Chip/ChipDesign.tsx +26 -0
- package/src/constructors/Chip/basicTypes.ts +0 -0
- package/src/constructors/Chip/index.ts +4 -0
- package/src/constructors/Chip/properties.json +3 -0
- package/src/constructors/Chip/props.ts +44 -0
- package/src/constructors/Chip/style.scss +6 -0
- package/src/constructors/Chip/types.ts +53 -0
- package/src/constructors/Field/Field.ts +147 -0
- package/src/constructors/Field/FieldDesign.tsx +372 -0
- package/src/constructors/Field/FieldIcons.ts +99 -0
- package/src/constructors/Field/FieldInclude.ts +72 -0
- package/src/constructors/Field/FieldSize.ts +93 -0
- package/src/constructors/Field/basicTypes.ts +90 -0
- package/src/constructors/Field/index.ts +5 -0
- package/src/constructors/Field/properties.json +86 -0
- package/src/constructors/Field/props.ts +88 -0
- package/src/constructors/Field/style.scss +556 -0
- package/src/constructors/Field/types.ts +78 -0
- package/src/constructors/FieldCounter/FieldCounter.ts +75 -0
- package/src/constructors/FieldCounter/FieldCounterDesign.tsx +122 -0
- package/src/constructors/FieldCounter/FieldCounterInclude.ts +98 -0
- package/src/constructors/FieldCounter/basicTypes.ts +25 -0
- package/src/constructors/FieldCounter/index.ts +6 -0
- package/src/constructors/FieldCounter/properties.json +3 -0
- package/src/constructors/FieldCounter/props.ts +32 -0
- package/src/constructors/FieldCounter/style.scss +4 -0
- package/src/constructors/FieldCounter/types.ts +42 -0
- package/src/constructors/FieldLabel/FieldLabel.ts +93 -0
- package/src/constructors/FieldLabel/FieldLabelDesign.tsx +156 -0
- package/src/constructors/FieldLabel/FieldLabelInclude.ts +91 -0
- package/src/constructors/FieldLabel/basicTypes.ts +34 -0
- package/src/constructors/FieldLabel/index.ts +6 -0
- package/src/constructors/FieldLabel/properties.json +4 -0
- package/src/constructors/FieldLabel/props.ts +40 -0
- package/src/constructors/FieldLabel/style.scss +10 -0
- package/src/constructors/FieldLabel/types.ts +49 -0
- package/src/constructors/FieldMessage/FieldMessage.ts +79 -0
- package/src/constructors/FieldMessage/FieldMessageDesign.tsx +159 -0
- package/src/constructors/FieldMessage/FieldMessageInclude.ts +105 -0
- package/src/constructors/FieldMessage/FieldMessageMessage.ts +54 -0
- package/src/constructors/FieldMessage/basicTypes.ts +27 -0
- package/src/constructors/FieldMessage/index.ts +6 -0
- package/src/constructors/FieldMessage/properties.json +9 -0
- package/src/constructors/FieldMessage/props.ts +40 -0
- package/src/constructors/FieldMessage/style.scss +13 -0
- package/src/constructors/FieldMessage/types.ts +49 -0
- package/src/constructors/Icon/Icon.ts +105 -0
- package/src/constructors/Icon/IconDesign.tsx +157 -0
- package/src/constructors/Icon/IconInclude.ts +64 -0
- package/src/constructors/Icon/IconLiteInclude.ts +121 -0
- package/src/constructors/Icon/IconTrailingInclude.ts +106 -0
- package/src/constructors/Icon/basicTypes.ts +50 -0
- package/src/constructors/Icon/index.ts +8 -0
- package/src/constructors/Icon/properties.json +25 -0
- package/src/constructors/Icon/props.ts +54 -0
- package/src/constructors/Icon/style.scss +106 -0
- package/src/constructors/Icon/types.ts +46 -0
- package/src/constructors/Image/Image.ts +184 -0
- package/src/constructors/Image/ImageAdaptiveGroup.ts +230 -0
- package/src/constructors/Image/ImageAdaptiveItem.ts +295 -0
- package/src/constructors/Image/ImageBackground.ts +127 -0
- package/src/constructors/Image/ImageCalculation.ts +184 -0
- package/src/constructors/Image/ImageCalculationList.ts +61 -0
- package/src/constructors/Image/ImageCoordinator.ts +104 -0
- package/src/constructors/Image/ImageData.ts +99 -0
- package/src/constructors/Image/ImageDesign.tsx +137 -0
- package/src/constructors/Image/ImageFile.ts +137 -0
- package/src/constructors/Image/ImageInclude.ts +53 -0
- package/src/constructors/Image/ImagePdf.ts +44 -0
- package/src/constructors/Image/ImagePosition.ts +49 -0
- package/src/constructors/Image/ImageType.ts +83 -0
- package/src/constructors/Image/basicTypes.ts +70 -0
- package/src/constructors/Image/index.ts +5 -0
- package/src/constructors/Image/properties.json +17 -0
- package/src/constructors/Image/props.ts +66 -0
- package/src/constructors/Image/style.scss +77 -0
- package/src/constructors/Image/types.ts +49 -0
- package/src/constructors/List/List.ts +267 -0
- package/src/constructors/List/ListControl.ts +194 -0
- package/src/constructors/List/ListDesign.tsx +382 -0
- package/src/constructors/List/ListFocus.ts +196 -0
- package/src/constructors/List/ListGo.ts +283 -0
- package/src/constructors/List/ListSearch.ts +113 -0
- package/src/constructors/List/basicTypes.ts +3 -0
- package/src/constructors/List/index.ts +5 -0
- package/src/constructors/List/properties.json +16 -0
- package/src/constructors/List/props.ts +76 -0
- package/src/constructors/List/style.scss +36 -0
- package/src/constructors/List/types.ts +66 -0
- package/src/constructors/ListGroup/ListGroup.ts +53 -0
- package/src/constructors/ListGroup/ListGroupDesign.tsx +180 -0
- package/src/constructors/ListGroup/ListGroupOpen.ts +56 -0
- package/src/constructors/ListGroup/basicTypes.ts +3 -0
- package/src/constructors/ListGroup/index.ts +5 -0
- package/src/constructors/ListGroup/properties.json +15 -0
- package/src/constructors/ListGroup/props.ts +30 -0
- package/src/constructors/ListGroup/style.scss +18 -0
- package/src/constructors/ListGroup/types.ts +51 -0
- package/src/constructors/ListItem/ListItem.ts +115 -0
- package/src/constructors/ListItem/ListItemDesign.tsx +196 -0
- package/src/constructors/ListItem/basicTypes.ts +3 -0
- package/src/constructors/ListItem/index.ts +5 -0
- package/src/constructors/ListItem/properties.json +52 -0
- package/src/constructors/ListItem/props.ts +78 -0
- package/src/constructors/ListItem/style.scss +152 -0
- package/src/constructors/ListItem/types.ts +78 -0
- package/src/constructors/ListMenu/ListMenu.ts +52 -0
- package/src/constructors/ListMenu/ListMenuDesign.tsx +127 -0
- package/src/constructors/ListMenu/basicTypes.ts +3 -0
- package/src/constructors/ListMenu/index.ts +5 -0
- package/src/constructors/ListMenu/properties.json +19 -0
- package/src/constructors/ListMenu/props.ts +34 -0
- package/src/constructors/ListMenu/style.scss +5 -0
- package/src/constructors/ListMenu/types.ts +54 -0
- package/src/constructors/Mask/Mask.ts +321 -0
- package/src/constructors/Mask/MaskBuffer.ts +89 -0
- package/src/constructors/Mask/MaskCharacter.ts +192 -0
- package/src/constructors/Mask/MaskCharacterLength.ts +40 -0
- package/src/constructors/Mask/MaskData.ts +287 -0
- package/src/constructors/Mask/MaskDate.ts +157 -0
- package/src/constructors/Mask/MaskDesign.tsx +217 -0
- package/src/constructors/Mask/MaskEmit.ts +140 -0
- package/src/constructors/Mask/MaskEvent.ts +347 -0
- package/src/constructors/Mask/MaskFocus.ts +49 -0
- package/src/constructors/Mask/MaskFormat.ts +216 -0
- package/src/constructors/Mask/MaskItem.ts +218 -0
- package/src/constructors/Mask/MaskMatch.ts +73 -0
- package/src/constructors/Mask/MaskPattern.ts +123 -0
- package/src/constructors/Mask/MaskRight.ts +43 -0
- package/src/constructors/Mask/MaskRubber.ts +156 -0
- package/src/constructors/Mask/MaskRubberItem.ts +96 -0
- package/src/constructors/Mask/MaskRubberTransition.ts +50 -0
- package/src/constructors/Mask/MaskSelection.ts +208 -0
- package/src/constructors/Mask/MaskSpecial.ts +179 -0
- package/src/constructors/Mask/MaskType.ts +103 -0
- package/src/constructors/Mask/MaskValidation.ts +102 -0
- package/src/constructors/Mask/MaskValue.ts +225 -0
- package/src/constructors/Mask/MaskValueBasic.ts +87 -0
- package/src/constructors/Mask/MaskView.ts +169 -0
- package/src/constructors/Mask/basicTypes.ts +49 -0
- package/src/constructors/Mask/index.ts +5 -0
- package/src/constructors/Mask/properties.json +29 -0
- package/src/constructors/Mask/props.ts +70 -0
- package/src/constructors/Mask/style.scss +104 -0
- package/src/constructors/Mask/types.ts +71 -0
- package/src/constructors/Menu/Menu.ts +179 -0
- package/src/constructors/Menu/MenuDesign.tsx +244 -0
- package/src/constructors/Menu/MenuInclude.ts +110 -0
- package/src/constructors/Menu/MenuRequest.ts +101 -0
- package/src/constructors/Menu/MenuSearch.ts +49 -0
- package/src/constructors/Menu/MenuValue.ts +73 -0
- package/src/constructors/Menu/MenuWindow.ts +89 -0
- package/src/constructors/Menu/basicTypes.ts +41 -0
- package/src/constructors/Menu/index.ts +6 -0
- package/src/constructors/Menu/properties.json +17 -0
- package/src/constructors/Menu/props.ts +79 -0
- package/src/constructors/Menu/style.scss +17 -0
- package/src/constructors/Menu/types.ts +79 -0
- package/src/constructors/MotionTransform/MotionTransform.ts +87 -0
- package/src/constructors/MotionTransform/MotionTransformClassesInclude.ts +38 -0
- package/src/constructors/MotionTransform/MotionTransformDesign.tsx +242 -0
- package/src/constructors/MotionTransform/MotionTransformElement.ts +220 -0
- package/src/constructors/MotionTransform/MotionTransformEvent.ts +118 -0
- package/src/constructors/MotionTransform/MotionTransformGo.ts +47 -0
- package/src/constructors/MotionTransform/MotionTransformInclude.ts +123 -0
- package/src/constructors/MotionTransform/MotionTransformSize.ts +97 -0
- package/src/constructors/MotionTransform/MotionTransformState.ts +250 -0
- package/src/constructors/MotionTransform/basicTypes.ts +121 -0
- package/src/constructors/MotionTransform/index.ts +7 -0
- package/src/constructors/MotionTransform/properties.json +35 -0
- package/src/constructors/MotionTransform/props.ts +50 -0
- package/src/constructors/MotionTransform/style.scss +180 -0
- package/src/constructors/MotionTransform/types.ts +86 -0
- package/src/constructors/Progress/Progress.ts +184 -0
- package/src/constructors/Progress/ProgressDesign.tsx +175 -0
- package/src/constructors/Progress/ProgressInclude.ts +67 -0
- package/src/constructors/Progress/basicTypes.ts +12 -0
- package/src/constructors/Progress/index.ts +6 -0
- package/src/constructors/Progress/properties.json +47 -0
- package/src/constructors/Progress/props.ts +54 -0
- package/src/constructors/Progress/style.scss +374 -0
- package/src/constructors/Progress/types.ts +43 -0
- package/src/constructors/Ripple/Ripple.ts +46 -0
- package/src/constructors/Ripple/RippleDesign.tsx +112 -0
- package/src/constructors/Ripple/RippleInclude.ts +39 -0
- package/src/constructors/Ripple/RippleItem.ts +62 -0
- package/src/constructors/Ripple/basicTypes.ts +3 -0
- package/src/constructors/Ripple/index.ts +6 -0
- package/src/constructors/Ripple/properties.json +9 -0
- package/src/constructors/Ripple/props.ts +28 -0
- package/src/constructors/Ripple/style.scss +62 -0
- package/src/constructors/Ripple/types.ts +41 -0
- package/src/constructors/Scrollbar/Scrollbar.ts +66 -0
- package/src/constructors/Scrollbar/ScrollbarBorder.ts +243 -0
- package/src/constructors/Scrollbar/ScrollbarDesign.tsx +126 -0
- package/src/constructors/Scrollbar/ScrollbarInclude.ts +80 -0
- package/src/constructors/Scrollbar/basicTypes.ts +42 -0
- package/src/constructors/Scrollbar/index.ts +5 -0
- package/src/constructors/Scrollbar/properties.json +33 -0
- package/src/constructors/Scrollbar/props.ts +37 -0
- package/src/constructors/Scrollbar/style.scss +117 -0
- package/src/constructors/Scrollbar/types.ts +52 -0
- package/src/constructors/Skeleton/Skeleton.ts +86 -0
- package/src/constructors/Skeleton/SkeletonDesign.tsx +117 -0
- package/src/constructors/Skeleton/SkeletonInclude.ts +61 -0
- package/src/constructors/Skeleton/basicTypes.ts +16 -0
- package/src/constructors/Skeleton/const.ts +1 -0
- package/src/constructors/Skeleton/index.ts +6 -0
- package/src/constructors/Skeleton/properties.json +24 -0
- package/src/constructors/Skeleton/props.ts +28 -0
- package/src/constructors/Skeleton/style.scss +112 -0
- package/src/constructors/Skeleton/types.ts +46 -0
- package/src/constructors/Window/Window.ts +212 -0
- package/src/constructors/Window/WindowClasses.ts +180 -0
- package/src/constructors/Window/WindowClassesInclude.ts +39 -0
- package/src/constructors/Window/WindowClient.ts +93 -0
- package/src/constructors/Window/WindowCoordinates.ts +257 -0
- package/src/constructors/Window/WindowDesign.tsx +278 -0
- package/src/constructors/Window/WindowElement.ts +84 -0
- package/src/constructors/Window/WindowEmit.ts +52 -0
- package/src/constructors/Window/WindowEvent.ts +157 -0
- package/src/constructors/Window/WindowFlash.ts +70 -0
- package/src/constructors/Window/WindowHook.ts +110 -0
- package/src/constructors/Window/WindowInclude.ts +134 -0
- package/src/constructors/Window/WindowOpen.ts +292 -0
- package/src/constructors/Window/WindowOrigin.ts +85 -0
- package/src/constructors/Window/WindowPersistent.ts +89 -0
- package/src/constructors/Window/WindowPosition.ts +358 -0
- package/src/constructors/Window/WindowStatic.ts +102 -0
- package/src/constructors/Window/WindowStatus.ts +138 -0
- package/src/constructors/Window/WindowStyles.ts +78 -0
- package/src/constructors/Window/WindowVerification.ts +287 -0
- package/src/constructors/Window/basicTypes.ts +186 -0
- package/src/constructors/Window/index.ts +7 -0
- package/src/constructors/Window/properties.json +236 -0
- package/src/constructors/Window/props.ts +88 -0
- package/src/constructors/Window/style.scss +262 -0
- package/src/constructors/Window/types.ts +124 -0
- package/src/functions/getClassTegAStatic.ts +8 -0
- package/src/library.ts +36 -0
- package/src/types/captionTypes.ts +15 -0
- package/src/types/descriptionTypes.ts +15 -0
- package/src/types/enabledTypes.ts +9 -0
- package/src/types/eventClickTypes.ts +51 -0
- package/src/types/fieldTypes.ts +282 -0
- package/src/types/labelTypes.ts +30 -0
- package/src/types/modelTypes.ts +23 -0
- package/src/types/prefixTypes.ts +15 -0
- package/src/types/suffixTypes.ts +15 -0
- package/src/vite-env.d.ts +1 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { LabelProps } from '../../types/labelTypes'
|
|
2
|
+
import type { DescriptionProps } from '../../types/descriptionTypes'
|
|
3
|
+
import type { CaptionProps } from '../../types/captionTypes'
|
|
4
|
+
import type { EnabledProps } from '../../types/enabledTypes'
|
|
5
|
+
import type { SkeletonPropsInclude } from '../Skeleton'
|
|
6
|
+
import type { EventClickProps } from '../../types/eventClickTypes'
|
|
7
|
+
|
|
8
|
+
import type { IconPropsBasic, IconTrailingPropsInclude } from '../Icon'
|
|
9
|
+
import type { ProgressPropsBasic, ProgressPropsInclude } from '../Progress'
|
|
10
|
+
|
|
11
|
+
interface CellPropsToken {
|
|
12
|
+
// :type [!] System label / Системная метка
|
|
13
|
+
focus?: boolean
|
|
14
|
+
selected?: boolean
|
|
15
|
+
readonly?: boolean
|
|
16
|
+
disabled?: boolean
|
|
17
|
+
dynamic?: boolean
|
|
18
|
+
dynamicHover?: boolean
|
|
19
|
+
divider?: boolean
|
|
20
|
+
dividerLabel?: 'always' | 'none'
|
|
21
|
+
iconTop?: boolean
|
|
22
|
+
// :type [!] System label / Системная метка
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface CellPropsBasic<
|
|
26
|
+
Icon extends IconPropsBasic = IconPropsBasic,
|
|
27
|
+
Progress extends ProgressPropsBasic = ProgressPropsBasic
|
|
28
|
+
> extends LabelProps,
|
|
29
|
+
DescriptionProps,
|
|
30
|
+
CaptionProps,
|
|
31
|
+
EnabledProps,
|
|
32
|
+
IconTrailingPropsInclude<Icon>,
|
|
33
|
+
ProgressPropsInclude<Progress>,
|
|
34
|
+
SkeletonPropsInclude,
|
|
35
|
+
EventClickProps {
|
|
36
|
+
// Style
|
|
37
|
+
tag?: string
|
|
38
|
+
divider?: boolean
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Type describing incoming properties.
|
|
43
|
+
*
|
|
44
|
+
* Тип, описывающий входящие свойства.
|
|
45
|
+
*/
|
|
46
|
+
export interface CellProps extends CellPropsBasic, CellPropsToken {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Default value for property.
|
|
51
|
+
*
|
|
52
|
+
* Значение по умолчанию для свойства.
|
|
53
|
+
*/
|
|
54
|
+
export const defaultsCell = {
|
|
55
|
+
tag: 'div',
|
|
56
|
+
...{
|
|
57
|
+
// :default [!] System label / Системная метка
|
|
58
|
+
divider: true
|
|
59
|
+
// :default [!] System label / Системная метка
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@use "@dxtmisha/styles/properties" as ui;
|
|
2
|
+
|
|
3
|
+
@mixin mixinCell {
|
|
4
|
+
position: relative;
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
|
|
8
|
+
&__context {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-wrap: wrap;
|
|
11
|
+
@include ui.flexDynamic;
|
|
12
|
+
|
|
13
|
+
order: 4;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&__label {
|
|
17
|
+
align-self: center;
|
|
18
|
+
flex-basis: auto;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__caption {
|
|
22
|
+
align-self: center;
|
|
23
|
+
@include ui.flexDynamic;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&__description {
|
|
27
|
+
grid-area: description;
|
|
28
|
+
flex-basis: 100%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&__contextTrailing {
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: inherit;
|
|
35
|
+
|
|
36
|
+
order: 8;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&__body {
|
|
40
|
+
flex-basis: 100%;
|
|
41
|
+
order: 12;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&:has(&__body) {
|
|
45
|
+
flex-wrap: wrap;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__loading {
|
|
49
|
+
order: 16;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&--dynamic {
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@include ui.readonly {
|
|
57
|
+
cursor: default;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@include ui.disabled {
|
|
61
|
+
cursor: default;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&--dividerLabel {
|
|
65
|
+
&__context {
|
|
66
|
+
border-bottom-style: solid;
|
|
67
|
+
border-bottom-width: ui.v('??borderWidth');
|
|
68
|
+
@include ui.borderColor(ui.v('??borderColor'));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@at-root {
|
|
73
|
+
[data-divider="active"] + &[data-divider="active"],
|
|
74
|
+
[data-divider="active"] + * > &[data-divider="active"] {
|
|
75
|
+
border-top-style: solid;
|
|
76
|
+
border-top-width: ui.v('??borderWidth');
|
|
77
|
+
@include ui.borderColor(ui.v('??borderColor'));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ConstrClass } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type { IconComponentInclude } from '../Icon'
|
|
4
|
+
import type { ProgressComponentInclude } from '../Progress'
|
|
5
|
+
import type { RippleComponentsInclude } from '../Ripple'
|
|
6
|
+
|
|
7
|
+
import type { EventClickEmits, EventClickExpose } from '../../types/eventClickTypes'
|
|
8
|
+
import type { LabelSlots } from '../../types/labelTypes'
|
|
9
|
+
import type { DescriptionSlots } from '../../types/descriptionTypes'
|
|
10
|
+
import type { CaptionSlots } from '../../types/captionTypes'
|
|
11
|
+
|
|
12
|
+
import type { CellClassesSub } from './basicTypes'
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Interface for describing which components need to be connected for work.
|
|
16
|
+
*
|
|
17
|
+
* Интерфейс для описания, какие компоненты надо подключить для работы.
|
|
18
|
+
*/
|
|
19
|
+
export type CellComponents
|
|
20
|
+
= IconComponentInclude
|
|
21
|
+
& ProgressComponentInclude
|
|
22
|
+
& RippleComponentsInclude
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Type describing available events.
|
|
26
|
+
*
|
|
27
|
+
* Тип, описывающий доступные события.
|
|
28
|
+
*/
|
|
29
|
+
export type CellEmits = EventClickEmits
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Type describing available properties.
|
|
33
|
+
*
|
|
34
|
+
* Тип, описывающий доступные свойства.
|
|
35
|
+
*/
|
|
36
|
+
export interface CellExpose extends EventClickExpose {
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Type describing available slots.
|
|
41
|
+
*
|
|
42
|
+
* Тип, описывающий доступные слоты.
|
|
43
|
+
*/
|
|
44
|
+
export interface CellSlots extends LabelSlots, DescriptionSlots, CaptionSlots {
|
|
45
|
+
trailing?(props: CellClassesSub): any
|
|
46
|
+
|
|
47
|
+
body?(props: CellClassesSub): any
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Type describing subclasses.
|
|
52
|
+
*
|
|
53
|
+
* Тип, описывающий подклассы.
|
|
54
|
+
*/
|
|
55
|
+
export type CellClasses = {
|
|
56
|
+
main: ConstrClass
|
|
57
|
+
// :classes [!] System label / Системная метка
|
|
58
|
+
context: string
|
|
59
|
+
contextTrailing: string
|
|
60
|
+
label: string
|
|
61
|
+
description: string
|
|
62
|
+
caption: string
|
|
63
|
+
icon: string
|
|
64
|
+
trailing: string
|
|
65
|
+
body: string
|
|
66
|
+
loading: string
|
|
67
|
+
// :classes [!] System label / Системная метка
|
|
68
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Ref, ToRefs } from 'vue'
|
|
2
|
+
import { type ConstrEmit, DesignComp } from '@dxtmisha/functional'
|
|
3
|
+
|
|
4
|
+
import type { ChipComponents, ChipEmits, ChipSlots } from './types'
|
|
5
|
+
import type { ChipPropsBasic } from './props'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Chip
|
|
9
|
+
*/
|
|
10
|
+
export class Chip {
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
* @param props input data/ входные данные
|
|
14
|
+
* @param refs input data in the form of reactive elements/ входные данные в виде реактивных элементов
|
|
15
|
+
* @param element input element/ элемент ввода
|
|
16
|
+
* @param classDesign design name/ название дизайна
|
|
17
|
+
* @param className class name/ название класса
|
|
18
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
19
|
+
* @param slots object for working with slots/ объект для работы со слотами
|
|
20
|
+
* @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
|
|
21
|
+
*/
|
|
22
|
+
constructor(
|
|
23
|
+
protected readonly props: ChipPropsBasic,
|
|
24
|
+
protected readonly refs: ToRefs<ChipPropsBasic>,
|
|
25
|
+
protected readonly element: Ref<HTMLElement | undefined>,
|
|
26
|
+
protected readonly classDesign: string,
|
|
27
|
+
protected readonly className: string,
|
|
28
|
+
protected readonly components?: DesignComp<ChipComponents, ChipPropsBasic>,
|
|
29
|
+
protected readonly slots?: ChipSlots,
|
|
30
|
+
protected readonly emits?: ConstrEmit<ChipEmits>
|
|
31
|
+
) {
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ButtonDesign } from '../Button'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
type ChipPropsBasic
|
|
5
|
+
} from './props'
|
|
6
|
+
import {
|
|
7
|
+
type ChipClasses,
|
|
8
|
+
type ChipComponents,
|
|
9
|
+
type ChipExpose
|
|
10
|
+
} from './types'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* ChipDesign
|
|
14
|
+
*/
|
|
15
|
+
export class ChipDesign<
|
|
16
|
+
COMP extends ChipComponents,
|
|
17
|
+
EXPOSE extends ChipExpose,
|
|
18
|
+
CLASSES extends ChipClasses,
|
|
19
|
+
P extends ChipPropsBasic
|
|
20
|
+
> extends ButtonDesign<
|
|
21
|
+
COMP,
|
|
22
|
+
EXPOSE,
|
|
23
|
+
CLASSES,
|
|
24
|
+
P
|
|
25
|
+
> {
|
|
26
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { IconPropsBasic } from '../Icon'
|
|
2
|
+
import type { ProgressPropsBasic } from '../Progress'
|
|
3
|
+
import type { ButtonPropsBasic } from '../Button'
|
|
4
|
+
|
|
5
|
+
interface ChipPropsToken {
|
|
6
|
+
// :type [!] System label / Системная метка
|
|
7
|
+
focus?: boolean
|
|
8
|
+
disabled?: boolean
|
|
9
|
+
selected?: boolean
|
|
10
|
+
readonly?: boolean
|
|
11
|
+
adaptive?: 'iconAlways' | 'block' | 'auto'
|
|
12
|
+
container?: boolean
|
|
13
|
+
inverse?: boolean
|
|
14
|
+
grid?: boolean
|
|
15
|
+
textAlign?: 'left' | 'center' | 'right'
|
|
16
|
+
// :type [!] System label / Системная метка
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface ChipPropsBasic<
|
|
20
|
+
Icon extends IconPropsBasic = IconPropsBasic,
|
|
21
|
+
Progress extends ProgressPropsBasic = ProgressPropsBasic
|
|
22
|
+
> extends ButtonPropsBasic<Icon, Progress> {
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Type describing incoming properties.
|
|
27
|
+
*
|
|
28
|
+
* Тип, описывающий входящие свойства.
|
|
29
|
+
*/
|
|
30
|
+
export interface ChipProps extends ChipPropsBasic, ChipPropsToken {
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Default value for property.
|
|
35
|
+
*
|
|
36
|
+
* Значение по умолчанию для свойства.
|
|
37
|
+
*/
|
|
38
|
+
export const defaultsChip = {
|
|
39
|
+
tag: 'span',
|
|
40
|
+
...{
|
|
41
|
+
// :default [!] System label / Системная метка
|
|
42
|
+
// :default [!] System label / Системная метка
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ConstrClass } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
ButtonComponents,
|
|
5
|
+
ButtonEmits,
|
|
6
|
+
ButtonExpose,
|
|
7
|
+
ButtonSlots
|
|
8
|
+
} from '../Button'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Interface for describing which components need to be connected for work.
|
|
12
|
+
*
|
|
13
|
+
* Интерфейс для описания, какие компоненты надо подключить для работы.
|
|
14
|
+
*/
|
|
15
|
+
export type ChipComponents = ButtonComponents
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Type describing available events.
|
|
19
|
+
*
|
|
20
|
+
* Тип, описывающий доступные события.
|
|
21
|
+
*/
|
|
22
|
+
export type ChipEmits = ButtonEmits
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Type describing available properties.
|
|
26
|
+
*
|
|
27
|
+
* Тип, описывающий доступные свойства.
|
|
28
|
+
*/
|
|
29
|
+
export interface ChipExpose extends ButtonExpose {
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Type describing available slots.
|
|
34
|
+
*
|
|
35
|
+
* Тип, описывающий доступные слоты.
|
|
36
|
+
*/
|
|
37
|
+
export interface ChipSlots extends ButtonSlots {
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Type describing subclasses.
|
|
42
|
+
*
|
|
43
|
+
* Тип, описывающий подклассы.
|
|
44
|
+
*/
|
|
45
|
+
export type ChipClasses = {
|
|
46
|
+
main: ConstrClass
|
|
47
|
+
// :classes [!] System label / Системная метка
|
|
48
|
+
label: string
|
|
49
|
+
icon: string
|
|
50
|
+
trailing: string
|
|
51
|
+
loading: string
|
|
52
|
+
// :classes [!] System label / Системная метка
|
|
53
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { computed, type Ref, type ToRefs } from 'vue'
|
|
2
|
+
import { type ConstrEmit, DesignComp, getElementId } from '@dxtmisha/functional'
|
|
3
|
+
|
|
4
|
+
import { CaptionInclude } from '../../classes/CaptionInclude'
|
|
5
|
+
import { PrefixInclude } from '../../classes/PrefixInclude'
|
|
6
|
+
import { SuffixInclude } from '../../classes/SuffixInclude'
|
|
7
|
+
import { EnabledInclude } from '../../classes/EnabledInclude'
|
|
8
|
+
import { EventClickInclude } from '../../classes/EventClickInclude'
|
|
9
|
+
|
|
10
|
+
import { IconTrailingInclude } from '../Icon'
|
|
11
|
+
import { FieldLabelInclude } from '../FieldLabel'
|
|
12
|
+
import { FieldMessageInclude } from '../FieldMessage'
|
|
13
|
+
import { ProgressInclude } from '../Progress'
|
|
14
|
+
import { SkeletonInclude } from '../Skeleton'
|
|
15
|
+
|
|
16
|
+
import { FieldIcons } from './FieldIcons'
|
|
17
|
+
import { FieldSize } from './FieldSize'
|
|
18
|
+
|
|
19
|
+
import type { FieldComponents, FieldEmits, FieldSlots } from './types'
|
|
20
|
+
import type { FieldProps } from './props'
|
|
21
|
+
import type { FieldControl } from './basicTypes'
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Field
|
|
25
|
+
*/
|
|
26
|
+
export class Field {
|
|
27
|
+
readonly icon: IconTrailingInclude
|
|
28
|
+
|
|
29
|
+
readonly caption: CaptionInclude
|
|
30
|
+
readonly prefix: PrefixInclude
|
|
31
|
+
readonly suffix: SuffixInclude
|
|
32
|
+
|
|
33
|
+
readonly fieldLabel: FieldLabelInclude
|
|
34
|
+
readonly fieldMessage: FieldMessageInclude
|
|
35
|
+
|
|
36
|
+
readonly progress: ProgressInclude
|
|
37
|
+
readonly enabled: EnabledInclude
|
|
38
|
+
readonly event: EventClickInclude
|
|
39
|
+
readonly skeleton: SkeletonInclude
|
|
40
|
+
|
|
41
|
+
readonly icons: FieldIcons
|
|
42
|
+
readonly size: FieldSize
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Constructor
|
|
46
|
+
* @param props input data/ входные данные
|
|
47
|
+
* @param refs input data in the form of reactive elements/ входные данные в виде реактивных элементов
|
|
48
|
+
* @param element input element/ элемент ввода
|
|
49
|
+
* @param classDesign design name/ название дизайна
|
|
50
|
+
* @param className class name/ название класса
|
|
51
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
52
|
+
* @param slots object for working with slots/ объект для работы со слотами
|
|
53
|
+
* @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
|
|
54
|
+
*/
|
|
55
|
+
constructor(
|
|
56
|
+
protected readonly props: FieldProps,
|
|
57
|
+
protected readonly refs: ToRefs<FieldProps>,
|
|
58
|
+
protected readonly element: Ref<HTMLLabelElement | undefined>,
|
|
59
|
+
protected readonly classDesign: string,
|
|
60
|
+
protected readonly className: string,
|
|
61
|
+
protected readonly components?: DesignComp<FieldComponents, FieldProps>,
|
|
62
|
+
protected readonly slots?: FieldSlots,
|
|
63
|
+
protected readonly emits?: ConstrEmit<FieldEmits>
|
|
64
|
+
) {
|
|
65
|
+
this.icon = new IconTrailingInclude(this.props, this.className, this.components)
|
|
66
|
+
|
|
67
|
+
this.caption = new CaptionInclude(this.props, this.className, this.slots)
|
|
68
|
+
this.prefix = new PrefixInclude(this.props, this.className, this.slots)
|
|
69
|
+
this.suffix = new SuffixInclude(this.props, this.className, this.slots)
|
|
70
|
+
|
|
71
|
+
this.fieldLabel = new FieldLabelInclude(
|
|
72
|
+
this.props,
|
|
73
|
+
this.className,
|
|
74
|
+
this.components,
|
|
75
|
+
this.slots,
|
|
76
|
+
this.refs.counterTop,
|
|
77
|
+
this.propsSkeleton
|
|
78
|
+
)
|
|
79
|
+
this.fieldMessage = new FieldMessageInclude(
|
|
80
|
+
this.props,
|
|
81
|
+
this.className,
|
|
82
|
+
this.components,
|
|
83
|
+
undefined,
|
|
84
|
+
computed(() => !this.props.counterTop),
|
|
85
|
+
this.propsSkeleton
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
this.progress = new ProgressInclude(
|
|
89
|
+
this.props,
|
|
90
|
+
this.className,
|
|
91
|
+
this.components,
|
|
92
|
+
{
|
|
93
|
+
circular: true,
|
|
94
|
+
position: 'static',
|
|
95
|
+
dense: true
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
this.enabled = new EnabledInclude(this.props, this.progress)
|
|
100
|
+
this.event = new EventClickInclude(this.props, this.enabled, this.emits)
|
|
101
|
+
this.skeleton = new SkeletonInclude(
|
|
102
|
+
this.props,
|
|
103
|
+
this.classDesign,
|
|
104
|
+
['classBackground']
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
this.icons = new FieldIcons(this.props, this.className)
|
|
108
|
+
this.size = new FieldSize(this.element, this.className)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** Checks if an error needs to be displayed/ Проверяет, надо ли выводить ошибку */
|
|
112
|
+
readonly isValidation = computed<boolean>(() => Boolean(
|
|
113
|
+
this.props.validationMessage
|
|
114
|
+
&& (
|
|
115
|
+
this.props.forceShowMessage
|
|
116
|
+
|| (
|
|
117
|
+
!this.props.readonly
|
|
118
|
+
&& !this.props.disabled
|
|
119
|
+
)
|
|
120
|
+
)
|
|
121
|
+
))
|
|
122
|
+
|
|
123
|
+
/** Values for the class/ Значения для класса */
|
|
124
|
+
readonly classes = computed(() => ({
|
|
125
|
+
[`${this.className}--cancel`]: this.icons.isCancel.value,
|
|
126
|
+
[`${this.className}--suffix`]: this.props.suffix,
|
|
127
|
+
[`${this.className}--validation`]: this.isValidation.value
|
|
128
|
+
}))
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Returns data for the slot.
|
|
132
|
+
*
|
|
133
|
+
* Возвращает данные для слота
|
|
134
|
+
*/
|
|
135
|
+
getControl(): FieldControl {
|
|
136
|
+
return {
|
|
137
|
+
id: getElementId(),
|
|
138
|
+
className: `${this.className}__body__input ${this.skeleton.classesSkeleton.classText}`,
|
|
139
|
+
classHidden: `${this.className}__body__hidden`
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Values for the skeleton/ Значения для скелетона */
|
|
144
|
+
protected readonly propsSkeleton = computed(() => ({
|
|
145
|
+
isSkeleton: this.props.isSkeleton
|
|
146
|
+
}))
|
|
147
|
+
}
|