Download the PHP package voltra/filament-svg-avatar without Composer
On this page you can find all versions of the php package voltra/filament-svg-avatar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download voltra/filament-svg-avatar
More information about voltra/filament-svg-avatar
Files in voltra/filament-svg-avatar
Package filament-svg-avatar
Short Description Change the default avatar url provider with one for inline SVGs
License MIT
Homepage https://github.com/voltra/filament-svg-avatar
Informations about the package filament-svg-avatar
voltra/filament-svg-avatar
Change the default avatar url provider with one for inline SVGs.
No more external HTTP requests just for default avatars.
Installation
You can install the package via composer:
You can publish the config file with:
Optionally, you can publish the views using
This is the contents of the published config file:
Usage
As the avatar provider
Note SvgAvatarsProviders
only renders properly if the font is available on the user's machine when the browser would decode the SVG as a base64 image.
If you want something portable, you'll need to replace Filament's default avatar component (see sections below).
As a plugin
It automatically registers SvgAvatarsProviders
as the avatar provider.
NB: If you register the plugin and want to register a provider that isn't our SvgAvatarsProviders
(e.g. to use RawSvgAvatarProvider
), you'll have to register it manually AFTER the plugin.
Other providers from this package can be registered before (or after) the plugin, but external providers need to be registered after the plugin.
Replace filament's default avatar component
First change the default avatar provider to use \Voltra\FilamentSvgAvatar\Filament\AvatarProviders\RawSvgAvatarProvider::class
so that it can properly use the initials instead of a URL:
Then you'll have to override filament's avatar blade component.
If you don't want to do it manually, just execute this command:
If you want to do it manually: either publish filament's support package's views, or just create the resources/views/vendor/filament/components/avatar.blade.php
file with the following content.
This will use the <x-filament-svg-avatar::avatar/>
component, configure it based on what <x-filament::avatar/>
expects, and output an <svg>
instead of an <img/>
(which means better custom font support!).
Extend or override
NB: Config values take precedence over overrides
Create a class that implements the \Voltra\FilamentSvgAvatar\Contracts\SvgAvatarServiceContract
interface.
You can even extend from \Voltra\FilamentSvgAvatar\Services\FilamentSvgAvatarService
.
Then, in a service provider, bind your implementation to the interface:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
All versions of filament-svg-avatar with dependencies
filament/filament Version ^3.0
spatie/laravel-package-tools Version ^1.15.0
illuminate/contracts Version ^10.0||^11.0