@nuvo-js/core 0.0.0-stage → 0.5.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.
- package/README.md +2 -3
- package/dist/Element/index.d.ts +17 -0
- package/dist/Element/index.d.ts.map +1 -0
- package/dist/Element/index.js +112 -0
- package/dist/Element/index.js.map +1 -0
- package/dist/Element/types.d.ts +27 -0
- package/dist/Element/types.d.ts.map +1 -0
- package/dist/Element/types.js +2 -0
- package/dist/Element/types.js.map +1 -0
- package/dist/Element/utils.d.ts +4 -0
- package/dist/Element/utils.d.ts.map +1 -0
- package/dist/Element/utils.js +96 -0
- package/dist/Element/utils.js.map +1 -0
- package/dist/Fragment.d.ts +3 -0
- package/dist/Fragment.d.ts.map +1 -0
- package/dist/Fragment.js +7 -0
- package/dist/Fragment.js.map +1 -0
- package/dist/SVGElement/index.d.ts +14 -0
- package/dist/SVGElement/index.d.ts.map +1 -0
- package/dist/SVGElement/index.js +74 -0
- package/dist/SVGElement/index.js.map +1 -0
- package/dist/SVGElement/types.d.ts +274 -0
- package/dist/SVGElement/types.d.ts.map +1 -0
- package/dist/SVGElement/types.js +2 -0
- package/dist/SVGElement/types.js.map +1 -0
- package/dist/global.d.ts +8 -0
- package/dist/global.d.ts.map +1 -0
- package/dist/global.js +2 -0
- package/dist/global.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/store.d.ts +12 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +45 -0
- package/dist/store.js.map +1 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +80 -0
- package/dist/utils.js.map +1 -0
- package/package.json +48 -4
package/README.md
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
|
|
1
|
+
# -doggy-core
|
|
2
|
+
Html rendering simple engine.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ElementPropsType, ElementConstructorType, HTMLElementTags } from './types';
|
|
2
|
+
declare class Element<T extends HTMLElementTags> {
|
|
3
|
+
dom: T;
|
|
4
|
+
private readonly controller;
|
|
5
|
+
constructor({ tagName, props: { children, className, style, events, key, ...props }, rootElement, }: ElementConstructorType<T>);
|
|
6
|
+
SetProps({ className, children, style, ...props }: Omit<ElementPropsType<T>, 'className'> & {
|
|
7
|
+
className?: ((classList: DOMTokenList) => void) | string | undefined;
|
|
8
|
+
}, isForceUpdate?: boolean): this;
|
|
9
|
+
private SetEvents;
|
|
10
|
+
Destroy(): void;
|
|
11
|
+
Remove(): void;
|
|
12
|
+
OnMount(callback: (e: this) => void): this;
|
|
13
|
+
OnUnMount(callback: (e: this) => void): this;
|
|
14
|
+
}
|
|
15
|
+
export type { ElementPropsType };
|
|
16
|
+
export default Element;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Element/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAE5D,MAAM,SAAS,CAAC;AAOjB,cAAM,OAAO,CAAC,CAAC,SAAS,eAAe;IAC5B,GAAG,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,YAAmB,EACf,OAAO,EACP,KAAK,EAAE,EACH,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,EACH,GAAG,KAAK,EACX,EACD,WAAW,GACd,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAyB3B;IAEM,QAAQ,CACX,EACI,SAAS,EACT,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACX,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;QACxC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;KACxE,EACD,aAAa,UAAQ,QAyDxB;IAED,OAAO,CAAC,SAAS;IAmBV,OAAO,SAIb;IAEM,MAAM,SAEZ;IAEM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,QAkBzC;IAEM,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,QAgB3C;CACJ;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAC;eAElB,OAAO"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { isPlainObject, setupClassName, setupStyle } from '../utils';
|
|
2
|
+
import { setupChildren } from './utils';
|
|
3
|
+
class Element {
|
|
4
|
+
dom;
|
|
5
|
+
controller = new AbortController();
|
|
6
|
+
constructor({ tagName, props: { children, className, style, events, key, ...props }, rootElement, }) {
|
|
7
|
+
this.dom = document.createElement(tagName);
|
|
8
|
+
const virtualDom = this.dom;
|
|
9
|
+
if (key) {
|
|
10
|
+
virtualDom.__key = key;
|
|
11
|
+
}
|
|
12
|
+
if (rootElement) {
|
|
13
|
+
rootElement.appendChild(this.dom);
|
|
14
|
+
}
|
|
15
|
+
this.SetProps({
|
|
16
|
+
className,
|
|
17
|
+
children,
|
|
18
|
+
style,
|
|
19
|
+
...props,
|
|
20
|
+
});
|
|
21
|
+
this.SetEvents(events);
|
|
22
|
+
}
|
|
23
|
+
SetProps({ className, children, style, ...props }, isForceUpdate = false) {
|
|
24
|
+
if (className !== undefined) {
|
|
25
|
+
setupClassName(className, this.dom);
|
|
26
|
+
}
|
|
27
|
+
if (style !== undefined) {
|
|
28
|
+
setupStyle(style, this.dom);
|
|
29
|
+
}
|
|
30
|
+
if (children !== undefined) {
|
|
31
|
+
setupChildren(children, this.dom, isForceUpdate);
|
|
32
|
+
}
|
|
33
|
+
Object.entries(props)
|
|
34
|
+
.forEach(([name, value]) => {
|
|
35
|
+
if (name === 'events' || isPlainObject(value)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (name === 'value' && (this.dom instanceof HTMLInputElement || this.dom instanceof HTMLTextAreaElement)) {
|
|
39
|
+
if (this.dom.value === value) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.dom.value = value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (name in this.dom) {
|
|
47
|
+
if (value === undefined || value === '') {
|
|
48
|
+
this.dom.removeAttribute(name);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
if (((this.dom)[name] !== undefined) && (this.dom)[name] !== value) {
|
|
52
|
+
(this.dom)[name] = value;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (value !== '' && this.dom.getAttribute(name) !== String(value)) {
|
|
58
|
+
this.dom.setAttribute(name, value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
SetEvents(events) {
|
|
65
|
+
if (events) {
|
|
66
|
+
Object.entries(events)
|
|
67
|
+
.forEach(([type, listener]) => {
|
|
68
|
+
this.dom.addEventListener(type.replace(/^on/, ''), listener, { signal: this.controller.signal });
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
Destroy() {
|
|
73
|
+
this.controller.abort('Element event is destroyed.');
|
|
74
|
+
this.Remove();
|
|
75
|
+
}
|
|
76
|
+
Remove() {
|
|
77
|
+
this.dom.remove();
|
|
78
|
+
}
|
|
79
|
+
OnMount(callback) {
|
|
80
|
+
if (this.dom.isConnected) {
|
|
81
|
+
callback(this);
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
const observer = new MutationObserver(() => {
|
|
85
|
+
if (this.dom.isConnected) {
|
|
86
|
+
callback(this);
|
|
87
|
+
observer.disconnect();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
observer.observe(document, {
|
|
91
|
+
childList: true,
|
|
92
|
+
subtree: true,
|
|
93
|
+
});
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
OnUnMount(callback) {
|
|
97
|
+
const observer = new MutationObserver(() => {
|
|
98
|
+
if (!this.dom.isConnected) {
|
|
99
|
+
callback(this);
|
|
100
|
+
this.Destroy();
|
|
101
|
+
observer.disconnect();
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
observer.observe(document, {
|
|
105
|
+
childList: true,
|
|
106
|
+
subtree: true,
|
|
107
|
+
});
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export default Element;
|
|
112
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Element/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type Handlers = Omit<GlobalEventHandlers, 'addEventListener' | 'removeEventListener'>;
|
|
2
|
+
export type NodeChildren = string | ChildNode | undefined | null;
|
|
3
|
+
export type DOMElement = HTMLElement | SVGElement;
|
|
4
|
+
export type Dataset = Record<`data-${string}`, string>;
|
|
5
|
+
export type HTMLTags = keyof HTMLElementTagNameMap;
|
|
6
|
+
export type HTMLElementTags = HTMLElementTagNameMap[HTMLTags];
|
|
7
|
+
export type Children = NodeChildren | DocumentFragment | HTMLElement;
|
|
8
|
+
export type EventType<T extends HTMLElement> = {
|
|
9
|
+
[K in keyof Handlers]?: Handlers[K] extends ((this: T, ev: infer E) => void) | null ? (ev: E) => void : never;
|
|
10
|
+
};
|
|
11
|
+
export type ElementPropsType<T extends HTMLElementTags = HTMLElement> = Omit<Partial<T>, 'children' | 'className' | 'style'> & Dataset & {
|
|
12
|
+
children?: Children[] | undefined;
|
|
13
|
+
className?: string | undefined;
|
|
14
|
+
events?: EventType<T>;
|
|
15
|
+
style?: Partial<CSSStyleDeclaration> | undefined;
|
|
16
|
+
key?: string;
|
|
17
|
+
};
|
|
18
|
+
export interface ElementConstructorType<T extends HTMLElementTags> {
|
|
19
|
+
tagName: HTMLTags;
|
|
20
|
+
props: ElementPropsType<T>;
|
|
21
|
+
rootElement?: HTMLElement | null;
|
|
22
|
+
}
|
|
23
|
+
export type VirtualHTMLElement = DOMElement & {
|
|
24
|
+
__key?: string;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Element/types.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI;KAC1C,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAC7E,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,GACf,KAAK;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,eAAe,GAAG,WAAW,IAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG;IAC/D,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,eAAe;IAC7D,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Element/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Children, DOMElement } from './types';
|
|
2
|
+
export declare function compareProps(oldNode: DOMElement | null, newNode: DOMElement | null): boolean;
|
|
3
|
+
export declare function setupChildren<T extends DOMElement>(children: ((childNodes: Set<ChildNode>) => Set<ChildNode>) | Children[] | undefined, dom: T, isForceUpdate: boolean): void;
|
|
4
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Element/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,QAAQ,EAAE,UAAU,EACvB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CACxB,OAAO,EAAE,UAAU,GAAG,IAAI,EAC1B,OAAO,EAAE,UAAU,GAAG,IAAI,WAkB7B;AA4ED,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAC9C,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,EACnF,GAAG,EAAE,CAAC,EACN,aAAa,EAAE,OAAO,QAsBzB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { mergeAttributes } from '../utils';
|
|
2
|
+
export function compareProps(oldNode, newNode) {
|
|
3
|
+
if (!oldNode || !newNode)
|
|
4
|
+
return false;
|
|
5
|
+
const oldNAttrs = oldNode.attributes;
|
|
6
|
+
const newNAttrs = newNode.attributes;
|
|
7
|
+
if (oldNode.tagName !== newNode.tagName)
|
|
8
|
+
return false;
|
|
9
|
+
if (oldNAttrs.length !== newNAttrs.length)
|
|
10
|
+
return false;
|
|
11
|
+
for (const attr of oldNAttrs) {
|
|
12
|
+
if (newNode.getAttribute(attr.name) !== attr.value) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
function keyedDiff(dom, newChildren) {
|
|
19
|
+
const oldChildren = Array.from(dom.children);
|
|
20
|
+
const oldByKey = new Map(oldChildren.map(child => [
|
|
21
|
+
child.__key,
|
|
22
|
+
child
|
|
23
|
+
]));
|
|
24
|
+
const newKeys = new Set(newChildren.map(child => child.__key));
|
|
25
|
+
for (const child of oldChildren) {
|
|
26
|
+
if (!newKeys.has(child.__key)) {
|
|
27
|
+
child.remove();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
let anchor = dom.firstElementChild;
|
|
31
|
+
for (const newChild of newChildren) {
|
|
32
|
+
let current = oldByKey.get(newChild.__key);
|
|
33
|
+
if (!current) {
|
|
34
|
+
dom.insertBefore(newChild, anchor);
|
|
35
|
+
anchor = newChild.nextElementSibling;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (current.tagName !== newChild.tagName) {
|
|
39
|
+
current.replaceWith(newChild);
|
|
40
|
+
oldByKey.set(newChild.__key, newChild);
|
|
41
|
+
current = newChild;
|
|
42
|
+
}
|
|
43
|
+
else if (compareProps(current, newChild)) {
|
|
44
|
+
mergeAttributes(current, newChild);
|
|
45
|
+
}
|
|
46
|
+
if (current !== anchor) {
|
|
47
|
+
dom.insertBefore(current, anchor);
|
|
48
|
+
}
|
|
49
|
+
anchor = current.nextElementSibling;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function unKeyedDiff(dom, newChildren) {
|
|
53
|
+
const oldChildren = Array.from(dom.childNodes);
|
|
54
|
+
const max = Math.max(oldChildren.length, newChildren.length);
|
|
55
|
+
for (let i = 0; i < max; i++) {
|
|
56
|
+
const oldNode = oldChildren[i];
|
|
57
|
+
const newNode = newChildren[i];
|
|
58
|
+
let shouldReplace;
|
|
59
|
+
if (oldNode?.nodeType === Node.ELEMENT_NODE && newNode?.nodeType === Node.ELEMENT_NODE) {
|
|
60
|
+
shouldReplace = compareProps(oldNode, newNode) || oldNode.innerHTML !== newNode.innerHTML;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
shouldReplace = oldNode !== newNode;
|
|
64
|
+
}
|
|
65
|
+
if (!oldNode && newNode) {
|
|
66
|
+
dom.append(newNode);
|
|
67
|
+
}
|
|
68
|
+
else if (oldNode && !newNode) {
|
|
69
|
+
dom.removeChild(oldNode);
|
|
70
|
+
}
|
|
71
|
+
else if (oldNode && newNode && shouldReplace) {
|
|
72
|
+
oldNode.replaceWith(newNode);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function setupChildren(children, dom, isForceUpdate) {
|
|
77
|
+
if (children) {
|
|
78
|
+
const newChildren = typeof children === 'function'
|
|
79
|
+
? Array.from(children(new Set(dom.childNodes)))
|
|
80
|
+
: children;
|
|
81
|
+
const extracted = newChildren.filter(Boolean);
|
|
82
|
+
if (isForceUpdate) {
|
|
83
|
+
dom.replaceChildren(...extracted);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const isAvailableKey = [...dom.children][0]?.__key;
|
|
87
|
+
if (isAvailableKey) {
|
|
88
|
+
keyedDiff(dom, extracted); // NOTE: key in element
|
|
89
|
+
}
|
|
90
|
+
else { // NOTE: not key in element
|
|
91
|
+
unKeyedDiff(dom, extracted);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Element/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fragment.d.ts","sourceRoot":"","sources":["../src/Fragment.ts"],"names":[],"mappings":"AAAA,iBAAS,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,gBAAgB,CAAC,EAAE,oBAKnF;eAEc,QAAQ"}
|
package/dist/Fragment.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../src/Fragment.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,QAAkE;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAEnD,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SVGElementConstructorType, SVGTags, SVGElementPropsType } from './types';
|
|
2
|
+
declare class SVGElement<T extends SVGTags> {
|
|
3
|
+
dom: T;
|
|
4
|
+
key?: string | number | undefined;
|
|
5
|
+
constructor({ tagName, props: { children, className, style, ...props }, rootElement, }: SVGElementConstructorType);
|
|
6
|
+
SetProps({ className, children, style, ...props }: SVGElementConstructorType['props'], isForceUpdate?: boolean): this;
|
|
7
|
+
Destroy(): void;
|
|
8
|
+
Remove(): void;
|
|
9
|
+
OnMount(callback: (e: this) => void): this;
|
|
10
|
+
OnUnMount(callback: (e: this) => void): this;
|
|
11
|
+
}
|
|
12
|
+
export type { SVGElementPropsType };
|
|
13
|
+
export default SVGElement;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SVGElement/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,yBAAyB,EAAE,OAAO,EAAE,mBAAmB,EAC1D,MAAM,SAAS,CAAC;AAIjB,cAAM,UAAU,CAAE,CAAC,SAAS,OAAO;IACxB,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAa;IAErD,YAAmB,EACf,OAAO,EACP,KAAK,EAAE,EACH,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACX,EACD,WAAW,GACd,EAAE,yBAAyB,EAe3B;IAEM,QAAQ,CACX,EACI,SAAS,EACT,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACX,EAAE,yBAAyB,CAAC,OAAO,CAAC,EACrC,aAAa,UAAQ,QAiCxB;IAEM,OAAO,SAEb;IAEM,MAAM,SAEZ;IAEM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,QAkBzC;IAEM,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,QAgB3C;CACJ;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC;eAErB,UAAU"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { setupChildren } from '../Element/utils';
|
|
2
|
+
import { setupClassName, setupStyle } from '../utils';
|
|
3
|
+
const svgNS = 'http://www.w3.org/2000/svg';
|
|
4
|
+
class SVGElement {
|
|
5
|
+
dom;
|
|
6
|
+
key = undefined;
|
|
7
|
+
constructor({ tagName, props: { children, className, style, ...props }, rootElement, }) {
|
|
8
|
+
this.dom = document.createElementNS(svgNS, tagName);
|
|
9
|
+
if (rootElement) {
|
|
10
|
+
rootElement.appendChild(this.dom);
|
|
11
|
+
}
|
|
12
|
+
this.SetProps({
|
|
13
|
+
className,
|
|
14
|
+
children,
|
|
15
|
+
style,
|
|
16
|
+
...props,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
SetProps({ className, children, style, ...props }, isForceUpdate = false) {
|
|
20
|
+
if (className !== undefined) {
|
|
21
|
+
setupClassName(className, this.dom);
|
|
22
|
+
}
|
|
23
|
+
if (style !== undefined) {
|
|
24
|
+
setupStyle(style, this.dom);
|
|
25
|
+
}
|
|
26
|
+
if (children !== undefined) {
|
|
27
|
+
setupChildren(children, this.dom, isForceUpdate);
|
|
28
|
+
}
|
|
29
|
+
Object.entries(props)
|
|
30
|
+
.forEach(([name, value]) => {
|
|
31
|
+
this.dom.setAttribute(name, value);
|
|
32
|
+
});
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
Destroy() {
|
|
36
|
+
this.Remove();
|
|
37
|
+
}
|
|
38
|
+
Remove() {
|
|
39
|
+
this.dom.remove();
|
|
40
|
+
}
|
|
41
|
+
OnMount(callback) {
|
|
42
|
+
if (this.dom.isConnected) {
|
|
43
|
+
callback(this);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
const observer = new MutationObserver(() => {
|
|
47
|
+
if (this.dom.isConnected) {
|
|
48
|
+
callback(this);
|
|
49
|
+
observer.disconnect();
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
observer.observe(document, {
|
|
53
|
+
childList: true,
|
|
54
|
+
subtree: true,
|
|
55
|
+
});
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
OnUnMount(callback) {
|
|
59
|
+
const observer = new MutationObserver(() => {
|
|
60
|
+
if (!this.dom.isConnected) {
|
|
61
|
+
callback(this);
|
|
62
|
+
this.Destroy();
|
|
63
|
+
observer.disconnect();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
observer.observe(document, {
|
|
67
|
+
childList: true,
|
|
68
|
+
subtree: true,
|
|
69
|
+
});
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export default SVGElement;
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SVGElement/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import type { DOMElement, NodeChildren } from '../Element/types';
|
|
2
|
+
export type HTMLSVGTags = keyof SVGElementTagNameMap;
|
|
3
|
+
export type SVGTags = SVGElementTagNameMap[HTMLSVGTags];
|
|
4
|
+
type Children = NodeChildren;
|
|
5
|
+
export type SVGElementPropsType<T extends SVGTags = SVGElement> = ElementPropsType<T>;
|
|
6
|
+
export type ElementPropsType<T extends SVGTags = SVGElement> = Omit<Partial<T>, 'children' | 'className' | 'style'> & {
|
|
7
|
+
children?: (Children)[] | undefined;
|
|
8
|
+
className?: string | undefined;
|
|
9
|
+
style?: Partial<CSSStyleDeclaration> | undefined;
|
|
10
|
+
key?: string;
|
|
11
|
+
} & SVGAttributes;
|
|
12
|
+
export interface SVGElementConstructorType<T extends SVGTags = SVGElement> {
|
|
13
|
+
tagName: HTMLSVGTags;
|
|
14
|
+
props: SVGElementPropsType<T>;
|
|
15
|
+
rootElement?: DOMElement | null;
|
|
16
|
+
}
|
|
17
|
+
export interface SVGAttributes {
|
|
18
|
+
suppressHydrationWarning?: boolean | undefined;
|
|
19
|
+
color?: string | undefined;
|
|
20
|
+
height?: number | string | undefined;
|
|
21
|
+
lang?: string | undefined;
|
|
22
|
+
max?: number | string | undefined;
|
|
23
|
+
media?: string | undefined;
|
|
24
|
+
method?: string | undefined;
|
|
25
|
+
min?: number | string | undefined;
|
|
26
|
+
name?: string | undefined;
|
|
27
|
+
target?: string | undefined;
|
|
28
|
+
type?: string | undefined;
|
|
29
|
+
width?: number | string | undefined;
|
|
30
|
+
role?: string | undefined;
|
|
31
|
+
tabIndex?: number | undefined;
|
|
32
|
+
crossOrigin?: string;
|
|
33
|
+
accentHeight?: number | string | undefined;
|
|
34
|
+
accumulate?: 'none' | 'sum' | undefined;
|
|
35
|
+
additive?: 'replace' | 'sum' | undefined;
|
|
36
|
+
alignmentBaseline?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined;
|
|
37
|
+
allowReorder?: 'no' | 'yes' | undefined;
|
|
38
|
+
alphabetic?: number | string | undefined;
|
|
39
|
+
amplitude?: number | string | undefined;
|
|
40
|
+
arabicForm?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined;
|
|
41
|
+
ascent?: number | string | undefined;
|
|
42
|
+
attributeName?: string | undefined;
|
|
43
|
+
attributeType?: string | undefined;
|
|
44
|
+
autoReverse?: string | undefined;
|
|
45
|
+
azimuth?: number | string | undefined;
|
|
46
|
+
baseFrequency?: number | string | undefined;
|
|
47
|
+
baselineShift?: number | string | undefined;
|
|
48
|
+
baseProfile?: number | string | undefined;
|
|
49
|
+
bbox?: number | string | undefined;
|
|
50
|
+
begin?: number | string | undefined;
|
|
51
|
+
bias?: number | string | undefined;
|
|
52
|
+
by?: number | string | undefined;
|
|
53
|
+
calcMode?: number | string | undefined;
|
|
54
|
+
capHeight?: number | string | undefined;
|
|
55
|
+
clip?: number | string | undefined;
|
|
56
|
+
clipPath?: string | undefined;
|
|
57
|
+
clipPathUnits?: number | string | undefined;
|
|
58
|
+
clipRule?: number | string | undefined;
|
|
59
|
+
colorInterpolation?: number | string | undefined;
|
|
60
|
+
colorInterpolationFilters?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined;
|
|
61
|
+
colorProfile?: number | string | undefined;
|
|
62
|
+
colorRendering?: number | string | undefined;
|
|
63
|
+
contentScriptType?: number | string | undefined;
|
|
64
|
+
contentStyleType?: number | string | undefined;
|
|
65
|
+
cursor?: number | string | undefined;
|
|
66
|
+
cx?: number | string | undefined;
|
|
67
|
+
cy?: number | string | undefined;
|
|
68
|
+
d?: string | undefined;
|
|
69
|
+
decelerate?: number | string | undefined;
|
|
70
|
+
descent?: number | string | undefined;
|
|
71
|
+
diffuseConstant?: number | string | undefined;
|
|
72
|
+
direction?: number | string | undefined;
|
|
73
|
+
display?: number | string | undefined;
|
|
74
|
+
divisor?: number | string | undefined;
|
|
75
|
+
dominantBaseline?: number | string | undefined;
|
|
76
|
+
dur?: number | string | undefined;
|
|
77
|
+
dx?: number | string | undefined;
|
|
78
|
+
dy?: number | string | undefined;
|
|
79
|
+
edgeMode?: number | string | undefined;
|
|
80
|
+
elevation?: number | string | undefined;
|
|
81
|
+
enableBackground?: number | string | undefined;
|
|
82
|
+
end?: number | string | undefined;
|
|
83
|
+
exponent?: number | string | undefined;
|
|
84
|
+
fill?: string | undefined;
|
|
85
|
+
fillOpacity?: number | string | undefined;
|
|
86
|
+
fillRule?: 'nonzero' | 'evenodd' | 'inherit' | undefined;
|
|
87
|
+
filter?: string | undefined;
|
|
88
|
+
filterRes?: number | string | undefined;
|
|
89
|
+
filterUnits?: number | string | undefined;
|
|
90
|
+
floodColor?: number | string | undefined;
|
|
91
|
+
floodOpacity?: number | string | undefined;
|
|
92
|
+
fontFamily?: string | undefined;
|
|
93
|
+
fontSize?: number | string | undefined;
|
|
94
|
+
fontSizeAdjust?: number | string | undefined;
|
|
95
|
+
fontStretch?: number | string | undefined;
|
|
96
|
+
fontStyle?: number | string | undefined;
|
|
97
|
+
fontVariant?: number | string | undefined;
|
|
98
|
+
fontWeight?: number | string | undefined;
|
|
99
|
+
format?: number | string | undefined;
|
|
100
|
+
fr?: number | string | undefined;
|
|
101
|
+
from?: number | string | undefined;
|
|
102
|
+
fx?: number | string | undefined;
|
|
103
|
+
fy?: number | string | undefined;
|
|
104
|
+
g1?: number | string | undefined;
|
|
105
|
+
g2?: number | string | undefined;
|
|
106
|
+
glyphName?: number | string | undefined;
|
|
107
|
+
glyphOrientationHorizontal?: number | string | undefined;
|
|
108
|
+
glyphOrientationVertical?: number | string | undefined;
|
|
109
|
+
glyphRef?: number | string | undefined;
|
|
110
|
+
gradientTransform?: string | undefined;
|
|
111
|
+
gradientUnits?: string | undefined;
|
|
112
|
+
hanging?: number | string | undefined;
|
|
113
|
+
horizAdvX?: number | string | undefined;
|
|
114
|
+
horizOriginX?: number | string | undefined;
|
|
115
|
+
href?: string | undefined;
|
|
116
|
+
ideographic?: number | string | undefined;
|
|
117
|
+
imageRendering?: number | string | undefined;
|
|
118
|
+
in2?: number | string | undefined;
|
|
119
|
+
in?: string | undefined;
|
|
120
|
+
intercept?: number | string | undefined;
|
|
121
|
+
k1?: number | string | undefined;
|
|
122
|
+
k2?: number | string | undefined;
|
|
123
|
+
k3?: number | string | undefined;
|
|
124
|
+
k4?: number | string | undefined;
|
|
125
|
+
k?: number | string | undefined;
|
|
126
|
+
kernelMatrix?: number | string | undefined;
|
|
127
|
+
kernelUnitLength?: number | string | undefined;
|
|
128
|
+
kerning?: number | string | undefined;
|
|
129
|
+
keyPoints?: number | string | undefined;
|
|
130
|
+
keySplines?: number | string | undefined;
|
|
131
|
+
keyTimes?: number | string | undefined;
|
|
132
|
+
lengthAdjust?: number | string | undefined;
|
|
133
|
+
letterSpacing?: number | string | undefined;
|
|
134
|
+
lightingColor?: number | string | undefined;
|
|
135
|
+
limitingConeAngle?: number | string | undefined;
|
|
136
|
+
local?: number | string | undefined;
|
|
137
|
+
markerEnd?: string | undefined;
|
|
138
|
+
markerHeight?: number | string | undefined;
|
|
139
|
+
markerMid?: string | undefined;
|
|
140
|
+
markerStart?: string | undefined;
|
|
141
|
+
markerUnits?: number | string | undefined;
|
|
142
|
+
markerWidth?: number | string | undefined;
|
|
143
|
+
mask?: string | undefined;
|
|
144
|
+
maskContentUnits?: number | string | undefined;
|
|
145
|
+
maskUnits?: number | string | undefined;
|
|
146
|
+
mathematical?: number | string | undefined;
|
|
147
|
+
mode?: number | string | undefined;
|
|
148
|
+
numOctaves?: number | string | undefined;
|
|
149
|
+
offset?: number | string | undefined;
|
|
150
|
+
opacity?: number | string | undefined;
|
|
151
|
+
operator?: number | string | undefined;
|
|
152
|
+
order?: number | string | undefined;
|
|
153
|
+
orient?: number | string | undefined;
|
|
154
|
+
orientation?: number | string | undefined;
|
|
155
|
+
origin?: number | string | undefined;
|
|
156
|
+
overflow?: number | string | undefined;
|
|
157
|
+
overlinePosition?: number | string | undefined;
|
|
158
|
+
overlineThickness?: number | string | undefined;
|
|
159
|
+
paintOrder?: number | string | undefined;
|
|
160
|
+
panose1?: number | string | undefined;
|
|
161
|
+
path?: string | undefined;
|
|
162
|
+
pathLength?: number | string | undefined;
|
|
163
|
+
patternContentUnits?: string | undefined;
|
|
164
|
+
patternTransform?: number | string | undefined;
|
|
165
|
+
patternUnits?: string | undefined;
|
|
166
|
+
pointerEvents?: number | string | undefined;
|
|
167
|
+
points?: string | undefined;
|
|
168
|
+
pointsAtX?: number | string | undefined;
|
|
169
|
+
pointsAtY?: number | string | undefined;
|
|
170
|
+
pointsAtZ?: number | string | undefined;
|
|
171
|
+
preserveAspectRatio?: string | undefined;
|
|
172
|
+
primitiveUnits?: number | string | undefined;
|
|
173
|
+
r?: number | string | undefined;
|
|
174
|
+
radius?: number | string | undefined;
|
|
175
|
+
refX?: number | string | undefined;
|
|
176
|
+
refY?: number | string | undefined;
|
|
177
|
+
renderingIntent?: number | string | undefined;
|
|
178
|
+
repeatCount?: number | string | undefined;
|
|
179
|
+
repeatDur?: number | string | undefined;
|
|
180
|
+
requiredExtensions?: number | string | undefined;
|
|
181
|
+
requiredFeatures?: number | string | undefined;
|
|
182
|
+
restart?: number | string | undefined;
|
|
183
|
+
result?: string | undefined;
|
|
184
|
+
rotate?: number | string | undefined;
|
|
185
|
+
rx?: number | string | undefined;
|
|
186
|
+
ry?: number | string | undefined;
|
|
187
|
+
scale?: number | string | undefined;
|
|
188
|
+
seed?: number | string | undefined;
|
|
189
|
+
shapeRendering?: number | string | undefined;
|
|
190
|
+
slope?: number | string | undefined;
|
|
191
|
+
spacing?: number | string | undefined;
|
|
192
|
+
specularConstant?: number | string | undefined;
|
|
193
|
+
specularExponent?: number | string | undefined;
|
|
194
|
+
speed?: number | string | undefined;
|
|
195
|
+
spreadMethod?: string | undefined;
|
|
196
|
+
startOffset?: number | string | undefined;
|
|
197
|
+
stdDeviation?: number | string | undefined;
|
|
198
|
+
stemh?: number | string | undefined;
|
|
199
|
+
stemv?: number | string | undefined;
|
|
200
|
+
stitchTiles?: number | string | undefined;
|
|
201
|
+
stopColor?: string | undefined;
|
|
202
|
+
stopOpacity?: number | string | undefined;
|
|
203
|
+
strikethroughPosition?: number | string | undefined;
|
|
204
|
+
strikethroughThickness?: number | string | undefined;
|
|
205
|
+
string?: number | string | undefined;
|
|
206
|
+
stroke?: string | undefined;
|
|
207
|
+
strokeDasharray?: string | number | undefined;
|
|
208
|
+
strokeDashoffset?: string | number | undefined;
|
|
209
|
+
strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit' | undefined;
|
|
210
|
+
strokeLinejoin?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined;
|
|
211
|
+
strokeMiterlimit?: number | string | undefined;
|
|
212
|
+
strokeOpacity?: number | string | undefined;
|
|
213
|
+
strokeWidth?: number | string | undefined;
|
|
214
|
+
surfaceScale?: number | string | undefined;
|
|
215
|
+
systemLanguage?: number | string | undefined;
|
|
216
|
+
tableValues?: number | string | undefined;
|
|
217
|
+
targetX?: number | string | undefined;
|
|
218
|
+
targetY?: number | string | undefined;
|
|
219
|
+
textAnchor?: string | undefined;
|
|
220
|
+
textDecoration?: number | string | undefined;
|
|
221
|
+
textLength?: number | string | undefined;
|
|
222
|
+
textRendering?: number | string | undefined;
|
|
223
|
+
to?: number | string | undefined;
|
|
224
|
+
transform?: string | undefined;
|
|
225
|
+
u1?: number | string | undefined;
|
|
226
|
+
u2?: number | string | undefined;
|
|
227
|
+
underlinePosition?: number | string | undefined;
|
|
228
|
+
underlineThickness?: number | string | undefined;
|
|
229
|
+
unicode?: number | string | undefined;
|
|
230
|
+
unicodeBidi?: number | string | undefined;
|
|
231
|
+
unicodeRange?: number | string | undefined;
|
|
232
|
+
unitsPerEm?: number | string | undefined;
|
|
233
|
+
vAlphabetic?: number | string | undefined;
|
|
234
|
+
values?: string | undefined;
|
|
235
|
+
vectorEffect?: number | string | undefined;
|
|
236
|
+
version?: string | undefined;
|
|
237
|
+
vertAdvY?: number | string | undefined;
|
|
238
|
+
vertOriginX?: number | string | undefined;
|
|
239
|
+
vertOriginY?: number | string | undefined;
|
|
240
|
+
vHanging?: number | string | undefined;
|
|
241
|
+
vIdeographic?: number | string | undefined;
|
|
242
|
+
viewBox?: string | undefined;
|
|
243
|
+
viewTarget?: number | string | undefined;
|
|
244
|
+
visibility?: number | string | undefined;
|
|
245
|
+
vMathematical?: number | string | undefined;
|
|
246
|
+
widths?: number | string | undefined;
|
|
247
|
+
wordSpacing?: number | string | undefined;
|
|
248
|
+
writingMode?: number | string | undefined;
|
|
249
|
+
x1?: number | string | undefined;
|
|
250
|
+
x2?: number | string | undefined;
|
|
251
|
+
x?: number | string | undefined;
|
|
252
|
+
xChannelSelector?: string | undefined;
|
|
253
|
+
xHeight?: number | string | undefined;
|
|
254
|
+
xlinkActuate?: string | undefined;
|
|
255
|
+
xlinkArcrole?: string | undefined;
|
|
256
|
+
xlinkHref?: string | undefined;
|
|
257
|
+
xlinkRole?: string | undefined;
|
|
258
|
+
xlinkShow?: string | undefined;
|
|
259
|
+
xlinkTitle?: string | undefined;
|
|
260
|
+
xlinkType?: string | undefined;
|
|
261
|
+
xmlBase?: string | undefined;
|
|
262
|
+
xmlLang?: string | undefined;
|
|
263
|
+
xmlns?: string | undefined;
|
|
264
|
+
xmlnsXlink?: string | undefined;
|
|
265
|
+
xmlSpace?: string | undefined;
|
|
266
|
+
y1?: number | string | undefined;
|
|
267
|
+
y2?: number | string | undefined;
|
|
268
|
+
y?: number | string | undefined;
|
|
269
|
+
yChannelSelector?: string | undefined;
|
|
270
|
+
z?: number | string | undefined;
|
|
271
|
+
zoomAndPan?: string | undefined;
|
|
272
|
+
}
|
|
273
|
+
export {};
|
|
274
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/SVGElement/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/SVGElement/types.ts"],"names":[],"mappings":""}
|
package/dist/global.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,GAAG,EAAE,OAAO,KAAK,CAAC;KACrB;CACJ;AAED,OAAO,EAAG,CAAA"}
|
package/dist/global.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAQA,OAAO,EAAG,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import './global';
|
|
2
|
+
import Element from './Element';
|
|
3
|
+
import Fragment from './Fragment';
|
|
4
|
+
import Store from './store';
|
|
5
|
+
import SVGElement from './SVGElement';
|
|
6
|
+
declare const createRoot: (rootElement: HTMLElement, app: (string | HTMLElement | DocumentFragment)[] | DocumentFragment) => void;
|
|
7
|
+
declare const nuvo: {
|
|
8
|
+
readonly Element: typeof Element;
|
|
9
|
+
readonly Store: typeof Store;
|
|
10
|
+
readonly Fragment: typeof Fragment;
|
|
11
|
+
readonly SVGElement: typeof SVGElement;
|
|
12
|
+
readonly createRoot: typeof createRoot;
|
|
13
|
+
};
|
|
14
|
+
export { Element, Store, Fragment, SVGElement, createRoot };
|
|
15
|
+
export default nuvo;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAElB,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,QAAA,MAAM,UAAU,gBACC,WAAW,OACnB,CAAC,MAAM,GAAG,WAAW,GAAG,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,KACpE,IAMF,CAAC;AAED,QAAA,MAAM,IAAI;;;;;;CAMD,CAAA;AAOV,OAAO,EACH,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACb,CAAC;eAEa,IAAI"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import './global';
|
|
2
|
+
import Element from './Element';
|
|
3
|
+
import Fragment from './Fragment';
|
|
4
|
+
import Store from './store';
|
|
5
|
+
import SVGElement from './SVGElement';
|
|
6
|
+
const createRoot = (rootElement, app) => {
|
|
7
|
+
if (Array.isArray(app)) {
|
|
8
|
+
rootElement.append(...app);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
rootElement.appendChild(app);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const nuvo = {
|
|
15
|
+
Element,
|
|
16
|
+
Store,
|
|
17
|
+
Fragment,
|
|
18
|
+
SVGElement,
|
|
19
|
+
createRoot
|
|
20
|
+
};
|
|
21
|
+
if (typeof window !== 'undefined') {
|
|
22
|
+
window['@'] = nuvo;
|
|
23
|
+
}
|
|
24
|
+
export { Element, Store, Fragment, SVGElement, createRoot };
|
|
25
|
+
export default nuvo;
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAElB,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,GAAG,CACf,WAAwB,EACxB,GAAmE,EAC/D,EAAE;IACN,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACL,CAAC,CAAC;AAED,MAAM,IAAI,GAAG;IACV,OAAO;IACP,KAAK;IACL,QAAQ;IACR,UAAU;IACV,UAAU;CACJ,CAAA;AAGV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,OAAO,EACH,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACb,CAAC;AAEF,eAAe,IAAI,CAAA"}
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare class Store<T> {
|
|
2
|
+
private state;
|
|
3
|
+
private listeners;
|
|
4
|
+
constructor(initialState: T);
|
|
5
|
+
Subscribe(callback: (state: T) => void): () => void;
|
|
6
|
+
Effect(callback: (state: T) => void): () => void;
|
|
7
|
+
SetState(newState: T | ((prev: T) => T)): void;
|
|
8
|
+
GetState(): T;
|
|
9
|
+
private Notify;
|
|
10
|
+
}
|
|
11
|
+
export default Store;
|
|
12
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,cAAM,KAAK,CAAC,CAAC;IACT,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,SAAS,CAA8B;IAE/C,YAAmB,YAAY,EAAE,CAAC,EAEjC;IAEM,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAMzD;IAEM,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAItD;IAEM,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,QAiB7C;IAEM,QAAQ,MAEd;IAED,OAAO,CAAC,MAAM;CAKjB;eAEc,KAAK"}
|
package/dist/store.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { isEqualObjects, isPlainObject } from './utils';
|
|
2
|
+
class Store {
|
|
3
|
+
state;
|
|
4
|
+
listeners = [];
|
|
5
|
+
constructor(initialState) {
|
|
6
|
+
this.state = initialState;
|
|
7
|
+
}
|
|
8
|
+
Subscribe(callback) {
|
|
9
|
+
this.listeners.push(callback);
|
|
10
|
+
return () => {
|
|
11
|
+
this.listeners = this.listeners.filter(l => l !== callback);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Effect(callback) {
|
|
15
|
+
callback(this.GetState());
|
|
16
|
+
return this.Subscribe(callback);
|
|
17
|
+
}
|
|
18
|
+
SetState(newState) {
|
|
19
|
+
const state = typeof newState === 'function'
|
|
20
|
+
? newState(this.state)
|
|
21
|
+
: newState;
|
|
22
|
+
if (isPlainObject(this.state) && isPlainObject(state)) {
|
|
23
|
+
if (!isEqualObjects(this.state, state)) {
|
|
24
|
+
this.state = state;
|
|
25
|
+
this.Notify();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (this.state === state)
|
|
30
|
+
return;
|
|
31
|
+
this.state = state;
|
|
32
|
+
this.Notify();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
GetState() {
|
|
36
|
+
return this.state;
|
|
37
|
+
}
|
|
38
|
+
Notify() {
|
|
39
|
+
this.listeners.forEach((listener) => {
|
|
40
|
+
listener(this.state);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export default Store;
|
|
45
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,KAAK;IACC,KAAK,CAAI;IACT,SAAS,GAA2B,EAAE,CAAC;IAE/C,YAAmB,YAAe;QAC9B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;IAC9B,CAAC;IAEM,SAAS,CAAC,QAA4B;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,QAA4B;QACtC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ,CAAC,QAA8B;QAC1C,MAAM,KAAK,GACL,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,QAAQ,CAAC;QAEnB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,OAAO;YAEjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEO,MAAM;QACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,eAAe,KAAK,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DOMElement } from './Element/types';
|
|
2
|
+
export declare function camelToKebab(str: string): string;
|
|
3
|
+
export declare function setupClassName(className?: ((classList: DOMTokenList) => void) | string | undefined, dom?: Element): void;
|
|
4
|
+
export declare function setupInnerHtml(oldChild: DOMElement, newChild: DOMElement): void;
|
|
5
|
+
export declare function setupStyle(style: DOMElement['style'] | undefined, dom?: DOMElement): void;
|
|
6
|
+
export declare const isPlainObject: (value: unknown) => value is Record<string, unknown>;
|
|
7
|
+
export declare const isEqualObjects: (a: unknown, b: unknown) => boolean;
|
|
8
|
+
export declare function mergeAttributes(oldChild: DOMElement, newChild: DOMElement): void;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAEvC;AAED,wBAAgB,cAAc,CAC1B,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC,GACzC,MAAM,GACN,SAAS,EACf,GAAG,CAAC,EAAE,OAAO,QAWhB;AAED,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,QAKvB;AAED,wBAAgB,UAAU,CACtB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,EACtC,GAAG,CAAC,EAAE,UAAU,QAanB;AAGD,eAAO,MAAM,aAAa,UACf,OAAO,KACf,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAQjC,CAAC;AAEF,eAAO,MAAM,cAAc,MACpB,OAAO,KACP,OAAO,KACX,OAyCF,CAAC;AAGF,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,UAAU,QAUvB"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export function camelToKebab(str) {
|
|
2
|
+
return str.replace(/[A-Z]/g, match => '-' + match.toLowerCase());
|
|
3
|
+
}
|
|
4
|
+
export function setupClassName(className, dom) {
|
|
5
|
+
if (!dom || !className)
|
|
6
|
+
return;
|
|
7
|
+
if (typeof className === 'function') {
|
|
8
|
+
className(dom.classList);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
if (dom.className !== className) {
|
|
12
|
+
dom.classList.value = className;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function setupInnerHtml(oldChild, newChild) {
|
|
17
|
+
if (oldChild.innerHTML !== newChild.innerHTML) {
|
|
18
|
+
oldChild = newChild;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function setupStyle(style, dom) {
|
|
22
|
+
if (!style)
|
|
23
|
+
return;
|
|
24
|
+
Object.entries(style)
|
|
25
|
+
.forEach(([property, value]) => {
|
|
26
|
+
if (!value)
|
|
27
|
+
return;
|
|
28
|
+
dom?.style.setProperty(camelToKebab(property), value.toString());
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export const isPlainObject = (value) => {
|
|
32
|
+
if (value === null || typeof value !== 'object') {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
const prototype = Object.getPrototypeOf(value);
|
|
36
|
+
return prototype === Object.prototype || prototype === null;
|
|
37
|
+
};
|
|
38
|
+
export const isEqualObjects = (a, b) => {
|
|
39
|
+
if (Object.is(a, b)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
43
|
+
if (a.length !== b.length) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
for (let i = 0; i < a.length; i++) {
|
|
47
|
+
if (!isEqualObjects(a[i], b[i])) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
if (isPlainObject(a) && isPlainObject(b)) {
|
|
54
|
+
const keysA = Reflect.ownKeys(a);
|
|
55
|
+
const keysB = Reflect.ownKeys(b);
|
|
56
|
+
if (keysA.length !== keysB.length) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
for (const key of keysA) {
|
|
60
|
+
if (!Object.prototype.hasOwnProperty.call(b, key)) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
if (!isEqualObjects(a[key], b[key])) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
};
|
|
71
|
+
export function mergeAttributes(oldChild, newChild) {
|
|
72
|
+
for (let i = 0; i < newChild.getAttributeNames().length; i++) {
|
|
73
|
+
const oldChildAtt = oldChild.attributes[i];
|
|
74
|
+
const newChildAtt = newChild.attributes[i];
|
|
75
|
+
if ((oldChildAtt && newChildAtt) && oldChildAtt?.name === newChildAtt?.name && oldChildAtt?.value !== newChildAtt?.value) {
|
|
76
|
+
oldChild.setAttribute(oldChildAtt.name, newChildAtt.value);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,50 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"name": "@nuvo-js/core",
|
|
3
|
+
"version": "0.5.1",
|
|
4
|
+
"description": "A lightweight custom DOM rendering engine",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"nuvo",
|
|
7
|
+
"dom",
|
|
8
|
+
"renderer",
|
|
9
|
+
"rendering-engine",
|
|
10
|
+
"typescript",
|
|
11
|
+
"javascript"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/Gagik-arch/nuvo-js#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/Gagik-arch/nuvo-js/issues"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/Gagik-arch/nuvo-js.git"
|
|
20
|
+
},
|
|
21
|
+
"license": "ISC",
|
|
22
|
+
"author": "Gagik Chilingaryan",
|
|
23
|
+
"type": "module",
|
|
24
|
+
"main": "./dist/index.js",
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsc",
|
|
34
|
+
"prepublishOnly": "npm run build"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"README.md",
|
|
39
|
+
"LICENSE"
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@eslint/js": "^9.39.5",
|
|
43
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
44
|
+
"@types/node": "^26.6.6",
|
|
45
|
+
"eslint": "^9.39.0",
|
|
46
|
+
"eslint-plugin-import": "^2.32.0",
|
|
47
|
+
"typescript": "^7.0.2",
|
|
48
|
+
"typescript-eslint": "^8.36.0"
|
|
49
|
+
}
|
|
6
50
|
}
|