/var/www/vhosts/ihelp.ro/httpdocs/vendor/mirko-pagliai/me-tools/src/View/Helper
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/mirko-pagliai/me-tools/src/View/Helper/IconHelper.php (3218B)
$options Array options/attributes to add a class to
* @return array Array with text with icons and the array of options
* @since 2.16.2-beta
*/
public function addIconToText(?string $text, array $options): array
{
$icon = $options['icon'] ?? null;
$align = $options['icon-align'] ?? null;
unset($options['icon'], $options['icon-align']);
if (!$icon) {
return [$text, $options];
}
$icon = $this->icon($icon);
$result = $icon . ' ' . $text;
if (!$text) {
$result = $icon;
} elseif ($align === 'right') {
$result = $text . ' ' . $icon;
}
return [$result, $options];
}
/**
* Internal method to build icon classes
* @param string|string[] $icon Icons
* @return string
* @since 2.16.2-beta
*/
protected function buildIconClasses($icon): string
{
//Prepends the string "fa-" to any other class
/** @var string|string[] $icon */
$icon = preg_replace('/(?
* echo $this->Icon->icon('home');
*
* Returns:
*
*
*
*
* Example:
*
* echo $this->Icon->icon(['hand-o-right', '2x']);
*
* Returns:
*
*
*
* @param string|array
$icons Icons. You can also pass multiple arguments
* @return string
* @see http://fontawesome.com Font Awesome icons
*/
public function icon(...$icons): string
{
$toString = fn($value): string => implode(' ', (array)$value);
$class = $this->buildIconClasses($toString(array_map($toString, $icons)));
return $this->formatTemplate('tag', [
'attrs' => $this->templater()->formatAttributes(compact('class')),
'content' => ' ',
'tag' => 'i',
]);
}
}