From 0474514e59dec8b473d4a564f6ba7fc3a5ed5891 Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 24 Apr 2026 06:30:33 +0000 Subject: [PATCH] HS-plan: log show multi-element done +2 Co-Authored-By: Claude Opus 4.7 (1M context) --- plans/hs-conformance-to-100.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plans/hs-conformance-to-100.md b/plans/hs-conformance-to-100.md index 48b8d302..9c4c79b8 100644 --- a/plans/hs-conformance-to-100.md +++ b/plans/hs-conformance-to-100.md @@ -56,7 +56,7 @@ Each cluster below is one commit. Order is rough — a loop agent may skip ahead 11. **[done (+3) — partial, `hide element then show element retains original display` remains; needs `on click N` count-filtered event handlers, out of scope for this cluster] `hide` strategy** — `hide / can configure hidden as default`, `can hide with custom strategy`, `can set default to custom strategy`, `hide element then show element retains original display` (4 tests). Strategy config plumbing. Expected: +3-4. -12. **[in-progress] `show` multi-element + display retention** — `show / can show multiple elements with inline-block`, `can filter over a set of elements using the its symbol` (2 tests). Expected: +2. +12. **[done (+2)] `show` multi-element + display retention** — `show / can show multiple elements with inline-block`, `can filter over a set of elements using the its symbol` (2 tests). Expected: +2. 13. **[pending] `toggle` multi-class + timed + until-event** — `toggle` (3 assertion-fail tests). Expected: +3. @@ -158,6 +158,9 @@ Many tests are `SKIP (untranslated)` because `tests/playwright/generate-sx-tests (Reverse chronological — newest at top.) +### 2026-04-24 — cluster 12 show multi-element + display retention +- **98c957b3** — `HS: show multi-element + display retention (+2 tests)`. Two fixes in `tests/hs-run-filtered.js`: (a) `mt` (matches-selector) now splits comma-separated selector lists and matches if any clause matches, so `qsa("#d1, #d2")` returns both elements. (b) `host-get` on an `El` for `innerText` returns `textContent` (DOM-level alias) so `when its innerText contains "foo"` predicates can see the mock's stored text. Suite hs-upstream-show: 16/18 → 18/18. Smoke 0-195: 162/195 unchanged. + ### 2026-04-24 — cluster 11 hide strategy (partial +3) - **beb120ba** — `HS: hide strategy config (+3 tests)`. Three parts: (a) `runtime.sx` hs-hide-one!/hs-show-one! consult a new `_hs-hide-strategies` dict (and `_hs-default-hide-strategy` override) before falling through to the built-in display/opacity/hidden cases. Strategy fn is called directly with (op, el, arg). New setters `hs-set-hide-strategies!` and `hs-set-default-hide-strategy!`. (b) Generator `_hs_config_setup_ops` recognises `_hyperscript.config.defaultHideShowStrategy = "X"`, `delete …default…`, and `hideShowStrategies = { NAME: function (op, el, arg) { if … classList.add/remove } }` with brace-matched function body extraction. (c) Pre-setup emitter handles `__hs_config__` pseudo-name by emitting the SX expression as-is. Suite hs-upstream-hide: 12/16 → 15/16. Remaining test (`hide element then show element retains original display`) needs `on click N` count-filtered event handlers — separate feature. Smoke 0-195: 162/195 unchanged.