mancha 0.23.0 → 0.24.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/store.js CHANGED
@@ -8,27 +8,12 @@ function isComputedMarker(value) {
8
8
  COMPUTED_MARKER in value &&
9
9
  value[COMPUTED_MARKER] === true);
10
10
  }
11
- /** Default notification debounce time in millis. */
12
- export const REACTIVE_DEBOUNCE_MILLIS = 10;
13
- /**
14
- * Upper bound on how long a key can be held back by the trailing debounce.
15
- * A key written more often than the debounce window would otherwise keep pushing
16
- * its own deadline back and never notify at all. One 60Hz frame, since the
17
- * observers that care about this rate are the ones that end in a DOM write.
18
- */
19
- export const REACTIVE_MAX_WAIT_MILLIS = 16;
20
11
  /**
21
- * Schedules a flush on the clock the policy asks for, falling back to a timer where
22
- * requestAnimationFrame is unavailable (SSR, workers, Node).
12
+ * How long observers wait after a key is written before they run. Writes arriving
13
+ * during that window are free: they join the already-scheduled run instead of
14
+ * postponing it, so a key written continuously still notifies every this often.
23
15
  */
24
- function scheduleFlush(policy, flush) {
25
- if (policy === "raf" && typeof globalThis.requestAnimationFrame === "function") {
26
- const handle = globalThis.requestAnimationFrame(() => flush());
27
- return { cancel: () => globalThis.cancelAnimationFrame?.(handle) };
28
- }
29
- const handle = setTimeout(flush, policy === "raf" ? 0 : policy);
30
- return { cancel: () => clearTimeout(handle) };
31
- }
16
+ export const REACTIVE_DEBOUNCE_MILLIS = 10;
32
17
  /** Shared AST factory. */
33
18
  const AST_FACTORY = new expressions.EvalAstFactory();
34
19
  /** Symbol used to identify proxified objects. */
@@ -36,6 +21,84 @@ const PROXY_MARKER = "__is_proxy__";
36
21
  function isProxified(object) {
37
22
  return object instanceof SignalStore || object[PROXY_MARKER] === true;
38
23
  }
24
+ const deepMutations = new WeakMap();
25
+ /** True for a value that can be mutated in place, and so can carry deep-mutation subscribers. */
26
+ function isMutableObject(value) {
27
+ return value !== null && typeof value === "object";
28
+ }
29
+ /**
30
+ * Returns the deep-mutation record of a value the store already tracks, if it has one. Values
31
+ * the store cannot proxify (frozen objects, class instances, other stores) have none, and
32
+ * cannot report mutations, so there is nothing to subscribe to or link them into.
33
+ */
34
+ function trackedRecord(value) {
35
+ return isMutableObject(value) ? deepMutations.get(value) : undefined;
36
+ }
37
+ /**
38
+ * True for a record that no store key reaches at this instant, either directly or through an
39
+ * object that encloses it. A mutation of such a record cannot become a notification, so a link
40
+ * to it is dead weight; every object that a `set()` replaced ends up in this state.
41
+ *
42
+ * "At this instant" is the whole of the claim, and dropping the link is only safe because the
43
+ * next read of the path restores it - reading is how a key comes to hold a nested object in the
44
+ * first place. `set()` is the one way round that: it subscribes a key to a value without
45
+ * reading through it, so a key re-set to an object it previously replaced needs one read of the
46
+ * path before deep mutations of an already-wrapped nested object reach it again. Templates do
47
+ * not hit this, because a binding that wants such a notification depends on the container key,
48
+ * so the re-set re-renders and re-links before the next mutation; a bare `watch()` on the
49
+ * container key is the exposed surface, and `store.test.ts` pins it.
50
+ */
51
+ function isUnreachable(record) {
52
+ return record.subscribers.size === 0 && record.holders.size === 0;
53
+ }
54
+ /**
55
+ * Wakes everything that must hear about a mutation of the object `record` describes.
56
+ *
57
+ * `notified` holds the records this mutation has already reached. A deep mutation reaches an
58
+ * object from every object that holds it, and a cyclic graph holds itself, so a fan-out that
59
+ * did not skip those would recurse until the stack ran out. It is threaded as a parameter
60
+ * rather than kept in a module-level variable so that the guard is visible at every hop
61
+ * instead of having to be re-derived from the call order.
62
+ */
63
+ function fanOutMutation(record, notified) {
64
+ if (notified.has(record))
65
+ return;
66
+ notified.add(record);
67
+ // Enclosing objects first, so keys are notified from the outside in: a `:for` over a list
68
+ // has to reconcile its rows before the directives on a row react to the row's own item,
69
+ // or the reconciliation undoes what they did. Waking the keys in that order only decides
70
+ // the order their observers run in because `notify()` schedules every key on the same
71
+ // `REACTIVE_DEBOUNCE_MILLIS` timer, so registration order is execution order. Scheduling
72
+ // keys with different delays would decouple the two and break `:key` alongside `:if` on
73
+ // one element again.
74
+ //
75
+ // Links to enclosing objects are added when an object is reached through one and are never
76
+ // removed by the reverse operation, because replacing an object is not something the object
77
+ // it contained can observe. Dropping the ones that lead nowhere while walking them keeps
78
+ // this set bounded by the objects that currently enclose this one, instead of growing by
79
+ // one entry for every object that ever did.
80
+ for (const holder of Array.from(record.holders)) {
81
+ if (isUnreachable(holder))
82
+ record.holders.delete(holder);
83
+ else
84
+ fanOutMutation(holder, notified);
85
+ }
86
+ // Snapshotted because a subscriber may subscribe or unsubscribe as it runs.
87
+ for (const subscriber of Array.from(record.subscribers))
88
+ subscriber();
89
+ }
90
+ /** Wakes the keys holding `obj`, and the keys holding anything `obj` is nested in. */
91
+ function notifyDeepMutation(record) {
92
+ fanOutMutation(record, new Set());
93
+ }
94
+ /** Subscribes `subscriber` to deep mutations of `value`, if the store tracks it. */
95
+ function subscribeToMutations(value, subscriber) {
96
+ trackedRecord(value)?.subscribers.add(subscriber);
97
+ }
98
+ /** Stops `subscriber` from being woken by deep mutations of `value`. */
99
+ function unsubscribeFromMutations(value, subscriber) {
100
+ trackedRecord(value)?.subscribers.delete(subscriber);
101
+ }
39
102
  export function getAncestorValue(store, key) {
40
103
  const map = store?._store;
41
104
  if (map?.has(key)) {
@@ -86,17 +149,22 @@ export class SignalStore {
86
149
  keyHandlers = new Map();
87
150
  _store = new Map();
88
151
  _lock = Promise.resolve();
152
+ /** Keys with a scheduled observer run. */
153
+ _pending = new Map();
154
+ /** Keys whose observers are running right now. */
155
+ _executing = new Set();
156
+ /** Keys written while their own observers were running, to notify afterwards. */
157
+ _dirty = new Set();
89
158
  /**
90
- * Notification state per key. Value is a pending scheduled flush, or "executing"
91
- * when observers are running. Used to debounce and prevent infinite loops.
159
+ * Stores created from this one, disposed along with it. A subrenderer is only reachable
160
+ * through the store that created it and the node it renders, so without this nothing ever
161
+ * disposes a nested `:for` row or a `:render` subrenderer.
92
162
  */
93
- _notify = new Map();
94
- /** Per-key scheduling overrides, set via debounce(). */
95
- _policy = new Map();
96
- /** Keys written while their own observers were mid-flush, to notify afterwards. */
97
- _dirty = new Set();
98
- /** When the current pending debounce burst started, per key. Bounds the trailing wait. */
99
- _burstStart = new Map();
163
+ _children = new Set();
164
+ /** Per-key deep-mutation subscribers, kept stable so they can be unsubscribed later. */
165
+ _mutationCallbacks = new Map();
166
+ /** Set by dispose(). Observers registered by a disposed store must no longer run. */
167
+ _disposed = false;
100
168
  /**
101
169
  * Tracks nested computed evaluation depth. When > 0, we're inside a computed
102
170
  * function and writes to reactive properties should trigger a warning.
@@ -109,8 +177,9 @@ export class SignalStore {
109
177
  this.set(key, value);
110
178
  }
111
179
  }
112
- wrapObject(obj, callback) {
113
- // Skip nulls and already-proxified objects.
180
+ wrapObject(obj) {
181
+ // Skip nulls and already-proxified objects. Re-wrapping a proxy would lose its identity,
182
+ // and its record already carries whatever subscribes to it.
114
183
  if (obj == null || isProxified(obj))
115
184
  return obj;
116
185
  // Skip frozen/sealed objects - they can't be modified and proxying them would
@@ -126,11 +195,16 @@ export class SignalStore {
126
195
  if (!isPlainObject && !isArray) {
127
196
  return obj;
128
197
  }
129
- return new Proxy(obj, {
198
+ // Reused when the same raw object is wrapped again, so that a second proxy over it does
199
+ // not orphan the subscribers the first one collected.
200
+ const record = deepMutations.get(obj) ?? { subscribers: new Set(), holders: new Set() };
201
+ deepMutations.set(obj, record);
202
+ const notifyMutation = () => notifyDeepMutation(record);
203
+ const proxy = new Proxy(obj, {
130
204
  deleteProperty: (target, property) => {
131
205
  if (typeof property === "string" && property in target) {
132
206
  delete target[property];
133
- callback();
207
+ notifyMutation();
134
208
  return true;
135
209
  }
136
210
  return false;
@@ -139,30 +213,36 @@ export class SignalStore {
139
213
  // Skip if the value is unchanged.
140
214
  if (Reflect.get(target, prop, receiver) === value)
141
215
  return true;
142
- if (typeof value === "object" && value !== null) {
143
- value = this.wrapObject(value, callback);
216
+ if (isMutableObject(value)) {
217
+ value = this.wrapObject(value);
218
+ trackedRecord(value)?.holders.add(record);
144
219
  }
145
220
  const ret = Reflect.set(target, prop, value, receiver);
146
- callback();
221
+ notifyMutation();
147
222
  return ret;
148
223
  },
149
224
  get: (target, prop, receiver) => {
150
225
  if (prop === PROXY_MARKER)
151
226
  return true;
152
227
  const result = Reflect.get(target, prop, receiver);
228
+ if (!isMutableObject(result))
229
+ return result;
153
230
  // Lazily wrap nested objects for deep reactivity.
154
231
  // This ensures that modifications like items[0].visible = true trigger notifications.
155
- if (result !== null && typeof result === "object" && !isProxified(result)) {
156
- const wrapped = this.wrapObject(result, callback);
157
- // If wrapObject returned a different object (a proxy), store it back for identity.
158
- if (wrapped !== result) {
159
- Reflect.set(target, prop, wrapped, receiver);
160
- return wrapped;
161
- }
162
- }
163
- return result;
232
+ const wrapped = this.wrapObject(result);
233
+ // If wrapObject returned a different object (a proxy), store it back for identity.
234
+ if (wrapped !== result)
235
+ Reflect.set(target, prop, wrapped, receiver);
236
+ // Linked on every read rather than only when the object is first wrapped, so that
237
+ // an object reached through a new enclosing object reports to it too, and a link
238
+ // dropped as unreachable is restored as soon as the object is reached again.
239
+ trackedRecord(wrapped)?.holders.add(record);
240
+ return wrapped;
164
241
  },
165
242
  });
243
+ // Holders only ever see the proxy, so subscriptions must resolve through it too.
244
+ deepMutations.set(proxy, record);
245
+ return proxy;
166
246
  }
167
247
  watch(key, observer) {
168
248
  const owner = getAncestorKeyStore(this, key);
@@ -234,63 +314,57 @@ export class SignalStore {
234
314
  }
235
315
  }
236
316
  /**
237
- * Overrides how a key's notifications are scheduled. The default debounce suits a
238
- * view object republished wholesale, where coalescing is the point, but not a
239
- * per-frame scalar; this opts a single key out without affecting the rest.
317
+ * Invokes `entries` and returns their pending tails. Stays synchronous from end to end:
318
+ * the caller relies on nothing being able to interleave until it returns.
240
319
  */
241
- debounce(key, policy) {
242
- this._policy.set(key, policy);
243
- }
244
- async notify(key, debounceMillis) {
320
+ runObservers(entries) {
321
+ // Entries were captured before the deadline, so a store disposed in the meantime would
322
+ // otherwise still run its effects and, for example, put a removed :for row back in the DOM.
323
+ return entries
324
+ .filter((entry) => !entry.store._disposed)
325
+ .map((entry) => entry.observer.call(entry.store.proxify(entry.observer)));
326
+ }
327
+ async notify(key, debounceMillis = REACTIVE_DEBOUNCE_MILLIS) {
245
328
  // Capture observers NOW (at call time). This ensures constructor calls
246
329
  // don't trigger effects registered later.
247
330
  const owner = getAncestorKeyStore(this, key);
248
331
  const entries = Array.from(owner?.observers.get(key) || []);
249
- const current = this._notify.get(key);
250
332
  // Record writes that arrive while this key's observers are running, rather than
251
- // dropping them, and flush them once the in-flight notification finishes. The
252
- // observers' own writes are filtered out below, not here.
253
- if (current === "executing") {
333
+ // dropping them, and flush them once the in-flight run finishes. The observers'
334
+ // own writes are filtered out below, not here.
335
+ if (this._executing.has(key)) {
254
336
  this._dirty.add(key);
255
337
  return;
256
338
  }
257
- // An explicit argument wins, then any per-key override, then the default.
258
- const policy = debounceMillis ?? this._policy.get(key) ?? REACTIVE_DEBOUNCE_MILLIS;
259
- // Bound the trailing debounce. Without this, a key written more often than the
260
- // debounce clears its own pending timer on every write and never fires. rAF needs
261
- // no bound: rescheduling within a frame still lands on the next frame.
262
- let scheduleAt = policy;
263
- if (policy !== "raf") {
264
- const now = Date.now();
265
- const burstStart = this._burstStart.get(key) ?? now;
266
- this._burstStart.set(key, burstStart);
267
- // Never shorten a caller's own debounce: the bound only caps how far a burst of
268
- // writes can push an already-pending notification back.
269
- const maxWait = Math.max(policy, REACTIVE_MAX_WAIT_MILLIS);
270
- scheduleAt = Math.min(policy, Math.max(0, maxWait - (now - burstStart)));
339
+ // Observers are already scheduled and will read the value this write just set,
340
+ // so join that run rather than scheduling another. Leaving the existing deadline
341
+ // alone is what keeps a continuously-written key from postponing itself forever.
342
+ const scheduled = this._pending.get(key);
343
+ if (scheduled) {
344
+ for (const entry of entries) {
345
+ if (!scheduled.entries.includes(entry))
346
+ scheduled.entries.push(entry);
347
+ }
348
+ return scheduled.done;
271
349
  }
272
- // Clear any pending notification (debounce).
273
- if (current)
274
- current.cancel();
275
- // Schedule the notification.
276
- return new Promise((resolve) => {
277
- this._notify.set(key, scheduleFlush(scheduleAt, async () => {
278
- this._burstStart.delete(key);
350
+ const done = new Promise((resolve) => {
351
+ setTimeout(async () => {
352
+ this._pending.delete(key);
279
353
  try {
280
- this._notify.set(key, "executing");
354
+ this._executing.add(key);
281
355
  // Invoking an observer runs its body up to its first await, so nothing
282
356
  // else can interleave here: any write recorded during this line came
283
357
  // from the observers themselves. Discarding those stops an observer
284
358
  // whose body writes its own key from rescheduling itself forever.
285
359
  // A self-write from an observer's awaited tail is indistinguishable
286
360
  // from an outside one, so that remains a cycle the caller must avoid.
287
- const pending = entries.map((entry) => entry.observer.call(entry.store.proxify(entry.observer)));
361
+ const running = this.runObservers(entries);
288
362
  this._dirty.delete(key);
289
363
  // Anything recorded from here on arrived from outside, and is honored.
290
- await Promise.all(pending);
364
+ await Promise.all(running);
291
365
  }
292
366
  finally {
293
- this._notify.delete(key);
367
+ this._executing.delete(key);
294
368
  // Flush any write that arrived while the observers were awaiting. In the
295
369
  // finally block so a throwing observer still can't swallow the write.
296
370
  if (this._dirty.delete(key))
@@ -313,8 +387,10 @@ export class SignalStore {
313
387
  }
314
388
  }
315
389
  resolve();
316
- }));
390
+ }, debounceMillis);
317
391
  });
392
+ this._pending.set(key, { done, entries });
393
+ return done;
318
394
  }
319
395
  get(key, observer) {
320
396
  if (observer)
@@ -387,6 +463,22 @@ export class SignalStore {
387
463
  // Tag all observers created by this effect with the computed key.
388
464
  this.tagObserversForComputed(effectFn, key);
389
465
  }
466
+ /**
467
+ * Returns this store's deep-mutation subscriber for `key`. The same key always yields the
468
+ * same function, so subscriptions can be matched and removed. Created on demand, so a key
469
+ * that never holds an object never retains a closure.
470
+ */
471
+ mutationCallback(key) {
472
+ const existing = this._mutationCallbacks.get(key);
473
+ if (existing)
474
+ return existing;
475
+ const subscriber = () => {
476
+ this.markDependentComputedsDirty(key);
477
+ void this.notify(key);
478
+ };
479
+ this._mutationCallbacks.set(key, subscriber);
480
+ return subscriber;
481
+ }
390
482
  /**
391
483
  * Sets a value in the store.
392
484
  * @param key - The key to set.
@@ -402,14 +494,24 @@ export class SignalStore {
402
494
  // Early return if the key exists in this store and has the same value.
403
495
  if (this._store.has(key) && value === this._store.get(key))
404
496
  return;
405
- const callback = () => {
406
- this.markDependentComputedsDirty(key);
407
- return this.notify(key);
408
- };
497
+ // Resolved through the chain even for a local set: a local set can shadow a key this
498
+ // store only inherits, and the subscription to unwind is the one held on the inherited
499
+ // value. Reading this store's map alone would leave that subscription behind as a stale
500
+ // wake-up.
501
+ const previous = getAncestorValue(this, key);
409
502
  // Note: Functions are NOT wrapped here. They are wrapped dynamically at access
410
503
  // time in proxify() to ensure the correct observer context is used.
411
- if (value && typeof value === "object") {
412
- value = this.wrapObject(value, callback);
504
+ if (isMutableObject(value))
505
+ value = this.wrapObject(value);
506
+ // Only a tracked object can report being mutated in place, so a key that holds neither
507
+ // an old nor a new one needs no deep-mutation subscriber. Subscribing here rather than
508
+ // inside wrapObject() is what lets a key that receives an object another store already
509
+ // owns still learn about mutations to it, which is what a reused `:for` row needs.
510
+ if (trackedRecord(value) || isMutableObject(previous)) {
511
+ const subscriber = this.mutationCallback(key);
512
+ // Stop listening to the value being replaced, so it no longer wakes this key.
513
+ unsubscribeFromMutations(previous, subscriber);
514
+ subscribeToMutations(value, subscriber);
413
515
  }
414
516
  if (local) {
415
517
  // Set directly on this store, not on ancestors.
@@ -428,34 +530,70 @@ export class SignalStore {
428
530
  }
429
531
  }
430
532
  }
431
- // Invoke the callback to notify observers.
432
- await callback();
533
+ // Notify observers of the write itself.
534
+ this.markDependentComputedsDirty(key);
535
+ await this.notify(key);
433
536
  }
434
537
  async del(key) {
435
538
  // By setting to null, we trigger observers before deletion.
436
539
  await this.set(key, null);
437
540
  this._store.delete(key);
438
541
  this.observers.delete(key);
542
+ this._mutationCallbacks.delete(key);
439
543
  }
440
544
  /**
441
- * Disposes this store by clearing all observers.
442
- * Call this when the store is no longer needed to prevent memory leaks.
443
- * Also removes any observers this store registered on ancestor stores.
545
+ * Releases this store and every store created from it, recording them in `disposed` for the
546
+ * single ancestor pass that follows. Observers registered on ancestors are deliberately left
547
+ * to the caller: every store here shares this store's ancestors, so removing them once for
548
+ * the whole subtree replaces a scan of every ancestor once per descendant.
444
549
  */
445
- dispose() {
550
+ disposeSubtree(disposed) {
551
+ if (disposed.has(this))
552
+ return;
553
+ disposed.add(this);
554
+ this._disposed = true;
555
+ // Safe to iterate in place: a descendant detaches nothing from this set, and the guard
556
+ // above stops a cycle in the store graph from recursing back into it.
557
+ for (const child of this._children)
558
+ child.disposeSubtree(disposed);
559
+ this._children.clear();
560
+ // Stop listening to values this store subscribed to, which also drops the references
561
+ // those values hold to this store.
562
+ for (const [key, subscriber] of this._mutationCallbacks) {
563
+ unsubscribeFromMutations(getAncestorValue(this, key), subscriber);
564
+ }
565
+ this._mutationCallbacks.clear();
446
566
  // Clear local observers.
447
567
  for (const observerSet of this.observers.values()) {
448
568
  observerSet.clear();
449
569
  }
450
570
  this.observers.clear();
451
- // Remove observers registered on ancestors (for inherited keys).
571
+ }
572
+ /**
573
+ * Disposes this store by clearing all observers.
574
+ * Call this when the store is no longer needed to prevent memory leaks.
575
+ * Also removes any observers this store registered on ancestor stores, disposes the stores
576
+ * created from this one, and stops listening to deep mutations of the values it holds.
577
+ */
578
+ dispose() {
579
+ // Detach from the creator, so a disposed store is neither disposed twice nor retained.
580
+ this._store.get("$parent")?._children.delete(this);
581
+ // Dispose stores created from this one. A subrenderer is reachable only from its creator
582
+ // and from the node it renders, so unless disposal cascades, dropping a `:for` row or
583
+ // replacing `:html` content leaves every subrenderer nested inside it alive, subscribed,
584
+ // and rendering into detached nodes.
585
+ const disposed = new Set();
586
+ this.disposeSubtree(disposed);
587
+ // Remove observers registered on ancestors (for inherited keys). A store is only ever
588
+ // adopted by the store it names as `$parent`, so the whole subtree hangs below this one
589
+ // and one pass per ancestor removes every entry the subtree registered. Scanning them
590
+ // once per disposed store instead would cost O(rows * ancestor observers).
452
591
  let ancestor = this._store.get("$parent");
453
592
  while (ancestor) {
454
593
  for (const observerSet of ancestor.observers.values()) {
455
594
  for (const entry of observerSet) {
456
- if (entry.store === this) {
595
+ if (disposed.has(entry.store))
457
596
  observerSet.delete(entry);
458
- }
459
597
  }
460
598
  }
461
599
  ancestor = ancestor._store.get("$parent");
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ The simplest way to use mancha is via a script tag with the `init` attribute:
67
67
  |-----------|-------------|---------|
68
68
  | `init` | Enables automatic initialization on page load | `init` |
69
69
  | `target` | CSS selector(s) to mount to (default: `body`). Use `+` to separate multiple targets | `target="main"` or `target="#app+#sidebar"` |
70
- | `css` | CSS bundles to inject. `"minimal"` for prose styling, `"utils"` for Tailwind-style utilities (includes CSS reset + on-demand scanning) | `css="utils"` |
70
+ | `css` | CSS bundles to inject. `"minimal"` for prose styling, `"utils"` for Tailwind-style utilities (includes CSS reset + on-demand scanning). The reset changes default image, list, and form control layout, see [CSS](./05_css.md#css-reset) | `css="utils"` |
71
71
  | `debug` | Enable debug logging | `debug` |
72
72
  | `cache` | Fetch cache policy for includes | `cache="no-cache"` |
73
73
  | `cloak` | Control FOUC prevention (see below) | `cloak="200"` or `cloak="false"` |
@@ -92,7 +92,7 @@ const renderer = await initMancha({
92
92
  |--------|------|-------------|
93
93
  | `renderer` | `Renderer` | Use an existing Renderer instance instead of creating a new one |
94
94
  | `target` | `string \| string[]` | CSS selector(s) to mount to |
95
- | `css` | `CssName[]` | CSS bundles to inject: `"minimal"` or `"utils"` (includes CSS reset + on-demand scanning) |
95
+ | `css` | `CssName[]` | CSS bundles to inject: `"minimal"` or `"utils"` (includes CSS reset + on-demand scanning). The reset changes default image, list, and form control layout, see [CSS](./05_css.md#css-reset) |
96
96
  | `state` | `Record<string, unknown>` | Initial state to set before mounting |
97
97
  | `debug` | `boolean` | Enable debug logging |
98
98
  | `cache` | `RequestCache` | Fetch cache policy for includes |