AssetsManager

В MoonShine можно подключить любые ваши css и js файлы.

# Глобальные ассеты

Если необходимо опубликовать ассеты глобально для всех страниц, то можно добавить их в MoonShineServiceProvider.

class MoonShineServiceProvider extends MoonShineApplicationServiceProvider
{
//...
 
public function boot(): void
{
parent::boot();
 
moonShineAssets()->add([
'/css/style.css',
'/js/main.js',
]);
}
 
//...
}

# Ассеты для ресурса/страницы

Ассеты можно добавить для ресурса или для отдельной страницы, для этого необходимо указать свойство $assets.

class Post extends ModelResource
{
protected array $assets = [
'/css/style.css',
'/js/main.js',
];
 
//...
}
class MyPage extends Page
{
protected array $assets = [
'/css/style.css',
'/js/main.js',
];
 
//...
}

# Vite

Можно также добавлять свои Vite ассеты:

use Illuminate\Support\Facades\Vite;
 
class MoonShineServiceProvider extends MoonShineApplicationServiceProvider
{
//...
 
public function boot(): void
{
parent::boot();
 
moonShineAssets()->add([
Vite::asset('resources/js/app.js')
]);
}
 
//...
}

# Конфигурация

Настроить подключение ассетов можно в файле конфигурации config/moonshine.php

// ...
 
return [
// ...
 
'assets' => [
'js' => [
'script_attributes' => [
'defer',
'type' => 'module'
]
],
'css' => [
'link_attributes' => [
'rel' => 'stylesheet'
]
]
],
 
// ...
];

# Директива

Если Вы хотите использовать стили и скрипты MoonShine за пределами админ-панели, то необходимо подключить директиву @moonShineAssets

<head>
@moonShineAssets
</head>