@e280/sly 0.2.0-15 → 0.2.0-16
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/package.json +2 -2
- package/s/dom/dom.ts +2 -0
- package/s/dom/parts/el.ts +14 -0
- package/s/ui/view/parts/capsule.ts +2 -2
- package/s/ui/view/parts/set-attrs.ts +33 -0
- package/x/demo/demo.bundle.min.js +15 -15
- package/x/demo/demo.bundle.min.js.map +4 -4
- package/x/dom/dom.d.ts +1 -0
- package/x/dom/dom.js +2 -0
- package/x/dom/dom.js.map +1 -1
- package/x/dom/parts/el.d.ts +2 -0
- package/x/dom/parts/el.js +7 -0
- package/x/dom/parts/el.js.map +1 -0
- package/x/index.html +2 -2
- package/x/ui/view/parts/capsule.js +2 -2
- package/x/ui/view/parts/capsule.js.map +1 -1
- package/x/ui/view/parts/set-attrs.d.ts +3 -0
- package/x/ui/view/parts/set-attrs.js +21 -0
- package/x/ui/view/parts/set-attrs.js.map +1 -0
- package/s/ui/view/parts/apply-attrs.ts +0 -30
- package/x/ui/view/parts/apply-attrs.d.ts +0 -2
- package/x/ui/view/parts/apply-attrs.js +0 -19
- package/x/ui/view/parts/apply-attrs.js.map +0 -1
package/x/dom/dom.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare namespace dom {
|
|
|
27
27
|
export var require: <E extends Element = HTMLElement>(selector: string) => E;
|
|
28
28
|
export var maybe: <E extends Element = HTMLElement>(selector: string) => E | null;
|
|
29
29
|
export var all: <E extends Element = HTMLElement>(selector: string) => E[];
|
|
30
|
+
export var el: typeof import("./parts/el.js").el;
|
|
30
31
|
export var events: typeof eve;
|
|
31
32
|
export var attrs: typeof import("./attrs/attrs.js").attrs;
|
|
32
33
|
export var register: typeof import("./parts/register.js").register;
|
package/x/dom/dom.js
CHANGED
|
@@ -2,6 +2,7 @@ import { render } from "lit";
|
|
|
2
2
|
import { attrs } from "./attrs/attrs.js";
|
|
3
3
|
import { register } from "./parts/register.js";
|
|
4
4
|
import { eve } from "./parts/eve.js";
|
|
5
|
+
import { el } from "./parts/el.js";
|
|
5
6
|
function require(container, selector) {
|
|
6
7
|
const e = container.querySelector(selector);
|
|
7
8
|
if (!e)
|
|
@@ -50,6 +51,7 @@ dom.in = doc.in.bind(doc);
|
|
|
50
51
|
dom.require = doc.require.bind(doc);
|
|
51
52
|
dom.maybe = doc.maybe.bind(doc);
|
|
52
53
|
dom.all = doc.all.bind(doc);
|
|
54
|
+
dom.el = el;
|
|
53
55
|
dom.events = eve;
|
|
54
56
|
dom.attrs = attrs;
|
|
55
57
|
dom.register = register;
|
package/x/dom/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../s/dom/dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAA;AAE1B,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAW,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../s/dom/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"el.js","sourceRoot":"","sources":["../../../s/dom/parts/el.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAA;AAEzD,MAAM,UAAU,EAAE,CAChB,OAAe,EACf,KAAgC;IAGjC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAM,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,OAAO,OAAO,CAAA;AACf,CAAC"}
|
package/x/index.html
CHANGED
|
@@ -111,7 +111,7 @@ body {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
</style>
|
|
114
|
-
<script type=module src="demo/demo.bundle.min.js?v=
|
|
114
|
+
<script type=module src="demo/demo.bundle.min.js?v=75da70f85487"></script>
|
|
115
115
|
<link rel="icon" href="assets/favicon.png?v=4dc161ed79b3"/>
|
|
116
116
|
|
|
117
117
|
<meta name="theme-color" content="#95ff7b">
|
|
@@ -131,7 +131,7 @@ body {
|
|
|
131
131
|
<img class=icon alt="" src="/assets/favicon.png"/>
|
|
132
132
|
<h1>sly testing page</h1>
|
|
133
133
|
<p><a href="https://github.com/e280/sly">github.com/e280/sly</a></p>
|
|
134
|
-
<p class=lil>v0.2.0-
|
|
134
|
+
<p class=lil>v0.2.0-16</p>
|
|
135
135
|
|
|
136
136
|
<fastcount-element></fastcount-element>
|
|
137
137
|
<counter-component start=280 step=2>component</counter-component>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { debounce } from "@e280/stz";
|
|
2
2
|
import { SlyView } from "./sly-view.js";
|
|
3
3
|
import { dom } from "../../../dom/dom.js";
|
|
4
|
-
import {
|
|
4
|
+
import { setAttrs } from "./set-attrs.js";
|
|
5
5
|
import { Reactor } from "../../base/utils/reactor.js";
|
|
6
6
|
import { AttrWatcher } from "../../base/utils/attr-watcher.js";
|
|
7
7
|
import { _disconnect, _reconnect, _wrap, Use } from "../../base/use.js";
|
|
@@ -29,7 +29,7 @@ export class ViewCapsule {
|
|
|
29
29
|
#renderNow = () => {
|
|
30
30
|
this.#use[_wrap](() => {
|
|
31
31
|
const content = this.#reactor.effect(() => this.viewFn(this.#use)(...this.#context.props), () => this.#renderDebounced());
|
|
32
|
-
|
|
32
|
+
setAttrs(this.#element, [...this.#context.attrs]);
|
|
33
33
|
dom.render(this.#shadow, content);
|
|
34
34
|
dom.render(this.#element, this.#context.children);
|
|
35
35
|
this.#attrWatcher.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capsule.js","sourceRoot":"","sources":["../../../../s/ui/view/parts/capsule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAA;AAElC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"capsule.js","sourceRoot":"","sources":["../../../../s/ui/view/parts/capsule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAA;AAElC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,qBAAqB,CAAA;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAC,MAAM,mBAAmB,CAAA;AAErE,8DAA8D;AAC9D,MAAM,OAAO,WAAW;IAUb;IACA;IAVV,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IACzB,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;IAExB,IAAI,CAAK;IACT,OAAO,CAAY;IACnB,QAAQ,CAAqB;IAC7B,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAE5E,YACU,MAAqB,EACrB,QAAwB;QADxB,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAgB;QAEjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAClB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,CACrB,CAAA;IACF,CAAC;IAED,MAAM,CAAC,OAA2B;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;IAED,UAAU,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACnC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpD,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAC7B,CAAA;YACD,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YACjD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;IACH,CAAC,CAAA;IAED,gBAAgB,GAAG,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAE/C,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAA;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function setAttr(element, key, value) {
|
|
2
|
+
if (value === undefined || value === null)
|
|
3
|
+
element.removeAttribute(key);
|
|
4
|
+
else if (typeof value === "string")
|
|
5
|
+
element.setAttribute(key, value);
|
|
6
|
+
else if (typeof value === "number")
|
|
7
|
+
element.setAttribute(key, value.toString());
|
|
8
|
+
else if (typeof value === "boolean") {
|
|
9
|
+
if (value === true)
|
|
10
|
+
element.setAttribute(key, "");
|
|
11
|
+
else
|
|
12
|
+
element.removeAttribute(key);
|
|
13
|
+
}
|
|
14
|
+
else
|
|
15
|
+
console.warn(`invalid attribute "${key}" type is "${typeof value}"`);
|
|
16
|
+
}
|
|
17
|
+
export function setAttrs(element, attrs) {
|
|
18
|
+
for (const [key, value] of attrs)
|
|
19
|
+
setAttr(element, key, value);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=set-attrs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-attrs.js","sourceRoot":"","sources":["../../../../s/ui/view/parts/set-attrs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CAAC,OAAoB,EAAE,GAAW,EAAE,KAAgB;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QACxC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;SAExB,IAAI,OAAO,KAAK,KAAK,QAAQ;QACjC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SAE5B,IAAI,OAAO,KAAK,KAAK,QAAQ;QACjC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;SAEvC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI;YACjB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;;YAE7B,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;;QAGA,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,cAAc,OAAO,KAAK,GAAG,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAoB,EACpB,KAAwC;IAGzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK;QAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {AttrValue} from "../../types.js"
|
|
3
|
-
|
|
4
|
-
export function applyAttrs(
|
|
5
|
-
element: HTMLElement,
|
|
6
|
-
attrs: Map<string, AttrValue>,
|
|
7
|
-
) {
|
|
8
|
-
|
|
9
|
-
for (const [key, value] of attrs) {
|
|
10
|
-
if (value === undefined || value === null)
|
|
11
|
-
element.removeAttribute(key)
|
|
12
|
-
|
|
13
|
-
else if (typeof value === "string")
|
|
14
|
-
element.setAttribute(key, value)
|
|
15
|
-
|
|
16
|
-
else if (typeof value === "number")
|
|
17
|
-
element.setAttribute(key, value.toString())
|
|
18
|
-
|
|
19
|
-
else if (typeof value === "boolean") {
|
|
20
|
-
if (value === true)
|
|
21
|
-
element.setAttribute(key, "")
|
|
22
|
-
else
|
|
23
|
-
element.removeAttribute(key)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
else
|
|
27
|
-
console.warn(`invalid attribute "${key}" type is "${typeof value}"`)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export function applyAttrs(element, attrs) {
|
|
2
|
-
for (const [key, value] of attrs) {
|
|
3
|
-
if (value === undefined || value === null)
|
|
4
|
-
element.removeAttribute(key);
|
|
5
|
-
else if (typeof value === "string")
|
|
6
|
-
element.setAttribute(key, value);
|
|
7
|
-
else if (typeof value === "number")
|
|
8
|
-
element.setAttribute(key, value.toString());
|
|
9
|
-
else if (typeof value === "boolean") {
|
|
10
|
-
if (value === true)
|
|
11
|
-
element.setAttribute(key, "");
|
|
12
|
-
else
|
|
13
|
-
element.removeAttribute(key);
|
|
14
|
-
}
|
|
15
|
-
else
|
|
16
|
-
console.warn(`invalid attribute "${key}" type is "${typeof value}"`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=apply-attrs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-attrs.js","sourceRoot":"","sources":["../../../../s/ui/view/parts/apply-attrs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,UAAU,CACxB,OAAoB,EACpB,KAA6B;IAG9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YACxC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;aAExB,IAAI,OAAO,KAAK,KAAK,QAAQ;YACjC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;aAE5B,IAAI,OAAO,KAAK,KAAK,QAAQ;YACjC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;aAEvC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,KAAK,KAAK,IAAI;gBACjB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;;gBAE7B,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;;YAGA,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,cAAc,OAAO,KAAK,GAAG,CAAC,CAAA;IACtE,CAAC;AACF,CAAC"}
|