@dxtmisha/constructor 0.23.0 → 0.30.1

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 (343) hide show
  1. package/package.json +36 -6
  2. package/src/classes/AriaStaticInclude.ts +269 -0
  3. package/src/classes/DescriptionInclude.ts +19 -2
  4. package/src/classes/EnabledInclude.ts +11 -0
  5. package/src/classes/EventClickInclude.ts +2 -2
  6. package/src/classes/LabelHighlightInclude.ts +35 -0
  7. package/src/classes/LabelInclude.ts +40 -5
  8. package/src/classes/ModelInclude.ts +50 -1
  9. package/src/classes/ModelValueInclude.ts +73 -0
  10. package/src/classes/TabIndexInclude.ts +260 -0
  11. package/src/classes/TextInclude.ts +102 -0
  12. package/src/classes/TouchEventInclude.ts +284 -0
  13. package/src/classes/field/FieldArrowInclude.ts +189 -0
  14. package/src/classes/field/FieldAttributesInclude.ts +87 -28
  15. package/src/classes/field/FieldChangeInclude.ts +1 -1
  16. package/src/classes/field/FieldElementInclude.ts +1 -1
  17. package/src/classes/field/FieldEventInclude.ts +253 -0
  18. package/src/classes/field/FieldInputModeInclude.ts +48 -0
  19. package/src/classes/field/FieldMatchInclude.ts +9 -3
  20. package/src/classes/field/FieldTypeInclude.ts +11 -6
  21. package/src/classes/field/FieldValidationInclude.ts +1 -4
  22. package/src/classes/field/FieldValueInclude.ts +10 -0
  23. package/src/constructors/Accordion/Accordion.ts +68 -0
  24. package/src/constructors/Accordion/AccordionDesign.tsx +192 -0
  25. package/src/constructors/Accordion/basicTypes.ts +0 -0
  26. package/src/constructors/Accordion/index.ts +5 -0
  27. package/src/constructors/Accordion/properties.json +16 -0
  28. package/src/constructors/Accordion/props.ts +55 -0
  29. package/src/constructors/Accordion/style.scss +12 -0
  30. package/src/constructors/Accordion/types.ts +63 -0
  31. package/src/constructors/ActionSheet/ActionSheet.ts +78 -0
  32. package/src/constructors/ActionSheet/ActionSheetDesign.tsx +125 -0
  33. package/src/constructors/ActionSheet/basicTypes.ts +0 -0
  34. package/src/constructors/ActionSheet/index.ts +5 -0
  35. package/src/constructors/ActionSheet/properties.json +14 -0
  36. package/src/constructors/ActionSheet/props.ts +44 -0
  37. package/src/constructors/ActionSheet/style.scss +25 -0
  38. package/src/constructors/ActionSheet/types.ts +54 -0
  39. package/src/constructors/Actions/Actions.ts +60 -0
  40. package/src/constructors/Actions/ActionsDesign.tsx +212 -0
  41. package/src/constructors/Actions/ActionsInclude.ts +109 -0
  42. package/src/constructors/Actions/basicTypes.ts +40 -0
  43. package/src/constructors/Actions/index.ts +6 -0
  44. package/src/constructors/Actions/properties.json +63 -0
  45. package/src/constructors/Actions/props.ts +42 -0
  46. package/src/constructors/Actions/style.scss +11 -0
  47. package/src/constructors/Actions/types.ts +52 -0
  48. package/src/constructors/Anchor/Anchor.ts +113 -0
  49. package/src/constructors/Anchor/AnchorDesign.tsx +242 -0
  50. package/src/constructors/Anchor/AnchorEvent.ts +76 -0
  51. package/src/constructors/Anchor/AnchorHref.ts +54 -0
  52. package/src/constructors/Anchor/AnchorIcon.ts +54 -0
  53. package/src/constructors/Anchor/AnchorTo.ts +46 -0
  54. package/src/constructors/Anchor/basicTypes.ts +9 -0
  55. package/src/constructors/Anchor/index.ts +5 -0
  56. package/src/constructors/Anchor/properties.json +3 -0
  57. package/src/constructors/Anchor/props.ts +54 -0
  58. package/src/constructors/Anchor/style.scss +10 -0
  59. package/src/constructors/Anchor/types.ts +47 -0
  60. package/src/constructors/Arrow/Arrow.ts +134 -0
  61. package/src/constructors/Arrow/ArrowDesign.tsx +226 -0
  62. package/src/constructors/Arrow/ArrowElement.ts +139 -0
  63. package/src/constructors/Arrow/ArrowElementTarget.ts +72 -0
  64. package/src/constructors/Arrow/ArrowEvent.ts +126 -0
  65. package/src/constructors/Arrow/ArrowInclude.ts +85 -0
  66. package/src/constructors/Arrow/ArrowParent.ts +100 -0
  67. package/src/constructors/Arrow/ArrowPosition.ts +231 -0
  68. package/src/constructors/Arrow/basicTypes.ts +50 -0
  69. package/src/constructors/Arrow/index.ts +6 -0
  70. package/src/constructors/Arrow/properties.json +23 -0
  71. package/src/constructors/Arrow/props.ts +31 -0
  72. package/src/constructors/Arrow/style.scss +133 -0
  73. package/src/constructors/Arrow/types.ts +54 -0
  74. package/src/constructors/Badge/BadgeDesign.tsx +4 -1
  75. package/src/constructors/Badge/properties.json +36 -36
  76. package/src/constructors/Badge/props.ts +3 -1
  77. package/src/constructors/Badge/types.ts +3 -3
  78. package/src/constructors/Bars/Bars.ts +10 -4
  79. package/src/constructors/Bars/BarsDesign.tsx +17 -11
  80. package/src/constructors/Bars/BarsInclude.ts +5 -2
  81. package/src/constructors/Bars/properties.json +6 -6
  82. package/src/constructors/Bars/props.ts +3 -1
  83. package/src/constructors/Bars/style.scss +4 -0
  84. package/src/constructors/Bars/types.ts +3 -3
  85. package/src/constructors/Block/Block.ts +105 -0
  86. package/src/constructors/Block/BlockDesign.tsx +219 -0
  87. package/src/constructors/Block/basicTypes.ts +0 -0
  88. package/src/constructors/Block/index.ts +5 -0
  89. package/src/constructors/Block/properties.json +10 -0
  90. package/src/constructors/Block/props.ts +46 -0
  91. package/src/constructors/Block/style.scss +11 -0
  92. package/src/constructors/Block/types.ts +64 -0
  93. package/src/constructors/Button/Button.ts +26 -2
  94. package/src/constructors/Button/ButtonDesign.tsx +11 -6
  95. package/src/constructors/Button/ButtonInclude.ts +8 -5
  96. package/src/constructors/Button/index.ts +1 -0
  97. package/src/constructors/Button/properties.json +84 -84
  98. package/src/constructors/Button/props.ts +5 -1
  99. package/src/constructors/Button/style.scss +1 -1
  100. package/src/constructors/Button/types.ts +2 -2
  101. package/src/constructors/Cell/Cell.ts +23 -6
  102. package/src/constructors/Cell/CellDesign.tsx +53 -22
  103. package/src/constructors/Cell/basicTypes.ts +33 -0
  104. package/src/constructors/Cell/properties.json +52 -52
  105. package/src/constructors/Cell/props.ts +16 -13
  106. package/src/constructors/Cell/style.scss +1 -1
  107. package/src/constructors/Cell/types.ts +3 -3
  108. package/src/constructors/Chip/ChipDesign.tsx +5 -5
  109. package/src/constructors/Chip/ChipInclude.ts +83 -0
  110. package/src/constructors/Chip/basicTypes.ts +12 -0
  111. package/src/constructors/Chip/index.ts +2 -0
  112. package/src/constructors/Chip/properties.json +3 -3
  113. package/src/constructors/Chip/types.ts +5 -5
  114. package/src/constructors/ChipGroup/ChipGroup.ts +74 -0
  115. package/src/constructors/ChipGroup/ChipGroupDesign.tsx +162 -0
  116. package/src/constructors/ChipGroup/basicTypes.ts +6 -0
  117. package/src/constructors/ChipGroup/index.ts +5 -0
  118. package/src/constructors/ChipGroup/properties.json +3 -0
  119. package/src/constructors/ChipGroup/props.ts +50 -0
  120. package/src/constructors/ChipGroup/style.scss +6 -0
  121. package/src/constructors/ChipGroup/types.ts +47 -0
  122. package/src/constructors/Dialog/Dialog.ts +145 -0
  123. package/src/constructors/Dialog/DialogDesign.tsx +135 -0
  124. package/src/constructors/Dialog/basicTypes.ts +0 -0
  125. package/src/constructors/Dialog/index.ts +5 -0
  126. package/src/constructors/Dialog/properties.json +23 -0
  127. package/src/constructors/Dialog/props.ts +76 -0
  128. package/src/constructors/Dialog/style.scss +18 -0
  129. package/src/constructors/Dialog/types.ts +67 -0
  130. package/src/constructors/Field/Field.ts +58 -19
  131. package/src/constructors/Field/FieldDesign.tsx +35 -17
  132. package/src/constructors/Field/FieldInclude.ts +141 -11
  133. package/src/constructors/Field/basicTypes.ts +35 -19
  134. package/src/constructors/Field/properties.json +92 -86
  135. package/src/constructors/Field/props.ts +6 -3
  136. package/src/constructors/Field/style.scss +36 -20
  137. package/src/constructors/Field/types.ts +13 -13
  138. package/src/constructors/FieldCounter/FieldCounterDesign.tsx +1 -0
  139. package/src/constructors/FieldCounter/FieldCounterInclude.ts +3 -1
  140. package/src/constructors/FieldCounter/basicTypes.ts +1 -0
  141. package/src/constructors/FieldCounter/properties.json +3 -3
  142. package/src/constructors/FieldCounter/props.ts +5 -2
  143. package/src/constructors/FieldCounter/types.ts +1 -1
  144. package/src/constructors/FieldLabel/FieldLabelDesign.tsx +6 -2
  145. package/src/constructors/FieldLabel/FieldLabelInclude.ts +13 -4
  146. package/src/constructors/FieldLabel/properties.json +4 -4
  147. package/src/constructors/FieldLabel/props.ts +2 -2
  148. package/src/constructors/FieldLabel/types.ts +2 -2
  149. package/src/constructors/FieldMessage/FieldMessage.ts +19 -0
  150. package/src/constructors/FieldMessage/FieldMessageDesign.tsx +36 -4
  151. package/src/constructors/FieldMessage/FieldMessageInclude.ts +11 -1
  152. package/src/constructors/FieldMessage/basicTypes.ts +15 -1
  153. package/src/constructors/FieldMessage/properties.json +10 -9
  154. package/src/constructors/FieldMessage/props.ts +4 -0
  155. package/src/constructors/FieldMessage/style.scss +16 -1
  156. package/src/constructors/FieldMessage/types.ts +4 -2
  157. package/src/constructors/Icon/Icon.ts +37 -2
  158. package/src/constructors/Icon/IconDesign.tsx +46 -39
  159. package/src/constructors/Icon/properties.json +25 -25
  160. package/src/constructors/Icon/props.ts +22 -16
  161. package/src/constructors/Icon/types.ts +1 -1
  162. package/src/constructors/Image/Image.ts +68 -10
  163. package/src/constructors/Image/ImageBackground.ts +15 -2
  164. package/src/constructors/Image/ImageCoordinator.ts +4 -2
  165. package/src/constructors/Image/ImageData.ts +4 -0
  166. package/src/constructors/Image/ImageDesign.tsx +81 -15
  167. package/src/constructors/Image/ImageFile.ts +2 -13
  168. package/src/constructors/Image/ImageImg.ts +218 -0
  169. package/src/constructors/Image/ImagePdf.ts +2 -2
  170. package/src/constructors/Image/basicTypes.ts +5 -0
  171. package/src/constructors/Image/properties.json +17 -17
  172. package/src/constructors/Image/props.ts +34 -7
  173. package/src/constructors/Image/style.scss +42 -0
  174. package/src/constructors/Image/types.ts +1 -1
  175. package/src/constructors/Input/Input.ts +146 -0
  176. package/src/constructors/Input/InputDesign.tsx +174 -0
  177. package/src/constructors/Input/InputPassword.ts +54 -0
  178. package/src/constructors/Input/basicTypes.ts +3 -0
  179. package/src/constructors/Input/index.ts +5 -0
  180. package/src/constructors/Input/properties.json +2 -0
  181. package/src/constructors/Input/props.ts +53 -0
  182. package/src/constructors/Input/style.scss +5 -0
  183. package/src/constructors/Input/types.ts +48 -0
  184. package/src/constructors/List/List.ts +36 -11
  185. package/src/constructors/List/ListControl.ts +2 -2
  186. package/src/constructors/List/ListDesign.tsx +59 -38
  187. package/src/constructors/List/ListGo.ts +5 -3
  188. package/src/constructors/List/properties.json +16 -16
  189. package/src/constructors/List/props.ts +7 -0
  190. package/src/constructors/List/style.scss +14 -0
  191. package/src/constructors/List/types.ts +9 -9
  192. package/src/constructors/ListGroup/ListGroupDesign.tsx +8 -3
  193. package/src/constructors/ListGroup/basicTypes.ts +7 -0
  194. package/src/constructors/ListGroup/properties.json +15 -15
  195. package/src/constructors/ListGroup/props.ts +4 -4
  196. package/src/constructors/ListGroup/types.ts +2 -1
  197. package/src/constructors/ListItem/ListItem.ts +67 -7
  198. package/src/constructors/ListItem/ListItemDesign.tsx +13 -10
  199. package/src/constructors/ListItem/properties.json +52 -52
  200. package/src/constructors/ListItem/props.ts +24 -15
  201. package/src/constructors/ListItem/types.ts +12 -12
  202. package/src/constructors/ListMenu/ListMenu.ts +2 -1
  203. package/src/constructors/ListMenu/ListMenuDesign.tsx +3 -3
  204. package/src/constructors/ListMenu/properties.json +19 -19
  205. package/src/constructors/ListMenu/types.ts +3 -3
  206. package/src/constructors/Mask/MaskDesign.tsx +33 -28
  207. package/src/constructors/Mask/MaskEvent.ts +41 -2
  208. package/src/constructors/Mask/MaskInclude.ts +147 -0
  209. package/src/constructors/Mask/basicTypes.ts +19 -1
  210. package/src/constructors/Mask/properties.json +30 -29
  211. package/src/constructors/Mask/props.ts +1 -1
  212. package/src/constructors/Mask/style.scss +2 -4
  213. package/src/constructors/Mask/types.ts +4 -4
  214. package/src/constructors/Menu/Menu.ts +17 -5
  215. package/src/constructors/Menu/MenuDesign.tsx +11 -11
  216. package/src/constructors/Menu/MenuGo.ts +72 -0
  217. package/src/constructors/Menu/MenuInclude.ts +20 -10
  218. package/src/constructors/Menu/MenuSearch.ts +20 -1
  219. package/src/constructors/Menu/MenuValue.ts +7 -3
  220. package/src/constructors/Menu/MenuWindow.ts +2 -1
  221. package/src/constructors/Menu/basicTypes.ts +21 -4
  222. package/src/constructors/Menu/properties.json +17 -17
  223. package/src/constructors/Menu/props.ts +15 -3
  224. package/src/constructors/Menu/types.ts +6 -16
  225. package/src/constructors/Modal/Modal.ts +53 -0
  226. package/src/constructors/Modal/ModalAbstract.ts +74 -0
  227. package/src/constructors/Modal/ModalDesign.tsx +63 -0
  228. package/src/constructors/Modal/ModalDesignAbstract.tsx +226 -0
  229. package/src/constructors/Modal/basicTypes.ts +0 -0
  230. package/src/constructors/Modal/index.ts +5 -0
  231. package/src/constructors/Modal/properties.json +17 -0
  232. package/src/constructors/Modal/props.ts +45 -0
  233. package/src/constructors/Modal/style.scss +20 -0
  234. package/src/constructors/Modal/types.ts +62 -0
  235. package/src/constructors/MotionTransform/MotionTransform.ts +65 -8
  236. package/src/constructors/MotionTransform/MotionTransformDesign.tsx +55 -21
  237. package/src/constructors/MotionTransform/MotionTransformElement.ts +7 -2
  238. package/src/constructors/MotionTransform/MotionTransformInclude.ts +2 -1
  239. package/src/constructors/MotionTransform/MotionTransformState.ts +5 -0
  240. package/src/constructors/MotionTransform/basicTypes.ts +18 -2
  241. package/src/constructors/MotionTransform/properties.json +35 -35
  242. package/src/constructors/MotionTransform/props.ts +13 -7
  243. package/src/constructors/MotionTransform/style.scss +24 -2
  244. package/src/constructors/MotionTransform/types.ts +7 -7
  245. package/src/constructors/Progress/Progress.ts +12 -2
  246. package/src/constructors/Progress/ProgressDesign.tsx +75 -53
  247. package/src/constructors/Progress/ProgressInclude.ts +13 -1
  248. package/src/constructors/Progress/properties.json +47 -47
  249. package/src/constructors/Progress/props.ts +5 -1
  250. package/src/constructors/Progress/style.scss +2 -2
  251. package/src/constructors/Progress/types.ts +4 -4
  252. package/src/constructors/Ripple/Ripple.ts +1 -1
  253. package/src/constructors/Ripple/RippleDesign.tsx +7 -4
  254. package/src/constructors/Ripple/RippleItem.ts +1 -1
  255. package/src/constructors/Ripple/style.scss +4 -0
  256. package/src/constructors/Ripple/types.ts +2 -2
  257. package/src/constructors/Scrollbar/Scrollbar.ts +3 -3
  258. package/src/constructors/Scrollbar/ScrollbarDesign.tsx +1 -1
  259. package/src/constructors/Scrollbar/properties.json +33 -33
  260. package/src/constructors/Scrollbar/types.ts +1 -1
  261. package/src/constructors/Section/Section.ts +33 -0
  262. package/src/constructors/Section/SectionDesign.tsx +127 -0
  263. package/src/constructors/Section/basicTypes.ts +0 -0
  264. package/src/constructors/Section/index.ts +5 -0
  265. package/src/constructors/Section/properties.json +2 -0
  266. package/src/constructors/Section/props.ts +29 -0
  267. package/src/constructors/Section/style.scss +5 -0
  268. package/src/constructors/Section/types.ts +47 -0
  269. package/src/constructors/Select/Select.ts +172 -0
  270. package/src/constructors/Select/SelectDesign.tsx +288 -0
  271. package/src/constructors/Select/SelectFilter.ts +43 -0
  272. package/src/constructors/Select/SelectInput.ts +68 -0
  273. package/src/constructors/Select/basicTypes.ts +0 -0
  274. package/src/constructors/Select/index.ts +5 -0
  275. package/src/constructors/Select/properties.json +3 -0
  276. package/src/constructors/Select/props.ts +63 -0
  277. package/src/constructors/Select/style.scss +5 -0
  278. package/src/constructors/Select/types.ts +53 -0
  279. package/src/constructors/SelectValue/SelectValue.ts +95 -0
  280. package/src/constructors/SelectValue/SelectValueDesign.tsx +198 -0
  281. package/src/constructors/SelectValue/SelectValueInclude.ts +92 -0
  282. package/src/constructors/SelectValue/basicTypes.ts +17 -0
  283. package/src/constructors/SelectValue/index.ts +6 -0
  284. package/src/constructors/SelectValue/properties.json +7 -0
  285. package/src/constructors/SelectValue/props.ts +48 -0
  286. package/src/constructors/SelectValue/style.scss +14 -0
  287. package/src/constructors/SelectValue/types.ts +47 -0
  288. package/src/constructors/Skeleton/Skeleton.ts +1 -3
  289. package/src/constructors/Skeleton/SkeletonDesign.tsx +7 -1
  290. package/src/constructors/Skeleton/SkeletonInclude.ts +5 -0
  291. package/src/constructors/Skeleton/properties.json +24 -24
  292. package/src/constructors/Skeleton/types.ts +1 -1
  293. package/src/constructors/TextareaAutosize/TextareaAutosize.ts +41 -0
  294. package/src/constructors/TextareaAutosize/TextareaAutosizeDesign.tsx +147 -0
  295. package/src/constructors/TextareaAutosize/TextareaAutosizeResize.ts +109 -0
  296. package/src/constructors/TextareaAutosize/TextareaAutosizeValue.ts +69 -0
  297. package/src/constructors/TextareaAutosize/basicTypes.ts +0 -0
  298. package/src/constructors/TextareaAutosize/index.ts +5 -0
  299. package/src/constructors/TextareaAutosize/properties.json +6 -0
  300. package/src/constructors/TextareaAutosize/props.ts +34 -0
  301. package/src/constructors/TextareaAutosize/style.scss +31 -0
  302. package/src/constructors/TextareaAutosize/types.ts +50 -0
  303. package/src/constructors/Tooltip/Tooltip.ts +138 -0
  304. package/src/constructors/Tooltip/TooltipClasses.ts +90 -0
  305. package/src/constructors/Tooltip/TooltipDesign.tsx +198 -0
  306. package/src/constructors/Tooltip/TooltipEvent.ts +103 -0
  307. package/src/constructors/Tooltip/TooltipInclude.ts +114 -0
  308. package/src/constructors/Tooltip/TooltipOpen.ts +128 -0
  309. package/src/constructors/Tooltip/TooltipPosition.ts +92 -0
  310. package/src/constructors/Tooltip/TooltipStatus.ts +97 -0
  311. package/src/constructors/Tooltip/TooltipStyle.ts +123 -0
  312. package/src/constructors/Tooltip/basicTypes.ts +39 -0
  313. package/src/constructors/Tooltip/index.ts +6 -0
  314. package/src/constructors/Tooltip/properties.json +14 -0
  315. package/src/constructors/Tooltip/props.ts +49 -0
  316. package/src/constructors/Tooltip/style.scss +43 -0
  317. package/src/constructors/Tooltip/types.ts +58 -0
  318. package/src/constructors/Window/Window.ts +52 -16
  319. package/src/constructors/Window/WindowClasses.ts +33 -0
  320. package/src/constructors/Window/WindowClient.ts +39 -0
  321. package/src/constructors/Window/WindowDesign.tsx +31 -14
  322. package/src/constructors/Window/WindowEsc.ts +114 -0
  323. package/src/constructors/Window/WindowHidden.ts +120 -0
  324. package/src/constructors/Window/WindowInclude.ts +2 -2
  325. package/src/constructors/Window/WindowOpen.ts +10 -1
  326. package/src/constructors/Window/WindowOrigin.ts +5 -1
  327. package/src/constructors/Window/WindowStatic.ts +3 -1
  328. package/src/constructors/Window/WindowVerification.ts +8 -5
  329. package/src/constructors/Window/basicTypes.ts +26 -16
  330. package/src/constructors/Window/properties.json +239 -236
  331. package/src/constructors/Window/props.ts +10 -1
  332. package/src/constructors/Window/style.scss +11 -0
  333. package/src/constructors/Window/types.ts +2 -2
  334. package/src/functions/{getClassTegAStatic.ts → getClassTagAStatic.ts} +1 -1
  335. package/src/library.ts +13 -1
  336. package/src/types/ariaTypes.ts +366 -0
  337. package/src/types/descriptionTypes.ts +8 -0
  338. package/src/types/fieldTypes.ts +120 -16
  339. package/src/types/labelTypes.ts +39 -0
  340. package/src/types/modelTypes.ts +16 -0
  341. package/src/types/roleTypes.ts +88 -0
  342. package/src/types/textTypes.ts +33 -0
  343. package/src/types/touchEventTypes.ts +43 -0
@@ -27,7 +27,7 @@ export class Ripple {
27
27
  constructor(
28
28
  protected readonly props: RippleProps,
29
29
  protected readonly refs: ToRefs<RippleProps>,
30
- protected readonly element: Ref<HTMLDivElement | undefined>,
30
+ protected readonly element: Ref<HTMLSpanElement | undefined>,
31
31
  protected readonly className: string,
32
32
  protected readonly components?: DesignComp<RippleComponents, RippleProps>,
33
33
  protected readonly slots?: RippleSlots,
@@ -5,6 +5,7 @@ import {
5
5
  DesignConstructorAbstract
6
6
  } from '@dxtmisha/functional'
7
7
 
8
+ import { AriaStaticInclude } from '../../classes/AriaStaticInclude'
8
9
  import { Ripple } from './Ripple'
9
10
 
10
11
  import {
@@ -27,7 +28,7 @@ export class RippleDesign<
27
28
  CLASSES extends RippleClasses,
28
29
  P extends RipplePropsBasic
29
30
  > extends DesignConstructorAbstract<
30
- HTMLDivElement,
31
+ HTMLSpanElement,
31
32
  COMP,
32
33
  RippleEmits,
33
34
  EXPOSE,
@@ -99,14 +100,16 @@ export class RippleDesign<
99
100
  }
100
101
 
101
102
  /**
102
- * A method for rendering.<br>
103
+ * A method for rendering.
103
104
  * Метод для рендеринга.
104
105
  */
105
106
  protected initRender(): VNode {
106
- return h('div', {
107
+ return h('span', {
107
108
  ref: this.element,
109
+ key: 'ripple',
108
110
  class: this.classes?.value.main,
109
- onMousedown: this.item.onClick
111
+ onPointerdown: this.item.onClick,
112
+ ...AriaStaticInclude.hidden()
110
113
  })
111
114
  }
112
115
  }
@@ -24,7 +24,7 @@ export class RippleItem {
24
24
 
25
25
  constructor(
26
26
  protected readonly props: RippleProps,
27
- protected readonly element: Ref<HTMLDivElement | undefined>,
27
+ protected readonly element: Ref<HTMLSpanElement | undefined>,
28
28
  protected readonly className: string
29
29
  ) {
30
30
  this.classItem = `${this.className}__item`
@@ -7,6 +7,10 @@
7
7
 
8
8
  border-radius: inherit;
9
9
 
10
+ @include ui.mediaPrefersReducedMotion {
11
+ display: none;
12
+ }
13
+
10
14
  &__item {
11
15
  @include ui.absolute;
12
16
 
@@ -35,7 +35,7 @@ export interface RippleSlots {}
35
35
  */
36
36
  export type RippleClasses = {
37
37
  main: ConstrClass
38
- // :classes [!] System label / Системная метка
39
- item: string
38
+ // :classes [!] System label / Системная метка
39
+ item: string
40
40
  // :classes [!] System label / Системная метка
41
41
  }
@@ -3,7 +3,7 @@ import {
3
3
  type ConstrClassObject,
4
4
  type ConstrEmit,
5
5
  type DesignComp,
6
- ScrollbarWidth
6
+ ScrollbarWidthRef
7
7
  } from '@dxtmisha/functional'
8
8
 
9
9
  import { ScrollbarBorder } from './ScrollbarBorder'
@@ -19,7 +19,7 @@ import type { ScrollbarPropsBasic } from './props'
19
19
  * Он обрабатывает вычисления ширины скролла и отображение границ на основе позиции скролла.
20
20
  */
21
21
  export class Scrollbar {
22
- readonly width: ScrollbarWidth
22
+ readonly width: ScrollbarWidthRef
23
23
  readonly border: ScrollbarBorder
24
24
 
25
25
  /**
@@ -45,7 +45,7 @@ export class Scrollbar {
45
45
  protected readonly slots?: ScrollbarSlots,
46
46
  protected readonly emits?: ConstrEmit<ScrollbarEmits>
47
47
  ) {
48
- this.width = new ScrollbarWidth()
48
+ this.width = new ScrollbarWidthRef()
49
49
  this.border = new ScrollbarBorder(
50
50
  props,
51
51
  refs,
@@ -86,7 +86,7 @@ export class ScrollbarDesign<
86
86
  return {
87
87
  main: this.item.classes.value,
88
88
  ...{
89
- // :classes [!] System label / Системная метка
89
+ // :classes [!] System label / Системная метка
90
90
  // :classes [!] System label / Системная метка
91
91
  }
92
92
  } as Partial<CLASSES>
@@ -1,33 +1,33 @@
1
- {
2
- "size": {
3
- "_type": "var"
4
- },
5
- "background": {
6
- "_type": "var"
7
- },
8
- "backgroundOpacity": {
9
- "_type": "var"
10
- },
11
- "thumb": {
12
- "background": {},
13
- "opacity": {},
14
- "rounded": {},
15
- "hover": {
16
- "opacity": {}
17
- },
18
- "_type": "var"
19
- },
20
- "outline": {
21
- "width": {},
22
- "color": {},
23
- "opacity": {},
24
- "_type": "var"
25
- },
26
- "~visible": {},
27
- "~divider": {},
28
- "~divider-top": {},
29
- "~divider-bottom": {},
30
- "~divider-hide": {},
31
- "~inverse": {},
32
- "~standard": {}
33
- }
1
+ {
2
+ "size": {
3
+ "_type": "var"
4
+ },
5
+ "background": {
6
+ "_type": "var"
7
+ },
8
+ "backgroundOpacity": {
9
+ "_type": "var"
10
+ },
11
+ "thumb": {
12
+ "background": {},
13
+ "opacity": {},
14
+ "rounded": {},
15
+ "hover": {
16
+ "opacity": {}
17
+ },
18
+ "_type": "var"
19
+ },
20
+ "outline": {
21
+ "width": {},
22
+ "color": {},
23
+ "opacity": {},
24
+ "_type": "var"
25
+ },
26
+ "~visible": {},
27
+ "~divider": {},
28
+ "~divider-top": {},
29
+ "~divider-bottom": {},
30
+ "~divider-hide": {},
31
+ "~inverse": {},
32
+ "~standard": {}
33
+ }
@@ -47,6 +47,6 @@ export interface ScrollbarSlots {
47
47
  */
48
48
  export type ScrollbarClasses = {
49
49
  main: ConstrClass
50
- // :classes [!] System label / Системная метка
50
+ // :classes [!] System label / Системная метка
51
51
  // :classes [!] System label / Системная метка
52
52
  }
@@ -0,0 +1,33 @@
1
+ import type { Ref, ToRefs } from 'vue'
2
+ import { type ConstrEmit, DesignComp } from '@dxtmisha/functional'
3
+
4
+ import type { SectionComponents, SectionEmits, SectionSlots } from './types'
5
+ import type { SectionProps } from './props'
6
+
7
+ /**
8
+ * Section
9
+ */
10
+ export class Section {
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: SectionProps,
24
+ protected readonly refs: ToRefs<SectionProps>,
25
+ protected readonly element: Ref<HTMLElement | undefined>,
26
+ protected readonly classDesign: string,
27
+ protected readonly className: string,
28
+ protected readonly components?: DesignComp<SectionComponents, SectionProps>,
29
+ protected readonly slots?: SectionSlots,
30
+ protected readonly emits?: ConstrEmit<SectionEmits>
31
+ ) {
32
+ }
33
+ }
@@ -0,0 +1,127 @@
1
+ import { h, type VNode } from 'vue'
2
+ import {
3
+ type ConstrOptions,
4
+ type ConstrStyles,
5
+ DesignConstructorAbstract
6
+ } from '@dxtmisha/functional'
7
+
8
+ import { Section } from './Section'
9
+
10
+ import {
11
+ type SectionPropsBasic
12
+ } from './props'
13
+ import {
14
+ type SectionClasses,
15
+ type SectionComponents,
16
+ type SectionEmits,
17
+ type SectionExpose,
18
+ type SectionSlots
19
+ } from './types'
20
+
21
+ /**
22
+ * SectionDesign
23
+ */
24
+ export class SectionDesign<
25
+ COMP extends SectionComponents,
26
+ EXPOSE extends SectionExpose,
27
+ CLASSES extends SectionClasses,
28
+ P extends SectionPropsBasic
29
+ > extends DesignConstructorAbstract<
30
+ HTMLDivElement,
31
+ COMP,
32
+ SectionEmits,
33
+ EXPOSE,
34
+ SectionSlots,
35
+ CLASSES,
36
+ P
37
+ > {
38
+ protected readonly item: Section
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, SectionEmits, P>
50
+ ) {
51
+ super(
52
+ name,
53
+ props,
54
+ options
55
+ )
56
+
57
+ this.item = new Section(
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
+ // TODO: Method for initializing base objects
69
+ // TODO: Метод для инициализации базовых объектов
70
+
71
+ this.init()
72
+ }
73
+
74
+ /**
75
+ * Initialization of all the necessary properties for work
76
+ *
77
+ * Инициализация всех необходимых свойств для работы.
78
+ */
79
+ protected initExpose(): EXPOSE {
80
+ return {
81
+ // TODO: list of properties for export
82
+ // TODO: список свойств для экспорта
83
+ } as EXPOSE
84
+ }
85
+
86
+ /**
87
+ * Improvement of the obtained list of classes.
88
+ *
89
+ * Доработка полученного списка классов.
90
+ */
91
+ protected initClasses(): Partial<CLASSES> {
92
+ return {
93
+ main: {},
94
+ ...{
95
+ // :classes [!] System label / Системная метка
96
+ // :classes [!] System label / Системная метка
97
+ }
98
+ } as Partial<CLASSES>
99
+ }
100
+
101
+ /**
102
+ * Refinement of the received list of styles.
103
+ *
104
+ * Доработка полученного списка стилей.
105
+ */
106
+ protected initStyles(): ConstrStyles {
107
+ return {
108
+ // TODO: list of user styles
109
+ // TODO: список пользовательских стилей
110
+ }
111
+ }
112
+
113
+ /**
114
+ * A method for rendering.
115
+ *
116
+ * Метод для рендеринга.
117
+ */
118
+ protected initRender(): VNode {
119
+ // const children: any[] = []
120
+
121
+ return h('div', {
122
+ // ...this.getAttrs(),
123
+ ref: this.element,
124
+ class: this.classes?.value.main
125
+ })
126
+ }
127
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ export * from './Section'
2
+ export * from './SectionDesign'
3
+ export * from './props'
4
+ export * from './types'
5
+ export * from './basicTypes'
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -0,0 +1,29 @@
1
+ interface SectionPropsToken {
2
+ // :type [!] System label / Системная метка
3
+ // :type [!] System label / Системная метка
4
+ }
5
+
6
+ export interface SectionPropsBasic {
7
+ // TODO: Location for a custom property / Место для пользовательского свойства
8
+ }
9
+
10
+ /**
11
+ * Type describing incoming properties.
12
+ *
13
+ * Тип, описывающий входящие свойства.
14
+ */
15
+ export interface SectionProps extends SectionPropsBasic, SectionPropsToken {
16
+ }
17
+
18
+ /**
19
+ * Default value for property.
20
+ *
21
+ * Значение по умолчанию для свойства.
22
+ */
23
+ export const defaultsSection = {
24
+ // TODO: Location for a user-defined default value / Место для пользовательского значения по умолчанию
25
+ ...{
26
+ // :default [!] System label / Системная метка
27
+ // :default [!] System label / Системная метка
28
+ }
29
+ }
@@ -0,0 +1,5 @@
1
+ @use "@dxtmisha/styles/properties" as ui;
2
+
3
+ @mixin mixinSection {
4
+
5
+ }
@@ -0,0 +1,47 @@
1
+ import type { ConstrClass } from '@dxtmisha/functional'
2
+
3
+ /**
4
+ * Interface for describing which components need to be connected for work.
5
+ *
6
+ * Интерфейс для описания, какие компоненты надо подключить для работы.
7
+ */
8
+ export type SectionComponents = {
9
+ // componentName: object
10
+ }
11
+
12
+ /**
13
+ * Type describing available events.
14
+ *
15
+ * Тип, описывающий доступные события.
16
+ */
17
+ export type SectionEmits = {
18
+ // load: [value: string]
19
+ }
20
+
21
+ /**
22
+ * Type describing available properties.
23
+ *
24
+ * Тип, описывающий доступные свойства.
25
+ */
26
+ export interface SectionExpose {
27
+ }
28
+
29
+ /**
30
+ * Type describing available slots.
31
+ *
32
+ * Тип, описывающий доступные слоты.
33
+ */
34
+ export interface SectionSlots {
35
+ // default? (props: any): any
36
+ }
37
+
38
+ /**
39
+ * Type describing subclasses.
40
+ *
41
+ * Тип, описывающий подклассы.
42
+ */
43
+ export type SectionClasses = {
44
+ main: ConstrClass
45
+ // :classes [!] System label / Системная метка
46
+ // :classes [!] System label / Системная метка
47
+ }
@@ -0,0 +1,172 @@
1
+ import { computed, type Ref, type ToRefs } from 'vue'
2
+ import { type ConstrEmit, DesignComp, executeFunction, isFilled } from '@dxtmisha/functional'
3
+
4
+ import { FieldElementInclude } from '../../classes/field/FieldElementInclude'
5
+ import { FieldChangeInclude } from '../../classes/field/FieldChangeInclude'
6
+ import { FieldValueInclude } from '../../classes/field/FieldValueInclude'
7
+ import { FieldCodeInclude } from '../../classes/field/FieldCodeInclude'
8
+ import { FieldValidationInclude } from '../../classes/field/FieldValidationInclude'
9
+ import { FieldAttributesInclude } from '../../classes/field/FieldAttributesInclude'
10
+ import { FieldEventInclude } from '../../classes/field/FieldEventInclude'
11
+
12
+ import { MenuInclude } from '../Menu'
13
+ import { FieldInclude } from '../Field/FieldInclude'
14
+
15
+ import { SelectInput } from './SelectInput'
16
+ import { SelectFilter } from './SelectFilter'
17
+
18
+ import type { SelectComponents, SelectEmits, SelectSlots } from './types'
19
+ import type { SelectProps } from './props'
20
+ import type { IconValue } from '../Icon'
21
+
22
+ /**
23
+ * Select
24
+ */
25
+ export class Select {
26
+ readonly attributes: FieldAttributesInclude
27
+
28
+ readonly elementItem: FieldElementInclude
29
+ readonly change: FieldChangeInclude
30
+
31
+ readonly value: FieldValueInclude
32
+
33
+ readonly code: FieldCodeInclude
34
+ readonly validation: FieldValidationInclude
35
+ readonly event: FieldEventInclude
36
+
37
+ readonly field: FieldInclude
38
+ readonly menu: MenuInclude
39
+ readonly input: SelectInput
40
+
41
+ readonly filter: SelectFilter
42
+
43
+ /**
44
+ * Constructor
45
+ * @param props input data/ входные данные
46
+ * @param refs input data in the form of reactive elements/ входные данные в виде реактивных элементов
47
+ * @param element input element/ элемент ввода
48
+ * @param classDesign design name/ название дизайна
49
+ * @param className class name/ название класса
50
+ * @param components object for working with components/ объект для работы с компонентами
51
+ * @param slots object for working with slots/ объект для работы со слотами
52
+ * @param emits the function is called when an event is triggered/ функция вызывается, когда срабатывает событие
53
+ */
54
+ constructor(
55
+ protected readonly props: SelectProps,
56
+ protected readonly refs: ToRefs<SelectProps>,
57
+ protected readonly element: Ref<HTMLElement | undefined>,
58
+ protected readonly classDesign: string,
59
+ protected readonly className: string,
60
+ protected readonly components?: DesignComp<SelectComponents, SelectProps>,
61
+ protected readonly slots?: SelectSlots,
62
+ protected readonly emits?: ConstrEmit<SelectEmits>
63
+ ) {
64
+ this.attributes = new FieldAttributesInclude(this.props)
65
+
66
+ this.change = new FieldChangeInclude(this.props)
67
+ this.elementItem = new FieldElementInclude(
68
+ this.props,
69
+ this.element
70
+ )
71
+
72
+ this.value = new FieldValueInclude(
73
+ this.props,
74
+ this.refs,
75
+ this.elementItem
76
+ )
77
+
78
+ this.code = new FieldCodeInclude(this.props)
79
+ this.validation = new FieldValidationInclude(
80
+ this.props,
81
+ this.attributes,
82
+ this.value,
83
+ this.change,
84
+ this.code
85
+ )
86
+ this.event = new FieldEventInclude(
87
+ this.props,
88
+ this.change,
89
+ this.value,
90
+ this.validation,
91
+ this.emits
92
+ )
93
+
94
+ this.field = new FieldInclude(
95
+ this.props,
96
+ this.value,
97
+ this.components,
98
+ this.event,
99
+ undefined,
100
+ undefined,
101
+ () => this.menu.getElement()?.toggle,
102
+ () => this.menu.getElement()?.next(),
103
+ () => this.menu.getElement()?.previous(),
104
+ computed(() => ({
105
+ iconTrailing: this.iconTrailing.value,
106
+ maxlength: this.props.max,
107
+ cancel: this.props.cancel ?? (this.props.multiple ? 'auto' : 'none')
108
+ }))
109
+ )
110
+ this.menu = new MenuInclude(
111
+ this.props,
112
+ this.className,
113
+ this.components,
114
+ computed(() => ({
115
+ windowAttrs: {
116
+ hide: !isFilled(props.option) && !this.isSlot.value,
117
+ widthMatch: true
118
+ },
119
+ tag: 'span',
120
+ barsLabel: props.label,
121
+ barsDescription: props.helperMessage,
122
+ disabled: props.disabled || props.readonly,
123
+ autoClose: !props.multiple,
124
+ list: executeFunction(props.option),
125
+ max: this.props.max,
126
+ filterMode: this.props.filterMode,
127
+ hideList: props.hideList,
128
+ onClick: this.event.onSelect,
129
+ onClickSlot: this.onClick,
130
+ onUpdateValue: this.isArrow() ? this.event.onValue : undefined,
131
+ isSelectedByValue: true,
132
+ roleItem: this.props.multiple ? 'menuitemcheckbox' : 'menuitemradio'
133
+ }))
134
+ )
135
+ this.input = new SelectInput(this.props, this.attributes, this.value, this.event)
136
+
137
+ this.filter = new SelectFilter()
138
+ }
139
+
140
+ /** Checks whether there are slots for context areas/ Проверяет, есть ли слоты для контекстных областей */
141
+ protected readonly isSlot = computed<boolean>(() => {
142
+ return Boolean(
143
+ this.slots?.contextTop
144
+ || this.slots?.contextBottom
145
+ )
146
+ })
147
+
148
+ /** Computes the trailing icon value/ Вычисляет значение иконки трейлинга */
149
+ protected readonly iconTrailing = computed<IconValue | undefined>(() => {
150
+ if (!this.props.disabled && !this.isArrow()) {
151
+ return this.props.iconTrailing ?? this.props.iconArrowDown
152
+ }
153
+
154
+ return undefined
155
+ })
156
+
157
+ /** Handles click on option in slot/ Обрабатывает клик по опции в слоте */
158
+ protected readonly onClick = (value?: string) => {
159
+ if (value) {
160
+ this.value.set(value)
161
+ }
162
+ }
163
+
164
+ /**
165
+ * Checks whether arrow is set.
166
+ *
167
+ * Проверяет, установлена ли стрелка.
168
+ */
169
+ protected isArrow(): boolean {
170
+ return Boolean(this.props.arrow) && this.props.arrow !== 'none'
171
+ }
172
+ }