LearnNewsExamplesServices
Frontmatter
id8602
titleImplement Neo.container.Fragment Class & VNode Support
stateClosed
labels
aicorefeature
assigneestobiu
createdAtJan 13, 2026, 3:38 PM
updatedAtJan 13, 2026, 4:49 PM
githubUrlhttps://github.com/neomjs/neo/issues/8602
authortobiu
commentsCount1
parentIssue8601
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJan 13, 2026, 4:49 PM

Implement Neo.container.Fragment Class & VNode Support

Closed v11.21.0 aicorefeature
tobiu
tobiu commented on Jan 13, 2026, 3:38 PM

Goal: Create the Neo.container.Fragment class and enable tag: 'fragment' in the VNode system.

Tasks:

  1. Create src/container/Fragment.mjs:
    • Extend Neo.container.Base.
    • Set static config tag: 'fragment'.
    • Set layout: null (Fragments cannot have layouts as they have no wrapper).
  2. Update src/vdom/VNode.mjs:
    • Allow nodeName to be 'fragment'.
    • Ensure VNode constructor handles it correctly.

Note: Neo.component.Base already supports the tag_ config, so we leverage that.

tobiu added the ai label on Jan 13, 2026, 3:38 PM
tobiu added the core label on Jan 13, 2026, 3:38 PM
tobiu added the feature label on Jan 13, 2026, 3:38 PM
tobiu added parent issue #8601 on Jan 13, 2026, 3:40 PM
tobiu cross-referenced by #8601 on Jan 13, 2026, 4:17 PM
tobiu assigned to @tobiu on Jan 13, 2026, 4:18 PM
tobiu referenced in commit 92d5017 - "feat: Implement Neo.container.Fragment (#8602)" on Jan 13, 2026, 4:48 PM
tobiu
tobiu Jan 13, 2026, 4:48 PM

Input from Gemini 3 Pro:

✦ I have implemented the Neo.container.Fragment class.

  • Extends Neo.container.Base.
  • Sets tag: 'fragment'.
  • Sets layout: null and prevents layout creation.
  • Includes safeguard hooks to return null for cls, style, and wrapper variants, ensuring no DOM attributes are accidentally applied to the fragment itself.
  • Verified src/vdom/VNode.mjs supports tag: 'fragment' via the nodeName mapping.

Ready for next steps in the Epic.

tobiu closed this issue on Jan 13, 2026, 4:49 PM