@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,236 @@
1
+ {
2
+ "menuSizeMultiplier": "1",
3
+ "padding": {
4
+ "_type": "var"
5
+ },
6
+ "width": {
7
+ "value": {
8
+ "auto": "auto",
9
+ "max": "100%"
10
+ },
11
+ "_var": true,
12
+ "_style": true
13
+ },
14
+ "height": {
15
+ "value": {
16
+ "auto": "auto",
17
+ "max": "100%"
18
+ },
19
+ "_var": true,
20
+ "_style": true
21
+ },
22
+ "imageSizeValue": {
23
+ "_type": "var"
24
+ },
25
+ "iconPadding": {
26
+ "_type": "var"
27
+ },
28
+ "background-color": {
29
+ "_type": "var"
30
+ },
31
+ "background-opacity": {
32
+ "_type": "var"
33
+ },
34
+ "transform": {
35
+ "_type": "var"
36
+ },
37
+ "transform-origin": {
38
+ "_type": "var"
39
+ },
40
+ "#body": {
41
+ "#group": {},
42
+ "#context": {},
43
+ "_settingClone": true
44
+ },
45
+ "#control": {},
46
+ "#image": {},
47
+ "#close": {},
48
+ "#teleport": {},
49
+ "~hide": {},
50
+ "~axis": {
51
+ "x": {},
52
+ "y": {},
53
+ "on": {},
54
+ "_default": "y"
55
+ },
56
+ "~imagePosition": {
57
+ "~top": {},
58
+ "~left": {},
59
+ "_default": "top"
60
+ },
61
+ "~dense": {
62
+ "padding": {
63
+ "value": "0 !important",
64
+ "_type": "property"
65
+ },
66
+ "#body": {
67
+ "border-radius": "0"
68
+ }
69
+ },
70
+ "~alignment": {
71
+ "~center": {},
72
+ "~top": {
73
+ "align-items": "flex-start"
74
+ },
75
+ "~topRight": {
76
+ "align-items": "flex-start",
77
+ "justify-content": "flex-end"
78
+ },
79
+ "~topLeft": {
80
+ "align-items": "flex-start",
81
+ "justify-content": "flex-start"
82
+ },
83
+ "~topFull": {
84
+ "align-items": "flex-start",
85
+ "#body": {
86
+ "width": "100%"
87
+ }
88
+ },
89
+ "~right": {
90
+ "justify-content": "flex-end"
91
+ },
92
+ "~rightFull": {
93
+ "justify-content": "flex-end",
94
+ "#body": {
95
+ "top": "auto !important",
96
+ "height": "100%"
97
+ }
98
+ },
99
+ "~bottom": {
100
+ "align-items": "flex-end"
101
+ },
102
+ "~bottomRight": {
103
+ "align-items": "flex-end",
104
+ "justify-content": "flex-end"
105
+ },
106
+ "~bottomLeft": {
107
+ "align-items": "flex-end",
108
+ "justify-content": "flex-start"
109
+ },
110
+ "~bottomFull": {
111
+ "align-items": "flex-end",
112
+ "#body": {
113
+ "width": "100%"
114
+ }
115
+ },
116
+ "~left": {
117
+ "justify-content": "flex-start"
118
+ },
119
+ "~leftFull": {
120
+ "justify-content": "flex-start",
121
+ "#body": {
122
+ "top": "auto !important",
123
+ "height": "100%"
124
+ }
125
+ }
126
+ },
127
+ "~origin": {
128
+ "~center": {
129
+ "transform-origin": "center"
130
+ },
131
+ "~top": {
132
+ "transform-origin": "top center"
133
+ },
134
+ "~right": {
135
+ "transform-origin": "center \\#{ui.dirRight()}"
136
+ },
137
+ "~bottom": {
138
+ "transform-origin": "bottom center"
139
+ },
140
+ "~left": {
141
+ "transform-origin": "center \\#{ui.dirLeft()}"
142
+ },
143
+ "~topToBottom": {
144
+ "transform-preparation": "translateY(-64px)",
145
+ "transform-origin": "top center"
146
+ },
147
+ "~rightToLeft": {
148
+ "transform-preparation": "translateX(calc(64px * \\#{ui.isDir()}))",
149
+ "transform-origin": "center \\#{ui.dirRight()}"
150
+ },
151
+ "~bottomToTop": {
152
+ "transform-preparation": "translateY(64px)",
153
+ "transform-origin": "bottom center"
154
+ },
155
+ "~leftToRight": {
156
+ "transform-preparation": "translateX(calc(-64px * \\#{ui.isDir()}))",
157
+ "transform-origin": "center \\#{ui.dirLeft()}"
158
+ }
159
+ },
160
+ "~adaptive": {
161
+ "~menu": {
162
+ "menuSizeMultiplier": "0.5",
163
+ "content": "'--MENU--'",
164
+ "position": "fixed",
165
+ "top": "{??sys.inset.y}",
166
+ "right": "auto",
167
+ "bottom": "auto",
168
+ "left": {
169
+ "value": "{??sys.inset.x}",
170
+ "_modification": false
171
+ },
172
+ "padding": {
173
+ "value": "0",
174
+ "_type": "property"
175
+ },
176
+ "height": "auto",
177
+ "background-opacity": "0",
178
+ "transform-preparation": "scale(.8)",
179
+ "transform-origin": "{??origin.x} {??origin.y}",
180
+ "body": {
181
+ "top": "auto",
182
+ "max-width": "100dvw - ({??padding} * 2)",
183
+ "max-height": "100dvh - ({??padding} * 2)"
184
+ },
185
+ "#teleport": {
186
+ "position": "static",
187
+ "after": {
188
+ "content": "none"
189
+ }
190
+ },
191
+ "~widthMatch": {
192
+ "#body": {
193
+ "min-width": "{??sys.control.width}"
194
+ }
195
+ }
196
+ },
197
+ "~menuWindow": {
198
+ "content": "'--MENU-WINDOW--'"
199
+ },
200
+ "~modal": {},
201
+ "~modalDynamic": {
202
+ "align-items": "flex-start",
203
+ "body": {
204
+ "position": "relative",
205
+ "top": "{??sys.location}"
206
+ }
207
+ },
208
+ "~actionSheetRight": {
209
+ "link|dense": "{??dense}",
210
+ "link|alignment": "{??alignment.rightFull}",
211
+ "link|origin": "{??origin.rightToLeft}"
212
+ },
213
+ "~actionSheetBottom": {
214
+ "link|dense": "{??dense}",
215
+ "link|alignment": "{??alignment.bottomFull}",
216
+ "link|origin": "{??origin.bottomToTop}"
217
+ },
218
+ "~static": {
219
+ "content": "'--STATIC--'"
220
+ }
221
+ },
222
+ "~fullscreen": {
223
+ "link|dense": "{??dense}",
224
+ "#body": {
225
+ "width": "100%",
226
+ "height": "100%",
227
+ "max-width": "none",
228
+ "max-height": "none"
229
+ }
230
+ },
231
+ "~overscroll": {
232
+ "_default": true
233
+ },
234
+ "~closeMobileHide": {},
235
+ "~widthMatch": {}
236
+ }
@@ -0,0 +1,88 @@
1
+ import type { ElementOrString, NormalOrPromise } from '@dxtmisha/functional'
2
+
3
+ import type { ImagePropsBasic, ImagePropsInclude } from '../Image'
4
+ import type { ScrollbarPropsBasic, ScrollbarPropsInclude } from '../Scrollbar'
5
+
6
+ interface WindowPropsToken {
7
+ // :type [!] System label / Системная метка
8
+ width?: string | 'auto' | 'max' | 'custom'
9
+ height?: string | 'auto' | 'max' | 'custom'
10
+ hide?: boolean
11
+ axis?: 'x' | 'y' | 'on'
12
+ imagePosition?: 'top' | 'left'
13
+ dense?: boolean
14
+ alignment?: 'center' | 'top' | 'topRight' | 'topLeft' | 'topFull' | 'right' | 'rightFull' | 'bottom' | 'bottomRight' | 'bottomLeft' | 'bottomFull' | 'left' | 'leftFull'
15
+ origin?: 'center' | 'top' | 'right' | 'bottom' | 'left' | 'topToBottom' | 'rightToLeft' | 'bottomToTop' | 'leftToRight'
16
+ adaptive?: 'menu' | 'menuWindow' | 'modal' | 'modalDynamic' | 'actionSheetRight' | 'actionSheetBottom' | 'static'
17
+ fullscreen?: boolean
18
+ overscroll?: boolean
19
+ closeMobileHide?: boolean
20
+ widthMatch?: boolean
21
+ // :type [!] System label / Системная метка
22
+ }
23
+
24
+ export interface WindowPropsBasic<
25
+ Scrollbar extends ScrollbarPropsBasic = ScrollbarPropsBasic,
26
+ Image extends ImagePropsBasic = ImagePropsBasic
27
+ > extends ScrollbarPropsInclude<Scrollbar>, ImagePropsInclude<Image> {
28
+ // Status
29
+ 'open'?: boolean
30
+ 'disabled'?: boolean
31
+
32
+ // Hook
33
+ 'preparation'?(): NormalOrPromise<void>
34
+
35
+ 'beforeOpening'?(): NormalOrPromise<boolean>
36
+
37
+ 'opening'?(): NormalOrPromise<boolean>
38
+
39
+ 'beforeClosing'?(): NormalOrPromise<boolean>
40
+
41
+ 'closing'?(): NormalOrPromise<boolean>
42
+
43
+ // Style
44
+ 'contextmenu'?: boolean
45
+ 'staticMode'?: boolean
46
+ 'overElement'?: ElementOrString<HTMLElement>
47
+
48
+ 'autoClose'?: boolean
49
+ 'persistent'?: boolean
50
+
51
+ 'flash'?: boolean
52
+ 'inDom'?: boolean
53
+
54
+ 'indent'?: number
55
+ 'divider'?: boolean
56
+
57
+ 'closeButton'?: boolean
58
+ 'iconClose'?: string
59
+
60
+ // Event
61
+ 'modelOpen'?: boolean
62
+ 'onUpdate:open'?: (value: boolean) => void
63
+ 'onUpdate:modelOpen'?: (value: boolean) => void
64
+ }
65
+
66
+ /**
67
+ * Type describing incoming properties.
68
+ *
69
+ * Тип, описывающий входящие свойства.
70
+ */
71
+ export interface WindowProps extends WindowPropsBasic, WindowPropsToken {
72
+ }
73
+
74
+ /**
75
+ * Default value for property.
76
+ *
77
+ * Значение по умолчанию для свойства.
78
+ */
79
+ export const defaultsWindow = {
80
+ indent: 4,
81
+ ...{
82
+ // :default [!] System label / Системная метка
83
+ axis: 'y',
84
+ imagePosition: 'top',
85
+ overscroll: true
86
+ // :default [!] System label / Системная метка
87
+ }
88
+ }
@@ -0,0 +1,262 @@
1
+ @use "@dxtmisha/styles/properties" as ui;
2
+
3
+ @mixin mixinWindow {
4
+ @include ui.initByCustom('opacity', 0);
5
+ @include ui.initByCustom('transform', none);
6
+ @include ui.initByCustom('transformPreparation', scale(.8));
7
+ @include ui.initByCustom('transformOrigin', center);
8
+ @include ui.initByCustom('transition', none);
9
+ @include ui.initByCustom('transitionBody', none);
10
+
11
+ display: none;
12
+ @include ui.contentVisibility(hidden);
13
+ position: sticky;
14
+ @include ui.inset;
15
+
16
+ align-items: center;
17
+ justify-content: center;
18
+
19
+ padding: ui.v('??padding', 0);
20
+ height: 100%;
21
+
22
+ @include ui.backgroundColor(ui.v('??backgroundColor'), 0);
23
+
24
+ transition: ui.v('??transition');
25
+
26
+ &__body {
27
+ content: ui.v('??padding');
28
+ display: flex;
29
+ overflow-y: auto;
30
+ position: relative;
31
+
32
+ flex-flow: column;
33
+ flex-shrink: 1;
34
+
35
+ width: calc(#{ui.v('??width', auto)} * #{ui.v('??menuSizeMultiplier')});
36
+ height: ui.v('??height', auto);
37
+ max-width: 100%;
38
+ max-height: 100%;
39
+
40
+ opacity: ui.v('??opacity');
41
+
42
+ transform: ui.v('??transform');
43
+ transform-origin: ui.v('??transformOrigin');
44
+ transition: ui.v('??transitionBody');
45
+
46
+ &__group {
47
+ display: flex;
48
+ overflow-y: auto;
49
+
50
+ flex-flow: column;
51
+ flex-grow: 1;
52
+ }
53
+
54
+ &__context {
55
+ flex-grow: 1;
56
+ flex-shrink: 1;
57
+ }
58
+ }
59
+
60
+ &__image {
61
+ position: relative;
62
+ height: ui.v('??imageSizeValue');
63
+ }
64
+
65
+ & &__close {
66
+ position: absolute;
67
+ top: ui.v('??iconPaddingY', 0);
68
+ @include ui.right(ui.v('??iconPaddingX', 0));
69
+ z-index: 24;
70
+ }
71
+
72
+ &__teleport {
73
+ visibility: hidden;
74
+ position: fixed;
75
+ @include ui.inset;
76
+ overflow-y: scroll;
77
+ overscroll-behavior-x: contain;
78
+ overscroll-behavior-y: contain;
79
+
80
+ scrollbar-width: none;
81
+ scroll-behavior: auto;
82
+
83
+ &::-webkit-scrollbar {
84
+ appearance: none;
85
+ width: 0;
86
+ height: 0;
87
+ }
88
+
89
+ &:after {
90
+ display: block;
91
+
92
+ height: 120vh;
93
+
94
+ content: " ";
95
+ }
96
+
97
+ &:has(>[data-window-menu="menu"]),
98
+ &[data-window-menu="menu"] {
99
+ position: static;
100
+ @include ui.inset(auto);
101
+ width: 0;
102
+ height: 0;
103
+
104
+ &:after {
105
+ content: none;
106
+ }
107
+ }
108
+
109
+ &:has(>[data-status="display"]),
110
+ &:has(>[data-status="preparation"]),
111
+ &:has(>[data-status="flash"]),
112
+ &:has(>[data-status="open"]),
113
+ &:has(>[data-status="hide"]),
114
+ &[data-status="display"],
115
+ &[data-status="preparation"],
116
+ &[data-status="flash"],
117
+ &[data-status="open"],
118
+ &[data-status="hide"] {
119
+ visibility: visible;
120
+ }
121
+ }
122
+
123
+ &--hide {
124
+ opacity: 0 !important;
125
+ pointer-events: none !important;
126
+ }
127
+
128
+ &--staticMode {
129
+ display: block;
130
+ @include ui.contentVisibility(visible);
131
+ position: static;
132
+
133
+ padding: 0;
134
+
135
+ background-color: transparent;
136
+
137
+ @include ui.subclass('body') {
138
+ opacity: 1;
139
+ background: transparent;
140
+ box-shadow: none;
141
+
142
+ &__context {
143
+ overscroll-behavior-x: auto;
144
+ overscroll-behavior-y: auto;
145
+ }
146
+ }
147
+ }
148
+
149
+ &--overscroll {
150
+ @include ui.subclass('body') {
151
+ &__context {
152
+ overscroll-behavior-x: contain;
153
+ overscroll-behavior-y: contain;
154
+ }
155
+ }
156
+ }
157
+
158
+ &--imagePosition {
159
+ &--left {
160
+ @include ui.subclass('body') {
161
+ flex-flow: row;
162
+
163
+ &__group {
164
+ flex-grow: 1;
165
+ flex-shrink: 1;
166
+ }
167
+ }
168
+
169
+ @include ui.subclass('image') {
170
+ flex-basis: ui.v('??imageSizeValue');
171
+ min-width: ui.v('??imageSizeValue');
172
+ height: auto;
173
+ }
174
+ }
175
+ }
176
+
177
+ &--persistent {
178
+ animation-duration: ui.v('d.sys.transitionDuration.fade.through');
179
+ animation-name: ui.n('??persistent');
180
+ animation-timing-function: ui.v('d.sys.transitionFunction.standard');
181
+ transform-origin: center;
182
+ }
183
+
184
+ &--closeMobileHide {
185
+ @include ui.subclass('close') {
186
+ @media (hover: none) and (pointer: coarse) {
187
+ display: none;
188
+ }
189
+ }
190
+ }
191
+
192
+ &[data-status="display"] {
193
+ display: flex;
194
+ @include ui.contentVisibility(visible);
195
+ }
196
+
197
+ &[data-status="preparation"] {
198
+ @include ui.initByCustom('transform', ui.v('??transformPreparation'));
199
+
200
+ display: flex;
201
+ @include ui.contentVisibility(visible);
202
+ }
203
+
204
+ &[data-status="flash"] {
205
+ @include ui.initByCustom('opacity', 1);
206
+ @include ui.initByCustom('transform', none);
207
+ @include ui.initByCustom('transition', none);
208
+ @include ui.initByCustom('transitionBody', none);
209
+
210
+ display: flex;
211
+ @include ui.contentVisibility(visible);
212
+
213
+ @include ui.backgroundOpacity(ui.v('??backgroundOpacity'));
214
+ }
215
+
216
+ &[data-status="open"] {
217
+ @include ui.initByCustom('opacity', 1);
218
+ @include ui.initByCustom('transform', none);
219
+ @include ui.initByCustom('transition', background #{ui.v('d.sys.transitionDuration.fade.enter')} linear);
220
+ @include ui.initByCustom('transitionBody', #{opacity #{ui.v('d.sys.transitionDuration.xs')} linear, transform #{ui.v('d.sys.transitionDuration.fade.enter')} #{ui.v('d.sys.transitionFunction.deceleration')}});
221
+
222
+ display: flex;
223
+ @include ui.contentVisibility(visible);
224
+
225
+ @include ui.backgroundOpacity(ui.v('??backgroundOpacity'));
226
+ }
227
+
228
+ &[data-status="hide"] {
229
+ @include ui.initByCustom('opacity', 0);
230
+ @include ui.initByCustom('transform', none);
231
+ @include ui.initByCustom('transition', background #{ui.v('d.sys.transitionDuration.fade.exit')} linear);
232
+ @include ui.initByCustom('transitionBody', opacity #{ui.v('d.sys.transitionDuration.fade.exit')} linear);
233
+
234
+ display: flex;
235
+ @include ui.contentVisibility(visible);
236
+ }
237
+
238
+ @at-root {
239
+ body[data-scroll="scroll"] {
240
+ &:has(>[data-window-teleport]>#{ui.c('??-overscroll')}:not([data-window-menu="menu"])[data-status="display"]),
241
+ &:has(>[data-window-teleport]>#{ui.c('??-overscroll')}:not([data-window-menu="menu"])[data-status="preparation"]),
242
+ &:has(>[data-window-teleport]>#{ui.c('??-overscroll')}:not([data-window-menu="menu"])[data-status="flash"]),
243
+ &:has(>[data-window-teleport]>#{ui.c('??-overscroll')}:not([data-window-menu="menu"])[data-status="open"]),
244
+ &:has(>[data-window-teleport]>#{ui.c('??-overscroll')}:not([data-window-menu="menu"])[data-status="hide"]) {
245
+ overflow-y: hidden;
246
+ padding-right: var(--sys-scrollbar-offset);
247
+ }
248
+ }
249
+ }
250
+
251
+ @keyframes #{ui.n('??persistent')} {
252
+ 0% {
253
+ transform: scale(1)
254
+ }
255
+ 50% {
256
+ transform: scale(1.02)
257
+ }
258
+ 100% {
259
+ transform: scale(1)
260
+ }
261
+ }
262
+ }
@@ -0,0 +1,124 @@
1
+ import type { Ref } from 'vue'
2
+ import type { ConstrClass } from '@dxtmisha/functional'
3
+
4
+ import type { ScrollbarComponentsInclude, ScrollbarEmitsInclude } from '../Scrollbar'
5
+ import type { ButtonComponentInclude } from '../Button'
6
+ import type { ImageComponentsInclude, ImageEmitsInclude } from '../Image'
7
+
8
+ import type { WindowControlItem, WindowEmitOptions } from './basicTypes'
9
+
10
+ /**
11
+ * Interface for describing which components need to be connected for work.
12
+ *
13
+ * Интерфейс для описания, какие компоненты надо подключить для работы.
14
+ */
15
+ export type WindowComponents
16
+ = ScrollbarComponentsInclude
17
+ & ButtonComponentInclude
18
+ & ImageComponentsInclude
19
+
20
+ /**
21
+ * Type describing available events.
22
+ *
23
+ * Тип, описывающий доступные события.
24
+ */
25
+ export type WindowEmits
26
+ = ScrollbarEmitsInclude
27
+ & ImageEmitsInclude
28
+ & {
29
+ 'window': [options: WindowEmitOptions]
30
+
31
+ 'update:open': [value: boolean]
32
+ 'update:modelOpen': [value: boolean]
33
+ }
34
+
35
+ /**
36
+ * Type describing available properties.
37
+ *
38
+ * Тип, описывающий доступные свойства.
39
+ */
40
+ export interface WindowExpose {
41
+ /**
42
+ * Unique identifier of the window/
43
+ * Уникальный идентификатор окна
44
+ */
45
+ id: string
46
+
47
+ /**
48
+ * Reactive state of window visibility/
49
+ * Реактивное состояние видимости окна
50
+ */
51
+ open: Ref<boolean>
52
+
53
+ /**
54
+ * Control item data for window management/
55
+ * Данные элемента управления для управления окном
56
+ */
57
+ control: WindowControlItem
58
+
59
+ /**
60
+ * Sets window open state/
61
+ * Устанавливает состояние открытия окна
62
+ */
63
+ setOpen(open: boolean): Promise<void>
64
+
65
+ /** Transition to opening state/ Переход в состояние открытия */
66
+ toOpen(): Promise<void>
67
+ /** Transition to closing state/ Переход в состояние закрытия */
68
+ toClose(): Promise<void>
69
+
70
+ /**
71
+ * Toggles window visibility/
72
+ * Переключает видимость окна
73
+ */
74
+ toggle(): Promise<void>
75
+ }
76
+
77
+ /**
78
+ * Type describing available slots.
79
+ *
80
+ * Тип, описывающий доступные слоты.
81
+ */
82
+ export interface WindowSlots {
83
+ /**
84
+ * Control slot for window management/
85
+ * Слот управления для управления окном
86
+ */
87
+ control?(props: WindowControlItem): any
88
+
89
+ /**
90
+ * Title slot for window header/
91
+ * Слот заголовка для шапки окна
92
+ */
93
+ title?(props: WindowControlItem): any
94
+
95
+ /**
96
+ * Footer slot for window bottom/
97
+ * Слот подвала для низа окна
98
+ */
99
+ footer?(props: WindowControlItem): any
100
+
101
+ /**
102
+ * Default slot for main content/
103
+ * Основной слот для главного содержимого
104
+ */
105
+ default?(props: WindowControlItem): any
106
+ }
107
+
108
+ /**
109
+ * Type describing subclasses.
110
+ *
111
+ * Тип, описывающий подклассы.
112
+ */
113
+ export type WindowClasses = {
114
+ main: ConstrClass
115
+ // :classes [!] System label / Системная метка
116
+ body: string
117
+ bodyGroup: string
118
+ bodyContext: string
119
+ control: string
120
+ image: string
121
+ close: string
122
+ teleport: string
123
+ // :classes [!] System label / Системная метка
124
+ }