Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ui Laravel Package

nawasara/ui

Nawasara UI provides reusable Blade components, layouts, and shared Livewire concerns for the Nawasara superapp framework—buttons, tables, modals, filters, skeletons, dark mode, workspace navigation, form primitives, plus a WorkspaceManager and reliable browser toast helpers.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Unified Design System for Multi-Module Apps: Ideal for Laravel superapps (modular monoliths) or SaaS platforms where UI consistency across plugins/packages is critical. Eliminates visual drift between modules by enforcing a shared component library (tables, modals, forms).
  • Accelerated MVP for CRUD-Heavy Apps: Cuts 30–50% of front-end dev time for standard admin interfaces (e.g., tables with bulk actions, permission-gated buttons). Example: A SaaS with 20+ CRUD modules could ship 50% faster with pre-built components.
  • Strategic "Buy vs. Build" for Core UI: Buy for tables, modals, and form primitives; build only for domain-specific widgets (e.g., a "patient timeline" for healthcare SaaS). Reduces technical debt in repetitive UI layers.
  • Multi-Tenancy and Workspace Support: The WorkspaceManager and workspace-switcher component enable seamless multi-tenant navigation without custom routing logic. Critical for B2B SaaS or internal tools with departmental workspaces.
  • Livewire-First Interaction Patterns: The HasBrowserToast concern solves a pain point in Livewire apps—toasts that work in AJAX-only flows—without relying on session flash messages. Aligns with real-time UX needs.
  • Dark Mode and Accessibility: Built-in dark-mode-toggle with session persistence reduces dev effort for compliance (WCAG) and user preference support.
  • Roadmap for Plugin Architecture: If planning to sell Laravel plugins (e.g., via Spatie’s marketplace), this package’s permission-gated components and WorkspaceManager provide a scalable foundation for third-party integrations.

When to Consider This Package

Adopt If:

  • Tech Stack Alignment:
    • Using Laravel 10/11/12 + Livewire 3 (package targets these versions).
    • Already committed to Tailwind CSS (or willing to adopt it).
    • Building a modular app (superapp, plugin system, or multi-tenant SaaS).
  • UI Needs:
    • Require standardized tables, modals, and form inputs across modules.
    • Need permission-gated UI elements (e.g., admin-only buttons).
    • Want pre-built solutions for bulk actions, filter bars, and confirmation dialogs.
  • Team Constraints:
    • Front-end resources are limited but need consistent UI.
    • Prioritize speed of iteration over customization for core components.
  • Use Cases:
    • Admin dashboards (e.g., user management, settings panels).
    • Multi-tenant portals (e.g., agency SaaS, internal tools).
    • Livewire-heavy apps (e.g., real-time dashboards, collaborative tools).

Look Elsewhere If:

  • Tech Stack Mismatch:
    • Using non-Tailwind CSS (e.g., Bootstrap, custom CSS).
    • Not using Livewire (e.g., Inertia.js, Vue/Svelte frontends).
    • Laravel version <10 (package may require updates).
  • Customization Requirements:
    • Need highly bespoke components (e.g., industry-specific widgets).
    • UI design diverges significantly from the package’s defaults.
  • Architecture Constraints:
    • Monolithic app with no plans for modularity.
    • No multi-tenancy or workspace needs.
  • Risk Tolerance:
    • Unwilling to adopt a vendor-specific ecosystem (Nawasara framework).
    • No budget for maintenance of a third-party UI layer.
  • Alternatives to Consider:
    • Laravel Jetstream: For simpler auth + UI needs (but lacks superapp features).
    • Custom Blade Components: If avoiding framework lock-in.
    • Tailwind UI / Flowbite: For non-Livewire Tailwind components.
    • Spatie’s Laravel-Permission + Custom UI: If multi-tenancy is needed but not the full superapp pattern.

How to Pitch It (Stakeholders)

For Executives (1 Slide):

Problem: "Our [SaaS/internal tool] is growing, but UI inconsistency across modules slows down development and hurts user experience. Customizing tables, modals, and forms for every feature is time-consuming and error-prone."

Solution: "Nawasara UI gives us a pre-built, consistent UI layer for Laravel/Livewire apps—like Bootstrap for our superapp. It cuts front-end dev time by 50%, ensures every tenant/admin sees the same polished interface, and supports multi-tenancy out of the box. MIT-licensed, so we own our stack."

Outcomes:

  • Faster feature delivery: Standardized components for CRUD interfaces.
  • Scalable multi-tenancy: Workspace-aware navigation and permissions.
  • Reduced UI debt: No more reinventing tables, modals, or form inputs.
  • Future-proof: Aligns with our roadmap for plugin architecture.

Ask: "Approve a 2-week spike to integrate core components (tables, modals, forms) and measure dev time savings. Budget: $X for contractor support if needed."


For Engineering (Deep Dive):

Why This Package?

  1. Component Library:

    • Tables: Standardized shell with title, actions, search, and pagination—no more custom CSS/JS for every table.
    • Modals: Alpine-driven with header/footer slots; consistent UX across the app.
    • Forms: Themed primitives (form.input, form.select) that match our design system.
    • Bulk Actions: Shows only when rows are selected; reduces accidental bulk operations.
  2. Livewire Superpowers:

    • HasBrowserToast: Toasts that work in AJAX-only flows (no more flash-message hacks).
    • Permission gates: Buttons/actions automatically hide if the user lacks access.
  3. Multi-Tenancy Ready:

    • WorkspaceManager: Resolves active workspace from the URL and merges nav menus from all packages.
    • workspace-switcher: Top-level dropdown for grouped sidebar navigation.
  4. Dev Experience:

    • Blade components are auto-discovered—no manual imports.
    • Tailwind-optimized: Just configure tailwind.config.js to scan vendor views.
    • Skeleton loaders: Match real layouts for better perceived performance.

Tradeoffs:

  • Lock-in: Tight coupling with Nawasara’s ecosystem (e.g., modal-open:{id} events).
  • Customization: Overriding components (e.g., layouts.app) may require forking or extending.
  • Risk: 0 stars/dependents means untested in production at scale.

Recommendation: "Start with tables, modals, and form primitives in Module A. If we see >30% dev time savings, expand to other modules. Avoid WorkspaceManager if we’re not using multi-tenancy—it’s overkill for now."


For Design/UX (Alignment):

How This Supports Our Vision:

  • Consistency: Enforces our design system at the code level—no more rogue buttons or inconsistent tables.
  • Interaction Patterns:
    • Modals, dropdowns, and bulk actions match our prototypes (Alpine/Livewire-driven).
    • Dark mode toggle persists across sessions (no more losing preferences).
  • Efficiency Gains:
    • Skeleton components help us mock layouts faster during development.
    • Pre-built chips, filters, and action bars reduce back-and-forth with devs.

Potential Frictions:

  • Limited Customization: If we need non-standard interactions (e.g., custom modal animations), we’ll need to extend or override components.
  • Tailwind Dependency: Ensures visual consistency but may restrict creative freedom for edge cases.

Ask: "Can we use this as a starting point for our UI system, then customize only where needed? For example, keep the table structure but tweak the action buttons to match our new icon set."


For Security/Compliance (Risk Mitigation):

Strengths:

  • Permission Gates: Buttons/actions are automatically hidden based on user roles (reduces accidental data exposure).
  • Session Persistence: Dark mode and workspace preferences sync across devices (better UX for compliance-sensitive users).
  • MIT License: No vendor lock-in risks from proprietary code.

Risks:

  • WorkspaceManager: If not configured securely, could leak workspace IDs in URLs (mitigate with route middleware).
  • Livewire Events: modal-open:{id} events must be sanitized to prevent XSS (use Laravel’s Str::of() validation).

Recommendation: *"Audit the WorkspaceManager and Livewire concerns

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views