@threadlabs/looma 0.2.20 → 0.3.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.
Files changed (51) hide show
  1. package/dist/{chunk-A5MSXQ7Y.js → chunk-RWLYVQY6.js} +2224 -1256
  2. package/dist/chunk-XDNZIKNI.js +2721 -0
  3. package/dist/declarative-generated.cjs +93 -79
  4. package/dist/declarative-generated.d.cts +7 -1
  5. package/dist/declarative-generated.d.ts +7 -1
  6. package/dist/declarative-generated.js +91 -78
  7. package/dist/declarative.cjs +1499 -1702
  8. package/dist/declarative.d.cts +77 -3
  9. package/dist/declarative.d.ts +77 -3
  10. package/dist/declarative.js +5 -3
  11. package/dist/index.cjs +3730 -3025
  12. package/dist/index.d.cts +211 -35
  13. package/dist/index.d.ts +211 -35
  14. package/dist/index.js +6 -61
  15. package/dist/loader.cjs +3724 -2963
  16. package/dist/loader.js +2 -2
  17. package/editor/{chunk-VAXI7Q6T.js → chunk-U36XNFJN.js} +105 -77
  18. package/editor/extensions/index.d.ts +272 -27
  19. package/editor/index.d.ts +1 -1
  20. package/editor/index.js +1 -1
  21. package/editor/{table-overlay-DoiLie4h.d.ts → table-overlay-DZFGHQDt.d.ts} +48 -6
  22. package/editor/ui.d.ts +15 -11
  23. package/editor/ui.js +1 -1
  24. package/layout/index.cjs +197 -340
  25. package/layout/index.d.cts +11 -0
  26. package/layout/index.d.ts +11 -0
  27. package/layout/index.js +197 -340
  28. package/layout.css +31 -134
  29. package/package.json +24 -11
  30. package/react/index.d.ts +1276 -0
  31. package/react/index.js +1526 -0
  32. package/styles.css +5 -10
  33. package/svelte/index.d.ts +204 -0
  34. package/svelte/index.js +1892 -0
  35. package/theme-dark.css +81 -2
  36. package/theme-high-contrast.css +14 -0
  37. package/theme-light.css +30 -1
  38. package/tokens.css +45 -1
  39. package/vue/chunk-OX3EACZ7.js +4369 -0
  40. package/vue/editor/index.d.ts +78 -8
  41. package/vue/editor/index.js +54 -49
  42. package/vue/index.d.ts +79 -78
  43. package/vue/index.js +3 -9
  44. package/dist/chunk-ECJQ4YGC.js +0 -2925
  45. package/dist/valibot.cjs +0 -31
  46. package/dist/valibot.d.cts +0 -10
  47. package/dist/valibot.d.ts +0 -10
  48. package/dist/valibot.js +0 -9
  49. package/dist/validation-bxcou-l-.d.cts +0 -58
  50. package/dist/validation-bxcou-l-.d.ts +0 -58
  51. package/vue/chunk-P7BZ2KJZ.js +0 -3559
@@ -19,117 +19,131 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/declarative-generated.ts
20
20
  var declarative_generated_exports = {};
21
21
  __export(declarative_generated_exports, {
22
- manageGeneratedProps: () => se
22
+ manageGeneratedProps: () => oe,
23
+ updateGeneratedProps: () => ie
23
24
  });
24
25
  module.exports = __toCommonJS(declarative_generated_exports);
25
26
 
26
- // ../../tools/migrate-html-next/generated/adoption/generated-runtime.js
27
+ // src/declarative/generated-runtime.js
27
28
  var J = /* @__PURE__ */ Symbol.for("@nextwebwg/declarative-components.runtime.v1");
28
29
  var h = /* @__PURE__ */ Symbol.for("@nextwebwg/declarative-components.lifecycle.v1");
29
- function F(e) {
30
- return e[J] ??= {};
30
+ function G(t) {
31
+ return t[J] ??= {};
31
32
  }
32
- function K(e, t) {
33
- let n = F(e), r = n.mutationHub;
33
+ function K(t, e) {
34
+ let n = G(t), r = n.mutationHub;
34
35
  if (r === void 0) {
35
- let u = e.defaultView?.MutationObserver ?? MutationObserver, d = /* @__PURE__ */ new Set(), s = new u((i) => {
36
- for (let f of Array.from(d)) f(i);
36
+ let a = t.defaultView?.MutationObserver ?? MutationObserver, l = /* @__PURE__ */ new Set(), o = new a((i) => {
37
+ for (let p of Array.from(l)) p(i);
37
38
  });
38
- r = { observer: s, subscribers: d }, n.mutationHub = r, s.observe(e, { childList: true, subtree: true });
39
+ r = { observer: o, subscribers: l }, n.mutationHub = r, o.observe(t, { childList: true, subtree: true });
39
40
  }
40
- r.subscribers.add(t);
41
- let o = true;
41
+ r.subscribers.add(e);
42
+ let s = true;
42
43
  return () => {
43
- o && (o = false, r.subscribers.delete(t), r.subscribers.size === 0 && (r.observer.disconnect(), delete n.mutationHub));
44
+ s && (s = false, r.subscribers.delete(e), r.subscribers.size === 0 && (r.observer.disconnect(), delete n.mutationHub));
44
45
  };
45
46
  }
46
- function W(e) {
47
- let t = F(e), n = t.lifecycle;
47
+ function U(t) {
48
+ let e = G(t), n = e.lifecycle;
48
49
  if (n !== void 0) return n;
49
- let r = 0, o = (s) => {
50
- let i = s[h];
51
- i !== void 0 && (s.isConnected && i.disconnect === void 0 ? i.disconnect = i.connect(s) : !s.isConnected && i.disconnect !== void 0 && (i.disconnect(), i.disconnect = void 0));
52
- }, u = K(e, (s) => {
53
- let i = [], f = (l) => {
54
- if (l.nodeType !== 1) return;
55
- let b = l;
56
- if (b[h] !== void 0 && i.push(b), b.childElementCount !== 0) for (let k of b.querySelectorAll("[data-component-root]")) k[h] !== void 0 && i.push(k);
50
+ let r = 0, s = (o) => {
51
+ let i = o[h];
52
+ i !== void 0 && (o.isConnected && i.disconnect === void 0 ? i.disconnect = i.connect(o) : !o.isConnected && i.disconnect !== void 0 && (i.disconnect(), i.disconnect = void 0));
53
+ }, a = K(t, (o) => {
54
+ let i = [], p = (y) => {
55
+ if (y.nodeType !== 1) return;
56
+ let b = y;
57
+ if (b[h] !== void 0 && i.push(b), b.childElementCount !== 0) for (let T of b.querySelectorAll("[data-component-root]")) T[h] !== void 0 && i.push(T);
57
58
  };
58
- for (let l of s) {
59
- for (let b of l.addedNodes) f(b);
60
- for (let b of l.removedNodes) f(b);
59
+ for (let y of o) {
60
+ for (let b of y.addedNodes) p(b);
61
+ for (let b of y.removedNodes) p(b);
61
62
  }
62
- for (let l of i) o(l);
63
- }), d = { add(s, i) {
64
- let f = s, l = f[h];
65
- l !== i && (l?.disconnect?.(), l === void 0 && (r += 1), f[h] = i, o(s));
66
- }, remove(s, i) {
67
- let f = s;
68
- f[h] === i && (i.disconnect?.(), delete f[h], r -= 1, r === 0 && (u(), delete t.lifecycle));
63
+ for (let y of i) s(y);
64
+ }), l = { add(o, i) {
65
+ let p = o, y = p[h];
66
+ y !== i && (y?.disconnect?.(), y === void 0 && (r += 1), p[h] = i, s(o));
67
+ }, remove(o, i) {
68
+ let p = o;
69
+ p[h] === i && (i.disconnect?.(), delete p[h], r -= 1, r === 0 && (a(), delete e.lifecycle));
69
70
  } };
70
- return t.lifecycle = d, d;
71
+ return e.lifecycle = l, l;
71
72
  }
72
- function Y(e, t, n) {
73
- let r = W(e.ownerDocument), o = { connect: () => (t(), n), disconnect: void 0 };
74
- return r.add(e, o), () => r.remove(e, o);
73
+ function W(t, e, n) {
74
+ let r = U(t.ownerDocument), s = { connect: () => (e(), n), disconnect: void 0 };
75
+ return r.add(t, s), () => r.remove(t, s);
75
76
  }
76
- function B(e, t, n = false) {
77
- if (t === "string" && typeof e == "string") return e;
78
- if (t === "boolean") {
79
- if (n) return true;
80
- if (typeof e == "boolean") return e;
81
- if (e === "" || e === "true") return true;
82
- if (e === "false") return false;
77
+ var q = /* @__PURE__ */ new WeakMap();
78
+ function B(t, e, n = false) {
79
+ if (e === "string" && typeof t == "string") return t;
80
+ if (e === "boolean") {
81
+ if (n && t === "") return true;
82
+ if (typeof t == "boolean") return t;
83
+ if (t === "" || t === "true") return true;
84
+ if (t === "false") return false;
83
85
  }
84
- if (t === "number") {
85
- let r = typeof e == "number" ? e : typeof e == "string" && e.trim() !== "" ? Number(e) : Number.NaN;
86
+ if (e === "number") {
87
+ let r = typeof t == "number" ? t : typeof t == "string" && t.trim() !== "" ? Number(t) : Number.NaN;
86
88
  if (Number.isFinite(r)) return r;
87
89
  }
88
- if (Array.isArray(t) && t.includes(e)) return e;
90
+ if (Array.isArray(e) && e.includes(t)) return t;
89
91
  throw new TypeError("HR002: A prop invocation value does not satisfy its declared type.");
90
92
  }
91
- function E(e, t, n = false) {
92
- if (t !== void 0) return B(t, e.type, n);
93
- if (e.required) throw new TypeError(`HC020: Required prop \`${e.name}\` was not provided.`);
93
+ function v(t, e, n = false) {
94
+ if (e !== void 0) return B(e, t.type, n);
95
+ if (t.required) throw new TypeError(`HC020: Required prop \`${t.name}\` was not provided.`);
94
96
  }
95
- function se(e, t, n) {
96
- let r = t.map((c) => E(c, c.value)), o = new Map(t.map((c, m) => [c.attribute, m])), u = /* @__PURE__ */ new Map(), d = new Set(t.map((c, m) => m)), s = false, i = false, f = () => {
97
- if (i = false, !!s) {
98
- for (let c of d) {
99
- let m = t[c], y = r[c], p = y === void 0 ? null : String(y);
100
- u.set(m.attribute, p), p === null ? e.removeAttribute(m.attribute) : e.setAttribute(m.attribute, p), n?.(m.name, y);
97
+ function oe(t, e, n) {
98
+ let r = e.map((u) => v(u, u.value)), s = (u) => r[u] ?? e[u].default, a = new Map(e.map((u, c) => [u.attribute, c])), l = new Map(e.map((u, c) => [u.name, c])), o = /* @__PURE__ */ new Map(), i = new Set(e.map((u, c) => c)), p = false, y = false, b = () => {
99
+ if (y = false, !!p) {
100
+ for (let u of i) {
101
+ let c = e[u], f = c.bound ? s(u) : r[u], d = f == null ? null : String(f);
102
+ o.set(c.attribute, d), d === null ? t.removeAttribute(c.attribute) : t.setAttribute(c.attribute, d), n?.(c.name, s(u));
101
103
  }
102
- d.clear();
104
+ i.clear();
103
105
  }
104
- }, l = (c) => {
105
- d.add(c), s && !i && (i = true, queueMicrotask(f));
106
+ }, T = (u) => {
107
+ i.add(u), p && !y && (y = true, queueMicrotask(b));
106
108
  };
107
- for (let [c, m] of t.entries()) Object.defineProperty(e, m.name, { configurable: true, enumerable: true, get: () => r[c], set: (y) => {
108
- let p = E(m, y);
109
- Object.is(r[c], p) || (r[c] = p, l(c));
110
- } });
111
- let b = e.ownerDocument.defaultView?.MutationObserver ?? MutationObserver, k = new b((c) => {
112
- for (let m of c) {
113
- let y = m.attributeName;
114
- if (y === null) continue;
115
- let p = o.get(y);
116
- if (p === void 0) continue;
117
- let x = e.getAttribute(y);
118
- if (u.get(y) === x && u.delete(y)) continue;
119
- u.delete(y);
120
- let G = t[p], D = x !== null, S = E(G, D ? x : void 0, D);
121
- Object.is(r[p], S) || (r[p] = S, l(p));
109
+ q.set(t, (u) => {
110
+ for (let [c, f] of Object.entries(u)) {
111
+ let d = l.get(c);
112
+ if (d === void 0) continue;
113
+ let g = v(e[d], f);
114
+ Object.is(r[d], g) || (r[d] = g, T(d));
122
115
  }
123
116
  });
124
- return Y(e, () => {
125
- s = true;
126
- for (let c = 0; c < t.length; c += 1) d.add(c);
127
- f(), k.observe(e, { attributes: true, attributeFilter: t.map((c) => c.attribute) });
117
+ let F = t.ownerDocument.defaultView?.MutationObserver ?? MutationObserver, O = new F((u) => {
118
+ for (let c of u) {
119
+ let f = c.attributeName;
120
+ if (f === null) continue;
121
+ let d = a.get(f);
122
+ if (d === void 0) continue;
123
+ let g = t.getAttribute(f);
124
+ if (o.get(f) === g && o.delete(f)) continue;
125
+ o.delete(f);
126
+ let P = e[d], S = g !== null, A = v(P, S ? g : void 0, S);
127
+ Object.is(r[d], A) || (r[d] = A, T(d));
128
+ }
129
+ });
130
+ return W(t, () => {
131
+ p = true;
132
+ for (let [u, c] of e.entries()) {
133
+ let f = t.getAttribute(c.attribute), d = o.has(c.attribute) ? o.get(c.attribute) : null;
134
+ f !== null && f !== d && (r[u] = v(c, f, true)), o.delete(c.attribute);
135
+ }
136
+ for (let u = 0; u < e.length; u += 1) i.add(u);
137
+ b(), O.observe(t, { attributes: true, attributeFilter: e.map((u) => u.attribute) });
128
138
  }, () => {
129
- s = false, k.disconnect();
139
+ p = false, O.disconnect();
130
140
  });
131
141
  }
142
+ function ie(t, e) {
143
+ q.get(t)?.(e);
144
+ }
132
145
  // Annotate the CommonJS export names for ESM import in node:
133
146
  0 && (module.exports = {
134
- manageGeneratedProps
147
+ manageGeneratedProps,
148
+ updateGeneratedProps
135
149
  });
@@ -1,10 +1,16 @@
1
+ /** One compiled prop: the value the caller supplied (undefined when omitted), its declared default, and whether the template binds its data-* attribute. */
1
2
  interface GeneratedProp {
2
3
  readonly name: string;
3
4
  readonly attribute: string;
4
5
  readonly value: unknown;
6
+ readonly default?: unknown;
7
+ readonly bound?: boolean;
5
8
  readonly type: string | readonly unknown[];
6
9
  readonly required: boolean;
7
10
  }
11
+ /** Reflects explicit props as data-* attributes and parses later attribute writes, for the lifetime of a native root. */
8
12
  declare function manageGeneratedProps(element: Element, props: readonly GeneratedProp[], apply?: (name: string, value: unknown) => void): () => void;
13
+ /** Framework-adapter prop channel for compiled components: applies props as authored attributes would be. */
14
+ declare function updateGeneratedProps(element: Element, props: Readonly<Record<string, unknown>>): void;
9
15
 
10
- export { type GeneratedProp, manageGeneratedProps };
16
+ export { type GeneratedProp, manageGeneratedProps, updateGeneratedProps };
@@ -1,10 +1,16 @@
1
+ /** One compiled prop: the value the caller supplied (undefined when omitted), its declared default, and whether the template binds its data-* attribute. */
1
2
  interface GeneratedProp {
2
3
  readonly name: string;
3
4
  readonly attribute: string;
4
5
  readonly value: unknown;
6
+ readonly default?: unknown;
7
+ readonly bound?: boolean;
5
8
  readonly type: string | readonly unknown[];
6
9
  readonly required: boolean;
7
10
  }
11
+ /** Reflects explicit props as data-* attributes and parses later attribute writes, for the lifetime of a native root. */
8
12
  declare function manageGeneratedProps(element: Element, props: readonly GeneratedProp[], apply?: (name: string, value: unknown) => void): () => void;
13
+ /** Framework-adapter prop channel for compiled components: applies props as authored attributes would be. */
14
+ declare function updateGeneratedProps(element: Element, props: Readonly<Record<string, unknown>>): void;
9
15
 
10
- export { type GeneratedProp, manageGeneratedProps };
16
+ export { type GeneratedProp, manageGeneratedProps, updateGeneratedProps };
@@ -1,111 +1,124 @@
1
1
  import "./chunk-MLKGABMK.js";
2
2
 
3
- // ../../tools/migrate-html-next/generated/adoption/generated-runtime.js
3
+ // src/declarative/generated-runtime.js
4
4
  var J = /* @__PURE__ */ Symbol.for("@nextwebwg/declarative-components.runtime.v1");
5
5
  var h = /* @__PURE__ */ Symbol.for("@nextwebwg/declarative-components.lifecycle.v1");
6
- function F(e) {
7
- return e[J] ??= {};
6
+ function G(t) {
7
+ return t[J] ??= {};
8
8
  }
9
- function K(e, t) {
10
- let n = F(e), r = n.mutationHub;
9
+ function K(t, e) {
10
+ let n = G(t), r = n.mutationHub;
11
11
  if (r === void 0) {
12
- let u = e.defaultView?.MutationObserver ?? MutationObserver, d = /* @__PURE__ */ new Set(), s = new u((i) => {
13
- for (let f of Array.from(d)) f(i);
12
+ let a = t.defaultView?.MutationObserver ?? MutationObserver, l = /* @__PURE__ */ new Set(), o = new a((i) => {
13
+ for (let p of Array.from(l)) p(i);
14
14
  });
15
- r = { observer: s, subscribers: d }, n.mutationHub = r, s.observe(e, { childList: true, subtree: true });
15
+ r = { observer: o, subscribers: l }, n.mutationHub = r, o.observe(t, { childList: true, subtree: true });
16
16
  }
17
- r.subscribers.add(t);
18
- let o = true;
17
+ r.subscribers.add(e);
18
+ let s = true;
19
19
  return () => {
20
- o && (o = false, r.subscribers.delete(t), r.subscribers.size === 0 && (r.observer.disconnect(), delete n.mutationHub));
20
+ s && (s = false, r.subscribers.delete(e), r.subscribers.size === 0 && (r.observer.disconnect(), delete n.mutationHub));
21
21
  };
22
22
  }
23
- function W(e) {
24
- let t = F(e), n = t.lifecycle;
23
+ function U(t) {
24
+ let e = G(t), n = e.lifecycle;
25
25
  if (n !== void 0) return n;
26
- let r = 0, o = (s) => {
27
- let i = s[h];
28
- i !== void 0 && (s.isConnected && i.disconnect === void 0 ? i.disconnect = i.connect(s) : !s.isConnected && i.disconnect !== void 0 && (i.disconnect(), i.disconnect = void 0));
29
- }, u = K(e, (s) => {
30
- let i = [], f = (l) => {
31
- if (l.nodeType !== 1) return;
32
- let b = l;
33
- if (b[h] !== void 0 && i.push(b), b.childElementCount !== 0) for (let k of b.querySelectorAll("[data-component-root]")) k[h] !== void 0 && i.push(k);
26
+ let r = 0, s = (o) => {
27
+ let i = o[h];
28
+ i !== void 0 && (o.isConnected && i.disconnect === void 0 ? i.disconnect = i.connect(o) : !o.isConnected && i.disconnect !== void 0 && (i.disconnect(), i.disconnect = void 0));
29
+ }, a = K(t, (o) => {
30
+ let i = [], p = (y) => {
31
+ if (y.nodeType !== 1) return;
32
+ let b = y;
33
+ if (b[h] !== void 0 && i.push(b), b.childElementCount !== 0) for (let T of b.querySelectorAll("[data-component-root]")) T[h] !== void 0 && i.push(T);
34
34
  };
35
- for (let l of s) {
36
- for (let b of l.addedNodes) f(b);
37
- for (let b of l.removedNodes) f(b);
35
+ for (let y of o) {
36
+ for (let b of y.addedNodes) p(b);
37
+ for (let b of y.removedNodes) p(b);
38
38
  }
39
- for (let l of i) o(l);
40
- }), d = { add(s, i) {
41
- let f = s, l = f[h];
42
- l !== i && (l?.disconnect?.(), l === void 0 && (r += 1), f[h] = i, o(s));
43
- }, remove(s, i) {
44
- let f = s;
45
- f[h] === i && (i.disconnect?.(), delete f[h], r -= 1, r === 0 && (u(), delete t.lifecycle));
39
+ for (let y of i) s(y);
40
+ }), l = { add(o, i) {
41
+ let p = o, y = p[h];
42
+ y !== i && (y?.disconnect?.(), y === void 0 && (r += 1), p[h] = i, s(o));
43
+ }, remove(o, i) {
44
+ let p = o;
45
+ p[h] === i && (i.disconnect?.(), delete p[h], r -= 1, r === 0 && (a(), delete e.lifecycle));
46
46
  } };
47
- return t.lifecycle = d, d;
47
+ return e.lifecycle = l, l;
48
48
  }
49
- function Y(e, t, n) {
50
- let r = W(e.ownerDocument), o = { connect: () => (t(), n), disconnect: void 0 };
51
- return r.add(e, o), () => r.remove(e, o);
49
+ function W(t, e, n) {
50
+ let r = U(t.ownerDocument), s = { connect: () => (e(), n), disconnect: void 0 };
51
+ return r.add(t, s), () => r.remove(t, s);
52
52
  }
53
- function B(e, t, n = false) {
54
- if (t === "string" && typeof e == "string") return e;
55
- if (t === "boolean") {
56
- if (n) return true;
57
- if (typeof e == "boolean") return e;
58
- if (e === "" || e === "true") return true;
59
- if (e === "false") return false;
53
+ var q = /* @__PURE__ */ new WeakMap();
54
+ function B(t, e, n = false) {
55
+ if (e === "string" && typeof t == "string") return t;
56
+ if (e === "boolean") {
57
+ if (n && t === "") return true;
58
+ if (typeof t == "boolean") return t;
59
+ if (t === "" || t === "true") return true;
60
+ if (t === "false") return false;
60
61
  }
61
- if (t === "number") {
62
- let r = typeof e == "number" ? e : typeof e == "string" && e.trim() !== "" ? Number(e) : Number.NaN;
62
+ if (e === "number") {
63
+ let r = typeof t == "number" ? t : typeof t == "string" && t.trim() !== "" ? Number(t) : Number.NaN;
63
64
  if (Number.isFinite(r)) return r;
64
65
  }
65
- if (Array.isArray(t) && t.includes(e)) return e;
66
+ if (Array.isArray(e) && e.includes(t)) return t;
66
67
  throw new TypeError("HR002: A prop invocation value does not satisfy its declared type.");
67
68
  }
68
- function E(e, t, n = false) {
69
- if (t !== void 0) return B(t, e.type, n);
70
- if (e.required) throw new TypeError(`HC020: Required prop \`${e.name}\` was not provided.`);
69
+ function v(t, e, n = false) {
70
+ if (e !== void 0) return B(e, t.type, n);
71
+ if (t.required) throw new TypeError(`HC020: Required prop \`${t.name}\` was not provided.`);
71
72
  }
72
- function se(e, t, n) {
73
- let r = t.map((c) => E(c, c.value)), o = new Map(t.map((c, m) => [c.attribute, m])), u = /* @__PURE__ */ new Map(), d = new Set(t.map((c, m) => m)), s = false, i = false, f = () => {
74
- if (i = false, !!s) {
75
- for (let c of d) {
76
- let m = t[c], y = r[c], p = y === void 0 ? null : String(y);
77
- u.set(m.attribute, p), p === null ? e.removeAttribute(m.attribute) : e.setAttribute(m.attribute, p), n?.(m.name, y);
73
+ function oe(t, e, n) {
74
+ let r = e.map((u) => v(u, u.value)), s = (u) => r[u] ?? e[u].default, a = new Map(e.map((u, c) => [u.attribute, c])), l = new Map(e.map((u, c) => [u.name, c])), o = /* @__PURE__ */ new Map(), i = new Set(e.map((u, c) => c)), p = false, y = false, b = () => {
75
+ if (y = false, !!p) {
76
+ for (let u of i) {
77
+ let c = e[u], f = c.bound ? s(u) : r[u], d = f == null ? null : String(f);
78
+ o.set(c.attribute, d), d === null ? t.removeAttribute(c.attribute) : t.setAttribute(c.attribute, d), n?.(c.name, s(u));
78
79
  }
79
- d.clear();
80
+ i.clear();
80
81
  }
81
- }, l = (c) => {
82
- d.add(c), s && !i && (i = true, queueMicrotask(f));
82
+ }, T = (u) => {
83
+ i.add(u), p && !y && (y = true, queueMicrotask(b));
83
84
  };
84
- for (let [c, m] of t.entries()) Object.defineProperty(e, m.name, { configurable: true, enumerable: true, get: () => r[c], set: (y) => {
85
- let p = E(m, y);
86
- Object.is(r[c], p) || (r[c] = p, l(c));
87
- } });
88
- let b = e.ownerDocument.defaultView?.MutationObserver ?? MutationObserver, k = new b((c) => {
89
- for (let m of c) {
90
- let y = m.attributeName;
91
- if (y === null) continue;
92
- let p = o.get(y);
93
- if (p === void 0) continue;
94
- let x = e.getAttribute(y);
95
- if (u.get(y) === x && u.delete(y)) continue;
96
- u.delete(y);
97
- let G = t[p], D = x !== null, S = E(G, D ? x : void 0, D);
98
- Object.is(r[p], S) || (r[p] = S, l(p));
85
+ q.set(t, (u) => {
86
+ for (let [c, f] of Object.entries(u)) {
87
+ let d = l.get(c);
88
+ if (d === void 0) continue;
89
+ let g = v(e[d], f);
90
+ Object.is(r[d], g) || (r[d] = g, T(d));
99
91
  }
100
92
  });
101
- return Y(e, () => {
102
- s = true;
103
- for (let c = 0; c < t.length; c += 1) d.add(c);
104
- f(), k.observe(e, { attributes: true, attributeFilter: t.map((c) => c.attribute) });
93
+ let F = t.ownerDocument.defaultView?.MutationObserver ?? MutationObserver, O = new F((u) => {
94
+ for (let c of u) {
95
+ let f = c.attributeName;
96
+ if (f === null) continue;
97
+ let d = a.get(f);
98
+ if (d === void 0) continue;
99
+ let g = t.getAttribute(f);
100
+ if (o.get(f) === g && o.delete(f)) continue;
101
+ o.delete(f);
102
+ let P = e[d], S = g !== null, A = v(P, S ? g : void 0, S);
103
+ Object.is(r[d], A) || (r[d] = A, T(d));
104
+ }
105
+ });
106
+ return W(t, () => {
107
+ p = true;
108
+ for (let [u, c] of e.entries()) {
109
+ let f = t.getAttribute(c.attribute), d = o.has(c.attribute) ? o.get(c.attribute) : null;
110
+ f !== null && f !== d && (r[u] = v(c, f, true)), o.delete(c.attribute);
111
+ }
112
+ for (let u = 0; u < e.length; u += 1) i.add(u);
113
+ b(), O.observe(t, { attributes: true, attributeFilter: e.map((u) => u.attribute) });
105
114
  }, () => {
106
- s = false, k.disconnect();
115
+ p = false, O.disconnect();
107
116
  });
108
117
  }
118
+ function ie(t, e) {
119
+ q.get(t)?.(e);
120
+ }
109
121
  export {
110
- se as manageGeneratedProps
122
+ oe as manageGeneratedProps,
123
+ ie as updateGeneratedProps
111
124
  };