- From: Valery Zinchenko <notifications@github.com>
- Date: Tue, 15 Apr 2025 04:11:26 -0700
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/issues/736/2804689564@github.com>
FrameMuse left a comment (whatwg/dom#736)
## `NodeGroup`
Let me try to picture how the `NodeGroup` looks right now.
### Signature
```ts
class NodeGroup implements Node, ParentNode, ChildNode, NonDocumentTypeChildNode {
constructor(public readonly name: string) { }
}
```
- No augmentations
- Nothing special added
### Behavior
**Rules**
- Conventional behavior of a `ChildNode` and `ParentNode`
- Inherited behavior of `DocumentFragment` children - any type of nodes can be placed together, it won't error or be forcefully "fixed" and etc. thus entirely repeating `DocumentFragment` **children containing** behavior.
**Exclusion of rules**
- Bypasses box models (just like `display: contents`)
- Bypasses layouting (just like `display: contents`)
- Bypasses CSS selectors
_Comparing this behavior to other instances, it would be pretty much the same as Figma Group Node._
### Interpretations
- `NodeGroup` as a range of nodes, where there is a starting node and ending node - accenting nodes **between** those two.
- `NodeGroup` as a list of nodes, where multiple nodes randomly stored under a parent - accenting **some** nodes.
- `NodeGroup` as encapsulated area of nodes - accenting **ownership** of a certain place in the document.
The interpretations give:
1. Understanding of where/how `NodeGroup` could be applied
2. Potential possibilities of further development - like `Range.prototype.groupNodes` and etc.
3. Chance to see `NodeGroup` from other sides
### Devtools
In the inspector, nodes that are grouped (under `NodeGroup` instance) would be indented and displayed inside a visible block (e.g. with a name `MyGroup`), which could be grayed out emphasizing it's "transparency". It would have visual boundaries, something like in @WebReflection's [prototype](https://github.com/WebReflection/group-nodes), which are selectable just like elements - selecting each boundary would lead to assigning the `NodeGroup` instance to `$0`.
---
Hopefully, I'm aligned with people, if something's off, please tell me I will update this comment.
--
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/736#issuecomment-2804689564
You are receiving this because you are subscribed to this thread.
Message ID: <whatwg/dom/issues/736/2804689564@github.com>
Received on Tuesday, 15 April 2025 11:11:30 UTC