nawasara / ui
UI components, layouts, theme, and shared Livewire concerns for the Nawasara superapp framework.
v0.1.29
2026-09-17 08:17 UTC
Requires
- php: ^8.1
- ext-zip: *
- illuminate/support: ^10.0|^12.0
- livewire/livewire: ^3.0
- maatwebsite/excel: ^3.1.69
- mallardduck/blade-lucide-icons: ^1.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-17 08:17:24 UTC
README
UI components, layouts, theme, and shared Livewire concerns used by every package in the Nawasara superapp framework.
What's inside
Blade components (<x-nawasara-ui::*>)
| Component | Purpose |
|---|---|
button |
Variant + color + size system, optional icon slot, permission gate |
table |
Standardised table shell with title, action slot, and search |
modal |
Alpine-driven modal with header/footer slots, opened via modal-open:{id} event |
modal-confirm-delete |
Pre-built confirmation modal |
dropdown-menu-action |
Per-row action dropdown with permission filtering |
filter-bar |
Search input + filter chips slot, used above every list page |
filter-dropdown |
Wired filter dropdown that resets pagination |
filter-chip |
Removable chip showing the active filter value |
bulk-action-bar |
Shows up when rows are selected; hosts bulk action buttons |
skeleton, skeleton-stats, skeleton-table |
Loading placeholders that match the real layout |
dark-mode-toggle |
Sun/moon toggle wired to a session preference |
workspace-switcher |
Top-level workspace dropdown for grouped sidebar navigation |
brand-logo |
Renders the configured brand logo with a height variant |
page.title, page.container |
Layout helpers for consistent page structure |
form.input, form.select, form.textarea, form.checkbox, form.label |
Themed form primitives |
Layouts
layouts.app: main authenticated layout with sidebar, topbar, and toasterlayouts.guest: login / public layout
Livewire concerns
Nawasara\Ui\Livewire\Concerns\HasBrowserToast: gives any Livewire componenttoastSuccess / toastError / toastWarning / toastInfomethods that fire on two channels (Livewire event plus JS payload) so toasts always show, even in AJAX-only requests where session flash never reaches the page
Services
WorkspaceManager: resolves the active workspace from the request URL, merges menu entries from every package that declares the sameworkspacekey, and exposesaccessible()for permission-filtered nav
Installation
composer require nawasara/ui
Auto-discovered. Most consumers will register Tailwind to scan this package's views:
// tailwind.config.js content: [ './resources/**/*.blade.php', './vendor/nawasara/*/resources/**/*.blade.php', ],
Author
Pringgo J. Saputro <odyinggo@gmail.com>
License
MIT