Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Heroicon Icon Handling to Use Enums #15495

Merged
merged 10 commits into from
Feb 1, 2025
13 changes: 7 additions & 6 deletions docs-assets/app/app/Livewire/ActionsDemo.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use Filament\Schemas\Components\Wizard\Step;
use Filament\Support\Enums\ActionSize;
use Filament\Support\Enums\IconPosition;
use Filament\Support\Icons\Heroicon;
use Livewire\Component;

class ActionsDemo extends Component implements HasActions, HasForms
Expand All @@ -36,7 +37,7 @@ public function linkAction(): Action
public function iconButtonAction(): Action
{
return Action::make('iconButton')
->icon('heroicon-m-pencil-square')
->icon(Heroicon::PencilSquare)
->iconButton();
}

Expand Down Expand Up @@ -65,30 +66,30 @@ public function iconAction(): Action
{
return Action::make('icon')
->label('Edit')
->icon('heroicon-m-pencil-square');
->icon(Heroicon::PencilSquare);
}

public function iconAfterAction(): Action
{
return Action::make('iconAfter')
->label('Edit')
->icon('heroicon-m-pencil-square')
->icon(Heroicon::PencilSquare)
->iconPosition(IconPosition::After);
}

public function badgedAction(): Action
{
return Action::make('badged')
->iconButton()
->icon('heroicon-m-funnel')
->icon(Heroicon::Funnel)
->badge(5);
}

public function successBadgedAction(): Action
{
return Action::make('successBadged')
->iconButton()
->icon('heroicon-m-funnel')
->icon(Heroicon::Funnel)
->badge(5)
->badgeColor('success');
}
Expand Down Expand Up @@ -129,7 +130,7 @@ public function modalIconAction(): Action
->color('danger')
->requiresConfirmation()
->action(fn () => null)
->modalIcon('heroicon-o-trash');
->modalIcon(Heroicon::OutlinedTrash);
}

public function modalFormAction(): Action
Expand Down
29 changes: 15 additions & 14 deletions docs-assets/app/app/Livewire/Forms/FieldsDemo.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
use Filament\Forms\Contracts\HasForms;
use Filament\Schemas\Components\Group;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Illuminate\Support\HtmlString;
use Livewire\Component;

Expand Down Expand Up @@ -110,7 +111,7 @@ public function form(Schema $form): Schema
TextInput::make('textInputSuffixIcon')
->label('Domain')
->default('https://filamentphp.com')
->suffixIcon('heroicon-m-globe-alt'),
->suffixIcon(Heroicon::GlobeAlt),
]),
Group::make()
->id('textInputRevealablePassword')
Expand Down Expand Up @@ -264,7 +265,7 @@ public function form(Schema $form): Schema
->options([
'filament' => 'filamentphp',
])
->suffixIcon('heroicon-m-globe-alt'),
->suffixIcon(Heroicon::GlobeAlt),
]),
Group::make()
->id('checkbox')
Expand Down Expand Up @@ -312,8 +313,8 @@ public function form(Schema $form): Schema
->schema([
Toggle::make('toggleIcons')
->label('Is admin')
->onIcon('heroicon-m-bolt')
->offIcon('heroicon-m-user'),
->onIcon(Heroicon::Bolt)
->offIcon(Heroicon::User),
]),
Group::make()
->id('toggleOffColor')
Expand Down Expand Up @@ -628,7 +629,7 @@ public function form(Schema $form): Schema
->schema([
TimePicker::make('dateTimePickerPrefixIcon')
->label('At')
->prefixIcon('heroicon-m-play')
->prefixIcon(Heroicon::Play)
->default('2000-01-01'),
]),
Group::make()
Expand Down Expand Up @@ -978,9 +979,9 @@ public function form(Schema $form): Schema
->label('Paragraph')
->required(),
])
->icon('heroicon-m-bars-3-bottom-left'),
->icon(Heroicon::Bars3BottomLeft),
Builder\Block::make('image')
->icon('heroicon-m-photo'),
->icon(Heroicon::Photo),
])
->default([
[
Expand All @@ -1006,7 +1007,7 @@ public function form(Schema $form): Schema
->label('Paragraph')
->required(),
])
->icon('heroicon-m-bars-3-bottom-left'),
->icon(Heroicon::Bars3BottomLeft),
])
->default([
[
Expand Down Expand Up @@ -1045,7 +1046,7 @@ public function form(Schema $form): Schema
->label('Paragraph')
->required(),
])
->icon('heroicon-m-bars-3-bottom-left'),
->icon(Heroicon::Bars3BottomLeft),
])
->default([
[
Expand Down Expand Up @@ -1084,7 +1085,7 @@ public function form(Schema $form): Schema
->label('Paragraph')
->required(),
])
->icon('heroicon-m-bars-3-bottom-left'),
->icon(Heroicon::Bars3BottomLeft),
])
->default([
[
Expand Down Expand Up @@ -1216,9 +1217,9 @@ public function form(Schema $form): Schema
'published' => 'Published',
])
->icons([
'draft' => 'heroicon-o-pencil',
'scheduled' => 'heroicon-o-clock',
'published' => 'heroicon-o-check-circle',
'draft' => Heroicon::OutlinedPencil,
'scheduled' => Heroicon::OutlinedClock,
'published' => Heroicon::OutlinedCheckCircle,
])
->default('scheduled'),
]),
Expand Down Expand Up @@ -1337,7 +1338,7 @@ public function form(Schema $form): Schema
->default('22.66')
->suffixAction(
Action::make('copyCostToPrice')
->icon('heroicon-m-clipboard'),
->icon(Heroicon::Clipboard),
),
]),
]);
Expand Down
41 changes: 21 additions & 20 deletions docs-assets/app/app/Livewire/Infolists/EntriesDemo.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Filament\Support\Enums\FontFamily;
use Filament\Support\Enums\FontWeight;
use Filament\Support\Enums\IconPosition;
use Filament\Support\Icons\Heroicon;
use Livewire\Component;

class EntriesDemo extends Component implements HasInfolists
Expand Down Expand Up @@ -122,7 +123,7 @@ public function infolist(Schema $infolist): Schema
->schema([
TextEntry::make('email')
->state('[email protected]')
->icon('heroicon-m-envelope'),
->icon(Heroicon::Envelope),
]),
Group::make()
->id('textIconAfter')
Expand All @@ -132,7 +133,7 @@ public function infolist(Schema $infolist): Schema
->schema([
TextEntry::make('email')
->state('[email protected]')
->icon('heroicon-m-envelope')
->icon(Heroicon::Envelope)
->iconPosition(IconPosition::After),
]),
Group::make()
Expand All @@ -143,7 +144,7 @@ public function infolist(Schema $infolist): Schema
->schema([
TextEntry::make('email')
->state('[email protected]')
->icon('heroicon-m-envelope')
->icon(Heroicon::Envelope)
->iconColor('primary'),
]),
Group::make()
Expand Down Expand Up @@ -198,10 +199,10 @@ public function infolist(Schema $infolist): Schema
->schema([
IconEntry::make('status')
->state('reviewing')
->icon(fn (string $state): string => match ($state) {
'draft' => 'heroicon-o-pencil',
'reviewing' => 'heroicon-o-clock',
'published' => 'heroicon-o-check-circle',
->icon(fn (string $state): Heroicon => match ($state) {
'draft' => Heroicon::OutlinedPencil,
'reviewing' => Heroicon::OutlinedClock,
'published' => Heroicon::OutlinedCheckCircle,
}),
]),
Group::make()
Expand All @@ -212,10 +213,10 @@ public function infolist(Schema $infolist): Schema
->schema([
IconEntry::make('status')
->state('reviewing')
->icon(fn (string $state): string => match ($state) {
'draft' => 'heroicon-o-pencil',
'reviewing' => 'heroicon-o-clock',
'published' => 'heroicon-o-check-circle',
->icon(fn (string $state): Heroicon => match ($state) {
'draft' => Heroicon::OutlinedPencil,
'reviewing' => Heroicon::OutlinedClock,
'published' => Heroicon::OutlinedCheckCircle,
})
->color(fn (string $state): string => match ($state) {
'draft' => 'info',
Expand All @@ -232,10 +233,10 @@ public function infolist(Schema $infolist): Schema
->schema([
IconEntry::make('status')
->state('reviewing')
->icon(fn (string $state): string => match ($state) {
'draft' => 'heroicon-o-pencil',
'reviewing' => 'heroicon-o-clock',
'published' => 'heroicon-o-check-circle',
->icon(fn (string $state): Heroicon => match ($state) {
'draft' => Heroicon::OutlinedPencil,
'reviewing' => Heroicon::OutlinedClock,
'published' => Heroicon::OutlinedCheckCircle,
})
->color(fn (string $state): string => match ($state) {
'draft' => 'danger',
Expand Down Expand Up @@ -267,13 +268,13 @@ public function infolist(Schema $infolist): Schema
IconEntry::make('is_featured')
->state(0)
->boolean()
->trueIcon('heroicon-o-check-badge')
->falseIcon('heroicon-o-x-mark'),
->trueIcon(Heroicon::OutlinedCheckBadge)
->falseIcon(Heroicon::OutlinedXMark),
IconEntry::make('is_featured')
->state(1)
->boolean()
->trueIcon('heroicon-o-check-badge')
->falseIcon('heroicon-o-x-mark'),
->trueIcon(Heroicon::OutlinedCheckBadge)
->falseIcon(Heroicon::OutlinedXMark),
]),
Group::make()
->id('iconBooleanColor')
Expand Down Expand Up @@ -477,7 +478,7 @@ public function infolist(Schema $infolist): Schema
->default('22.66')
->suffixAction(
Action::make('copyCostToPrice')
->icon('heroicon-m-clipboard'),
->icon(Heroicon::Clipboard),
),
]),
])
Expand Down
3 changes: 2 additions & 1 deletion docs-assets/app/app/Livewire/NotificationsDemo.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use App\Models\User;
use Filament\Actions\Action;
use Filament\Notifications\Notification;
use Filament\Support\Icons\Heroicon;
use Illuminate\Notifications\DatabaseNotification;
use Livewire\Component;

Expand All @@ -31,7 +32,7 @@ public function icon(): void
{
Notification::make()
->title('Saved successfully')
->icon('heroicon-o-document-text')
->icon(Heroicon::OutlinedDocumentText)
->iconColor('success')
->send();
}
Expand Down
Loading