jj 2.1.0 → 2.2.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.
- package/lib/WC.d.ts +5 -9
- package/lib/WC.js +46 -47
- package/lib/WC.js.map +1 -1
- package/lib/WD.d.ts +8 -0
- package/lib/WD.js +17 -0
- package/lib/WD.js.map +1 -0
- package/lib/WDF.d.ts +1 -3
- package/lib/WDF.js +3 -14
- package/lib/WDF.js.map +1 -1
- package/lib/WE.d.ts +2 -2
- package/lib/WE.js +3 -5
- package/lib/WE.js.map +1 -1
- package/lib/WN.d.ts +13 -0
- package/lib/WN.js +59 -10
- package/lib/WN.js.map +1 -1
- package/lib/WSE.d.ts +25 -0
- package/lib/WSE.js +84 -0
- package/lib/WSE.js.map +1 -0
- package/lib/bundle.js +268 -102
- package/lib/bundle.js.map +3 -3
- package/lib/bundle.min.js +2 -2
- package/lib/fetch.d.ts +31 -0
- package/lib/fetch.js +69 -0
- package/lib/fetch.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/util.d.ts +4 -0
- package/lib/util.js +7 -0
- package/lib/util.js.map +1 -1
- package/package.json +1 -1
package/lib/WC.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { WHE } from './WHE.js';
|
|
2
|
-
export declare function fetchText(url: URL | string, mime?: string): Promise<string>;
|
|
3
|
-
export declare function fetchHtml(url: URL | string): Promise<string>;
|
|
4
|
-
export declare function fetchCss(url: URL | string): Promise<string>;
|
|
5
|
-
export declare function cssToStyle(css: string): Promise<CSSStyleSheet>;
|
|
6
|
-
export declare function fetchStyle(url: URL | string): Promise<CSSStyleSheet>;
|
|
7
|
-
export declare function addLinkPre(href: string, rel: 'prefetch' | 'preload', as?: 'fetch' | 'style' | 'script'): WHE<HTMLElement>;
|
|
8
2
|
export type JJResource<T> = T | Promise<T> | (() => T | Promise<T>);
|
|
9
|
-
export type JJTemplateConfig = JJResource<string>;
|
|
10
|
-
export type
|
|
3
|
+
export type JJTemplateConfig = JJResource<string | WHE | HTMLElement>;
|
|
4
|
+
export type JJStyleConfig = JJResource<string | CSSStyleSheet> | JJResource<string | CSSStyleSheet>;
|
|
5
|
+
export type JJStylesConfig = JJStyleConfig | JJStyleConfig[];
|
|
11
6
|
export interface JJConfig {
|
|
12
7
|
name: string;
|
|
13
8
|
template?: JJTemplateConfig;
|
|
@@ -27,7 +22,8 @@ interface JJProcessedConfig {
|
|
|
27
22
|
* - `attributeChangedCallback` sets any props that corresponds to attributes defined in `static observedAttributes`
|
|
28
23
|
*/
|
|
29
24
|
export declare class WC extends HTMLElement {
|
|
30
|
-
static _jjCache
|
|
25
|
+
static _jjCache?: Promise<JJProcessedConfig>;
|
|
26
|
+
jjRoot?: WHE;
|
|
31
27
|
static jj: JJConfig;
|
|
32
28
|
static observedAttributes?: string[];
|
|
33
29
|
static register(): Promise<void>;
|
package/lib/WC.js
CHANGED
|
@@ -1,60 +1,59 @@
|
|
|
1
1
|
import { keb2cam } from './case.js';
|
|
2
|
+
import { cssToStyle } from './util.js';
|
|
2
3
|
import { WHE } from './WHE.js';
|
|
3
4
|
import { hasProp, isArr, isStr, isObj, isFn, isA, isDef } from 'jty';
|
|
4
|
-
|
|
5
|
-
if (
|
|
6
|
-
|
|
5
|
+
async function processTemplateConfig(template) {
|
|
6
|
+
if (isFn(template)) {
|
|
7
|
+
template = await template();
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
if (!
|
|
10
|
-
|
|
9
|
+
template = await template;
|
|
10
|
+
if (!isDef(template) || isStr(template)) {
|
|
11
|
+
return template;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
export async function cssToStyle(css) {
|
|
21
|
-
const sheet = new CSSStyleSheet();
|
|
22
|
-
return await sheet.replace(css);
|
|
23
|
-
}
|
|
24
|
-
export async function fetchStyle(url) {
|
|
25
|
-
return await cssToStyle(await fetchCss(url));
|
|
13
|
+
if (isA(template, WHE)) {
|
|
14
|
+
return template.getHtml();
|
|
15
|
+
}
|
|
16
|
+
if (isA(template, HTMLElement)) {
|
|
17
|
+
return template.outerHTML;
|
|
18
|
+
}
|
|
19
|
+
throw new TypeError(`Expected a string, WHE or HTMLElement. Got ${template} (${typeof template})`);
|
|
26
20
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
document.head.append(link.ref);
|
|
34
|
-
return link;
|
|
21
|
+
function normalizeStyles(styles) {
|
|
22
|
+
if (isDef(styles)) {
|
|
23
|
+
return isArr(styles) ? styles : [styles];
|
|
24
|
+
}
|
|
25
|
+
return [];
|
|
35
26
|
}
|
|
36
|
-
async function processStyleConfig(
|
|
37
|
-
if (isFn(
|
|
38
|
-
|
|
27
|
+
async function processStyleConfig(styleConfig) {
|
|
28
|
+
if (isFn(styleConfig)) {
|
|
29
|
+
styleConfig = await styleConfig();
|
|
39
30
|
}
|
|
40
|
-
|
|
41
|
-
if (isA(
|
|
42
|
-
return
|
|
31
|
+
styleConfig = await styleConfig;
|
|
32
|
+
if (isA(styleConfig, CSSStyleSheet)) {
|
|
33
|
+
return styleConfig;
|
|
43
34
|
}
|
|
44
|
-
if (isStr(
|
|
45
|
-
return await cssToStyle(
|
|
35
|
+
if (isStr(styleConfig)) {
|
|
36
|
+
return await cssToStyle(styleConfig);
|
|
46
37
|
}
|
|
47
|
-
throw new TypeError(`Expected a css string or CSSStyleSheet. Got ${
|
|
38
|
+
throw new TypeError(`Expected a css string or CSSStyleSheet. Got ${styleConfig} (${typeof styleConfig})`);
|
|
48
39
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
40
|
+
/*
|
|
41
|
+
Type '[string | undefined, ...(string | CSSStyleSheet | (() => string | CSSStyleSheet | Promise<string | CSSStyleSheet>) | JJStyleConfig[])[]]' is not assignable to
|
|
42
|
+
type '[string | undefined, ...CSSStyleSheet[]]'.
|
|
43
|
+
|
|
44
|
+
Type at position 1 in source is not compatible with type at position 1 in target.
|
|
45
|
+
Type 'string | CSSStyleSheet | (() => string | CSSStyleSheet | Promise<string | CSSStyleSheet>) | JJStyleConfig[]' is not assignable to type 'CSSStyleSheet'.
|
|
46
|
+
Type 'string' is not assignable to type 'CSSStyleSheet'.ts(2322)
|
|
47
|
+
*/
|
|
48
|
+
async function processConfig(jjConfig) {
|
|
49
|
+
if (!isObj(jjConfig)) {
|
|
50
|
+
throw new TypeError(`Expected an static jj config object. Got ${jjConfig} (${typeof jjConfig})`);
|
|
56
51
|
}
|
|
57
|
-
const
|
|
52
|
+
const { template: templateConfig, styles: stylesConfig } = jjConfig;
|
|
53
|
+
const [template, ...styles] = await Promise.all([
|
|
54
|
+
processTemplateConfig(templateConfig),
|
|
55
|
+
...normalizeStyles(stylesConfig).map(processStyleConfig),
|
|
56
|
+
]);
|
|
58
57
|
return { template, styles };
|
|
59
58
|
}
|
|
60
59
|
/**
|
|
@@ -86,11 +85,11 @@ export class WC extends HTMLElement {
|
|
|
86
85
|
throw new TypeError(`static jj object is missing from the extending class. Got ${jj} (${typeof jj})`);
|
|
87
86
|
}
|
|
88
87
|
if (!classRef._jjCache) {
|
|
89
|
-
classRef._jjCache = processConfig(classRef.jj
|
|
88
|
+
classRef._jjCache = processConfig(classRef.jj);
|
|
90
89
|
}
|
|
91
90
|
const { template, styles } = await classRef._jjCache;
|
|
92
91
|
const { templateMode } = jj;
|
|
93
|
-
WHE.from(this).
|
|
92
|
+
this.jjRoot = WHE.from(this).initShadow(templateMode, template, ...styles);
|
|
94
93
|
}
|
|
95
94
|
/**
|
|
96
95
|
* The class that extends this one should define
|
package/lib/WC.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WC.js","sourceRoot":"","sources":["../src/WC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"WC.js","sourceRoot":"","sources":["../src/WC.ts"],"names":[],"mappings":"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"}
|
package/lib/WD.d.ts
ADDED
package/lib/WD.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isA } from 'jty';
|
|
2
|
+
import { WN } from './WN.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a Document (which is a descendant of Node)
|
|
5
|
+
*/
|
|
6
|
+
export class WD extends WN {
|
|
7
|
+
static from(ref) {
|
|
8
|
+
return new WD(ref);
|
|
9
|
+
}
|
|
10
|
+
constructor(ref) {
|
|
11
|
+
if (!isA(ref, Document)) {
|
|
12
|
+
throw new TypeError(`Expected a Document. Got ${ref} (${typeof ref})`);
|
|
13
|
+
}
|
|
14
|
+
super(ref);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=WD.js.map
|
package/lib/WD.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WD.js","sourceRoot":"","sources":["../src/WD.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAG5B;;GAEG;AACH,MAAM,OAAO,EAAkC,SAAQ,EAAK;IACxD,MAAM,CAAC,IAAI,CAAC,GAAa;QACrB,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,YAAY,GAAM;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,4BAA4B,GAAG,KAAK,OAAO,GAAG,GAAG,CAAC,CAAA;QAC1E,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;CACJ"}
|
package/lib/WDF.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { WN } from './WN.js';
|
|
2
|
-
import { Wrapped } from './WN-mixin.js';
|
|
3
2
|
/**
|
|
4
3
|
* Wraps a DocumentFragment (which is a descendant of Node)
|
|
5
4
|
*/
|
|
6
5
|
export declare class WDF<T extends DocumentFragment = DocumentFragment> extends WN<T> {
|
|
7
6
|
static from(ref: DocumentFragment): WDF;
|
|
7
|
+
static create(): WDF<DocumentFragment>;
|
|
8
8
|
constructor(ref: T);
|
|
9
|
-
byId(id: string, throwIfNotFound?: boolean): Wrapped | null;
|
|
10
|
-
empty(): this;
|
|
11
9
|
}
|
package/lib/WDF.js
CHANGED
|
@@ -7,25 +7,14 @@ export class WDF extends WN {
|
|
|
7
7
|
static from(ref) {
|
|
8
8
|
return new WDF(ref);
|
|
9
9
|
}
|
|
10
|
+
static create() {
|
|
11
|
+
return new WDF(document.createDocumentFragment());
|
|
12
|
+
}
|
|
10
13
|
constructor(ref) {
|
|
11
14
|
if (!isA(ref, DocumentFragment)) {
|
|
12
15
|
throw new TypeError(`Expected a DocumentFragment. Got ${ref} (${typeof ref})`);
|
|
13
16
|
}
|
|
14
17
|
super(ref);
|
|
15
18
|
}
|
|
16
|
-
byId(id, throwIfNotFound = true) {
|
|
17
|
-
const el = this.ref.getElementById(id);
|
|
18
|
-
if (el) {
|
|
19
|
-
return WN.wrap(el);
|
|
20
|
-
}
|
|
21
|
-
if (throwIfNotFound) {
|
|
22
|
-
throw new TypeError(`Element with id ${id} not found`);
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
empty() {
|
|
27
|
-
this.ref.replaceChildren();
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
19
|
}
|
|
31
20
|
//# sourceMappingURL=WDF.js.map
|
package/lib/WDF.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WDF.js","sourceRoot":"","sources":["../src/WDF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAG5B;;GAEG;AACH,MAAM,OAAO,GAAmD,SAAQ,EAAK;IACzE,MAAM,CAAC,IAAI,CAAC,GAAqB;QAC7B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"WDF.js","sourceRoot":"","sources":["../src/WDF.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAG5B;;GAEG;AACH,MAAM,OAAO,GAAmD,SAAQ,EAAK;IACzE,MAAM,CAAC,IAAI,CAAC,GAAqB;QAC7B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,YAAY,GAAM;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,oCAAoC,GAAG,KAAK,OAAO,GAAG,GAAG,CAAC,CAAA;QAClF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;CACJ"}
|
package/lib/WE.d.ts
CHANGED
|
@@ -38,6 +38,6 @@ export declare class WE<T extends Element = Element> extends WN<T> {
|
|
|
38
38
|
* **Note:** You can't attach a shadow root to every type of element. There are some that can't have a
|
|
39
39
|
* shadow DOM for security reasons (for example `<a>`).
|
|
40
40
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
initShadow(mode?: ShadowRootMode, html?: string, ...styleSheets: CSSStyleSheet[]): this;
|
|
42
|
+
get shadow(): WSH<ShadowRoot> | null;
|
|
43
43
|
}
|
package/lib/WE.js
CHANGED
|
@@ -114,7 +114,7 @@ export class WE extends WN {
|
|
|
114
114
|
* **Note:** You can't attach a shadow root to every type of element. There are some that can't have a
|
|
115
115
|
* shadow DOM for security reasons (for example `<a>`).
|
|
116
116
|
*/
|
|
117
|
-
|
|
117
|
+
initShadow(mode = 'open', html, ...styleSheets) {
|
|
118
118
|
const shadowRoot = this.ref.shadowRoot ?? this.ref.attachShadow({ mode });
|
|
119
119
|
if (html) {
|
|
120
120
|
shadowRoot.innerHTML = html;
|
|
@@ -124,10 +124,8 @@ export class WE extends WN {
|
|
|
124
124
|
}
|
|
125
125
|
return this;
|
|
126
126
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
throw new Error('No shadow root');
|
|
130
|
-
return new WSH(this.ref.shadowRoot);
|
|
127
|
+
get shadow() {
|
|
128
|
+
return this.ref.shadowRoot ? new WSH(this.ref.shadowRoot) : null;
|
|
131
129
|
}
|
|
132
130
|
}
|
|
133
131
|
//# sourceMappingURL=WE.js.map
|
package/lib/WE.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WE.js","sourceRoot":"","sources":["../src/WE.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WE.js","sourceRoot":"","sources":["../src/WE.ts"],"names":[],"mappings":"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"}
|
package/lib/WN.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare class WN<T extends Node = Node> {
|
|
|
16
16
|
*/
|
|
17
17
|
static unwrapAll(iterable: Iterable<Wrappable>): Unwrapped[];
|
|
18
18
|
static byId(id: string, throwIfNotFound?: boolean): Wrapped | null;
|
|
19
|
+
byId(id: string, throwIfNotFound?: boolean): Wrapped | null;
|
|
19
20
|
static byClass(className: string): Wrapped[];
|
|
20
21
|
static query(selector: string, throwIfNotFound?: boolean): Wrapped | null;
|
|
21
22
|
query(selector: string, throwIfNotFound?: boolean): Wrapped | null;
|
|
@@ -31,4 +32,16 @@ export declare class WN<T extends Node = Node> {
|
|
|
31
32
|
on(eventName: string, handler: EventListenerOrEventListenerObject): this;
|
|
32
33
|
off(eventName: string, handler: EventListenerOrEventListenerObject): this;
|
|
33
34
|
rm(): this;
|
|
35
|
+
empty(): this;
|
|
36
|
+
/**
|
|
37
|
+
* Runs a function in the context of this WN instance.
|
|
38
|
+
*
|
|
39
|
+
* @param fn - The function to run. `this` inside the function will refer to this WN instance.
|
|
40
|
+
* @param args - Arguments to pass to the function.
|
|
41
|
+
* @returns The return value of the function.
|
|
42
|
+
* @remark if the function throws, `run()` doesn't swallow the exception.
|
|
43
|
+
* So if you're expecting an error, make sure to wrap it in a `try..catch` block and handle the exception.
|
|
44
|
+
* @remark if the function returns a promise, you can `await` on the response.
|
|
45
|
+
*/
|
|
46
|
+
run<R, Args extends any[]>(fn: (this: this, ...args: Args) => R, ...args: Args): R;
|
|
34
47
|
}
|
package/lib/WN.js
CHANGED
|
@@ -10,11 +10,21 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _WN_ref;
|
|
13
|
-
import { isA } from 'jty';
|
|
13
|
+
import { isA, isStr } from 'jty';
|
|
14
14
|
import { off, on } from './util.js';
|
|
15
|
-
/**
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Checks if a given reference is an instance or descendant of
|
|
17
|
+
* Document or DocumentFragment
|
|
18
|
+
*/
|
|
19
|
+
function isDDF(x) {
|
|
20
|
+
return isA(x, Document) || isA(x, DocumentFragment);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a given reference is an instance or descendant of
|
|
24
|
+
* Element, Document or DocumentFragment
|
|
25
|
+
*/
|
|
26
|
+
function isEDDF(x) {
|
|
27
|
+
return isA(x, Element) || isDDF(x);
|
|
18
28
|
}
|
|
19
29
|
/**
|
|
20
30
|
* Wraps a DOM Node
|
|
@@ -40,6 +50,25 @@ export class WN {
|
|
|
40
50
|
if (el) {
|
|
41
51
|
return WN.wrap(el);
|
|
42
52
|
}
|
|
53
|
+
if (throwIfNotFound) {
|
|
54
|
+
throw new TypeError(`Found no element with id ${id} in the document.`);
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
byId(id, throwIfNotFound = true) {
|
|
59
|
+
if (!isStr(id)) {
|
|
60
|
+
throw new TypeError(`Expected a string id. Got ${id} (${typeof id})`);
|
|
61
|
+
}
|
|
62
|
+
if (isA(this.ref, HTMLElement)) {
|
|
63
|
+
return this.query(`#${id}`, throwIfNotFound);
|
|
64
|
+
}
|
|
65
|
+
if (!isDDF(this.ref)) {
|
|
66
|
+
throw new TypeError(`Expected an Document or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
67
|
+
}
|
|
68
|
+
const el = this.ref.getElementById(id);
|
|
69
|
+
if (el) {
|
|
70
|
+
return WN.wrap(el);
|
|
71
|
+
}
|
|
43
72
|
if (throwIfNotFound) {
|
|
44
73
|
throw new TypeError(`Element with id ${id} not found`);
|
|
45
74
|
}
|
|
@@ -59,8 +88,8 @@ export class WN {
|
|
|
59
88
|
return null;
|
|
60
89
|
}
|
|
61
90
|
query(selector, throwIfNotFound = true) {
|
|
62
|
-
if (!
|
|
63
|
-
throw new TypeError(`Expected an Element or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
91
|
+
if (!isEDDF(this.ref)) {
|
|
92
|
+
throw new TypeError(`Expected an Element, Document or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
64
93
|
}
|
|
65
94
|
const queryResult = this.ref.querySelector(selector);
|
|
66
95
|
if (queryResult) {
|
|
@@ -75,8 +104,8 @@ export class WN {
|
|
|
75
104
|
return WN.wrapAll(document.querySelectorAll(selector));
|
|
76
105
|
}
|
|
77
106
|
queryAll(selector) {
|
|
78
|
-
if (!
|
|
79
|
-
throw new TypeError(`Expected an Element or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
107
|
+
if (!isEDDF(this.ref)) {
|
|
108
|
+
throw new TypeError(`Expected an Element, Document or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
80
109
|
}
|
|
81
110
|
return WN.wrapAll(this.ref.querySelectorAll(selector));
|
|
82
111
|
}
|
|
@@ -95,7 +124,7 @@ export class WN {
|
|
|
95
124
|
}
|
|
96
125
|
append(...children) {
|
|
97
126
|
const nodes = WN.unwrapAll(children);
|
|
98
|
-
if (
|
|
127
|
+
if (isEDDF(this.ref)) {
|
|
99
128
|
this.ref.append(...nodes);
|
|
100
129
|
}
|
|
101
130
|
else {
|
|
@@ -112,7 +141,7 @@ export class WN {
|
|
|
112
141
|
}
|
|
113
142
|
prepend(...children) {
|
|
114
143
|
const nodes = WN.unwrapAll(children);
|
|
115
|
-
if (
|
|
144
|
+
if (isEDDF(this.ref)) {
|
|
116
145
|
this.ref.prepend(...nodes);
|
|
117
146
|
}
|
|
118
147
|
else {
|
|
@@ -140,6 +169,26 @@ export class WN {
|
|
|
140
169
|
this.ref.parentNode?.removeChild(this.ref);
|
|
141
170
|
return this;
|
|
142
171
|
}
|
|
172
|
+
empty() {
|
|
173
|
+
if (!isEDDF(this.ref)) {
|
|
174
|
+
throw new TypeError(`Expected an Element, Document or DocumentFragment. Got ${this.ref} (${typeof this.ref})`);
|
|
175
|
+
}
|
|
176
|
+
this.ref.replaceChildren();
|
|
177
|
+
return this;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Runs a function in the context of this WN instance.
|
|
181
|
+
*
|
|
182
|
+
* @param fn - The function to run. `this` inside the function will refer to this WN instance.
|
|
183
|
+
* @param args - Arguments to pass to the function.
|
|
184
|
+
* @returns The return value of the function.
|
|
185
|
+
* @remark if the function throws, `run()` doesn't swallow the exception.
|
|
186
|
+
* So if you're expecting an error, make sure to wrap it in a `try..catch` block and handle the exception.
|
|
187
|
+
* @remark if the function returns a promise, you can `await` on the response.
|
|
188
|
+
*/
|
|
189
|
+
run(fn, ...args) {
|
|
190
|
+
return fn.call(this, ...args);
|
|
191
|
+
}
|
|
143
192
|
}
|
|
144
193
|
_WN_ref = new WeakMap();
|
|
145
194
|
//# sourceMappingURL=WN.js.map
|
package/lib/WN.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WN.js","sourceRoot":"","sources":["../src/WN.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"WN.js","sourceRoot":"","sources":["../src/WN.ts"],"names":[],"mappings":"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"}
|
package/lib/WSE.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { WE } from './WE.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a DOM SVGElement
|
|
4
|
+
*/
|
|
5
|
+
export declare class WSE<T extends SVGElement = SVGElement> extends WE<T> {
|
|
6
|
+
static from(ref: SVGElement): WSE;
|
|
7
|
+
static fromTag(tagName: string, options?: ElementCreationOptions): WSE;
|
|
8
|
+
constructor(ref: T);
|
|
9
|
+
getText(): string;
|
|
10
|
+
setText(text: string): this;
|
|
11
|
+
empty(): this;
|
|
12
|
+
getData(name: string): string | undefined;
|
|
13
|
+
hasData(name: string): boolean;
|
|
14
|
+
setData(name: string, value: string): this;
|
|
15
|
+
setDataObj(obj: Record<string, string>): this;
|
|
16
|
+
rmData(name: string): this;
|
|
17
|
+
setFill(value: string): this;
|
|
18
|
+
setStroke(value: string): this;
|
|
19
|
+
setStrokeWidth(value: string | number): this;
|
|
20
|
+
setViewBox(p1: string | (string | number)[] | number, p2?: number, p3?: number, p4?: number): this;
|
|
21
|
+
setWidth(value: string | number): this;
|
|
22
|
+
setHeight(value: string | number): this;
|
|
23
|
+
setD(value: string | (string | number)[]): this;
|
|
24
|
+
setTransform(value: string): this;
|
|
25
|
+
}
|
package/lib/WSE.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { hasProp, isA, isStr } from 'jty';
|
|
2
|
+
import { WE } from './WE.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a DOM SVGElement
|
|
5
|
+
*/
|
|
6
|
+
export class WSE extends WE {
|
|
7
|
+
static from(ref) {
|
|
8
|
+
return new WSE(ref);
|
|
9
|
+
}
|
|
10
|
+
static fromTag(tagName, options) {
|
|
11
|
+
if (!isStr(tagName)) {
|
|
12
|
+
throw new TypeError(`Expected a string for tagName. Got: ${tagName} (${typeof tagName})`);
|
|
13
|
+
}
|
|
14
|
+
// SVG elements must be created with the SVG namespace
|
|
15
|
+
const element = document.createElementNS('http://www.w3.org/2000/svg', tagName, options);
|
|
16
|
+
return new WSE(element);
|
|
17
|
+
}
|
|
18
|
+
constructor(ref) {
|
|
19
|
+
if (!isA(ref, SVGElement)) {
|
|
20
|
+
throw new TypeError(`Expected a SVGElement. Got ${ref} (${typeof ref})`);
|
|
21
|
+
}
|
|
22
|
+
super(ref);
|
|
23
|
+
}
|
|
24
|
+
getText() {
|
|
25
|
+
return this.ref.textContent ?? '';
|
|
26
|
+
}
|
|
27
|
+
setText(text) {
|
|
28
|
+
this.ref.textContent = text;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
empty() {
|
|
32
|
+
this.ref.textContent = '';
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
getData(name) {
|
|
36
|
+
return this.ref.dataset[name];
|
|
37
|
+
}
|
|
38
|
+
hasData(name) {
|
|
39
|
+
return hasProp(this.ref.dataset, name);
|
|
40
|
+
}
|
|
41
|
+
setData(name, value) {
|
|
42
|
+
this.ref.dataset[name] = value;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
setDataObj(obj) {
|
|
46
|
+
for (const [name, value] of Object.entries(obj)) {
|
|
47
|
+
this.setData(name, value);
|
|
48
|
+
}
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
rmData(name) {
|
|
52
|
+
delete this.ref.dataset[name];
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
setFill(value) {
|
|
56
|
+
return this.setAttr('fill', value);
|
|
57
|
+
}
|
|
58
|
+
setStroke(value) {
|
|
59
|
+
return this.setAttr('stroke', value);
|
|
60
|
+
}
|
|
61
|
+
setStrokeWidth(value) {
|
|
62
|
+
return this.setAttr('stroke-width', String(value));
|
|
63
|
+
}
|
|
64
|
+
setViewBox(p1, p2, p3, p4) {
|
|
65
|
+
if (typeof p1 === 'number' && p2 !== undefined && p3 !== undefined && p4 !== undefined) {
|
|
66
|
+
return this.setAttr('viewBox', `${p1} ${p2} ${p3} ${p4}`);
|
|
67
|
+
}
|
|
68
|
+
const value = p1;
|
|
69
|
+
return this.setAttr('viewBox', Array.isArray(value) ? value.join(' ') : value);
|
|
70
|
+
}
|
|
71
|
+
setWidth(value) {
|
|
72
|
+
return this.setAttr('width', String(value));
|
|
73
|
+
}
|
|
74
|
+
setHeight(value) {
|
|
75
|
+
return this.setAttr('height', String(value));
|
|
76
|
+
}
|
|
77
|
+
setD(value) {
|
|
78
|
+
return this.setAttr('d', Array.isArray(value) ? value.join(' ') : value);
|
|
79
|
+
}
|
|
80
|
+
setTransform(value) {
|
|
81
|
+
return this.setAttr('transform', value);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=WSE.js.map
|
package/lib/WSE.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WSE.js","sourceRoot":"","sources":["../src/WSE.ts"],"names":[],"mappings":"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"}
|