@firestitch/common 18.0.10 → 18.0.12

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 (30) hide show
  1. package/app/directives/auto-focus.directive.d.ts +3 -5
  2. package/app/directives/auto-select.directive.d.ts +2 -3
  3. package/app/directives/model-change.directive.d.ts +2 -4
  4. package/app/directives/prevent-default.directive.d.ts +1 -1
  5. package/app/directives/stop-propagation.directive.d.ts +1 -1
  6. package/app/fs-common.module.d.ts +13 -13
  7. package/app/pipes/bytes.pipe.d.ts +1 -1
  8. package/app/pipes/currency.pipe.d.ts +1 -2
  9. package/app/pipes/number.pipe.d.ts +1 -1
  10. package/app/pipes/ordinal-number.pipe.d.ts +1 -1
  11. package/app/pipes/truncate.pipe.d.ts +1 -1
  12. package/app/pipes/util.pipe.d.ts +4 -4
  13. package/app/services/vaildate.service.d.ts +0 -2
  14. package/esm2022/app/directives/auto-focus.directive.mjs +8 -16
  15. package/esm2022/app/directives/auto-select.directive.mjs +7 -9
  16. package/esm2022/app/directives/model-change.directive.mjs +9 -11
  17. package/esm2022/app/directives/prevent-default.directive.mjs +3 -2
  18. package/esm2022/app/directives/stop-propagation.directive.mjs +3 -2
  19. package/esm2022/app/fs-common.module.mjs +4 -5
  20. package/esm2022/app/pipes/bytes.pipe.mjs +3 -2
  21. package/esm2022/app/pipes/currency.pipe.mjs +7 -12
  22. package/esm2022/app/pipes/number.pipe.mjs +4 -3
  23. package/esm2022/app/pipes/ordinal-number.pipe.mjs +3 -2
  24. package/esm2022/app/pipes/truncate.pipe.mjs +4 -3
  25. package/esm2022/app/pipes/util.pipe.mjs +9 -5
  26. package/esm2022/app/services/vaildate.service.mjs +5 -9
  27. package/esm2022/libs/format/currency/currency.mjs +4 -1
  28. package/fesm2022/firestitch-common.mjs +57 -63
  29. package/fesm2022/firestitch-common.mjs.map +1 -1
  30. package/package.json +1 -1
@@ -9,12 +9,13 @@ export class FsUtilStringifyPipe {
9
9
  return stringify(value);
10
10
  }
11
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, name: "fsUtilStringify" });
12
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, isStandalone: true, name: "fsUtilStringify" });
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'fsUtilStringify',
18
+ standalone: true,
18
19
  }]
19
20
  }], ctorParameters: () => [] });
20
21
  export class FsUtilGuidPipe {
@@ -23,12 +24,13 @@ export class FsUtilGuidPipe {
23
24
  return guid();
24
25
  }
25
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
26
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, name: "fsUtilGuid" });
27
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, isStandalone: true, name: "fsUtilGuid" });
27
28
  }
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, decorators: [{
29
30
  type: Pipe,
30
31
  args: [{
31
32
  name: 'fsUtilGuid',
33
+ standalone: true,
32
34
  }]
33
35
  }], ctorParameters: () => [] });
34
36
  export class FsUtilIsEmptyPipe {
@@ -36,12 +38,13 @@ export class FsUtilIsEmptyPipe {
36
38
  return isEmpty(value);
37
39
  }
38
40
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
39
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, name: "fsUtilIsEmpty" });
41
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, isStandalone: true, name: "fsUtilIsEmpty" });
40
42
  }
41
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, decorators: [{
42
44
  type: Pipe,
43
45
  args: [{
44
46
  name: 'fsUtilIsEmpty',
47
+ standalone: true,
45
48
  }]
46
49
  }] });
47
50
  export class FsUtilIsNotEmptyPipe {
@@ -49,12 +52,13 @@ export class FsUtilIsNotEmptyPipe {
49
52
  return !isEmpty(value);
50
53
  }
51
54
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
52
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, name: "fsUtilIsNotEmpty" });
55
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, isStandalone: true, name: "fsUtilIsNotEmpty" });
53
56
  }
54
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, decorators: [{
55
58
  type: Pipe,
56
59
  args: [{
57
60
  name: 'fsUtilIsNotEmpty',
61
+ standalone: true,
58
62
  }]
59
63
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9waXBlcy91dGlsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTWhFLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsZ0JBQWUsQ0FBQztJQUVoQixTQUFTLENBQUMsS0FBVTtRQUNsQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO3VHQU5VLG1CQUFtQjtxR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUgvQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7aUJBQ3hCOztBQWNELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFaEIsU0FBUztRQUNQLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzt1R0FMVSxjQUFjO3FHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFlBQVk7aUJBQ25COztBQVlELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLEtBQUs7UUFDYixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO3VHQUpVLGlCQUFpQjtxR0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxlQUFlO2lCQUN0Qjs7QUFZRCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFNBQVMsQ0FBQyxLQUFLO1FBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO3VHQUpVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBndWlkIH0gZnJvbSAnLi4vLi4vbGlicy91dGlsL2d1aWQvZ3VpZCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vbGlicy91dGlsL2lzLWVtcHR5L2lzLWVtcHR5JztcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbC9zdHJpbmdpZnkvc3RyaW5naWZ5JztcblxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmc1V0aWxTdHJpbmdpZnknLFxufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxTdHJpbmdpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5KHZhbHVlKTtcbiAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzVXRpbEd1aWQnLFxufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxHdWlkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGd1aWQoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmc1V0aWxJc0VtcHR5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNVdGlsSXNFbXB0eVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0odmFsdWUpOiBhbnkge1xuICAgIHJldHVybiBpc0VtcHR5KHZhbHVlKTtcbiAgfVxufVxuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzVXRpbElzTm90RW1wdHknLFxufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxJc05vdEVtcHR5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZSk6IGFueSB7XG4gICAgcmV0dXJuICFpc0VtcHR5KHZhbHVlKTtcbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9waXBlcy91dGlsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsZ0JBQWUsQ0FBQztJQUVoQixTQUFTLENBQUMsS0FBVTtRQUNsQixPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO3VHQU5VLG1CQUFtQjtxR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7QUFlRCxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZSxDQUFDO0lBRWhCLFNBQVM7UUFDUCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7dUdBTFUsY0FBYztxR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7O0FBYUQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixTQUFTLENBQUMsS0FBSztRQUNiLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7dUdBSlUsaUJBQWlCO3FHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7QUFhRCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFNBQVMsQ0FBQyxLQUFLO1FBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO3VHQUpVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZ3VpZCB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbC9ndWlkL2d1aWQnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbC9pcy1lbXB0eS9pcy1lbXB0eSc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICcuLi8uLi9saWJzL3V0aWwvc3RyaW5naWZ5L3N0cmluZ2lmeSc7XG5cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdmc1V0aWxTdHJpbmdpZnknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZzVXRpbFN0cmluZ2lmeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJpbmdpZnkodmFsdWUpO1xuICB9XG59XG5cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdmc1V0aWxHdWlkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGc1V0aWxHdWlkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGd1aWQoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZzVXRpbElzRW1wdHknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZzVXRpbElzRW1wdHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlKTogYW55IHtcbiAgICByZXR1cm4gaXNFbXB0eSh2YWx1ZSk7XG4gIH1cbn1cblxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2ZzVXRpbElzTm90RW1wdHknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZzVXRpbElzTm90RW1wdHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlKTogYW55IHtcbiAgICByZXR1cm4gIWlzRW1wdHkodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -1,12 +1,8 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, inject } from '@angular/core';
2
2
  import { FsUtil } from './util.service';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "./util.service";
5
4
  export class FsValidate {
6
- fsUtil;
7
- constructor(fsUtil) {
8
- this.fsUtil = fsUtil;
9
- }
5
+ fsUtil = inject(FsUtil);
10
6
  /**
11
7
  * @deprecated use import { email } from @firestitch/common/validate; instead
12
8
  */
@@ -20,10 +16,10 @@ export class FsValidate {
20
16
  email(value) {
21
17
  return !!this.fsUtil.string(value).match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
22
18
  }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, deps: [{ token: i1.FsUtil }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
20
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate });
25
21
  }
26
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, decorators: [{
27
23
  type: Injectable
28
- }], ctorParameters: () => [{ type: i1.FsUtil }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFpbGRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvdmFpbGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3hDLE1BQU0sT0FBTyxVQUFVO0lBRUM7SUFBcEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRXZDOztNQUVFO0lBQ0YsS0FBSyxDQUFDLEtBQUs7UUFDUCxNQUFNLEtBQUssR0FBRywyREFBMkQsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEYsT0FBTyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7TUFFRTtJQUNGLEtBQUssQ0FBQyxLQUFLO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLHdKQUF3SixDQUFDLENBQUM7SUFDdk0sQ0FBQzt1R0FqQlEsVUFBVTsyR0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNVdGlsIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNWYWxpZGF0ZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZzVXRpbDogRnNVdGlsKSB7IH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBlbWFpbCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL3ZhbGlkYXRlOyBpbnN0ZWFkXG4gICAgKi9cbiAgICBwaG9uZSh2YWx1ZSkge1xuICAgICAgICBjb25zdCB2YWxpZCA9IC9eW1xcK10/WyhdP1swLTldezN9WyldP1stXFxzXFwuXT9bMC05XXszfVstXFxzXFwuXT9bMC05XXs0LDZ9JC8udGVzdCh2YWx1ZSk7XG4gICAgICAgIHJldHVybiB2YWxpZCB8fCAhU3RyaW5nKHZhbHVlKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICAqIEBkZXByZWNhdGVkIHVzZSBpbXBvcnQgeyBlbWFpbCB9IGZyb20gQGZpcmVzdGl0Y2gvY29tbW9uL3ZhbGlkYXRlOyBpbnN0ZWFkXG4gICAgKi9cbiAgICBlbWFpbCh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZzVXRpbC5zdHJpbmcodmFsdWUpLm1hdGNoKC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfV0pfCgoW2EtekEtWlxcLTAtOV0rXFwuKStbYS16QS1aXXsyLH0pKSQvKTtcbiAgICB9XG59XG4iXX0=
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFpbGRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvdmFpbGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3hDLE1BQU0sT0FBTyxVQUFVO0lBQ1gsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUdoQzs7TUFFRTtJQUNGLEtBQUssQ0FBQyxLQUFLO1FBQ1AsTUFBTSxLQUFLLEdBQUcsMkRBQTJELENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O01BRUU7SUFDRixLQUFLLENBQUMsS0FBSztRQUNQLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyx3SkFBd0osQ0FBQyxDQUFDO0lBQ3ZNLENBQUM7dUdBakJRLFVBQVU7MkdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNVdGlsIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNWYWxpZGF0ZSB7XG4gICAgcHJpdmF0ZSBmc1V0aWwgPSBpbmplY3QoRnNVdGlsKTtcblxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGVtYWlsIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vdmFsaWRhdGU7IGluc3RlYWRcbiAgICAqL1xuICAgIHBob25lKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gL15bXFwrXT9bKF0/WzAtOV17M31bKV0/Wy1cXHNcXC5dP1swLTldezN9Wy1cXHNcXC5dP1swLTldezQsNn0kLy50ZXN0KHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHZhbGlkIHx8ICFTdHJpbmcodmFsdWUpLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgICogQGRlcHJlY2F0ZWQgdXNlIGltcG9ydCB7IGVtYWlsIH0gZnJvbSBAZmlyZXN0aXRjaC9jb21tb24vdmFsaWRhdGU7IGluc3RlYWRcbiAgICAqL1xuICAgIGVtYWlsKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZnNVdGlsLnN0cmluZyh2YWx1ZSkubWF0Y2goL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC8pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,13 @@
1
1
  import { CurrencyPipe } from '@angular/common';
2
2
  import { round } from '../../util/round';
3
3
  export function currency(amount, precision = [2, 10], currencyCode = 'USD', locale = 'en-US') {
4
+ if (amount === null || amount === undefined) {
5
+ return '';
6
+ }
4
7
  const digitsInfo = Array.isArray(precision) ? precision : [precision, precision];
5
8
  amount = round(amount, digitsInfo[1]);
6
9
  const formatted = new CurrencyPipe(locale)
7
10
  .transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);
8
11
  return formatted.replace(/^[A-Z]{1,3}\$/, '$');
9
12
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9mb3JtYXQvY3VycmVuY3kvY3VycmVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd6QyxNQUFNLFVBQVUsUUFBUSxDQUN0QixNQUFNLEVBQ04sWUFBdUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQzdDLGVBQXVCLEtBQUssRUFDNUIsU0FBaUIsT0FBTztJQUV4QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sU0FBUyxHQUFHLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQztTQUN2QyxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVwRixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyByb3VuZCB9IGZyb20gJy4uLy4uL3V0aWwvcm91bmQnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBjdXJyZW5jeShcbiAgYW1vdW50LFxuICBwcmVjaXNpb246IFtudW1iZXIsIG51bWJlcl0gfCBudW1iZXIgPSBbMiwxMF0sXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nID0gJ1VTRCcsXG4gIGxvY2FsZTogc3RyaW5nID0gJ2VuLVVTJyxcbikge1xuICBjb25zdCBkaWdpdHNJbmZvID0gQXJyYXkuaXNBcnJheShwcmVjaXNpb24pID8gcHJlY2lzaW9uIDogW3ByZWNpc2lvbiwgcHJlY2lzaW9uXTtcbiAgYW1vdW50ID0gcm91bmQoYW1vdW50LCBkaWdpdHNJbmZvWzFdKTtcblxuICBjb25zdCBmb3JtYXR0ZWQgPSBuZXcgQ3VycmVuY3lQaXBlKGxvY2FsZSlcbiAgICAudHJhbnNmb3JtKGFtb3VudCwgY3VycmVuY3lDb2RlLCAnc3ltYm9sJywgYDEuJHtkaWdpdHNJbmZvWzBdfS0ke2RpZ2l0c0luZm9bMV19YCk7XG5cbiAgcmV0dXJuIGZvcm1hdHRlZC5yZXBsYWNlKC9eW0EtWl17MSwzfVxcJC8sICckJyk7XG59XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9mb3JtYXQvY3VycmVuY3kvY3VycmVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd6QyxNQUFNLFVBQVUsUUFBUSxDQUN0QixNQUFNLEVBQ04sWUFBdUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQzdDLGVBQXVCLEtBQUssRUFDNUIsU0FBaUIsT0FBTztJQUV4QixJQUFHLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakYsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDO1NBQ3ZDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXBGLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IHJvdW5kIH0gZnJvbSAnLi4vLi4vdXRpbC9yb3VuZCc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGN1cnJlbmN5KFxuICBhbW91bnQsXG4gIHByZWNpc2lvbjogW251bWJlciwgbnVtYmVyXSB8IG51bWJlciA9IFsyLDEwXSxcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmcgPSAnVVNEJyxcbiAgbG9jYWxlOiBzdHJpbmcgPSAnZW4tVVMnLFxuKSB7XG4gIGlmKGFtb3VudCA9PT0gbnVsbCB8fCBhbW91bnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IGRpZ2l0c0luZm8gPSBBcnJheS5pc0FycmF5KHByZWNpc2lvbikgPyBwcmVjaXNpb24gOiBbcHJlY2lzaW9uLCBwcmVjaXNpb25dO1xuICBhbW91bnQgPSByb3VuZChhbW91bnQsIGRpZ2l0c0luZm9bMV0pO1xuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IG5ldyBDdXJyZW5jeVBpcGUobG9jYWxlKVxuICAgIC50cmFuc2Zvcm0oYW1vdW50LCBjdXJyZW5jeUNvZGUsICdzeW1ib2wnLCBgMS4ke2RpZ2l0c0luZm9bMF19LSR7ZGlnaXRzSW5mb1sxXX1gKTtcblxuICByZXR1cm4gZm9ybWF0dGVkLnJlcGxhY2UoL15bQS1aXXsxLDN9XFwkLywgJyQnKTtcbn1cbiJdfQ==
@@ -1,21 +1,17 @@
1
1
  import { CurrencyPipe, CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Directive, Optional, Host, Input, EventEmitter, Output, HostListener, Pipe, LOCALE_ID, Inject, Injectable, NgModule } from '@angular/core';
4
- import * as i1 from '@angular/material/input';
5
- import * as i1$1 from '@angular/forms';
3
+ import { inject, ElementRef, Directive, Input, EventEmitter, Output, HostListener, Pipe, LOCALE_ID, Injectable, NgModule } from '@angular/core';
4
+ import { MatInput } from '@angular/material/input';
5
+ import { NgModel } from '@angular/forms';
6
6
  import { Subject, Observable, of, combineLatest, shareReplay, iif, throwError, timer, fromEvent, merge } from 'rxjs';
7
7
  import { debounceTime, takeUntil, take, map, delay, finalize, retryWhen, tap, concatMap, distinctUntilChanged, share, filter as filter$1 } from 'rxjs/operators';
8
8
 
9
9
  class FsAutoFocusDirective {
10
- _matInput;
11
- _el;
10
+ _matInput = inject(MatInput, { optional: true, host: true });
11
+ _el = inject(ElementRef);
12
12
  fsAutofocus = true;
13
13
  fsAutoFocus = true;
14
14
  autofocus = true;
15
- constructor(_matInput, _el) {
16
- this._matInput = _matInput;
17
- this._el = _el;
18
- }
19
15
  ngAfterViewInit() {
20
16
  if ((this.fsAutofocus ?? true) === true &&
21
17
  (this.fsAutofocus ?? true) === true &&
@@ -43,19 +39,16 @@ class FsAutoFocusDirective {
43
39
  document.body.removeChild(tmpEl);
44
40
  }, 50);
45
41
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoFocusDirective, deps: [{ token: i1.MatInput, host: true, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
47
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsAutoFocusDirective, selector: "[fsAutofocus],[fsAutoFocus],[autofocus]", inputs: { fsAutofocus: "fsAutofocus", fsAutoFocus: "fsAutoFocus", autofocus: "autofocus" }, ngImport: i0 });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsAutoFocusDirective, isStandalone: true, selector: "[fsAutofocus],[fsAutoFocus],[autofocus]", inputs: { fsAutofocus: "fsAutofocus", fsAutoFocus: "fsAutoFocus", autofocus: "autofocus" }, ngImport: i0 });
48
44
  }
49
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoFocusDirective, decorators: [{
50
46
  type: Directive,
51
47
  args: [{
52
48
  selector: '[fsAutofocus],[fsAutoFocus],[autofocus]',
49
+ standalone: true,
53
50
  }]
54
- }], ctorParameters: () => [{ type: i1.MatInput, decorators: [{
55
- type: Optional
56
- }, {
57
- type: Host
58
- }] }, { type: i0.ElementRef }], propDecorators: { fsAutofocus: [{
51
+ }], propDecorators: { fsAutofocus: [{
59
52
  type: Input
60
53
  }], fsAutoFocus: [{
61
54
  type: Input
@@ -64,11 +57,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
64
57
  }] } });
65
58
 
66
59
  class FsAutoSelectDirective {
67
- _el;
60
+ _el = inject(ElementRef);
68
61
  fsAutoSelect = true;
69
- constructor(_el) {
70
- this._el = _el;
71
- }
72
62
  ngAfterViewInit() {
73
63
  if ((this.fsAutoSelect ?? true) === true) {
74
64
  this.select();
@@ -81,29 +71,28 @@ class FsAutoSelectDirective {
81
71
  }
82
72
  }, 50);
83
73
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
85
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsAutoSelectDirective, selector: "[fsAutoSelect]", inputs: { fsAutoSelect: "fsAutoSelect" }, ngImport: i0 });
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
75
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsAutoSelectDirective, isStandalone: true, selector: "[fsAutoSelect]", inputs: { fsAutoSelect: "fsAutoSelect" }, ngImport: i0 });
86
76
  }
87
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsAutoSelectDirective, decorators: [{
88
78
  type: Directive,
89
79
  args: [{
90
80
  selector: '[fsAutoSelect]',
81
+ standalone: true,
91
82
  }]
92
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fsAutoSelect: [{
83
+ }], propDecorators: { fsAutoSelect: [{
93
84
  type: Input
94
85
  }] } });
95
86
 
96
87
  class FsModelChangeDirective {
97
- _ngModel;
98
88
  fsModelChangeOptions;
99
89
  fsModelChange = new EventEmitter();
90
+ _ngModel = inject(NgModel);
100
91
  _destroy$ = new Subject();
101
- constructor(_ngModel) {
102
- this._ngModel = _ngModel;
103
- }
104
92
  ngOnInit() {
105
93
  this._ngModel.update
106
- .pipe(debounceTime(this.fsModelChangeOptions?.debounce || 500), takeUntil(this._destroy$))
94
+ .asObservable()
95
+ .pipe(debounceTime(this.fsModelChangeOptions?.debounce || 300), takeUntil(this._destroy$))
107
96
  .subscribe((value) => {
108
97
  this.fsModelChange.emit(value);
109
98
  });
@@ -112,15 +101,16 @@ class FsModelChangeDirective {
112
101
  this._destroy$.next(null);
113
102
  this._destroy$.complete();
114
103
  }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsModelChangeDirective, deps: [{ token: i1$1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
116
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsModelChangeDirective, selector: "[fsModelChange]", inputs: { fsModelChangeOptions: "fsModelChangeOptions" }, outputs: { fsModelChange: "fsModelChange" }, ngImport: i0 });
104
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsModelChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
105
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsModelChangeDirective, isStandalone: true, selector: "[fsModelChange]", inputs: { fsModelChangeOptions: "fsModelChangeOptions" }, outputs: { fsModelChange: "fsModelChange" }, ngImport: i0 });
117
106
  }
118
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsModelChangeDirective, decorators: [{
119
108
  type: Directive,
120
109
  args: [{
121
110
  selector: '[fsModelChange]',
111
+ standalone: true,
122
112
  }]
123
- }], ctorParameters: () => [{ type: i1$1.NgModel }], propDecorators: { fsModelChangeOptions: [{
113
+ }], propDecorators: { fsModelChangeOptions: [{
124
114
  type: Input
125
115
  }], fsModelChange: [{
126
116
  type: Output
@@ -131,12 +121,13 @@ class FsPreventDefaultDirective {
131
121
  event.preventDefault();
132
122
  }
133
123
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsPreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
134
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsPreventDefaultDirective, selector: "[fsPreventDefault]", host: { listeners: { "click": "preventClick($event)" } }, ngImport: i0 });
124
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsPreventDefaultDirective, isStandalone: true, selector: "[fsPreventDefault]", host: { listeners: { "click": "preventClick($event)" } }, ngImport: i0 });
135
125
  }
136
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsPreventDefaultDirective, decorators: [{
137
127
  type: Directive,
138
128
  args: [{
139
129
  selector: '[fsPreventDefault]',
130
+ standalone: true,
140
131
  }]
141
132
  }], propDecorators: { preventClick: [{
142
133
  type: HostListener,
@@ -148,12 +139,13 @@ class FsStopPropagationDirective {
148
139
  event.stopPropagation();
149
140
  }
150
141
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStopPropagationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
151
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsStopPropagationDirective, selector: "[fsStopPropagation]", host: { listeners: { "click": "preventClick($event)" } }, ngImport: i0 });
142
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsStopPropagationDirective, isStandalone: true, selector: "[fsStopPropagation]", host: { listeners: { "click": "preventClick($event)" } }, ngImport: i0 });
152
143
  }
153
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsStopPropagationDirective, decorators: [{
154
145
  type: Directive,
155
146
  args: [{
156
147
  selector: '[fsStopPropagation]',
148
+ standalone: true,
157
149
  }]
158
150
  }], propDecorators: { preventClick: [{
159
151
  type: HostListener,
@@ -201,12 +193,13 @@ class FsUtilStringifyPipe {
201
193
  return stringify(value);
202
194
  }
203
195
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
204
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, name: "fsUtilStringify" });
196
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, isStandalone: true, name: "fsUtilStringify" });
205
197
  }
206
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilStringifyPipe, decorators: [{
207
199
  type: Pipe,
208
200
  args: [{
209
201
  name: 'fsUtilStringify',
202
+ standalone: true,
210
203
  }]
211
204
  }], ctorParameters: () => [] });
212
205
  class FsUtilGuidPipe {
@@ -215,12 +208,13 @@ class FsUtilGuidPipe {
215
208
  return guid();
216
209
  }
217
210
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
218
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, name: "fsUtilGuid" });
211
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, isStandalone: true, name: "fsUtilGuid" });
219
212
  }
220
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilGuidPipe, decorators: [{
221
214
  type: Pipe,
222
215
  args: [{
223
216
  name: 'fsUtilGuid',
217
+ standalone: true,
224
218
  }]
225
219
  }], ctorParameters: () => [] });
226
220
  class FsUtilIsEmptyPipe {
@@ -228,12 +222,13 @@ class FsUtilIsEmptyPipe {
228
222
  return isEmpty(value);
229
223
  }
230
224
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
231
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, name: "fsUtilIsEmpty" });
225
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, isStandalone: true, name: "fsUtilIsEmpty" });
232
226
  }
233
227
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsEmptyPipe, decorators: [{
234
228
  type: Pipe,
235
229
  args: [{
236
230
  name: 'fsUtilIsEmpty',
231
+ standalone: true,
237
232
  }]
238
233
  }] });
239
234
  class FsUtilIsNotEmptyPipe {
@@ -241,12 +236,13 @@ class FsUtilIsNotEmptyPipe {
241
236
  return !isEmpty(value);
242
237
  }
243
238
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
244
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, name: "fsUtilIsNotEmpty" });
239
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, isStandalone: true, name: "fsUtilIsNotEmpty" });
245
240
  }
246
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsUtilIsNotEmptyPipe, decorators: [{
247
242
  type: Pipe,
248
243
  args: [{
249
244
  name: 'fsUtilIsNotEmpty',
245
+ standalone: true,
250
246
  }]
251
247
  }] });
252
248
 
@@ -981,6 +977,9 @@ function acronym(str, length = 2) {
981
977
  }
982
978
 
983
979
  function currency(amount, precision = [2, 10], currencyCode = 'USD', locale = 'en-US') {
980
+ if (amount === null || amount === undefined) {
981
+ return '';
982
+ }
984
983
  const digitsInfo = Array.isArray(precision) ? precision : [precision, precision];
985
984
  amount = round(amount, digitsInfo[1]);
986
985
  const formatted = new CurrencyPipe(locale)
@@ -1061,47 +1060,44 @@ class FsFormatBytesPipe {
1061
1060
  return bytes(value, decimals, unit);
1062
1061
  }
1063
1062
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatBytesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1064
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatBytesPipe, name: "fsFormatBytes" });
1063
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatBytesPipe, isStandalone: true, name: "fsFormatBytes" });
1065
1064
  }
1066
1065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatBytesPipe, decorators: [{
1067
1066
  type: Pipe,
1068
1067
  args: [{
1069
1068
  name: 'fsFormatBytes',
1069
+ standalone: true,
1070
1070
  }]
1071
1071
  }] });
1072
1072
 
1073
1073
  class FsFormatCurrencyPipe {
1074
- locale;
1075
- constructor(locale) {
1076
- this.locale = locale;
1077
- }
1074
+ locale = inject(LOCALE_ID);
1078
1075
  transform(amount, precision = 2, currencyCode) {
1079
1076
  return currency(amount, precision, currencyCode);
1080
1077
  }
1081
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatCurrencyPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
1082
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatCurrencyPipe, name: "fsFormatCurrency" });
1078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1079
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatCurrencyPipe, isStandalone: true, name: "fsFormatCurrency" });
1083
1080
  }
1084
1081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatCurrencyPipe, decorators: [{
1085
1082
  type: Pipe,
1086
1083
  args: [{
1087
1084
  name: 'fsFormatCurrency',
1085
+ standalone: true,
1088
1086
  }]
1089
- }], ctorParameters: () => [{ type: undefined, decorators: [{
1090
- type: Inject,
1091
- args: [LOCALE_ID]
1092
- }] }] });
1087
+ }] });
1093
1088
 
1094
1089
  class FsFormatNumberPipe {
1095
1090
  transform(value, decimals) {
1096
1091
  return number(value, decimals);
1097
1092
  }
1098
1093
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1099
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatNumberPipe, name: "fsFormatNumber" });
1094
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatNumberPipe, isStandalone: true, name: "fsFormatNumber" });
1100
1095
  }
1101
1096
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatNumberPipe, decorators: [{
1102
1097
  type: Pipe,
1103
1098
  args: [{
1104
- name: 'fsFormatNumber'
1099
+ name: 'fsFormatNumber',
1100
+ standalone: true
1105
1101
  }]
1106
1102
  }] });
1107
1103
 
@@ -1110,12 +1106,13 @@ class FsFormatOrdinalNumberPipe {
1110
1106
  return ordinalNumber(value);
1111
1107
  }
1112
1108
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatOrdinalNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1113
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatOrdinalNumberPipe, name: "fsFormatOrdinalNumber" });
1109
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatOrdinalNumberPipe, isStandalone: true, name: "fsFormatOrdinalNumber" });
1114
1110
  }
1115
1111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatOrdinalNumberPipe, decorators: [{
1116
1112
  type: Pipe,
1117
1113
  args: [{
1118
1114
  name: 'fsFormatOrdinalNumber',
1115
+ standalone: true,
1119
1116
  }]
1120
1117
  }] });
1121
1118
 
@@ -1125,12 +1122,13 @@ class FsFormatTruncatePipe {
1125
1122
  return truncate(value, limit, completeWords, ellipsis);
1126
1123
  }
1127
1124
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatTruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1128
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatTruncatePipe, name: "fsFormatTruncate" });
1125
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsFormatTruncatePipe, isStandalone: true, name: "fsFormatTruncate" });
1129
1126
  }
1130
1127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormatTruncatePipe, decorators: [{
1131
1128
  type: Pipe,
1132
1129
  args: [{
1133
- name: 'fsFormatTruncate'
1130
+ name: 'fsFormatTruncate',
1131
+ standalone: true
1134
1132
  }]
1135
1133
  }], ctorParameters: () => [] });
1136
1134
 
@@ -1624,10 +1622,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1624
1622
  }] });
1625
1623
 
1626
1624
  class FsValidate {
1627
- fsUtil;
1628
- constructor(fsUtil) {
1629
- this.fsUtil = fsUtil;
1630
- }
1625
+ fsUtil = inject(FsUtil);
1631
1626
  /**
1632
1627
  * @deprecated use import { email } from @firestitch/common/validate; instead
1633
1628
  */
@@ -1641,12 +1636,12 @@ class FsValidate {
1641
1636
  email(value) {
1642
1637
  return !!this.fsUtil.string(value).match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
1643
1638
  }
1644
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, deps: [{ token: FsUtil }], target: i0.ɵɵFactoryTarget.Injectable });
1639
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1645
1640
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate });
1646
1641
  }
1647
1642
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsValidate, decorators: [{
1648
1643
  type: Injectable
1649
- }], ctorParameters: () => [{ type: FsUtil }] });
1644
+ }] });
1650
1645
 
1651
1646
  class FsCommonModule {
1652
1647
  static forRoot() {
@@ -1661,7 +1656,8 @@ class FsCommonModule {
1661
1656
  };
1662
1657
  }
1663
1658
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1664
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsCommonModule, declarations: [FsStopPropagationDirective,
1659
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: FsCommonModule, imports: [CommonModule,
1660
+ FsStopPropagationDirective,
1665
1661
  FsPreventDefaultDirective,
1666
1662
  FsAutoFocusDirective,
1667
1663
  FsAutoSelectDirective,
@@ -1674,7 +1670,7 @@ class FsCommonModule {
1674
1670
  FsFormatTruncatePipe,
1675
1671
  FsFormatBytesPipe,
1676
1672
  FsFormatOrdinalNumberPipe,
1677
- FsModelChangeDirective], imports: [CommonModule], exports: [FsStopPropagationDirective,
1673
+ FsModelChangeDirective], exports: [FsStopPropagationDirective,
1678
1674
  FsPreventDefaultDirective,
1679
1675
  FsAutoFocusDirective,
1680
1676
  FsAutoSelectDirective,
@@ -1695,8 +1691,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
1695
1691
  args: [{
1696
1692
  imports: [
1697
1693
  CommonModule,
1698
- ],
1699
- declarations: [
1700
1694
  FsStopPropagationDirective,
1701
1695
  FsPreventDefaultDirective,
1702
1696
  FsAutoFocusDirective,