Download the PHP package amarenkov/laravel-mutable-content-daisyui without Composer

On this page you can find all versions of the php package amarenkov/laravel-mutable-content-daisyui. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-mutable-content-daisyui

amarenkov/laravel-mutable-content-daisyui

tests Packagist coverage

Blade components on daisyUI for amarenkov/laravel-mutable-content.

Server-rendered screens for models with mutable fields: forms, detail views and tables built from field definitions, with a minimal amount of JavaScript.

Screenshots

A demo bicycle catalog. The pages extend ManageRecords and only set the model.

Table built from the field definitions: search, sorting, column toggles, LOV items with Lucide icons, object titles and values in display units.

Bicycles table

Create and edit modal with inputs chosen by field type.

Bicycle form

Fields with quick filters by class and LOV; the lock marks fields declared in code.

Fields screen

Lists of values: items with icons, added one by one or as a list of labels.

LOV items screen

Stack

Design principles

Requirements

Installation

The package views are styled by the application build. Add daisyUI and the package sources to resources/css/app.css:

Management screens

Screens for fields, their usage in classes, lists of values (LOVs) and their items: an administrator adds new fields without a developer and without migrations. The application registers them inside its own route group, with its middleware and prefix but without a name prefix:

Route names are the MutableContentDaisyUi::ROUTE_* constants: ROUTE_FIELDS, ROUTE_FIELD_USAGE, ROUTE_LOVS and ROUTE_LOV_ITEMS. The screens are full-page Livewire components rendered in the layouts::app layout, which gets the page title as $title. Another layout is set in the config (php artisan vendor:publish --tag=mutable-content-daisyui-config) or with MUTABLE_CONTENT_DAISYUI_LAYOUT.

Every change made on the screens lands in the change log with the user and the page path. System records cannot be deleted, a LOV used in fields cannot be deleted or have its code changed, and items can be added as a list of labels. Fields are filtered by type, LOV and object class and by quick filters (unbound, per class, per LOV); field type settings (display unit, link by code, unlisted codes, allow 0) are edited on the field and overridden on its usage.

Building screens

Extend Livewire\ManageRecords and set the model: the table (search, sorting, filters, pagination, column toggles), the create and edit modal and deletion are built from the field definitions.

columns(), tableFilters() and inputs() return arrays keyed by field code, so a single column, filter or input is adjusted without rebuilding the list. A model refusing a save or a deletion with a DomainException, or a unique constraint violation, is shown to the user as a notification and the form stays open.

Icons

The package uses Lucide. An icon field stores a Lucide icon name, such as flame; values of other icon sets are not shown. Field type icons are defined in the package: an icon set for a field type item in the admin panel takes precedence when it is a Lucide name. Default icons for the items of other LOVs are added with IconHelper::addLovItemIcons($lovCode, [$itemCode => 'icon-name']).

Components

Screens are built from the package Blade components, e.g. <x-mutable-content-daisyui::button>, ::modal, ::field, ::input, ::select, ::textarea, ::toggle, ::checkbox, ::combobox, ::segmented, ::dropdown, ::collapse, ::badge, ::status, ::card, ::table, ::breadcrumbs, ::notifications.

::combobox replaces selects in forms and filters: a list with search (in the browser for short lists, on the server for long ones such as objects and icons), option icons, keyboard navigation and ARIA combobox roles. The list is a native popover, so it is not clipped by modals. Notifications are sent with the mutable-content-notify browser event (type, title, body).

::segmented is a group of buttons for one value (a radio group bound with model, live by default). ::status is a small status dot (variant, pulse). ::card wraps a table as is; with title, an actions slot or body it gets padding, the title and the actions in a row.

Translations

UI strings are in lang/{en,ru}/ui.php under the mutable-content-daisyui namespace. Publish them to override:

License

MIT. See LICENSE.


All versions of laravel-mutable-content-daisyui with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
amarenkov/laravel-mutable-content Version ^0.7.2
livewire/livewire Version ^4.0
mallardduck/blade-lucide-icons Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package amarenkov/laravel-mutable-content-daisyui contains the following files

Loading the files please wait ...