src/helpers/Element.php
public static function groupList($items, $options = [])
    {
        Ui::addCssClasses($options, ['ui', 'list']);
        $lines = [];
        foreach ($items as $item) {
            if (is_string($item)) {
                $lines[] = $item;

            } else {
                $icon = ArrayHelper::remove($item, 'icon');
                $image = ArrayHelper::remove($item, 'image');
                $header = ArrayHelper::remove($item, 'header');
                $description = ArrayHelper::remove($item, 'description');
                if ($description) {
                    $description = Ui::tag('div', $description, ['class' => 'description']);
                }

                $content = [];
                $content[] = $icon;
                $content[] = $image;
                if ($header || $description) {
                    $content[] = Ui::tag('div', $header . $description, ['class' => 'content']);
                }
                $lines[] = Ui::tag('div', implode("\n", $content), $item);
            }
        }
        return Ui::tag('div', implode("\n", $lines), $options);
    }
public static function groupList($items, $options = [])
    {
        Ui::addCssClasses($options, ['ui', 'list']);
        $lines = [];
        foreach ($items as $item) {
            if (is_string($item)) {
                $lines[] = $item;

            } else {
                $icon = ArrayHelper::remove($item, 'icon');
                $image = ArrayHelper::remove($item, 'image');
                $header = ArrayHelper::remove($item, 'header');
                $description = ArrayHelper::remove($item, 'description');
                if ($description) {
                    $description = Ui::tag('div', $description, ['class' => 'description']);
                }

                $content = [];
                $content[] = $icon;
                $content[] = $image;
                if ($header || $description) {
                    $content[] = Ui::tag('div', $header . $description, ['class' => 'content']);
                }
                $lines[] = Ui::tag('div', implode("\n", $content), $item);
            }
        }
        return Ui::tag('div', implode("\n", $lines), $options);
    }
Generates a group list @see http://semantic-ui.com/elements/list.html

@param array $items the items to render on the group. Each item configuration supports these special options:
- icon, string, optional, the item's icon
- image, string, optional, the item's image
- header, string, optional, the item's header
- description, string, option, the description of the item
@param array $options the tag options in terms of name-value pairs of the layer containing the list group

@return string the generated list