refactor(overlap): drop inline-axis directional variants - #628
Conversation
Remove `.sf-overlap--start` and `.sf-overlap--end`. The horizontal-overlap variants had no demonstrated real-world use case (negative inline margins overlapping a sibling is rarely what you want versus absolute positioning) and inflated the public API on the same axis the framework was deliberately disciplined about elsewhere (the corner recipes cut before 1.0). Keeps the base pair `.sf-overlap` (pull-up) + `.sf-overlap-host` — the recipe's real value (isolated stacking context + automatic padding compensation) — plus the block-axis `.sf-overlap--down` variant. Updated CSS, macro docs, annotations, tests, configurator preview, and the demo coverage gallery; regenerated derived docs/registry/API index. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q1XiJo184xVAv18qsyVvDH
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe overlap utility now supports the default and ChangesOverlap utility update
Badge metadata update
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR removes the
Confidence Score: 4/5Safe to merge with one follow-up: the embedded coverage-data JSON in demo/index.html needs the two deleted class names removed so the displayed class counter matches the rest of the updated artifacts. The CSS removal and all derived docs/registry/configurator artifacts are internally consistent. The one gap is the #cov-data JSON blob in demo/index.html, which still lists sf-overlap--end and sf-overlap--start; the page's inline script uses that list to drive the displayed class count, so the demo will advertise 289 classes where every other updated artifact agrees on 287. demo/index.html — the #cov-data JSON blob (line 5020) needs sf-overlap--end and sf-overlap--start removed from the classes array. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
CSS[core/macros.css\nremove --start / --end rules]
CSS --> DOCS[docs/\napi-index · classes · macros\nregistry · token-annotations]
CSS --> CFG[configurator/\nclasses.generated.json\npreview/sections.ts]
CSS --> BADGE[badges/badge-optimal.json\n19.6 → 19.5 kB]
CSS --> TESTS[tests/macros.spec.js\nremove --start/--end cases]
CSS --> DEMO[demo/index.html\nfigure cards removed ✓\ncov-data JSON ⚠ stale]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
CSS[core/macros.css\nremove --start / --end rules]
CSS --> DOCS[docs/\napi-index · classes · macros\nregistry · token-annotations]
CSS --> CFG[configurator/\nclasses.generated.json\npreview/sections.ts]
CSS --> BADGE[badges/badge-optimal.json\n19.6 → 19.5 kB]
CSS --> TESTS[tests/macros.spec.js\nremove --start/--end cases]
CSS --> DEMO[demo/index.html\nfigure cards removed ✓\ncov-data JSON ⚠ stale]
|
The embedded #cov-data JSON still listed sf-overlap--start and sf-overlap--end in its classes array, so the demo's live class counter drifted from every other artifact (reporting the two removed classes as still present). Remove both entries to match the pruned gallery and the regenerated docs/registry. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q1XiJo184xVAv18qsyVvDH
Remove
.sf-overlap--startand.sf-overlap--end. The horizontal-overlapvariants had no demonstrated real-world use case (negative inline margins
overlapping a sibling is rarely what you want versus absolute positioning)
and inflated the public API on the same axis the framework was deliberately
disciplined about elsewhere (the corner recipes cut before 1.0).
Keeps the base pair
.sf-overlap(pull-up) +.sf-overlap-host— therecipe's real value (isolated stacking context + automatic padding
compensation) — plus the block-axis
.sf-overlap--downvariant.Updated CSS, macro docs, annotations, tests, configurator preview, and the
demo coverage gallery; regenerated derived docs/registry/API index.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01Q1XiJo184xVAv18qsyVvDH
Summary by CodeRabbit
.sf-overlap--downutility for vertical overlap below an element..sf-overlap--startand.sf-overlap--endutilities and their horizontal overlap behavior; overlap behavior now uses the vertical modifier.