@brandup/ui 2.0.1 → 2.0.3

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 (63) hide show
  1. package/README.md +12 -7
  2. package/dist/cjs/constants.js +14 -0
  3. package/dist/cjs/constants.js.map +1 -0
  4. package/dist/cjs/dom/bind-each.js +90 -0
  5. package/dist/cjs/dom/bind-each.js.map +1 -0
  6. package/dist/cjs/dom/bind.js +29 -0
  7. package/dist/cjs/dom/bind.js.map +1 -0
  8. package/dist/cjs/dom/binding-cleanup.js +162 -0
  9. package/dist/cjs/dom/binding-cleanup.js.map +1 -0
  10. package/dist/cjs/dom/dom.js +184 -0
  11. package/dist/cjs/dom/dom.js.map +1 -0
  12. package/dist/cjs/dom/helpers.js +33 -0
  13. package/dist/cjs/dom/helpers.js.map +1 -0
  14. package/dist/cjs/dom/index.js +14 -0
  15. package/dist/cjs/dom/index.js.map +1 -0
  16. package/dist/cjs/dom/tag.js +207 -0
  17. package/dist/cjs/dom/tag.js.map +1 -0
  18. package/dist/cjs/element.js +265 -0
  19. package/dist/cjs/element.js.map +1 -0
  20. package/dist/cjs/events.js +204 -0
  21. package/dist/cjs/events.js.map +1 -0
  22. package/dist/cjs/ext.js +20 -0
  23. package/dist/cjs/ext.js.map +1 -0
  24. package/dist/cjs/index.js +40 -1455
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/reactive/computed.js +36 -0
  27. package/dist/cjs/reactive/computed.js.map +1 -0
  28. package/dist/cjs/reactive/effect.js +197 -0
  29. package/dist/cjs/reactive/effect.js.map +1 -0
  30. package/dist/cjs/reactive/reactive.js +106 -0
  31. package/dist/cjs/reactive/reactive.js.map +1 -0
  32. package/dist/mjs/constants.js +10 -0
  33. package/dist/mjs/constants.js.map +1 -0
  34. package/dist/mjs/dom/bind-each.js +86 -0
  35. package/dist/mjs/dom/bind-each.js.map +1 -0
  36. package/dist/mjs/dom/bind.js +26 -0
  37. package/dist/mjs/dom/bind.js.map +1 -0
  38. package/dist/mjs/dom/binding-cleanup.js +156 -0
  39. package/dist/mjs/dom/binding-cleanup.js.map +1 -0
  40. package/dist/mjs/dom/dom.js +169 -0
  41. package/dist/mjs/dom/dom.js.map +1 -0
  42. package/dist/mjs/dom/helpers.js +29 -0
  43. package/dist/mjs/dom/helpers.js.map +1 -0
  44. package/dist/mjs/dom/index.js +12 -0
  45. package/dist/mjs/dom/index.js.map +1 -0
  46. package/dist/mjs/dom/tag.js +203 -0
  47. package/dist/mjs/dom/tag.js.map +1 -0
  48. package/dist/mjs/element.js +260 -0
  49. package/dist/mjs/element.js.map +1 -0
  50. package/dist/mjs/events.js +202 -0
  51. package/dist/mjs/events.js.map +1 -0
  52. package/dist/mjs/ext.js +18 -0
  53. package/dist/mjs/ext.js.map +1 -0
  54. package/dist/mjs/index.js +11 -1431
  55. package/dist/mjs/index.js.map +1 -1
  56. package/dist/mjs/reactive/computed.js +33 -0
  57. package/dist/mjs/reactive/computed.js.map +1 -0
  58. package/dist/mjs/reactive/effect.js +187 -0
  59. package/dist/mjs/reactive/effect.js.map +1 -0
  60. package/dist/mjs/reactive/reactive.js +102 -0
  61. package/dist/mjs/reactive/reactive.js.map +1 -0
  62. package/dist/types.d.ts +18 -2
  63. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../source/events.ts","../../source/reactive/effect.ts","../../source/reactive/reactive.ts","../../source/reactive/computed.ts","../../source/dom/binding-cleanup.ts","../../source/constants.ts","../../source/element.ts","../../source/ext.ts","../../source/dom/bind.ts","../../source/dom/bind-each.ts","../../source/dom/helpers.ts","../../source/dom/dom.ts","../../source/dom/tag.ts","../../source/dom/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["UICONSTANTS","createEffectScope"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var effect = require('./effect.js');
4
+
5
+ /** A lazily-evaluated, cached reactive value derived from other reactive state. */
6
+ class ComputedRef {
7
+ __value;
8
+ __dirty = true;
9
+ __effect;
10
+ constructor(getter) {
11
+ this.__effect = new effect.ReactiveEffect(getter, () => {
12
+ // a dependency changed: mark dirty and notify effects that read this computed
13
+ if (!this.__dirty) {
14
+ this.__dirty = true;
15
+ effect.trigger(this, "value");
16
+ }
17
+ });
18
+ }
19
+ /** The current value; recomputed on read only when its dependencies have changed. */
20
+ get value() {
21
+ if (this.__dirty) {
22
+ this.__value = this.__effect.run();
23
+ this.__dirty = false;
24
+ }
25
+ effect.track(this, "value");
26
+ return this.__value;
27
+ }
28
+ }
29
+ /** Create a {@link ComputedRef} from a getter. */
30
+ function computed(getter) {
31
+ return new ComputedRef(getter);
32
+ }
33
+
34
+ exports.ComputedRef = ComputedRef;
35
+ exports.computed = computed;
36
+ //# sourceMappingURL=computed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computed.js","sources":["../../../../source/reactive/computed.ts"],"sourcesContent":[null],"names":["ReactiveEffect","trigger","track"],"mappings":";;;;AAEA;MACa,WAAW,CAAA;AACf,IAAA,OAAO;IACP,OAAO,GAAG,IAAI;AACL,IAAA,QAAQ;AAEzB,IAAA,WAAA,CAAY,MAAe,EAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAIA,qBAAc,CAAC,MAAM,EAAE,MAAK;;AAE/C,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,gBAAAC,cAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YACvB;AACD,QAAA,CAAC,CAAC;IACH;;AAGA,IAAA,IAAI,KAAK,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACrB;AACA,QAAAC,YAAK,CAAC,IAAI,EAAE,OAAO,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO;IACpB;AACA;AAED;AACM,SAAU,QAAQ,CAAI,MAAe,EAAA;AAC1C,IAAA,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC;AAC/B;;;;;"}
@@ -0,0 +1,197 @@
1
+ 'use strict';
2
+
3
+ /** Key used to track iteration/length dependencies (object key enumeration, array growth). */
4
+ const ITERATE_KEY = Symbol("iterate");
5
+ /**
6
+ * A reactive effect: a function whose reactive reads are tracked, so it re-runs
7
+ * whenever any of those reactive dependencies change.
8
+ */
9
+ class ReactiveEffect {
10
+ __fn;
11
+ /** Dependency sets this effect is currently subscribed to. @internal */
12
+ deps = [];
13
+ __active = true;
14
+ /** Called instead of `run` when a dependency changes (used by `computed`). */
15
+ scheduler;
16
+ /** Invoked once when the effect is stopped. */
17
+ onStop;
18
+ constructor(__fn, scheduler) {
19
+ this.__fn = __fn;
20
+ this.scheduler = scheduler;
21
+ activeScope?.add(this);
22
+ }
23
+ /** Whether the effect is still active (not stopped). */
24
+ get active() { return this.__active; }
25
+ /** Run the effect, (re)collecting its dependencies. */
26
+ run() {
27
+ if (!this.__active)
28
+ return this.__fn();
29
+ cleanupEffect(this);
30
+ const prevEffect = activeEffect;
31
+ activeEffect = this;
32
+ try {
33
+ return this.__fn();
34
+ }
35
+ finally {
36
+ activeEffect = prevEffect;
37
+ }
38
+ }
39
+ /** Stop the effect: remove its subscriptions and run `onStop`. */
40
+ stop() {
41
+ if (!this.__active)
42
+ return;
43
+ cleanupEffect(this);
44
+ this.__active = false;
45
+ this.onStop?.();
46
+ }
47
+ }
48
+ let activeEffect;
49
+ let activeScope;
50
+ const targetMap = new WeakMap();
51
+ /** Record the active effect (if any) as depending on `target[key]`. @internal */
52
+ function track(target, key) {
53
+ if (!activeEffect)
54
+ return;
55
+ let depsMap = targetMap.get(target);
56
+ if (!depsMap)
57
+ targetMap.set(target, depsMap = new Map());
58
+ let dep = depsMap.get(key);
59
+ if (!dep)
60
+ depsMap.set(key, dep = new Set());
61
+ if (!dep.has(activeEffect)) {
62
+ dep.add(activeEffect);
63
+ activeEffect.deps.push(dep);
64
+ }
65
+ }
66
+ /** Re-run (or schedule) every effect that depends on `target[key]`. @internal */
67
+ function trigger(target, key) {
68
+ const depsMap = targetMap.get(target);
69
+ if (!depsMap)
70
+ return;
71
+ const dep = depsMap.get(key);
72
+ if (!dep)
73
+ return;
74
+ // copy first: running an effect re-collects deps and would mutate the live set
75
+ const effects = new Set();
76
+ dep.forEach(e => { if (e !== activeEffect)
77
+ effects.add(e); });
78
+ effects.forEach(e => {
79
+ if (e.scheduler)
80
+ e.scheduler();
81
+ else
82
+ queueEffect(e);
83
+ });
84
+ }
85
+ const jobQueue = new Set();
86
+ const resolvedPromise = Promise.resolve();
87
+ let isFlushPending = false;
88
+ let currentFlush = null;
89
+ /** Queue an effect to run on the next microtask, deduplicated so multiple sync changes batch into one run. */
90
+ function queueEffect(effect) {
91
+ jobQueue.add(effect);
92
+ if (!isFlushPending) {
93
+ isFlushPending = true;
94
+ currentFlush = resolvedPromise.then(flushJobs);
95
+ }
96
+ }
97
+ function flushJobs() {
98
+ isFlushPending = false;
99
+ let guard = 0;
100
+ while (jobQueue.size) {
101
+ if (++guard > 10000) {
102
+ jobQueue.clear();
103
+ throw new Error("Reactive effect flush exceeded the iteration limit (cyclic update?).");
104
+ }
105
+ const jobs = Array.from(jobQueue);
106
+ jobQueue.clear();
107
+ for (const effect of jobs) {
108
+ if (effect.active)
109
+ effect.run();
110
+ }
111
+ }
112
+ currentFlush = null;
113
+ }
114
+ /**
115
+ * Resolves after the currently pending batch of reactive effects has flushed.
116
+ * Effect re-runs (and the DOM updates they drive) are batched on the microtask queue,
117
+ * so await `nextTick()` to observe their results.
118
+ */
119
+ function nextTick(fn) {
120
+ const p = currentFlush || resolvedPromise;
121
+ return fn ? p.then(fn).then(() => { }) : p.then(() => { });
122
+ }
123
+ /**
124
+ * Execute `fn` without tracking any reactive reads.
125
+ * Use inside a reactive context when you want to read state without creating a dependency.
126
+ */
127
+ function untrack(fn) {
128
+ const prev = activeEffect;
129
+ activeEffect = undefined;
130
+ try {
131
+ return fn();
132
+ }
133
+ finally {
134
+ activeEffect = prev;
135
+ }
136
+ }
137
+ function cleanupEffect(effect) {
138
+ const { deps } = effect;
139
+ deps.forEach(dep => dep.delete(effect));
140
+ deps.length = 0;
141
+ }
142
+ /** Create and immediately run a reactive effect. Returns the {@link ReactiveEffect}. */
143
+ function effect(fn, scheduler) {
144
+ const e = new ReactiveEffect(fn, scheduler);
145
+ e.run();
146
+ return e;
147
+ }
148
+ /** A disposable container that collects effects (and nested scopes) so they can be stopped together. */
149
+ class EffectScope {
150
+ __effects = [];
151
+ __scopes = [];
152
+ __active = true;
153
+ /** Whether the scope is still active (not stopped). */
154
+ get active() { return this.__active; }
155
+ /** @internal */
156
+ add(effect) { this.__effects.push(effect); }
157
+ /** @internal */
158
+ addScope(scope) { this.__scopes.push(scope); }
159
+ /** Run `fn` with this scope active; effects created during the call register to it. */
160
+ run(fn) {
161
+ const prev = activeScope;
162
+ activeScope = this;
163
+ try {
164
+ return fn();
165
+ }
166
+ finally {
167
+ activeScope = prev;
168
+ }
169
+ }
170
+ /** Stop all effects and nested scopes collected by this scope. */
171
+ stop() {
172
+ if (!this.__active)
173
+ return;
174
+ this.__active = false;
175
+ this.__effects.forEach(e => e.stop());
176
+ this.__effects.length = 0;
177
+ this.__scopes.forEach(s => s.stop());
178
+ this.__scopes.length = 0;
179
+ }
180
+ }
181
+ /** Create a new {@link EffectScope}, nested in the current scope if one is active. */
182
+ function effectScope() {
183
+ const scope = new EffectScope();
184
+ activeScope?.addScope(scope);
185
+ return scope;
186
+ }
187
+
188
+ exports.EffectScope = EffectScope;
189
+ exports.ITERATE_KEY = ITERATE_KEY;
190
+ exports.ReactiveEffect = ReactiveEffect;
191
+ exports.effect = effect;
192
+ exports.effectScope = effectScope;
193
+ exports.nextTick = nextTick;
194
+ exports.track = track;
195
+ exports.trigger = trigger;
196
+ exports.untrack = untrack;
197
+ //# sourceMappingURL=effect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.js","sources":["../../../../source/reactive/effect.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ var effect = require('./effect.js');
4
+
5
+ const RAW = Symbol("raw");
6
+ const reactiveMap = new WeakMap();
7
+ function isObject(value) {
8
+ return value !== null && typeof value === "object";
9
+ }
10
+ function isIntegerKey(key) {
11
+ return typeof key === "string" && /^\d+$/.test(key);
12
+ }
13
+ /** Whether a value is a reactive proxy created by {@link reactive}. */
14
+ function isReactive(value) {
15
+ return isObject(value) && !!value[RAW];
16
+ }
17
+ /** Return the underlying raw (non-reactive) object behind a reactive proxy, or the value itself. */
18
+ function toRaw(value) {
19
+ const raw = isObject(value) && value[RAW];
20
+ return raw ? raw : value;
21
+ }
22
+ const handlers = {
23
+ get(target, key, receiver) {
24
+ if (key === RAW)
25
+ return target;
26
+ const result = Reflect.get(target, key, receiver);
27
+ // don't track symbol keys (well-known symbols, internal lookups)
28
+ if (typeof key === "symbol")
29
+ return result;
30
+ effect.track(target, key);
31
+ // deep: wrap nested objects/arrays lazily on read
32
+ return isObject(result) ? reactive(result) : result;
33
+ },
34
+ set(target, key, value, receiver) {
35
+ const isArray = Array.isArray(target);
36
+ const isIndex = isArray && isIntegerKey(key);
37
+ const oldLength = isArray ? target.length : 0;
38
+ const hadKey = isIndex
39
+ ? Number(key) < oldLength
40
+ : Object.prototype.hasOwnProperty.call(target, key);
41
+ const oldValue = target[key];
42
+ const result = Reflect.set(target, key, toRaw(value), receiver);
43
+ if (!result)
44
+ return result;
45
+ if (!hadKey) {
46
+ effect.trigger(target, key);
47
+ effect.trigger(target, effect.ITERATE_KEY);
48
+ }
49
+ else if (!Object.is(oldValue, toRaw(value))) {
50
+ effect.trigger(target, key);
51
+ }
52
+ if (isArray && key === "length") {
53
+ // shrinking the array drops indices [newLength, oldLength) — notify
54
+ // effects that read them, plus iteration; growing only changes iteration
55
+ const newLength = Number(value);
56
+ for (let i = newLength; i < oldLength; i++)
57
+ effect.trigger(target, String(i));
58
+ if (newLength !== oldLength)
59
+ effect.trigger(target, effect.ITERATE_KEY);
60
+ }
61
+ else if (isIndex && Number(key) >= oldLength) {
62
+ // a new index extended the array, so its length changed
63
+ effect.trigger(target, "length");
64
+ }
65
+ return result;
66
+ },
67
+ deleteProperty(target, key) {
68
+ const hadKey = Object.prototype.hasOwnProperty.call(target, key);
69
+ const result = Reflect.deleteProperty(target, key);
70
+ if (hadKey && result) {
71
+ effect.trigger(target, key);
72
+ effect.trigger(target, effect.ITERATE_KEY);
73
+ }
74
+ return result;
75
+ },
76
+ has(target, key) {
77
+ if (typeof key !== "symbol")
78
+ effect.track(target, key);
79
+ return Reflect.has(target, key);
80
+ },
81
+ ownKeys(target) {
82
+ effect.track(target, effect.ITERATE_KEY);
83
+ return Reflect.ownKeys(target);
84
+ }
85
+ };
86
+ /**
87
+ * Wrap an object or array in a deep reactive proxy. Reads are tracked and writes
88
+ * notify effects. Returns the same proxy for the same target, and non-objects unchanged.
89
+ */
90
+ function reactive(target) {
91
+ if (!isObject(target))
92
+ return target;
93
+ if (target[RAW])
94
+ return target; // already reactive
95
+ const existing = reactiveMap.get(target);
96
+ if (existing)
97
+ return existing;
98
+ const proxy = new Proxy(target, handlers);
99
+ reactiveMap.set(target, proxy);
100
+ return proxy;
101
+ }
102
+
103
+ exports.isReactive = isReactive;
104
+ exports.reactive = reactive;
105
+ exports.toRaw = toRaw;
106
+ //# sourceMappingURL=reactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.js","sources":["../../../../source/reactive/reactive.ts"],"sourcesContent":[null],"names":["track","trigger","ITERATE_KEY"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Default constant values used across the library. */
2
+ const constants = {
3
+ ElemAttributeName: "uiElement",
4
+ ElemPropertyName: "uielement",
5
+ CommandAttributeName: "command",
6
+ CommandExecutingCssClassName: "executing"
7
+ };
8
+
9
+ export { constants as default };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../source/constants.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA;AACA,MAAM,SAAS,GAAgB;AAC9B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,4BAA4B,EAAE;;;;;"}
@@ -0,0 +1,86 @@
1
+ import { effect, untrack } from '../reactive/effect.js';
2
+ import { autoDisposeBinding } from './binding-cleanup.js';
3
+
4
+ /** A keyed-list binding produced by {@link bindEach}; handled by `appendChild` in `tag.ts`. */
5
+ class BindingEach {
6
+ getItems;
7
+ getKey;
8
+ render;
9
+ constructor(getItems, getKey, render) {
10
+ this.getItems = getItems;
11
+ this.getKey = getKey;
12
+ this.render = render;
13
+ }
14
+ }
15
+ /**
16
+ * Create a reactive keyed-list binding for use as a {@link tag} child.
17
+ *
18
+ * The `getItems` function is tracked; the list is reconciled whenever the array
19
+ * changes (push, splice, reassignment, etc.). Items are matched by `getKey` so
20
+ * unchanged nodes stay in place — only new, removed, or reordered nodes are touched.
21
+ *
22
+ * `render` is called **once per key** and runs **untracked**. Use `bind()` inside
23
+ * the render function for item properties that should update independently:
24
+ *
25
+ * ⚠️ The item object passed to `render` is captured at first render for that key.
26
+ * Mutate items in place (`item.name = "..."`) so `bind()` reactions fire. Replacing
27
+ * the array with **new objects that reuse the same keys** keeps the cached node bound
28
+ * to the *old* object, so per-item `bind()`s won't update — change the key, or mutate
29
+ * the existing item, when its identity should change.
30
+ *
31
+ * @example
32
+ * DOM.tag("ul", null,
33
+ * bindEach(() => state.users, u => u.id, u =>
34
+ * DOM.tag("li", null, bind(() => u.name))
35
+ * )
36
+ * );
37
+ */
38
+ function bindEach(getItems, getKey, render) {
39
+ return new BindingEach(getItems, getKey, render);
40
+ }
41
+ /**
42
+ * Mount a {@link BindingEach} into `container` and start tracking.
43
+ * Called by `appendChild` in `tag.ts`; not intended for direct use.
44
+ * @internal
45
+ */
46
+ function appendBindingEach(container, binding) {
47
+ const nodes = new Map();
48
+ // Anchor comment marks the start of the managed region inside the container.
49
+ // Using an anchor (rather than container.firstChild) lets other children coexist.
50
+ const anchor = document.createComment("");
51
+ container.append(anchor);
52
+ const eff = effect(() => {
53
+ const items = binding.getItems();
54
+ const nextKeys = new Set();
55
+ for (let i = 0; i < items.length; i++)
56
+ nextKeys.add(binding.getKey(items[i], i));
57
+ // Remove nodes whose keys are no longer present
58
+ for (const [key, node] of nodes) {
59
+ if (!nextKeys.has(key)) {
60
+ node.remove();
61
+ nodes.delete(key);
62
+ }
63
+ }
64
+ // Insert new nodes and restore order in a single pass starting after the anchor.
65
+ // If the node is already at the expected position we advance; otherwise insertBefore moves it.
66
+ let cursor = anchor.nextSibling;
67
+ for (let i = 0; i < items.length; i++) {
68
+ const key = binding.getKey(items[i], i);
69
+ let node = nodes.get(key);
70
+ if (!node) {
71
+ // Render untracked so item-property reads don't create dependencies on
72
+ // this list effect — use bind() inside render for fine-grained updates.
73
+ node = untrack(() => binding.render(items[i]));
74
+ nodes.set(key, node);
75
+ }
76
+ if (cursor !== node)
77
+ container.insertBefore(node, cursor);
78
+ else
79
+ cursor = cursor.nextSibling;
80
+ }
81
+ });
82
+ autoDisposeBinding(container, () => anchor, eff);
83
+ }
84
+
85
+ export { BindingEach, appendBindingEach, bindEach };
86
+ //# sourceMappingURL=bind-each.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-each.js","sources":["../../../../source/dom/bind-each.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGA;MACa,WAAW,CAAA;AAEb,IAAA,QAAA;AACA,IAAA,MAAA;AACA,IAAA,MAAA;AAHV,IAAA,WAAA,CACU,QAAmB,EACnB,MAAmD,EACnD,MAA4B,EAAA;QAF5B,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;IACZ;AACJ;AAED;;;;;;;;;;;;;;;;;;;;;;AAsBG;SACa,QAAQ,CACvB,QAAmB,EACnB,MAAmD,EACnD,MAA4B,EAAA;IAE5B,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;AACjD;AAEA;;;;AAIG;AACG,SAAU,iBAAiB,CAAI,SAAsB,EAAE,OAAuB,EAAA;AACnF,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B;;;IAIjD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AACzC,IAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAExB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAK;AACvB,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE;AAEhC,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB;AAC3C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;AACpC,YAAA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;QAG1C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,MAAM,EAAE;AACb,gBAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;YAClB;QACD;;;AAIA,QAAA,IAAI,MAAM,GAAqB,MAAM,CAAC,WAAW;AACjD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAEzB,IAAI,CAAC,IAAI,EAAE;;;AAGV,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;YACrB;YAEA,IAAI,MAAM,KAAK,IAAI;AAClB,gBAAA,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;;AAEpC,gBAAA,MAAM,GAAG,MAAM,CAAC,WAAW;QAC7B;AACD,IAAA,CAAC,CAAC;IAEF,kBAAkB,CAAC,SAAS,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC;AACjD;;;;"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A reactive binding for use as a {@link tag} child. Its `compute` function is
3
+ * re-evaluated and re-rendered whenever the reactive state it reads changes.
4
+ */
5
+ class Binding {
6
+ compute;
7
+ constructor(compute) {
8
+ this.compute = compute;
9
+ }
10
+ }
11
+ /**
12
+ * Create a reactive {@link Binding} that can be passed as a `tag` child. The
13
+ * compute function is tracked: it re-runs (updating the DOM in place) whenever
14
+ * any reactive value it reads changes.
15
+ *
16
+ * @example
17
+ * const state = reactive({ name: "Alice" });
18
+ * DOM.tag("div", null, "Hi, ", bind(() => state.name));
19
+ * state.name = "Bob"; // the text updates in place
20
+ */
21
+ function bind(compute) {
22
+ return new Binding(compute);
23
+ }
24
+
25
+ export { Binding, bind };
26
+ //# sourceMappingURL=bind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.js","sources":["../../../../source/dom/bind.ts"],"sourcesContent":[null],"names":[],"mappings":"AAKA;;;AAGG;MACU,OAAO,CAAA;AACE,IAAA,OAAA;AAArB,IAAA,WAAA,CAAqB,OAA2B,EAAA;QAA3B,IAAA,CAAA,OAAO,GAAP,OAAO;IAAwB;AACpD;AAED;;;;;;;;;AASG;AACG,SAAU,IAAI,CAAC,OAA2B,EAAA;AAC/C,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;AAC5B;;;;"}