@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.
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js +28 -7
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js +147 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextField.test.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/{ErrorDisplay.d.ts → __helpers__/components/display/ErrorDisplay.d.ts} +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js +17 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/display/ErrorDisplay.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.js → __helpers__/components/forms/PhoneInput.js} +2 -5
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.test.js → __helpers__/components/forms/PhoneInput.test.js} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/forms/PhoneInput.test.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.d.ts → __helpers__/components/ui/CountryDropdown.d.ts} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.js → __helpers__/components/ui/CountryDropdown.js} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryDropdown.test.js → __helpers__/components/ui/CountryDropdown.test.js} +2 -2
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryDropdown.test.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.d.ts → __helpers__/components/ui/CountryModal.d.ts} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.js → __helpers__/components/ui/CountryModal.js} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountryModal.test.js → __helpers__/components/ui/CountryModal.test.js} +18 -18
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountryModal.test.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountrySelector.d.ts → __helpers__/components/ui/CountrySelector.d.ts} +2 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/{CountrySelector.js → __helpers__/components/ui/CountrySelector.js} +8 -5
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/CountrySelector.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/{FlagIcon.d.ts → __helpers__/components/ui/FlagIcon.d.ts} +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/components/ui/FlagIcon.js.map +1 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.d.ts +2 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js +8 -6
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useCountrySelector.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.d.ts +7 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js +73 -25
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/usePhoneNumber.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.d.ts +5 -2
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js +28 -5
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/PhoneNumberTextFieldStory.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.d.ts +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js +14 -4
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.js.map +1 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/index.d.ts +5 -5
- package/Components/Molecules/PhoneNumberTextFieldCustom/index.js +5 -5
- package/Components/Molecules/PhoneNumberTextFieldCustom/index.js.map +1 -1
- package/package.json +1 -2
- package/Components/Molecules/PhoneNumberTextField/CountryDropdown.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextField/CountryDropdown.js +0 -146
- package/Components/Molecules/PhoneNumberTextField/CountryDropdown.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/CountryDropdown.test.js +0 -49
- package/Components/Molecules/PhoneNumberTextField/CountryDropdown.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/CountryModal.d.ts +0 -11
- package/Components/Molecules/PhoneNumberTextField/CountryModal.js +0 -180
- package/Components/Molecules/PhoneNumberTextField/CountryModal.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/CountryModal.test.js +0 -54
- package/Components/Molecules/PhoneNumberTextField/CountryModal.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.d.ts +0 -1
- package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.js +0 -215
- package/Components/Molecules/PhoneNumberTextField/__tests__/PhoneNumberTextField.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/countryData.d.ts +0 -13
- package/Components/Molecules/PhoneNumberTextField/countryData.js +0 -743
- package/Components/Molecules/PhoneNumberTextField/countryData.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.d.ts +0 -50
- package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.js +0 -147
- package/Components/Molecules/PhoneNumberTextField/makePhoneInputStyles.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.js +0 -66
- package/Components/Molecules/PhoneNumberTextField/phoneNumberValidation.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextField/phoneValidation.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextField/phoneValidation.js +0 -71
- package/Components/Molecules/PhoneNumberTextField/phoneValidation.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.test.d.ts +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryDropdown.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.test.d.ts +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountryModal.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/CountrySelector.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/ErrorDisplay.js +0 -26
- package/Components/Molecules/PhoneNumberTextFieldCustom/ErrorDisplay.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/FlagIcon.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneInput.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneInput.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.d.ts +0 -37
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.js +0 -154
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldRefactored.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.d.ts +0 -17
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.js +0 -29
- package/Components/Molecules/PhoneNumberTextFieldCustom/PhoneNumberTextFieldStory.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.js +0 -70
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/hooks/useDebouncedValidation.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.d.ts +0 -20
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.js +0 -60
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/DebouncedValidationStory.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.d.ts +0 -18
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.js +0 -101
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/stories/StrictModeStory.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.d.ts +0 -13
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.js +0 -513
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataFull.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.d.ts +0 -0
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.js +0 -2
- package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/countryDataOptimized.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.js +0 -507
- package/Components/Molecules/PhoneNumberTextFieldCustom/countryData.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.d.ts +0 -8
- package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.js +0 -139
- package/Components/Molecules/PhoneNumberTextFieldCustom/makeFormControlPhoneNumberStyling.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.d.ts +0 -15
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.js +0 -120
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.d.ts +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.js +0 -157
- package/Components/Molecules/PhoneNumberTextFieldCustom/phoneValidation.test.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.d.ts +0 -12
- package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.js +0 -34
- package/Components/Molecules/PhoneNumberTextFieldCustom/useCountrySelector.js.map +0 -1
- package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.d.ts +0 -31
- package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.js +0 -130
- package/Components/Molecules/PhoneNumberTextFieldCustom/usePhoneNumber.js.map +0 -1
- /package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.d.ts → __helpers__/components/forms/PhoneInput.d.ts} +0 -0
- /package/Components/Molecules/PhoneNumberTextFieldCustom/{PhoneInput.test.d.ts → __helpers__/components/forms/PhoneInput.test.d.ts} +0 -0
- /package/Components/Molecules/{PhoneNumberTextField → PhoneNumberTextFieldCustom/__helpers__/components/ui}/CountryDropdown.test.d.ts +0 -0
- /package/Components/Molecules/{PhoneNumberTextField → PhoneNumberTextFieldCustom/__helpers__/components/ui}/CountryModal.test.d.ts +0 -0
- /package/Components/Molecules/PhoneNumberTextFieldCustom/{FlagIcon.js → __helpers__/components/ui/FlagIcon.js} +0 -0
package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js
CHANGED
@@ -48,7 +48,8 @@ var validatePhoneNumber = function (phoneNumber, countryCode) {
|
|
48
48
|
}
|
49
49
|
};
|
50
50
|
exports.validatePhoneNumber = validatePhoneNumber;
|
51
|
-
var formatAsYouType = function (phoneNumber, countryCode) {
|
51
|
+
var formatAsYouType = function (phoneNumber, countryCode, allowInternationalFormatting) {
|
52
|
+
if (allowInternationalFormatting === void 0) { allowInternationalFormatting = true; }
|
52
53
|
try {
|
53
54
|
if (!phoneNumber || phoneNumber.length === 0) {
|
54
55
|
return phoneNumber;
|
@@ -58,7 +59,7 @@ var formatAsYouType = function (phoneNumber, countryCode) {
|
|
58
59
|
// Clean the input - only keep digits and + at the start
|
59
60
|
var cleanedInput = phoneNumber.replace(/[^\d+]/g, '');
|
60
61
|
// Handle international numbers with +
|
61
|
-
if (cleanedInput.startsWith('+')) {
|
62
|
+
if (cleanedInput.startsWith('+') && allowInternationalFormatting) {
|
62
63
|
// For international numbers, use a generic formatter that can detect the country
|
63
64
|
var internationalFormatter = new google_libphonenumber_1.AsYouTypeFormatter('US'); // Use US as default for international parsing
|
64
65
|
for (var i = 0; i < cleanedInput.length; i++) {
|
@@ -68,10 +69,19 @@ var formatAsYouType = function (phoneNumber, countryCode) {
|
|
68
69
|
}
|
69
70
|
else {
|
70
71
|
// Process each digit through the country-specific formatter
|
71
|
-
|
72
|
-
|
72
|
+
// If international formatting is disabled and input starts with +,
|
73
|
+
// we still format but using the selected country's rules
|
74
|
+
var inputToFormat = !allowInternationalFormatting && cleanedInput.startsWith('+')
|
75
|
+
? cleanedInput.substring(1) // Remove the + for local formatting
|
76
|
+
: cleanedInput;
|
77
|
+
for (var i = 0; i < inputToFormat.length; i++) {
|
78
|
+
var char = inputToFormat.charAt(i);
|
73
79
|
formatted = formatter.inputDigit(char);
|
74
80
|
}
|
81
|
+
// Add back the + if it was in the original input but international formatting is disabled
|
82
|
+
if (!allowInternationalFormatting && cleanedInput.startsWith('+')) {
|
83
|
+
formatted = '+' + formatted;
|
84
|
+
}
|
75
85
|
}
|
76
86
|
return formatted || phoneNumber;
|
77
87
|
}
|
package/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"phoneValidation.js","sourceRoot":"","sources":["../../../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.ts"],"names":[],"mappings":";;;AAAA,+DAM+B;AAa/B,IAAM,SAAS,GAAG,uCAAe,CAAC,WAAW,EAAE,CAAC;AAEzC,IAAM,mBAAmB,GAAG,UACjC,WAAmB,EACnB,WAAyB;;IAEzB,IAAI,CAAC;QACH,uDAAuD;QACvD,IAAM,YAAY,GAAgB,WAAW;YAC3C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,WAAW;gBAC5B,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,WAAW;gBAC3B,iBAAiB,EAAE,WAAW;gBAC9B,YAAY,EAAE,6BAA6B;aAC5C,CAAC;QACJ,CAAC;QAED,IAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACtD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CACtC,YAAY,EACZ,yCAAiB,CAAC,IAAI,CACvB,CAAC;QACF,IAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CACxC,YAAY,EACZ,yCAAiB,CAAC,QAAQ,CAC3B,CAAC;QACF,IAAM,mBAAmB,GAAG,SAAS,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAM,cAAc,GAAG,CAAA,MAAA,YAAY,CAAC,iBAAiB,EAAE,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;QAC1E,IAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE9D,OAAO;YACL,OAAO,SAAA;YACP,eAAe,iBAAA;YACf,WAAW,EAAE,mBAAkC;YAC/C,cAAc,gBAAA;YACd,iBAAiB,mBAAA;YACjB,eAAe,iBAAA;YACf,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;SACxE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,WAAW;YAC3B,iBAAiB,EAAE,WAAW;YAC9B,YAAY,EAAE,6BAA6B;SAC5C,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AArDW,QAAA,mBAAmB,uBAqD9B;AAEK,IAAM,eAAe,GAAG,UAC7B,WAAmB,EACnB,WAAwB;
|
1
|
+
{"version":3,"file":"phoneValidation.js","sourceRoot":"","sources":["../../../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/__helpers__/utils/phoneValidation.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"defaultProps.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.ts"],"names":[],"mappings":";;AAAA,IAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,
|
1
|
+
{"version":3,"file":"defaultProps.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/defaultProps.ts"],"names":[],"mappings":";;AAAA,IAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,KAAK;IAC1B,2BAA2B,EAAE,KAAK;IAElC,2BAA2B;IAC3B,UAAU,EAAE,KAAK;IAEjB,qBAAqB;IACrB,mBAAmB,EAAE,SAAS;IAC9B,eAAe,EAAE,SAAS;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,sBAAsB,EAAE,SAAS;IAEjC,6CAA6C;IAC7C,QAAQ,EAAE;QACR,SAAS;IACX,CAAC;IAED,OAAO,EAAE;QACP,SAAS;IACX,CAAC;IACD,MAAM,EAAE;QACN,SAAS;IACX,CAAC;IACD,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,cAAc,EAAE,SAAS;CAC1B,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
export { default } from './PhoneNumberTextField';
|
2
|
-
export { default as CountryDropdown } from './CountryDropdown';
|
3
|
-
export { default as CountryModal } from './CountryModal';
|
4
|
-
export { default as PhoneInput } from './PhoneInput';
|
5
|
-
export { default as CountrySelector } from './CountrySelector';
|
6
|
-
export { default as ErrorDisplay } from './ErrorDisplay';
|
2
|
+
export { default as CountryDropdown } from './__helpers__/components/ui/CountryDropdown';
|
3
|
+
export { default as CountryModal } from './__helpers__/components/ui/CountryModal';
|
4
|
+
export { default as PhoneInput } from './__helpers__/components/forms/PhoneInput';
|
5
|
+
export { default as CountrySelector } from './__helpers__/components/ui/CountrySelector';
|
6
|
+
export { default as ErrorDisplay } from './__helpers__/components/display/ErrorDisplay';
|
7
7
|
export { usePhoneNumber } from './__helpers__/hooks/usePhoneNumber';
|
8
8
|
export type { CountryData, CountryCode } from './__helpers__/utils/countryData';
|
9
9
|
export type { PhoneValidationResult } from './__helpers__/utils/phoneValidation';
|
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.usePhoneNumber = exports.ErrorDisplay = exports.CountrySelector = exports.PhoneInput = exports.CountryModal = exports.CountryDropdown = exports.default = void 0;
|
7
7
|
var PhoneNumberTextField_1 = require("./PhoneNumberTextField");
|
8
8
|
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(PhoneNumberTextField_1).default; } });
|
9
|
-
var CountryDropdown_1 = require("./CountryDropdown");
|
9
|
+
var CountryDropdown_1 = require("./__helpers__/components/ui/CountryDropdown");
|
10
10
|
Object.defineProperty(exports, "CountryDropdown", { enumerable: true, get: function () { return __importDefault(CountryDropdown_1).default; } });
|
11
|
-
var CountryModal_1 = require("./CountryModal");
|
11
|
+
var CountryModal_1 = require("./__helpers__/components/ui/CountryModal");
|
12
12
|
Object.defineProperty(exports, "CountryModal", { enumerable: true, get: function () { return __importDefault(CountryModal_1).default; } });
|
13
|
-
var PhoneInput_1 = require("./PhoneInput");
|
13
|
+
var PhoneInput_1 = require("./__helpers__/components/forms/PhoneInput");
|
14
14
|
Object.defineProperty(exports, "PhoneInput", { enumerable: true, get: function () { return __importDefault(PhoneInput_1).default; } });
|
15
|
-
var CountrySelector_1 = require("./CountrySelector");
|
15
|
+
var CountrySelector_1 = require("./__helpers__/components/ui/CountrySelector");
|
16
16
|
Object.defineProperty(exports, "CountrySelector", { enumerable: true, get: function () { return __importDefault(CountrySelector_1).default; } });
|
17
|
-
var ErrorDisplay_1 = require("./ErrorDisplay");
|
17
|
+
var ErrorDisplay_1 = require("./__helpers__/components/display/ErrorDisplay");
|
18
18
|
Object.defineProperty(exports, "ErrorDisplay", { enumerable: true, get: function () { return __importDefault(ErrorDisplay_1).default; } });
|
19
19
|
var usePhoneNumber_1 = require("./__helpers__/hooks/usePhoneNumber");
|
20
20
|
Object.defineProperty(exports, "usePhoneNumber", { enumerable: true, get: function () { return usePhoneNumber_1.usePhoneNumber; } });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAiD;AAAxC,gIAAA,OAAO,OAAA;AAChB
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextFieldCustom/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAiD;AAAxC,gIAAA,OAAO,OAAA;AAChB,+EAAyF;AAAhF,mIAAA,OAAO,OAAmB;AACnC,yEAAmF;AAA1E,6HAAA,OAAO,OAAgB;AAChC,wEAAkF;AAAzE,yHAAA,OAAO,OAAc;AAC9B,+EAAyF;AAAhF,mIAAA,OAAO,OAAmB;AACnC,8EAAwF;AAA/E,6HAAA,OAAO,OAAgB;AAChC,qEAAoE;AAA3D,gHAAA,cAAc,OAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mvf/external-components",
|
3
|
-
"version": "3.31.1-dev.
|
3
|
+
"version": "3.31.1-dev.6",
|
4
4
|
"license": "UNLICENSED",
|
5
5
|
"scripts": {
|
6
6
|
"dev": "scripts/up.sh",
|
@@ -61,7 +61,6 @@
|
|
61
61
|
"@mui/styles": "^5.14.11",
|
62
62
|
"@mui/x-date-pickers": "^6.16.2",
|
63
63
|
"date-fns": "^2.29.3",
|
64
|
-
"flag-icons": "^7.5.0",
|
65
64
|
"google-libphonenumber": "^3.2.42",
|
66
65
|
"intl-tel-input": "^17.0.16",
|
67
66
|
"lodash": "^4.17.21",
|
@@ -1,12 +0,0 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
import { CountryData } from './countryData';
|
3
|
-
interface CountryDropdownProps {
|
4
|
-
selectedCountry: CountryData;
|
5
|
-
onCountryChange: (country: CountryData) => void;
|
6
|
-
enableCountrySearch?: boolean;
|
7
|
-
anchorEl?: HTMLElement | null;
|
8
|
-
open: boolean;
|
9
|
-
onClose: () => void;
|
10
|
-
}
|
11
|
-
declare const CountryDropdown: React.FC<CountryDropdownProps>;
|
12
|
-
export default CountryDropdown;
|
@@ -1,146 +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 __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
-
};
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
18
|
-
/** @jsxImportSource @emotion/react */
|
19
|
-
var Select_1 = __importDefault(require("@mui/material/Select"));
|
20
|
-
var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
|
21
|
-
var InputBase_1 = __importDefault(require("@mui/material/InputBase"));
|
22
|
-
var Typography_1 = __importDefault(require("@mui/material/Typography"));
|
23
|
-
var react_1 = require("react");
|
24
|
-
var countryData_1 = require("./countryData");
|
25
|
-
var CountryDropdown = function (_a) {
|
26
|
-
var selectedCountry = _a.selectedCountry, onCountryChange = _a.onCountryChange, _b = _a.enableCountrySearch, enableCountrySearch = _b === void 0 ? false : _b, anchorEl = _a.anchorEl, open = _a.open, onClose = _a.onClose;
|
27
|
-
var _c = (0, react_1.useState)(''), searchTerm = _c[0], setSearchTerm = _c[1];
|
28
|
-
var _d = (0, react_1.useState)(-1), selectedIndex = _d[0], setSelectedIndex = _d[1];
|
29
|
-
var searchInputRef = (0, react_1.useRef)(null);
|
30
|
-
var countries = (0, react_1.useMemo)(function () { return (0, countryData_1.getCountryData)(); }, []);
|
31
|
-
var filteredCountries = (0, react_1.useMemo)(function () {
|
32
|
-
if (!searchTerm)
|
33
|
-
return countries;
|
34
|
-
var term = searchTerm.toLowerCase();
|
35
|
-
return countries.filter(function (country) {
|
36
|
-
return country.name.toLowerCase().includes(term) ||
|
37
|
-
country.dialCode.toLowerCase().includes(term) ||
|
38
|
-
country.code.toLowerCase().includes(term);
|
39
|
-
});
|
40
|
-
}, [countries, searchTerm]);
|
41
|
-
var handleCountryChange = function (event) {
|
42
|
-
var country = countries.find(function (c) { return c.code === event.target.value; });
|
43
|
-
if (country) {
|
44
|
-
onCountryChange(country);
|
45
|
-
setSearchTerm('');
|
46
|
-
setSelectedIndex(-1);
|
47
|
-
}
|
48
|
-
};
|
49
|
-
var handleSearchChange = function (event) {
|
50
|
-
setSearchTerm(event.target.value);
|
51
|
-
setSelectedIndex(-1);
|
52
|
-
};
|
53
|
-
var handleKeyDown = function (event) {
|
54
|
-
if (!open)
|
55
|
-
return;
|
56
|
-
switch (event.key) {
|
57
|
-
case 'ArrowDown':
|
58
|
-
event.preventDefault();
|
59
|
-
setSelectedIndex(function (prev) {
|
60
|
-
return prev < filteredCountries.length - 1 ? prev + 1 : prev;
|
61
|
-
});
|
62
|
-
break;
|
63
|
-
case 'ArrowUp':
|
64
|
-
event.preventDefault();
|
65
|
-
setSelectedIndex(function (prev) { return (prev > 0 ? prev - 1 : -1); });
|
66
|
-
break;
|
67
|
-
case 'Enter':
|
68
|
-
event.preventDefault();
|
69
|
-
if (selectedIndex >= 0 && selectedIndex < filteredCountries.length) {
|
70
|
-
var country = filteredCountries[selectedIndex];
|
71
|
-
onCountryChange(country);
|
72
|
-
setSearchTerm('');
|
73
|
-
setSelectedIndex(-1);
|
74
|
-
onClose();
|
75
|
-
}
|
76
|
-
break;
|
77
|
-
case 'Escape':
|
78
|
-
event.preventDefault();
|
79
|
-
onClose();
|
80
|
-
break;
|
81
|
-
}
|
82
|
-
};
|
83
|
-
var handleCountrySelect = function (country) {
|
84
|
-
onCountryChange(country);
|
85
|
-
setSearchTerm('');
|
86
|
-
setSelectedIndex(-1);
|
87
|
-
onClose();
|
88
|
-
};
|
89
|
-
return ((0, jsx_runtime_1.jsxs)(Select_1.default, __assign({ open: open, onClose: onClose, value: selectedCountry.code, onChange: handleCountryChange, variant: "standard", style: {
|
90
|
-
position: 'absolute',
|
91
|
-
opacity: 0,
|
92
|
-
pointerEvents: 'none',
|
93
|
-
top: '0',
|
94
|
-
left: '0',
|
95
|
-
width: '100%',
|
96
|
-
height: '100%',
|
97
|
-
}, MenuProps: {
|
98
|
-
anchorEl: anchorEl,
|
99
|
-
PaperProps: {
|
100
|
-
style: {
|
101
|
-
maxHeight: 300,
|
102
|
-
},
|
103
|
-
},
|
104
|
-
anchorOrigin: {
|
105
|
-
vertical: 'bottom',
|
106
|
-
horizontal: 'left',
|
107
|
-
},
|
108
|
-
transformOrigin: {
|
109
|
-
vertical: 'top',
|
110
|
-
horizontal: 'left',
|
111
|
-
},
|
112
|
-
} }, { children: [enableCountrySearch && ((0, jsx_runtime_1.jsx)(MenuItem_1.default, __assign({ style: {
|
113
|
-
padding: '8px 12px',
|
114
|
-
borderBottom: '1px solid rgba(0, 0, 0, 0.12)',
|
115
|
-
}, onClick: function (e) { return e.stopPropagation(); }, sx: {
|
116
|
-
'&.Mui-focusVisible': {
|
117
|
-
backgroundColor: 'transparent',
|
118
|
-
},
|
119
|
-
} }, { children: (0, jsx_runtime_1.jsx)(InputBase_1.default, { ref: searchInputRef, className: "country-search-input", placeholder: "Search countries...", value: searchTerm, onChange: handleSearchChange, onKeyDown: handleKeyDown, style: { width: '100%' }, onClick: function (e) { return e.stopPropagation(); } }) }))), filteredCountries.map(function (country, index) { return ((0, jsx_runtime_1.jsx)(MenuItem_1.default, __assign({ value: country.code, className: index === selectedIndex ? 'Mui-selected' : '', onClick: function (e) {
|
120
|
-
e.stopPropagation();
|
121
|
-
handleCountrySelect(country);
|
122
|
-
}, sx: {
|
123
|
-
'&.Mui-focusVisible': {
|
124
|
-
backgroundColor: 'transparent',
|
125
|
-
},
|
126
|
-
} }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ style: {
|
127
|
-
display: 'flex',
|
128
|
-
alignItems: 'center',
|
129
|
-
width: '100%',
|
130
|
-
} }, { children: [(0, jsx_runtime_1.jsx)(Typography_1.default, __assign({ component: "span", style: {
|
131
|
-
marginRight: '8px',
|
132
|
-
fontSize: '16px',
|
133
|
-
lineHeight: 1,
|
134
|
-
} }, { children: country.flag })), (0, jsx_runtime_1.jsx)(Typography_1.default, __assign({ component: "span", style: {
|
135
|
-
flex: 1,
|
136
|
-
fontSize: '14px',
|
137
|
-
fontFamily: 'inherit',
|
138
|
-
} }, { children: country.name })), (0, jsx_runtime_1.jsx)(Typography_1.default, __assign({ component: "span", style: {
|
139
|
-
opacity: 0.7,
|
140
|
-
fontSize: '14px',
|
141
|
-
fontFamily: 'inherit',
|
142
|
-
marginLeft: '8px',
|
143
|
-
} }, { children: country.dialCode }))] })) }), country.code)); })] })));
|
144
|
-
};
|
145
|
-
exports.default = CountryDropdown;
|
146
|
-
//# sourceMappingURL=CountryDropdown.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CountryDropdown.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextField/CountryDropdown.tsx"],"names":[],"mappings":"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"}
|
@@ -1,49 +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 __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
-
};
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
18
|
-
var react_1 = require("@testing-library/react");
|
19
|
-
var CountryDropdown_1 = __importDefault(require("./CountryDropdown"));
|
20
|
-
var countryData_1 = require("./countryData");
|
21
|
-
describe('CountryDropdown', function () {
|
22
|
-
var mockCountry = (0, countryData_1.getCountryData)()[0];
|
23
|
-
var mockOnCountryChange = jest.fn();
|
24
|
-
var mockOnClose = jest.fn();
|
25
|
-
var defaultProps = {
|
26
|
-
selectedCountry: mockCountry,
|
27
|
-
onCountryChange: mockOnCountryChange,
|
28
|
-
enableCountrySearch: false,
|
29
|
-
open: false,
|
30
|
-
onClose: mockOnClose,
|
31
|
-
};
|
32
|
-
beforeEach(function () {
|
33
|
-
jest.clearAllMocks();
|
34
|
-
});
|
35
|
-
it('renders without crashing', function () {
|
36
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryDropdown_1.default, __assign({}, defaultProps)));
|
37
|
-
expect(react_1.screen.getByRole('button')).toBeInTheDocument();
|
38
|
-
});
|
39
|
-
it('calls onClose when dropdown is closed', function () {
|
40
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryDropdown_1.default, __assign({}, defaultProps, { open: true })));
|
41
|
-
// The dropdown should be rendered when open is true
|
42
|
-
expect(mockOnClose).not.toHaveBeenCalled();
|
43
|
-
});
|
44
|
-
it('renders search input when enableCountrySearch is true', function () {
|
45
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryDropdown_1.default, __assign({}, defaultProps, { open: true, enableCountrySearch: true })));
|
46
|
-
expect(react_1.screen.getByPlaceholderText('Search countries...')).toBeInTheDocument();
|
47
|
-
});
|
48
|
-
});
|
49
|
-
//# sourceMappingURL=CountryDropdown.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CountryDropdown.test.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextField/CountryDropdown.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwD;AACxD,sEAAgD;AAChD,6CAA+C;AAE/C,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,IAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACtC,IAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE9B,IAAM,YAAY,GAAG;QACnB,eAAe,EAAE,WAAW;QAC5B,eAAe,EAAE,mBAAmB;QACpC,mBAAmB,EAAE,KAAK;QAC1B,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,WAAW;KACrB,CAAC;IAEF,UAAU,CAAC;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE;QAC7B,IAAA,cAAM,EAAC,uBAAC,yBAAe,eAAK,YAAY,EAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE;QAC1C,IAAA,cAAM,EAAC,uBAAC,yBAAe,eAAK,YAAY,IAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QAC1D,oDAAoD;QACpD,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE;QAC1D,IAAA,cAAM,EACJ,uBAAC,yBAAe,eACV,YAAY,IAChB,IAAI,EAAE,IAAI,EACV,mBAAmB,EAAE,IAAI,IACzB,CACH,CAAC;QACF,MAAM,CAAC,cAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
import { CountryData } from './countryData';
|
3
|
-
interface CountryModalProps {
|
4
|
-
selectedCountry: CountryData;
|
5
|
-
onCountryChange: (country: CountryData) => void;
|
6
|
-
enableCountrySearch?: boolean;
|
7
|
-
open: boolean;
|
8
|
-
onClose: () => void;
|
9
|
-
}
|
10
|
-
declare const CountryModal: React.FC<CountryModalProps>;
|
11
|
-
export default CountryModal;
|
@@ -1,180 +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 __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
-
};
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
18
|
-
/** @jsxImportSource @emotion/react */
|
19
|
-
var Modal_1 = __importDefault(require("@mui/material/Modal"));
|
20
|
-
var Box_1 = __importDefault(require("@mui/material/Box"));
|
21
|
-
var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
|
22
|
-
var InputBase_1 = __importDefault(require("@mui/material/InputBase"));
|
23
|
-
var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
|
24
|
-
var Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
25
|
-
var Typography_1 = __importDefault(require("@mui/material/Typography"));
|
26
|
-
var react_1 = require("react");
|
27
|
-
var react_2 = require("@emotion/react");
|
28
|
-
var countryData_1 = require("./countryData");
|
29
|
-
var CountryModal = function (_a) {
|
30
|
-
var selectedCountry = _a.selectedCountry, onCountryChange = _a.onCountryChange, _b = _a.enableCountrySearch, enableCountrySearch = _b === void 0 ? false : _b, open = _a.open, onClose = _a.onClose;
|
31
|
-
var _c = (0, react_1.useState)(''), searchTerm = _c[0], setSearchTerm = _c[1];
|
32
|
-
var _d = (0, react_1.useState)(-1), selectedIndex = _d[0], setSelectedIndex = _d[1];
|
33
|
-
var _e = (0, react_1.useState)(false), isClosing = _e[0], setIsClosing = _e[1];
|
34
|
-
var searchInputRef = (0, react_1.useRef)(null);
|
35
|
-
var theme = (0, react_2.useTheme)();
|
36
|
-
var countries = (0, react_1.useMemo)(function () { return (0, countryData_1.getCountryData)(); }, []);
|
37
|
-
var filteredCountries = (0, react_1.useMemo)(function () {
|
38
|
-
if (!searchTerm)
|
39
|
-
return countries;
|
40
|
-
var term = searchTerm.toLowerCase();
|
41
|
-
return countries.filter(function (country) {
|
42
|
-
return country.name.toLowerCase().includes(term) ||
|
43
|
-
country.dialCode.toLowerCase().includes(term) ||
|
44
|
-
country.code.toLowerCase().includes(term);
|
45
|
-
});
|
46
|
-
}, [countries, searchTerm]);
|
47
|
-
var handleCountrySelect = function (country) {
|
48
|
-
onCountryChange(country);
|
49
|
-
setSearchTerm('');
|
50
|
-
setSelectedIndex(-1);
|
51
|
-
setIsClosing(true);
|
52
|
-
// Delay the actual close to allow animation to complete
|
53
|
-
setTimeout(function () {
|
54
|
-
onClose();
|
55
|
-
setIsClosing(false);
|
56
|
-
}, 195); // Match the animation duration
|
57
|
-
};
|
58
|
-
var handleModalClose = function () {
|
59
|
-
setIsClosing(true);
|
60
|
-
setTimeout(function () {
|
61
|
-
onClose();
|
62
|
-
setIsClosing(false);
|
63
|
-
}, 195);
|
64
|
-
};
|
65
|
-
var handleSearchChange = function (event) {
|
66
|
-
setSearchTerm(event.target.value);
|
67
|
-
setSelectedIndex(-1);
|
68
|
-
};
|
69
|
-
var handleKeyDown = function (event) {
|
70
|
-
switch (event.key) {
|
71
|
-
case 'ArrowDown':
|
72
|
-
event.preventDefault();
|
73
|
-
setSelectedIndex(function (prev) {
|
74
|
-
return prev < filteredCountries.length - 1 ? prev + 1 : prev;
|
75
|
-
});
|
76
|
-
break;
|
77
|
-
case 'ArrowUp':
|
78
|
-
event.preventDefault();
|
79
|
-
setSelectedIndex(function (prev) { return (prev > 0 ? prev - 1 : -1); });
|
80
|
-
break;
|
81
|
-
case 'Enter':
|
82
|
-
event.preventDefault();
|
83
|
-
if (selectedIndex >= 0 && selectedIndex < filteredCountries.length) {
|
84
|
-
var country = filteredCountries[selectedIndex];
|
85
|
-
handleCountrySelect(country);
|
86
|
-
}
|
87
|
-
break;
|
88
|
-
case 'Escape':
|
89
|
-
event.preventDefault();
|
90
|
-
handleModalClose();
|
91
|
-
break;
|
92
|
-
}
|
93
|
-
};
|
94
|
-
var modalStyle = {
|
95
|
-
position: 'absolute',
|
96
|
-
top: '50%',
|
97
|
-
left: '50%',
|
98
|
-
transform: 'translate(-50%, -50%)',
|
99
|
-
width: '90%',
|
100
|
-
height: '90%',
|
101
|
-
bgcolor: theme.mvf.palette.background.answerBackgroundColor,
|
102
|
-
boxShadow: theme.mvf.boxShadow.fierce,
|
103
|
-
borderRadius: 1,
|
104
|
-
outline: 'none',
|
105
|
-
display: 'flex',
|
106
|
-
flexDirection: 'column',
|
107
|
-
};
|
108
|
-
return ((0, jsx_runtime_1.jsx)(Modal_1.default, __assign({ open: open, onClose: handleModalClose, "aria-labelledby": "country-selection-modal", "aria-describedby": "country-selection-modal-description", closeAfterTransition: true }, { children: (0, jsx_runtime_1.jsxs)(Box_1.default, __assign({ sx: __assign(__assign({}, modalStyle), { animation: isClosing
|
109
|
-
? 'modalExit 195ms cubic-bezier(0.4, 0, 1, 1)'
|
110
|
-
: 'modalEnter 225ms cubic-bezier(0.4, 0, 0.2, 1)', '@keyframes modalEnter': {
|
111
|
-
'0%': {
|
112
|
-
opacity: 0,
|
113
|
-
transform: 'translate(-50%, -50%) scale(0.8)',
|
114
|
-
},
|
115
|
-
'100%': {
|
116
|
-
opacity: 1,
|
117
|
-
transform: 'translate(-50%, -50%) scale(1)',
|
118
|
-
},
|
119
|
-
}, '@keyframes modalExit': {
|
120
|
-
'0%': {
|
121
|
-
opacity: 1,
|
122
|
-
transform: 'translate(-50%, -50%) scale(1)',
|
123
|
-
},
|
124
|
-
'100%': {
|
125
|
-
opacity: 0,
|
126
|
-
transform: 'translate(-50%, -50%) scale(0.8)',
|
127
|
-
},
|
128
|
-
} }) }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ style: {
|
129
|
-
display: 'flex',
|
130
|
-
alignItems: 'center',
|
131
|
-
justifyContent: 'space-between',
|
132
|
-
padding: '16px 20px',
|
133
|
-
borderBottom: '1px solid rgba(0, 0, 0, 0.12)',
|
134
|
-
backgroundColor: '#ffffff',
|
135
|
-
borderTopLeftRadius: '4px',
|
136
|
-
borderTopRightRadius: '4px',
|
137
|
-
} }, { children: [(0, jsx_runtime_1.jsx)(Typography_1.default, __assign({ variant: "h6", component: "h2", style: {
|
138
|
-
fontSize: '18px',
|
139
|
-
fontWeight: 500,
|
140
|
-
color: 'rgba(0, 0, 0, 0.87)',
|
141
|
-
margin: 0,
|
142
|
-
} }, { children: "Select Country" })), (0, jsx_runtime_1.jsx)(IconButton_1.default, __assign({ onClick: handleModalClose, size: "small", sx: {
|
143
|
-
color: 'rgba(0, 0, 0, 0.6)',
|
144
|
-
'&:hover': {
|
145
|
-
backgroundColor: 'rgba(0, 0, 0, 0.04)',
|
146
|
-
},
|
147
|
-
}, "aria-label": "Close" }, { children: (0, jsx_runtime_1.jsx)(Close_1.default, {}) }))] })), enableCountrySearch && ((0, jsx_runtime_1.jsx)(MenuItem_1.default, __assign({ style: {
|
148
|
-
padding: '8px 12px',
|
149
|
-
borderBottom: '1px solid rgba(0, 0, 0, 0.12)',
|
150
|
-
}, onClick: function (e) { return e.stopPropagation(); }, sx: {
|
151
|
-
'&.Mui-focusVisible': {
|
152
|
-
backgroundColor: 'transparent',
|
153
|
-
},
|
154
|
-
} }, { children: (0, jsx_runtime_1.jsx)(InputBase_1.default, { ref: searchInputRef, className: "country-search-input", placeholder: "Search countries...", value: searchTerm, onChange: handleSearchChange, onKeyDown: handleKeyDown, style: { width: '100%' }, onClick: function (e) { return e.stopPropagation(); }, autoFocus: true }) }))), (0, jsx_runtime_1.jsx)("div", __assign({ style: {
|
155
|
-
flex: 1,
|
156
|
-
overflowY: 'auto',
|
157
|
-
display: 'flex',
|
158
|
-
flexDirection: 'column',
|
159
|
-
} }, { children: filteredCountries.map(function (country, index) { return ((0, jsx_runtime_1.jsx)(MenuItem_1.default, __assign({ className: index === selectedIndex ? 'Mui-selected' : '', onClick: function (e) {
|
160
|
-
e.stopPropagation();
|
161
|
-
handleCountrySelect(country);
|
162
|
-
}, onMouseEnter: function () { return setSelectedIndex(index); }, sx: {
|
163
|
-
transition: 'background-color 0.2s ease',
|
164
|
-
'&.Mui-selected': {
|
165
|
-
backgroundColor: 'rgba(0, 0, 0, 0.08)',
|
166
|
-
},
|
167
|
-
'&:hover': {
|
168
|
-
backgroundColor: 'rgba(0, 0, 0, 0.04)',
|
169
|
-
},
|
170
|
-
'&.Mui-focusVisible': {
|
171
|
-
backgroundColor: 'transparent',
|
172
|
-
},
|
173
|
-
} }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ style: {
|
174
|
-
display: 'flex',
|
175
|
-
alignItems: 'center',
|
176
|
-
width: '100%',
|
177
|
-
} }, { children: [(0, jsx_runtime_1.jsx)("span", __assign({ style: { marginRight: '8px', fontSize: '16px' } }, { children: country.flag })), (0, jsx_runtime_1.jsx)("span", __assign({ style: { flex: 1 } }, { children: country.name })), (0, jsx_runtime_1.jsx)("span", __assign({ style: { opacity: 0.7 } }, { children: country.dialCode }))] })) }), country.code)); }) }))] })) })));
|
178
|
-
};
|
179
|
-
exports.default = CountryModal;
|
180
|
-
//# sourceMappingURL=CountryModal.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CountryModal.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextField/CountryModal.tsx"],"names":[],"mappings":"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"}
|
@@ -1,54 +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 __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
-
};
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
18
|
-
var react_1 = require("@testing-library/react");
|
19
|
-
var CountryModal_1 = __importDefault(require("./CountryModal"));
|
20
|
-
var countryData_1 = require("./countryData");
|
21
|
-
describe('CountryModal', function () {
|
22
|
-
var mockCountry = (0, countryData_1.getCountryData)()[0];
|
23
|
-
var mockOnCountryChange = jest.fn();
|
24
|
-
var mockOnClose = jest.fn();
|
25
|
-
var defaultProps = {
|
26
|
-
selectedCountry: mockCountry,
|
27
|
-
onCountryChange: mockOnCountryChange,
|
28
|
-
enableCountrySearch: false,
|
29
|
-
open: false,
|
30
|
-
onClose: mockOnClose,
|
31
|
-
};
|
32
|
-
beforeEach(function () {
|
33
|
-
jest.clearAllMocks();
|
34
|
-
});
|
35
|
-
it('renders without crashing', function () {
|
36
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryModal_1.default, __assign({}, defaultProps)));
|
37
|
-
// Modal should not be visible when open is false
|
38
|
-
expect(react_1.screen.queryByText('Select Country')).not.toBeInTheDocument();
|
39
|
-
});
|
40
|
-
it('renders modal content when open is true', function () {
|
41
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryModal_1.default, __assign({}, defaultProps, { open: true })));
|
42
|
-
expect(react_1.screen.getByText('Select Country')).toBeInTheDocument();
|
43
|
-
});
|
44
|
-
it('renders search input when enableCountrySearch is true', function () {
|
45
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryModal_1.default, __assign({}, defaultProps, { open: true, enableCountrySearch: true })));
|
46
|
-
expect(react_1.screen.getByPlaceholderText('Search countries...')).toBeInTheDocument();
|
47
|
-
});
|
48
|
-
it('displays country list when open', function () {
|
49
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(CountryModal_1.default, __assign({}, defaultProps, { open: true })));
|
50
|
-
// Should show at least the first country
|
51
|
-
expect(react_1.screen.getByText(mockCountry.name)).toBeInTheDocument();
|
52
|
-
});
|
53
|
-
});
|
54
|
-
//# sourceMappingURL=CountryModal.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CountryModal.test.js","sourceRoot":"","sources":["../../../../src/Components/Molecules/PhoneNumberTextField/CountryModal.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAwD;AACxD,gEAA0C;AAC1C,6CAA+C;AAE/C,QAAQ,CAAC,cAAc,EAAE;IACvB,IAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACtC,IAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE9B,IAAM,YAAY,GAAG;QACnB,eAAe,EAAE,WAAW;QAC5B,eAAe,EAAE,mBAAmB;QACpC,mBAAmB,EAAE,KAAK;QAC1B,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,WAAW;KACrB,CAAC;IAEF,UAAU,CAAC;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE;QAC7B,IAAA,cAAM,EAAC,uBAAC,sBAAY,eAAK,YAAY,EAAI,CAAC,CAAC;QAC3C,iDAAiD;QACjD,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE;QAC5C,IAAA,cAAM,EAAC,uBAAC,sBAAY,eAAK,YAAY,IAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE;QAC1D,IAAA,cAAM,EACJ,uBAAC,sBAAY,eACP,YAAY,IAChB,IAAI,EAAE,IAAI,EACV,mBAAmB,EAAE,IAAI,IACzB,CACH,CAAC;QACF,MAAM,CAAC,cAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE;QACpC,IAAA,cAAM,EAAC,uBAAC,sBAAY,eAAK,YAAY,IAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QACvD,yCAAyC;QACzC,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|