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

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 (91) hide show
  1. package/Components/Atoms/FormControl/FormControl.js +1 -3
  2. package/Components/Atoms/FormControl/FormControl.js.map +1 -1
  3. package/Components/Atoms/FormControl/makeFormControlStyles.d.ts +1 -3
  4. package/Components/Atoms/FormControl/makeFormControlStyles.js +2 -1
  5. package/Components/Atoms/FormControl/makeFormControlStyles.js.map +1 -1
  6. package/Components/Atoms/Input/IInputProps.d.ts +0 -5
  7. package/Components/Atoms/Input/Input.js +2 -3
  8. package/Components/Atoms/Input/Input.js.map +1 -1
  9. package/Components/Molecules/PhoneNumberTextField/PhoneNumberTextField.js +3 -5
  10. package/Components/Molecules/PhoneNumberTextField/PhoneNumberTextField.js.map +1 -1
  11. package/Components/Molecules/ScrollContainer/ScrollContainer.js +25 -0
  12. package/Components/Molecules/ScrollContainer/ScrollContainer.js.map +1 -1
  13. package/Components/Molecules/index.d.ts +0 -1
  14. package/Components/Molecules/index.js +1 -3
  15. package/Components/Molecules/index.js.map +1 -1
  16. package/Components/index.d.ts +1 -1
  17. package/Components/index.js +1 -2
  18. package/Components/index.js.map +1 -1
  19. package/index.d.ts +1 -1
  20. package/index.js +1 -2
  21. package/index.js.map +1 -1
  22. package/package.json +1 -3
  23. package/Components/Molecules/PhoneNumberTextFieldCustom/IPhoneNumberTextFieldProps.d.ts +0 -57
  24. package/Components/Molecules/PhoneNumberTextFieldCustom/IPhoneNumberTextFieldProps.js +0 -3
  25. package/Components/Molecules/PhoneNumberTextFieldCustom/IPhoneNumberTextFieldProps.js.map +0 -1
  26. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberCallbacks.d.ts +0 -33
  27. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberCallbacks.js +0 -3
  28. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberCallbacks.js.map +0 -1
  29. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.d.ts +0 -7
  30. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js +0 -216
  31. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js.map +0 -1
  32. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.d.ts +0 -1
  33. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js +0 -596
  34. package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js.map +0 -1
  35. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.d.ts +0 -8
  36. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js +0 -17
  37. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js.map +0 -1
  38. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.d.ts +0 -22
  39. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.js +0 -56
  40. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.js.map +0 -1
  41. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.test.d.ts +0 -1
  42. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.test.js +0 -159
  43. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.test.js.map +0 -1
  44. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.d.ts +0 -12
  45. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.js +0 -206
  46. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.js.map +0 -1
  47. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.test.d.ts +0 -1
  48. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.test.js +0 -187
  49. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.test.js.map +0 -1
  50. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.d.ts +0 -10
  51. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.js +0 -229
  52. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.js.map +0 -1
  53. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.test.d.ts +0 -1
  54. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.test.js +0 -281
  55. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.test.js.map +0 -1
  56. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountrySelector.d.ts +0 -11
  57. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountrySelector.js +0 -35
  58. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountrySelector.js.map +0 -1
  59. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/FlagIcon.d.ts +0 -10
  60. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/FlagIcon.js +0 -114
  61. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/FlagIcon.js.map +0 -1
  62. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.d.ts +0 -12
  63. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js +0 -36
  64. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js.map +0 -1
  65. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.d.ts +0 -38
  66. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js +0 -181
  67. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js.map +0 -1
  68. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.d.ts +0 -21
  69. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js +0 -41
  70. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js.map +0 -1
  71. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/styling/makeFormControlPhoneNumberStyling.d.ts +0 -10
  72. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/styling/makeFormControlPhoneNumberStyling.js +0 -138
  73. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/styling/makeFormControlPhoneNumberStyling.js.map +0 -1
  74. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryData.d.ts +0 -12
  75. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryData.js +0 -509
  76. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryData.js.map +0 -1
  77. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/defaultProps.d.ts +0 -21
  78. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/defaultProps.js +0 -33
  79. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/defaultProps.js.map +0 -1
  80. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.d.ts +0 -15
  81. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js +0 -130
  82. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js.map +0 -1
  83. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.test.d.ts +0 -1
  84. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.test.js +0 -157
  85. package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.test.js.map +0 -1
  86. package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.d.ts +0 -21
  87. package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js +0 -33
  88. package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js.map +0 -1
  89. package/Components/Molecules/PhoneNumberTextFieldCustom/index.d.ts +0 -10
  90. package/Components/Molecules/PhoneNumberTextFieldCustom/index.js +0 -21
  91. package/Components/Molecules/PhoneNumberTextFieldCustom/index.js.map +0 -1
@@ -1,596 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
54
- var react_1 = require("@testing-library/react");
55
- var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
- var renderWithProviders_1 = __importDefault(require("../../../Helpers/React/renderWithProviders"));
57
- var PhoneNumberTextField_1 = __importDefault(require("./PhoneNumberTextField"));
58
- var countryData_1 = require("./__helpers__/utils/countryData");
59
- describe('PhoneNumberTextField', function () {
60
- var defaultProps = {
61
- label: 'Phone Number',
62
- id: 'phone-input',
63
- experimentName: 'default',
64
- value: '',
65
- isAnswered: false,
66
- disabled: false,
67
- isSafari: false,
68
- isAutoFilledActive: false,
69
- type: 'tel',
70
- onBlur: jest.fn(),
71
- onClick: jest.fn(),
72
- };
73
- beforeEach(function () {
74
- jest.clearAllMocks();
75
- });
76
- describe('Basic Rendering', function () {
77
- it('should display PhoneNumberTextField Component with label', function () {
78
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
79
- expect(react_1.screen.getByText('Phone Number')).toBeInTheDocument();
80
- });
81
- it('should render with default country (first in list)', function () {
82
- var countries = (0, countryData_1.getCountryData)();
83
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
84
- // Should show the first country's flag and example
85
- var input = react_1.screen.getByRole('textbox');
86
- expect(input).toHaveAttribute('placeholder', countries[0].example);
87
- });
88
- it('should render with specified initial country', function () {
89
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { initialCountry: "GB" })));
90
- // Should show UK's example
91
- var input = react_1.screen.getByRole('textbox');
92
- var ukCountry = (0, countryData_1.getCountryData)().find(function (c) { return c.code === 'GB'; });
93
- expect(input).toHaveAttribute('placeholder', ukCountry === null || ukCountry === void 0 ? void 0 : ukCountry.example);
94
- });
95
- it('should have tel input type by default', function () {
96
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
97
- var input = react_1.screen.getByRole('textbox');
98
- expect(input).toHaveAttribute('type', 'tel');
99
- });
100
- it('should accept custom input type', function () {
101
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { type: "text" })));
102
- var input = react_1.screen.getByRole('textbox');
103
- expect(input).toHaveAttribute('type', 'text');
104
- });
105
- });
106
- describe('Phone Number Input and Formatting', function () {
107
- it('should format phone number as user types', function () { return __awaiter(void 0, void 0, void 0, function () {
108
- var input;
109
- return __generator(this, function (_a) {
110
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
111
- input = react_1.screen.getByRole('textbox');
112
- // Type a US phone number
113
- user_event_1.default.type(input, '2023456789');
114
- // Should be formatted
115
- expect(input).toHaveValue('(202) 345-6789');
116
- return [2 /*return*/];
117
- });
118
- }); });
119
- it('should handle international phone number input', function () { return __awaiter(void 0, void 0, void 0, function () {
120
- var input;
121
- return __generator(this, function (_a) {
122
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
123
- input = react_1.screen.getByRole('textbox');
124
- // Type an international number
125
- user_event_1.default.type(input, '+441212345678');
126
- // Should be formatted and country should change
127
- expect(input.value).toContain('121 234 5678');
128
- return [2 /*return*/];
129
- });
130
- }); });
131
- it('should call phone number change callbacks', function () { return __awaiter(void 0, void 0, void 0, function () {
132
- var mockOnPhoneNumberChange, mockOnValidationChange, mockOnFormattedValueChange, mockOnChange, input;
133
- return __generator(this, function (_a) {
134
- mockOnPhoneNumberChange = jest.fn();
135
- mockOnValidationChange = jest.fn();
136
- mockOnFormattedValueChange = jest.fn();
137
- mockOnChange = jest.fn();
138
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { onPhoneNumberChange: mockOnPhoneNumberChange, onValidationChange: mockOnValidationChange, onFormattedValueChange: mockOnFormattedValueChange, onChange: mockOnChange })));
139
- input = react_1.screen.getByRole('textbox');
140
- user_event_1.default.type(input, '2023456789');
141
- expect(mockOnPhoneNumberChange).toHaveBeenCalled();
142
- expect(mockOnValidationChange).toHaveBeenCalled();
143
- expect(mockOnFormattedValueChange).toHaveBeenCalled();
144
- expect(mockOnChange).toHaveBeenCalled();
145
- return [2 /*return*/];
146
- });
147
- }); });
148
- it('should validate phone numbers correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
149
- var mockOnValidationChange, input, calls;
150
- return __generator(this, function (_a) {
151
- switch (_a.label) {
152
- case 0:
153
- mockOnValidationChange = jest.fn();
154
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { onValidationChange: mockOnValidationChange })));
155
- input = react_1.screen.getByRole('textbox');
156
- // Type a US number
157
- user_event_1.default.type(input, '2023456789');
158
- // Should call validation callback for each digit
159
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
160
- expect(mockOnValidationChange).toHaveBeenCalled();
161
- })];
162
- case 1:
163
- // Should call validation callback for each digit
164
- _a.sent();
165
- calls = mockOnValidationChange.mock.calls;
166
- expect(calls.length).toBeGreaterThan(0);
167
- // Check that all calls have the expected structure
168
- calls.forEach(function (call) {
169
- var callData = call[0];
170
- expect(callData).toEqual(expect.objectContaining({
171
- id: 'phone-input',
172
- isValid: expect.any(Boolean),
173
- phoneNumber: expect.any(String),
174
- validationResult: expect.any(Object),
175
- }));
176
- });
177
- return [2 /*return*/];
178
- }
179
- });
180
- }); });
181
- it('should show validation error for invalid numbers', function () { return __awaiter(void 0, void 0, void 0, function () {
182
- var input;
183
- return __generator(this, function (_a) {
184
- switch (_a.label) {
185
- case 0:
186
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
187
- input = react_1.screen.getByRole('textbox');
188
- // Type incomplete number
189
- user_event_1.default.type(input, '555');
190
- // Should show error
191
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
192
- expect(react_1.screen.getByText('Please enter a valid phone number')).toBeInTheDocument();
193
- })];
194
- case 1:
195
- // Should show error
196
- _a.sent();
197
- return [2 /*return*/];
198
- }
199
- });
200
- }); });
201
- });
202
- describe('Country Selection', function () {
203
- it('should show country selector when enableCountryChange is true (default)', function () {
204
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
205
- var countrySelector = react_1.screen.getByRole('button', {
206
- name: /select country/i,
207
- });
208
- expect(countrySelector).toBeInTheDocument();
209
- expect(countrySelector).toHaveStyle('cursor: pointer');
210
- });
211
- it('should disable country selector when enableCountryChange is false', function () {
212
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { enableCountryChange: false })));
213
- var countryDisplay = react_1.screen.getByLabelText(/country:/i);
214
- expect(countryDisplay).toBeInTheDocument();
215
- expect(countryDisplay).toHaveStyle('cursor: default');
216
- });
217
- it('should open country dropdown when country selector is clicked', function () { return __awaiter(void 0, void 0, void 0, function () {
218
- var countrySelector;
219
- return __generator(this, function (_a) {
220
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { useModalForCountrySelection: false })));
221
- countrySelector = react_1.screen.getByRole('button', {
222
- name: /select country/i,
223
- });
224
- user_event_1.default.click(countrySelector);
225
- // Should open dropdown listbox
226
- expect(react_1.screen.getByRole('listbox')).toBeInTheDocument();
227
- return [2 /*return*/];
228
- });
229
- }); });
230
- it('should open country modal when useModalForCountrySelection is true', function () { return __awaiter(void 0, void 0, void 0, function () {
231
- var countrySelector;
232
- return __generator(this, function (_a) {
233
- switch (_a.label) {
234
- case 0:
235
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { useModalForCountrySelection: true })));
236
- countrySelector = react_1.screen.getByRole('button', {
237
- name: /select country/i,
238
- });
239
- user_event_1.default.click(countrySelector);
240
- // Should open modal
241
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
242
- expect(react_1.screen.getByRole('dialog')).toBeInTheDocument();
243
- })];
244
- case 1:
245
- // Should open modal
246
- _a.sent();
247
- expect(react_1.screen.getByText('Select Country')).toBeInTheDocument();
248
- return [2 /*return*/];
249
- }
250
- });
251
- }); });
252
- it('should call onCountryChange when country is selected', function () { return __awaiter(void 0, void 0, void 0, function () {
253
- var mockOnCountryChange, countrySelector, countries, targetCountry, countryOption;
254
- return __generator(this, function (_a) {
255
- mockOnCountryChange = jest.fn();
256
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { onCountryChange: mockOnCountryChange, useModalForCountrySelection: false })));
257
- countrySelector = react_1.screen.getByRole('button', {
258
- name: /select country/i,
259
- });
260
- user_event_1.default.click(countrySelector);
261
- countries = (0, countryData_1.getCountryData)();
262
- targetCountry = countries.find(function (c) { return c.code !== countries[0].code; });
263
- if (targetCountry) {
264
- countryOption = react_1.screen.getByRole('option', {
265
- name: new RegExp(targetCountry.name),
266
- });
267
- user_event_1.default.click(countryOption);
268
- expect(mockOnCountryChange).toHaveBeenCalledWith(expect.objectContaining({
269
- selectedCountry: targetCountry,
270
- previousCountry: countries[0],
271
- id: 'phone-input',
272
- }));
273
- }
274
- return [2 /*return*/];
275
- });
276
- }); });
277
- it('should preserve and reformat phone number when country changes', function () { return __awaiter(void 0, void 0, void 0, function () {
278
- var input, countrySelector, countries, targetCountry, countryOption;
279
- return __generator(this, function (_a) {
280
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { useModalForCountrySelection: false })));
281
- input = react_1.screen.getByRole('textbox');
282
- // Type a number first
283
- user_event_1.default.type(input, '2023456789');
284
- expect(input).toHaveValue('(202) 345-6789');
285
- countrySelector = react_1.screen.getByRole('button', {
286
- name: /select country/i,
287
- });
288
- user_event_1.default.click(countrySelector);
289
- countries = (0, countryData_1.getCountryData)();
290
- targetCountry = countries.find(function (c) { return c.code !== countries[0].code; });
291
- if (targetCountry) {
292
- countryOption = react_1.screen.getByRole('option', {
293
- name: new RegExp(targetCountry.name),
294
- });
295
- user_event_1.default.click(countryOption);
296
- // Phone number should be preserved (though it may be reformatted for the new country)
297
- expect(input).not.toHaveValue('');
298
- // The original digits should still be present in some form
299
- expect(input.value).toMatch(/2023456789/);
300
- }
301
- return [2 /*return*/];
302
- });
303
- }); });
304
- it('should call onCountryChange when country is auto-detected from international number', function () { return __awaiter(void 0, void 0, void 0, function () {
305
- var mockOnCountryChange, input;
306
- return __generator(this, function (_a) {
307
- switch (_a.label) {
308
- case 0:
309
- mockOnCountryChange = jest.fn();
310
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { initialCountry: "US", enableCountryChange: true, onCountryChange: mockOnCountryChange })));
311
- input = react_1.screen.getByRole('textbox');
312
- // Type a UK number (+44) - this should trigger auto-detection
313
- user_event_1.default.type(input, '+441234567890');
314
- // Should call onCountryChange for auto-detection
315
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
316
- expect(mockOnCountryChange).toHaveBeenCalledWith(expect.objectContaining({
317
- id: 'phone-input',
318
- selectedCountry: expect.objectContaining({
319
- code: 'GB',
320
- name: 'United Kingdom',
321
- }),
322
- previousCountry: expect.objectContaining({
323
- code: 'US',
324
- }),
325
- }));
326
- })];
327
- case 1:
328
- // Should call onCountryChange for auto-detection
329
- _a.sent();
330
- return [2 /*return*/];
331
- }
332
- });
333
- }); });
334
- it('should call onCountryChange for different international numbers', function () { return __awaiter(void 0, void 0, void 0, function () {
335
- var mockOnCountryChange, input;
336
- return __generator(this, function (_a) {
337
- switch (_a.label) {
338
- case 0:
339
- mockOnCountryChange = jest.fn();
340
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { initialCountry: "US", enableCountryChange: true, onCountryChange: mockOnCountryChange })));
341
- input = react_1.screen.getByRole('textbox');
342
- // Type a French number (+33) - this should trigger auto-detection
343
- user_event_1.default.type(input, '+33123456789');
344
- // Should call onCountryChange for auto-detection to France
345
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
346
- expect(mockOnCountryChange).toHaveBeenCalledWith(expect.objectContaining({
347
- id: 'phone-input',
348
- selectedCountry: expect.objectContaining({
349
- code: 'FR',
350
- name: 'France',
351
- }),
352
- previousCountry: expect.objectContaining({
353
- code: 'US',
354
- }),
355
- }));
356
- })];
357
- case 1:
358
- // Should call onCountryChange for auto-detection to France
359
- _a.sent();
360
- return [2 /*return*/];
361
- }
362
- });
363
- }); });
364
- });
365
- describe('Error States', function () {
366
- it('should display external error message', function () {
367
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { errorMessage: "This field is required" })));
368
- expect(react_1.screen.getByText('This field is required')).toBeInTheDocument();
369
- });
370
- it('should prioritize external error over validation error', function () { return __awaiter(void 0, void 0, void 0, function () {
371
- var input;
372
- return __generator(this, function (_a) {
373
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { errorMessage: "This field is required" })));
374
- input = react_1.screen.getByRole('textbox');
375
- // Type invalid number (would normally show validation error)
376
- user_event_1.default.type(input, '123');
377
- // Should still show external error, not validation error
378
- expect(react_1.screen.getByText('This field is required')).toBeInTheDocument();
379
- expect(react_1.screen.queryByText('Please enter a valid phone number')).not.toBeInTheDocument();
380
- return [2 /*return*/];
381
- });
382
- }); });
383
- });
384
- describe('Value Prop and Controlled State', function () {
385
- it('should parse and display value with country code', function () {
386
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { value: "+441212345678" })));
387
- var input = react_1.screen.getByRole('textbox');
388
- // Should show formatted UK number
389
- expect(input.value).toContain('0121 234 5678');
390
- });
391
- it('should detect country from international number', function () {
392
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { value: "+441212345678" })));
393
- // Should detect UK and show UK flag (test indirectly via placeholder)
394
- var input = react_1.screen.getByRole('textbox');
395
- var ukCountry = (0, countryData_1.getCountryData)().find(function (c) { return c.code === 'GB'; });
396
- expect(input).toHaveAttribute('placeholder', ukCountry === null || ukCountry === void 0 ? void 0 : ukCountry.example);
397
- });
398
- });
399
- describe('Accessibility', function () {
400
- it('should have proper ARIA labels', function () {
401
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
402
- var input = react_1.screen.getByRole('textbox');
403
- expect(input).toHaveAttribute('id', 'phone-input');
404
- var label = react_1.screen.getByText('Phone Number');
405
- expect(label).toHaveAttribute('for', 'phone-input');
406
- });
407
- it('should support keyboard navigation for country selector', function () { return __awaiter(void 0, void 0, void 0, function () {
408
- var countrySelector;
409
- return __generator(this, function (_a) {
410
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
411
- countrySelector = react_1.screen.getByRole('button', {
412
- name: /select country/i,
413
- });
414
- // Test Enter key
415
- countrySelector.focus();
416
- user_event_1.default.keyboard('{Enter}');
417
- expect(react_1.screen.getByRole('listbox')).toBeInTheDocument();
418
- return [2 /*return*/];
419
- });
420
- }); });
421
- it('should support space key for country selector', function () { return __awaiter(void 0, void 0, void 0, function () {
422
- var countrySelector;
423
- return __generator(this, function (_a) {
424
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
425
- countrySelector = react_1.screen.getByRole('button', {
426
- name: /select country/i,
427
- });
428
- // Test Space key
429
- countrySelector.focus();
430
- user_event_1.default.keyboard(' ');
431
- expect(react_1.screen.getByRole('listbox')).toBeInTheDocument();
432
- return [2 /*return*/];
433
- });
434
- }); });
435
- });
436
- describe('Country Search Feature', function () {
437
- it('should enable country search by default', function () { return __awaiter(void 0, void 0, void 0, function () {
438
- var countrySelector;
439
- return __generator(this, function (_a) {
440
- switch (_a.label) {
441
- case 0:
442
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { useModalForCountrySelection: true, enableCountrySearch: true })));
443
- countrySelector = react_1.screen.getByRole('button', {
444
- name: /select country/i,
445
- });
446
- user_event_1.default.click(countrySelector);
447
- // Should show search input in modal
448
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
449
- expect(react_1.screen.getByPlaceholderText('Search countries...')).toBeInTheDocument();
450
- })];
451
- case 1:
452
- // Should show search input in modal
453
- _a.sent();
454
- return [2 /*return*/];
455
- }
456
- });
457
- }); });
458
- it('should disable country search when enableCountrySearch is false', function () { return __awaiter(void 0, void 0, void 0, function () {
459
- var countrySelector;
460
- return __generator(this, function (_a) {
461
- switch (_a.label) {
462
- case 0:
463
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { enableCountrySearch: false, useModalForCountrySelection: true })));
464
- countrySelector = react_1.screen.getByRole('button', {
465
- name: /select country/i,
466
- });
467
- user_event_1.default.click(countrySelector);
468
- // Should not show search input in modal
469
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
470
- expect(react_1.screen.queryByPlaceholderText('Search countries...')).not.toBeInTheDocument();
471
- })];
472
- case 1:
473
- // Should not show search input in modal
474
- _a.sent();
475
- return [2 /*return*/];
476
- }
477
- });
478
- }); });
479
- });
480
- describe('Edge Cases', function () {
481
- it('should handle empty value gracefully', function () {
482
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { value: "" })));
483
- var input = react_1.screen.getByRole('textbox');
484
- expect(input).toHaveValue('');
485
- });
486
- it('should handle invalid initial country code', function () {
487
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps, { initialCountry: "INVALID" })));
488
- // Should fallback to first country
489
- var countries = (0, countryData_1.getCountryData)();
490
- var input = react_1.screen.getByRole('textbox');
491
- expect(input).toHaveAttribute('placeholder', countries[0].example);
492
- });
493
- it('should handle cursor position correctly during formatting', function () { return __awaiter(void 0, void 0, void 0, function () {
494
- var input;
495
- return __generator(this, function (_a) {
496
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, __assign({}, defaultProps)));
497
- input = react_1.screen.getByRole('textbox');
498
- // Type partial number
499
- user_event_1.default.type(input, '202345');
500
- // Set cursor in middle
501
- input.setSelectionRange(3, 3);
502
- // Type more digits
503
- user_event_1.default.type(input, '9');
504
- // Cursor should be in reasonable position (exact position may vary due to formatting)
505
- expect(input.selectionStart).toBeGreaterThan(0);
506
- return [2 /*return*/];
507
- });
508
- }); });
509
- });
510
- describe('enableCountryChange disabled behavior', function () {
511
- it('should not change country when typing international number and enableCountryChange is false', function () { return __awaiter(void 0, void 0, void 0, function () {
512
- var onCountryChange, onPhoneNumberChange, input, lastCall, lastCallData;
513
- return __generator(this, function (_a) {
514
- switch (_a.label) {
515
- case 0:
516
- onCountryChange = jest.fn();
517
- onPhoneNumberChange = jest.fn();
518
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, { id: "test-phone", label: "Phone Number", value: "", initialCountry: "US", enableCountryChange: false, onBlur: function () { }, onClick: function () { }, disabled: false, isAnswered: false, isSafari: false, isAutoFilledActive: false, type: "tel", experimentName: "test", onCountryChange: onCountryChange, onPhoneNumberChange: onPhoneNumberChange }));
519
- input = react_1.screen.getByRole('textbox');
520
- // Type a UK number (+44) while US is selected
521
- user_event_1.default.type(input, '+447769481232');
522
- // Wait for state updates
523
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
524
- expect(onPhoneNumberChange).toHaveBeenCalled();
525
- })];
526
- case 1:
527
- // Wait for state updates
528
- _a.sent();
529
- // Country should NOT have changed to GB
530
- expect(onCountryChange).not.toHaveBeenCalled();
531
- lastCall = onPhoneNumberChange.mock.calls[onPhoneNumberChange.mock.calls.length - 1];
532
- lastCallData = lastCall[0];
533
- expect(lastCallData.phoneNumber).toContain('+447769481232');
534
- // Should still be using US country code context (validation should be against US)
535
- expect(lastCallData.phoneNumber).not.toMatch(/^\+44 7769 481232$/); // UK format
536
- return [2 /*return*/];
537
- }
538
- });
539
- }); });
540
- it('should validate against selected country only when enableCountryChange is false', function () { return __awaiter(void 0, void 0, void 0, function () {
541
- var onValidationChange, input, lastCall, lastCallData;
542
- return __generator(this, function (_a) {
543
- switch (_a.label) {
544
- case 0:
545
- onValidationChange = jest.fn();
546
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, { id: "test-phone", label: "Phone Number", value: "", initialCountry: "US", enableCountryChange: false, onBlur: function () { }, onClick: function () { }, disabled: false, isAnswered: false, isSafari: false, isAutoFilledActive: false, type: "tel", experimentName: "test", onValidationChange: onValidationChange }));
547
- input = react_1.screen.getByRole('textbox');
548
- // Type a UK number that's invalid for US
549
- user_event_1.default.type(input, '+447769481231');
550
- // Wait for validation
551
- return [4 /*yield*/, (0, react_1.waitFor)(function () {
552
- expect(onValidationChange).toHaveBeenCalled();
553
- })];
554
- case 1:
555
- // Wait for validation
556
- _a.sent();
557
- lastCall = onValidationChange.mock.calls[onValidationChange.mock.calls.length - 1];
558
- lastCallData = lastCall[0];
559
- expect(lastCallData.isValid).toBe(false);
560
- return [2 /*return*/];
561
- }
562
- });
563
- }); });
564
- });
565
- describe('disabled behavior', function () {
566
- it('should disable country selector when disabled is true', function () {
567
- var onCountryChange = jest.fn();
568
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, { id: "test-phone", label: "Phone Number", value: "", initialCountry: "US", enableCountryChange: true, onBlur: function () { }, onClick: function () { }, disabled: true, isAnswered: false, isSafari: false, isAutoFilledActive: false, type: "tel", experimentName: "test", onCountryChange: onCountryChange }));
569
- // Find the country selector by its aria-label (when disabled, it's not a button)
570
- var countrySelector = react_1.screen.getByLabelText('Country: United States');
571
- // When disabled, the country selector should not be interactive
572
- // It should not have a button role and should not respond to clicks
573
- expect(countrySelector).toBeInTheDocument();
574
- expect(countrySelector).not.toHaveAttribute('role', 'button');
575
- // The country selector should have reduced opacity (this is handled by CSS)
576
- // We can verify the disabled state by checking that clicking doesn't open the dropdown
577
- user_event_1.default.click(countrySelector);
578
- // Since it's disabled, no country change should occur
579
- expect(onCountryChange).not.toHaveBeenCalled();
580
- });
581
- it('should disable both phone input and country selector when disabled is true', function () {
582
- (0, renderWithProviders_1.default)((0, jsx_runtime_1.jsx)(PhoneNumberTextField_1.default, { id: "test-phone", label: "Phone Number", value: "", initialCountry: "US", enableCountryChange: true, onBlur: function () { }, onClick: function () { }, disabled: true, isAnswered: false, isSafari: false, isAutoFilledActive: false, type: "tel", experimentName: "test" }));
583
- var input = react_1.screen.getByRole('textbox');
584
- var countrySelector = react_1.screen.getByLabelText('Country: United States');
585
- // Both should be disabled
586
- expect(input).toBeDisabled();
587
- expect(countrySelector).toBeInTheDocument();
588
- // The country selector should not be clickable when disabled
589
- user_event_1.default.click(countrySelector);
590
- // No dropdown should appear (this is handled by the useCountrySelector hook)
591
- // We can verify this by checking that the country selector doesn't have button role
592
- expect(countrySelector).not.toHaveAttribute('role', 'button');
593
- });
594
- });
595
- });
596
- //# sourceMappingURL=PhoneNumberTextField.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PhoneNumberTextField.test.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export interface ErrorDisplayProps {
2
- id?: string;
3
- errorMessage?: string;
4
- role?: string;
5
- 'aria-live'?: 'off' | 'polite' | 'assertive';
6
- }
7
- declare const ErrorDisplay: React.FC<ErrorDisplayProps>;
8
- export default ErrorDisplay;