# ERAG Open-Source Packages — Full Documentation Reference > Author: Er Amit Gupta > Website: https://erag.in/ > GitHub: https://github.com/eramitgupta --- ## 1. Laravel Disposable Email - **URL**: https://erag.in/laravel-disposable-email/ - **Repository**: https://github.com/eramitgupta/laravel-disposable-email - **Description**: Block disposable, fake, and temporary burner email addresses in Laravel. Includes built-in validation rules, automatic remote blacklist syncing, DNS MX checks, and high-performance cache drivers. - **Install**: ```bash composer require erag/laravel-disposable-email php artisan disposable:sync ``` - **Usage**: ```php $request->validate([ 'email' => ['required', 'email', 'disposable'], ]); ``` --- ## 2. Laravel Inertia Toast - **URL**: https://erag.in/laravel-inertia-toast/ - **Repository**: https://github.com/eramitgupta/laravel-inertia-toast - **Description**: Send flash toast alerts and confirmation dialog modals directly from Laravel controllers to Inertia.js (Vue 3 and React) with zero boilerplate. - **Install**: ```bash composer require erag/laravel-inertia-toast npm install @erag/laravel-inertia-toast ``` - **Laravel Controller Usage**: ```php return redirect()->back()->withToast('success', 'Profile updated successfully!'); ``` --- ## 3. Laravel Lang Sync Inertia - **URL**: https://erag.in/laravel-lang-sync-inertia/ - **Repository**: https://github.com/eramitgupta/laravel-lang-sync-inertia - **Description**: Automatically export and sync Laravel PHP language translation files to Inertia.js frontends with Vue 3, React, and Svelte i18n helpers. - **Install**: ```bash composer require erag/laravel-lang-sync-inertia php artisan lang:sync ``` - **Frontend Usage (Vue / React / Svelte)**: ```js import { __, trans } from 'laravel-lang-sync-inertia'; __('messages.welcome', { name: 'User' }); ``` --- ## 4. Phone Number Vue - **URL**: https://erag.in/phone-number-vue/ - **Repository**: https://github.com/eramitgupta/phone-number-vue - **Description**: Headless Vue 3 composable (`usePhoneNumber`) for country-aware phone input, dial codes, auto formatting, and validation without external heavy masking libraries. - **Install**: ```bash npm install @erag/phone-number-vue ``` - **Usage**: ```vue ``` --- ## 5. Phone Number React - **URL**: https://erag.in/phone-number-react/ - **Repository**: https://github.com/eramitgupta/phone-number-react - **Description**: Headless React hook (`usePhoneNumber`) for country-aware phone input, dial codes, auto formatting, and validation in React 18 and 19. - **Install**: ```bash npm install @erag/phone-number-react ``` - **Usage**: ```jsx import { usePhoneNumber } from '@erag/phone-number-react'; const { phone, country, formattedPhone, isValid, handleInput } = usePhoneNumber({ defaultCountry: 'US' }); ``` --- ## 6. Laravel PWA - **URL**: https://erag.in/laravel-pwa/ - **Repository**: https://github.com/eramitgupta/laravel-pwa - **Description**: Transform Laravel applications into Progressive Web Apps (PWA) with automatic web manifest generation, service worker registration, custom install prompts, and dynamic logo uploads. - **Install**: ```bash composer require erag/laravel-pwa php artisan pwa:install ``` - **Blade Directive**: ```blade @pwa ``` --- ## 7. Vue Toastification - **URL**: https://erag.in/vue-toastification/ - **Repository**: https://github.com/eramitgupta/vue-toastification - **Description**: Lightweight, high-performance toast notifications and promise-based confirmation modals for Vue 3 with smooth Apple-style animations and Composition API support. - **Install**: ```bash npm install @erag/vue-toastification ``` - **Usage**: ```vue ``` --- ## 8. Text Editor Vue - **URL**: https://erag.in/text-editor-vue/ - **Repository**: https://github.com/eramitgupta/text-editor-vue - **Description**: A modern, dependency-free Vue 3 rich text editor (WYSIWYG) built with native browser APIs. Features mentions (@), merge tags ({{), templates, image uploads, tables, HTML editing, and customizable menubars. - **Install**: ```bash npm install @erag/text-editor-vue ``` - **Usage**: ```vue ``` --- ## 9. Text Editor React - **URL**: https://erag.in/text-editor-react/ - **Repository**: https://github.com/the-erag/text-editor-react - **Description**: A modern, dependency-free React rich text editor (WYSIWYG) for React 18 & 19 built with native browser APIs. Features mentions (@), merge tags ({{), templates, image uploads, tables, HTML editing, and customizable menubars. - **Install**: ```bash npm install @erag/text-editor-react ``` - **Usage**: ```tsx import { useState } from 'react'; import { Editor } from '@erag/text-editor-react'; import '@erag/text-editor-react/style.css'; export default function App() { const [content, setContent] = useState('

Hello World

'); return ; } ``` --- ## 10. Laravel Inertia Forms - **URL**: https://erag.in/laravel-inertia-forms/ - **Repository**: https://github.com/eramitgupta/laravel-Inertia-forms - **Description**: Define Laravel forms in PHP and render them in Inertia.js with one Form component for Vue, React, or Svelte. Validation rules come from the fields, conditional fields work in the browser and on the server, and file uploads are handled. - **Install**: ```bash composer require erag/inertia-forms npm install @erag/inertia-forms-vue # or -react / -svelte ``` - **Usage**: ```php class CreateUserForm extends Form { protected ?string $actionRoute = 'users.store'; public function fields(): array { return [ TextInput::make('name')->required(), TextInput::make('email')->email()->required(), Submit::make('Create user'), ]; } } // Controller: Inertia::render('Users/Create', ['form' => CreateUserForm::make()]); // Store: public function store(#[Validate] CreateUserForm $form) { ... $form->validated() ... } ``` ```vue
```