@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.
Files changed (311) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/package.json +124 -0
  4. package/src/classes/CaptionInclude.ts +71 -0
  5. package/src/classes/DescriptionInclude.ts +70 -0
  6. package/src/classes/EnabledInclude.ts +56 -0
  7. package/src/classes/EventClickInclude.ts +138 -0
  8. package/src/classes/LabelHighlightInclude.ts +90 -0
  9. package/src/classes/LabelInclude.ts +171 -0
  10. package/src/classes/LabelNumberInclude.ts +70 -0
  11. package/src/classes/ModelInclude.ts +49 -0
  12. package/src/classes/PrefixInclude.ts +71 -0
  13. package/src/classes/SuffixInclude.ts +71 -0
  14. package/src/classes/field/FieldAttributesInclude.ts +100 -0
  15. package/src/classes/field/FieldChangeInclude.ts +52 -0
  16. package/src/classes/field/FieldCodeInclude.ts +69 -0
  17. package/src/classes/field/FieldElementInclude.ts +97 -0
  18. package/src/classes/field/FieldInputCheckInclude.ts +128 -0
  19. package/src/classes/field/FieldMatchInclude.ts +101 -0
  20. package/src/classes/field/FieldPatternInclude.ts +42 -0
  21. package/src/classes/field/FieldTypeInclude.ts +42 -0
  22. package/src/classes/field/FieldValidationInclude.ts +196 -0
  23. package/src/classes/field/FieldValueInclude.ts +318 -0
  24. package/src/classes/field/FieldVisibilityInclude.ts +21 -0
  25. package/src/constructors/Badge/Badge.ts +73 -0
  26. package/src/constructors/Badge/BadgeDesign.tsx +127 -0
  27. package/src/constructors/Badge/BadgeInclude.ts +78 -0
  28. package/src/constructors/Badge/basicTypes.ts +15 -0
  29. package/src/constructors/Badge/index.ts +5 -0
  30. package/src/constructors/Badge/properties.json +36 -0
  31. package/src/constructors/Badge/props.ts +43 -0
  32. package/src/constructors/Badge/style.scss +83 -0
  33. package/src/constructors/Badge/types.ts +47 -0
  34. package/src/constructors/Bars/Bars.ts +188 -0
  35. package/src/constructors/Bars/BarsAction.ts +57 -0
  36. package/src/constructors/Bars/BarsDesign.tsx +229 -0
  37. package/src/constructors/Bars/BarsInclude.ts +116 -0
  38. package/src/constructors/Bars/basicTypes.ts +40 -0
  39. package/src/constructors/Bars/index.ts +6 -0
  40. package/src/constructors/Bars/properties.json +6 -0
  41. package/src/constructors/Bars/props.ts +63 -0
  42. package/src/constructors/Bars/style.scss +18 -0
  43. package/src/constructors/Bars/types.ts +58 -0
  44. package/src/constructors/Button/Button.ts +88 -0
  45. package/src/constructors/Button/ButtonDesign.tsx +136 -0
  46. package/src/constructors/Button/ButtonInclude.ts +80 -0
  47. package/src/constructors/Button/basicTypes.ts +12 -0
  48. package/src/constructors/Button/index.ts +5 -0
  49. package/src/constructors/Button/properties.json +84 -0
  50. package/src/constructors/Button/props.ts +55 -0
  51. package/src/constructors/Button/style.scss +96 -0
  52. package/src/constructors/Button/types.ts +56 -0
  53. package/src/constructors/Cell/Cell.ts +127 -0
  54. package/src/constructors/Cell/CellDesign.tsx +203 -0
  55. package/src/constructors/Cell/basicTypes.ts +6 -0
  56. package/src/constructors/Cell/index.ts +5 -0
  57. package/src/constructors/Cell/properties.json +52 -0
  58. package/src/constructors/Cell/props.ts +61 -0
  59. package/src/constructors/Cell/style.scss +80 -0
  60. package/src/constructors/Cell/types.ts +68 -0
  61. package/src/constructors/Chip/Chip.ts +33 -0
  62. package/src/constructors/Chip/ChipDesign.tsx +26 -0
  63. package/src/constructors/Chip/basicTypes.ts +0 -0
  64. package/src/constructors/Chip/index.ts +4 -0
  65. package/src/constructors/Chip/properties.json +3 -0
  66. package/src/constructors/Chip/props.ts +44 -0
  67. package/src/constructors/Chip/style.scss +6 -0
  68. package/src/constructors/Chip/types.ts +53 -0
  69. package/src/constructors/Field/Field.ts +147 -0
  70. package/src/constructors/Field/FieldDesign.tsx +372 -0
  71. package/src/constructors/Field/FieldIcons.ts +99 -0
  72. package/src/constructors/Field/FieldInclude.ts +72 -0
  73. package/src/constructors/Field/FieldSize.ts +93 -0
  74. package/src/constructors/Field/basicTypes.ts +90 -0
  75. package/src/constructors/Field/index.ts +5 -0
  76. package/src/constructors/Field/properties.json +86 -0
  77. package/src/constructors/Field/props.ts +88 -0
  78. package/src/constructors/Field/style.scss +556 -0
  79. package/src/constructors/Field/types.ts +78 -0
  80. package/src/constructors/FieldCounter/FieldCounter.ts +75 -0
  81. package/src/constructors/FieldCounter/FieldCounterDesign.tsx +122 -0
  82. package/src/constructors/FieldCounter/FieldCounterInclude.ts +98 -0
  83. package/src/constructors/FieldCounter/basicTypes.ts +25 -0
  84. package/src/constructors/FieldCounter/index.ts +6 -0
  85. package/src/constructors/FieldCounter/properties.json +3 -0
  86. package/src/constructors/FieldCounter/props.ts +32 -0
  87. package/src/constructors/FieldCounter/style.scss +4 -0
  88. package/src/constructors/FieldCounter/types.ts +42 -0
  89. package/src/constructors/FieldLabel/FieldLabel.ts +93 -0
  90. package/src/constructors/FieldLabel/FieldLabelDesign.tsx +156 -0
  91. package/src/constructors/FieldLabel/FieldLabelInclude.ts +91 -0
  92. package/src/constructors/FieldLabel/basicTypes.ts +34 -0
  93. package/src/constructors/FieldLabel/index.ts +6 -0
  94. package/src/constructors/FieldLabel/properties.json +4 -0
  95. package/src/constructors/FieldLabel/props.ts +40 -0
  96. package/src/constructors/FieldLabel/style.scss +10 -0
  97. package/src/constructors/FieldLabel/types.ts +49 -0
  98. package/src/constructors/FieldMessage/FieldMessage.ts +79 -0
  99. package/src/constructors/FieldMessage/FieldMessageDesign.tsx +159 -0
  100. package/src/constructors/FieldMessage/FieldMessageInclude.ts +105 -0
  101. package/src/constructors/FieldMessage/FieldMessageMessage.ts +54 -0
  102. package/src/constructors/FieldMessage/basicTypes.ts +27 -0
  103. package/src/constructors/FieldMessage/index.ts +6 -0
  104. package/src/constructors/FieldMessage/properties.json +9 -0
  105. package/src/constructors/FieldMessage/props.ts +40 -0
  106. package/src/constructors/FieldMessage/style.scss +13 -0
  107. package/src/constructors/FieldMessage/types.ts +49 -0
  108. package/src/constructors/Icon/Icon.ts +105 -0
  109. package/src/constructors/Icon/IconDesign.tsx +157 -0
  110. package/src/constructors/Icon/IconInclude.ts +64 -0
  111. package/src/constructors/Icon/IconLiteInclude.ts +121 -0
  112. package/src/constructors/Icon/IconTrailingInclude.ts +106 -0
  113. package/src/constructors/Icon/basicTypes.ts +50 -0
  114. package/src/constructors/Icon/index.ts +8 -0
  115. package/src/constructors/Icon/properties.json +25 -0
  116. package/src/constructors/Icon/props.ts +54 -0
  117. package/src/constructors/Icon/style.scss +106 -0
  118. package/src/constructors/Icon/types.ts +46 -0
  119. package/src/constructors/Image/Image.ts +184 -0
  120. package/src/constructors/Image/ImageAdaptiveGroup.ts +230 -0
  121. package/src/constructors/Image/ImageAdaptiveItem.ts +295 -0
  122. package/src/constructors/Image/ImageBackground.ts +127 -0
  123. package/src/constructors/Image/ImageCalculation.ts +184 -0
  124. package/src/constructors/Image/ImageCalculationList.ts +61 -0
  125. package/src/constructors/Image/ImageCoordinator.ts +104 -0
  126. package/src/constructors/Image/ImageData.ts +99 -0
  127. package/src/constructors/Image/ImageDesign.tsx +137 -0
  128. package/src/constructors/Image/ImageFile.ts +137 -0
  129. package/src/constructors/Image/ImageInclude.ts +53 -0
  130. package/src/constructors/Image/ImagePdf.ts +44 -0
  131. package/src/constructors/Image/ImagePosition.ts +49 -0
  132. package/src/constructors/Image/ImageType.ts +83 -0
  133. package/src/constructors/Image/basicTypes.ts +70 -0
  134. package/src/constructors/Image/index.ts +5 -0
  135. package/src/constructors/Image/properties.json +17 -0
  136. package/src/constructors/Image/props.ts +66 -0
  137. package/src/constructors/Image/style.scss +77 -0
  138. package/src/constructors/Image/types.ts +49 -0
  139. package/src/constructors/List/List.ts +267 -0
  140. package/src/constructors/List/ListControl.ts +194 -0
  141. package/src/constructors/List/ListDesign.tsx +382 -0
  142. package/src/constructors/List/ListFocus.ts +196 -0
  143. package/src/constructors/List/ListGo.ts +283 -0
  144. package/src/constructors/List/ListSearch.ts +113 -0
  145. package/src/constructors/List/basicTypes.ts +3 -0
  146. package/src/constructors/List/index.ts +5 -0
  147. package/src/constructors/List/properties.json +16 -0
  148. package/src/constructors/List/props.ts +76 -0
  149. package/src/constructors/List/style.scss +36 -0
  150. package/src/constructors/List/types.ts +66 -0
  151. package/src/constructors/ListGroup/ListGroup.ts +53 -0
  152. package/src/constructors/ListGroup/ListGroupDesign.tsx +180 -0
  153. package/src/constructors/ListGroup/ListGroupOpen.ts +56 -0
  154. package/src/constructors/ListGroup/basicTypes.ts +3 -0
  155. package/src/constructors/ListGroup/index.ts +5 -0
  156. package/src/constructors/ListGroup/properties.json +15 -0
  157. package/src/constructors/ListGroup/props.ts +30 -0
  158. package/src/constructors/ListGroup/style.scss +18 -0
  159. package/src/constructors/ListGroup/types.ts +51 -0
  160. package/src/constructors/ListItem/ListItem.ts +115 -0
  161. package/src/constructors/ListItem/ListItemDesign.tsx +196 -0
  162. package/src/constructors/ListItem/basicTypes.ts +3 -0
  163. package/src/constructors/ListItem/index.ts +5 -0
  164. package/src/constructors/ListItem/properties.json +52 -0
  165. package/src/constructors/ListItem/props.ts +78 -0
  166. package/src/constructors/ListItem/style.scss +152 -0
  167. package/src/constructors/ListItem/types.ts +78 -0
  168. package/src/constructors/ListMenu/ListMenu.ts +52 -0
  169. package/src/constructors/ListMenu/ListMenuDesign.tsx +127 -0
  170. package/src/constructors/ListMenu/basicTypes.ts +3 -0
  171. package/src/constructors/ListMenu/index.ts +5 -0
  172. package/src/constructors/ListMenu/properties.json +19 -0
  173. package/src/constructors/ListMenu/props.ts +34 -0
  174. package/src/constructors/ListMenu/style.scss +5 -0
  175. package/src/constructors/ListMenu/types.ts +54 -0
  176. package/src/constructors/Mask/Mask.ts +321 -0
  177. package/src/constructors/Mask/MaskBuffer.ts +89 -0
  178. package/src/constructors/Mask/MaskCharacter.ts +192 -0
  179. package/src/constructors/Mask/MaskCharacterLength.ts +40 -0
  180. package/src/constructors/Mask/MaskData.ts +287 -0
  181. package/src/constructors/Mask/MaskDate.ts +157 -0
  182. package/src/constructors/Mask/MaskDesign.tsx +217 -0
  183. package/src/constructors/Mask/MaskEmit.ts +140 -0
  184. package/src/constructors/Mask/MaskEvent.ts +347 -0
  185. package/src/constructors/Mask/MaskFocus.ts +49 -0
  186. package/src/constructors/Mask/MaskFormat.ts +216 -0
  187. package/src/constructors/Mask/MaskItem.ts +218 -0
  188. package/src/constructors/Mask/MaskMatch.ts +73 -0
  189. package/src/constructors/Mask/MaskPattern.ts +123 -0
  190. package/src/constructors/Mask/MaskRight.ts +43 -0
  191. package/src/constructors/Mask/MaskRubber.ts +156 -0
  192. package/src/constructors/Mask/MaskRubberItem.ts +96 -0
  193. package/src/constructors/Mask/MaskRubberTransition.ts +50 -0
  194. package/src/constructors/Mask/MaskSelection.ts +208 -0
  195. package/src/constructors/Mask/MaskSpecial.ts +179 -0
  196. package/src/constructors/Mask/MaskType.ts +103 -0
  197. package/src/constructors/Mask/MaskValidation.ts +102 -0
  198. package/src/constructors/Mask/MaskValue.ts +225 -0
  199. package/src/constructors/Mask/MaskValueBasic.ts +87 -0
  200. package/src/constructors/Mask/MaskView.ts +169 -0
  201. package/src/constructors/Mask/basicTypes.ts +49 -0
  202. package/src/constructors/Mask/index.ts +5 -0
  203. package/src/constructors/Mask/properties.json +29 -0
  204. package/src/constructors/Mask/props.ts +70 -0
  205. package/src/constructors/Mask/style.scss +104 -0
  206. package/src/constructors/Mask/types.ts +71 -0
  207. package/src/constructors/Menu/Menu.ts +179 -0
  208. package/src/constructors/Menu/MenuDesign.tsx +244 -0
  209. package/src/constructors/Menu/MenuInclude.ts +110 -0
  210. package/src/constructors/Menu/MenuRequest.ts +101 -0
  211. package/src/constructors/Menu/MenuSearch.ts +49 -0
  212. package/src/constructors/Menu/MenuValue.ts +73 -0
  213. package/src/constructors/Menu/MenuWindow.ts +89 -0
  214. package/src/constructors/Menu/basicTypes.ts +41 -0
  215. package/src/constructors/Menu/index.ts +6 -0
  216. package/src/constructors/Menu/properties.json +17 -0
  217. package/src/constructors/Menu/props.ts +79 -0
  218. package/src/constructors/Menu/style.scss +17 -0
  219. package/src/constructors/Menu/types.ts +79 -0
  220. package/src/constructors/MotionTransform/MotionTransform.ts +87 -0
  221. package/src/constructors/MotionTransform/MotionTransformClassesInclude.ts +38 -0
  222. package/src/constructors/MotionTransform/MotionTransformDesign.tsx +242 -0
  223. package/src/constructors/MotionTransform/MotionTransformElement.ts +220 -0
  224. package/src/constructors/MotionTransform/MotionTransformEvent.ts +118 -0
  225. package/src/constructors/MotionTransform/MotionTransformGo.ts +47 -0
  226. package/src/constructors/MotionTransform/MotionTransformInclude.ts +123 -0
  227. package/src/constructors/MotionTransform/MotionTransformSize.ts +97 -0
  228. package/src/constructors/MotionTransform/MotionTransformState.ts +250 -0
  229. package/src/constructors/MotionTransform/basicTypes.ts +121 -0
  230. package/src/constructors/MotionTransform/index.ts +7 -0
  231. package/src/constructors/MotionTransform/properties.json +35 -0
  232. package/src/constructors/MotionTransform/props.ts +50 -0
  233. package/src/constructors/MotionTransform/style.scss +180 -0
  234. package/src/constructors/MotionTransform/types.ts +86 -0
  235. package/src/constructors/Progress/Progress.ts +184 -0
  236. package/src/constructors/Progress/ProgressDesign.tsx +175 -0
  237. package/src/constructors/Progress/ProgressInclude.ts +67 -0
  238. package/src/constructors/Progress/basicTypes.ts +12 -0
  239. package/src/constructors/Progress/index.ts +6 -0
  240. package/src/constructors/Progress/properties.json +47 -0
  241. package/src/constructors/Progress/props.ts +54 -0
  242. package/src/constructors/Progress/style.scss +374 -0
  243. package/src/constructors/Progress/types.ts +43 -0
  244. package/src/constructors/Ripple/Ripple.ts +46 -0
  245. package/src/constructors/Ripple/RippleDesign.tsx +112 -0
  246. package/src/constructors/Ripple/RippleInclude.ts +39 -0
  247. package/src/constructors/Ripple/RippleItem.ts +62 -0
  248. package/src/constructors/Ripple/basicTypes.ts +3 -0
  249. package/src/constructors/Ripple/index.ts +6 -0
  250. package/src/constructors/Ripple/properties.json +9 -0
  251. package/src/constructors/Ripple/props.ts +28 -0
  252. package/src/constructors/Ripple/style.scss +62 -0
  253. package/src/constructors/Ripple/types.ts +41 -0
  254. package/src/constructors/Scrollbar/Scrollbar.ts +66 -0
  255. package/src/constructors/Scrollbar/ScrollbarBorder.ts +243 -0
  256. package/src/constructors/Scrollbar/ScrollbarDesign.tsx +126 -0
  257. package/src/constructors/Scrollbar/ScrollbarInclude.ts +80 -0
  258. package/src/constructors/Scrollbar/basicTypes.ts +42 -0
  259. package/src/constructors/Scrollbar/index.ts +5 -0
  260. package/src/constructors/Scrollbar/properties.json +33 -0
  261. package/src/constructors/Scrollbar/props.ts +37 -0
  262. package/src/constructors/Scrollbar/style.scss +117 -0
  263. package/src/constructors/Scrollbar/types.ts +52 -0
  264. package/src/constructors/Skeleton/Skeleton.ts +86 -0
  265. package/src/constructors/Skeleton/SkeletonDesign.tsx +117 -0
  266. package/src/constructors/Skeleton/SkeletonInclude.ts +61 -0
  267. package/src/constructors/Skeleton/basicTypes.ts +16 -0
  268. package/src/constructors/Skeleton/const.ts +1 -0
  269. package/src/constructors/Skeleton/index.ts +6 -0
  270. package/src/constructors/Skeleton/properties.json +24 -0
  271. package/src/constructors/Skeleton/props.ts +28 -0
  272. package/src/constructors/Skeleton/style.scss +112 -0
  273. package/src/constructors/Skeleton/types.ts +46 -0
  274. package/src/constructors/Window/Window.ts +212 -0
  275. package/src/constructors/Window/WindowClasses.ts +180 -0
  276. package/src/constructors/Window/WindowClassesInclude.ts +39 -0
  277. package/src/constructors/Window/WindowClient.ts +93 -0
  278. package/src/constructors/Window/WindowCoordinates.ts +257 -0
  279. package/src/constructors/Window/WindowDesign.tsx +278 -0
  280. package/src/constructors/Window/WindowElement.ts +84 -0
  281. package/src/constructors/Window/WindowEmit.ts +52 -0
  282. package/src/constructors/Window/WindowEvent.ts +157 -0
  283. package/src/constructors/Window/WindowFlash.ts +70 -0
  284. package/src/constructors/Window/WindowHook.ts +110 -0
  285. package/src/constructors/Window/WindowInclude.ts +134 -0
  286. package/src/constructors/Window/WindowOpen.ts +292 -0
  287. package/src/constructors/Window/WindowOrigin.ts +85 -0
  288. package/src/constructors/Window/WindowPersistent.ts +89 -0
  289. package/src/constructors/Window/WindowPosition.ts +358 -0
  290. package/src/constructors/Window/WindowStatic.ts +102 -0
  291. package/src/constructors/Window/WindowStatus.ts +138 -0
  292. package/src/constructors/Window/WindowStyles.ts +78 -0
  293. package/src/constructors/Window/WindowVerification.ts +287 -0
  294. package/src/constructors/Window/basicTypes.ts +186 -0
  295. package/src/constructors/Window/index.ts +7 -0
  296. package/src/constructors/Window/properties.json +236 -0
  297. package/src/constructors/Window/props.ts +88 -0
  298. package/src/constructors/Window/style.scss +262 -0
  299. package/src/constructors/Window/types.ts +124 -0
  300. package/src/functions/getClassTegAStatic.ts +8 -0
  301. package/src/library.ts +36 -0
  302. package/src/types/captionTypes.ts +15 -0
  303. package/src/types/descriptionTypes.ts +15 -0
  304. package/src/types/enabledTypes.ts +9 -0
  305. package/src/types/eventClickTypes.ts +51 -0
  306. package/src/types/fieldTypes.ts +282 -0
  307. package/src/types/labelTypes.ts +30 -0
  308. package/src/types/modelTypes.ts +23 -0
  309. package/src/types/prefixTypes.ts +15 -0
  310. package/src/types/suffixTypes.ts +15 -0
  311. 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,4 @@
1
+ export * from './ChipDesign'
2
+ export * from './props'
3
+ export * from './types'
4
+ export * from './basicTypes'
@@ -0,0 +1,3 @@
1
+ {
2
+ "link|button": "{d.button}"
3
+ }
@@ -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,6 @@
1
+ @use "@dxtmisha/styles/properties" as ui;
2
+ @use "../Button/style" as button;
3
+
4
+ @mixin mixinChip {
5
+ @include button.mixinButton;
6
+ }
@@ -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
+ }