@skyux/autonumeric 7.0.0-beta.1 → 7.0.0-beta.3

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.
@@ -1,3 +1,5 @@
1
+ var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { ChangeDetectorRef, Directive, ElementRef, HostListener, Input, Renderer2, forwardRef, } from '@angular/core';
2
4
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
5
  import AutoNumeric from 'autonumeric';
@@ -22,90 +24,98 @@ const SKY_AUTONUMERIC_VALIDATOR = {
22
24
  */
23
25
  export class SkyAutonumericDirective {
24
26
  constructor(elementRef, globalConfig, renderer, changeDetector) {
25
- this.elementRef = elementRef;
26
- this.globalConfig = globalConfig;
27
- this.renderer = renderer;
28
- this.changeDetector = changeDetector;
27
+ _SkyAutonumericDirective_instances.add(this);
29
28
  /**
30
29
  * @internal
31
30
  */
32
31
  this.skyAutonumericFormChangesUnformatted = false;
33
- this.isFirstChange = true;
34
- this.ngUnsubscribe = new Subject();
35
- // eslint-disable-next-line @typescript-eslint/no-empty-function
32
+ _SkyAutonumericDirective_autonumericInstance.set(this, void 0);
33
+ _SkyAutonumericDirective_autonumericOptions.set(this, void 0);
34
+ _SkyAutonumericDirective_control.set(this, void 0);
35
+ _SkyAutonumericDirective_isFirstChange.set(this, true);
36
+ _SkyAutonumericDirective_value.set(this, void 0);
37
+ _SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
38
+ _SkyAutonumericDirective_elementRef.set(this, void 0);
39
+ _SkyAutonumericDirective_globalConfig.set(this, void 0);
40
+ _SkyAutonumericDirective_renderer.set(this, void 0);
41
+ _SkyAutonumericDirective_changeDetector.set(this, void 0);
36
42
  // istanbul ignore next
37
- this.onChange = (_) => { };
38
- // eslint-disable-next-line @typescript-eslint/no-empty-function
43
+ // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
44
+ _SkyAutonumericDirective_onChange.set(this, (_) => { });
39
45
  // istanbul ignore next
40
- this.onTouched = () => { };
41
- this.autonumericInstance = new AutoNumeric(this.elementRef.nativeElement);
46
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
47
+ _SkyAutonumericDirective_onTouched.set(this, () => { });
48
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
49
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
50
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
51
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
52
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
42
53
  }
43
54
  /**
44
55
  * Assigns the name of a property from `SkyAutonumericOptionsProvider`.
45
56
  */
46
57
  set skyAutonumeric(value) {
47
- this.autonumericOptions = this.mergeOptions(value);
48
- this.updateAutonumericInstance();
58
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
59
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
49
60
  }
50
61
  ngOnInit() {
51
62
  // Ensure that we set the global config even if no local config has been given.
52
- if (!this.autonumericOptions) {
53
- this.autonumericOptions = this.globalConfig.getConfig();
63
+ if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
64
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
54
65
  }
55
- this.updateAutonumericInstance();
56
- fromEvent(this.elementRef.nativeElement, 'input')
57
- .pipe(takeUntil(this.ngUnsubscribe))
66
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
67
+ fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
68
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
58
69
  .subscribe(() => {
59
- const numericValue = this.getNumericValue();
70
+ const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
60
71
  /* istanbul ignore else */
61
- if (this.value !== numericValue) {
62
- this.value = numericValue;
63
- this.onChange(numericValue);
72
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
73
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
74
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
64
75
  }
65
76
  /* istanbul ignore else */
66
- if (this.control && !this.control.dirty) {
67
- this.control.markAsDirty();
77
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
78
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
68
79
  }
69
- this.changeDetector.markForCheck();
80
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
70
81
  });
71
82
  }
72
83
  ngOnDestroy() {
73
- this.ngUnsubscribe.next();
74
- this.ngUnsubscribe.complete();
84
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
85
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
75
86
  }
76
87
  /**
77
88
  * Implemented as part of ControlValueAccessor.
78
89
  */
79
90
  setDisabledState(value) {
80
- this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);
91
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
81
92
  }
82
93
  writeValue(value) {
83
- if (this.value !== value) {
84
- this.value = value;
85
- this.onChange(value);
94
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
95
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
96
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
86
97
  // Mark the control as "pristine" if it is initialized with a value.
87
- const initializedWithValue = this.isFirstChange && this.control && this.value !== null;
88
- if (initializedWithValue) {
89
- this.isFirstChange = false;
90
- this.control.markAsPristine();
98
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
99
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
100
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
91
101
  }
92
102
  }
93
103
  if (typeof value === 'number') {
94
104
  if (this.skyAutonumericFormChangesUnformatted) {
95
- this.autonumericInstance.setUnformatted(value);
105
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
96
106
  }
97
107
  else {
98
- this.autonumericInstance.set(value);
108
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
99
109
  }
100
110
  }
101
111
  else {
102
- this.autonumericInstance.clear();
112
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
103
113
  }
104
114
  }
105
115
  validate(control) {
106
116
  const noErrors = null;
107
- if (!this.control) {
108
- this.control = control;
117
+ if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
118
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
109
119
  }
110
120
  if (control.value === null || control.value === undefined) {
111
121
  return noErrors;
@@ -118,50 +128,43 @@ export class SkyAutonumericDirective {
118
128
  return noErrors;
119
129
  }
120
130
  registerOnChange(fn) {
121
- this.onChange = fn;
131
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
122
132
  }
123
133
  registerOnTouched(fn) {
124
- this.onTouched = fn;
134
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
125
135
  }
126
136
  onBlur() {
127
- this.onTouched();
128
- }
129
- getNumericValue() {
130
- const inputValue = this.getInputValue();
131
- return inputValue && !this.isInputValueTheCurrencySymbol(inputValue)
132
- ? this.autonumericInstance.getNumber()
133
- : undefined;
134
- }
135
- /**
136
- * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value
137
- * that we get back on empty fields will be the currency symbol.
138
- * The following logic ensures that we don't accidentally set
139
- * a form value when the only input was the programatically-added currency symbol.
140
- */
141
- isInputValueTheCurrencySymbol(inputValue) {
142
- /* istanbul ignore next */
143
- const currencySymbol = (this.autonumericOptions?.currencySymbol ?? '').trim();
144
- return !!currencySymbol && inputValue === currencySymbol;
137
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
145
138
  }
146
- getInputValue() {
147
- return this.elementRef.nativeElement.value;
139
+ }
140
+ _SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
141
+ const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
142
+ const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
143
+ return inputValue &&
144
+ !__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
145
+ typeof numericValue === 'number'
146
+ ? numericValue
147
+ : undefined;
148
+ }, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
149
+ /* istanbul ignore next */
150
+ const currencySymbol = (__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")?.currencySymbol ?? '').trim();
151
+ return !!currencySymbol && inputValue === currencySymbol;
152
+ }, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
153
+ return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
154
+ }, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
155
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
156
+ }, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
157
+ const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
158
+ let newOptions;
159
+ if (typeof value === 'string') {
160
+ const predefinedOptions = AutoNumeric.getPredefinedOptions();
161
+ newOptions = predefinedOptions[value];
148
162
  }
149
- updateAutonumericInstance() {
150
- this.autonumericInstance.update(this.autonumericOptions);
163
+ else {
164
+ newOptions = value;
151
165
  }
152
- mergeOptions(value) {
153
- const globalOptions = this.globalConfig.getConfig();
154
- let newOptions;
155
- if (typeof value === 'string') {
156
- const predefinedOptions = AutoNumeric.getPredefinedOptions();
157
- newOptions = predefinedOptions[value];
158
- }
159
- else {
160
- newOptions = value;
161
- }
162
- return Object.assign({}, globalOptions, newOptions);
163
- }
164
- }
166
+ return Object.assign({}, globalOptions, newOptions);
167
+ };
165
168
  SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
166
169
  SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
167
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
@@ -178,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
178
181
  type: HostListener,
179
182
  args: ['blur']
180
183
  }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUUvRSxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7OztHQUdHO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQTBCbEMsWUFDVSxVQUFzQixFQUN0QixZQUEyQyxFQUMzQyxRQUFtQixFQUNuQixjQUFpQztRQUhqQyxlQUFVLEdBQVYsVUFB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Qjt3R0FBdkIsdUJBQXVCLHlOQUZ2QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3FNQVFZLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUMsb0NBQW9DO3NCQUQxQyxLQUFLO2dCQWlIQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9udW1lcmljT3B0aW9ucyB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlciB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlcic7XG5cbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgW2F1dG9OdW1lcmljIHV0aWxpdHldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvTnVtZXJpYy9hdXRvTnVtZXJpYykgdG8gZm9ybWF0XG4gKiBhbnkgdHlwZSBvZiBudW1iZXIsIGluY2x1ZGluZyBjdXJyZW5jeS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b251bWVyaWNdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX0FVVE9OVU1FUklDX1ZBTFVFX0FDQ0VTU09SLCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b251bWVyaWNEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogQXNzaWducyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IGZyb20gYFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5QXV0b251bWVyaWModmFsdWU6IFNreUF1dG9udW1lcmljT3B0aW9ucykge1xuICAgIHRoaXMuYXV0b251bWVyaWNPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnModmFsdWUpO1xuICAgIHRoaXMudXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYXV0b251bWVyaWNJbnN0YW5jZTogQXV0b051bWVyaWM7XG4gIHByaXZhdGUgYXV0b251bWVyaWNPcHRpb25zOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGlzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuICBwcml2YXRlIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBnbG9iYWxDb25maWc6IFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UgPSBuZXcgQXV0b051bWVyaWModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB0aGF0IHdlIHNldCB0aGUgZ2xvYmFsIGNvbmZpZyBldmVuIGlmIG5vIGxvY2FsIGNvbmZpZyBoYXMgYmVlbiBnaXZlbi5cbiAgICBpZiAoIXRoaXMuYXV0b251bWVyaWNPcHRpb25zKSB7XG4gICAgICB0aGlzLmF1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTtcblxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG51bWVyaWNWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdGhpcy5nZXROdW1lcmljVmFsdWUoKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVtZXJpY1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IG51bWVyaWNWYWx1ZTtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bWVyaWNWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmICF0aGlzLmNvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuXG4gICAgICAvLyBNYXJrIHRoZSBjb250cm9sIGFzIFwicHJpc3RpbmVcIiBpZiBpdCBpcyBpbml0aWFsaXplZCB3aXRoIGEgdmFsdWUuXG4gICAgICBjb25zdCBpbml0aWFsaXplZFdpdGhWYWx1ZSA9XG4gICAgICAgIHRoaXMuaXNGaXJzdENoYW5nZSAmJiB0aGlzLmNvbnRyb2wgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbDtcbiAgICAgIGlmIChpbml0aWFsaXplZFdpdGhWYWx1ZSkge1xuICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb250cm9sIS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICBpZiAodGhpcy5za3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWQpIHtcbiAgICAgICAgdGhpcy5hdXRvbnVtZXJpY0luc3RhbmNlLnNldFVuZm9ybWF0dGVkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXV0b251bWVyaWNJbnN0YW5jZS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IG5vRXJyb3JzID0gbnVsbDtcblxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vdFR5cGVPZk51bWJlcjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TnVtZXJpY1ZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xuICAgIHJldHVybiBpbnB1dFZhbHVlICYmICF0aGlzLmlzSW5wdXRWYWx1ZVRoZUN1cnJlbmN5U3ltYm9sKGlucHV0VmFsdWUpXG4gICAgICA/IHRoaXMuYXV0b251bWVyaWNJbnN0YW5jZS5nZXROdW1iZXIoKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRHVlIHRvIEF1dG9OdW1lcmljJ3MgaG92ZXIgbG9naWMgLSB3aGVuIEF1dG9OdW1lcmljIGhhcyBhIGN1cnJlbmN5IHN5bWJvbCB0aGUgdmFsdWVcbiAgICogdGhhdCB3ZSBnZXQgYmFjayBvbiBlbXB0eSBmaWVsZHMgd2lsbCBiZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxuICAgKiBUaGUgZm9sbG93aW5nIGxvZ2ljIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2V0XG4gICAqIGEgZm9ybSB2YWx1ZSB3aGVuIHRoZSBvbmx5IGlucHV0IHdhcyB0aGUgcHJvZ3JhbWF0aWNhbGx5LWFkZGVkIGN1cnJlbmN5IHN5bWJvbC5cbiAgICovXG4gIHByaXZhdGUgaXNJbnB1dFZhbHVlVGhlQ3VycmVuY3lTeW1ib2woaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBjdXJyZW5jeVN5bWJvbCA9IChcbiAgICAgICh0aGlzLmF1dG9udW1lcmljT3B0aW9ucyBhcyBBdXRvTnVtZXJpYy5PcHRpb25zKT8uY3VycmVuY3lTeW1ib2wgPz8gJydcbiAgICApLnRyaW0oKTtcbiAgICByZXR1cm4gISFjdXJyZW5jeVN5bWJvbCAmJiBpbnB1dFZhbHVlID09PSBjdXJyZW5jeVN5bWJvbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UudXBkYXRlKFxuICAgICAgdGhpcy5hdXRvbnVtZXJpY09wdGlvbnMgYXMgQXV0b051bWVyaWMuT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlT3B0aW9ucyh2YWx1ZTogU2t5QXV0b251bWVyaWNPcHRpb25zKTogU2t5QXV0b251bWVyaWNPcHRpb25zIHtcbiAgICBjb25zdCBnbG9iYWxPcHRpb25zID0gdGhpcy5nbG9iYWxDb25maWcuZ2V0Q29uZmlnKCk7XG5cbiAgICBsZXQgbmV3T3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkT3B0aW9ucyA9IEF1dG9OdW1lcmljLmdldFByZWRlZmluZWRPcHRpb25zKCk7XG4gICAgICBuZXdPcHRpb25zID0gcHJlZGVmaW5lZE9wdGlvbnNbXG4gICAgICAgIHZhbHVlIGFzIGtleW9mIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICAgIF0gYXMgQXV0b051bWVyaWMuT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnbG9iYWxPcHRpb25zLCBuZXdPcHRpb25zKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9IChfOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG59XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRS9FLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBK0JsQyxZQUNFLFVBQXNCLEVBQ3RCLFlBQTJDLEVBQzNDLFFBQW1CLEVBQ25CLGNBQWlDOztRQXZCbkM7O1dBRUc7UUFF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LENBQUM7SUFDbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM3RCxVQUFVLEdBQUcsaUJBQWlCLENBQzVCLEtBQWtDLENBQ1osQ0FBQztLQUMxQjtTQUFNO1FBQ0wsVUFBVSxHQUFHLEtBQUssQ0FBQztLQUNwQjtJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3RELENBQUM7b0hBbE1VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHlOQUZ2QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3FNQVFZLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUMsb0NBQW9DO3NCQUQxQyxLQUFLO2dCQTZIQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9udW1lcmljT3B0aW9ucyB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlciB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlcic7XG5cbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgW2F1dG9OdW1lcmljIHV0aWxpdHldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvTnVtZXJpYy9hdXRvTnVtZXJpYykgdG8gZm9ybWF0XG4gKiBhbnkgdHlwZSBvZiBudW1iZXIsIGluY2x1ZGluZyBjdXJyZW5jeS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b251bWVyaWNdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX0FVVE9OVU1FUklDX1ZBTFVFX0FDQ0VTU09SLCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b251bWVyaWNEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogQXNzaWducyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IGZyb20gYFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5QXV0b251bWVyaWModmFsdWU6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuI21lcmdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgdGhpcy4jdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICNhdXRvbnVtZXJpY0luc3RhbmNlOiBBdXRvTnVtZXJpYztcbiAgI2F1dG9udW1lcmljT3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICAjaXNGaXJzdENoYW5nZSA9IHRydWU7XG4gICN2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2dsb2JhbENvbmZpZzogU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXI7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgZ2xvYmFsQ29uZmlnOiBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlcixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNnbG9iYWxDb25maWcgPSBnbG9iYWxDb25maWc7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuXG4gICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZSA9IG5ldyBBdXRvTnVtZXJpYyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB0aGF0IHdlIHNldCB0aGUgZ2xvYmFsIGNvbmZpZyBldmVuIGlmIG5vIGxvY2FsIGNvbmZpZyBoYXMgYmVlbiBnaXZlbi5cbiAgICBpZiAoIXRoaXMuI2F1dG9udW1lcmljT3B0aW9ucykge1xuICAgICAgdGhpcy4jYXV0b251bWVyaWNPcHRpb25zID0gdGhpcy4jZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuICAgIH1cbiAgICB0aGlzLiN1cGRhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG51bWVyaWNWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdGhpcy4jZ2V0TnVtZXJpY1ZhbHVlKCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI3ZhbHVlICE9PSBudW1lcmljVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLiN2YWx1ZSA9IG51bWVyaWNWYWx1ZTtcbiAgICAgICAgICB0aGlzLiNvbkNoYW5nZShudW1lcmljVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI2NvbnRyb2wgJiYgIXRoaXMuI2NvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICB0aGlzLiNjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdkaXNhYmxlZCcsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4jdmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgLy8gTWFyayB0aGUgY29udHJvbCBhcyBcInByaXN0aW5lXCIgaWYgaXQgaXMgaW5pdGlhbGl6ZWQgd2l0aCBhIHZhbHVlLlxuICAgICAgaWYgKHRoaXMuI2lzRmlyc3RDaGFuZ2UgJiYgdGhpcy4jY29udHJvbCAmJiB0aGlzLiN2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLiNpc0ZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuI2NvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHRoaXMuc2t5QXV0b251bWVyaWNGb3JtQ2hhbmdlc1VuZm9ybWF0dGVkKSB7XG4gICAgICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2Uuc2V0VW5mb3JtYXR0ZWQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBub0Vycm9ycyA9IG51bGw7XG5cbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vdFR5cGVPZk51bWJlcjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQoKTtcbiAgfVxuXG4gICNnZXROdW1lcmljVmFsdWUoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy4jZ2V0SW5wdXRWYWx1ZSgpO1xuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UuZ2V0TnVtYmVyKCk7XG4gICAgcmV0dXJuIGlucHV0VmFsdWUgJiZcbiAgICAgICF0aGlzLiNpc0lucHV0VmFsdWVUaGVDdXJyZW5jeVN5bWJvbChpbnB1dFZhbHVlKSAmJlxuICAgICAgdHlwZW9mIG51bWVyaWNWYWx1ZSA9PT0gJ251bWJlcidcbiAgICAgID8gbnVtZXJpY1ZhbHVlXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEdWUgdG8gQXV0b051bWVyaWMncyBob3ZlciBsb2dpYyAtIHdoZW4gQXV0b051bWVyaWMgaGFzIGEgY3VycmVuY3kgc3ltYm9sLCB0aGUgdmFsdWVcbiAgICogdGhhdCB3ZSBnZXQgYmFjayBvbiBlbXB0eSBmaWVsZHMgd2lsbCBiZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxuICAgKiBUaGUgZm9sbG93aW5nIGxvZ2ljIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2V0XG4gICAqIGEgZm9ybSB2YWx1ZSB3aGVuIHRoZSBvbmx5IGlucHV0IHdhcyB0aGUgcHJvZ3JhbWF0aWNhbGx5LWFkZGVkIGN1cnJlbmN5IHN5bWJvbC5cbiAgICovXG4gICNpc0lucHV0VmFsdWVUaGVDdXJyZW5jeVN5bWJvbChpbnB1dFZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGNvbnN0IGN1cnJlbmN5U3ltYm9sID0gKFxuICAgICAgKHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyBhcyBBdXRvTnVtZXJpYy5PcHRpb25zKT8uY3VycmVuY3lTeW1ib2wgPz8gJydcbiAgICApLnRyaW0oKTtcbiAgICByZXR1cm4gISFjdXJyZW5jeVN5bWJvbCAmJiBpbnB1dFZhbHVlID09PSBjdXJyZW5jeVN5bWJvbDtcbiAgfVxuXG4gICNnZXRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gICN1cGRhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UudXBkYXRlKFxuICAgICAgdGhpcy4jYXV0b251bWVyaWNPcHRpb25zIGFzIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgI21lcmdlT3B0aW9ucyhcbiAgICB2YWx1ZTogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkXG4gICk6IFNreUF1dG9udW1lcmljT3B0aW9ucyB7XG4gICAgY29uc3QgZ2xvYmFsT3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zID0gdGhpcy4jZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuXG4gICAgbGV0IG5ld09wdGlvbnM6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcHJlZGVmaW5lZE9wdGlvbnMgPSBBdXRvTnVtZXJpYy5nZXRQcmVkZWZpbmVkT3B0aW9ucygpO1xuICAgICAgbmV3T3B0aW9ucyA9IHByZWRlZmluZWRPcHRpb25zW1xuICAgICAgICB2YWx1ZSBhcyBrZXlvZiBBdXRvTnVtZXJpYy5PcHRpb25zXG4gICAgICBdIGFzIEF1dG9OdW1lcmljLk9wdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09wdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZ2xvYmFsT3B0aW9ucywgbmV3T3B0aW9ucyk7XG4gIH1cblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICNvbkNoYW5nZSA9IChfOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHt9O1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
5
6
  import AutoNumeric from 'autonumeric';
6
7
  import { Subject, fromEvent } from 'rxjs';
7
8
  import { takeUntil } from 'rxjs/operators';
@@ -28,6 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
28
29
  }]
29
30
  }] });
30
31
 
32
+ var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
31
33
  const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
32
34
  provide: NG_VALUE_ACCESSOR,
33
35
  useExisting: forwardRef(() => SkyAutonumericDirective),
@@ -44,90 +46,98 @@ const SKY_AUTONUMERIC_VALIDATOR = {
44
46
  */
45
47
  class SkyAutonumericDirective {
46
48
  constructor(elementRef, globalConfig, renderer, changeDetector) {
47
- this.elementRef = elementRef;
48
- this.globalConfig = globalConfig;
49
- this.renderer = renderer;
50
- this.changeDetector = changeDetector;
49
+ _SkyAutonumericDirective_instances.add(this);
51
50
  /**
52
51
  * @internal
53
52
  */
54
53
  this.skyAutonumericFormChangesUnformatted = false;
55
- this.isFirstChange = true;
56
- this.ngUnsubscribe = new Subject();
57
- // eslint-disable-next-line @typescript-eslint/no-empty-function
54
+ _SkyAutonumericDirective_autonumericInstance.set(this, void 0);
55
+ _SkyAutonumericDirective_autonumericOptions.set(this, void 0);
56
+ _SkyAutonumericDirective_control.set(this, void 0);
57
+ _SkyAutonumericDirective_isFirstChange.set(this, true);
58
+ _SkyAutonumericDirective_value.set(this, void 0);
59
+ _SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
60
+ _SkyAutonumericDirective_elementRef.set(this, void 0);
61
+ _SkyAutonumericDirective_globalConfig.set(this, void 0);
62
+ _SkyAutonumericDirective_renderer.set(this, void 0);
63
+ _SkyAutonumericDirective_changeDetector.set(this, void 0);
58
64
  // istanbul ignore next
59
- this.onChange = (_) => { };
60
- // eslint-disable-next-line @typescript-eslint/no-empty-function
65
+ // eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
66
+ _SkyAutonumericDirective_onChange.set(this, (_) => { });
61
67
  // istanbul ignore next
62
- this.onTouched = () => { };
63
- this.autonumericInstance = new AutoNumeric(this.elementRef.nativeElement);
68
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
69
+ _SkyAutonumericDirective_onTouched.set(this, () => { });
70
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
71
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
72
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
73
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
74
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
64
75
  }
65
76
  /**
66
77
  * Assigns the name of a property from `SkyAutonumericOptionsProvider`.
67
78
  */
68
79
  set skyAutonumeric(value) {
69
- this.autonumericOptions = this.mergeOptions(value);
70
- this.updateAutonumericInstance();
80
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
81
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
71
82
  }
72
83
  ngOnInit() {
73
84
  // Ensure that we set the global config even if no local config has been given.
74
- if (!this.autonumericOptions) {
75
- this.autonumericOptions = this.globalConfig.getConfig();
85
+ if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
86
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
76
87
  }
77
- this.updateAutonumericInstance();
78
- fromEvent(this.elementRef.nativeElement, 'input')
79
- .pipe(takeUntil(this.ngUnsubscribe))
88
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
89
+ fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
90
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
80
91
  .subscribe(() => {
81
- const numericValue = this.getNumericValue();
92
+ const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
82
93
  /* istanbul ignore else */
83
- if (this.value !== numericValue) {
84
- this.value = numericValue;
85
- this.onChange(numericValue);
94
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
95
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
96
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
86
97
  }
87
98
  /* istanbul ignore else */
88
- if (this.control && !this.control.dirty) {
89
- this.control.markAsDirty();
99
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
100
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
90
101
  }
91
- this.changeDetector.markForCheck();
102
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
92
103
  });
93
104
  }
94
105
  ngOnDestroy() {
95
- this.ngUnsubscribe.next();
96
- this.ngUnsubscribe.complete();
106
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
107
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
97
108
  }
98
109
  /**
99
110
  * Implemented as part of ControlValueAccessor.
100
111
  */
101
112
  setDisabledState(value) {
102
- this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);
113
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
103
114
  }
104
115
  writeValue(value) {
105
- if (this.value !== value) {
106
- this.value = value;
107
- this.onChange(value);
116
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
117
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
118
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
108
119
  // Mark the control as "pristine" if it is initialized with a value.
109
- const initializedWithValue = this.isFirstChange && this.control && this.value !== null;
110
- if (initializedWithValue) {
111
- this.isFirstChange = false;
112
- this.control.markAsPristine();
120
+ if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
121
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
122
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
113
123
  }
114
124
  }
115
125
  if (typeof value === 'number') {
116
126
  if (this.skyAutonumericFormChangesUnformatted) {
117
- this.autonumericInstance.setUnformatted(value);
127
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
118
128
  }
119
129
  else {
120
- this.autonumericInstance.set(value);
130
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
121
131
  }
122
132
  }
123
133
  else {
124
- this.autonumericInstance.clear();
134
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
125
135
  }
126
136
  }
127
137
  validate(control) {
128
138
  const noErrors = null;
129
- if (!this.control) {
130
- this.control = control;
139
+ if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
140
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
131
141
  }
132
142
  if (control.value === null || control.value === undefined) {
133
143
  return noErrors;
@@ -140,51 +150,44 @@ class SkyAutonumericDirective {
140
150
  return noErrors;
141
151
  }
142
152
  registerOnChange(fn) {
143
- this.onChange = fn;
153
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
144
154
  }
145
155
  registerOnTouched(fn) {
146
- this.onTouched = fn;
156
+ __classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
147
157
  }
148
158
  onBlur() {
149
- this.onTouched();
150
- }
151
- getNumericValue() {
152
- const inputValue = this.getInputValue();
153
- return inputValue && !this.isInputValueTheCurrencySymbol(inputValue)
154
- ? this.autonumericInstance.getNumber()
155
- : undefined;
156
- }
157
- /**
158
- * Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value
159
- * that we get back on empty fields will be the currency symbol.
160
- * The following logic ensures that we don't accidentally set
161
- * a form value when the only input was the programatically-added currency symbol.
162
- */
163
- isInputValueTheCurrencySymbol(inputValue) {
164
- var _a, _b;
165
- /* istanbul ignore next */
166
- const currencySymbol = ((_b = (_a = this.autonumericOptions) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
167
- return !!currencySymbol && inputValue === currencySymbol;
168
- }
169
- getInputValue() {
170
- return this.elementRef.nativeElement.value;
171
- }
172
- updateAutonumericInstance() {
173
- this.autonumericInstance.update(this.autonumericOptions);
174
- }
175
- mergeOptions(value) {
176
- const globalOptions = this.globalConfig.getConfig();
177
- let newOptions;
178
- if (typeof value === 'string') {
179
- const predefinedOptions = AutoNumeric.getPredefinedOptions();
180
- newOptions = predefinedOptions[value];
181
- }
182
- else {
183
- newOptions = value;
184
- }
185
- return Object.assign({}, globalOptions, newOptions);
159
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
186
160
  }
187
161
  }
162
+ _SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
163
+ const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
164
+ const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
165
+ return inputValue &&
166
+ !__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
167
+ typeof numericValue === 'number'
168
+ ? numericValue
169
+ : undefined;
170
+ }, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
171
+ var _a, _b;
172
+ /* istanbul ignore next */
173
+ const currencySymbol = ((_b = (_a = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
174
+ return !!currencySymbol && inputValue === currencySymbol;
175
+ }, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
176
+ return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
177
+ }, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
178
+ __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
179
+ }, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
180
+ const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
181
+ let newOptions;
182
+ if (typeof value === 'string') {
183
+ const predefinedOptions = AutoNumeric.getPredefinedOptions();
184
+ newOptions = predefinedOptions[value];
185
+ }
186
+ else {
187
+ newOptions = value;
188
+ }
189
+ return Object.assign({}, globalOptions, newOptions);
190
+ };
188
191
  SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
189
192
  SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
190
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, decorators: [{