@gipisistemas/ng-core 1.1.2 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. package/assets/styles/colors.scss +5 -1
  2. package/bundles/gipisistemas-ng-core.umd.js +8416 -7886
  3. package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
  4. package/bundles/gipisistemas-ng-core.umd.min.js +10 -9
  5. package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
  6. package/core/gipi-components/models/sort.model.d.ts +3 -3
  7. package/core/utils/array.util.d.ts +2 -2
  8. package/core/utils/object.util.d.ts +3 -5
  9. package/esm2015/core/gipi-components/models/sort.model.js +1 -1
  10. package/esm2015/core/gipi-components/services/abstract-crud.service.js +18 -24
  11. package/esm2015/core/utils/array.util.js +4 -2
  12. package/esm2015/core/utils/object.util.js +5 -9
  13. package/esm2015/gipi-components.js +10 -1
  14. package/esm2015/shared/components/input/input.component.js +46 -23
  15. package/esm2015/shared/components/table/table.component.js +1 -1
  16. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  17. package/esm2015/shared/gipi-components/button/button.component.js +2 -2
  18. package/esm2015/shared/gipi-components/card/card.component.js +113 -0
  19. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  20. package/esm2015/shared/gipi-components/empty-state/empty-state.component.js +30 -0
  21. package/esm2015/shared/gipi-components/input-select/input-select.component.js +7 -4
  22. package/esm2015/shared/gipi-components/layout-grid/col.directive.js +4 -4
  23. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  24. package/esm2015/shared/gipi-components/notification/notification.component.js +8 -3
  25. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  26. package/esm2015/shared/gipi-components/slide-toggle/slide-toggle.component.js +113 -0
  27. package/esm2015/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +18 -0
  28. package/esm2015/shared/gipi-components/tabs/shared/tab.model.js +8 -0
  29. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +66 -0
  30. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +123 -0
  31. package/esm2015/shared/gipi-components/textarea/textarea.component.js +298 -0
  32. package/esm2015/shared/shared.module.js +20 -16
  33. package/esm2015/shared.js +1 -5
  34. package/esm5/core/gipi-components/models/sort.model.js +1 -1
  35. package/esm5/core/gipi-components/services/abstract-crud.service.js +18 -24
  36. package/esm5/core/utils/array.util.js +4 -3
  37. package/esm5/core/utils/object.util.js +5 -9
  38. package/esm5/gipi-components.js +10 -1
  39. package/esm5/shared/components/input/input.component.js +46 -23
  40. package/esm5/shared/components/table/table.component.js +1 -1
  41. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  42. package/esm5/shared/gipi-components/button/button.component.js +2 -2
  43. package/esm5/shared/gipi-components/card/card.component.js +135 -0
  44. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  45. package/esm5/shared/gipi-components/empty-state/empty-state.component.js +33 -0
  46. package/esm5/shared/gipi-components/input-select/input-select.component.js +11 -4
  47. package/esm5/shared/gipi-components/layout-grid/col.directive.js +4 -4
  48. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  49. package/esm5/shared/gipi-components/notification/notification.component.js +8 -3
  50. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  51. package/esm5/shared/gipi-components/slide-toggle/slide-toggle.component.js +127 -0
  52. package/esm5/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +19 -0
  53. package/esm5/shared/gipi-components/tabs/shared/tab.model.js +10 -0
  54. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +67 -0
  55. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +131 -0
  56. package/esm5/shared/gipi-components/textarea/textarea.component.js +352 -0
  57. package/esm5/shared/shared.module.js +20 -16
  58. package/esm5/shared.js +1 -5
  59. package/fesm2015/gipisistemas-ng-core.js +1746 -1305
  60. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  61. package/fesm5/gipisistemas-ng-core.js +8406 -7881
  62. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  63. package/gipi-components.d.ts +8 -0
  64. package/gipisistemas-ng-core.metadata.json +1 -1
  65. package/package.json +1 -2
  66. package/shared/components/input/input.component.d.ts +13 -11
  67. package/shared/components/table/table.component.d.ts +3 -3
  68. package/shared/gipi-components/card/card.component.d.ts +23 -0
  69. package/shared/gipi-components/empty-state/empty-state.component.d.ts +5 -0
  70. package/shared/gipi-components/input-select/input-select.component.d.ts +1 -0
  71. package/shared/gipi-components/notification/notification.component.d.ts +1 -0
  72. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +7 -0
  73. package/shared/gipi-components/slide-toggle/slide-toggle.component.d.ts +27 -0
  74. package/shared/{directives → gipi-components/tabs/shared}/dynamic-tab.directive.d.ts +1 -1
  75. package/shared/gipi-components/tabs/shared/tab.model.d.ts +12 -0
  76. package/shared/{components → gipi-components/tabs}/tab/tab.component.d.ts +4 -2
  77. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +22 -0
  78. package/shared/gipi-components/textarea/textarea.component.d.ts +68 -0
  79. package/shared.d.ts +0 -4
  80. package/esm2015/shared/components/select-button/select-button.component.js +0 -181
  81. package/esm2015/shared/components/tab/tab.component.js +0 -57
  82. package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
  83. package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
  84. package/esm5/shared/components/select-button/select-button.component.js +0 -195
  85. package/esm5/shared/components/tab/tab.component.js +0 -58
  86. package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
  87. package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
  88. package/shared/components/select-button/select-button.component.d.ts +0 -35
  89. package/shared/components/tab-group/tab-group.component.d.ts +0 -22
@@ -0,0 +1,113 @@
1
+ var GIPISlideToggleComponent_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, OnInit } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ let nextUniqueId = 0;
7
+ let GIPISlideToggleComponent = GIPISlideToggleComponent_1 = class GIPISlideToggleComponent {
8
+ constructor(_changeDetectorRef) {
9
+ this._changeDetectorRef = _changeDetectorRef;
10
+ this._name = `gipi-slide-toggle-${nextUniqueId++}`;
11
+ this._slideToggleValue = false;
12
+ this.id = this._name;
13
+ this.name = this._name;
14
+ this.label = '';
15
+ this.help = '';
16
+ this._required = false;
17
+ this._disabled = false;
18
+ this.onChange = () => { };
19
+ this.onTouched = () => { };
20
+ }
21
+ get slideToggleValue() {
22
+ return this._slideToggleValue;
23
+ }
24
+ set slideToggleValue(value) {
25
+ this._slideToggleValue = value;
26
+ this.onChange(value);
27
+ this.onTouched();
28
+ }
29
+ get required() {
30
+ return this._required;
31
+ }
32
+ set required(value) {
33
+ if (this.required !== value) {
34
+ this._required = coerceBooleanProperty(value);
35
+ this._changeDetectorRef.markForCheck();
36
+ }
37
+ }
38
+ get disabled() {
39
+ return this._disabled;
40
+ }
41
+ set disabled(value) {
42
+ if (this.disabled !== value) {
43
+ this._disabled = coerceBooleanProperty(value);
44
+ this._changeDetectorRef.markForCheck();
45
+ }
46
+ }
47
+ ngOnInit() { }
48
+ writeValue(value) {
49
+ this.slideToggleValue = value;
50
+ this._changeDetectorRef.markForCheck();
51
+ }
52
+ registerOnChange(fn) {
53
+ this.onChange = fn;
54
+ }
55
+ registerOnTouched(fn) {
56
+ this.onTouched = fn;
57
+ }
58
+ setDisabledState(isDisabled) {
59
+ this.disabled = isDisabled;
60
+ this._changeDetectorRef.markForCheck();
61
+ }
62
+ };
63
+ GIPISlideToggleComponent.ctorParameters = () => [
64
+ { type: ChangeDetectorRef }
65
+ ];
66
+ __decorate([
67
+ Input(),
68
+ __metadata("design:type", String)
69
+ ], GIPISlideToggleComponent.prototype, "id", void 0);
70
+ __decorate([
71
+ Input(),
72
+ __metadata("design:type", String)
73
+ ], GIPISlideToggleComponent.prototype, "name", void 0);
74
+ __decorate([
75
+ Input(),
76
+ __metadata("design:type", String)
77
+ ], GIPISlideToggleComponent.prototype, "label", void 0);
78
+ __decorate([
79
+ Input(),
80
+ __metadata("design:type", String)
81
+ ], GIPISlideToggleComponent.prototype, "help", void 0);
82
+ __decorate([
83
+ Input(),
84
+ __metadata("design:type", Boolean),
85
+ __metadata("design:paramtypes", [Boolean])
86
+ ], GIPISlideToggleComponent.prototype, "required", null);
87
+ __decorate([
88
+ Input(),
89
+ __metadata("design:type", Boolean),
90
+ __metadata("design:paramtypes", [Boolean])
91
+ ], GIPISlideToggleComponent.prototype, "disabled", null);
92
+ GIPISlideToggleComponent = GIPISlideToggleComponent_1 = __decorate([
93
+ Component({
94
+ selector: 'gipi-slide-toggle',
95
+ exportAs: 'gipiSlideToggle',
96
+ template: "<input class=\"toggle toggle-light\"\n type=\"checkbox\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [(ngModel)]=\"slideToggleValue\" />\n<label class=\"toggle-btn\"\n [attr.for]=\"id\">\n</label>\n<label class=\"toggle-label\"\n *ngIf=\"label\"\n [attr.for]=\"id\">\n {{ label }}\n</label>",
97
+ providers: [
98
+ {
99
+ provide: NG_VALUE_ACCESSOR,
100
+ useExisting: forwardRef(() => GIPISlideToggleComponent_1),
101
+ multi: true,
102
+ },
103
+ ],
104
+ changeDetection: ChangeDetectionStrategy.OnPush,
105
+ host: {
106
+ 'class': 'gipi-slide-toggle',
107
+ },
108
+ styles: [":host{display:flex;align-items:center;cursor:pointer}.toggle-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-left:1rem;cursor:pointer}.toggle{display:none}.toggle ::-moz-selection,.toggle :after::-moz-selection,.toggle :before::-moz-selection,.toggle+.toggle-btn::-moz-selection,.toggle::-moz-selection,.toggle:after::-moz-selection,.toggle:before::-moz-selection{background:0 0}.toggle ::selection,.toggle :after::selection,.toggle :before::selection,.toggle+.toggle-btn::selection,.toggle::selection,.toggle:after::selection,.toggle:before::selection{background:0 0}.toggle+.toggle-btn{display:block;width:40px;height:24px;outline:0;background:#e0e1e2;border-radius:22px;padding:4px;transition:.4s;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.toggle+.toggle-btn:after,.toggle+.toggle-btn:before{content:\"\";display:block;width:16px;height:16px;position:relative}.toggle+.toggle-btn:after{left:0;background:#8c8f93;border-radius:50%;transition:.2s}.toggle+.toggle-btn:before{display:none}.toggle:checked+.toggle-btn:after{left:50%;background:#414244}"]
109
+ }),
110
+ __metadata("design:paramtypes", [ChangeDetectorRef])
111
+ ], GIPISlideToggleComponent);
112
+ export { GIPISlideToggleComponent };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFtQnJCLElBQWEsd0JBQXdCLGdDQUFyQyxNQUFhLHdCQUF3QjtJQStDakMsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUE3Q2pELFVBQUssR0FBVyxxQkFBcUIsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUV0RCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFVbEMsT0FBRSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFeEIsU0FBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFMUIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFXM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVduQyxhQUFRLEdBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFNkIsQ0FBQztJQTFDOUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFXUSxJQUFJLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBR1EsSUFBSSxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQU9ELFFBQVEsS0FBVyxDQUFDO0lBRXBCLFVBQVUsQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUVKLENBQUE7O1lBdEIyQyxpQkFBaUI7O0FBakNoRDtJQUFSLEtBQUssRUFBRTs7b0RBQXlCO0FBRXhCO0lBQVIsS0FBSyxFQUFFOztzREFBMkI7QUFFMUI7SUFBUixLQUFLLEVBQUU7O3VEQUFvQjtBQUVuQjtJQUFSLEtBQUssRUFBRTs7c0RBQW1CO0FBR2xCO0lBQVIsS0FBSyxFQUFFOzs7d0RBRVA7QUFTUTtJQUFSLEtBQUssRUFBRTs7O3dEQUVQO0FBcENRLHdCQUF3QjtJQWpCcEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLDJWQUE0QztRQUU1QyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUF3QixDQUFDO2dCQUN2RCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0o7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsbUJBQW1CO1NBQy9COztLQUNKLENBQUM7cUNBZ0QwQyxpQkFBaUI7R0EvQ2hELHdCQUF3QixDQXFFcEM7U0FyRVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktc2xpZGUtdG9nZ2xlJyxcbiAgICBleHBvcnRBczogJ2dpcGlTbGlkZVRvZ2dsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR0lQSVNsaWRlVG9nZ2xlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1zbGlkZS10b2dnbGUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElTbGlkZVRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nID0gYGdpcGktc2xpZGUtdG9nZ2xlLSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIHByaXZhdGUgX3NsaWRlVG9nZ2xlVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBnZXQgc2xpZGVUb2dnbGVWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NsaWRlVG9nZ2xlVmFsdWU7XG4gICAgfVxuICAgIHNldCBzbGlkZVRvZ2dsZVZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NsaWRlVG9nZ2xlVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuX25hbWU7XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSB0aGlzLl9uYW1lO1xuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KCkgaGVscDogc3RyaW5nID0gJyc7XG5cbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMucmVxdWlyZWQgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICAgIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoKSA9PiB7IH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zbGlkZVRvZ2dsZVZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Directive, ViewContainerRef } from '@angular/core';
3
+ let GIPIDynamicTabDirective = class GIPIDynamicTabDirective {
4
+ constructor(viewContainer) {
5
+ this.viewContainer = viewContainer;
6
+ }
7
+ };
8
+ GIPIDynamicTabDirective.ctorParameters = () => [
9
+ { type: ViewContainerRef }
10
+ ];
11
+ GIPIDynamicTabDirective = __decorate([
12
+ Directive({
13
+ selector: '[GIPIDynamicTab]'
14
+ }),
15
+ __metadata("design:paramtypes", [ViewContainerRef])
16
+ ], GIPIDynamicTabDirective);
17
+ export { GIPIDynamicTabDirective };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3NoYXJlZC9keW5hbWljLXRhYi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLNUQsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBdUI7SUFFaEMsWUFBbUIsYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQztDQUUxRCxDQUFBOztZQUZxQyxnQkFBZ0I7O0FBRnpDLHVCQUF1QjtJQUhuQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUM7cUNBR29DLGdCQUFnQjtHQUZ6Qyx1QkFBdUIsQ0FJbkM7U0FKWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbR0lQSUR5bmFtaWNUYWJdJ1xufSlcbmV4cG9ydCBjbGFzcyBHSVBJRHluYW1pY1RhYkRpcmVjdGl2ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export class TabModel {
2
+ constructor() {
3
+ this.active = false;
4
+ this.closeable = false;
5
+ this.disabled = false;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy90YWJzL3NoYXJlZC90YWIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFBckI7UUFJSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBVXJCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBUYWJNb2RlbCB7XG5cbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNsb3NlYWJsZSA9IGZhbHNlO1xuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGRhdGE6IGFueTtcblxuICAgIGljb246IHN0cmluZztcblxuICAgIHN2Z0ljb246IHN0cmluZztcblxuICAgIGFjdGlvbjogKG9iajogYW55KSA9PiB2b2lkO1xuXG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
3
+ let GIPITabComponent = class GIPITabComponent {
4
+ constructor() {
5
+ this.active = false;
6
+ this.closeable = false;
7
+ this.disabled = false;
8
+ this.selectionChange = new EventEmitter();
9
+ }
10
+ ngOnInit() { }
11
+ };
12
+ __decorate([
13
+ Input(),
14
+ __metadata("design:type", Number)
15
+ ], GIPITabComponent.prototype, "index", void 0);
16
+ __decorate([
17
+ Input(),
18
+ __metadata("design:type", String)
19
+ ], GIPITabComponent.prototype, "label", void 0);
20
+ __decorate([
21
+ Input(),
22
+ __metadata("design:type", Boolean)
23
+ ], GIPITabComponent.prototype, "active", void 0);
24
+ __decorate([
25
+ Input(),
26
+ __metadata("design:type", TemplateRef)
27
+ ], GIPITabComponent.prototype, "template", void 0);
28
+ __decorate([
29
+ Input(),
30
+ __metadata("design:type", Boolean)
31
+ ], GIPITabComponent.prototype, "closeable", void 0);
32
+ __decorate([
33
+ Input(),
34
+ __metadata("design:type", Boolean)
35
+ ], GIPITabComponent.prototype, "disabled", void 0);
36
+ __decorate([
37
+ Input(),
38
+ __metadata("design:type", Object)
39
+ ], GIPITabComponent.prototype, "data", void 0);
40
+ __decorate([
41
+ Input(),
42
+ __metadata("design:type", String)
43
+ ], GIPITabComponent.prototype, "icon", void 0);
44
+ __decorate([
45
+ Input(),
46
+ __metadata("design:type", String)
47
+ ], GIPITabComponent.prototype, "svgIcon", void 0);
48
+ __decorate([
49
+ Output(),
50
+ __metadata("design:type", EventEmitter)
51
+ ], GIPITabComponent.prototype, "selectionChange", void 0);
52
+ GIPITabComponent = __decorate([
53
+ Component({
54
+ selector: 'gipi-tab',
55
+ exportAs: 'gipiTab',
56
+ template: "<ng-container *ngIf=\"active\">\n <ng-content> </ng-content>\n <ng-container *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{$implicit: data}\">\n </ng-container>\n</ng-container>",
57
+ host: {
58
+ 'class': 'gipi-tab',
59
+ '[style.display]': '!active ? "none" : "block"',
60
+ },
61
+ styles: [":host{padding:1.6rem}"]
62
+ }),
63
+ __metadata("design:paramtypes", [])
64
+ ], GIPITabComponent);
65
+ export { GIPITabComponent };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWIvdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZNUYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUF1QnpCO1FBakJTLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFJeEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBU3pCLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEQsQ0FBQztJQUVqQixRQUFRLEtBQVcsQ0FBQztDQUV2QixDQUFBO0FBekJZO0lBQVIsS0FBSyxFQUFFOzsrQ0FBZTtBQUVkO0lBQVIsS0FBSyxFQUFFOzsrQ0FBZTtBQUVkO0lBQVIsS0FBSyxFQUFFOztnREFBeUI7QUFFeEI7SUFBUixLQUFLLEVBQUU7OEJBQVcsV0FBVztrREFBTTtBQUUzQjtJQUFSLEtBQUssRUFBRTs7bURBQTRCO0FBRTNCO0lBQVIsS0FBSyxFQUFFOztrREFBMkI7QUFFMUI7SUFBUixLQUFLLEVBQUU7OzhDQUFXO0FBRVY7SUFBUixLQUFLLEVBQUU7OzhDQUFjO0FBQ2I7SUFBUixLQUFLLEVBQUU7O2lEQUFpQjtBQUlmO0lBQVQsTUFBTSxFQUFFOzhCQUFrQixZQUFZO3lEQUEyQjtBQXJCekQsZ0JBQWdCO0lBVjVCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLDhRQUFtQztRQUVuQyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsVUFBVTtZQUNuQixpQkFBaUIsRUFBRSw0QkFBNEI7U0FDbEQ7O0tBQ0osQ0FBQzs7R0FDVyxnQkFBZ0IsQ0EyQjVCO1NBM0JZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ2lwaS10YWInLFxuICAgIGV4cG9ydEFzOiAnZ2lwaVRhYicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS10YWInLFxuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogJyFhY3RpdmUgPyBcIm5vbmVcIiA6IFwiYmxvY2tcIicsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR0lQSVRhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBjbG9zZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ZnSWNvbjogc3RyaW5nO1xuXG4gICAgYWN0aW9uOiAob2JqOiBhbnkpID0+IHZvaWQ7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG59XG4iXX0=
@@ -0,0 +1,123 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AfterContentInit, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChildren, ElementRef, OnInit, QueryList, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
3
+ import { GIPIDynamicTabDirective } from '../shared/dynamic-tab.directive';
4
+ import { TabModel } from '../shared/tab.model';
5
+ import { GIPITabComponent } from '../tab/tab.component';
6
+ let GIPITabGroupComponent = class GIPITabGroupComponent {
7
+ constructor(elementRef, _componentFactoryResolver) {
8
+ this.elementRef = elementRef;
9
+ this._componentFactoryResolver = _componentFactoryResolver;
10
+ this.dynamicTabs = [];
11
+ }
12
+ ngOnInit() { }
13
+ ngAfterContentInit() {
14
+ const activeTabs = this.tabQueryList.filter(tab => tab.active);
15
+ if (activeTabs.length === 0 && this.tabQueryList.length > 0) {
16
+ this.selectTab(this.tabQueryList.first);
17
+ }
18
+ }
19
+ openTab(label, template, data, closeable = false, disabled = false, action) {
20
+ const tab = new TabModel();
21
+ tab.label = label;
22
+ tab.template = template;
23
+ tab.data = data;
24
+ tab.closeable = closeable;
25
+ tab.disabled = disabled;
26
+ tab.action = action;
27
+ this._openTabs(Array(tab));
28
+ }
29
+ _openTabs(tabList) {
30
+ const tabsComponent = tabList.map(tab => this._getTabComponent(tab.label, tab.template, tab.data, tab.closeable, tab.disabled, tab.action));
31
+ this.dynamicTabs.push(...tabsComponent);
32
+ this.selectTab(this.dynamicTabs[0]);
33
+ }
34
+ _getTabComponent(label, template, data, closeable = false, disabled = false, action) {
35
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(GIPITabComponent);
36
+ const componentRef = this.dynamicTabPlaceholder.viewContainer.createComponent(componentFactory);
37
+ const instance = componentRef.instance;
38
+ instance.label = label;
39
+ instance.template = template;
40
+ instance.data = data;
41
+ instance.closeable = closeable;
42
+ instance.disabled = disabled;
43
+ instance.action = action;
44
+ return componentRef.instance;
45
+ }
46
+ selectTab(tab) {
47
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
48
+ this.dynamicTabs.forEach(t => (t.active = false));
49
+ tab.active = true;
50
+ tab.selectionChange.emit();
51
+ if (tab.action) {
52
+ tab.action(tab.data);
53
+ }
54
+ }
55
+ closeTab(tab) {
56
+ const index = this.dynamicTabs.indexOf(tab);
57
+ this.dynamicTabs.splice(index, 1);
58
+ const viewContainerRef = this.dynamicTabPlaceholder.viewContainer;
59
+ viewContainerRef.remove(index);
60
+ if (this.tabQueryList.length > 0) {
61
+ this.selectTab(this.tabQueryList.first);
62
+ }
63
+ }
64
+ closeActiveTab() {
65
+ const activeTabs = this.dynamicTabs.filter(tab => tab.active);
66
+ if (activeTabs.length > 0) {
67
+ this.closeTab(activeTabs[0]);
68
+ }
69
+ }
70
+ closeAllTabs() {
71
+ const tabs = Object.assign([], this.dynamicTabs);
72
+ if (tabs.length > 0) {
73
+ tabs.forEach(tab => this.closeTab(tab));
74
+ }
75
+ }
76
+ nextTab() {
77
+ const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
78
+ const nextTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) + 1];
79
+ if (nextTab != null) {
80
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
81
+ this.dynamicTabs.forEach(t => (t.active = false));
82
+ nextTab.active = true;
83
+ nextTab.selectionChange.emit();
84
+ }
85
+ }
86
+ previousTab() {
87
+ const currentTab = this.tabQueryList.toArray().find(tab => tab.active);
88
+ const previousTab = this.tabQueryList.toArray()[this.tabQueryList.toArray().indexOf(currentTab) - 1];
89
+ if (previousTab != null) {
90
+ this.tabQueryList.toArray().forEach(t => (t.active = false));
91
+ this.dynamicTabs.forEach(t => (t.active = false));
92
+ previousTab.active = true;
93
+ previousTab.selectionChange.emit();
94
+ }
95
+ }
96
+ };
97
+ GIPITabGroupComponent.ctorParameters = () => [
98
+ { type: ElementRef },
99
+ { type: ComponentFactoryResolver }
100
+ ];
101
+ __decorate([
102
+ ContentChildren(GIPITabComponent),
103
+ __metadata("design:type", QueryList)
104
+ ], GIPITabGroupComponent.prototype, "tabQueryList", void 0);
105
+ __decorate([
106
+ ViewChild(GIPIDynamicTabDirective, { static: false }),
107
+ __metadata("design:type", GIPIDynamicTabDirective)
108
+ ], GIPITabGroupComponent.prototype, "dynamicTabPlaceholder", void 0);
109
+ GIPITabGroupComponent = __decorate([
110
+ Component({
111
+ selector: 'gipi-tab-group',
112
+ exportAs: 'gipiTabGroup',
113
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link\n *ngFor=\"let tab of tabQueryList\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n\n <a mat-tab-link\n *ngFor=\"let tab of dynamicTabs\"\n (click)=\"selectTab(tab)\"\n [class.active]=\"tab.active\"\n [disabled]=\"tab.disabled\">\n <mat-icon *ngIf=\"tab.icon || tab.svgIcon\"\n [svgIcon]=\"tab.svgIcon ? tab.svgIcon : ''\">\n {{ !tab.svgIcon && tab.icon ? tab.icon : '' }}\n </mat-icon>\n\n {{ tab.label }}\n </a>\n</nav>\n\n<ng-content> </ng-content>\n<ng-template dynamicTab\n #container>\n</ng-template>",
114
+ host: {
115
+ 'class': 'gipi-tab-group',
116
+ },
117
+ styles: [":host{display:block;flex:1;width:100%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-nav-bar{background:#f5f5f6;border:none;border-radius:.4rem;padding:.4rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}:host ::ng-deep .mat-tab-links{display:flex;gap:1rem}:host ::ng-deep .mat-tab-link{height:auto!important;padding:1rem!important;opacity:1!important;border:none!important;border-radius:4px!important;transition:.2s!important;color:#595959!important;gap:1rem}:host ::ng-deep .mat-tab-link>mat-icon{width:2rem!important;height:2rem!important;font-size:2rem!important;color:#595959!important}:host ::ng-deep .mat-tab-link>mat-icon svg,:host ::ng-deep .mat-tab-link>mat-icon svg g path,:host ::ng-deep .mat-tab-link>mat-icon svg path{color:#595959!important;fill:#595959!important}:host ::ng-deep .mat-tab-link:not(.active):hover{background:#e0e1e2!important}:host ::ng-deep .mat-tab-link.active{background:#e0313e!important;color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon{color:#fff!important}:host ::ng-deep .mat-tab-link.active>mat-icon svg,:host ::ng-deep .mat-tab-link.active>mat-icon svg g path,:host ::ng-deep .mat-tab-link.active>mat-icon svg path{color:#fff!important;fill:#fff!important}:host ::ng-deep .mat-tab-link:disabled,:host ::ng-deep .mat-tab-link:disabled>mat-icon{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-tab-link:disabled svg,:host ::ng-deep .mat-tab-link:disabled svg g path,:host ::ng-deep .mat-tab-link:disabled svg path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg g path,:host ::ng-deep .mat-tab-link:disabled>mat-icon svg path{color:#9a9da2!important;fill:#9a9da2!important}:host ::ng-deep .mat-ink-bar{display:none!important}"]
118
+ }),
119
+ __metadata("design:paramtypes", [ElementRef,
120
+ ComponentFactoryResolver])
121
+ ], GIPITabGroupComponent);
122
+ export { GIPITabGroupComponent };
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvdGFicy90YWItZ3JvdXAvdGFiLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaE4sT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBV3hELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBTzlCLFlBQ1csVUFBc0IsRUFDckIseUJBQW1EO1FBRHBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUp4RCxnQkFBVyxHQUF1QixFQUFFLENBQUM7SUFLeEMsQ0FBQztJQUVMLFFBQVEsS0FBVyxDQUFDO0lBRXBCLGtCQUFrQjtRQUNkLE1BQU0sVUFBVSxHQUF1QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FB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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRCxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUMxQixXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztDQUVKLENBQUE7O1lBeEcwQixVQUFVO1lBQ00sd0JBQXdCOztBQVA1QjtJQUFsQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7OEJBQWUsU0FBUzsyREFBbUI7QUFDdEI7SUFBdEQsU0FBUyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDOzhCQUF3Qix1QkFBdUI7b0VBQUM7QUFIN0YscUJBQXFCO0lBVGpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsKzdCQUF5QztRQUV6QyxJQUFJLEVBQUU7WUFDRixPQUFPLEVBQUUsZ0JBQWdCO1NBQzVCOztLQUNKLENBQUM7cUNBU3lCLFVBQVU7UUFDTSx3QkFBd0I7R0FUdEQscUJBQXFCLENBZ0hqQztTQWhIWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEdJUElEeW5hbWljVGFiRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2R5bmFtaWMtdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWJNb2RlbCB9IGZyb20gJy4uL3NoYXJlZC90YWIubW9kZWwnO1xuaW1wb3J0IHsgR0lQSVRhYkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnaXBpLXRhYi1ncm91cCcsXG4gICAgZXhwb3J0QXM6ICdnaXBpVGFiR3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2dpcGktdGFiLWdyb3VwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHSVBJVGFiR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQge1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihHSVBJVGFiQ29tcG9uZW50KSB0YWJRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxHSVBJVGFiQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKEdJUElEeW5hbWljVGFiRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgZHluYW1pY1RhYlBsYWNlaG9sZGVyOiBHSVBJRHluYW1pY1RhYkRpcmVjdGl2ZTtcblxuICAgIHB1YmxpYyBkeW5hbWljVGFiczogR0lQSVRhYkNvbXBvbmVudFtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYnM6IEdJUElUYWJDb21wb25lbnRbXSA9IHRoaXMudGFiUXVlcnlMaXN0LmZpbHRlcih0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnRhYlF1ZXJ5TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYlF1ZXJ5TGlzdC5maXJzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblRhYihsYWJlbDogc3RyaW5nLCB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIGRhdGE/OiBhbnksIGNsb3NlYWJsZTogYm9vbGVhbiA9IGZhbHNlLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBhY3Rpb24/OiAob2JqOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFiOiBUYWJNb2RlbCA9IG5ldyBUYWJNb2RlbCgpO1xuICAgICAgICB0YWIubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgdGFiLnRlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICAgIHRhYi5kYXRhID0gZGF0YTtcbiAgICAgICAgdGFiLmNsb3NlYWJsZSA9IGNsb3NlYWJsZTtcbiAgICAgICAgdGFiLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIHRhYi5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMuX29wZW5UYWJzKEFycmF5KHRhYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5UYWJzKHRhYkxpc3Q6IFRhYk1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFic0NvbXBvbmVudDogR0lQSVRhYkNvbXBvbmVudFtdID0gdGFiTGlzdC5tYXAodGFiID0+IHRoaXMuX2dldFRhYkNvbXBvbmVudCh0YWIubGFiZWwsIHRhYi50ZW1wbGF0ZSwgdGFiLmRhdGEsIHRhYi5jbG9zZWFibGUsIHRhYi5kaXNhYmxlZCwgdGFiLmFjdGlvbikpO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLnB1c2goLi4udGFic0NvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMuZHluYW1pY1RhYnNbMF0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRhYkNvbXBvbmVudChsYWJlbDogc3RyaW5nLCB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIGRhdGE/OiBhbnksIGNsb3NlYWJsZTogYm9vbGVhbiA9IGZhbHNlLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBhY3Rpb24/OiAob2JqOiBhbnkpID0+IHZvaWQpOiBHSVBJVGFiQ29tcG9uZW50IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxHSVBJVGFiQ29tcG9uZW50PiA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShHSVBJVGFiQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8R0lQSVRhYkNvbXBvbmVudD4gPSB0aGlzLmR5bmFtaWNUYWJQbGFjZWhvbGRlci52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcblxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgaW5zdGFuY2UubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgaW5zdGFuY2UudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgaW5zdGFuY2UuZGF0YSA9IGRhdGE7XG4gICAgICAgIGluc3RhbmNlLmNsb3NlYWJsZSA9IGNsb3NlYWJsZTtcbiAgICAgICAgaW5zdGFuY2UuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgICAgaW5zdGFuY2UuYWN0aW9uID0gYWN0aW9uO1xuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFRhYih0YWI6IEdJUElUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0YWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG5cbiAgICAgICAgaWYgKHRhYi5hY3Rpb24pIHtcbiAgICAgICAgICAgIHRhYi5hY3Rpb24odGFiLmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlVGFiKHRhYjogR0lQSVRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5keW5hbWljVGFicy5pbmRleE9mKHRhYik7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhYnMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gdGhpcy5keW5hbWljVGFiUGxhY2Vob2xkZXIudmlld0NvbnRhaW5lcjtcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoaW5kZXgpO1xuXG4gICAgICAgIGlmICh0aGlzLnRhYlF1ZXJ5TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYlF1ZXJ5TGlzdC5maXJzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBY3RpdmVUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRhYnMgPSB0aGlzLmR5bmFtaWNUYWJzLmZpbHRlcih0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGlmIChhY3RpdmVUYWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VUYWIoYWN0aXZlVGFic1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBbGxUYWJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJzID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5keW5hbWljVGFicyk7XG4gICAgICAgIGlmICh0YWJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRhYnMuZm9yRWFjaCh0YWIgPT4gdGhpcy5jbG9zZVRhYih0YWIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0VGFiKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50VGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpLmZpbmQodGFiID0+IHRhYi5hY3RpdmUpO1xuICAgICAgICBjb25zdCBuZXh0VGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpW3RoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5pbmRleE9mKGN1cnJlbnRUYWIpICsgMV07XG4gICAgICAgIGlmIChuZXh0VGFiICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5mb3JFYWNoKHQgPT4gKHQuYWN0aXZlID0gZmFsc2UpKTtcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1RhYnMuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICBuZXh0VGFiLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICBuZXh0VGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcHJldmlvdXNUYWIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWI6IEdJUElUYWJDb21wb25lbnQgPSB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZmluZCh0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGFiOiBHSVBJVGFiQ29tcG9uZW50ID0gdGhpcy50YWJRdWVyeUxpc3QudG9BcnJheSgpW3RoaXMudGFiUXVlcnlMaXN0LnRvQXJyYXkoKS5pbmRleE9mKGN1cnJlbnRUYWIpIC0gMV07XG4gICAgICAgIGlmIChwcmV2aW91c1RhYiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnRhYlF1ZXJ5TGlzdC50b0FycmF5KCkuZm9yRWFjaCh0ID0+ICh0LmFjdGl2ZSA9IGZhbHNlKSk7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNUYWJzLmZvckVhY2godCA9PiAodC5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICAgICAgcHJldmlvdXNUYWIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHByZXZpb3VzVGFiLnNlbGVjdGlvbkNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuIl19