{"id":32306646,"url":"https://github.com/sanifhimani/flutter_pin_code_fields","last_synced_at":"2026-02-22T03:42:16.116Z","repository":{"id":47253455,"uuid":"264464840","full_name":"sanifhimani/flutter_pin_code_fields","owner":"sanifhimani","description":"A Flutter package to generate customizable pin code fields.","archived":false,"fork":false,"pushed_at":"2023-05-06T16:40:21.000Z","size":34957,"stargazers_count":10,"open_issues_count":1,"forks_count":13,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T07:08:52.163Z","etag":null,"topics":["customizable","dart","flutter","flutter-package","package","pin-code","pub"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/flutter_pin_code_fields","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanifhimani.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-16T15:17:33.000Z","updated_at":"2025-07-22T20:49:53.000Z","dependencies_parsed_at":"2023-01-23T18:00:12.804Z","dependency_job_id":null,"html_url":"https://github.com/sanifhimani/flutter_pin_code_fields","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sanifhimani/flutter_pin_code_fields","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanifhimani%2Fflutter_pin_code_fields","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanifhimani%2Fflutter_pin_code_fields/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanifhimani%2Fflutter_pin_code_fields/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanifhimani%2Fflutter_pin_code_fields/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanifhimani","download_url":"https://codeload.github.com/sanifhimani/flutter_pin_code_fields/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanifhimani%2Fflutter_pin_code_fields/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29704419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T03:17:42.375Z","status":"ssl_error","status_checked_at":"2026-02-22T03:17:31.622Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customizable","dart","flutter","flutter-package","package","pin-code","pub"],"created_at":"2025-10-23T07:06:38.330Z","updated_at":"2026-02-22T03:42:16.111Z","avatar_url":"https://github.com/sanifhimani.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flutter Pin Code Fields\n\n![GitHub workflow status](https://github.com/sanifhimani/flutter_pin_code_fields/actions/workflows/ci.yml/badge.svg) [![Version](https://img.shields.io/pub/v/flutter_pin_code_fields.svg)](https://pub.dev/packages/flutter_pin_code_fields) ![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)\n\nA Flutter package to generate customizable pin code fields.\n\n⭐️ to show support!\n\n## Features\n* Highly customizable\n* Responsive\n* Supports animations\n* Supports autofocus\n* Supports autofill\n* Supports obscuring text with custom character\n\n# Usage\n\nAdd `flutter_pin_code_fields` as a dependency in your `pubspec.yaml` file.\n\n```yaml\n# pubspec.yaml\n\ndependencies:\n  flutter_pin_code_fields: \u003clatest_version\u003e\n```\n\n```dart\nimport import 'package:flutter_pin_code_fields/flutter_pin_code_fields.dart';\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return PinCodeFields(\n      onComplete(text) =\u003e print(text);\n    );\n  }\n}\n```\n\n# Examples\n\n## Basic\n\nComplete example at `example/lib/basic.dart`.\n\n\u003cimg src=\"https://raw.githubusercontent.com/sanifhimani/flutter_pin_code_fields/master/img/basic.gif\" alt=\"Example - Basic\" title=\"Example - Basic\" width=\"40%\"\u003e\n\n```dart\nPinCodeFields(\n  onComplete(text) =\u003e print(text),\n)\n```\n\n## Obscuring text\n\nComplete example at `example/lib/obscuring_text.dart`.\n\n\u003cimg src=\"https://raw.githubusercontent.com/sanifhimani/flutter_pin_code_fields/master/img/obscuring_text.gif\" alt=\"Example - Obscuring text\" title=\"Example - Obscuring text\" width=\"40%\"\u003e\n\n```dart\nPinCodeFields(\n  length: 6,\n  obscureText: true,\n  obscureCharacter: \"🔴\",\n  onComplete(text) =\u003e print(text),\n)\n```\n\n## Customized\n\nComplete example at `example/lib/customized.dart`.\n\n\u003cimg src=\"https://raw.githubusercontent.com/sanifhimani/flutter_pin_code_fields/master/img/customized.gif\" alt=\"Example - Customized\" title=\"Example - Customized\" width=\"40%\"\u003e\n\n```dart\nPinCodeFields(\n  length: 4,\n  fieldBorderStyle: FieldBorderStyle.square,\n  responsive: false,\n  fieldHeight: 130.0,\n  fieldWidth: 130.0,\n  borderWidth: 5.0,\n  activeBorderColor: Colors.blue,\n  activeBackgroundColor: Colors.white,\n  borderRadius: BorderRadius.circular(20.0),\n  keyboardType: TextInputType.number,\n  inputFormatters: [FilteringTextInputFormatter.digitsOnly],\n  autoHideKeyboard: false,\n  fieldBackgroundColor: Colors.black12,\n  borderColor: Colors.black12,\n  textStyle: TextStyle(\n    fontSize: 30.0,\n    fontWeight: FontWeight.bold,\n  ),\n  onComplete(text) =\u003e print(text),\n)\n```\n\n## Animated\n\nComplete example at `example/lib/animated.dart`.\n\n\u003cimg src=\"https://raw.githubusercontent.com/sanifhimani/flutter_pin_code_fields/master/img/animated.gif\" alt=\"Example - Animated\" title=\"Example - Animated\" width=\"40%\"\u003e\n\n```dart\nPinCodeFields(\n  obscureText: true,\n  obscureCharacter: \"❌\",\n  animation: Animations.rotateRight,\n  animationDuration: Duration(milliseconds: 250),\n  animationCurve: Curves.bounceInOut,\n  switchInAnimationCurve: Curves.bounceIn,\n  switchOutAnimationCurve: Curves.bounceOut,\n)\n```\n\n# Properties\nName | Type                    | Default | Description\n| --- |-------------------------|--|---|\nlength | `int`                   | `4` | Total number of pin code fields.\nmargin | `EdgeInsets`            | `EdgeInsets.all(5.0)` | Margin between the fields.\npadding | `EdgeInsets`            | `EdgeInsets.only(bottom: 5.0)` | Padding within the field.\nfieldHeight | `double`                || Height of the field.\nfieldWidth | `double`                || Width of the field.\nborderWidth | `double`                | `2.0` | Width of the border of the field.\nborderRadius | `BorderRadius`          || Border raduis of the field.\nborderColor | `Color`                 | `Colors.grey`| Border color of the field.\nactiveBorderColor | `Color`                 | `Colors.blue`| Border color of the active field.\nfieldBorderStyle | `FieldBorderStyle`      | `FieldBorderStyle.bottom` | Border styles of the field.\nfieldBackgroundColor | `Color`                 | `Colors.transparent` | Background color of the fields.\nactiveBackgroundColor | `Color`                 | `Colors.transparent` | Background color of the active field.\nenabled | `bool`                  | `true` | Enable/ disable editing the fields.\nresponsive | `bool`                  | `true` | Adjust the size of the fields automatically to the available space.\nautofocus | `bool`                  | `false` | Enable/ disabled autofocus.\ntextStyle | `TextStyle`             || Text style for the fields.\nobscureText | `bool`                  | `false` | Enable/ disable obscuring the text in the fields.\nobscureCharacter | `String`                | `*` | Character to obscure the text in the fields.\nkeyboardType | `TextInputType`         | `TextInputType.visiblePassword` | Keyboard type.\ninputFormatters | `List\u003cTextInputFormatter\u003e` || Input formatters for the fields.\nautoHideKeyboard | `bool`                  | `true` | Hides the keyboard automatically on complete.\nanimation | `Animations`            | `Animations.fade` | Animation for the fields.\nanimationDuration | `Duration`              | `Duration(milliseconds: 150)` | Duration of the animation.\nanimationCurve | `Curve`                 | `Curves.easeInOut` | Animation curve.\nswitchInAnimationCurve | `Curve`                 | `Curves.easeIn` | Switch in animation curve.\nswitchOutAnimationCurve | `Curve`                 | `Curves.easeOut` | Switch out animation curve.\ncontroller | `TextEditingController` || Text editing controller for the fields.\nfocusNode | `FocusNode`             || Focus node for the fields.\nonChange | `ValueChanged\u003cString\u003e`  || Callback that returns text on input.\nonComplete [`required`] | `ValueChanged\u003cString\u003e`  || Callback that returns text on filling all the fields.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanifhimani%2Fflutter_pin_code_fields","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanifhimani%2Fflutter_pin_code_fields","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanifhimani%2Fflutter_pin_code_fields/lists"}