utilitify-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +338 -0
  3. package/dist/async.cjs +25 -0
  4. package/dist/async.cjs.map +1 -0
  5. package/dist/async.d.cts +104 -0
  6. package/dist/async.d.ts +104 -0
  7. package/dist/async.js +4 -0
  8. package/dist/async.js.map +1 -0
  9. package/dist/chunk-2ICNRTSN.cjs +346 -0
  10. package/dist/chunk-2ICNRTSN.cjs.map +1 -0
  11. package/dist/chunk-3DPF72DY.js +170 -0
  12. package/dist/chunk-3DPF72DY.js.map +1 -0
  13. package/dist/chunk-4CV4JOE5.js +24 -0
  14. package/dist/chunk-4CV4JOE5.js.map +1 -0
  15. package/dist/chunk-4SLYNSLH.cjs +783 -0
  16. package/dist/chunk-4SLYNSLH.cjs.map +1 -0
  17. package/dist/chunk-5WP7DWCG.js +1285 -0
  18. package/dist/chunk-5WP7DWCG.js.map +1 -0
  19. package/dist/chunk-BMQ6YPKV.js +876 -0
  20. package/dist/chunk-BMQ6YPKV.js.map +1 -0
  21. package/dist/chunk-BZCMWUKS.cjs +479 -0
  22. package/dist/chunk-BZCMWUKS.cjs.map +1 -0
  23. package/dist/chunk-C5R744DY.cjs +173 -0
  24. package/dist/chunk-C5R744DY.cjs.map +1 -0
  25. package/dist/chunk-C75J62CV.cjs +913 -0
  26. package/dist/chunk-C75J62CV.cjs.map +1 -0
  27. package/dist/chunk-CZLDE2OZ.cjs +28 -0
  28. package/dist/chunk-CZLDE2OZ.cjs.map +1 -0
  29. package/dist/chunk-DSMB6AF6.cjs +193 -0
  30. package/dist/chunk-DSMB6AF6.cjs.map +1 -0
  31. package/dist/chunk-ETWGPOPY.js +426 -0
  32. package/dist/chunk-ETWGPOPY.js.map +1 -0
  33. package/dist/chunk-FQBPVN63.cjs +403 -0
  34. package/dist/chunk-FQBPVN63.cjs.map +1 -0
  35. package/dist/chunk-G4GYQGTW.cjs +178 -0
  36. package/dist/chunk-G4GYQGTW.cjs.map +1 -0
  37. package/dist/chunk-GFDMZDMI.js +486 -0
  38. package/dist/chunk-GFDMZDMI.js.map +1 -0
  39. package/dist/chunk-HOTOYIPB.js +171 -0
  40. package/dist/chunk-HOTOYIPB.js.map +1 -0
  41. package/dist/chunk-HYADH4ZX.js +176 -0
  42. package/dist/chunk-HYADH4ZX.js.map +1 -0
  43. package/dist/chunk-JBN7C5WE.js +255 -0
  44. package/dist/chunk-JBN7C5WE.js.map +1 -0
  45. package/dist/chunk-JNCTPFTD.cjs +25 -0
  46. package/dist/chunk-JNCTPFTD.cjs.map +1 -0
  47. package/dist/chunk-N3BH3BV7.js +21 -0
  48. package/dist/chunk-N3BH3BV7.js.map +1 -0
  49. package/dist/chunk-NFPGAVRQ.js +749 -0
  50. package/dist/chunk-NFPGAVRQ.js.map +1 -0
  51. package/dist/chunk-OFFRGRBN.cjs +1332 -0
  52. package/dist/chunk-OFFRGRBN.cjs.map +1 -0
  53. package/dist/chunk-OZLKYIZL.cjs +490 -0
  54. package/dist/chunk-OZLKYIZL.cjs.map +1 -0
  55. package/dist/chunk-P3NUK46X.js +145 -0
  56. package/dist/chunk-P3NUK46X.js.map +1 -0
  57. package/dist/chunk-P7P2B7ZI.cjs +429 -0
  58. package/dist/chunk-P7P2B7ZI.cjs.map +1 -0
  59. package/dist/chunk-PB6SKSJN.cjs +150 -0
  60. package/dist/chunk-PB6SKSJN.cjs.map +1 -0
  61. package/dist/chunk-R3IXCJR7.js +378 -0
  62. package/dist/chunk-R3IXCJR7.js.map +1 -0
  63. package/dist/chunk-SD6P3WEJ.js +324 -0
  64. package/dist/chunk-SD6P3WEJ.js.map +1 -0
  65. package/dist/chunk-YSCHP26P.js +451 -0
  66. package/dist/chunk-YSCHP26P.js.map +1 -0
  67. package/dist/chunk-ZLMPRPCY.cjs +274 -0
  68. package/dist/chunk-ZLMPRPCY.cjs.map +1 -0
  69. package/dist/common-CBDYNJeh.d.cts +48 -0
  70. package/dist/common-CBDYNJeh.d.ts +48 -0
  71. package/dist/constants.cjs +42 -0
  72. package/dist/constants.cjs.map +1 -0
  73. package/dist/constants.d.cts +60 -0
  74. package/dist/constants.d.ts +60 -0
  75. package/dist/constants.js +5 -0
  76. package/dist/constants.js.map +1 -0
  77. package/dist/country/index.cjs +154 -0
  78. package/dist/country/index.cjs.map +1 -0
  79. package/dist/country/index.d.cts +1 -0
  80. package/dist/country/index.d.ts +1 -0
  81. package/dist/country/index.js +5 -0
  82. package/dist/country/index.js.map +1 -0
  83. package/dist/date/index.cjs +117 -0
  84. package/dist/date/index.cjs.map +1 -0
  85. package/dist/date/index.d.cts +283 -0
  86. package/dist/date/index.d.ts +283 -0
  87. package/dist/date/index.js +4 -0
  88. package/dist/date/index.js.map +1 -0
  89. package/dist/environment/index.cjs +73 -0
  90. package/dist/environment/index.cjs.map +1 -0
  91. package/dist/environment/index.d.cts +127 -0
  92. package/dist/environment/index.d.ts +127 -0
  93. package/dist/environment/index.js +4 -0
  94. package/dist/environment/index.js.map +1 -0
  95. package/dist/form/index.cjs +81 -0
  96. package/dist/form/index.cjs.map +1 -0
  97. package/dist/form/index.d.cts +227 -0
  98. package/dist/form/index.d.ts +227 -0
  99. package/dist/form/index.js +4 -0
  100. package/dist/form/index.js.map +1 -0
  101. package/dist/i18n.cjs +37 -0
  102. package/dist/i18n.cjs.map +1 -0
  103. package/dist/i18n.d.cts +102 -0
  104. package/dist/i18n.d.ts +102 -0
  105. package/dist/i18n.js +4 -0
  106. package/dist/i18n.js.map +1 -0
  107. package/dist/index-BXBmBHyL.d.ts +718 -0
  108. package/dist/index-BYsUCP3u.d.cts +718 -0
  109. package/dist/index-Cl26FrAZ.d.cts +362 -0
  110. package/dist/index-Cl26FrAZ.d.ts +362 -0
  111. package/dist/index.cjs +1265 -0
  112. package/dist/index.cjs.map +1 -0
  113. package/dist/index.d.cts +205 -0
  114. package/dist/index.d.ts +205 -0
  115. package/dist/index.js +277 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/schema.cjs +13 -0
  118. package/dist/schema.cjs.map +1 -0
  119. package/dist/schema.d.cts +84 -0
  120. package/dist/schema.d.ts +84 -0
  121. package/dist/schema.js +4 -0
  122. package/dist/schema.js.map +1 -0
  123. package/dist/security/index.cjs +94 -0
  124. package/dist/security/index.cjs.map +1 -0
  125. package/dist/security/index.d.cts +216 -0
  126. package/dist/security/index.d.ts +216 -0
  127. package/dist/security/index.js +5 -0
  128. package/dist/security/index.js.map +1 -0
  129. package/dist/string/index.cjs +153 -0
  130. package/dist/string/index.cjs.map +1 -0
  131. package/dist/string/index.d.cts +471 -0
  132. package/dist/string/index.d.ts +471 -0
  133. package/dist/string/index.js +4 -0
  134. package/dist/string/index.js.map +1 -0
  135. package/dist/transform/index.cjs +105 -0
  136. package/dist/transform/index.cjs.map +1 -0
  137. package/dist/transform/index.d.cts +271 -0
  138. package/dist/transform/index.d.ts +271 -0
  139. package/dist/transform/index.js +4 -0
  140. package/dist/transform/index.js.map +1 -0
  141. package/dist/validators/index.cjs +195 -0
  142. package/dist/validators/index.cjs.map +1 -0
  143. package/dist/validators/index.d.cts +2 -0
  144. package/dist/validators/index.d.ts +2 -0
  145. package/dist/validators/index.js +6 -0
  146. package/dist/validators/index.js.map +1 -0
  147. package/package.json +229 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/i18n.ts"],"names":[],"mappings":"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","file":"chunk-G4GYQGTW.cjs","sourcesContent":["/**\r\n * Internationalization (i18n) module for Utilitify\r\n * Provides multi-language error message support\r\n *\r\n * @packageDocumentation\r\n * @since 1.0.0\r\n */\r\n\r\n/**\r\n * Supported locales\r\n */\r\nexport type Locale = 'en' | 'es' | 'fr' | 'de' | 'ar' | 'zh' | 'ur' | 'hi';\r\n\r\n/**\r\n * Error message templates\r\n */\r\nexport interface MessageTemplates {\r\n // Common\r\n required: string;\r\n invalid: string;\r\n tooShort: string;\r\n tooLong: string;\r\n\r\n // Email\r\n emailInvalid: string;\r\n emailDisposable: string;\r\n emailDomainBlocked: string;\r\n\r\n // Phone\r\n phoneInvalid: string;\r\n phoneTooShort: string;\r\n phoneTooLong: string;\r\n phoneMobileOnly: string;\r\n\r\n // Password\r\n passwordTooWeak: string;\r\n passwordNoUppercase: string;\r\n passwordNoLowercase: string;\r\n passwordNoNumber: string;\r\n passwordNoSymbol: string;\r\n passwordCommonPattern: string;\r\n\r\n // Name\r\n nameInvalid: string;\r\n nameContainsNumbers: string;\r\n\r\n // Username\r\n usernameReserved: string;\r\n usernameInvalidChars: string;\r\n\r\n // URL\r\n urlInvalid: string;\r\n urlDangerous: string;\r\n\r\n // Credit Card\r\n cardInvalid: string;\r\n cardExpired: string;\r\n cardCvvInvalid: string;\r\n}\r\n\r\n/**\r\n * Default English messages\r\n */\r\nconst EN_MESSAGES: MessageTemplates = {\r\n required: 'This field is required',\r\n invalid: 'This field is invalid',\r\n tooShort: 'Must be at least {min} characters',\r\n tooLong: 'Must not exceed {max} characters',\r\n\r\n emailInvalid: 'Please enter a valid email address',\r\n emailDisposable: 'Disposable email addresses are not allowed',\r\n emailDomainBlocked: 'This email domain is not allowed',\r\n\r\n phoneInvalid: 'Please enter a valid phone number',\r\n phoneTooShort: 'Phone number is too short',\r\n phoneTooLong: 'Phone number is too long',\r\n phoneMobileOnly: 'Only mobile numbers are allowed',\r\n\r\n passwordTooWeak: 'Password is too weak',\r\n passwordNoUppercase: 'Password must contain uppercase letters',\r\n passwordNoLowercase: 'Password must contain lowercase letters',\r\n passwordNoNumber: 'Password must contain numbers',\r\n passwordNoSymbol: 'Password must contain special characters',\r\n passwordCommonPattern: 'Password is too common',\r\n\r\n nameInvalid: 'Please enter a valid name',\r\n nameContainsNumbers: 'Name cannot contain numbers',\r\n\r\n usernameReserved: 'This username is reserved',\r\n usernameInvalidChars: 'Username contains invalid characters',\r\n\r\n urlInvalid: 'Please enter a valid URL',\r\n urlDangerous: 'This URL is not allowed for security reasons',\r\n\r\n cardInvalid: 'Please enter a valid card number',\r\n cardExpired: 'This card has expired',\r\n cardCvvInvalid: 'Please enter a valid CVV',\r\n};\r\n\r\n/**\r\n * Spanish messages\r\n */\r\nconst ES_MESSAGES: MessageTemplates = {\r\n required: 'Este campo es obligatorio',\r\n invalid: 'Este campo no es válido',\r\n tooShort: 'Debe tener al menos {min} caracteres',\r\n tooLong: 'No debe exceder {max} caracteres',\r\n\r\n emailInvalid: 'Por favor ingrese un correo electrónico válido',\r\n emailDisposable: 'No se permiten correos electrónicos temporales',\r\n emailDomainBlocked: 'Este dominio de correo no está permitido',\r\n\r\n phoneInvalid: 'Por favor ingrese un número de teléfono válido',\r\n phoneTooShort: 'El número de teléfono es muy corto',\r\n phoneTooLong: 'El número de teléfono es muy largo',\r\n phoneMobileOnly: 'Solo se permiten números móviles',\r\n\r\n passwordTooWeak: 'La contraseña es muy débil',\r\n passwordNoUppercase: 'La contraseña debe contener mayúsculas',\r\n passwordNoLowercase: 'La contraseña debe contener minúsculas',\r\n passwordNoNumber: 'La contraseña debe contener números',\r\n passwordNoSymbol: 'La contraseña debe contener caracteres especiales',\r\n passwordCommonPattern: 'La contraseña es muy común',\r\n\r\n nameInvalid: 'Por favor ingrese un nombre válido',\r\n nameContainsNumbers: 'El nombre no puede contener números',\r\n\r\n usernameReserved: 'Este nombre de usuario está reservado',\r\n usernameInvalidChars: 'El nombre de usuario contiene caracteres no válidos',\r\n\r\n urlInvalid: 'Por favor ingrese una URL válida',\r\n urlDangerous: 'Esta URL no está permitida por razones de seguridad',\r\n\r\n cardInvalid: 'Por favor ingrese un número de tarjeta válido',\r\n cardExpired: 'Esta tarjeta ha expirado',\r\n cardCvvInvalid: 'Por favor ingrese un CVV válido',\r\n};\r\n\r\n/**\r\n * Urdu messages\r\n */\r\nconst UR_MESSAGES: MessageTemplates = {\r\n required: 'یہ فیلڈ ضروری ہے',\r\n invalid: 'یہ فیلڈ درست نہیں ہے',\r\n tooShort: 'کم از کم {min} حروف ہونے چاہئیں',\r\n tooLong: '{max} حروف سے زیادہ نہیں ہونے چاہئیں',\r\n\r\n emailInvalid: 'براہ کرم درست ای میل درج کریں',\r\n emailDisposable: 'عارضی ای میل کی اجازت نہیں ہے',\r\n emailDomainBlocked: 'یہ ای میل ڈومین کی اجازت نہیں ہے',\r\n\r\n phoneInvalid: 'براہ کرم درست فون نمبر درج کریں',\r\n phoneTooShort: 'فون نمبر بہت چھوٹا ہے',\r\n phoneTooLong: 'فون نمبر بہت لمبا ہے',\r\n phoneMobileOnly: 'صرف موبائل نمبر کی اجازت ہے',\r\n\r\n passwordTooWeak: 'پاس ورڈ بہت کمزور ہے',\r\n passwordNoUppercase: 'پاس ورڈ میں بڑے حروف ہونے چاہئیں',\r\n passwordNoLowercase: 'پاس ورڈ میں چھوٹے حروف ہونے چاہئیں',\r\n passwordNoNumber: 'پاس ورڈ میں نمبر ہونے چاہئیں',\r\n passwordNoSymbol: 'پاس ورڈ میں خاص حروف ہونے چاہئیں',\r\n passwordCommonPattern: 'پاس ورڈ بہت عام ہے',\r\n\r\n nameInvalid: 'براہ کرم درست نام درج کریں',\r\n nameContainsNumbers: 'نام میں نمبر نہیں ہو سکتے',\r\n\r\n usernameReserved: 'یہ صارف نام محفوظ ہے',\r\n usernameInvalidChars: 'صارف نام میں غیر درست حروف ہیں',\r\n\r\n urlInvalid: 'براہ کرم درست URL درج کریں',\r\n urlDangerous: 'سیکیورٹی وجوہات کی بنا پر یہ URL کی اجازت نہیں ہے',\r\n\r\n cardInvalid: 'براہ کرم درست کارڈ نمبر درج کریں',\r\n cardExpired: 'یہ کارڈ ختم ہو چکا ہے',\r\n cardCvvInvalid: 'براہ کرم درست CVV درج کریں',\r\n};\r\n\r\n/**\r\n * Arabic messages\r\n */\r\nconst AR_MESSAGES: MessageTemplates = {\r\n required: 'هذا الحقل مطلوب',\r\n invalid: 'هذا الحقل غير صالح',\r\n tooShort: 'يجب أن يكون على الأقل {min} أحرف',\r\n tooLong: 'يجب ألا يتجاوز {max} أحرف',\r\n\r\n emailInvalid: 'يرجى إدخال بريد إلكتروني صالح',\r\n emailDisposable: 'البريد الإلكتروني المؤقت غير مسموح به',\r\n emailDomainBlocked: 'نطاق البريد الإلكتروني هذا غير مسموح به',\r\n\r\n phoneInvalid: 'يرجى إدخال رقم هاتف صالح',\r\n phoneTooShort: 'رقم الهاتف قصير جداً',\r\n phoneTooLong: 'رقم الهاتف طويل جداً',\r\n phoneMobileOnly: 'يسمح فقط بأرقام الجوال',\r\n\r\n passwordTooWeak: 'كلمة المرور ضعيفة جداً',\r\n passwordNoUppercase: 'يجب أن تحتوي كلمة المرور على أحرف كبيرة',\r\n passwordNoLowercase: 'يجب أن تحتوي كلمة المرور على أحرف صغيرة',\r\n passwordNoNumber: 'يجب أن تحتوي كلمة المرور على أرقام',\r\n passwordNoSymbol: 'يجب أن تحتوي كلمة المرور على رموز خاصة',\r\n passwordCommonPattern: 'كلمة المرور شائعة جداً',\r\n\r\n nameInvalid: 'يرجى إدخال اسم صالح',\r\n nameContainsNumbers: 'لا يمكن أن يحتوي الاسم على أرقام',\r\n\r\n usernameReserved: 'اسم المستخدم هذا محجوز',\r\n usernameInvalidChars: 'اسم المستخدم يحتوي على أحرف غير صالحة',\r\n\r\n urlInvalid: 'يرجى إدخال رابط صالح',\r\n urlDangerous: 'هذا الرابط غير مسموح به لأسباب أمنية',\r\n\r\n cardInvalid: 'يرجى إدخال رقم بطاقة صالح',\r\n cardExpired: 'انتهت صلاحية هذه البطاقة',\r\n cardCvvInvalid: 'يرجى إدخال CVV صالح',\r\n};\r\n\r\n/**\r\n * All available message sets\r\n */\r\nconst MESSAGES: Record<Locale, MessageTemplates> = {\r\n en: EN_MESSAGES,\r\n es: ES_MESSAGES,\r\n fr: EN_MESSAGES, // Fallback to English\r\n de: EN_MESSAGES, // Fallback to English\r\n ar: AR_MESSAGES,\r\n zh: EN_MESSAGES, // Fallback to English\r\n ur: UR_MESSAGES,\r\n hi: EN_MESSAGES, // Fallback to English\r\n};\r\n\r\n/**\r\n * Current locale\r\n */\r\nlet currentLocale: Locale = 'en';\r\n\r\n/**\r\n * Custom message overrides\r\n */\r\nlet customMessages: Partial<MessageTemplates> = {};\r\n\r\n/**\r\n * Set the current locale\r\n *\r\n * @param locale - Locale to set\r\n * @since 1.0.0\r\n *\r\n * @example\r\n * ```typescript\r\n * import { setLocale } from 'utilitify/i18n';\r\n * setLocale('es'); // Switch to Spanish\r\n * ```\r\n */\r\nexport function setLocale(locale: Locale): void {\r\n currentLocale = locale;\r\n}\r\n\r\n/**\r\n * Get the current locale\r\n */\r\nexport function getLocale(): Locale {\r\n return currentLocale;\r\n}\r\n\r\n/**\r\n * Get a translated message\r\n *\r\n * @param key - Message key\r\n * @param params - Parameters to interpolate\r\n * @returns Translated message\r\n * @since 1.0.0\r\n */\r\nexport function getMessage(\r\n key: keyof MessageTemplates,\r\n params?: Record<string, string | number>\r\n): string {\r\n // Check custom messages first\r\n let message = customMessages[key] || MESSAGES[currentLocale]?.[key] || MESSAGES.en[key];\r\n\r\n // Interpolate parameters\r\n if (params) {\r\n Object.entries(params).forEach(([k, v]) => {\r\n message = message.replace(new RegExp(`\\\\{${k}\\\\}`, 'g'), String(v));\r\n });\r\n }\r\n\r\n return message;\r\n}\r\n\r\n/**\r\n * Set custom messages\r\n *\r\n * @param messages - Custom message overrides\r\n * @since 1.0.0\r\n */\r\nexport function setCustomMessages(messages: Partial<MessageTemplates>): void {\r\n customMessages = { ...customMessages, ...messages };\r\n}\r\n\r\n/**\r\n * Add a new locale\r\n *\r\n * @param locale - Locale code\r\n * @param messages - Message templates\r\n * @since 1.0.0\r\n */\r\nexport function addLocale(locale: string, messages: MessageTemplates): void {\r\n (MESSAGES as Record<string, MessageTemplates>)[locale] = messages;\r\n}\r\n\r\n/**\r\n * Get all available locales\r\n */\r\nexport function getAvailableLocales(): Locale[] {\r\n return Object.keys(MESSAGES) as Locale[];\r\n}\r\n\r\n/**\r\n * Create a localized validator wrapper\r\n *\r\n * @param validator - Original validator function\r\n * @returns Localized validator\r\n * @since 1.0.0\r\n */\r\nexport function withLocalization<T extends (...args: unknown[]) => { errors: Array<{ code: string; message: string }> }>(\r\n validator: T\r\n): T {\r\n return ((...args: Parameters<T>) => {\r\n const result = validator(...args);\r\n\r\n // Map error codes to localized messages\r\n const localizedErrors = result.errors.map(error => ({\r\n ...error,\r\n message: getMessage(error.code.toLowerCase() as keyof MessageTemplates) || error.message,\r\n }));\r\n\r\n return {\r\n ...result,\r\n errors: localizedErrors,\r\n };\r\n }) as T;\r\n}\r\n"]}
@@ -0,0 +1,486 @@
1
+ // src/country/data/phoneFormats.ts
2
+ var CANADA_AREA_CODES = [
3
+ "204",
4
+ "226",
5
+ "236",
6
+ "249",
7
+ "250",
8
+ "263",
9
+ "289",
10
+ "306",
11
+ "343",
12
+ "354",
13
+ "365",
14
+ "367",
15
+ "368",
16
+ "382",
17
+ "387",
18
+ "403",
19
+ "416",
20
+ "418",
21
+ "428",
22
+ "431",
23
+ "437",
24
+ "438",
25
+ "450",
26
+ "460",
27
+ "468",
28
+ "474",
29
+ "506",
30
+ "514",
31
+ "519",
32
+ "548",
33
+ "579",
34
+ "581",
35
+ "584",
36
+ "587",
37
+ "604",
38
+ "613",
39
+ "639",
40
+ "647",
41
+ "672",
42
+ "683",
43
+ "705",
44
+ "709",
45
+ "742",
46
+ "753",
47
+ "778",
48
+ "780",
49
+ "782",
50
+ "807",
51
+ "819",
52
+ "825",
53
+ "867",
54
+ "873",
55
+ "879",
56
+ "902",
57
+ "905"
58
+ ];
59
+ var CARIBBEAN_AREA_CODES = {
60
+ JM: ["876", "658"],
61
+ // Jamaica
62
+ PR: ["787", "939"],
63
+ // Puerto Rico
64
+ DO: ["809", "829", "849"],
65
+ // Dominican Republic
66
+ TT: ["868"],
67
+ // Trinidad and Tobago
68
+ BS: ["242"],
69
+ // Bahamas
70
+ BB: ["246"]};
71
+ var PHONE_FORMATS = {
72
+ // North America - NANP countries (+1)
73
+ US: {
74
+ countryCode: "US",
75
+ dialCode: "+1",
76
+ lengths: [10],
77
+ mobilePrefixes: [],
78
+ landlinePrefixes: [],
79
+ pattern: "(XXX) XXX-XXXX",
80
+ example: "(555) 123-4567"
81
+ // Note: US is default for +1 when area code doesn't match Canada or Caribbean
82
+ },
83
+ CA: {
84
+ countryCode: "CA",
85
+ dialCode: "+1",
86
+ lengths: [10],
87
+ mobilePrefixes: [],
88
+ landlinePrefixes: [],
89
+ pattern: "(XXX) XXX-XXXX",
90
+ example: "(416) 123-4567",
91
+ areaCodes: CANADA_AREA_CODES
92
+ // Used for country detection
93
+ },
94
+ JM: {
95
+ countryCode: "JM",
96
+ dialCode: "+1",
97
+ lengths: [10],
98
+ mobilePrefixes: [],
99
+ landlinePrefixes: [],
100
+ pattern: "(XXX) XXX-XXXX",
101
+ example: "(876) 123-4567",
102
+ areaCodes: CARIBBEAN_AREA_CODES.JM
103
+ },
104
+ PR: {
105
+ countryCode: "PR",
106
+ dialCode: "+1",
107
+ lengths: [10],
108
+ mobilePrefixes: [],
109
+ landlinePrefixes: [],
110
+ pattern: "(XXX) XXX-XXXX",
111
+ example: "(787) 123-4567",
112
+ areaCodes: CARIBBEAN_AREA_CODES.PR
113
+ },
114
+ DO: {
115
+ countryCode: "DO",
116
+ dialCode: "+1",
117
+ lengths: [10],
118
+ mobilePrefixes: [],
119
+ landlinePrefixes: [],
120
+ pattern: "(XXX) XXX-XXXX",
121
+ example: "(809) 123-4567",
122
+ areaCodes: CARIBBEAN_AREA_CODES.DO
123
+ },
124
+ TT: {
125
+ countryCode: "TT",
126
+ dialCode: "+1",
127
+ lengths: [10],
128
+ mobilePrefixes: [],
129
+ landlinePrefixes: [],
130
+ pattern: "(XXX) XXX-XXXX",
131
+ example: "(868) 123-4567",
132
+ areaCodes: CARIBBEAN_AREA_CODES.TT
133
+ },
134
+ BS: {
135
+ countryCode: "BS",
136
+ dialCode: "+1",
137
+ lengths: [10],
138
+ mobilePrefixes: [],
139
+ landlinePrefixes: [],
140
+ pattern: "(XXX) XXX-XXXX",
141
+ example: "(242) 123-4567",
142
+ areaCodes: CARIBBEAN_AREA_CODES.BS
143
+ },
144
+ BB: {
145
+ countryCode: "BB",
146
+ dialCode: "+1",
147
+ lengths: [10],
148
+ mobilePrefixes: [],
149
+ landlinePrefixes: [],
150
+ pattern: "(XXX) XXX-XXXX",
151
+ example: "(246) 123-4567",
152
+ areaCodes: CARIBBEAN_AREA_CODES.BB
153
+ },
154
+ // Europe
155
+ GB: {
156
+ countryCode: "GB",
157
+ dialCode: "+44",
158
+ lengths: [10, 11],
159
+ mobilePrefixes: ["7"],
160
+ landlinePrefixes: ["1", "2"],
161
+ pattern: "XXXX XXX XXXX",
162
+ example: "7911 123 456"
163
+ },
164
+ DE: {
165
+ countryCode: "DE",
166
+ dialCode: "+49",
167
+ lengths: [10, 11, 12],
168
+ mobilePrefixes: ["15", "16", "17"],
169
+ landlinePrefixes: [],
170
+ pattern: "XXXX XXXXXXX",
171
+ example: "1512 3456789"
172
+ },
173
+ FR: {
174
+ countryCode: "FR",
175
+ dialCode: "+33",
176
+ lengths: [9],
177
+ mobilePrefixes: ["6", "7"],
178
+ landlinePrefixes: ["1", "2", "3", "4", "5"],
179
+ pattern: "X XX XX XX XX",
180
+ example: "6 12 34 56 78"
181
+ },
182
+ IT: {
183
+ countryCode: "IT",
184
+ dialCode: "+39",
185
+ lengths: [9, 10, 11],
186
+ mobilePrefixes: ["3"],
187
+ landlinePrefixes: ["0"],
188
+ pattern: "XXX XXX XXXX",
189
+ example: "312 345 6789"
190
+ },
191
+ ES: {
192
+ countryCode: "ES",
193
+ dialCode: "+34",
194
+ lengths: [9],
195
+ mobilePrefixes: ["6", "7"],
196
+ landlinePrefixes: ["8", "9"],
197
+ pattern: "XXX XX XX XX",
198
+ example: "612 34 56 78"
199
+ },
200
+ NL: {
201
+ countryCode: "NL",
202
+ dialCode: "+31",
203
+ lengths: [9],
204
+ mobilePrefixes: ["6"],
205
+ landlinePrefixes: [],
206
+ pattern: "X XXXX XXXX",
207
+ example: "6 1234 5678"
208
+ },
209
+ PL: {
210
+ countryCode: "PL",
211
+ dialCode: "+48",
212
+ lengths: [9],
213
+ mobilePrefixes: ["5", "6", "7", "8"],
214
+ landlinePrefixes: [],
215
+ pattern: "XXX XXX XXX",
216
+ example: "512 345 678"
217
+ },
218
+ // Asia
219
+ CN: {
220
+ countryCode: "CN",
221
+ dialCode: "+86",
222
+ lengths: [11],
223
+ mobilePrefixes: ["13", "14", "15", "16", "17", "18", "19"],
224
+ landlinePrefixes: [],
225
+ pattern: "XXX XXXX XXXX",
226
+ example: "131 2345 6789"
227
+ },
228
+ JP: {
229
+ countryCode: "JP",
230
+ dialCode: "+81",
231
+ lengths: [10, 11],
232
+ mobilePrefixes: ["70", "80", "90"],
233
+ landlinePrefixes: [],
234
+ pattern: "XX XXXX XXXX",
235
+ example: "90 1234 5678"
236
+ },
237
+ KR: {
238
+ countryCode: "KR",
239
+ dialCode: "+82",
240
+ lengths: [9, 10],
241
+ mobilePrefixes: ["10", "11"],
242
+ landlinePrefixes: ["2"],
243
+ pattern: "XX XXXX XXXX",
244
+ example: "10 1234 5678"
245
+ },
246
+ IN: {
247
+ countryCode: "IN",
248
+ dialCode: "+91",
249
+ lengths: [10],
250
+ mobilePrefixes: ["6", "7", "8", "9"],
251
+ landlinePrefixes: [],
252
+ pattern: "XXXXX XXXXX",
253
+ example: "98765 43210"
254
+ },
255
+ PK: {
256
+ countryCode: "PK",
257
+ dialCode: "+92",
258
+ lengths: [10],
259
+ mobilePrefixes: ["30", "31", "32", "33", "34", "35", "36", "37"],
260
+ landlinePrefixes: ["21", "42", "51", "61", "91"],
261
+ pattern: "XXX XXXXXXX",
262
+ example: "300 1234567"
263
+ },
264
+ BD: {
265
+ countryCode: "BD",
266
+ dialCode: "+880",
267
+ lengths: [10],
268
+ mobilePrefixes: ["13", "14", "15", "16", "17", "18", "19"],
269
+ landlinePrefixes: ["2"],
270
+ pattern: "XXXX XXXXXX",
271
+ example: "1712 345678"
272
+ },
273
+ ID: {
274
+ countryCode: "ID",
275
+ dialCode: "+62",
276
+ lengths: [9, 10, 11, 12],
277
+ mobilePrefixes: ["8"],
278
+ landlinePrefixes: ["21"],
279
+ pattern: "XXX XXXX XXXX",
280
+ example: "812 3456 7890"
281
+ },
282
+ TH: {
283
+ countryCode: "TH",
284
+ dialCode: "+66",
285
+ lengths: [9],
286
+ mobilePrefixes: ["6", "8", "9"],
287
+ landlinePrefixes: ["2"],
288
+ pattern: "XX XXX XXXX",
289
+ example: "81 234 5678"
290
+ },
291
+ VN: {
292
+ countryCode: "VN",
293
+ dialCode: "+84",
294
+ lengths: [9, 10],
295
+ mobilePrefixes: ["3", "5", "7", "8", "9"],
296
+ landlinePrefixes: [],
297
+ pattern: "XXX XXX XXXX",
298
+ example: "912 345 678"
299
+ },
300
+ PH: {
301
+ countryCode: "PH",
302
+ dialCode: "+63",
303
+ lengths: [10],
304
+ mobilePrefixes: ["9"],
305
+ landlinePrefixes: ["2"],
306
+ pattern: "XXX XXX XXXX",
307
+ example: "917 123 4567"
308
+ },
309
+ MY: {
310
+ countryCode: "MY",
311
+ dialCode: "+60",
312
+ lengths: [9, 10],
313
+ mobilePrefixes: ["1"],
314
+ landlinePrefixes: ["3"],
315
+ pattern: "XX XXXX XXXX",
316
+ example: "12 3456 7890"
317
+ },
318
+ SG: {
319
+ countryCode: "SG",
320
+ dialCode: "+65",
321
+ lengths: [8],
322
+ mobilePrefixes: ["8", "9"],
323
+ landlinePrefixes: ["6"],
324
+ pattern: "XXXX XXXX",
325
+ example: "9123 4567"
326
+ },
327
+ // Middle East
328
+ AE: {
329
+ countryCode: "AE",
330
+ dialCode: "+971",
331
+ lengths: [9],
332
+ mobilePrefixes: ["50", "52", "54", "55", "56", "58"],
333
+ landlinePrefixes: ["2", "3", "4", "6", "7", "9"],
334
+ pattern: "XX XXX XXXX",
335
+ example: "50 123 4567"
336
+ },
337
+ SA: {
338
+ countryCode: "SA",
339
+ dialCode: "+966",
340
+ lengths: [9],
341
+ mobilePrefixes: ["50", "53", "54", "55", "56", "57", "58", "59"],
342
+ landlinePrefixes: ["1"],
343
+ pattern: "XX XXX XXXX",
344
+ example: "50 123 4567"
345
+ },
346
+ EG: {
347
+ countryCode: "EG",
348
+ dialCode: "+20",
349
+ lengths: [10],
350
+ mobilePrefixes: ["10", "11", "12", "15"],
351
+ landlinePrefixes: ["2", "3"],
352
+ pattern: "XXX XXX XXXX",
353
+ example: "100 123 4567"
354
+ },
355
+ TR: {
356
+ countryCode: "TR",
357
+ dialCode: "+90",
358
+ lengths: [10],
359
+ mobilePrefixes: ["5"],
360
+ landlinePrefixes: [],
361
+ pattern: "XXX XXX XX XX",
362
+ example: "532 123 45 67"
363
+ },
364
+ IR: {
365
+ countryCode: "IR",
366
+ dialCode: "+98",
367
+ lengths: [10],
368
+ mobilePrefixes: ["9"],
369
+ landlinePrefixes: [],
370
+ pattern: "XXX XXX XXXX",
371
+ example: "912 345 6789"
372
+ },
373
+ // Africa
374
+ NG: {
375
+ countryCode: "NG",
376
+ dialCode: "+234",
377
+ lengths: [10],
378
+ mobilePrefixes: ["70", "80", "81", "90", "91"],
379
+ landlinePrefixes: [],
380
+ pattern: "XXX XXX XXXX",
381
+ example: "803 123 4567"
382
+ },
383
+ ZA: {
384
+ countryCode: "ZA",
385
+ dialCode: "+27",
386
+ lengths: [9],
387
+ mobilePrefixes: ["6", "7", "8"],
388
+ landlinePrefixes: ["1", "2"],
389
+ pattern: "XX XXX XXXX",
390
+ example: "71 123 4567"
391
+ },
392
+ KE: {
393
+ countryCode: "KE",
394
+ dialCode: "+254",
395
+ lengths: [9],
396
+ mobilePrefixes: ["7", "1"],
397
+ landlinePrefixes: ["20"],
398
+ pattern: "XXX XXX XXX",
399
+ example: "712 345 678"
400
+ },
401
+ // South America
402
+ BR: {
403
+ countryCode: "BR",
404
+ dialCode: "+55",
405
+ lengths: [10, 11],
406
+ mobilePrefixes: ["9"],
407
+ landlinePrefixes: [],
408
+ pattern: "XX XXXXX XXXX",
409
+ example: "11 91234 5678"
410
+ },
411
+ AR: {
412
+ countryCode: "AR",
413
+ dialCode: "+54",
414
+ lengths: [10],
415
+ mobilePrefixes: ["9"],
416
+ landlinePrefixes: [],
417
+ pattern: "XX XXXX XXXX",
418
+ example: "11 1234 5678"
419
+ },
420
+ MX: {
421
+ countryCode: "MX",
422
+ dialCode: "+52",
423
+ lengths: [10],
424
+ mobilePrefixes: [],
425
+ landlinePrefixes: [],
426
+ pattern: "XXX XXX XXXX",
427
+ example: "555 123 4567"
428
+ },
429
+ CO: {
430
+ countryCode: "CO",
431
+ dialCode: "+57",
432
+ lengths: [10],
433
+ mobilePrefixes: ["3"],
434
+ landlinePrefixes: [],
435
+ pattern: "XXX XXX XXXX",
436
+ example: "310 123 4567"
437
+ },
438
+ // Oceania
439
+ AU: {
440
+ countryCode: "AU",
441
+ dialCode: "+61",
442
+ lengths: [9],
443
+ mobilePrefixes: ["4"],
444
+ landlinePrefixes: ["2", "3", "7", "8"],
445
+ pattern: "XXX XXX XXX",
446
+ example: "412 345 678"
447
+ },
448
+ NZ: {
449
+ countryCode: "NZ",
450
+ dialCode: "+64",
451
+ lengths: [8, 9],
452
+ mobilePrefixes: ["2"],
453
+ landlinePrefixes: ["3", "4", "6", "7", "9"],
454
+ pattern: "XX XXX XXXX",
455
+ example: "21 234 5678"
456
+ },
457
+ // Russia & CIS
458
+ RU: {
459
+ countryCode: "RU",
460
+ dialCode: "+7",
461
+ lengths: [10],
462
+ mobilePrefixes: ["9"],
463
+ landlinePrefixes: [],
464
+ pattern: "XXX XXX XX XX",
465
+ example: "912 345 67 89"
466
+ },
467
+ UA: {
468
+ countryCode: "UA",
469
+ dialCode: "+380",
470
+ lengths: [9],
471
+ mobilePrefixes: ["50", "63", "66", "67", "68", "73", "91", "92", "93", "94", "95", "96", "97", "98", "99"],
472
+ landlinePrefixes: ["44"],
473
+ pattern: "XX XXX XX XX",
474
+ example: "50 123 45 67"
475
+ }
476
+ };
477
+ function getPhoneFormat(countryCode) {
478
+ return PHONE_FORMATS[countryCode.toUpperCase()] || null;
479
+ }
480
+ function getSupportedPhoneCountries() {
481
+ return Object.keys(PHONE_FORMATS);
482
+ }
483
+
484
+ export { PHONE_FORMATS, getPhoneFormat, getSupportedPhoneCountries };
485
+ //# sourceMappingURL=chunk-GFDMZDMI.js.map
486
+ //# sourceMappingURL=chunk-GFDMZDMI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/country/data/phoneFormats.ts"],"names":[],"mappings":"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","file":"chunk-GFDMZDMI.js","sourcesContent":["import type { PhoneFormat } from '../../types';\r\n\r\n/**\r\n * NANP (North American Numbering Plan) area codes\r\n * Used to distinguish between USA, Canada, and Caribbean countries that share +1\r\n */\r\nconst CANADA_AREA_CODES = [\r\n '204', '226', '236', '249', '250', '263', '289', '306', '343', '354', '365', '367', '368',\r\n '382', '387', '403', '416', '418', '428', '431', '437', '438', '450', '460', '468', '474',\r\n '506', '514', '519', '548', '579', '581', '584', '587', '604', '613', '639', '647', '672',\r\n '683', '705', '709', '742', '753', '778', '780', '782', '807', '819', '825', '867', '873',\r\n '879', '902', '905',\r\n];\r\n\r\nconst CARIBBEAN_AREA_CODES: Record<string, string[]> = {\r\n JM: ['876', '658'], // Jamaica\r\n PR: ['787', '939'], // Puerto Rico\r\n DO: ['809', '829', '849'], // Dominican Republic\r\n TT: ['868'], // Trinidad and Tobago\r\n BS: ['242'], // Bahamas\r\n BB: ['246'], // Barbados\r\n VI: ['340'], // US Virgin Islands\r\n KY: ['345'], // Cayman Islands\r\n BM: ['441'], // Bermuda\r\n AG: ['268'], // Antigua and Barbuda\r\n LC: ['758'], // Saint Lucia\r\n GD: ['473'], // Grenada\r\n VC: ['784'], // St. Vincent and the Grenadines\r\n KN: ['869'], // St. Kitts and Nevis\r\n DM: ['767'], // Dominica\r\n AI: ['264'], // Anguilla\r\n MS: ['664'], // Montserrat\r\n TC: ['649'], // Turks and Caicos\r\n VG: ['284'], // British Virgin Islands\r\n};\r\n\r\n/**\r\n * Phone format data by country\r\n * Includes dial codes, number lengths, and prefixes\r\n */\r\nexport const PHONE_FORMATS: Record<string, PhoneFormat> = {\r\n // North America - NANP countries (+1)\r\n US: {\r\n countryCode: 'US',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(555) 123-4567',\r\n // Note: US is default for +1 when area code doesn't match Canada or Caribbean\r\n },\r\n CA: {\r\n countryCode: 'CA',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(416) 123-4567',\r\n areaCodes: CANADA_AREA_CODES, // Used for country detection\r\n },\r\n JM: {\r\n countryCode: 'JM',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(876) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.JM,\r\n },\r\n PR: {\r\n countryCode: 'PR',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(787) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.PR,\r\n },\r\n DO: {\r\n countryCode: 'DO',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(809) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.DO,\r\n },\r\n TT: {\r\n countryCode: 'TT',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(868) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.TT,\r\n },\r\n BS: {\r\n countryCode: 'BS',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(242) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.BS,\r\n },\r\n BB: {\r\n countryCode: 'BB',\r\n dialCode: '+1',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: '(XXX) XXX-XXXX',\r\n example: '(246) 123-4567',\r\n areaCodes: CARIBBEAN_AREA_CODES.BB,\r\n },\r\n\r\n // Europe\r\n GB: {\r\n countryCode: 'GB',\r\n dialCode: '+44',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['7'],\r\n landlinePrefixes: ['1', '2'],\r\n pattern: 'XXXX XXX XXXX',\r\n example: '7911 123 456',\r\n },\r\n DE: {\r\n countryCode: 'DE',\r\n dialCode: '+49',\r\n lengths: [10, 11, 12],\r\n mobilePrefixes: ['15', '16', '17'],\r\n landlinePrefixes: [],\r\n pattern: 'XXXX XXXXXXX',\r\n example: '1512 3456789',\r\n },\r\n FR: {\r\n countryCode: 'FR',\r\n dialCode: '+33',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7'],\r\n landlinePrefixes: ['1', '2', '3', '4', '5'],\r\n pattern: 'X XX XX XX XX',\r\n example: '6 12 34 56 78',\r\n },\r\n IT: {\r\n countryCode: 'IT',\r\n dialCode: '+39',\r\n lengths: [9, 10, 11],\r\n mobilePrefixes: ['3'],\r\n landlinePrefixes: ['0'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '312 345 6789',\r\n },\r\n ES: {\r\n countryCode: 'ES',\r\n dialCode: '+34',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7'],\r\n landlinePrefixes: ['8', '9'],\r\n pattern: 'XXX XX XX XX',\r\n example: '612 34 56 78',\r\n },\r\n NL: {\r\n countryCode: 'NL',\r\n dialCode: '+31',\r\n lengths: [9],\r\n mobilePrefixes: ['6'],\r\n landlinePrefixes: [],\r\n pattern: 'X XXXX XXXX',\r\n example: '6 1234 5678',\r\n },\r\n PL: {\r\n countryCode: 'PL',\r\n dialCode: '+48',\r\n lengths: [9],\r\n mobilePrefixes: ['5', '6', '7', '8'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXX',\r\n example: '512 345 678',\r\n },\r\n\r\n // Asia\r\n CN: {\r\n countryCode: 'CN',\r\n dialCode: '+86',\r\n lengths: [11],\r\n mobilePrefixes: ['13', '14', '15', '16', '17', '18', '19'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXXX XXXX',\r\n example: '131 2345 6789',\r\n },\r\n JP: {\r\n countryCode: 'JP',\r\n dialCode: '+81',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['70', '80', '90'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXX XXXX',\r\n example: '90 1234 5678',\r\n },\r\n KR: {\r\n countryCode: 'KR',\r\n dialCode: '+82',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['10', '11'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XX XXXX XXXX',\r\n example: '10 1234 5678',\r\n },\r\n IN: {\r\n countryCode: 'IN',\r\n dialCode: '+91',\r\n lengths: [10],\r\n mobilePrefixes: ['6', '7', '8', '9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXXXX XXXXX',\r\n example: '98765 43210',\r\n },\r\n PK: {\r\n countryCode: 'PK',\r\n dialCode: '+92',\r\n lengths: [10],\r\n mobilePrefixes: ['30', '31', '32', '33', '34', '35', '36', '37'],\r\n landlinePrefixes: ['21', '42', '51', '61', '91'],\r\n pattern: 'XXX XXXXXXX',\r\n example: '300 1234567',\r\n },\r\n BD: {\r\n countryCode: 'BD',\r\n dialCode: '+880',\r\n lengths: [10],\r\n mobilePrefixes: ['13', '14', '15', '16', '17', '18', '19'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XXXX XXXXXX',\r\n example: '1712 345678',\r\n },\r\n ID: {\r\n countryCode: 'ID',\r\n dialCode: '+62',\r\n lengths: [9, 10, 11, 12],\r\n mobilePrefixes: ['8'],\r\n landlinePrefixes: ['21'],\r\n pattern: 'XXX XXXX XXXX',\r\n example: '812 3456 7890',\r\n },\r\n TH: {\r\n countryCode: 'TH',\r\n dialCode: '+66',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '8', '9'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XX XXX XXXX',\r\n example: '81 234 5678',\r\n },\r\n VN: {\r\n countryCode: 'VN',\r\n dialCode: '+84',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['3', '5', '7', '8', '9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '912 345 678',\r\n },\r\n PH: {\r\n countryCode: 'PH',\r\n dialCode: '+63',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: ['2'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '917 123 4567',\r\n },\r\n MY: {\r\n countryCode: 'MY',\r\n dialCode: '+60',\r\n lengths: [9, 10],\r\n mobilePrefixes: ['1'],\r\n landlinePrefixes: ['3'],\r\n pattern: 'XX XXXX XXXX',\r\n example: '12 3456 7890',\r\n },\r\n SG: {\r\n countryCode: 'SG',\r\n dialCode: '+65',\r\n lengths: [8],\r\n mobilePrefixes: ['8', '9'],\r\n landlinePrefixes: ['6'],\r\n pattern: 'XXXX XXXX',\r\n example: '9123 4567',\r\n },\r\n\r\n // Middle East\r\n AE: {\r\n countryCode: 'AE',\r\n dialCode: '+971',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '52', '54', '55', '56', '58'],\r\n landlinePrefixes: ['2', '3', '4', '6', '7', '9'],\r\n pattern: 'XX XXX XXXX',\r\n example: '50 123 4567',\r\n },\r\n SA: {\r\n countryCode: 'SA',\r\n dialCode: '+966',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '53', '54', '55', '56', '57', '58', '59'],\r\n landlinePrefixes: ['1'],\r\n pattern: 'XX XXX XXXX',\r\n example: '50 123 4567',\r\n },\r\n EG: {\r\n countryCode: 'EG',\r\n dialCode: '+20',\r\n lengths: [10],\r\n mobilePrefixes: ['10', '11', '12', '15'],\r\n landlinePrefixes: ['2', '3'],\r\n pattern: 'XXX XXX XXXX',\r\n example: '100 123 4567',\r\n },\r\n TR: {\r\n countryCode: 'TR',\r\n dialCode: '+90',\r\n lengths: [10],\r\n mobilePrefixes: ['5'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XX XX',\r\n example: '532 123 45 67',\r\n },\r\n IR: {\r\n countryCode: 'IR',\r\n dialCode: '+98',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '912 345 6789',\r\n },\r\n\r\n // Africa\r\n NG: {\r\n countryCode: 'NG',\r\n dialCode: '+234',\r\n lengths: [10],\r\n mobilePrefixes: ['70', '80', '81', '90', '91'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '803 123 4567',\r\n },\r\n ZA: {\r\n countryCode: 'ZA',\r\n dialCode: '+27',\r\n lengths: [9],\r\n mobilePrefixes: ['6', '7', '8'],\r\n landlinePrefixes: ['1', '2'],\r\n pattern: 'XX XXX XXXX',\r\n example: '71 123 4567',\r\n },\r\n KE: {\r\n countryCode: 'KE',\r\n dialCode: '+254',\r\n lengths: [9],\r\n mobilePrefixes: ['7', '1'],\r\n landlinePrefixes: ['20'],\r\n pattern: 'XXX XXX XXX',\r\n example: '712 345 678',\r\n },\r\n\r\n // South America\r\n BR: {\r\n countryCode: 'BR',\r\n dialCode: '+55',\r\n lengths: [10, 11],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXXX XXXX',\r\n example: '11 91234 5678',\r\n },\r\n AR: {\r\n countryCode: 'AR',\r\n dialCode: '+54',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XX XXXX XXXX',\r\n example: '11 1234 5678',\r\n },\r\n MX: {\r\n countryCode: 'MX',\r\n dialCode: '+52',\r\n lengths: [10],\r\n mobilePrefixes: [],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '555 123 4567',\r\n },\r\n CO: {\r\n countryCode: 'CO',\r\n dialCode: '+57',\r\n lengths: [10],\r\n mobilePrefixes: ['3'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XXXX',\r\n example: '310 123 4567',\r\n },\r\n\r\n // Oceania\r\n AU: {\r\n countryCode: 'AU',\r\n dialCode: '+61',\r\n lengths: [9],\r\n mobilePrefixes: ['4'],\r\n landlinePrefixes: ['2', '3', '7', '8'],\r\n pattern: 'XXX XXX XXX',\r\n example: '412 345 678',\r\n },\r\n NZ: {\r\n countryCode: 'NZ',\r\n dialCode: '+64',\r\n lengths: [8, 9],\r\n mobilePrefixes: ['2'],\r\n landlinePrefixes: ['3', '4', '6', '7', '9'],\r\n pattern: 'XX XXX XXXX',\r\n example: '21 234 5678',\r\n },\r\n\r\n // Russia & CIS\r\n RU: {\r\n countryCode: 'RU',\r\n dialCode: '+7',\r\n lengths: [10],\r\n mobilePrefixes: ['9'],\r\n landlinePrefixes: [],\r\n pattern: 'XXX XXX XX XX',\r\n example: '912 345 67 89',\r\n },\r\n UA: {\r\n countryCode: 'UA',\r\n dialCode: '+380',\r\n lengths: [9],\r\n mobilePrefixes: ['50', '63', '66', '67', '68', '73', '91', '92', '93', '94', '95', '96', '97', '98', '99'],\r\n landlinePrefixes: ['44'],\r\n pattern: 'XX XXX XX XX',\r\n example: '50 123 45 67',\r\n },\r\n};\r\n\r\n/**\r\n * Get phone format for a country\r\n */\r\nexport function getPhoneFormat(countryCode: string): PhoneFormat | null {\r\n return PHONE_FORMATS[countryCode.toUpperCase()] || null;\r\n}\r\n\r\n/**\r\n * Get all supported country codes\r\n */\r\nexport function getSupportedPhoneCountries(): string[] {\r\n return Object.keys(PHONE_FORMATS);\r\n}\r\n"]}