@toyz/loom 0.4.0 → 0.6.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/dist/app.d.ts +4 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +9 -9
- package/dist/app.js.map +1 -1
- package/dist/decorators/create.d.ts +16 -25
- package/dist/decorators/create.d.ts.map +1 -1
- package/dist/decorators/create.js +25 -34
- package/dist/decorators/create.js.map +1 -1
- package/dist/decorators/events.d.ts +10 -8
- package/dist/decorators/events.d.ts.map +1 -1
- package/dist/decorators/events.js +53 -43
- package/dist/decorators/events.js.map +1 -1
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/symbols.d.ts +2 -0
- package/dist/decorators/symbols.d.ts.map +1 -1
- package/dist/decorators/symbols.js +2 -0
- package/dist/decorators/symbols.js.map +1 -1
- package/dist/di/decorators.d.ts +15 -15
- package/dist/di/decorators.d.ts.map +1 -1
- package/dist/di/decorators.js +23 -33
- package/dist/di/decorators.js.map +1 -1
- package/dist/di/watch.d.ts +5 -20
- package/dist/di/watch.d.ts.map +1 -1
- package/dist/di/watch.js +5 -38
- package/dist/di/watch.js.map +1 -1
- package/dist/element/decorators.d.ts +26 -10
- package/dist/element/decorators.d.ts.map +1 -1
- package/dist/element/decorators.js +75 -31
- package/dist/element/decorators.js.map +1 -1
- package/dist/element/element.d.ts.map +1 -1
- package/dist/element/element.js +15 -3
- package/dist/element/element.js.map +1 -1
- package/dist/element/form.d.ts +63 -0
- package/dist/element/form.d.ts.map +1 -0
- package/dist/element/form.js +167 -0
- package/dist/element/form.js.map +1 -0
- package/dist/element/icon.d.ts +3 -3
- package/dist/element/icon.d.ts.map +1 -1
- package/dist/element/icon.js +131 -74
- package/dist/element/icon.js.map +1 -1
- package/dist/element/index.d.ts +8 -1
- package/dist/element/index.d.ts.map +1 -1
- package/dist/element/index.js +9 -1
- package/dist/element/index.js.map +1 -1
- package/dist/element/lazy.d.ts +31 -0
- package/dist/element/lazy.d.ts.map +1 -0
- package/dist/element/lazy.js +71 -0
- package/dist/element/lazy.js.map +1 -0
- package/dist/element/lifecycle.d.ts +27 -29
- package/dist/element/lifecycle.d.ts.map +1 -1
- package/dist/element/lifecycle.js +60 -79
- package/dist/element/lifecycle.js.map +1 -1
- package/dist/element/slots.d.ts +23 -0
- package/dist/element/slots.d.ts.map +1 -0
- package/dist/element/slots.js +54 -0
- package/dist/element/slots.js.map +1 -0
- package/dist/element/timing.d.ts +10 -7
- package/dist/element/timing.d.ts.map +1 -1
- package/dist/element/timing.js +67 -52
- package/dist/element/timing.js.map +1 -1
- package/dist/element/transition.d.ts +32 -0
- package/dist/element/transition.d.ts.map +1 -0
- package/dist/element/transition.js +70 -0
- package/dist/element/transition.js.map +1 -0
- package/dist/element/virtual.js +235 -194
- package/dist/element/virtual.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/router/decorators.d.ts +9 -38
- package/dist/router/decorators.d.ts.map +1 -1
- package/dist/router/decorators.js +7 -52
- package/dist/router/decorators.js.map +1 -1
- package/dist/router/link.d.ts +4 -4
- package/dist/router/link.d.ts.map +1 -1
- package/dist/router/link.js +134 -72
- package/dist/router/link.js.map +1 -1
- package/dist/router/outlet.d.ts +2 -2
- package/dist/router/outlet.d.ts.map +1 -1
- package/dist/router/outlet.js +188 -138
- package/dist/router/outlet.js.map +1 -1
- package/dist/router/route-lifecycle.d.ts +2 -2
- package/dist/router/route-lifecycle.d.ts.map +1 -1
- package/dist/router/route-lifecycle.js +18 -8
- package/dist/router/route-lifecycle.js.map +1 -1
- package/dist/router/route.d.ts +1 -1
- package/dist/router/route.d.ts.map +1 -1
- package/dist/router/router.js +2 -2
- package/dist/router/router.js.map +1 -1
- package/dist/store/decorators.d.ts +32 -24
- package/dist/store/decorators.d.ts.map +1 -1
- package/dist/store/decorators.js +98 -117
- package/dist/store/decorators.js.map +1 -1
- package/dist/store/watch.d.ts +24 -11
- package/dist/store/watch.d.ts.map +1 -1
- package/dist/store/watch.js +43 -16
- package/dist/store/watch.js.map +1 -1
- package/dist/testing.d.ts +55 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +99 -0
- package/dist/testing.js.map +1 -0
- package/dist/transform/transform.d.ts +7 -3
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +17 -9
- package/dist/transform/transform.js.map +1 -1
- package/dist/transform/typed.d.ts +1 -1
- package/dist/transform/typed.d.ts.map +1 -1
- package/dist/transform/typed.js.map +1 -1
- package/package.json +5 -1
package/dist/testing.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loom — Testing harness
|
|
3
|
+
*
|
|
4
|
+
* Utilities for mounting components in tests and waiting for renders.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { fixture, fixtureHTML, cleanup, nextRender } from "@toyz/loom/testing";
|
|
8
|
+
*
|
|
9
|
+
* // Mount by tag name
|
|
10
|
+
* const el = await fixture<MyCounter>("my-counter");
|
|
11
|
+
* el.count = 5;
|
|
12
|
+
* await el.updateComplete;
|
|
13
|
+
* expect(el.shadow.querySelector("span")?.textContent).toBe("5");
|
|
14
|
+
*
|
|
15
|
+
* // Mount from an HTML template string
|
|
16
|
+
* const el2 = await fixtureHTML<MyCard>(`<my-card title="Hello">content</my-card>`);
|
|
17
|
+
* expect(el2.shadow.querySelector("h2")?.textContent).toBe("Hello");
|
|
18
|
+
*
|
|
19
|
+
* cleanup(); // removes all fixtures
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
const containers = [];
|
|
23
|
+
/**
|
|
24
|
+
* Mount a component by tag name and wait for its first render.
|
|
25
|
+
* Returns the element instance with full type access.
|
|
26
|
+
*
|
|
27
|
+
* @param tag Custom element tag name
|
|
28
|
+
* @param attrs Optional attribute key/value pairs to set before mount
|
|
29
|
+
*/
|
|
30
|
+
export async function fixture(tag, attrs) {
|
|
31
|
+
const container = document.createElement("div");
|
|
32
|
+
document.body.appendChild(container);
|
|
33
|
+
containers.push(container);
|
|
34
|
+
const el = document.createElement(tag);
|
|
35
|
+
if (attrs) {
|
|
36
|
+
for (const [key, value] of Object.entries(attrs)) {
|
|
37
|
+
el.setAttribute(key, value);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
container.appendChild(el);
|
|
41
|
+
wireUpdateComplete(el);
|
|
42
|
+
await flushMicrotasks();
|
|
43
|
+
return el;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Mount a component from an HTML template string and wait for its first render.
|
|
47
|
+
* Useful for testing slot content, nested components, and attribute combinations.
|
|
48
|
+
*
|
|
49
|
+
* Returns the first child element with full type access.
|
|
50
|
+
*
|
|
51
|
+
* @param html HTML string containing the component to mount
|
|
52
|
+
*/
|
|
53
|
+
export async function fixtureHTML(html) {
|
|
54
|
+
const container = document.createElement("div");
|
|
55
|
+
document.body.appendChild(container);
|
|
56
|
+
containers.push(container);
|
|
57
|
+
container.innerHTML = html;
|
|
58
|
+
const el = container.firstElementChild;
|
|
59
|
+
if (!el)
|
|
60
|
+
throw new Error("fixtureHTML: no element found in template");
|
|
61
|
+
wireUpdateComplete(el);
|
|
62
|
+
await flushMicrotasks();
|
|
63
|
+
return el;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Remove all fixture containers from the document.
|
|
67
|
+
* Call this in afterEach or test teardown.
|
|
68
|
+
*/
|
|
69
|
+
export function cleanup() {
|
|
70
|
+
for (const container of containers) {
|
|
71
|
+
container.remove();
|
|
72
|
+
}
|
|
73
|
+
containers.length = 0;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Wait for a Loom element to complete its next render cycle.
|
|
77
|
+
* Useful after programmatic state changes.
|
|
78
|
+
*/
|
|
79
|
+
export async function nextRender() {
|
|
80
|
+
await flushMicrotasks();
|
|
81
|
+
}
|
|
82
|
+
// ── Internal helpers ──
|
|
83
|
+
/** Flush several microtask levels to account for nested queueMicrotask chains. */
|
|
84
|
+
async function flushMicrotasks() {
|
|
85
|
+
for (let i = 0; i < 5; i++) {
|
|
86
|
+
await new Promise((r) => queueMicrotask(r));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** Wire an `updateComplete` getter onto an element if it doesn't already have one. */
|
|
90
|
+
function wireUpdateComplete(el) {
|
|
91
|
+
if (!("updateComplete" in el)) {
|
|
92
|
+
Object.defineProperty(el, "updateComplete", {
|
|
93
|
+
get() {
|
|
94
|
+
return flushMicrotasks();
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,UAAU,GAAqB,EAAE,CAAC;AAKxC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,KAA8B;IAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAM,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,eAAe,EAAE,CAAC;IAExB,OAAO,EAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY;IAEZ,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE3B,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAE3B,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAsB,CAAC;IAC5C,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAEtE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,eAAe,EAAE,CAAC;IAExB,OAAO,EAAiB,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACrB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC;IACD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC;AAED,yBAAyB;AAEzB,kFAAkF;AAClF,KAAK,UAAU,eAAe;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,kBAAkB,CAAC,EAAe;IACzC,IAAI,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE;YAC1C,GAAG;gBACD,OAAO,eAAe,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — Transform decorator
|
|
2
|
+
* Loom — Transform decorator (TC39 Stage 3)
|
|
3
3
|
*
|
|
4
4
|
* @transform — Pipe a value through a transform function before it reaches
|
|
5
5
|
* the property. Commonly paired with @prop for route params or attribute parsing.
|
|
@@ -7,8 +7,12 @@
|
|
|
7
7
|
* ```ts
|
|
8
8
|
* @prop({ param: "id" })
|
|
9
9
|
* @transform(Number) // "42" → 42
|
|
10
|
-
* userId!: number;
|
|
10
|
+
* accessor userId!: number;
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Auto-accessor decorator that registers a transform function.
|
|
15
|
+
* The transform is applied by @component's attributeChangedCallback.
|
|
16
|
+
*/
|
|
17
|
+
export declare function transform<This extends object, V>(fn: (value: unknown) => V): (_target: ClassAccessorDecoratorTarget<This, V>, context: ClassAccessorDecoratorContext<This, V>) => void;
|
|
14
18
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,IAEvE,SAAS,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9C,SAAS,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC9C,IAAI,CAQR"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loom — Transform decorator
|
|
2
|
+
* Loom — Transform decorator (TC39 Stage 3)
|
|
3
3
|
*
|
|
4
4
|
* @transform — Pipe a value through a transform function before it reaches
|
|
5
5
|
* the property. Commonly paired with @prop for route params or attribute parsing.
|
|
@@ -7,15 +7,23 @@
|
|
|
7
7
|
* ```ts
|
|
8
8
|
* @prop({ param: "id" })
|
|
9
9
|
* @transform(Number) // "42" → 42
|
|
10
|
-
* userId!: number;
|
|
10
|
+
* accessor userId!: number;
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
13
|
import { TRANSFORMS } from "../decorators/symbols";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Auto-accessor decorator that registers a transform function.
|
|
16
|
+
* The transform is applied by @component's attributeChangedCallback.
|
|
17
|
+
*/
|
|
18
|
+
export function transform(fn) {
|
|
19
|
+
return (_target, context) => {
|
|
20
|
+
const key = String(context.name);
|
|
21
|
+
context.addInitializer(function () {
|
|
22
|
+
const ctor = this.constructor;
|
|
23
|
+
if (!ctor[TRANSFORMS])
|
|
24
|
+
ctor[TRANSFORMS] = new Map();
|
|
25
|
+
ctor[TRANSFORMS].set(key, fn);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
21
29
|
//# sourceMappingURL=transform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform/transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAyB,EAAyB;IACzE,OAAO,CACL,OAA8C,EAC9C,OAA+C,EACzC,EAAE;QACR,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,cAAc,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,EAAoB,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/transform/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/transform/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAQvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,IAEpD,OAAO,GAAG,EAAE,KAAK,MAAM,UAKhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed.js","sourceRoot":"","sources":["../../src/transform/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAI,MAA0B;IACjD,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"typed.js","sourceRoot":"","sources":["../../src/transform/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAI,MAA0B;IACjD,OAAO,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,EAA6B,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,GAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAI,MAA0B;IAC5D,MAAM,EAAE,GAAG,KAAK,CAAI,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAU,EAAE,GAAW,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toyz/loom",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Decorator-driven web component framework with reactive state, DOM morphing, DI, and JSX",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,6 +62,10 @@
|
|
|
62
62
|
"./decorators": {
|
|
63
63
|
"types": "./dist/decorators/index.d.ts",
|
|
64
64
|
"import": "./dist/decorators/index.js"
|
|
65
|
+
},
|
|
66
|
+
"./testing": {
|
|
67
|
+
"types": "./dist/testing.d.ts",
|
|
68
|
+
"import": "./dist/testing.js"
|
|
65
69
|
}
|
|
66
70
|
},
|
|
67
71
|
"scripts": {
|