LearnNewsExamplesServices
Frontmatter
id8602
titleImplement Neo.container.Fragment Class & VNode Support
stateClosed
labels
aicore
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
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJan 13, 2026, 4:49 PM

Implement Neo.container.Fragment Class & VNode Support

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 cross-referenced by #8601 on Jan 13, 2026, 4:17 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.