design-angular-kit 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/assets/i18n/en.json +6 -0
  2. package/assets/i18n/it.json +6 -0
  3. package/esm2022/lib/components/core/button/button.directive.mjs +12 -2
  4. package/esm2022/lib/components/core/popover/popover.directive.mjs +2 -2
  5. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +2 -2
  6. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +15 -6
  7. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +76 -0
  8. package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
  9. package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
  10. package/esm2022/lib/components/form/input/input.component.mjs +4 -1
  11. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +2 -2
  12. package/esm2022/lib/components/navigation/header/header.component.mjs +10 -3
  13. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +1 -1
  14. package/esm2022/lib/design-angular-kit.module.mjs +11 -5
  15. package/esm2022/lib/interfaces/core.mjs +1 -1
  16. package/esm2022/lib/interfaces/icon.mjs +2 -1
  17. package/esm2022/lib/utils/regex.mjs +5 -1
  18. package/esm2022/lib/validators/it-validators.mjs +8 -2
  19. package/esm2022/public_api.mjs +4 -1
  20. package/fesm2022/design-angular-kit.mjs +173 -17
  21. package/fesm2022/design-angular-kit.mjs.map +1 -1
  22. package/lib/components/core/button/button.directive.d.ts +6 -1
  23. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +5 -2
  24. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +66 -0
  25. package/lib/components/core/timeline/timeline.component.d.ts +21 -0
  26. package/lib/components/core/timeline/timeline.module.d.ts +8 -0
  27. package/lib/components/navigation/header/header.component.d.ts +2 -0
  28. package/lib/design-angular-kit.module.d.ts +16 -15
  29. package/lib/interfaces/core.d.ts +17 -0
  30. package/lib/interfaces/icon.d.ts +1 -1
  31. package/lib/utils/regex.d.ts +4 -0
  32. package/lib/validators/it-validators.d.ts +4 -0
  33. package/package.json +1 -1
  34. package/public_api.d.ts +3 -0
@@ -7,7 +7,7 @@ import { provideHttpClient, HttpClient } from '@angular/common/http';
7
7
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
8
8
  import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
9
9
  import * as i1$3 from '@angular/common';
10
- import { NgTemplateOutlet, NgClass, DOCUMENT, AsyncPipe, LowerCasePipe, NgOptimizedImage } from '@angular/common';
10
+ import { NgTemplateOutlet, NgClass, DOCUMENT, AsyncPipe, LowerCasePipe, NgOptimizedImage, DatePipe } from '@angular/common';
11
11
  import * as i1$4 from '@angular/router';
12
12
  import { RouterLink } from '@angular/router';
13
13
  import { startWith, Subject, filter, debounceTime, distinctUntilChanged, tap, switchMap, of, merge, map, Observable, take, forkJoin, timer, takeWhile, shareReplay } from 'rxjs';
@@ -935,6 +935,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
935
935
  class ItButtonDirective {
936
936
  constructor(progressButtonComponent) {
937
937
  this.progressButtonComponent = progressButtonComponent;
938
+ /**
939
+ * The type attribute
940
+ * @default button
941
+ */
942
+ this.type = 'button';
938
943
  this.isFocus = false;
939
944
  }
940
945
  onFocus() {
@@ -969,7 +974,7 @@ class ItButtonDirective {
969
974
  return cssClass;
970
975
  }
971
976
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItButtonDirective, deps: [{ token: ItProgressButtonComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
972
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.2", type: ItButtonDirective, isStandalone: true, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: ["disabled", "disabled", inputToBoolean] }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "disabled": "this.disabled", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: ItIconComponent }], exportAs: ["itButton"], ngImport: i0 }); }
977
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.2", type: ItButtonDirective, isStandalone: true, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: ["disabled", "disabled", inputToBoolean], type: "type" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "disabled": "this.disabled", "type": "this.type", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: ItIconComponent }], exportAs: ["itButton"], ngImport: i0 }); }
973
978
  }
974
979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItButtonDirective, decorators: [{
975
980
  type: Directive,
@@ -995,6 +1000,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
995
1000
  }, {
996
1001
  type: HostBinding,
997
1002
  args: ['disabled']
1003
+ }], type: [{
1004
+ type: Input
1005
+ }, {
1006
+ type: HostBinding,
1007
+ args: ['type']
998
1008
  }], icons: [{
999
1009
  type: ContentChildren,
1000
1010
  args: [ItIconComponent]
@@ -2243,6 +2253,10 @@ const VAT_NUMBER_REGEX = /^[0-9]{11}$/;
2243
2253
  * Italian CAP Regex
2244
2254
  */
2245
2255
  const CAP_REGEX = /^[0-9]{5}$/;
2256
+ /**
2257
+ * Italian Plate Regex
2258
+ */
2259
+ const PLATE_REGEX = /^[A-Za-z]{2}\d{3}[A-Za-z]{2}$/i;
2246
2260
  /**
2247
2261
  * IBAN Regex
2248
2262
  * https://blog.marketto.it/en/2018/06/validate-any-country-iban/
@@ -2379,6 +2393,12 @@ class ItValidators {
2379
2393
  static get iban() {
2380
2394
  return ItValidators.customPattern(IBAN_REGEX, { invalidIban: true });
2381
2395
  }
2396
+ /**
2397
+ * Italian plate validator
2398
+ */
2399
+ static get plate() {
2400
+ return ItValidators.customPattern(PLATE_REGEX, { invalidPlate: true });
2401
+ }
2382
2402
  /**
2383
2403
  * Check if value is a valid RegExp
2384
2404
  */
@@ -2479,6 +2499,9 @@ class ItInputComponent extends ItAbstractFormComponent {
2479
2499
  if (this.hasError('invalidIban')) {
2480
2500
  return this._translateService.get('it.errors.iban-invalid');
2481
2501
  }
2502
+ if (this.hasError('invalidPlate')) {
2503
+ return this._translateService.get('it.errors.plate-invalid');
2504
+ }
2482
2505
  if (this.hasError('invalidRegex')) {
2483
2506
  return this._translateService.get('it.errors.regex-invalid');
2484
2507
  }
@@ -2721,7 +2744,7 @@ class ItPopoverDirective {
2721
2744
  */
2722
2745
  set popoverContainer(container) {
2723
2746
  if (container) {
2724
- this.element.setAttribute('data-container', container);
2747
+ this.element.setAttribute('data-bs-container', container);
2725
2748
  }
2726
2749
  }
2727
2750
  /**
@@ -2944,7 +2967,7 @@ class ItSteppersContainerComponent {
2944
2967
  this.stepsSubscriptions?.forEach(step => step.unsubscribe());
2945
2968
  }
2946
2969
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2947
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItSteppersContainerComponent, isStandalone: true, selector: "it-steppers-container", inputs: { activeStep: "activeStep", showHeader: ["showHeader", "showHeader", inputToBoolean], dark: ["dark", "dark", inputToBoolean], steppersNumber: ["steppersNumber", "steppersNumber", inputToBoolean], progressStyle: "progressStyle", progressColor: "progressColor", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], disableBackButton: ["disableBackButton", "disableBackButton", inputToBoolean], showForwardButton: ["showForwardButton", "showForwardButton", inputToBoolean], disableForwardButton: ["disableForwardButton", "disableForwardButton", inputToBoolean], showConfirmButton: ["showConfirmButton", "showConfirmButton", inputToBoolean], disableConfirmButton: ["disableConfirmButton", "disableConfirmButton", inputToBoolean], confirmLoading: ["confirmLoading", "confirmLoading", inputToBoolean], showSaveButton: ["showSaveButton", "showSaveButton", inputToBoolean], disableSaveButton: ["disableSaveButton", "disableSaveButton", inputToBoolean], saveLoading: ["saveLoading", "saveLoading", inputToBoolean] }, outputs: { backClick: "backClick", forwardClick: "forwardClick", confirmClick: "confirmClick", saveClick: "saveClick" }, queries: [{ propertyName: "steps", predicate: ItSteppersItemComponent }], ngImport: i0, template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "component", type: ItProgressButtonComponent, selector: "button[itButton][progress]", inputs: ["progress", "progressColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2970
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItSteppersContainerComponent, isStandalone: true, selector: "it-steppers-container", inputs: { activeStep: "activeStep", showHeader: ["showHeader", "showHeader", inputToBoolean], dark: ["dark", "dark", inputToBoolean], steppersNumber: ["steppersNumber", "steppersNumber", inputToBoolean], progressStyle: "progressStyle", progressColor: "progressColor", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], disableBackButton: ["disableBackButton", "disableBackButton", inputToBoolean], showForwardButton: ["showForwardButton", "showForwardButton", inputToBoolean], disableForwardButton: ["disableForwardButton", "disableForwardButton", inputToBoolean], showConfirmButton: ["showConfirmButton", "showConfirmButton", inputToBoolean], disableConfirmButton: ["disableConfirmButton", "disableConfirmButton", inputToBoolean], confirmLoading: ["confirmLoading", "confirmLoading", inputToBoolean], showSaveButton: ["showSaveButton", "showSaveButton", inputToBoolean], disableSaveButton: ["disableSaveButton", "disableSaveButton", inputToBoolean], saveLoading: ["saveLoading", "saveLoading", inputToBoolean] }, outputs: { backClick: "backClick", forwardClick: "forwardClick", confirmClick: "confirmClick", saveClick: "saveClick" }, queries: [{ propertyName: "steps", predicate: ItSteppersItemComponent }], ngImport: i0, template: "<div class=\"steppers\" [class.bg-dark]=\"dark\">\n @if (showHeader) {\n <div class=\"steppers-header\">\n @if (steps) {\n <ul>\n @for (step of steps; track step.id; let i = $index) {\n <li [class.confirmed]=\"i < activeStep\" [class.active]=\"i === activeStep\" [class.no-line]=\"i === activeStep && steppersNumber\">\n @if (step.icon && !steppersNumber) {\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" [name]=\"step.icon\"></it-icon>\n }\n @if (steppersNumber) {\n <span class=\"steppers-number\">\n @if (i < activeStep) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n } @else {\n <span class=\"visually-hidden\">{{ 'it.core.step' | translate }} </span>{{ i + 1 }}\n }\n </span>\n }\n {{ step.label }}\n @if (i < activeStep && !steppersNumber) {\n <ng-container *ngTemplateOutlet=\"checkIcon\"></ng-container>\n }\n @if (i === activeStep) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </li>\n }\n </ul>\n }\n @if (steps) {\n <span class=\"steppers-index\" aria-hidden=\"true\">\n @if (!steppersNumber) {\n {{ activeStep + 1 + '/' + steps.length }}\n } @else {\n @for (step of steps; track step.id; let i = $index) {\n <span [class.active]=\"i === activeStep\">{{ i + 1 }}</span>\n }\n }\n </span>\n }\n </div>\n }\n\n @if (steps?.get(activeStep); as step) {\n <div class=\"steppers-content\" aria-live=\"polite\">\n <ng-container *ngTemplateOutlet=\"step.htmlContent\"></ng-container>\n </div>\n }\n\n @if (showBackButton || showSaveButton || showForwardButton || showConfirmButton || !!progressStyle) {\n <nav class=\"steppers-nav\">\n @if (showBackButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-prev\"\n [disabled]=\"disableBackButton\"\n (click)=\"backClick.emit(activeStep)\">\n <it-icon [labelWaria]=\"'it.core.back' | translate\" name=\"chevron-left\" color=\"primary\"></it-icon>\n {{ 'it.core.back' | translate }}\n </button>\n }\n @if (!!progressStyle && steps) {\n @if (progressStyle === 'dots') {\n <ul class=\"steppers-dots\">\n @for (step of steps; track step; let i = $index) {\n <li [class.done]=\"i < activeStep\">\n <span class=\"visually-hidden\">\n {{ 'it.core.step-of' | translate: { current: activeStep + 1, available: steps?.length } }}\n {{ i < activeStep ? '- ' + ('it.core.confirmed' | translate) : '' }}\n </span>\n </li>\n }\n </ul>\n } @else {\n <div class=\"steppers-progress\">\n <it-progress-bar [color]=\"progressColor\" [value]=\"(activeStep / (steps?.length || 1)) * 100\"></it-progress-bar>\n </div>\n }\n }\n @if (showSaveButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-save\"\n [progress]=\"saveLoading\"\n [disabled]=\"saveLoading || disableSaveButton\"\n (click)=\"saveClick.emit(activeStep)\">\n {{ 'it.general.save' | translate }}\n </button>\n }\n @if (showForwardButton) {\n <button\n type=\"button\"\n itButton=\"outline-primary\"\n size=\"sm\"\n class=\"steppers-btn-next\"\n [disabled]=\"disableForwardButton\"\n (click)=\"forwardClick.emit(activeStep)\">\n {{ 'it.core.forward' | translate }}\n <it-icon [labelWaria]=\"'it.core.forward' | translate\" name=\"chevron-right\" color=\"primary\"></it-icon>\n </button>\n }\n @if (showConfirmButton) {\n <button\n type=\"button\"\n itButton=\"primary\"\n size=\"sm\"\n class=\"steppers-btn-confirm d-lg-block\"\n [progress]=\"confirmLoading\"\n [disabled]=\"confirmLoading || disableConfirmButton\"\n (click)=\"confirmClick.emit(activeStep)\">\n {{ 'it.core.confirm' | translate }}\n </button>\n }\n </nav>\n }\n</div>\n\n<ng-template #checkIcon>\n <it-icon [labelWaria]=\"'it.core.confirmed' | translate\" name=\"check\" class=\"steppers-success\"></it-icon>\n <span class=\"visually-hidden\">{{ 'it.core.confirmed' | translate }}</span>\n</ng-template>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "component", type: ItProgressButtonComponent, selector: "button[itButton][progress]", inputs: ["progress", "progressColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2948
2971
  }
2949
2972
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItSteppersContainerComponent, decorators: [{
2950
2973
  type: Component,
@@ -3058,6 +3081,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3058
3081
  }] } });
3059
3082
 
3060
3083
  class ItTabContainerComponent extends ItAbstractComponent {
3084
+ constructor() {
3085
+ super();
3086
+ this.tabSelected = new EventEmitter();
3087
+ }
3061
3088
  ngAfterViewInit() {
3062
3089
  super.ngAfterViewInit();
3063
3090
  this.tabs?.changes
@@ -3088,13 +3115,16 @@ class ItTabContainerComponent extends ItAbstractComponent {
3088
3115
  ngOnDestroy() {
3089
3116
  this.tabSubscriptions?.forEach(sub => sub.unsubscribe());
3090
3117
  }
3091
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3092
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItTabContainerComponent, isStandalone: true, selector: "it-tab-container", inputs: { auto: ["auto", "auto", inputToBoolean], iconText: ["iconText", "iconText", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, queries: [{ propertyName: "tabs", predicate: ItTabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3118
+ onTab(tab) {
3119
+ this.tabSelected.emit(tab);
3120
+ }
3121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItTabContainerComponent, isStandalone: true, selector: "it-tab-container", inputs: { auto: ["auto", "auto", inputToBoolean], iconText: ["iconText", "iconText", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, outputs: { tabSelected: "tabSelected" }, queries: [{ propertyName: "tabs", predicate: ItTabItemComponent }], viewQueries: [{ propertyName: "tabNavLinks", predicate: ["tabNavLinks"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3093
3123
  }
3094
3124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTabContainerComponent, decorators: [{
3095
3125
  type: Component,
3096
- args: [{ standalone: true, selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet], template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n" }]
3097
- }], propDecorators: { auto: [{
3126
+ args: [{ standalone: true, selector: 'it-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, NgTemplateOutlet], template: "@if (tabs) {\n <ul class=\"nav nav-tabs\" [class.auto]=\"auto\" [class.nav-tabs-icon-text]=\"iconText\" [class.nav-dark]=\"dark\" role=\"tablist\">\n @for (tab of tabs; track tab.id) {\n <li class=\"nav-item\">\n <a\n #tabNavLinks\n [id]=\"tab.id + '-tab-link'\"\n role=\"tab\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n [attr.href]=\"'#' + tab.id + '-tab'\"\n [attr.aria-controls]=\"tab.id + '-tab'\"\n (click)=\"onTab(tab)\">\n @if (tab.icon) {\n <it-icon [name]=\"tab.icon\" class=\"me-2\"></it-icon>\n }\n {{ tab.label }}\n </a>\n </li>\n }\n </ul>\n}\n\n@if (tabs) {\n <div class=\"tab-content\">\n @for (tab of tabs; track tab.id) {\n <div\n [id]=\"tab.id + '-tab'\"\n class=\"tab-pane p-4 fade {{ tab.class ?? '' }}\"\n [class.active]=\"tab.active\"\n [class.show]=\"tab.active\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id + '-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n }\n </div>\n}\n" }]
3127
+ }], ctorParameters: () => [], propDecorators: { auto: [{
3098
3128
  type: Input,
3099
3129
  args: [{ transform: inputToBoolean }]
3100
3130
  }], iconText: [{
@@ -3109,6 +3139,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
3109
3139
  }], tabNavLinks: [{
3110
3140
  type: ViewChildren,
3111
3141
  args: ['tabNavLinks']
3142
+ }], tabSelected: [{
3143
+ type: Output
3112
3144
  }] } });
3113
3145
 
3114
3146
  const tabComponents = [ItTabContainerComponent, ItTabItemComponent];
@@ -4547,7 +4579,7 @@ class ItBackButtonComponent {
4547
4579
  this._location.back();
4548
4580
  }
4549
4581
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItBackButtonComponent, deps: [{ token: i1$3.Location }], target: i0.ɵɵFactoryTarget.Component }); }
4550
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItBackButtonComponent, isStandalone: true, selector: "it-back-button", inputs: { buttonStyle: "buttonStyle", direction: "direction", showIcon: ["showIcon", "showIcon", inputToBoolean], showText: ["showText", "showText", inputToBoolean], backFn: "backFn" }, exportAs: ["itBackButton"], ngImport: i0, template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4582
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItBackButtonComponent, isStandalone: true, selector: "it-back-button", inputs: { buttonStyle: "buttonStyle", direction: "direction", showIcon: ["showIcon", "showIcon", inputToBoolean], showText: ["showText", "showText", inputToBoolean], backFn: "backFn" }, exportAs: ["itBackButton"], ngImport: i0, template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4551
4583
  }
4552
4584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItBackButtonComponent, decorators: [{
4553
4585
  type: Component,
@@ -4783,12 +4815,15 @@ class ItHeaderComponent {
4783
4815
  event.preventDefault();
4784
4816
  this.searchClick.emit(event);
4785
4817
  }
4818
+ toggleCollapse() {
4819
+ this.itNavBarComponent?.toggleCollapse();
4820
+ }
4786
4821
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4787
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItHeaderComponent, isStandalone: true, selector: "it-header", inputs: { light: ["light", "light", inputToBoolean], sticky: ["sticky", "sticky", inputToBoolean], showSlim: ["showSlim", "showSlim", inputToBoolean], smallHeader: ["smallHeader", "smallHeader", inputToBoolean], showSearch: ["showSearch", "showSearch", inputToBoolean], slimTitle: "slimTitle", slimTitleLink: "slimTitleLink", loginStyle: "loginStyle", megamenu: ["megamenu", "megamenu", inputToBoolean], expand: ["expand", "expand", inputToBoolean] }, outputs: { loginClick: "loginClick", searchClick: "searchClick" }, viewQueries: [{ propertyName: "headerWrapper", first: true, predicate: ["headerWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\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]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n 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 <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\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 @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "ngmodule", type: ItNavBarModule }, { kind: "component", type: ItNavBarComponent, selector: "it-navbar", inputs: ["megamenu", "expand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4822
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItHeaderComponent, isStandalone: true, selector: "it-header", inputs: { light: ["light", "light", inputToBoolean], sticky: ["sticky", "sticky", inputToBoolean], showSlim: ["showSlim", "showSlim", inputToBoolean], smallHeader: ["smallHeader", "smallHeader", inputToBoolean], showSearch: ["showSearch", "showSearch", inputToBoolean], slimTitle: "slimTitle", slimTitleLink: "slimTitleLink", loginStyle: "loginStyle", megamenu: ["megamenu", "megamenu", inputToBoolean], expand: ["expand", "expand", inputToBoolean] }, outputs: { loginClick: "loginClick", searchClick: "searchClick" }, viewQueries: [{ propertyName: "headerWrapper", first: true, predicate: ["headerWrapper"], descendants: true }, { propertyName: "itNavBarComponent", first: true, predicate: ItNavBarComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\"\n data-bs-target=\"#header-nav-wrapper\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\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]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n 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 <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\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 @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\" id=\"header-nav-wrapper\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "ngmodule", type: ItNavBarModule }, { kind: "component", type: ItNavBarComponent, selector: "it-navbar", inputs: ["megamenu", "expand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4788
4823
  }
4789
4824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItHeaderComponent, decorators: [{
4790
4825
  type: Component,
4791
- args: [{ standalone: true, selector: 'it-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItButtonDirective, ItNavBarModule], template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\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]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n 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 <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\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 @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
4826
+ args: [{ standalone: true, selector: 'it-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItButtonDirective, ItNavBarModule], template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\"\n data-bs-target=\"#header-nav-wrapper\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\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]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n 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 <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\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 @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\" id=\"header-nav-wrapper\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
4792
4827
  }], ctorParameters: () => [], propDecorators: { light: [{
4793
4828
  type: Input,
4794
4829
  args: [{ transform: inputToBoolean }]
@@ -4817,6 +4852,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
4817
4852
  }], headerWrapper: [{
4818
4853
  type: ViewChild,
4819
4854
  args: ['headerWrapper']
4855
+ }], itNavBarComponent: [{
4856
+ type: ViewChild,
4857
+ args: [ItNavBarComponent]
4820
4858
  }], megamenu: [{
4821
4859
  type: Input,
4822
4860
  args: [{ transform: inputToBoolean }]
@@ -4915,7 +4953,7 @@ class ItErrorPageComponent {
4915
4953
  return this.errorCode === 404 || this.errorCode === 403 || this.errorCode === 500;
4916
4954
  }
4917
4955
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItErrorPageComponent, deps: [{ token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4918
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItErrorPageComponent, isStandalone: true, selector: "it-error-page", inputs: { errorCode: "errorCode", showErrorCode: ["showErrorCode", "showErrorCode", inputToBoolean], errorTitle: "errorTitle", errorDescription: "errorDescription", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], showHomeButton: ["showHomeButton", "showHomeButton", inputToBoolean] }, ngImport: i0, template: "<div class=\"container text-center mt-5\">\n @if (errorCode && showErrorCode) {\n <h1>{{ errorCode }}</h1>\n }\n <h2>\n @if (!errorTitle && isDefaultErrorCode) {\n {{ 'it.utils.error-page.' + errorCode + '.title' | translate }}\n } @else {\n {{ errorTitle || 'it.errors.generic' | translate }}\n }\n </h2>\n\n <p class=\"mt-3 w-75 mx-auto\">\n @if (!errorDescription && isDefaultErrorCode) {\n {{ 'it.utils.error-page.' + errorCode + '.description' | translate }}\n } @else {\n {{ errorDescription || 'it.errors.generic-support-message' | translate }}\n }\n </p>\n\n @if (showBackButton || showHomeButton) {\n <div class=\"mt-5\">\n @if (showBackButton) {\n <it-back-button></it-back-button>\n }\n @if (showHomeButton) {\n <a itButton=\"outline-primary\" class=\"ms-3\" routerLink=\"/\" title=\"{{ 'it.utils.error-page.go-to-homepage' | translate }}\">\n {{ 'it.utils.error-page.go-to-homepage' | translate }}\n </a>\n }\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ItBackButtonComponent, selector: "it-back-button", inputs: ["buttonStyle", "direction", "showIcon", "showText", "backFn"], exportAs: ["itBackButton"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4956
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItErrorPageComponent, isStandalone: true, selector: "it-error-page", inputs: { errorCode: "errorCode", showErrorCode: ["showErrorCode", "showErrorCode", inputToBoolean], errorTitle: "errorTitle", errorDescription: "errorDescription", showBackButton: ["showBackButton", "showBackButton", inputToBoolean], showHomeButton: ["showHomeButton", "showHomeButton", inputToBoolean] }, ngImport: i0, template: "<div class=\"container text-center mt-5\">\n @if (errorCode && showErrorCode) {\n <h1>{{ errorCode }}</h1>\n }\n <h2>\n @if (!errorTitle && isDefaultErrorCode) {\n {{ 'it.utils.error-page.' + errorCode + '.title' | translate }}\n } @else {\n {{ errorTitle || 'it.errors.generic' | translate }}\n }\n </h2>\n\n <p class=\"mt-3 w-75 mx-auto\">\n @if (!errorDescription && isDefaultErrorCode) {\n {{ 'it.utils.error-page.' + errorCode + '.description' | translate }}\n } @else {\n {{ errorDescription || 'it.errors.generic-support-message' | translate }}\n }\n </p>\n\n @if (showBackButton || showHomeButton) {\n <div class=\"mt-5\">\n @if (showBackButton) {\n <it-back-button></it-back-button>\n }\n @if (showHomeButton) {\n <a itButton=\"outline-primary\" class=\"ms-3\" routerLink=\"/\" title=\"{{ 'it.utils.error-page.go-to-homepage' | translate }}\">\n {{ 'it.utils.error-page.go-to-homepage' | translate }}\n </a>\n }\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ItBackButtonComponent, selector: "it-back-button", inputs: ["buttonStyle", "direction", "showIcon", "showText", "backFn"], exportAs: ["itBackButton"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4919
4957
  }
4920
4958
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItErrorPageComponent, decorators: [{
4921
4959
  type: Component,
@@ -5143,6 +5181,118 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
5143
5181
  }]
5144
5182
  }] });
5145
5183
 
5184
+ /**
5185
+ * Timeline Item
5186
+ * @description Represents a single event for Timeline component.
5187
+ */
5188
+ class ItTimelineItemComponent extends ItAbstractComponent {
5189
+ constructor() {
5190
+ super(...arguments);
5191
+ /**
5192
+ * Timeline element reference date format
5193
+ * @default dd/MM/yyyy
5194
+ */
5195
+ this.dateFormat = 'dd/MM/yyyy';
5196
+ /**
5197
+ * Timeline element PIN type
5198
+ * @default none
5199
+ */
5200
+ this.pinType = 'default';
5201
+ /**
5202
+ * Timeline element PIN icon
5203
+ * @default code-circle
5204
+ */
5205
+ this.pinIcon = 'code-circle';
5206
+ /**
5207
+ * Timeline element show detail link
5208
+ * @default false
5209
+ */
5210
+ this.showReadMore = false;
5211
+ /** Timeline element detail link
5212
+ * @default #
5213
+ */
5214
+ this.readMoreLink = '#';
5215
+ }
5216
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5217
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItTimelineItemComponent, isStandalone: true, selector: "it-timeline-item", inputs: { title: "title", text: "text", signature: "signature", eventDate: "eventDate", dateFormat: "dateFormat", pinText: "pinText", pinType: "pinType", pinIcon: "pinIcon", categoryTitle: "categoryTitle", categoryLink: "categoryLink", showReadMore: ["showReadMore", "showReadMore", inputToBoolean], readMoreLink: "readMoreLink" }, usesInheritance: true, ngImport: i0, template: "<div class=\"timeline-element\">\n @if (pinType === 'now') {\n <span class=\"it-now-label d-none d-lg-flex\">{{ 'it.timeline.today' | translate }}</span>\n }\n <div class=\"it-pin-wrapper\" [ngClass]=\"{ 'it-evidence': pinType === 'evidence', 'it-now': pinType === 'now' }\">\n <div class=\"pin-icon\">\n @if (pinIcon) {\n <it-icon [name]=\"pinIcon\"></it-icon>\n } @else {\n <it-icon name=\"code-circle\"></it-icon>\n }\n </div>\n <div class=\"pin-text\">\n <span>{{ pinText }}</span>\n </div>\n </div>\n <div class=\"card-wrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n @if ((categoryTitle && categoryLink) || eventDate) {\n <div class=\"category-top\">\n @if (categoryTitle) {\n <a class=\"category\" [href]=\"categoryLink\">{{ categoryTitle }}</a>\n }\n @if (eventDate) {\n <span class=\"data\">{{ eventDate | date: dateFormat }}</span>\n }\n </div>\n }\n <h5 class=\"card-title\">{{ title }}</h5>\n <p class=\"card-text\">{{ text }}</p>\n @if (signature) {\n <span class=\"card-signature\">{{ signature }}</span>\n }\n @if (showReadMore) {\n <a class=\"read-more\" [href]=\"readMoreLink\">\n <span class=\"text\">{{ 'it.timeline.read-more' | translate }}</span>\n <span class=\"visually-hidden\">{{ 'it.timeline.read-more-on' | translate: { title: title } }}</span>\n <it-icon name=\"arrow-right\"></it-icon>\n </a>\n }\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5218
+ }
5219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineItemComponent, decorators: [{
5220
+ type: Component,
5221
+ args: [{ standalone: true, selector: 'it-timeline-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, DatePipe, TranslateModule, NgClass], template: "<div class=\"timeline-element\">\n @if (pinType === 'now') {\n <span class=\"it-now-label d-none d-lg-flex\">{{ 'it.timeline.today' | translate }}</span>\n }\n <div class=\"it-pin-wrapper\" [ngClass]=\"{ 'it-evidence': pinType === 'evidence', 'it-now': pinType === 'now' }\">\n <div class=\"pin-icon\">\n @if (pinIcon) {\n <it-icon [name]=\"pinIcon\"></it-icon>\n } @else {\n <it-icon name=\"code-circle\"></it-icon>\n }\n </div>\n <div class=\"pin-text\">\n <span>{{ pinText }}</span>\n </div>\n </div>\n <div class=\"card-wrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n @if ((categoryTitle && categoryLink) || eventDate) {\n <div class=\"category-top\">\n @if (categoryTitle) {\n <a class=\"category\" [href]=\"categoryLink\">{{ categoryTitle }}</a>\n }\n @if (eventDate) {\n <span class=\"data\">{{ eventDate | date: dateFormat }}</span>\n }\n </div>\n }\n <h5 class=\"card-title\">{{ title }}</h5>\n <p class=\"card-text\">{{ text }}</p>\n @if (signature) {\n <span class=\"card-signature\">{{ signature }}</span>\n }\n @if (showReadMore) {\n <a class=\"read-more\" [href]=\"readMoreLink\">\n <span class=\"text\">{{ 'it.timeline.read-more' | translate }}</span>\n <span class=\"visually-hidden\">{{ 'it.timeline.read-more-on' | translate: { title: title } }}</span>\n <it-icon name=\"arrow-right\"></it-icon>\n </a>\n }\n </div>\n </div>\n </div>\n</div>\n" }]
5222
+ }], propDecorators: { title: [{
5223
+ type: Input,
5224
+ args: [{ required: true }]
5225
+ }], text: [{
5226
+ type: Input,
5227
+ args: [{ required: true }]
5228
+ }], signature: [{
5229
+ type: Input
5230
+ }], eventDate: [{
5231
+ type: Input
5232
+ }], dateFormat: [{
5233
+ type: Input
5234
+ }], pinText: [{
5235
+ type: Input,
5236
+ args: [{ required: true }]
5237
+ }], pinType: [{
5238
+ type: Input
5239
+ }], pinIcon: [{
5240
+ type: Input
5241
+ }], categoryTitle: [{
5242
+ type: Input
5243
+ }], categoryLink: [{
5244
+ type: Input
5245
+ }], showReadMore: [{
5246
+ type: Input,
5247
+ args: [{ transform: inputToBoolean }]
5248
+ }], readMoreLink: [{
5249
+ type: Input
5250
+ }] } });
5251
+
5252
+ /**
5253
+ * Timeline
5254
+ * @description Build timeline for chronological representation of events.
5255
+ */
5256
+ class ItTimelineComponent extends ItAbstractComponent {
5257
+ constructor() {
5258
+ super(...arguments);
5259
+ /**
5260
+ * Timeline elements array
5261
+ * @default []
5262
+ */
5263
+ this.timelineElements = [];
5264
+ /**
5265
+ * Default date format for timeline element reference date
5266
+ * @default dd/MM/yyyy
5267
+ */
5268
+ this.dateFormat = 'dd/MM/yyyy';
5269
+ }
5270
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5271
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItTimelineComponent, isStandalone: true, selector: "it-timeline", inputs: { timelineElements: "timelineElements", dateFormat: "dateFormat" }, usesInheritance: true, ngImport: i0, template: "<div class=\"it-timeline-wrapper\">\n <div class=\"row\">\n @for (element of timelineElements; track $index) {\n <div class=\"col-12\">\n <it-timeline-item\n [title]=\"element.title\"\n [text]=\"element.text\"\n [signature]=\"element.signature\"\n [pinType]=\"element.pin?.type\"\n [pinIcon]=\"element.pin?.icon\"\n [pinText]=\"element.pin?.text\"\n [eventDate]=\"element.eventDate\"\n [dateFormat]=\"dateFormat\"\n [categoryTitle]=\"element.category?.title\"\n [categoryLink]=\"element.category?.link\"\n [showReadMore]=\"!!element.link?.length\"\n [readMoreLink]=\"element.link\" />\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: ItTimelineItemComponent, selector: "it-timeline-item", inputs: ["title", "text", "signature", "eventDate", "dateFormat", "pinText", "pinType", "pinIcon", "categoryTitle", "categoryLink", "showReadMore", "readMoreLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5272
+ }
5273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineComponent, decorators: [{
5274
+ type: Component,
5275
+ args: [{ standalone: true, selector: 'it-timeline', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule, ItTimelineItemComponent], template: "<div class=\"it-timeline-wrapper\">\n <div class=\"row\">\n @for (element of timelineElements; track $index) {\n <div class=\"col-12\">\n <it-timeline-item\n [title]=\"element.title\"\n [text]=\"element.text\"\n [signature]=\"element.signature\"\n [pinType]=\"element.pin?.type\"\n [pinIcon]=\"element.pin?.icon\"\n [pinText]=\"element.pin?.text\"\n [eventDate]=\"element.eventDate\"\n [dateFormat]=\"dateFormat\"\n [categoryTitle]=\"element.category?.title\"\n [categoryLink]=\"element.category?.link\"\n [showReadMore]=\"!!element.link?.length\"\n [readMoreLink]=\"element.link\" />\n </div>\n }\n </div>\n</div>\n" }]
5276
+ }], propDecorators: { timelineElements: [{
5277
+ type: Input
5278
+ }], dateFormat: [{
5279
+ type: Input
5280
+ }] } });
5281
+
5282
+ const timelineComponents = [ItTimelineComponent, ItTimelineItemComponent];
5283
+ class ItTimelineModule {
5284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5285
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineModule, imports: [ItTimelineComponent, ItTimelineItemComponent], exports: [ItTimelineComponent, ItTimelineItemComponent] }); }
5286
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineModule, imports: [timelineComponents] }); }
5287
+ }
5288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItTimelineModule, decorators: [{
5289
+ type: NgModule,
5290
+ args: [{
5291
+ imports: timelineComponents,
5292
+ exports: timelineComponents,
5293
+ }]
5294
+ }] });
5295
+
5146
5296
  /**
5147
5297
  * Core components
5148
5298
  */
@@ -5173,6 +5323,7 @@ const core = [
5173
5323
  ItTabModule,
5174
5324
  ItTableModule,
5175
5325
  ItTooltipDirective,
5326
+ ItTimelineModule,
5176
5327
  ];
5177
5328
  /**
5178
5329
  * Navigation Components
@@ -5239,7 +5390,8 @@ class DesignAngularKitModule {
5239
5390
  ItSteppersModule,
5240
5391
  ItTabModule,
5241
5392
  ItTableModule,
5242
- ItTooltipDirective, // Core components
5393
+ ItTooltipDirective,
5394
+ ItTimelineModule, // Core components
5243
5395
  ItFormModule, ItBackButtonComponent,
5244
5396
  ItBackToTopComponent,
5245
5397
  ItBreadcrumbsModule,
@@ -5271,7 +5423,8 @@ class DesignAngularKitModule {
5271
5423
  ItSteppersModule,
5272
5424
  ItTabModule,
5273
5425
  ItTableModule,
5274
- ItTooltipDirective, // Core components
5426
+ ItTooltipDirective,
5427
+ ItTimelineModule, // Core components
5275
5428
  ItFormModule, ItBackButtonComponent,
5276
5429
  ItBackToTopComponent,
5277
5430
  ItBreadcrumbsModule,
@@ -5294,7 +5447,8 @@ class DesignAngularKitModule {
5294
5447
  ItSpinnerComponent,
5295
5448
  ItSteppersModule,
5296
5449
  ItTabModule,
5297
- ItTableModule, // Core components
5450
+ ItTableModule,
5451
+ ItTimelineModule, // Core components
5298
5452
  ItFormModule, ItBackButtonComponent,
5299
5453
  ItBreadcrumbsModule,
5300
5454
  ItHeaderComponent,
@@ -5305,7 +5459,8 @@ class DesignAngularKitModule {
5305
5459
  ItListModule,
5306
5460
  ItSteppersModule,
5307
5461
  ItTabModule,
5308
- ItTableModule, // Core components
5462
+ ItTableModule,
5463
+ ItTimelineModule, // Core components
5309
5464
  ItFormModule, ItBreadcrumbsModule,
5310
5465
  ItNavBarModule] }); }
5311
5466
  }
@@ -5347,6 +5502,7 @@ const IconNameArray = [
5347
5502
  'close',
5348
5503
  'close-big',
5349
5504
  'close-circle',
5505
+ 'code-circle',
5350
5506
  'comment',
5351
5507
  'copy',
5352
5508
  'delete',
@@ -5652,5 +5808,5 @@ class ItDateUtils {
5652
5808
  * Generated bundle index. Do not edit.
5653
5809
  */
5654
5810
 
5655
- export { CAP_REGEX, DesignAngularKitModule, EMAIL_REGEX, IBAN_REGEX, ITALIAN_TAX_CODE_REGEX, IT_ASSET_BASE_PATH, IT_SORT_DEFAULT_OPTIONS, IconNameArray, ItAccordionComponent, ItAlertComponent, ItAutocompleteComponent, ItAvatarDirective, ItAvatarDropdownComponent, ItAvatarDropdownItemComponent, ItAvatarGroupComponent, ItAvatarGroupItemComponent, ItAvatarModule, ItBackButtonComponent, ItBackToTopComponent, ItBadgeDirective, ItBreadcrumbComponent, ItBreadcrumbItemComponent, ItBreadcrumbsModule, ItButtonDirective, ItCalloutComponent, ItCardComponent, ItCarouselComponent, ItCarouselItemComponent, ItCarouselModule, ItCheckboxComponent, ItChipComponent, ItCollapseComponent, ItDateAgoPipe, ItDateUtils, ItDimmerButtonsComponent, ItDimmerComponent, ItDimmerIconComponent, ItDimmerModule, ItDropdownComponent, ItDropdownItemComponent, ItDropdownModule, ItDurationPipe, ItErrorPageComponent, ItFileUtils, ItFormModule, ItForwardDirective, ItHeaderComponent, ItIconComponent, ItInputComponent, ItLanguageSwitcherComponent, ItLinkComponent, ItListComponent, ItListItemComponent, ItListModule, ItMarkMatchingTextPipe, ItMegamenuComponent, ItModalComponent, ItNavBarComponent, ItNavBarItemComponent, ItNavBarModule, ItNotificationService, ItNotificationsComponent, ItPaginationComponent, ItPasswordInputComponent, ItPopoverDirective, ItProgressBarComponent, ItProgressButtonComponent, ItRadioButtonComponent, ItRangeComponent, ItRatingComponent, ItSelectComponent, ItSidebarComponent, ItSortDirective, ItSortHeaderComponent, ItSpinnerComponent, ItSteppersContainerComponent, ItSteppersItemComponent, ItSteppersModule, ItTabContainerComponent, ItTabItemComponent, ItTabModule, ItTableComponent, ItTableModule, ItTextareaComponent, ItTooltipDirective, ItUploadDragDropComponent, ItUploadFileListComponent, ItValidators, NotificationPosition, NotificationType, PHONE_NUMBER_REGEX, URL_REGEX, VAT_NUMBER_REGEX, provideDesignAngularKit };
5811
+ export { CAP_REGEX, DesignAngularKitModule, EMAIL_REGEX, IBAN_REGEX, ITALIAN_TAX_CODE_REGEX, IT_ASSET_BASE_PATH, IT_SORT_DEFAULT_OPTIONS, IconNameArray, ItAccordionComponent, ItAlertComponent, ItAutocompleteComponent, ItAvatarDirective, ItAvatarDropdownComponent, ItAvatarDropdownItemComponent, ItAvatarGroupComponent, ItAvatarGroupItemComponent, ItAvatarModule, ItBackButtonComponent, ItBackToTopComponent, ItBadgeDirective, ItBreadcrumbComponent, ItBreadcrumbItemComponent, ItBreadcrumbsModule, ItButtonDirective, ItCalloutComponent, ItCardComponent, ItCarouselComponent, ItCarouselItemComponent, ItCarouselModule, ItCheckboxComponent, ItChipComponent, ItCollapseComponent, ItDateAgoPipe, ItDateUtils, ItDimmerButtonsComponent, ItDimmerComponent, ItDimmerIconComponent, ItDimmerModule, ItDropdownComponent, ItDropdownItemComponent, ItDropdownModule, ItDurationPipe, ItErrorPageComponent, ItFileUtils, ItFormModule, ItForwardDirective, ItHeaderComponent, ItIconComponent, ItInputComponent, ItLanguageSwitcherComponent, ItLinkComponent, ItListComponent, ItListItemComponent, ItListModule, ItMarkMatchingTextPipe, ItMegamenuComponent, ItModalComponent, ItNavBarComponent, ItNavBarItemComponent, ItNavBarModule, ItNotificationService, ItNotificationsComponent, ItPaginationComponent, ItPasswordInputComponent, ItPopoverDirective, ItProgressBarComponent, ItProgressButtonComponent, ItRadioButtonComponent, ItRangeComponent, ItRatingComponent, ItSelectComponent, ItSidebarComponent, ItSortDirective, ItSortHeaderComponent, ItSpinnerComponent, ItSteppersContainerComponent, ItSteppersItemComponent, ItSteppersModule, ItTabContainerComponent, ItTabItemComponent, ItTabModule, ItTableComponent, ItTableModule, ItTextareaComponent, ItTimelineComponent, ItTimelineItemComponent, ItTimelineModule, ItTooltipDirective, ItUploadDragDropComponent, ItUploadFileListComponent, ItValidators, NotificationPosition, NotificationType, PHONE_NUMBER_REGEX, PLATE_REGEX, URL_REGEX, VAT_NUMBER_REGEX, provideDesignAngularKit };
5656
5812
  //# sourceMappingURL=design-angular-kit.mjs.map