Change record status: 
Project: 
Introduced in branch: 
8.x-2.x
Introduced in version: 
8.x-2.0-beta4
Description: 

Note: This change only applies to the markup content format. The json serialization never had the wrapping elements.

Previously, multiple custom elements of a slot were wrapped into a wrapping element, e.g. <div slot="name">.
However, this is unnecessary since multiple elements with the same slot name may appear on the same level, there is no wrapping necessary. Thus, in order to simplify the generated markup, the wrapping element is removed.

API change for module developers:

Related, the CustomElement class API is changed as following for module developers
Previous:

 public function setSlotFromNestedElements($key, array $nestedElements, $tag = 'div', $attributes = [], $index = 0, $weight = 0);
  public function addSlotFromNestedElements($key, array $nestedElements, $tag = 'div', $attributes = [], $index = 0, $weight = 0);

Now:

  public function setSlotFromNestedElements($key, array $nestedElements, $weight = 0);
  public function addSlotFromNestedElements($key, array $nestedElements, $weight = 0);

Example markup change


Previous markup
for a custom elements with a mutli-value paragraphs slot:

<node type="article">
  <node-heading slot="node-heading">
   ....
  </node-heading>
  <div slot="paragraphs">
    <pg-twitter src=".." slot="default"/>
    <pg-instagram src=".." slot="default"/>
  </div>
</node>

New markup:

<node type="article">
  <node-heading slot="node-heading">
   ....
  </node-heading>
  <pg-twitter src=".." slot="paragraphs"/>
  <pg-instagram src=".." slot="paragraphs"/>
</node>
Impacts: 
Site builders, administrators, editors
Module developers