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

Evo Ui Laravel Package

evolution-cms/evo-ui

Livewire + DaisyUI foundation for modern Evolution CMS manager modules. Provides a manager iframe shell, theme sync, a Livewire 4 bridge, config-driven tables and forms, and shared Blade components for buttons, modals, tabs, and more.

View on GitHub
Deep Wiki
Context7

evo-ui is the Livewire + DaisyUI foundation for modern Evolution CMS manager modules—a technical package, not a standalone module. It lets consumers like sArticles and dIssues render modern manager screens without dragging legacy manager CSS, jQuery, Bootstrap, main.js, Roboto, or CDN assets into the iframe.

  • x-evo::layout manager iframe shell with local CSS/JS and theme sync for evolight, evolightness, evodark, and evodarkness.
  • Livewire 4 bridge for Evolution manager routes, sessions, CSRF, assets, and minimal Laravel-style services.
  • Config-driven tables with filters, sorting, pagination, inline/modal edit, row actions, drag reorder, and session state persistence.
  • Config-driven forms plus provider-backed issue/workspace surfaces used by dIssues.
  • Shared Blade components for buttons, icons, tabs, modals, cards, badges, choices, image fields, and rich editors.
Frequently asked questions about Evo Ui
How do I install evo-ui in an Evolution CMS manager module?
Install it as a Composer dependency in your module with composer require evolution-cms/evo-ui, then run php artisan vendor:publish --tag=evo-ui --force to publish the runtime assets. After that, render manager screens inside the x-evo::layout component and reference shared Blade components such as x-evo::module-tabs. EvoUI is a technical package, not a standalone manager module, so it is meant to be required by modules like sArticles or dIssues.
Does evo-ui require Livewire 4, or does it work with older Livewire versions?
evo-ui targets Livewire 4.x and provides a bridge for Evolution CMS manager routes, sessions, CSRF, assets, and minimal Laravel-style services. It is built for Evolution CMS 3.5.7+ manager modules rather than a full standalone Laravel application. If you are still on an older Livewire major version, plan the upgrade before adopting evo-ui. The Livewire version lock is the main constraint to check against your existing module stack.
How do I render a manager page using the x-evo::layout Blade component?
Wrap your manager screen in x-evo::layout and pass a title; it renders an iframe-safe shell with local CSS and JS assets. Inside the layout you can use shared components like x-evo::module-tabs and Livewire components such as livewire:evo-ui.module-table with a preset and context. This keeps legacy manager CSS, jQuery, Bootstrap, main.js, tabpane.js, Roboto, and CDN dependencies out of the iframe.
How does evo-ui sync Evolution CMS manager themes like evolight and evodark?
evo-ui includes manager theme sync for evolight, evolightness, evodark, and evodarkness, so embedded screens follow the active Evolution manager theme. The layout and shared components apply the theme locally instead of loading legacy manager stylesheets. Recent releases also improve tab typography and thumbnail previews for visual consistency across themes. Review any custom CSS overrides after upgrading, since the theme layer is managed by the package.
Do I still need legacy manager CSS, jQuery, Bootstrap, or CDN assets with evo-ui?
No. evo-ui deliberately avoids pulling legacy manager CSS, jQuery, Bootstrap, main.js, tabpane.js, Roboto, or CDN assets into the iframe. It ships local CSS and JS assets plus DaisyUI-based shared Blade components for buttons, icons, tabs, modals, cards, badges, choices, image fields, rich editors, and table cells. If your module still depends on jQuery plugins, keep those isolated or migrate them.
How do config-driven module tables persist pagination and per-page state?
Config-driven tables support session state persistence and cookie-backed per-page preferences, so pagination and page size survive navigation inside the manager iframe. A recent fix specifically addresses per-page preference persistence for modules with dynamic datasets. Modules with highly dynamic or real-time filters should test whether cookie-backed pagination fits their workflow. Concurrent edits or slow connections can still expose stale table state edge cases.
Can evo-ui tables handle multi-select, inline editing, modal edit, and drag reorder?
Yes. The config-driven module table preset supports table and list views, filters, sorting, pagination, inline edit, modal edit, row actions, drag reorder, and multi-select. These features are declarative and configured through presets rather than custom table JavaScript. Modules built on custom jQuery DataTables should validate assumptions before switching, because multi-select and clean state management can change expected behaviour.
How do I publish evo-ui assets and what happens on hosting without symlink support?
Run php artisan vendor:publish --tag=evo-ui --force after install or update to publish assets under assets/modules/evo-ui. On Evolution CMS 3.5.7+ with symlink publishables, those public files link to the package runtime so CSS and JS stay current after an EvoUI update. On hosting where symlinks are unavailable, the publish command falls back to copying the files, so republish after each update to avoid stale assets.
How can I test evo-ui Livewire components in CI?
evo-ui includes Livewire testing shims that give you a structured way to validate UI behaviour during CI/CD. You can use them to assert that manager components render and respond correctly without a full browser harness. They are especially useful for verifying asset routing and iframe compatibility fixes. Complex modules may still need custom provider adjustments in addition to the shims.
Will evo-ui break existing modules that use custom jQuery DataTables?
Modules that rely on legacy jQuery-based tables may not map cleanly onto evo-ui config-driven tables, especially around multi-select and clean state management. The recommended approach is progressive migration: keep existing screens working while moving new or refactored screens onto evo-ui components. Validate pagination, filtering, and row-action behaviour in a staging manager before switching a production module. Clear deprecation guidance for legacy table code is still an area to watch.
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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle