1. Go to this page and download the library: Download kanuni/filament-cards library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kanuni / filament-cards example snippets
namespace App\Filament\Pages;
use Kanuni\FilamentCards\Filament\Pages\CardsPage;
use Kanuni\FilamentCards\CardItem;
use App\Filament\Pages\CompanySettings;
class ControlPanel extends CardsPage
{
protected static ?string $navigationIcon = 'heroicon-o-cog-8-tooth';
private static function getCards(): array
{
return [
CardItem::make(CompanySettings::class)
];
}
}
use Kanuni\FilamentCards\CardItem;
private static function getCards(): array
{
return [
CardItem::make('/path/to/docs')
->title('Documentation')
->icon('heroicon-o-document-text')
->description('Read the docs')
];
}
use Kanuni\FilamentCards\CardItem;
private static function getCards(): array
{
return [
CardItem::make(CompanySettings::class)->group('General')
];
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
class ControlPanel extends CardsPage
{
protected static array $collapsedGroups = ['General', 'Advanced'];
private static function getCards(): array
{
return [...];
}
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
class ControlPanel extends CardsPage
{
public function getCollapsedGroups(): array
{
if (auth()->user()->role !== 'admin') {
// For non-admin users collapse 'Advanced' group
return ['Advanced'];
}
return [];
}
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
class ControlPanel extends CardsPage
{
// Disable collapsing for all groups
protected static bool|array $disableGroupsCollapse = true;
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
class ControlPanel extends CardsPage
{
// Disable collapsing for the 'General' group
protected static bool|array $disableGroupsCollapse = ['General'];
}
use Filament\FilamentCards\CardItem;
private static function getCards(): array
{
return [
CardItem::make(CompanySettings::class)
// Override page URL
->url('https://www.google.com')
// Will open link in new tab
->openInNewTab()
];
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
use Kanuni\FilamentCards\Enums\Alignment;
class ControlPanel extends CardsPage
{
// Change alignment of card's title, icon and description
protected static Alignment $itemsAlignment = Alignment::Start;
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
use Filament\Support\Enums\IconSize;
class ControlPanel extends CardsPage
{
// Change the size of card's icons
protected static IconSize $iconSize = IconSize::Small;
}
use Kanuni\FilamentCards\Filament\Page\CardsPage;
use Filament\Support\Enums\IconSize;
class ControlPanel extends CardsPage
{
// Inline the card's icon with title
protected static bool $iconInlined = true;
}
namespace App\Filament\Pages;
use Filament\Pages\Page;
use Kanuni\FilamentCards\Concerns\HasOriginBreadcrumb;
class CompanySettings extends Page
{
use HasOriginBreadcrumb;
}