[PR #169] [MERGED] Feat(solid): Handle anchor node and add Dynamic and Portal #1122

Closed
opened 2026-03-14 09:19:42 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/169
Author: @Adictya
Created: 9/17/2025
Status: Merged
Merged: 9/18/2025
Merged by: @kommander

Base: mainHead: anchor-node-test


📝 Commits (10+)

📊 Changes

15 files changed (+1068 additions, -12 deletions)

View changed files

📝 packages/solid/bunfig.toml (+4 -0)
📝 packages/solid/package.json (+1 -1)
packages/solid/src/elements/extras.ts (+98 -0)
📝 packages/solid/src/elements/index.ts (+2 -0)
packages/solid/src/elements/slot.ts (+130 -0)
📝 packages/solid/src/reconciler.ts (+41 -9)
packages/solid/src/renderer/index.ts (+11 -0)
packages/solid/src/renderer/universal.d.ts (+30 -0)
packages/solid/src/renderer/universal.js (+238 -0)
📝 packages/solid/src/types/elements.ts (+4 -1)
packages/solid/tests/__snapshots__/control-flow.test.tsx.snap (+15 -0)
packages/solid/tests/__snapshots__/dynamic-portal.test.tsx.snap (+22 -0)
📝 packages/solid/tests/control-flow.test.tsx (+133 -1)
packages/solid/tests/dynamic-portal.test.tsx (+314 -0)
📝 packages/solid/tests/layout.test.tsx (+25 -0)

📄 Description

  • Simple bun test should also work now
  • Added tests for Dynamic and Portal
  • Brought in universal renderer for custom addAnchorNode logic
  • Fixes a bunch of bugs around Show and For
  • We throw on not adding unwrapped text/span.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/169 **Author:** [@Adictya](https://github.com/Adictya) **Created:** 9/17/2025 **Status:** ✅ Merged **Merged:** 9/18/2025 **Merged by:** [@kommander](https://github.com/kommander) **Base:** `main` ← **Head:** `anchor-node-test` --- ### 📝 Commits (10+) - [`8d1941d`](https://github.com/anomalyco/opentui/commit/8d1941d610a9bb3a5fe572ffc39dfd58bdf00331) anchor fixes - [`3f50a93`](https://github.com/anomalyco/opentui/commit/3f50a93adeecec8b0b0c5daa47d5d102d21cd8e3) add tests - [`226292d`](https://github.com/anomalyco/opentui/commit/226292d649a70b2c0ee709e47963cdd5bb21f86d) bring in renderer for cleaner lifecycle - [`42005ff`](https://github.com/anomalyco/opentui/commit/42005ffd9b4e37711510651af88443a034d42941) cleanup - [`ce6e01d`](https://github.com/anomalyco/opentui/commit/ce6e01dcde5ef5ce3cfb7dc9c1044563f504be02) chore: lint - [`a5c0809`](https://github.com/anomalyco/opentui/commit/a5c0809df74d1a997ef02ea20717731b37628c90) perf improvements - [`d660c75`](https://github.com/anomalyco/opentui/commit/d660c754cdd81e8fc99810b34b384ac8ce095faf) cleanup - [`fb6d376`](https://github.com/anomalyco/opentui/commit/fb6d376b7c6906aac9303c329e65c7ab994b50c3) more cleanup - [`c8bfe2a`](https://github.com/anomalyco/opentui/commit/c8bfe2a4acb33dae0738bf2077019d8c1dc677e7) import cleanup - [`4683836`](https://github.com/anomalyco/opentui/commit/468383665d2ce29aab670b676f7f826cd4212a25) handle rogue text ### 📊 Changes **15 files changed** (+1068 additions, -12 deletions) <details> <summary>View changed files</summary> 📝 `packages/solid/bunfig.toml` (+4 -0) 📝 `packages/solid/package.json` (+1 -1) ➕ `packages/solid/src/elements/extras.ts` (+98 -0) 📝 `packages/solid/src/elements/index.ts` (+2 -0) ➕ `packages/solid/src/elements/slot.ts` (+130 -0) 📝 `packages/solid/src/reconciler.ts` (+41 -9) ➕ `packages/solid/src/renderer/index.ts` (+11 -0) ➕ `packages/solid/src/renderer/universal.d.ts` (+30 -0) ➕ `packages/solid/src/renderer/universal.js` (+238 -0) 📝 `packages/solid/src/types/elements.ts` (+4 -1) ➕ `packages/solid/tests/__snapshots__/control-flow.test.tsx.snap` (+15 -0) ➕ `packages/solid/tests/__snapshots__/dynamic-portal.test.tsx.snap` (+22 -0) 📝 `packages/solid/tests/control-flow.test.tsx` (+133 -1) ➕ `packages/solid/tests/dynamic-portal.test.tsx` (+314 -0) 📝 `packages/solid/tests/layout.test.tsx` (+25 -0) </details> ### 📄 Description - Simple `bun test` should also work now - Added tests for Dynamic and Portal - Brought in universal renderer for custom addAnchorNode logic - Fixes a bunch of bugs around Show and For - We throw on not adding unwrapped text/span. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-14 09:19:42 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#1122
No description provided.