chat-agency / laravel-backend-component
Use Laravel component using php classes
Fund package maintenance!
Chat Agency
Installs: 252
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/chat-agency/laravel-backend-component
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
- phpunit/phpunit: ^11.3
- dev-main
- v0.13.1
- v0.13.0
- v0.12.0
- v0.11.7
- v0.11.6
- v0.11.5
- v0.11.4
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.7
- v0.8.6
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.0
- dev-themes-fixes
This package is auto-updated.
Last update: 2025-12-12 16:54:50 UTC
README
A package that simplifies the creation of dynamic, class-based Laravel components.
This package allows you to build complex, reusable UI components in PHP, making your backend and frontend integration seamless.
Install the package via Composer:
composer require chat-agency/laravel-backend-component
To use the package’s Tailwind themes, configure Tailwind to scan the package's Blade files. The method differs slightly between Tailwind versions:
Tailwind CSS v3:
Add the package's view path to the content array in your tailwind.config.js file:
// tailwind.config.js export default { content: [ './vendor/chat-agency/laravel-backend-component/resources/views/**/*.blade.php', // <- Add this line // other paths ], // ... };
Tailwind CSS v4:
In your main CSS file (e.g., resources/css/app.css), use the @source at-rule to include the package's view path:
@import 'tailwindcss'; /* Add the path for the package's views */ @source '../../vendor/chat-agency/laravel-backend-component/resources/views/**/*.blade.php';
Basic use
Use the MainBackendComponent class to construct your component. Pass the component name/path as the first parameter:
use ChatAgency\BackendComponents\MainBackendComponent; $button = new MainBackendComponent('inline.button');
Alternatively, builders and an enum are available to streamline instance creation:
use ChatAgency\BackendComponents\Builders\ComponentBuilder; use ChatAgency\BackendComponents\Enums\ComponentEnum; $button = ComponentBuilder::make(ComponentEnum::BUTTON);
Since the main component class implements Laravel’s Htmlable interface, you can output the component using simple Blade syntax—no escaping needed:
{{-- This will render the button's HTML --}} {{ $button }}
Components can be composed with other components:
use ChatAgency\BackendComponents\Builders\ComponentBuilder; use ChatAgency\BackendComponents\Enums\ComponentEnum; $divWithButton = $button = ComponentBuilder::make(ComponentEnum::DIV) ->setContent( ComponentBuilder::make(ComponentEnum::BUTTON) ->seContent('Click me!') );
Theming
The package supports theming, primarily designed for use with Tailwind CSS classes. All themes are stored inside resources/views/_themes/tailwind by default, ensuring they are automatically discovered by Tailwind's scanner.
You can apply a theme using the setTheme method:
use ChatAgency\BackendComponents\Builders\ComponentBuilder; use ChatAgency\BackendComponents\Enums\ComponentEnum; $button = ComponentBuilder::make(ComponentEnum::BUTTON) ->setTheme('theme_file', 'theme_name');
Tests
Run tests using Composer:
composer test
If you're submitting a pull request, use the qa command—it runs phpstan, pint, and tests. These are the same checks performed in GitHub Actions
composer qa
License
This package is licensed under the MIT License.