Skip to content

Flutter 3.47.2 : InputDecoration() #496

Description

@stephane-couget

Hello, Great job on this package, it is really useful!

Describe the bug
Upgrading to Flutter 3.47.0+ requires using the material_ui import instead of material.

In the plugin, using InputDecoration for the inputDecoration and searchBoxDecoration properties creates a conflict. We are forced to alias the material import to use InputDecoration, which ultimately triggers an error because the plugin itself relies on dependencies that are too old for the changes required by Flutter.
Package version
I am using version 0.7.5 of intl_phone_number_input.
Flutter version
Your current version of the Flutter SDK [e.g. 1.11]
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.47.2, on Linux Mint 22.3 7.0.0-30-generic, locale fr_FR.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 37.0.0)
Android Studio Project Settings
Android Studio Quail 3 | 2026.1.3 Patch 1
Build #AI-261.26222.65.2613.16025427, built on August 6, 2026
Project And Settings
Android Platform only : settings_gradle.kts :

plugins {
    id("dev.flutter.flutter-plugin-loader") version "1.0.0"
    id("com.android.application") version "9.1.0" apply false
    id("org.jetbrains.kotlin.android") version "2.4.0" apply false
}

according to https://flutter.dev/blog/whats-new-in-flutter-3-47, Android Dependency Matrix Header
on code, error editor on InputDecoration is The argument type 'InputDecoration' can't be assigned to the parameter type 'InputDecoration?'

searchBoxDecoration: const flutter_material.InputDecoration(
              labelText: 'Rechercher un pays',
              hintText: 'Nom ou indicatif...',
              prefixIcon: Icon(Icons.search),
              border: flutter_material.OutlineInputBorder(),
            ),
            inputDecoration: flutter_material.InputDecoration(
              labelText: 'Numéro de téléphone',
              border: customBorder,
              // Bordure active lorsque le champ n'a pas le focus mais contient du texte
              enabledBorder: customBorder,
              // Bordure active lorsque le champ a le focus
              focusedBorder: customBorder,
            ),

    final flutter_material.InputBorder customBorder = _hasInput
        ? const flutter_material.OutlineInputBorder(
            borderSide: flutter_material.BorderSide(
              color: Colors.amber,
              width: 2.0,
            ),
          )
        : const flutter_material.OutlineInputBorder(); // Bordure grise standard Flutter quand il n'y a pas de texte

The same thing happens if I remove the import alias to let the material_ui import take over.

Best regards,

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions