@vandenberghinc/volt 1.1.5 → 1.1.7

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 (287) hide show
  1. package/backend/dist/cjs/database.d.ts +41 -68
  2. package/backend/dist/cjs/database.js +127 -76
  3. package/backend/dist/cjs/endpoint.d.ts +23 -9
  4. package/backend/dist/cjs/endpoint.js +98 -21
  5. package/backend/dist/cjs/frontend.d.ts +0 -2
  6. package/backend/dist/cjs/frontend.js +9 -9
  7. package/backend/dist/cjs/image_endpoint.d.ts +3 -1
  8. package/backend/dist/cjs/image_endpoint.js +2 -1
  9. package/backend/dist/cjs/payments/paddle.js +10 -2
  10. package/backend/dist/cjs/plugins/css.d.ts +6 -5
  11. package/backend/dist/cjs/plugins/css.js +32 -7
  12. package/backend/dist/cjs/plugins/ts/compiler.d.ts +6 -1
  13. package/backend/dist/cjs/plugins/ts/compiler.js +26 -2
  14. package/backend/dist/cjs/plugins/ts/preprocessing.js +5 -3
  15. package/backend/dist/cjs/server.d.ts +7 -13
  16. package/backend/dist/cjs/server.js +184 -303
  17. package/backend/dist/cjs/status.d.ts +1 -0
  18. package/backend/dist/cjs/status.js +2 -1
  19. package/backend/dist/cjs/stream.d.ts +5 -3
  20. package/backend/dist/cjs/stream.js +13 -4
  21. package/backend/dist/cjs/users.d.ts +1 -1
  22. package/backend/dist/cjs/users.js +87 -72
  23. package/backend/dist/cjs/utils.d.ts +17 -9
  24. package/backend/dist/cjs/utils.js +22 -64
  25. package/backend/dist/cjs/view.d.ts +2 -2
  26. package/backend/dist/cjs/view.js +38 -40
  27. package/backend/dist/cjs/volt.d.ts +3 -2
  28. package/backend/dist/cjs/volt.js +2 -2
  29. package/backend/dist/css/volt.css +5 -0
  30. package/backend/dist/esm/database.d.ts +41 -68
  31. package/backend/dist/esm/database.js +127 -76
  32. package/backend/dist/esm/endpoint.d.ts +23 -9
  33. package/backend/dist/esm/endpoint.js +99 -22
  34. package/backend/dist/esm/frontend.d.ts +0 -2
  35. package/backend/dist/esm/frontend.js +9 -9
  36. package/backend/dist/esm/image_endpoint.d.ts +3 -1
  37. package/backend/dist/esm/image_endpoint.js +2 -1
  38. package/backend/dist/esm/payments/paddle.js +11 -3
  39. package/backend/dist/esm/plugins/css.d.ts +6 -5
  40. package/backend/dist/esm/plugins/css.js +32 -6
  41. package/backend/dist/esm/plugins/ts/compiler.d.ts +6 -1
  42. package/backend/dist/esm/plugins/ts/compiler.js +26 -2
  43. package/backend/dist/esm/plugins/ts/preprocessing.js +5 -3
  44. package/backend/dist/esm/server.d.ts +7 -13
  45. package/backend/dist/esm/server.js +182 -301
  46. package/backend/dist/esm/status.d.ts +1 -0
  47. package/backend/dist/esm/status.js +1 -0
  48. package/backend/dist/esm/stream.d.ts +5 -3
  49. package/backend/dist/esm/stream.js +13 -4
  50. package/backend/dist/esm/users.d.ts +1 -1
  51. package/backend/dist/esm/users.js +87 -72
  52. package/backend/dist/esm/utils.d.ts +17 -9
  53. package/backend/dist/esm/utils.js +21 -62
  54. package/backend/dist/esm/view.d.ts +2 -2
  55. package/backend/dist/esm/view.js +38 -40
  56. package/backend/dist/esm/volt.d.ts +3 -2
  57. package/backend/dist/esm/volt.js +2 -1
  58. package/backend/dist/esm-dev/blacklist.js +1 -1
  59. package/backend/dist/esm-dev/cli.js +2 -2
  60. package/backend/dist/esm-dev/database.d.ts +41 -68
  61. package/backend/dist/esm-dev/database.js +128 -77
  62. package/backend/dist/esm-dev/endpoint.d.ts +23 -9
  63. package/backend/dist/esm-dev/endpoint.js +100 -23
  64. package/backend/dist/esm-dev/file_watcher.js +1 -1
  65. package/backend/dist/esm-dev/frontend.d.ts +0 -2
  66. package/backend/dist/esm-dev/frontend.js +9 -9
  67. package/backend/dist/esm-dev/image_endpoint.d.ts +3 -1
  68. package/backend/dist/esm-dev/image_endpoint.js +2 -1
  69. package/backend/dist/esm-dev/logger.js +1 -1
  70. package/backend/dist/esm-dev/payments/paddle.js +12 -4
  71. package/backend/dist/esm-dev/plugins/css.d.ts +6 -5
  72. package/backend/dist/esm-dev/plugins/css.js +33 -7
  73. package/backend/dist/esm-dev/plugins/ts/compiler.d.ts +6 -1
  74. package/backend/dist/esm-dev/plugins/ts/compiler.js +27 -3
  75. package/backend/dist/esm-dev/plugins/ts/preprocessing.js +7 -5
  76. package/backend/dist/esm-dev/rate_limit.js +1 -1
  77. package/backend/dist/esm-dev/server.d.ts +7 -13
  78. package/backend/dist/esm-dev/server.js +184 -303
  79. package/backend/dist/esm-dev/status.d.ts +1 -0
  80. package/backend/dist/esm-dev/status.js +1 -0
  81. package/backend/dist/esm-dev/stream.d.ts +5 -3
  82. package/backend/dist/esm-dev/stream.js +13 -4
  83. package/backend/dist/esm-dev/users.d.ts +1 -1
  84. package/backend/dist/esm-dev/users.js +88 -73
  85. package/backend/dist/esm-dev/utils.d.ts +17 -9
  86. package/backend/dist/esm-dev/utils.js +22 -63
  87. package/backend/dist/esm-dev/view.d.ts +2 -2
  88. package/backend/dist/esm-dev/view.js +39 -41
  89. package/backend/dist/esm-dev/volt.d.ts +3 -2
  90. package/backend/dist/esm-dev/volt.js +2 -1
  91. package/backend/src/database.ts +163 -152
  92. package/backend/src/endpoint.ts +123 -31
  93. package/backend/src/frontend.ts +9 -8
  94. package/backend/src/image_endpoint.ts +4 -0
  95. package/backend/src/payments/paddle.ts +11 -3
  96. package/backend/src/plugins/css.ts +36 -8
  97. package/backend/src/plugins/ts/compiler.ts +37 -1
  98. package/backend/src/plugins/ts/preprocessing.ts +5 -3
  99. package/backend/src/server.ts +167 -306
  100. package/backend/src/status.ts +1 -0
  101. package/backend/src/stream.ts +28 -8
  102. package/backend/src/users.ts +87 -72
  103. package/backend/src/utils.ts +58 -25
  104. package/backend/src/view.ts +30 -28
  105. package/backend/src/{volt.js → volt.ts} +2 -1
  106. package/backend/tsconfig.cjs.json +3 -3
  107. package/backend/tsconfig.esm.json +3 -3
  108. package/frontend/dist/elements/base.d.ts +397 -415
  109. package/frontend/dist/elements/base.js +565 -328
  110. package/frontend/dist/elements/module.d.ts +26 -12
  111. package/frontend/dist/elements/module.js +69 -32
  112. package/frontend/dist/elements/register_element.d.ts +3 -0
  113. package/frontend/dist/elements/register_element.js +22 -0
  114. package/frontend/dist/modules/auth.d.ts +1 -0
  115. package/frontend/dist/modules/auth.js +6 -5
  116. package/frontend/dist/modules/color.d.ts +159 -0
  117. package/frontend/dist/modules/color.js +315 -0
  118. package/frontend/dist/modules/colors.d.ts +1 -26
  119. package/frontend/dist/modules/colors.js +417 -338
  120. package/frontend/dist/modules/cookies.d.ts +1 -0
  121. package/frontend/dist/modules/cookies.js +1 -0
  122. package/frontend/dist/modules/events.d.ts +1 -0
  123. package/frontend/dist/modules/events.js +1 -0
  124. package/frontend/dist/modules/google.d.ts +1 -0
  125. package/frontend/dist/modules/google.js +1 -0
  126. package/frontend/dist/modules/meta.d.ts +1 -0
  127. package/frontend/dist/modules/meta.js +1 -0
  128. package/frontend/dist/modules/mutex.d.ts +1 -2
  129. package/frontend/dist/modules/mutex.js +3 -4
  130. package/frontend/dist/modules/paddle.d.ts +1 -0
  131. package/frontend/dist/modules/paddle.js +14 -13
  132. package/frontend/dist/modules/scheme.d.ts +1 -0
  133. package/frontend/dist/modules/scheme.js +4 -2
  134. package/frontend/dist/modules/statics.d.ts +1 -0
  135. package/frontend/dist/modules/statics.js +1 -0
  136. package/frontend/dist/modules/support.d.ts +1 -0
  137. package/frontend/dist/modules/support.js +3 -2
  138. package/frontend/dist/modules/theme.d.ts +56 -0
  139. package/frontend/dist/{ui → modules}/theme.js +186 -75
  140. package/frontend/dist/modules/themes.d.ts +1 -1
  141. package/frontend/dist/modules/themes.js +1 -0
  142. package/frontend/dist/modules/user.d.ts +1 -0
  143. package/frontend/dist/modules/user.js +11 -10
  144. package/frontend/dist/modules/utils.d.ts +23 -2
  145. package/frontend/dist/modules/utils.js +93 -1
  146. package/frontend/dist/types/gradient.js +4 -0
  147. package/frontend/dist/ui/border_button.d.ts +0 -25
  148. package/frontend/dist/ui/border_button.js +50 -51
  149. package/frontend/dist/ui/button.d.ts +0 -21
  150. package/frontend/dist/ui/button.js +41 -46
  151. package/frontend/dist/ui/canvas.js +15 -15
  152. package/frontend/dist/ui/checkbox.d.ts +3 -17
  153. package/frontend/dist/ui/checkbox.js +36 -30
  154. package/frontend/dist/ui/code.d.ts +15 -82
  155. package/frontend/dist/ui/code.js +150 -125
  156. package/frontend/dist/ui/color.d.ts +0 -1
  157. package/frontend/dist/ui/color.js +1 -1
  158. package/frontend/dist/ui/context_menu.d.ts +4 -2
  159. package/frontend/dist/ui/context_menu.js +16 -17
  160. package/frontend/dist/ui/css.js +2 -0
  161. package/frontend/dist/ui/divider.d.ts +0 -7
  162. package/frontend/dist/ui/divider.js +21 -25
  163. package/frontend/dist/ui/dropdown.d.ts +13 -7
  164. package/frontend/dist/ui/dropdown.js +65 -30
  165. package/frontend/dist/ui/for_each.d.ts +0 -5
  166. package/frontend/dist/ui/for_each.js +17 -22
  167. package/frontend/dist/ui/form.d.ts +17 -12
  168. package/frontend/dist/ui/form.js +21 -18
  169. package/frontend/dist/ui/frame_modes.d.ts +9 -12
  170. package/frontend/dist/ui/frame_modes.js +8 -10
  171. package/frontend/dist/ui/google_map.d.ts +0 -11
  172. package/frontend/dist/ui/google_map.js +23 -28
  173. package/frontend/dist/ui/gradient.d.ts +0 -5
  174. package/frontend/dist/ui/gradient.js +17 -22
  175. package/frontend/dist/ui/image.d.ts +27 -58
  176. package/frontend/dist/ui/image.js +99 -93
  177. package/frontend/dist/ui/input.d.ts +20 -97
  178. package/frontend/dist/ui/input.js +192 -170
  179. package/frontend/dist/ui/link.d.ts +0 -18
  180. package/frontend/dist/ui/link.js +42 -48
  181. package/frontend/dist/ui/list.js +36 -37
  182. package/frontend/dist/ui/loader_button.d.ts +4 -19
  183. package/frontend/dist/ui/loader_button.js +35 -37
  184. package/frontend/dist/ui/loaders.d.ts +0 -8
  185. package/frontend/dist/ui/loaders.js +20 -25
  186. package/frontend/dist/ui/popup.d.ts +11 -8
  187. package/frontend/dist/ui/popup.js +183 -24
  188. package/frontend/dist/ui/pseudo.d.ts +3 -3
  189. package/frontend/dist/ui/pseudo.js +14 -17
  190. package/frontend/dist/ui/scroller.d.ts +10 -48
  191. package/frontend/dist/ui/scroller.js +306 -300
  192. package/frontend/dist/ui/slider.d.ts +9 -3
  193. package/frontend/dist/ui/slider.js +31 -17
  194. package/frontend/dist/ui/spacer.d.ts +0 -9
  195. package/frontend/dist/ui/spacer.js +21 -26
  196. package/frontend/dist/ui/span.js +13 -15
  197. package/frontend/dist/ui/stack.d.ts +14 -75
  198. package/frontend/dist/ui/stack.js +166 -169
  199. package/frontend/dist/ui/steps.d.ts +10 -23
  200. package/frontend/dist/ui/steps.js +47 -34
  201. package/frontend/dist/ui/style.d.ts +4 -3
  202. package/frontend/dist/ui/style.js +13 -18
  203. package/frontend/dist/ui/switch.d.ts +10 -4
  204. package/frontend/dist/ui/switch.js +24 -16
  205. package/frontend/dist/ui/table.d.ts +0 -23
  206. package/frontend/dist/ui/table.js +113 -119
  207. package/frontend/dist/ui/tabs.d.ts +3 -19
  208. package/frontend/dist/ui/tabs.js +35 -29
  209. package/frontend/dist/ui/text.d.ts +0 -8
  210. package/frontend/dist/ui/text.js +20 -25
  211. package/frontend/dist/ui/title.d.ts +0 -15
  212. package/frontend/dist/ui/title.js +39 -45
  213. package/frontend/dist/ui/ui.d.ts +0 -2
  214. package/frontend/dist/ui/ui.js +0 -2
  215. package/frontend/dist/ui/view.d.ts +3 -17
  216. package/frontend/dist/ui/view.js +27 -32
  217. package/frontend/dist/volt.d.ts +2 -1
  218. package/frontend/dist/volt.js +3 -1
  219. package/frontend/examples/dashboard/dashboard.ts +774 -0
  220. package/frontend/examples/theme/theme.ts +58 -0
  221. package/frontend/src/css/volt.css +5 -0
  222. package/frontend/src/elements/base.ts +767 -545
  223. package/frontend/src/elements/module.ts +90 -29
  224. package/frontend/src/elements/register_element.ts +24 -0
  225. package/frontend/src/modules/auth.ts +7 -6
  226. package/frontend/src/modules/color.ts +348 -0
  227. package/frontend/src/modules/colors.ts +468 -449
  228. package/frontend/src/modules/cookies.ts +1 -0
  229. package/frontend/src/modules/events.ts +1 -0
  230. package/frontend/src/modules/google.ts +1 -0
  231. package/frontend/src/modules/meta.ts +2 -1
  232. package/frontend/src/modules/mutex.ts +2 -4
  233. package/frontend/src/modules/paddle.ts +21 -20
  234. package/frontend/src/modules/scheme.ts +4 -3
  235. package/frontend/src/modules/statics.ts +2 -1
  236. package/frontend/src/modules/support.ts +3 -2
  237. package/frontend/src/modules/theme.ts +413 -0
  238. package/frontend/src/modules/themes.ts +2 -1
  239. package/frontend/src/modules/user.ts +12 -11
  240. package/frontend/src/modules/utils.ts +125 -2
  241. package/frontend/src/ui/border_button.ts +41 -37
  242. package/frontend/src/ui/button.ts +33 -32
  243. package/frontend/src/ui/canvas.ts +5 -2
  244. package/frontend/src/ui/checkbox.ts +21 -22
  245. package/frontend/src/ui/code.ts +92 -86
  246. package/frontend/src/ui/context_menu.ts +7 -5
  247. package/frontend/src/ui/css.ts +1 -1
  248. package/frontend/src/ui/divider.ts +15 -10
  249. package/frontend/src/ui/dropdown.ts +38 -21
  250. package/frontend/src/ui/for_each.ts +9 -8
  251. package/frontend/src/ui/form.ts +26 -21
  252. package/frontend/src/ui/frame_modes.ts +13 -17
  253. package/frontend/src/ui/google_map.ts +15 -13
  254. package/frontend/src/ui/gradient.ts +9 -8
  255. package/frontend/src/ui/image.ts +108 -86
  256. package/frontend/src/ui/input.ts +145 -144
  257. package/frontend/src/ui/link.ts +25 -23
  258. package/frontend/src/ui/list.ts +12 -6
  259. package/frontend/src/ui/loader_button.ts +26 -25
  260. package/frontend/src/ui/loaders.ts +12 -11
  261. package/frontend/src/ui/popup.ts +168 -14
  262. package/frontend/src/ui/pseudo.ts +5 -3
  263. package/frontend/src/ui/scroller.ts +303 -294
  264. package/frontend/src/ui/slider.ts +15 -10
  265. package/frontend/src/ui/spacer.ts +14 -11
  266. package/frontend/src/ui/span.ts +6 -2
  267. package/frontend/src/ui/stack.ts +196 -183
  268. package/frontend/src/ui/steps.ts +38 -22
  269. package/frontend/src/ui/style.ts +7 -4
  270. package/frontend/src/ui/switch.ts +16 -11
  271. package/frontend/src/ui/table.ts +42 -34
  272. package/frontend/src/ui/tabs.ts +20 -19
  273. package/frontend/src/ui/text.ts +12 -11
  274. package/frontend/src/ui/title.ts +22 -20
  275. package/frontend/src/ui/ui.ts +0 -2
  276. package/frontend/src/ui/view.ts +20 -19
  277. package/frontend/src/volt.ts +3 -1
  278. package/frontend/{compile.js → tools/compile.old.js} +2 -2
  279. package/frontend/tools/embed_scripts.js +69 -0
  280. package/frontend/tsconfig.json +26 -0
  281. package/package.json +8 -8
  282. package/frontend/dist/ui/theme.d.ts +0 -25
  283. package/frontend/exports.json +0 -1340
  284. package/frontend/src/modules/date.js +0 -535
  285. package/frontend/src/ui/color.ts +0 -117
  286. package/frontend/src/ui/theme.ts +0 -279
  287. /package/backend/src/{vinc.dev.js → vinc.dev.ts} +0 -0
@@ -4,15 +4,18 @@
4
4
  */
5
5
 
6
6
  // Imports.
7
- import { Elements } from "../elements/module.js"
7
+ import { Elements, VElementBaseSignature, VElement } from "../elements/module.js"
8
8
  import { VStackElement, VStack, HStack, HStackElement } from "./stack"
9
9
 
10
- // Slider.
11
- @Elements.register
12
- export class SliderElement extends VStackElement {
10
+ export namespace SliderElement {
11
+ export type OnChangeCallback<This> = (element: This, value: number) => void;
12
+ }
13
13
 
14
- // Macros.
15
- #macro OnChangeCallback ((element: SliderElement, value: number) => void)
14
+ // Slider.
15
+ @Elements.create({
16
+ name: "SliderElement",
17
+ })
18
+ export class SliderElement extends (VStackElement as any as VElementBaseSignature) {
16
19
 
17
20
  // Attributes.
18
21
  public _type: string;
@@ -36,7 +39,9 @@ export class SliderElement extends VStackElement {
36
39
 
37
40
  // Initialize base class.
38
41
  super();
39
- this._init_derived({ derived: SliderElement, })
42
+ this._init({
43
+ derived: SliderElement,
44
+ })
40
45
 
41
46
  // Attributes.
42
47
  this._type = "SliderElement";
@@ -170,11 +175,11 @@ export class SliderElement extends VStackElement {
170
175
 
171
176
  // Set the on change handler.
172
177
  // @ts-ignore
173
- on_change(): OnChangeCallback;
178
+ on_change(): SwitchElement.OnChangeCallback<this>;
174
179
  // @ts-ignore
175
- on_change(handler: OnChangeCallback): this
180
+ on_change(handler: SwitchElement.OnChangeCallback<this>): this
176
181
  // @ts-ignore
177
- on_change(handler?: OnChangeCallback): OnChangeCallback | this {
182
+ on_change(handler?: SwitchElement.OnChangeCallback<this>): SwitchElement.OnChangeCallback<this> | this {
178
183
  if (handler == null) {
179
184
  return this.on_change_handler;
180
185
  }
@@ -4,20 +4,23 @@
4
4
  */
5
5
 
6
6
  // Imports.
7
- import { Elements, VElementTagMap } from "../elements/module.js"
7
+ import { Elements, VElementBaseSignature, VElement, VElementTagMap } from "../elements/module.js"
8
8
 
9
9
  // Spacer.
10
- @Elements.register
10
+ @Elements.create({
11
+ name: "SpacerElement",
12
+ default_style: {
13
+ "margin": "0px",
14
+ "padding": "0px",
15
+ "flex": "1",
16
+ "flex-grow": "1",
17
+ "background": "#00000000",
18
+ "filter": "opacity(0)",
19
+ "justify-content": "stretch",
20
+ }
21
+ })
11
22
  export class SpacerElement extends VElementTagMap.div {
12
- static default_style = {
13
- "margin": "0px",
14
- "padding": "0px",
15
- "flex": "1",
16
- "flex-grow": "1",
17
- "background": "#00000000",
18
- "filter": "opacity(0)",
19
- "justify-content": "stretch",
20
- };
23
+
21
24
  constructor() {
22
25
  super({
23
26
  derived: SpacerElement,
@@ -4,11 +4,15 @@
4
4
  */
5
5
 
6
6
  // Imports.
7
- import { Elements, VElementTagMap } from "../elements/module.js"
7
+ import { Elements, VElementBaseSignature, VElement, VElementTagMap } from "../elements/module.js"
8
8
 
9
9
  // Span.
10
- @Elements.register
10
+ @Elements.create({
11
+ name: "SpanElement",
12
+ })
11
13
  export class SpanElement extends VElementTagMap.span {
14
+
15
+ // Constructor.
12
16
  constructor(inner_html?: string) {
13
17
 
14
18
  // Initialize base class.
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  // Imports.
7
- import { Elements, VElementTagMap, VElement } from "../elements/module.js"
7
+ import { Elements, VElementBaseSignature, VElementTagMap, VElement, AppendType } from "../elements/module.js"
8
8
 
9
9
  // Div element
10
10
  // export const VDivElement = Elements.create({type: "Div", tag: "div"}); // should always remain a "div" since some elements like LoaderButton rely on the behaviour of a div.
@@ -14,225 +14,238 @@ import { Elements, VElementTagMap, VElement } from "../elements/module.js"
14
14
  // declare module './any_element.d.ts' { interface AnyElementMap { VDivElement: VDivElement }}
15
15
 
16
16
  // VStack.
17
- @Elements.register
17
+ @Elements.create({
18
+ name: "FrameElement",
19
+ default_style: {
20
+ // "position": "relative",
21
+ "margin": "0px",
22
+ "padding": "0px",
23
+ // "clear": "both",
24
+ "display": "block",
25
+ "overflow": "hidden",
26
+ "width": "100%", // to ensure its passed along all children.
27
+ }
28
+ })
18
29
  export class FrameElement extends VElementTagMap.div {
19
30
 
20
- static default_style = {
21
- // "position": "relative",
22
- "margin": "0px",
23
- "padding": "0px",
24
- // "clear": "both",
25
- "display": "block",
26
- "overflow": "visible",
27
- };
28
-
29
- // Constructor.
30
- constructor(...children: any[]) {
31
-
32
- // Initialize base class.
33
- super({
34
- derived: FrameElement,
35
- });
36
-
37
- // Add children.
38
- this.append(...children);
39
-
40
- }
31
+ // Constructor.
32
+ constructor(...children: AppendType[]) {
33
+
34
+ // Initialize base class.
35
+ super({
36
+ derived: FrameElement,
37
+ });
38
+
39
+ // Add children.
40
+ this.append(...children);
41
+
42
+ }
41
43
  }
42
44
  export const Frame = Elements.wrapper(FrameElement);
43
45
  export const NullFrame = Elements.create_null(FrameElement);
44
- declare module './any_element.d.ts' { interface AnyElementMap { FrameElement: FrameElement }}
46
+ declare module './any_element.d.ts' { interface AnyElementMap { FrameElement: FrameElement } }
45
47
 
46
48
  // VStack.
47
- @Elements.register
49
+ @Elements.create({
50
+ name: "VStackElement",
51
+ default_style: {
52
+ // "position": "relative",
53
+ "margin": "0px",
54
+ "padding": "0px",
55
+ // "clear": "both",
56
+ "display": "flex", // to support vertical spacers.
57
+ "overflow": "visible",
58
+ // "flex": "1", // disabled to support horizontal spacers in VStacks.
59
+ "align-content": "flex-start", // align items at start, do not stretch / space when inside HStack.
60
+ // "align-items": "flex-start", // otherwise the children automatically expand width to match the vstacks width.
61
+ "flex-direction": "column",
62
+ // "text-align": "start",
63
+ "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
64
+ "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
65
+ "width": "100%", // to ensure its passed along all children.
66
+ }
67
+ })
48
68
  export class VStackElement extends VElementTagMap.div {
49
69
 
50
- static default_style = {
51
- // "position": "relative",
52
- "margin": "0px",
53
- "padding": "0px",
54
- // "clear": "both",
55
- "display": "flex", // to support vertical spacers.
56
- "overflow": "visible",
57
- // "flex": "1", // disabled to support horizontal spacers in VStacks.
58
- "align-content": "flex-start", // align items at start, do not stretch / space when inside HStack.
59
- // "align-items": "flex-start", // otherwise the children automatically expand width to match the vstacks width.
60
- "flex-direction": "column",
61
- // "text-align": "start",
62
- "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
63
- "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
64
- };
65
-
66
- // Constructor.
67
- constructor(...children: any[]) {
68
-
69
- // Initialize base class.
70
- super({
71
- derived: VStackElement,
72
- });
73
-
74
- // Add children.
75
- this.append(...children);
76
-
77
- }
70
+ // Constructor.
71
+ constructor(...children: AppendType[]) {
72
+
73
+ // Initialize base class.
74
+ super({
75
+ derived: VStackElement,
76
+ });
77
+
78
+ // Add children.
79
+ this.append(...children);
80
+
81
+ }
78
82
  }
79
83
  export const VStack = Elements.wrapper(VStackElement);
80
84
  export const NullVStack = Elements.create_null(VStackElement);
81
- declare module './any_element.d.ts' { interface AnyElementMap { VStackElement: VStackElement }}
85
+ declare module './any_element.d.ts' { interface AnyElementMap { VStackElement: VStackElement } }
82
86
 
83
87
  // AnchorVStack.
84
- @Elements.register
88
+ @Elements.create({
89
+ name: "AnchorVStackElement",
90
+ default_style: {
91
+ // "position": "relative",
92
+ "margin": "0px",
93
+ "padding": "0px",
94
+ // "clear": "both",
95
+ "display": "flex", // to support vertical spacers.
96
+ "overflow": "visible",
97
+ // "flex": "1", // disabled to support horizontal spacers in VStacks.
98
+ "align-content": "flex-start", // align items at start, do not stretch / space when inside HStack.
99
+ // "align-items": "flex-start", // otherwise the children automatically expand width to match the vstacks width.
100
+ "flex-direction": "column",
101
+ // "text-align": "start",
102
+ "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
103
+ "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
104
+ "text-decoration": "none",
105
+
106
+ "width": "100%", // to ensure its passed along all children.
107
+
108
+ // After extending VStack.
109
+ "color": "inherit", // inherit colors since <a> does not have that and a <div> does.
110
+ },
111
+ })
85
112
  export class AnchorVStackElement extends VElementTagMap.a {
86
113
 
87
- static default_style = {
88
- // "position": "relative",
89
- "margin": "0px",
90
- "padding": "0px",
91
- // "clear": "both",
92
- "display": "flex", // to support vertical spacers.
93
- "overflow": "visible",
94
- // "flex": "1", // disabled to support horizontal spacers in VStacks.
95
- "align-content": "flex-start", // align items at start, do not stretch / space when inside HStack.
96
- // "align-items": "flex-start", // otherwise the children automatically expand width to match the vstacks width.
97
- "flex-direction": "column",
98
- // "text-align": "start",
99
- "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
100
- "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
101
- "text-decoration": "none",
102
-
103
- // After extending VStack.
104
- "color": "inherit", // inherit colors since <a> does not have that and a <div> does.
105
- };
106
-
107
- // Constructor.
108
- constructor(...children: any[]) {
109
-
110
- // Initialize base class.
111
- super({
112
- derived: AnchorVStackElement,
113
- });
114
-
115
- // Add children.
116
- this.append(...children);
117
-
118
- }
114
+ // Constructor.
115
+ constructor(...children: AppendType[]) {
116
+
117
+ // Initialize base class.
118
+ super({
119
+ derived: AnchorVStackElement,
120
+ });
121
+
122
+ // Add children.
123
+ this.append(...children);
124
+
125
+ }
119
126
  }
120
127
  export const AnchorVStack = Elements.wrapper(AnchorVStackElement);
121
128
  export const NullAnchorVStack = Elements.create_null(AnchorVStackElement);
122
- declare module './any_element.d.ts' { interface AnyElementMap { AnchorVStackElement: AnchorVStackElement }}
129
+ declare module './any_element.d.ts' { interface AnyElementMap { AnchorVStackElement: AnchorVStackElement } }
123
130
 
124
131
  // const stack: VElement = new AnchorVStackElement();
125
132
 
126
133
  // HStack.
127
- @Elements.register
128
- export class HStackElement extends VElementTagMap.div {
129
-
130
- static default_style = {
131
- // "position": "relative",
132
- "margin": "0px",
133
- "padding": "0px",
134
- // "clear": "both",
135
- "overflow-x": "visible",
136
- "overflow-y": "visible",
137
- // "text-align": "start",
138
- "display": "flex",
139
- "flex-direction": "row",
140
- "align-items": "flex-start", // disable the auto extending of the childs height to the max child height.
141
- // "flex": "1", // disabled to support horizontal spacers in VStacks.
142
- "flex:": "1 1 auto", // prevent children from exceeding its max width, @warning do not remove this cause it can produce some nasty overflow bugs, so if you want to remove it create an function to optionally remove it.
143
- "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
144
- "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
145
- };
146
-
147
- // Constructor.
148
- constructor(...children: any[]) {
149
-
150
- // Initialize base class.
151
- super({
152
- derived: HStackElement,
153
- });
154
-
155
- // Add children.
156
- this.append(...children);
157
- }
134
+ @Elements.create({
135
+ name: "HStackElement",
136
+ default_style: {
137
+ // "position": "relative",
138
+ "margin": "0px",
139
+ "padding": "0px",
140
+ // "clear": "both",
141
+ "overflow-x": "visible",
142
+ "overflow-y": "visible",
143
+ // "text-align": "start",
144
+ "display": "flex",
145
+ "flex-direction": "row",
146
+ "align-items": "flex-start", // disable the auto extending of the childs height to the max child height.
147
+ // "flex": "1", // disabled to support horizontal spacers in VStacks.
148
+ "flex:": "1 1 auto", // prevent children from exceeding its max width, @warning do not remove this cause it can produce some nasty overflow bugs, so if you want to remove it create an function to optionally remove it.
149
+ "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
150
+ "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
151
+ "width": "100%", // to ensure its passed along all children.
152
+ },
153
+ })
154
+ export class HStackElement extends VElementTagMap.div {;
155
+
156
+ // Constructor.
157
+ constructor(...children: AppendType[]) {
158
+
159
+ // Initialize base class.
160
+ super({
161
+ derived: HStackElement,
162
+ });
163
+
164
+ // Add children.
165
+ this.append(...children);
166
+ }
158
167
  }
159
168
  export const HStack = Elements.wrapper(HStackElement);
160
169
  export const NullHStack = Elements.create_null(HStackElement);
161
- declare module './any_element.d.ts' { interface AnyElementMap { HStackElement: HStackElement }}
170
+ declare module './any_element.d.ts' { interface AnyElementMap { HStackElement: HStackElement } }
162
171
 
163
172
  // AnchorHStack
164
- @Elements.register
173
+ @Elements.create({
174
+ name: "AnchorHStackElement",
175
+ default_style: {
176
+ // "position": "relative",
177
+ "margin": "0px",
178
+ "padding": "0px",
179
+ // "clear": "both",
180
+ "overflow-x": "visible",
181
+ "overflow-y": "visible",
182
+ // "text-align": "start",
183
+ "display": "flex",
184
+ "flex-direction": "row",
185
+ "align-items": "flex-start", // disable the auto extending of the childs height to the max child height.
186
+ // "flex": "1", // disabled to support horizontal spacers in VStacks.
187
+ "flex:": "1 1 auto", // prevent children from exceeding its max width, @warning do not remove this cause it can produce some nasty overflow bugs, so if you want to remove it create an function to optionally remove it.
188
+ "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
189
+ "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
190
+ "text-decoration": "none",
191
+ "width": "100%", // to ensure its passed along all children.
192
+
193
+ // After extending VStack.
194
+ "color": "inherit", // inherit colors since <a> does not have that and a <div> does.
195
+ },
196
+ })
165
197
  export class AnchorHStackElement extends VElementTagMap.a {
166
198
 
167
- static default_style = {
168
- // "position": "relative",
169
- "margin": "0px",
170
- "padding": "0px",
171
- // "clear": "both",
172
- "overflow-x": "visible",
173
- "overflow-y": "visible",
174
- // "text-align": "start",
175
- "display": "flex",
176
- "flex-direction": "row",
177
- "align-items": "flex-start", // disable the auto extending of the childs height to the max child height.
178
- // "flex": "1", // disabled to support horizontal spacers in VStacks.
179
- "flex:": "1 1 auto", // prevent children from exceeding its max width, @warning do not remove this cause it can produce some nasty overflow bugs, so if you want to remove it create an function to optionally remove it.
180
- "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
181
- "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
182
- "text-decoration": "none",
183
-
184
- // After extending VStack.
185
- "color": "inherit", // inherit colors since <a> does not have that and a <div> does.
186
- };
187
-
188
- // Constructor.
189
- constructor(...children: any[]) {
190
-
191
- // Initialize base class.
192
- super({
193
- derived: AnchorHStackElement,
194
- });
195
-
196
- // Add children.
197
- this.append(...children);
198
- }
199
+ // Constructor.
200
+ constructor(...children: AppendType[]) {
201
+
202
+ // Initialize base class.
203
+ super({
204
+ derived: AnchorHStackElement,
205
+ });
206
+
207
+ // Add children.
208
+ this.append(...children);
209
+ }
199
210
  }
200
211
  export const AnchorHStack = Elements.wrapper(AnchorHStackElement);
201
212
  export const NullAnchorHStack = Elements.create_null(AnchorHStackElement);
202
- declare module './any_element.d.ts' { interface AnyElementMap { AnchorHStackElement: AnchorHStackElement }}
213
+ declare module './any_element.d.ts' { interface AnyElementMap { AnchorHStackElement: AnchorHStackElement } }
203
214
 
204
215
  // ZStack.
205
- @Elements.register
216
+ @Elements.create({
217
+ name: "ZStackElement",
218
+ default_style: {
219
+ // "position": "relative",
220
+ "margin": "0px",
221
+ "padding": "0px",
222
+ "display": "grid",
223
+ // "text-align": "start",
224
+ "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
225
+ "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
226
+ "width": "100%", // to ensure its passed along all children.
227
+ },
228
+ })
206
229
  export class ZStackElement extends VElementTagMap.div {
207
230
 
208
- static default_style = {
209
- // "position": "relative",
210
- "margin": "0px",
211
- "padding": "0px",
212
- "display": "grid",
213
- // "text-align": "start",
214
- "outline": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
215
- "border": "none", // otherwise the focus border might show up inside an animation when the href # hashtag id is loaded.
216
- };
217
-
218
- // Constructor.
219
- constructor(...children: any[]) {
220
-
221
- // Initialize base class.
222
- super({
223
- derived: ZStackElement,
224
- });
225
-
226
- // Add children.
227
- this.zstack_append(...children);
228
-
229
- }
230
-
231
- // Override append.
232
- append(...children: any[]) : this {
233
- return this.zstack_append(...children);
234
- }
231
+ // Constructor.
232
+ constructor(...children: AppendType[]) {
233
+
234
+ // Initialize base class.
235
+ super({
236
+ derived: ZStackElement,
237
+ });
238
+
239
+ // Add children.
240
+ this.zstack_append(children);
241
+
242
+ }
243
+
244
+ // Override append.
245
+ append(...children: AppendType[]): this {
246
+ return this.zstack_append(children);
247
+ }
235
248
  }
236
249
  export const ZStack = Elements.wrapper(ZStackElement);
237
250
  export const NullZStack = Elements.create_null(ZStackElement);
238
- declare module './any_element.d.ts' { interface AnyElementMap { ZStackElement: ZStackElement }}
251
+ declare module './any_element.d.ts' { interface AnyElementMap { ZStackElement: ZStackElement } }