igniteui-angular 21.0.4 → 21.0.6

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 (92) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  2. package/fesm2022/igniteui-angular-action-strip.mjs +11 -10
  3. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  4. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  5. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  6. package/fesm2022/igniteui-angular-banner.mjs +10 -10
  7. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  8. package/fesm2022/igniteui-angular-button-group.mjs +7 -7
  9. package/fesm2022/igniteui-angular-calendar.mjs +61 -61
  10. package/fesm2022/igniteui-angular-card.mjs +31 -31
  11. package/fesm2022/igniteui-angular-carousel.mjs +25 -25
  12. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  13. package/fesm2022/igniteui-angular-chat.mjs +18 -18
  14. package/fesm2022/igniteui-angular-chat.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  16. package/fesm2022/igniteui-angular-chips.mjs +10 -10
  17. package/fesm2022/igniteui-angular-combo.mjs +52 -52
  18. package/fesm2022/igniteui-angular-core.mjs +56 -52
  19. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  20. package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
  21. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  22. package/fesm2022/igniteui-angular-directives.mjs +198 -194
  23. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  24. package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
  25. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  26. package/fesm2022/igniteui-angular-grids-core.mjs +554 -474
  27. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  28. package/fesm2022/igniteui-angular-grids-grid.mjs +53 -48
  29. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +53 -39
  31. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  32. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +82 -79
  33. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  34. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
  35. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  36. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  37. package/fesm2022/igniteui-angular-input-group.mjs +26 -26
  38. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  39. package/fesm2022/igniteui-angular-list.mjs +40 -40
  40. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  41. package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
  42. package/fesm2022/igniteui-angular-paginator.mjs +19 -19
  43. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  44. package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
  45. package/fesm2022/igniteui-angular-radio.mjs +12 -12
  46. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-select.mjs +25 -25
  48. package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
  49. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  50. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  51. package/fesm2022/igniteui-angular-splitter.mjs +14 -14
  52. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  53. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  54. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  55. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  56. package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
  57. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  58. package/fesm2022/igniteui-angular-tree.mjs +28 -28
  59. package/lib/core/styles/components/chip/_chip-theme.scss +28 -29
  60. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +14 -11
  61. package/lib/core/styles/components/navbar/_navbar-theme.scss +7 -1
  62. package/package.json +3 -3
  63. package/schematics/tsconfig.tsbuildinfo +1 -1
  64. package/styles/igniteui-angular-dark.css +1 -1
  65. package/styles/igniteui-angular.css +1 -1
  66. package/styles/igniteui-bootstrap-dark.css +1 -1
  67. package/styles/igniteui-bootstrap-light.css +1 -1
  68. package/styles/igniteui-dark-green.css +1 -1
  69. package/styles/igniteui-fluent-dark-excel.css +1 -1
  70. package/styles/igniteui-fluent-dark-word.css +1 -1
  71. package/styles/igniteui-fluent-dark.css +1 -1
  72. package/styles/igniteui-fluent-light-excel.css +1 -1
  73. package/styles/igniteui-fluent-light-word.css +1 -1
  74. package/styles/igniteui-fluent-light.css +1 -1
  75. package/styles/igniteui-indigo-dark.css +1 -1
  76. package/styles/igniteui-indigo-light.css +1 -1
  77. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  78. package/styles/maps/igniteui-angular.css.map +1 -1
  79. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  80. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  81. package/styles/maps/igniteui-dark-green.css.map +1 -1
  82. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  83. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  84. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  85. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  86. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  87. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  88. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  89. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  90. package/types/igniteui-angular-directives.d.ts +0 -3
  91. package/types/igniteui-angular-grids-core.d.ts +4 -5
  92. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +4 -0
@@ -18,10 +18,10 @@ import { NgClass, NgTemplateOutlet } from '@angular/common';
18
18
  * @context {@link IgxSliderComponent.context}
19
19
  */
20
20
  class IgxThumbFromTemplateDirective {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbFromTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.2", type: IgxThumbFromTemplateDirective, isStandalone: true, selector: "[igxSliderThumbFrom]", ngImport: i0 }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbFromTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: IgxThumbFromTemplateDirective, isStandalone: true, selector: "[igxSliderThumbFrom]", ngImport: i0 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbFromTemplateDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbFromTemplateDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '[igxSliderThumbFrom]',
@@ -40,10 +40,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
40
40
  * @context {@link IgxSliderComponent.context}
41
41
  */
42
42
  class IgxThumbToTemplateDirective {
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbToTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.2", type: IgxThumbToTemplateDirective, isStandalone: true, selector: "[igxSliderThumbTo]", ngImport: i0 }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbToTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: IgxThumbToTemplateDirective, isStandalone: true, selector: "[igxSliderThumbTo]", ngImport: i0 }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbToTemplateDirective, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbToTemplateDirective, decorators: [{
47
47
  type: Directive,
48
48
  args: [{
49
49
  selector: '[igxSliderThumbTo]',
@@ -56,10 +56,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
56
56
  * @context {@link IgxTicksComponent.context}
57
57
  */
58
58
  class IgxTickLabelTemplateDirective {
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTickLabelTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.2", type: IgxTickLabelTemplateDirective, isStandalone: true, selector: "[igxSliderTickLabel]", ngImport: i0 }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTickLabelTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: IgxTickLabelTemplateDirective, isStandalone: true, selector: "[igxSliderTickLabel]", ngImport: i0 }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTickLabelTemplateDirective, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTickLabelTemplateDirective, decorators: [{
63
63
  type: Directive,
64
64
  args: [{
65
65
  selector: '[igxSliderTickLabel]',
@@ -142,10 +142,10 @@ class IgxThumbLabelComponent {
142
142
  this._active = val;
143
143
  }
144
144
  }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.2", type: IgxThumbLabelComponent, isStandalone: true, selector: "igx-thumb-label", inputs: { value: "value", templateRef: "templateRef", context: "context", type: "type", continuous: ["continuous", "continuous", booleanAttribute], deactiveState: ["deactiveState", "deactiveState", booleanAttribute], thumb: "thumb" }, host: { properties: { "class.igx-slider-thumb-label-from": "this.thumbFromClass", "class.igx-slider-thumb-label-to": "this.thumbToClass", "class.igx-slider-thumb-label-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-label-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-label-from--pressed": "this.labelFromPressedClass", "class.igx-slider-thumb-label-to--pressed": "this.labelToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getLabelClass\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : thumbFromDefaultTemplate; context: context\"></ng-container>\n</div>\n\n<ng-template #thumbFromDefaultTemplate>\n {{ value }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.8", type: IgxThumbLabelComponent, isStandalone: true, selector: "igx-thumb-label", inputs: { value: "value", templateRef: "templateRef", context: "context", type: "type", continuous: ["continuous", "continuous", booleanAttribute], deactiveState: ["deactiveState", "deactiveState", booleanAttribute], thumb: "thumb" }, host: { properties: { "class.igx-slider-thumb-label-from": "this.thumbFromClass", "class.igx-slider-thumb-label-to": "this.thumbToClass", "class.igx-slider-thumb-label-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-label-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-label-from--pressed": "this.labelFromPressedClass", "class.igx-slider-thumb-label-to--pressed": "this.labelToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getLabelClass\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : thumbFromDefaultTemplate; context: context\"></ng-container>\n</div>\n\n<ng-template #thumbFromDefaultTemplate>\n {{ value }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxThumbLabelComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxThumbLabelComponent, decorators: [{
149
149
  type: Component,
150
150
  args: [{ selector: 'igx-thumb-label', imports: [NgClass, NgTemplateOutlet], template: "<div [ngClass]=\"getLabelClass\">\n <ng-container *ngTemplateOutlet=\"templateRef ? templateRef : thumbFromDefaultTemplate; context: context\"></ng-container>\n</div>\n\n<ng-template #thumbFromDefaultTemplate>\n {{ value }}\n</ng-template>\n" }]
151
151
  }], propDecorators: { value: [{
@@ -362,10 +362,10 @@ class IgxSliderThumbComponent {
362
362
  this._isActive = visible;
363
363
  }
364
364
  }
365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
366
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.2", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute], min: "min", max: "max", labels: "labels" }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", thumbBlur: "thumbBlur", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.role", "attr.aria-valuenow": "this.ariaValueNow", "attr.aria-valuemin": "this.ariaValueMin", "attr.aria-valuemax": "this.ariaValueMax", "attr.aria-valuetext": "this.ariaValueText", "attr.aria-label": "this.ariaLabelAttr", "attr.aria-orientation": "this.ariaOrientation", "attr.aria-disabled": "this.ariaDisabled", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
366
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.8", type: IgxSliderThumbComponent, isStandalone: true, selector: "igx-thumb", inputs: { value: "value", continuous: ["continuous", "continuous", booleanAttribute], thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", disabled: ["disabled", "disabled", booleanAttribute], onPan: "onPan", stepDistance: "stepDistance", step: "step", templateRef: "templateRef", context: "context", type: "type", deactiveState: ["deactiveState", "deactiveState", booleanAttribute], min: "min", max: "max", labels: "labels" }, outputs: { thumbValueChange: "thumbValueChange", thumbChange: "thumbChange", thumbBlur: "thumbBlur", hoverChange: "hoverChange" }, host: { listeners: { "pointerenter": "onPointerEnter()", "pointerleave": "onPointerLeave()", "keyup": "onKeyUp($event)", "keydown": "onKeyDown($event)", "blur": "onBlur()", "focus": "onFocusListener()" }, properties: { "attr.tabindex": "this.tabindex", "attr.role": "this.role", "attr.aria-valuenow": "this.ariaValueNow", "attr.aria-valuemin": "this.ariaValueMin", "attr.aria-valuemax": "this.ariaValueMax", "attr.aria-valuetext": "this.ariaValueText", "attr.aria-label": "this.ariaLabelAttr", "attr.aria-orientation": "this.ariaOrientation", "attr.aria-disabled": "this.ariaDisabled", "attr.z-index": "this.zIndex", "class.igx-slider-thumb-to--focused": "this.focused", "class.igx-slider-thumb-from": "this.thumbFromClass", "class.igx-slider-thumb-to": "this.thumbToClass", "class.igx-slider-thumb-from--active": "this.thumbFromActiveClass", "class.igx-slider-thumb-to--active": "this.thumbToActiveClass", "class.igx-slider-thumb-from--disabled": "this.thumbFromDisabledClass", "class.igx-slider-thumb-to--disabled": "this.thumbToDisabledClass", "class.igx-slider-thumb-from--pressed": "this.thumbFromPressedClass", "class.igx-slider-thumb-to--pressed": "this.thumbToPressedClass" } }, ngImport: i0, template: "<div [ngClass]=\"getDotClass\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
367
367
  }
368
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderThumbComponent, decorators: [{
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderThumbComponent, decorators: [{
369
369
  type: Component,
370
370
  args: [{ selector: 'igx-thumb', imports: [NgClass], template: "<div [ngClass]=\"getDotClass\"></div>\n" }]
371
371
  }], propDecorators: { value: [{
@@ -501,10 +501,10 @@ class IgxTickLabelsPipe {
501
501
  });
502
502
  return result;
503
503
  }
504
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTickLabelsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
505
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxTickLabelsPipe, isStandalone: true, name: "spreadTickLabels" }); }
504
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTickLabelsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
505
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: IgxTickLabelsPipe, isStandalone: true, name: "spreadTickLabels" }); }
506
506
  }
507
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTickLabelsPipe, decorators: [{
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTickLabelsPipe, decorators: [{
508
508
  type: Pipe,
509
509
  args: [{
510
510
  name: 'spreadTickLabels',
@@ -598,10 +598,10 @@ class IgxTicksComponent {
598
598
  const labelVal = labelStep * idx;
599
599
  return (this.minValue + labelVal).toFixed(2);
600
600
  }
601
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTicksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
602
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: IgxTicksComponent, isStandalone: true, selector: "igx-ticks", inputs: { primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", maxValue: "maxValue", minValue: "minValue", labelsViewEnabled: ["labelsViewEnabled", "labelsViewEnabled", booleanAttribute], labels: "labels", tickLabelTemplateRef: "tickLabelTemplateRef" }, host: { properties: { "class.igx-slider__ticks": "this.ticksClass", "class.igx-slider__ticks--top": "this.ticksTopClass", "class.igx-slider__ticks--tall": "this.hasPrimaryClass", "class.igx-slider__tick-labels--top-bottom": "this.labelsTopToBottomClass", "class.igx-slider__tick-labels--bottom-top": "this.labelsBottomToTopClass" } }, ngImport: i0, template: "@for (n of [].constructor(ticksLength); track $index; let idx = $index) {\n <div class=\"igx-slider__ticks-group\" [ngClass]=\"{ 'igx-slider__ticks-group--tall': isPrimary(idx)}\">\n <div class=\"igx-slider__ticks-tick\">\n <span class=\"igx-slider__ticks-label\" [ngClass]=\"{ 'igx-slider__tick-label--hidden': !hiddenTickLabels(idx)}\">\n <ng-container *ngTemplateOutlet=\"tickLabelTemplateRef ? tickLabelTemplateRef : tickLabelDefaultTemplate; context: context(idx)\"></ng-container>\n </span>\n </div>\n </div>\n}\n\n<ng-template #tickLabelDefaultTemplate let-value>\n {{ value }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTicksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
602
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IgxTicksComponent, isStandalone: true, selector: "igx-ticks", inputs: { primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", maxValue: "maxValue", minValue: "minValue", labelsViewEnabled: ["labelsViewEnabled", "labelsViewEnabled", booleanAttribute], labels: "labels", tickLabelTemplateRef: "tickLabelTemplateRef" }, host: { properties: { "class.igx-slider__ticks": "this.ticksClass", "class.igx-slider__ticks--top": "this.ticksTopClass", "class.igx-slider__ticks--tall": "this.hasPrimaryClass", "class.igx-slider__tick-labels--top-bottom": "this.labelsTopToBottomClass", "class.igx-slider__tick-labels--bottom-top": "this.labelsBottomToTopClass" } }, ngImport: i0, template: "@for (n of [].constructor(ticksLength); track $index; let idx = $index) {\n <div class=\"igx-slider__ticks-group\" [ngClass]=\"{ 'igx-slider__ticks-group--tall': isPrimary(idx)}\">\n <div class=\"igx-slider__ticks-tick\">\n <span class=\"igx-slider__ticks-label\" [ngClass]=\"{ 'igx-slider__tick-label--hidden': !hiddenTickLabels(idx)}\">\n <ng-container *ngTemplateOutlet=\"tickLabelTemplateRef ? tickLabelTemplateRef : tickLabelDefaultTemplate; context: context(idx)\"></ng-container>\n </span>\n </div>\n </div>\n}\n\n<ng-template #tickLabelDefaultTemplate let-value>\n {{ value }}\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
603
603
  }
604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxTicksComponent, decorators: [{
604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxTicksComponent, decorators: [{
605
605
  type: Component,
606
606
  args: [{ selector: 'igx-ticks', imports: [NgClass, NgTemplateOutlet], template: "@for (n of [].constructor(ticksLength); track $index; let idx = $index) {\n <div class=\"igx-slider__ticks-group\" [ngClass]=\"{ 'igx-slider__ticks-group--tall': isPrimary(idx)}\">\n <div class=\"igx-slider__ticks-tick\">\n <span class=\"igx-slider__ticks-label\" [ngClass]=\"{ 'igx-slider__tick-label--hidden': !hiddenTickLabels(idx)}\">\n <ng-container *ngTemplateOutlet=\"tickLabelTemplateRef ? tickLabelTemplateRef : tickLabelDefaultTemplate; context: context(idx)\"></ng-container>\n </span>\n </div>\n </div>\n}\n\n<ng-template #tickLabelDefaultTemplate let-value>\n {{ value }}\n</ng-template>\n" }]
607
607
  }], propDecorators: { primaryTicks: [{
@@ -1788,10 +1788,10 @@ class IgxSliderComponent {
1788
1788
  emitValueChange(oldValue) {
1789
1789
  this.valueChange.emit({ oldValue, value: this.value });
1790
1790
  }
1791
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1792
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: IgxSliderComponent, isStandalone: true, selector: "igx-slider", inputs: { id: "id", thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", type: "type", labels: "labels", step: "step", disabled: ["disabled", "disabled", booleanAttribute], continuous: ["continuous", "continuous", booleanAttribute], minValue: "minValue", maxValue: "maxValue", lowerBound: "lowerBound", upperBound: "upperBound", value: "value", primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", showTicks: ["showTicks", "showTicks", booleanAttribute], primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", lowerValue: "lowerValue", upperValue: "upperValue" }, outputs: { valueChange: "valueChange", lowerValueChange: "lowerValueChange", upperValueChange: "upperValueChange", dragFinished: "dragFinished" }, host: { listeners: { "focus": "onFocus()", "pointerdown": "onPointerDown($event)", "pointerup": "onPointerUp($event)" }, properties: { "class.igx-slider": "this.slierClass", "attr.id": "this.id", "class.igx-slider--disabled": "this.disabledClass" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }], queries: [{ propertyName: "thumbFromTemplateRef", first: true, predicate: IgxThumbFromTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "thumbToTemplateRef", first: true, predicate: IgxThumbToTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tickLabelTemplateRef", first: true, predicate: IgxTickLabelTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, static: true }, { propertyName: "ticks", first: true, predicate: ["ticks"], descendants: true, static: true }, { propertyName: "thumbs", predicate: IgxSliderThumbComponent, descendants: true }, { propertyName: "labelRefs", predicate: IgxThumbLabelComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (showTicks && showTopTicks) {\n <igx-ticks\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n @if (isRange) {\n <igx-thumb-label\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n }\n\n @if (isRange) {\n <igx-thumb\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n }\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n@if (showTicks && showBottomTicks) {\n <igx-ticks\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n", dependencies: [{ kind: "component", type: IgxTicksComponent, selector: "igx-ticks", inputs: ["primaryTicks", "secondaryTicks", "primaryTickLabels", "secondaryTickLabels", "ticksOrientation", "tickLabelsOrientation", "maxValue", "minValue", "labelsViewEnabled", "labels", "tickLabelTemplateRef"] }, { kind: "component", type: IgxThumbLabelComponent, selector: "igx-thumb-label", inputs: ["value", "templateRef", "context", "type", "continuous", "deactiveState", "thumb"] }, { kind: "component", type: IgxSliderThumbComponent, selector: "igx-thumb", inputs: ["value", "continuous", "thumbLabelVisibilityDuration", "disabled", "onPan", "stepDistance", "step", "templateRef", "context", "type", "deactiveState", "min", "max", "labels"], outputs: ["thumbValueChange", "thumbChange", "thumbBlur", "hoverChange"] }, { kind: "pipe", type: IgxTickLabelsPipe, name: "spreadTickLabels" }] }); }
1791
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1792
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IgxSliderComponent, isStandalone: true, selector: "igx-slider", inputs: { id: "id", thumbLabelVisibilityDuration: "thumbLabelVisibilityDuration", type: "type", labels: "labels", step: "step", disabled: ["disabled", "disabled", booleanAttribute], continuous: ["continuous", "continuous", booleanAttribute], minValue: "minValue", maxValue: "maxValue", lowerBound: "lowerBound", upperBound: "upperBound", value: "value", primaryTicks: "primaryTicks", secondaryTicks: "secondaryTicks", showTicks: ["showTicks", "showTicks", booleanAttribute], primaryTickLabels: ["primaryTickLabels", "primaryTickLabels", booleanAttribute], secondaryTickLabels: ["secondaryTickLabels", "secondaryTickLabels", booleanAttribute], ticksOrientation: "ticksOrientation", tickLabelsOrientation: "tickLabelsOrientation", lowerValue: "lowerValue", upperValue: "upperValue" }, outputs: { valueChange: "valueChange", lowerValueChange: "lowerValueChange", upperValueChange: "upperValueChange", dragFinished: "dragFinished" }, host: { listeners: { "focus": "onFocus()", "pointerdown": "onPointerDown($event)", "pointerup": "onPointerUp($event)" }, properties: { "class.igx-slider": "this.slierClass", "attr.id": "this.id", "class.igx-slider--disabled": "this.disabledClass" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }], queries: [{ propertyName: "thumbFromTemplateRef", first: true, predicate: IgxThumbFromTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "thumbToTemplateRef", first: true, predicate: IgxThumbToTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "tickLabelTemplateRef", first: true, predicate: IgxTickLabelTemplateDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, static: true }, { propertyName: "ticks", first: true, predicate: ["ticks"], descendants: true, static: true }, { propertyName: "thumbs", predicate: IgxSliderThumbComponent, descendants: true }, { propertyName: "labelRefs", predicate: IgxThumbLabelComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (showTicks && showTopTicks) {\n <igx-ticks\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n @if (isRange) {\n <igx-thumb-label\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n }\n\n @if (isRange) {\n <igx-thumb\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n }\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n@if (showTicks && showBottomTicks) {\n <igx-ticks\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n", dependencies: [{ kind: "component", type: IgxTicksComponent, selector: "igx-ticks", inputs: ["primaryTicks", "secondaryTicks", "primaryTickLabels", "secondaryTickLabels", "ticksOrientation", "tickLabelsOrientation", "maxValue", "minValue", "labelsViewEnabled", "labels", "tickLabelTemplateRef"] }, { kind: "component", type: IgxThumbLabelComponent, selector: "igx-thumb-label", inputs: ["value", "templateRef", "context", "type", "continuous", "deactiveState", "thumb"] }, { kind: "component", type: IgxSliderThumbComponent, selector: "igx-thumb", inputs: ["value", "continuous", "thumbLabelVisibilityDuration", "disabled", "onPan", "stepDistance", "step", "templateRef", "context", "type", "deactiveState", "min", "max", "labels"], outputs: ["thumbValueChange", "thumbChange", "thumbBlur", "hoverChange"] }, { kind: "pipe", type: IgxTickLabelsPipe, name: "spreadTickLabels" }] }); }
1793
1793
  }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderComponent, decorators: [{
1794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderComponent, decorators: [{
1795
1795
  type: Component,
1796
1796
  args: [{ providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxSliderComponent, multi: true }], selector: 'igx-slider', imports: [IgxTicksComponent, IgxThumbLabelComponent, IgxSliderThumbComponent, IgxTickLabelsPipe], template: "@if (showTicks && showTopTicks) {\n <igx-ticks\n ticksOrientation=\"top\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n<div class=\"igx-slider__track\">\n <div class=\"igx-slider__track-inactive\"></div>\n <div #track class=\"igx-slider__track-fill\"></div>\n <div class=\"igx-slider__track-steps\">\n <svg width=\"100%\" height=\"100%\">\n <line #ticks x1=\"0\" y1=\"2\" x2=\"100%\" y2=\"2\"></line>\n </svg>\n </div>\n</div>\n<div class=\"igx-slider__thumbs\">\n @if (isRange) {\n <igx-thumb-label\n type=\"from\"\n [value]=\"lowerLabel\"\n [templateRef]=\"thumbFromTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbFrom\"></igx-thumb-label>\n }\n\n @if (isRange) {\n <igx-thumb\n #thumbFrom\n type=\"from\"\n [value]=\"lowerLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbFromTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n }\n\n <igx-thumb-label\n [value]=\"upperLabel\"\n type=\"to\"\n [templateRef]=\"thumbToTemplateRef\"\n [continuous]=\"continuous\"\n [context]=\"context\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumb]=\"thumbTo\"></igx-thumb-label>\n\n <igx-thumb\n #thumbTo\n type=\"to\"\n [value]=\"upperLabel\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [disabled]=\"disabled\"\n [continuous]=\"continuous\"\n [onPan]=\"onPan\"\n [stepDistance]=\"stepDistance\"\n [step]=\"step\"\n [templateRef]=\"thumbToTemplateRef\"\n [context]=\"context\"\n [labels]=\"labels\"\n (thumbChange)=\"onThumbChange()\"\n (hoverChange)=\"onHoverChange($event)\"\n [deactiveState]=\"deactivateThumbLabel\"\n [thumbLabelVisibilityDuration]=\"thumbLabelVisibilityDuration\"></igx-thumb>\n</div>\n@if (showTicks && showBottomTicks) {\n <igx-ticks\n ticksOrientation=\"bottom\"\n [primaryTicks]=\"primaryTicks\"\n [secondaryTicks]=\"secondaryTicks\"\n [primaryTickLabels]=\"primaryTickLabels\"\n [secondaryTickLabels]=\"secondaryTickLabels\"\n [tickLabelsOrientation]=\"tickLabelsOrientation\"\n [labelsViewEnabled]=\"labelsViewEnabled\"\n [labels]=\"labels | spreadTickLabels:secondaryTicks\"\n [tickLabelTemplateRef]=\"tickLabelTemplateRef\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\">\n </igx-ticks>\n}\n" }]
1797
1797
  }], ctorParameters: () => [], propDecorators: { trackRef: [{
@@ -1903,11 +1903,11 @@ const IGX_SLIDER_DIRECTIVES = [
1903
1903
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
1904
1904
  */
1905
1905
  class IgxSliderModule {
1906
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1907
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderModule, imports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective], exports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective] }); }
1908
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderModule }); }
1906
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1907
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderModule, imports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective], exports: [IgxSliderComponent, IgxThumbFromTemplateDirective, IgxThumbToTemplateDirective, IgxTickLabelTemplateDirective] }); }
1908
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderModule }); }
1909
1909
  }
1910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSliderModule, decorators: [{
1910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSliderModule, decorators: [{
1911
1911
  type: NgModule,
1912
1912
  args: [{
1913
1913
  imports: [
@@ -162,10 +162,10 @@ class IgxSnackbarComponent extends IgxNotificationsDirective {
162
162
  this.animationDone.emit(closedEventArgs);
163
163
  });
164
164
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: IgxSnackbarComponent, isStandalone: true, selector: "igx-snackbar", inputs: { id: "id", actionText: "actionText", positionSettings: "positionSettings" }, outputs: { clicked: "clicked", animationStarted: "animationStarted", animationDone: "animationDone" }, host: { properties: { "attr.id": "this.id", "class.igx-snackbar": "this.cssClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }] }); }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IgxSnackbarComponent, isStandalone: true, selector: "igx-snackbar", inputs: { id: "id", actionText: "actionText", positionSettings: "positionSettings" }, outputs: { clicked: "clicked", animationStarted: "animationStarted", animationDone: "animationDone" }, host: { properties: { "attr.id": "this.id", "class.igx-snackbar": "this.cssClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n", dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }] }); }
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarComponent, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarComponent, decorators: [{
169
169
  type: Component,
170
170
  args: [{ selector: 'igx-snackbar', imports: [IgxButtonDirective], template: "<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n" }]
171
171
  }], propDecorators: { id: [{
@@ -194,11 +194,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
194
194
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
195
195
  */
196
196
  class IgxSnackbarModule {
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
198
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarModule, imports: [IgxSnackbarComponent], exports: [IgxSnackbarComponent] }); }
199
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarModule }); }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
198
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarModule, imports: [IgxSnackbarComponent], exports: [IgxSnackbarComponent] }); }
199
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarModule }); }
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSnackbarModule, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSnackbarModule, decorators: [{
202
202
  type: NgModule,
203
203
  args: [{
204
204
  imports: [
@@ -20,7 +20,7 @@ import { take } from 'rxjs';
20
20
  class IgxSplitterPaneComponent {
21
21
  constructor() {
22
22
  this.el = inject(ElementRef);
23
- this._order = signal(null, { ...(ngDevMode ? { debugName: "_order" } : {}) });
23
+ this._order = signal(null, ...(ngDevMode ? [{ debugName: "_order" }] : []));
24
24
  /**
25
25
  * @hidden @internal
26
26
  * Gets/Sets the 'display' property of the current pane.
@@ -215,10 +215,10 @@ class IgxSplitterPaneComponent {
215
215
  }
216
216
  return siblings;
217
217
  }
218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.2", type: IgxSplitterPaneComponent, isStandalone: true, selector: "igx-splitter-pane", inputs: { minSize: "minSize", maxSize: "maxSize", resizable: ["resizable", "resizable", booleanAttribute], size: "size", collapsed: ["collapsed", "collapsed", booleanAttribute] }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "style.display": "this.display", "style.order": "this.order", "style.overflow": "this.overflow", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth", "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "style.flex": "this.flex" } }, ngImport: i0, template: "<ng-content></ng-content>" }); }
218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.8", type: IgxSplitterPaneComponent, isStandalone: true, selector: "igx-splitter-pane", inputs: { minSize: "minSize", maxSize: "maxSize", resizable: ["resizable", "resizable", booleanAttribute], size: "size", collapsed: ["collapsed", "collapsed", booleanAttribute] }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "style.display": "this.display", "style.order": "this.order", "style.overflow": "this.overflow", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth", "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "style.flex": "this.flex" } }, ngImport: i0, template: "<ng-content></ng-content>" }); }
220
220
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterPaneComponent, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterPaneComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{ selector: 'igx-splitter-pane', standalone: true, template: "<ng-content></ng-content>" }]
224
224
  }], propDecorators: { display: [{
@@ -542,10 +542,10 @@ class IgxSplitterComponent {
542
542
  }
543
543
  return [this.initialPaneSize - delta, this.initialSiblingSize + delta];
544
544
  }
545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
546
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.2", type: IgxSplitterComponent, isStandalone: true, selector: "igx-splitter", inputs: { type: "type", nonCollapsible: ["nonCollapsible", "nonCollapsible", booleanAttribute] }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { properties: { "class.igx-splitter": "this.cssClass", "style.overflow": "this.overflow", "style.display": "this.display", "attr.aria-orientation": "this.orientation", "style.flex-direction": "this.direction" } }, queries: [{ propertyName: "panes", predicate: IgxSplitterPaneComponent, read: IgxSplitterPaneComponent }], ngImport: i0, template: "<ng-content select=\"igx-splitter-pane\"></ng-content>\n@for (pane of panes; track pane; let last = $last; let index = $index) {\n @if (!last) {\n <igx-splitter-bar [order]=\"pane.order + 1\" role=\"separator\"\n [type]=\"type\"\n [pane]=\"pane\"\n [siblings]=\"getPaneSiblingsByOrder(pane.order + 1, index)\"\n (moveStart)=\"onMoveStart($event)\"\n (moving)=\"onMoving($event)\"\n (movingEnd)=\"onMoveEnd($event)\"\n [nonCollapsible]=\"nonCollapsible\">\n </igx-splitter-bar>\n }\n}\n", dependencies: [{ kind: "component", type: i0.forwardRef(() => IgxSplitBarComponent), selector: "igx-splitter-bar", inputs: ["nonCollapsible", "type", "order", "pane", "siblings"], outputs: ["moveStart", "moving", "movingEnd"] }] }); }
545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IgxSplitterComponent, isStandalone: true, selector: "igx-splitter", inputs: { type: "type", nonCollapsible: ["nonCollapsible", "nonCollapsible", booleanAttribute] }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { properties: { "class.igx-splitter": "this.cssClass", "style.overflow": "this.overflow", "style.display": "this.display", "attr.aria-orientation": "this.orientation", "style.flex-direction": "this.direction" } }, queries: [{ propertyName: "panes", predicate: IgxSplitterPaneComponent, read: IgxSplitterPaneComponent }], ngImport: i0, template: "<ng-content select=\"igx-splitter-pane\"></ng-content>\n@for (pane of panes; track pane; let last = $last; let index = $index) {\n @if (!last) {\n <igx-splitter-bar [order]=\"pane.order + 1\" role=\"separator\"\n [type]=\"type\"\n [pane]=\"pane\"\n [siblings]=\"getPaneSiblingsByOrder(pane.order + 1, index)\"\n (moveStart)=\"onMoveStart($event)\"\n (moving)=\"onMoving($event)\"\n (movingEnd)=\"onMoveEnd($event)\"\n [nonCollapsible]=\"nonCollapsible\">\n </igx-splitter-bar>\n }\n}\n", dependencies: [{ kind: "component", type: i0.forwardRef(() => IgxSplitBarComponent), selector: "igx-splitter-bar", inputs: ["nonCollapsible", "type", "order", "pane", "siblings"], outputs: ["moveStart", "moving", "movingEnd"] }] }); }
547
547
  }
548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterComponent, decorators: [{
548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterComponent, decorators: [{
549
549
  type: Component,
550
550
  args: [{ selector: 'igx-splitter', imports: [forwardRef(() => IgxSplitBarComponent)], template: "<ng-content select=\"igx-splitter-pane\"></ng-content>\n@for (pane of panes; track pane; let last = $last; let index = $index) {\n @if (!last) {\n <igx-splitter-bar [order]=\"pane.order + 1\" role=\"separator\"\n [type]=\"type\"\n [pane]=\"pane\"\n [siblings]=\"getPaneSiblingsByOrder(pane.order + 1, index)\"\n (moveStart)=\"onMoveStart($event)\"\n (moving)=\"onMoving($event)\"\n (movingEnd)=\"onMoveEnd($event)\"\n [nonCollapsible]=\"nonCollapsible\">\n </igx-splitter-bar>\n }\n}\n" }]
551
551
  }], propDecorators: { panes: [{
@@ -769,10 +769,10 @@ class IgxSplitBarComponent {
769
769
  }
770
770
  target.toggle();
771
771
  }
772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
773
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.2", type: IgxSplitBarComponent, isStandalone: true, selector: "igx-splitter-bar", inputs: { nonCollapsible: ["nonCollapsible", "nonCollapsible", booleanAttribute], type: "type", order: "order", pane: "pane", siblings: "siblings" }, outputs: { moveStart: "moveStart", moving: "moving", movingEnd: "movingEnd" }, host: { listeners: { "keydown": "keyEvent($event)" }, properties: { "class.igx-splitter-bar-host": "this.cssClass", "style.order": "this.order", "attr.tabindex": "this.tabindex", "attr.aria-orientation": "this.orientation" } }, ngImport: i0, template: "<div class=\"igx-splitter-bar\"\n [class.igx-splitter-bar--vertical]=\"type === 0\"\n [style.cursor]=\"cursor\"\n igxDrag\n [ghost]=\"false\"\n [dragDirection]=\"dragDir\"\n (dragStart)=\"onDragStart($event)\"\n (dragMove)=\"onDragMove($event)\"\n (dragEnd)=\"onDragEnd($event)\"\n [class.igx-splitter-bar--collapsible]=\"!nonCollapsible\"\n>\n <div class=\"igx-splitter-bar__expander--start\" igxDragIgnore (click)=\"onCollapsing(false)\" [hidden]=\"prevButtonHidden\"></div>\n <div class=\"igx-splitter-bar__handle\"></div>\n <div class=\"igx-splitter-bar__expander--end\" igxDragIgnore (click)=\"onCollapsing(true)\" [hidden]=\"nextButtonHidden\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: IgxDragDirective, selector: "[igxDrag]", inputs: ["igxDrag", "dragTolerance", "dragDirection", "dragChannel", "ghost", "ghostClass", "ghostStyle", "ghostTemplate", "ghostHost", "scrollContainer", "ghostOffsetX", "ghostOffsetY"], outputs: ["dragStart", "dragMove", "dragEnd", "dragClick", "ghostCreate", "ghostDestroy", "transitioned"], exportAs: ["drag"] }, { kind: "directive", type: IgxDragIgnoreDirective, selector: "[igxDragIgnore]" }] }); }
772
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
773
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.8", type: IgxSplitBarComponent, isStandalone: true, selector: "igx-splitter-bar", inputs: { nonCollapsible: ["nonCollapsible", "nonCollapsible", booleanAttribute], type: "type", order: "order", pane: "pane", siblings: "siblings" }, outputs: { moveStart: "moveStart", moving: "moving", movingEnd: "movingEnd" }, host: { listeners: { "keydown": "keyEvent($event)" }, properties: { "class.igx-splitter-bar-host": "this.cssClass", "style.order": "this.order", "attr.tabindex": "this.tabindex", "attr.aria-orientation": "this.orientation" } }, ngImport: i0, template: "<div class=\"igx-splitter-bar\"\n [class.igx-splitter-bar--vertical]=\"type === 0\"\n [style.cursor]=\"cursor\"\n igxDrag\n [ghost]=\"false\"\n [dragDirection]=\"dragDir\"\n (dragStart)=\"onDragStart($event)\"\n (dragMove)=\"onDragMove($event)\"\n (dragEnd)=\"onDragEnd($event)\"\n [class.igx-splitter-bar--collapsible]=\"!nonCollapsible\"\n>\n <div class=\"igx-splitter-bar__expander--start\" igxDragIgnore (click)=\"onCollapsing(false)\" [hidden]=\"prevButtonHidden\"></div>\n <div class=\"igx-splitter-bar__handle\"></div>\n <div class=\"igx-splitter-bar__expander--end\" igxDragIgnore (click)=\"onCollapsing(true)\" [hidden]=\"nextButtonHidden\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: IgxDragDirective, selector: "[igxDrag]", inputs: ["igxDrag", "dragTolerance", "dragDirection", "dragChannel", "ghost", "ghostClass", "ghostStyle", "ghostTemplate", "ghostHost", "scrollContainer", "ghostOffsetX", "ghostOffsetY"], outputs: ["dragStart", "dragMove", "dragEnd", "dragClick", "ghostCreate", "ghostDestroy", "transitioned"], exportAs: ["drag"] }, { kind: "directive", type: IgxDragIgnoreDirective, selector: "[igxDragIgnore]" }] }); }
774
774
  }
775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitBarComponent, decorators: [{
775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitBarComponent, decorators: [{
776
776
  type: Component,
777
777
  args: [{ selector: 'igx-splitter-bar', imports: [IgxDragDirective, IgxDragIgnoreDirective], template: "<div class=\"igx-splitter-bar\"\n [class.igx-splitter-bar--vertical]=\"type === 0\"\n [style.cursor]=\"cursor\"\n igxDrag\n [ghost]=\"false\"\n [dragDirection]=\"dragDir\"\n (dragStart)=\"onDragStart($event)\"\n (dragMove)=\"onDragMove($event)\"\n (dragEnd)=\"onDragEnd($event)\"\n [class.igx-splitter-bar--collapsible]=\"!nonCollapsible\"\n>\n <div class=\"igx-splitter-bar__expander--start\" igxDragIgnore (click)=\"onCollapsing(false)\" [hidden]=\"prevButtonHidden\"></div>\n <div class=\"igx-splitter-bar__handle\"></div>\n <div class=\"igx-splitter-bar__expander--end\" igxDragIgnore (click)=\"onCollapsing(true)\" [hidden]=\"nextButtonHidden\"></div>\n</div>\n" }]
778
778
  }], propDecorators: { cssClass: [{
@@ -822,11 +822,11 @@ const IGX_SPLITTER_DIRECTIVES = [
822
822
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
823
823
  */
824
824
  class IgxSplitterModule {
825
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
826
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterModule, imports: [IgxSplitterComponent, IgxSplitterPaneComponent, IgxSplitBarComponent], exports: [IgxSplitterComponent, IgxSplitterPaneComponent, IgxSplitBarComponent] }); }
827
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterModule }); }
825
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
826
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterModule, imports: [IgxSplitterComponent, IgxSplitterPaneComponent, IgxSplitBarComponent], exports: [IgxSplitterComponent, IgxSplitterPaneComponent, IgxSplitBarComponent] }); }
827
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterModule }); }
828
828
  }
829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxSplitterModule, decorators: [{
829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IgxSplitterModule, decorators: [{
830
830
  type: NgModule,
831
831
  args: [{
832
832
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-splitter.mjs","sources":["../../../projects/igniteui-angular/splitter/src/splitter/splitter-pane/splitter-pane.component.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter-pane/splitter-pane.component.html","../../../projects/igniteui-angular/splitter/src/splitter/splitter.component.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter.component.html","../../../projects/igniteui-angular/splitter/src/splitter/splitter-bar.component.html","../../../projects/igniteui-angular/splitter/src/splitter/public_api.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter.module.ts","../../../projects/igniteui-angular/splitter/src/igniteui-angular-splitter.ts"],"sourcesContent":["import { Component, HostBinding, Input, ElementRef, Output, EventEmitter, booleanAttribute, signal, inject } from '@angular/core';\n\n/**\n * Represents individual resizable/collapsible panes.\n *\n * @igxModule IgxSplitterModule\n *\n * @igxParent IgxSplitterComponent\n *\n * @igxKeywords pane\n *\n * @igxGroup presentation\n *\n * @remarks\n * Users can control the resize behavior via the min and max size properties.\n */\n@Component({\n selector: 'igx-splitter-pane',\n templateUrl: './splitter-pane.component.html',\n standalone: true\n})\nexport class IgxSplitterPaneComponent {\n private el = inject(ElementRef);\n\n private _minSize: string;\n private _maxSize: string;\n private _order = signal<number | null>(null);\n\n /**\n * @hidden @internal\n * Gets/Sets the 'display' property of the current pane.\n */\n @HostBinding('style.display')\n public display = 'flex';\n\n /**\n * Gets/Sets the minimum allowed size of the current pane.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [minSize]='minSize'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get minSize(): string {\n return this._minSize;\n }\n public set minSize(value: string) {\n this._minSize = value;\n if (this.owner) {\n this.owner.panes.notifyOnChanges();\n }\n }\n\n /**\n * Gets/Set the maximum allowed size of the current pane.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [maxSize]='maxSize'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get maxSize(): string {\n return this._maxSize;\n }\n public set maxSize(value: string) {\n this._maxSize = value;\n if (this.owner) {\n this.owner.panes.notifyOnChanges();\n }\n }\n\n /**\n * Gets/Sets whether pane is resizable.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [resizable]='false'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n * @remarks\n * If pane is not resizable its related splitter bar cannot be dragged.\n */\n @Input({ transform: booleanAttribute })\n public resizable = true;\n\n /**\n * Event fired when collapsed state of pane is changed.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane (collapsedChange)='paneCollapsedChange($event)'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public collapsedChange = new EventEmitter<boolean>();\n\n /** @hidden @internal */\n @HostBinding('style.order')\n public get order() {\n return this._order();\n }\n public set order(val) {\n this._order.set(val)\n }\n\n /**\n * @hidden @internal\n * Gets/Sets the `overflow`.\n */\n @HostBinding('style.overflow')\n public overflow = 'auto';\n\n /**\n * @hidden @internal\n * Get/Sets the `minWidth` properties of the current pane.\n */\n @HostBinding('style.min-width')\n public minWidth = '0';\n\n /**\n * @hidden @internal\n * Get/Sets the `maxWidth` properties of the current pane.\n */\n @HostBinding('style.max-width')\n public maxWidth = '100%';\n\n /**\n * @hidden @internal\n * Gets/Sets the `minHeight` properties of the current pane.\n */\n @HostBinding('style.min-height')\n public minHeight = '0';\n\n /**\n * @hidden @internal\n * Gets/Sets the `maxHeight` properties of the current `IgxSplitterPaneComponent`.\n */\n @HostBinding('style.max-height')\n public maxHeight = '100%';\n\n /** @hidden @internal */\n public owner;\n\n /**\n * Gets/Sets the size of the current pane.\n * * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [size]='size'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get size() {\n return this._size;\n }\n\n public set size(value) {\n this._size = value;\n this.el.nativeElement.style.flex = this.flex;\n }\n\n /** @hidden @internal */\n public get isPercentageSize() {\n return this.size === 'auto' || this.size.indexOf('%') !== -1;\n }\n\n /** @hidden @internal */\n public get dragSize() {\n return this._dragSize;\n }\n public set dragSize(val) {\n this._dragSize = val;\n this.el.nativeElement.style.flex = this.flex;\n }\n\n /**\n *\n * @hidden @internal\n * Gets the host native element.\n */\n public get element(): any {\n return this.el.nativeElement;\n }\n\n /**\n * @hidden @internal\n * Gets the `flex` property of the current `IgxSplitterPaneComponent`.\n */\n @HostBinding('style.flex')\n public get flex() {\n const size = this.dragSize || this.size;\n const grow = this.isPercentageSize && !this.dragSize ? 1 : 0;\n return `${grow} ${grow} ${size}`;\n }\n\n /**\n * Gets/Sets whether current pane is collapsed.\n *\n * @example\n * ```typescript\n * const isCollapsed = pane.collapsed;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public set collapsed(value) {\n if (this.owner) {\n // reset sibling sizes when pane collapse state changes.\n this._getSiblings().forEach(sibling => {\n sibling.size = 'auto'\n sibling.dragSize = null;\n });\n }\n this._collapsed = value;\n this.display = this._collapsed ? 'none' : 'flex';\n this.collapsedChange.emit(this._collapsed);\n }\n\n public get collapsed() {\n return this._collapsed;\n }\n\n private _size = 'auto';\n private _dragSize;\n private _collapsed = false;\n\n /**\n * Toggles the collapsed state of the pane.\n *\n * @example\n * ```typescript\n * pane.toggle();\n * ```\n */\n public toggle() {\n this.collapsed = !this.collapsed;\n }\n\n /** @hidden @internal */\n private _getSiblings() {\n const panes = this.owner.panes.toArray();\n const index = panes.indexOf(this);\n const siblings = [];\n if (index !== 0) {\n siblings.push(panes[index - 1]);\n }\n if (index !== panes.length - 1) {\n siblings.push(panes[index + 1]);\n }\n return siblings;\n }\n}\n","<ng-content></ng-content>","import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, Output, QueryList, booleanAttribute, forwardRef, DOCUMENT, inject } from '@angular/core';\nimport { DragDirection, IDragMoveEventArgs, IDragStartEventArgs, IgxDragDirective, IgxDragIgnoreDirective } from 'igniteui-angular/directives';\nimport { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';\nimport { take } from 'rxjs';\n\n/**\n * An enumeration that defines the `SplitterComponent` panes orientation.\n */\nexport enum SplitterType {\n Horizontal,\n Vertical\n}\n\nexport declare interface ISplitterBarResizeEventArgs {\n pane: IgxSplitterPaneComponent;\n sibling: IgxSplitterPaneComponent;\n}\n\n/**\n * Provides a framework for a simple layout, splitting the view horizontally or vertically\n * into multiple smaller resizable and collapsible areas.\n *\n * @igxModule IgxSplitterModule\n *\n * @igxParent Layouts\n *\n * @igxTheme igx-splitter-theme\n *\n * @igxKeywords splitter panes layout\n *\n * @igxGroup presentation\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane>\n * ...\n * </igx-splitter-pane>\n * <igx-splitter-pane>\n * ...\n * </igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n@Component({\n selector: 'igx-splitter',\n templateUrl: './splitter.component.html',\n imports: [forwardRef(() => IgxSplitBarComponent)]\n})\nexport class IgxSplitterComponent implements AfterContentInit {\n public document = inject(DOCUMENT);\n private elementRef = inject(ElementRef);\n private zone = inject(NgZone);\n\n /**\n * Gets the list of splitter panes.\n *\n * @example\n * ```typescript\n * const panes = this.splitter.panes;\n * ```\n */\n @ContentChildren(IgxSplitterPaneComponent, { read: IgxSplitterPaneComponent })\n public panes!: QueryList<IgxSplitterPaneComponent>;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-splitter')\n public cssClass = 'igx-splitter';\n\n /**\n * @hidden @internal\n * Gets/Sets the `overflow` property of the current splitter.\n */\n @HostBinding('style.overflow')\n public overflow = 'hidden';\n\n /**\n * @hidden @internal\n * Sets/Gets the `display` property of the current splitter.\n */\n @HostBinding('style.display')\n public display = 'flex';\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-orientation')\n public get orientation() {\n return this.type === SplitterType.Horizontal ? 'horizontal' : 'vertical';\n }\n\n /**\n * Event fired when resizing of panes starts.\n *\n * @example\n * ```html\n * <igx-splitter (resizeStart)='resizeStart($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizeStart = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n /**\n * Event fired when resizing of panes is in progress.\n *\n * @example\n * ```html\n * <igx-splitter (resizing)='resizing($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizing = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n\n /**\n * Event fired when resizing of panes ends.\n *\n * @example\n * ```html\n * <igx-splitter (resizeEnd)='resizeEnd($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizeEnd = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n private _type: SplitterType = SplitterType.Horizontal;\n\n /**\n * @hidden @internal\n * A field that holds the initial size of the main `IgxSplitterPaneComponent` in each pair of panes divided by a splitter bar.\n */\n private initialPaneSize!: number;\n\n /**\n * @hidden @internal\n * A field that holds the initial size of the sibling pane in each pair of panes divided by a gripper.\n * @memberof SplitterComponent\n */\n private initialSiblingSize!: number;\n\n /**\n * @hidden @internal\n * The main pane in each pair of panes divided by a gripper.\n */\n private pane!: IgxSplitterPaneComponent;\n\n /**\n * The sibling pane in each pair of panes divided by a splitter bar.\n */\n private sibling!: IgxSplitterPaneComponent;\n /**\n * Gets/Sets the splitter orientation.\n *\n * @example\n * ```html\n * <igx-splitter [type]=\"type\">...</igx-splitter>\n * ```\n */\n @Input()\n public get type() {\n return this._type;\n }\n public set type(value) {\n this._type = value;\n this.resetPaneSizes();\n this.panes?.notifyOnChanges();\n }\n\n /**\n * Sets the visibility of the handle and expanders in the splitter bar.\n * False by default\n *\n * @example\n * ```html\n * <igx-splitter [nonCollapsible]='true'>\n * </igx-splitter>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public nonCollapsible = false; // Input to toggle showing/hiding expanders\n\n /**\n * @hidden @internal\n * Gets the `flex-direction` property of the current `SplitterComponent`.\n */\n @HostBinding('style.flex-direction')\n public get direction(): string {\n return this.type === SplitterType.Horizontal ? 'row' : 'column';\n }\n\n /** @hidden @internal */\n public ngAfterContentInit(): void {\n this.zone.onStable.pipe(take(1)).subscribe(() => {\n this.initPanes();\n });\n this.panes.changes.subscribe(() => {\n this.initPanes();\n });\n }\n\n /**\n * @hidden @internal\n * This method performs initialization logic when the user starts dragging the splitter bar between each pair of panes.\n * @param pane - the main pane associated with the currently dragged bar.\n */\n public onMoveStart(pane: IgxSplitterPaneComponent) {\n const panes = this.panes.toArray();\n this.pane = pane;\n this.sibling = panes[panes.indexOf(this.pane) + 1];\n\n const paneRect = this.pane.element.getBoundingClientRect();\n this.initialPaneSize = this.type === SplitterType.Horizontal ? paneRect.width : paneRect.height;\n\n const siblingRect = this.sibling.element.getBoundingClientRect();\n this.initialSiblingSize = this.type === SplitterType.Horizontal ? siblingRect.width : siblingRect.height;\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizeStart.emit(args);\n }\n\n /**\n * @hidden @internal\n * This method performs calculations concerning the sizes of each pair of panes when the bar between them is dragged.\n * @param delta - The difference along the X (or Y) axis between the initial and the current point when dragging the bar.\n */\n public onMoving(delta: number) {\n const [ paneSize, siblingSize ] = this.calcNewSizes(delta);\n\n this.pane.dragSize = paneSize + 'px';\n this.sibling.dragSize = siblingSize + 'px';\n\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizing.emit(args);\n }\n\n public onMoveEnd(delta: number) {\n let [ paneSize, siblingSize ] = this.calcNewSizes(delta);\n\n if (paneSize + siblingSize > this.getTotalSize() && delta < 0) {\n siblingSize = this.getTotalSize() - paneSize;\n } else if (paneSize + siblingSize > this.getTotalSize() && delta > 0) {\n paneSize = this.getTotalSize() - siblingSize;\n }\n\n if (this.pane.isPercentageSize) {\n // handle % resizes\n const totalSize = this.getTotalSize();\n const percentPaneSize = (paneSize / totalSize) * 100;\n this.pane.size = percentPaneSize + '%';\n } else {\n // px resize\n this.pane.size = paneSize + 'px';\n }\n\n if (this.sibling.isPercentageSize) {\n // handle % resizes\n const totalSize = this.getTotalSize();\n const percentSiblingPaneSize = (siblingSize / totalSize) * 100;\n this.sibling.size = percentSiblingPaneSize + '%';\n } else {\n // px resize\n this.sibling.size = siblingSize + 'px';\n }\n this.pane.dragSize = null;\n this.sibling.dragSize = null;\n\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizeEnd.emit(args);\n }\n\n /** @hidden @internal */\n public getPaneSiblingsByOrder(order: number, barIndex: number): Array<IgxSplitterPaneComponent> {\n const panes = this.panes.toArray();\n const prevPane = panes[order - barIndex - 1];\n const nextPane = panes[order - barIndex];\n const siblings = [prevPane, nextPane];\n return siblings;\n }\n\n private getTotalSize() {\n const computed = this.document.defaultView.getComputedStyle(this.elementRef.nativeElement);\n const totalSize = this.type === SplitterType.Horizontal ? computed.getPropertyValue('width') : computed.getPropertyValue('height');\n return parseFloat(totalSize);\n }\n\n\n /**\n * @hidden @internal\n * This method inits panes with properties.\n */\n private initPanes() {\n this.panes.forEach(pane => {\n pane.owner = this;\n if (this.type === SplitterType.Horizontal) {\n pane.minWidth = pane.minSize ?? '0';\n pane.maxWidth = pane.maxSize ?? '100%';\n } else {\n pane.minHeight = pane.minSize ?? '0';\n pane.maxHeight = pane.maxSize ?? '100%';\n }\n });\n this.assignFlexOrder();\n if (this.panes.filter(x => x.collapsed).length > 0) {\n // if any panes are collapsed, reset sizes.\n this.resetPaneSizes();\n }\n }\n\n /**\n * @hidden @internal\n * This method reset pane sizes.\n */\n private resetPaneSizes() {\n if (this.panes) {\n // if type is changed runtime, should reset sizes.\n this.panes.forEach(x => {\n x.size = 'auto'\n x.minWidth = '0';\n x.maxWidth = '100%';\n x.minHeight = '0';\n x.maxHeight = '100%';\n });\n }\n }\n\n /**\n * @hidden @internal\n * This method assigns the order of each pane.\n */\n private assignFlexOrder() {\n let k = 0;\n this.panes.forEach((pane: IgxSplitterPaneComponent) => {\n pane.order = k;\n k += 2;\n });\n }\n\n /**\n * @hidden @internal\n * Calculates new sizes for the panes based on move delta and initial sizes\n */\n private calcNewSizes(delta: number): [number, number] {\n const min = parseInt(this.pane.minSize, 10) || 0;\n const minSibling = parseInt(this.sibling.minSize, 10) || 0;\n const max = parseInt(this.pane.maxSize, 10) || this.initialPaneSize + this.initialSiblingSize - minSibling;\n const maxSibling = parseInt(this.sibling.maxSize, 10) || this.initialPaneSize + this.initialSiblingSize - min;\n\n if (delta < 0) {\n const maxPossibleDelta = Math.min(\n max - this.initialPaneSize,\n this.initialSiblingSize - minSibling,\n )\n delta = Math.min(maxPossibleDelta, Math.abs(delta)) * -1;\n } else {\n const maxPossibleDelta = Math.min(\n this.initialPaneSize - min,\n maxSibling - this.initialSiblingSize\n )\n delta = Math.min(maxPossibleDelta, Math.abs(delta));\n }\n return [this.initialPaneSize - delta, this.initialSiblingSize + delta];\n }\n}\n\n/**\n * @hidden @internal\n * Represents the draggable bar that visually separates panes and allows for changing their sizes.\n */\n@Component({\n selector: 'igx-splitter-bar',\n templateUrl: './splitter-bar.component.html',\n imports: [IgxDragDirective, IgxDragIgnoreDirective]\n})\nexport class IgxSplitBarComponent {\n /**\n * Set css class to the host element.\n */\n @HostBinding('class.igx-splitter-bar-host')\n public cssClass = 'igx-splitter-bar-host';\n\n /**\n * Sets the visibility of the handle and expanders in the splitter bar.\n */\n @Input({ transform: booleanAttribute })\n public nonCollapsible;\n\n /**\n * Gets/Sets the orientation.\n */\n @Input()\n public type: SplitterType = SplitterType.Horizontal;\n\n /**\n * Sets/gets the element order.\n */\n @HostBinding('style.order')\n @Input()\n public order!: number;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.tabindex')\n public get tabindex() {\n return this.resizeDisallowed ? null : 0;\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-orientation')\n public get orientation() {\n return this.type === SplitterType.Horizontal ? 'horizontal' : 'vertical';\n }\n\n /**\n * @hidden\n * @internal\n */\n public get cursor() {\n if (this.resizeDisallowed) {\n return '';\n }\n return this.type === SplitterType.Horizontal ? 'col-resize' : 'row-resize';\n }\n\n /**\n * Sets/gets the `SplitPaneComponent` associated with the current `SplitBarComponent`.\n *\n * @memberof SplitBarComponent\n */\n @Input()\n public pane!: IgxSplitterPaneComponent;\n\n /**\n * Sets/Gets the `SplitPaneComponent` sibling components associated with the current `SplitBarComponent`.\n */\n @Input()\n public siblings!: Array<IgxSplitterPaneComponent>;\n\n /**\n * An event that is emitted whenever we start dragging the current `SplitBarComponent`.\n */\n @Output()\n public moveStart = new EventEmitter<IgxSplitterPaneComponent>();\n\n /**\n * An event that is emitted while we are dragging the current `SplitBarComponent`.\n */\n @Output()\n public moving = new EventEmitter<number>();\n\n @Output()\n public movingEnd = new EventEmitter<number>();\n\n /**\n * A temporary holder for the pointer coordinates.\n */\n private startPoint!: number;\n\n private interactionKeys = new Set('right down left up arrowright arrowdown arrowleft arrowup'.split(' '));\n\n /**\n * @hidden @internal\n */\n public get prevButtonHidden() {\n return this.siblings[0]?.collapsed && !this.siblings[1]?.collapsed;\n }\n\n /**\n * @hidden @internal\n */\n @HostListener('keydown', ['$event'])\n public keyEvent(event: KeyboardEvent) {\n const key = event.key.toLowerCase();\n const ctrl = event.ctrlKey;\n event.stopPropagation();\n if (this.interactionKeys.has(key)) {\n event.preventDefault();\n }\n switch (key) {\n case 'arrowup':\n case 'up':\n if (this.type === SplitterType.Vertical) {\n if (ctrl) {\n this.onCollapsing(false);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(10);\n }\n }\n break;\n case 'arrowdown':\n case 'down':\n if (this.type === SplitterType.Vertical) {\n if (ctrl) {\n this.onCollapsing(true);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(-10);\n }\n }\n break;\n case 'arrowleft':\n case 'left':\n if (this.type === SplitterType.Horizontal) {\n if (ctrl) {\n this.onCollapsing(false);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(10);\n }\n }\n break;\n case 'arrowright':\n case 'right':\n if (this.type === SplitterType.Horizontal) {\n if (ctrl) {\n this.onCollapsing(true);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(-10);\n }\n }\n break;\n default:\n break;\n }\n }\n\n /**\n * @hidden @internal\n */\n public get dragDir() {\n return this.type === SplitterType.Horizontal ? DragDirection.VERTICAL : DragDirection.HORIZONTAL;\n }\n\n /**\n * @hidden @internal\n */\n public get nextButtonHidden() {\n return this.siblings[1]?.collapsed && !this.siblings[0]?.collapsed;\n }\n\n /**\n * @hidden @internal\n */\n public onDragStart(event: IDragStartEventArgs) {\n if (this.resizeDisallowed) {\n event.cancel = true;\n return;\n }\n this.startPoint = this.type === SplitterType.Horizontal ? event.startX : event.startY;\n this.moveStart.emit(this.pane);\n }\n\n /**\n * @hidden @internal\n */\n public onDragMove(event: IDragMoveEventArgs) {\n const isHorizontal = this.type === SplitterType.Horizontal;\n const curr = isHorizontal ? event.pageX : event.pageY;\n const delta = this.startPoint - curr;\n if (delta !== 0) {\n this.moving.emit(delta);\n event.cancel = true;\n event.owner.element.nativeElement.style.transform = '';\n }\n }\n\n public onDragEnd(event: any) {\n const isHorizontal = this.type === SplitterType.Horizontal;\n const curr = isHorizontal ? event.pageX : event.pageY;\n const delta = this.startPoint - curr;\n if (delta !== 0) {\n this.movingEnd.emit(delta);\n }\n }\n\n protected get resizeDisallowed() {\n const relatedTabs = this.siblings;\n return !!relatedTabs.find(x => x?.resizable === false || x?.collapsed === true);\n }\n\n /**\n * @hidden @internal\n */\n public onCollapsing(next: boolean) {\n const prevSibling = this.siblings[0];\n const nextSibling = this.siblings[1];\n let target;\n if (next) {\n // if next is clicked when prev pane is hidden, show prev pane, else hide next pane.\n target = prevSibling.collapsed ? prevSibling : nextSibling;\n } else {\n // if prev is clicked when next pane is hidden, show next pane, else hide prev pane.\n target = nextSibling.collapsed ? nextSibling : prevSibling;\n }\n target.toggle();\n }\n}\n","<ng-content select=\"igx-splitter-pane\"></ng-content>\n@for (pane of panes; track pane; let last = $last; let index = $index) {\n @if (!last) {\n <igx-splitter-bar [order]=\"pane.order + 1\" role=\"separator\"\n [type]=\"type\"\n [pane]=\"pane\"\n [siblings]=\"getPaneSiblingsByOrder(pane.order + 1, index)\"\n (moveStart)=\"onMoveStart($event)\"\n (moving)=\"onMoving($event)\"\n (movingEnd)=\"onMoveEnd($event)\"\n [nonCollapsible]=\"nonCollapsible\">\n </igx-splitter-bar>\n }\n}\n","<div class=\"igx-splitter-bar\"\n [class.igx-splitter-bar--vertical]=\"type === 0\"\n [style.cursor]=\"cursor\"\n igxDrag\n [ghost]=\"false\"\n [dragDirection]=\"dragDir\"\n (dragStart)=\"onDragStart($event)\"\n (dragMove)=\"onDragMove($event)\"\n (dragEnd)=\"onDragEnd($event)\"\n [class.igx-splitter-bar--collapsible]=\"!nonCollapsible\"\n>\n <div class=\"igx-splitter-bar__expander--start\" igxDragIgnore (click)=\"onCollapsing(false)\" [hidden]=\"prevButtonHidden\"></div>\n <div class=\"igx-splitter-bar__handle\"></div>\n <div class=\"igx-splitter-bar__expander--end\" igxDragIgnore (click)=\"onCollapsing(true)\" [hidden]=\"nextButtonHidden\"></div>\n</div>\n","import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';\nimport { IgxSplitBarComponent, IgxSplitterComponent } from './splitter.component';\n\nexport * from './splitter.component';\nexport * from './splitter-pane/splitter-pane.component';\n\n/* NOTE: Splitter directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_SPLITTER_DIRECTIVES = [\n IgxSplitterComponent,\n IgxSplitterPaneComponent,\n IgxSplitBarComponent\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_SPLITTER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * @deprecated\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_SPLITTER_DIRECTIVES\n ],\n exports: [\n ...IGX_SPLITTER_DIRECTIVES\n ]\n})\nexport class IgxSplitterModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxSplitterComponent","i2.IgxSplitterPaneComponent","i1.IgxSplitBarComponent"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-splitter.mjs","sources":["../../../projects/igniteui-angular/splitter/src/splitter/splitter-pane/splitter-pane.component.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter-pane/splitter-pane.component.html","../../../projects/igniteui-angular/splitter/src/splitter/splitter.component.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter.component.html","../../../projects/igniteui-angular/splitter/src/splitter/splitter-bar.component.html","../../../projects/igniteui-angular/splitter/src/splitter/public_api.ts","../../../projects/igniteui-angular/splitter/src/splitter/splitter.module.ts","../../../projects/igniteui-angular/splitter/src/igniteui-angular-splitter.ts"],"sourcesContent":["import { Component, HostBinding, Input, ElementRef, Output, EventEmitter, booleanAttribute, signal, inject } from '@angular/core';\n\n/**\n * Represents individual resizable/collapsible panes.\n *\n * @igxModule IgxSplitterModule\n *\n * @igxParent IgxSplitterComponent\n *\n * @igxKeywords pane\n *\n * @igxGroup presentation\n *\n * @remarks\n * Users can control the resize behavior via the min and max size properties.\n */\n@Component({\n selector: 'igx-splitter-pane',\n templateUrl: './splitter-pane.component.html',\n standalone: true\n})\nexport class IgxSplitterPaneComponent {\n private el = inject(ElementRef);\n\n private _minSize: string;\n private _maxSize: string;\n private _order = signal<number | null>(null);\n\n /**\n * @hidden @internal\n * Gets/Sets the 'display' property of the current pane.\n */\n @HostBinding('style.display')\n public display = 'flex';\n\n /**\n * Gets/Sets the minimum allowed size of the current pane.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [minSize]='minSize'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get minSize(): string {\n return this._minSize;\n }\n public set minSize(value: string) {\n this._minSize = value;\n if (this.owner) {\n this.owner.panes.notifyOnChanges();\n }\n }\n\n /**\n * Gets/Set the maximum allowed size of the current pane.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [maxSize]='maxSize'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get maxSize(): string {\n return this._maxSize;\n }\n public set maxSize(value: string) {\n this._maxSize = value;\n if (this.owner) {\n this.owner.panes.notifyOnChanges();\n }\n }\n\n /**\n * Gets/Sets whether pane is resizable.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [resizable]='false'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n * @remarks\n * If pane is not resizable its related splitter bar cannot be dragged.\n */\n @Input({ transform: booleanAttribute })\n public resizable = true;\n\n /**\n * Event fired when collapsed state of pane is changed.\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane (collapsedChange)='paneCollapsedChange($event)'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public collapsedChange = new EventEmitter<boolean>();\n\n /** @hidden @internal */\n @HostBinding('style.order')\n public get order() {\n return this._order();\n }\n public set order(val) {\n this._order.set(val)\n }\n\n /**\n * @hidden @internal\n * Gets/Sets the `overflow`.\n */\n @HostBinding('style.overflow')\n public overflow = 'auto';\n\n /**\n * @hidden @internal\n * Get/Sets the `minWidth` properties of the current pane.\n */\n @HostBinding('style.min-width')\n public minWidth = '0';\n\n /**\n * @hidden @internal\n * Get/Sets the `maxWidth` properties of the current pane.\n */\n @HostBinding('style.max-width')\n public maxWidth = '100%';\n\n /**\n * @hidden @internal\n * Gets/Sets the `minHeight` properties of the current pane.\n */\n @HostBinding('style.min-height')\n public minHeight = '0';\n\n /**\n * @hidden @internal\n * Gets/Sets the `maxHeight` properties of the current `IgxSplitterPaneComponent`.\n */\n @HostBinding('style.max-height')\n public maxHeight = '100%';\n\n /** @hidden @internal */\n public owner;\n\n /**\n * Gets/Sets the size of the current pane.\n * * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane [size]='size'>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Input()\n public get size() {\n return this._size;\n }\n\n public set size(value) {\n this._size = value;\n this.el.nativeElement.style.flex = this.flex;\n }\n\n /** @hidden @internal */\n public get isPercentageSize() {\n return this.size === 'auto' || this.size.indexOf('%') !== -1;\n }\n\n /** @hidden @internal */\n public get dragSize() {\n return this._dragSize;\n }\n public set dragSize(val) {\n this._dragSize = val;\n this.el.nativeElement.style.flex = this.flex;\n }\n\n /**\n *\n * @hidden @internal\n * Gets the host native element.\n */\n public get element(): any {\n return this.el.nativeElement;\n }\n\n /**\n * @hidden @internal\n * Gets the `flex` property of the current `IgxSplitterPaneComponent`.\n */\n @HostBinding('style.flex')\n public get flex() {\n const size = this.dragSize || this.size;\n const grow = this.isPercentageSize && !this.dragSize ? 1 : 0;\n return `${grow} ${grow} ${size}`;\n }\n\n /**\n * Gets/Sets whether current pane is collapsed.\n *\n * @example\n * ```typescript\n * const isCollapsed = pane.collapsed;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public set collapsed(value) {\n if (this.owner) {\n // reset sibling sizes when pane collapse state changes.\n this._getSiblings().forEach(sibling => {\n sibling.size = 'auto'\n sibling.dragSize = null;\n });\n }\n this._collapsed = value;\n this.display = this._collapsed ? 'none' : 'flex';\n this.collapsedChange.emit(this._collapsed);\n }\n\n public get collapsed() {\n return this._collapsed;\n }\n\n private _size = 'auto';\n private _dragSize;\n private _collapsed = false;\n\n /**\n * Toggles the collapsed state of the pane.\n *\n * @example\n * ```typescript\n * pane.toggle();\n * ```\n */\n public toggle() {\n this.collapsed = !this.collapsed;\n }\n\n /** @hidden @internal */\n private _getSiblings() {\n const panes = this.owner.panes.toArray();\n const index = panes.indexOf(this);\n const siblings = [];\n if (index !== 0) {\n siblings.push(panes[index - 1]);\n }\n if (index !== panes.length - 1) {\n siblings.push(panes[index + 1]);\n }\n return siblings;\n }\n}\n","<ng-content></ng-content>","import { AfterContentInit, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, Output, QueryList, booleanAttribute, forwardRef, DOCUMENT, inject } from '@angular/core';\nimport { DragDirection, IDragMoveEventArgs, IDragStartEventArgs, IgxDragDirective, IgxDragIgnoreDirective } from 'igniteui-angular/directives';\nimport { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';\nimport { take } from 'rxjs';\n\n/**\n * An enumeration that defines the `SplitterComponent` panes orientation.\n */\nexport enum SplitterType {\n Horizontal,\n Vertical\n}\n\nexport declare interface ISplitterBarResizeEventArgs {\n pane: IgxSplitterPaneComponent;\n sibling: IgxSplitterPaneComponent;\n}\n\n/**\n * Provides a framework for a simple layout, splitting the view horizontally or vertically\n * into multiple smaller resizable and collapsible areas.\n *\n * @igxModule IgxSplitterModule\n *\n * @igxParent Layouts\n *\n * @igxTheme igx-splitter-theme\n *\n * @igxKeywords splitter panes layout\n *\n * @igxGroup presentation\n *\n * @example\n * ```html\n * <igx-splitter>\n * <igx-splitter-pane>\n * ...\n * </igx-splitter-pane>\n * <igx-splitter-pane>\n * ...\n * </igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n@Component({\n selector: 'igx-splitter',\n templateUrl: './splitter.component.html',\n imports: [forwardRef(() => IgxSplitBarComponent)]\n})\nexport class IgxSplitterComponent implements AfterContentInit {\n public document = inject(DOCUMENT);\n private elementRef = inject(ElementRef);\n private zone = inject(NgZone);\n\n /**\n * Gets the list of splitter panes.\n *\n * @example\n * ```typescript\n * const panes = this.splitter.panes;\n * ```\n */\n @ContentChildren(IgxSplitterPaneComponent, { read: IgxSplitterPaneComponent })\n public panes!: QueryList<IgxSplitterPaneComponent>;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-splitter')\n public cssClass = 'igx-splitter';\n\n /**\n * @hidden @internal\n * Gets/Sets the `overflow` property of the current splitter.\n */\n @HostBinding('style.overflow')\n public overflow = 'hidden';\n\n /**\n * @hidden @internal\n * Sets/Gets the `display` property of the current splitter.\n */\n @HostBinding('style.display')\n public display = 'flex';\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-orientation')\n public get orientation() {\n return this.type === SplitterType.Horizontal ? 'horizontal' : 'vertical';\n }\n\n /**\n * Event fired when resizing of panes starts.\n *\n * @example\n * ```html\n * <igx-splitter (resizeStart)='resizeStart($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizeStart = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n /**\n * Event fired when resizing of panes is in progress.\n *\n * @example\n * ```html\n * <igx-splitter (resizing)='resizing($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizing = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n\n /**\n * Event fired when resizing of panes ends.\n *\n * @example\n * ```html\n * <igx-splitter (resizeEnd)='resizeEnd($event)'>\n * <igx-splitter-pane>...</igx-splitter-pane>\n * </igx-splitter>\n * ```\n */\n @Output()\n public resizeEnd = new EventEmitter<ISplitterBarResizeEventArgs>();\n\n private _type: SplitterType = SplitterType.Horizontal;\n\n /**\n * @hidden @internal\n * A field that holds the initial size of the main `IgxSplitterPaneComponent` in each pair of panes divided by a splitter bar.\n */\n private initialPaneSize!: number;\n\n /**\n * @hidden @internal\n * A field that holds the initial size of the sibling pane in each pair of panes divided by a gripper.\n * @memberof SplitterComponent\n */\n private initialSiblingSize!: number;\n\n /**\n * @hidden @internal\n * The main pane in each pair of panes divided by a gripper.\n */\n private pane!: IgxSplitterPaneComponent;\n\n /**\n * The sibling pane in each pair of panes divided by a splitter bar.\n */\n private sibling!: IgxSplitterPaneComponent;\n /**\n * Gets/Sets the splitter orientation.\n *\n * @example\n * ```html\n * <igx-splitter [type]=\"type\">...</igx-splitter>\n * ```\n */\n @Input()\n public get type() {\n return this._type;\n }\n public set type(value) {\n this._type = value;\n this.resetPaneSizes();\n this.panes?.notifyOnChanges();\n }\n\n /**\n * Sets the visibility of the handle and expanders in the splitter bar.\n * False by default\n *\n * @example\n * ```html\n * <igx-splitter [nonCollapsible]='true'>\n * </igx-splitter>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public nonCollapsible = false; // Input to toggle showing/hiding expanders\n\n /**\n * @hidden @internal\n * Gets the `flex-direction` property of the current `SplitterComponent`.\n */\n @HostBinding('style.flex-direction')\n public get direction(): string {\n return this.type === SplitterType.Horizontal ? 'row' : 'column';\n }\n\n /** @hidden @internal */\n public ngAfterContentInit(): void {\n this.zone.onStable.pipe(take(1)).subscribe(() => {\n this.initPanes();\n });\n this.panes.changes.subscribe(() => {\n this.initPanes();\n });\n }\n\n /**\n * @hidden @internal\n * This method performs initialization logic when the user starts dragging the splitter bar between each pair of panes.\n * @param pane - the main pane associated with the currently dragged bar.\n */\n public onMoveStart(pane: IgxSplitterPaneComponent) {\n const panes = this.panes.toArray();\n this.pane = pane;\n this.sibling = panes[panes.indexOf(this.pane) + 1];\n\n const paneRect = this.pane.element.getBoundingClientRect();\n this.initialPaneSize = this.type === SplitterType.Horizontal ? paneRect.width : paneRect.height;\n\n const siblingRect = this.sibling.element.getBoundingClientRect();\n this.initialSiblingSize = this.type === SplitterType.Horizontal ? siblingRect.width : siblingRect.height;\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizeStart.emit(args);\n }\n\n /**\n * @hidden @internal\n * This method performs calculations concerning the sizes of each pair of panes when the bar between them is dragged.\n * @param delta - The difference along the X (or Y) axis between the initial and the current point when dragging the bar.\n */\n public onMoving(delta: number) {\n const [ paneSize, siblingSize ] = this.calcNewSizes(delta);\n\n this.pane.dragSize = paneSize + 'px';\n this.sibling.dragSize = siblingSize + 'px';\n\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizing.emit(args);\n }\n\n public onMoveEnd(delta: number) {\n let [ paneSize, siblingSize ] = this.calcNewSizes(delta);\n\n if (paneSize + siblingSize > this.getTotalSize() && delta < 0) {\n siblingSize = this.getTotalSize() - paneSize;\n } else if (paneSize + siblingSize > this.getTotalSize() && delta > 0) {\n paneSize = this.getTotalSize() - siblingSize;\n }\n\n if (this.pane.isPercentageSize) {\n // handle % resizes\n const totalSize = this.getTotalSize();\n const percentPaneSize = (paneSize / totalSize) * 100;\n this.pane.size = percentPaneSize + '%';\n } else {\n // px resize\n this.pane.size = paneSize + 'px';\n }\n\n if (this.sibling.isPercentageSize) {\n // handle % resizes\n const totalSize = this.getTotalSize();\n const percentSiblingPaneSize = (siblingSize / totalSize) * 100;\n this.sibling.size = percentSiblingPaneSize + '%';\n } else {\n // px resize\n this.sibling.size = siblingSize + 'px';\n }\n this.pane.dragSize = null;\n this.sibling.dragSize = null;\n\n const args: ISplitterBarResizeEventArgs = { pane: this.pane, sibling: this.sibling };\n this.resizeEnd.emit(args);\n }\n\n /** @hidden @internal */\n public getPaneSiblingsByOrder(order: number, barIndex: number): Array<IgxSplitterPaneComponent> {\n const panes = this.panes.toArray();\n const prevPane = panes[order - barIndex - 1];\n const nextPane = panes[order - barIndex];\n const siblings = [prevPane, nextPane];\n return siblings;\n }\n\n private getTotalSize() {\n const computed = this.document.defaultView.getComputedStyle(this.elementRef.nativeElement);\n const totalSize = this.type === SplitterType.Horizontal ? computed.getPropertyValue('width') : computed.getPropertyValue('height');\n return parseFloat(totalSize);\n }\n\n\n /**\n * @hidden @internal\n * This method inits panes with properties.\n */\n private initPanes() {\n this.panes.forEach(pane => {\n pane.owner = this;\n if (this.type === SplitterType.Horizontal) {\n pane.minWidth = pane.minSize ?? '0';\n pane.maxWidth = pane.maxSize ?? '100%';\n } else {\n pane.minHeight = pane.minSize ?? '0';\n pane.maxHeight = pane.maxSize ?? '100%';\n }\n });\n this.assignFlexOrder();\n if (this.panes.filter(x => x.collapsed).length > 0) {\n // if any panes are collapsed, reset sizes.\n this.resetPaneSizes();\n }\n }\n\n /**\n * @hidden @internal\n * This method reset pane sizes.\n */\n private resetPaneSizes() {\n if (this.panes) {\n // if type is changed runtime, should reset sizes.\n this.panes.forEach(x => {\n x.size = 'auto'\n x.minWidth = '0';\n x.maxWidth = '100%';\n x.minHeight = '0';\n x.maxHeight = '100%';\n });\n }\n }\n\n /**\n * @hidden @internal\n * This method assigns the order of each pane.\n */\n private assignFlexOrder() {\n let k = 0;\n this.panes.forEach((pane: IgxSplitterPaneComponent) => {\n pane.order = k;\n k += 2;\n });\n }\n\n /**\n * @hidden @internal\n * Calculates new sizes for the panes based on move delta and initial sizes\n */\n private calcNewSizes(delta: number): [number, number] {\n const min = parseInt(this.pane.minSize, 10) || 0;\n const minSibling = parseInt(this.sibling.minSize, 10) || 0;\n const max = parseInt(this.pane.maxSize, 10) || this.initialPaneSize + this.initialSiblingSize - minSibling;\n const maxSibling = parseInt(this.sibling.maxSize, 10) || this.initialPaneSize + this.initialSiblingSize - min;\n\n if (delta < 0) {\n const maxPossibleDelta = Math.min(\n max - this.initialPaneSize,\n this.initialSiblingSize - minSibling,\n )\n delta = Math.min(maxPossibleDelta, Math.abs(delta)) * -1;\n } else {\n const maxPossibleDelta = Math.min(\n this.initialPaneSize - min,\n maxSibling - this.initialSiblingSize\n )\n delta = Math.min(maxPossibleDelta, Math.abs(delta));\n }\n return [this.initialPaneSize - delta, this.initialSiblingSize + delta];\n }\n}\n\n/**\n * @hidden @internal\n * Represents the draggable bar that visually separates panes and allows for changing their sizes.\n */\n@Component({\n selector: 'igx-splitter-bar',\n templateUrl: './splitter-bar.component.html',\n imports: [IgxDragDirective, IgxDragIgnoreDirective]\n})\nexport class IgxSplitBarComponent {\n /**\n * Set css class to the host element.\n */\n @HostBinding('class.igx-splitter-bar-host')\n public cssClass = 'igx-splitter-bar-host';\n\n /**\n * Sets the visibility of the handle and expanders in the splitter bar.\n */\n @Input({ transform: booleanAttribute })\n public nonCollapsible;\n\n /**\n * Gets/Sets the orientation.\n */\n @Input()\n public type: SplitterType = SplitterType.Horizontal;\n\n /**\n * Sets/gets the element order.\n */\n @HostBinding('style.order')\n @Input()\n public order!: number;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.tabindex')\n public get tabindex() {\n return this.resizeDisallowed ? null : 0;\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-orientation')\n public get orientation() {\n return this.type === SplitterType.Horizontal ? 'horizontal' : 'vertical';\n }\n\n /**\n * @hidden\n * @internal\n */\n public get cursor() {\n if (this.resizeDisallowed) {\n return '';\n }\n return this.type === SplitterType.Horizontal ? 'col-resize' : 'row-resize';\n }\n\n /**\n * Sets/gets the `SplitPaneComponent` associated with the current `SplitBarComponent`.\n *\n * @memberof SplitBarComponent\n */\n @Input()\n public pane!: IgxSplitterPaneComponent;\n\n /**\n * Sets/Gets the `SplitPaneComponent` sibling components associated with the current `SplitBarComponent`.\n */\n @Input()\n public siblings!: Array<IgxSplitterPaneComponent>;\n\n /**\n * An event that is emitted whenever we start dragging the current `SplitBarComponent`.\n */\n @Output()\n public moveStart = new EventEmitter<IgxSplitterPaneComponent>();\n\n /**\n * An event that is emitted while we are dragging the current `SplitBarComponent`.\n */\n @Output()\n public moving = new EventEmitter<number>();\n\n @Output()\n public movingEnd = new EventEmitter<number>();\n\n /**\n * A temporary holder for the pointer coordinates.\n */\n private startPoint!: number;\n\n private interactionKeys = new Set('right down left up arrowright arrowdown arrowleft arrowup'.split(' '));\n\n /**\n * @hidden @internal\n */\n public get prevButtonHidden() {\n return this.siblings[0]?.collapsed && !this.siblings[1]?.collapsed;\n }\n\n /**\n * @hidden @internal\n */\n @HostListener('keydown', ['$event'])\n public keyEvent(event: KeyboardEvent) {\n const key = event.key.toLowerCase();\n const ctrl = event.ctrlKey;\n event.stopPropagation();\n if (this.interactionKeys.has(key)) {\n event.preventDefault();\n }\n switch (key) {\n case 'arrowup':\n case 'up':\n if (this.type === SplitterType.Vertical) {\n if (ctrl) {\n this.onCollapsing(false);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(10);\n }\n }\n break;\n case 'arrowdown':\n case 'down':\n if (this.type === SplitterType.Vertical) {\n if (ctrl) {\n this.onCollapsing(true);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(-10);\n }\n }\n break;\n case 'arrowleft':\n case 'left':\n if (this.type === SplitterType.Horizontal) {\n if (ctrl) {\n this.onCollapsing(false);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(10);\n }\n }\n break;\n case 'arrowright':\n case 'right':\n if (this.type === SplitterType.Horizontal) {\n if (ctrl) {\n this.onCollapsing(true);\n break;\n }\n if (!this.resizeDisallowed) {\n event.preventDefault();\n this.moveStart.emit(this.pane);\n this.moving.emit(-10);\n }\n }\n break;\n default:\n break;\n }\n }\n\n /**\n * @hidden @internal\n */\n public get dragDir() {\n return this.type === SplitterType.Horizontal ? DragDirection.VERTICAL : DragDirection.HORIZONTAL;\n }\n\n /**\n * @hidden @internal\n */\n public get nextButtonHidden() {\n return this.siblings[1]?.collapsed && !this.siblings[0]?.collapsed;\n }\n\n /**\n * @hidden @internal\n */\n public onDragStart(event: IDragStartEventArgs) {\n if (this.resizeDisallowed) {\n event.cancel = true;\n return;\n }\n this.startPoint = this.type === SplitterType.Horizontal ? event.startX : event.startY;\n this.moveStart.emit(this.pane);\n }\n\n /**\n * @hidden @internal\n */\n public onDragMove(event: IDragMoveEventArgs) {\n const isHorizontal = this.type === SplitterType.Horizontal;\n const curr = isHorizontal ? event.pageX : event.pageY;\n const delta = this.startPoint - curr;\n if (delta !== 0) {\n this.moving.emit(delta);\n event.cancel = true;\n event.owner.element.nativeElement.style.transform = '';\n }\n }\n\n public onDragEnd(event: any) {\n const isHorizontal = this.type === SplitterType.Horizontal;\n const curr = isHorizontal ? event.pageX : event.pageY;\n const delta = this.startPoint - curr;\n if (delta !== 0) {\n this.movingEnd.emit(delta);\n }\n }\n\n protected get resizeDisallowed() {\n const relatedTabs = this.siblings;\n return !!relatedTabs.find(x => x?.resizable === false || x?.collapsed === true);\n }\n\n /**\n * @hidden @internal\n */\n public onCollapsing(next: boolean) {\n const prevSibling = this.siblings[0];\n const nextSibling = this.siblings[1];\n let target;\n if (next) {\n // if next is clicked when prev pane is hidden, show prev pane, else hide next pane.\n target = prevSibling.collapsed ? prevSibling : nextSibling;\n } else {\n // if prev is clicked when next pane is hidden, show next pane, else hide prev pane.\n target = nextSibling.collapsed ? nextSibling : prevSibling;\n }\n target.toggle();\n }\n}\n","<ng-content select=\"igx-splitter-pane\"></ng-content>\n@for (pane of panes; track pane; let last = $last; let index = $index) {\n @if (!last) {\n <igx-splitter-bar [order]=\"pane.order + 1\" role=\"separator\"\n [type]=\"type\"\n [pane]=\"pane\"\n [siblings]=\"getPaneSiblingsByOrder(pane.order + 1, index)\"\n (moveStart)=\"onMoveStart($event)\"\n (moving)=\"onMoving($event)\"\n (movingEnd)=\"onMoveEnd($event)\"\n [nonCollapsible]=\"nonCollapsible\">\n </igx-splitter-bar>\n }\n}\n","<div class=\"igx-splitter-bar\"\n [class.igx-splitter-bar--vertical]=\"type === 0\"\n [style.cursor]=\"cursor\"\n igxDrag\n [ghost]=\"false\"\n [dragDirection]=\"dragDir\"\n (dragStart)=\"onDragStart($event)\"\n (dragMove)=\"onDragMove($event)\"\n (dragEnd)=\"onDragEnd($event)\"\n [class.igx-splitter-bar--collapsible]=\"!nonCollapsible\"\n>\n <div class=\"igx-splitter-bar__expander--start\" igxDragIgnore (click)=\"onCollapsing(false)\" [hidden]=\"prevButtonHidden\"></div>\n <div class=\"igx-splitter-bar__handle\"></div>\n <div class=\"igx-splitter-bar__expander--end\" igxDragIgnore (click)=\"onCollapsing(true)\" [hidden]=\"nextButtonHidden\"></div>\n</div>\n","import { IgxSplitterPaneComponent } from './splitter-pane/splitter-pane.component';\nimport { IgxSplitBarComponent, IgxSplitterComponent } from './splitter.component';\n\nexport * from './splitter.component';\nexport * from './splitter-pane/splitter-pane.component';\n\n/* NOTE: Splitter directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_SPLITTER_DIRECTIVES = [\n IgxSplitterComponent,\n IgxSplitterPaneComponent,\n IgxSplitBarComponent\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_SPLITTER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * @deprecated\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_SPLITTER_DIRECTIVES\n ],\n exports: [\n ...IGX_SPLITTER_DIRECTIVES\n ]\n})\nexport class IgxSplitterModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxSplitterComponent","i2.IgxSplitterPaneComponent","i1.IgxSplitBarComponent"],"mappings":"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"}