@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,116 @@
|
|
|
1
|
+
import { computed, type VNode } from 'vue'
|
|
2
|
+
import {
|
|
3
|
+
type ConstrBind,
|
|
4
|
+
type ConstrEmit,
|
|
5
|
+
DesignComponents,
|
|
6
|
+
getRef,
|
|
7
|
+
type RefOrNormal,
|
|
8
|
+
toBinds
|
|
9
|
+
} from '@dxtmisha/functional'
|
|
10
|
+
|
|
11
|
+
import type { EventClickValue } from '../../types/eventClickTypes'
|
|
12
|
+
|
|
13
|
+
import type { BarsComponentInclude, BarsEmitsInclude, BarsPropsInclude } from './basicTypes'
|
|
14
|
+
import type { BarsProps } from './props'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* BarsInclude class provides functionality for conditionally rendering bars components
|
|
18
|
+
* within other components. It manages the logic for determining when to display bars
|
|
19
|
+
* and configures the appropriate properties.
|
|
20
|
+
*
|
|
21
|
+
* Класс BarsInclude предоставляет функциональность для условного рендеринга компонентов
|
|
22
|
+
* панелей действий внутри других компонентов. Он управляет логикой определения необходимости
|
|
23
|
+
* отображения панелей и настраивает соответствующие свойства.
|
|
24
|
+
*/
|
|
25
|
+
export class BarsInclude<
|
|
26
|
+
Props extends BarsPropsInclude = BarsPropsInclude,
|
|
27
|
+
PropsExtra extends ConstrBind<BarsProps> = ConstrBind<BarsProps>
|
|
28
|
+
> {
|
|
29
|
+
/**
|
|
30
|
+
* Constructor
|
|
31
|
+
* @param props input parameter/ входной параметр
|
|
32
|
+
* @param className class name/ название класса
|
|
33
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
34
|
+
* @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
|
|
35
|
+
* @param extra additional parameter or property name/ дополнительный параметр или имя свойства
|
|
36
|
+
* @param index index identifier/ идентификатор индекса
|
|
37
|
+
*/
|
|
38
|
+
constructor(
|
|
39
|
+
protected readonly props: Readonly<Props>,
|
|
40
|
+
protected readonly className: string,
|
|
41
|
+
protected readonly components?: DesignComponents<BarsComponentInclude, Props>,
|
|
42
|
+
protected readonly emits?: ConstrEmit<BarsEmitsInclude>,
|
|
43
|
+
protected readonly extra?: RefOrNormal<PropsExtra>,
|
|
44
|
+
protected readonly index?: string
|
|
45
|
+
) {
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Checks whether bars should be displayed/
|
|
50
|
+
* Проверяет, нужно ли отображать панели
|
|
51
|
+
*/
|
|
52
|
+
readonly is = computed(() => Boolean(
|
|
53
|
+
this.props.barsLabel
|
|
54
|
+
|| this.props.barsDescription
|
|
55
|
+
|| this.props.barsBackHide !== true
|
|
56
|
+
))
|
|
57
|
+
|
|
58
|
+
/** Computed bindings for the bars/ Вычисляемые привязки для панелей */
|
|
59
|
+
readonly binds = computed<PropsExtra>(() => {
|
|
60
|
+
const props = toBinds<PropsExtra>(
|
|
61
|
+
getRef(this.extra),
|
|
62
|
+
this.props.barsAttrs,
|
|
63
|
+
{ class: `${this.className}__bars` }
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
...props,
|
|
68
|
+
|
|
69
|
+
label: this.props.barsLabel,
|
|
70
|
+
description: this.props.barsDescription,
|
|
71
|
+
backHide: this.props.barsBackHide,
|
|
72
|
+
bars: this.props.barsList
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Render the Bars component
|
|
78
|
+
*
|
|
79
|
+
* Рендер компонента панелей
|
|
80
|
+
*/
|
|
81
|
+
readonly render = (): VNode[] => {
|
|
82
|
+
console.log('this.props.barsHide', this.props.barsHide)
|
|
83
|
+
if (
|
|
84
|
+
this.components
|
|
85
|
+
&& !this.props.barsHide
|
|
86
|
+
) {
|
|
87
|
+
return this.components.render(
|
|
88
|
+
'bars',
|
|
89
|
+
{
|
|
90
|
+
...this.binds.value,
|
|
91
|
+
onClick: this.onClick
|
|
92
|
+
},
|
|
93
|
+
undefined,
|
|
94
|
+
this.index ?? 'bars'
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return []
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Handles click events from Bars and emits related events/
|
|
103
|
+
* Обрабатывает клики по панелям и испускает связанные события
|
|
104
|
+
*
|
|
105
|
+
* @param event native mouse event/ native событие мыши
|
|
106
|
+
* @param value payload with { type, value, detail }/ данные события с { type, value, detail }
|
|
107
|
+
*/
|
|
108
|
+
protected readonly onClick = (event: MouseEvent, value: EventClickValue) => {
|
|
109
|
+
this.emits?.('bars', event, value)
|
|
110
|
+
this.emits?.('barsLite', value)
|
|
111
|
+
|
|
112
|
+
if (value.type === 'back') {
|
|
113
|
+
this.emits?.('barsBack', value)
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ConstrBind } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type { EventClickEmits } from '../../types/eventClickTypes'
|
|
4
|
+
import type { BarsPropsBasic } from './props'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Component map for including the Bars component/
|
|
8
|
+
* Карта компонентов для подключения компонента Bars
|
|
9
|
+
*/
|
|
10
|
+
export type BarsComponentInclude = {
|
|
11
|
+
bars?: object
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Available events for Bars/ Доступные события для Bars */
|
|
15
|
+
export type BarsEmitsInclude = {
|
|
16
|
+
bars: EventClickEmits['click']
|
|
17
|
+
barsLite: EventClickEmits['clickLite']
|
|
18
|
+
barsBack: EventClickEmits['clickLite']
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Props used to include and configure the Bars component/
|
|
23
|
+
* Свойства для подключения и настройки компонента Bars
|
|
24
|
+
*/
|
|
25
|
+
export interface BarsPropsInclude<
|
|
26
|
+
Bars extends BarsPropsBasic = BarsPropsBasic
|
|
27
|
+
> {
|
|
28
|
+
/** Bars label/ Метка панелей */
|
|
29
|
+
barsLabel?: string | number
|
|
30
|
+
/** Bars description/ Описание панелей */
|
|
31
|
+
barsDescription?: string
|
|
32
|
+
/** Hide back button/ Скрыть кнопку назад */
|
|
33
|
+
barsBackHide?: boolean
|
|
34
|
+
/** Hide bars/ Скрыть панели */
|
|
35
|
+
barsHide?: boolean
|
|
36
|
+
/** List of bar buttons/ Список кнопок панелей */
|
|
37
|
+
barsList?: Bars['bars']
|
|
38
|
+
/** Additional attributes for Bars component/ Дополнительные атрибуты для компонента Bars */
|
|
39
|
+
barsAttrs?: ConstrBind<Bars>
|
|
40
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ConstrBind } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type { IconPropsBasic, IconValue } from '../Icon'
|
|
4
|
+
import type { ButtonPropsBasic } from '../Button'
|
|
5
|
+
import type { SkeletonPropsInclude } from '../Skeleton'
|
|
6
|
+
|
|
7
|
+
import type { LabelProps } from '../../types/labelTypes'
|
|
8
|
+
import type { DescriptionProps } from '../../types/descriptionTypes'
|
|
9
|
+
|
|
10
|
+
interface BarsPropsToken {
|
|
11
|
+
// :type [!] System label / Системная метка
|
|
12
|
+
action?: boolean
|
|
13
|
+
// :type [!] System label / Системная метка
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface BarsPropsBasic<
|
|
17
|
+
Icon extends IconPropsBasic = IconPropsBasic,
|
|
18
|
+
Button extends ButtonPropsBasic = ButtonPropsBasic
|
|
19
|
+
> extends LabelProps,
|
|
20
|
+
DescriptionProps,
|
|
21
|
+
SkeletonPropsInclude
|
|
22
|
+
{
|
|
23
|
+
// Value
|
|
24
|
+
'backButton'?: ConstrBind<Button>
|
|
25
|
+
'backHide'?: boolean
|
|
26
|
+
'backActionHide'?: boolean
|
|
27
|
+
'bars'?: ConstrBind<Button>[]
|
|
28
|
+
|
|
29
|
+
'actionLabel'?: LabelProps['label']
|
|
30
|
+
'actionDescription'?: DescriptionProps['description']
|
|
31
|
+
'actionBars'?: ConstrBind<Button>[]
|
|
32
|
+
|
|
33
|
+
// Style
|
|
34
|
+
'buttonAttrs'?: ConstrBind<Button>
|
|
35
|
+
|
|
36
|
+
'iconBack'?: IconValue<Icon>
|
|
37
|
+
'iconClose'?: IconValue<Icon>
|
|
38
|
+
|
|
39
|
+
// Event
|
|
40
|
+
'modelAction'?: boolean
|
|
41
|
+
'onUpdate:action'?: (value: boolean) => void
|
|
42
|
+
'onUpdate:modelAction'?: (value: boolean) => void
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Type describing incoming properties.
|
|
47
|
+
*
|
|
48
|
+
* Тип, описывающий входящие свойства.
|
|
49
|
+
*/
|
|
50
|
+
export interface BarsProps extends BarsPropsBasic, BarsPropsToken {
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Default value for property.
|
|
55
|
+
*
|
|
56
|
+
* Значение по умолчанию для свойства.
|
|
57
|
+
*/
|
|
58
|
+
export const defaultsBars = {
|
|
59
|
+
...{
|
|
60
|
+
// :default [!] System label / Системная метка
|
|
61
|
+
// :default [!] System label / Системная метка
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@use "@dxtmisha/styles/properties" as ui;
|
|
2
|
+
|
|
3
|
+
@mixin mixinBars {
|
|
4
|
+
display: flex;
|
|
5
|
+
|
|
6
|
+
transition: background-color ui.v('d.sys.transitionDuration.sm') linear;
|
|
7
|
+
|
|
8
|
+
&__context,
|
|
9
|
+
&__label {
|
|
10
|
+
@include ui.flexDynamic;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&__context > &__label {
|
|
14
|
+
width: calc(100% - 64px);
|
|
15
|
+
min-width: 80%;
|
|
16
|
+
@include ui.clamp(2);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ConstrClass } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type { ButtonComponentInclude } from '../Button'
|
|
4
|
+
import type { EventClickEmits } from '../../types/eventClickTypes'
|
|
5
|
+
import type { LabelSlots } from '../../types/labelTypes'
|
|
6
|
+
import type { DescriptionSlots } from '../../types/descriptionTypes'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Interface for describing which components need to be connected for work.
|
|
10
|
+
*
|
|
11
|
+
* Интерфейс для описания, какие компоненты надо подключить для работы.
|
|
12
|
+
*/
|
|
13
|
+
export type BarsComponents = ButtonComponentInclude
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Type describing available events.
|
|
17
|
+
*
|
|
18
|
+
* Тип, описывающий доступные события.
|
|
19
|
+
*/
|
|
20
|
+
export type BarsEmits
|
|
21
|
+
= EventClickEmits
|
|
22
|
+
& {
|
|
23
|
+
'update:action': [value: boolean]
|
|
24
|
+
'update:modelAction': [value: boolean]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Type describing available properties.
|
|
29
|
+
*
|
|
30
|
+
* Тип, описывающий доступные свойства.
|
|
31
|
+
*/
|
|
32
|
+
export interface BarsExpose {
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Type describing available slots.
|
|
37
|
+
*
|
|
38
|
+
* Тип, описывающий доступные слоты.
|
|
39
|
+
*/
|
|
40
|
+
export interface BarsSlots extends LabelSlots, DescriptionSlots {
|
|
41
|
+
bars?(props: any): any
|
|
42
|
+
|
|
43
|
+
actionBars?(props: any): any
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Type describing subclasses.
|
|
48
|
+
*
|
|
49
|
+
* Тип, описывающий подклассы.
|
|
50
|
+
*/
|
|
51
|
+
export type BarsClasses = {
|
|
52
|
+
main: ConstrClass
|
|
53
|
+
// :classes [!] System label / Системная метка
|
|
54
|
+
context: string
|
|
55
|
+
label: string
|
|
56
|
+
description: string
|
|
57
|
+
// :classes [!] System label / Системная метка
|
|
58
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { computed, type Ref, type ToRefs } from 'vue'
|
|
2
|
+
import { type ConstrClass, type ConstrEmit, DesignComp } from '@dxtmisha/functional'
|
|
3
|
+
import { getClassTegAStatic } from '../../functions/getClassTegAStatic'
|
|
4
|
+
|
|
5
|
+
import { LabelInclude } from '../../classes/LabelInclude'
|
|
6
|
+
import { EnabledInclude } from '../../classes/EnabledInclude'
|
|
7
|
+
|
|
8
|
+
import { IconTrailingInclude } from '../Icon'
|
|
9
|
+
import { ProgressInclude } from '../Progress'
|
|
10
|
+
import { RippleInclude } from '../Ripple'
|
|
11
|
+
import { SkeletonInclude } from '../Skeleton'
|
|
12
|
+
|
|
13
|
+
import { EventClickInclude } from '../../classes/EventClickInclude'
|
|
14
|
+
|
|
15
|
+
import type { ButtonComponents, ButtonEmits, ButtonSlots } from './types'
|
|
16
|
+
import type { ButtonPropsBasic } from './props'
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Button
|
|
20
|
+
*/
|
|
21
|
+
export class Button {
|
|
22
|
+
readonly label: LabelInclude
|
|
23
|
+
readonly enabled: EnabledInclude
|
|
24
|
+
|
|
25
|
+
readonly icon: IconTrailingInclude
|
|
26
|
+
readonly progress: ProgressInclude
|
|
27
|
+
readonly ripple: RippleInclude
|
|
28
|
+
readonly skeleton: SkeletonInclude
|
|
29
|
+
|
|
30
|
+
readonly event: EventClickInclude
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Constructor
|
|
34
|
+
* @param props input data/ входные данные
|
|
35
|
+
* @param refs input data in the form of reactive elements/ входные данные в виде реактивных элементов
|
|
36
|
+
* @param element input element/ элемент ввода
|
|
37
|
+
* @param classDesign design name/ название дизайна
|
|
38
|
+
* @param className class name/ название класса
|
|
39
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
40
|
+
* @param slots object for working with slots/ объект для работы со слотами
|
|
41
|
+
* @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
|
|
42
|
+
*/
|
|
43
|
+
constructor(
|
|
44
|
+
protected readonly props: ButtonPropsBasic,
|
|
45
|
+
protected readonly refs: ToRefs<ButtonPropsBasic>,
|
|
46
|
+
protected readonly element: Ref<HTMLElement | undefined>,
|
|
47
|
+
protected readonly classDesign: string,
|
|
48
|
+
protected readonly className: string,
|
|
49
|
+
protected readonly components?: DesignComp<ButtonComponents, ButtonPropsBasic>,
|
|
50
|
+
protected readonly slots?: ButtonSlots,
|
|
51
|
+
protected readonly emits?: ConstrEmit<ButtonEmits>
|
|
52
|
+
) {
|
|
53
|
+
const progress = new ProgressInclude(
|
|
54
|
+
props,
|
|
55
|
+
className,
|
|
56
|
+
components,
|
|
57
|
+
{
|
|
58
|
+
circular: true,
|
|
59
|
+
inverse: true
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
this.label = new LabelInclude(props, className, undefined, slots)
|
|
64
|
+
this.enabled = new EnabledInclude(props, progress)
|
|
65
|
+
|
|
66
|
+
this.icon = new IconTrailingInclude(props, className, components)
|
|
67
|
+
this.progress = progress
|
|
68
|
+
this.ripple = new RippleInclude(className, components, this.enabled)
|
|
69
|
+
this.skeleton = new SkeletonInclude(
|
|
70
|
+
props,
|
|
71
|
+
classDesign,
|
|
72
|
+
['classBackground']
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
this.event = new EventClickInclude(
|
|
76
|
+
props,
|
|
77
|
+
this.enabled,
|
|
78
|
+
emits
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** values for the class/ значения для класса */
|
|
83
|
+
readonly classes = computed<ConstrClass>(() => ({
|
|
84
|
+
[`${this.className}--icon`]: this.icon.isIcon.value,
|
|
85
|
+
[getClassTegAStatic(this.classDesign)]: true,
|
|
86
|
+
...this.skeleton.classes.value
|
|
87
|
+
}))
|
|
88
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { h, type VNode } from 'vue'
|
|
2
|
+
import {
|
|
3
|
+
type ConstrOptions,
|
|
4
|
+
type ConstrStyles,
|
|
5
|
+
DesignConstructorAbstract
|
|
6
|
+
} from '@dxtmisha/functional'
|
|
7
|
+
|
|
8
|
+
import { Button } from './Button'
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
type ButtonPropsBasic
|
|
12
|
+
} from './props'
|
|
13
|
+
import {
|
|
14
|
+
type ButtonClasses,
|
|
15
|
+
type ButtonComponents,
|
|
16
|
+
type ButtonEmits,
|
|
17
|
+
type ButtonExpose,
|
|
18
|
+
type ButtonSlots
|
|
19
|
+
} from './types'
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* ButtonDesign
|
|
23
|
+
*/
|
|
24
|
+
export class ButtonDesign<
|
|
25
|
+
COMP extends ButtonComponents,
|
|
26
|
+
EXPOSE extends ButtonExpose,
|
|
27
|
+
CLASSES extends ButtonClasses,
|
|
28
|
+
P extends ButtonPropsBasic
|
|
29
|
+
> extends DesignConstructorAbstract<
|
|
30
|
+
HTMLDivElement,
|
|
31
|
+
COMP,
|
|
32
|
+
ButtonEmits,
|
|
33
|
+
EXPOSE,
|
|
34
|
+
ButtonSlots,
|
|
35
|
+
CLASSES,
|
|
36
|
+
P
|
|
37
|
+
> {
|
|
38
|
+
protected readonly item: Button
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Constructor
|
|
42
|
+
* @param name class name/ название класса
|
|
43
|
+
* @param props properties/ свойства
|
|
44
|
+
* @param options list of additional parameters/ список дополнительных параметров
|
|
45
|
+
*/
|
|
46
|
+
constructor(
|
|
47
|
+
name: string,
|
|
48
|
+
props: Readonly<P>,
|
|
49
|
+
options?: ConstrOptions<COMP, ButtonEmits, P>
|
|
50
|
+
) {
|
|
51
|
+
super(
|
|
52
|
+
name,
|
|
53
|
+
props,
|
|
54
|
+
options
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
this.item = new Button(
|
|
58
|
+
this.props,
|
|
59
|
+
this.refs,
|
|
60
|
+
this.element,
|
|
61
|
+
this.getDesign(),
|
|
62
|
+
this.getName(),
|
|
63
|
+
this.components,
|
|
64
|
+
this.slots,
|
|
65
|
+
this.emits
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
this.init()
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Initialization of all the necessary properties for work
|
|
73
|
+
*
|
|
74
|
+
* Инициализация всех необходимых свойств для работы.
|
|
75
|
+
*/
|
|
76
|
+
protected initExpose(): EXPOSE {
|
|
77
|
+
return {
|
|
78
|
+
...this.item.event.expose
|
|
79
|
+
} as EXPOSE
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Improvement of the obtained list of classes.
|
|
84
|
+
*
|
|
85
|
+
* Доработка полученного списка классов.
|
|
86
|
+
*/
|
|
87
|
+
protected initClasses(): Partial<CLASSES> {
|
|
88
|
+
return {
|
|
89
|
+
main: this.item.classes.value,
|
|
90
|
+
...{
|
|
91
|
+
// :classes [!] System label / Системная метка
|
|
92
|
+
label: this.getSubClass('label'),
|
|
93
|
+
icon: this.getSubClass('icon'),
|
|
94
|
+
trailing: this.getSubClass('trailing'),
|
|
95
|
+
loading: this.getSubClass('loading')
|
|
96
|
+
// :classes [!] System label / Системная метка
|
|
97
|
+
}
|
|
98
|
+
} as Partial<CLASSES>
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Refinement of the received list of styles.
|
|
103
|
+
*
|
|
104
|
+
* Доработка полученного списка стилей.
|
|
105
|
+
*/
|
|
106
|
+
protected initStyles(): ConstrStyles {
|
|
107
|
+
return {}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* A method for rendering.
|
|
112
|
+
*
|
|
113
|
+
* Метод для рендеринга.
|
|
114
|
+
*/
|
|
115
|
+
protected initRender(): VNode {
|
|
116
|
+
return h(
|
|
117
|
+
this.props.tag || 'button',
|
|
118
|
+
{
|
|
119
|
+
...this.getAttrs(),
|
|
120
|
+
ref: this.element,
|
|
121
|
+
|
|
122
|
+
class: this.classes?.value.main,
|
|
123
|
+
style: this.styles?.value,
|
|
124
|
+
|
|
125
|
+
disabled: this.item.enabled.isDisabledOrUndefined.value,
|
|
126
|
+
onClick: this.item.event.onClick
|
|
127
|
+
},
|
|
128
|
+
[
|
|
129
|
+
...this.item.progress.render(),
|
|
130
|
+
...this.item.label.render(),
|
|
131
|
+
...this.item.icon.render(),
|
|
132
|
+
...this.item.ripple.render()
|
|
133
|
+
]
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { computed, type VNode } from 'vue'
|
|
2
|
+
import { type ConstrBind, DesignComponents, getBind, getRef, type RefOrNormal } from '@dxtmisha/functional'
|
|
3
|
+
|
|
4
|
+
import type { ButtonComponentInclude, ButtonPropsInclude } from './basicTypes'
|
|
5
|
+
import type { ButtonPropsBasic } from './props'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ButtonInclude class provides functionality for conditionally rendering button components
|
|
9
|
+
* within other components. It manages the logic for determining when to display a button
|
|
10
|
+
* and configures the appropriate properties.
|
|
11
|
+
*
|
|
12
|
+
* Класс ButtonInclude предоставляет функциональность для условного рендеринга компонентов
|
|
13
|
+
* кнопки внутри других компонентов. Он управляет логикой определения необходимости
|
|
14
|
+
* отображения кнопки и настраивает соответствующие свойства.
|
|
15
|
+
*
|
|
16
|
+
* @template Props - Properties interface extending ButtonPropsInclude
|
|
17
|
+
*/
|
|
18
|
+
export class ButtonInclude<Props extends ButtonPropsInclude = ButtonPropsInclude> {
|
|
19
|
+
/**
|
|
20
|
+
* Constructor
|
|
21
|
+
* @param props input parameter/ входной параметр
|
|
22
|
+
* @param className class name/ название класса
|
|
23
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
24
|
+
* @param extra additional parameter/ дополнительный параметр
|
|
25
|
+
* @param index index identifier/ идентификатор индекса
|
|
26
|
+
*/
|
|
27
|
+
constructor(
|
|
28
|
+
protected readonly props: Readonly<Props>,
|
|
29
|
+
protected readonly className: string,
|
|
30
|
+
protected readonly components?: DesignComponents<ButtonComponentInclude, Props>,
|
|
31
|
+
protected readonly extra?: RefOrNormal<ConstrBind<ButtonPropsBasic>>,
|
|
32
|
+
protected readonly index?: string
|
|
33
|
+
) {
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Computed bindings for the button/ Вычисляемые привязки для кнопки
|
|
38
|
+
*/
|
|
39
|
+
readonly binds = computed(
|
|
40
|
+
() => getBind(
|
|
41
|
+
getRef(this.props),
|
|
42
|
+
getRef(this.extra),
|
|
43
|
+
'label'
|
|
44
|
+
)
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Renders the button component with provided properties and configuration.
|
|
49
|
+
* Returns an array of VNode elements representing the rendered button, or an empty
|
|
50
|
+
* array if the component cannot be rendered.
|
|
51
|
+
*
|
|
52
|
+
* Обрисовывает компонент кнопки с предоставленными свойствами и конфигурацией.
|
|
53
|
+
* Возвращает массив VNode элементов, представляющих отрисованную кнопку, или пустой
|
|
54
|
+
* массив, если компонент не может быть отрисованы.
|
|
55
|
+
*
|
|
56
|
+
* @param props additional properties/ дополнительные свойства
|
|
57
|
+
*/
|
|
58
|
+
readonly render = (props?: RefOrNormal<ConstrBind<ButtonPropsBasic>>): VNode[] => {
|
|
59
|
+
if (
|
|
60
|
+
this.components
|
|
61
|
+
&& (
|
|
62
|
+
('label' in this.binds.value)
|
|
63
|
+
|| ('icon' in this.binds.value)
|
|
64
|
+
|| ('iconTrailing' in this.binds.value)
|
|
65
|
+
)
|
|
66
|
+
) {
|
|
67
|
+
return this.components.render(
|
|
68
|
+
'button',
|
|
69
|
+
{
|
|
70
|
+
...this.binds.value,
|
|
71
|
+
...getRef(props)
|
|
72
|
+
},
|
|
73
|
+
undefined,
|
|
74
|
+
this.index ?? 'button'
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return []
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ConstrBind } from '@dxtmisha/functional'
|
|
2
|
+
import type { ButtonPropsBasic } from './props'
|
|
3
|
+
|
|
4
|
+
export type ButtonComponentInclude = {
|
|
5
|
+
button?: object
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ButtonPropsInclude<
|
|
9
|
+
Button extends ButtonPropsBasic = ButtonPropsBasic
|
|
10
|
+
> {
|
|
11
|
+
buttonAttrs?: ConstrBind<Button>
|
|
12
|
+
}
|