php-framework/packages/core-admin
2026-01-26 16:59:47 +00:00
..
changelog/2026/jan feat(search): implement global search component with keyboard navigation and recent searches 2026-01-26 14:24:15 +00:00
resources/views/components/forms feat(search): implement global search component with keyboard navigation and recent searches 2026-01-26 14:24:15 +00:00
src feat(search): implement global search component with keyboard navigation and recent searches 2026-01-26 14:24:15 +00:00
composer.json Add core components and initial setup for the PHP framework 2026-01-21 14:11:45 +00:00
README.md feat(api): add API versioning support with middleware for version parsing and sunset headers 2026-01-26 16:59:47 +00:00
TODO.md feat(api): add API versioning support with middleware for version parsing and sunset headers 2026-01-26 16:59:47 +00:00

Core Admin Package

Admin panel components, Livewire modals, and service management interface for the Core PHP Framework.

Installation

composer require host-uk/core-admin

Features

Admin Menu System

Declarative menu registration with automatic permission checking:

use Core\Front\Admin\Contracts\AdminMenuProvider;

class MyModuleMenu implements AdminMenuProvider
{
    public function registerMenu(AdminMenuRegistry $registry): void
    {
        $registry->addItem('products', [
            'label' => 'Products',
            'icon' => 'cube',
            'route' => 'admin.products.index',
            'permission' => 'products.view',
        ]);
    }
}

Livewire Modals

Full-page Livewire components for admin interfaces:

use Livewire\Component;
use Livewire\Attributes\Title;

#[Title('Product Manager')]
class ProductManager extends Component
{
    public function render(): View
    {
        return view('admin.products.manager')
            ->layout('hub::admin.layouts.app');
    }
}

Form Components

Reusable form components with authorization:

  • <x-forms.input> - Text inputs with validation
  • <x-forms.select> - Dropdowns
  • <x-forms.checkbox> - Checkboxes
  • <x-forms.toggle> - Toggle switches
  • <x-forms.textarea> - Text areas
  • <x-forms.button> - Buttons with loading states
<x-forms.input
    name="name"
    label="Product Name"
    wire:model="name"
    required
/>

Extensible search provider system:

use Core\Admin\Search\Contracts\SearchProvider;

class ProductSearchProvider implements SearchProvider
{
    public function search(string $query): array
    {
        return Product::where('name', 'like', "%{$query}%")
            ->take(5)
            ->get()
            ->map(fn($p) => new SearchResult(
                title: $p->name,
                url: route('admin.products.edit', $p),
                icon: 'cube'
            ))
            ->toArray();
    }
}

Service Management Interface

Unified dashboard for viewing workspace services and statistics.

Configuration

The package auto-discovers admin menu providers and search providers from your modules.

Requirements

  • PHP 8.2+
  • Laravel 11+ or 12+
  • Livewire 3.0+
  • Flux UI 2.0+

Changelog

See changelog/2026/jan/features.md for recent changes.

License

EUPL-1.2 - See LICENSE for details.