@gipisistemas/ng-core 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/assets/styles/colors.scss +5 -1
  2. package/bundles/gipisistemas-ng-core.umd.js +2098 -1285
  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/core/utils/string.util.d.ts +4 -0
  10. package/esm2015/core/gipi-components/models/sort.model.js +1 -1
  11. package/esm2015/core/gipi-components/services/abstract-crud.service.js +18 -24
  12. package/esm2015/core/utils/array.util.js +4 -2
  13. package/esm2015/core/utils/object.util.js +5 -9
  14. package/esm2015/core/utils/string.util.js +27 -1
  15. package/esm2015/gipi-components.js +11 -1
  16. package/esm2015/shared/components/input/input.component.js +46 -23
  17. package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
  18. package/esm2015/shared/components/table/table.component.js +1 -1
  19. package/esm2015/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  20. package/esm2015/shared/gipi-components/button/button.component.js +18 -2
  21. package/esm2015/shared/gipi-components/card/card.component.js +113 -0
  22. package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  23. package/esm2015/shared/gipi-components/empty-state/empty-state.component.js +30 -0
  24. package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  25. package/esm2015/shared/gipi-components/layout-grid/col.directive.js +4 -4
  26. package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  27. package/esm2015/shared/gipi-components/notification/notification.component.js +8 -3
  28. package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
  29. package/esm2015/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  30. package/esm2015/shared/gipi-components/slide-toggle/slide-toggle.component.js +113 -0
  31. package/esm2015/shared/gipi-components/split-button/split-button.component.js +243 -0
  32. package/esm2015/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +18 -0
  33. package/esm2015/shared/gipi-components/tabs/shared/tab.model.js +8 -0
  34. package/esm2015/shared/gipi-components/tabs/tab/tab.component.js +66 -0
  35. package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +123 -0
  36. package/esm2015/shared/gipi-components/textarea/textarea.component.js +298 -0
  37. package/esm2015/shared/shared.module.js +22 -16
  38. package/esm2015/shared.js +1 -5
  39. package/esm5/core/gipi-components/models/sort.model.js +1 -1
  40. package/esm5/core/gipi-components/services/abstract-crud.service.js +18 -24
  41. package/esm5/core/utils/array.util.js +4 -3
  42. package/esm5/core/utils/object.util.js +5 -9
  43. package/esm5/core/utils/string.util.js +27 -1
  44. package/esm5/gipi-components.js +11 -1
  45. package/esm5/shared/components/input/input.component.js +46 -23
  46. package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
  47. package/esm5/shared/components/table/table.component.js +1 -1
  48. package/esm5/shared/gipi-components/abstract-form/abstract-form.component.js +1 -1
  49. package/esm5/shared/gipi-components/button/button.component.js +22 -2
  50. package/esm5/shared/gipi-components/card/card.component.js +135 -0
  51. package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +8 -3
  52. package/esm5/shared/gipi-components/empty-state/empty-state.component.js +33 -0
  53. package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
  54. package/esm5/shared/gipi-components/layout-grid/col.directive.js +4 -4
  55. package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +2 -2
  56. package/esm5/shared/gipi-components/notification/notification.component.js +8 -3
  57. package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
  58. package/esm5/shared/gipi-components/sidebar/sidenav/sidenav.component.js +35 -3
  59. package/esm5/shared/gipi-components/slide-toggle/slide-toggle.component.js +127 -0
  60. package/esm5/shared/gipi-components/split-button/split-button.component.js +249 -0
  61. package/esm5/shared/gipi-components/tabs/shared/dynamic-tab.directive.js +19 -0
  62. package/esm5/shared/gipi-components/tabs/shared/tab.model.js +10 -0
  63. package/esm5/shared/gipi-components/tabs/tab/tab.component.js +67 -0
  64. package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +131 -0
  65. package/esm5/shared/gipi-components/textarea/textarea.component.js +352 -0
  66. package/esm5/shared/shared.module.js +22 -16
  67. package/esm5/shared.js +1 -5
  68. package/fesm2015/gipisistemas-ng-core.js +1991 -1274
  69. package/fesm2015/gipisistemas-ng-core.js.map +1 -1
  70. package/fesm5/gipisistemas-ng-core.js +2088 -1281
  71. package/fesm5/gipisistemas-ng-core.js.map +1 -1
  72. package/gipi-components.d.ts +9 -0
  73. package/gipisistemas-ng-core.metadata.json +1 -1
  74. package/package.json +1 -2
  75. package/shared/components/input/input.component.d.ts +13 -11
  76. package/shared/components/table/table.component.d.ts +3 -3
  77. package/shared/gipi-components/button/button.component.d.ts +14 -0
  78. package/shared/gipi-components/card/card.component.d.ts +23 -0
  79. package/shared/gipi-components/empty-state/empty-state.component.d.ts +5 -0
  80. package/shared/gipi-components/notification/notification.component.d.ts +1 -0
  81. package/shared/gipi-components/sidebar/sidenav/sidenav.component.d.ts +7 -0
  82. package/shared/gipi-components/slide-toggle/slide-toggle.component.d.ts +27 -0
  83. package/shared/gipi-components/split-button/split-button.component.d.ts +60 -0
  84. package/shared/{directives → gipi-components/tabs/shared}/dynamic-tab.directive.d.ts +1 -1
  85. package/shared/gipi-components/tabs/shared/tab.model.d.ts +12 -0
  86. package/shared/{components → gipi-components/tabs}/tab/tab.component.d.ts +4 -2
  87. package/shared/gipi-components/tabs/tab-group/tab-group.component.d.ts +22 -0
  88. package/shared/gipi-components/textarea/textarea.component.d.ts +68 -0
  89. package/shared.d.ts +0 -4
  90. package/esm2015/shared/components/select-button/select-button.component.js +0 -181
  91. package/esm2015/shared/components/tab/tab.component.js +0 -57
  92. package/esm2015/shared/components/tab-group/tab-group.component.js +0 -117
  93. package/esm2015/shared/directives/dynamic-tab.directive.js +0 -18
  94. package/esm5/shared/components/select-button/select-button.component.js +0 -195
  95. package/esm5/shared/components/tab/tab.component.js +0 -58
  96. package/esm5/shared/components/tab-group/tab-group.component.js +0 -125
  97. package/esm5/shared/directives/dynamic-tab.directive.js +0 -19
  98. package/shared/components/select-button/select-button.component.d.ts +0 -35
  99. package/shared/components/tab-group/tab-group.component.d.ts +0 -22
@@ -0,0 +1,243 @@
1
+ var GIPISplitButtonComponent_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { animate, state, style, transition, trigger } from '@angular/animations';
4
+ import { Component, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { GIPIPopoverTrigger } from '../popover/shared/popover-trigger';
7
+ import { ObjectUtil } from './../../../core/utils/object.util';
8
+ let nextUniqueId = 0;
9
+ let GIPISplitButtonComponent = GIPISplitButtonComponent_1 = class GIPISplitButtonComponent {
10
+ constructor(elementRef) {
11
+ this.elementRef = elementRef;
12
+ this._uniqueId = nextUniqueId++;
13
+ this._name = `gipi-split-button-${this._uniqueId}`;
14
+ this.idBtnDefault = `gipi-split-button-default-${this._uniqueId}`;
15
+ this.idBtnMenu = `gipi-split-button-menu-${this._uniqueId}`;
16
+ this.isSplitButtonPrimary = this._hasHostAttributes('gipi-primary');
17
+ this.isSplitButtonSecondary = this._hasHostAttributes('gipi-secondary');
18
+ this.isSplitButtonTertiary = this._hasHostAttributes('gipi-tertiary');
19
+ this.isSplitButtonAction = this._hasHostAttributes('gipi-action');
20
+ this.id = this._name;
21
+ this.name = this._name;
22
+ this.type = 'button';
23
+ this.ariaLabel = '';
24
+ this.title = '';
25
+ this.label = '';
26
+ this.disabled = false;
27
+ this.loading = false;
28
+ this.tooltip = '';
29
+ this.splitOptions = [];
30
+ this.onOpenPopover = new EventEmitter();
31
+ this.onClosePopover = new EventEmitter();
32
+ this.onClick = new EventEmitter(true);
33
+ this.onFocus = new EventEmitter(true);
34
+ this.onBlur = new EventEmitter(true);
35
+ }
36
+ ngOnInit() { }
37
+ ngOnDestroy() {
38
+ if (this.popoverTrigger) {
39
+ this.popoverTrigger.destroyPopover();
40
+ }
41
+ }
42
+ getHostElement() {
43
+ return this.elementRef.nativeElement;
44
+ }
45
+ _hasHostAttributes(...attributes) {
46
+ return attributes.some(attribute => this.getHostElement().hasAttribute(attribute));
47
+ }
48
+ btnIdAndName() {
49
+ const uniqueId = nextUniqueId++;
50
+ return {
51
+ btnDefault: `gipi-split-button-default-${uniqueId}`,
52
+ btnMenu: `gipi-split-button-menu-${uniqueId}`,
53
+ };
54
+ }
55
+ getInternalButtonClass(isBtnDefault) {
56
+ return {
57
+ 'button-default': isBtnDefault,
58
+ 'button-menu': !isBtnDefault,
59
+ 'button-primary': this.isSplitButtonPrimary,
60
+ 'button-secondary': this.isSplitButtonSecondary,
61
+ 'button-tertiary': this.isSplitButtonTertiary,
62
+ 'button-action': this.isSplitButtonAction,
63
+ };
64
+ }
65
+ showPopover() {
66
+ if (this.disabled || this.loading) {
67
+ return;
68
+ }
69
+ else {
70
+ this.popoverTrigger.openPopover();
71
+ }
72
+ }
73
+ closePopover() {
74
+ if (this.disabled || this.loading) {
75
+ return;
76
+ }
77
+ else {
78
+ this.popoverTrigger.closePopover();
79
+ }
80
+ }
81
+ handleClick(event) {
82
+ if (this.disabled || this.loading) {
83
+ return;
84
+ }
85
+ else {
86
+ this.onClick.emit(event);
87
+ this.closePopover();
88
+ event.stopPropagation();
89
+ }
90
+ }
91
+ handleFocus(event) {
92
+ if (this.disabled || this.loading) {
93
+ return;
94
+ }
95
+ else {
96
+ this.onFocus.emit(event);
97
+ event.stopPropagation();
98
+ }
99
+ }
100
+ handleBlur(event) {
101
+ if (this.disabled || this.loading) {
102
+ return;
103
+ }
104
+ else {
105
+ this.onBlur.emit(event);
106
+ event.stopPropagation();
107
+ }
108
+ }
109
+ handleClickBtnMenu(event) {
110
+ if (this.disabled || this.loading) {
111
+ return;
112
+ }
113
+ else {
114
+ if (!ObjectUtil.isNull(this.popoverTrigger)) {
115
+ this.popoverTrigger.togglePopover();
116
+ }
117
+ event.stopPropagation();
118
+ }
119
+ }
120
+ handleClickBtnSplitOption(option) {
121
+ if (this.disabled || this.loading || !option || option.disabled || !option.clickFn) {
122
+ return;
123
+ }
124
+ else {
125
+ option.clickFn();
126
+ this.closePopover();
127
+ }
128
+ }
129
+ onResize(event) {
130
+ if (this.popoverTrigger) {
131
+ this.popoverTrigger.closePopover();
132
+ event.stopPropagation();
133
+ }
134
+ }
135
+ };
136
+ GIPISplitButtonComponent.ctorParameters = () => [
137
+ { type: ElementRef }
138
+ ];
139
+ __decorate([
140
+ ViewChild(GIPIPopoverTrigger, { static: false }),
141
+ __metadata("design:type", GIPIPopoverTrigger)
142
+ ], GIPISplitButtonComponent.prototype, "popoverTrigger", void 0);
143
+ __decorate([
144
+ Input(),
145
+ __metadata("design:type", String)
146
+ ], GIPISplitButtonComponent.prototype, "id", void 0);
147
+ __decorate([
148
+ Input(),
149
+ __metadata("design:type", String)
150
+ ], GIPISplitButtonComponent.prototype, "name", void 0);
151
+ __decorate([
152
+ Input(),
153
+ __metadata("design:type", String)
154
+ ], GIPISplitButtonComponent.prototype, "type", void 0);
155
+ __decorate([
156
+ Input(),
157
+ __metadata("design:type", String)
158
+ ], GIPISplitButtonComponent.prototype, "ariaLabel", void 0);
159
+ __decorate([
160
+ Input(),
161
+ __metadata("design:type", String)
162
+ ], GIPISplitButtonComponent.prototype, "title", void 0);
163
+ __decorate([
164
+ Input(),
165
+ __metadata("design:type", String)
166
+ ], GIPISplitButtonComponent.prototype, "label", void 0);
167
+ __decorate([
168
+ Input(),
169
+ __metadata("design:type", String)
170
+ ], GIPISplitButtonComponent.prototype, "buttonClass", void 0);
171
+ __decorate([
172
+ Input(),
173
+ __metadata("design:type", Boolean)
174
+ ], GIPISplitButtonComponent.prototype, "disabled", void 0);
175
+ __decorate([
176
+ Input(),
177
+ __metadata("design:type", Boolean)
178
+ ], GIPISplitButtonComponent.prototype, "loading", void 0);
179
+ __decorate([
180
+ Input(),
181
+ __metadata("design:type", String)
182
+ ], GIPISplitButtonComponent.prototype, "tooltip", void 0);
183
+ __decorate([
184
+ Input('options'),
185
+ __metadata("design:type", Array)
186
+ ], GIPISplitButtonComponent.prototype, "splitOptions", void 0);
187
+ __decorate([
188
+ Output(),
189
+ __metadata("design:type", EventEmitter)
190
+ ], GIPISplitButtonComponent.prototype, "onOpenPopover", void 0);
191
+ __decorate([
192
+ Output(),
193
+ __metadata("design:type", EventEmitter)
194
+ ], GIPISplitButtonComponent.prototype, "onClosePopover", void 0);
195
+ __decorate([
196
+ Output('click'),
197
+ __metadata("design:type", EventEmitter)
198
+ ], GIPISplitButtonComponent.prototype, "onClick", void 0);
199
+ __decorate([
200
+ Output('focus'),
201
+ __metadata("design:type", EventEmitter)
202
+ ], GIPISplitButtonComponent.prototype, "onFocus", void 0);
203
+ __decorate([
204
+ Output('blur'),
205
+ __metadata("design:type", EventEmitter)
206
+ ], GIPISplitButtonComponent.prototype, "onBlur", void 0);
207
+ __decorate([
208
+ HostListener('window:resize', ['$event']),
209
+ __metadata("design:type", Function),
210
+ __metadata("design:paramtypes", [UIEvent]),
211
+ __metadata("design:returntype", void 0)
212
+ ], GIPISplitButtonComponent.prototype, "onResize", null);
213
+ GIPISplitButtonComponent = GIPISplitButtonComponent_1 = __decorate([
214
+ Component({
215
+ selector: `gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],
216
+ gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]`,
217
+ exportAs: 'gipiSplitButton',
218
+ template: "<div [matTooltip]=\"tooltip\"\n [class]=\"buttonClass || ''\"\n [class.button-base]=\"true\"\n [class.disabled]=\"disabled || loading\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\">\n <button [attr.id]=\"idBtnDefault\"\n [attr.name]=\"idBtnDefault\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(true)\"\n role=\"button\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n {{ label ? label : '' }}\n </button>\n <button [attr.id]=\"idBtnMenu\"\n [attr.name]=\"idBtnMenu\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(false)\"\n role=\"button\"\n (click)=\"handleClickBtnMenu($event)\">\n <mat-icon [@indicatorRotate]=\"popoverTrigger?.popoverOpen ? 'opened': 'closed'\"> expand_more </mat-icon>\n </button>\n</div>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"btn-popover-content\">\n <button class=\"btn-split-option\"\n *ngFor=\"let option of splitOptions\"\n [disabled]=\"option?.disabled\"\n (click)=\"handleClickBtnSplitOption(option)\">\n {{ option.label }}\n </button>\n </div>\n</gipi-popover>",
219
+ providers: [
220
+ {
221
+ provide: NG_VALUE_ACCESSOR,
222
+ useExisting: forwardRef(() => GIPISplitButtonComponent_1),
223
+ multi: true
224
+ }
225
+ ],
226
+ host: {
227
+ 'class': 'gipi-split-button',
228
+ '[attr.id]': 'id',
229
+ '[attr.name]': 'name',
230
+ },
231
+ animations: [
232
+ trigger('indicatorRotate', [
233
+ state('closed', style({ transform: 'rotate(0deg)' })),
234
+ state('opened', style({ transform: 'rotate(-180deg)' })),
235
+ transition('opened <=> closed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
236
+ ])
237
+ ],
238
+ styles: [".button-base{display:flex;flex-direction:row;justify-content:center;border-radius:4px;font-weight:600;font-size:1.4rem;line-height:1.6rem;cursor:pointer;outline:0;white-space:nowrap;text-decoration:none;vertical-align:middle;text-align:center;box-shadow:1px 1px 5px 0 rgba(0,0,0,.1);transition:.2s;width:100%;max-height:4rem;border:1px solid transparent;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button-base.disabled{cursor:not-allowed!important;box-shadow:none}.button-base>button{display:flex;align-items:center;justify-content:center;border:none;outline:0;box-shadow:none;width:100%;height:40px;padding:12px 16px;overflow:hidden;border-radius:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}.button-base>button:not(.disabled):active{opacity:.8}.button-base .button-default{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.button-base .button-menu{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.button-primary:not(:disabled),.button-primary:not(:disabled)>mat-icon{background-color:#e0313e;color:#fff;fill:#fff}.button-primary:not(:disabled).button-default,.button-primary:not(:disabled)>mat-icon.button-default{border-right:1px solid #9f232c}.button-primary:not(:disabled) svg,.button-primary:not(:disabled) svg g path,.button-primary:not(:disabled) svg path,.button-primary:not(:disabled)>mat-icon svg,.button-primary:not(:disabled)>mat-icon svg g path,.button-primary:not(:disabled)>mat-icon svg path{color:#fff;fill:#fff}.button-primary:disabled,.button-primary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-primary:disabled.button-default,.button-primary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-primary:disabled svg,.button-primary:disabled svg g path,.button-primary:disabled svg path,.button-primary:disabled>mat-icon svg,.button-primary:disabled>mat-icon svg g path,.button-primary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-primary:not(:disabled):hover,.button-primary:not(:disabled):hover>mat-icon{background-color:#cc2d38;color:#fff;fill:#fff}.button-primary:not(:disabled):hover svg,.button-primary:not(:disabled):hover svg g path,.button-primary:not(:disabled):hover svg path,.button-primary:not(:disabled):hover>mat-icon svg,.button-primary:not(:disabled):hover>mat-icon svg g path,.button-primary:not(:disabled):hover>mat-icon svg path{color:#fff;fill:#fff}.button-secondary{background-color:transparent}.button-secondary:not(:disabled),.button-secondary:not(:disabled)>mat-icon{border-color:#595959;color:#595959;fill:#595959}.button-secondary:not(:disabled).button-default,.button-secondary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-secondary:not(:disabled) svg,.button-secondary:not(:disabled) svg g path,.button-secondary:not(:disabled) svg path,.button-secondary:not(:disabled)>mat-icon svg,.button-secondary:not(:disabled)>mat-icon svg g path,.button-secondary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-secondary:disabled,.button-secondary:disabled>mat-icon{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-secondary:disabled.button-default,.button-secondary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-secondary:disabled svg,.button-secondary:disabled svg g path,.button-secondary:disabled svg path,.button-secondary:disabled>mat-icon svg,.button-secondary:disabled>mat-icon svg g path,.button-secondary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-secondary:not(:disabled):hover,.button-secondary:not(:disabled):hover>mat-icon{border-color:#595959;background-color:#e0e1e2;color:#595959;fill:#595959}.button-secondary:not(:disabled):hover svg,.button-secondary:not(:disabled):hover svg g path,.button-secondary:not(:disabled):hover svg path,.button-secondary:not(:disabled):hover>mat-icon svg,.button-secondary:not(:disabled):hover>mat-icon svg g path,.button-secondary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary{background-color:#e7ebee;box-shadow:none}.button-tertiary:not(:disabled),.button-tertiary:not(:disabled)>mat-icon{color:#595959;fill:#595959}.button-tertiary:not(:disabled).button-default,.button-tertiary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-tertiary:not(:disabled) svg,.button-tertiary:not(:disabled) svg g path,.button-tertiary:not(:disabled) svg path,.button-tertiary:not(:disabled)>mat-icon svg,.button-tertiary:not(:disabled)>mat-icon svg g path,.button-tertiary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary:disabled,.button-tertiary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-tertiary:disabled.button-default,.button-tertiary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-tertiary:disabled svg,.button-tertiary:disabled svg g path,.button-tertiary:disabled svg path,.button-tertiary:disabled>mat-icon svg,.button-tertiary:disabled>mat-icon svg g path,.button-tertiary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-tertiary:not(:disabled):hover,.button-tertiary:not(:disabled):hover>mat-icon{background-color:#e0e1e2;color:#595959;fill:#595959}.button-tertiary:not(:disabled):hover svg,.button-tertiary:not(:disabled):hover svg g path,.button-tertiary:not(:disabled):hover svg path,.button-tertiary:not(:disabled):hover>mat-icon svg,.button-tertiary:not(:disabled):hover>mat-icon svg g path,.button-tertiary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-action{background-color:transparent;box-shadow:none;display:flex;justify-content:flex-start!important}.button-action:not(:disabled),.button-action:not(:disabled)>mat-icon{color:#262626;fill:#262626}.button-action:not(:disabled).button-default,.button-action:not(:disabled)>mat-icon.button-default{border-right:1px solid #262626}.button-action:not(:disabled) svg,.button-action:not(:disabled) svg g path,.button-action:not(:disabled) svg path,.button-action:not(:disabled)>mat-icon svg,.button-action:not(:disabled)>mat-icon svg g path,.button-action:not(:disabled)>mat-icon svg path{color:#262626;fill:#262626}.button-action:disabled,.button-action:disabled>mat-icon{color:#9a9da2;fill:#9a9da2}.button-action:disabled.button-default,.button-action:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-action:disabled svg,.button-action:disabled svg g path,.button-action:disabled svg path,.button-action:disabled>mat-icon svg,.button-action:disabled>mat-icon svg g path,.button-action:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-action:not(:disabled):hover,.button-action:not(:disabled):hover>mat-icon{background-color:#f5f5f6;color:#262626;fill:#262626}.button-action:not(:disabled):hover svg,.button-action:not(:disabled):hover svg g path,.button-action:not(:disabled):hover svg path,.button-action:not(:disabled):hover>mat-icon svg,.button-action:not(:disabled):hover>mat-icon svg g path,.button-action:not(:disabled):hover>mat-icon svg path{color:#262626;fill:#262626}.disabled,:disabled{pointer-events:none!important}.btn-popover-content{display:flex;flex-direction:column;gap:.8rem;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}.btn-split-option{width:100%;padding:.8rem;border-radius:.4rem;border:1px solid transparent;text-align:left;outline:0;background-color:transparent;cursor:pointer}.btn-split-option:not(:disabled){color:#595959}.btn-split-option:disabled{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;cursor:not-allowed}.btn-split-option:not(:disabled):hover{border-color:#595959;background-color:#e0e1e2;color:#595959}"]
239
+ }),
240
+ __metadata("design:paramtypes", [ElementRef])
241
+ ], GIPISplitButtonComponent);
242
+ export { GIPISplitButtonComponent };
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvc3BsaXQtYnV0dG9uL3NwbGl0LWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRL0QsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBNEJyQixJQUFhLHdCQUF3QixnQ0FBckMsTUFBYSx3QkFBd0I7SUEyQ2pDLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6Q2pDLGNBQVMsR0FBVyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxVQUFLLEdBQVcscUJBQXFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV2RCxpQkFBWSxHQUFHLDZCQUE2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0QsY0FBUyxHQUFHLDBCQUEwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFckQseUJBQW9CLEdBQVksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hFLDJCQUFzQixHQUFZLElBQUksQ0FB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QkFBd0I7SUExQnBDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRTtnRkFDa0U7UUFDNUUsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQiw0Z0VBQTRDO1FBRTVDLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLE1BQU07U0FDeEI7UUFDRCxVQUFVLEVBQUU7WUFDUixPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3ZCLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztnQkFDeEQsVUFBVSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2FBQ2hGLENBQUM7U0FDTDs7S0FDSixDQUFDO3FDQTRDaUMsVUFBVTtHQTNDaEMsd0JBQXdCLENBd0pwQztTQXhKWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdJUElQb3BvdmVyVHJpZ2dlciB9IGZyb20gJy4uL3BvcG92ZXIvc2hhcmVkL3BvcG92ZXItdHJpZ2dlcic7XG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi8uLi8uLi8uLi9jb3JlL3V0aWxzL29iamVjdC51dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBTcGxpdE9wdGlvbnMge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgY2xpY2tGbjogRnVuY3Rpb247XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGdpcGktc3BsaXQtYnV0dG9uW2dpcGktcHJpbWFyeV0sIGdpcGktc3BsaXQtYnV0dG9uW2dpcGktc2Vjb25kYXJ5XSxcbiAgICAgICAgICAgICAgIGdpcGktc3BsaXQtYnV0dG9uW2dpcGktdGVydGlhcnldLCBnaXBpLXNwbGl0LWJ1dHRvbltnaXBpLWFjdGlvbl1gLFxuICAgIGV4cG9ydEFzOiAnZ2lwaVNwbGl0QnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zcGxpdC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHSVBJU3BsaXRCdXR0b25Db21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnZ2lwaS1zcGxpdC1idXR0b24nLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAgICAgJ1thdHRyLm5hbWVdJzogJ25hbWUnLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdpbmRpY2F0b3JSb3RhdGUnLCBbXG4gICAgICAgICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknIH0pKSxcbiAgICAgICAgICAgIHN0YXRlKCdvcGVuZWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgtMTgwZGVnKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignb3BlbmVkIDw9PiBjbG9zZWQnLCBhbmltYXRlKCcyMjVtcyBjdWJpYy1iZXppZXIoMC40LDAuMCwwLjIsMSknKSksXG4gICAgICAgIF0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBHSVBJU3BsaXRCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IG51bWJlciA9IG5leHRVbmlxdWVJZCsrO1xuICAgIHByaXZhdGUgX25hbWU6IHN0cmluZyA9IGBnaXBpLXNwbGl0LWJ1dHRvbi0ke3RoaXMuX3VuaXF1ZUlkfWA7XG5cbiAgICBwdWJsaWMgaWRCdG5EZWZhdWx0ID0gYGdpcGktc3BsaXQtYnV0dG9uLWRlZmF1bHQtJHt0aGlzLl91bmlxdWVJZH1gO1xuICAgIHB1YmxpYyBpZEJ0bk1lbnUgPSBgZ2lwaS1zcGxpdC1idXR0b24tbWVudS0ke3RoaXMuX3VuaXF1ZUlkfWA7XG5cbiAgICByZWFkb25seSBpc1NwbGl0QnV0dG9uUHJpbWFyeTogYm9vbGVhbiA9IHRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKCdnaXBpLXByaW1hcnknKTtcbiAgICByZWFkb25seSBpc1NwbGl0QnV0dG9uU2Vjb25kYXJ5OiBib29sZWFuID0gdGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoJ2dpcGktc2Vjb25kYXJ5Jyk7XG4gICAgcmVhZG9ubHkgaXNTcGxpdEJ1dHRvblRlcnRpYXJ5OiBib29sZWFuID0gdGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoJ2dpcGktdGVydGlhcnknKTtcbiAgICByZWFkb25seSBpc1NwbGl0QnV0dG9uQWN0aW9uOiBib29sZWFuID0gdGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoJ2dpcGktYWN0aW9uJyk7XG5cbiAgICBAVmlld0NoaWxkKEdJUElQb3BvdmVyVHJpZ2dlciwgeyBzdGF0aWM6IGZhbHNlIH0pIHBvcG92ZXJUcmlnZ2VyOiBHSVBJUG9wb3ZlclRyaWdnZXI7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gdGhpcy5fbmFtZTtcblxuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9IHRoaXMuX25hbWU7XG5cbiAgICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIGJ1dHRvbkNsYXNzOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoJ29wdGlvbnMnKSBzcGxpdE9wdGlvbnM6IFNwbGl0T3B0aW9uc1tdID0gW107XG5cbiAgICBAT3V0cHV0KCkgb25PcGVuUG9wb3ZlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvbkNsb3NlUG9wb3ZlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoJ2NsaWNrJykgb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcih0cnVlKTtcbiAgICBAT3V0cHV0KCdmb2N1cycpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIodHJ1ZSk7XG4gICAgQE91dHB1dCgnYmx1cicpIG9uQmx1cjogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcih0cnVlKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9wb3ZlclRyaWdnZXIpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclRyaWdnZXIuZGVzdHJveVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oYXNIb3N0QXR0cmlidXRlcyguLi5hdHRyaWJ1dGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYXR0cmlidXRlcy5zb21lKGF0dHJpYnV0ZSA9PiB0aGlzLmdldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBidG5JZEFuZE5hbWUoKTogeyBidG5EZWZhdWx0OiBzdHJpbmcsIGJ0bk1lbnU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3QgdW5pcXVlSWQ6IG51bWJlciA9IG5leHRVbmlxdWVJZCsrO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYnRuRGVmYXVsdDogYGdpcGktc3BsaXQtYnV0dG9uLWRlZmF1bHQtJHt1bmlxdWVJZH1gLFxuICAgICAgICAgICAgYnRuTWVudTogYGdpcGktc3BsaXQtYnV0dG9uLW1lbnUtJHt1bmlxdWVJZH1gLFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEludGVybmFsQnV0dG9uQ2xhc3MoaXNCdG5EZWZhdWx0OiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnYnV0dG9uLWRlZmF1bHQnOiBpc0J0bkRlZmF1bHQsXG4gICAgICAgICAgICAnYnV0dG9uLW1lbnUnOiAhaXNCdG5EZWZhdWx0LFxuICAgICAgICAgICAgJ2J1dHRvbi1wcmltYXJ5JzogdGhpcy5pc1NwbGl0QnV0dG9uUHJpbWFyeSxcbiAgICAgICAgICAgICdidXR0b24tc2Vjb25kYXJ5JzogdGhpcy5pc1NwbGl0QnV0dG9uU2Vjb25kYXJ5LFxuICAgICAgICAgICAgJ2J1dHRvbi10ZXJ0aWFyeSc6IHRoaXMuaXNTcGxpdEJ1dHRvblRlcnRpYXJ5LFxuICAgICAgICAgICAgJ2J1dHRvbi1hY3Rpb24nOiB0aGlzLmlzU3BsaXRCdXR0b25BY3Rpb24sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dQb3BvdmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclRyaWdnZXIub3BlblBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZVBvcG92ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlci5jbG9zZVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVGb2N1cyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUJsdXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5sb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNsaWNrQnRuTWVudShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0VXRpbC5pc051bGwodGhpcy5wb3BvdmVyVHJpZ2dlcikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJUcmlnZ2VyLnRvZ2dsZVBvcG92ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNsaWNrQnRuU3BsaXRPcHRpb24ob3B0aW9uOiBTcGxpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5sb2FkaW5nIHx8ICFvcHRpb24gfHwgb3B0aW9uLmRpc2FibGVkIHx8ICFvcHRpb24uY2xpY2tGbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9uLmNsaWNrRm4oKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvblJlc2l6ZShldmVudDogVUlFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3BvdmVyVHJpZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyVHJpZ2dlci5jbG9zZVBvcG92ZXIoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
@@ -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