design-angular-kit 1.0.0-7 → 1.0.0-8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/abstracts/abstract-form-component.mjs +6 -5
- package/esm2020/lib/abstracts/abstract.component.mjs +13 -6
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +19 -8
- package/esm2020/lib/components/core/alert/alert.component.mjs +46 -6
- package/esm2020/lib/components/core/button/button.directive.mjs +14 -12
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +23 -18
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +74 -4
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +8 -11
- package/esm2020/lib/components/core/link/link.component.mjs +9 -8
- package/esm2020/lib/components/core/modal/modal.component.mjs +5 -5
- package/esm2020/lib/components/core/popover/popover.directive.mjs +5 -2
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +37 -11
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +4 -4
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +4 -1
- package/esm2020/lib/components/form/input/input.component.mjs +2 -2
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +1 -1
- package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +1 -1
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +13 -10
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +41 -6
- package/esm2020/lib/components/navigation/header/header.component.mjs +9 -7
- package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +1 -1
- package/esm2020/lib/utils/file-utils.mjs +9 -1
- package/fesm2015/design-angular-kit.mjs +416 -193
- package/fesm2015/design-angular-kit.mjs.map +1 -1
- package/fesm2020/design-angular-kit.mjs +395 -189
- package/fesm2020/design-angular-kit.mjs.map +1 -1
- package/lib/abstracts/abstract-form-component.d.ts +4 -3
- package/lib/abstracts/abstract.component.d.ts +10 -4
- package/lib/components/core/accordion/accordion.component.d.ts +4 -8
- package/lib/components/core/alert/alert.component.d.ts +24 -2
- package/lib/components/core/button/button.directive.d.ts +5 -7
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +1 -1
- package/lib/components/core/collapse/collapse.component.d.ts +8 -7
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +41 -3
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +0 -5
- package/lib/components/core/link/link.component.d.ts +2 -5
- package/lib/components/core/modal/modal.component.d.ts +2 -2
- package/lib/components/core/popover/popover.directive.d.ts +3 -2
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +6 -4
- package/lib/components/core/tooltip/tooltip.directive.d.ts +3 -2
- package/lib/components/form/password-input/password-input.component.d.ts +2 -1
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +2 -1
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +3 -3
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +22 -3
- package/lib/components/navigation/header/header.component.d.ts +6 -4
- package/lib/utils/file-utils.d.ts +5 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, Self, Optional, Directive, HostBinding,
|
|
2
|
+
import { EventEmitter, Component, Input, Output, Self, Optional, ChangeDetectionStrategy, ViewChild, Directive, HostBinding, Host, ContentChildren, HostListener, TemplateRef, Injectable, ViewChildren, Pipe, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@ngx-translate/core';
|
|
4
4
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
5
5
|
import { HttpClientModule, HttpClient } from '@angular/common/http';
|
|
@@ -10,27 +10,34 @@ import * as i2 from '@angular/forms';
|
|
|
10
10
|
import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
11
11
|
import * as i2$1 from '@angular/router';
|
|
12
12
|
import { RouterLink } from '@angular/router';
|
|
13
|
-
import { CarouselBI,
|
|
14
|
-
import { Subject, filter,
|
|
13
|
+
import { Collapse, Alert, CarouselBI, Dropdown, Modal, Notification, Popover, Tab, Tooltip, InputPassword, ProgressDonut, BackToTop } from 'bootstrap-italia';
|
|
14
|
+
import { Subject, filter, startWith, tap, switchMap, of, Observable, debounceTime, distinctUntilChanged, map, take, forkJoin } from 'rxjs';
|
|
15
15
|
import * as i1$2 from '@angular/platform-browser';
|
|
16
16
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
17
17
|
|
|
18
18
|
class AbstractComponent {
|
|
19
|
-
constructor(_renderer, _elementRef) {
|
|
19
|
+
constructor(_renderer, _elementRef, _changeDetectorRef) {
|
|
20
20
|
this._renderer = _renderer;
|
|
21
21
|
this._elementRef = _elementRef;
|
|
22
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
23
|
+
this.valueChanges = new EventEmitter();
|
|
22
24
|
}
|
|
23
25
|
ngAfterViewInit() {
|
|
24
26
|
this._renderer.removeAttribute(this._elementRef.nativeElement, 'id');
|
|
25
27
|
}
|
|
28
|
+
ngOnChanges(changes) {
|
|
29
|
+
this.valueChanges.next(); // The inputs were changed
|
|
30
|
+
}
|
|
26
31
|
}
|
|
27
|
-
AbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
AbstractComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AbstractComponent, selector: "ng-component", inputs: { id: "id" }, ngImport: i0, template: '', isInline: true });
|
|
32
|
+
AbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
AbstractComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AbstractComponent, selector: "ng-component", inputs: { id: "id" }, outputs: { valueChanges: "valueChanges" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
29
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractComponent, decorators: [{
|
|
30
35
|
type: Component,
|
|
31
36
|
args: [{ template: '' }]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { id: [{
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
33
38
|
type: Input
|
|
39
|
+
}], valueChanges: [{
|
|
40
|
+
type: Output
|
|
34
41
|
}] } });
|
|
35
42
|
|
|
36
43
|
/**
|
|
@@ -49,12 +56,13 @@ function isFalseBooleanInput(booleanInput) {
|
|
|
49
56
|
}
|
|
50
57
|
|
|
51
58
|
class AbstractFormComponent extends AbstractComponent {
|
|
52
|
-
constructor(_ngControl, _translateService, _renderer, _elementRef) {
|
|
53
|
-
super(_renderer, _elementRef);
|
|
59
|
+
constructor(_ngControl, _translateService, _renderer, _elementRef, _changeDetectorRef) {
|
|
60
|
+
super(_renderer, _elementRef, _changeDetectorRef);
|
|
54
61
|
this._ngControl = _ngControl;
|
|
55
62
|
this._translateService = _translateService;
|
|
56
63
|
this._renderer = _renderer;
|
|
57
64
|
this._elementRef = _elementRef;
|
|
65
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
58
66
|
/**
|
|
59
67
|
* Validation color display mode (validation triggered if field is touched or not pristine)
|
|
60
68
|
* - <b>true</b>: Always show the validation color
|
|
@@ -193,7 +201,7 @@ class AbstractFormComponent extends AbstractComponent {
|
|
|
193
201
|
return this.control.getError(errorCode, path);
|
|
194
202
|
}
|
|
195
203
|
}
|
|
196
|
-
AbstractFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractFormComponent, deps: [{ token: i2.NgControl, optional: true, self: true }, { token: i1.TranslateService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
204
|
+
AbstractFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractFormComponent, deps: [{ token: i2.NgControl, optional: true, self: true }, { token: i1.TranslateService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
197
205
|
AbstractFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AbstractFormComponent, selector: "ng-component", inputs: { label: "label", validationMode: "validationMode" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
198
206
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractFormComponent, decorators: [{
|
|
199
207
|
type: Component,
|
|
@@ -203,28 +211,139 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
203
211
|
type: Self
|
|
204
212
|
}, {
|
|
205
213
|
type: Optional
|
|
206
|
-
}] }, { type: i1.TranslateService }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
214
|
+
}] }, { type: i1.TranslateService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }];
|
|
207
215
|
}, propDecorators: { label: [{
|
|
208
216
|
type: Input
|
|
209
217
|
}], validationMode: [{
|
|
210
218
|
type: Input
|
|
211
219
|
}] } });
|
|
212
220
|
|
|
213
|
-
class
|
|
221
|
+
class CollapseComponent extends AbstractComponent {
|
|
222
|
+
constructor() {
|
|
223
|
+
super(...arguments);
|
|
224
|
+
/**
|
|
225
|
+
* Custom class
|
|
226
|
+
*/
|
|
227
|
+
this.class = '';
|
|
228
|
+
/**
|
|
229
|
+
* This event fires immediately when the show method is called.
|
|
230
|
+
*/
|
|
231
|
+
this.onShow = new EventEmitter();
|
|
232
|
+
/**
|
|
233
|
+
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
234
|
+
*/
|
|
235
|
+
this.onShown = new EventEmitter();
|
|
236
|
+
/**
|
|
237
|
+
* This event fires immediately when the hide method is called.
|
|
238
|
+
*/
|
|
239
|
+
this.onHide = new EventEmitter();
|
|
240
|
+
/**
|
|
241
|
+
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
242
|
+
*/
|
|
243
|
+
this.onHidden = new EventEmitter();
|
|
244
|
+
}
|
|
245
|
+
get isMulti() {
|
|
246
|
+
return isTrueBooleanInput(this.multi);
|
|
247
|
+
}
|
|
248
|
+
get isOpenedOnStart() {
|
|
249
|
+
return isTrueBooleanInput(this.opened);
|
|
250
|
+
}
|
|
251
|
+
ngAfterViewInit() {
|
|
252
|
+
super.ngAfterViewInit();
|
|
253
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
254
|
+
if (this.collapseDiv) {
|
|
255
|
+
const element = this.collapseDiv.nativeElement;
|
|
256
|
+
this.collapse = Collapse.getOrCreateInstance(element, {
|
|
257
|
+
toggle: this.isOpenedOnStart
|
|
258
|
+
});
|
|
259
|
+
element.addEventListener('show.bs.collapse', event => this.onShow.emit(event));
|
|
260
|
+
element.addEventListener('shown.bs.collapse', event => this.onShown.emit(event));
|
|
261
|
+
element.addEventListener('hide.bs.collapse', event => this.onHide.emit(event));
|
|
262
|
+
element.addEventListener('hidden.bs.collapse', event => this.onHidden.emit(event));
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Shows a resealable item
|
|
267
|
+
* NOTE: Returns to the caller before the collapsable element has actually been shown (onShown event).
|
|
268
|
+
*/
|
|
269
|
+
show() {
|
|
270
|
+
var _a;
|
|
271
|
+
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.show();
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Hides a resealable item
|
|
275
|
+
* NOTE: Returns to the caller before the collapsable element has actually been hidden (onHidden Event)
|
|
276
|
+
*/
|
|
277
|
+
hide() {
|
|
278
|
+
var _a;
|
|
279
|
+
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.hide();
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Toggle a collapsible item to show or hide it.
|
|
283
|
+
* NOTE: Returns to the caller before the collapsable element has actually been shown or hidden (onShown and onHidden events)
|
|
284
|
+
*/
|
|
285
|
+
toggle() {
|
|
286
|
+
var _a;
|
|
287
|
+
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Eliminates the possibility of an item being resealable
|
|
291
|
+
*/
|
|
292
|
+
dispose() {
|
|
293
|
+
var _a;
|
|
294
|
+
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
CollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
+
CollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CollapseComponent, selector: "it-collapse[id]", inputs: { multi: "multi", opened: "opened", class: "class" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden" }, viewQueries: [{ propertyName: "collapseDiv", first: true, predicate: ["collapse"], descendants: true }], exportAs: ["itCollapse"], usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, decorators: [{
|
|
300
|
+
type: Component,
|
|
301
|
+
args: [{ selector: 'it-collapse[id]', exportAs: 'itCollapse', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n" }]
|
|
302
|
+
}], propDecorators: { multi: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], opened: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], class: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], onShow: [{
|
|
309
|
+
type: Output
|
|
310
|
+
}], onShown: [{
|
|
311
|
+
type: Output
|
|
312
|
+
}], onHide: [{
|
|
313
|
+
type: Output
|
|
314
|
+
}], onHidden: [{
|
|
315
|
+
type: Output
|
|
316
|
+
}], collapseDiv: [{
|
|
317
|
+
type: ViewChild,
|
|
318
|
+
args: ['collapse']
|
|
319
|
+
}] } });
|
|
320
|
+
|
|
321
|
+
class AccordionComponent extends CollapseComponent {
|
|
322
|
+
constructor() {
|
|
323
|
+
super(...arguments);
|
|
324
|
+
this.isCollapsed = true;
|
|
325
|
+
}
|
|
214
326
|
ngAfterViewInit() {
|
|
215
327
|
super.ngAfterViewInit();
|
|
216
328
|
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
329
|
+
this.isCollapsed = !this.isOpenedOnStart;
|
|
330
|
+
this.onHide.subscribe(() => {
|
|
331
|
+
this.isCollapsed = true;
|
|
332
|
+
this._changeDetectorRef.detectChanges();
|
|
333
|
+
});
|
|
334
|
+
this.onShow.subscribe(() => {
|
|
335
|
+
this.isCollapsed = false;
|
|
336
|
+
this._changeDetectorRef.detectChanges();
|
|
337
|
+
});
|
|
217
338
|
}
|
|
218
339
|
}
|
|
219
340
|
AccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
-
AccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AccordionComponent, selector: "it-accordion[id][title]", inputs: { title: "title",
|
|
341
|
+
AccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AccordionComponent, selector: "it-accordion[id][title]", inputs: { title: "title" }, exportAs: ["itAccordion"], usesInheritance: true, ngImport: i0, template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"isOpenedOnStart ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div #collapse id=\"collapse-{{id}}\" role=\"region\"\n class=\"accordion-collapse collapse {{class}}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
221
342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
222
343
|
type: Component,
|
|
223
|
-
args: [{ selector: 'it-accordion[id][title]', template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button
|
|
344
|
+
args: [{ selector: 'it-accordion[id][title]', exportAs: 'itAccordion', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"isOpenedOnStart ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div #collapse id=\"collapse-{{id}}\" role=\"region\"\n class=\"accordion-collapse collapse {{class}}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n" }]
|
|
224
345
|
}], propDecorators: { title: [{
|
|
225
346
|
type: Input
|
|
226
|
-
}], opened: [{
|
|
227
|
-
type: Input
|
|
228
347
|
}] } });
|
|
229
348
|
|
|
230
349
|
class IconComponent {
|
|
@@ -279,27 +398,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
279
398
|
type: Input
|
|
280
399
|
}] } });
|
|
281
400
|
|
|
282
|
-
class AlertComponent {
|
|
401
|
+
class AlertComponent extends AbstractComponent {
|
|
283
402
|
constructor() {
|
|
403
|
+
super(...arguments);
|
|
284
404
|
/**
|
|
285
405
|
* The alert color
|
|
286
406
|
* @default info
|
|
287
407
|
*/
|
|
288
408
|
this.color = 'info';
|
|
409
|
+
/**
|
|
410
|
+
* This event fires immediately when the instance's close method is called.
|
|
411
|
+
*/
|
|
412
|
+
this.onClose = new EventEmitter();
|
|
413
|
+
/**
|
|
414
|
+
* This event fires when the alert has been closed (it will wait for CSS transitions to complete).
|
|
415
|
+
*/
|
|
416
|
+
this.onClosed = new EventEmitter();
|
|
289
417
|
}
|
|
290
418
|
get isDismissible() {
|
|
291
419
|
return isTrueBooleanInput(this.dismissible);
|
|
292
420
|
}
|
|
421
|
+
ngAfterViewInit() {
|
|
422
|
+
super.ngAfterViewInit();
|
|
423
|
+
if (this.alertElement) {
|
|
424
|
+
const element = this.alertElement.nativeElement;
|
|
425
|
+
this.alert = Alert.getOrCreateInstance(element);
|
|
426
|
+
element.addEventListener('close.bs.alert', event => this.onClose.emit(event));
|
|
427
|
+
element.addEventListener('closed.bs.alert', event => this.onClosed.emit(event));
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Close an alert by removing it from the DOM.
|
|
432
|
+
* If the `.fade` and `.show` classes are present in the element, the alert will be closed with a disappearing effect.
|
|
433
|
+
*/
|
|
434
|
+
close() {
|
|
435
|
+
var _a;
|
|
436
|
+
(_a = this.alert) === null || _a === void 0 ? void 0 : _a.close();
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* The alert is removed
|
|
440
|
+
*/
|
|
441
|
+
dispose() {
|
|
442
|
+
var _a;
|
|
443
|
+
(_a = this.alert) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
444
|
+
}
|
|
293
445
|
}
|
|
294
|
-
AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AlertComponent, deps:
|
|
295
|
-
AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AlertComponent, selector: "it-alert", inputs: { color: "color", dismissible: "dismissible" }, ngImport: i0, template: "<div class=\"alert alert-{{color}}\"\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
446
|
+
AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
447
|
+
AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AlertComponent, selector: "it-alert", inputs: { color: "color", dismissible: "dismissible" }, outputs: { onClose: "onClose", onClosed: "onClosed" }, viewQueries: [{ propertyName: "alertElement", first: true, predicate: ["alertElement"], descendants: true }], exportAs: ["itAlert"], usesInheritance: true, ngImport: i0, template: "<div class=\"alert alert-{{color}}\" #alertElement\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
296
448
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AlertComponent, decorators: [{
|
|
297
449
|
type: Component,
|
|
298
|
-
args: [{ selector: 'it-alert', template: "<div class=\"alert alert-{{color}}\"\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"] }]
|
|
450
|
+
args: [{ selector: 'it-alert', exportAs: 'itAlert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"alert alert-{{color}}\" #alertElement\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"] }]
|
|
299
451
|
}], propDecorators: { color: [{
|
|
300
452
|
type: Input
|
|
301
453
|
}], dismissible: [{
|
|
302
454
|
type: Input
|
|
455
|
+
}], onClose: [{
|
|
456
|
+
type: Output
|
|
457
|
+
}], onClosed: [{
|
|
458
|
+
type: Output
|
|
459
|
+
}], alertElement: [{
|
|
460
|
+
type: ViewChild,
|
|
461
|
+
args: ['alertElement']
|
|
303
462
|
}] } });
|
|
304
463
|
|
|
305
464
|
class BadgeDirective {
|
|
@@ -362,8 +521,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
362
521
|
type: Input
|
|
363
522
|
}] } });
|
|
364
523
|
|
|
524
|
+
class ProgressButtonComponent {
|
|
525
|
+
get isProgress() {
|
|
526
|
+
return typeof this.progress === 'number' || isTrueBooleanInput(this.progress);
|
|
527
|
+
}
|
|
528
|
+
get progressValue() {
|
|
529
|
+
return typeof this.progress === 'number' ? this.progress : 0;
|
|
530
|
+
}
|
|
531
|
+
get isIndeterminate() {
|
|
532
|
+
return typeof this.progress !== 'number' && isTrueBooleanInput(this.progress);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
ProgressButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
536
|
+
ProgressButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressButtonComponent, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, decorators: [{
|
|
538
|
+
type: Component,
|
|
539
|
+
args: [{ selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n" }]
|
|
540
|
+
}], propDecorators: { progress: [{
|
|
541
|
+
type: Input
|
|
542
|
+
}], progressColor: [{
|
|
543
|
+
type: Input
|
|
544
|
+
}] } });
|
|
545
|
+
|
|
365
546
|
class ButtonDirective {
|
|
366
|
-
constructor() {
|
|
547
|
+
constructor(progressButtonComponent) {
|
|
548
|
+
this.progressButtonComponent = progressButtonComponent;
|
|
367
549
|
this.isFocus = false;
|
|
368
550
|
}
|
|
369
551
|
onFocus() {
|
|
@@ -390,24 +572,30 @@ class ButtonDirective {
|
|
|
390
572
|
if (this.isFocus) {
|
|
391
573
|
cssClass += ' focus--mouse';
|
|
392
574
|
}
|
|
393
|
-
if (((_a = this.icons) === null || _a === void 0 ? void 0 : _a.length) && !this.
|
|
575
|
+
if (((_a = this.icons) === null || _a === void 0 ? void 0 : _a.length) && !this.progressButtonComponent) {
|
|
394
576
|
cssClass += ' btn-icon';
|
|
395
577
|
}
|
|
396
|
-
if (this.
|
|
578
|
+
if (!!this.progressButtonComponent) {
|
|
397
579
|
cssClass += ' btn-progress';
|
|
398
580
|
}
|
|
399
581
|
return cssClass;
|
|
400
582
|
}
|
|
401
583
|
}
|
|
402
|
-
ButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
403
|
-
ButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ButtonDirective, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: "disabled" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "disabled": "this.disabled", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: IconComponent }
|
|
584
|
+
ButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonDirective, deps: [{ token: ProgressButtonComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
585
|
+
ButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ButtonDirective, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: "disabled" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "disabled": "this.disabled", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: IconComponent }], exportAs: ["itButton"], ngImport: i0 });
|
|
404
586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonDirective, decorators: [{
|
|
405
587
|
type: Directive,
|
|
406
588
|
args: [{
|
|
407
589
|
selector: '[itButton]',
|
|
408
590
|
exportAs: 'itButton'
|
|
409
591
|
}]
|
|
410
|
-
}],
|
|
592
|
+
}], ctorParameters: function () {
|
|
593
|
+
return [{ type: ProgressButtonComponent, decorators: [{
|
|
594
|
+
type: Optional
|
|
595
|
+
}, {
|
|
596
|
+
type: Host
|
|
597
|
+
}] }];
|
|
598
|
+
}, propDecorators: { color: [{
|
|
411
599
|
type: Input,
|
|
412
600
|
args: ['itButton']
|
|
413
601
|
}], size: [{
|
|
@@ -422,9 +610,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
422
610
|
}], icons: [{
|
|
423
611
|
type: ContentChildren,
|
|
424
612
|
args: [IconComponent]
|
|
425
|
-
}], progressBar: [{
|
|
426
|
-
type: ContentChildren,
|
|
427
|
-
args: [ProgressBarComponent]
|
|
428
613
|
}], onFocus: [{
|
|
429
614
|
type: HostListener,
|
|
430
615
|
args: ['focus']
|
|
@@ -619,10 +804,10 @@ class CarouselComponent {
|
|
|
619
804
|
}
|
|
620
805
|
}
|
|
621
806
|
CarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
622
|
-
CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselComponent, selector: "it-carousel", inputs: { title: "title", type: "type", trackClass: "trackClass", fullCarousel: "fullCarousel", bigImg: "bigImg", lined: "lined" }, queries: [{ propertyName: "items", predicate: CarouselItemComponent }], viewQueries: [{ propertyName: "carouselDiv", first: true, predicate: ["carousel"], descendants: true }], exportAs: ["itCarousel"], ngImport: i0, template: "<div class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide
|
|
807
|
+
CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselComponent, selector: "it-carousel", inputs: { title: "title", type: "type", trackClass: "trackClass", fullCarousel: "fullCarousel", bigImg: "bigImg", lined: "lined" }, queries: [{ propertyName: "items", predicate: CarouselItemComponent }], viewQueries: [{ propertyName: "carouselDiv", first: true, predicate: ["carousel"], descendants: true }], exportAs: ["itCarousel"], ngImport: i0, template: "<div #carousel class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide>\n\n <div class=\"it-header-block\" *ngIf=\"title\">\n <div class=\"it-header-block-title\">\n <h2>{{title}}</h2>\n </div>\n </div>\n\n <div class=\"splide__track {{trackClass}}\">\n <ul class=\"splide__list\">\n <li *ngFor=\"let item of items\" class=\"splide__slide\" [class.lined_slide]=\"isLined\">\n <div class=\"it-single-slide-wrapper\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;contain:strict;display:inline-block;height:20px;inset:0;margin:auto;position:absolute;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover{opacity:.9}.splide__arrow:focus{outline:none}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4)}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus{outline:none}.splide__progress__bar{background:#ccc;height:3px}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--nav>.splide__track>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus,.splide--nav>.splide__track>.splide__list>.splide__slide:focus{outline:none}.splide--rtl>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev{left:auto;right:1em}.splide--rtl>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:scaleX(1)}.splide--rtl>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next{left:1em;right:auto}.splide--rtl>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next svg{transform:scaleX(-1)}.splide--ttb>.splide__arrows .splide__arrow,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow,.splide--ttb>.splide__track>.splide__arrows .splide__arrow{left:50%;transform:translate(-50%)}.splide--ttb>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev{top:1em}.splide--ttb>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:rotate(-90deg)}.splide--ttb>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next{bottom:1em;top:auto}.splide--ttb>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next svg{transform:rotate(90deg)}.splide--ttb>.splide__pagination,.splide--ttb>.splide__slider>.splide__pagination{display:flex;flex-direction:column;inset:0 .5em 0 auto;padding:1em 0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
623
808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
624
809
|
type: Component,
|
|
625
|
-
args: [{ selector: 'it-carousel', exportAs: 'itCarousel', template: "<div class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide
|
|
810
|
+
args: [{ selector: 'it-carousel', exportAs: 'itCarousel', template: "<div #carousel class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide>\n\n <div class=\"it-header-block\" *ngIf=\"title\">\n <div class=\"it-header-block-title\">\n <h2>{{title}}</h2>\n </div>\n </div>\n\n <div class=\"splide__track {{trackClass}}\">\n <ul class=\"splide__list\">\n <li *ngFor=\"let item of items\" class=\"splide__slide\" [class.lined_slide]=\"isLined\">\n <div class=\"it-single-slide-wrapper\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;contain:strict;display:inline-block;height:20px;inset:0;margin:auto;position:absolute;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover{opacity:.9}.splide__arrow:focus{outline:none}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4)}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus{outline:none}.splide__progress__bar{background:#ccc;height:3px}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--nav>.splide__track>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus,.splide--nav>.splide__track>.splide__list>.splide__slide:focus{outline:none}.splide--rtl>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev{left:auto;right:1em}.splide--rtl>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:scaleX(1)}.splide--rtl>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next{left:1em;right:auto}.splide--rtl>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next svg{transform:scaleX(-1)}.splide--ttb>.splide__arrows .splide__arrow,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow,.splide--ttb>.splide__track>.splide__arrows .splide__arrow{left:50%;transform:translate(-50%)}.splide--ttb>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev{top:1em}.splide--ttb>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:rotate(-90deg)}.splide--ttb>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next{bottom:1em;top:auto}.splide--ttb>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next svg{transform:rotate(90deg)}.splide--ttb>.splide__pagination,.splide--ttb>.splide__slider>.splide__pagination{display:flex;flex-direction:column;inset:0 .5em 0 auto;padding:1em 0}\n"] }]
|
|
626
811
|
}], propDecorators: { title: [{
|
|
627
812
|
type: Input
|
|
628
813
|
}], type: [{
|
|
@@ -643,105 +828,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
643
828
|
args: ['carousel']
|
|
644
829
|
}] } });
|
|
645
830
|
|
|
646
|
-
class
|
|
647
|
-
constructor(
|
|
648
|
-
super(
|
|
649
|
-
this._renderer = _renderer;
|
|
650
|
-
this._elementRef = _elementRef;
|
|
651
|
-
/**
|
|
652
|
-
* Custom class
|
|
653
|
-
*/
|
|
654
|
-
this.class = '';
|
|
655
|
-
/**
|
|
656
|
-
* This event fires immediately when the show method is called.
|
|
657
|
-
*/
|
|
658
|
-
this.onShow = new EventEmitter();
|
|
659
|
-
/**
|
|
660
|
-
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
661
|
-
*/
|
|
662
|
-
this.onShown = new EventEmitter();
|
|
663
|
-
/**
|
|
664
|
-
* This event fires immediately when the hide method is called.
|
|
665
|
-
*/
|
|
666
|
-
this.onHide = new EventEmitter();
|
|
667
|
-
/**
|
|
668
|
-
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
669
|
-
*/
|
|
670
|
-
this.onHidden = new EventEmitter();
|
|
671
|
-
this.element = this._elementRef.nativeElement;
|
|
672
|
-
}
|
|
673
|
-
get isMulti() {
|
|
674
|
-
return isTrueBooleanInput(this.multi);
|
|
675
|
-
}
|
|
676
|
-
ngAfterViewInit() {
|
|
677
|
-
super.ngAfterViewInit();
|
|
678
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
679
|
-
this.collapse = Collapse.getOrCreateInstance(this.collapseDiv.nativeElement, {
|
|
680
|
-
toggle: false
|
|
681
|
-
});
|
|
682
|
-
this.element.addEventListener('show.bs.collapse', event => this.onShow.emit(event));
|
|
683
|
-
this.element.addEventListener('shown.bs.collapse', event => this.onShown.emit(event));
|
|
684
|
-
this.element.addEventListener('hide.bs.collapse', event => this.onHide.emit(event));
|
|
685
|
-
this.element.addEventListener('hidden.bs.collapse', event => this.onHidden.emit(event));
|
|
686
|
-
}
|
|
687
|
-
/**
|
|
688
|
-
* Shows a resealable item
|
|
689
|
-
* NOTE: Returns to the caller before the collapsable element has actually been shown (onShown event).
|
|
690
|
-
*/
|
|
691
|
-
show() {
|
|
692
|
-
var _a;
|
|
693
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.show();
|
|
694
|
-
}
|
|
695
|
-
/**
|
|
696
|
-
* Hides a resealable item
|
|
697
|
-
* NOTE: Returns to the caller before the collapsable element has actually been hidden (onHidden Event)
|
|
698
|
-
*/
|
|
699
|
-
hide() {
|
|
700
|
-
var _a;
|
|
701
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.hide();
|
|
702
|
-
}
|
|
703
|
-
/**
|
|
704
|
-
* Toggle a collapsible item to show or hide it.
|
|
705
|
-
* NOTE: Returns to the caller before the collapsable element has actually been shown or hidden (onShown and onHidden events)
|
|
706
|
-
*/
|
|
707
|
-
toggle() {
|
|
708
|
-
var _a;
|
|
709
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
710
|
-
}
|
|
711
|
-
/**
|
|
712
|
-
* Eliminates the possibility of an item being resealable
|
|
713
|
-
*/
|
|
714
|
-
dispose() {
|
|
715
|
-
var _a;
|
|
716
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
CollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
720
|
-
CollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CollapseComponent, selector: "it-collapse[id]", inputs: { multi: "multi", class: "class" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden" }, viewQueries: [{ propertyName: "collapseDiv", first: true, predicate: ["collapse"], descendants: true }], exportAs: ["itCollapse"], usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n", styles: [""] });
|
|
721
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, decorators: [{
|
|
722
|
-
type: Component,
|
|
723
|
-
args: [{ selector: 'it-collapse[id]', exportAs: 'itCollapse', template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n" }]
|
|
724
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { multi: [{
|
|
725
|
-
type: Input
|
|
726
|
-
}], class: [{
|
|
727
|
-
type: Input
|
|
728
|
-
}], onShow: [{
|
|
729
|
-
type: Output
|
|
730
|
-
}], onShown: [{
|
|
731
|
-
type: Output
|
|
732
|
-
}], onHide: [{
|
|
733
|
-
type: Output
|
|
734
|
-
}], onHidden: [{
|
|
735
|
-
type: Output
|
|
736
|
-
}], collapseDiv: [{
|
|
737
|
-
type: ViewChild,
|
|
738
|
-
args: ['collapse']
|
|
739
|
-
}] } });
|
|
740
|
-
|
|
741
|
-
class LinkComponent {
|
|
742
|
-
constructor(_renderer, _elementRef) {
|
|
743
|
-
this._renderer = _renderer;
|
|
744
|
-
this._elementRef = _elementRef;
|
|
831
|
+
class LinkComponent extends AbstractComponent {
|
|
832
|
+
constructor() {
|
|
833
|
+
super(...arguments);
|
|
745
834
|
/**
|
|
746
835
|
* Custom class
|
|
747
836
|
*/
|
|
@@ -754,15 +843,16 @@ class LinkComponent {
|
|
|
754
843
|
return isTrueBooleanInput(this.disabled);
|
|
755
844
|
}
|
|
756
845
|
ngAfterViewInit() {
|
|
846
|
+
super.ngAfterViewInit();
|
|
757
847
|
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
758
848
|
}
|
|
759
849
|
}
|
|
760
|
-
LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, deps:
|
|
761
|
-
LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LinkComponent, selector: "it-link", inputs: { href: "href", externalLink: "externalLink", disabled: "disabled", class: "class" }, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
850
|
+
LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
851
|
+
LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LinkComponent, selector: "it-link", inputs: { href: "href", externalLink: "externalLink", disabled: "disabled", class: "class" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
762
852
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, decorators: [{
|
|
763
853
|
type: Component,
|
|
764
854
|
args: [{ selector: 'it-link', template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
765
|
-
}],
|
|
855
|
+
}], propDecorators: { href: [{
|
|
766
856
|
type: Input
|
|
767
857
|
}], externalLink: [{
|
|
768
858
|
type: Input
|
|
@@ -773,11 +863,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
773
863
|
}] } });
|
|
774
864
|
|
|
775
865
|
class DropdownItemComponent extends LinkComponent {
|
|
776
|
-
constructor(
|
|
777
|
-
super(
|
|
778
|
-
this._renderer = _renderer;
|
|
779
|
-
this._elementRef = _elementRef;
|
|
780
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
866
|
+
constructor() {
|
|
867
|
+
super(...arguments);
|
|
781
868
|
/**
|
|
782
869
|
* The icon position
|
|
783
870
|
* @default right
|
|
@@ -818,12 +905,12 @@ class DropdownItemComponent extends LinkComponent {
|
|
|
818
905
|
}
|
|
819
906
|
}
|
|
820
907
|
}
|
|
821
|
-
DropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, deps:
|
|
822
|
-
DropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownItemComponent, selector: "it-dropdown-item", inputs: { divider: "divider", active: "active", large: "large", iconName: "iconName", iconPosition: "iconPosition" }, usesInheritance: true, ngImport: i0, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
908
|
+
DropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
909
|
+
DropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownItemComponent, selector: "it-dropdown-item", inputs: { divider: "divider", active: "active", large: "large", iconName: "iconName", iconPosition: "iconPosition" }, usesInheritance: true, ngImport: i0, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
823
910
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
824
911
|
type: Component,
|
|
825
|
-
args: [{ selector: 'it-dropdown-item', template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"] }]
|
|
826
|
-
}],
|
|
912
|
+
args: [{ selector: 'it-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"] }]
|
|
913
|
+
}], propDecorators: { divider: [{
|
|
827
914
|
type: Input
|
|
828
915
|
}], active: [{
|
|
829
916
|
type: Input
|
|
@@ -836,6 +923,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
836
923
|
}] } });
|
|
837
924
|
|
|
838
925
|
class DropdownComponent extends AbstractComponent {
|
|
926
|
+
constructor() {
|
|
927
|
+
super(...arguments);
|
|
928
|
+
/**
|
|
929
|
+
* Fires immediately when the show instance method is called.
|
|
930
|
+
*/
|
|
931
|
+
this.onShow = new EventEmitter();
|
|
932
|
+
/**
|
|
933
|
+
* Fired when the dropdown has been made visible to the user and CSS transitions have completed.
|
|
934
|
+
*/
|
|
935
|
+
this.onShown = new EventEmitter();
|
|
936
|
+
/**
|
|
937
|
+
* Fires immediately when the hide instance method has been called.
|
|
938
|
+
*/
|
|
939
|
+
this.onHide = new EventEmitter();
|
|
940
|
+
/**
|
|
941
|
+
* Fired when the dropdown has finished being hidden from the user and CSS transitions have completed.
|
|
942
|
+
*/
|
|
943
|
+
this.onHidden = new EventEmitter();
|
|
944
|
+
}
|
|
839
945
|
get buttonClass() {
|
|
840
946
|
let btnClass = 'btn dropdown-toggle';
|
|
841
947
|
if (this.color) {
|
|
@@ -856,10 +962,19 @@ class DropdownComponent extends AbstractComponent {
|
|
|
856
962
|
if (changes['dark'] && !changes['dark'].firstChange) {
|
|
857
963
|
this.setDarkItems();
|
|
858
964
|
}
|
|
965
|
+
super.ngOnChanges(changes);
|
|
859
966
|
}
|
|
860
967
|
ngAfterViewInit() {
|
|
861
968
|
super.ngAfterViewInit();
|
|
862
969
|
this.setDarkItems();
|
|
970
|
+
if (this.dropdownButton) {
|
|
971
|
+
const element = this.dropdownButton.nativeElement;
|
|
972
|
+
this.dropdown = Dropdown.getOrCreateInstance(element);
|
|
973
|
+
element.addEventListener('show.bs.dropdown', event => this.onShow.emit(event));
|
|
974
|
+
element.addEventListener('shown.bs.dropdown', event => this.onShown.emit(event));
|
|
975
|
+
element.addEventListener('hide.bs.dropdown', event => this.onHide.emit(event));
|
|
976
|
+
element.addEventListener('hidden.bs.dropdown', event => this.onHidden.emit(event));
|
|
977
|
+
}
|
|
863
978
|
}
|
|
864
979
|
/**
|
|
865
980
|
* Set child items dark mode
|
|
@@ -871,12 +986,47 @@ class DropdownComponent extends AbstractComponent {
|
|
|
871
986
|
item.setDark(this.isDark);
|
|
872
987
|
});
|
|
873
988
|
}
|
|
989
|
+
/**
|
|
990
|
+
* Toggles the dropdown menu of a given navbar or tabbed navigation.
|
|
991
|
+
*/
|
|
992
|
+
toggle() {
|
|
993
|
+
var _a;
|
|
994
|
+
(_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
995
|
+
}
|
|
996
|
+
/**
|
|
997
|
+
* Shows the dropdown menu of a given navbar or tabbed navigation.
|
|
998
|
+
*/
|
|
999
|
+
show() {
|
|
1000
|
+
var _a;
|
|
1001
|
+
(_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.show();
|
|
1002
|
+
}
|
|
1003
|
+
/**
|
|
1004
|
+
* Hides the dropdown menu of a given navbar or tabbed navigation.
|
|
1005
|
+
*/
|
|
1006
|
+
hide() {
|
|
1007
|
+
var _a;
|
|
1008
|
+
(_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.hide();
|
|
1009
|
+
}
|
|
1010
|
+
/**
|
|
1011
|
+
* Updates the position of an element's dropdown.
|
|
1012
|
+
*/
|
|
1013
|
+
update() {
|
|
1014
|
+
var _a;
|
|
1015
|
+
(_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.update();
|
|
1016
|
+
}
|
|
1017
|
+
/**
|
|
1018
|
+
* Destroys an element's dropdown. (Removes stored data on the DOM element)
|
|
1019
|
+
*/
|
|
1020
|
+
dispose() {
|
|
1021
|
+
var _a;
|
|
1022
|
+
(_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
1023
|
+
}
|
|
874
1024
|
}
|
|
875
1025
|
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
876
|
-
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "it-dropdown[id]", inputs: { color: "color", direction: "direction", fullWidth: "fullWidth", dark: "dark" }, queries: [{ propertyName: "items", predicate: DropdownItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{direction}}\">\n <button [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
|
|
1026
|
+
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "it-dropdown[id]", inputs: { color: "color", direction: "direction", fullWidth: "fullWidth", dark: "dark" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden" }, queries: [{ propertyName: "items", predicate: DropdownItemComponent }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true }], exportAs: ["itDropdown"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{direction}}\">\n <button #dropdownButton [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
877
1027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
878
1028
|
type: Component,
|
|
879
|
-
args: [{ selector: 'it-dropdown[id]', template: "<div class=\"dropdown {{direction}}\">\n <button [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"] }]
|
|
1029
|
+
args: [{ selector: 'it-dropdown[id]', exportAs: 'itDropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropdown {{direction}}\">\n <button #dropdownButton [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"] }]
|
|
880
1030
|
}], propDecorators: { color: [{
|
|
881
1031
|
type: Input
|
|
882
1032
|
}], direction: [{
|
|
@@ -888,6 +1038,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
888
1038
|
}], items: [{
|
|
889
1039
|
type: ContentChildren,
|
|
890
1040
|
args: [DropdownItemComponent]
|
|
1041
|
+
}], onShow: [{
|
|
1042
|
+
type: Output
|
|
1043
|
+
}], onShown: [{
|
|
1044
|
+
type: Output
|
|
1045
|
+
}], onHide: [{
|
|
1046
|
+
type: Output
|
|
1047
|
+
}], onHidden: [{
|
|
1048
|
+
type: Output
|
|
1049
|
+
}], dropdownButton: [{
|
|
1050
|
+
type: ViewChild,
|
|
1051
|
+
args: ['dropdownButton']
|
|
891
1052
|
}] } });
|
|
892
1053
|
|
|
893
1054
|
class ListComponent {
|
|
@@ -1006,10 +1167,10 @@ class ModalComponent extends AbstractComponent {
|
|
|
1006
1167
|
}
|
|
1007
1168
|
}
|
|
1008
1169
|
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1009
|
-
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "it-modal[id][title]", inputs: { title: "title", size: "size" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onHidePrevented: "onHidePrevented" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\"
|
|
1170
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "it-modal[id][title]", inputs: { title: "title", size: "size" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onHidePrevented: "onHidePrevented" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1010
1171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1011
1172
|
type: Component,
|
|
1012
|
-
args: [{ selector: 'it-modal[id][title]', exportAs: 'itModal', template: "<div [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\"
|
|
1173
|
+
args: [{ selector: 'it-modal[id][title]', exportAs: 'itModal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"] }]
|
|
1013
1174
|
}], propDecorators: { title: [{
|
|
1014
1175
|
type: Input
|
|
1015
1176
|
}], size: [{
|
|
@@ -1303,7 +1464,7 @@ class PopoverDirective {
|
|
|
1303
1464
|
*/
|
|
1304
1465
|
set title(title) {
|
|
1305
1466
|
if (title) {
|
|
1306
|
-
|
|
1467
|
+
this.element.setAttribute('title', title);
|
|
1307
1468
|
this.element.setAttribute('data-bs-original-title', title);
|
|
1308
1469
|
}
|
|
1309
1470
|
}
|
|
@@ -1350,6 +1511,9 @@ class PopoverDirective {
|
|
|
1350
1511
|
this.element.addEventListener('hidden.bs.popover', event => this.onHidden.emit(event));
|
|
1351
1512
|
this.element.addEventListener('inserted.bs.popover', event => this.onInserted.emit(event));
|
|
1352
1513
|
}
|
|
1514
|
+
ngOnDestroy() {
|
|
1515
|
+
this.dispose();
|
|
1516
|
+
}
|
|
1353
1517
|
/**
|
|
1354
1518
|
* Shows the popover of an item.
|
|
1355
1519
|
*/
|
|
@@ -1445,28 +1609,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
1445
1609
|
type: Output
|
|
1446
1610
|
}] } });
|
|
1447
1611
|
|
|
1448
|
-
class ProgressButtonComponent {
|
|
1449
|
-
get isProgress() {
|
|
1450
|
-
return typeof this.progress === 'number' || isTrueBooleanInput(this.progress);
|
|
1451
|
-
}
|
|
1452
|
-
get progressValue() {
|
|
1453
|
-
return typeof this.progress === 'number' ? this.progress : 0;
|
|
1454
|
-
}
|
|
1455
|
-
get isIndeterminate() {
|
|
1456
|
-
return typeof this.progress !== 'number' && isTrueBooleanInput(this.progress);
|
|
1457
|
-
}
|
|
1458
|
-
}
|
|
1459
|
-
ProgressButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1460
|
-
ProgressButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressButtonComponent, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, decorators: [{
|
|
1462
|
-
type: Component,
|
|
1463
|
-
args: [{ selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n" }]
|
|
1464
|
-
}], propDecorators: { progress: [{
|
|
1465
|
-
type: Input
|
|
1466
|
-
}], progressColor: [{
|
|
1467
|
-
type: Input
|
|
1468
|
-
}] } });
|
|
1469
|
-
|
|
1470
1612
|
class SpinnerComponent {
|
|
1471
1613
|
constructor() {
|
|
1472
1614
|
/**
|
|
@@ -1637,10 +1779,10 @@ class TabItemComponent extends AbstractComponent {
|
|
|
1637
1779
|
}
|
|
1638
1780
|
}
|
|
1639
1781
|
TabItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1640
|
-
TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabItemComponent, selector: "it-tab-item[id]", inputs: { label: "label", icon: "icon", active: "active", disabled: "disabled", class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" });
|
|
1782
|
+
TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabItemComponent, selector: "it-tab-item[id]", inputs: { label: "label", icon: "icon", active: "active", disabled: "disabled", class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1641
1783
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, decorators: [{
|
|
1642
1784
|
type: Component,
|
|
1643
|
-
args: [{ selector: 'it-tab-item[id]', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
1785
|
+
args: [{ selector: 'it-tab-item[id]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
1644
1786
|
}], propDecorators: { label: [{
|
|
1645
1787
|
type: Input
|
|
1646
1788
|
}], icon: [{
|
|
@@ -1656,23 +1798,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
1656
1798
|
args: [TemplateRef]
|
|
1657
1799
|
}] } });
|
|
1658
1800
|
|
|
1659
|
-
class TabContainerComponent {
|
|
1660
|
-
constructor(_changeDetectorRef) {
|
|
1661
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
1662
|
-
}
|
|
1801
|
+
class TabContainerComponent extends AbstractComponent {
|
|
1663
1802
|
isTrueBooleanInput(booleanInput) {
|
|
1664
1803
|
return isTrueBooleanInput(booleanInput);
|
|
1665
1804
|
}
|
|
1666
1805
|
ngAfterViewInit() {
|
|
1667
|
-
|
|
1806
|
+
var _a;
|
|
1807
|
+
super.ngAfterViewInit();
|
|
1808
|
+
(_a = this.tabs) === null || _a === void 0 ? void 0 : _a.changes.pipe(// When tabs changes (dynamic add/remove)
|
|
1809
|
+
startWith(undefined), tap(() => {
|
|
1810
|
+
var _a, _b;
|
|
1811
|
+
(_a = this.tabSubscriptions) === null || _a === void 0 ? void 0 : _a.forEach(sub => sub.unsubscribe()); // Remove old subscriptions
|
|
1812
|
+
this.tabSubscriptions = (_b = this.tabs) === null || _b === void 0 ? void 0 : _b.map(tab => tab.valueChanges.subscribe(() => {
|
|
1813
|
+
this._changeDetectorRef.detectChanges(); // DetectChanges when tab-item attributes changes
|
|
1814
|
+
}));
|
|
1815
|
+
this._changeDetectorRef.detectChanges(); // Force update html render
|
|
1816
|
+
}), switchMap(() => { var _a; return ((_a = this.tabNavLinks) === null || _a === void 0 ? void 0 : _a.changes.pipe(startWith(undefined))) || of(undefined); })).subscribe(() => {
|
|
1817
|
+
var _a;
|
|
1818
|
+
// Init tabs from bootstrap-italia
|
|
1819
|
+
(_a = this.tabNavLinks) === null || _a === void 0 ? void 0 : _a.forEach(tabNavLink => {
|
|
1820
|
+
const triggerEl = tabNavLink.nativeElement, tabTrigger = Tab.getOrCreateInstance(triggerEl);
|
|
1821
|
+
if (triggerEl.getAttribute('tab-listener') !== 'true') {
|
|
1822
|
+
triggerEl.addEventListener('click', event => {
|
|
1823
|
+
event.preventDefault();
|
|
1824
|
+
tabTrigger.show();
|
|
1825
|
+
});
|
|
1826
|
+
triggerEl.setAttribute('tab-listener', 'true'); // Prevents multiple insertion of the listener
|
|
1827
|
+
}
|
|
1828
|
+
});
|
|
1829
|
+
});
|
|
1830
|
+
}
|
|
1831
|
+
ngOnDestroy() {
|
|
1832
|
+
var _a;
|
|
1833
|
+
(_a = this.tabSubscriptions) === null || _a === void 0 ? void 0 : _a.forEach(sub => sub.unsubscribe());
|
|
1668
1834
|
}
|
|
1669
1835
|
}
|
|
1670
|
-
TabContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, deps:
|
|
1671
|
-
TabContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabContainerComponent, selector: "it-tab-container", inputs: { auto: "auto", iconText: "iconText", dark: "dark" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], ngImport: i0, template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n
|
|
1836
|
+
TabContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1837
|
+
TabContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabContainerComponent, selector: "it-tab-container", inputs: { auto: "auto", iconText: "iconText", dark: "dark" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a #tabNavLinks [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane p-4 fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1672
1838
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, decorators: [{
|
|
1673
1839
|
type: Component,
|
|
1674
|
-
args: [{ selector: 'it-tab-container', template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n
|
|
1675
|
-
}],
|
|
1840
|
+
args: [{ selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a #tabNavLinks [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane p-4 fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n" }]
|
|
1841
|
+
}], propDecorators: { auto: [{
|
|
1676
1842
|
type: Input
|
|
1677
1843
|
}], iconText: [{
|
|
1678
1844
|
type: Input
|
|
@@ -1681,6 +1847,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
1681
1847
|
}], tabs: [{
|
|
1682
1848
|
type: ContentChildren,
|
|
1683
1849
|
args: [TabItemComponent]
|
|
1850
|
+
}], tabNavLinks: [{
|
|
1851
|
+
type: ViewChildren,
|
|
1852
|
+
args: ['tabNavLinks']
|
|
1684
1853
|
}] } });
|
|
1685
1854
|
|
|
1686
1855
|
class TableComponent {
|
|
@@ -1795,6 +1964,9 @@ class TooltipDirective {
|
|
|
1795
1964
|
this.element.addEventListener('hidden.bs.tooltip', event => this.onHidden.emit(event));
|
|
1796
1965
|
this.element.addEventListener('inserted.bs.tooltip', event => this.onInserted.emit(event));
|
|
1797
1966
|
}
|
|
1967
|
+
ngOnDestroy() {
|
|
1968
|
+
this.dispose();
|
|
1969
|
+
}
|
|
1798
1970
|
/**
|
|
1799
1971
|
* Shows the tooltip of an item.
|
|
1800
1972
|
*/
|
|
@@ -2141,7 +2313,7 @@ class InputComponent extends AbstractFormComponent {
|
|
|
2141
2313
|
if (this.type === 'number' && (isTrueBooleanInput(this.currency) || isTrueBooleanInput(this.percentage))) {
|
|
2142
2314
|
return true;
|
|
2143
2315
|
}
|
|
2144
|
-
return this.type === 'date' || this.type === 'time';
|
|
2316
|
+
return this.type === 'date' || this.type === 'time' || this.type === 'color';
|
|
2145
2317
|
}
|
|
2146
2318
|
/**
|
|
2147
2319
|
* Check is readonly field
|
|
@@ -2627,6 +2799,14 @@ class FileUtils {
|
|
|
2627
2799
|
const fileBlob = FileUtils.base64ToBlob(base64, mimeType);
|
|
2628
2800
|
return new File([fileBlob], filename, { type: mimeType });
|
|
2629
2801
|
}
|
|
2802
|
+
/**
|
|
2803
|
+
* Extract the MIME type from base64 string
|
|
2804
|
+
* @param base64 the base64 string
|
|
2805
|
+
*/
|
|
2806
|
+
static getMimeTypeFromBase64(base64) {
|
|
2807
|
+
const mime = base64.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/);
|
|
2808
|
+
return (mime && mime.length) ? mime[1] : undefined;
|
|
2809
|
+
}
|
|
2630
2810
|
}
|
|
2631
2811
|
|
|
2632
2812
|
class UploadDragDropComponent extends AbstractComponent {
|
|
@@ -2772,7 +2952,7 @@ class UploadFileListComponent extends AbstractComponent {
|
|
|
2772
2952
|
* @example application/pdf,image/png
|
|
2773
2953
|
* @default *
|
|
2774
2954
|
*/
|
|
2775
|
-
this.accept =
|
|
2955
|
+
this.accept = '*';
|
|
2776
2956
|
/**
|
|
2777
2957
|
* If upload multiple files
|
|
2778
2958
|
*/
|
|
@@ -2797,12 +2977,15 @@ class UploadFileListComponent extends AbstractComponent {
|
|
|
2797
2977
|
}
|
|
2798
2978
|
ngOnChanges(changes) {
|
|
2799
2979
|
if (changes['fileList'] && this.isImageList) {
|
|
2800
|
-
this.fileList.
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2980
|
+
const images$ = this.fileList.map(item => FileUtils.fileToBase64(item.file).pipe(take(1), tap(base64 => this.previewImages.set(item.id, base64))));
|
|
2981
|
+
forkJoin(images$).subscribe(() => {
|
|
2982
|
+
this._changeDetectorRef.detectChanges();
|
|
2983
|
+
super.ngOnChanges(changes);
|
|
2804
2984
|
});
|
|
2805
2985
|
}
|
|
2986
|
+
else {
|
|
2987
|
+
super.ngOnChanges(changes);
|
|
2988
|
+
}
|
|
2806
2989
|
}
|
|
2807
2990
|
get isMultipleInput() {
|
|
2808
2991
|
return isTrueBooleanInput(this.multiple);
|
|
@@ -2934,12 +3117,47 @@ class BackToTopComponent extends AbstractComponent {
|
|
|
2934
3117
|
get isDark() {
|
|
2935
3118
|
return isTrueBooleanInput(this.dark);
|
|
2936
3119
|
}
|
|
3120
|
+
ngAfterViewInit() {
|
|
3121
|
+
super.ngAfterViewInit();
|
|
3122
|
+
if (this.backToTopElement) {
|
|
3123
|
+
const element = this.backToTopElement.nativeElement;
|
|
3124
|
+
this.backToTop = BackToTop.getOrCreateInstance(element);
|
|
3125
|
+
}
|
|
3126
|
+
}
|
|
3127
|
+
/**
|
|
3128
|
+
* Show button
|
|
3129
|
+
*/
|
|
3130
|
+
show() {
|
|
3131
|
+
var _a;
|
|
3132
|
+
(_a = this.backToTop) === null || _a === void 0 ? void 0 : _a.show();
|
|
3133
|
+
}
|
|
3134
|
+
/**
|
|
3135
|
+
* Hide the button
|
|
3136
|
+
*/
|
|
3137
|
+
hide() {
|
|
3138
|
+
var _a;
|
|
3139
|
+
(_a = this.backToTop) === null || _a === void 0 ? void 0 : _a.hide();
|
|
3140
|
+
}
|
|
3141
|
+
/**
|
|
3142
|
+
* Activates the scroll animation towards the Y coordinate indicated by the positionTop option
|
|
3143
|
+
*/
|
|
3144
|
+
scrollToTop() {
|
|
3145
|
+
var _a;
|
|
3146
|
+
(_a = this.backToTop) === null || _a === void 0 ? void 0 : _a.scrollToTop();
|
|
3147
|
+
}
|
|
3148
|
+
/**
|
|
3149
|
+
* Eliminate component features
|
|
3150
|
+
*/
|
|
3151
|
+
dispose() {
|
|
3152
|
+
var _a;
|
|
3153
|
+
(_a = this.backToTop) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
3154
|
+
}
|
|
2937
3155
|
}
|
|
2938
3156
|
BackToTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackToTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2939
|
-
BackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BackToTopComponent, selector: "it-back-to-top", inputs: { id: "id", small: "small", shadow: "shadow", dark: "dark" }, usesInheritance: true, ngImport: i0, template: "<a [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n
|
|
3157
|
+
BackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BackToTopComponent, selector: "it-back-to-top", inputs: { id: "id", small: "small", shadow: "shadow", dark: "dark" }, viewQueries: [{ propertyName: "backToTopElement", first: true, predicate: ["backToTop"], descendants: true }], exportAs: ["itBackToTop"], usesInheritance: true, ngImport: i0, template: "<a #backToTop [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"isSmall\"\n [class.shadow]=\"isShadow\"\n [class.dark]=\"isDark\">\n\n <it-icon name=\"arrow-up\" [color]=\"isDark ? 'secondary' : 'light'\"></it-icon>\n</a>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2940
3158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackToTopComponent, decorators: [{
|
|
2941
3159
|
type: Component,
|
|
2942
|
-
args: [{ selector: 'it-back-to-top', template: "<a [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n
|
|
3160
|
+
args: [{ selector: 'it-back-to-top', exportAs: 'itBackToTop', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a #backToTop [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"isSmall\"\n [class.shadow]=\"isShadow\"\n [class.dark]=\"isDark\">\n\n <it-icon name=\"arrow-up\" [color]=\"isDark ? 'secondary' : 'light'\"></it-icon>\n</a>\n" }]
|
|
2943
3161
|
}], propDecorators: { id: [{
|
|
2944
3162
|
type: Input
|
|
2945
3163
|
}], small: [{
|
|
@@ -2948,6 +3166,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
2948
3166
|
type: Input
|
|
2949
3167
|
}], dark: [{
|
|
2950
3168
|
type: Input
|
|
3169
|
+
}], backToTopElement: [{
|
|
3170
|
+
type: ViewChild,
|
|
3171
|
+
args: ['backToTop']
|
|
2951
3172
|
}] } });
|
|
2952
3173
|
|
|
2953
3174
|
class BreadcrumbItemComponent extends LinkComponent {
|
|
@@ -3011,11 +3232,13 @@ class HeaderComponent extends AbstractComponent {
|
|
|
3011
3232
|
* TODO: complete header
|
|
3012
3233
|
* @param _renderer
|
|
3013
3234
|
* @param _elementRef
|
|
3235
|
+
* @param _changeDetectorRef
|
|
3014
3236
|
*/
|
|
3015
|
-
constructor(_renderer, _elementRef) {
|
|
3016
|
-
super(_renderer, _elementRef);
|
|
3237
|
+
constructor(_renderer, _elementRef, _changeDetectorRef) {
|
|
3238
|
+
super(_renderer, _elementRef, _changeDetectorRef);
|
|
3017
3239
|
this._renderer = _renderer;
|
|
3018
3240
|
this._elementRef = _elementRef;
|
|
3241
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
3019
3242
|
this.showSlim = true;
|
|
3020
3243
|
this.loginStyle = 'full';
|
|
3021
3244
|
this.smallHeader = true;
|
|
@@ -3036,12 +3259,12 @@ class HeaderComponent extends AbstractComponent {
|
|
|
3036
3259
|
return isTrueBooleanInput(this.showSearch);
|
|
3037
3260
|
}
|
|
3038
3261
|
}
|
|
3039
|
-
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3262
|
+
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3040
3263
|
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: HeaderComponent, selector: "it-header", inputs: { light: "light", showSlim: "showSlim", slimTitle: "slimTitle", loginStyle: "loginStyle", smallHeader: "smallHeader", showSearch: "showSearch" }, outputs: { loginClick: "loginClick", searchClick: "searchClick" }, usesInheritance: true, ngImport: i0, template: "<header class=\"it-header-wrapper\">\n <div *ngIf=\"isShowSlim\" class=\"it-header-slim-wrapper\" [class.theme-light]=\"isLight\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" href=\"#\">{{slimTitle}}</a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation'|translate\">\n <a class=\"it-opener d-lg-none\" data-bs-toggle=\"collapse\" href=\"#menuC1\" role=\"button\"\n aria-expanded=\"false\" aria-controls=\"menuC1\">\n <span>{{slimTitle}}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <!-- TODO: add language dropdown -->\n <ng-content select=\"[slimRightZone]\"></ng-content>\n <div *ngIf=\"loginStyle === 'default'\" class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"loginClick.emit($event)\">\n {{'it.navigation.login'|translate}}\n </a>\n </div>\n </div>\n <button *ngIf=\"loginStyle === 'full'\" itButton=\"primary\" class=\"btn-full\" (click)=\"loginClick.emit($event)\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n <span class=\"d-none d-lg-block\">{{'it.navigation.full-login'|translate}}</span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"isSmallHeader\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n <div class=\"it-search-wrapper\" *ngIf=\"isShowSearch\">\n <span class=\"d-none d-md-block\">{{'it.navigation.search'|translate}}</span>\n <a class=\"search-link rounded-icon\" [attr.aria-label]=\"'it.navigation.website-search'|translate\" (click)=\"searchClick.emit($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- TODO: complete header -->\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
3041
3264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
3042
3265
|
type: Component,
|
|
3043
3266
|
args: [{ selector: 'it-header', template: "<header class=\"it-header-wrapper\">\n <div *ngIf=\"isShowSlim\" class=\"it-header-slim-wrapper\" [class.theme-light]=\"isLight\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" href=\"#\">{{slimTitle}}</a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation'|translate\">\n <a class=\"it-opener d-lg-none\" data-bs-toggle=\"collapse\" href=\"#menuC1\" role=\"button\"\n aria-expanded=\"false\" aria-controls=\"menuC1\">\n <span>{{slimTitle}}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <!-- TODO: add language dropdown -->\n <ng-content select=\"[slimRightZone]\"></ng-content>\n <div *ngIf=\"loginStyle === 'default'\" class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"loginClick.emit($event)\">\n {{'it.navigation.login'|translate}}\n </a>\n </div>\n </div>\n <button *ngIf=\"loginStyle === 'full'\" itButton=\"primary\" class=\"btn-full\" (click)=\"loginClick.emit($event)\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n <span class=\"d-none d-lg-block\">{{'it.navigation.full-login'|translate}}</span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"isSmallHeader\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n <div class=\"it-search-wrapper\" *ngIf=\"isShowSearch\">\n <span class=\"d-none d-md-block\">{{'it.navigation.search'|translate}}</span>\n <a class=\"search-link rounded-icon\" [attr.aria-label]=\"'it.navigation.website-search'|translate\" (click)=\"searchClick.emit($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- TODO: complete header -->\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
|
|
3044
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { light: [{
|
|
3267
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { light: [{
|
|
3045
3268
|
type: Input
|
|
3046
3269
|
}], showSlim: [{
|
|
3047
3270
|
type: Input
|
|
@@ -3078,7 +3301,7 @@ class LanguageSwitcherComponent {
|
|
|
3078
3301
|
}
|
|
3079
3302
|
}
|
|
3080
3303
|
LanguageSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LanguageSwitcherComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3081
|
-
LanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LanguageSwitcherComponent, selector: "it-language-switcher", inputs: { availableLanguages: "availableLanguages" }, ngImport: i0, template: "<it-dropdown id=\"language-switcher\">\n <ng-container button>\n <span class=\"visually-hidden\">{{'it.utils.selected' | translate: { lang: (currentLang$ | async)?.label } }}</span>\n <span>{{(currentLang$ | async)?.label || ('it.utils.select-language' | translate)}}</span>\n </ng-container>\n\n <ng-container list>\n <it-dropdown-item *ngFor=\"let lang of availableLanguages\" (click)=\"changeLanguage(lang.code)\"\n [active]=\"lang.code === (currentLang$ | async)?.code\">\n {{lang.label}}\n <span class=\"visually-hidden\" *ngIf=\"lang.code === (currentLang$ | async)?.code\">\n {{'it.utils.selected' | translate}}\n </span>\n </it-dropdown-item>\n </ng-container>\n</it-dropdown>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "it-dropdown[id]", inputs: ["color", "direction", "fullWidth", "dark"] }, { kind: "component", type: DropdownItemComponent, selector: "it-dropdown-item", inputs: ["divider", "active", "large", "iconName", "iconPosition"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
3304
|
+
LanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LanguageSwitcherComponent, selector: "it-language-switcher", inputs: { availableLanguages: "availableLanguages" }, ngImport: i0, template: "<it-dropdown id=\"language-switcher\">\n <ng-container button>\n <span class=\"visually-hidden\">{{'it.utils.selected' | translate: { lang: (currentLang$ | async)?.label } }}</span>\n <span>{{(currentLang$ | async)?.label || ('it.utils.select-language' | translate)}}</span>\n </ng-container>\n\n <ng-container list>\n <it-dropdown-item *ngFor=\"let lang of availableLanguages\" (click)=\"changeLanguage(lang.code)\"\n [active]=\"lang.code === (currentLang$ | async)?.code\">\n {{lang.label}}\n <span class=\"visually-hidden\" *ngIf=\"lang.code === (currentLang$ | async)?.code\">\n {{'it.utils.selected' | translate}}\n </span>\n </it-dropdown-item>\n </ng-container>\n</it-dropdown>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "it-dropdown[id]", inputs: ["color", "direction", "fullWidth", "dark"], outputs: ["onShow", "onShown", "onHide", "onHidden"], exportAs: ["itDropdown"] }, { kind: "component", type: DropdownItemComponent, selector: "it-dropdown-item", inputs: ["divider", "active", "large", "iconName", "iconPosition"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
3082
3305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LanguageSwitcherComponent, decorators: [{
|
|
3083
3306
|
type: Component,
|
|
3084
3307
|
args: [{ selector: 'it-language-switcher', template: "<it-dropdown id=\"language-switcher\">\n <ng-container button>\n <span class=\"visually-hidden\">{{'it.utils.selected' | translate: { lang: (currentLang$ | async)?.label } }}</span>\n <span>{{(currentLang$ | async)?.label || ('it.utils.select-language' | translate)}}</span>\n </ng-container>\n\n <ng-container list>\n <it-dropdown-item *ngFor=\"let lang of availableLanguages\" (click)=\"changeLanguage(lang.code)\"\n [active]=\"lang.code === (currentLang$ | async)?.code\">\n {{lang.label}}\n <span class=\"visually-hidden\" *ngIf=\"lang.code === (currentLang$ | async)?.code\">\n {{'it.utils.selected' | translate}}\n </span>\n </it-dropdown-item>\n </ng-container>\n</it-dropdown>\n" }]
|