Основы
Компонент Card позволяет создавать карточки элементов.
make(Closure|string $title = '',Closure|array|string $thumbnail = '',Closure|string $url = '#',Closure|array $values = [],Closure|string|null $subtitle = null,bool $overlay = false,array $escapeValueLabels = [],?bool $escapeLabel = null,)make(Closure|string $title = '',Closure|array|string $thumbnail = '',Closure|string $url = '#',Closure|array $values = [],Closure|string|null $subtitle = null,bool $overlay = false,array $escapeValueLabels = [],?bool $escapeLabel = null,)
$title- заголовок,$thumbnail- изображения,$url- ссылка,$values- список значений,$subtitle- подзаголовок,$overlay- режим overlay позволяет разместить шапку и заголовки поверх изображения карточки,$escapeValueLabels- настройки экранирования подписей отдельных ключей списка значений,$escapeLabel- экранирование подписей значений по умолчанию для этой карточки;nullиспользует глобальную настройку.
use MoonShine\UI\Components\Card;Card::make(title: fake()->sentence(3),thumbnail: 'https://moonshine-laravel.com/images/image_1.jpg',url: fn() => 'https://cutcode.dev',values: ['ID' => 1, 'Author' => fake()->name()],subtitle: date('d.m.Y'),)
use MoonShine\UI\Components\Card;Card::make(title: fake()->sentence(3),thumbnail: 'https://moonshine-laravel.com/images/image_1.jpg',url: fn() => 'https://cutcode.dev',values: ['ID' => 1, 'Author' => fake()->name()],subtitle: date('d.m.Y'),)
<x-moonshine::card:title="fake()->sentence(3)":thumbnail="'https://moonshine-laravel.com/images/image_1.jpg'":url="'https://cutcode.dev'":subtitle="'test'":values="['ID' => 1, 'Author' => fake()->name()]">{{ fake()->text(100) }}</x-moonshine::card><x-moonshine::card:title="fake()->sentence(3)":thumbnail="'https://moonshine-laravel.com/images/image_1.jpg'":url="'https://cutcode.dev'":subtitle="'test'":values="['ID' => 1, 'Author' => fake()->name()]">{{ fake()->text(100) }}</x-moonshine::card>
Заголовок
Метод header() позволяет установить заголовок для карточек.
header(Closure|string $value)header(Closure|string $value)
$value- столбец или замыкание, возвращающее html-код.
Card::make(title: fake()->sentence(3),)->header(static fn() => Badge::make('new', 'success'))Card::make(title: fake()->sentence(3),)->header(static fn() => Badge::make('new', 'success'))
Кнопки
Чтобы добавить кнопки на карточку, вы можете использовать метод actions().
actions(Closure|string $value)actions(Closure|string $value)
Card::make(title: fake()->sentence(3),)->actions(static fn() => ActionButton::make('Edit', route('name.edit')))Card::make(title: fake()->sentence(3),)->actions(static fn() => ActionButton::make('Edit', route('name.edit')))
Подзаголовок
subtitle(Closure|string $value)subtitle(Closure|string $value)
$value- столбец или замыкание, возвращающее подзаголовок.
Card::make(title: fake()->sentence(3),)->subtitle(static fn() => 'Subtitle')Card::make(title: fake()->sentence(3),)->subtitle(static fn() => 'Subtitle')
Ссылка
Метод url() позволяет установить ссылку для заголовка карточки.
url(Closure|string $value)url(Closure|string $value)
$value- url или замыкание.
Card::make(title: fake()->sentence(3),thumbnail: '/images/image_1.jpg',)->url(static fn() => 'https://cutcode.dev')Card::make(title: fake()->sentence(3),thumbnail: '/images/image_1.jpg',)->url(static fn() => 'https://cutcode.dev')
Миниатюры
Чтобы добавить карусель изображений на карточку, вы можете использовать метод thumbnail().
thumbnail(Closure|string|array $value)thumbnail(Closure|string|array $value)
Card::make(title: fake()->sentence(3),)->thumbnail(['/images/image_2.jpg','/images/image_1.jpg',])Card::make(title: fake()->sentence(3),)->thumbnail(['/images/image_2.jpg','/images/image_1.jpg',])
Список значений
Чтобы добавить список значений на карточку, вы можете использовать метод values().
values(Closure|array $value)values(Closure|array $value)
$value- ассоциативный массив значений или замыкание.
Card::make(title: fake()->sentence(3),)->values(['ID' => 1,'Author' => fake()->name(),])Card::make(title: fake()->sentence(3),)->values(['ID' => 1,'Author' => fake()->name(),])
Подписи значений
Ключи списка значений экранируются согласно глобальной настройке escapes.label, включённой по умолчанию. Используйте escapeValueLabels(), чтобы переопределить экранирование для отдельных ключей. false разрешает HTML, а true включает экранирование даже при отключённом глобальном значении.
use MoonShine\UI\Components\Card;Card::make(values: ['<strong>Author</strong>' => 'Alice'])->escapeValueLabels(['<strong>Author</strong>' => false]);
use MoonShine\UI\Components\Card;Card::make(values: ['<strong>Author</strong>' => 'Alice'])->escapeValueLabels(['<strong>Author</strong>' => false]);
Ключи в данных остаются неизменными. Настройка управляет подписями, а не значениями, отображаемыми рядом с ними.
Также можно передать escapeLabel: false в Card::make(), чтобы разрешить HTML во всех подписях значений этой карточки. Настройки отдельных ключей из escapeValueLabels() имеют приоритет. В Blade используйте :escape-label и :escape-value-labels. Переопределения values, escapeLabel и escapeValueLabels, переданные через customView(), также учитываются.