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

Livewire Ui Components Laravel Package

artisanpack-ui/livewire-ui-components

ArtisanPack UI Livewire UI Components offers 70+ responsive, accessible Livewire components styled with daisyUI and Tailwind CSS. Built for the TALL stack with Livewire 3/4 support, customizable themes, and an interactive installer to speed up Laravel app development.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package is a Blade component library (class-based components extending a shared BaseComponent) rendered server-side with Alpine.js sprinkles — not a JS framework, not a headless primitive set. That maps cleanly onto a standard Livewire monolith or modular Laravel app where markup is authored in Blade. It does not fit Inertia/Vue/React front ends, Blade-on-Bootstrap applications, or teams that have deliberately standardized on a different design system. The hard prerequisite is a real Tailwind build pipeline with the daisyUI plugin — daisyUI is a styling contract, not an optional dependency, so every class name the package emits lives in daisyUI's vocabulary and every customization inherits its semantics. The extension-hook layer (artisanpack-ui/hooks, nine seams for classes, attributes, icons, toasts, table columns, themes, modal lifecycle, spotlight) is the most architecturally significant feature from a TPM standpoint: it converts "fork the package to change behavior" into "register a callback," which is the difference between a vendored liability and a governed dependency.

Integration feasibility. Installation is a three-step path (composer require, interactive livewire-ui-components:install, npm run dev), with optional capabilities gated behind separate installs: PhpSpreadsheet for XLSX, laravel-dompdf for PDF, ApexCharts for Chart/Sparkline, flatpickr for DatePicker. That decomposition is sensible — CSV export and all non-chart components work with zero extra weight. Feasibility is therefore high for a Tailwind shop and effectively zero for anyone else.

Technical risk — the dominant factor in this assessment. Objective adoption signals are near-absent: 1 star, 0 dependents, no third-party production references. This is a single-vendor component library with no community backstop. Compounding factors:

Risk Severity Note
License declared NOASSERTION while README claims MIT High Procurement/legal will block until resolved; the mismatch itself is the issue
Fork of MaryUI Medium Upstream improvements must be manually reconciled; divergence grows monotonically
Dependency fan-out on four sibling packages (hooks, icons, accessibility, core) Medium hooks ^1.2 and friends now require illuminate/support ^11+, so Laravel 10 is unreachable regardless of this package's own constraint
Documented asset-path fragility Medium README tells you the vendor import path "would be different and you may need to adjust based on your setup" — a production build that depends on guessing a path is a repeat-incident candidate
CI health Medium Changelog explicitly notes Feature tests run unconditionally because pre-existing Unit-suite failures make the earlier step exit non-zero — tests are knowingly red
Accessibility claims asserted, not evidenced Medium "Accessibility focused" with no conformance statement (WCAG level, audit artifacts)

Key questions for the maintainer / for us.

  • What is the actual license, and will the repository and composer.json be corrected to match the README's MIT claim?
  • What is the maintained version matrix — Tailwind 3 vs 4, daisyUI major, Livewire 3 vs 4, PHP 8.2/8.3/8.4 — and is it CI-enforced?
  • Who owns the package, what is the bus factor, and is there any commitment to backwards compatibility beyond the stated v2.0 guarantee?
  • Are the red Unit tests a backlog item or an accepted state? What is current coverage of the 70+ components?
  • Has any accessibility audit been performed, and against which standard?
  • What is the intended upstream-merge policy relative to MaryUI?

Integration Approach

Stack fit. TALL only: Laravel 11+, Livewire 3 or 4, Tailwind + daisyUI, Alpine. Treat the stack matrix as a hard gate — verify Tailwind/daisyUI compatibility in the spike rather than assuming it, since daisyUI major versions have historically changed class semantics.

Migration path. Two distinct migrations exist and should not be conflated:

  1. From MaryUI — conceptually near drop-in given the fork lineage, but the component prefix differs (<x-artisanpack-button>), so it is a mechanical Blade rewrite plus a theming re-derivation. Historically the v1.0 rename (artisanpack-artisanpack- → artisanpack-) is the kind of churn to expect.
  2. From an existing in-house or third-party kit — do not attempt a wholesale swap. Adopt greenfield surfaces first and let the old kit coexist; Blade component namespaces make this cheap.

Within the package's own line, v1.x → v2.0 is stated as fully backwards compatible, which lowers the cost of starting now and upgrading later.

Compatibility. Pin exact versions in composer.json and package.json, and commit the lockfiles. The risk surface is the joint version matrix across four sibling packages plus the npm-side ApexCharts/flatpickr peer versions plus daisyUI — a floating constraint anywhere in that set can produce a resolved combination nobody has tested. Ensure Tailwind's content globs include the vendor package views or classes will be purged in production builds.

Sequencing.

  1. Spike (1–3 days): fresh Laravel 11/12 + Livewire 3 app, install the package, build the theme via artisanpack:generate-theme, render five components including one chart and one date picker, run npm run build for production and verify the vendor asset paths resolve without manual editing.
  2. Legal/procurement gate: resolve the license discrepancy before any code is committed to a product repository.
  3. Design-system alignment: decide whether daisyUI's token system becomes your design system or is wrapped by yours; register ap.livewireUiComponents.componentClasses / iconAlias filters early so brand divergence is handled at the seam, not by forking.
  4. Pilot: one internal or low-blast-radius feature, 5–10 components, with a thin internal wrapper layer for the components you use most.
  5. Broaden component-by-component, with the wrapper layer as the buffer against upgrades.

Operational Impact

Maintenance. The package ships a changelog, releases, and wiki docs, which is better hygiene than most single-maintainer projects — but there is no LTS commitment, no security policy, and no deprecation process beyond the one documented rename. Budget ongoing effort for: reconciling MaryUI upstream, tracking the four sibling packages, and re-deriving the theme when daisyUI majors move. The hook API is now a stability surface you depend on — pin artisanpack-ui/hooks and treat its major bumps as breaking.

Support. Documentation lives in a GitHub wiki, which is unversioned and not shipped with the code — you cannot read the docs for the version you installed. Support is GitHub issues from a single vendor. There is no commercial support path, so an internal owner must be named. Given 1 star / 0 dependents, assume you will be the first to hit most edge cases.

Scaling. Runtime cost is low: components render server-side, and the hooks layer short-circuits when nothing is subscribed (componentClasses is opt-in per component; componentAttributes fires per render but is cheap when idle). The scaling concern is front-end payload — daisyUI CSS plus ApexCharts plus flatpickr can meaningfully inflate the bundle. Mitigate by keeping charts and date pickers on lazily-loaded routes rather than the base layout. Table/export components can push memory and time limits on large datasets; PhpSpreadsheet and dompdf both need explicit row caps to stay deterministic.

Failure modes to design against.

  • Asset path drift after composer update breaks the sparkline/Alpine import — pin and add a build-time assertion.
  • Tailwind purge silently strips vendor classes when content globs miss the package path; catch with a visual regression check in CI.
  • Theme generator regressions — the 0.3.1 changelog records the generator overwriting dark-mode CSS variables; snapshot the generated CSS.
  • Optional dependency absence surfacing as runtime errors deep inside export/chart components rather than at boot; fail fast at container build.
  • Livewire major upgrade breaking component internals — treat Livewire upgrades as requiring a package compatibility re-verification.
  • License surprise discovered post-integration; this is the failure mode with the highest remediation cost.

Ramp-up. A mid-level Laravel developer already fluent in Tailwind will need roughly 1–2 days to become productive (slot/prop conventions per component, theme command, hook registration); a developer without daisyUI experience needs a week. The real ramp-up cost is governance, not syntax: someone must own the theme, the wrapper layer, the hook registry, and the upgrade cadence. Verify accessibility claims independently — do not inherit them from the README — and add axe or equivalent to CI on any surface that claims conformance.

Verdict. Technically coherent and well-scoped for a TALL-stack app, with an unusually thoughtful extension model. Commercially and operationally immature: the adoption signals, license ambiguity, dependency fan-out, and knowingly-red CI make this a pilot-and-wrap decision, not a platform commitment. Proceed only past the license gate and the production-build spike; adopt behind an internal wrapper layer so the exit cost stays bounded.

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.
ably/pubsub-server
mstfkhazaal/defender
mfonte/base62x
karnoweb/metapilot
tobya/bcsapiwrapper
swalker2/cpanel
vish4395/laravel-translation-manager
morningtrain/economic
teksite/systeminfo-laravel
atomcms/voting
run6/weather
siokas/laravelembeddirectives
adamlien/pkuuids
gilsonsouza/lara-doc-generator
manelgavalda/enrollment_mobile
unabomber/timezone
delatbabel/contacts
astritzeqiri/g-recaptcha
kevinongko/laravel-genode
developeruz/laravel-analytics