Loading core/modules/navigation/components/toolbar-button/toolbar-button.component.yml +17 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,23 @@ props: default: button icon: title: Icon type: object properties: pack_id: title: Icon Pack type: string default: navigation icon_id: title: Icon ID type: string settings: title: Icon Settings type: object default: class: toolbar-button__icon size: 20 required: - icon_id text: title: Text description: Text of button. Loading core/modules/navigation/components/toolbar-button/toolbar-button.twig +3 −3 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ appear after main classes #} {% set classes = [ 'toolbar-button', icon ? 'toolbar-button--icon--' ~ icon : '', icon.icon_id ? 'toolbar-button--icon--' ~ icon.icon_id : '', ] %} Loading @@ -24,8 +24,8 @@ appear after main classes #} <{{ html_tag|default('button') }} {{ attributes.addClass(classes) }}> {% if icon %} {{ icon('navigation', icon, { class: 'toolbar-button__icon', size: 20 }) }} {% if icon.icon_id %} {{ icon(icon.pack_id|default('navigation'), icon.icon_id, icon.settings|default({ class: 'toolbar-button__icon', size: 20 })) }} {% endif %} {% if action %} Loading core/modules/navigation/layouts/navigation.html.twig +3 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ <div class="admin-toolbar-control-bar__content"> {% include 'navigation:toolbar-button' with { attributes: create_attribute({'aria-expanded': 'false', 'aria-controls': 'admin-toolbar', 'type': 'button'}), icon: 'burger', icon: { icon_id: 'burger' }, text: 'Expand sidebar'|t, modifiers: ['small-offset'], extra_classes: [ Loading Loading @@ -59,14 +59,14 @@ {% include 'navigation:toolbar-button' with { attributes: create_attribute({ 'data-toolbar-back-control': true, 'tabindex': '-1' }), extra_classes: ['admin-toolbar__back-button'], icon: 'arrow-left', icon: { icon_id: 'arrow-left' }, text: 'Back'|t, } only %} {% include 'navigation:toolbar-button' with { action: 'Collapse sidebar'|t, attributes: create_attribute({ 'aria-controls': 'admin-toolbar', 'tabindex': '-1', 'type': 'button' }), extra_classes: ['admin-toolbar__close-button'], icon: 'cross', icon: { icon_id: 'cross' }, } only %} </div> Loading core/modules/navigation/src/Menu/NavigationMenuLinkTree.php +13 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Drupal\navigation\Menu; use Drupal\Component\Utility\Html; use Drupal\Component\Utility\NestedArray; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Menu\MenuActiveTrailInterface; use Drupal\Core\Menu\MenuLinkManagerInterface; Loading Loading @@ -72,8 +74,18 @@ public function build(array $tree): array { foreach ($tree as $item) { if ($item->access->isAllowed()) { $plugin_id = $item->link->getPluginId(); $plugin_class = str_replace('.', '_', $plugin_id); $plugin_class = Html::getClass(str_replace('.', '_', $plugin_id)); $build['#items'][$plugin_id]['class'] = $plugin_class; $url = $build['#items'][$plugin_id]['url']; $icon_defaults = [ 'pack_id' => 'navigation', 'icon_id' => $plugin_class, 'settings' => [ 'class' => 'toolbar-button__icon', 'size' => 20, ], ]; $build['#items'][$plugin_id]['icon'] = NestedArray::mergeDeep($icon_defaults, $url->getOption('icon') ?? []); } } Loading core/modules/navigation/src/Plugin/Block/NavigationLinkBlock.php +3 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,9 @@ public function build(): array { 'title' => $config['title'], 'class' => $config['icon_class'], 'url' => $url, 'icon' => [ 'icon_id' => $config['icon_class'], ], ], ], ]; Loading Loading
core/modules/navigation/components/toolbar-button/toolbar-button.component.yml +17 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,23 @@ props: default: button icon: title: Icon type: object properties: pack_id: title: Icon Pack type: string default: navigation icon_id: title: Icon ID type: string settings: title: Icon Settings type: object default: class: toolbar-button__icon size: 20 required: - icon_id text: title: Text description: Text of button. Loading
core/modules/navigation/components/toolbar-button/toolbar-button.twig +3 −3 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ appear after main classes #} {% set classes = [ 'toolbar-button', icon ? 'toolbar-button--icon--' ~ icon : '', icon.icon_id ? 'toolbar-button--icon--' ~ icon.icon_id : '', ] %} Loading @@ -24,8 +24,8 @@ appear after main classes #} <{{ html_tag|default('button') }} {{ attributes.addClass(classes) }}> {% if icon %} {{ icon('navigation', icon, { class: 'toolbar-button__icon', size: 20 }) }} {% if icon.icon_id %} {{ icon(icon.pack_id|default('navigation'), icon.icon_id, icon.settings|default({ class: 'toolbar-button__icon', size: 20 })) }} {% endif %} {% if action %} Loading
core/modules/navigation/layouts/navigation.html.twig +3 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ <div class="admin-toolbar-control-bar__content"> {% include 'navigation:toolbar-button' with { attributes: create_attribute({'aria-expanded': 'false', 'aria-controls': 'admin-toolbar', 'type': 'button'}), icon: 'burger', icon: { icon_id: 'burger' }, text: 'Expand sidebar'|t, modifiers: ['small-offset'], extra_classes: [ Loading Loading @@ -59,14 +59,14 @@ {% include 'navigation:toolbar-button' with { attributes: create_attribute({ 'data-toolbar-back-control': true, 'tabindex': '-1' }), extra_classes: ['admin-toolbar__back-button'], icon: 'arrow-left', icon: { icon_id: 'arrow-left' }, text: 'Back'|t, } only %} {% include 'navigation:toolbar-button' with { action: 'Collapse sidebar'|t, attributes: create_attribute({ 'aria-controls': 'admin-toolbar', 'tabindex': '-1', 'type': 'button' }), extra_classes: ['admin-toolbar__close-button'], icon: 'cross', icon: { icon_id: 'cross' }, } only %} </div> Loading
core/modules/navigation/src/Menu/NavigationMenuLinkTree.php +13 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ namespace Drupal\navigation\Menu; use Drupal\Component\Utility\Html; use Drupal\Component\Utility\NestedArray; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Menu\MenuActiveTrailInterface; use Drupal\Core\Menu\MenuLinkManagerInterface; Loading Loading @@ -72,8 +74,18 @@ public function build(array $tree): array { foreach ($tree as $item) { if ($item->access->isAllowed()) { $plugin_id = $item->link->getPluginId(); $plugin_class = str_replace('.', '_', $plugin_id); $plugin_class = Html::getClass(str_replace('.', '_', $plugin_id)); $build['#items'][$plugin_id]['class'] = $plugin_class; $url = $build['#items'][$plugin_id]['url']; $icon_defaults = [ 'pack_id' => 'navigation', 'icon_id' => $plugin_class, 'settings' => [ 'class' => 'toolbar-button__icon', 'size' => 20, ], ]; $build['#items'][$plugin_id]['icon'] = NestedArray::mergeDeep($icon_defaults, $url->getOption('icon') ?? []); } } Loading
core/modules/navigation/src/Plugin/Block/NavigationLinkBlock.php +3 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,9 @@ public function build(): array { 'title' => $config['title'], 'class' => $config['icon_class'], 'url' => $url, 'icon' => [ 'icon_id' => $config['icon_class'], ], ], ], ]; Loading