@ngx-stoui/core 12.1.4 → 13.0.0

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 (89) hide show
  1. package/esm2020/index.mjs +18 -0
  2. package/esm2020/lib/abstract-and-interfaces/keyPress.enum.mjs +140 -0
  3. package/esm2020/lib/sto-directives/context-menu.directive.mjs +35 -0
  4. package/esm2020/lib/sto-directives/date-form-field-click.directive.mjs +45 -0
  5. package/esm2020/lib/sto-directives/directives.module.mjs +56 -0
  6. package/esm2020/lib/sto-directives/index.mjs +7 -0
  7. package/esm2020/lib/sto-directives/menu-overlay.directive.mjs +47 -0
  8. package/esm2020/lib/sto-directives/quick-keys.directive.mjs +78 -0
  9. package/esm2020/lib/sto-directives/sto-grid.directive.mjs +106 -0
  10. package/esm2020/lib/sto-directives/sto-select-text-on-focus.directive.mjs +58 -0
  11. package/esm2020/lib/sto-pipes/currency-format.pipe.mjs +35 -0
  12. package/esm2020/lib/sto-pipes/date-format.pipe.mjs +47 -0
  13. package/esm2020/lib/sto-pipes/keys.pipe.mjs +27 -0
  14. package/esm2020/lib/sto-pipes/number-format.pipe.mjs +78 -0
  15. package/esm2020/lib/sto-pipes/sto-pipes.module.mjs +51 -0
  16. package/esm2020/lib/sto-pipes/with-unit.mjs +43 -0
  17. package/esm2020/lib/sto-pipes/yes-no.mjs +21 -0
  18. package/esm2020/lib/sto-user-preference/sto-user-preference.component.mjs +45 -0
  19. package/esm2020/lib/sto-user-preference/sto-user-preference.module.mjs +27 -0
  20. package/esm2020/lib/sto-user-preference/sto-user-preference.service.mjs +39 -0
  21. package/esm2020/ngx-stoui-core.mjs +5 -0
  22. package/fesm2015/ngx-stoui-core.mjs +926 -0
  23. package/fesm2015/ngx-stoui-core.mjs.map +1 -0
  24. package/{fesm2015/ngx-stoui-core.js → fesm2020/ngx-stoui-core.mjs} +69 -72
  25. package/fesm2020/ngx-stoui-core.mjs.map +1 -0
  26. package/ngx-datatable.css +1 -1
  27. package/ngx-stoui.css +138 -137
  28. package/package.json +21 -8
  29. package/style/datatable/_ngx-datatable-form.scss +1 -1
  30. package/style/form/sto-form.scss +2 -2
  31. package/style/sto-dialog.scss +1 -1
  32. package/style/theme/_appheader.scss +1 -1
  33. package/style/theme/_card.scss +1 -1
  34. package/style/theme/_colors.scss +1 -1
  35. package/style/theme/_datatable.scss +1 -1
  36. package/style/theme/_drawer.scss +1 -1
  37. package/style/theme/_filterpanel.scss +1 -1
  38. package/style/theme/_input-overrides.scss +1 -1
  39. package/style/theme/_message-panel.scss +1 -1
  40. package/style/theme/_sto-indicators.scss +1 -1
  41. package/style/theme/_theme-variables.scss +1 -1
  42. package/style/theme/_theme.scss +1 -1
  43. package/style/theme/_typography.scss +1 -1
  44. package/style/theme.scss +1 -1
  45. package/bundles/ngx-stoui-core.umd.js +0 -1350
  46. package/bundles/ngx-stoui-core.umd.js.map +0 -1
  47. package/esm2015/index.js +0 -18
  48. package/esm2015/index.js.map +0 -1
  49. package/esm2015/lib/abstract-and-interfaces/keyPress.enum.js +0 -140
  50. package/esm2015/lib/abstract-and-interfaces/keyPress.enum.js.map +0 -1
  51. package/esm2015/lib/sto-directives/context-menu.directive.js +0 -35
  52. package/esm2015/lib/sto-directives/context-menu.directive.js.map +0 -1
  53. package/esm2015/lib/sto-directives/date-form-field-click.directive.js +0 -45
  54. package/esm2015/lib/sto-directives/date-form-field-click.directive.js.map +0 -1
  55. package/esm2015/lib/sto-directives/directives.module.js +0 -56
  56. package/esm2015/lib/sto-directives/directives.module.js.map +0 -1
  57. package/esm2015/lib/sto-directives/index.js +0 -7
  58. package/esm2015/lib/sto-directives/index.js.map +0 -1
  59. package/esm2015/lib/sto-directives/menu-overlay.directive.js +0 -47
  60. package/esm2015/lib/sto-directives/menu-overlay.directive.js.map +0 -1
  61. package/esm2015/lib/sto-directives/quick-keys.directive.js +0 -78
  62. package/esm2015/lib/sto-directives/quick-keys.directive.js.map +0 -1
  63. package/esm2015/lib/sto-directives/sto-grid.directive.js +0 -106
  64. package/esm2015/lib/sto-directives/sto-grid.directive.js.map +0 -1
  65. package/esm2015/lib/sto-directives/sto-select-text-on-focus.directive.js +0 -58
  66. package/esm2015/lib/sto-directives/sto-select-text-on-focus.directive.js.map +0 -1
  67. package/esm2015/lib/sto-pipes/currency-format.pipe.js +0 -35
  68. package/esm2015/lib/sto-pipes/currency-format.pipe.js.map +0 -1
  69. package/esm2015/lib/sto-pipes/date-format.pipe.js +0 -47
  70. package/esm2015/lib/sto-pipes/date-format.pipe.js.map +0 -1
  71. package/esm2015/lib/sto-pipes/keys.pipe.js +0 -27
  72. package/esm2015/lib/sto-pipes/keys.pipe.js.map +0 -1
  73. package/esm2015/lib/sto-pipes/number-format.pipe.js +0 -78
  74. package/esm2015/lib/sto-pipes/number-format.pipe.js.map +0 -1
  75. package/esm2015/lib/sto-pipes/sto-pipes.module.js +0 -51
  76. package/esm2015/lib/sto-pipes/sto-pipes.module.js.map +0 -1
  77. package/esm2015/lib/sto-pipes/with-unit.js +0 -43
  78. package/esm2015/lib/sto-pipes/with-unit.js.map +0 -1
  79. package/esm2015/lib/sto-pipes/yes-no.js +0 -21
  80. package/esm2015/lib/sto-pipes/yes-no.js.map +0 -1
  81. package/esm2015/lib/sto-user-preference/sto-user-preference.component.js +0 -48
  82. package/esm2015/lib/sto-user-preference/sto-user-preference.component.js.map +0 -1
  83. package/esm2015/lib/sto-user-preference/sto-user-preference.module.js +0 -27
  84. package/esm2015/lib/sto-user-preference/sto-user-preference.module.js.map +0 -1
  85. package/esm2015/lib/sto-user-preference/sto-user-preference.service.js +0 -39
  86. package/esm2015/lib/sto-user-preference/sto-user-preference.service.js.map +0 -1
  87. package/esm2015/ngx-stoui-core.js +0 -5
  88. package/esm2015/ngx-stoui-core.js.map +0 -1
  89. package/fesm2015/ngx-stoui-core.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ import { Directive, ElementRef, HostListener, Optional } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { StoUserPreferenceService } from '../sto-user-preference/sto-user-preference.service';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../sto-user-preference/sto-user-preference.service";
7
+ /**
8
+ * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input
9
+ * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature
10
+ */
11
+ export class StoSelectTextOnFocusDirective {
12
+ constructor(elementRef, userPreferenceService) {
13
+ this.elementRef = elementRef;
14
+ this.userPreferenceService = userPreferenceService;
15
+ this.destroyed$ = new Subject();
16
+ this._el = this.elementRef.nativeElement;
17
+ }
18
+ /**
19
+ * Listens for focus events on the host (input) element, and focuses if applicable
20
+ */
21
+ onFocus() {
22
+ if (this._hasSelectTextOnFocusEnabled && this._el.readOnly === false) {
23
+ this._el.select();
24
+ }
25
+ }
26
+ /**
27
+ * Subscribes to changes in {@link StoUserPreferenceService}, and binds the variable accordingly.
28
+ */
29
+ ngOnInit() {
30
+ if (this.userPreferenceService) {
31
+ this.userPreferenceService.hasSelectTextOnFocusEnabled
32
+ .pipe(takeUntil(this.destroyed$)).subscribe((hasSelectTextOnFocusEnabled) => {
33
+ this._hasSelectTextOnFocusEnabled = hasSelectTextOnFocusEnabled;
34
+ });
35
+ }
36
+ }
37
+ ngOnDestroy() {
38
+ this.destroyed$.next(true);
39
+ this.destroyed$.complete();
40
+ }
41
+ }
42
+ StoSelectTextOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoSelectTextOnFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.StoUserPreferenceService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
43
+ StoSelectTextOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: StoSelectTextOnFocusDirective, selector: "[stoSelectTextOnFocus]", host: { listeners: { "focus": "onFocus()", "dblclick": "onFocus()" } }, ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoSelectTextOnFocusDirective, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[stoSelectTextOnFocus]'
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StoUserPreferenceService, decorators: [{
50
+ type: Optional
51
+ }] }]; }, propDecorators: { onFocus: [{
52
+ type: HostListener,
53
+ args: ['focus']
54
+ }, {
55
+ type: HostListener,
56
+ args: ['dblclick']
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvLXNlbGVjdC10ZXh0LW9uLWZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3N0by1kaXJlY3RpdmVzL3N0by1zZWxlY3QtdGV4dC1vbi1mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUUzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBT3hDLFlBQW9CLFVBQXNCLEVBQXNCLHFCQUErQztRQUEzRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQXNCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7UUFMdkcsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFNMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFHSCxPQUFPO1FBQ0wsSUFBSyxJQUFJLENBQUMsNEJBQTRCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFHO1lBQ3RFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkI7SUFFSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSyxJQUFJLENBQUMscUJBQXFCLEVBQUc7WUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDJCQUEyQjtpQkFDbkQsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCLENBQUMsU0FBUyxDQUFDLENBQUMsMkJBQTJCLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLDJCQUEyQixDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7MEhBeENVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7OzBCQVE4QyxRQUFROzRDQVNyRCxPQUFPO3NCQUZOLFlBQVk7dUJBQUMsT0FBTzs7c0JBQ3BCLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b1VzZXJQcmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4uL3N0by11c2VyLXByZWZlcmVuY2Uvc3RvLXVzZXItcHJlZmVyZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBzdG9TZWxlY3RUZXh0T25Gb2N1cyBsaXN0ZW5zIGZvciBpbnB1dCBmb2N1cyBldmVudHMsIGFuZCBzZWxlY3RzIHRoZSBjb250ZW50cyBvZiB0aGUgaW5wdXRcbiAqIEEgdXNlciBzZXJ2aWNlIGlzIGVzdGFibGlzaGVkIGluIHtAbGluayBTdG9Vc2VyUHJlZmVyZW5jZVNlcnZpY2V9IHRoYXQgYWxsb3dzIGEgdXNlciB0byB0b2dnbGUgdGhpcyBmZWF0dXJlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdG9TZWxlY3RUZXh0T25Gb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIFN0b1NlbGVjdFRleHRPbkZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfaGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9lbDogSFRNTElucHV0RWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIEBPcHRpb25hbCgpIHByaXZhdGUgdXNlclByZWZlcmVuY2VTZXJ2aWNlOiBTdG9Vc2VyUHJlZmVyZW5jZVNlcnZpY2UpIHtcbiAgICB0aGlzLl9lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgZm9yIGZvY3VzIGV2ZW50cyBvbiB0aGUgaG9zdCAoaW5wdXQpIGVsZW1lbnQsIGFuZCBmb2N1c2VzIGlmIGFwcGxpY2FibGVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snKVxuICBvbkZvY3VzKCkge1xuICAgIGlmICggdGhpcy5faGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkICYmIHRoaXMuX2VsLnJlYWRPbmx5ID09PSBmYWxzZSApIHtcbiAgICAgIHRoaXMuX2VsLnNlbGVjdCgpO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gY2hhbmdlcyBpbiB7QGxpbmsgU3RvVXNlclByZWZlcmVuY2VTZXJ2aWNlfSwgYW5kIGJpbmRzIHRoZSB2YXJpYWJsZSBhY2NvcmRpbmdseS5cbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICggdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UgKSB7XG4gICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5oYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcbiAgICAgICAgKS5zdWJzY3JpYmUoKGhhc1NlbGVjdFRleHRPbkZvY3VzRW5hYmxlZCkgPT4ge1xuICAgICAgICB0aGlzLl9oYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQgPSBoYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQ7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Pipe used to transform numbers to a currency format
5
+ *
6
+ * @example
7
+ *
8
+ * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>
9
+ * Results in
10
+ * <span>5 000,582 $</span>
11
+ */
12
+ export class CurrencyFormatPipe {
13
+ transform(value, unit = '', maximumFractionDigits = 3) {
14
+ if (!value) {
15
+ return null;
16
+ }
17
+ if (typeof value === 'string') {
18
+ value = parseFloat(value);
19
+ if (isNaN(value)) {
20
+ return '';
21
+ }
22
+ }
23
+ const intl = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);
24
+ return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;
25
+ }
26
+ }
27
+ CurrencyFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CurrencyFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
28
+ CurrencyFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CurrencyFormatPipe, name: "currencyFormat" });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CurrencyFormatPipe, decorators: [{
30
+ type: Pipe,
31
+ args: [{
32
+ name: 'currencyFormat'
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdG8tcGlwZXMvY3VycmVuY3ktZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOzs7Ozs7OztJQVFJO0FBSUosTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixTQUFTLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxFQUFFLHFCQUFxQixHQUFHLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQixPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0Y7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUMscUJBQXFCLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoRSxDQUFDOzsrR0FkVSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAgKiBQaXBlIHVzZWQgdG8gdHJhbnNmb3JtIG51bWJlcnMgdG8gYSBjdXJyZW5jeSBmb3JtYXRcbiAgKlxuICAqIEBleGFtcGxlXG4gICpcbiAgKiA8c3Bhbj57eyA1MDAwLjU4MjQgfCBjdXJyZW50Rm9ybWF0OickJzozIH19PC9zcGFuPlxuICAqIFJlc3VsdHMgaW5cbiAgKiA8c3Bhbj41IDAwMCw1ODIgJDwvc3Bhbj5cbiAgKi9cbkBQaXBlKHtcbiAgbmFtZTogJ2N1cnJlbmN5Rm9ybWF0J1xufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIHVuaXQ6IHN0cmluZyA9ICcnLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSAzKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaW50bCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgnZW4tVVMnLCB7bWF4aW11bUZyYWN0aW9uRGlnaXRzfSkuZm9ybWF0KHZhbHVlKTtcbiAgICByZXR1cm4gaW50bC5yZXBsYWNlKC8sL2csICcgJykucmVwbGFjZSgnLicsICcsJykgKyBgICR7dW5pdH1gO1xuICB9XG59XG5cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { format as formatDate } from 'date-fns';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Pipe used to transform dates, based on our default formats.
6
+ *
7
+ * @example
8
+ *
9
+ * public date = "2018-08-27 14:00:30"
10
+ * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018
11
+ * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018
12
+ */
13
+ export class DateFormatPipe {
14
+ transform(value, format) {
15
+ if (!value) {
16
+ return null;
17
+ }
18
+ if (typeof value === 'string') {
19
+ value = new Date(value);
20
+ }
21
+ switch (format) {
22
+ case 'long':
23
+ return formatDate(value, 'EEEE MMM d, yyyy');
24
+ case 'short':
25
+ return formatDate(value, 'yyyy-MM-dd');
26
+ case 'datetime':
27
+ return formatDate(value, 'MMM d, yyyy, HH:mm');
28
+ case 'datetimezone':
29
+ return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);
30
+ case 'datetime-long':
31
+ return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');
32
+ case 'datetime-short':
33
+ return formatDate(value, 'yyyy-MM-dd, HH:mm');
34
+ default:
35
+ return formatDate(value, 'MMM d, yyyy');
36
+ }
37
+ }
38
+ }
39
+ DateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
40
+ DateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DateFormatPipe, name: "formatDate" });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DateFormatPipe, decorators: [{
42
+ type: Pipe,
43
+ args: [{
44
+ name: 'formatDate'
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3N0by1waXBlcy9kYXRlLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVoRDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxjQUFjO0lBRXpCLFNBQVMsQ0FBQyxLQUFvQyxFQUFFLE1BQWU7UUFDN0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7UUFDRCxRQUFRLE1BQU0sRUFBRTtZQUNkLEtBQUssTUFBTTtnQkFDVCxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUMvQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLEtBQUssVUFBVTtnQkFDYixPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUNqRCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1lBQy9ELEtBQUssZUFBZTtnQkFDbEIsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDLENBQUM7WUFDdkQsS0FBSyxnQkFBZ0I7Z0JBQ25CLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2hEO2dCQUNFLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7OzJHQXpCVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXQgYXMgZm9ybWF0RGF0ZSB9IGZyb20gJ2RhdGUtZm5zJztcblxuLyoqXG4gKiBQaXBlIHVzZWQgdG8gdHJhbnNmb3JtIGRhdGVzLCBiYXNlZCBvbiBvdXIgZGVmYXVsdCBmb3JtYXRzLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogcHVibGljIGRhdGUgPSBcIjIwMTgtMDgtMjcgMTQ6MDA6MzBcIlxuICogPHNwYW4+e3sgZGF0ZSB8IGRhdGVGb3JtYXQgfX08L3NwYW4+IC0+IEF1ZyAyNywgMjAxOFxuICogPHNwYW4+e3sgZGF0ZSB8IGRhdGVGb3JtYXQ6J2xvbmcnIH19PC9zcGFuPiAtPiBNb25kYXkgQXVnIDI3LCAyMDE4XG4gKi9cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybWF0RGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsLCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgY2FzZSAnbG9uZyc6XG4gICAgICAgIHJldHVybiBmb3JtYXREYXRlKHZhbHVlLCAnRUVFRSBNTU0gZCwgeXl5eScpO1xuICAgICAgY2FzZSAnc2hvcnQnOlxuICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgJ3l5eXktTU0tZGQnKTtcbiAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcbiAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsICdNTU0gZCwgeXl5eSwgSEg6bW0nKTtcbiAgICAgIGNhc2UgJ2RhdGV0aW1lem9uZSc6XG4gICAgICAgIHJldHVybiBmb3JtYXREYXRlKHZhbHVlLCBgTU1NIGQsIHl5eXksIEhIOm1tOnNzICgnVVRDJ3h4eClgKTtcbiAgICAgIGNhc2UgJ2RhdGV0aW1lLWxvbmcnOlxuICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgJ0VFRUUgTU1NIGRkLCB5eXl5LCBISDptbScpO1xuICAgICAgY2FzZSAnZGF0ZXRpbWUtc2hvcnQnOlxuICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgJ3l5eXktTU0tZGQsIEhIOm1tJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgJ01NTSBkLCB5eXl5Jyk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Transforms an Object to an Array.
5
+ *
6
+ * @example
7
+ *
8
+ * public obj = {a: 1, b: 2, c: 3};
9
+ * <span *ngFor="let key of obj | keys "> {{ obj[key] }}, </span> -> 1, 2, 3,
10
+ */
11
+ export class KeysPipe {
12
+ transform(value) {
13
+ if (value) {
14
+ return Object.keys(value);
15
+ }
16
+ return [];
17
+ }
18
+ }
19
+ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: KeysPipe, name: "keys" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: KeysPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{
24
+ name: 'keys'
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXBpcGVzL2tleXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7R0FPRztBQUtILE1BQU0sT0FBTyxRQUFRO0lBRW5CLFNBQVMsQ0FBQyxLQUE4QjtRQUN0QyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7cUdBUFUsUUFBUTttR0FBUixRQUFROzJGQUFSLFFBQVE7a0JBSHBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhbiBPYmplY3QgdG8gYW4gQXJyYXkuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBwdWJsaWMgb2JqID0ge2E6IDEsIGI6IDIsIGM6IDN9O1xuICogPHNwYW4gKm5nRm9yPVwibGV0IGtleSBvZiBvYmogfCBrZXlzIFwiPiB7eyBvYmpba2V5XSB9fSwgPC9zcGFuPiAtPiAxLCAyLCAzLFxuICovXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2tleXMnXG59KVxuZXhwb3J0IGNsYXNzIEtleXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IEFycmF5PHN0cmluZz4ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Formats numbers to use our standard formatting (d ddd,ddd)
5
+ *
6
+ * @example
7
+ *
8
+ * {{ 1234,32 | numberFormat }} -> 1 234,320
9
+ * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3
10
+ * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3
11
+ * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3
12
+ * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3
13
+ */
14
+ export class NumberFormatPipe {
15
+ transform(value, unit = '', abs, appendDecimals = true, numberOfDecimals = 3) {
16
+ if (value !== 0 && !value) {
17
+ return '';
18
+ }
19
+ if (typeof value === 'string') {
20
+ const newValue = parseFloat(value);
21
+ if (isNaN(newValue)) {
22
+ return null;
23
+ }
24
+ value = newValue;
25
+ }
26
+ if (abs) {
27
+ value = Math.abs(value);
28
+ }
29
+ // We absolute the value to ensure that the rounding rules is always away from zero.
30
+ // 1.5 => 2 and -1.5 => -2
31
+ const isNegativeNumber = value < 0;
32
+ value = Math.abs(value);
33
+ if (!appendDecimals) {
34
+ value = Math.round(value);
35
+ }
36
+ if (!isNaN(value) && appendDecimals) {
37
+ value = parseFloat(this.toFixed(value, numberOfDecimals));
38
+ }
39
+ // Turn negative numbers back, but only if value is not -0
40
+ // eslint-disable-next-line no-compare-neg-zero
41
+ if (isNegativeNumber && value !== -0) {
42
+ value = value * -1;
43
+ }
44
+ const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);
45
+ return localized.replace(/,/g, ' ').replace('.', ',') + `${unit ? ' ' + unit : ''}`;
46
+ }
47
+ prettyPrintValue(value, appendDecimals, numberOfDecimals) {
48
+ const intlOptions = { minimumFractionDigits: numberOfDecimals, maximumFractionDigits: numberOfDecimals };
49
+ const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);
50
+ const split = intl.split('.');
51
+ let localized = split[0];
52
+ if (appendDecimals) {
53
+ const decimals = split.length === 2 ? split[1] : '';
54
+ split[1] = decimals.padEnd(numberOfDecimals, '0');
55
+ localized = split.join('.');
56
+ }
57
+ return localized;
58
+ }
59
+ // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding
60
+ toFixed(num, precision) {
61
+ // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points
62
+ // -8.185452315956354e-12 becomes NaN
63
+ let returnValue = (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision));
64
+ if (isNaN(returnValue)) {
65
+ returnValue = parseFloat(num.toFixed(precision));
66
+ }
67
+ return returnValue.toFixed(precision);
68
+ }
69
+ }
70
+ NumberFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NumberFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
71
+ NumberFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NumberFormatPipe, name: "numberFormat" });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NumberFormatPipe, decorators: [{
73
+ type: Pipe,
74
+ args: [{
75
+ name: 'numberFormat'
76
+ }]
77
+ }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXBpcGVzL251bWJlci1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7R0FVRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsU0FBUyxDQUFDLEtBQXNCLEVBQUUsT0FBZSxFQUFFLEVBQUUsR0FBYSxFQUFFLGNBQWMsR0FBRyxJQUFJLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQztRQUM3RyxJQUFLLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUc7WUFDM0IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUssT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFHO1lBQy9CLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRztnQkFDckIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELEtBQUssR0FBRyxRQUFRLENBQUM7U0FDbEI7UUFDRCxJQUFLLEdBQUcsRUFBRztZQUNULEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO1FBQ0Qsb0ZBQW9GO1FBQ3BGLDBCQUEwQjtRQUMxQixNQUFNLGdCQUFnQixHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDbkMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSyxDQUFDLGNBQWMsRUFBRztZQUNyQixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksY0FBYyxFQUFHO1lBQ3JDLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsMERBQTBEO1FBQzFELCtDQUErQztRQUMvQyxJQUFLLGdCQUFnQixJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRztZQUN0QyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsY0FBdUIsRUFBRSxnQkFBd0I7UUFDdkYsTUFBTSxXQUFXLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pHLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFFLENBQUMsQ0FBRSxDQUFDO1FBRTNCLElBQUssY0FBYyxFQUFHO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxLQUFLLENBQUUsQ0FBQyxDQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwRCxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCwrR0FBK0c7SUFDdkcsT0FBTyxDQUFDLEdBQVcsRUFBRSxTQUFpQjtRQUM1Qyw2R0FBNkc7UUFDN0cscUNBQXFDO1FBQ3JDLElBQUksV0FBVyxHQUFHLENBQUUsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUUsQ0FBRSxDQUFDO1FBQ3JGLElBQUssS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFHO1lBQ3hCLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzZHQTNEVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBGb3JtYXRzIG51bWJlcnMgdG8gdXNlIG91ciBzdGFuZGFyZCBmb3JtYXR0aW5nIChkIGRkZCxkZGQpXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiB7eyAxMjM0LDMyIHwgbnVtYmVyRm9ybWF0IH19IC0+IDEgMjM0LDMyMFxuICoge3sgMTIzNCwzMiB8IG51bWJlckZvcm1hdDonTTMnIH19IC0+IDEgMjM0LDMyMCBNM1xuICoge3sgLTEyMzQsMzIgfCBudW1iZXJGb3JtYXQ6J00zJzp0cnVlIH19IC0+IDEgMjM0LDMyMCBNM1xuICoge3sgMTIzNCwzMiB8IG51bWJlckZvcm1hdDonTTMnOmZhbHNlOmZhbHNlIH19IC0+IDEgMjM0IE0zXG4gKiB7eyAxMjM0LDMyIHwgbnVtYmVyRm9ybWF0OidNMyc6ZmFsc2U6dHJ1ZTo1IH19IC0+IDEgMjM0LDMyMDAwIE0zXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ251bWJlckZvcm1hdCdcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCB1bml0OiBzdHJpbmcgPSAnJywgYWJzPzogYm9vbGVhbiwgYXBwZW5kRGVjaW1hbHMgPSB0cnVlLCBudW1iZXJPZkRlY2ltYWxzID0gMyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICggdmFsdWUgIT09IDAgJiYgIXZhbHVlICkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICAgICAgaWYgKCBpc05hTihuZXdWYWx1ZSkgKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG4gICAgaWYgKCBhYnMgKSB7XG4gICAgICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgICB9XG4gICAgLy8gV2UgYWJzb2x1dGUgdGhlIHZhbHVlIHRvIGVuc3VyZSB0aGF0IHRoZSByb3VuZGluZyBydWxlcyBpcyBhbHdheXMgYXdheSBmcm9tIHplcm8uXG4gICAgLy8gMS41ID0+IDIgYW5kIC0xLjUgPT4gLTJcbiAgICBjb25zdCBpc05lZ2F0aXZlTnVtYmVyID0gdmFsdWUgPCAwO1xuICAgIHZhbHVlID0gTWF0aC5hYnModmFsdWUpO1xuXG4gICAgaWYgKCAhYXBwZW5kRGVjaW1hbHMgKSB7XG4gICAgICB2YWx1ZSA9IE1hdGgucm91bmQodmFsdWUpO1xuICAgIH1cbiAgICBpZiAoICFpc05hTih2YWx1ZSkgJiYgYXBwZW5kRGVjaW1hbHMgKSB7XG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy50b0ZpeGVkKHZhbHVlLCBudW1iZXJPZkRlY2ltYWxzKSk7XG4gICAgfVxuICAgIC8vIFR1cm4gbmVnYXRpdmUgbnVtYmVycyBiYWNrLCBidXQgb25seSBpZiB2YWx1ZSBpcyBub3QgLTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29tcGFyZS1uZWctemVyb1xuICAgIGlmICggaXNOZWdhdGl2ZU51bWJlciAmJiB2YWx1ZSAhPT0gLTAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlICogLTE7XG4gICAgfVxuICAgIGNvbnN0IGxvY2FsaXplZCA9IHRoaXMucHJldHR5UHJpbnRWYWx1ZSh2YWx1ZSwgYXBwZW5kRGVjaW1hbHMsIG51bWJlck9mRGVjaW1hbHMpO1xuICAgIHJldHVybiBsb2NhbGl6ZWQucmVwbGFjZSgvLC9nLCAnICcpLnJlcGxhY2UoJy4nLCAnLCcpICsgYCR7dW5pdCA/ICcgJyArIHVuaXQgOiAnJ31gO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV0dHlQcmludFZhbHVlKHZhbHVlOiBudW1iZXIsIGFwcGVuZERlY2ltYWxzOiBib29sZWFuLCBudW1iZXJPZkRlY2ltYWxzOiBudW1iZXIpIHtcbiAgICBjb25zdCBpbnRsT3B0aW9ucyA9IHsgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXJPZkRlY2ltYWxzLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlck9mRGVjaW1hbHMgfTtcbiAgICBjb25zdCBpbnRsID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdlbi1VUycsIGludGxPcHRpb25zKS5mb3JtYXQodmFsdWUpO1xuICAgIGNvbnN0IHNwbGl0ID0gaW50bC5zcGxpdCgnLicpO1xuICAgIGxldCBsb2NhbGl6ZWQgPSBzcGxpdFsgMCBdO1xuXG4gICAgaWYgKCBhcHBlbmREZWNpbWFscyApIHtcbiAgICAgIGNvbnN0IGRlY2ltYWxzID0gc3BsaXQubGVuZ3RoID09PSAyID8gc3BsaXRbIDEgXSA6ICcnO1xuICAgICAgc3BsaXRbIDEgXSA9IGRlY2ltYWxzLnBhZEVuZChudW1iZXJPZkRlY2ltYWxzLCAnMCcpO1xuICAgICAgbG9jYWxpemVkID0gc3BsaXQuam9pbignLicpO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxpemVkO1xuICB9XG5cbiAgLy8gTm9ybWFsIHRvRml4ZWQgaGFzIHNvbWUgaXNzdWVzOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDAxNTAyNy9qYXZhc2NyaXB0LXRvZml4ZWQtbm90LXJvdW5kaW5nXG4gIHByaXZhdGUgdG9GaXhlZChudW06IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBhbHNvIGhhcyBzb21lIGlzc3VlcyAtIG5hbWVseSwgaXQncyB1bmFibGUgdG8gcGFyc2UgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGh1Z2UgZmxvYXRpbmcgcG9pbnRzXG4gICAgLy8gLTguMTg1NDUyMzE1OTU2MzU0ZS0xMiBiZWNvbWVzIE5hTlxuICAgIGxldCByZXR1cm5WYWx1ZSA9ICggKyggTWF0aC5yb3VuZCgrKCBudW0gKyAnZScgKyBwcmVjaXNpb24gKSkgKyAnZScgKyAtcHJlY2lzaW9uICkgKTtcbiAgICBpZiAoIGlzTmFOKHJldHVyblZhbHVlKSApIHtcbiAgICAgIHJldHVyblZhbHVlID0gcGFyc2VGbG9hdChudW0udG9GaXhlZChwcmVjaXNpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlLnRvRml4ZWQocHJlY2lzaW9uKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,51 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NumberFormatPipe } from './number-format.pipe';
4
+ import { CurrencyFormatPipe } from './currency-format.pipe';
5
+ import { KeysPipe } from './keys.pipe';
6
+ import { DateFormatPipe } from './date-format.pipe';
7
+ import { ExcludeUnit, GetUnit } from './with-unit';
8
+ import { YesNoPipe } from './yes-no';
9
+ import * as i0 from "@angular/core";
10
+ export class StoPipesModule {
11
+ }
12
+ StoPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ StoPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoPipesModule, declarations: [DateFormatPipe,
14
+ KeysPipe,
15
+ NumberFormatPipe,
16
+ CurrencyFormatPipe,
17
+ GetUnit,
18
+ ExcludeUnit,
19
+ YesNoPipe], imports: [CommonModule], exports: [DateFormatPipe,
20
+ KeysPipe,
21
+ NumberFormatPipe,
22
+ CurrencyFormatPipe,
23
+ GetUnit,
24
+ ExcludeUnit,
25
+ YesNoPipe] });
26
+ StoPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoPipesModule, imports: [[CommonModule]] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoPipesModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ imports: [CommonModule],
31
+ declarations: [
32
+ DateFormatPipe,
33
+ KeysPipe,
34
+ NumberFormatPipe,
35
+ CurrencyFormatPipe,
36
+ GetUnit,
37
+ ExcludeUnit,
38
+ YesNoPipe
39
+ ],
40
+ exports: [
41
+ DateFormatPipe,
42
+ KeysPipe,
43
+ NumberFormatPipe,
44
+ CurrencyFormatPipe,
45
+ GetUnit,
46
+ ExcludeUnit,
47
+ YesNoPipe
48
+ ]
49
+ }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvLXBpcGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3N0by1waXBlcy9zdG8tcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBdUJyQyxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQWxCdkIsY0FBYztRQUNkLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLE9BQU87UUFDUCxXQUFXO1FBQ1gsU0FBUyxhQVJELFlBQVksYUFXcEIsY0FBYztRQUNkLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLE9BQU87UUFDUCxXQUFXO1FBQ1gsU0FBUzs0R0FHQSxjQUFjLFlBcEJoQixDQUFDLFlBQVksQ0FBQzsyRkFvQlosY0FBYztrQkFyQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsU0FBUztxQkFDVjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsU0FBUztxQkFDVjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTnVtYmVyRm9ybWF0UGlwZSB9IGZyb20gJy4vbnVtYmVyLWZvcm1hdC5waXBlJztcbmltcG9ydCB7IEN1cnJlbmN5Rm9ybWF0UGlwZSB9IGZyb20gJy4vY3VycmVuY3ktZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHsgS2V5c1BpcGUgfSBmcm9tICcuL2tleXMucGlwZSc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0UGlwZSB9IGZyb20gJy4vZGF0ZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBFeGNsdWRlVW5pdCwgR2V0VW5pdCB9IGZyb20gJy4vd2l0aC11bml0JztcbmltcG9ydCB7IFllc05vUGlwZSB9IGZyb20gJy4veWVzLW5vJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVGb3JtYXRQaXBlLFxuICAgIEtleXNQaXBlLFxuICAgIE51bWJlckZvcm1hdFBpcGUsXG4gICAgQ3VycmVuY3lGb3JtYXRQaXBlLFxuICAgIEdldFVuaXQsXG4gICAgRXhjbHVkZVVuaXQsXG4gICAgWWVzTm9QaXBlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICBLZXlzUGlwZSxcbiAgICBOdW1iZXJGb3JtYXRQaXBlLFxuICAgIEN1cnJlbmN5Rm9ybWF0UGlwZSxcbiAgICBHZXRVbml0LFxuICAgIEV4Y2x1ZGVVbml0LFxuICAgIFllc05vUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0b1BpcGVzTW9kdWxlIHtcbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GetUnit {
4
+ transform(value, withParens) {
5
+ if (value) {
6
+ const arr = value.split('(');
7
+ if (arr.length > 0) {
8
+ if (withParens) {
9
+ value = '(' + arr[1];
10
+ }
11
+ else {
12
+ arr[1].slice(0, -1);
13
+ value = arr[1].slice(0, -1);
14
+ }
15
+ }
16
+ }
17
+ return value;
18
+ }
19
+ }
20
+ GetUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GetUnit, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ GetUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GetUnit, name: "getUnit" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: GetUnit, decorators: [{
23
+ type: Pipe,
24
+ args: [{ name: 'getUnit' }]
25
+ }] });
26
+ export class ExcludeUnit {
27
+ transform(value) {
28
+ if (value) {
29
+ const arr = value.split('(');
30
+ if (arr.length > 0) {
31
+ value = arr[0];
32
+ }
33
+ }
34
+ return value;
35
+ }
36
+ }
37
+ ExcludeUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ExcludeUnit, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
38
+ ExcludeUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ExcludeUnit, name: "excludeUnit" });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ExcludeUnit, decorators: [{
40
+ type: Pipe,
41
+ args: [{ name: 'excludeUnit' }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11bml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXBpcGVzL3dpdGgtdW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLE9BQU87SUFDbEIsU0FBUyxDQUFDLEtBQWEsRUFBRSxVQUFvQjtRQUMzQyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRztnQkFDbkIsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O29HQWRVLE9BQU87a0dBQVAsT0FBTzsyRkFBUCxPQUFPO2tCQURuQixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQzs7QUFrQnZCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3dHQVRVLFdBQVc7c0dBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe25hbWU6ICdnZXRVbml0J30pXG5leHBvcnQgY2xhc3MgR2V0VW5pdCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgd2l0aFBhcmVucz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgYXJyID0gdmFsdWUuc3BsaXQoJygnKTtcbiAgICAgIGlmIChhcnIubGVuZ3RoID4gMCApIHtcbiAgICAgICAgaWYgKHdpdGhQYXJlbnMpIHtcbiAgICAgICAgICB2YWx1ZSA9ICcoJyArIGFyclsxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcnJbMV0uc2xpY2UoMCwgLTEpO1xuICAgICAgICAgIHZhbHVlID0gYXJyWzFdLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbkBQaXBlKHtuYW1lOiAnZXhjbHVkZVVuaXQnfSlcbmV4cG9ydCBjbGFzcyBFeGNsdWRlVW5pdCBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBhcnIgPSB2YWx1ZS5zcGxpdCgnKCcpO1xuICAgICAgaWYgKGFyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIHZhbHVlID0gYXJyWzBdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class YesNoPipe {
4
+ transform(value, ignoreNulls = false) {
5
+ let valueStr = '';
6
+ if (ignoreNulls) {
7
+ valueStr = value ? 'Yes' : value === false ? 'No' : '';
8
+ }
9
+ else {
10
+ valueStr = value ? 'Yes' : 'No';
11
+ }
12
+ return valueStr;
13
+ }
14
+ }
15
+ YesNoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: YesNoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ YesNoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: YesNoPipe, name: "yesNo" });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: YesNoPipe, decorators: [{
18
+ type: Pipe,
19
+ args: [{ name: 'yesNo' }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVzLW5vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXBpcGVzL3llcy1uby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsU0FBUyxDQUFDLEtBQWMsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUMzQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxXQUFXLEVBQUU7WUFDZixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3hEO2FBQU07WUFDTCxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNqQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBRWxCLENBQUM7O3NHQVZVLFNBQVM7b0dBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBQaXBlKHtuYW1lOiAneWVzTm8nfSlcbmV4cG9ydCBjbGFzcyBZZXNOb1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBib29sZWFuLCBpZ25vcmVOdWxscyA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICBsZXQgdmFsdWVTdHIgPSAnJztcbiAgICBpZiAoaWdub3JlTnVsbHMpIHtcbiAgICAgIHZhbHVlU3RyID0gdmFsdWUgPyAnWWVzJyA6IHZhbHVlID09PSBmYWxzZSA/ICdObycgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWVTdHIgPSB2YWx1ZSA/ICdZZXMnIDogJ05vJztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlU3RyO1xuXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormBuilder } from '@angular/forms';
3
+ import { take, takeUntil } from 'rxjs/operators';
4
+ import { Subject } from 'rxjs';
5
+ import { StoUserPreferenceService } from './sto-user-preference.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "./sto-user-preference.service";
9
+ import * as i3 from "@angular/material/expansion";
10
+ import * as i4 from "@angular/common";
11
+ export class StoUserPreferenceComponent {
12
+ constructor(fb, service) {
13
+ this.fb = fb;
14
+ this.service = service;
15
+ this.destroyed$ = new Subject();
16
+ }
17
+ initForm(value) {
18
+ this.form = this.fb.group({
19
+ hasSelectTextOnFocusEnabled: [value]
20
+ });
21
+ this.form.get('hasSelectTextOnFocusEnabled')?.valueChanges
22
+ .pipe(takeUntil(this.destroyed$))
23
+ .subscribe((hasSelectTextOnFocusEnabled) => {
24
+ this.service.setHasSelectTextOnFocusEnabled(hasSelectTextOnFocusEnabled);
25
+ });
26
+ }
27
+ ngOnInit() {
28
+ this.service.hasSelectTextOnFocusEnabled.asObservable()
29
+ .pipe(take(1))
30
+ .subscribe((value) => {
31
+ this.initForm(value);
32
+ });
33
+ }
34
+ ngOnDestroy() {
35
+ this.destroyed$.next(true);
36
+ this.destroyed$.complete();
37
+ }
38
+ }
39
+ StoUserPreferenceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceComponent, deps: [{ token: i1.FormBuilder }, { token: i2.StoUserPreferenceService }], target: i0.ɵɵFactoryTarget.Component });
40
+ StoUserPreferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: StoUserPreferenceComponent, selector: "sto-user-preference", ngImport: i0, template: "<mat-expansion-panel [expanded]=\"false\">\n <mat-expansion-panel-header>\n <mat-panel-title>Settings<span style=\"opacity: 0.36\">&nbsp;(beta)</span></mat-panel-title>\n </mat-expansion-panel-header>\n <div *ngIf=\"form\" class=\"sto-grid sto-grid--4\">\n\n <ng-content></ng-content>\n\n </div>\n</mat-expansion-panel>\n", styles: [""], components: [{ type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }], directives: [{ type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'sto-user-preference', template: "<mat-expansion-panel [expanded]=\"false\">\n <mat-expansion-panel-header>\n <mat-panel-title>Settings<span style=\"opacity: 0.36\">&nbsp;(beta)</span></mat-panel-title>\n </mat-expansion-panel-header>\n <div *ngIf=\"form\" class=\"sto-grid sto-grid--4\">\n\n <ng-content></ng-content>\n\n </div>\n</mat-expansion-panel>\n", styles: [""] }]
44
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.StoUserPreferenceService }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvLXVzZXItcHJlZmVyZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdG8tdXNlci1wcmVmZXJlbmNlL3N0by11c2VyLXByZWZlcmVuY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXVzZXItcHJlZmVyZW5jZS9zdG8tdXNlci1wcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxXQUFXLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQU92RSxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLEVBQWUsRUFBVSxPQUFpQztRQUExRCxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFGdEUsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFHNUMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsRUFBRSxZQUFZO2FBQ3ZELElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLDJCQUEyQixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLFlBQVksRUFBRTthQUNwRCxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUVQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzt1SEFuQ1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDWHZDLDZVQVVBOzJGRENhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3Rha2UsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U3RvVXNlclByZWZlcmVuY2VTZXJ2aWNlfSBmcm9tICcuL3N0by11c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0by11c2VyLXByZWZlcmVuY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RvLXVzZXItcHJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0by11c2VyLXByZWZlcmVuY2UuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN0b1VzZXJQcmVmZXJlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgc2VydmljZTogU3RvVXNlclByZWZlcmVuY2VTZXJ2aWNlKSB7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKHZhbHVlOiBib29sZWFuICkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkOiBbdmFsdWVdXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtLmdldCgnaGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkJyk/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChoYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldEhhc1NlbGVjdFRleHRPbkZvY3VzRW5hYmxlZChoYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2UuaGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5pbml0Rm9ybSh2YWx1ZSk7XG4gICAgICB9KTtcblxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJmYWxzZVwiPlxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG1hdC1wYW5lbC10aXRsZT5TZXR0aW5nczxzcGFuIHN0eWxlPVwib3BhY2l0eTogMC4zNlwiPiZuYnNwOyhiZXRhKTwvc3Bhbj48L21hdC1wYW5lbC10aXRsZT5cbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgPGRpdiAqbmdJZj1cImZvcm1cIiBjbGFzcz1cInN0by1ncmlkIHN0by1ncmlkLS00XCI+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPC9kaXY+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { StoUserPreferenceService } from './sto-user-preference.service';
3
+ import { CommonModule } from '@angular/common';
4
+ import { StoUserPreferenceComponent } from './sto-user-preference.component';
5
+ import { MatExpansionModule } from '@angular/material/expansion';
6
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import * as i0 from "@angular/core";
8
+ export class StoUserPreferenceModule {
9
+ static forRoot() {
10
+ return {
11
+ ngModule: StoUserPreferenceModule,
12
+ providers: [StoUserPreferenceService]
13
+ };
14
+ }
15
+ }
16
+ StoUserPreferenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ StoUserPreferenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceModule, declarations: [StoUserPreferenceComponent], imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule], exports: [StoUserPreferenceComponent] });
18
+ StoUserPreferenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceModule, imports: [[CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule]] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule],
23
+ exports: [StoUserPreferenceComponent],
24
+ declarations: [StoUserPreferenceComponent]
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvLXVzZXItcHJlZmVyZW5jZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zdG8tdXNlci1wcmVmZXJlbmNlL3N0by11c2VyLXByZWZlcmVuY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztTQUN0QyxDQUFDO0lBQ0osQ0FBQzs7b0hBTlUsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBRm5CLDBCQUEwQixhQUYvQixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxhQUNsRSwwQkFBMEI7cUhBR3pCLHVCQUF1QixZQUp6QixDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUM7MkZBSWxFLHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDO29CQUM3RSxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b1VzZXJQcmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4vc3RvLXVzZXItcHJlZmVyZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdG9Vc2VyUHJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4vc3RvLXVzZXItcHJlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW1N0b1VzZXJQcmVmZXJlbmNlQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbU3RvVXNlclByZWZlcmVuY2VDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFN0b1VzZXJQcmVmZXJlbmNlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTdG9Vc2VyUHJlZmVyZW5jZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU3RvVXNlclByZWZlcmVuY2VNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtTdG9Vc2VyUHJlZmVyZW5jZVNlcnZpY2VdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ const preferenceKey = 'TOPS_IM:UserPreferences';
5
+ export class StoUserPreferenceService {
6
+ constructor() {
7
+ this.hasSelectTextOnFocusEnabled = new BehaviorSubject(true);
8
+ this.default = {
9
+ hasSelectTextOnFocusEnabled: true
10
+ };
11
+ let sessionPreferences = {};
12
+ const sessionPreferencesString = this.getPreferences();
13
+ try {
14
+ sessionPreferences = JSON.parse(sessionPreferencesString);
15
+ }
16
+ catch (e) {
17
+ console.error('Unable to parse the preferences from local storage. Loading default');
18
+ }
19
+ this.preferences = { ...this.default, ...sessionPreferences };
20
+ this.setHasSelectTextOnFocusEnabled(this.preferences.hasSelectTextOnFocusEnabled);
21
+ }
22
+ setHasSelectTextOnFocusEnabled(value) {
23
+ this.hasSelectTextOnFocusEnabled.next(value);
24
+ this.preferences.hasSelectTextOnFocusEnabled = value;
25
+ this.setPreferences(this.preferences);
26
+ }
27
+ getPreferences() {
28
+ return sessionStorage.getItem(preferenceKey) || '{}';
29
+ }
30
+ setPreferences(value) {
31
+ sessionStorage.setItem(preferenceKey, JSON.stringify(value));
32
+ }
33
+ }
34
+ StoUserPreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ StoUserPreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceService });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StoUserPreferenceService, decorators: [{
37
+ type: Injectable
38
+ }], ctorParameters: function () { return []; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvLXVzZXItcHJlZmVyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3RvLXVzZXItcHJlZmVyZW5jZS9zdG8tdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUV2QyxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FBQztBQUdoRCxNQUFNLE9BQU8sd0JBQXdCO0lBV25DO1FBVE8sZ0NBQTJCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFJakUsWUFBTyxHQUFHO1lBQ2YsMkJBQTJCLEVBQUUsSUFBSTtTQUNsQyxDQUFDO1FBSUEsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkQsSUFBSTtZQUNGLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUMzRDtRQUFDLE9BQVEsQ0FBQyxFQUFHO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1NBQ3RGO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sOEJBQThCLENBQUMsS0FBYztRQUNsRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUE4QjtRQUNsRCxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7cUhBbkNVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgcHJlZmVyZW5jZUtleSA9ICdUT1BTX0lNOlVzZXJQcmVmZXJlbmNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9Vc2VyUHJlZmVyZW5jZVNlcnZpY2Uge1xuXG4gIHB1YmxpYyBoYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwdWJsaWMgcHJlZmVyZW5jZXM6IHtcbiAgICBoYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQ6IGJvb2xlYW47XG4gIH07XG4gIHB1YmxpYyBkZWZhdWx0ID0ge1xuICAgIGhhc1NlbGVjdFRleHRPbkZvY3VzRW5hYmxlZDogdHJ1ZVxuICB9O1xuXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgbGV0IHNlc3Npb25QcmVmZXJlbmNlcyA9IHt9O1xuICAgIGNvbnN0IHNlc3Npb25QcmVmZXJlbmNlc1N0cmluZyA9IHRoaXMuZ2V0UHJlZmVyZW5jZXMoKTtcbiAgICB0cnkge1xuICAgICAgc2Vzc2lvblByZWZlcmVuY2VzID0gSlNPTi5wYXJzZShzZXNzaW9uUHJlZmVyZW5jZXNTdHJpbmcpO1xuICAgIH0gY2F0Y2ggKCBlICkge1xuICAgICAgY29uc29sZS5lcnJvcignVW5hYmxlIHRvIHBhcnNlIHRoZSBwcmVmZXJlbmNlcyBmcm9tIGxvY2FsIHN0b3JhZ2UuIExvYWRpbmcgZGVmYXVsdCcpO1xuICAgIH1cbiAgICB0aGlzLnByZWZlcmVuY2VzID0geyAuLi50aGlzLmRlZmF1bHQsIC4uLnNlc3Npb25QcmVmZXJlbmNlcyB9O1xuICAgIHRoaXMuc2V0SGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkKHRoaXMucHJlZmVyZW5jZXMuaGFzU2VsZWN0VGV4dE9uRm9jdXNFbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIYXNTZWxlY3RUZXh0T25Gb2N1c0VuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhhc1NlbGVjdFRleHRPbkZvY3VzRW5hYmxlZC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLnByZWZlcmVuY2VzLmhhc1NlbGVjdFRleHRPbkZvY3VzRW5hYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0UHJlZmVyZW5jZXModGhpcy5wcmVmZXJlbmNlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJlZmVyZW5jZXMoKSB7XG4gICAgcmV0dXJuIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocHJlZmVyZW5jZUtleSkgfHwgJ3t9JztcbiAgfVxuXG4gIHB1YmxpYyBzZXRQcmVmZXJlbmNlcyh2YWx1ZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHByZWZlcmVuY2VLZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXN0b3VpLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL25neC1zdG91aS1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19