@mvf/external-components 3.31.1-dev.4 → 3.31.1-dev.6

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 (125) hide show
  1. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js +28 -7
  2. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js.map +1 -1
  3. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js +147 -1
  4. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js.map +1 -1
  5. package/Components/Molecules/PhoneNumberTextFieldCustom/{ErrorDisplay.d.ts → __helpers__/components/display/ErrorDisplay.d.ts} +0 -1
  6. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js +17 -0
  7. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js.map +1 -0
  8. package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.js → __helpers__/components/forms/PhoneInput.js} +2 -5
  9. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.js.map +1 -0
  10. package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.test.js → __helpers__/components/forms/PhoneInput.test.js} +1 -1
  11. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.test.js.map +1 -0
  12. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.d.ts → __helpers__/components/ui/CountryDropdown.d.ts} +1 -1
  13. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.js → __helpers__/components/ui/CountryDropdown.js} +1 -1
  14. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.js.map +1 -0
  15. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.test.js → __helpers__/components/ui/CountryDropdown.test.js} +2 -2
  16. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.test.js.map +1 -0
  17. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.d.ts → __helpers__/components/ui/CountryModal.d.ts} +1 -1
  18. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.js → __helpers__/components/ui/CountryModal.js} +1 -1
  19. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.js.map +1 -0
  20. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.test.js → __helpers__/components/ui/CountryModal.test.js} +18 -18
  21. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.test.js.map +1 -0
  22. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountrySelector.d.ts → __helpers__/components/ui/CountrySelector.d.ts} +2 -1
  23. package/Components/Molecules/PhoneNumberTextFieldCustom/{CountrySelector.js → __helpers__/components/ui/CountrySelector.js} +8 -5
  24. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountrySelector.js.map +1 -0
  25. package/Components/Molecules/PhoneNumberTextFieldCustom/{FlagIcon.d.ts → __helpers__/components/ui/FlagIcon.d.ts} +1 -1
  26. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/FlagIcon.js.map +1 -0
  27. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.d.ts +2 -1
  28. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js +8 -6
  29. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js.map +1 -1
  30. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.d.ts +7 -1
  31. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js +73 -25
  32. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js.map +1 -1
  33. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.d.ts +5 -2
  34. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js +28 -5
  35. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js.map +1 -1
  36. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.d.ts +1 -1
  37. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js +14 -4
  38. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js.map +1 -1
  39. package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js +1 -1
  40. package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js.map +1 -1
  41. package/Components/Molecules/PhoneNumberTextFieldCustom/index.d.ts +5 -5
  42. package/Components/Molecules/PhoneNumberTextFieldCustom/index.js +5 -5
  43. package/Components/Molecules/PhoneNumberTextFieldCustom/index.js.map +1 -1
  44. package/package.json +1 -2
  45. package/Components/Molecules/PhoneNumberTextField/CountryDropdown.d.ts +0 -12
  46. package/Components/Molecules/PhoneNumberTextField/CountryDropdown.js +0 -146
  47. package/Components/Molecules/PhoneNumberTextField/CountryDropdown.js.map +0 -1
  48. package/Components/Molecules/PhoneNumberTextField/CountryDropdown.test.js +0 -49
  49. package/Components/Molecules/PhoneNumberTextField/CountryDropdown.test.js.map +0 -1
  50. package/Components/Molecules/PhoneNumberTextField/CountryModal.d.ts +0 -11
  51. package/Components/Molecules/PhoneNumberTextField/CountryModal.js +0 -180
  52. package/Components/Molecules/PhoneNumberTextField/CountryModal.js.map +0 -1
  53. package/Components/Molecules/PhoneNumberTextField/CountryModal.test.js +0 -54
  54. package/Components/Molecules/PhoneNumberTextField/CountryModal.test.js.map +0 -1
  55. package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.d.ts +0 -1
  56. package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.js +0 -215
  57. package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.js.map +0 -1
  58. package/Components/Molecules/PhoneNumberTextField/countryData.d.ts +0 -13
  59. package/Components/Molecules/PhoneNumberTextField/countryData.js +0 -743
  60. package/Components/Molecules/PhoneNumberTextField/countryData.js.map +0 -1
  61. package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.d.ts +0 -50
  62. package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.js +0 -147
  63. package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.js.map +0 -1
  64. package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.d.ts +0 -12
  65. package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.js +0 -66
  66. package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.js.map +0 -1
  67. package/Components/Molecules/PhoneNumberTextField/phoneValidation.d.ts +0 -12
  68. package/Components/Molecules/PhoneNumberTextField/phoneValidation.js +0 -71
  69. package/Components/Molecules/PhoneNumberTextField/phoneValidation.js.map +0 -1
  70. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.js.map +0 -1
  71. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.test.d.ts +0 -1
  72. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.test.js.map +0 -1
  73. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.js.map +0 -1
  74. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.test.d.ts +0 -1
  75. package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.test.js.map +0 -1
  76. package/Components/Molecules/PhoneNumberTextFieldCustom/CountrySelector.js.map +0 -1
  77. package/Components/Molecules/PhoneNumberTextFieldCustom/ErrorDisplay.js +0 -26
  78. package/Components/Molecules/PhoneNumberTextFieldCustom/ErrorDisplay.js.map +0 -1
  79. package/Components/Molecules/PhoneNumberTextFieldCustom/FlagIcon.js.map +0 -1
  80. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneInput.js.map +0 -1
  81. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneInput.test.js.map +0 -1
  82. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.d.ts +0 -37
  83. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.js +0 -154
  84. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.js.map +0 -1
  85. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.d.ts +0 -17
  86. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.js +0 -29
  87. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.js.map +0 -1
  88. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.d.ts +0 -12
  89. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.js +0 -70
  90. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.js.map +0 -1
  91. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.d.ts +0 -20
  92. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.js +0 -60
  93. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.js.map +0 -1
  94. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.d.ts +0 -18
  95. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.js +0 -101
  96. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.js.map +0 -1
  97. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.d.ts +0 -13
  98. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.js +0 -513
  99. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.js.map +0 -1
  100. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.d.ts +0 -0
  101. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.js +0 -2
  102. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.js.map +0 -1
  103. package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.d.ts +0 -12
  104. package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.js +0 -507
  105. package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.js.map +0 -1
  106. package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.d.ts +0 -8
  107. package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.js +0 -139
  108. package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.js.map +0 -1
  109. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.d.ts +0 -15
  110. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.js +0 -120
  111. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.js.map +0 -1
  112. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.d.ts +0 -1
  113. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.js +0 -157
  114. package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.js.map +0 -1
  115. package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.d.ts +0 -12
  116. package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.js +0 -34
  117. package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.js.map +0 -1
  118. package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.d.ts +0 -31
  119. package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.js +0 -130
  120. package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.js.map +0 -1
  121. /package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.d.ts → __helpers__/components/forms/PhoneInput.d.ts} +0 -0
  122. /package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.test.d.ts → __helpers__/components/forms/PhoneInput.test.d.ts} +0 -0
  123. /package/Components/Molecules/{PhoneNumberTextField → PhoneNumberTextFieldCustom/__helpers__/components/ui}/CountryDropdown.test.d.ts +0 -0
  124. /package/Components/Molecules/{PhoneNumberTextField → PhoneNumberTextFieldCustom/__helpers__/components/ui}/CountryModal.test.d.ts +0 -0
  125. /package/Components/Molecules/PhoneNumberTextFieldCustom/{FlagIcon.js → __helpers__/components/ui/FlagIcon.js} +0 -0
@@ -1,15 +0,0 @@
1
- import { PhoneNumberType } from 'google-libphonenumber';
2
- import { CountryCode } from './__helpers__/utils/countryData';
3
- export interface PhoneValidationResult {
4
- isValid: boolean;
5
- formattedNumber: string;
6
- countryCode: CountryCode | undefined;
7
- nationalNumber: string;
8
- nationalFormatted: string;
9
- phoneNumberType?: PhoneNumberType;
10
- errorMessage?: string;
11
- }
12
- export declare const validatePhoneNumber: (phoneNumber: string, countryCode?: CountryCode) => PhoneValidationResult;
13
- export declare const formatAsYouType: (phoneNumber: string, countryCode: CountryCode) => string;
14
- export declare const getExampleForCountry: (countryCode: CountryCode) => string;
15
- export declare const extractCountryCodeFromNumber: (phoneNumber: string, defaultCountry?: CountryCode) => CountryCode | undefined;
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractCountryCodeFromNumber = exports.getExampleForCountry = exports.formatAsYouType = exports.validatePhoneNumber = void 0;
4
- var google_libphonenumber_1 = require("google-libphonenumber");
5
- var phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
6
- var validatePhoneNumber = function (phoneNumber, countryCode) {
7
- var _a;
8
- try {
9
- // If no country code provided, try to parse the number
10
- var parsedNumber = countryCode
11
- ? phoneUtil.parse(phoneNumber, countryCode)
12
- : phoneUtil.parse(phoneNumber);
13
- if (!parsedNumber) {
14
- return {
15
- isValid: false,
16
- formattedNumber: phoneNumber,
17
- countryCode: undefined,
18
- nationalNumber: phoneNumber,
19
- nationalFormatted: phoneNumber,
20
- errorMessage: 'Invalid phone number format',
21
- };
22
- }
23
- var isValid = phoneUtil.isValidNumber(parsedNumber);
24
- var formattedNumber = phoneUtil.format(parsedNumber, google_libphonenumber_1.PhoneNumberFormat.E164);
25
- var nationalFormatted = phoneUtil.format(parsedNumber, google_libphonenumber_1.PhoneNumberFormat.NATIONAL);
26
- var detectedCountryCode = phoneUtil.getRegionCodeForNumber(parsedNumber);
27
- var nationalNumber = ((_a = parsedNumber.getNationalNumber()) === null || _a === void 0 ? void 0 : _a.toString()) || '';
28
- var phoneNumberType = phoneUtil.getNumberType(parsedNumber);
29
- return {
30
- isValid: isValid,
31
- formattedNumber: formattedNumber,
32
- countryCode: detectedCountryCode,
33
- nationalNumber: nationalNumber,
34
- nationalFormatted: nationalFormatted,
35
- phoneNumberType: phoneNumberType,
36
- errorMessage: isValid ? undefined : 'Please enter a valid phone number',
37
- };
38
- }
39
- catch (error) {
40
- return {
41
- isValid: false,
42
- formattedNumber: phoneNumber,
43
- countryCode: undefined,
44
- nationalNumber: phoneNumber,
45
- nationalFormatted: phoneNumber,
46
- errorMessage: 'Invalid phone number format',
47
- };
48
- }
49
- };
50
- exports.validatePhoneNumber = validatePhoneNumber;
51
- var formatAsYouType = function (phoneNumber, countryCode) {
52
- try {
53
- if (!phoneNumber || phoneNumber.length === 0) {
54
- return phoneNumber;
55
- }
56
- var formatter = new google_libphonenumber_1.AsYouTypeFormatter(countryCode);
57
- var formatted = '';
58
- // Clean the input - only keep digits and + at the start
59
- var cleanedInput = phoneNumber.replace(/[^\d+]/g, '');
60
- // Handle international numbers with +
61
- if (cleanedInput.startsWith('+')) {
62
- // For international numbers, use a generic formatter that can detect the country
63
- var internationalFormatter = new google_libphonenumber_1.AsYouTypeFormatter('US'); // Use US as default for international parsing
64
- for (var i = 0; i < cleanedInput.length; i++) {
65
- var char = cleanedInput.charAt(i);
66
- formatted = internationalFormatter.inputDigit(char);
67
- }
68
- }
69
- else {
70
- // Process each digit through the country-specific formatter
71
- for (var i = 0; i < cleanedInput.length; i++) {
72
- var char = cleanedInput.charAt(i);
73
- formatted = formatter.inputDigit(char);
74
- }
75
- }
76
- return formatted || phoneNumber;
77
- }
78
- catch (error) {
79
- // If formatting fails, return the original number
80
- return phoneNumber;
81
- }
82
- };
83
- exports.formatAsYouType = formatAsYouType;
84
- var getExampleForCountry = function (countryCode) {
85
- try {
86
- var example = phoneUtil.getExampleNumber(countryCode);
87
- return example
88
- ? phoneUtil.format(example, google_libphonenumber_1.PhoneNumberFormat.NATIONAL) || ''
89
- : '';
90
- }
91
- catch (_a) {
92
- return '';
93
- }
94
- };
95
- exports.getExampleForCountry = getExampleForCountry;
96
- var extractCountryCodeFromNumber = function (phoneNumber, defaultCountry) {
97
- try {
98
- // First try to parse as international number (with country code)
99
- var parsed = void 0;
100
- try {
101
- parsed = phoneUtil.parse(phoneNumber);
102
- }
103
- catch (_a) {
104
- // If international parsing fails and we have a default country, try with it
105
- if (defaultCountry) {
106
- parsed = phoneUtil.parse(phoneNumber, defaultCountry);
107
- }
108
- else {
109
- return undefined;
110
- }
111
- }
112
- var regionCode = phoneUtil.getRegionCodeForNumber(parsed);
113
- return regionCode;
114
- }
115
- catch (_b) {
116
- return undefined;
117
- }
118
- };
119
- exports.extractCountryCodeFromNumber = extractCountryCodeFromNumber;
120
- //# sourceMappingURL=phoneValidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"phoneValidation.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.ts"],"names":[],"mappings":"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"}
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var phoneValidation_1 = require("./phoneValidation");
4
- describe('Phone Validation Utils', function () {
5
- describe('validatePhoneNumber', function () {
6
- it('should return a validation result for any input', function () {
7
- var result = (0, phoneValidation_1.validatePhoneNumber)('5551234567', 'US');
8
- expect(result).toBeDefined();
9
- expect(result).toHaveProperty('isValid');
10
- expect(result).toHaveProperty('formattedNumber');
11
- expect(result).toHaveProperty('countryCode');
12
- expect(result).toHaveProperty('nationalNumber');
13
- });
14
- it('should handle international phone numbers', function () {
15
- var result = (0, phoneValidation_1.validatePhoneNumber)('+1234567890');
16
- expect(result).toBeDefined();
17
- expect(result).toHaveProperty('isValid');
18
- expect(result).toHaveProperty('formattedNumber');
19
- });
20
- it('should reject clearly invalid input', function () {
21
- var result = (0, phoneValidation_1.validatePhoneNumber)('123', 'US');
22
- expect(result.isValid).toBe(false);
23
- expect(result).toHaveProperty('errorMessage');
24
- });
25
- it('should handle empty input gracefully', function () {
26
- var result = (0, phoneValidation_1.validatePhoneNumber)('', 'US');
27
- expect(result.isValid).toBe(false);
28
- expect(result.formattedNumber).toBe('');
29
- expect(result.errorMessage).toBe('Invalid phone number format');
30
- });
31
- it('should handle various country codes', function () {
32
- var usResult = (0, phoneValidation_1.validatePhoneNumber)('1234567890', 'US');
33
- var gbResult = (0, phoneValidation_1.validatePhoneNumber)('1234567890', 'GB');
34
- var caResult = (0, phoneValidation_1.validatePhoneNumber)('1234567890', 'CA');
35
- expect(usResult).toHaveProperty('isValid');
36
- expect(gbResult).toHaveProperty('isValid');
37
- expect(caResult).toHaveProperty('isValid');
38
- });
39
- it('should handle invalid characters gracefully', function () {
40
- var result = (0, phoneValidation_1.validatePhoneNumber)('abc123def', 'US');
41
- expect(result.isValid).toBe(false);
42
- expect(result).toHaveProperty('errorMessage');
43
- });
44
- });
45
- describe('formatAsYouType', function () {
46
- it('should return formatted string for US numbers', function () {
47
- var result1 = (0, phoneValidation_1.formatAsYouType)('5', 'US');
48
- var result2 = (0, phoneValidation_1.formatAsYouType)('555', 'US');
49
- var result3 = (0, phoneValidation_1.formatAsYouType)('5551234567', 'US');
50
- expect(typeof result1).toBe('string');
51
- expect(typeof result2).toBe('string');
52
- expect(typeof result3).toBe('string');
53
- expect(result3).toContain('555');
54
- expect(result3).toContain('123');
55
- expect(result3).toContain('4567');
56
- });
57
- it('should return formatted string for UK numbers', function () {
58
- var result1 = (0, phoneValidation_1.formatAsYouType)('7', 'GB');
59
- var result2 = (0, phoneValidation_1.formatAsYouType)('770', 'GB');
60
- var result3 = (0, phoneValidation_1.formatAsYouType)('7700900123', 'GB');
61
- expect(typeof result1).toBe('string');
62
- expect(typeof result2).toBe('string');
63
- expect(typeof result3).toBe('string');
64
- expect(result3).toContain('7700');
65
- });
66
- it('should handle international numbers with + prefix', function () {
67
- var result = (0, phoneValidation_1.formatAsYouType)('+447700900123', 'GB');
68
- expect(result).toContain('7700');
69
- });
70
- it('should handle empty input', function () {
71
- expect((0, phoneValidation_1.formatAsYouType)('', 'US')).toBe('');
72
- });
73
- it('should handle invalid input gracefully', function () {
74
- var result = (0, phoneValidation_1.formatAsYouType)('abc', 'US');
75
- expect(result).toBe('abc'); // Should return original if formatting fails
76
- });
77
- it('should format Canadian phone number', function () {
78
- var result = (0, phoneValidation_1.formatAsYouType)('4161234567', 'CA');
79
- expect(result).toBe('(416) 123-4567');
80
- });
81
- it('should handle partial international number', function () {
82
- var result = (0, phoneValidation_1.formatAsYouType)('+1555', 'US');
83
- expect(result).toBe('+1 555');
84
- });
85
- });
86
- describe('getExampleForCountry', function () {
87
- it('should return example for US', function () {
88
- var example = (0, phoneValidation_1.getExampleForCountry)('US');
89
- expect(example).toBeTruthy();
90
- expect(example).toContain('(');
91
- expect(example).toContain(')');
92
- expect(example).toContain('-');
93
- });
94
- it('should return example for UK', function () {
95
- var example = (0, phoneValidation_1.getExampleForCountry)('GB');
96
- expect(example).toBeTruthy();
97
- expect(example.length).toBeGreaterThan(0);
98
- });
99
- it('should return example for Canada', function () {
100
- var example = (0, phoneValidation_1.getExampleForCountry)('CA');
101
- expect(example).toBeTruthy();
102
- expect(example).toContain('(');
103
- });
104
- it('should handle invalid country code', function () {
105
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
106
- var example = (0, phoneValidation_1.getExampleForCountry)('INVALID');
107
- expect(example).toBe('');
108
- });
109
- it('should return different examples for different countries', function () {
110
- var usExample = (0, phoneValidation_1.getExampleForCountry)('US');
111
- var gbExample = (0, phoneValidation_1.getExampleForCountry)('GB');
112
- expect(usExample).not.toBe(gbExample);
113
- });
114
- });
115
- describe('extractCountryCodeFromNumber', function () {
116
- it('should handle international numbers', function () {
117
- var result1 = (0, phoneValidation_1.extractCountryCodeFromNumber)('+15551234567');
118
- var result2 = (0, phoneValidation_1.extractCountryCodeFromNumber)('+447700900123');
119
- var result3 = (0, phoneValidation_1.extractCountryCodeFromNumber)('+33123456789');
120
- // These may or may not work depending on the library implementation
121
- // Just verify they return something or undefined
122
- expect([null, undefined, 'US', 'CA']).toContain(result1);
123
- expect([null, undefined, 'GB']).toContain(result2);
124
- expect([null, undefined, 'FR']).toContain(result3);
125
- });
126
- it('should return undefined for invalid numbers', function () {
127
- var result1 = (0, phoneValidation_1.extractCountryCodeFromNumber)('123');
128
- var result2 = (0, phoneValidation_1.extractCountryCodeFromNumber)('');
129
- var result3 = (0, phoneValidation_1.extractCountryCodeFromNumber)('+abc123');
130
- expect(result1).toBeUndefined();
131
- expect(result2).toBeUndefined();
132
- expect(result3).toBeUndefined();
133
- });
134
- });
135
- describe('Edge Cases', function () {
136
- it('should handle very long numbers', function () {
137
- var longNumber = '123456789012345678901234567890';
138
- var result = (0, phoneValidation_1.validatePhoneNumber)(longNumber, 'US');
139
- expect(result.isValid).toBe(false);
140
- });
141
- it('should handle formatted input strings', function () {
142
- var result1 = (0, phoneValidation_1.formatAsYouType)('555-123-4567', 'US');
143
- var result2 = (0, phoneValidation_1.formatAsYouType)('555 123 4567', 'US');
144
- expect(typeof result1).toBe('string');
145
- expect(typeof result2).toBe('string');
146
- });
147
- it('should handle various input formats', function () {
148
- var result1 = (0, phoneValidation_1.validatePhoneNumber)('1234567890', 'US');
149
- var result2 = (0, phoneValidation_1.validatePhoneNumber)('123-456-7890', 'US');
150
- var result3 = (0, phoneValidation_1.validatePhoneNumber)('+11234567890', 'US');
151
- expect(result1).toHaveProperty('isValid');
152
- expect(result2).toHaveProperty('isValid');
153
- expect(result3).toHaveProperty('isValid');
154
- });
155
- });
156
- });
157
- //# sourceMappingURL=phoneValidation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"phoneValidation.test.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- export interface UseCountrySelectorOptions {
3
- enableCountryChange?: boolean;
4
- }
5
- export interface UseCountrySelectorReturn {
6
- isCountryMenuOpen: boolean;
7
- openCountryMenu: () => void;
8
- closeCountryMenu: () => void;
9
- handleCountrySelectClick: () => void;
10
- handleKeyDown: (e: React.KeyboardEvent) => void;
11
- }
12
- export declare const useCountrySelector: ({ enableCountryChange, }?: UseCountrySelectorOptions) => UseCountrySelectorReturn;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useCountrySelector = void 0;
4
- var react_1 = require("react");
5
- var useCountrySelector = function (_a) {
6
- var _b = _a === void 0 ? {} : _a, _c = _b.enableCountryChange, enableCountryChange = _c === void 0 ? true : _c;
7
- var _d = (0, react_1.useState)(false), isCountryMenuOpen = _d[0], setIsCountryMenuOpen = _d[1];
8
- var openCountryMenu = (0, react_1.useCallback)(function () {
9
- if (enableCountryChange) {
10
- setIsCountryMenuOpen(true);
11
- }
12
- }, [enableCountryChange]);
13
- var closeCountryMenu = (0, react_1.useCallback)(function () {
14
- setIsCountryMenuOpen(false);
15
- }, []);
16
- var handleCountrySelectClick = (0, react_1.useCallback)(function () {
17
- openCountryMenu();
18
- }, [openCountryMenu]);
19
- var handleKeyDown = (0, react_1.useCallback)(function (e) {
20
- if (enableCountryChange && (e.key === 'Enter' || e.key === ' ')) {
21
- e.preventDefault();
22
- openCountryMenu();
23
- }
24
- }, [enableCountryChange, openCountryMenu]);
25
- return {
26
- isCountryMenuOpen: isCountryMenuOpen,
27
- openCountryMenu: openCountryMenu,
28
- closeCountryMenu: closeCountryMenu,
29
- handleCountrySelectClick: handleCountrySelectClick,
30
- handleKeyDown: handleKeyDown,
31
- };
32
- };
33
- exports.useCountrySelector = useCountrySelector;
34
- //# sourceMappingURL=useCountrySelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCountrySelector.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAcvC,IAAM,kBAAkB,GAAG,UAAC,EAEF;QAFE,qBAEJ,EAAE,KAAA,EAD/B,2BAA0B,EAA1B,mBAAmB,mBAAG,IAAI,KAAA;IAEpB,IAAA,KAA4C,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA1D,iBAAiB,QAAA,EAAE,oBAAoB,QAAmB,CAAC;IAElE,IAAM,eAAe,GAAG,IAAA,mBAAW,EAAC;QAClC,IAAI,mBAAmB,EAAE;YACvB,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC;QACnC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,wBAAwB,GAAG,IAAA,mBAAW,EAAC;QAC3C,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,IAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,UAAC,CAAsB;QACrB,IAAI,mBAAmB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;YAC/D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;SACnB;IACH,CAAC,EACD,CAAC,mBAAmB,EAAE,eAAe,CAAC,CACvC,CAAC;IAEF,OAAO;QACL,iBAAiB,mBAAA;QACjB,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,wBAAwB,0BAAA;QACxB,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AApCW,QAAA,kBAAkB,sBAoC7B"}
@@ -1,31 +0,0 @@
1
- import { CountryData } from './countryData';
2
- import { PhoneValidationResult } from './phoneValidation';
3
- export interface UsePhoneNumberOptions {
4
- initialCountry?: string;
5
- initialValue?: string;
6
- onPhoneNumberChange?: (params: {
7
- phoneNumber: string;
8
- e164Number: string;
9
- }) => void;
10
- onCountryChange?: (params: {
11
- selectedCountry: CountryData;
12
- previousCountry: CountryData;
13
- }) => void;
14
- onValidationChange?: (params: {
15
- isValid: boolean;
16
- validationResult: PhoneValidationResult;
17
- phoneNumber: string;
18
- }) => void;
19
- }
20
- export interface UsePhoneNumberReturn {
21
- phoneNumber: string;
22
- selectedCountry: CountryData;
23
- validationResult: PhoneValidationResult | null;
24
- countries: CountryData[];
25
- setPhoneNumber: (value: string) => void;
26
- setSelectedCountry: (country: CountryData) => void;
27
- isValid: boolean;
28
- errorMessage?: string;
29
- formattedE164: string;
30
- }
31
- export declare const usePhoneNumber: ({ initialCountry, initialValue, }?: Omit<UsePhoneNumberOptions, 'onPhoneNumberChange' | 'onCountryChange' | 'onValidationChange'>) => UsePhoneNumberReturn;
@@ -1,130 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usePhoneNumber = void 0;
4
- var react_1 = require("react");
5
- var countryData_1 = require("./countryData");
6
- var phoneValidation_1 = require("./phoneValidation");
7
- var usePhoneNumber = function (_a) {
8
- var _b, _c;
9
- var _d = _a === void 0 ? {} : _a, initialCountry = _d.initialCountry, _e = _d.initialValue, initialValue = _e === void 0 ? '' : _e;
10
- // Memoize countries data to prevent unnecessary recalculations
11
- var countries = (0, react_1.useMemo)(function () { return (0, countryData_1.getCountryData)(); }, []);
12
- // Initialize selected country
13
- var _f = (0, react_1.useState)(function () {
14
- if (initialCountry) {
15
- var initialCountryData = countries.find(function (c) { return c.code === initialCountry; });
16
- if (initialCountryData)
17
- return initialCountryData;
18
- }
19
- return countries[0]; // Fallback to first country
20
- }), selectedCountry = _f[0], setSelectedCountryState = _f[1];
21
- var _g = (0, react_1.useState)(''), phoneNumber = _g[0], setPhoneNumberState = _g[1];
22
- var _h = (0, react_1.useState)(null), validationResult = _h[0], setValidationResult = _h[1];
23
- var previousValueRef = (0, react_1.useRef)('');
24
- // Process phone number with country-specific formatting and validation
25
- var processPhoneNumber = (0, react_1.useCallback)(function (phoneValue, countryCode, useNationalFormat) {
26
- if (useNationalFormat === void 0) { useNationalFormat = true; }
27
- var validation = (0, phoneValidation_1.validatePhoneNumber)(phoneValue, countryCode);
28
- if (useNationalFormat && validation.nationalFormatted) {
29
- return { formattedNumber: validation.nationalFormatted, validation: validation };
30
- }
31
- var formattedNumber = (0, phoneValidation_1.formatAsYouType)(phoneValue, countryCode);
32
- return { formattedNumber: formattedNumber, validation: validation };
33
- }, []);
34
- // Update country if different from current
35
- var updateCountryIfDifferent = (0, react_1.useCallback)(function (detectedCountryCode) {
36
- var detectedCountry = countries.find(function (c) { return c.code === detectedCountryCode; });
37
- if (detectedCountry && detectedCountry.code !== selectedCountry.code) {
38
- return detectedCountry;
39
- }
40
- return null;
41
- }, [countries, selectedCountry.code]);
42
- // Handle external value changes (controlled component behavior)
43
- (0, react_1.useEffect)(function () {
44
- if (previousValueRef.current === initialValue)
45
- return;
46
- previousValueRef.current = initialValue || '';
47
- if (!initialValue) {
48
- setPhoneNumberState('');
49
- setValidationResult(null);
50
- return;
51
- }
52
- // Try to extract country code from the input value
53
- var detectedCountryCode = (0, phoneValidation_1.extractCountryCodeFromNumber)(initialValue, selectedCountry.code);
54
- if (detectedCountryCode) {
55
- // Update country if different
56
- var newCountry = updateCountryIfDifferent(detectedCountryCode);
57
- if (newCountry) {
58
- setSelectedCountryState(newCountry);
59
- }
60
- // Process with detected country
61
- var _a = processPhoneNumber(initialValue, detectedCountryCode, true), formattedNumber = _a.formattedNumber, validation = _a.validation;
62
- setPhoneNumberState(formattedNumber);
63
- setValidationResult(validation);
64
- }
65
- else {
66
- // Use current selected country
67
- var _b = processPhoneNumber(initialValue, selectedCountry.code, false), formattedNumber = _b.formattedNumber, validation = _b.validation;
68
- setPhoneNumberState(formattedNumber);
69
- setValidationResult(validation);
70
- }
71
- }, [
72
- initialValue,
73
- selectedCountry.code,
74
- processPhoneNumber,
75
- updateCountryIfDifferent,
76
- ]);
77
- // Handle phone number changes
78
- var setPhoneNumber = (0, react_1.useCallback)(function (newPhoneNumber) {
79
- // Format as you type
80
- var formattedNumber = (0, phoneValidation_1.formatAsYouType)(newPhoneNumber, selectedCountry.code);
81
- setPhoneNumberState(formattedNumber);
82
- // Validate with auto-detection first, then fallback to selected country
83
- var validation = (0, phoneValidation_1.validatePhoneNumber)(formattedNumber);
84
- if (!validation.countryCode || !validation.isValid) {
85
- validation = (0, phoneValidation_1.validatePhoneNumber)(formattedNumber, selectedCountry.code);
86
- }
87
- setValidationResult(validation);
88
- // Auto-update country if detected
89
- if (validation.countryCode &&
90
- validation.countryCode !== selectedCountry.code) {
91
- var detectedCountry = countries.find(function (c) { return c.code === validation.countryCode; });
92
- if (detectedCountry) {
93
- setSelectedCountryState(detectedCountry);
94
- }
95
- }
96
- }, [selectedCountry, countries]);
97
- // Handle country changes
98
- var setSelectedCountry = (0, react_1.useCallback)(function (country) {
99
- setSelectedCountryState(country);
100
- // Reformat existing phone number with new country's rules
101
- if (phoneNumber) {
102
- var reformattedNumber = (0, phoneValidation_1.formatAsYouType)(phoneNumber, country.code);
103
- setPhoneNumberState(reformattedNumber);
104
- // Re-validate with new country
105
- var validation = (0, phoneValidation_1.validatePhoneNumber)(reformattedNumber, country.code);
106
- setValidationResult(validation);
107
- // Note: callbacks will be triggered by the main component useEffect
108
- }
109
- else {
110
- setValidationResult(null);
111
- }
112
- // Note: callbacks will be triggered by the main component useEffect
113
- }, [selectedCountry, phoneNumber]);
114
- return {
115
- // State
116
- phoneNumber: phoneNumber,
117
- selectedCountry: selectedCountry,
118
- validationResult: validationResult,
119
- countries: countries,
120
- // Actions
121
- setPhoneNumber: setPhoneNumber,
122
- setSelectedCountry: setSelectedCountry,
123
- // Computed
124
- isValid: (_b = validationResult === null || validationResult === void 0 ? void 0 : validationResult.isValid) !== null && _b !== void 0 ? _b : false,
125
- errorMessage: validationResult === null || validationResult === void 0 ? void 0 : validationResult.errorMessage,
126
- formattedE164: (_c = validationResult === null || validationResult === void 0 ? void 0 : validationResult.formattedNumber) !== null && _c !== void 0 ? _c : '',
127
- };
128
- };
129
- exports.usePhoneNumber = usePhoneNumber;
130
- //# sourceMappingURL=usePhoneNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePhoneNumber.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.ts"],"names":[],"mappings":"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"}