@dereekb/dbx-form 9.24.17 → 9.24.19
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/calendar/lib/calendar.module.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +2 -1
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +6 -1
- package/calendar/lib/calendar.schedule.selection.store.d.ts +16 -3
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +30 -1
- package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +10 -9
- package/esm2020/calendar/lib/calendar.module.mjs +8 -2
- package/esm2020/calendar/lib/calendar.schedule.selection.component.mjs +24 -8
- package/esm2020/calendar/lib/calendar.schedule.selection.days.component.mjs +6 -4
- package/esm2020/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +8 -6
- package/esm2020/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +17 -12
- package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +45 -5
- package/esm2020/calendar/lib/calendar.schedule.selection.store.mjs +60 -19
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +31 -10
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.mjs +6 -3
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.module.mjs +7 -3
- package/esm2020/lib/formly/config/validation.mjs +3 -2
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +3 -1
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +84 -5
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +9 -3
- package/esm2020/lib/validator/index.mjs +2 -1
- package/esm2020/lib/validator/phone.mjs +61 -0
- package/fesm2015/dereekb-dbx-form-calendar.mjs +195 -60
- package/fesm2015/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-form.mjs +150 -12
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form-calendar.mjs +197 -62
- package/fesm2020/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +149 -9
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/extension/calendar/_calendar.scss +6 -0
- package/lib/formly/config/validation.d.ts +4 -0
- package/lib/formly/field/value/date/_date.scss +18 -0
- package/lib/formly/field/value/phone/_phone.scss +22 -13
- package/lib/formly/field/value/phone/phone.field.component.d.ts +19 -0
- package/lib/validator/index.d.ts +1 -0
- package/lib/validator/phone.d.ts +16 -0
- package/mapbox/package.json +4 -4
- package/package.json +4 -4
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { sectionWrapper, flexLayoutWrapper } from '../../wrapper/wrapper';
|
|
2
2
|
import { textField } from '../text/text.field';
|
|
3
|
-
import { formlyField, propsAndConfigForFieldConfig } from '../../field';
|
|
3
|
+
import { formlyField, propsAndConfigForFieldConfig, validatorsForFieldConfig } from '../../field';
|
|
4
4
|
import { repeatArrayField } from '../array/array.field';
|
|
5
|
+
import { isE164PhoneNumber } from '../../../../validator/phone';
|
|
5
6
|
export function phoneField(config = {}) {
|
|
6
|
-
const { key = 'phone', label = 'Phone Number', preferredCountries, onlyCountries } = config;
|
|
7
|
+
const { key = 'phone', label = 'Phone Number', preferredCountries, onlyCountries, allowExtension: inputAllowExtension } = config;
|
|
8
|
+
const allowExtension = inputAllowExtension ?? false;
|
|
7
9
|
const fieldConfig = formlyField({
|
|
8
10
|
key,
|
|
9
11
|
type: 'intphone',
|
|
10
12
|
...propsAndConfigForFieldConfig(config, {
|
|
11
13
|
label,
|
|
14
|
+
allowExtension,
|
|
12
15
|
preferredCountries,
|
|
13
16
|
onlyCountries
|
|
17
|
+
}),
|
|
18
|
+
...validatorsForFieldConfig({
|
|
19
|
+
validators: [isE164PhoneNumber(allowExtension)]
|
|
14
20
|
})
|
|
15
21
|
});
|
|
16
22
|
return fieldConfig;
|
|
@@ -57,4 +63,4 @@ export function phoneListField(repeatConfig = {}) {
|
|
|
57
63
|
repeatFieldGroup: repeatFieldGroup ?? [wrappedPhoneAndLabelField(phoneAndLabel)]
|
|
58
64
|
});
|
|
59
65
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9waG9uZS9waG9uZS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRSxPQUFPLEVBQXNCLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJaEUsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUFpRCxFQUFFO0lBQzVFLE1BQU0sRUFBRSxHQUFHLEdBQUcsT0FBTyxFQUFFLEtBQUssR0FBRyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNqSSxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsSUFBSSxLQUFLLENBQUM7SUFFcEQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlCLEdBQUc7UUFDSCxJQUFJLEVBQUUsVUFBVTtRQUNoQixHQUFHLDRCQUE0QixDQUFDLE1BQU0sRUFBRTtZQUN0QyxLQUFLO1lBQ0wsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixhQUFhO1NBQ2QsQ0FBQztRQUNGLEdBQUcsd0JBQXdCLENBQUM7WUFDMUIsVUFBVSxFQUFFLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDaEQsQ0FBQztLQUNILENBQUMsQ0FBQztJQUVILE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFPRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxLQUFzQyxFQUFFO0lBQ3RILE9BQU8saUJBQWlCLENBQ3RCO1FBQ0U7WUFDRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQztTQUNSO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsU0FBUyxDQUFDO2dCQUNmLEdBQUcsRUFBRSxPQUFPO2dCQUNaLEtBQUssRUFBRSxPQUFPO2dCQUNkLFlBQVksRUFBRSxhQUFhO2dCQUMzQixHQUFHLEtBQUs7YUFDVCxDQUFDO1lBQ0YsSUFBSSxFQUFFLENBQUM7U0FDUjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CLENBQUM7QUFDSixDQUFDO0FBTUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sR0FBRyxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEtBQXNDLEVBQUU7SUFDNUksT0FBTyxjQUFjLENBQ25CO1FBQ0UsR0FBRztRQUNILFVBQVUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7S0FDcEUsRUFDRDtRQUNFLE1BQU07UUFDTixJQUFJO0tBQ0wsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQU9ELE1BQU0sVUFBVSxjQUFjLENBQUMsZUFBOEMsRUFBRTtJQUM3RSxNQUFNLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxLQUFLLEdBQUcsZUFBZSxFQUFFLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxVQUFVLEdBQUcscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLEdBQUcsWUFBWSxDQUFDO0lBRXBLLE9BQU8sZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxZQUFZO1FBQ2YsR0FBRztRQUNILEtBQUs7UUFDTCxPQUFPO1FBQ1AsVUFBVTtRQUNWLGdCQUFnQixFQUFFLGdCQUFnQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDakYsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEZvcm1TZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vd3JhcHBlci9zZWN0aW9uLndyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHNlY3Rpb25XcmFwcGVyLCBmbGV4TGF5b3V0V3JhcHBlciB9IGZyb20gJy4uLy4uL3dyYXBwZXIvd3JhcHBlcic7XG5pbXBvcnQgeyB0ZXh0RmllbGQsIFRleHRGaWVsZENvbmZpZyB9IGZyb20gJy4uL3RleHQvdGV4dC5maWVsZCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZywgdmFsaWRhdG9yc0ZvckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmllbGQnO1xuaW1wb3J0IHsgSW50ZXJuYXRpb25hbFBob25lRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJy4vcGhvbmUuZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IHJlcGVhdEFycmF5RmllbGQsIFJlcGVhdEFycmF5RmllbGRDb25maWcgfSBmcm9tICcuLi9hcnJheS9hcnJheS5maWVsZCc7XG5pbXBvcnQgeyBpc0UxNjRQaG9uZU51bWJlciB9IGZyb20gJy4uLy4uLy4uLy4uL3ZhbGlkYXRvci9waG9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYXRpb25hbFBob25lRmllbGRDb25maWcgZXh0ZW5kcyBMYWJlbGVkRmllbGRDb25maWcsIEludGVybmF0aW9uYWxQaG9uZUZvcm1seUZpZWxkUHJvcHMge31cblxuZXhwb3J0IGZ1bmN0aW9uIHBob25lRmllbGQoY29uZmlnOiBQYXJ0aWFsPEludGVybmF0aW9uYWxQaG9uZUZpZWxkQ29uZmlnPiA9IHt9KTogRm9ybWx5RmllbGRDb25maWc8SW50ZXJuYXRpb25hbFBob25lRm9ybWx5RmllbGRQcm9wcz4ge1xuICBjb25zdCB7IGtleSA9ICdwaG9uZScsIGxhYmVsID0gJ1Bob25lIE51bWJlcicsIHByZWZlcnJlZENvdW50cmllcywgb25seUNvdW50cmllcywgYWxsb3dFeHRlbnNpb246IGlucHV0QWxsb3dFeHRlbnNpb24gfSA9IGNvbmZpZztcbiAgY29uc3QgYWxsb3dFeHRlbnNpb24gPSBpbnB1dEFsbG93RXh0ZW5zaW9uID8/IGZhbHNlO1xuXG4gIGNvbnN0IGZpZWxkQ29uZmlnID0gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0eXBlOiAnaW50cGhvbmUnLFxuICAgIC4uLnByb3BzQW5kQ29uZmlnRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICBsYWJlbCxcbiAgICAgIGFsbG93RXh0ZW5zaW9uLFxuICAgICAgcHJlZmVycmVkQ291bnRyaWVzLFxuICAgICAgb25seUNvdW50cmllc1xuICAgIH0pLFxuICAgIC4uLnZhbGlkYXRvcnNGb3JGaWVsZENvbmZpZyh7XG4gICAgICB2YWxpZGF0b3JzOiBbaXNFMTY0UGhvbmVOdW1iZXIoYWxsb3dFeHRlbnNpb24pXVxuICAgIH0pXG4gIH0pO1xuXG4gIHJldHVybiBmaWVsZENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXcmFwcGVkUGhvbmVBbmRMYWJlbEZpZWxkQ29uZmlnIHtcbiAgcGhvbmVGaWVsZD86IFBhcnRpYWw8SW50ZXJuYXRpb25hbFBob25lRmllbGRDb25maWc+O1xuICBsYWJlbEZpZWxkPzogVGV4dEZpZWxkQ29uZmlnO1xufVxuXG4vKipcbiAqIFB1dHMgYSBwaG9uZSBhbmRcbiAqIEBwYXJhbSBwYXJhbTBcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwcGVkUGhvbmVBbmRMYWJlbEZpZWxkKHsgcGhvbmVGaWVsZDogcGhvbmUsIGxhYmVsRmllbGQ6IGxhYmVsIH06IFdyYXBwZWRQaG9uZUFuZExhYmVsRmllbGRDb25maWcgPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIGZsZXhMYXlvdXRXcmFwcGVyKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6IHBob25lRmllbGQocGhvbmUpLFxuICAgICAgICBzaXplOiAyXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogdGV4dEZpZWxkKHtcbiAgICAgICAgICBrZXk6ICdsYWJlbCcsXG4gICAgICAgICAgbGFiZWw6ICdMYWJlbCcsXG4gICAgICAgICAgYXV0b2NvbXBsZXRlOiAncGhvbmUtbGFiZWwnLFxuICAgICAgICAgIC4uLmxhYmVsXG4gICAgICAgIH0pLFxuICAgICAgICBzaXplOiA0XG4gICAgICB9XG4gICAgXSxcbiAgICB7IHJlbGF0aXZlOiB0cnVlIH1cbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG9uZUFuZExhYmVsRmllbGRTZWN0aW9uQ29uZmlnIGV4dGVuZHMgRGJ4Rm9ybVNlY3Rpb25Db25maWcsIFdyYXBwZWRQaG9uZUFuZExhYmVsRmllbGRDb25maWcge1xuICBrZXk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZUFuZExhYmVsU2VjdGlvbkZpZWxkKHsga2V5LCBoZWFkZXIgPSAnUGhvbmUgTnVtYmVyJywgaGludCwgcGhvbmVGaWVsZCwgbGFiZWxGaWVsZCB9OiBQaG9uZUFuZExhYmVsRmllbGRTZWN0aW9uQ29uZmlnID0ge30pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiBzZWN0aW9uV3JhcHBlcihcbiAgICB7XG4gICAgICBrZXksXG4gICAgICBmaWVsZEdyb3VwOiBbd3JhcHBlZFBob25lQW5kTGFiZWxGaWVsZCh7IHBob25lRmllbGQsIGxhYmVsRmllbGQgfSldXG4gICAgfSxcbiAgICB7XG4gICAgICBoZWFkZXIsXG4gICAgICBoaW50XG4gICAgfVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBob25lTGlzdEZpZWxkQ29uZmlnIGV4dGVuZHMgT21pdDxSZXBlYXRBcnJheUZpZWxkQ29uZmlnLCAncmVwZWF0RmllbGRHcm91cCc+IHtcbiAgcGhvbmVBbmRMYWJlbD86IFdyYXBwZWRQaG9uZUFuZExhYmVsRmllbGRDb25maWc7XG4gIHJlcGVhdEZpZWxkR3JvdXA/OiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVMaXN0RmllbGQocmVwZWF0Q29uZmlnOiBQYXJ0aWFsPFBob25lTGlzdEZpZWxkQ29uZmlnPiA9IHt9KTogRm9ybWx5RmllbGRDb25maWcge1xuICBjb25zdCB7IGtleSA9ICdwaG9uZXMnLCBsYWJlbCA9ICdQaG9uZSBOdW1iZXJzJywgYWRkVGV4dCA9ICdBZGQgUGhvbmUgTnVtYmVyJywgcmVtb3ZlVGV4dCA9ICdSZW1vdmUgUGhvbmUgTnVtYmVyJywgcmVwZWF0RmllbGRHcm91cCwgcGhvbmVBbmRMYWJlbCB9ID0gcmVwZWF0Q29uZmlnO1xuXG4gIHJldHVybiByZXBlYXRBcnJheUZpZWxkKHtcbiAgICAuLi5yZXBlYXRDb25maWcsXG4gICAga2V5LFxuICAgIGxhYmVsLFxuICAgIGFkZFRleHQsXG4gICAgcmVtb3ZlVGV4dCxcbiAgICByZXBlYXRGaWVsZEdyb3VwOiByZXBlYXRGaWVsZEdyb3VwID8/IFt3cmFwcGVkUGhvbmVBbmRMYWJlbEZpZWxkKHBob25lQW5kTGFiZWwpXVxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -3,4 +3,5 @@ export * from './email';
|
|
|
3
3
|
export * from './field';
|
|
4
4
|
export * from './number';
|
|
5
5
|
export * from './available';
|
|
6
|
-
|
|
6
|
+
export * from './phone';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL3ZhbGlkYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9vbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hdmFpbGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZSc7XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { e164PhoneNumberExtensionPair, isE164PhoneNumber as isE164PhoneNumberFunction, isValidPhoneExtensionNumber } from '@dereekb/util';
|
|
2
|
+
import { INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE } from '../formly/config/validation';
|
|
3
|
+
/**
|
|
4
|
+
* Angular Form ValidationFn for checking isE164PhoneNumber the input divisor.
|
|
5
|
+
*
|
|
6
|
+
* @param divisor
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function isE164PhoneNumber(allowExtension) {
|
|
10
|
+
return (control) => {
|
|
11
|
+
const value = control.value;
|
|
12
|
+
if (value != null && !isE164PhoneNumberFunction(value, allowExtension)) {
|
|
13
|
+
return {
|
|
14
|
+
[INVALID_PHONE_NUMBER_MESSAGE.name]: true
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Angular Form ValidationFn for checking the input is a valid phone extension. Empty values return true.
|
|
22
|
+
*
|
|
23
|
+
* @param divisor
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
export function isPhoneExtension() {
|
|
27
|
+
return (control) => {
|
|
28
|
+
const value = control.value;
|
|
29
|
+
if (value != null) {
|
|
30
|
+
const asString = value.toString();
|
|
31
|
+
if (asString.length > 0 && !isValidPhoneExtensionNumber(asString)) {
|
|
32
|
+
return {
|
|
33
|
+
[INVALID_PHONE_NUMBER_EXTENSION_MESSAGE.name]: true
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {};
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function isE164PhoneNumberWithValidExtension() {
|
|
41
|
+
return (control) => {
|
|
42
|
+
const value = control.value;
|
|
43
|
+
if (value != null) {
|
|
44
|
+
if (isE164PhoneNumberFunction(value, true)) {
|
|
45
|
+
const pair = e164PhoneNumberExtensionPair(value);
|
|
46
|
+
if (pair.extension && !isValidPhoneExtensionNumber(pair.extension)) {
|
|
47
|
+
return {
|
|
48
|
+
[INVALID_PHONE_NUMBER_EXTENSION_MESSAGE.name]: true
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return {
|
|
54
|
+
[INVALID_PHONE_NUMBER_MESSAGE.name]: true
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {};
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL3ZhbGlkYXRvci9waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsaUJBQWlCLElBQUkseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLHNDQUFzQyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkg7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsY0FBdUI7SUFDdkQsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsTUFBTSxLQUFLLEdBQXVCLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFaEQsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxFQUFFO1lBQ3RFLE9BQU87Z0JBQ0wsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJO2FBQzFDLENBQUM7U0FDSDtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBZ0MsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUV6RCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWxDLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDakUsT0FBTztvQkFDTCxDQUFDLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUk7aUJBQ3BELENBQUM7YUFDSDtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQztJQUNqRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxNQUFNLEtBQUssR0FBdUIsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUVoRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQzFDLE1BQU0sSUFBSSxHQUFHLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVqRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ2xFLE9BQU87d0JBQ0wsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJO3FCQUNwRCxDQUFDO2lCQUNIO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTztvQkFDTCxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUk7aUJBQzFDLENBQUM7YUFDSDtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGUxNjRQaG9uZU51bWJlckV4dGVuc2lvblBhaXIsIGlzRTE2NFBob25lTnVtYmVyIGFzIGlzRTE2NFBob25lTnVtYmVyRnVuY3Rpb24sIGlzVmFsaWRQaG9uZUV4dGVuc2lvbk51bWJlciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSU5WQUxJRF9QSE9ORV9OVU1CRVJfRVhURU5TSU9OX01FU1NBR0UsIElOVkFMSURfUEhPTkVfTlVNQkVSX01FU1NBR0UgfSBmcm9tICcuLi9mb3JtbHkvY29uZmlnL3ZhbGlkYXRpb24nO1xuXG4vKipcbiAqIEFuZ3VsYXIgRm9ybSBWYWxpZGF0aW9uRm4gZm9yIGNoZWNraW5nIGlzRTE2NFBob25lTnVtYmVyIHRoZSBpbnB1dCBkaXZpc29yLlxuICpcbiAqIEBwYXJhbSBkaXZpc29yXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFMTY0UGhvbmVOdW1iZXIoYWxsb3dFeHRlbnNpb246IGJvb2xlYW4pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKHZhbHVlICE9IG51bGwgJiYgIWlzRTE2NFBob25lTnVtYmVyRnVuY3Rpb24odmFsdWUsIGFsbG93RXh0ZW5zaW9uKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW0lOVkFMSURfUEhPTkVfTlVNQkVSX01FU1NBR0UubmFtZV06IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9O1xufVxuXG4vKipcbiAqIEFuZ3VsYXIgRm9ybSBWYWxpZGF0aW9uRm4gZm9yIGNoZWNraW5nIHRoZSBpbnB1dCBpcyBhIHZhbGlkIHBob25lIGV4dGVuc2lvbi4gRW1wdHkgdmFsdWVzIHJldHVybiB0cnVlLlxuICpcbiAqIEBwYXJhbSBkaXZpc29yXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQaG9uZUV4dGVuc2lvbigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGFzU3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKTtcblxuICAgICAgaWYgKGFzU3RyaW5nLmxlbmd0aCA+IDAgJiYgIWlzVmFsaWRQaG9uZUV4dGVuc2lvbk51bWJlcihhc1N0cmluZykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBbSU5WQUxJRF9QSE9ORV9OVU1CRVJfRVhURU5TSU9OX01FU1NBR0UubmFtZV06IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0UxNjRQaG9uZU51bWJlcldpdGhWYWxpZEV4dGVuc2lvbigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIGlmIChpc0UxNjRQaG9uZU51bWJlckZ1bmN0aW9uKHZhbHVlLCB0cnVlKSkge1xuICAgICAgICBjb25zdCBwYWlyID0gZTE2NFBob25lTnVtYmVyRXh0ZW5zaW9uUGFpcih2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHBhaXIuZXh0ZW5zaW9uICYmICFpc1ZhbGlkUGhvbmVFeHRlbnNpb25OdW1iZXIocGFpci5leHRlbnNpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFtJTlZBTElEX1BIT05FX05VTUJFUl9FWFRFTlNJT05fTUVTU0FHRS5uYW1lXTogdHJ1ZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW0lOVkFMSURfUEhPTkVfTlVNQkVSX01FU1NBR0UubmFtZV06IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH07XG59XG4iXX0=
|