performing/laravel-harmony

Headless inertia components
3,335
Install
composer require performing/laravel-harmony
Latest Version:1.3.1
PHP:^8.5
License:MIT
Last Updated:Oct 9, 2026
Links: GitHub  ·  Packagist
Maintainer: giorgiopogliani

Harmony

Collection of classes and vue components to speed your development of InertiaJs applications.

Installation

You can install the package via composer:

composer require performing/laravel-harmony

You can publish the config file with:

php artisan vendor:publish --tag="harmony-config"

Install npm dependencies:

npm install tailwindcss @headlessui/vue @popperjs/core @vueuse/core @zag-js/checkbox @zag-js/combobox @zag-js/popover @zag-js/toast @zag-js/vue

Update your vite configuraiton as follows:

import { defineConfig } from 'vite';
import path from 'node:path';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';
import Components from "unplugin-vue-components/vite";

export default defineConfig({
    resolve: {
        alias: {
            '@': path.resolve(__dirname, 'resources/js'),
            '~': path.resolve(__dirname, 'vendor/performing/laravel-harmony/resources'),
        }
    },
    plugins: [
        Components({
            dirs: [
                // Add other paths before if you want to
                // ovverride components with same name
                'vendor/performing/laravel-harmony/resources/components',
            ],
            extensions: ["vue"],
        }),
        // ...
    ]
})

Update your tsconfig

{
    "compilerOptions": {
        // ...
        "paths": {
            "~/*": ["./vendor/performing/laravel-harmony/resources/*"]
        }
    },
    "include": [
        "vendor/performing/laravel-harmony/resources/**/*"
    ]
}

Usage

use Performing\Harmony\Page;
use Performing\Harmony\Components\TableComponent;

class ModelController 
{
    public function index() : Inertia\Response
    {
        return [
            Page::make('Title')
                ->table(
                    TableComponent::make()
                        ->rows(Model::query())
                        ->columns([ ... ])
                        ->filters([ ... ])
                        ->selectable()
                )
                ->render('harmony::resources/index')
        ]
    }
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

License

The MIT License (MIT). Please see License File for more information.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

641,106,524 9,700
laravel/framework

The Laravel Framework.

593,882,149 34,959
laravel/tinker

Powerful REPL for the Laravel framework.

502,645,077 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

418,291,778 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

394,964,158 4,660

Version History

Version Released PHP Laravel License
1.3.1 ^8.5 MIT
1.3.0 ^8.5 MIT
1.2.2 ^8.5 MIT
1.2.1 ^8.5 MIT
1.2.0 ^8.5 MIT