/**
* Returns a list (`<ol>` or `<ul>` tag)
* @param array $list Elements list
* @param array $options HTML attributes of the list tag
* @param array $itemOptions HTML attributes of the list items
* @return string
*/
public function nestedList(array $list, array $options = [], array $itemOptions = [])
{
if (!empty($options['icon'])) {
$itemOptions['icon'] = $options['icon'];
}
if (!empty($itemOptions['icon'])) {
$options = $this->optionsValues(['class' => 'fa-ul'], $options);
$itemOptions = $this->optionsValues(['icon' => 'li'], $itemOptions);
$list = array_map(function ($element) use($itemOptions) {
return firstValue($this->addIconToText($element, $itemOptions));
}, $list);
}
unset($options['icon'], $options['icon-align'], $itemOptions['icon'], $itemOptions['icon-align']);
return parent::nestedList($list, $options, $itemOptions);
}