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.
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +11 -10
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +25 -25
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +18 -18
- package/fesm2022/igniteui-angular-chat.mjs.map +1 -1
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +52 -52
- package/fesm2022/igniteui-angular-core.mjs +56 -52
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +198 -194
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +554 -474
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +53 -48
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +53 -39
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +82 -79
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +26 -26
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
- package/fesm2022/igniteui-angular-radio.mjs +12 -12
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +25 -25
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +14 -14
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +34 -34
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +34 -34
- package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/lib/core/styles/components/chip/_chip-theme.scss +28 -29
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +14 -11
- package/lib/core/styles/components/navbar/_navbar-theme.scss +7 -1
- package/package.json +3 -3
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-directives.d.ts +0 -3
- package/types/igniteui-angular-grids-core.d.ts +4 -5
- 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.
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
60
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.
|
|
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.
|
|
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.
|
|
366
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.
|
|
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.
|
|
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.
|
|
505
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
602
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
1792
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
1907
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
1908
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
198
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
199
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
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.
|
|
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,
|
|
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.
|
|
219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.
|
|
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.
|
|
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.
|
|
546
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
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.
|
|
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.
|
|
773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.
|
|
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.
|
|
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.
|
|
826
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
827
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
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.
|
|
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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"}
|