cedro 0.1.9 → 0.1.11

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 (254) hide show
  1. package/README.md +7 -4
  2. package/dist/assets/_virtual/_commonjsHelpers.js +1 -0
  3. package/dist/assets/_virtual/index.js +1 -0
  4. package/dist/assets/_virtual/modulepreload-polyfill.js +1 -0
  5. package/dist/assets/_virtual/named-references.js +1 -0
  6. package/dist/assets/_virtual/numeric-unicode-map.js +1 -0
  7. package/dist/assets/_virtual/surrogate-pairs.js +1 -0
  8. package/dist/assets/core/application.builder.js +1 -0
  9. package/dist/assets/core/application.core.js +1 -0
  10. package/dist/assets/core/jsxsupport.js +1 -0
  11. package/dist/assets/core/screeen.core.js +1 -0
  12. package/dist/assets/core/seo.js +1 -0
  13. package/dist/assets/core/themes.core.js +1 -0
  14. package/dist/assets/core/uid.js +1 -0
  15. package/dist/assets/index.js +1 -0
  16. package/dist/assets/material-icons-outlined.woff +0 -0
  17. package/dist/assets/material-icons-outlined.woff2 +0 -0
  18. package/dist/assets/material-icons-round.woff +0 -0
  19. package/dist/assets/material-icons-round.woff2 +0 -0
  20. package/dist/assets/material-icons-sharp.woff +0 -0
  21. package/dist/assets/material-icons-sharp.woff2 +0 -0
  22. package/dist/assets/material-icons-two-tone.woff +0 -0
  23. package/dist/assets/material-icons-two-tone.woff2 +0 -0
  24. package/dist/assets/material-icons.woff +0 -0
  25. package/dist/assets/material-icons.woff2 +0 -0
  26. package/dist/assets/node_modules/@fontsource/roboto/100.css +1 -0
  27. package/dist/assets/node_modules/@fontsource/roboto/300.css +1 -0
  28. package/dist/assets/node_modules/@fontsource/roboto/400.css +1 -0
  29. package/dist/assets/node_modules/@fontsource/roboto/500.css +1 -0
  30. package/dist/assets/node_modules/@fontsource/roboto/700.css +1 -0
  31. package/dist/assets/node_modules/@fontsource/roboto/900.css +1 -0
  32. package/dist/assets/node_modules/html-entities/lib/index.js +1 -0
  33. package/dist/assets/node_modules/html-entities/lib/named-references.js +2 -0
  34. package/dist/assets/node_modules/html-entities/lib/numeric-unicode-map.js +1 -0
  35. package/dist/assets/node_modules/html-entities/lib/surrogate-pairs.js +1 -0
  36. package/dist/assets/node_modules/material-icons/iconfont/material-icons.css +1 -0
  37. package/dist/assets/node_modules/navigo/lib/es/Q.js +1 -0
  38. package/dist/assets/node_modules/navigo/lib/es/constants.js +1 -0
  39. package/dist/assets/node_modules/navigo/lib/es/index.js +1 -0
  40. package/dist/assets/node_modules/navigo/lib/es/lifecycles.js +1 -0
  41. package/dist/assets/node_modules/navigo/lib/es/middlewares/callHandler.js +1 -0
  42. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForAfterHook.js +1 -0
  43. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForAlreadyHook.js +1 -0
  44. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForBeforeHook.js +1 -0
  45. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForDeprecationMethods.js +1 -0
  46. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForForceOp.js +1 -0
  47. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForLeaveHook.js +1 -0
  48. package/dist/assets/node_modules/navigo/lib/es/middlewares/checkForNotFoundHandler.js +1 -0
  49. package/dist/assets/node_modules/navigo/lib/es/middlewares/errorOut.js +1 -0
  50. package/dist/assets/node_modules/navigo/lib/es/middlewares/flushCurrent.js +1 -0
  51. package/dist/assets/node_modules/navigo/lib/es/middlewares/matchPathToRegisteredRoutes.js +1 -0
  52. package/dist/assets/node_modules/navigo/lib/es/middlewares/processMatches.js +1 -0
  53. package/dist/assets/node_modules/navigo/lib/es/middlewares/setLocationPath.js +1 -0
  54. package/dist/assets/node_modules/navigo/lib/es/middlewares/updateBrowserURL.js +1 -0
  55. package/dist/assets/node_modules/navigo/lib/es/middlewares/updateState.js +1 -0
  56. package/dist/assets/node_modules/navigo/lib/es/middlewares/waitingList.js +1 -0
  57. package/dist/assets/node_modules/navigo/lib/es/utils.js +1 -0
  58. package/dist/assets/roboto-cyrillic-100-normal.woff +0 -0
  59. package/dist/assets/roboto-cyrillic-100-normal.woff2 +0 -0
  60. package/dist/assets/roboto-cyrillic-300-normal.woff +0 -0
  61. package/dist/assets/roboto-cyrillic-300-normal.woff2 +0 -0
  62. package/dist/assets/roboto-cyrillic-400-normal.woff +0 -0
  63. package/dist/assets/roboto-cyrillic-400-normal.woff2 +0 -0
  64. package/dist/assets/roboto-cyrillic-500-normal.woff +0 -0
  65. package/dist/assets/roboto-cyrillic-500-normal.woff2 +0 -0
  66. package/dist/assets/roboto-cyrillic-700-normal.woff +0 -0
  67. package/dist/assets/roboto-cyrillic-700-normal.woff2 +0 -0
  68. package/dist/assets/roboto-cyrillic-900-normal.woff +0 -0
  69. package/dist/assets/roboto-cyrillic-900-normal.woff2 +0 -0
  70. package/dist/assets/roboto-cyrillic-ext-100-normal.woff +0 -0
  71. package/dist/assets/roboto-cyrillic-ext-100-normal.woff2 +0 -0
  72. package/dist/assets/roboto-cyrillic-ext-300-normal.woff +0 -0
  73. package/dist/assets/roboto-cyrillic-ext-300-normal.woff2 +0 -0
  74. package/dist/assets/roboto-cyrillic-ext-400-normal.woff +0 -0
  75. package/dist/assets/roboto-cyrillic-ext-400-normal.woff2 +0 -0
  76. package/dist/assets/roboto-cyrillic-ext-500-normal.woff +0 -0
  77. package/dist/assets/roboto-cyrillic-ext-500-normal.woff2 +0 -0
  78. package/dist/assets/roboto-cyrillic-ext-700-normal.woff +0 -0
  79. package/dist/assets/roboto-cyrillic-ext-700-normal.woff2 +0 -0
  80. package/dist/assets/roboto-cyrillic-ext-900-normal.woff +0 -0
  81. package/dist/assets/roboto-cyrillic-ext-900-normal.woff2 +0 -0
  82. package/dist/assets/roboto-greek-100-normal.woff +0 -0
  83. package/dist/assets/roboto-greek-100-normal.woff2 +0 -0
  84. package/dist/assets/roboto-greek-300-normal.woff +0 -0
  85. package/dist/assets/roboto-greek-300-normal.woff2 +0 -0
  86. package/dist/assets/roboto-greek-400-normal.woff +0 -0
  87. package/dist/assets/roboto-greek-400-normal.woff2 +0 -0
  88. package/dist/assets/roboto-greek-500-normal.woff +0 -0
  89. package/dist/assets/roboto-greek-500-normal.woff2 +0 -0
  90. package/dist/assets/roboto-greek-700-normal.woff +0 -0
  91. package/dist/assets/roboto-greek-700-normal.woff2 +0 -0
  92. package/dist/assets/roboto-greek-900-normal.woff +0 -0
  93. package/dist/assets/roboto-greek-900-normal.woff2 +0 -0
  94. package/dist/assets/roboto-latin-100-normal.woff +0 -0
  95. package/dist/assets/roboto-latin-100-normal.woff2 +0 -0
  96. package/dist/assets/roboto-latin-300-normal.woff +0 -0
  97. package/dist/assets/roboto-latin-300-normal.woff2 +0 -0
  98. package/dist/assets/roboto-latin-400-normal.woff +0 -0
  99. package/dist/assets/roboto-latin-400-normal.woff2 +0 -0
  100. package/dist/assets/roboto-latin-500-normal.woff +0 -0
  101. package/dist/assets/roboto-latin-500-normal.woff2 +0 -0
  102. package/dist/assets/roboto-latin-700-normal.woff +0 -0
  103. package/dist/assets/roboto-latin-700-normal.woff2 +0 -0
  104. package/dist/assets/roboto-latin-900-normal.woff +0 -0
  105. package/dist/assets/roboto-latin-900-normal.woff2 +0 -0
  106. package/dist/assets/roboto-latin-ext-100-normal.woff +0 -0
  107. package/dist/assets/roboto-latin-ext-100-normal.woff2 +0 -0
  108. package/dist/assets/roboto-latin-ext-300-normal.woff +0 -0
  109. package/dist/assets/roboto-latin-ext-300-normal.woff2 +0 -0
  110. package/dist/assets/roboto-latin-ext-400-normal.woff +0 -0
  111. package/dist/assets/roboto-latin-ext-400-normal.woff2 +0 -0
  112. package/dist/assets/roboto-latin-ext-500-normal.woff +0 -0
  113. package/dist/assets/roboto-latin-ext-500-normal.woff2 +0 -0
  114. package/dist/assets/roboto-latin-ext-700-normal.woff +0 -0
  115. package/dist/assets/roboto-latin-ext-700-normal.woff2 +0 -0
  116. package/dist/assets/roboto-latin-ext-900-normal.woff +0 -0
  117. package/dist/assets/roboto-latin-ext-900-normal.woff2 +0 -0
  118. package/dist/assets/roboto-vietnamese-100-normal.woff +0 -0
  119. package/dist/assets/roboto-vietnamese-100-normal.woff2 +0 -0
  120. package/dist/assets/roboto-vietnamese-300-normal.woff +0 -0
  121. package/dist/assets/roboto-vietnamese-300-normal.woff2 +0 -0
  122. package/dist/assets/roboto-vietnamese-400-normal.woff +0 -0
  123. package/dist/assets/roboto-vietnamese-400-normal.woff2 +0 -0
  124. package/dist/assets/roboto-vietnamese-500-normal.woff +0 -0
  125. package/dist/assets/roboto-vietnamese-500-normal.woff2 +0 -0
  126. package/dist/assets/roboto-vietnamese-700-normal.woff +0 -0
  127. package/dist/assets/roboto-vietnamese-700-normal.woff2 +0 -0
  128. package/dist/assets/roboto-vietnamese-900-normal.woff +0 -0
  129. package/dist/assets/roboto-vietnamese-900-normal.woff2 +0 -0
  130. package/dist/assets/types/select.item.type.js +1 -0
  131. package/dist/assets/ui/Icon.ui.js +1 -0
  132. package/dist/assets/ui/IconButton.ui.js +1 -0
  133. package/dist/assets/ui/Textbox.ui.js +1 -0
  134. package/dist/assets/ui/accordion.ui.js +1 -0
  135. package/dist/assets/ui/button.ui.js +1 -0
  136. package/dist/assets/ui/buttonColor.ui.js +1 -0
  137. package/dist/assets/ui/buttonmenu.ui.js +1 -0
  138. package/dist/assets/ui/buttonstack.ui.js +1 -0
  139. package/dist/assets/ui/checkbox.ui.js +1 -0
  140. package/dist/assets/ui/container.ui.js +1 -0
  141. package/dist/assets/ui/datagrid.ui.js +1 -0
  142. package/dist/assets/ui/dialog.js +1 -0
  143. package/dist/assets/ui/draggable.ui.js +1 -0
  144. package/dist/assets/ui/hpanel.ui.js +1 -0
  145. package/dist/assets/ui/iconButtonMenu.ui.js +1 -0
  146. package/dist/assets/ui/image.ui.js +1 -0
  147. package/dist/assets/ui/label.ui.js +1 -0
  148. package/dist/assets/ui/loading.ui.js +1 -0
  149. package/dist/assets/ui/menu.ui.js +1 -0
  150. package/dist/assets/ui/progressbar.ui.js +1 -0
  151. package/dist/assets/ui/radiobutton.ui.js +1 -0
  152. package/dist/assets/ui/scroll.ui.js +1 -0
  153. package/dist/assets/ui/select.ui.js +1 -0
  154. package/dist/assets/ui/styles/accordion.css +1 -0
  155. package/dist/assets/ui/styles/button.css +1 -0
  156. package/dist/assets/ui/styles/buttoncolor.css +1 -0
  157. package/dist/assets/ui/styles/container.css +1 -0
  158. package/dist/assets/ui/styles/datagrid.css +1 -0
  159. package/dist/assets/ui/styles/dialog.css +1 -0
  160. package/dist/assets/ui/styles/draggable.css +1 -0
  161. package/dist/assets/ui/styles/hpanel.css +1 -0
  162. package/dist/assets/ui/styles/icon.css +1 -0
  163. package/dist/assets/ui/styles/image.css +1 -0
  164. package/dist/assets/ui/styles/label.css +1 -0
  165. package/dist/assets/ui/styles/loading.css +1 -0
  166. package/dist/assets/ui/styles/main.css +1 -0
  167. package/dist/assets/ui/styles/menu.css +1 -0
  168. package/dist/assets/ui/styles/progressbar.css +1 -0
  169. package/dist/assets/ui/styles/scroll.css +1 -0
  170. package/dist/assets/ui/styles/select.css +1 -0
  171. package/dist/assets/ui/styles/stackbutton.css +1 -0
  172. package/dist/assets/ui/styles/tabs.css +1 -0
  173. package/dist/assets/ui/styles/textarea.css +1 -0
  174. package/dist/assets/ui/styles/textbox.css +1 -0
  175. package/dist/assets/ui/styles/toolbar.css +1 -0
  176. package/dist/assets/ui/styles/valuebar.css +1 -0
  177. package/dist/assets/ui/styles/vpanel.css +1 -0
  178. package/dist/assets/ui/styles/vstackbutton.css +1 -0
  179. package/dist/assets/ui/switch.ui.js +1 -0
  180. package/dist/assets/ui/tabs.ui.js +1 -0
  181. package/dist/assets/ui/textarea.ui.js +1 -0
  182. package/dist/assets/ui/toggle.ui.js +1 -0
  183. package/dist/assets/ui/toolbar.ui.js +1 -0
  184. package/dist/assets/ui/valuebar.ui.js +1 -0
  185. package/dist/assets/ui/vpanel.ui.js +1 -0
  186. package/dist/assets/ui/widget.builder.js +1 -0
  187. package/dist/assets/ui/widget.collection.js +1 -0
  188. package/dist/assets/ui/widget.ui.js +1 -0
  189. package/dist/cedro-logo.png +0 -0
  190. package/dist/cedro-logo.svg +97 -0
  191. package/dist/fangio.jpg +0 -0
  192. package/dist/material-icons-list.json/357/200/272Zone.Identifier +3 -0
  193. package/package.json +4 -2
  194. package/src/core/application.builder.tsx +122 -60
  195. package/src/core/application.core.tsx +110 -11
  196. package/src/core/themes.core.ts +160 -1
  197. package/src/core/uid.ts +3 -3
  198. package/src/interfaces/application.interface.ts +3 -2
  199. package/src/interfaces/widget.interface.ts +3 -0
  200. package/src/types/select.item.type.ts +11 -0
  201. package/src/ui/Icon.ui.tsx +158 -0
  202. package/src/ui/IconButton.ui.tsx +51 -9
  203. package/src/ui/{textbox.ui.tsx → Textbox.ui.tsx} +23 -15
  204. package/src/ui/accordion.ui.tsx +152 -0
  205. package/src/ui/button.ui.tsx +55 -14
  206. package/src/ui/buttonColor.ui.tsx +87 -0
  207. package/src/ui/buttonmenu.ui.tsx +133 -0
  208. package/src/ui/{buttonstack.ui.ts → buttonstack.ui.tsx} +67 -1
  209. package/src/ui/checkbox.ui.tsx +9 -13
  210. package/src/ui/container.ui.tsx +140 -76
  211. package/src/ui/datagrid.ui.tsx +514 -0
  212. package/src/ui/dialog.tsx +143 -56
  213. package/src/ui/hpanel.ui.tsx +37 -11
  214. package/src/ui/iconButtonMenu.ui.tsx +175 -0
  215. package/src/ui/image.ui.tsx +123 -112
  216. package/src/ui/index.ts +8 -8
  217. package/src/ui/label.ui.tsx +61 -3
  218. package/src/ui/loading.ui.ts +10 -10
  219. package/src/ui/menu.ui.ts +2 -2
  220. package/src/ui/progressbar.ui.tsx +9 -8
  221. package/src/ui/{radiobutton.tsx → radiobutton.ui.tsx} +9 -13
  222. package/src/ui/scroll.ui.ts +13 -12
  223. package/src/ui/select.ui.tsx +143 -0
  224. package/src/ui/styles/button.css +114 -32
  225. package/src/ui/styles/buttoncolor.css +8 -8
  226. package/src/ui/styles/container.css +29 -0
  227. package/src/ui/styles/icon.css +29 -0
  228. package/src/ui/styles/image.css +19 -19
  229. package/src/ui/styles/label.css +63 -0
  230. package/src/ui/styles/loading.css +12 -12
  231. package/src/ui/styles/main.css +5 -0
  232. package/src/ui/styles/progressbar.css +2 -1
  233. package/src/ui/styles/select.css +13 -0
  234. package/src/ui/styles/stackbutton.css +36 -0
  235. package/src/ui/styles/tabs.css +5 -7
  236. package/src/ui/styles/textarea.css +13 -13
  237. package/src/ui/switch.ui.tsx +9 -13
  238. package/src/ui/tabs.ui.tsx +43 -22
  239. package/src/ui/textarea.ui.tsx +48 -0
  240. package/src/ui/toolbar.ui.tsx +17 -12
  241. package/src/ui/valuebar.ui.tsx +11 -13
  242. package/src/ui/vpanel.ui.tsx +19 -13
  243. package/src/ui/widget.builder.ts +243 -159
  244. package/src/ui/widget.collection.ts +24 -2
  245. package/src/ui/widget.ui.ts +79 -19
  246. package/src/ui/Icon.ui.ts +0 -64
  247. package/src/ui/accordion.ui.ts +0 -71
  248. package/src/ui/buttonColor.ui.ts +0 -24
  249. package/src/ui/buttonmenu.ui.ts +0 -59
  250. package/src/ui/datagrid.ui.ts +0 -231
  251. package/src/ui/iconButtonMenu.ui.ts +0 -59
  252. package/src/ui/select.ui.ts +0 -73
  253. package/src/ui/textarea.ui.ts +0 -20
  254. /package/src/ui/{toggle.ui.ts → toggle.ui.tsx} +0 -0
@@ -1,76 +1,140 @@
1
- import { OrientationTypes } from "src/types/orientation.type";
2
- import { Widget, WidgetAlignTypes, WidgetTypes } from "./widget.ui";
3
- import { UID } from "../core/uid";
4
- import { WidgetProps, createWidget } from "./widget.builder";
5
-
6
- export type ContainerParams = {
7
- orientation?: OrientationTypes;
8
- parent?: Widget | null;
9
- size?: number | null;
10
- padding?: number | null;
11
- };
12
-
13
- export class Container extends Widget {
14
- constructor(params: ContainerParams) {
15
- const { orientation = "horizontal", parent = null, size = null, padding = null } = params;
16
-
17
- super(UID(), "div", parent);
18
-
19
- if (orientation === "horizontal") {
20
- this.setAlign(WidgetAlignTypes.HORIZONTAL);
21
- } else {
22
- this.setAlign(WidgetAlignTypes.VERTICAL);
23
- }
24
-
25
- if (size !== null) {
26
- this.setFixedSize(size);
27
- }
28
-
29
- if (padding !== null) {
30
- this.setPadding(padding);
31
- }
32
-
33
- this.setType(WidgetTypes.FILL);
34
- }
35
- }
36
-
37
- export function Spacer(): Container {
38
- return new Container({});
39
- }
40
-
41
- export type ContainerProps = Omit<WidgetProps, "id"> & {
42
- children: any;
43
- };
44
-
45
- export const WContainer = (props: ContainerProps) => {
46
- return (
47
- <div
48
- w-container
49
- w-class={props.classNames}
50
- w-orientation={props.orientation}
51
- w-fixed-size={props.fixedSize}
52
- w-padding={props.padding}
53
- w-type={props.type}
54
- >
55
- {props.children}
56
- </div>
57
- );
58
- };
59
-
60
- export function createContainer(content: any, parent: Widget | null = null): Container {
61
- const dataOrientation = content.getAttribute("w-orientation");
62
-
63
- let orientation: OrientationTypes = dataOrientation ? dataOrientation : "horizontal";
64
-
65
- let newContainer = new Container({ orientation, parent });
66
-
67
- content.childNodes.forEach((item: HTMLElement) => {
68
- const widget = createWidget(item);
69
-
70
- if (widget !== null) {
71
- newContainer.addChild(widget);
72
- }
73
- });
74
-
75
- return newContainer;
76
- }
1
+ import "./styles/container.css";
2
+ import { OrientationTypes } from "../types/orientation.type";
3
+ import {
4
+ connectWidgetCallback,
5
+ getOnlyEventProps,
6
+ Widget,
7
+ WidgetAlignTypes,
8
+ WidgetTypes,
9
+ } from "./widget.ui";
10
+ import { UID } from "../core/uid";
11
+ import { WidgetProps, createWidget, normalizeWidget } from "./widget.builder";
12
+ import { Scroll } from "./scroll.ui";
13
+
14
+ export type ContainerVariants = "plain" | "contained" | "outlined";
15
+
16
+ export type ContainerParams = {
17
+ orientation?: OrientationTypes;
18
+ parent?: Widget | null;
19
+ size?: number | null;
20
+ padding?: number | null;
21
+ variant?: ContainerVariants | null;
22
+ id?: string;
23
+ };
24
+
25
+ export class Container extends Widget {
26
+ variant: ContainerVariants = "plain";
27
+ verticalScrollbar: Scroll | null;
28
+ constructor(params: ContainerParams) {
29
+ const {
30
+ id = "",
31
+ orientation = "horizontal",
32
+ parent = null,
33
+ size = null,
34
+ padding = null,
35
+ variant = null,
36
+ } = params;
37
+
38
+ super(id.length > 0 ? id : UID(), "div", parent);
39
+
40
+ this.verticalScrollbar = null;
41
+
42
+ if (orientation === "horizontal") {
43
+ this.setAlign(WidgetAlignTypes.HORIZONTAL);
44
+ } else {
45
+ this.setAlign(WidgetAlignTypes.VERTICAL);
46
+ }
47
+
48
+ if (size !== null) {
49
+ this.setFixedSize(size);
50
+ }
51
+
52
+ if (padding !== null) {
53
+ this.setPadding(padding);
54
+ }
55
+
56
+ if (variant !== null) {
57
+ this.setVariant(variant);
58
+ } else {
59
+ this.setVariant("plain");
60
+ }
61
+
62
+ this.setType(WidgetTypes.FILL);
63
+ }
64
+
65
+ public setVerticalScrollbar() {
66
+ this.verticalScrollbar = new Scroll(this.id + ".VerticalScrollbar", this);
67
+ }
68
+
69
+ public setVariant(variant: ContainerVariants) {
70
+ if (this.variant !== variant) {
71
+ this.deleteClass("WUIPanel-" + this.variant);
72
+ }
73
+ this.variant = variant;
74
+ this.addClass("WUIPanel-" + variant);
75
+ }
76
+
77
+ public free(): void {
78
+ super.free();
79
+ if (this.verticalScrollbar) this.verticalScrollbar.free();
80
+ }
81
+ }
82
+
83
+ export function Spacer(): Container {
84
+ return new Container({});
85
+ }
86
+
87
+ export type ContainerProps = WidgetProps & {
88
+ variant?: ContainerVariants | null;
89
+ scrollY?: boolean | null;
90
+ children?: any;
91
+ };
92
+
93
+ export const WContainer = (props: Omit<ContainerProps, "id"> & { id?: string }) => {
94
+ if (!props.id) {
95
+ props.id = "Container." + UID();
96
+ }
97
+
98
+ connectWidgetCallback(props.id, getOnlyEventProps(props));
99
+
100
+ return normalizeWidget(
101
+ <div id={props.id} w-container w-variant={props.variant} w-scroll-y={props.scrollY}>
102
+ {props.children}
103
+ </div>,
104
+ props
105
+ );
106
+ };
107
+
108
+ export const WSpacer = (props: Omit<ContainerProps, "id">) => {
109
+ return normalizeWidget(<div w-container>{props.children}</div>, { id: UID(), ...props });
110
+ };
111
+
112
+ export function createContainer(content: any, parent: Widget | null = null): Container {
113
+ const dataOrientation = content.getAttribute("w-orientation");
114
+ const dataVariant = content.getAttribute("w-variant");
115
+ const dataScrollY = content.getAttribute("w-scroll-y");
116
+ const dataId = content.getAttribute("id") || UID();
117
+
118
+ let orientation: OrientationTypes = dataOrientation ? dataOrientation : "horizontal";
119
+ let variant: ContainerVariants = dataVariant ? dataVariant : "plain";
120
+
121
+ let newContainer = new Container({ id: dataId, orientation, parent, variant });
122
+
123
+ if (dataScrollY) {
124
+ newContainer.setVerticalScrollbar();
125
+ }
126
+
127
+ content.childNodes.forEach((item: HTMLElement) => {
128
+ const widget = createWidget(item);
129
+
130
+ if (widget !== null) {
131
+ newContainer.addChild(widget);
132
+ }
133
+ });
134
+
135
+ if (parent) {
136
+ parent.addChild(newContainer);
137
+ }
138
+
139
+ return newContainer;
140
+ }