dothtml 6.0.0-beta.8 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/index.cjs +26 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.mts +129 -0
  4. package/dist/index.d.ts +129 -0
  5. package/dist/index.global.js +26 -0
  6. package/dist/index.global.js.map +1 -0
  7. package/dist/index.js +26 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +81 -57
  10. package/build_module/constants.d.ts +0 -1
  11. package/build_module/constants.js +0 -2
  12. package/build_module/constants.js.map +0 -1
  13. package/build_module/css/css.d.ts +0 -0
  14. package/build_module/css/css.js +0 -1
  15. package/build_module/css/css.js.map +0 -1
  16. package/build_module/decoration/component.d.ts +0 -14
  17. package/build_module/decoration/component.js +0 -27
  18. package/build_module/decoration/component.js.map +0 -1
  19. package/build_module/decoration/style.d.ts +0 -0
  20. package/build_module/decoration/style.js +0 -1
  21. package/build_module/decoration/style.js.map +0 -1
  22. package/build_module/decoration/use-styles.d.ts +0 -14
  23. package/build_module/decoration/use-styles.js +0 -32
  24. package/build_module/decoration/use-styles.js.map +0 -1
  25. package/build_module/dot.d.ts +0 -3
  26. package/build_module/dot.js +0 -516
  27. package/build_module/dot.js.map +0 -1
  28. package/build_module/helpers.d.ts +0 -2
  29. package/build_module/helpers.js +0 -49
  30. package/build_module/helpers.js.map +0 -1
  31. package/build_module/index.d.ts +0 -7
  32. package/build_module/index.js +0 -5
  33. package/build_module/index.js.map +0 -1
  34. package/build_module/reactive.d.ts +0 -37
  35. package/build_module/reactive.js +0 -120
  36. package/build_module/reactive.js.map +0 -1
  37. package/build_module/v-dom-node.d.ts +0 -0
  38. package/build_module/v-dom-node.js +0 -1
  39. package/build_module/v-dom-node.js.map +0 -1
  40. package/build_module/vdom-nodes/collection-vdom.d.ts +0 -24
  41. package/build_module/vdom-nodes/collection-vdom.js +0 -154
  42. package/build_module/vdom-nodes/collection-vdom.js.map +0 -1
  43. package/build_module/vdom-nodes/component-vdom.d.ts +0 -14
  44. package/build_module/vdom-nodes/component-vdom.js +0 -61
  45. package/build_module/vdom-nodes/component-vdom.js.map +0 -1
  46. package/build_module/vdom-nodes/conditional-vdom.d.ts +0 -14
  47. package/build_module/vdom-nodes/conditional-vdom.js +0 -97
  48. package/build_module/vdom-nodes/conditional-vdom.js.map +0 -1
  49. package/build_module/vdom-nodes/container-vdom.d.ts +0 -23
  50. package/build_module/vdom-nodes/container-vdom.js +0 -85
  51. package/build_module/vdom-nodes/container-vdom.js.map +0 -1
  52. package/build_module/vdom-nodes/element-vdom.d.ts +0 -18
  53. package/build_module/vdom-nodes/element-vdom.js +0 -88
  54. package/build_module/vdom-nodes/element-vdom.js.map +0 -1
  55. package/build_module/vdom-nodes/html-vdom.d.ts +0 -13
  56. package/build_module/vdom-nodes/html-vdom.js +0 -53
  57. package/build_module/vdom-nodes/html-vdom.js.map +0 -1
  58. package/build_module/vdom-nodes/text-vdom.d.ts +0 -11
  59. package/build_module/vdom-nodes/text-vdom.js +0 -37
  60. package/build_module/vdom-nodes/text-vdom.js.map +0 -1
  61. package/build_module/vdom-nodes/vdom.d.ts +0 -7
  62. package/build_module/vdom-nodes/vdom.js +0 -28
  63. package/build_module/vdom-nodes/vdom.js.map +0 -1
  64. package/readme.md +0 -26
@@ -1,18 +0,0 @@
1
- import { ContainerVdom } from "./container-vdom";
2
- import { Vdom } from "./vdom";
3
- export default class ElementVdom extends Vdom {
4
- children: ContainerVdom;
5
- element: HTMLElement;
6
- tag: string;
7
- private attributes;
8
- private events;
9
- private attributeObserverIds;
10
- constructor(tag: string);
11
- _render(node: HTMLElement): void;
12
- _unrender(): void;
13
- toString(): string;
14
- setAttr(attr: any, value: any): void;
15
- private renderAttr;
16
- addEventListener(event: string, callback: (e: Event) => void): void;
17
- private renderEvent;
18
- }
@@ -1,88 +0,0 @@
1
- import { DOT_VDOM_PROP_NAME } from "../constants";
2
- import Reactive from "../reactive";
3
- import { ContainerVdom } from "./container-vdom";
4
- import { Vdom } from "./vdom";
5
- export default class ElementVdom extends Vdom {
6
- constructor(tag) {
7
- super();
8
- this.children = null;
9
- this.tag = null;
10
- this.attributes = {};
11
- this.events = [];
12
- this.attributeObserverIds = [];
13
- this.tag = tag;
14
- this.children = new ContainerVdom();
15
- this.children._parent = this;
16
- }
17
- _render(node) {
18
- this.element = node.ownerDocument.createElement(this.tag);
19
- this.element[DOT_VDOM_PROP_NAME] = this;
20
- for (let a in this.attributes) {
21
- this.renderAttr(a, this.attributes[a], this.element);
22
- }
23
- node.appendChild(this.element);
24
- for (let i = 0; i < this.events.length; i++) {
25
- let e = this.events[i];
26
- this.renderEvent(e.name, e.callback);
27
- }
28
- if (this.children) {
29
- this.children._render(this.element);
30
- }
31
- }
32
- _unrender() {
33
- this.children._unrender();
34
- this.element.parentNode?.removeChild(this.element);
35
- this.element = null;
36
- for (let i = 0; i < this.attributeObserverIds.length; i++) {
37
- let item = this.attributeObserverIds[i];
38
- item.observable.detachBinding(item.id);
39
- }
40
- this.attributeObserverIds.length = 0;
41
- }
42
- toString() {
43
- if (this.element) {
44
- return this.element.outerHTML;
45
- }
46
- else {
47
- return super.toString();
48
- }
49
- }
50
- setAttr(attr, value) {
51
- this.attributes[attr] = value;
52
- if (this.element) {
53
- this.renderAttr(attr, value, this.element);
54
- }
55
- }
56
- renderAttr(attr, value, node) {
57
- if (typeof value === "string" || typeof value === "number") {
58
- node.setAttribute(attr, `${value}`);
59
- }
60
- else if (typeof value === "boolean" || value == null || value == undefined) {
61
- if (value)
62
- node.setAttribute(attr, `${value}`);
63
- else
64
- node.removeAttribute(attr);
65
- }
66
- else if (value instanceof Reactive) {
67
- this.renderAttr(attr, value.getValue(), node);
68
- let id = value.subscribeAttr(this, attr);
69
- this.attributeObserverIds.push({ id: id, observable: value });
70
- if (attr == "value" || attr == "checked") {
71
- this.element.addEventListener("input", (e) => {
72
- value.setValue(this.element[attr]);
73
- });
74
- }
75
- }
76
- else {
77
- }
78
- }
79
- addEventListener(event, callback) {
80
- this.events.push({ name: event, callback: callback });
81
- if (this.element)
82
- this.renderEvent(event, callback);
83
- }
84
- renderEvent(e, callback) {
85
- this.element.addEventListener(e.toLowerCase(), callback);
86
- }
87
- }
88
- //# sourceMappingURL=element-vdom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/element-vdom.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import Reactive from "../reactive";
2
- import { Vdom } from "./vdom";
3
- export declare class HtmlVdom extends Vdom {
4
- beforeNode: Node;
5
- afterNode: Node;
6
- html: string | Reactive;
7
- observerId: number;
8
- constructor(html: string | Reactive);
9
- updateHtml(html: any): void;
10
- _render(target: HTMLElement): void;
11
- _unrender(): void;
12
- toString(): any;
13
- }
@@ -1,53 +0,0 @@
1
- import { removeNodesBetween } from "../helpers";
2
- import Reactive from "../reactive";
3
- import { Vdom } from "./vdom";
4
- export class HtmlVdom extends Vdom {
5
- constructor(html) {
6
- super();
7
- this.observerId = 0;
8
- this.html = html;
9
- }
10
- updateHtml(html) {
11
- if (this.beforeNode) {
12
- removeNodesBetween(this.beforeNode, this.afterNode);
13
- let temp = this.beforeNode.ownerDocument.createElement("div");
14
- temp.innerHTML = html;
15
- while (temp.firstChild) {
16
- this.afterNode.parentElement.insertBefore(temp.firstChild, this.afterNode);
17
- }
18
- }
19
- }
20
- _render(target) {
21
- let html = "";
22
- if (this.html instanceof Reactive) {
23
- html = this.html.getValue();
24
- this.observerId = this.html.subscribeHtml(this);
25
- }
26
- else {
27
- html = this.html;
28
- }
29
- this.beforeNode = target.ownerDocument.createTextNode("");
30
- this.afterNode = target.ownerDocument.createTextNode("");
31
- target.appendChild(this.beforeNode);
32
- target.appendChild(this.afterNode);
33
- this.updateHtml(html ?? "");
34
- }
35
- _unrender() {
36
- if (this.beforeNode) {
37
- let parent = this.beforeNode.parentElement;
38
- removeNodesBetween(this.beforeNode, this.afterNode);
39
- parent.removeChild(this.beforeNode);
40
- parent.removeChild(this.afterNode);
41
- this.beforeNode = null;
42
- this.afterNode = null;
43
- }
44
- if (this.observerId && this.html instanceof Reactive) {
45
- this.html.detachBinding(this.observerId);
46
- this.observerId = 0;
47
- }
48
- }
49
- toString() {
50
- return this.html instanceof Reactive ? this.html.getValue() : this.html;
51
- }
52
- }
53
- //# sourceMappingURL=html-vdom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/html-vdom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAQjC,YAAY,IAAqB;QAChC,KAAK,EAAE,CAAC;QAHT,eAAU,GAAW,CAAC,CAAC;QAItB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,IAAI;QACd,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAGpD,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,OAAO,IAAI,CAAC,UAAU,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC3E;SACD;IACF,CAAC;IAED,OAAO,CAAC,MAAmB;QAC1B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChD;aACG;YACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SACjB;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS;QACR,IAAG,IAAI,CAAC,UAAU,EAAC;YAClB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAG3C,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAEpD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACtB;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACnD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACpB;IACF,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC;CACD"}
@@ -1,11 +0,0 @@
1
- import Reactive from "../reactive";
2
- import { Vdom } from "./vdom";
3
- export declare class TextVdom extends Vdom {
4
- text: string | boolean | number | Reactive;
5
- textNode: Node;
6
- observerId: number;
7
- constructor(text: string | boolean | number | Reactive);
8
- _render(node: HTMLElement): void;
9
- _unrender(): void;
10
- toString(): string;
11
- }
@@ -1,37 +0,0 @@
1
- import Reactive from "../reactive";
2
- import { Vdom } from "./vdom";
3
- export class TextVdom extends Vdom {
4
- constructor(text) {
5
- super();
6
- this.textNode = null;
7
- this.observerId = 0;
8
- this.text = text;
9
- }
10
- _render(node) {
11
- if (this.text instanceof Reactive) {
12
- this.textNode = node.ownerDocument.createTextNode(this.text.getValue() ?? "");
13
- this.observerId = this.text.subscribeText(this);
14
- }
15
- else {
16
- this.textNode = node.ownerDocument.createTextNode(`${this.text ?? ""}`);
17
- }
18
- node.appendChild(this.textNode);
19
- }
20
- _unrender() {
21
- if (this.textNode) {
22
- this.textNode.parentElement.removeChild(this.textNode);
23
- this.textNode = null;
24
- }
25
- if (this.observerId && this.text instanceof Reactive) {
26
- this.text.detachBinding(this.observerId);
27
- this.observerId = 0;
28
- }
29
- }
30
- toString() {
31
- let temp = document.createTextNode((this.text instanceof Reactive ? this.text.getValue() : this.text) ?? "");
32
- let div = document.createElement("div");
33
- div.appendChild(temp);
34
- return div.innerHTML;
35
- }
36
- }
37
- //# sourceMappingURL=text-vdom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/text-vdom.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B,MAAM,OAAO,QAAS,SAAQ,IAAI;IAMjC,YAAY,IAAoC;QAC/C,KAAK,EAAE,CAAC;QAJT,aAAQ,GAAS,IAAI,CAAC;QACtB,eAAU,GAAG,CAAC,CAAC;QAId,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAiB;QACxB,IAAG,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAChD;aACG;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;SACxE;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,SAAS;QACR,IAAG,IAAI,CAAC,QAAQ,EAAC;YAEhB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACrB;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAC;YACnD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACpB;IACF,CAAC;IAED,QAAQ;QACP,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7G,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC,SAAS,CAAC;IACtB,CAAC;CACD"}
@@ -1,7 +0,0 @@
1
- export declare abstract class Vdom {
2
- abstract _render(target: HTMLElement): any;
3
- abstract _unrender(): any;
4
- toString(): string;
5
- _renderBefore(reference: Node): void;
6
- _renderAfter(reference: Node): void;
7
- }
@@ -1,28 +0,0 @@
1
- export class Vdom {
2
- toString() {
3
- let el = document.createElement("div");
4
- this._render(el);
5
- return el.innerHTML;
6
- }
7
- _renderBefore(reference) {
8
- let dummy = reference.ownerDocument.createElement("div");
9
- this._render(dummy);
10
- while (dummy.childNodes.length > 0) {
11
- let cn = dummy.childNodes[0];
12
- cn.parentElement.removeChild(cn);
13
- reference.parentElement.insertBefore(cn, reference);
14
- }
15
- }
16
- _renderAfter(reference) {
17
- if (reference.nextSibling) {
18
- this._renderBefore(reference.nextSibling);
19
- }
20
- else {
21
- let temp = reference.ownerDocument.createTextNode("");
22
- reference.parentElement.appendChild(temp);
23
- this._renderBefore(temp);
24
- temp.parentElement.removeChild(temp);
25
- }
26
- }
27
- }
28
- //# sourceMappingURL=vdom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vdom.js","sourceRoot":"","sources":["../../src/vdom-nodes/vdom.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAMzB,QAAQ;QACP,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,SAAe;QAC5B,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,OAAM,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAC;YACjC,IAAI,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACjC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACpD;IACF,CAAC;IACD,YAAY,CAAC,SAAe;QAC3B,IAAG,SAAS,CAAC,WAAW,EAAC;YACxB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SAC1C;aACG;YACH,IAAI,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtD,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACrC;IACF,CAAC;CACD"}
package/readme.md DELETED
@@ -1,26 +0,0 @@
1
- [https://dothtml.org/](https://dothtml.org/) for documentation (currently somewhat out of date since DOTcss was merged in and library was ported to TypeScript and put on NPM).
2
-
3
- # Project Status
4
-
5
- This project is a work in progress with several phases:
6
-
7
- 1. Basic web building framework in JavaScript. ✅
8
- 2. Provide some JQuery-like syntax and functionality. ✅
9
- 3. Add routing and components. ✅
10
- 4. Bridge the gap between DOThtml and modern frameworks, like Vue. ✅
11
- 5. Lots of testing, tweaking, documentation. 🔲
12
- 6. Take over the world. 🔲
13
-
14
- Special thanks to [dosy](https://www.npmjs.com/~dosy) for giving me the module on NPM. Please check out ViewFinderJs - [a remote isolated browser with co-browsing](https://github.com/i5ik/ViewFinderJS).
15
-
16
- # Current Known Limitations
17
-
18
- ## CSS
19
- The Style builder is powerful and useful, but still not fully developed. Consider importing stylesheets separately if affected by any of the below limitations.
20
- - Pseudo selectors like :hover aren't supported by the style builder since there's no straightforward way to set them in JavaScript in a neat way that supports component isolation.
21
- - Animations kind of broke when merging DOTcss in, and don't support the increased complexity which is now allowed.
22
- - All length properties take a single value. Two and four argument lengths (for things like margin) are not yet supported.
23
- - A lot of CSS properties don't enforce proper typing and will allow any string. This is a WIP and will naturally get better over time.
24
- - CSS @ rules like @keyframes, @media, @font-face, etc are currently not supported because they are currently not configurable in JavaScript. A workaround that generates dynamic CSS is planned.
25
-
26
- - Support for header elements (including stylesheets) is planned.