legacy-icons/famfamfam-mini
FamFamFam Mini icon set packaged for legacy PHP/Laravel apps. Provides the classic 16x16 “mini” PNG icons for easy inclusion in older projects, with simple asset organization for quick copying or publishing into your public directory.
Installation
composer require legacy-icons/famfamfam-mini
The package provides a CSS spritesheet and a Blade directive for easy icon usage.
Include the CSS
Add the following to your resources/css/app.css (or equivalent):
@import 'legacy-icons/famfamfam-mini/dist/famfamfam-mini.css';
First Use Case Use the Blade directive in your view:
<i class="{{ famfamfam('icon-name') }}"></i>
Example:
<i class="{{ famfamfam('accept') }}"></i> <!-- Renders the 'accept' icon -->
Documentation Check the FamFamFam Mini icon set reference for available icons.
Reusable Components Create a Blade component for consistent icon usage:
@component('icons.icon', ['name' => 'folder'])
{{ $slot }}
@endcomponent
Usage:
@icons.icon('folder')
Folder Icon
@endicons
Dynamic Icons via Variables
@php
$icon = request()->has('edit') ? 'pencil' : 'page_white';
@endphp
<i class="{{ famfamfam($icon) }}"></i>
Override Colors/Sizes Extend the imported CSS in your stylesheet:
.famfamfam-mini i {
color: #3498db;
font-size: 1.2em;
}
Sprite Sheet Adjustments
Modify the sprite sheet path in vendor/legacy-icons/famfamfam-mini/dist/famfamfam-mini.css if needed (rare).
document.querySelector('.toggle-icon').addEventListener('click', function() {
const icon = this.querySelector('i');
icon.className = icon.className.replace('famfamfam-mini famfamfam-mini-icon', `famfamfam-mini famfamfam-mini-icon ${this.dataset.altIcon}`);
});
Icon Naming Conflicts
Some icons (e.g., page_white) may conflict with other libraries. Prefix classes:
<i class="famfam-icon {{ famfamfam('page_white') }}"></i>
Missing Icons Not all icons from the original FamFamFam set are included. Verify availability here.
Blade Directive Scope
The famfamfam() directive only works in Blade templates. For non-Blade views, use the raw class:
<i class="famfamfam-mini famfamfam-mini-icon famfamfam-mini-icon-name"></i>
Inspect Rendered HTML Use browser dev tools to verify the correct class is applied:
<!-- Correct -->
<i class="famfamfam-mini famfamfam-mini-icon famfamfam-mini-icon-accept"></i>
<!-- Incorrect (missing sprite class) -->
<i class="famfamfam-mini-icon famfamfam-mini-icon-accept"></i>
Clear Cache If icons don’t render, clear Laravel’s view cache:
php artisan view:clear
Add Custom Icons Extend the sprite sheet by modifying the CSS or adding a new sprite file and updating the package’s assets (requires local fork).
Laravel Mix Integration Process the CSS through Laravel Mix for optimization:
const mix = require('laravel-mix');
mix.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
]);
Dark Mode Support Add a dark-mode variant by overriding the sprite colors:
.dark-mode .famfamfam-mini i {
color: #ffffff;
background-image: url('path/to/dark-sprite.png');
}
How can I help you explore Laravel packages today?