PHPackages                             aboleon/metaframework-inputable - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. aboleon/metaframework-inputable

ActiveLibrary[Templating &amp; Views](/categories/templating)

aboleon/metaframework-inputable
===============================

Reusable form input components for Laravel applications

2.1.0(4mo ago)0289↓86.1%3MITPHPPHP ^8.3CI passing

Since Jan 12Pushed 3mo agoCompare

[ Source](https://github.com/aboleon/metaframework-inputable)[ Packagist](https://packagist.org/packages/aboleon/metaframework-inputable)[ RSS](/packages/aboleon-metaframework-inputable/feed)WikiDiscussions 1.x Synced today

READMEChangelogDependencies (16)Versions (32)Used By (3)

MetaFramework Inputable
=======================

[](#metaframework-inputable)

[![Tests](https://github.com/aboleon/metaframework-google-places/actions/workflows/tests.yml/badge.svg)](https://github.com/aboleon/metaframework-google-places/actions)[![codecov](https://camo.githubusercontent.com/4e108d94fe474cf32667a89264f115355a925d0a6d06a753e7f546f3dcc77454/68747470733a2f2f636f6465636f762e696f2f67682f61626f6c656f6e2f6d6574616672616d65776f726b2d696e70757461626c652f67726170682f62616467652e737667)](https://codecov.io/gh/aboleon/metaframework-inputable)[![Latest Version on Packagist](https://camo.githubusercontent.com/a0a8a8afc9121a963957ac942d45495886d97754e36052cc9741987de7ddfff0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61626f6c656f6e2f6d6574616672616d65776f726b2d696e70757461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/aboleon/metaframework-inputable)[![Total Downloads](https://camo.githubusercontent.com/d2661e229ec6204707d0d8be0557fd4092bc6dab7ac1dcd4cb8432130842f529/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61626f6c656f6e2f6d6574616672616d65776f726b2d696e70757461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/aboleon/metaframework-inputable)[![PHP Version](https://camo.githubusercontent.com/86b2722605985def6b640dc64f718c8e6ad6d9d75531bf89d12d236480edf264/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f61626f6c656f6e2f6d6574616672616d65776f726b2d696e70757461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/aboleon/metaframework-inputable)[![License](https://camo.githubusercontent.com/654005362b195111df9ba3ede9607f1955f0fd126fe5343e72b29492edaaf4c6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f61626f6c656f6e2f6d6574616672616d65776f726b2d696e70757461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/aboleon/metaframework-inputable)

A Laravel Blade component library for building forms with Bootstrap 5 styling.

Requirements
------------

[](#requirements)

- PHP ^8.3
- Laravel ^11.0 | ^12.0
- Bootstrap 5

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
composer require aboleon/metaframework-inputable
```

The package auto-registers via Laravel's package discovery.

### Publish Assets

[](#publish-assets)

```
# Publish all (translations, assets)
php artisan mfw-inputable:install

# Or force overwrite existing files
php artisan mfw-inputable:install --force
```

Alternative manual publishing:

```
php artisan vendor:publish --tag=mfw-inputable-translations
php artisan vendor:publish --tag=mfw-inputable-assets
```

Available Components
--------------------

[](#available-components)

ComponentDescription`input`Text input with prefix/suffix support`number`Numeric input with min/max/step`textarea`Textarea with `text`, `markdown`, and `html` modes`select`Dropdown with optional groups`checkbox`Single checkbox or switch`radio`Radio button group`datepicker`Date picker (Flatpickr)`input-date-mask`Date input with mask`validation-error`Field error displayUsage
-----

[](#usage)

All components use the `mfw-inputable` namespace:

```

```

### Input

[](#input)

Basic text input with label and validation.

```

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name (supports dot notation)`value`mixed`''`Field value`type`string`'text'`HTML input type`label`string`null`Field label`class`string`''`CSS classes`required`bool`false`Required field`readonly`bool`false`Read-only field`prefix`string`null`Input group prefix`suffix`string`null`Input group suffix`params`array`[]`Extra HTML attributes### Number

[](#number)

Numeric input with constraints.

```

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`value`numeric`null`Field value`min`int`0`Minimum value`max`int`null`Maximum value`step`mixed`'any'`Step increment`prefix`string`''`Input group prefix`suffix`string`''`Input group suffix### Textarea

[](#textarea)

Textarea with three content modes:

- `text` (default): plain textarea
- `markdown`: Cherry Markdown editor
- `html`: TinyMCE editor

```
{{-- Default TEXT mode --}}

{{-- MARKDOWN mode (Cherry) --}}

{{-- HTML mode (TinyMCE full toolbar with class="extended") --}}

{{-- Legacy alias: content-type still maps to mode --}}

```

`mode` accepts:

- `'text'` (default)
- `'markdown'`
- `'html'`
- any unknown value falls back to `'text'`

`contentType` remains available as a legacy alias:

- `true`: infers `html` when `class` contains `simplified` or `extended`; otherwise `text`
- `string`: resolved through `ContentTypeEnum` (`html`, `markdown`, `text`)

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`value`string`null`Content`label`string`null`Field label`class`string`''`CSS classes (`simplified` or `extended` select TinyMCE preset in `html` mode)`mode`string`'text'`Content mode (`text`, `markdown`, `html`)`contentType`boolstringnull`height`int`200`Height in pixels`required`bool`false`Required field`readonly`bool`false`Read-only field`params`array`[]`Extra HTML attributes### Select

[](#select)

Dropdown select with optional grouped options.

```
{{-- Simple select --}}

{{-- With grouped options --}}

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`values`arrayrequiredOptions `[value => label]``affected`mixed`null`Selected value`label`string`''`Field label`nullable`bool`true`Show empty option`defaultselecttext`string`''`Empty option text`group`bool`false`Enable option groups`class`string`null`CSS classes### Checkbox

[](#checkbox)

Single checkbox or Bootstrap switch.

```
{{-- Standard checkbox --}}

{{-- Switch style --}}

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`value`mixed`1`Checkbox value`affected`mixed`null`Current value (bool, Collection, or array)`label`string`null`Checkbox label`switch`bool`false`Use Bootstrap switch styling`class`string`''`CSS classes### Radio

[](#radio)

Radio button group.

```

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`values`arrayrequiredOptions `[value => label]``affected`mixedrequiredSelected value`label`string`null`Group label`default`mixed`null`Default selection`class`string`'my-3 p-0'`Wrapper CSS classes### Datepicker

[](#datepicker)

Date picker using Flatpickr library.

```

{{-- With time picker --}}

```

**Parameters:**

ParameterTypeDefaultDescription`name`stringrequiredField name`value`string`null`Initial date`label`string`null`Field label`format`string`'d/m/Y'`Date format`config`string`null`Flatpickr config string`required`bool`false`Required field### Validation Error

[](#validation-error)

Display validation error for a field.

```

```

Complete Examples
-----------------

[](#complete-examples)

### Example 1: User Registration Form

[](#example-1-user-registration-form)

```

    @csrf

    Register

```

### Example 2: Product Edit Form with Address

[](#example-2-product-edit-form-with-address)

```

    @csrf
    @method('PUT')

    Save Product

```

Translations
------------

[](#translations)

The package includes translations for:

- English (en)
- French (fr)
- Bulgarian (bg)

Translation keys are in the `mfw-inputable-messages` namespace.

Assets
------

[](#assets)

Published to `public/vendor/mfw-inputable/`:

- **Flatpickr** - Date picker library with themes
- **TinyMCE** - Rich text editor
- **Cherry Markdown** - Markdown editor
- **Input Date Mask** - Date masking script
- **Textarea TinyMCE Runtime** - TinyMCE initializer for `html` mode (`components/textarea-content-type.js`)
- **Textarea Cherry Runtime** - Cherry initializer and textarea sync (`components/textarea-cherry.js`)

License
-------

[](#license)

MIT License - Open Source

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance79

Regular maintenance activity

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

32

Last Release

107d ago

Major Versions

0.6.3 → 1.0.02026-01-28

0.1.3 → 1.3.02026-02-26

1.3.0 → 2.0.02026-02-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/bd427eef37726c93700471f509dcb5bd190be25cfa3aa01e388e117d6a353b71?d=identicon)[aboleon](/maintainers/aboleon)

---

Top Contributors

[![aboleon](https://avatars.githubusercontent.com/u/86931678?v=4)](https://github.com/aboleon "aboleon (30 commits)")

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/aboleon-metaframework-inputable/health.svg)

```
[![Health](https://phpackages.com/badges/aboleon-metaframework-inputable/health.svg)](https://phpackages.com/packages/aboleon-metaframework-inputable)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M345](/packages/psalm-plugin-laravel)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[moonshine/moonshine

Laravel administration panel

1.3k253.1k81](/packages/moonshine-moonshine)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

725173.0k14](/packages/tallstackui-tallstackui)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M131](/packages/roots-acorn)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M146](/packages/laravel-cashier)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
