PathExtractor.php

Namespace

Drupal\Core\Theme\Plugin\IconExtractor

File

core/lib/Drupal/Core/Theme/Plugin/IconExtractor/PathExtractor.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Core\Theme\Plugin\IconExtractor;

use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\Theme\Icon\Attribute\IconExtractor;
use Drupal\Core\Theme\Icon\IconDefinition;
use Drupal\Core\Theme\Icon\IconExtractorWithFinder;
use Drupal\Core\Theme\Icon\IconPackExtractorForm;

/**
 * Plugin implementation of the icon_extractor.
 *
 * @internal
 *   This API is experimental.
 */
class PathExtractor extends IconExtractorWithFinder {
    
    /**
     * {@inheritdoc}
     */
    public function discoverIcons() : array {
        $files = $this->getFilesFromSources();
        if (empty($files)) {
            return [];
        }
        $icons = [];
        foreach ($files as $file) {
            $id = IconDefinition::createIconId($this->configuration['id'], $file['icon_id']);
            $icons[$id] = [
                'absolute_path' => $file['absolute_path'],
                'source' => $file['source'],
                'group' => $file['group'] ?? NULL,
            ];
        }
        return $icons;
    }

}

Classes

Title Deprecated Summary
PathExtractor Plugin implementation of the icon_extractor.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.