PHPackages                             internetguru/laravel-feedback - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. internetguru/laravel-feedback

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

internetguru/laravel-feedback
=============================

Simple feedback component for Laravel applications

v7.1.2(1mo ago)01.7k↓32.1%MITPHPPHP ^8.4

Since Apr 10Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/internetguru/laravel-feedback)[ Packagist](https://packagist.org/packages/internetguru/laravel-feedback)[ RSS](/packages/internetguru-laravel-feedback/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (67)Used By (0)

Internet Guru Feedback Component
================================

[](#internet-guru-feedback-component)

A configurable Livewire component for collecting feedback through a customizable form. Built on Internet Guru Laravel Common Component, inheriting its conventions for email logging, footer rendering, and styling.

Features
--------

[](#features)

- Pre-styled, responsive form
- Triggederable via #fragment in URL with form ID
- Attribute-based validation
- reCAPTCHA support (if configured)
- Inline errors and success messaging
- Sends submissions via mail to your target address

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

[](#installation)

1. Install and configure [Livewire](https://livewire.laravel.com/).
2. Install the package via Composer:
    `composer require internetguru/laravel-feedback`
3. Ensure mail configuration is working.
4. Optionally configure reCAPTCHA, see [internetguru/laravel-common](https://github.com/internetguru/laravel-common).

Usage
-----

[](#usage)

### Minimalistic

[](#minimalistic)

**Declaration with only required attributes**

```

```

**Button trigger**

```

```

### Basic

[](#basic)

**Declaration with custom subject, title, description, and fields**

```

```

**Button trigger with custom class**

```

    Contact Us

```

### Advanced

[](#advanced)

**Declaration with duplicate email field and custom attributes**

```

```

**Link trigger**

```

    Do you have questions or need assistance?

        Click here to reach our Helpdesk.

```

Trigger Components
------------------

[](#trigger-components)

The package provides two components to trigger the feedback form. Both components accept a `form-id` prop that must match the feedback form component ID. You can add any additional HTML attributes (classes, styles, etc.) and they will be passed through to the rendered element. The default element content is "Send Feedback" (translated).

**Button trigger**

```

    Feedback

```

**Link trigger**

```

    Click here to contact us.

```

Default values
--------------

[](#default-values)

If optional attributes are omitted, the default values are:

```
[
    'subject' => 'APP-NAME FORM-ID',
    'title' => 'Send Feedback',
    'description' => 'Your feedback helps us improve. Please share your thoughts.',
    'success' => 'Thank you, your message has been sent.',
    'submit' => 'Send',
    'fields' => [
        ['name' => 'message', 'required' => true],
        ['name' => 'email'],
    ],
]
```

Attributes
----------

[](#attributes)

- `id` (required)
    Unique identifier for the component instance. Used to target the component when opening the form.
- `email` (required)
    Destination email address for submitted feedback.
- `name` (required)
    Display name for the email recipient.
- `subject` (optional)
    Subject line for the outgoing email.
- `title` (optional)
    Heading displayed above the form.
- `description` (optional)
    Descriptive text displayed below the title to provide context for the form.
- `submit` (optional)
    Text for the submit button.
- `success` (optional)
    Custom success message displayed after successful form submission. If omitted, the default translation is used.
- `fields` (optional)
    Array defining which fields to render and how to validate them. See "Field items" below.

Field items
-----------

[](#field-items)

- `name` (required)
    Field name. Supported values include: `fullname`, `email`, `message`, `phone`, `subscribe`.
- `required` (optional)
    Whether the field is required (false by default).
- `label` (optional)
    Custom label displayed for the field. If omitted, a reasonable label is generated. For duplicate names, labels will auto-increment when omitted, e.g. Email 1, Email 2.
- `fallback` (optional)
    Fallback value for empty or unchecked optional fields. Defaults to `empty`.
- `error` (optional)
    You can pass an array of rule =&gt; message pairs to define custom error messages for specific validation rules, e.g.:

    ```
    'error' => [
        'required' => 'This field is required.',
        'regex' => 'Invalid phone format.',
        '*' => 'Invalid value.',
    ]
    ```

    If omitted, the default translation is used. Note, a single general error message can be specified as a string:

    ```
    'error' => 'Invalid value.'
    ```
- Additional attributes (optional)
    You can pass any additional HTML attributes dynamically (e.g., `placeholder`, `autocomplete`, `class`, etc.). These will be applied to the field's input element.

**Note:** When an authenticated user opens the form, any `email` and `fullname` fields are automatically prefilled with the user's email address and name respectively. The same fields are also used as the `reply-to` address in outgoing emails if present and valid.

Submission behavior
-------------------

[](#submission-behavior)

By default, the component sends submitted feedback to the configured email address with the specified subject line. You control the form structure by defining fields with validation rules and required flags.

You can listen to Livewire events to extend or replace the default delivery mechanism (for example, calling an API or enqueueing a job). The component renders inline validation errors and success messages.

Customization
-------------

[](#customization)

**Styling**
The component ships pre-styled. You can override classes by publishing the Blade view or wrapping the component in your layout.

**Localization**
The component uses translation keys under the `ig-feedback::` namespace. You can publish the language files to override them.

**Custom names**
You can customize existing fields or add new ones through the configuration file. Each field requires a type, validation rules, and label/error translation keys. You can also specify custom error messages, value translations, and additional HTML attributes. You can now define error messages for specific rules using arrays. Example:

```
// config/ig-feedback.php
return [
    'names' => [
        // modify existing field validation and error message
        'email' => [
            'validation' => 'email:rfc|regex:/@internetguru\.io$/',
            'error_translation_key' => 'form.email.domain_restriction',
        ],
        // add custom field with error message and attributes
        'application' => [
            'type' => 'text',
            'validation' => 'string|min:10|max:30',
            'label_translation_key' => 'form.application.label',
            'error_translation_key' => [
                'min' => 'form.application.validation.min',
                'max' => 'form.application.validation.max',
            ],
        ],
        // add custom field with value translation
        'subscribe' => [
            'type' => 'checkbox',
            'validation' => 'boolean',
            'label_translation_key' => 'ig-feedback::fields.subscribe',
            'value_translation_key' => [
                1 => 'ig-feedback::fields.subscribe_interested',
                0 => 'ig-feedback::fields.subscribe_not_interested',
            ],
        ],
    ],
];
```

Then use it like any other field:

```
:fields="[
    ['name' => 'email'],
    ['name' => 'application'],
]"
```

License &amp; Commercial Terms
------------------------------

[](#license--commercial-terms)

### License

[](#license)

Copyright © 2026 **Internet Guru**

This software is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](http://creativecommons.org/licenses/by-nc-sa/4.0/) license.

> **Disclaimer:** This software is provided "as is", without warranty of any kind, express or implied. In no event shall the authors or copyright holders be liable for any claim, damages or other liability.

### Commercial Use

[](#commercial-use)

The standard CC BY-NC-SA license prohibits commercial use. If you wish to use this software in a commercial environment or product, we offer **flexible commercial licenses** tailored to:

- Your company size.
- The nature of your project.
- Your specific integration needs.

**Note:** In many instances (especially for startups or small-scale tools), this may result in no fees being charged at all. Please contact us to obtain written permission or a commercial agreement.

**Contact for Licensing:**

### Professional Services

[](#professional-services)

Are you looking to get the most out of this project? We are available for:

- **Custom Development:** Tailoring the software to your specific requirements.
- **Integration &amp; Support:** Helping your team implement and maintain the solution.
- **Training &amp; Workshops:** Seminars and hands-on workshops for your developers.

Reach out to us at  — we are more than happy to assist you!

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance90

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 80.6% 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 ~6 days

Total

56

Last Release

54d ago

Major Versions

v2.1.3 → v3.0.02025-10-01

v3.1.3 → v4.0.02025-11-07

v4.2.0 → v5.0.02025-11-14

v5.0.7 → v6.0.02025-12-02

v6.1.10 → v7.0.02026-02-25

PHP version history (2 changes)v0.1.0PHP ^8.1

v6.0.0PHP ^8.4

### Community

Maintainers

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

---

Top Contributors

[![petrzpav](https://avatars.githubusercontent.com/u/1113912?v=4)](https://github.com/petrzpav "petrzpav (290 commits)")[![jiripavelka](https://avatars.githubusercontent.com/u/17675046?v=4)](https://github.com/jiripavelka "jiripavelka (70 commits)")

###  Code Quality

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/internetguru-laravel-feedback/health.svg)

```
[![Health](https://phpackages.com/badges/internetguru-laravel-feedback/health.svg)](https://phpackages.com/packages/internetguru-laravel-feedback)
```

###  Alternatives

[livewire/flux

The official UI component library for Livewire.

9475.0M86](/packages/livewire-flux)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4205.3M84](/packages/livewire-volt)[jantinnerezo/livewire-alert

This package provides a simple alert utilities for your livewire components.

8041.2M20](/packages/jantinnerezo-livewire-alert)[leandrocfe/filament-apex-charts

Apex Charts integration for Filament PHP.

4861.2M8](/packages/leandrocfe-filament-apex-charts)[spatie/laravel-livewire-wizard

Build wizards using Livewire

4061.0M4](/packages/spatie-laravel-livewire-wizard)[spatie/laravel-dashboard

A dashboard for Laravel

568156.1k94](/packages/spatie-laravel-dashboard)

PHPackages © 2026

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