mancha 0.22.6 → 0.23.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
@@ -10,6 +10,25 @@ function isComputedMarker(value) {
10
10
  }
11
11
  /** Default notification debounce time in millis. */
12
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
+ /**
21
+ * Schedules a flush on the clock the policy asks for, falling back to a timer where
22
+ * requestAnimationFrame is unavailable (SSR, workers, Node).
23
+ */
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
+ }
13
32
  /** Shared AST factory. */
14
33
  const AST_FACTORY = new expressions.EvalAstFactory();
15
34
  /** Symbol used to identify proxified objects. */
@@ -68,10 +87,16 @@ export class SignalStore {
68
87
  _store = new Map();
69
88
  _lock = Promise.resolve();
70
89
  /**
71
- * Notification state per key. Value is a pending timeout, or "executing"
90
+ * Notification state per key. Value is a pending scheduled flush, or "executing"
72
91
  * when observers are running. Used to debounce and prevent infinite loops.
73
92
  */
74
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();
75
100
  /**
76
101
  * Tracks nested computed evaluation depth. When > 0, we're inside a computed
77
102
  * function and writes to reactive properties should trigger a warning.
@@ -208,27 +233,68 @@ export class SignalStore {
208
233
  }
209
234
  }
210
235
  }
211
- async notify(key, debounceMillis = REACTIVE_DEBOUNCE_MILLIS) {
236
+ /**
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.
240
+ */
241
+ debounce(key, policy) {
242
+ this._policy.set(key, policy);
243
+ }
244
+ async notify(key, debounceMillis) {
212
245
  // Capture observers NOW (at call time). This ensures constructor calls
213
246
  // don't trigger effects registered later.
214
247
  const owner = getAncestorKeyStore(this, key);
215
248
  const entries = Array.from(owner?.observers.get(key) || []);
216
249
  const current = this._notify.get(key);
217
- // Skip if observers are already executing for this key (prevents infinite loops).
218
- if (current === "executing")
250
+ // 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") {
254
+ this._dirty.add(key);
219
255
  return;
256
+ }
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)));
271
+ }
220
272
  // Clear any pending notification (debounce).
221
273
  if (current)
222
- clearTimeout(current);
274
+ current.cancel();
223
275
  // Schedule the notification.
224
276
  return new Promise((resolve) => {
225
- this._notify.set(key, setTimeout(async () => {
226
- this._notify.set(key, "executing");
277
+ this._notify.set(key, scheduleFlush(scheduleAt, async () => {
278
+ this._burstStart.delete(key);
227
279
  try {
228
- await Promise.all(entries.map((entry) => entry.observer.call(entry.store.proxify(entry.observer))));
280
+ this._notify.set(key, "executing");
281
+ // Invoking an observer runs its body up to its first await, so nothing
282
+ // else can interleave here: any write recorded during this line came
283
+ // from the observers themselves. Discarding those stops an observer
284
+ // whose body writes its own key from rescheduling itself forever.
285
+ // A self-write from an observer's awaited tail is indistinguishable
286
+ // 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)));
288
+ this._dirty.delete(key);
289
+ // Anything recorded from here on arrived from outside, and is honored.
290
+ await Promise.all(pending);
229
291
  }
230
292
  finally {
231
293
  this._notify.delete(key);
294
+ // Flush any write that arrived while the observers were awaiting. In the
295
+ // finally block so a throwing observer still can't swallow the write.
296
+ if (this._dirty.delete(key))
297
+ void this.notify(key, debounceMillis);
232
298
  }
233
299
  // Lazy cleanup: remove observers whose store's $rootNode is orphaned.
234
300
  // This handles memory leaks from removed :for items, replaced :html content, etc.
@@ -247,7 +313,7 @@ export class SignalStore {
247
313
  }
248
314
  }
249
315
  resolve();
250
- }, debounceMillis));
316
+ }));
251
317
  });
252
318
  }
253
319
  get(key, observer) {
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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"}
package/docs/01_syntax.md CHANGED
@@ -11,8 +11,13 @@
11
11
  ```
12
12
  - `:for` clones the node and repeats it. The loop re-renders when the array is mutated (e.g., `push`, `pop`, `splice`, or `items.length = 0` to clear).
13
13
  - Use `$index` inside the loop to access the current iteration index (0-based).
14
+ - Other directives on the same element are evaluated independently for each clone. This includes `:show`, `:attr:style`, and `:prop:style`.
14
15
  ```html
15
16
  <div :for="item in ['a', 'b', 'c']">{{ $index }}: {{ item }}</div>
17
+ <div
18
+ :for="segment in segments"
19
+ :attr:style="'width: ' + segment.width + '; background-color: ' + segment.color"
20
+ ></div>
16
21
  ```
17
22
  - `:key` (used with `:for`) enables keyed reconciliation, which reuses DOM nodes when items have stable identifiers. This prevents unnecessary DOM recreation and preserves element state during updates. The key should be a unique primitive value (string or number). When used with `:data`, the `:data` expression is re-evaluated when a keyed node is reused with updated loop variables.
18
23
  ```html
@@ -152,6 +152,23 @@ await initMancha({
152
152
  | `duration` | `number` | Fade-in animation duration in ms. Defaults to 0 (instant) |
153
153
  | `selector` | `string \| string[]` | Element(s) to cloak. Defaults to `target` or `body` |
154
154
 
155
+ ### Cloaking Individual Elements
156
+
157
+ For lower-level rendering workflows, a renderer can cloak any element while asynchronous work completes:
158
+
159
+ ```typescript
160
+ const panel = document.querySelector("#panel");
161
+ renderer.cloakElement(panel);
162
+
163
+ try {
164
+ await updatePanel(panel);
165
+ } finally {
166
+ renderer.uncloakElement(panel);
167
+ }
168
+ ```
169
+
170
+ Element cloaking uses the private `data-m-cloak` marker and a shared runtime rule. It does not overwrite the element's inline styles, classes, or directive results.
171
+
155
172
  ### Preventing FOUC with ESM
156
173
 
157
174
  > [!WARNING]
@@ -179,6 +179,48 @@ $.items = [];
179
179
  $.items.length = 0;
180
180
  ```
181
181
 
182
+ ## Notification Scheduling
183
+
184
+ Observers do not run on the same tick as the write. Notifications for a key are
185
+ debounced, so a burst of writes coalesces into a single observer run:
186
+
187
+ ```js
188
+ $.view = buildView(); // Called repeatedly...
189
+ $.view = buildView(); // ...but observers run once.
190
+ ```
191
+
192
+ The default debounce is 10ms, which suits a view object republished wholesale.
193
+ It is the wrong clock for a value that changes every frame, such as a pointer
194
+ position during a drag. Use `debounce()` to opt a single key out without
195
+ affecting the rest of the store:
196
+
197
+ ```js
198
+ const { $ } = Mancha;
199
+
200
+ // Notify on the next tick instead of waiting out the debounce.
201
+ $.debounce("pointerX", 0);
202
+
203
+ // Or flush once per animation frame, aligned with when the browser paints.
204
+ // This is the right choice when the observer ends in a DOM write.
205
+ $.debounce("pointerX", "raf");
206
+ ```
207
+
208
+ Where `requestAnimationFrame` is unavailable (server-side rendering, workers),
209
+ `"raf"` falls back to a timer automatically. Note that browsers do not run
210
+ animation frames for a backgrounded tab, so a `"raf"` key stops notifying until
211
+ the tab is visible again; keep it for values that only matter while painting.
212
+
213
+ A continuously-written key is never starved: no matter how often it is written,
214
+ its observers run at least once per frame rather than having the debounce
215
+ deadline pushed back indefinitely.
216
+
217
+ > **Note:** An observer must not write the key it observes after an `await`.
218
+ > Writes made by an observer's synchronous body are ignored, so the common case
219
+ > of incidental self-writes is safe, but a write from an observer's asynchronous
220
+ > tail is indistinguishable from an outside write and will re-trigger that
221
+ > observer in a loop. Lowering the debounce for such a key makes the loop
222
+ > proportionally faster, so fix the cycle rather than tuning the schedule.
223
+
182
224
  ## Computed Values
183
225
 
184
226
  Computed values are derived values that automatically update when their dependencies change. Use `$computed` to create a named reactive value that recalculates whenever the values it depends on are modified.
package/docs/05_css.md CHANGED
@@ -33,7 +33,7 @@ The utility CSS rules are inspired by Tailwind CSS. You can inject them using `i
33
33
  This automatically includes:
34
34
  - **CSS Reset** (Tailwind Preflight): box-sizing, typography, form resets, media defaults
35
35
  - **Base utility classes**: spacing, sizing, colors, layout, typography, and more
36
- - **On-demand scanning**: responsive variants, pseudo-state variants, color opacity, custom bracket values, and dark mode are generated on-the-fly for only the classes actually used in your markup
36
+ - **On-demand scanning**: responsive variants, orientation variants, pseudo-state variants, color opacity, custom bracket values, and dark mode are generated on-the-fly for only the classes actually used in your markup
37
37
 
38
38
  ### Media Breakpoints
39
39
 
@@ -44,6 +44,18 @@ This automatically includes:
44
44
  | `lg:` | `1024px` |
45
45
  | `xl:` | `1280px` |
46
46
 
47
+ ### Orientation
48
+
49
+ Use the `landscape:` and `portrait:` prefixes to apply styles based on screen orientation (`@media (orientation: …)`) rather than width, so layouts respond to device rotation without picking an arbitrary breakpoint:
50
+
51
+ ```html
52
+ <!-- Stack vertically in portrait, side-by-side in landscape. -->
53
+ <div class="flex flex-col landscape:flex-row">
54
+ <div class="board">...</div>
55
+ <div class="moves-panel portrait:hidden">...</div>
56
+ </div>
57
+ ```
58
+
47
59
  ### Pseudo States
48
60
 
49
61
  The following pseudo states are supported for all utilities:
@@ -67,7 +79,7 @@ The `dark:` prefix can be used with any utility class, including colors, spacing
67
79
  <div class="bg-[#fff] dark:bg-[#1a1a1a] p-4 dark:border-gray-700">
68
80
  ```
69
81
 
70
- > **Note:** Responsive variants (`sm:`, `md:`, etc.), pseudo-state variants (`hover:`, `focus:`, `disabled:`), color opacity (`/N`), dark mode (`dark:`), and custom bracket values are all generated on-demand. Only the classes actually present in your markup are injected, keeping the CSS bundle small.
82
+ > **Note:** Responsive variants (`sm:`, `md:`, etc.), orientation variants (`landscape:`, `portrait:`), pseudo-state variants (`hover:`, `focus:`, `disabled:`), color opacity (`/N`), dark mode (`dark:`), and custom bracket values are all generated on-demand. Only the classes actually present in your markup are injected, keeping the CSS bundle small.
71
83
 
72
84
  ### Spacing (Margin & Padding)
73
85
 
@@ -479,6 +491,15 @@ You can also control the opacity of any color utility by appending `/{opacity}`
479
491
  | `bg-auto` | `{"background-size":"auto"}` |
480
492
  | `bg-cover` | `{"background-size":"cover"}` |
481
493
  | `bg-contain` | `{"background-size":"contain"}` |
494
+ | `bg-center` | `{"background-position":"center"}` |
495
+ | `bg-top` | `{"background-position":"top"}` |
496
+ | `bg-bottom` | `{"background-position":"bottom"}` |
497
+ | `bg-left` | `{"background-position":"left"}` |
498
+ | `bg-right` | `{"background-position":"right"}` |
499
+ | `bg-left-top` | `{"background-position":"left top"}` |
500
+ | `bg-left-bottom` | `{"background-position":"left bottom"}` |
501
+ | `bg-right-top` | `{"background-position":"right top"}` |
502
+ | `bg-right-bottom` | `{"background-position":"right bottom"}` |
482
503
  | `bg-no-repeat` | `{"background-repeat":"no-repeat"}` |
483
504
  | `bg-fixed` | `{"background-attachment":"fixed"}` |
484
505
  | `bg-local` | `{"background-attachment":"local"}` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mancha",
3
- "version": "0.22.6",
3
+ "version": "0.23.0",
4
4
  "description": "Javscript HTML rendering engine",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -55,7 +55,7 @@ function generateMarkdown() {
55
55
  "- **CSS Reset** (Tailwind Preflight): box-sizing, typography, form resets, media defaults\n";
56
56
  md += "- **Base utility classes**: spacing, sizing, colors, layout, typography, and more\n";
57
57
  md +=
58
- "- **On-demand scanning**: responsive variants, pseudo-state variants, color opacity, custom bracket values, and dark mode are generated on-the-fly for only the classes actually used in your markup\n\n";
58
+ "- **On-demand scanning**: responsive variants, orientation variants, pseudo-state variants, color opacity, custom bracket values, and dark mode are generated on-the-fly for only the classes actually used in your markup\n\n";
59
59
 
60
60
  md += "### Media Breakpoints\n\n";
61
61
  md += "| Prefix | Min Width |\n";
@@ -65,6 +65,17 @@ function generateMarkdown() {
65
65
  }
66
66
  md += "\n";
67
67
 
68
+ md += "### Orientation\n\n";
69
+ md +=
70
+ "Use the `landscape:` and `portrait:` prefixes to apply styles based on screen orientation (`@media (orientation: …)`) rather than width, so layouts respond to device rotation without picking an arbitrary breakpoint:\n\n";
71
+ md += "```html\n";
72
+ md += "<!-- Stack vertically in portrait, side-by-side in landscape. -->\n";
73
+ md += '<div class="flex flex-col landscape:flex-row">\n';
74
+ md += ' <div class="board">...</div>\n';
75
+ md += ' <div class="moves-panel portrait:hidden">...</div>\n';
76
+ md += "</div>\n";
77
+ md += "```\n\n";
78
+
68
79
  md += "### Pseudo States\n\n";
69
80
  md += "The following pseudo states are supported for all utilities:\n";
70
81
  md += "- `hover:`\n";
@@ -82,7 +93,7 @@ function generateMarkdown() {
82
93
  md += "```html\n";
83
94
  md += '<div class="bg-[#fff] dark:bg-[#1a1a1a] p-4 dark:border-gray-700">\n';
84
95
  md += "```\n\n";
85
- md += `> **Note:** Responsive variants (\`sm:\`, \`md:\`, etc.), pseudo-state variants (\`hover:\`, \`focus:\`, \`disabled:\`), color opacity (\`/N\`), dark mode (\`dark:\`), and custom bracket values are all generated on-demand. Only the classes actually present in your markup are injected, keeping the CSS bundle small.\n\n`;
96
+ md += `> **Note:** Responsive variants (\`sm:\`, \`md:\`, etc.), orientation variants (\`landscape:\`, \`portrait:\`), pseudo-state variants (\`hover:\`, \`focus:\`, \`disabled:\`), color opacity (\`/N\`), dark mode (\`dark:\`), and custom bracket values are all generated on-demand. Only the classes actually present in your markup are injected, keeping the CSS bundle small.\n\n`;
86
97
 
87
98
  md += "### Spacing (Margin & Padding)\n\n";
88
99
  md += "Spacing utilities use a 0.25rem (4px) unit by default.\n\n";
@@ -373,6 +384,15 @@ function generateMarkdown() {
373
384
  "bg-auto",
374
385
  "bg-cover",
375
386
  "bg-contain",
387
+ "bg-center",
388
+ "bg-top",
389
+ "bg-bottom",
390
+ "bg-left",
391
+ "bg-right",
392
+ "bg-left-top",
393
+ "bg-left-bottom",
394
+ "bg-right-top",
395
+ "bg-right-bottom",
376
396
  "bg-no-repeat",
377
397
  "bg-fixed",
378
398
  "bg-local",