@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,49 @@
|
|
|
1
|
+
import type { ConstrClass } from '@dxtmisha/functional'
|
|
2
|
+
import type { FieldCounterComponentInclude } from '../FieldCounter'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Interface for describing which components need to be connected for work.
|
|
6
|
+
*
|
|
7
|
+
* Интерфейс для описания, какие компоненты надо подключить для работы.
|
|
8
|
+
*/
|
|
9
|
+
export type FieldMessageComponents = FieldCounterComponentInclude
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Type describing available events.
|
|
13
|
+
*
|
|
14
|
+
* Тип, описывающий доступные события.
|
|
15
|
+
*/
|
|
16
|
+
export type FieldMessageEmits = {}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Type describing available properties.
|
|
20
|
+
*
|
|
21
|
+
* Тип, описывающий доступные свойства.
|
|
22
|
+
*/
|
|
23
|
+
export interface FieldMessageExpose {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Type describing available slots.
|
|
28
|
+
*
|
|
29
|
+
* Тип, описывающий доступные слоты.
|
|
30
|
+
*/
|
|
31
|
+
export interface FieldMessageSlots {
|
|
32
|
+
/** Slot for helper message/ Слот для вспомогательного сообщения */
|
|
33
|
+
helper?(props: any): any
|
|
34
|
+
|
|
35
|
+
/** Slot for validation message/Слот для сообщения об ошибке */
|
|
36
|
+
validation?(props: any): any
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Type describing subclasses.
|
|
41
|
+
*
|
|
42
|
+
* Тип, описывающий подклассы.
|
|
43
|
+
*/
|
|
44
|
+
export type FieldMessageClasses = {
|
|
45
|
+
main: ConstrClass
|
|
46
|
+
// :classes [!] System label / Системная метка
|
|
47
|
+
info: string
|
|
48
|
+
// :classes [!] System label / Системная метка
|
|
49
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { computed, type ComputedRef, type Ref, type ToRefs } from 'vue'
|
|
2
|
+
import {
|
|
3
|
+
type ConstrClassObject,
|
|
4
|
+
type ConstrEmit,
|
|
5
|
+
DesignComp,
|
|
6
|
+
getBindRef
|
|
7
|
+
} from '@dxtmisha/functional'
|
|
8
|
+
|
|
9
|
+
import { type ImageEventData } from '../Image'
|
|
10
|
+
import { SkeletonInclude } from '../Skeleton'
|
|
11
|
+
|
|
12
|
+
import type { IconComponents, IconEmits, IconSlots } from './types'
|
|
13
|
+
import type { IconProps } from './props'
|
|
14
|
+
import type { IconEventLoad } from './basicTypes'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Base class for working with icons.
|
|
18
|
+
*
|
|
19
|
+
* Базовый класс для работы с иконками.
|
|
20
|
+
*/
|
|
21
|
+
export class Icon {
|
|
22
|
+
/**
|
|
23
|
+
* Returns the property for the base icon/ Возвращает свойство для базовой иконки
|
|
24
|
+
*/
|
|
25
|
+
readonly iconBind: ComputedRef<IconEventLoad['iconBind']>
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Returns the property for the additional icon/ Возвращает свойство для дополнительной иконки
|
|
29
|
+
*/
|
|
30
|
+
readonly iconActiveBind: ComputedRef<IconEventLoad['iconActiveBind']>
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* An object for working with the Skeleton/ Объект для работы с Skeleton
|
|
34
|
+
*/
|
|
35
|
+
readonly skeleton: SkeletonInclude
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Constructor
|
|
39
|
+
* @param props input data/ входные данные
|
|
40
|
+
* @param refs input data in the form of reactive elements/ входные данные в виде реактивных элементов
|
|
41
|
+
* @param element input element/ элемент ввода
|
|
42
|
+
* @param classDesign design name/ название дизайна
|
|
43
|
+
* @param className class name/ название класса
|
|
44
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
45
|
+
* @param slots object for working with slots/ объект для работы со слотами
|
|
46
|
+
* @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
|
|
47
|
+
*/
|
|
48
|
+
constructor(
|
|
49
|
+
protected readonly props: IconProps,
|
|
50
|
+
protected readonly refs: ToRefs<IconProps>,
|
|
51
|
+
protected readonly element: Ref<HTMLElement | undefined>,
|
|
52
|
+
protected readonly classDesign: string,
|
|
53
|
+
protected readonly className: string,
|
|
54
|
+
protected readonly components?: DesignComp<IconComponents, IconProps>,
|
|
55
|
+
protected readonly slots?: IconSlots,
|
|
56
|
+
protected readonly emits?: ConstrEmit<IconEmits>
|
|
57
|
+
) {
|
|
58
|
+
this.iconBind = getBindRef(
|
|
59
|
+
refs.icon,
|
|
60
|
+
computed(() => ({
|
|
61
|
+
class: `${className}__icon`,
|
|
62
|
+
turn: this.props.turn,
|
|
63
|
+
disabled: this.props.disabled,
|
|
64
|
+
hide: this.isActive.value,
|
|
65
|
+
onLoad: this.onLoad
|
|
66
|
+
}))
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
this.iconActiveBind = getBindRef(
|
|
70
|
+
refs.iconActive,
|
|
71
|
+
computed(() => ({
|
|
72
|
+
class: `${className}__iconActive`,
|
|
73
|
+
turn: this.props.turn,
|
|
74
|
+
disabled: this.props.disabled,
|
|
75
|
+
hide: !this.isActive.value
|
|
76
|
+
}))
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
this.skeleton = new SkeletonInclude(
|
|
80
|
+
props,
|
|
81
|
+
classDesign,
|
|
82
|
+
['classBackgroundVariant']
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Checks if the additional icon is active/ Проверяет, активна ли дополнительная иконка
|
|
88
|
+
*/
|
|
89
|
+
readonly isActive = computed<boolean>(() => Boolean(this.props.active && this.props.iconActive))
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Values for the class/ Значения для класса
|
|
93
|
+
*/
|
|
94
|
+
readonly classes = computed<ConstrClassObject>(() => ({
|
|
95
|
+
...this.skeleton.classes.value
|
|
96
|
+
}))
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Triggers an event when the image loading is complete.
|
|
100
|
+
*
|
|
101
|
+
* Вызывает событие, когда завершится загрузка картинки.
|
|
102
|
+
* @param event event object/ объект события
|
|
103
|
+
*/
|
|
104
|
+
protected readonly onLoad = (event: ImageEventData) => this.emits?.('load', event)
|
|
105
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { h, type VNode } from 'vue'
|
|
2
|
+
import {
|
|
3
|
+
type ConstrOptions,
|
|
4
|
+
type ConstrStyles,
|
|
5
|
+
DesignConstructorAbstract
|
|
6
|
+
} from '@dxtmisha/functional'
|
|
7
|
+
|
|
8
|
+
import { Icon } from './Icon'
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
type IconPropsBasic
|
|
12
|
+
} from './props'
|
|
13
|
+
import {
|
|
14
|
+
type IconClasses,
|
|
15
|
+
type IconComponents,
|
|
16
|
+
type IconEmits,
|
|
17
|
+
type IconExpose,
|
|
18
|
+
type IconSlots
|
|
19
|
+
} from './types'
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* IconDesign
|
|
23
|
+
*/
|
|
24
|
+
export class IconDesign<
|
|
25
|
+
COMP extends IconComponents,
|
|
26
|
+
EXPOSE extends IconExpose,
|
|
27
|
+
CLASSES extends IconClasses,
|
|
28
|
+
P extends IconPropsBasic
|
|
29
|
+
> extends DesignConstructorAbstract<
|
|
30
|
+
HTMLDivElement,
|
|
31
|
+
COMP,
|
|
32
|
+
IconEmits,
|
|
33
|
+
EXPOSE,
|
|
34
|
+
IconSlots,
|
|
35
|
+
CLASSES,
|
|
36
|
+
P
|
|
37
|
+
> {
|
|
38
|
+
protected readonly item: Icon
|
|
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, IconEmits, P>
|
|
50
|
+
) {
|
|
51
|
+
super(
|
|
52
|
+
name,
|
|
53
|
+
props,
|
|
54
|
+
options
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
this.item = new Icon(
|
|
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
|
+
* Render the main icon.
|
|
73
|
+
*
|
|
74
|
+
* Рендер основной иконки.
|
|
75
|
+
*/
|
|
76
|
+
readonly renderIcon = (): VNode | undefined => {
|
|
77
|
+
return this.components.renderOne(
|
|
78
|
+
'image',
|
|
79
|
+
this.item.iconBind.value,
|
|
80
|
+
undefined,
|
|
81
|
+
'icon'
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Render the secondary icon.
|
|
87
|
+
*
|
|
88
|
+
* Рендер вторичной иконки.
|
|
89
|
+
*/
|
|
90
|
+
readonly renderIconActive = (): VNode | undefined => {
|
|
91
|
+
return this.components.renderOne(
|
|
92
|
+
'image',
|
|
93
|
+
this.item.iconActiveBind.value,
|
|
94
|
+
undefined,
|
|
95
|
+
'iconActive'
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Initialization of all the necessary properties for work<br>
|
|
101
|
+
* Инициализация всех необходимых свойств для работы.
|
|
102
|
+
*/
|
|
103
|
+
protected initExpose(): EXPOSE {
|
|
104
|
+
return {
|
|
105
|
+
isActive: this.item.isActive
|
|
106
|
+
} as EXPOSE
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Improvement of the obtained list of classes.<br>
|
|
111
|
+
* Доработка полученного списка классов.
|
|
112
|
+
*/
|
|
113
|
+
protected initClasses(): Partial<CLASSES> {
|
|
114
|
+
return {
|
|
115
|
+
main: this.item.classes.value,
|
|
116
|
+
...{
|
|
117
|
+
// :classes [!] System label / Системная метка
|
|
118
|
+
// :classes [!] System label / Системная метка
|
|
119
|
+
}
|
|
120
|
+
} as Partial<CLASSES>
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Refinement of the received list of styles.<br>
|
|
125
|
+
* Доработка полученного списка стилей.
|
|
126
|
+
*/
|
|
127
|
+
protected initStyles(): ConstrStyles {
|
|
128
|
+
return {}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* A method for rendering.<br>
|
|
133
|
+
* Метод для рендеринга.
|
|
134
|
+
*/
|
|
135
|
+
protected initRender(): VNode {
|
|
136
|
+
const children: any[] = []
|
|
137
|
+
|
|
138
|
+
this.initSlot('default', children)
|
|
139
|
+
|
|
140
|
+
if (this.props.icon) {
|
|
141
|
+
children.push(this.renderIcon())
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (this.props.iconActive) {
|
|
145
|
+
children.push(this.renderIconActive())
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return h(
|
|
149
|
+
'span',
|
|
150
|
+
{
|
|
151
|
+
...this.getAttrs(),
|
|
152
|
+
class: this.classes?.value.main
|
|
153
|
+
},
|
|
154
|
+
children
|
|
155
|
+
)
|
|
156
|
+
}
|
|
157
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { computed } from 'vue'
|
|
2
|
+
import { type ConstrBind, DesignComponents, getBind, getRef, type RefOrNormal, toBinds } from '@dxtmisha/functional'
|
|
3
|
+
|
|
4
|
+
import { IconLiteInclude } from './IconLiteInclude'
|
|
5
|
+
|
|
6
|
+
import type { IconComponentInclude, IconPropsInclude } from './basicTypes'
|
|
7
|
+
import type { IconPropsBasic } from './props'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Class for simplified integration of the icon-handling component
|
|
11
|
+
*
|
|
12
|
+
* Класс для упрощённого внедрения компонента для работы с иконками
|
|
13
|
+
*/
|
|
14
|
+
export class IconInclude<
|
|
15
|
+
Props extends IconPropsInclude = IconPropsInclude
|
|
16
|
+
> extends IconLiteInclude<Props> {
|
|
17
|
+
/**
|
|
18
|
+
* Constructor
|
|
19
|
+
* @param props input parameter/ входной параметр
|
|
20
|
+
* @param className class name/ название класса
|
|
21
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
22
|
+
* @param extra additional parameter/ дополнительный параметр
|
|
23
|
+
* @param turn should the icon be flipped/ надо ли перевернуть иконку
|
|
24
|
+
* @param dir should the icon be mirrored/ надо ли зеркально отображать иконка
|
|
25
|
+
* @param start add sorting at the beginning/ добавить сортировку в начале
|
|
26
|
+
* @param end add sorting at the end/ добавить сортировку в конце
|
|
27
|
+
*/
|
|
28
|
+
constructor(
|
|
29
|
+
protected readonly props: Readonly<Props>,
|
|
30
|
+
protected readonly className: string,
|
|
31
|
+
protected readonly components?: DesignComponents<IconComponentInclude, Props>,
|
|
32
|
+
protected readonly extra?: RefOrNormal<ConstrBind<IconPropsBasic>>,
|
|
33
|
+
protected readonly turn?: RefOrNormal<boolean>,
|
|
34
|
+
protected readonly dir?: RefOrNormal<boolean>,
|
|
35
|
+
protected readonly start: RefOrNormal<boolean | undefined> = false,
|
|
36
|
+
protected readonly end: RefOrNormal<boolean | undefined> = false
|
|
37
|
+
) {
|
|
38
|
+
super(props, className, components, extra)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* List of properties for the icon component/ Список свойств для компонента иконки
|
|
43
|
+
*/
|
|
44
|
+
readonly iconBind = computed(() => getBind(
|
|
45
|
+
this.props.icon,
|
|
46
|
+
{
|
|
47
|
+
active: this.props.selected,
|
|
48
|
+
turn: getRef(this.turn) ?? this.props.iconTurn,
|
|
49
|
+
hide: this.props.iconHide,
|
|
50
|
+
asPalette: this.props.iconPalette,
|
|
51
|
+
animationType: 'type2',
|
|
52
|
+
dir: getRef(this.dir) ?? this.props.iconDir,
|
|
53
|
+
start: this.start,
|
|
54
|
+
end: this.end,
|
|
55
|
+
...toBinds(
|
|
56
|
+
this.getExtra(),
|
|
57
|
+
this.props.iconAttrs,
|
|
58
|
+
this.getClasses(this.props.iconAttrs?.class)
|
|
59
|
+
),
|
|
60
|
+
...this.getEventType()
|
|
61
|
+
},
|
|
62
|
+
'icon'
|
|
63
|
+
))
|
|
64
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { computed, type VNode } from 'vue'
|
|
2
|
+
import {
|
|
3
|
+
type ConstrBind,
|
|
4
|
+
type ConstrClass,
|
|
5
|
+
DesignComponents,
|
|
6
|
+
getBind,
|
|
7
|
+
getRef,
|
|
8
|
+
isFilled,
|
|
9
|
+
type RefOrNormal
|
|
10
|
+
} from '@dxtmisha/functional'
|
|
11
|
+
|
|
12
|
+
import type { IconComponentInclude, IconLitePropsInclude } from './basicTypes'
|
|
13
|
+
import type { IconPropsBasic } from './props'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Class for simplified integration of the icon-handling component
|
|
17
|
+
*
|
|
18
|
+
* Класс для упрощённого внедрения компонента для работы с иконками
|
|
19
|
+
*/
|
|
20
|
+
export class IconLiteInclude<Props extends IconLitePropsInclude = IconLitePropsInclude> {
|
|
21
|
+
/**
|
|
22
|
+
* Constructor
|
|
23
|
+
* @param props input parameter/ входной параметр
|
|
24
|
+
* @param className class name/ название класса
|
|
25
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
26
|
+
* @param extra additional parameter/ дополнительный параметр
|
|
27
|
+
*/
|
|
28
|
+
constructor(
|
|
29
|
+
protected readonly props: Readonly<Props>,
|
|
30
|
+
protected readonly className: string,
|
|
31
|
+
protected readonly components?: DesignComponents<IconComponentInclude, Props>,
|
|
32
|
+
protected readonly extra?: RefOrNormal<ConstrBind<IconPropsBasic>>
|
|
33
|
+
) {
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Checks whether an icon is specified for rendering the component/
|
|
38
|
+
* Проверяет, указана ли иконка для отображения компонента
|
|
39
|
+
*/
|
|
40
|
+
readonly isIcon = computed<boolean>(() => Boolean(this.props.icon))
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* List of properties for the icon component/ Список свойств для компонента иконки
|
|
44
|
+
*/
|
|
45
|
+
readonly iconBind = computed(() => getBind(
|
|
46
|
+
this.props.icon,
|
|
47
|
+
{
|
|
48
|
+
...this.getExtra(),
|
|
49
|
+
...this.getClasses(),
|
|
50
|
+
...this.getEventType()
|
|
51
|
+
},
|
|
52
|
+
'icon'
|
|
53
|
+
))
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Render of the Icon component
|
|
57
|
+
*
|
|
58
|
+
* Рендер компонента иконка
|
|
59
|
+
*/
|
|
60
|
+
readonly renderIcon = (): VNode[] => {
|
|
61
|
+
if (
|
|
62
|
+
this.components
|
|
63
|
+
&& isFilled(this.props.icon)
|
|
64
|
+
) {
|
|
65
|
+
return this.components.render(
|
|
66
|
+
'icon',
|
|
67
|
+
this.iconBind.value
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return []
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Returns an additional property
|
|
76
|
+
*
|
|
77
|
+
* Возвращает дополнительное свойство
|
|
78
|
+
*/
|
|
79
|
+
protected getExtra() {
|
|
80
|
+
return getRef(this.extra)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Returns a list of classes
|
|
85
|
+
*
|
|
86
|
+
* Возвращает список классов
|
|
87
|
+
* @param classesUser list of additional classes/ список дополнительных классов
|
|
88
|
+
* @param name class name/ название класса
|
|
89
|
+
*/
|
|
90
|
+
protected getClasses(
|
|
91
|
+
classesUser?: ConstrClass,
|
|
92
|
+
name: string = 'icon'
|
|
93
|
+
): { class: ConstrClass } {
|
|
94
|
+
const classes: ConstrClass = [`${this.className}__${name}`]
|
|
95
|
+
const classesExtra = this.getExtra()?.class
|
|
96
|
+
|
|
97
|
+
if (classesExtra) {
|
|
98
|
+
classes.push(classesExtra)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (classesUser) {
|
|
102
|
+
classes.push(classesUser)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return {
|
|
106
|
+
class: classes
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Returns the type used to determine when an event is triggered
|
|
112
|
+
*
|
|
113
|
+
* Возвращает тип для определения при срабатывании события
|
|
114
|
+
* @param type event type/ тип события
|
|
115
|
+
*/
|
|
116
|
+
protected getEventType(type: string = 'icon'): Record<string, string> {
|
|
117
|
+
return {
|
|
118
|
+
'data-event-type': type
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { computed, type VNode } from 'vue'
|
|
2
|
+
import { type ConstrBind, DesignComponents, getBind, isFilled, type RefOrNormal, toBinds } from '@dxtmisha/functional'
|
|
3
|
+
|
|
4
|
+
import { IconInclude } from './IconInclude'
|
|
5
|
+
|
|
6
|
+
import type { IconComponentInclude, IconTrailingPropsInclude } from './basicTypes'
|
|
7
|
+
import type { IconPropsBasic } from './props'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Class for simplified integration of the icon-handling component
|
|
11
|
+
*
|
|
12
|
+
* Класс для упрощённого внедрения компонента для работы с иконками
|
|
13
|
+
*/
|
|
14
|
+
export class IconTrailingInclude<
|
|
15
|
+
Props extends IconTrailingPropsInclude = IconTrailingPropsInclude
|
|
16
|
+
> extends IconInclude<Props> {
|
|
17
|
+
/**
|
|
18
|
+
* Constructor
|
|
19
|
+
* @param props input parameter/ входной параметр
|
|
20
|
+
* @param className class name/ название класса
|
|
21
|
+
* @param components object for working with components/ объект для работы с компонентами
|
|
22
|
+
* @param extra additional parameter/ дополнительный параметр
|
|
23
|
+
*/
|
|
24
|
+
constructor(
|
|
25
|
+
protected readonly props: Readonly<Props>,
|
|
26
|
+
protected readonly className: string,
|
|
27
|
+
protected readonly components?: DesignComponents<IconComponentInclude, Props>,
|
|
28
|
+
protected readonly extra?: RefOrNormal<ConstrBind<IconPropsBasic>>
|
|
29
|
+
) {
|
|
30
|
+
super(
|
|
31
|
+
props,
|
|
32
|
+
className,
|
|
33
|
+
components,
|
|
34
|
+
extra,
|
|
35
|
+
computed(() => Boolean(!props.iconTrailing && !props.iconTrailingTurnOnly && props.iconTurn)),
|
|
36
|
+
computed(() => Boolean(!props.iconTrailing && !props.iconTrailingDirOnly && props.iconDir)),
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Checks whether an icon is specified for rendering the component/
|
|
43
|
+
* Проверяет, указана ли иконка для отображения компонента
|
|
44
|
+
*/
|
|
45
|
+
readonly isIconTrailing = computed<boolean>(() => Boolean(this.props.iconTrailing))
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Checks if there is at least one icon/
|
|
49
|
+
* Проверяет, есть ли хотя бы одна иконка
|
|
50
|
+
*/
|
|
51
|
+
readonly hasAtLeastOneIcon = computed<boolean>(() => Boolean(this.props.iconTrailing || this.props.icon))
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* list of properties for the secondary icon component/ список свойств для вторичного компонента иконки
|
|
55
|
+
*/
|
|
56
|
+
readonly trailingBind = computed(() => getBind(
|
|
57
|
+
this.props.iconTrailing,
|
|
58
|
+
{
|
|
59
|
+
turn: this.props.iconTurn,
|
|
60
|
+
asPalette: this.props.iconPalette,
|
|
61
|
+
dir: this.props.iconDir,
|
|
62
|
+
end: true,
|
|
63
|
+
high: true,
|
|
64
|
+
...toBinds(
|
|
65
|
+
this.getExtra(),
|
|
66
|
+
this.props.iconAttrs,
|
|
67
|
+
this.getClasses(this.props.iconAttrs?.class, 'trailing')
|
|
68
|
+
),
|
|
69
|
+
...this.getEventType('icon-trailing')
|
|
70
|
+
},
|
|
71
|
+
'icon'
|
|
72
|
+
))
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Render of the secondary icon component
|
|
76
|
+
*
|
|
77
|
+
* Рендер вторичного компонента иконки
|
|
78
|
+
*/
|
|
79
|
+
readonly renderIconTrailing = (): VNode[] => {
|
|
80
|
+
if (
|
|
81
|
+
this.components
|
|
82
|
+
&& isFilled(this.props.iconTrailing)
|
|
83
|
+
) {
|
|
84
|
+
return this.components.render(
|
|
85
|
+
'icon',
|
|
86
|
+
this.trailingBind.value,
|
|
87
|
+
undefined,
|
|
88
|
+
'iconTrailing'
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return []
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Method for rendering all icons — first the main ones, then the additional icons
|
|
97
|
+
*
|
|
98
|
+
* Метод для рендеринга всех иконок — сначала основных, затем дополнительных
|
|
99
|
+
*/
|
|
100
|
+
readonly render = (): VNode[] => {
|
|
101
|
+
return [
|
|
102
|
+
...this.renderIcon(),
|
|
103
|
+
...this.renderIconTrailing()
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ConstrBind, ConstrItem } from '@dxtmisha/functional'
|
|
2
|
+
|
|
3
|
+
import type { IconPropsBasic } from './props'
|
|
4
|
+
|
|
5
|
+
export type IconEventLoad = {
|
|
6
|
+
isActive: boolean
|
|
7
|
+
iconBind: ConstrItem | undefined
|
|
8
|
+
iconActiveBind: ConstrItem | undefined
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export type IconValue<
|
|
12
|
+
Icon extends IconPropsBasic = IconPropsBasic
|
|
13
|
+
> = string | ConstrBind<Icon> | null
|
|
14
|
+
|
|
15
|
+
export type IconComponentInclude = {
|
|
16
|
+
icon?: object
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface IconLitePropsInclude<
|
|
20
|
+
Icon extends IconPropsBasic = IconPropsBasic
|
|
21
|
+
> {
|
|
22
|
+
// Values
|
|
23
|
+
icon?: IconValue<Icon>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface IconPropsInclude<
|
|
27
|
+
Icon extends IconPropsBasic = IconPropsBasic
|
|
28
|
+
> extends IconLitePropsInclude<Icon> {
|
|
29
|
+
// Status
|
|
30
|
+
selected?: boolean
|
|
31
|
+
iconTurn?: boolean
|
|
32
|
+
iconHide?: boolean
|
|
33
|
+
|
|
34
|
+
// Style
|
|
35
|
+
iconDir?: boolean
|
|
36
|
+
iconPalette?: boolean
|
|
37
|
+
iconAttrs?: ConstrBind<Icon>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IconTrailingPropsInclude<
|
|
41
|
+
Icon extends IconPropsBasic = IconPropsBasic
|
|
42
|
+
> extends IconPropsInclude<Icon> {
|
|
43
|
+
// Values
|
|
44
|
+
iconTrailing?: IconValue<Icon>
|
|
45
|
+
|
|
46
|
+
// Style
|
|
47
|
+
iconTrailingTurnOnly?: boolean
|
|
48
|
+
iconTrailingDirOnly?: boolean
|
|
49
|
+
iconTrailingPalette?: boolean
|
|
50
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"width": {
|
|
3
|
+
"_type": "var"
|
|
4
|
+
},
|
|
5
|
+
"~turn": {},
|
|
6
|
+
"~disabled": {},
|
|
7
|
+
"~hide": {},
|
|
8
|
+
"~asPalette": {},
|
|
9
|
+
"~dir": {},
|
|
10
|
+
"~overlay": {},
|
|
11
|
+
"~dynamic": {},
|
|
12
|
+
"~start": {
|
|
13
|
+
"_category": "order"
|
|
14
|
+
},
|
|
15
|
+
"~end": {
|
|
16
|
+
"_category": "order"
|
|
17
|
+
},
|
|
18
|
+
"~high": {},
|
|
19
|
+
"~animation-type": {
|
|
20
|
+
"~type1": {},
|
|
21
|
+
"~type2": {},
|
|
22
|
+
"_default": "type1"
|
|
23
|
+
},
|
|
24
|
+
"~animation-show": {}
|
|
25
|
+
}
|