omnia-digital/library

A comprehensive Laravel Livewire component library with UI components, traits, and third-party integrations

Fund package maintenance!
omnia-digital

Installs: 4 757

Dependents: 4

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 0

Open Issues: 4

Language:Blade

pkg:composer/omnia-digital/library


README

Latest Version on Packagist Total Downloads

A comprehensive Laravel Livewire component library with UI components, traits, and third-party integrations.

Requirements

  • PHP 8.2+
  • Laravel 10.x or 11.x
  • Livewire 2.10+ or 3.x

Features

Livewire Traits

Reusable traits to add common functionality to your Livewire components:

  • WithModal - Modal dialog management
  • WithNotification - Toast and notification handling
  • WithSorting - Data sorting functionality
  • WithCachedRows - Row caching for improved performance
  • WithStepWizard - Multi-step wizard navigation
  • WithStripe - Stripe payment integration
  • WithPlace - Google Places & Mapbox location picker
  • WithMap - Interactive map functionality
  • WithLayoutSwitcher - Grid/list layout toggling
  • WithInlineInput - Inline editing support
  • WithValidationFails - Enhanced validation error handling

Blade Components

Ready-to-use UI components:

  • Layout - Dropdown, Card, Tag, Notification, Confirm dialog
  • Forms - Text input, Date picker, Select, Radio group, Email, Range slider
  • Integrations - Place picker, Stripe payment fields, Media manager

Rich Text Editor

TipTap-powered rich text editor with:

  • Extensive toolbar configuration
  • Bubble and floating menus
  • Tables, code blocks, and formatting options

Third-Party Integrations

  • Google Places API
  • Mapbox API
  • Stripe Payments
  • Canva Button API

Installation

Install the package via composer:

composer require omnia-digital/library

Publish the package assets:

php artisan vendor:publish --tag="library-assets"

Include the assets in your layout:

<html>
<head>
    ...
    @libraryStyles
</head>
<body>
    ...
    @libraryScripts
</body>
</html>

Configure Tailwind CSS in tailwind.config.js:

module.exports = {
    content: [
        ...
        './vendor/omnia-digital/library/resources/views/**/*.blade.php',
    ]
};

Optional Configuration

Config File & Views

Publish the config file:

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

Publish the views for customization:

php artisan vendor:publish --tag="library-views"

Alpine.js Plugins

This package uses focus and collapse plugins. Add them to your resources/js/app.js:

import Alpine from 'alpinejs';
import focus from '@alpinejs/focus';
import collapse from '@alpinejs/collapse';

Alpine.plugin(focus)
Alpine.plugin(collapse)

window.Alpine = Alpine;

Alpine.start();

Media Manager

To use the Media Manager component, install the companion package: omnia-digital/media-manager

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.

Credits

Support

For questions and support, visit omnia.church or email info@omnia.church.

License

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