@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.
Files changed (40) hide show
  1. package/calendar/lib/calendar.module.d.ts +1 -1
  2. package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +2 -1
  3. package/calendar/lib/calendar.schedule.selection.range.component.d.ts +6 -1
  4. package/calendar/lib/calendar.schedule.selection.store.d.ts +16 -3
  5. package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +30 -1
  6. package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +10 -9
  7. package/esm2020/calendar/lib/calendar.module.mjs +8 -2
  8. package/esm2020/calendar/lib/calendar.schedule.selection.component.mjs +24 -8
  9. package/esm2020/calendar/lib/calendar.schedule.selection.days.component.mjs +6 -4
  10. package/esm2020/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +8 -6
  11. package/esm2020/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +17 -12
  12. package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +45 -5
  13. package/esm2020/calendar/lib/calendar.schedule.selection.store.mjs +60 -19
  14. package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +31 -10
  15. package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.mjs +6 -3
  16. package/esm2020/calendar/lib/field/schedule/calendar.schedule.module.mjs +7 -3
  17. package/esm2020/lib/formly/config/validation.mjs +3 -2
  18. package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +3 -3
  19. package/esm2020/lib/formly/field/value/date/datetime.field.mjs +3 -1
  20. package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +84 -5
  21. package/esm2020/lib/formly/field/value/phone/phone.field.mjs +9 -3
  22. package/esm2020/lib/validator/index.mjs +2 -1
  23. package/esm2020/lib/validator/phone.mjs +61 -0
  24. package/fesm2015/dereekb-dbx-form-calendar.mjs +195 -60
  25. package/fesm2015/dereekb-dbx-form-calendar.mjs.map +1 -1
  26. package/fesm2015/dereekb-dbx-form.mjs +150 -12
  27. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  28. package/fesm2020/dereekb-dbx-form-calendar.mjs +197 -62
  29. package/fesm2020/dereekb-dbx-form-calendar.mjs.map +1 -1
  30. package/fesm2020/dereekb-dbx-form.mjs +149 -9
  31. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  32. package/lib/extension/calendar/_calendar.scss +6 -0
  33. package/lib/formly/config/validation.d.ts +4 -0
  34. package/lib/formly/field/value/date/_date.scss +18 -0
  35. package/lib/formly/field/value/phone/_phone.scss +22 -13
  36. package/lib/formly/field/value/phone/phone.field.component.d.ts +19 -0
  37. package/lib/validator/index.d.ts +1 -0
  38. package/lib/validator/phone.d.ts +16 -0
  39. package/mapbox/package.json +4 -4
  40. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9waG9uZS9waG9uZS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRSxPQUFPLEVBQXNCLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sc0JBQXNCLENBQUM7QUFJaEYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUFpRCxFQUFFO0lBQzVFLE1BQU0sRUFBRSxHQUFHLEdBQUcsT0FBTyxFQUFFLEtBQUssR0FBRyxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRTVGLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUM5QixHQUFHO1FBQ0gsSUFBSSxFQUFFLFVBQVU7UUFDaEIsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsS0FBSztZQUNMLGtCQUFrQjtZQUNsQixhQUFhO1NBQ2QsQ0FBQztLQUNILENBQUMsQ0FBQztJQUVILE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFPRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxLQUFzQyxFQUFFO0lBQ3RILE9BQU8saUJBQWlCLENBQ3RCO1FBQ0U7WUFDRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsQ0FBQztTQUNSO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsU0FBUyxDQUFDO2dCQUNmLEdBQUcsRUFBRSxPQUFPO2dCQUNaLEtBQUssRUFBRSxPQUFPO2dCQUNkLFlBQVksRUFBRSxhQUFhO2dCQUMzQixHQUFHLEtBQUs7YUFDVCxDQUFDO1lBQ0YsSUFBSSxFQUFFLENBQUM7U0FDUjtLQUNGLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CLENBQUM7QUFDSixDQUFDO0FBTUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sR0FBRyxjQUFjLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEtBQXNDLEVBQUU7SUFDNUksT0FBTyxjQUFjLENBQ25CO1FBQ0UsR0FBRztRQUNILFVBQVUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7S0FDcEUsRUFDRDtRQUNFLE1BQU07UUFDTixJQUFJO0tBQ0wsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQU9ELE1BQU0sVUFBVSxjQUFjLENBQUMsZUFBOEMsRUFBRTtJQUM3RSxNQUFNLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxLQUFLLEdBQUcsZUFBZSxFQUFFLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxVQUFVLEdBQUcscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLEdBQUcsWUFBWSxDQUFDO0lBRXBLLE9BQU8sZ0JBQWdCLENBQUM7UUFDdEIsR0FBRyxZQUFZO1FBQ2YsR0FBRztRQUNILEtBQUs7UUFDTCxPQUFPO1FBQ1AsVUFBVTtRQUNWLGdCQUFnQixFQUFFLGdCQUFnQixJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDakYsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEZvcm1TZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vd3JhcHBlci9zZWN0aW9uLndyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHNlY3Rpb25XcmFwcGVyLCBmbGV4TGF5b3V0V3JhcHBlciB9IGZyb20gJy4uLy4uL3dyYXBwZXIvd3JhcHBlcic7XG5pbXBvcnQgeyB0ZXh0RmllbGQsIFRleHRGaWVsZENvbmZpZyB9IGZyb20gJy4uL3RleHQvdGV4dC5maWVsZCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2ZpZWxkJztcbmltcG9ydCB7IEludGVybmF0aW9uYWxQaG9uZUZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICcuL3Bob25lLmZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyByZXBlYXRBcnJheUZpZWxkLCBSZXBlYXRBcnJheUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vYXJyYXkvYXJyYXkuZmllbGQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVybmF0aW9uYWxQaG9uZUZpZWxkQ29uZmlnIGV4dGVuZHMgTGFiZWxlZEZpZWxkQ29uZmlnLCBJbnRlcm5hdGlvbmFsUGhvbmVGb3JtbHlGaWVsZFByb3BzIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZUZpZWxkKGNvbmZpZzogUGFydGlhbDxJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZz4gPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnPEludGVybmF0aW9uYWxQaG9uZUZvcm1seUZpZWxkUHJvcHM+IHtcbiAgY29uc3QgeyBrZXkgPSAncGhvbmUnLCBsYWJlbCA9ICdQaG9uZSBOdW1iZXInLCBwcmVmZXJyZWRDb3VudHJpZXMsIG9ubHlDb3VudHJpZXMgfSA9IGNvbmZpZztcblxuICBjb25zdCBmaWVsZENvbmZpZyA9IGZvcm1seUZpZWxkKHtcbiAgICBrZXksXG4gICAgdHlwZTogJ2ludHBob25lJyxcbiAgICAuLi5wcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnKGNvbmZpZywge1xuICAgICAgbGFiZWwsXG4gICAgICBwcmVmZXJyZWRDb3VudHJpZXMsXG4gICAgICBvbmx5Q291bnRyaWVzXG4gICAgfSlcbiAgfSk7XG5cbiAgcmV0dXJuIGZpZWxkQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBwZWRQaG9uZUFuZExhYmVsRmllbGRDb25maWcge1xuICBwaG9uZUZpZWxkPzogUGFydGlhbDxJbnRlcm5hdGlvbmFsUGhvbmVGaWVsZENvbmZpZz47XG4gIGxhYmVsRmllbGQ/OiBUZXh0RmllbGRDb25maWc7XG59XG5cbi8qKlxuICogUHV0cyBhIHBob25lIGFuZFxuICogQHBhcmFtIHBhcmFtMFxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBwZWRQaG9uZUFuZExhYmVsRmllbGQoeyBwaG9uZUZpZWxkOiBwaG9uZSwgbGFiZWxGaWVsZDogbGFiZWwgfTogV3JhcHBlZFBob25lQW5kTGFiZWxGaWVsZENvbmZpZyA9IHt9KTogRm9ybWx5RmllbGRDb25maWcge1xuICByZXR1cm4gZmxleExheW91dFdyYXBwZXIoXG4gICAgW1xuICAgICAge1xuICAgICAgICBmaWVsZDogcGhvbmVGaWVsZChwaG9uZSksXG4gICAgICAgIHNpemU6IDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpZWxkOiB0ZXh0RmllbGQoe1xuICAgICAgICAgIGtleTogJ2xhYmVsJyxcbiAgICAgICAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICAgICAgICBhdXRvY29tcGxldGU6ICdwaG9uZS1sYWJlbCcsXG4gICAgICAgICAgLi4ubGFiZWxcbiAgICAgICAgfSksXG4gICAgICAgIHNpemU6IDRcbiAgICAgIH1cbiAgICBdLFxuICAgIHsgcmVsYXRpdmU6IHRydWUgfVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBob25lQW5kTGFiZWxGaWVsZFNlY3Rpb25Db25maWcgZXh0ZW5kcyBEYnhGb3JtU2VjdGlvbkNvbmZpZywgV3JhcHBlZFBob25lQW5kTGFiZWxGaWVsZENvbmZpZyB7XG4gIGtleT86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBob25lQW5kTGFiZWxTZWN0aW9uRmllbGQoeyBrZXksIGhlYWRlciA9ICdQaG9uZSBOdW1iZXInLCBoaW50LCBwaG9uZUZpZWxkLCBsYWJlbEZpZWxkIH06IFBob25lQW5kTGFiZWxGaWVsZFNlY3Rpb25Db25maWcgPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHNlY3Rpb25XcmFwcGVyKFxuICAgIHtcbiAgICAgIGtleSxcbiAgICAgIGZpZWxkR3JvdXA6IFt3cmFwcGVkUGhvbmVBbmRMYWJlbEZpZWxkKHsgcGhvbmVGaWVsZCwgbGFiZWxGaWVsZCB9KV1cbiAgICB9LFxuICAgIHtcbiAgICAgIGhlYWRlcixcbiAgICAgIGhpbnRcbiAgICB9XG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGhvbmVMaXN0RmllbGRDb25maWcgZXh0ZW5kcyBPbWl0PFJlcGVhdEFycmF5RmllbGRDb25maWcsICdyZXBlYXRGaWVsZEdyb3VwJz4ge1xuICBwaG9uZUFuZExhYmVsPzogV3JhcHBlZFBob25lQW5kTGFiZWxGaWVsZENvbmZpZztcbiAgcmVwZWF0RmllbGRHcm91cD86IEZvcm1seUZpZWxkQ29uZmlnW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZUxpc3RGaWVsZChyZXBlYXRDb25maWc6IFBhcnRpYWw8UGhvbmVMaXN0RmllbGRDb25maWc+ID0ge30pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsga2V5ID0gJ3Bob25lcycsIGxhYmVsID0gJ1Bob25lIE51bWJlcnMnLCBhZGRUZXh0ID0gJ0FkZCBQaG9uZSBOdW1iZXInLCByZW1vdmVUZXh0ID0gJ1JlbW92ZSBQaG9uZSBOdW1iZXInLCByZXBlYXRGaWVsZEdyb3VwLCBwaG9uZUFuZExhYmVsIH0gPSByZXBlYXRDb25maWc7XG5cbiAgcmV0dXJuIHJlcGVhdEFycmF5RmllbGQoe1xuICAgIC4uLnJlcGVhdENvbmZpZyxcbiAgICBrZXksXG4gICAgbGFiZWwsXG4gICAgYWRkVGV4dCxcbiAgICByZW1vdmVUZXh0LFxuICAgIHJlcGVhdEZpZWxkR3JvdXA6IHJlcGVhdEZpZWxkR3JvdXAgPz8gW3dyYXBwZWRQaG9uZUFuZExhYmVsRmllbGQocGhvbmVBbmRMYWJlbCldXG4gIH0pO1xufVxuIl19
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL3ZhbGlkYXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9vbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hdmFpbGFibGUnO1xuIl19
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=