@seniorsistemas/angular-components 17.5.1 → 17.5.2

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 (42) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +710 -554
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/bignumber-input/number-input.directive.d.ts +5 -1
  6. package/components/dynamic-form/components/fields/bignumber/number-field.component.d.ts +4 -0
  7. package/components/dynamic-form/components/fields/currency/currency-field.component.d.ts +7 -1
  8. package/components/dynamic-form/components/fields/number/number-field.component.d.ts +4 -0
  9. package/components/dynamic-form/dynamic-form.d.ts +0 -1
  10. package/components/locale/locale.service.d.ts +3 -1
  11. package/components/localized-number-input/localized-number-input.directive.d.ts +3 -1
  12. package/components/number-input/number-input.directive.d.ts +5 -1
  13. package/esm2015/components/bignumber-input/number-input.directive.js +24 -6
  14. package/esm2015/components/dynamic-form/components/fields/bignumber/number-field.component.js +40 -13
  15. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.component.js +40 -1
  16. package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +37 -4
  17. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +2 -3
  18. package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +2 -3
  19. package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +2 -3
  20. package/esm2015/components/dynamic-form/configurations/fields/number-field.js +2 -3
  21. package/esm2015/components/dynamic-form/dynamic-form.js +1 -7
  22. package/esm2015/components/locale/locale.service.js +26 -5
  23. package/esm2015/components/localized-number-input/localized-number-input.directive.js +17 -4
  24. package/esm2015/components/number-input/number-input.directive.js +24 -7
  25. package/esm5/components/bignumber-input/number-input.directive.js +25 -6
  26. package/esm5/components/dynamic-form/components/fields/bignumber/number-field.component.js +42 -14
  27. package/esm5/components/dynamic-form/components/fields/currency/currency-field.component.js +42 -4
  28. package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +39 -5
  29. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +2 -3
  30. package/esm5/components/dynamic-form/configurations/fields/currency-field.js +2 -3
  31. package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +2 -3
  32. package/esm5/components/dynamic-form/configurations/fields/number-field.js +2 -3
  33. package/esm5/components/dynamic-form/dynamic-form.js +1 -7
  34. package/esm5/components/locale/locale.service.js +25 -4
  35. package/esm5/components/localized-number-input/localized-number-input.directive.js +18 -4
  36. package/esm5/components/number-input/number-input.directive.js +25 -7
  37. package/fesm2015/seniorsistemas-angular-components.js +653 -501
  38. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  39. package/fesm5/seniorsistemas-angular-components.js +707 -551
  40. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  41. package/package.json +1 -1
  42. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -6,7 +6,7 @@ import * as moment_ from "moment";
6
6
  import { from, of } from "rxjs";
7
7
  import { catchError, map, switchMap, tap } from "rxjs/operators";
8
8
  import { LocaleOptions } from "./options/index";
9
- import { CookieService } from 'ngx-cookie-service';
9
+ import { CookieService } from "ngx-cookie-service";
10
10
  var moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
11
11
  var LocaleService = /** @class */ (function () {
12
12
  function LocaleService(http, cookieService) {
@@ -32,10 +32,10 @@ var LocaleService = /** @class */ (function () {
32
32
  };
33
33
  LocaleService.prototype.getUserData = function () {
34
34
  try {
35
- return of(JSON.parse(this.cookieService.get('com.senior.token')));
35
+ return of(JSON.parse(this.cookieService.get("com.senior.token")));
36
36
  }
37
37
  catch (ex) {
38
- console.warn('Unable to obtain user locale from cookie, calling getUser');
38
+ console.warn("Unable to obtain user locale from cookie, calling getUser");
39
39
  return user.getUserData();
40
40
  }
41
41
  };
@@ -51,6 +51,27 @@ var LocaleService = /** @class */ (function () {
51
51
  return of(new LocaleOptions());
52
52
  }));
53
53
  };
54
+ LocaleService.prototype.getGroupingSeparator = function () {
55
+ var _a;
56
+ var numberFormat = new Intl.NumberFormat(this.locale, {
57
+ style: "decimal",
58
+ minimumFractionDigits: 5,
59
+ maximumFractionDigits: 5,
60
+ });
61
+ // The default groupingSeparator for 'fr' is the character code 8239. We need it to be the regular space.
62
+ if (this.locale.includes("fr"))
63
+ return " ";
64
+ return (_a = numberFormat.formatToParts(1000).find(function (part) { return part.type === "group"; })) === null || _a === void 0 ? void 0 : _a.value;
65
+ };
66
+ LocaleService.prototype.getDecimalSeparator = function () {
67
+ var _a;
68
+ var numberFormat = new Intl.NumberFormat(this.locale, {
69
+ style: "decimal",
70
+ minimumFractionDigits: 5,
71
+ maximumFractionDigits: 5,
72
+ });
73
+ return (_a = numberFormat.formatToParts(1.2).find(function (part) { return part.type === "decimal"; })) === null || _a === void 0 ? void 0 : _a.value;
74
+ };
54
75
  LocaleService.ctorParameters = function () { return [
55
76
  { type: HttpClient },
56
77
  { type: CookieService }
@@ -61,4 +82,4 @@ var LocaleService = /** @class */ (function () {
61
82
  return LocaleService;
62
83
  }());
63
84
  export { LocaleService };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGUvbG9jYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMseUVBQXlFO0FBR2pHO0lBTUksdUJBQ1ksSUFBZ0IsRUFDaEIsYUFBNEI7UUFENUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUxoQyx5QkFBb0IsR0FBRywyQ0FBMkMsQ0FBQztRQUNuRSx5QkFBb0IsR0FBRyxPQUFPLENBQUM7SUFLbkMsQ0FBQztJQUVMLDJCQUFHLEdBQUg7UUFBQSxpQkFJQztRQUhHLE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLGFBQTRCLElBQUssT0FBQSxDQUFDLEtBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLEVBQXBDLENBQW9DLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCxpQ0FBUyxHQUFUO1FBQUEsaUJBU0M7UUFSRyxPQUFPLElBQUksQ0FBQyxNQUFNO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQUMsVUFBQyxRQUFhO2dCQUNkLEtBQUksQ0FBQyxNQUFNLEdBQVcsUUFBUSxDQUFDLE1BQU0sSUFBWSxRQUFRLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQztnQkFDbEYsT0FBTyxLQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDWixDQUFDO0lBRU8sbUNBQVcsR0FBbkI7UUFDSSxJQUFJO1lBQ0EsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVPLHVDQUFlLEdBQXZCO1FBQUEsaUJBY0M7UUFiRyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxVQUFDLE1BQWM7WUFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0QixPQUFPLEtBQUksQ0FBQyxJQUFJO2lCQUNYLEdBQUcsQ0FBb0IsS0FBSSxDQUFDLG9CQUFvQixTQUFJLEtBQUksQ0FBQyxvQkFBb0IsU0FBSSxNQUFNLFVBQU8sQ0FBQztpQkFDL0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLFFBQVEsSUFBSSxPQUFBLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUEzQixDQUEyQixDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsVUFBQyxHQUFRO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMscURBQXFELEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDekUsT0FBTyxFQUFFLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOztnQkE1Q2lCLFVBQVU7Z0JBQ0QsYUFBYTs7SUFSL0IsYUFBYTtRQUR6QixVQUFVLEVBQUU7T0FDQSxhQUFhLENBb0R6QjtJQUFELG9CQUFDO0NBQUEsQUFwREQsSUFvREM7U0FwRFksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdXNlciB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvc2VuaW9yLXBsYXRmb3JtLWRhdGFcIjtcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSUxvY2FsZU9wdGlvbnMsIExvY2FsZU9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zL2luZGV4XCI7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XzsgLy8gQEhBQ0sgTmVjZXNzYXJ5IGJlY2F1c2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL3JvbGx1cC9yb2xsdXAvaXNzdWVzLzY3MFxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZztcbiAgICBwcml2YXRlIGxvY2FsZU9wdGlvbnM6IExvY2FsZU9wdGlvbnM7XG4gICAgcHJpdmF0ZSBsb2NhbGVPcHRpb25zQWRkcmVzcyA9IFwiaHR0cHM6Ly9jZG4uc2VuaW9yLmNvbS5ici9wcmltZW5nL2xvY2FsZXNcIjtcbiAgICBwcml2YXRlIGxvY2FsZU9wdGlvbnNWZXJzaW9uID0gXCIzLjAuMFwiO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIGdldCgpOiBPYnNlcnZhYmxlPExvY2FsZU9wdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlT3B0aW9uc1xuICAgICAgICAgICAgPyBvZih0aGlzLmxvY2FsZU9wdGlvbnMpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0TG9jYWxlQ29uZmlnKCkucGlwZSh0YXAoKGxvY2FsZU9wdGlvbnM6IExvY2FsZU9wdGlvbnMpID0+ICh0aGlzLmxvY2FsZU9wdGlvbnMgPSBsb2NhbGVPcHRpb25zKSkpO1xuICAgIH1cblxuICAgIGdldExvY2FsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVcbiAgICAgICAgICAgID8gb2YodGhpcy5sb2NhbGUpXG4gICAgICAgICAgICA6IGZyb20odGhpcy5nZXRVc2VyRGF0YSgpKS5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKCh1c2VyRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgPSA8c3RyaW5nPnVzZXJEYXRhLmxvY2FsZSB8fCA8c3RyaW5nPnVzZXJEYXRhLnRlbmFudExvY2FsZSB8fCBcInB0LUJSXCI7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVzZXJEYXRhKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKEpTT04ucGFyc2UodGhpcy5jb29raWVTZXJ2aWNlLmdldCgnY29tLnNlbmlvci50b2tlbicpKSk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1VuYWJsZSB0byBvYnRhaW4gdXNlciBsb2NhbGUgZnJvbSBjb29raWUsIGNhbGxpbmcgZ2V0VXNlcicpO1xuICAgICAgICAgICAgcmV0dXJuIHVzZXIuZ2V0VXNlckRhdGEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TG9jYWxlQ29uZmlnKCk6IE9ic2VydmFibGU8TG9jYWxlT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMb2NhbGUoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChsb2NhbGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIG1vbWVudC5sb2NhbGUobG9jYWxlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxJTG9jYWxlT3B0aW9ucz4oYCR7dGhpcy5sb2NhbGVPcHRpb25zQWRkcmVzc30vJHt0aGlzLmxvY2FsZU9wdGlvbnNWZXJzaW9ufS8ke2xvY2FsZX0uanNvbmApXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiBuZXcgTG9jYWxlT3B0aW9ucyhyZXNwb25zZSkpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEVycm9yIGdldHRpbmcgbG9jYWxlIGNvbmZpZ3VyYXRpb24uIFVzaW5nIGZhbGxiYWNrLmAsIGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBMb2NhbGVPcHRpb25zKCkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGUvbG9jYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMseUVBQXlFO0FBR2pHO0lBTUksdUJBQ1ksSUFBZ0IsRUFDaEIsYUFBNEI7UUFENUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUxoQyx5QkFBb0IsR0FBRywyQ0FBMkMsQ0FBQztRQUNuRSx5QkFBb0IsR0FBRyxPQUFPLENBQUM7SUFLcEMsQ0FBQztJQUVKLDJCQUFHLEdBQUg7UUFBQSxpQkFJQztRQUhHLE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FB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QyxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBdkIsQ0FBdUIsQ0FBQywwQ0FBRSxLQUFLLENBQUM7SUFDMUYsQ0FBQzs7Z0JBbkVpQixVQUFVO2dCQUNELGFBQWE7O0lBUi9CLGFBQWE7UUFEekIsVUFBVSxFQUFFO09BQ0EsYUFBYSxDQTJFekI7SUFBRCxvQkFBQztDQUFBLEFBM0VELElBMkVDO1NBM0VZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHVzZXIgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3Nlbmlvci1wbGF0Zm9ybS1kYXRhXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IElMb2NhbGVPcHRpb25zLCBMb2NhbGVPcHRpb25zIH0gZnJvbSBcIi4vb3B0aW9ucy9pbmRleFwiO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gXCJuZ3gtY29va2llLXNlcnZpY2VcIjtcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XzsgLy8gQEhBQ0sgTmVjZXNzYXJ5IGJlY2F1c2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL3JvbGx1cC9yb2xsdXAvaXNzdWVzLzY3MFxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZztcbiAgICBwcml2YXRlIGxvY2FsZU9wdGlvbnM6IExvY2FsZU9wdGlvbnM7XG4gICAgcHJpdmF0ZSBsb2NhbGVPcHRpb25zQWRkcmVzcyA9IFwiaHR0cHM6Ly9jZG4uc2VuaW9yLmNvbS5ici9wcmltZW5nL2xvY2FsZXNcIjtcbiAgICBwcml2YXRlIGxvY2FsZU9wdGlvbnNWZXJzaW9uID0gXCIzLjAuMFwiO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgZ2V0KCk6IE9ic2VydmFibGU8TG9jYWxlT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVPcHRpb25zXG4gICAgICAgICAgICA/IG9mKHRoaXMubG9jYWxlT3B0aW9ucylcbiAgICAgICAgICAgIDogdGhpcy5nZXRMb2NhbGVDb25maWcoKS5waXBlKHRhcCgobG9jYWxlT3B0aW9uczogTG9jYWxlT3B0aW9ucykgPT4gKHRoaXMubG9jYWxlT3B0aW9ucyA9IGxvY2FsZU9wdGlvbnMpKSk7XG4gICAgfVxuXG4gICAgZ2V0TG9jYWxlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgPyBvZih0aGlzLmxvY2FsZSlcbiAgICAgICAgICAgIDogZnJvbSh0aGlzLmdldFVzZXJEYXRhKCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICBtYXAoKHVzZXJEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZSA9IDxzdHJpbmc+dXNlckRhdGEubG9jYWxlIHx8IDxzdHJpbmc+dXNlckRhdGEudGVuYW50TG9jYWxlIHx8IFwicHQtQlJcIjtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlckRhdGEoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoSlNPTi5wYXJzZSh0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KFwiY29tLnNlbmlvci50b2tlblwiKSkpO1xuICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5hYmxlIHRvIG9idGFpbiB1c2VyIGxvY2FsZSBmcm9tIGNvb2tpZSwgY2FsbGluZyBnZXRVc2VyXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHVzZXIuZ2V0VXNlckRhdGEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TG9jYWxlQ29uZmlnKCk6IE9ic2VydmFibGU8TG9jYWxlT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMb2NhbGUoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChsb2NhbGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIG1vbWVudC5sb2NhbGUobG9jYWxlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxJTG9jYWxlT3B0aW9ucz4oYCR7dGhpcy5sb2NhbGVPcHRpb25zQWRkcmVzc30vJHt0aGlzLmxvY2FsZU9wdGlvbnNWZXJzaW9ufS8ke2xvY2FsZX0uanNvbmApXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IG5ldyBMb2NhbGVPcHRpb25zKHJlc3BvbnNlKSkpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRXJyb3IgZ2V0dGluZyBsb2NhbGUgY29uZmlndXJhdGlvbi4gVXNpbmcgZmFsbGJhY2suYCwgZXJyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobmV3IExvY2FsZU9wdGlvbnMoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEdyb3VwaW5nU2VwYXJhdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwge1xuICAgICAgICAgICAgc3R5bGU6IFwiZGVjaW1hbFwiLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiA1LFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiA1LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUaGUgZGVmYXVsdCBncm91cGluZ1NlcGFyYXRvciBmb3IgJ2ZyJyBpcyB0aGUgY2hhcmFjdGVyIGNvZGUgODIzOS4gV2UgbmVlZCBpdCB0byBiZSB0aGUgcmVndWxhciBzcGFjZS5cbiAgICAgICAgaWYgKHRoaXMubG9jYWxlLmluY2x1ZGVzKFwiZnJcIikpIHJldHVybiBcIiBcIjtcblxuICAgICAgICByZXR1cm4gbnVtYmVyRm9ybWF0LmZvcm1hdFRvUGFydHMoMTAwMCkuZmluZCgocGFydCkgPT4gcGFydC50eXBlID09PSBcImdyb3VwXCIpPy52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXREZWNpbWFsU2VwYXJhdG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZSwge1xuICAgICAgICAgICAgc3R5bGU6IFwiZGVjaW1hbFwiLFxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiA1LFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiA1LFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbnVtYmVyRm9ybWF0LmZvcm1hdFRvUGFydHMoMS4yKS5maW5kKChwYXJ0KSA9PiBwYXJ0LnR5cGUgPT09IFwiZGVjaW1hbFwiKT8udmFsdWU7XG4gICAgfVxufVxuIl19
@@ -1,18 +1,29 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Directive, forwardRef, Input } from "@angular/core";
3
3
  import { NG_VALIDATORS } from "@angular/forms";
4
+ import { LocaleService } from "../locale/locale.service";
5
+ import { first } from "rxjs/operators";
4
6
  var LocalizedNumberInputDirective = /** @class */ (function () {
5
- function LocalizedNumberInputDirective() {
6
- this.decimalSeparator = ",";
7
- this.thousandsSeparator = ".";
7
+ function LocalizedNumberInputDirective(localeService) {
8
+ this.localeService = localeService;
8
9
  this.precision = 2;
9
10
  }
10
11
  LocalizedNumberInputDirective_1 = LocalizedNumberInputDirective;
11
12
  LocalizedNumberInputDirective.prototype.ngOnInit = function () {
13
+ var _this = this;
12
14
  // Gera a expressão regular para validar números de acordo com os separadores decimais e de milhares.
13
15
  // Exemplo: /^(\+?)(\-?)([0-9]{0,3})*((\,[0-9]{3,3})|((\,[0-9]{3,3})+(\,[0-9]{3,3}))|((\,[0-9]{3,3})+(\.[0-9]{1,10})))?$/g
14
16
  // tslint:disable-next-line: max-line-length
15
17
  this.numberRegex = "^((\\+?)|(-?))([0-9]{1,3})+((\\" + this.thousandsSeparator + "[0-9]{3,3})|((\\" + this.thousandsSeparator + "[0-9]{3,3})+(\\" + this.thousandsSeparator + "[0-9]{3,3}))|((\\" + this.thousandsSeparator + "[0-9]{3,3})+(\\" + this.decimalSeparator + "[0-9]{1,2}))|(\\" + this.decimalSeparator + "[0-9]{1," + this.precision + "}))?$";
18
+ this.localeService
19
+ .getLocale()
20
+ .pipe(first())
21
+ .subscribe(function () {
22
+ var _a, _b;
23
+ _this.decimalSeparator = (_a = _this.decimalSeparator) !== null && _a !== void 0 ? _a : _this.localeService.getDecimalSeparator();
24
+ _this.thousandsSeparator = (_b = _this.thousandsSeparator) !== null && _b !== void 0 ? _b : _this.localeService.getGroupingSeparator();
25
+ _this.numberRegex = "^((\\+?)|(-?))([0-9]{1,3})+((\\" + _this.thousandsSeparator + "[0-9]{3,3})|((\\" + _this.thousandsSeparator + "[0-9]{3,3})+(\\" + _this.thousandsSeparator + "[0-9]{3,3}))|((\\" + _this.thousandsSeparator + "[0-9]{3,3})+(\\" + _this.decimalSeparator + "[0-9]{1,2}))|(\\" + _this.decimalSeparator + "[0-9]{1," + _this.precision + "}))?$";
26
+ });
16
27
  };
17
28
  LocalizedNumberInputDirective.prototype.validate = function (control) {
18
29
  if (control.value && !String(control.value).match(new RegExp(this.numberRegex, "g")))
@@ -20,6 +31,9 @@ var LocalizedNumberInputDirective = /** @class */ (function () {
20
31
  return null;
21
32
  };
22
33
  var LocalizedNumberInputDirective_1;
34
+ LocalizedNumberInputDirective.ctorParameters = function () { return [
35
+ { type: LocaleService }
36
+ ]; };
23
37
  __decorate([
24
38
  Input()
25
39
  ], LocalizedNumberInputDirective.prototype, "decimalSeparator", void 0);
@@ -44,4 +58,4 @@ var LocalizedNumberInputDirective = /** @class */ (function () {
44
58
  return LocalizedNumberInputDirective;
45
59
  }());
46
60
  export { LocalizedNumberInputDirective };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLW51bWJlci1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGl6ZWQtbnVtYmVyLWlucHV0L2xvY2FsaXplZC1udW1iZXItaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFtQixhQUFhLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFZN0Y7SUFTSTtRQVBPLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUV2Qix1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFFekIsY0FBUyxHQUFHLENBQUMsQ0FBQztJQUdOLENBQUM7c0NBVFAsNkJBQTZCO0lBV3RDLGdEQUFRLEdBQVI7UUFDSSxxR0FBcUc7UUFDckcsMEhBQTBIO1FBQzFILDRDQUE0QztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFrQyxJQUFJLENBQUMsa0JBQWtCLHdCQUFtQixJQUFJLENBQUMsa0JBQWtCLHVCQUFrQixJQUFJLENBQUMsa0JBQWtCLHlCQUFvQixJQUFJLENBQUMsa0JBQWtCLHVCQUFrQixJQUFJLENBQUMsZ0JBQWdCLHdCQUFtQixJQUFJLENBQUMsZ0JBQWdCLGdCQUFXLElBQUksQ0FBQyxTQUFTLFVBQU8sQ0FBQztJQUM5VCxDQUFDO0lBRUQsZ0RBQVEsR0FBUixVQUFTLE9BQXdCO1FBQzdCLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JILE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O0lBbkJEO1FBREMsS0FBSyxFQUFFOzJFQUNzQjtJQUU5QjtRQURDLEtBQUssRUFBRTs2RUFDd0I7SUFFaEM7UUFEQyxLQUFLLEVBQUU7b0VBQ2E7SUFOWiw2QkFBNkI7UUFWekMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDhCQUE4QjtZQUN4QyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLCtCQUE2QixFQUE3QixDQUE2QixDQUFDO29CQUM1RCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUNKO1NBQ0osQ0FBQztPQUNXLDZCQUE2QixDQXNCekM7SUFBRCxvQ0FBQztDQUFBLEFBdEJELElBc0JDO1NBdEJZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJpbnB1dFtzTG9jYWxpemVkTnVtYmVySW5wdXRdXCIsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2NhbGl6ZWROdW1iZXJJbnB1dERpcmVjdGl2ZSksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZWROdW1iZXJJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgVmFsaWRhdG9yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWNpbWFsU2VwYXJhdG9yID0gXCIsXCI7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGhvdXNhbmRzU2VwYXJhdG9yID0gXCIuXCI7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJlY2lzaW9uID0gMjtcbiAgICBwcml2YXRlIG51bWJlclJlZ2V4OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gR2VyYSBhIGV4cHJlc3PDo28gcmVndWxhciBwYXJhIHZhbGlkYXIgbsO6bWVyb3MgZGUgYWNvcmRvIGNvbSBvcyBzZXBhcmFkb3JlcyBkZWNpbWFpcyBlIGRlIG1pbGhhcmVzLlxuICAgICAgICAvLyBFeGVtcGxvOiAvXihcXCs/KShcXC0/KShbMC05XXswLDN9KSooKFxcLFswLTldezMsM30pfCgoXFwsWzAtOV17MywzfSkrKFxcLFswLTldezMsM30pKXwoKFxcLFswLTldezMsM30pKyhcXC5bMC05XXsxLDEwfSkpKT8kL2dcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICAgICAgdGhpcy5udW1iZXJSZWdleCA9IGBeKChcXFxcKz8pfCgtPykpKFswLTldezEsM30pKygoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSl8KChcXFxcJHt0aGlzLnRob3VzYW5kc1NlcGFyYXRvcn1bMC05XXszLDN9KSsoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSkpfCgoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSkrKFxcXFwke3RoaXMuZGVjaW1hbFNlcGFyYXRvcn1bMC05XXsxLDJ9KSl8KFxcXFwke3RoaXMuZGVjaW1hbFNlcGFyYXRvcn1bMC05XXsxLCR7dGhpcy5wcmVjaXNpb259fSkpPyRgO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgICAgICBpZiAoY29udHJvbC52YWx1ZSAmJiAhU3RyaW5nKGNvbnRyb2wudmFsdWUpLm1hdGNoKG5ldyBSZWdFeHAodGhpcy5udW1iZXJSZWdleCwgXCJnXCIpKSkgcmV0dXJuIHsgaW52YWxpZE51bWJlcjogdHJ1ZSB9O1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLW51bWJlci1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGl6ZWQtbnVtYmVyLWlucHV0L2xvY2FsaXplZC1udW1iZXItaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFtQixhQUFhLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVl2QztJQVVJLHVDQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUpsRCxjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBSXVDLENBQUM7c0NBVnBELDZCQUE2QjtJQVl0QyxnREFBUSxHQUFSO1FBQUEsaUJBZUM7UUFkRyxxR0FBcUc7UUFDckcsMEhBQTBIO1FBQzFILDRDQUE0QztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFrQyxJQUFJLENBQUMsa0JBQWtCLHdCQUFtQixJQUFJLENBQUMsa0JBQWtCLHVCQUFrQixJQUFJLENBQUMsa0JBQWtCLHlCQUFvQixJQUFJLENBQUMsa0JBQWtCLHVCQUFrQixJQUFJLENBQUMsZ0JBQWdCLHdCQUFtQixJQUFJLENBQUMsZ0JBQWdCLGdCQUFXLElBQUksQ0FBQyxTQUFTLFVBQU8sQ0FBQztRQUUxVCxJQUFJLENBQUMsYUFBYTthQUNiLFNBQVMsRUFBRTthQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQzs7WUFDUCxLQUFJLENBQUMsZ0JBQWdCLFNBQUcsS0FBSSxDQUFDLGdCQUFnQixtQ0FBSSxLQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDMUYsS0FBSSxDQUFDLGtCQUFrQixTQUFHLEtBQUksQ0FBQyxrQkFBa0IsbUNBQUksS0FBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBRS9GLEtBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQWtDLEtBQUksQ0FBQyxrQkFBa0Isd0JBQW1CLEtBQUksQ0FBQyxrQkFBa0IsdUJBQWtCLEtBQUksQ0FBQyxrQkFBa0IseUJBQW9CLEtBQUksQ0FBQyxrQkFBa0IsdUJBQWtCLEtBQUksQ0FBQyxnQkFBZ0Isd0JBQW1CLEtBQUksQ0FBQyxnQkFBZ0IsZ0JBQVcsS0FBSSxDQUFDLFNBQVMsVUFBTyxDQUFDO1FBQzlULENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGdEQUFRLEdBQVIsVUFBUyxPQUF3QjtRQUM3QixJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNySCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7Z0JBdEIyQyxhQUFhOztJQVJ6RDtRQURDLEtBQUssRUFBRTsyRUFDd0I7SUFFaEM7UUFEQyxLQUFLLEVBQUU7NkVBQzBCO0lBRWxDO1FBREMsS0FBSyxFQUFFO29FQUNhO0lBTlosNkJBQTZCO1FBVnpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxhQUFhO29CQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSwrQkFBNkIsRUFBN0IsQ0FBNkIsQ0FBQztvQkFDNUQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7T0FDVyw2QkFBNkIsQ0FpQ3pDO0lBQUQsb0NBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQWpDWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlL2xvY2FsZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJpbnB1dFtzTG9jYWxpemVkTnVtYmVySW5wdXRdXCIsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb2NhbGl6ZWROdW1iZXJJbnB1dERpcmVjdGl2ZSksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZWROdW1iZXJJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgVmFsaWRhdG9yIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcHJlY2lzaW9uID0gMjtcblxuICAgIHByaXZhdGUgbnVtYmVyUmVnZXg6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBHZXJhIGEgZXhwcmVzc8OjbyByZWd1bGFyIHBhcmEgdmFsaWRhciBuw7ptZXJvcyBkZSBhY29yZG8gY29tIG9zIHNlcGFyYWRvcmVzIGRlY2ltYWlzIGUgZGUgbWlsaGFyZXMuXG4gICAgICAgIC8vIEV4ZW1wbG86IC9eKFxcKz8pKFxcLT8pKFswLTldezAsM30pKigoXFwsWzAtOV17MywzfSl8KChcXCxbMC05XXszLDN9KSsoXFwsWzAtOV17MywzfSkpfCgoXFwsWzAtOV17MywzfSkrKFxcLlswLTldezEsMTB9KSkpPyQvZ1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICB0aGlzLm51bWJlclJlZ2V4ID0gYF4oKFxcXFwrPyl8KC0/KSkoWzAtOV17MSwzfSkrKChcXFxcJHt0aGlzLnRob3VzYW5kc1NlcGFyYXRvcn1bMC05XXszLDN9KXwoKFxcXFwke3RoaXMudGhvdXNhbmRzU2VwYXJhdG9yfVswLTldezMsM30pKyhcXFxcJHt0aGlzLnRob3VzYW5kc1NlcGFyYXRvcn1bMC05XXszLDN9KSl8KChcXFxcJHt0aGlzLnRob3VzYW5kc1NlcGFyYXRvcn1bMC05XXszLDN9KSsoXFxcXCR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfVswLTldezEsMn0pKXwoXFxcXCR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfVswLTldezEsJHt0aGlzLnByZWNpc2lvbn19KSk/JGA7XG5cbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0TG9jYWxlKClcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgPSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlY2ltYWxTZXBhcmF0b3IoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRob3VzYW5kc1NlcGFyYXRvciA9IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yID8/IHRoaXMubG9jYWxlU2VydmljZS5nZXRHcm91cGluZ1NlcGFyYXRvcigpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZWdleCA9IGBeKChcXFxcKz8pfCgtPykpKFswLTldezEsM30pKygoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSl8KChcXFxcJHt0aGlzLnRob3VzYW5kc1NlcGFyYXRvcn1bMC05XXszLDN9KSsoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSkpfCgoXFxcXCR7dGhpcy50aG91c2FuZHNTZXBhcmF0b3J9WzAtOV17MywzfSkrKFxcXFwke3RoaXMuZGVjaW1hbFNlcGFyYXRvcn1bMC05XXsxLDJ9KSl8KFxcXFwke3RoaXMuZGVjaW1hbFNlcGFyYXRvcn1bMC05XXsxLCR7dGhpcy5wcmVjaXNpb259fSkpPyRgO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgICAgIGlmIChjb250cm9sLnZhbHVlICYmICFTdHJpbmcoY29udHJvbC52YWx1ZSkubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLm51bWJlclJlZ2V4LCBcImdcIikpKSByZXR1cm4geyBpbnZhbGlkTnVtYmVyOiB0cnVlIH07XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,9 @@
1
1
  import { __decorate, __extends } from "tslib";
2
- import { Directive, forwardRef, HostBinding, Input } from "@angular/core";
2
+ import { Directive, ElementRef, forwardRef, HostBinding, Injectable, Input, KeyValueDiffers, OnChanges, OnInit, SimpleChanges, } from "@angular/core";
3
3
  import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
+ import { LocaleService } from "../locale/locale.service";
4
5
  import { CurrencyMaskDirective } from "ng2-currency-mask";
6
+ import { first } from "rxjs/operators";
5
7
  /**
6
8
  * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead
7
9
  */
@@ -15,15 +17,15 @@ export var NumberAlignmentOption;
15
17
  */
16
18
  var NumberInputDirective = /** @class */ (function (_super) {
17
19
  __extends(NumberInputDirective, _super);
18
- function NumberInputDirective() {
19
- var _this = _super !== null && _super.apply(this, arguments) || this;
20
+ function NumberInputDirective(_elementRef, _keyValueDiffers, localeService) {
21
+ var _this = _super.call(this, null, _elementRef, _keyValueDiffers) || this;
22
+ _this.localeService = localeService;
20
23
  _this.precision = 15;
21
24
  _this.scale = 0;
22
- _this.decimalSeparator = ",";
23
- _this.thousandsSeparator = ".";
24
25
  _this.alignTo = NumberAlignmentOption.LEFT;
25
26
  _this.allowNegative = true;
26
27
  _this.regex = /\d/;
28
+ _this.onLocaleService();
27
29
  return _this;
28
30
  }
29
31
  NumberInputDirective_1 = NumberInputDirective;
@@ -55,7 +57,7 @@ var NumberInputDirective = /** @class */ (function (_super) {
55
57
  precision: this.scale || 0,
56
58
  prefix: "",
57
59
  suffix: "",
58
- allowNegative: this.allowNegative
60
+ allowNegative: this.allowNegative,
59
61
  };
60
62
  this.calculateMaxLength();
61
63
  };
@@ -85,7 +87,23 @@ var NumberInputDirective = /** @class */ (function (_super) {
85
87
  else
86
88
  event.preventDefault();
87
89
  };
90
+ NumberInputDirective.prototype.onLocaleService = function () {
91
+ var _this = this;
92
+ this.localeService
93
+ .getLocale()
94
+ .pipe(first())
95
+ .subscribe(function () {
96
+ var _a, _b;
97
+ _this.decimalSeparator = (_a = _this.decimalSeparator) !== null && _a !== void 0 ? _a : _this.localeService.getDecimalSeparator();
98
+ _this.thousandsSeparator = (_b = _this.thousandsSeparator) !== null && _b !== void 0 ? _b : _this.localeService.getGroupingSeparator();
99
+ });
100
+ };
88
101
  var NumberInputDirective_1;
102
+ NumberInputDirective.ctorParameters = function () { return [
103
+ { type: ElementRef },
104
+ { type: KeyValueDiffers },
105
+ { type: LocaleService }
106
+ ]; };
89
107
  __decorate([
90
108
  Input()
91
109
  ], NumberInputDirective.prototype, "precision", void 0);
@@ -126,4 +144,4 @@ var NumberInputDirective = /** @class */ (function (_super) {
126
144
  return NumberInputDirective;
127
145
  }(CurrencyMaskDirective));
128
146
  export { NumberInputDirective };
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDN0Isd0NBQWUsQ0FBQTtJQUNmLHNDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFHaEM7QUFFRDs7R0FFRztBQVdIO0lBQTBDLHdDQUFxQjtJQUEvRDtRQUFBLHFFQWdHQztRQTlGVSxlQUFTLEdBQUcsRUFBRSxDQUFDO1FBR2YsV0FBSyxHQUFHLENBQUMsQ0FBQztRQUdWLHNCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUd2Qix3QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFHekIsYUFBTyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUdyQyxtQkFBYSxHQUFHLElBQUksQ0FBQztRQVNwQixXQUFLLEdBQVcsSUFBSSxDQUFDOztJQXNFakMsQ0FBQzs2QkFoR1ksb0JBQW9CO0lBNEJ0Qix1Q0FBUSxHQUFmO1FBQ0ksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLGlCQUFNLFFBQVEsV0FBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSwwQ0FBVyxHQUFsQixVQUFtQixPQUFzQjtRQUNyQyxJQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FB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M0I7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7MkRBQ0w7SUF4QmhCLG9CQUFvQjtRQVZoQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxzQkFBb0IsRUFBcEIsQ0FBb0IsQ0FBQztvQkFDbkQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7T0FDVyxvQkFBb0IsQ0FnR2hDO0lBQUQsMkJBQUM7Q0FBQSxBQWhHRCxDQUEwQyxxQkFBcUIsR0FnRzlEO1NBaEdZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQ3VycmVuY3lNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIm5nMi1jdXJyZW5jeS1tYXNrXCI7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgU2hvdWxkIHVzZSAnQWxpZ25tZW50T3B0aW9ucycgZnJvbSBAc2VuaW9yc2lzdGVtYXMvbmcyLWN1cnJlbmN5LW1hc2sgaW5zdGVhZFxuICovXG5leHBvcnQgZW51bSBOdW1iZXJBbGlnbm1lbnRPcHRpb24ge1xuICAgIFJJR0hUID0gXCJyaWdodFwiLFxuICAgIExFRlQgPSBcImxlZnRcIixcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBTaG91bGQgdXNlIEJpZ051bWJlcklucHV0IGRpcmVjdGl2ZSBpbnN0ZWFkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcImlucHV0W3NOdW1iZXJJbnB1dF1cIixcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOdW1iZXJJbnB1dERpcmVjdGl2ZSksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJJbnB1dERpcmVjdGl2ZSBleHRlbmRzIEN1cnJlbmN5TWFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcmVjaXNpb24gPSAxNTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNjYWxlID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlY2ltYWxTZXBhcmF0b3IgPSBcIixcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRob3VzYW5kc1NlcGFyYXRvciA9IFwiLlwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxpZ25UbyA9IE51bWJlckFsaWdubWVudE9wdGlvbi5MRUZUO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dOZWdhdGl2ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhcImF0dHIucGxhY2Vob2xkZXJcIilcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZyhcImF0dHIubWF4TGVuZ3RoXCIpXG4gICAgcHVibGljIG1heExlbmd0aDogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSByZWdleDogUmVnRXhwID0gL1xcZC87XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFyaWFibGVzKCk7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJDaGFuZ2UgPSBjaGFuZ2VzLnBsYWNlaG9sZGVyICYmIGNoYW5nZXMucGxhY2Vob2xkZXIuY3VycmVudFZhbHVlO1xuICAgICAgICBpZiAoIXBsYWNlaG9sZGVyQ2hhbmdlICYmIHRoaXMuc2NhbGUpIHRoaXMucGxhY2Vob2xkZXIgPSBgMCR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfSR7XCJcIi5wYWRFbmQodGhpcy5zY2FsZSwgXCIwXCIpfWA7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2hhbmdlcy5zY2FsZSB8fFxuICAgICAgICAgICAgY2hhbmdlcy5kZWNpbWFsU2VwYXJhdG9yIHx8XG4gICAgICAgICAgICBjaGFuZ2VzLnRob3VzYW5kc1NlcGFyYXRvciB8fFxuICAgICAgICAgICAgY2hhbmdlcy5hbGlnblRvIHx8XG4gICAgICAgICAgICBjaGFuZ2VzLnByZWNpc2lvbiB8fFxuICAgICAgICAgICAgY2hhbmdlcy5hbGxvd05lZ2F0aXZlXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYXJpYWJsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgb3B0aW9ucyB2YWx1ZXMgYWNjb3JkaW5nIHRvIHRoZSBkaXJlY3RpdmUgaW5wdXQgdmFsdWVzLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlVmFyaWFibGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgICAgICBhbGlnbjogdGhpcy5hbGlnblRvLFxuICAgICAgICAgICAgZGVjaW1hbDogdGhpcy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRzOiB0aGlzLnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWNpc2lvbjogdGhpcy5zY2FsZSB8fCAwLFxuICAgICAgICAgICAgcHJlZml4OiBcIlwiLFxuICAgICAgICAgICAgc3VmZml4OiBcIlwiLFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogdGhpcy5hbGxvd05lZ2F0aXZlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTWF4TGVuZ3RoKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzcG9uc2libGUgdG8gY2FsY3VsYXRlIHRoZSBmaWVsZCBtYXhpbXVtIGxlbmd0aCBjb25zaWRlcmluZyB0aGUgc2VwYXJhdG9ycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1heExlbmd0aCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVjU2VwTGVuZ3RoID0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdGhvU2VwTGVuZ3RoID0gdGhpcy50aG91c2FuZHNTZXBhcmF0b3IubGVuZ3RoO1xuXG4gICAgICAgIGxldCBtYXhMZW5ndGggPSB0aGlzLnByZWNpc2lvbiArICh0aGlzLnNjYWxlID8gZGVjU2VwTGVuZ3RoIDogMCk7XG4gICAgICAgIG1heExlbmd0aCArPSBNYXRoLmNlaWwoKHRoaXMucHJlY2lzaW9uIC0gKHRoaXMuc2NhbGUgPyB0aGlzLnNjYWxlIDogMCkpIC8gMyAtIDEpICogdGhvU2VwTGVuZ3RoO1xuXG4gICAgICAgIHRoaXMubWF4TGVuZ3RoID0gbWF4TGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnRzIHRoZSBkZWZhdWx0IEN1cnJlbmN5TWFzayBiZWhhdmlvciB3aGVuIHR5cGVkIGEgaW5jb3JyZWN0IHZhbHVlLlxuICAgICAqIEJ5IGRlZmF1bHQgdGhlIEN1cnJlbmN5TWFzayBpbnB1dHMgdGhlIG1hc2sgdmFsdWUgdG8gdGhlIGNvbXBvbmVudCB2YWx1ZSB3aGVuIHR5cGVkIGEgaW5jb3JyZWN0IHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVLZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZWdhdGl2ZU9wZXJhdG9yID0gXCItXCI7XG4gICAgICAgIGNvbnN0IHsga2V5IH0gPSBldmVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnRob3VzYW5kc1NlcGFyYXRvci5pbmNsdWRlcyhrZXkpIHx8XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWxTZXBhcmF0b3IuaW5jbHVkZXMoa2V5KSB8fFxuICAgICAgICAgICAgbmVnYXRpdmVPcGVyYXRvci5pbmNsdWRlcyhrZXkpIHx8XG4gICAgICAgICAgICB0aGlzLnJlZ2V4LnRlc3Qoa2V5KSB8fFxuICAgICAgICAgICAgXCJFbnRlclwiLnRvVXBwZXJDYXNlKCkgPT09IGtleS50b1VwcGVyQ2FzZSgpXG4gICAgICAgIClcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUtleXByZXNzKGV2ZW50KTtcbiAgICAgICAgZWxzZSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixLQUFLLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxNQUFNLEVBQ04sYUFBYSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUM3Qix3Q0FBZSxDQUFBO0lBQ2Ysc0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQztBQUVEOztHQUVHO0FBV0g7SUFBMEMsd0NBQXFCO0lBNEIzRCw4QkFDSSxXQUF1QixFQUN2QixnQkFBaUMsRUFDaEIsYUFBNEI7UUFIakQsWUFLSSxrQkFBTSxJQUFJLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLFNBRzdDO1FBTG9CLG1CQUFhLEdBQWIsYUFBYSxDQUFlO1FBN0IxQyxlQUFTLEdBQUcsRUFBRSxDQUFDO1FBR2YsV0FBSyxHQUFHLENBQUMsQ0FBQztRQVNWLGFBQU8sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFHckMsbUJBQWEsR0FBRyxJQUFJLENBQUM7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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIEtleVZhbHVlRGlmZmVycyxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCIuLi9sb2NhbGUvbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEN1cnJlbmN5TWFza0RpcmVjdGl2ZSB9IGZyb20gXCJuZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBTaG91bGQgdXNlICdBbGlnbm1lbnRPcHRpb25zJyBmcm9tIEBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFzayBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBlbnVtIE51bWJlckFsaWdubWVudE9wdGlvbiB7XG4gICAgUklHSFQgPSBcInJpZ2h0XCIsXG4gICAgTEVGVCA9IFwibGVmdFwiLFxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFNob3VsZCB1c2UgQmlnTnVtYmVySW5wdXQgZGlyZWN0aXZlIGluc3RlYWRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiaW5wdXRbc051bWJlcklucHV0XVwiLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51bWJlcklucHV0RGlyZWN0aXZlKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlcklucHV0RGlyZWN0aXZlIGV4dGVuZHMgQ3VycmVuY3lNYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHByZWNpc2lvbiA9IDE1O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2NhbGUgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGhvdXNhbmRzU2VwYXJhdG9yOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGlnblRvID0gTnVtYmVyQWxpZ25tZW50T3B0aW9uLkxFRlQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd05lZ2F0aXZlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKFwiYXR0ci5wbGFjZWhvbGRlclwiKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKFwiYXR0ci5tYXhMZW5ndGhcIilcbiAgICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlZ2V4OiBSZWdFeHAgPSAvXFxkLztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgX2tleVZhbHVlRGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIobnVsbCwgX2VsZW1lbnRSZWYsIF9rZXlWYWx1ZURpZmZlcnMpO1xuXG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFyaWFibGVzKCk7XG5cbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlckNoYW5nZSA9IGNoYW5nZXMucGxhY2Vob2xkZXIgJiYgY2hhbmdlcy5wbGFjZWhvbGRlci5jdXJyZW50VmFsdWU7XG4gICAgICAgIGlmICghcGxhY2Vob2xkZXJDaGFuZ2UgJiYgdGhpcy5zY2FsZSkgdGhpcy5wbGFjZWhvbGRlciA9IGAwJHt0aGlzLmRlY2ltYWxTZXBhcmF0b3J9JHtcIlwiLnBhZEVuZCh0aGlzLnNjYWxlLCBcIjBcIil9YDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjaGFuZ2VzLnNjYWxlIHx8XG4gICAgICAgICAgICBjaGFuZ2VzLmRlY2ltYWxTZXBhcmF0b3IgfHxcbiAgICAgICAgICAgIGNoYW5nZXMudGhvdXNhbmRzU2VwYXJhdG9yIHx8XG4gICAgICAgICAgICBjaGFuZ2VzLmFsaWduVG8gfHxcbiAgICAgICAgICAgIGNoYW5nZXMucHJlY2lzaW9uIHx8XG4gICAgICAgICAgICBjaGFuZ2VzLmFsbG93TmVnYXRpdmVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhcmlhYmxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHRoZSBvcHRpb25zIHZhbHVlcyBhY2NvcmRpbmcgdG8gdGhlIGRpcmVjdGl2ZSBpbnB1dCB2YWx1ZXMuXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVWYXJpYWJsZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGFsaWduOiB0aGlzLmFsaWduVG8sXG4gICAgICAgICAgICBkZWNpbWFsOiB0aGlzLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHM6IHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgcHJlY2lzaW9uOiB0aGlzLnNjYWxlIHx8IDAsXG4gICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgICAgICBzdWZmaXg6IFwiXCIsXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiB0aGlzLmFsbG93TmVnYXRpdmUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTWF4TGVuZ3RoKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVzcG9uc2libGUgdG8gY2FsY3VsYXRlIHRoZSBmaWVsZCBtYXhpbXVtIGxlbmd0aCBjb25zaWRlcmluZyB0aGUgc2VwYXJhdG9ycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1heExlbmd0aCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVjU2VwTGVuZ3RoID0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdGhvU2VwTGVuZ3RoID0gdGhpcy50aG91c2FuZHNTZXBhcmF0b3IubGVuZ3RoO1xuXG4gICAgICAgIGxldCBtYXhMZW5ndGggPSB0aGlzLnByZWNpc2lvbiArICh0aGlzLnNjYWxlID8gZGVjU2VwTGVuZ3RoIDogMCk7XG4gICAgICAgIG1heExlbmd0aCArPSBNYXRoLmNlaWwoKHRoaXMucHJlY2lzaW9uIC0gKHRoaXMuc2NhbGUgPyB0aGlzLnNjYWxlIDogMCkpIC8gMyAtIDEpICogdGhvU2VwTGVuZ3RoO1xuXG4gICAgICAgIHRoaXMubWF4TGVuZ3RoID0gbWF4TGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnRzIHRoZSBkZWZhdWx0IEN1cnJlbmN5TWFzayBiZWhhdmlvciB3aGVuIHR5cGVkIGEgaW5jb3JyZWN0IHZhbHVlLlxuICAgICAqIEJ5IGRlZmF1bHQgdGhlIEN1cnJlbmN5TWFzayBpbnB1dHMgdGhlIG1hc2sgdmFsdWUgdG8gdGhlIGNvbXBvbmVudCB2YWx1ZSB3aGVuIHR5cGVkIGEgaW5jb3JyZWN0IHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVLZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZWdhdGl2ZU9wZXJhdG9yID0gXCItXCI7XG4gICAgICAgIGNvbnN0IHsga2V5IH0gPSBldmVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnRob3VzYW5kc1NlcGFyYXRvci5pbmNsdWRlcyhrZXkpIHx8XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWxTZXBhcmF0b3IuaW5jbHVkZXMoa2V5KSB8fFxuICAgICAgICAgICAgbmVnYXRpdmVPcGVyYXRvci5pbmNsdWRlcyhrZXkpIHx8XG4gICAgICAgICAgICB0aGlzLnJlZ2V4LnRlc3Qoa2V5KSB8fFxuICAgICAgICAgICAgXCJFbnRlclwiLnRvVXBwZXJDYXNlKCkgPT09IGtleS50b1VwcGVyQ2FzZSgpXG4gICAgICAgIClcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUtleXByZXNzKGV2ZW50KTtcbiAgICAgICAgZWxzZSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Mb2NhbGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMb2NhbGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVjaW1hbFNlcGFyYXRvciA9IHRoaXMuZGVjaW1hbFNlcGFyYXRvciA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVjaW1hbFNlcGFyYXRvcigpO1xuICAgICAgICAgICAgICAgIHRoaXMudGhvdXNhbmRzU2VwYXJhdG9yID0gdGhpcy50aG91c2FuZHNTZXBhcmF0b3IgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldEdyb3VwaW5nU2VwYXJhdG9yKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=