@wemake4u/form-player-se 1.0.47 → 1.0.48

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 (65) hide show
  1. package/THIRD_PARTY_LICENSES.txt +6 -0
  2. package/esm2022/lib/builtIn/function.json +16 -0
  3. package/esm2022/lib/components/actionsCellRenderer/actionsCellRenderer.component.mjs +18 -14
  4. package/esm2022/lib/components/badge/badge.component.mjs +16 -0
  5. package/esm2022/lib/components/hostCellRenderer/hostCellRenderer.component.mjs +10 -8
  6. package/esm2022/lib/controls/factory.mjs +7 -1
  7. package/esm2022/lib/controls/navigator.mjs +4 -0
  8. package/esm2022/lib/controls/treerlist.mjs +4 -0
  9. package/esm2022/lib/dialog/dialog.component.mjs +10 -8
  10. package/esm2022/lib/directives/collapse.directive.mjs +3 -3
  11. package/esm2022/lib/directives/date.directive.mjs +139 -44
  12. package/esm2022/lib/directives/dialog.directive.mjs +7 -1
  13. package/esm2022/lib/directives/dropdown.directive.mjs +13 -8
  14. package/esm2022/lib/directives/filepicker.directive.mjs +34 -0
  15. package/esm2022/lib/directives/navigator.directive.mjs +76 -0
  16. package/esm2022/lib/directives/repeat.directive.mjs +8 -7
  17. package/esm2022/lib/directives/tab.badge.directive.mjs +95 -0
  18. package/esm2022/lib/directives/tabitem.directive.mjs +7 -4
  19. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +50 -84
  20. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +11 -8
  21. package/esm2022/lib/pipes/times.mjs +14 -0
  22. package/esm2022/lib/services/builder.service.mjs +43 -89
  23. package/esm2022/lib/services/compute.service.mjs +7 -7
  24. package/esm2022/lib/services/dialog.service.mjs +35 -4
  25. package/esm2022/lib/services/disable.service.mjs +29 -10
  26. package/esm2022/lib/services/event.service.mjs +14 -12
  27. package/esm2022/lib/services/form.service.mjs +32 -46
  28. package/esm2022/lib/services/function.service.mjs +6 -2
  29. package/esm2022/lib/services/grid.service.mjs +20 -14
  30. package/esm2022/lib/services/lifetime.service.mjs +36 -0
  31. package/esm2022/lib/services/programmability.service.mjs +21 -17
  32. package/esm2022/lib/services/status.service.mjs +88 -25
  33. package/esm2022/lib/services/validation.service.mjs +7 -7
  34. package/esm2022/lib/utils/FormArrayEx.mjs +63 -0
  35. package/esm2022/lib/utils/window.mjs +3 -2
  36. package/fesm2022/wemake4u-form-player-se.mjs +889 -399
  37. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  38. package/lib/components/badge/badge.component.d.ts +13 -0
  39. package/lib/controls/navigator.d.ts +3 -0
  40. package/lib/controls/treerlist.d.ts +3 -0
  41. package/lib/dialog/dialog.component.d.ts +2 -2
  42. package/lib/directives/collapse.directive.d.ts +3 -2
  43. package/lib/directives/date.directive.d.ts +15 -4
  44. package/lib/directives/dropdown.directive.d.ts +2 -2
  45. package/lib/directives/filepicker.directive.d.ts +11 -0
  46. package/lib/directives/navigator.directive.d.ts +22 -0
  47. package/lib/directives/tab.badge.directive.d.ts +28 -0
  48. package/lib/directives/tabitem.directive.d.ts +2 -1
  49. package/lib/dynamic-fields/dynamic-fields.component.d.ts +9 -8
  50. package/lib/dynamic-form/dynamic-form.component.d.ts +1 -1
  51. package/lib/pipes/times.d.ts +7 -0
  52. package/lib/services/builder.service.d.ts +6 -10
  53. package/lib/services/compute.service.d.ts +2 -1
  54. package/lib/services/dialog.service.d.ts +10 -3
  55. package/lib/services/disable.service.d.ts +5 -1
  56. package/lib/services/event.service.d.ts +1 -1
  57. package/lib/services/form.service.d.ts +5 -2
  58. package/lib/services/function.service.d.ts +1 -0
  59. package/lib/services/grid.service.d.ts +1 -1
  60. package/lib/services/lifetime.service.d.ts +12 -0
  61. package/lib/services/programmability.service.d.ts +3 -1
  62. package/lib/services/status.service.d.ts +18 -4
  63. package/lib/services/validation.service.d.ts +2 -1
  64. package/lib/utils/FormArrayEx.d.ts +26 -0
  65. package/package.json +3 -2
@@ -0,0 +1,76 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NavigatorStateDirective {
4
+ _total = 0;
5
+ _index = 0;
6
+ _requestedIndex = 0;
7
+ initialized = false;
8
+ ngAfterViewInit() {
9
+ this.initialized = true;
10
+ }
11
+ indexChange = new EventEmitter();
12
+ set total(value) {
13
+ this._total = value ?? 0;
14
+ this.recalculate(false);
15
+ }
16
+ get total() {
17
+ return this._total;
18
+ }
19
+ get index() {
20
+ return this._index;
21
+ }
22
+ set index(value) {
23
+ this._requestedIndex = value ?? 0;
24
+ this.recalculate(true);
25
+ }
26
+ canNext() {
27
+ return this._index < this._total - 1;
28
+ }
29
+ canPrevious() {
30
+ return this._index > 0;
31
+ }
32
+ next() {
33
+ if (this.canNext())
34
+ this.setIndex(this._index + 1, true);
35
+ }
36
+ previous() {
37
+ if (this.canPrevious())
38
+ this.setIndex(this._index - 1, true);
39
+ }
40
+ recalculate(preserveIndex) {
41
+ const newIndex = Math.max(0, Math.min(this._requestedIndex, this._total - 1));
42
+ if (newIndex === this._index) {
43
+ return;
44
+ }
45
+ this._index = newIndex;
46
+ if (!preserveIndex)
47
+ this._requestedIndex = this._index;
48
+ if (this.initialized) {
49
+ this.indexChange.emit(this._index);
50
+ }
51
+ }
52
+ setIndex(value, emit) {
53
+ if (value == null || isNaN(value)) {
54
+ return;
55
+ }
56
+ this._requestedIndex = value;
57
+ this.recalculate(false);
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigatorStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
60
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NavigatorStateDirective, isStandalone: true, selector: "[navigatorState]", inputs: { total: "total", index: "index" }, outputs: { indexChange: "indexChange" }, exportAs: ["navigatorState"], ngImport: i0 });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavigatorStateDirective, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: '[navigatorState]',
66
+ exportAs: 'navigatorState',
67
+ standalone: true
68
+ }]
69
+ }], propDecorators: { indexChange: [{
70
+ type: Output
71
+ }], total: [{
72
+ type: Input
73
+ }], index: [{
74
+ type: Input
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvbmF2aWdhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPdEYsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDcEIsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUU1QixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUdELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxhQUFzQjtRQUV4QyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBRXZCLElBQUksQ0FBQyxhQUFhO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYSxFQUFFLElBQWE7UUFFM0MsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQTVFVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBWUMsV0FBVztzQkFEVixNQUFNO2dCQUlILEtBQUs7c0JBRFIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmF2aWdhdG9yU3RhdGVdJyxcclxuICBleHBvcnRBczogJ25hdmlnYXRvclN0YXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0b3JTdGF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX3RvdGFsID0gMDtcclxuICBwcml2YXRlIF9pbmRleCA9IDA7XHJcbiAgcHJpdmF0ZSBfcmVxdWVzdGVkSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b3RhbCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl90b3RhbCA9IHZhbHVlID8/IDA7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKGZhbHNlKTtcclxuICB9XHJcbiAgZ2V0IHRvdGFsKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdG90YWw7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBpbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xyXG4gIH1cclxuICBzZXQgaW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcmVxdWVzdGVkSW5kZXggPSB2YWx1ZSA/PyAwO1xyXG4gICAgdGhpcy5yZWNhbGN1bGF0ZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIGNhbk5leHQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5kZXggPCB0aGlzLl90b3RhbCAtIDE7XHJcbiAgfVxyXG5cclxuICBjYW5QcmV2aW91cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmRleCA+IDA7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2FuTmV4dCgpKVxyXG4gICAgICB0aGlzLnNldEluZGV4KHRoaXMuX2luZGV4ICsgMSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcmV2aW91cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhblByZXZpb3VzKCkpXHJcbiAgICAgIHRoaXMuc2V0SW5kZXgodGhpcy5faW5kZXggLSAxLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjYWxjdWxhdGUocHJlc2VydmVJbmRleDogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgIGNvbnN0IG5ld0luZGV4ID1cclxuICAgICAgTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5fcmVxdWVzdGVkSW5kZXgsIHRoaXMuX3RvdGFsIC0gMSkpO1xyXG5cclxuICAgIGlmIChuZXdJbmRleCA9PT0gdGhpcy5faW5kZXgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2luZGV4ID0gbmV3SW5kZXg7XHJcblxyXG4gICAgaWYgKCFwcmVzZXJ2ZUluZGV4KVxyXG4gICAgICB0aGlzLl9yZXF1ZXN0ZWRJbmRleCA9IHRoaXMuX2luZGV4O1xyXG5cclxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLl9pbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEluZGV4KHZhbHVlOiBudW1iZXIsIGVtaXQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCBpc05hTih2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3JlcXVlc3RlZEluZGV4ID0gdmFsdWU7XHJcbiAgICB0aGlzLnJlY2FsY3VsYXRlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Directive, Input } from '@angular/core';
2
- import { hasFactory } from '../services/builder.service';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { FormArrayEx } from '../utils/FormArrayEx';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
5
6
  export class RepeatDirective {
@@ -11,11 +12,11 @@ export class RepeatDirective {
11
12
  }
12
13
  ngOnChanges(changes) {
13
14
  if (changes["repeat"] || changes["allowAddRemove"]) {
14
- const formArray = this.controlContainer.control;
15
- if (hasFactory(formArray)) {
16
- if (Number.isInteger(this.repeat) && this.repeat >= 0) {
17
- formArray.resize(this.repeat);
18
- }
15
+ const control = this.controlContainer.control;
16
+ if (!(control instanceof FormArrayEx))
17
+ return;
18
+ if (Number.isInteger(this.repeat) && this.repeat >= 0) {
19
+ control.resize(this.repeat, () => new FormGroup({}));
19
20
  }
20
21
  }
21
22
  }
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
33
34
  }], allowAddRemove: [{
34
35
  type: Input
35
36
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFNekQsTUFBTSxPQUFPLGVBQWU7SUFJTjtJQUhYLE1BQU0sR0FBUSxJQUFJLENBQUM7SUFDbkIsY0FBYyxHQUFtQixJQUFJLENBQUM7SUFFL0MsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDO0lBRTNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFvQixDQUFDO1lBQzdELElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdEQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBZlUsZUFBZTs0RkFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtxRkFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIENvbnRyb2xDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGhhc0ZhY3RvcnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9idWlsZGVyLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVwZWF0XSwgW2FsbG93QWRkUmVtb3ZlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwZWF0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXBlYXQ6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgYWxsb3dBZGRSZW1vdmU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJyZXBlYXRcIl0gfHwgY2hhbmdlc1tcImFsbG93QWRkUmVtb3ZlXCJdKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGFzIEZvcm1BcnJheTtcclxuICAgICAgaWYgKGhhc0ZhY3RvcnkoZm9ybUFycmF5KSkge1xyXG4gICAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHRoaXMucmVwZWF0KSAmJiB0aGlzLnJlcGVhdCA+PSAwKSB7XHJcbiAgICAgICAgICBmb3JtQXJyYXkucmVzaXplKHRoaXMucmVwZWF0KTtcclxuICAgICAgICB9ICAgICAgXHJcbiAgICAgIH0gICAgICBcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sZUFBZTtJQUlOO0lBSFgsTUFBTSxHQUFRLElBQUksQ0FBQztJQUNuQixjQUFjLEdBQW1CLElBQUksQ0FBQztJQUUvQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUU5QyxJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksV0FBVyxDQUFDO2dCQUNuQyxPQUFPO1lBRVQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7d0dBakJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7cUZBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXlFeCB9IGZyb20gJy4uL3V0aWxzL0Zvcm1BcnJheUV4JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlcGVhdF0sIFthbGxvd0FkZFJlbW92ZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcmVwZWF0OiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGFsbG93QWRkUmVtb3ZlOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzW1wicmVwZWF0XCJdIHx8IGNoYW5nZXNbXCJhbGxvd0FkZFJlbW92ZVwiXSkge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2w7XHJcblxyXG4gICAgICBpZiAoIShjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5RXgpKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmIChOdW1iZXIuaXNJbnRlZ2VyKHRoaXMucmVwZWF0KSAmJiB0aGlzLnJlcGVhdCA+PSAwKSB7XHJcbiAgICAgICAgY29udHJvbC5yZXNpemUodGhpcy5yZXBlYXQsICgpID0+IG5ldyBGb3JtR3JvdXAoe30pKTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,95 @@
1
+ import { createComponent, Directive, Input } from '@angular/core';
2
+ import { BadgeComponent } from '../components/badge/badge.component';
3
+ import * as i0 from "@angular/core";
4
+ export class TabBadgesDirective {
5
+ host;
6
+ appRef;
7
+ environmentInjector;
8
+ renderer;
9
+ destroyRef;
10
+ constructor(host, appRef, environmentInjector, renderer, destroyRef) {
11
+ this.host = host;
12
+ this.appRef = appRef;
13
+ this.environmentInjector = environmentInjector;
14
+ this.renderer = renderer;
15
+ this.destroyRef = destroyRef;
16
+ this.destroyRef.onDestroy(() => {
17
+ this.dispose();
18
+ });
19
+ }
20
+ ngAfterViewInit() {
21
+ for (const [index, badge] of this.pendingBadges) {
22
+ this.setBadge(index, badge);
23
+ }
24
+ }
25
+ setBadge(index, badge) {
26
+ this.pendingBadges.set(index, badge);
27
+ let badgeRef = this.badges.get(index);
28
+ if (!badgeRef) {
29
+ const anchor = this.findAnchor(index);
30
+ if (!anchor)
31
+ return;
32
+ badgeRef = this.createBadge(anchor);
33
+ this.badges.set(index, badgeRef);
34
+ }
35
+ badgeRef.setInput('badge', badge);
36
+ }
37
+ badges = new Map();
38
+ pendingBadges = new Map();
39
+ findAnchor(index) {
40
+ const anchors = this.host.nativeElement.querySelectorAll('ngx-sirio-tab-nav-item a');
41
+ return anchors.item(index);
42
+ }
43
+ createBadge(anchor) {
44
+ const badgeRef = createComponent(BadgeComponent, {
45
+ environmentInjector: this.environmentInjector
46
+ });
47
+ this.appRef.attachView(badgeRef.hostView);
48
+ this.renderer.appendChild(anchor, badgeRef.location.nativeElement);
49
+ return badgeRef;
50
+ }
51
+ dispose() {
52
+ for (const badgeRef of this.badges.values()) {
53
+ badgeRef.destroy();
54
+ }
55
+ this.badges.clear();
56
+ }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgesDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i0.Renderer2 }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
58
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabBadgesDirective, isStandalone: true, selector: "[tabBadges]", exportAs: ["tabBadges"], ngImport: i0 });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgesDirective, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: '[tabBadges]',
64
+ exportAs: 'tabBadges',
65
+ standalone: true
66
+ }]
67
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }, { type: i0.Renderer2 }, { type: i0.DestroyRef }] });
68
+ export class TabBadgeDirective {
69
+ tabBadges;
70
+ tabIndex;
71
+ badge = null;
72
+ ngOnChanges(changes) {
73
+ if (!changes['badge'])
74
+ return;
75
+ this.tabBadges?.setBadge(this.tabIndex, this.badge);
76
+ }
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
78
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabBadgeDirective, isStandalone: true, selector: "[tabBadge]", inputs: { tabBadges: "tabBadges", tabIndex: "tabIndex", badge: "badge" }, usesOnChanges: true, ngImport: i0 });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabBadgeDirective, decorators: [{
81
+ type: Directive,
82
+ args: [{
83
+ selector: '[tabBadge]',
84
+ standalone: true
85
+ }]
86
+ }], propDecorators: { tabBadges: [{
87
+ type: Input,
88
+ args: [{ required: true }]
89
+ }], tabIndex: [{
90
+ type: Input,
91
+ args: [{ required: true }]
92
+ }], badge: [{
93
+ type: Input
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmJhZGdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvdGFiLmJhZGdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZUFBZSxFQUFjLFNBQVMsRUFDdEMsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPNUUsTUFBTSxPQUFPLGtCQUFrQjtJQUVuQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTFYsWUFDVSxJQUFnQixFQUNoQixNQUFzQixFQUN0QixtQkFBd0MsRUFDeEMsUUFBbUIsRUFDbkIsVUFBc0I7UUFKdEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUU5QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWEsRUFBRSxLQUFtQjtRQUV6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFckMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsTUFBTTtnQkFDVCxPQUFPO1lBRVQsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sTUFBTSxHQUFHLElBQUksR0FBRyxFQUF3QyxDQUFDO0lBRXpELGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUVoRCxVQUFVLENBQUMsS0FBYTtRQUU5QixNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdEMsMEJBQTBCLENBQzNCLENBQUM7UUFFSixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFtQjtRQUVyQyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxFQUFFO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixNQUFNLEVBQ04sUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ2hDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sT0FBTztRQUViLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO3dHQTdFVSxrQkFBa0I7NEZBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFxRkQsTUFBTSxPQUFPLGlCQUFpQjtJQUNELFNBQVMsQ0FBc0I7SUFDL0IsUUFBUSxDQUFVO0lBQ3BDLEtBQUssR0FBaUIsSUFBSSxDQUFDO0lBRXBDLFdBQVcsQ0FBQyxPQUFzQjtRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNuQixPQUFPO1FBRVQsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQzt3R0FkVSxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUU0QixTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LCBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVmXHJcbiAgLCBjcmVhdGVDb21wb25lbnQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRW52aXJvbm1lbnRJbmplY3RvclxyXG4gICwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50LCBCYWRnZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkJhZGdlc10nLFxyXG4gIGV4cG9ydEFzOiAndGFiQmFkZ2VzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJCYWRnZXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgYmFkZ2VdIG9mIHRoaXMucGVuZGluZ0JhZGdlcykge1xyXG4gICAgICB0aGlzLnNldEJhZGdlKGluZGV4LCBiYWRnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRCYWRnZShpbmRleDogbnVtYmVyLCBiYWRnZTogQmFkZ2UgfCBudWxsKSB7XHJcblxyXG4gICAgdGhpcy5wZW5kaW5nQmFkZ2VzLnNldChpbmRleCwgYmFkZ2UpO1xyXG5cclxuICAgIGxldCBiYWRnZVJlZiA9IHRoaXMuYmFkZ2VzLmdldChpbmRleCk7XHJcblxyXG4gICAgaWYgKCFiYWRnZVJlZikge1xyXG5cclxuICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5maW5kQW5jaG9yKGluZGV4KTtcclxuXHJcbiAgICAgIGlmICghYW5jaG9yKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGJhZGdlUmVmID0gdGhpcy5jcmVhdGVCYWRnZShhbmNob3IpO1xyXG5cclxuICAgICAgdGhpcy5iYWRnZXMuc2V0KGluZGV4LCBiYWRnZVJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgYmFkZ2VSZWYuc2V0SW5wdXQoJ2JhZGdlJywgYmFkZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiYWRnZXMgPSBuZXcgTWFwPG51bWJlciwgQ29tcG9uZW50UmVmPEJhZGdlQ29tcG9uZW50Pj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBwZW5kaW5nQmFkZ2VzID0gbmV3IE1hcDxudW1iZXIsIEJhZGdlIHwgbnVsbD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBmaW5kQW5jaG9yKGluZGV4OiBudW1iZXIpOiBIVE1MRWxlbWVudCB8IG51bGwge1xyXG5cclxuICAgIGNvbnN0IGFuY2hvcnMgPVxyXG4gICAgICB0aGlzLmhvc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICduZ3gtc2lyaW8tdGFiLW5hdi1pdGVtIGEnXHJcbiAgICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGFuY2hvcnMuaXRlbShpbmRleCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUJhZGdlKGFuY2hvcjogSFRNTEVsZW1lbnQpOiBDb21wb25lbnRSZWY8QmFkZ2VDb21wb25lbnQ+IHtcclxuXHJcbiAgICBjb25zdCBiYWRnZVJlZiA9IGNyZWF0ZUNvbXBvbmVudChCYWRnZUNvbXBvbmVudCwge1xyXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmVudmlyb25tZW50SW5qZWN0b3JcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoYmFkZ2VSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoXHJcbiAgICAgIGFuY2hvcixcclxuICAgICAgYmFkZ2VSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudFxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gYmFkZ2VSZWY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRpc3Bvc2UoKTogdm9pZCB7XHJcblxyXG4gICAgZm9yIChjb25zdCBiYWRnZVJlZiBvZiB0aGlzLmJhZGdlcy52YWx1ZXMoKSkge1xyXG4gICAgICBiYWRnZVJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5iYWRnZXMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkJhZGdlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiQmFkZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRhYkJhZGdlcyE6IFRhYkJhZGdlc0RpcmVjdGl2ZTtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJJbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBiYWRnZTogQmFkZ2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cclxuICAgIGlmICghY2hhbmdlc1snYmFkZ2UnXSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMudGFiQmFkZ2VzPy5zZXRCYWRnZShcclxuICAgICAgdGhpcy50YWJJbmRleCxcclxuICAgICAgdGhpcy5iYWRnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -3,14 +3,15 @@ import * as i0 from "@angular/core";
3
3
  export class TabItemDirective {
4
4
  componentRef;
5
5
  disabled;
6
+ label;
6
7
  ngOnChanges(changes) {
7
- if (changes["disabled"]) {
8
- const tabControl = this.componentRef;
8
+ const tabControl = this.componentRef;
9
+ if (changes["disabled"] || changes["label"]) {
9
10
  tabControl.cd.markForCheck();
10
11
  }
11
12
  }
12
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabItemDirective, isStandalone: true, selector: "[tabItem]", inputs: { componentRef: "componentRef", disabled: "disabled" }, usesOnChanges: true, ngImport: i0 });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabItemDirective, isStandalone: true, selector: "[tabItem]", inputs: { componentRef: "componentRef", disabled: "disabled", label: "label" }, usesOnChanges: true, ngImport: i0 });
14
15
  }
15
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, decorators: [{
16
17
  type: Directive,
@@ -22,5 +23,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
22
23
  type: Input
23
24
  }], disabled: [{
24
25
  type: Input
26
+ }], label: [{
27
+ type: Input
25
28
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixZQUFZLENBQU07SUFDbEIsUUFBUSxDQUFNO0lBRXZCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFpQyxDQUFDO1lBQ3pELFVBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO3dHQVRVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvVGFiQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0YWJJdGVtXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UmVmOiBhbnk7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGFueTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJkaXNhYmxlZFwiXSkge1xyXG4gICAgICBjb25zdCB0YWJDb250cm9sID0gdGhpcy5jb21wb25lbnRSZWYgYXMgU2lyaW9UYWJDb21wb25lbnQ7XHJcbiAgICAgICh0YWJDb250cm9sIGFzIGFueSkuY2QubWFya0ZvckNoZWNrKCk7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixZQUFZLENBQU07SUFDbEIsUUFBUSxDQUFNO0lBQ2QsS0FBSyxDQUFNO0lBRXBCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFVBQVUsR0FBUSxJQUFJLENBQUMsWUFBaUMsQ0FBQztRQUMvRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxVQUFVLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO3dHQVZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaXJpb1RhYkNvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGFiSXRlbV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFJlZjogYW55O1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBhbnk7XHJcbiAgQElucHV0KCkgbGFiZWw6IGFueTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFiQ29udHJvbDogYW55ID0gdGhpcy5jb21wb25lbnRSZWYgYXMgU2lyaW9UYWJDb21wb25lbnQ7XHJcbiAgICBpZiAoY2hhbmdlc1tcImRpc2FibGVkXCJdIHx8IGNoYW5nZXNbXCJsYWJlbFwiXSkge1xyXG4gICAgICB0YWJDb250cm9sLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=