Installation
composer create-project laravel/laravel your-app-name
cd your-app-name
composer require alexvargash/tall-maryui
php artisan tall:install
First Use Case
/login to test the pre-built maryUI-powered auth system.resources/views/layouts/app.blade.php to customize the base layout.resources/js/app.js to extend Alpine.js or Vite behavior.app/Http/Controllers/Auth/ for single-action controllers.resources/views/components/ for maryUI-based UI blocks.resources/js/ for Vite/Tailwind/Alpine setup.config/tall-maryui.php for package-specific settings.Component-Based UI
resources/views/components/ and modifying.maryui/alert.blade.php for custom alerts.@component('maryui.alert', ['type' => 'success'])
Success message!
@endcomponent
Livewire Integration
Auth/Login) as templates.// app/Http/Livewire/CustomComponent.php
namespace App\Http\Livewire;
use Livewire\Component;
class CustomComponent extends Component {
public function mount() {
// Custom logic
}
public function render() {
return view('livewire.custom-component');
}
}
Asset Customization
vite.config.js to add plugins or adjust build settings.resources/css/app.css to override Tailwind/maryUI styles.Routing
routes/auth.php. Extend or override:// routes/web.php
require __DIR__.'/auth.php'; // Include auth routes
tests/Feature/Auth/ as a baseline.resources/css/app.css:
@layer maryui {
@apply maryui-theme-dark;
}
Asset Compilation
npm install && npm run dev after modifying vite.config.js or resources/js/ will break frontend assets.package.json:
"scripts": {
"postinstall": "npm install && npm run dev"
}
Livewire Component Naming
Auth/Login) requires matching the exact namespace/class name to avoid conflicts.php artisan livewire:discover to regenerate component classes if modified manually.maryUI Component Overrides
resources/views/components/maryui/ to override defaults.vendor/alexvargash/tall-maryui/resources/views/components/maryui/button.blade.php to your resources/views/components/maryui/ folder.Auth Scaffold Removal
php artisan tall:uninstall --auth
resources/views/layouts/app.blade.php for missing @stack or @yield directives.php artisan livewire:discover --force to reset component bindings.npm run dev -- --force.Custom Directives
Add Alpine.js directives in resources/js/app.js:
document.addEventListener('alpine:init', () => {
Alpine.directive('focus', (el) => el.focus());
});
Vite Plugins
Extend vite.config.js with plugins like @vitejs/plugin-laravel:
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
],
});
maryUI Extensions Create custom maryUI components by extending the base classes:
@maryui
<x-maryui.button type="button" class="bg-blue-500">
Custom Button
</x-maryui.button>
@endmaryui
Testing
Extend auth tests in tests/Feature/Auth/ to cover custom logic:
public function test_custom_auth_flow() {
$response = $this->post('/custom-login', ['email' => 'test@example.com']);
$response->assertRedirect('/dashboard');
}
How can I help you explore Laravel packages today?