{"_id":"@ammarkhalidfarooq/react-phone-input-2","_rev":"8-1d184baf104c65617b4e104a0d84dc0f","name":"@ammarkhalidfarooq/react-phone-input-2","dist-tags":{"latest":"2.16.5"},"versions":{"2.15.2":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.15.2","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.15.2","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/bl00mber/react-phone-input-2","bugs":{"url":"https://github.com/bl00mber/react-phone-input-2/issues"},"dist":{"shasum":"a708cb7169011309f29d58ea94598f93c55a7633","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.15.2.tgz","fileCount":26,"integrity":"sha512-OM+rtt8ypyvzF2p99UCZ4Scg64/nqQbpK0tA1PZNod2oh/d6s0t7eU42E2PphYeDwg4Nqolidaa9MovoGoKjdA==","signatures":[{"sig":"MEUCIQC2MjCAcdvT5XaaC49RWwFJphzdJadEJxZ9eDzA52Gf7gIgfi+k4AsvRHAgBbEbBLVwR5bqRvNGdOm9MMODWKxxk9E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":426544},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"39f787cf92b2ebb712b98cd8b62a3a7b38b5fde7","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/bl00mber/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.15.2_1735627664935_0.4087122478249725","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.0","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.0","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/bl00mber/react-phone-input-2","bugs":{"url":"https://github.com/bl00mber/react-phone-input-2/issues"},"dist":{"shasum":"48dee3df5d7ac6740774a8b33044d35f14d3bc37","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.0.tgz","fileCount":26,"integrity":"sha512-hOa7YjSmwhgFj1XdyE9P4GOatzexNlhne2neEI4mJ9zcOyoZ1zAth6/N8GF55mxZEu5WgKr0LFPQxXS1ZuXxhw==","signatures":[{"sig":"MEUCIDvpD/UQ3HVEKhg/DkgRGnkulDKQTqPaWRjcLk/IfIVEAiEAqZLWxnO0r+OGyajg0Bmr8yN5quQCy1dNeeiVjgDuCgQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428404},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"39f787cf92b2ebb712b98cd8b62a3a7b38b5fde7","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.0_1735638832663_0.04219129424313195","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.1","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.1","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/bl00mber/react-phone-input-2","bugs":{"url":"https://github.com/bl00mber/react-phone-input-2/issues"},"dist":{"shasum":"9b757babc1f83ce03d434a85b77a394faf8a0f44","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.1.tgz","fileCount":26,"integrity":"sha512-pUQZodzIqEi/DF0vcU55/kR1fg4YIuozNKundlkE616P23QftUCNm/DSqBwti+oEUC3BpsbiS8etPTOTMD4zcQ==","signatures":[{"sig":"MEUCIQCbpmRutad4z+i6hlFN62s931DHytRgXH1jsULMlex3QQIgZgpliAWg+srZs89wmuF+mViWBe58h4TFfRhVOl14BcI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428404},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"54940eb046d331e6d4bf86edcbbefb1a566002b6","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.1_1735639413354_0.2164975579843642","host":"s3://npm-registry-packages-npm-production"}},"2.16.2":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.2","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.2","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/Ace217/react-phone-input-2","bugs":{"url":"https://github.com/Ace217/react-phone-input-2/issues"},"dist":{"shasum":"d43bbc3b2e3b7df1046784a6e0f1044f9c8a5097","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.2.tgz","fileCount":26,"integrity":"sha512-3DSJ6KZh9gO85UbyIDgUhKlobEaYKf5ecT2eRpuhBg26jHSHWE88MqtMPSKH4xvNvu8K1bBm3/ieGR5bc5FHRQ==","signatures":[{"sig":"MEUCIDqj/7JOd5XvzBxcBMywrgav7aHShUnQ0Sg84tSSBpIqAiEApTX1kjkOn79br2qeFT96zIjUtM6y4QmDwrGdv+DjkXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428458},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"690dde4e975ee6f37ac4c355f2868d4ac211ef46","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.2_1735711616285_0.5046218082758567","host":"s3://npm-registry-packages-npm-production"}},"2.16.3":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.3","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.3","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/Ace217/react-phone-input-2","bugs":{"url":"https://github.com/Ace217/react-phone-input-2/issues"},"dist":{"shasum":"a3559dc7df0bea9feb345bdab2eed25aa0752d02","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.3.tgz","fileCount":26,"integrity":"sha512-Vrjv9/29SRxowOEC4onwDVOYRpXcpvlRnlo6NOuadgebyIvfvC0Kri2/B0UawnPC/H/xc0MPYlpjRE0zYnFzmA==","signatures":[{"sig":"MEQCIAkmB8pvniQurW9nlg3RSBsBTGyUGBp4jRdf6bHjo6/VAiAhlg5jjABHqBXpQvrevuE/oGspv03YfFKXlTLmmLzZ8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428469},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"413d823593ee39bea446558bd886ee0a53ec7dd1","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.3_1735730994852_0.2347342377366466","host":"s3://npm-registry-packages-npm-production"}},"2.16.4":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.4","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.4","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/Ace217/react-phone-input-2","bugs":{"url":"https://github.com/Ace217/react-phone-input-2/issues"},"dist":{"shasum":"c3ed41a157999d53c30a4194b7e18ec5c5a47900","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.4.tgz","fileCount":26,"integrity":"sha512-E1063skkYHPsFxIylyiTsHZrF9/PyYkRfCKzhsH3riToG/oWfutGKZJRt6Es9g6+sXZb7HoG02xDmrPLKtOcPQ==","signatures":[{"sig":"MEQCIFJLDIn8hWUJ9LVYzFgLm6jlWGJu9wM9MBWMY52APFS6AiA7d2bbJu8L56s/8WyWA8V0HIPCZ41p7kH3tnnHyWcc9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428536},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"92b36d2b2d783adcf31ef83205b66986b7126911","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.4_1737358963905_0.8719702837873493","host":"s3://npm-registry-packages-npm-production"}},"2.16.5":{"name":"@ammarkhalidfarooq/react-phone-input-2","version":"2.16.5","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","_id":"@ammarkhalidfarooq/react-phone-input-2@2.16.5","maintainers":[{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"}],"contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"homepage":"https://github.com/Ace217/react-phone-input-2","bugs":{"url":"https://github.com/Ace217/react-phone-input-2/issues"},"dist":{"shasum":"e80e33a938280bd53ad661d4708cb3a69e81b0aa","tarball":"https://registry.npmjs.org/@ammarkhalidfarooq/react-phone-input-2/-/react-phone-input-2-2.16.5.tgz","fileCount":26,"integrity":"sha512-sUePDO4gw/LjFJ86xjQ7lywiy6JOk0WcAow0Vj5haWN2tJ+NcT48LxuFVcjLxHLoeWYcGePVnGYAwUwZnDuzVw==","signatures":[{"sig":"MEUCIApHmKVIEML917tFp3nFQ/bBkLlRU1xOVheAw9g3wvI4AiEAoIenqd9iLblLXqnNNCq3x9v9pJyMouul5IcGTkZcO2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428535},"jest":{"globals":{"__DEV__":false},"moduleNameMapper":{"\\.(css|less|stylus|scss)$":"<rootDir>/test/__mocks__/styleMock.js","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)$":"<rootDir>/test/__mocks__/fileMock.js"}},"main":"lib/lib.js","gitHead":"bd0a8c8a8ea8dedca04caf5861e172a6bde04010","scripts":{"test":"jest","build":"cross-env NODE_OPTIONS=--openssl-legacy-provider npm run build:js && npm run build:css","start":"cross-env TARGET=dev_js NODE_ENV=development webpack-dev-server --progress","analyze":"cross-env TARGET=analyze NODE_ENV=production webpack -p --progress","build:js":"cross-env TARGET=build_js NODE_ENV=production webpack -p --progress","build:css":"cross-env TARGET=build_css NODE_ENV=production webpack -p --progress && rimraf ./main.js","start:css":"cross-env TARGET=dev_css NODE_ENV=development webpack-dev-server --progress","prepublishOnly":"npm run build"},"typings":"index.d.ts","_npmUser":{"name":"ammarkhalidfarooq","email":"ammarkfarooq@hotmail.com"},"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"_npmVersion":"10.2.3","description":"A react component to format phone numbers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"classnames":"^2.2.6","prop-types":"^15.7.2","lodash.reduce":"^4.6.0","lodash.memoize":"^4.1.2","lodash.debounce":"^4.0.8","lodash.startswith":"^4.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.0","less":"^3.9.0","react":"^17.0.2","rimraf":"^6.0.1","webpack":"^4.29.5","cross-env":"^7.0.3","react-dom":"^17.0.2","css-loader":"^2.1.0","url-loader":"^1.1.2","@babel/core":"^7.3.3","file-loader":"^5.0.2","less-loader":"^4.1.0","webpack-cli":"^3.2.3","babel-loader":"^8.0.5","style-loader":"^0.23.1","webpack-merge":"^4.2.1","extract-loader":"^3.1.0","react-hot-loader":"^4.6.5","webpack-dev-server":"^3.1.14","react-testing-library":"^6.0.4","babel-preset-react-app":"^7.0.1","webpack-bundle-analyzer":"^3.0.4"},"peerDependencies":{"react":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0","react-dom":"^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-phone-input-2_2.16.5_1737632312711_0.6781892893229262","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-12-31T06:47:44.841Z","modified":"2026-08-12T16:18:37.363Z","2.15.2":"2024-12-31T06:47:45.139Z","2.16.0":"2024-12-31T09:53:52.875Z","2.16.1":"2024-12-31T10:03:33.632Z","2.16.2":"2025-01-01T06:06:56.546Z","2.16.3":"2025-01-01T11:29:55.074Z","2.16.4":"2025-01-20T07:42:44.111Z","2.16.5":"2025-01-23T11:38:32.941Z"},"bugs":{"url":"https://github.com/Ace217/react-phone-input-2/issues"},"author":{"url":"https://github.com/bl00mber","name":"Nick Reiley","email":"bloomber111@gmail.com"},"license":"MIT","homepage":"https://github.com/Ace217/react-phone-input-2","keywords":["react","phone","format","number","input","telephone","javascript","international","tel","localized","material","bootstrap","i18n"],"repository":{"url":"git+https://github.com/Ace217/react-phone-input-2.git","type":"git"},"description":"A react component to format phone numbers","contributors":[{"url":"https://github.com/razagill","name":"Raza Gill","email":"raza.gill@outlook.com"}],"maintainers":[{"email":"ammarkfarooq@hotmail.com","name":"ammarkhalidfarooq"},{"email":"digital@madinah.com","name":"madinah.com"}],"readme":"# React-Phone-Input-2\nHighly customizable phone input component with auto formatting. Also added masks for a lot of countries that were missing in the original package.\n\n[![npm version](https://img.shields.io/npm/v/react-phone-input-2.svg?style=flat)](https://www.npmjs.com/package/react-phone-input-2)\n[![npm downloads](https://img.shields.io/npm/dm/react-phone-input-2.svg?style=flat)](https://www.npmjs.com/package/react-phone-input-2)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/bl00mber/react-phone-input-2#contributing)\n[![travis build](https://travis-ci.org/bl00mber/react-phone-input-2.svg?branch=master)](https://travis-ci.org/bl00mber/react-phone-input-2)\n\n![animation](https://media.giphy.com/media/xiORAWnqoTJDsH0UOI/giphy.gif)\n\n## Installation\n```shell-script\nnpm install react-phone-input-2 --save\n```\n\n## Usage\n```jsx\nimport PhoneInput from 'react-phone-input-2'\nimport 'react-phone-input-2/lib/style.css'\n\n<PhoneInput\n  country={'us'}\n  value={this.state.phone}\n  onChange={phone => this.setState({ phone })}\n/>\n```\n**available styles** - style • high-res • material • bootstrap • semantic-ui • plain\n\n#### [Demo 1 (UI)](https://bl00mber.github.io/react-phone-input-2.html) - [Demo 2 (CSS)](https://bl00mber.github.io/react-phone-input-2-css.html)\n\n![screenshot](https://raw.githubusercontent.com/bl00mber/react-phone-input-2/master/test/screenshot.png)\n\n## Options\n<table>\n  <tr>\n    <th> Name </th>\n    <th> Type </th>\n    <th> Description </th>\n    <th> Example </th>\n  </tr>\n  <tr>\n    <td> country </td>\n    <td> string </td>\n    <td> initial country </td>\n    <td> 'us' | 1 </td>\n  </tr>\n  <tr>\n    <td> value </td>\n    <td> string </td>\n    <td colspan=\"2\"> input state value </td>\n  </tr>\n\n  <tr>\n    <td> onlyCountries </td>\n    <td> array </td>\n    <td> country codes to be included </td>\n    <td> ['cu','cw','kz'] </td>\n  </tr>\n  <tr>\n    <td> preferredCountries </td>\n    <td> array </td>\n    <td> country codes to be at the top </td>\n    <td> ['cu','cw','kz'] </td>\n  </tr>\n  <tr>\n    <td> excludeCountries </td>\n    <td> array </td>\n    <td> array of country codes to be excluded </td>\n    <td> ['cu','cw','kz'] </td>\n  </tr>\n\n  <tr>\n    <td> placeholder </td>\n    <td> string </td>\n    <td colspan=\"2\"> custom placeholder </td>\n  </tr>\n\n  <tr>\n    <td> inputProps </td>\n    <td> object </td>\n    <td colspan=\"2\"> props to pass into the input </td>\n  </tr>\n</table>\n\n<table>\n  <tr>\n    <th> Booleans </th>\n    <th> Default </th>\n    <th> Description </th>\n  </tr>\n  <tr>\n    <td> autoFormat </td>\n    <td> true </td>\n    <td> on/off phone formatting </td>\n  </tr>\n  <tr>\n    <td> disabled </td>\n    <td> false </td>\n    <td> disable input and dropdown </td>\n  </tr>\n  <tr>\n    <td> disableDropdown </td>\n    <td> false </td>\n    <td> disable dropdown only </td>\n  </tr>\n  <tr>\n    <td> disableCountryCode </td>\n    <td> false </td>\n    <td> </td>\n  </tr>\n  <tr>\n    <td> enableAreaCodes </td>\n    <td> false </td>\n    <td> enable local codes for all countries </td>\n  </tr>\n  <tr>\n    <td> enableTerritories </td>\n    <td> false </td>\n    <td> enable dependent territories with population of ~100,000 or lower </td>\n  </tr>\n  <tr>\n    <td> enableLongNumbers </td>\n    <td> false </td>\n    <td> boolean/number </td>\n  </tr>\n  <tr>\n    <td> countryCodeEditable </td>\n    <td> true </td>\n    <td> </td>\n  </tr>\n  <tr>\n    <td> enableSearch </td>\n    <td> false </td>\n    <td> enable search in the dropdown </td>\n  </tr>\n  <tr>\n    <td> disableSearchIcon </td>\n    <td> false </td>\n    <td> hide icon for the search field </td>\n  </tr>\n</table>\n\n```jsx\n<PhoneInput\n  inputProps={{\n    name: 'phone',\n    required: true,\n    autoFocus: true\n  }}\n/>\n```\n\n### Contents\n- [React-Phone-Input-2](#react-phone-input-2)\n  - [Installation](#installation)\n  - [Usage](#usage)\n      - [Demo 1 (UI) - Demo 2 (CSS)](#demo-1-ui---demo-2-css)\n  - [Options](#options)\n    - [Contents](#contents)\n    - [Style](#style)\n    - [Events](#events)\n    - [Regions](#regions)\n    - [Predefined localization](#predefined-localization)\n    - [Local area codes](#local-area-codes)\n      - [Flexible mask](#flexible-mask)\n    - [Custom masks](#custom-masks)\n    - [Custom area codes](#custom-area-codes)\n    - [Other props](#other-props)\n    - [Custom localization](#custom-localization)\n    - [Preserve countries order](#preserve-countries-order)\n  - [Guides](#guides)\n    - [Phone without dialCode](#phone-without-dialcode)\n    - [Check validity of the phone number](#check-validity-of-the-phone-number)\n    - [Clear country](#clear-country)\n    - [Dynamic placeholder](#dynamic-placeholder)\n    - [CDN](#cdn)\n  - [Contributing](#contributing)\n  - [License](#license)\n\n### Style\n<table>\n  <tr>\n    <td> containerClass </td>\n    <td> string </td>\n    <td colspan=\"2\"> class for container </td>\n  </tr>\n  <tr>\n    <td> inputClass </td>\n    <td> string </td>\n    <td colspan=\"2\"> class for input </td>\n  </tr>\n  <tr>\n    <td> buttonClass </td>\n    <td> string </td>\n    <td colspan=\"2\"> class for dropdown button </td>\n  </tr>\n  <tr>\n    <td> dropdownClass </td>\n    <td> string </td>\n    <td colspan=\"2\"> class for dropdown container </td>\n  </tr>\n  <tr>\n    <td> searchClass </td>\n    <td> string </td>\n    <td colspan=\"2\"> class for search field </td>\n  </tr>\n\n  <tr>\n    <td> containerStyle </td>\n    <td> object </td>\n    <td colspan=\"2\"> styles for container </td>\n  </tr>\n  <tr>\n    <td> inputStyle </td>\n    <td> object </td>\n    <td colspan=\"2\"> styles for input </td>\n  </tr>\n  <tr>\n    <td> buttonStyle </td>\n    <td> object </td>\n    <td colspan=\"2\"> styles for dropdown button </td>\n  </tr>\n  <tr>\n    <td> dropdownStyle </td>\n    <td> object </td>\n    <td colspan=\"2\"> styles for dropdown container </td>\n  </tr>\n  <tr>\n    <td> searchStyle </td>\n    <td> object </td>\n    <td colspan=\"2\"> styles for search field </td>\n  </tr>\n</table>\n\n### Events\n<table>\n  <tr>\n    <td> onChange </td>\n    <td> onFocus </td>\n    <td> onBlur </td>\n    <td> onClick </td>\n    <td> onKeyDown </td>\n  </tr>\n</table>\n\nonChange(value, country, e, formattedValue)\n\nCountry data object not returns from onKeyDown event\n\n<table>\n  <tr>\n    <th> Data </th>\n    <th> Type </th>\n    <th> Description </th>\n  </tr>\n  <tr>\n    <td> value/event </td>\n    <td> string/object </td>\n    <td> event or the phone number </td>\n  </tr>\n  <tr>\n    <td> country data </td>\n    <td> object </td>\n    <td> country object { name, dialCode, countryCode (iso2) } </td>\n  </tr>\n</table>\n\n### Regions\n<table>\n  <tr>\n    <th> Name </th>\n    <th> Type </th>\n    <th> Description </th>\n  </tr>\n  <tr>\n    <td> regions </td>\n    <td> array/string </td>\n    <td> to show countries only from specified regions </td>\n  </tr>\n</table>\n\n<table>\n  <tr>\n    <th> Regions </th>\n  </tr>\n  <tr>\n    <td> ['america', 'europe', 'asia', 'oceania', 'africa'] </td>\n  </tr>\n  <tr>\n    <th> Subregions </th>\n  </tr>\n  <tr>\n    <td> ['north-america', 'south-america', 'central-america', 'carribean', 'eu-union', 'ex-ussr', 'ex-yugos', 'baltic', 'middle-east', 'north-africa'] </td>\n  </tr>\n</table>\n\n```jsx\n<PhoneInput\n  country='de'\n  regions={'europe'}\n/>\n\n<PhoneInput\n  country='us'\n  regions={['north-america', 'carribean']}\n/>\n```\n\n### Predefined localization\n`es` Spanish, `de` Deutsch, `ru` Russian, `fr` French<br/>\n`jp` Japanese, `cn` Chinese, `pt` Portuguese, `it` Italian<br/>\n`ir` Iranian, `ar` Arabic, `tr` Turkish, `id` Indonesian<br/>\n`hu` Hungarian, `pl` Polish, `ko` Korean\n\n```jsx\nimport es from 'react-phone-input-2/lang/es.json'\n\n<PhoneInput\n  localization={es}\n/>\n```\n\n### Local area codes\n```jsx\n<PhoneInput\n  enableAreaCodes={true}\n  enableAreaCodes={['us', 'ca']}\n  enableAreaCodeStretch\n/>\n```\n\n#### Flexible mask\nIf `enableAreaCodeStretch` is added, the part of the mask with the area code will not stretch to length of the respective section of phone mask.\nExample: `+61 (2), +61 (02)`\n\n### Custom masks\n```jsx\n<PhoneInput\n  onlyCountries={['fr', 'at']}\n  masks={{fr: '(...) ..-..-..', at: '(....) ...-....'}}\n/>\n```\n\n### Custom area codes\n```jsx\n<PhoneInput\n  onlyCountries={['gr', 'fr', 'us']}\n  areaCodes={{gr: ['2694', '2647'], fr: ['369', '463'], us: ['300']}}\n/>\n```\n\n### Other props\n<table>\n  <tr>\n    <td> defaultMask </td>\n    <td> ... ... ... ... .. </td>\n  </tr>\n  <tr>\n    <td> alwaysDefaultMask </td>\n    <td> false </td>\n  </tr>\n  <tr>\n    <td> prefix </td>\n    <td> + </td>\n  </tr>\n  <tr>\n    <td> searchPlaceholder </td>\n    <td> 'search' </td>\n  </tr>\n  <tr>\n    <td> searchNotFound </td>\n    <td> 'No entries to show' </td>\n  </tr>\n\n  <tr>\n    <td> copyNumbersOnly </td>\n    <td> true </td>\n  </tr>\n  <tr>\n    <td> renderStringAsFlag </td>\n    <td> string </td>\n  </tr>\n  <tr>\n    <td> autocompleteSearch </td>\n    <td> false </td>\n  </tr>\n  <tr>\n    <td> jumpCursorToEnd </td>\n    <td> false </td>\n  </tr>\n  <tr>\n    <td> priority </td>\n    <td> {{ca: 0, us: 1, kz: 0, ru: 1}} </td>\n  </tr>\n  <tr>\n    <td> enableClickOutside </td>\n    <td> true </td>\n  </tr>\n  <tr>\n    <td> showDropdown </td>\n    <td> false </td>\n  </tr>\n  <tr>\n    <td> defaultErrorMessage </td>\n    <td> string </td>\n  </tr>\n  <tr>\n    <td> specialLabel </td>\n    <td> string </td>\n  </tr>\n  <tr>\n    <td> disableInitialCountryGuess </td>\n    <td> false </td>\n  </tr>\n  <tr>\n    <td> disableCountryGuess </td>\n    <td> false </td>\n  </tr>\n</table>\n\n### Custom localization\n```jsx\n<PhoneInput\n  onlyCountries={['de', 'es']}\n  localization={{de: 'Deutschland', es: 'España'}}\n/>\n\n<PhoneInput\n  onlyCountries={['de', 'es']}\n  localization={{'Germany': 'Deutschland', 'Spain': 'España'}}\n/>\n```\n\n### Preserve countries order\n```jsx\n<PhoneInput\n  onlyCountries={['fr', 'at']}\n  preserveOrder={['onlyCountries', 'preferredCountries']}\n/>\n```\n\n## Guides\n### Phone without dialCode\n```jsx\nhandleOnChange(value, data, event, formattedValue) {\n  this.setState({ rawPhone: value.slice(data.dialCode.length) })\n}\n```\n\n### Check validity of the phone number\n`isValid(value, country, countries, hiddenAreaCodes)`\n\n```jsx\n<PhoneInput\n  isValid={(value, country) => {\n    if (value.match(/12345/)) {\n      return 'Invalid value: '+value+', '+country.name;\n    } else if (value.match(/1234/)) {\n      return false;\n    } else {\n      return true;\n    }\n  }}\n/>\n```\n\n```jsx\nimport startsWith from 'lodash.startswith';\n\n<PhoneInput\n  isValid={(inputNumber, country, countries) => {\n    return countries.some((country) => {\n      return startsWith(inputNumber, country.dialCode) || startsWith(country.dialCode, inputNumber);\n    });\n  }}\n/>\n```\n\n### Clear country\nTo clear `country`, pass `null` as `value`.\n\n### Dynamic placeholder\n<details>\n  <summary>Show</summary>\n\n```jsx\nconst phoneCountryFormat = useMemo(() => phoneCountry?.format || undefined, [phoneCountry]);\nconst placeholder = useMemo(() => {\n  if (phoneCountryFormat) {\n    const words = phoneCountryFormat.split(' ');\n    words.shift(); // I'm using only local numbers so here I remove the country code from the format\n    let text = words.join(' ');\n     // first digit is special on french numbers, these 3 lines could be removed\n    if (country === 'fr') {\n      text = text.replace('.', '6');\n    }\n    while (text.indexOf('.') > -1) {\n      text = text.replace('.', `${Math.min(9, Math.max(1, Math.floor(Math.random() * 10)))}`);\n    }\n    return text;\n  }\n  return '';\n}, [phoneCountryFormat, country]);\n```\n</details>\n\n### CDN\n```html\n<script src=\"https://unpkg.com/react-phone-input-2@2.x/dist/lib.js\"></script>\n```\n\n## Contributing\n- Code style changes not allowed\n- Do not create issues about incorrect or missing country masks (of already present countries) or absent area codes (they will be closed). Only create issues if the subject is an actual mechanism that is not present in the component. Otherwise create a PR with a link that proves the correctness of your newly suggested mask or list of area codes\n- Do not send new languages\n\n## License\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/bl00mber/react-phone-input-2/blob/master/LICENSE)\n\nBased on [react-phone-input](https://github.com/razagill/react-phone-input)\n\nMake sure you donated for lib maintenance [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/bloomber/20)\n","readmeFilename":"README.md"}