igniteui-angular 22.1.3 → 22.2.0-rc.0

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 (158) hide show
  1. package/README.md +2 -2
  2. package/combo/README.md +19 -0
  3. package/drop-down/README.md +40 -4
  4. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  5. package/fesm2022/igniteui-angular-action-strip.mjs +15 -12
  6. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  8. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  9. package/fesm2022/igniteui-angular-banner.mjs +15 -12
  10. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  12. package/fesm2022/igniteui-angular-button-group.mjs +12 -13
  13. package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-calendar.mjs +73 -66
  15. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  16. package/fesm2022/igniteui-angular-card.mjs +31 -31
  17. package/fesm2022/igniteui-angular-carousel.mjs +27 -24
  18. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  20. package/fesm2022/igniteui-angular-chat.mjs +12 -12
  21. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  22. package/fesm2022/igniteui-angular-chips.mjs +15 -12
  23. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  24. package/fesm2022/igniteui-angular-combo.mjs +273 -122
  25. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  26. package/fesm2022/igniteui-angular-core.mjs +188 -59
  27. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  28. package/fesm2022/igniteui-angular-date-picker.mjs +76 -82
  29. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  31. package/fesm2022/igniteui-angular-directives.mjs +321 -457
  32. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-drop-down.mjs +331 -104
  34. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  36. package/fesm2022/igniteui-angular-grids-core.mjs +556 -518
  37. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  38. package/fesm2022/igniteui-angular-grids-grid.mjs +91 -85
  39. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  40. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +59 -46
  41. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  42. package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
  43. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +113 -86
  44. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
  46. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  48. package/fesm2022/igniteui-angular-input-group.mjs +52 -63
  49. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  50. package/fesm2022/igniteui-angular-list.mjs +45 -42
  51. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  52. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  53. package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
  54. package/fesm2022/igniteui-angular-paginator.mjs +24 -21
  55. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  56. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  57. package/fesm2022/igniteui-angular-query-builder.mjs +44 -31
  58. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  59. package/fesm2022/igniteui-angular-radio.mjs +59 -35
  60. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  61. package/fesm2022/igniteui-angular-select.mjs +35 -43
  62. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  63. package/fesm2022/igniteui-angular-simple-combo.mjs +44 -33
  64. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  65. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  66. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  67. package/fesm2022/igniteui-angular-splitter.mjs +37 -27
  68. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  69. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  70. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  71. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  72. package/fesm2022/igniteui-angular-time-picker.mjs +34 -40
  73. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  74. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  75. package/fesm2022/igniteui-angular-tree.mjs +33 -30
  76. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  77. package/fesm2022/igniteui-angular-virtual-scroll.mjs +1257 -0
  78. package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -0
  79. package/fesm2022/igniteui-angular.mjs +1 -0
  80. package/fesm2022/igniteui-angular.mjs.map +1 -1
  81. package/input-group/README.md +2 -0
  82. package/lib/core/styles/components/scrollbar/scrollbar-component.scss +0 -2
  83. package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +23 -51
  84. package/lib/grids/core/src/column-actions/themes/_derived.scss +3 -3
  85. package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -3
  86. package/lib/grids/themes/_derived.scss +3 -3
  87. package/lib/query-builder/src/query-builder/themes/_derived.scss +3 -3
  88. package/migrations/migration-collection.json +10 -0
  89. package/migrations/update-22_2_0/changes/theme-changes.json +77 -0
  90. package/migrations/update-22_2_0/index.d.ts +3 -0
  91. package/migrations/update-22_2_0/index.js +18 -0
  92. package/migrations/update-22_2_0/index.spec.d.ts +1 -0
  93. package/migrations/update-22_2_0/index.spec.js +88 -0
  94. package/migrations/update-22_2_0_grid-summary-borders/changes/theme-changes.json +17 -0
  95. package/migrations/update-22_2_0_grid-summary-borders/index.d.ts +3 -0
  96. package/migrations/update-22_2_0_grid-summary-borders/index.js +64 -0
  97. package/migrations/update-22_2_0_grid-summary-borders/index.spec.d.ts +1 -0
  98. package/migrations/update-22_2_0_grid-summary-borders/index.spec.js +100 -0
  99. package/package.json +6 -2
  100. package/schematics/tsconfig.tsbuildinfo +1 -1
  101. package/simple-combo/README.md +3 -0
  102. package/skills/igniteui-angular-components/references/form-controls.md +58 -0
  103. package/styles/igniteui-angular-dark.css +1 -1
  104. package/styles/igniteui-angular.css +1 -1
  105. package/styles/igniteui-bootstrap-dark.css +1 -1
  106. package/styles/igniteui-bootstrap-light.css +1 -1
  107. package/styles/igniteui-dark-green.css +1 -1
  108. package/styles/igniteui-fluent-dark-excel.css +1 -1
  109. package/styles/igniteui-fluent-dark-word.css +1 -1
  110. package/styles/igniteui-fluent-dark.css +1 -1
  111. package/styles/igniteui-fluent-light-excel.css +1 -1
  112. package/styles/igniteui-fluent-light-word.css +1 -1
  113. package/styles/igniteui-fluent-light.css +1 -1
  114. package/styles/igniteui-indigo-dark.css +1 -1
  115. package/styles/igniteui-indigo-light.css +1 -1
  116. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  117. package/styles/maps/igniteui-angular.css.map +1 -1
  118. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  119. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  120. package/styles/maps/igniteui-dark-green.css.map +1 -1
  121. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  122. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  123. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  124. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  125. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  126. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  127. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  128. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  129. package/types/igniteui-angular-action-strip.d.ts +1 -0
  130. package/types/igniteui-angular-banner.d.ts +1 -0
  131. package/types/igniteui-angular-calendar.d.ts +3 -1
  132. package/types/igniteui-angular-carousel.d.ts +1 -0
  133. package/types/igniteui-angular-chips.d.ts +1 -0
  134. package/types/igniteui-angular-combo.d.ts +56 -12
  135. package/types/igniteui-angular-core.d.ts +64 -11
  136. package/types/igniteui-angular-date-picker.d.ts +4 -4
  137. package/types/igniteui-angular-directives.d.ts +50 -164
  138. package/types/igniteui-angular-drop-down.d.ts +76 -4
  139. package/types/igniteui-angular-grids-core.d.ts +64 -28
  140. package/types/igniteui-angular-grids-grid.d.ts +4 -7
  141. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +5 -4
  142. package/types/igniteui-angular-grids-pivot-grid.d.ts +11 -5
  143. package/types/igniteui-angular-grids-tree-grid.d.ts +1 -1
  144. package/types/igniteui-angular-icon.d.ts +1 -1
  145. package/types/igniteui-angular-input-group.d.ts +2 -2
  146. package/types/igniteui-angular-list.d.ts +1 -0
  147. package/types/igniteui-angular-paginator.d.ts +1 -0
  148. package/types/igniteui-angular-query-builder.d.ts +5 -1
  149. package/types/igniteui-angular-radio.d.ts +16 -1
  150. package/types/igniteui-angular-select.d.ts +1 -2
  151. package/types/igniteui-angular-simple-combo.d.ts +7 -0
  152. package/types/igniteui-angular-splitter.d.ts +6 -1
  153. package/types/igniteui-angular-stepper.d.ts +1 -1
  154. package/types/igniteui-angular-time-picker.d.ts +2 -2
  155. package/types/igniteui-angular-tree.d.ts +4 -3
  156. package/types/igniteui-angular-virtual-scroll.d.ts +408 -0
  157. package/types/igniteui-angular.d.ts +1 -0
  158. package/virtual-scroll/README.md +332 -0
@@ -51,10 +51,10 @@ class IgxTabItemDirective {
51
51
  this.selectedChange.emit(this._selected);
52
52
  }
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.1", type: IgxTabItemDirective, isStandalone: true, inputs: { disabled: ["disabled", "disabled", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, queries: [{ propertyName: "headerComponent", first: true, predicate: IgxTabHeaderBase, descendants: true }, { propertyName: "panelComponent", first: true, predicate: IgxTabContentBase, descendants: true }], viewQueries: [{ propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, static: true }, { propertyName: "panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, static: true }], ngImport: i0 }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.7", type: IgxTabItemDirective, isStandalone: true, inputs: { disabled: ["disabled", "disabled", booleanAttribute], selected: ["selected", "selected", booleanAttribute] }, outputs: { selectedChange: "selectedChange" }, queries: [{ propertyName: "headerComponent", first: true, predicate: IgxTabHeaderBase, descendants: true }, { propertyName: "panelComponent", first: true, predicate: IgxTabContentBase, descendants: true }], viewQueries: [{ propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true, static: true }, { propertyName: "panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, static: true }], ngImport: i0 }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabItemDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabItemDirective, decorators: [{
58
58
  type: Directive
59
59
  }], propDecorators: { headerComponent: [{
60
60
  type: ContentChild,
@@ -99,10 +99,10 @@ class IgxTabContentDirective {
99
99
  get nativeElement() {
100
100
  return this.elementRef.nativeElement;
101
101
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabContentDirective, isStandalone: true, host: { properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex", "style.z-index": "this.zIndex" } }, ngImport: i0 }); }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabContentDirective, isStandalone: true, host: { properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex", "style.z-index": "this.zIndex" } }, ngImport: i0 }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabContentDirective, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabContentDirective, decorators: [{
106
106
  type: Directive
107
107
  }], propDecorators: { role: [{
108
108
  type: HostBinding,
@@ -121,10 +121,10 @@ class IgxTabContentComponent extends IgxTabContentDirective {
121
121
  /** @hidden */
122
122
  this.cssClass = true;
123
123
  }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxTabContentComponent, isStandalone: true, selector: "igx-tab-content", host: { properties: { "class.igx-tabs-content__inner": "this.cssClass" } }, providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }], usesInheritance: true, ngImport: i0, template: "@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n", styles: ["@layer ig.base{.igx-tabs-content{position:relative;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto}.igx-tabs-content__inner{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;flex:1 1 auto}.igx-tabs-content__inner::-moz-focus-inner{border:0}.igx-tabs-content__inner:focus{outline-width:0}.igx-tabs-content__inner[tabindex=\"0\"]{position:relative}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxTabContentComponent, isStandalone: true, selector: "igx-tab-content", host: { properties: { "class.igx-tabs-content__inner": "this.cssClass" } }, providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }], usesInheritance: true, ngImport: i0, template: "@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n", styles: ["@layer ig.base{.igx-tabs-content{position:relative;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto}.igx-tabs-content__inner{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;flex:1 1 auto}.igx-tabs-content__inner::-moz-focus-inner{border:0}.igx-tabs-content__inner:focus{outline-width:0}.igx-tabs-content__inner[tabindex=\"0\"]{position:relative}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabContentComponent, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabContentComponent, decorators: [{
128
128
  type: Component,
129
129
  args: [{ selector: 'igx-tab-content', changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }], template: "@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n", styles: ["@layer ig.base{.igx-tabs-content{position:relative;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto}.igx-tabs-content__inner{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;flex:1 1 auto}.igx-tabs-content__inner::-moz-focus-inner{border:0}.igx-tabs-content__inner:focus{outline-width:0}.igx-tabs-content__inner[tabindex=\"0\"]{position:relative}}\n"] }]
130
130
  }], propDecorators: { cssClass: [{
@@ -167,10 +167,10 @@ class IgxTabHeaderDirective {
167
167
  get nativeElement() {
168
168
  return this.elementRef.nativeElement;
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
171
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabHeaderDirective, isStandalone: true, host: { listeners: { "click": "onClick()" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex", "attr.aria-selected": "this.ariaSelected", "attr.aria-disabled": "this.ariaDisabled" } }, ngImport: i0 }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
171
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabHeaderDirective, isStandalone: true, host: { listeners: { "click": "onClick()" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabIndex", "attr.aria-selected": "this.ariaSelected", "attr.aria-disabled": "this.ariaDisabled" } }, ngImport: i0 }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderDirective, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderDirective, decorators: [{
174
174
  type: Directive
175
175
  }], propDecorators: { role: [{
176
176
  type: HostBinding,
@@ -408,10 +408,10 @@ class IgxTabsDirective extends IgxCarouselComponentBase {
408
408
  this.currentItem = item;
409
409
  }
410
410
  }
411
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
412
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.1", type: IgxTabsDirective, isStandalone: true, inputs: { selectedIndex: "selectedIndex", disableAnimation: ["disableAnimation", "disableAnimation", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", selectedIndexChanging: "selectedIndexChanging", selectedItemChange: "selectedItemChange" }, queries: [{ propertyName: "items", predicate: IgxTabItemDirective }, { propertyName: "panels", predicate: IgxTabContentBase, descendants: true }], usesInheritance: true, ngImport: i0 }); }
411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
412
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.7", type: IgxTabsDirective, isStandalone: true, inputs: { selectedIndex: "selectedIndex", disableAnimation: ["disableAnimation", "disableAnimation", booleanAttribute] }, outputs: { selectedIndexChange: "selectedIndexChange", selectedIndexChanging: "selectedIndexChanging", selectedItemChange: "selectedItemChange" }, queries: [{ propertyName: "items", predicate: IgxTabItemDirective }, { propertyName: "panels", predicate: IgxTabContentBase, descendants: true }], usesInheritance: true, ngImport: i0 }); }
413
413
  }
414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsDirective, decorators: [{
414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsDirective, decorators: [{
415
415
  type: Directive
416
416
  }], propDecorators: { selectedIndex: [{
417
417
  type: Input
@@ -687,10 +687,10 @@ class IgxTabsComponent extends IgxTabsDirective {
687
687
  const rtl = !isLeftToRight(this._element.nativeElement);
688
688
  return rtl ? this.itemsWrapper.nativeElement.offsetWidth - element.offsetLeft - element.offsetWidth : element.offsetLeft;
689
689
  }
690
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
691
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxTabsComponent, isStandalone: true, selector: "igx-tabs", inputs: { tabAlignment: "tabAlignment", activation: "activation" }, host: { properties: { "class.igx-tabs": "this.defaultClass" } }, providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }], viewQueries: [{ propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true, static: true }, { propertyName: "viewPort", first: true, predicate: ["viewPort"], descendants: true, static: true }, { propertyName: "itemsWrapper", first: true, predicate: ["itemsWrapper"], descendants: true, static: true }, { propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true, static: true }, { propertyName: "selectedIndicator", first: true, predicate: ["selectedIndicator"], descendants: true }, { propertyName: "scrollPrevButton", first: true, predicate: ["scrollPrevButton"], descendants: true }, { propertyName: "scrollNextButton", first: true, predicate: ["scrollNextButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #headerContainer class=\"igx-tabs-header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs-header__content\">\n <div #itemsWrapper class=\"igx-tabs-header__wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs-header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n </div>\n @if (items.length > 0) {\n <div #selectedIndicator class=\"igx-tabs-header__active-indicator\">\n </div>\n }\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs-content\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n }\n</div>\n", styles: ["@layer ig.base{.igx-tabs{--nav-btn-border-color: var(--border-color);display:flex;flex-direction:column;overflow:hidden}}\n"], dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxTabsComponent, isStandalone: true, selector: "igx-tabs", inputs: { tabAlignment: "tabAlignment", activation: "activation" }, host: { properties: { "class.igx-tabs": "this.defaultClass" } }, providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }], viewQueries: [{ propertyName: "headerContainer", first: true, predicate: ["headerContainer"], descendants: true, static: true }, { propertyName: "viewPort", first: true, predicate: ["viewPort"], descendants: true, static: true }, { propertyName: "itemsWrapper", first: true, predicate: ["itemsWrapper"], descendants: true, static: true }, { propertyName: "itemsContainer", first: true, predicate: ["itemsContainer"], descendants: true, static: true }, { propertyName: "selectedIndicator", first: true, predicate: ["selectedIndicator"], descendants: true }, { propertyName: "scrollPrevButton", first: true, predicate: ["scrollPrevButton"], descendants: true }, { propertyName: "scrollNextButton", first: true, predicate: ["scrollNextButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #headerContainer class=\"igx-tabs-header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs-header__content\">\n <div #itemsWrapper class=\"igx-tabs-header__wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs-header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n </div>\n @if (items.length > 0) {\n <div #selectedIndicator class=\"igx-tabs-header__active-indicator\">\n </div>\n }\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs-content\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n }\n</div>\n", styles: ["@layer ig.base{.igx-tabs{--nav-btn-border-color: var(--border-color);display:flex;flex-direction:column;overflow:hidden}}\n"], dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
692
692
  }
693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsComponent, decorators: [{
693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsComponent, decorators: [{
694
694
  type: Component,
695
695
  args: [{ selector: 'igx-tabs', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxRippleDirective, IgxIconComponent, NgClass, NgTemplateOutlet, IgxIconButtonDirective], template: "<div #headerContainer class=\"igx-tabs-header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs-header__content\">\n <div #itemsWrapper class=\"igx-tabs-header__wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs-header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n </div>\n @if (items.length > 0) {\n <div #selectedIndicator class=\"igx-tabs-header__active-indicator\">\n </div>\n }\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs-content\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n }\n</div>\n", styles: ["@layer ig.base{.igx-tabs{--nav-btn-border-color: var(--border-color);display:flex;flex-direction:column;overflow:hidden}}\n"] }]
696
696
  }], propDecorators: { tabAlignment: [{
@@ -823,10 +823,10 @@ class IgxTabHeaderComponent extends IgxTabHeaderDirective {
823
823
  }
824
824
  return newIndex;
825
825
  }
826
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
827
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabHeaderComponent, isStandalone: true, selector: "igx-tab-header", host: { listeners: { "keydown": "keyDown($event)" }, properties: { "class.igx-tab-header--selected": "this.provideCssClassSelected", "class.igx-tab-header--disabled": "this.provideCssClassDisabled", "class.igx-tab-header--justify": "this.applyJustifyClass", "class.igx-tab-header": "this.cssClass" } }, providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n\n<div class=\"igx-tab-header__inner\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n", styles: ["@layer ig.base{.igx-tab-header{--ig-ripple-color: var(--tab-ripple-color);display:inline-flex;justify-content:center;align-items:center;min-width:5.625rem;max-width:22.5rem;word-wrap:break-word;flex-basis:auto;flex-shrink:0;padding:.6875rem 1rem;overflow:hidden;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--item-background);color:var(--item-text-color);outline:0;gap:.5rem}.igx-tab-header igx-icon{color:var(--item-icon-color)}.igx-tab-header::-moz-focus-inner{border:0}.igx-tab-header:focus{background:var(--item-hover-background);color:var(--item-hover-color);border-bottom-color:#0000}.igx-tab-header:hover{background:var(--item-hover-background);color:var(--item-hover-color)}.igx-tab-header:hover igx-icon,.igx-tab-header:focus igx-icon{color:var(--item-hover-icon-color)}.igx-tab-header--justify{flex-basis:0;flex-grow:1;max-width:100%}.igx-tab-header--selected{outline:0;color:var(--item-active-color);background:var(--item-active-background)}.igx-tab-header--selected:hover,.igx-tab-header--selected:focus{background:var(--item-active-hover-background);color:var(--item-active-hover-color)}.igx-tab-header--selected:hover igx-icon,.igx-tab-header--selected:focus igx-icon{color:var(--item-active-hover-icon-color)}.igx-tab-header--selected igx-icon{color:var(--item-active-icon-color)}.igx-tab-header--disabled{outline:0;color:var(--item-disabled-color);cursor:default;pointer-events:none}.igx-tab-header--disabled igx-icon{color:var(--item-disabled-icon-color)}.igx-tab-header__inner{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:.5rem}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);margin:0;display:-webkit-inline-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.igx-tab-header__inner>[igxtabheadericon]:last-child{margin-bottom:0}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs .igx-tab-header--selected:focus,.igx-tabs .igx-tab-header:focus{border:none;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;z-index:1}.igx-tabs .igx-tab-header--selected:focus:after,.igx-tabs .igx-tab-header:focus:after{display:none}.igx-tab-header{min-height:3rem;padding-block:.75rem;border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius)}.igx-tab-header:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color--hover)}.igx-tab-header--selected{position:relative;box-shadow:inset 0 0 0 .0625rem var(--border-color);z-index:1}.igx-tab-header--selected:not(:focus):before{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-background) 1px,var(--item-active-background) calc(100% - 1px),var(--border-color) calc(100% - 1px));z-index:-1}.igx-tab-header--selected:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color)}.igx-tab-header--selected:hover:before{background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-hover-background) 1px,var(--item-active-hover-background) calc(100% - 1px),var(--border-color) calc(100% - 1px))}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tab-header{min-height:2.5rem}.igx-tab-header igx-icon{--ig-size: 2}.igx-tab-header{transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius);border-top:.0625rem solid rgba(0,0,0,0);border-inline:none}.igx-tab-header:hover,.igx-tab-header:focus{border-top:.0625rem solid rgba(0,0,0,0);border-inline:none;border-bottom:.0625rem solid var(--border-color)}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);--ig-subtitle-2-text-transform: uppercase;--ig-subtitle-2-font-weight: 600;margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tab-header{--ig-button-font-weight: 500;min-height:2.75rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}.igx-tab-header--selected{--ig-button-font-weight: 600}}}@layer ig.material{@container style(--ig-theme: material){.igx-tab-header{min-height:3rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabHeaderComponent, isStandalone: true, selector: "igx-tab-header", host: { listeners: { "keydown": "keyDown($event)" }, properties: { "class.igx-tab-header--selected": "this.provideCssClassSelected", "class.igx-tab-header--disabled": "this.provideCssClassDisabled", "class.igx-tab-header--justify": "this.applyJustifyClass", "class.igx-tab-header": "this.cssClass" } }, providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n\n<div class=\"igx-tab-header__inner\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n", styles: ["@layer ig.base{.igx-tab-header{--ig-ripple-color: var(--tab-ripple-color);display:inline-flex;justify-content:center;align-items:center;min-width:5.625rem;max-width:22.5rem;word-wrap:break-word;flex-basis:auto;flex-shrink:0;padding:.6875rem 1rem;overflow:hidden;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--item-background);color:var(--item-text-color);outline:0;gap:.5rem}.igx-tab-header igx-icon{color:var(--item-icon-color)}.igx-tab-header::-moz-focus-inner{border:0}.igx-tab-header:focus{background:var(--item-hover-background);color:var(--item-hover-color);border-bottom-color:#0000}.igx-tab-header:hover{background:var(--item-hover-background);color:var(--item-hover-color)}.igx-tab-header:hover igx-icon,.igx-tab-header:focus igx-icon{color:var(--item-hover-icon-color)}.igx-tab-header--justify{flex-basis:0;flex-grow:1;max-width:100%}.igx-tab-header--selected{outline:0;color:var(--item-active-color);background:var(--item-active-background)}.igx-tab-header--selected:hover,.igx-tab-header--selected:focus{background:var(--item-active-hover-background);color:var(--item-active-hover-color)}.igx-tab-header--selected:hover igx-icon,.igx-tab-header--selected:focus igx-icon{color:var(--item-active-hover-icon-color)}.igx-tab-header--selected igx-icon{color:var(--item-active-icon-color)}.igx-tab-header--disabled{outline:0;color:var(--item-disabled-color);cursor:default;pointer-events:none}.igx-tab-header--disabled igx-icon{color:var(--item-disabled-icon-color)}.igx-tab-header__inner{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:.5rem}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);margin:0;display:-webkit-inline-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.igx-tab-header__inner>[igxtabheadericon]:last-child{margin-bottom:0}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs .igx-tab-header--selected:focus,.igx-tabs .igx-tab-header:focus{border:none;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;z-index:1}.igx-tabs .igx-tab-header--selected:focus:after,.igx-tabs .igx-tab-header:focus:after{display:none}.igx-tab-header{min-height:3rem;padding-block:.75rem;border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius)}.igx-tab-header:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color--hover)}.igx-tab-header--selected{position:relative;box-shadow:inset 0 0 0 .0625rem var(--border-color);z-index:1}.igx-tab-header--selected:not(:focus):before{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-background) 1px,var(--item-active-background) calc(100% - 1px),var(--border-color) calc(100% - 1px));z-index:-1}.igx-tab-header--selected:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color)}.igx-tab-header--selected:hover:before{background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-hover-background) 1px,var(--item-active-hover-background) calc(100% - 1px),var(--border-color) calc(100% - 1px))}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tab-header{min-height:2.5rem}.igx-tab-header igx-icon{--ig-size: 2}.igx-tab-header{transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius);border-top:.0625rem solid rgba(0,0,0,0);border-inline:none}.igx-tab-header:hover,.igx-tab-header:focus{border-top:.0625rem solid rgba(0,0,0,0);border-inline:none;border-bottom:.0625rem solid var(--border-color)}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);--ig-subtitle-2-text-transform: uppercase;--ig-subtitle-2-font-weight: 600;margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tab-header{--ig-button-font-weight: 500;min-height:2.75rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}.igx-tab-header--selected{--ig-button-font-weight: 600}}}@layer ig.material{@container style(--ig-theme: material){.igx-tab-header{min-height:3rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
828
828
  }
829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderComponent, decorators: [{
829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderComponent, decorators: [{
830
830
  type: Component,
831
831
  args: [{ selector: 'igx-tab-header', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }], changeDetection: ChangeDetectionStrategy.Eager, standalone: true, template: "<ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n\n<div class=\"igx-tab-header__inner\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n", styles: ["@layer ig.base{.igx-tab-header{--ig-ripple-color: var(--tab-ripple-color);display:inline-flex;justify-content:center;align-items:center;min-width:5.625rem;max-width:22.5rem;word-wrap:break-word;flex-basis:auto;flex-shrink:0;padding:.6875rem 1rem;overflow:hidden;cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--item-background);color:var(--item-text-color);outline:0;gap:.5rem}.igx-tab-header igx-icon{color:var(--item-icon-color)}.igx-tab-header::-moz-focus-inner{border:0}.igx-tab-header:focus{background:var(--item-hover-background);color:var(--item-hover-color);border-bottom-color:#0000}.igx-tab-header:hover{background:var(--item-hover-background);color:var(--item-hover-color)}.igx-tab-header:hover igx-icon,.igx-tab-header:focus igx-icon{color:var(--item-hover-icon-color)}.igx-tab-header--justify{flex-basis:0;flex-grow:1;max-width:100%}.igx-tab-header--selected{outline:0;color:var(--item-active-color);background:var(--item-active-background)}.igx-tab-header--selected:hover,.igx-tab-header--selected:focus{background:var(--item-active-hover-background);color:var(--item-active-hover-color)}.igx-tab-header--selected:hover igx-icon,.igx-tab-header--selected:focus igx-icon{color:var(--item-active-hover-icon-color)}.igx-tab-header--selected igx-icon{color:var(--item-active-icon-color)}.igx-tab-header--disabled{outline:0;color:var(--item-disabled-color);cursor:default;pointer-events:none}.igx-tab-header--disabled igx-icon{color:var(--item-disabled-icon-color)}.igx-tab-header__inner{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:.5rem}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);margin:0;display:-webkit-inline-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.igx-tab-header__inner>[igxtabheadericon]:last-child{margin-bottom:0}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs .igx-tab-header--selected:focus,.igx-tabs .igx-tab-header:focus{border:none;box-shadow:inset 0 0 0 .125rem var(--item-hover-color);border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;z-index:1}.igx-tabs .igx-tab-header--selected:focus:after,.igx-tabs .igx-tab-header:focus:after{display:none}.igx-tab-header{min-height:3rem;padding-block:.75rem;border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius)}.igx-tab-header:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color--hover)}.igx-tab-header--selected{position:relative;box-shadow:inset 0 0 0 .0625rem var(--border-color);z-index:1}.igx-tab-header--selected:not(:focus):before{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-background) 1px,var(--item-active-background) calc(100% - 1px),var(--border-color) calc(100% - 1px));z-index:-1}.igx-tab-header--selected:hover{box-shadow:inset 0 0 0 .0625rem var(--border-color)}.igx-tab-header--selected:hover:before{background:linear-gradient(to right,var(--border-color) 1px,var(--item-active-hover-background) 1px,var(--item-active-hover-background) calc(100% - 1px),var(--border-color) calc(100% - 1px))}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tab-header{min-height:2.5rem}.igx-tab-header igx-icon{--ig-size: 2}.igx-tab-header{transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius);border-top:.0625rem solid rgba(0,0,0,0);border-inline:none}.igx-tab-header:hover,.igx-tab-header:focus{border-top:.0625rem solid rgba(0,0,0,0);border-inline:none;border-bottom:.0625rem solid var(--border-color)}.igx-tab-header__inner>[igxtabheaderlabel]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);--ig-subtitle-2-text-transform: uppercase;--ig-subtitle-2-font-weight: 600;margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tab-header{--ig-button-font-weight: 500;min-height:2.75rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}.igx-tab-header--selected{--ig-button-font-weight: 600}}}@layer ig.material{@container style(--ig-theme: material){.igx-tab-header{min-height:3rem;transition:all .3s cubic-bezier(.35,0,.25,1);border:.0625rem solid var(--border-color);border-radius:var(--border-radius)}.igx-tab-header:hover,.igx-tab-header:focus{border:.0625rem solid var(--border-color--hover)}}}\n"] }]
832
832
  }], propDecorators: { provideCssClassSelected: [{
@@ -847,19 +847,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
847
847
  }] } });
848
848
 
849
849
  class IgxTabItemComponent extends IgxTabItemDirective {
850
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
851
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabItemComponent, isStandalone: true, selector: "igx-tab-item", providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #headerTemplate>\n <ng-content select=\"igx-tab-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-tab-content\"></ng-content>\n</ng-template>\n", styles: ["@layer ig.base{.igx-tabs-header{display:flex;align-items:center;overflow:hidden;flex:0 0 auto;z-index:1}.igx-tabs-header__content{display:flex;align-items:center;flex:1 1 auto;overflow:hidden;scroll-behavior:smooth}.igx-tabs-header__wrapper{position:relative;flex-grow:1}.igx-tabs-header__active-indicator{position:absolute;bottom:0;left:0;transform:translate(0);height:.125rem;min-width:5.625rem;background:var(--indicator-color);transition:transform .3s cubic-bezier(.35,0,.25,1),width .2s cubic-bezier(.35,0,.25,1)}.igx-tabs-header-button{--ig-ripple-color: var(--button-ripple-color);display:flex;align-items:center;justify-content:center;z-index:1;border:none;padding:0;min-width:3rem;width:3rem;cursor:pointer;position:relative;background:var(--button-background);color:var(--button-color);outline:0;align-self:stretch;height:auto;transition:none;border-radius:clamp(0rem,calc(var(--ig-radius-factor, calc(NaN)) * 0),0)}.igx-tabs-header-button:hover{background:var(--button-hover-background);color:var(--button-hover-color)}.igx-tabs-header-button:focus{outline:0}.igx-tabs-header-button::-moz-focus-inner{border:0}.igx-tabs-header-button:disabled{color:var(--button-disabled-color);cursor:default;pointer-events:none}.igx-tabs-header-button--none{display:none}[dir=rtl] .igx-tabs-header-button{transform:scaleX(-1)}.igx-tabs-header-scroll{display:flex;height:100%}.igx-tabs-header-scroll--start{justify-content:flex-start}.igx-tabs-header-scroll--end{justify-content:flex-end;min-width:-moz-max-content;min-width:max-content}.igx-tabs-header-scroll--center{justify-content:center;min-width:-moz-max-content;min-width:max-content}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs-header{--ig-icon-size: 1.5rem;position:relative;background:var(--item-background)}.igx-tabs-header:after{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:var(--border-color);z-index:0}.igx-tabs-header__active-indicator{display:none}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tabs-header{--ig-icon-size: 1rem}.igx-tabs-header__active-indicator{height:.1875rem}.igx-tabs-header-button{min-width:2.5rem;width:2.5rem}.igx-tabs-header-button:after{content:\"\";position:absolute;pointer-events:none;width:100%;height:100%;border-bottom:.0625rem solid var(--nav-btn-border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tabs-header{--ig-icon-size: 1.5rem}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.material{@container style(--ig-theme: material){.igx-tabs-header{--ig-icon-size: 1.5rem;background:var(--item-background)}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
851
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabItemComponent, isStandalone: true, selector: "igx-tab-item", providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #headerTemplate>\n <ng-content select=\"igx-tab-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-tab-content\"></ng-content>\n</ng-template>\n", styles: ["@layer ig.base{.igx-tabs-header{display:flex;align-items:center;overflow:hidden;flex:0 0 auto;z-index:1}.igx-tabs-header__content{display:flex;align-items:center;flex:1 1 auto;overflow:hidden;scroll-behavior:smooth}.igx-tabs-header__wrapper{position:relative;flex-grow:1}.igx-tabs-header__active-indicator{position:absolute;bottom:0;left:0;transform:translate(0);height:.125rem;min-width:5.625rem;background:var(--indicator-color);transition:transform .3s cubic-bezier(.35,0,.25,1),width .2s cubic-bezier(.35,0,.25,1)}.igx-tabs-header-button{--ig-ripple-color: var(--button-ripple-color);display:flex;align-items:center;justify-content:center;z-index:1;border:none;padding:0;min-width:3rem;width:3rem;cursor:pointer;position:relative;background:var(--button-background);color:var(--button-color);outline:0;align-self:stretch;height:auto;transition:none;border-radius:clamp(0rem,calc(var(--ig-radius-factor, calc(NaN)) * 0),0)}.igx-tabs-header-button:hover{background:var(--button-hover-background);color:var(--button-hover-color)}.igx-tabs-header-button:focus{outline:0}.igx-tabs-header-button::-moz-focus-inner{border:0}.igx-tabs-header-button:disabled{color:var(--button-disabled-color);cursor:default;pointer-events:none}.igx-tabs-header-button--none{display:none}[dir=rtl] .igx-tabs-header-button{transform:scaleX(-1)}.igx-tabs-header-scroll{display:flex;height:100%}.igx-tabs-header-scroll--start{justify-content:flex-start}.igx-tabs-header-scroll--end{justify-content:flex-end;min-width:-moz-max-content;min-width:max-content}.igx-tabs-header-scroll--center{justify-content:center;min-width:-moz-max-content;min-width:max-content}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs-header{--ig-icon-size: 1.5rem;position:relative;background:var(--item-background)}.igx-tabs-header:after{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:var(--border-color);z-index:0}.igx-tabs-header__active-indicator{display:none}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tabs-header{--ig-icon-size: 1rem}.igx-tabs-header__active-indicator{height:.1875rem}.igx-tabs-header-button{min-width:2.5rem;width:2.5rem}.igx-tabs-header-button:after{content:\"\";position:absolute;pointer-events:none;width:100%;height:100%;border-bottom:.0625rem solid var(--nav-btn-border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tabs-header{--ig-icon-size: 1.5rem}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.material{@container style(--ig-theme: material){.igx-tabs-header{--ig-icon-size: 1.5rem;background:var(--item-background)}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
852
852
  }
853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabItemComponent, decorators: [{
853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabItemComponent, decorators: [{
854
854
  type: Component,
855
855
  args: [{ selector: 'igx-tab-item', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }], changeDetection: ChangeDetectionStrategy.Eager, standalone: true, template: "<ng-template #headerTemplate>\n <ng-content select=\"igx-tab-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-tab-content\"></ng-content>\n</ng-template>\n", styles: ["@layer ig.base{.igx-tabs-header{display:flex;align-items:center;overflow:hidden;flex:0 0 auto;z-index:1}.igx-tabs-header__content{display:flex;align-items:center;flex:1 1 auto;overflow:hidden;scroll-behavior:smooth}.igx-tabs-header__wrapper{position:relative;flex-grow:1}.igx-tabs-header__active-indicator{position:absolute;bottom:0;left:0;transform:translate(0);height:.125rem;min-width:5.625rem;background:var(--indicator-color);transition:transform .3s cubic-bezier(.35,0,.25,1),width .2s cubic-bezier(.35,0,.25,1)}.igx-tabs-header-button{--ig-ripple-color: var(--button-ripple-color);display:flex;align-items:center;justify-content:center;z-index:1;border:none;padding:0;min-width:3rem;width:3rem;cursor:pointer;position:relative;background:var(--button-background);color:var(--button-color);outline:0;align-self:stretch;height:auto;transition:none;border-radius:clamp(0rem,calc(var(--ig-radius-factor, calc(NaN)) * 0),0)}.igx-tabs-header-button:hover{background:var(--button-hover-background);color:var(--button-hover-color)}.igx-tabs-header-button:focus{outline:0}.igx-tabs-header-button::-moz-focus-inner{border:0}.igx-tabs-header-button:disabled{color:var(--button-disabled-color);cursor:default;pointer-events:none}.igx-tabs-header-button--none{display:none}[dir=rtl] .igx-tabs-header-button{transform:scaleX(-1)}.igx-tabs-header-scroll{display:flex;height:100%}.igx-tabs-header-scroll--start{justify-content:flex-start}.igx-tabs-header-scroll--end{justify-content:flex-end;min-width:-moz-max-content;min-width:max-content}.igx-tabs-header-scroll--center{justify-content:center;min-width:-moz-max-content;min-width:max-content}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-tabs-header{--ig-icon-size: 1.5rem;position:relative;background:var(--item-background)}.igx-tabs-header:after{content:\"\";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:.0625rem;background:var(--border-color);z-index:0}.igx-tabs-header__active-indicator{display:none}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-tabs-header{--ig-icon-size: 1rem}.igx-tabs-header__active-indicator{height:.1875rem}.igx-tabs-header-button{min-width:2.5rem;width:2.5rem}.igx-tabs-header-button:after{content:\"\";position:absolute;pointer-events:none;width:100%;height:100%;border-bottom:.0625rem solid var(--nav-btn-border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-tabs-header{--ig-icon-size: 1.5rem}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}@layer ig.material{@container style(--ig-theme: material){.igx-tabs-header{--ig-icon-size: 1.5rem;background:var(--item-background)}.igx-tabs-header-button:focus{background:var(--button-hover-background)}}}\n"] }]
856
856
  }] });
857
857
 
858
858
  class IgxTabHeaderLabelDirective {
859
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
860
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabHeaderLabelDirective, isStandalone: true, selector: "[igxTabHeaderLabel],igx-tab-header-label", hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
859
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
860
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabHeaderLabelDirective, isStandalone: true, selector: "[igxTabHeaderLabel],igx-tab-header-label", hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
861
861
  }
862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderLabelDirective, decorators: [{
862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderLabelDirective, decorators: [{
863
863
  type: Directive,
864
864
  args: [{
865
865
  selector: '[igxTabHeaderLabel],igx-tab-header-label',
@@ -868,10 +868,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
868
868
  }]
869
869
  }] });
870
870
  class IgxTabHeaderIconDirective {
871
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
872
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxTabHeaderIconDirective, isStandalone: true, selector: "[igxTabHeaderIcon],igx-tab-header-icon", ngImport: i0 }); }
871
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
872
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxTabHeaderIconDirective, isStandalone: true, selector: "[igxTabHeaderIcon],igx-tab-header-icon", ngImport: i0 }); }
873
873
  }
874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabHeaderIconDirective, decorators: [{
874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabHeaderIconDirective, decorators: [{
875
875
  type: Directive,
876
876
  args: [{
877
877
  selector: '[igxTabHeaderIcon],igx-tab-header-icon',
@@ -896,11 +896,11 @@ const IGX_TABS_DIRECTIVES = [
896
896
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
897
897
  */
898
898
  class IgxTabsModule {
899
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
900
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsModule, imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxTabHeaderIconDirective, i6.IgxPrefixDirective, i6.IgxSuffixDirective], exports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxTabHeaderIconDirective, i6.IgxPrefixDirective, i6.IgxSuffixDirective] }); }
901
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsModule, imports: [IgxTabsComponent] }); }
899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
900
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsModule, imports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxTabHeaderIconDirective, i6.IgxPrefixDirective, i6.IgxSuffixDirective], exports: [IgxTabsComponent, IgxTabItemComponent, IgxTabHeaderComponent, IgxTabContentComponent, IgxTabHeaderLabelDirective, IgxTabHeaderIconDirective, i6.IgxPrefixDirective, i6.IgxSuffixDirective] }); }
901
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsModule, imports: [IgxTabsComponent] }); }
902
902
  }
903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTabsModule, decorators: [{
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTabsModule, decorators: [{
904
904
  type: NgModule,
905
905
  args: [{
906
906
  imports: [
@@ -1,5 +1,5 @@
1
1
  import * as i2 from 'igniteui-angular/core';
2
- import { IgxTouchManager, I18N_FORMATTER, DateTimeUtil, DatePart, GridColumnDataType, PickerHeaderOrientation, PlatformUtil, PickerInteractionMode, getCurrentResourceStrings, TimePickerResourceStringsEN, AutoPositionStrategy, AbsoluteScrollStrategy, isDate, isEqual, IgxPickerActionsDirective, IgxPickerToggleComponent, IgxPickerClearComponent } from 'igniteui-angular/core';
2
+ import { IgxTouchManager, I18N_FORMATTER, DateTimeUtil, DatePart, GridColumnDataType, PickerHeaderOrientation, PlatformUtil, PickerInteractionMode, getCurrentResourceStrings, TimePickerResourceStringsEN, AutoPositionStrategy, AbsoluteScrollStrategy, isDate, NgControlAdapter, isEqual, IgxPickerActionsDirective, IgxPickerToggleComponent, IgxPickerClearComponent } from 'igniteui-angular/core';
3
3
  import { DatePipe, NgClass, NgTemplateOutlet } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
5
  import { InjectionToken, inject, ElementRef, HostListener, HostBinding, Input, Directive, Pipe, Injector, ChangeDetectorRef, EventEmitter, booleanAttribute, ViewChild, ContentChild, Output, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
@@ -180,10 +180,10 @@ class IgxItemListDirective {
180
180
  }
181
181
  }
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxItemListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxItemListDirective, isStandalone: true, selector: "[igxItemList]", inputs: { type: ["igxItemList", "type"] }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()", "keydown.arrowdown": "onKeydownArrowDown($event)", "keydown.arrowup": "onKeydownArrowUp($event)", "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)", "keydown.enter": "onKeydownEnter($event)", "keydown.escape": "onKeydownEscape($event)", "mouseover": "onHover()", "wheel": "onScroll($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.igx-time-picker__column": "this.defaultCSS", "class.igx-time-picker__hourList": "this.hourCSS", "class.igx-time-picker__minuteList": "this.minuteCSS", "class.igx-time-picker__secondsList": "this.secondsCSS", "class.igx-time-picker__ampmList": "this.ampmCSS" } }, ngImport: i0 }); }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxItemListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
184
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxItemListDirective, isStandalone: true, selector: "[igxItemList]", inputs: { type: ["igxItemList", "type"] }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()", "keydown.arrowdown": "onKeydownArrowDown($event)", "keydown.arrowup": "onKeydownArrowUp($event)", "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)", "keydown.enter": "onKeydownEnter($event)", "keydown.escape": "onKeydownEscape($event)", "mouseover": "onHover()", "wheel": "onScroll($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.igx-time-picker__column": "this.defaultCSS", "class.igx-time-picker__hourList": "this.hourCSS", "class.igx-time-picker__minuteList": "this.minuteCSS", "class.igx-time-picker__secondsList": "this.secondsCSS", "class.igx-time-picker__ampmList": "this.ampmCSS" } }, ngImport: i0 }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxItemListDirective, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxItemListDirective, decorators: [{
187
187
  type: Directive,
188
188
  args: [{
189
189
  selector: '[igxItemList]',
@@ -370,10 +370,10 @@ class IgxTimeItemDirective {
370
370
  }
371
371
  return hour;
372
372
  }
373
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimeItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
374
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxTimeItemDirective, isStandalone: true, selector: "[igxTimeItem]", inputs: { value: ["igxTimeItem", "value"] }, host: { listeners: { "click": "onClick(value)" }, properties: { "class.igx-time-picker__item": "this.defaultCSS", "class.igx-time-picker__item--selected": "this.selectedCSS", "class.igx-time-picker__item--active": "this.activeCSS" } }, exportAs: ["timeItem"], ngImport: i0 }); }
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimeItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
374
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxTimeItemDirective, isStandalone: true, selector: "[igxTimeItem]", inputs: { value: ["igxTimeItem", "value"] }, host: { listeners: { "click": "onClick(value)" }, properties: { "class.igx-time-picker__item": "this.defaultCSS", "class.igx-time-picker__item--selected": "this.selectedCSS", "class.igx-time-picker__item--active": "this.activeCSS" } }, exportAs: ["timeItem"], ngImport: i0 }); }
375
375
  }
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimeItemDirective, decorators: [{
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimeItemDirective, decorators: [{
377
377
  type: Directive,
378
378
  args: [{
379
379
  selector: '[igxTimeItem]',
@@ -407,10 +407,10 @@ class TimeFormatPipe {
407
407
  const datePipe = new DatePipe(this.timePicker.locale);
408
408
  return datePipe.transform(value, format);
409
409
  }
410
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TimeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
411
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: TimeFormatPipe, isStandalone: true, name: "timeFormatPipe" }); }
410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TimeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
411
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: TimeFormatPipe, isStandalone: true, name: "timeFormatPipe" }); }
412
412
  }
413
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TimeFormatPipe, decorators: [{
413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TimeFormatPipe, decorators: [{
414
414
  type: Pipe,
415
415
  args: [{
416
416
  name: 'timeFormatPipe',
@@ -584,10 +584,10 @@ class TimeItemPipe {
584
584
  }
585
585
  return hour;
586
586
  }
587
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TimeItemPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
588
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: TimeItemPipe, isStandalone: true, name: "timeItemPipe" }); }
587
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TimeItemPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
588
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: TimeItemPipe, isStandalone: true, name: "timeItemPipe" }); }
589
589
  }
590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TimeItemPipe, decorators: [{
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TimeItemPipe, decorators: [{
591
591
  type: Pipe,
592
592
  args: [{
593
593
  name: 'timeItemPipe',
@@ -760,12 +760,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
760
760
  return this.toggleRef?.element;
761
761
  }
762
762
  get required() {
763
- if (this._ngControl && this._ngControl.control && this._ngControl.control.validator) {
764
- // Run the validation with empty object to check if required is enabled.
765
- const error = this._ngControl.control.validator({});
766
- return !!(error && error.required);
767
- }
768
- return false;
763
+ return this._control?.required ?? false;
769
764
  }
770
765
  get dialogOverlaySettings() {
771
766
  return Object.assign({}, this._defaultDialogOverlaySettings, this.overlaySettings);
@@ -823,13 +818,14 @@ class IgxTimePickerComponent extends PickerBaseDirective {
823
818
  * By default it uses EN resources.
824
819
  */
825
820
  set resourceStrings(value) {
826
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
821
+ this._resourceStrings = value;
822
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
827
823
  }
828
824
  /**
829
825
  * An accessor that returns the resource strings.
830
826
  */
831
827
  get resourceStrings() {
832
- return this._resourceStrings || this._defaultResourceStrings;
828
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
833
829
  }
834
830
  /**
835
831
  * Overrides the default text of the **OK** button.
@@ -963,11 +959,13 @@ class IgxTimePickerComponent extends PickerBaseDirective {
963
959
  /** @hidden @internal */
964
960
  this.ampmItems = [];
965
961
  this._resourceStrings = null;
962
+ this._customResourceStrings = null;
966
963
  this._defaultResourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN);
967
964
  this._okButtonLabel = null;
968
965
  this._cancelButtonLabel = null;
969
966
  this._itemsDelta = { hours: 1, minutes: 1, seconds: 1, fractionalSeconds: 1 };
970
967
  this._ngControl = null;
968
+ this._control = null;
971
969
  this._onChangeCallback = noop;
972
970
  this._onTouchedCallback = noop;
973
971
  this._onValidatorChange = noop;
@@ -1074,6 +1072,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1074
1072
  /** @hidden */
1075
1073
  ngOnInit() {
1076
1074
  this._ngControl = this._injector.get(NgControl, null);
1075
+ this._control = NgControlAdapter.from(this._ngControl, this._injector);
1077
1076
  this.minDropdownValue = this.setMinMaxDropdownValue('min', this.minDateValue);
1078
1077
  this.maxDropdownValue = this.setMinMaxDropdownValue('max', this.maxDateValue);
1079
1078
  this.setSelectedValue(this._dateValue);
@@ -1091,8 +1090,8 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1091
1090
  this.updateValidityOnBlur();
1092
1091
  }
1093
1092
  });
1094
- if (this._ngControl) {
1095
- this._statusChanges$ = this._ngControl.statusChanges.subscribe(this.onStatusChanged.bind(this));
1093
+ if (this._control) {
1094
+ this._statusChanges$ = this._control.statusChanges.subscribe(this.onStatusChanged.bind(this));
1096
1095
  this._inputGroup.isRequired = this.required;
1097
1096
  this.cdr.detectChanges();
1098
1097
  }
@@ -1384,12 +1383,12 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1384
1383
  }
1385
1384
  }
1386
1385
  onStatusChanged() {
1387
- if (this._ngControl && !this._ngControl.disabled && this.isTouchedOrDirty) {
1388
- if (this.hasValidators && this._inputGroup.isFocused) {
1389
- this.inputDirective.valid = this._ngControl.valid ? IgxInputState.VALID : IgxInputState.INVALID;
1386
+ if (this._control && !this._control.disabled && this._control.touchedOrDirty) {
1387
+ if (this._control.hasValidators && this._inputGroup.isFocused) {
1388
+ this.inputDirective.valid = this._control.valid ? IgxInputState.VALID : IgxInputState.INVALID;
1390
1389
  }
1391
1390
  else {
1392
- this.inputDirective.valid = this._ngControl.valid ? IgxInputState.INITIAL : IgxInputState.INVALID;
1391
+ this.inputDirective.valid = this._control.valid ? IgxInputState.INITIAL : IgxInputState.INVALID;
1393
1392
  }
1394
1393
  }
1395
1394
  else {
@@ -1402,12 +1401,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1402
1401
  }
1403
1402
  updateResources() {
1404
1403
  this._defaultResourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN, false, this._locale);
1405
- }
1406
- get isTouchedOrDirty() {
1407
- return (this._ngControl.control.touched || this._ngControl.control.dirty);
1408
- }
1409
- get hasValidators() {
1410
- return (!!this._ngControl.control.validator || !!this._ngControl.control.asyncValidator);
1404
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
1411
1405
  }
1412
1406
  setMinMaxDropdownValue(type, time) {
1413
1407
  let delta;
@@ -1583,8 +1577,8 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1583
1577
  });
1584
1578
  }
1585
1579
  }
1586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxTimePickerComponent, isStandalone: true, selector: "igx-time-picker", inputs: { id: "id", displayFormat: "displayFormat", inputFormat: "inputFormat", mode: "mode", minValue: "minValue", maxValue: "maxValue", spinLoop: ["spinLoop", "spinLoop", booleanAttribute], formatter: "formatter", readOnly: ["readOnly", "readOnly", booleanAttribute], value: "value", resourceStrings: "resourceStrings", okButtonLabel: "okButtonLabel", cancelButtonLabel: "cancelButtonLabel", itemsDelta: "itemsDelta" }, outputs: { selected: "selected", valueChange: "valueChange", validationFailed: "validationFailed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.id": "this.id" }, classAttribute: "igx-time-picker" }, providers: [
1580
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1581
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxTimePickerComponent, isStandalone: true, selector: "igx-time-picker", inputs: { id: "id", displayFormat: "displayFormat", inputFormat: "inputFormat", mode: "mode", minValue: "minValue", maxValue: "maxValue", spinLoop: ["spinLoop", "spinLoop", booleanAttribute], formatter: "formatter", readOnly: ["readOnly", "readOnly", booleanAttribute], value: "value", resourceStrings: "resourceStrings", okButtonLabel: "okButtonLabel", cancelButtonLabel: "cancelButtonLabel", itemsDelta: "itemsDelta" }, outputs: { selected: "selected", valueChange: "valueChange", validationFailed: "validationFailed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.id": "this.id" }, classAttribute: "igx-time-picker" }, providers: [
1588
1582
  {
1589
1583
  provide: NG_VALUE_ACCESSOR,
1590
1584
  useExisting: IgxTimePickerComponent,
@@ -1601,7 +1595,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
1601
1595
  }
1602
1596
  ], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "timePickerActionsDirective", first: true, predicate: IgxPickerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "hourList", first: true, predicate: ["hourList"], descendants: true }, { propertyName: "minuteList", first: true, predicate: ["minuteList"], descendants: true }, { propertyName: "secondsList", first: true, predicate: ["secondsList"], descendants: true }, { propertyName: "ampmList", first: true, predicate: ["ampmList"], descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true, read: IgxInputDirective }, { propertyName: "_inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: IgxInputGroupComponent, static: true }, { propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "toggleRef", first: true, predicate: IgxToggleDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group #inputGroup [type]=\"type\">\n <input [igxReadOnlyInput]=\"readOnly\" [displayValuePipe]=\"formatter ? displayValue : undefined\" igxInput [igxDateTimeEditor]=\"inputFormat\"\n type=\"text\" [readonly]=\"!isDropdown || readOnly\" [minValue]=\"minValue\" [maxValue]=\"maxValue\"\n [locale]=\"locale\" [spinDelta]=\"itemsDelta\" [spinLoop]=\"spinLoop\" [placeholder]=\"placeholder\"\n [disabled]=\"disabled\" [displayFormat]=\"displayFormat\" defaultFormatType=\"time\"\n [igxTextSelection]=\"isDropdown && !readOnly\" role=\"combobox\" aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"!toggleDirective.collapsed\" [attr.aria-labelledby]=\"label?.id\"\n (click)=\"!isDropdown && toggle()\"/>\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? resourceStrings.igx_time_picker_change_time\n : resourceStrings.igx_time_picker_choose_time\n \"\n family=\"default\"\n name=\"clock\"\n ></igx-icon>\n </igx-prefix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n\n @if (showClearButton) {\n <igx-suffix (click)=\"clear(); $event.stopPropagation()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n\n<ng-template #defaultTimePickerActions>\n @if (cancelButtonLabel || okButtonLabel) {\n <div class=\"igx-time-picker__buttons\">\n @if (cancelButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"cancelButtonClick()\">\n {{cancelButtonLabel}}\n </button>\n }\n @if (okButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"okButtonClick()\">\n {{okButtonLabel}}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<div #toggleDirective=\"toggle\" igxToggle role=\"dialog\" class=\"igx-time-picker\"\n [ngClass]=\"{\n 'igx-time-picker--dropdown': isDropdown,\n 'igx-time-picker--dialog': !isDropdown,\n 'igx-time-picker--vertical': isVertical && !isDropdown\n }\">\n <div class=\"igx-time-picker__main\">\n @if (!this.isDropdown && !this.hideHeader) {\n <div class=\"igx-time-picker__header\">\n <h2 class=\"igx-time-picker__header-hour\" data-no-typography>\n <span>{{ selectedDate | timeFormatPipe }}</span>\n </h2>\n </div>\n }\n <div class=\"igx-time-picker__body\">\n @if (showHoursList) {\n <div #hourList [igxItemList]=\"'hourList'\">\n @for (hour of hourItems | timeItemPipe:'hour':selectedDate:minDropdownValue:maxDropdownValue; track hour+$index) {\n <span [igxTimeItem]=\"hour\" #timeItem=\"timeItem\" aria-label=\"hour\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? timeItem.hourValue : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ hour }}</span>\n }\n </div>\n }\n @if (showMinutesList) {\n <div #minuteList [igxItemList]=\"'minuteList'\">\n @for (minute of minuteItems | timeItemPipe:'minutes':selectedDate:minDropdownValue:maxDropdownValue; track minute+$index) {\n <span [igxTimeItem]=\"minute\" #timeItem=\"timeItem\" aria-label=\"minutes\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? minute : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ minute }}</span>\n }\n </div>\n }\n @if (showSecondsList) {\n <div #secondsList [igxItemList]=\"'secondsList'\">\n @for (seconds of secondsItems | timeItemPipe:'seconds':selectedDate:minDropdownValue:maxDropdownValue; track seconds+$index) {\n <span [igxTimeItem]=\"seconds\" #timeItem=\"timeItem\" aria-label=\"seconds\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? seconds : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ seconds }}</span>\n }\n </div>\n }\n @if (showAmPmList) {\n <div #ampmList [igxItemList]=\"'ampmList'\">\n @for (ampm of ampmItems | timeItemPipe:'ampm':selectedDate:minDropdownValue:maxDropdownValue; track ampm+$index) {\n <span [igxTimeItem]=\"ampm\" #timeItem=\"timeItem\" aria-label=\"ampm\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? ampm : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ ampm }}</span>\n }\n </div>\n }\n </div>\n </div>\n <igx-divider></igx-divider>\n <ng-container\n *ngTemplateOutlet=\"timePickerActionsDirective ? timePickerActionsDirective.template : defaultTimePickerActions\">\n </ng-container>\n</div>\n", styles: ["@layer ig.base{.igx-time-picker{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;flex-flow:column nowrap;min-width:-moz-fit-content;min-width:fit-content}.igx-time-picker igx-divider{--ig-divider-color: var(--divider-color)}.igx-time-picker__header{display:flex;flex-direction:column;background:var(--header-background);padding:1rem}.igx-time-picker__header-hour{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);display:flex;color:var(--header-hour-text-color);margin:0}[dir=rtl] .igx-time-picker__header-hour{flex-direction:row-reverse;justify-content:flex-end}.igx-time-picker__main{flex:1 1 auto}.igx-time-picker__column{width:4rem;padding:0;cursor:pointer;display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;color:var(--text-color);overflow:hidden;gap:.25rem}.igx-time-picker__column:focus,.igx-time-picker__column:active{outline:none}.igx-time-picker__item{width:2.875rem;padding:max(var(--is-large, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-radius:var(--active-item-border-radius);height:var(--time-item-size);display:flex;justify-content:center;align-items:center;font-size:max(var(--is-large, 1)*max(var(--ig-body-1-font-size),-1 * var(--ig-body-1-font-size)),var(--is-medium, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)),var(--is-small, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)));font-weight:max(var(--is-large, 1)*max(var(--ig-body-1-font-weight),-1 * var(--ig-body-1-font-weight)),var(--is-medium, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)),var(--is-small, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)));font-style:max(var(--is-large, 1)*max(var(--ig-body-1-font-style),-1 * var(--ig-body-1-font-style)),var(--is-medium, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)),var(--is-small, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)));line-height:max(var(--is-large, 1)*max(var(--ig-body-1-line-height),-1 * var(--ig-body-1-line-height)),var(--is-medium, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)),var(--is-small, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)));letter-spacing:max(var(--is-large, 1)*max(var(--ig-body-1-letter-spacing),-1 * var(--ig-body-1-letter-spacing)),var(--is-medium, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)),var(--is-small, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)));text-transform:max(var(--is-large, 1)*max(var(--ig-body-1-text-transform),-1 * var(--ig-body-1-text-transform)),var(--is-medium, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)),var(--is-small, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)))}.igx-time-picker__item:focus,.igx-time-picker__item:active{outline:none}.igx-time-picker__item:hover{color:var(--hover-text-color)}.igx-time-picker__item--selected{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0;color:var(--selected-text-color)}.igx-time-picker__item--active{color:var(--active-item-foreground);background:var(--active-item-background)}.igx-time-picker__item--active:hover,.igx-time-picker__item--active:focus{color:var(--active-item-foreground)}.igx-time-picker__item--disabled{color:var(--disabled-text-color);background:var(--disabled-item-background);pointer-events:none}.igx-time-picker__hourList{text-align:end}[dir=rtl] .igx-time-picker__hourList{order:2}.igx-time-picker__minuteList{text-align:center}[dir=rtl] .igx-time-picker__minuteList{order:1}.igx-time-picker__secondsList{text-align:center}[dir=rtl] .igx-time-picker__ampmList{order:3}.igx-time-picker__body{display:flex;min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));padding-block:1rem;justify-content:center}.igx-time-picker__buttons{display:flex;min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));justify-content:flex-end;align-items:center;padding:.5rem;gap:.5rem}.igx-time-picker--dropdown{min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));box-shadow:inset 0 0 0 .0625rem var(--border-color),var(--dropdown-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--dropdown .igx-time-picker__body{min-width:auto}.igx-time-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--modal-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--vertical .igx-time-picker__main{display:flex;flex-grow:1}.igx-time-picker--vertical .igx-time-picker__header{min-width:10.5rem}.igx-time-picker--vertical .igx-time-picker__body{flex-grow:1}.igx-time-picker--vertical .igx-time-picker__buttons{align-items:flex-end}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-time-picker__item--selected{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-time-picker__header{border-block-end:.0625rem solid var(--divider-color);gap:.125rem}.igx-time-picker__header-hour{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-time-picker__column{width:3.375rem}.igx-time-picker__item--selected{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-time-picker__buttons{padding:.5rem 1rem}.igx-time-picker__buttons [igxbutton]{min-width:5.5rem}.igx-time-picker--vertical .igx-time-picker__header{min-width:8.5rem;border-inline-end:.0625rem solid var(--divider-color);border-block-end:none}}}@layer ig.material{@container style(--ig-theme: material){.igx-time-picker__header{padding:1rem 1.5rem}}}\n"], dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxItemListDirective, selector: "[igxItemList]", inputs: ["igxItemList"] }, { kind: "directive", type: IgxTimeItemDirective, selector: "[igxTimeItem]", inputs: ["igxTimeItem"], exportAs: ["timeItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxDividerComponent, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "directive", type: IgxReadOnlyInputDirective, selector: "[igxReadOnlyInput]", inputs: ["igxReadOnlyInput"], exportAs: ["igxReadOnlyInput"] }, { kind: "pipe", type: TimeFormatPipe, name: "timeFormatPipe" }, { kind: "pipe", type: TimeItemPipe, name: "timeItemPipe" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
1603
1597
  }
1604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerComponent, decorators: [{
1598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerComponent, decorators: [{
1605
1599
  type: Component,
1606
1600
  args: [{ providers: [
1607
1601
  {
@@ -1728,11 +1722,11 @@ const IGX_TIME_PICKER_DIRECTIVES = [
1728
1722
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
1729
1723
  */
1730
1724
  class IgxTimePickerModule {
1731
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1732
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerModule, imports: [IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective], exports: [IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective] }); }
1733
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerModule, imports: [IgxTimePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent] }); }
1725
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1726
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerModule, imports: [IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective], exports: [IgxTimePickerComponent, i2.IgxPickerActionsDirective, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent, i3.IgxLabelDirective, i3.IgxPrefixDirective, i3.IgxSuffixDirective, i3.IgxHintDirective] }); }
1727
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerModule, imports: [IgxTimePickerComponent, i2.IgxPickerToggleComponent, i2.IgxPickerClearComponent] }); }
1734
1728
  }
1735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerModule, decorators: [{
1729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxTimePickerModule, decorators: [{
1736
1730
  type: NgModule,
1737
1731
  args: [{
1738
1732
  imports: [