{"id":24201256,"url":"https://github.com/ybrusentsov/react-international-phone","last_synced_at":"2026-01-12T05:59:52.902Z","repository":{"id":62232930,"uuid":"543985411","full_name":"ybrusentsov/react-international-phone","owner":"ybrusentsov","description":"☎️ International phone input component for React","archived":false,"fork":false,"pushed_at":"2025-02-20T07:09:10.000Z","size":2039,"stargazers_count":379,"open_issues_count":53,"forks_count":66,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-12T19:09:38.253Z","etag":null,"topics":["format","input","international","number","phone","phone-input","phone-number","react","react-component","react-international-phone","react-phone","tel","telephone","typescript"],"latest_commit_sha":null,"homepage":"https://react-international-phone.vercel.app/","language":"TypeScript","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/ybrusentsov.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-01T10:31:05.000Z","updated_at":"2025-05-12T06:43:37.000Z","dependencies_parsed_at":"2024-01-29T21:26:56.504Z","dependency_job_id":"af5386c3-5f50-4803-bb89-3160b4a5bc21","html_url":"https://github.com/ybrusentsov/react-international-phone","commit_stats":{"total_commits":504,"total_committers":13,"mean_commits":38.76923076923077,"dds":"0.15476190476190477","last_synced_commit":"1a7a0409ef9921326fd7a3480a95195ec2593cd3"},"previous_names":["ybrusentsov/react-international-phone","goveo/react-international-phone"],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ybrusentsov%2Freact-international-phone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ybrusentsov%2Freact-international-phone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ybrusentsov%2Freact-international-phone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ybrusentsov%2Freact-international-phone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ybrusentsov","download_url":"https://codeload.github.com/ybrusentsov/react-international-phone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253805860,"owners_count":21967053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["format","input","international","number","phone","phone-input","phone-number","react","react-component","react-international-phone","react-phone","tel","telephone","typescript"],"created_at":"2025-01-13T21:06:49.877Z","updated_at":"2026-01-12T05:59:52.836Z","avatar_url":"https://github.com/ybrusentsov.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-international-phone\n\n🤙 International phone input component for React\n\n![npm-version](https://img.shields.io/npm/v/react-international-phone)\n![build-status-badge](https://img.shields.io/github/actions/workflow/status/ybrusentsov/react-international-phone/release.yml?branch=master)\n![install-size-badge](https://badgen.net/packagephobia/install/react-international-phone)\n[![codecov](https://codecov.io/gh/ybrusentsov/react-international-phone/branch/master/graph/badge.svg?token=SHEF4U216O)](https://codecov.io/gh/ybrusentsov/react-international-phone)\n![downloads](https://img.shields.io/npm/dt/react-international-phone)\n![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)\n[![stars](https://img.shields.io/github/stars/ybrusentsov/react-international-phone?style=social)](https://github.com/ybrusentsov/react-international-phone)\n\n[Live demo: Storybook](https://react-international-phone-storybook.vercel.app)\n\n![demo-gif](https://user-images.githubusercontent.com/25800848/215350455-0d362e64-d621-4856-a384-ab18d4a0d5fa.gif)\n\n## Features\n\n- 😎 **Easy to integrate** - Just import and use, no need for the initial setup. Integrate with any UI library using a headless hook.\n- 🔍 **Country guessing** - Just start typing and the component will guess the country and format the phone. Country flags are rendered using [Twemoji](https://twemoji.twitter.com/).\n- ✨ **Lightweight** - Low bundle size, no third-party dependencies.\n- 🌈 **Easy to customize** - Customize styles and component behavior using props.\n- ⌨ **Caret position handling** - Typing in the middle of the input, selection and deletion feels naturally.\n- ✔️ **Validation** - Easily validate entered phone numbers using provided functions.\n\n## Installation\n\n```sh\n$ npm i react-international-phone\n```\n\n## Basic usage\n\n```tsx\nimport { useState } from 'react';\nimport { PhoneInput } from 'react-international-phone';\nimport 'react-international-phone/style.css';\n\nconst App = () =\u003e {\n  const [phone, setPhone] = useState('');\n\n  return (\n    \u003cdiv\u003e\n      \u003cPhoneInput\n        defaultCountry=\"ua\"\n        value={phone}\n        onChange={(phone) =\u003e setPhone(phone)}\n      /\u003e\n    \u003c/div\u003e\n  );\n};\n```\n\n## Documentation\n\nFind the full API reference on [official documentation](https://react-international-phone-docs.vercel.app/).\n\n## Migration\n\nYou can encounter some breaking changes after update between major versions.\n\nCheckout migration documents that contain a list of breaking changes and ways to migrate:\n\u003cbr/\u003e\n[Update from v3 to v4](https://react-international-phone-docs.vercel.app/docs/Migrations/migrate-to-v4)\n\u003cbr/\u003e\n[Update from v2 to v3](https://react-international-phone-docs.vercel.app/docs/Migrations/migrate-to-v3)\n\u003cbr/\u003e\n[Update from v1 to v2](https://react-international-phone-docs.vercel.app/docs/Migrations/migrate-to-v2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fybrusentsov%2Freact-international-phone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fybrusentsov%2Freact-international-phone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fybrusentsov%2Freact-international-phone/lists"}