Download the PHP package matheusmarnt/livecharts without Composer
On this page you can find all versions of the php package matheusmarnt/livecharts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download matheusmarnt/livecharts
More information about matheusmarnt/livecharts
Files in matheusmarnt/livecharts
Package livecharts
Short Description Elevate your data visualization with reactive charts in Laravel.
License MIT
Homepage https://github.com/matheusmarnt/livecharts
Informations about the package livecharts
LiveCharts
Reactive chart abstraction for Laravel — pure PHP API, multi-engine rendering, Livewire delivery.
LiveCharts unifies ApexCharts and Chart.js behind a single fluent PHP API. Define charts in PHP, render them with one Livewire component, and update them reactively from your application state — no JavaScript boilerplate, no engine-specific configuration leaking into your views.
Features
- Fluent + class-based builders —
LiveCharts::line()->labels(...)->dataset(...)orclass extends Chart - 18 chart types — line, bar, area, pie, donut, radar, scatter, bubble, heatmap, range bar, radial bar, polar area, box plot, treemap, candlestick, matrix, sankey, plus a generic factory
- Multi-engine — ApexCharts and Chart.js out of the box, with
LiveCharts::registerEngine()for custom adapters - Livewire-native rendering — single
<livewire:livecharts :chart="$chart" />component handles mount, hydration, and re-render - Reactive updates — bind chart data to Livewire properties; the component re-renders when state changes
- Polling —
Chart::poll(5000)+wire:poll="refresh"integration with alivecharts:refreshedevent for userland data hydration - Interaction events —
onDataPointClick,onZoom,onSelection,onScrollmap directly to Livewire events - Broadcasting — push chart updates over Laravel Echo channels with
broadcastOn()/broadcastAs() - Theme-aware color tokens — 289-case
TwColorenum (all Tailwind v4 families + 4 extensions × 11 shades) withdark:/light:named-arg API:->titleColor(dark: TwColor::Amber300, light: TwColor::Amber600). Charts re-color live on dark-mode toggle — no Livewire roundtrip - Palette presets —
->palette(TwPalette::Vibrant)auto-fills dataset colors from theme-aware preset schemes - Typography —
->titleFont(size: 18, weight: 'bold', family: 'Inter')for title, legend, and tooltip - Theme detection —
auto,light, ordarkmodes; JS observer watches<html class="dark">(orprefers-color-scheme) and re-colors charts live - Local-first assets with CDN fallback — engine bundles (
apexcharts.js,chartjs.js) and Chart.js plugin bundles (treemap/matrix/sankey/financial/luxon/adapter-luxon) ship pre-built inresources/dist; switch betweenlocal,cdn, orbothvia config - Vite build pipeline — lib-mode IIFE outputs for
livecharts.js+ every engine and plugin shim, verified in CI - Stub publishing —
livecharts:installcan publish chart class stubs tostubs/livechartsfor project-level customization - Browser preview —
php artisan livecharts:previewlaunches a gallery of every chart type in your default browser - i18n — ships with
en,pt_BR, andestranslations - Type-safe — PHPStan level 8, PHP 8.2+, strict types throughout
Quick Start
This will:
- Publish
config/livecharts.php - Copy the LiveCharts JS runtime + engine bundles to
public/vendor/livecharts/js(local-first delivery with CDN fallback by default —LIVECHARTS_ASSETS_MODE=both) - Optionally publish chart class stubs to
stubs/livecharts
Note: The default asset mode is
both(local first, CDN fallback). The files inpublic/vendor/livecharts/js/must exist for this to work. If you skip the install step or need to restore the assets after deployment, run:If you prefer no local files at all, set
LIVECHARTS_ASSETS_MODE=cdnin.env— no publish step needed.
Then build a chart and render it:
Place the asset directive once in your layout, before @livewireScripts and before the closing </body> tag (or in the <head> when using a Blade layout with @extends/@section):
Building Charts
Fluent builder
Every method returns $this, so chains read top-down:
Available factories: line, bar, area, pie, donut, radar, scatter, bubble, heatmap, rangeBar, radialBar, polarArea, boxPlot, treemap, candlestick, matrix, sankey, plus make() for the generic factory.
Class-based charts
Generate a dedicated class for reusable charts:
Stubs: running
livecharts:installand accepting the stubs prompt publishes the generator stub tostubs/livecharts/chart.stub. Edit that file to customize the boilerplate emitted bymake:chart.
Reactive Charts
Polling
The Livewire component subscribes via wire:poll="refresh" and dispatches a browser event on every tick:
Hydrate fresh data inside refresh() on a parent Livewire component, or react to the event on the client.
Click and zoom events
In the parent component:
Broadcasting
Subscribe via Laravel Echo and the chart re-renders when the channel fires.
Multi-Engine
The default engine is apexcharts. Override globally in config/livecharts.php or per chart:
Register a custom adapter at runtime:
Implement Matheusmarnt\LiveCharts\Contracts\EngineAdapter and the engine becomes selectable from any chart.
Commands
| Command | Description |
|---|---|
livecharts:install |
Publish config, copy the JS runtime + engine bundles, optionally publish chart stubs |
make:chart {name} {--type=} {--engine=} |
Generate a new chart class under app/Charts; --type/--engine derived from Chart::TYPES and EngineFactory::names() |
livecharts:preview {--no-open} |
Open the gallery of every chart type at /livecharts/preview in your default browser; --no-open only prints the URL |
Documentation
- Installation guide — step-by-step setup, asset modes, engine selection, customization
Testing
Runs the Pest suite (301 tests) against the package's testbench harness — including 17 Pest arch rules, payload + adapter routing for every chart type, Livewire color-roundtrip tests (Bugs 1 & 5), ApexCharts themed-color path tests, script-stack idempotency tests, wire:navigate asset strategy tests, and integration tests for UC-01 dashboard, UC-02 drill-down, UC-03 polling, and UC-04 multi-tenant flows. CI matrix: PHP 8.2-8.5 × Laravel 11/12/13 × Livewire 3/4 × prefer-lowest/stable × Ubuntu/Windows, with a --min=90 coverage gate and PHPStan level 8 enforcement.
Changelog
See CHANGELOG for release history.
Contributing
See CONTRIBUTING for details.
Security
If you discover a security vulnerability, please email [email protected] instead of opening a public issue.
Credits
- Matheus Mariano
- All Contributors
License
MIT — see LICENSE.
All versions of livecharts with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^10.0||^11.0||^12.0||^13.0
livewire/livewire Version ^3.0||^4.0