@ngx-stoui/core 13.0.2 → 14.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.
- package/esm2020/lib/sto-directives/context-menu.directive.mjs +3 -3
- package/esm2020/lib/sto-directives/date-form-field-click.directive.mjs +3 -3
- package/esm2020/lib/sto-directives/directives.module.mjs +5 -5
- package/esm2020/lib/sto-directives/menu-overlay.directive.mjs +4 -4
- package/esm2020/lib/sto-directives/quick-keys.directive.mjs +5 -5
- package/esm2020/lib/sto-directives/sto-grid.directive.mjs +9 -9
- package/esm2020/lib/sto-directives/sto-select-text-on-focus.directive.mjs +3 -3
- package/esm2020/lib/sto-pipes/currency-format.pipe.mjs +3 -3
- package/esm2020/lib/sto-pipes/date-format.pipe.mjs +12 -6
- package/esm2020/lib/sto-pipes/keys.pipe.mjs +3 -3
- package/esm2020/lib/sto-pipes/number-format.pipe.mjs +3 -3
- package/esm2020/lib/sto-pipes/sto-pipes.module.mjs +5 -5
- package/esm2020/lib/sto-pipes/with-unit.mjs +6 -6
- package/esm2020/lib/sto-pipes/yes-no.mjs +3 -3
- package/esm2020/lib/sto-user-preference/sto-user-preference.component.mjs +9 -9
- package/esm2020/lib/sto-user-preference/sto-user-preference.module.mjs +5 -5
- package/esm2020/lib/sto-user-preference/sto-user-preference.service.mjs +3 -3
- package/fesm2015/ngx-stoui-core.mjs +75 -69
- package/fesm2015/ngx-stoui-core.mjs.map +1 -1
- package/fesm2020/ngx-stoui-core.mjs +75 -69
- package/fesm2020/ngx-stoui-core.mjs.map +1 -1
- package/lib/sto-directives/context-menu.directive.d.ts +1 -1
- package/lib/sto-directives/date-form-field-click.directive.d.ts +1 -1
- package/lib/sto-directives/menu-overlay.directive.d.ts +1 -1
- package/lib/sto-directives/quick-keys.directive.d.ts +3 -3
- package/lib/sto-directives/sto-grid.directive.d.ts +3 -3
- package/lib/sto-directives/sto-select-text-on-focus.directive.d.ts +1 -1
- package/lib/sto-pipes/currency-format.pipe.d.ts +1 -1
- package/lib/sto-pipes/date-format.pipe.d.ts +1 -1
- package/lib/sto-pipes/keys.pipe.d.ts +1 -1
- package/lib/sto-pipes/number-format.pipe.d.ts +1 -1
- package/lib/sto-pipes/with-unit.d.ts +2 -2
- package/lib/sto-pipes/yes-no.d.ts +1 -1
- package/lib/sto-user-preference/sto-user-preference.component.d.ts +4 -4
- package/ngx-stoui.css +372 -99
- package/package.json +5 -5
- package/ngx-stoui-core.d.ts +0 -5
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Directive, Input, Output, HostListener, ContentChildren, Injectable, Optional, HostBinding, ElementRef, Host, NgModule, Pipe, Component } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { MatInput } from '@angular/material/input';
|
|
6
6
|
import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
|
|
7
7
|
import { takeUntil, switchMap, take } from 'rxjs/operators';
|
|
8
8
|
import { LayoutModule } from '@angular/cdk/layout';
|
|
9
9
|
import * as i1 from '@angular/material/menu';
|
|
10
|
-
import { format } from 'date-fns';
|
|
10
|
+
import { parseISO, isValid, format } from 'date-fns';
|
|
11
11
|
import * as i1$1 from '@angular/forms';
|
|
12
12
|
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i4 from '@angular/material/expansion';
|
|
14
14
|
import { MatExpansionModule } from '@angular/material/expansion';
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -207,9 +207,9 @@ class QuickKeysDirective {
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
QuickKeysDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
211
|
-
QuickKeysDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
210
|
+
QuickKeysDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: QuickKeysDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
211
|
+
QuickKeysDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: QuickKeysDirective, selector: "[stoQuickKeys]", inputs: { quickKeys: "quickKeys", formGroup: "formGroup" }, outputs: { quickSubmit: "quickSubmit", quickCancel: "quickCancel" }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 });
|
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: QuickKeysDirective, decorators: [{
|
|
213
213
|
type: Directive,
|
|
214
214
|
args: [{
|
|
215
215
|
selector: '[stoQuickKeys]'
|
|
@@ -249,9 +249,9 @@ class DateFormFieldClickDirective {
|
|
|
249
249
|
this.destroy$.complete();
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
DateFormFieldClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
253
|
-
DateFormFieldClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
252
|
+
DateFormFieldClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DateFormFieldClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
253
|
+
DateFormFieldClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: DateFormFieldClickDirective, selector: "[stoDateFormFieldClick]", inputs: { stoDateFormFieldClick: "stoDateFormFieldClick" }, host: { listeners: { "click": "clickEvent()" } }, queries: [{ propertyName: "inputs", predicate: MatInput }], ngImport: i0 });
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DateFormFieldClickDirective, decorators: [{
|
|
255
255
|
type: Directive,
|
|
256
256
|
args: [{
|
|
257
257
|
selector: '[stoDateFormFieldClick]'
|
|
@@ -296,9 +296,9 @@ class StoUserPreferenceService {
|
|
|
296
296
|
sessionStorage.setItem(preferenceKey, JSON.stringify(value));
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
|
-
StoUserPreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
300
|
-
StoUserPreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
299
|
+
StoUserPreferenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
300
|
+
StoUserPreferenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceService });
|
|
301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceService, decorators: [{
|
|
302
302
|
type: Injectable
|
|
303
303
|
}], ctorParameters: function () { return []; } });
|
|
304
304
|
|
|
@@ -337,9 +337,9 @@ class StoSelectTextOnFocusDirective {
|
|
|
337
337
|
this.destroyed$.complete();
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
|
-
StoSelectTextOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
341
|
-
StoSelectTextOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
340
|
+
StoSelectTextOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoSelectTextOnFocusDirective, deps: [{ token: i0.ElementRef }, { token: StoUserPreferenceService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
341
|
+
StoSelectTextOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: StoSelectTextOnFocusDirective, selector: "[stoSelectTextOnFocus]", host: { listeners: { "focus": "onFocus()", "dblclick": "onFocus()" } }, ngImport: i0 });
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoSelectTextOnFocusDirective, decorators: [{
|
|
343
343
|
type: Directive,
|
|
344
344
|
args: [{
|
|
345
345
|
selector: '[stoSelectTextOnFocus]'
|
|
@@ -372,9 +372,9 @@ class StoGridSpacerDirective {
|
|
|
372
372
|
this.useClass = true;
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
|
-
StoGridSpacerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
376
|
-
StoGridSpacerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
375
|
+
StoGridSpacerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridSpacerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
376
|
+
StoGridSpacerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: StoGridSpacerDirective, selector: "[stoGridSpacer]", host: { properties: { "class.sto-f-grid__col": "this.useClass", "class.sto-f-grid__col--spacer": "this.useClass" } }, ngImport: i0 });
|
|
377
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridSpacerDirective, decorators: [{
|
|
378
378
|
type: Directive,
|
|
379
379
|
args: [{ selector: '[stoGridSpacer]' }]
|
|
380
380
|
}], propDecorators: { useClass: [{
|
|
@@ -389,9 +389,9 @@ class StoGridColumnDirective {
|
|
|
389
389
|
this.useClass = true;
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
|
-
StoGridColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
393
|
-
StoGridColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
392
|
+
StoGridColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
393
|
+
StoGridColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: StoGridColumnDirective, selector: "[stoGridColumn]", inputs: { stoGridColumnDouble: "stoGridColumnDouble" }, host: { properties: { "class.sto-f-grid__col": "this.useClass", "class.sto-f-grid__col--2": "this.stoGridColumnDouble" } }, ngImport: i0 });
|
|
394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridColumnDirective, decorators: [{
|
|
395
395
|
type: Directive,
|
|
396
396
|
args: [{ selector: '[stoGridColumn]' }]
|
|
397
397
|
}], propDecorators: { useClass: [{
|
|
@@ -432,9 +432,9 @@ class StoGridDirective {
|
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
|
-
StoGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
436
|
-
StoGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
435
|
+
StoGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
436
|
+
StoGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: StoGridDirective, selector: "[stoGrid]", inputs: { maxWidth: "maxWidth", minWidth: "minWidth", breakpoints: "breakpoints" }, host: { properties: { "style.max-width.px": "this.maxWidth", "style.min-width.px": "this.minWidth", "class.sto-f-grid": "this.baseClass" } }, queries: [{ propertyName: "columns", predicate: StoGridColumnDirective, read: ElementRef }], exportAs: ["stoGrid"], ngImport: i0 });
|
|
437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoGridDirective, decorators: [{
|
|
438
438
|
type: Directive,
|
|
439
439
|
args: [{
|
|
440
440
|
selector: '[stoGrid]',
|
|
@@ -483,9 +483,9 @@ class MenuOverlayDirective {
|
|
|
483
483
|
element.style.width = '1px';
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
|
-
MenuOverlayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
487
|
-
MenuOverlayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
486
|
+
MenuOverlayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MenuOverlayDirective, deps: [{ token: i1.MatMenuTrigger, host: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
487
|
+
MenuOverlayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: MenuOverlayDirective, selector: "[stoMenuOverlay]", host: { properties: { "style.left.px": "this.left", "style.top.px": "this.top" } }, exportAs: ["stoMenuOverlay"], ngImport: i0 });
|
|
488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: MenuOverlayDirective, decorators: [{
|
|
489
489
|
type: Directive,
|
|
490
490
|
args: [{
|
|
491
491
|
selector: '[stoMenuOverlay]',
|
|
@@ -516,9 +516,9 @@ class ContextMenuDirective {
|
|
|
516
516
|
}, 150);
|
|
517
517
|
}
|
|
518
518
|
}
|
|
519
|
-
ContextMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
520
|
-
ContextMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
519
|
+
ContextMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ContextMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
520
|
+
ContextMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: ContextMenuDirective, selector: "[stoContextMenu]", inputs: { menuTrigger: "menuTrigger", overlayDirective: "overlayDirective", menuContext: "menuContext" }, host: { listeners: { "contextmenu": "contextMenu($event)" } }, ngImport: i0 });
|
|
521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ContextMenuDirective, decorators: [{
|
|
522
522
|
type: Directive,
|
|
523
523
|
args: [{
|
|
524
524
|
selector: '[stoContextMenu]'
|
|
@@ -536,8 +536,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
536
536
|
|
|
537
537
|
class StoDirectivesModule {
|
|
538
538
|
}
|
|
539
|
-
StoDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
540
|
-
StoDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
539
|
+
StoDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
540
|
+
StoDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: StoDirectivesModule, declarations: [QuickKeysDirective,
|
|
541
541
|
DateFormFieldClickDirective,
|
|
542
542
|
StoSelectTextOnFocusDirective,
|
|
543
543
|
StoGridDirective,
|
|
@@ -552,8 +552,8 @@ StoDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
552
552
|
StoGridSpacerDirective,
|
|
553
553
|
MenuOverlayDirective,
|
|
554
554
|
ContextMenuDirective] });
|
|
555
|
-
StoDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
556
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
555
|
+
StoDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoDirectivesModule, imports: [CommonModule, LayoutModule] });
|
|
556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoDirectivesModule, decorators: [{
|
|
557
557
|
type: NgModule,
|
|
558
558
|
args: [{
|
|
559
559
|
imports: [CommonModule, LayoutModule],
|
|
@@ -647,9 +647,9 @@ class NumberFormatPipe {
|
|
|
647
647
|
return returnValue.toFixed(precision);
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
|
-
NumberFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
651
|
-
NumberFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
652
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
650
|
+
NumberFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: NumberFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
651
|
+
NumberFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: NumberFormatPipe, name: "numberFormat" });
|
|
652
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: NumberFormatPipe, decorators: [{
|
|
653
653
|
type: Pipe,
|
|
654
654
|
args: [{
|
|
655
655
|
name: 'numberFormat'
|
|
@@ -680,9 +680,9 @@ class CurrencyFormatPipe {
|
|
|
680
680
|
return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
|
-
CurrencyFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
684
|
-
CurrencyFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
683
|
+
CurrencyFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CurrencyFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
684
|
+
CurrencyFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: CurrencyFormatPipe, name: "currencyFormat" });
|
|
685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CurrencyFormatPipe, decorators: [{
|
|
686
686
|
type: Pipe,
|
|
687
687
|
args: [{
|
|
688
688
|
name: 'currencyFormat'
|
|
@@ -705,9 +705,9 @@ class KeysPipe {
|
|
|
705
705
|
return [];
|
|
706
706
|
}
|
|
707
707
|
}
|
|
708
|
-
KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
709
|
-
KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
710
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
708
|
+
KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
709
|
+
KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: KeysPipe, name: "keys" });
|
|
710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: KeysPipe, decorators: [{
|
|
711
711
|
type: Pipe,
|
|
712
712
|
args: [{
|
|
713
713
|
name: 'keys'
|
|
@@ -729,7 +729,13 @@ class DateFormatPipe {
|
|
|
729
729
|
return null;
|
|
730
730
|
}
|
|
731
731
|
if (typeof value === 'string') {
|
|
732
|
-
|
|
732
|
+
const originalValue = value;
|
|
733
|
+
value = parseISO(value);
|
|
734
|
+
if (!isValid(value)) {
|
|
735
|
+
// If invalid ISO date (e.g single-digit day), fall back to new Date()
|
|
736
|
+
console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);
|
|
737
|
+
value = new Date(originalValue);
|
|
738
|
+
}
|
|
733
739
|
}
|
|
734
740
|
switch (format$1) {
|
|
735
741
|
case 'long':
|
|
@@ -749,9 +755,9 @@ class DateFormatPipe {
|
|
|
749
755
|
}
|
|
750
756
|
}
|
|
751
757
|
}
|
|
752
|
-
DateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
753
|
-
DateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
754
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
758
|
+
DateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
759
|
+
DateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: DateFormatPipe, name: "formatDate" });
|
|
760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DateFormatPipe, decorators: [{
|
|
755
761
|
type: Pipe,
|
|
756
762
|
args: [{
|
|
757
763
|
name: 'formatDate'
|
|
@@ -775,9 +781,9 @@ class GetUnit {
|
|
|
775
781
|
return value;
|
|
776
782
|
}
|
|
777
783
|
}
|
|
778
|
-
GetUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
779
|
-
GetUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
784
|
+
GetUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: GetUnit, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
785
|
+
GetUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: GetUnit, name: "getUnit" });
|
|
786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: GetUnit, decorators: [{
|
|
781
787
|
type: Pipe,
|
|
782
788
|
args: [{ name: 'getUnit' }]
|
|
783
789
|
}] });
|
|
@@ -792,9 +798,9 @@ class ExcludeUnit {
|
|
|
792
798
|
return value;
|
|
793
799
|
}
|
|
794
800
|
}
|
|
795
|
-
ExcludeUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
796
|
-
ExcludeUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
797
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
801
|
+
ExcludeUnit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ExcludeUnit, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
802
|
+
ExcludeUnit.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: ExcludeUnit, name: "excludeUnit" });
|
|
803
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ExcludeUnit, decorators: [{
|
|
798
804
|
type: Pipe,
|
|
799
805
|
args: [{ name: 'excludeUnit' }]
|
|
800
806
|
}] });
|
|
@@ -811,17 +817,17 @@ class YesNoPipe {
|
|
|
811
817
|
return valueStr;
|
|
812
818
|
}
|
|
813
819
|
}
|
|
814
|
-
YesNoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
815
|
-
YesNoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
820
|
+
YesNoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: YesNoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
821
|
+
YesNoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: YesNoPipe, name: "yesNo" });
|
|
822
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: YesNoPipe, decorators: [{
|
|
817
823
|
type: Pipe,
|
|
818
824
|
args: [{ name: 'yesNo' }]
|
|
819
825
|
}] });
|
|
820
826
|
|
|
821
827
|
class StoPipesModule {
|
|
822
828
|
}
|
|
823
|
-
StoPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
824
|
-
StoPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
829
|
+
StoPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
830
|
+
StoPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: StoPipesModule, declarations: [DateFormatPipe,
|
|
825
831
|
KeysPipe,
|
|
826
832
|
NumberFormatPipe,
|
|
827
833
|
CurrencyFormatPipe,
|
|
@@ -834,8 +840,8 @@ StoPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
834
840
|
GetUnit,
|
|
835
841
|
ExcludeUnit,
|
|
836
842
|
YesNoPipe] });
|
|
837
|
-
StoPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
838
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
843
|
+
StoPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoPipesModule, imports: [CommonModule] });
|
|
844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoPipesModule, decorators: [{
|
|
839
845
|
type: NgModule,
|
|
840
846
|
args: [{
|
|
841
847
|
imports: [CommonModule],
|
|
@@ -887,12 +893,12 @@ class StoUserPreferenceComponent {
|
|
|
887
893
|
this.destroyed$.complete();
|
|
888
894
|
}
|
|
889
895
|
}
|
|
890
|
-
StoUserPreferenceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
891
|
-
StoUserPreferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
892
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
896
|
+
StoUserPreferenceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceComponent, deps: [{ token: i1$1.UntypedFormBuilder }, { token: StoUserPreferenceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
897
|
+
StoUserPreferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", 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\"> (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: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i4.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i4.MatExpansionPanelTitle, selector: "mat-panel-title" }] });
|
|
898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceComponent, decorators: [{
|
|
893
899
|
type: Component,
|
|
894
|
-
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\"> (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"
|
|
895
|
-
}], ctorParameters: function () { return [{ type: i1$1.
|
|
900
|
+
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\"> (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" }]
|
|
901
|
+
}], ctorParameters: function () { return [{ type: i1$1.UntypedFormBuilder }, { type: StoUserPreferenceService }]; } });
|
|
896
902
|
|
|
897
903
|
class StoUserPreferenceModule {
|
|
898
904
|
static forRoot() {
|
|
@@ -902,10 +908,10 @@ class StoUserPreferenceModule {
|
|
|
902
908
|
};
|
|
903
909
|
}
|
|
904
910
|
}
|
|
905
|
-
StoUserPreferenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
906
|
-
StoUserPreferenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
907
|
-
StoUserPreferenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
908
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
911
|
+
StoUserPreferenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
912
|
+
StoUserPreferenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceModule, declarations: [StoUserPreferenceComponent], imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule], exports: [StoUserPreferenceComponent] });
|
|
913
|
+
StoUserPreferenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceModule, imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule] });
|
|
914
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: StoUserPreferenceModule, decorators: [{
|
|
909
915
|
type: NgModule,
|
|
910
916
|
args: [{
|
|
911
917
|
imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.service.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.component.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.component.html","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\nMIT License\n\nCopyright (c) 2017 Nathan Friend\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE. **/\n\nexport enum Key {\n Backspace = 8,\n Tab = 9,\n Enter = 13,\n Shift = 16,\n Ctrl = 17,\n Alt = 18,\n PauseBreak = 19,\n CapsLock = 20,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n\n LeftArrow = 37,\n UpArrow = 38,\n RightArrow = 39,\n DownArrow = 40,\n\n Insert = 45,\n Delete = 46,\n\n Zero = 48,\n ClosedParen = Zero,\n One = 49,\n ExclamationMark = One,\n Two = 50,\n AtSign = Two,\n Three = 51,\n PoundSign = Three,\n Hash = PoundSign,\n Four = 52,\n DollarSign = Four,\n Five = 53,\n PercentSign = Five,\n Six = 54,\n Caret = Six,\n Hat = Caret,\n Seven = 55,\n Ampersand = Seven,\n Eight = 56,\n Star = Eight,\n Asterik = Star,\n Nine = 57,\n OpenParen = Nine,\n\n A = 65,\n B = 66,\n C = 67,\n D = 68,\n E = 69,\n F = 70,\n G = 71,\n H = 72,\n I = 73,\n J = 74,\n K = 75,\n L = 76,\n M = 77,\n N = 78,\n O = 79,\n P = 80,\n Q = 81,\n R = 82,\n S = 83,\n T = 84,\n U = 85,\n V = 86,\n W = 87,\n X = 88,\n Y = 89,\n Z = 90,\n\n LeftWindowKey = 91,\n RightWindowKey = 92,\n SelectKey = 93,\n\n Numpad0 = 96,\n Numpad1 = 97,\n Numpad2 = 98,\n Numpad3 = 99,\n Numpad4 = 100,\n Numpad5 = 101,\n Numpad6 = 102,\n Numpad7 = 103,\n Numpad8 = 104,\n Numpad9 = 105,\n\n Multiply = 106,\n Add = 107,\n Subtract = 109,\n DecimalPoint = 110,\n Divide = 111,\n\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n\n NumLock = 144,\n ScrollLock = 145,\n\n SemiColon = 186,\n Equals = 187,\n Comma = 188,\n Dash = 189,\n Period = 190,\n UnderScore = Dash,\n PlusSign = Equals,\n ForwardSlash = 191,\n Tilde = 192,\n GraveAccent = Tilde,\n\n OpenBracket = 219,\n ClosedBracket = 221,\n Quote = 222\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\n\n/**\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\n */\n\n@Directive({\n selector: '[stoQuickKeys]'\n})\nexport class QuickKeysDirective {\n @Input() quickKeys: unknown;\n /**\n * Optional formGroup input, when used in combination with a reactive form\n */\n @Input() formGroup: FormGroup;\n /**\n * Emits when ctrl + enter is clicked in combination\n * <form (quickSubmit)=\"save()\">\n */\n @Output() quickSubmit = new EventEmitter<void>();\n /**\n * Emits when escape is clicked\n * <form (quickCancel)=\"cancel()\">\n */\n @Output() quickCancel = new EventEmitter<void>();\n\n /**\n * Listens on the host element for any keyup events\n * @param e\n */\n @HostListener('keyup', ['$event'])\n onKeyUp(e: KeyboardEvent) {\n if (this.formGroup) {\n this.handleFormKeys(e);\n }\n this.handleGenericKeydown(e);\n }\n\n /**\n * Handler for generic keydowns, such as cancel events to close drawers\n * @param e\n * void\n */\n private handleGenericKeydown(e: KeyboardEvent) {\n // Shortcuts that are useful outside of forms\n if (e.keyCode === Key.Escape) {\n this.quickCancel.emit();\n }\n if (!this.formGroup && e.keyCode === Key.Enter && e.ctrlKey) {\n this.quickSubmit.emit();\n }\n }\n\n /**\n * Handler for form specific shortcuts, such as saving the form\n * @param e\n */\n private handleFormKeys(e: KeyboardEvent) {\n if (this.formGroup.pristine) {\n return;\n }\n if (e.keyCode === Key.Enter && e.ctrlKey) {\n this.quickSubmit.emit();\n }\n }\n}\n","import { ContentChildren, Directive, HostListener, Input, OnDestroy, OnInit, QueryList } from '@angular/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MatInput } from '@angular/material/input';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\n * This directive has two tasks:\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\n */\n@Directive({\n selector: '[stoDateFormFieldClick]'\n})\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\n private destroy$ = new Subject();\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\n @Input() stoDateFormFieldClick: MatDatepicker<Date>;\n @HostListener('click')\n clickEvent() {\n this.stoDateFormFieldClick.open();\n }\n ngOnInit() {\n this.stoDateFormFieldClick.closedStream\n .pipe(\n takeUntil(this.destroy$)\n ).subscribe(() => this.inputs.first.focus());\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nconst preferenceKey = 'TOPS_IM:UserPreferences';\n\n@Injectable()\nexport class StoUserPreferenceService {\n\n public hasSelectTextOnFocusEnabled = new BehaviorSubject<boolean>(true);\n public preferences: {\n hasSelectTextOnFocusEnabled: boolean;\n };\n public default = {\n hasSelectTextOnFocusEnabled: true\n };\n\n\n constructor() {\n let sessionPreferences = {};\n const sessionPreferencesString = this.getPreferences();\n try {\n sessionPreferences = JSON.parse(sessionPreferencesString);\n } catch ( e ) {\n console.error('Unable to parse the preferences from local storage. Loading default');\n }\n this.preferences = { ...this.default, ...sessionPreferences };\n this.setHasSelectTextOnFocusEnabled(this.preferences.hasSelectTextOnFocusEnabled);\n }\n\n public setHasSelectTextOnFocusEnabled(value: boolean) {\n this.hasSelectTextOnFocusEnabled.next(value);\n this.preferences.hasSelectTextOnFocusEnabled = value;\n this.setPreferences(this.preferences);\n }\n\n public getPreferences() {\n return sessionStorage.getItem(preferenceKey) || '{}';\n }\n\n public setPreferences(value: Record<string, unknown>) {\n sessionStorage.setItem(preferenceKey, JSON.stringify(value));\n }\n}\n","import { Directive, ElementRef, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { StoUserPreferenceService } from '../sto-user-preference/sto-user-preference.service';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\n */\n@Directive({\n selector: '[stoSelectTextOnFocus]'\n})\nexport class StoSelectTextOnFocusDirective implements OnInit, OnDestroy {\n\n private destroyed$ = new Subject<boolean>();\n\n private _hasSelectTextOnFocusEnabled: boolean;\n private _el: HTMLInputElement;\n\n constructor(private elementRef: ElementRef, @Optional() private userPreferenceService: StoUserPreferenceService) {\n this._el = this.elementRef.nativeElement;\n }\n\n /**\n * Listens for focus events on the host (input) element, and focuses if applicable\n */\n @HostListener('focus')\n @HostListener('dblclick')\n onFocus() {\n if ( this._hasSelectTextOnFocusEnabled && this._el.readOnly === false ) {\n this._el.select();\n }\n\n }\n\n /**\n * Subscribes to changes in {@link StoUserPreferenceService}, and binds the variable accordingly.\n */\n ngOnInit() {\n if ( this.userPreferenceService ) {\n this.userPreferenceService.hasSelectTextOnFocusEnabled\n .pipe(\n takeUntil(this.destroyed$)\n ).subscribe((hasSelectTextOnFocusEnabled) => {\n this._hasSelectTextOnFocusEnabled = hasSelectTextOnFocusEnabled;\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n}\n","import { AfterViewInit, ContentChildren, Directive, ElementRef, HostBinding, Input, OnDestroy, QueryList } from '@angular/core';\n\ninterface BreakpointConfig {\n 2: number;\n 4: number;\n}\n\nconst getClass = (width: number, small = 400, large = 800) => {\n let cols = 1;\n if ( width > small ) {\n cols += 1;\n }\n if ( width > large ) {\n cols += 2;\n }\n return `sto-f-grid--${cols}`;\n};\n\nconst ALL_GRIDS = [ 'sto-f-grid--1', 'sto-f-grid--2', 'sto-f-grid--4', 'sto-f-grid--6' ];\n\n@Directive({ selector: '[stoGridSpacer]' })\nexport class StoGridSpacerDirective {\n @HostBinding('class.sto-f-grid__col')\n @HostBinding('class.sto-f-grid__col--spacer')\n useClass = true;\n}\n\n@Directive({ selector: '[stoGridColumn]' })\nexport class StoGridColumnDirective {\n @HostBinding('class.sto-f-grid__col')\n useClass = true;\n @HostBinding('class.sto-f-grid__col--2')\n @Input()\n stoGridColumnDouble: boolean;\n\n}\n\n@Directive({\n selector: '[stoGrid]',\n exportAs: 'stoGrid'\n})\nexport class StoGridDirective implements AfterViewInit, OnDestroy {\n @HostBinding('style.max-width.px')\n @Input()\n maxWidth = 1000;\n @HostBinding('style.min-width.px')\n @Input()\n minWidth = 250;\n @HostBinding('class.sto-f-grid')\n baseClass = true;\n @ContentChildren(StoGridColumnDirective, { read: ElementRef })\n columns: QueryList<ElementRef<HTMLElement>>;\n @Input()\n breakpoints: BreakpointConfig;\n\n private observer: ResizeObserver;\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n ) {\n }\n\n ngAfterViewInit() {\n const el = this.elRef.nativeElement as HTMLElement;\n this.observer = new ResizeObserver(entries => {\n for ( const entry of entries ) {\n const cr = entry.contentRect;\n const { width } = cr;\n const breakpoints = this.breakpoints || { 2: 400, 4: 800 };\n const gridType = getClass(width, breakpoints[ 2 ], breakpoints[ 4 ]);\n if ( !el.classList.contains(gridType) ) {\n el.classList.remove(...ALL_GRIDS);\n el.classList.add(gridType);\n }\n }\n });\n this.observer.observe(this.elRef.nativeElement);\n }\n\n ngOnDestroy() {\n if ( this.observer ) {\n this.observer.disconnect();\n }\n }\n\n}\n\n","import { Directive, ElementRef, Host, HostBinding } from '@angular/core';\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\n@Directive({\n selector: '[stoMenuOverlay]',\n exportAs: 'stoMenuOverlay'\n})\nexport class MenuOverlayDirective {\n private readonly menu: MatMenuPanel;\n @HostBinding('style.left.px')\n left = 0;\n @HostBinding('style.top.px')\n top = 0;\n\n constructor(@Host() private trigger: MatMenuTrigger, el: ElementRef<HTMLButtonElement>) {\n this.menu = trigger.menu;\n this.trigger.menuOpened.pipe(\n switchMap(() =>\n fromEvent<MouseEvent>(document, 'click')\n .pipe(take(1))\n ),\n ).subscribe(() => {\n this.trigger.closeMenu();\n });\n this.setStyle(el.nativeElement);\n }\n\n public updatePosition(event: MouseEvent) {\n this.left = event.x;\n this.top = event.y;\n }\n\n private setStyle(element: HTMLButtonElement) {\n element.style.overflow = 'hidden';\n element.style.position = 'fixed';\n element.style.height = '1px';\n element.style.width = '1px';\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\n\n@Directive({\n selector: '[stoContextMenu]'\n})\nexport class ContextMenuDirective {\n @Input()\n menuTrigger: MatMenuTrigger;\n @Input()\n overlayDirective: MenuOverlayDirective;\n @Input()\n menuContext: unknown;\n\n @HostListener('contextmenu', [ '$event' ])\n contextMenu(event: MouseEvent) {\n event.preventDefault();\n if ( this.menuTrigger.menuOpen ) {\n this.menuTrigger.closeMenu();\n }\n this.overlayDirective.updatePosition(event);\n setTimeout(() => {\n this.menuTrigger.menuData = this.menuContext;\n this.menuTrigger.openMenu();\n }, 150);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { QuickKeysDirective } from './quick-keys.directive';\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\nimport { StoGridColumnDirective, StoGridDirective, StoGridSpacerDirective } from './sto-grid.directive';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\nimport { ContextMenuDirective } from './context-menu.directive';\n\n\n@NgModule({\n imports: [ CommonModule, LayoutModule ],\n declarations: [\n QuickKeysDirective\n , DateFormFieldClickDirective\n , StoSelectTextOnFocusDirective\n , StoGridDirective\n , StoGridColumnDirective\n , StoGridSpacerDirective\n , MenuOverlayDirective\n , ContextMenuDirective\n ],\n exports: [\n QuickKeysDirective\n , DateFormFieldClickDirective\n , StoSelectTextOnFocusDirective\n , StoGridDirective\n , StoGridColumnDirective\n , StoGridSpacerDirective\n , MenuOverlayDirective\n , ContextMenuDirective\n ]\n})\nexport class StoDirectivesModule {\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Formats numbers to use our standard formatting (d ddd,ddd)\n *\n * @example\n *\n * {{ 1234,32 | numberFormat }} -> 1 234,320\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\n */\n@Pipe({\n name: 'numberFormat'\n})\nexport class NumberFormatPipe implements PipeTransform {\n\n transform(value: number | string, unit: string = '', abs?: boolean, appendDecimals = true, numberOfDecimals = 3): string | null {\n if ( value !== 0 && !value ) {\n return '';\n }\n if ( typeof value === 'string' ) {\n const newValue = parseFloat(value);\n if ( isNaN(newValue) ) {\n return null;\n }\n value = newValue;\n }\n if ( abs ) {\n value = Math.abs(value);\n }\n // We absolute the value to ensure that the rounding rules is always away from zero.\n // 1.5 => 2 and -1.5 => -2\n const isNegativeNumber = value < 0;\n value = Math.abs(value);\n\n if ( !appendDecimals ) {\n value = Math.round(value);\n }\n if ( !isNaN(value) && appendDecimals ) {\n value = parseFloat(this.toFixed(value, numberOfDecimals));\n }\n // Turn negative numbers back, but only if value is not -0\n // eslint-disable-next-line no-compare-neg-zero\n if ( isNegativeNumber && value !== -0 ) {\n value = value * -1;\n }\n const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);\n return localized.replace(/,/g, ' ').replace('.', ',') + `${unit ? ' ' + unit : ''}`;\n }\n\n private prettyPrintValue(value: number, appendDecimals: boolean, numberOfDecimals: number) {\n const intlOptions = { minimumFractionDigits: numberOfDecimals, maximumFractionDigits: numberOfDecimals };\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\n const split = intl.split('.');\n let localized = split[ 0 ];\n\n if ( appendDecimals ) {\n const decimals = split.length === 2 ? split[ 1 ] : '';\n split[ 1 ] = decimals.padEnd(numberOfDecimals, '0');\n localized = split.join('.');\n }\n return localized;\n }\n\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\n private toFixed(num: number, precision: number) {\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\n // -8.185452315956354e-12 becomes NaN\n let returnValue = ( +( Math.round(+( num + 'e' + precision )) + 'e' + -precision ) );\n if ( isNaN(returnValue) ) {\n returnValue = parseFloat(num.toFixed(precision));\n }\n return returnValue.toFixed(precision);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Pipe used to transform numbers to a currency format\n *\n * @example\n *\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\n * Results in\n * <span>5 000,582 $</span>\n */\n@Pipe({\n name: 'currencyFormat'\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(value: number, unit: string = '', maximumFractionDigits = 3): string | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n value = parseFloat(value);\n if (isNaN(value)) {\n return '';\n }\n }\n\n const intl = new Intl.NumberFormat('en-US', {maximumFractionDigits}).format(value);\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\n }\n}\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Transforms an Object to an Array.\n *\n * @example\n *\n * public obj = {a: 1, b: 2, c: 3};\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\n */\n\n@Pipe({\n name: 'keys'\n})\nexport class KeysPipe implements PipeTransform {\n\n transform(value: Record<string, unknown>): Array<string> {\n if (value) {\n return Object.keys(value);\n }\n return [];\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { format as formatDate } from 'date-fns';\n\n/**\n * Pipe used to transform dates, based on our default formats.\n *\n * @example\n *\n * public date = \"2018-08-27 14:00:30\"\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\n */\n\n@Pipe({\n name: 'formatDate'\n})\nexport class DateFormatPipe implements PipeTransform {\n\n transform(value: string | number | Date | null, format?: string): string | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n value = new Date(value);\n }\n switch (format) {\n case 'long':\n return formatDate(value, 'EEEE MMM d, yyyy');\n case 'short':\n return formatDate(value, 'yyyy-MM-dd');\n case 'datetime':\n return formatDate(value, 'MMM d, yyyy, HH:mm');\n case 'datetimezone':\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\n case 'datetime-long':\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\n case 'datetime-short':\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\n default:\n return formatDate(value, 'MMM d, yyyy');\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'getUnit'})\nexport class GetUnit implements PipeTransform {\n transform(value: string, withParens?: boolean): string {\n if (value) {\n const arr = value.split('(');\n if (arr.length > 0 ) {\n if (withParens) {\n value = '(' + arr[1];\n } else {\n arr[1].slice(0, -1);\n value = arr[1].slice(0, -1);\n }\n }\n }\n return value;\n }\n}\n@Pipe({name: 'excludeUnit'})\nexport class ExcludeUnit implements PipeTransform {\n transform(value: string): string {\n if (value) {\n const arr = value.split('(');\n if (arr.length > 0) {\n value = arr[0];\n }\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({name: 'yesNo'})\nexport class YesNoPipe implements PipeTransform {\n transform(value: boolean, ignoreNulls = false): string {\n let valueStr = '';\n if (ignoreNulls) {\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\n } else {\n valueStr = value ? 'Yes' : 'No';\n }\n return valueStr;\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberFormatPipe } from './number-format.pipe';\nimport { CurrencyFormatPipe } from './currency-format.pipe';\nimport { KeysPipe } from './keys.pipe';\nimport { DateFormatPipe } from './date-format.pipe';\nimport { ExcludeUnit, GetUnit } from './with-unit';\nimport { YesNoPipe } from './yes-no';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ],\n exports: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ]\n})\nexport class StoPipesModule {\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {FormBuilder, FormGroup} from '@angular/forms';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\nimport {StoUserPreferenceService} from './sto-user-preference.service';\n\n@Component({\n selector: 'sto-user-preference',\n templateUrl: './sto-user-preference.component.html',\n styleUrls: ['./sto-user-preference.component.css']\n})\nexport class StoUserPreferenceComponent implements OnInit, OnDestroy {\n\n public form: FormGroup;\n private destroyed$ = new Subject<boolean>();\n\n constructor(private fb: FormBuilder, private service: StoUserPreferenceService) {\n }\n\n private initForm(value: boolean ) {\n this.form = this.fb.group({\n hasSelectTextOnFocusEnabled: [value]\n });\n this.form.get('hasSelectTextOnFocusEnabled')?.valueChanges\n .pipe(\n takeUntil(this.destroyed$)\n )\n .subscribe((hasSelectTextOnFocusEnabled) => {\n this.service.setHasSelectTextOnFocusEnabled(hasSelectTextOnFocusEnabled);\n });\n }\n\n ngOnInit() {\n this.service.hasSelectTextOnFocusEnabled.asObservable()\n .pipe(\n take(1)\n )\n .subscribe((value) => {\n this.initForm(value);\n });\n\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n}\n","<mat-expansion-panel [expanded]=\"false\">\n <mat-expansion-panel-header>\n <mat-panel-title>Settings<span style=\"opacity: 0.36\"> (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","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { StoUserPreferenceService } from './sto-user-preference.service';\nimport { CommonModule } from '@angular/common';\nimport { StoUserPreferenceComponent } from './sto-user-preference.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule],\n exports: [StoUserPreferenceComponent],\n declarations: [StoUserPreferenceComponent]\n})\nexport class StoUserPreferenceModule {\n static forRoot(): ModuleWithProviders<StoUserPreferenceModule> {\n return {\n ngModule: StoUserPreferenceModule,\n providers: [StoUserPreferenceService]\n };\n }\n}\n","/*\n * Public API Surface of @ngx-stoui/core\n */\n\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\nexport * from './lib/sto-directives/directives.module';\nexport * from './lib/sto-directives';\nexport * from './lib/sto-pipes/sto-pipes.module';\nexport * from './lib/sto-user-preference/sto-user-preference.module';\nexport * from './lib/sto-user-preference/sto-user-preference.service';\nexport * from './lib/sto-user-preference/sto-user-preference.component';\n\nexport * from './lib/sto-pipes/currency-format.pipe';\nexport * from './lib/sto-pipes/date-format.pipe';\nexport * from './lib/sto-pipes/keys.pipe';\nexport * from './lib/sto-pipes/number-format.pipe';\nexport * from './lib/sto-pipes/sto-pipes.module';\nexport * from './lib/sto-pipes/with-unit';\nexport * from './lib/sto-pipes/yes-no';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["format","formatDate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.service.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.component.ts","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.component.html","../../../../libs/core/src/lib/sto-user-preference/sto-user-preference.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\nMIT License\n\nCopyright (c) 2017 Nathan Friend\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE. **/\n\nexport enum Key {\n Backspace = 8,\n Tab = 9,\n Enter = 13,\n Shift = 16,\n Ctrl = 17,\n Alt = 18,\n PauseBreak = 19,\n CapsLock = 20,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n\n LeftArrow = 37,\n UpArrow = 38,\n RightArrow = 39,\n DownArrow = 40,\n\n Insert = 45,\n Delete = 46,\n\n Zero = 48,\n ClosedParen = Zero,\n One = 49,\n ExclamationMark = One,\n Two = 50,\n AtSign = Two,\n Three = 51,\n PoundSign = Three,\n Hash = PoundSign,\n Four = 52,\n DollarSign = Four,\n Five = 53,\n PercentSign = Five,\n Six = 54,\n Caret = Six,\n Hat = Caret,\n Seven = 55,\n Ampersand = Seven,\n Eight = 56,\n Star = Eight,\n Asterik = Star,\n Nine = 57,\n OpenParen = Nine,\n\n A = 65,\n B = 66,\n C = 67,\n D = 68,\n E = 69,\n F = 70,\n G = 71,\n H = 72,\n I = 73,\n J = 74,\n K = 75,\n L = 76,\n M = 77,\n N = 78,\n O = 79,\n P = 80,\n Q = 81,\n R = 82,\n S = 83,\n T = 84,\n U = 85,\n V = 86,\n W = 87,\n X = 88,\n Y = 89,\n Z = 90,\n\n LeftWindowKey = 91,\n RightWindowKey = 92,\n SelectKey = 93,\n\n Numpad0 = 96,\n Numpad1 = 97,\n Numpad2 = 98,\n Numpad3 = 99,\n Numpad4 = 100,\n Numpad5 = 101,\n Numpad6 = 102,\n Numpad7 = 103,\n Numpad8 = 104,\n Numpad9 = 105,\n\n Multiply = 106,\n Add = 107,\n Subtract = 109,\n DecimalPoint = 110,\n Divide = 111,\n\n F1 = 112,\n F2 = 113,\n F3 = 114,\n F4 = 115,\n F5 = 116,\n F6 = 117,\n F7 = 118,\n F8 = 119,\n F9 = 120,\n F10 = 121,\n F11 = 122,\n F12 = 123,\n\n NumLock = 144,\n ScrollLock = 145,\n\n SemiColon = 186,\n Equals = 187,\n Comma = 188,\n Dash = 189,\n Period = 190,\n UnderScore = Dash,\n PlusSign = Equals,\n ForwardSlash = 191,\n Tilde = 192,\n GraveAccent = Tilde,\n\n OpenBracket = 219,\n ClosedBracket = 221,\n Quote = 222\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\n\n/**\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\n */\n\n@Directive({\n selector: '[stoQuickKeys]'\n})\nexport class QuickKeysDirective {\n @Input() quickKeys: unknown;\n /**\n * Optional formGroup input, when used in combination with a reactive form\n */\n @Input() formGroup: UntypedFormGroup;\n /**\n * Emits when ctrl + enter is clicked in combination\n * <form (quickSubmit)=\"save()\">\n */\n @Output() quickSubmit = new EventEmitter<void>();\n /**\n * Emits when escape is clicked\n * <form (quickCancel)=\"cancel()\">\n */\n @Output() quickCancel = new EventEmitter<void>();\n\n /**\n * Listens on the host element for any keyup events\n * @param e\n */\n @HostListener('keyup', ['$event'])\n onKeyUp(e: KeyboardEvent) {\n if (this.formGroup) {\n this.handleFormKeys(e);\n }\n this.handleGenericKeydown(e);\n }\n\n /**\n * Handler for generic keydowns, such as cancel events to close drawers\n * @param e\n * void\n */\n private handleGenericKeydown(e: KeyboardEvent) {\n // Shortcuts that are useful outside of forms\n if (e.keyCode === Key.Escape) {\n this.quickCancel.emit();\n }\n if (!this.formGroup && e.keyCode === Key.Enter && e.ctrlKey) {\n this.quickSubmit.emit();\n }\n }\n\n /**\n * Handler for form specific shortcuts, such as saving the form\n * @param e\n */\n private handleFormKeys(e: KeyboardEvent) {\n if (this.formGroup.pristine) {\n return;\n }\n if (e.keyCode === Key.Enter && e.ctrlKey) {\n this.quickSubmit.emit();\n }\n }\n}\n","import { ContentChildren, Directive, HostListener, Input, OnDestroy, OnInit, QueryList } from '@angular/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MatInput } from '@angular/material/input';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\n * This directive has two tasks:\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\n */\n@Directive({\n selector: '[stoDateFormFieldClick]'\n})\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\n private destroy$ = new Subject();\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\n @Input() stoDateFormFieldClick: MatDatepicker<Date>;\n @HostListener('click')\n clickEvent() {\n this.stoDateFormFieldClick.open();\n }\n ngOnInit() {\n this.stoDateFormFieldClick.closedStream\n .pipe(\n takeUntil(this.destroy$)\n ).subscribe(() => this.inputs.first.focus());\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nconst preferenceKey = 'TOPS_IM:UserPreferences';\n\n@Injectable()\nexport class StoUserPreferenceService {\n\n public hasSelectTextOnFocusEnabled = new BehaviorSubject<boolean>(true);\n public preferences: {\n hasSelectTextOnFocusEnabled: boolean;\n };\n public default = {\n hasSelectTextOnFocusEnabled: true\n };\n\n\n constructor() {\n let sessionPreferences = {};\n const sessionPreferencesString = this.getPreferences();\n try {\n sessionPreferences = JSON.parse(sessionPreferencesString);\n } catch ( e ) {\n console.error('Unable to parse the preferences from local storage. Loading default');\n }\n this.preferences = { ...this.default, ...sessionPreferences };\n this.setHasSelectTextOnFocusEnabled(this.preferences.hasSelectTextOnFocusEnabled);\n }\n\n public setHasSelectTextOnFocusEnabled(value: boolean) {\n this.hasSelectTextOnFocusEnabled.next(value);\n this.preferences.hasSelectTextOnFocusEnabled = value;\n this.setPreferences(this.preferences);\n }\n\n public getPreferences() {\n return sessionStorage.getItem(preferenceKey) || '{}';\n }\n\n public setPreferences(value: Record<string, unknown>) {\n sessionStorage.setItem(preferenceKey, JSON.stringify(value));\n }\n}\n","import { Directive, ElementRef, HostListener, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { StoUserPreferenceService } from '../sto-user-preference/sto-user-preference.service';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\n */\n@Directive({\n selector: '[stoSelectTextOnFocus]'\n})\nexport class StoSelectTextOnFocusDirective implements OnInit, OnDestroy {\n\n private destroyed$ = new Subject<boolean>();\n\n private _hasSelectTextOnFocusEnabled: boolean;\n private _el: HTMLInputElement;\n\n constructor(private elementRef: ElementRef, @Optional() private userPreferenceService: StoUserPreferenceService) {\n this._el = this.elementRef.nativeElement;\n }\n\n /**\n * Listens for focus events on the host (input) element, and focuses if applicable\n */\n @HostListener('focus')\n @HostListener('dblclick')\n onFocus() {\n if ( this._hasSelectTextOnFocusEnabled && this._el.readOnly === false ) {\n this._el.select();\n }\n\n }\n\n /**\n * Subscribes to changes in {@link StoUserPreferenceService}, and binds the variable accordingly.\n */\n ngOnInit() {\n if ( this.userPreferenceService ) {\n this.userPreferenceService.hasSelectTextOnFocusEnabled\n .pipe(\n takeUntil(this.destroyed$)\n ).subscribe((hasSelectTextOnFocusEnabled) => {\n this._hasSelectTextOnFocusEnabled = hasSelectTextOnFocusEnabled;\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n\n}\n","import { AfterViewInit, ContentChildren, Directive, ElementRef, HostBinding, Input, OnDestroy, QueryList } from '@angular/core';\n\ninterface BreakpointConfig {\n 2: number;\n 4: number;\n}\n\nconst getClass = (width: number, small = 400, large = 800) => {\n let cols = 1;\n if ( width > small ) {\n cols += 1;\n }\n if ( width > large ) {\n cols += 2;\n }\n return `sto-f-grid--${cols}`;\n};\n\nconst ALL_GRIDS = [ 'sto-f-grid--1', 'sto-f-grid--2', 'sto-f-grid--4', 'sto-f-grid--6' ];\n\n@Directive({ selector: '[stoGridSpacer]' })\nexport class StoGridSpacerDirective {\n @HostBinding('class.sto-f-grid__col')\n @HostBinding('class.sto-f-grid__col--spacer')\n useClass = true;\n}\n\n@Directive({ selector: '[stoGridColumn]' })\nexport class StoGridColumnDirective {\n @HostBinding('class.sto-f-grid__col')\n useClass = true;\n @HostBinding('class.sto-f-grid__col--2')\n @Input()\n stoGridColumnDouble: boolean;\n\n}\n\n@Directive({\n selector: '[stoGrid]',\n exportAs: 'stoGrid'\n})\nexport class StoGridDirective implements AfterViewInit, OnDestroy {\n @HostBinding('style.max-width.px')\n @Input()\n maxWidth = 1000;\n @HostBinding('style.min-width.px')\n @Input()\n minWidth = 250;\n @HostBinding('class.sto-f-grid')\n baseClass = true;\n @ContentChildren(StoGridColumnDirective, { read: ElementRef })\n columns: QueryList<ElementRef<HTMLElement>>;\n @Input()\n breakpoints: BreakpointConfig;\n\n private observer: ResizeObserver;\n\n constructor(\n private elRef: ElementRef<HTMLElement>,\n ) {\n }\n\n ngAfterViewInit() {\n const el = this.elRef.nativeElement as HTMLElement;\n this.observer = new ResizeObserver(entries => {\n for ( const entry of entries ) {\n const cr = entry.contentRect;\n const { width } = cr;\n const breakpoints = this.breakpoints || { 2: 400, 4: 800 };\n const gridType = getClass(width, breakpoints[ 2 ], breakpoints[ 4 ]);\n if ( !el.classList.contains(gridType) ) {\n el.classList.remove(...ALL_GRIDS);\n el.classList.add(gridType);\n }\n }\n });\n this.observer.observe(this.elRef.nativeElement);\n }\n\n ngOnDestroy() {\n if ( this.observer ) {\n this.observer.disconnect();\n }\n }\n\n}\n\n","import { Directive, ElementRef, Host, HostBinding } from '@angular/core';\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\n\n@Directive({\n selector: '[stoMenuOverlay]',\n exportAs: 'stoMenuOverlay'\n})\nexport class MenuOverlayDirective {\n private readonly menu: MatMenuPanel;\n @HostBinding('style.left.px')\n left = 0;\n @HostBinding('style.top.px')\n top = 0;\n\n constructor(@Host() private trigger: MatMenuTrigger, el: ElementRef<HTMLButtonElement>) {\n this.menu = trigger.menu as MatMenuPanel;\n this.trigger.menuOpened.pipe(\n switchMap(() =>\n fromEvent<MouseEvent>(document, 'click')\n .pipe(take(1))\n ),\n ).subscribe(() => {\n this.trigger.closeMenu();\n });\n this.setStyle(el.nativeElement);\n }\n\n public updatePosition(event: MouseEvent) {\n this.left = event.x;\n this.top = event.y;\n }\n\n private setStyle(element: HTMLButtonElement) {\n element.style.overflow = 'hidden';\n element.style.position = 'fixed';\n element.style.height = '1px';\n element.style.width = '1px';\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material/menu';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\n\n@Directive({\n selector: '[stoContextMenu]'\n})\nexport class ContextMenuDirective {\n @Input()\n menuTrigger: MatMenuTrigger;\n @Input()\n overlayDirective: MenuOverlayDirective;\n @Input()\n menuContext: unknown;\n\n @HostListener('contextmenu', [ '$event' ])\n contextMenu(event: MouseEvent) {\n event.preventDefault();\n if ( this.menuTrigger.menuOpen ) {\n this.menuTrigger.closeMenu();\n }\n this.overlayDirective.updatePosition(event);\n setTimeout(() => {\n this.menuTrigger.menuData = this.menuContext;\n this.menuTrigger.openMenu();\n }, 150);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { QuickKeysDirective } from './quick-keys.directive';\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\nimport { StoGridColumnDirective, StoGridDirective, StoGridSpacerDirective } from './sto-grid.directive';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { MenuOverlayDirective } from './menu-overlay.directive';\nimport { ContextMenuDirective } from './context-menu.directive';\n\n\n@NgModule({\n imports: [ CommonModule, LayoutModule ],\n declarations: [\n QuickKeysDirective\n , DateFormFieldClickDirective\n , StoSelectTextOnFocusDirective\n , StoGridDirective\n , StoGridColumnDirective\n , StoGridSpacerDirective\n , MenuOverlayDirective\n , ContextMenuDirective\n ],\n exports: [\n QuickKeysDirective\n , DateFormFieldClickDirective\n , StoSelectTextOnFocusDirective\n , StoGridDirective\n , StoGridColumnDirective\n , StoGridSpacerDirective\n , MenuOverlayDirective\n , ContextMenuDirective\n ]\n})\nexport class StoDirectivesModule {\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Formats numbers to use our standard formatting (d ddd,ddd)\n *\n * @example\n *\n * {{ 1234,32 | numberFormat }} -> 1 234,320\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\n */\n@Pipe({\n name: 'numberFormat'\n})\nexport class NumberFormatPipe implements PipeTransform {\n\n transform(value: number | string, unit: string = '', abs?: boolean, appendDecimals = true, numberOfDecimals = 3): string | null {\n if ( value !== 0 && !value ) {\n return '';\n }\n if ( typeof value === 'string' ) {\n const newValue = parseFloat(value);\n if ( isNaN(newValue) ) {\n return null;\n }\n value = newValue;\n }\n if ( abs ) {\n value = Math.abs(value);\n }\n // We absolute the value to ensure that the rounding rules is always away from zero.\n // 1.5 => 2 and -1.5 => -2\n const isNegativeNumber = value < 0;\n value = Math.abs(value);\n\n if ( !appendDecimals ) {\n value = Math.round(value);\n }\n if ( !isNaN(value) && appendDecimals ) {\n value = parseFloat(this.toFixed(value, numberOfDecimals));\n }\n // Turn negative numbers back, but only if value is not -0\n // eslint-disable-next-line no-compare-neg-zero\n if ( isNegativeNumber && value !== -0 ) {\n value = value * -1;\n }\n const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);\n return localized.replace(/,/g, ' ').replace('.', ',') + `${unit ? ' ' + unit : ''}`;\n }\n\n private prettyPrintValue(value: number, appendDecimals: boolean, numberOfDecimals: number) {\n const intlOptions = { minimumFractionDigits: numberOfDecimals, maximumFractionDigits: numberOfDecimals };\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\n const split = intl.split('.');\n let localized = split[ 0 ];\n\n if ( appendDecimals ) {\n const decimals = split.length === 2 ? split[ 1 ] : '';\n split[ 1 ] = decimals.padEnd(numberOfDecimals, '0');\n localized = split.join('.');\n }\n return localized;\n }\n\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\n private toFixed(num: number, precision: number) {\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\n // -8.185452315956354e-12 becomes NaN\n let returnValue = ( +( Math.round(+( num + 'e' + precision )) + 'e' + -precision ) );\n if ( isNaN(returnValue) ) {\n returnValue = parseFloat(num.toFixed(precision));\n }\n return returnValue.toFixed(precision);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Pipe used to transform numbers to a currency format\n *\n * @example\n *\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\n * Results in\n * <span>5 000,582 $</span>\n */\n@Pipe({\n name: 'currencyFormat'\n})\nexport class CurrencyFormatPipe implements PipeTransform {\n transform(value: number, unit: string = '', maximumFractionDigits = 3): string | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n value = parseFloat(value);\n if (isNaN(value)) {\n return '';\n }\n }\n\n const intl = new Intl.NumberFormat('en-US', {maximumFractionDigits}).format(value);\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\n }\n}\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Transforms an Object to an Array.\n *\n * @example\n *\n * public obj = {a: 1, b: 2, c: 3};\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\n */\n\n@Pipe({\n name: 'keys'\n})\nexport class KeysPipe implements PipeTransform {\n\n transform(value: Record<string, unknown>): Array<string> {\n if (value) {\n return Object.keys(value);\n }\n return [];\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { format as formatDate, isValid, parseISO } from 'date-fns';\n\n/**\n * Pipe used to transform dates, based on our default formats.\n *\n * @example\n *\n * public date = \"2018-08-27 14:00:30\"\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\n */\n\n@Pipe({\n name: 'formatDate'\n})\nexport class DateFormatPipe implements PipeTransform {\n\n transform(value: string | number | Date | null, format?: string): string | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n const originalValue = value;\n value = parseISO(value);\n if ( !isValid(value) ) {\n // If invalid ISO date (e.g single-digit day), fall back to new Date()\n console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);\n value = new Date(originalValue);\n }\n }\n switch (format) {\n case 'long':\n return formatDate(value, 'EEEE MMM d, yyyy');\n case 'short':\n return formatDate(value, 'yyyy-MM-dd');\n case 'datetime':\n return formatDate(value, 'MMM d, yyyy, HH:mm');\n case 'datetimezone':\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\n case 'datetime-long':\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\n case 'datetime-short':\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\n default:\n return formatDate(value, 'MMM d, yyyy');\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'getUnit'})\nexport class GetUnit implements PipeTransform {\n transform(value: string, withParens?: boolean): string {\n if (value) {\n const arr = value.split('(');\n if (arr.length > 0 ) {\n if (withParens) {\n value = '(' + arr[1];\n } else {\n arr[1].slice(0, -1);\n value = arr[1].slice(0, -1);\n }\n }\n }\n return value;\n }\n}\n@Pipe({name: 'excludeUnit'})\nexport class ExcludeUnit implements PipeTransform {\n transform(value: string): string {\n if (value) {\n const arr = value.split('(');\n if (arr.length > 0) {\n value = arr[0];\n }\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({name: 'yesNo'})\nexport class YesNoPipe implements PipeTransform {\n transform(value: boolean, ignoreNulls = false): string {\n let valueStr = '';\n if (ignoreNulls) {\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\n } else {\n valueStr = value ? 'Yes' : 'No';\n }\n return valueStr;\n\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NumberFormatPipe } from './number-format.pipe';\nimport { CurrencyFormatPipe } from './currency-format.pipe';\nimport { KeysPipe } from './keys.pipe';\nimport { DateFormatPipe } from './date-format.pipe';\nimport { ExcludeUnit, GetUnit } from './with-unit';\nimport { YesNoPipe } from './yes-no';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ],\n exports: [\n DateFormatPipe,\n KeysPipe,\n NumberFormatPipe,\n CurrencyFormatPipe,\n GetUnit,\n ExcludeUnit,\n YesNoPipe\n ]\n})\nexport class StoPipesModule {\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { StoUserPreferenceService } from './sto-user-preference.service';\n\n@Component({\n selector: 'sto-user-preference',\n templateUrl: './sto-user-preference.component.html',\n styleUrls: [ './sto-user-preference.component.css' ]\n})\nexport class StoUserPreferenceComponent implements OnInit, OnDestroy {\n\n public form: UntypedFormGroup;\n private destroyed$ = new Subject<boolean>();\n\n constructor(private fb: UntypedFormBuilder, private service: StoUserPreferenceService) {\n }\n\n private initForm(value: boolean ) {\n this.form = this.fb.group({\n hasSelectTextOnFocusEnabled: [value]\n });\n this.form.get('hasSelectTextOnFocusEnabled')?.valueChanges\n .pipe(\n takeUntil(this.destroyed$)\n )\n .subscribe((hasSelectTextOnFocusEnabled) => {\n this.service.setHasSelectTextOnFocusEnabled(hasSelectTextOnFocusEnabled);\n });\n }\n\n ngOnInit() {\n this.service.hasSelectTextOnFocusEnabled.asObservable()\n .pipe(\n take(1)\n )\n .subscribe((value) => {\n this.initForm(value);\n });\n\n }\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n this.destroyed$.complete();\n }\n}\n","<mat-expansion-panel [expanded]=\"false\">\n <mat-expansion-panel-header>\n <mat-panel-title>Settings<span style=\"opacity: 0.36\"> (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","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { StoUserPreferenceService } from './sto-user-preference.service';\nimport { CommonModule } from '@angular/common';\nimport { StoUserPreferenceComponent } from './sto-user-preference.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [CommonModule, MatExpansionModule, ReactiveFormsModule, FormsModule],\n exports: [StoUserPreferenceComponent],\n declarations: [StoUserPreferenceComponent]\n})\nexport class StoUserPreferenceModule {\n static forRoot(): ModuleWithProviders<StoUserPreferenceModule> {\n return {\n ngModule: StoUserPreferenceModule,\n providers: [StoUserPreferenceService]\n };\n }\n}\n","/*\n * Public API Surface of @ngx-stoui/core\n */\n\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\nexport * from './lib/sto-directives/directives.module';\nexport * from './lib/sto-directives';\nexport * from './lib/sto-pipes/sto-pipes.module';\nexport * from './lib/sto-user-preference/sto-user-preference.module';\nexport * from './lib/sto-user-preference/sto-user-preference.service';\nexport * from './lib/sto-user-preference/sto-user-preference.component';\n\nexport * from './lib/sto-pipes/currency-format.pipe';\nexport * from './lib/sto-pipes/date-format.pipe';\nexport * from './lib/sto-pipes/keys.pipe';\nexport * from './lib/sto-pipes/number-format.pipe';\nexport * from './lib/sto-pipes/sto-pipes.module';\nexport * from './lib/sto-pipes/with-unit';\nexport * from './lib/sto-pipes/yes-no';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.StoUserPreferenceService","format","formatDate","i1","i2.StoUserPreferenceService"],"mappings":"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"}
|