Compatibility
ozi-ui is designed to work across different stacks, frameworks and environments — from plain PHP to modern Laravel, from Bootstrap to Tailwind.
Dependencies
As of v2.0, ozi-ui depends on no third-party library. The core, modules, components and behaviors are pure JavaScript.
| Dependency |
Required? |
Notes |
| None |
— |
ozi-ui v2 runs on its own — a single <script src> is enough |
| jQuery |
❌ Optional |
Only needed if you enable the v1 compatibility shims |
| Build step |
❌ Optional |
Distributed as an IIFE — Webpack, Vite and npm are unnecessary |
Coming from v1? ozi-ui v1 was built on jQuery 3.6+. In v2 jQuery is no longer a
requirement and is not loaded at boot. If your app relied on the jQuery that "came along",
include it yourself. See the migration guide.
Frontend
| Framework |
Support |
Notes |
| Livewire 4 |
✅ Native |
Tested with v4.2.4 — adapter with native dispatch on wire:model |
| Livewire 3 |
✅ Native |
Automatic afterRender hooks — full integration |
| Alpine.js |
✅ Great |
Consume events directly via x-on:ozi:change="$event.detail" |
| Vue.js |
✅ Great |
JS plugins work as external utilities |
| React |
✅ Good |
Initialize via useEffect after component mount |
| Vanilla JS |
✅ Full |
Works without any framework |
Backend
Installation methods
| Method |
Description |
| Composer |
Install via package manager — composer require ozi-ui/core:^2.0 |
| Manual |
Copy files to the project and reference via <script src="./plugins/ozi-ui/ozi.js"></script> |
| Framework |
Support |
Composer |
Manual |
Notes |
| Laravel 13 |
✅ Native |
✅ |
✅ |
Fully supported |
| Laravel 12 |
✅ Native |
✅ |
✅ |
Fully supported |
| Laravel 11 |
✅ Native |
✅ |
✅ |
Fully supported |
| Laravel 10 |
✅ Native |
✅ |
✅ |
ServiceProvider, Blade directives and ozi:check |
| Laravel 9 |
✅ Compatible |
✅ |
✅ |
Works with minimal adjustment in composer.json |
| Laravel 8 |
⚠️ Partial |
❌ |
✅ |
Requires PHP 8.0+ and ServiceProvider adjustment |
| Laravel 7 |
⚠️ Partial |
❌ |
✅ |
JS plugins only — no ServiceProvider |
| Laravel 5/6 |
⚠️ Partial |
❌ |
✅ |
No ServiceProvider — JS plugins via <script src> only |
| Plain PHP |
✅ Full |
❌ |
✅ |
Works in any PHP project with no build step |
| Symfony |
⚠️ Partial |
❌ |
|
JS plugins work — ServiceProvider not available |
| WordPress |
⚠️ Partial |
❌ |
✅ |
JS plugins work |
UI / CSS
A theme is data, not code: CSS variables (--ozi-*) plus a class map. The same JS build serves any theme — you only change oziConf({ theme }).
| Framework |
Support |
Notes |
| Bootstrap 5.x |
✅ Native |
Recommended default |
| Bootstrap 4.x |
✅ Compatible |
Configure classes via oziConf() |
| Tailwind CSS 4 |
✅ Native |
Complete theme in v2 — includes its own overrides.css |
| DaisyUI |
✅ Compatible |
Works on top of Tailwind — same configuration |
| Custom CSS |
✅ Full |
--ozi-* tokens customizable via :root |
| No CSS framework |
✅ Full |
Own visual via CSS tokens |
Environments
ozi-ui v2 is written in ES5 syntax (no transpilation), but relies on modern browser APIs — fetch, WeakMap, AbortController, Element.closest and Element.animate.
| Environment |
Support |
Notes |
| Modern browsers |
✅ Full |
Chrome, Firefox, Safari, Edge |
| Mobile browsers |
✅ Full |
iOS Safari, Android Chrome |
| Internet Explorer 11 |
❌ |
v2 requires fetch/WeakMap/AbortController — use v1 (v1-final) if you need IE11 |
| Node.js (SSR) |
❌ |
Requires DOM — does not work server-side |
Summary
|
ozi-ui v2 |
| Dependencies |
None — pure JS |
| Minimum requirement |
Modern browser (fetch, WeakMap) |
| Recommended Laravel |
10, 11, 12, 13 |
| Recommended PHP |
8.2+ |
| Plain PHP |
✅ Full |
| Livewire |
3 and 4 ✅ |
| Frontend |
Livewire, Alpine, Vue, React, Vanilla |
| UI |
Bootstrap, Tailwind, DaisyUI, Custom CSS |
| Others |
Symfony and WordPress ⚠️ partial |
| License |
MIT — free to use |