Weave 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

Lazyui Laravel Package

lazyexe/lazyui

LazyUI is a Laravel/PHP package for rapidly building web interfaces with reusable UI components, layouts, and Blade-friendly helpers. It aims to reduce boilerplate and speed up admin panels and application screens.

View on GitHub
Deep Wiki
Context7

Getting Started

This is a patch release (v1.0.7) containing only UI bug fixes to the Form, Dropdown, Nav, and Alert components — no new APIs, no breaking changes. The practical implication is that upgrading is low-risk, but you should re-verify your form error rendering and nav markup afterward, since those are exactly the areas whose behaviour changed.

Minimal setup:

  1. composer require the package (constrain to ^1.0 — patch releases have so far only touched component markup/JS).
  2. Publish what you need: config, Blade views, and front-end assets. Publish views only if you intend to override markup; otherwise let the vendor views stay canonical so upgrades are painless.
  3. Ensure Alpine.js is loaded exactly once and that [x-cloak] { display: none; } exists in your global CSS — the Nav fix and Dropdown/Alert behaviour depend on it.
  4. Add the package's published view paths to your Tailwind content config, then rebuild assets.

First use case: swap your hand-rolled form partial for the Form component and let it own validation error display, then drop the Alert component into your layout for session flash messages. That gives you the highest-value payoff (consistent errors + toasts) with the least markup churn.

Where to look first when something misbehaves: the published/vendor Blade views (to see the actual Alpine directives and conditional error logic), then the component classes for declared props and attribute pass-through.

Implementation Patterns

Form component as the single source of error truth. Wrap fields in the Form component and remove your own @error/$errors->has() blocks. As of v1.0.7 detailed errors render only when they exist, so guarding them yourself is now redundant and risks duplicate output.

Flash messages via Alert, not custom JS. Put one Alert include in your layout and flash to the session from controllers. The v1.0.7 toast fix means the component's own timing/dismiss logic should be trusted; overriding it with bespoke JS is where regressions creep in.

Nav + Dropdown composition. Use Nav for the primary bar (active-state highlighting is internal; leave x-cloak on the container only, since the fix specifically prevents it sticking on active items) and Dropdown for user menus and filters. Keep dropdown state local to the component and avoid nesting dropdowns — Alpine scope collisions are the usual failure mode.

Layout partials over per-page markup. Define components/ wrappers (e.g. a form-field that composes label + input + error) so a future package patch only needs re-verification in one place.

Verify visually, not just with assertions. Component tests catch missing markup, but these are UI fixes; add a thin Dusk/browser pass over a form with validation errors, an open dropdown, and an active nav item before shipping an upgrade.

Version discipline. Pin ^1.0 and read patch notes; treat each patch as "re-run the visual checklist" rather than "no-op".

Gotchas and Tips

  • Duplicated errors after upgrade. If you previously added manual error blocks because the component hid them, remove them now — v1.0.7 changed the conditions under which detailed errors render.
  • Alpine loaded twice. Including Alpine in your app bundle and via package assets causes dropdowns and toasts to toggle twice or not at all. Load it once, before the package scripts.
  • Missing x-cloak CSS rule. Without it, the Nav fix is invisible and you get a flash of the active item on load.
  • Tailwind purging package classes. Published views outside your content globs will silently lose styling in production builds only.
  • Stale caches. view:clear after republishing views, config:clear after touching config, and a fresh asset build after any upgrade.
  • Republishing overwrites customisations. Use --force deliberately and keep a diff of your published views against vendor so you can spot markup changes introduced by patches.
  • Custom toast JS fights the component. If you must customise, hook the component's events rather than reimplementing timers.
  • Extension points: publish and override individual views, or extend the component classes, rather than editing vendor/ — the latter makes the next patch unreviewable.
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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource