PHPackages                             macymed-org/filament-phone-number - 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. macymed-org/filament-phone-number

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

macymed-org/filament-phone-number
=================================

Phone number input and column for Filament PHP

v1.0.0.4(1y ago)012proprietaryPHPPHP ^8.1

Since Mar 13Pushed 1y ago2 watchersCompare

[ Source](https://github.com/MACYMED-ORG/filament-phone-number)[ Packagist](https://packagist.org/packages/macymed-org/filament-phone-number)[ Docs](https://github.com/MACYMED-ORG/filament-phone-number)[ RSS](/packages/macymed-org-filament-phone-number/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (3)Used By (0)

Filament Phone Number
=====================

[](#filament-phone-number)

Un plugin personnalisé pour Filament PHP qui ajoute un champ de saisie de numéro de téléphone avec validation et formatage international, ainsi qu'une colonne pour afficher des numéros de téléphone dans les tables.

Fonctionnalités
---------------

[](#fonctionnalités)

- Intégration transparente avec Filament Admin et Filament Forms
- Validation et formatage des numéros de téléphone internationaux
- Support pour les indicatifs et drapeaux de pays
- Masques de saisie personnalisables par pays
- Conversion automatique vers le format E164 pour le stockage
- Affichage formaté dans les colonnes de table Filament

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

[](#installation)

Vous pouvez installer le package via composer:

```
composer require macymed-org/filament-phone-number
```

Publiez ensuite les ressources si nécessaire:

```
# Pour publier la configuration
php artisan vendor:publish --tag="filament-macymed-phone-number-config"

# Pour publier les vues
php artisan vendor:publish --tag="filament-macymed-phone-number-views"
```

Configuration
-------------

[](#configuration)

Après l'installation, vous pouvez configurer le plugin en modifiant le fichier de configuration publié:

```
// config/filament-macymed-phone-number.php

return [
    'default_country' => 'FR',
    'show_flags' => true,
    'save_as_e164' => true,
    'default_format' => 'NATIONAL',
];
```

Utilisation
-----------

[](#utilisation)

### En tant que champ de formulaire

[](#en-tant-que-champ-de-formulaire)

```
use Macymed\FilamentPhoneNumber\Components\PhoneNumberInput;

// Dans votre méthode form()
PhoneNumberInput::make('phone_number')
    ->label('Numéro de téléphone')
    ->required()
    ->defaultCountry('FR')         // Pays par défaut (FR, US, etc.)
    ->showFlags(true)              // Afficher les drapeaux des pays
    ->saveAsE164(true)             // Sauvegarder au format E164
    ->countries([                  // Personnaliser la liste des pays disponibles
        'FR' => ['name' => 'France', 'prefix' => '+33'],
        'BE' => ['name' => 'Belgique', 'prefix' => '+32'],
        // ...
    ])
    ->masks([                      // Personnaliser les masques par pays
        'FR' => '## ## ## ## ##',
        'BE' => '### ### ###',
        // ...
    ]);
```

### En tant que colonne dans une table

[](#en-tant-que-colonne-dans-une-table)

```
use Macymed\FilamentPhoneNumber\Components\PhoneNumberColumn;

// Dans votre méthode table()
PhoneNumberColumn::make('phone_number')
    ->label('Téléphone')
    ->searchable()
    ->sortable()
    ->showFlags(true)              // Afficher les drapeaux des pays
    ->format('NATIONAL')           // Format d'affichage: NATIONAL, INTERNATIONAL, E164
    ->copyable();                  // Permettre la copie du numéro
```

Validation
----------

[](#validation)

Pour valider un numéro de téléphone, vous pouvez utiliser la règle `phone` fournie par le package `propaganistas/laravel-phone` dans vos requêtes:

```
use Illuminate\Foundation\Http\FormRequest;
use Propaganistas\LaravelPhone\Rules\Phone;

class ContactRequest extends FormRequest
{
    public function rules()
    {
        return [
            'phone_number' => [
                'required',
                (new Phone)->country(['FR', 'BE', 'CH']), // Pays autorisés
            ],
        ];
    }
}
```

Personnalisation
----------------

[](#personnalisation)

### Personnalisation des drapeaux et pays

[](#personnalisation-des-drapeaux-et-pays)

Le plugin utilise les helpers `CountryHelper` et `PhoneNumberHelper` pour gérer les pays et les numéros. Vous pouvez étendre ces classes pour personnaliser le comportement.

```
use Macymed\FilamentPhoneNumber\Helpers\CountryHelper;

// Pour obtenir tous les pays disponibles
$countries = CountryHelper::getAllCountries();

// Pour obtenir les masques par défaut
$masks = CountryHelper::getDefaultMasks();

// Pour obtenir le drapeau d'un pays
$flag = CountryHelper::getCountryFlag('FR');
```

### Manipulation des numéros de téléphone

[](#manipulation-des-numéros-de-téléphone)

```
use Macymed\FilamentPhoneNumber\Helpers\PhoneNumberHelper;

// Convertir un numéro en format E164
$e164 = PhoneNumberHelper::formatToE164('01 23 45 67 89', 'FR');

// Analyser un numéro au format E164
$info = PhoneNumberHelper::parseE164('+33123456789');
// Retourne: ['country_code' => 'FR', 'national_number' => '01 23 45 67 89', 'e164' => '+33123456789']

// Appliquer un masque à un numéro
$formatted = PhoneNumberHelper::applyMask('0123456789', '## ## ## ## ##');
// Résultat: '01 23 45 67 89'
```

Mise à jour depuis une version précédente
-----------------------------------------

[](#mise-à-jour-depuis-une-version-précédente)

Si vous mettiez à jour ce package et utilisiez précédemment une version qui faisait référence à `filament-phone-number` dans votre code, vous devrez mettre à jour vos références vers les vues dans vos composants :

```
// Ancien code
protected string $view = 'filament-phone-number::components.phone-number-input';

// Nouveau code
protected string $view = 'filament-macymed-phone-number::components.phone-number-input';
```

Dépendances
-----------

[](#dépendances)

Ce plugin repose sur:

- [Filament PHP](https://filamentphp.com/)
- [brick/phonenumber](https://github.com/brick/phonenumber)

Licence
-------

[](#licence)

Ce package est open-source sous la licence MIT.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance45

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

426d ago

### Community

Maintainers

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

---

Top Contributors

[![dabrokezz](https://avatars.githubusercontent.com/u/2923039?v=4)](https://github.com/dabrokezz "dabrokezz (15 commits)")

---

Tags

laravelphoneinternationalfilament

###  Code Quality

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/macymed-org-filament-phone-number/health.svg)

```
[![Health](https://phpackages.com/badges/macymed-org-filament-phone-number/health.svg)](https://phpackages.com/packages/macymed-org-filament-phone-number)
```

###  Alternatives

[pboivin/filament-peek

Full-screen page preview modal for Filament

253319.6k12](/packages/pboivin-filament-peek)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

124139.3k2](/packages/dotswan-filament-map-picker)[creagia/filament-code-field

A Filamentphp input field to edit or view code data.

58289.3k3](/packages/creagia-filament-code-field)[jibaymcs/filament-tour

Bring the power of DriverJs to your Filament panels and start a tour !

12247.8k](/packages/jibaymcs-filament-tour)[aymanalhattami/filament-context-menu

context menu (right click menu) for filament

9838.0k](/packages/aymanalhattami-filament-context-menu)[tapp/filament-google-autocomplete-field

Filament plugin that provides a Google Autocomplete field

3098.1k](/packages/tapp-filament-google-autocomplete-field)

PHPackages © 2026

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