igniteui-angular 22.0.0-beta.4 → 22.0.0-rc.2
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 +1 -1
- package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
- package/fesm2022/igniteui-angular-action-strip.mjs +2 -2
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs +6 -6
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs +6 -6
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs +34 -34
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +6 -6
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +2 -2
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +12 -12
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +5 -5
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +29 -26
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +60 -89
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +23 -69
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +10 -20
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +4 -4
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +18 -18
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +5 -5
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs +5 -5
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +2 -2
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +7 -7
- package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +2 -2
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +5 -5
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +217 -209
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +17 -17
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-snackbar.mjs +1 -1
- package/fesm2022/igniteui-angular-snackbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +2 -2
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +2 -2
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +1 -1
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/input-group/README.md +1 -1
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-22_0_0/index.d.ts +3 -0
- package/migrations/update-22_0_0/index.js +86 -0
- package/migrations/update-22_0_0/index.spec.d.ts +1 -0
- package/migrations/update-22_0_0/index.spec.js +116 -0
- package/package.json +2 -2
- package/types/igniteui-angular-accordion.d.ts +3 -3
- package/types/igniteui-angular-action-strip.d.ts +2 -2
- package/types/igniteui-angular-button-group.d.ts +1 -1
- package/types/igniteui-angular-calendar.d.ts +1 -1
- package/types/igniteui-angular-card.d.ts +6 -6
- package/types/igniteui-angular-carousel.d.ts +6 -6
- package/types/igniteui-angular-chips.d.ts +38 -38
- package/types/igniteui-angular-core.d.ts +9 -9
- package/types/igniteui-angular-date-picker.d.ts +4 -4
- package/types/igniteui-angular-directives.d.ts +15 -15
- package/types/igniteui-angular-drop-down.d.ts +6 -6
- package/types/igniteui-angular-grids-core.d.ts +34 -37
- package/types/igniteui-angular-grids-grid.d.ts +55 -64
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +15 -23
- package/types/igniteui-angular-grids-tree-grid.d.ts +7 -7
- package/types/igniteui-angular-icon.d.ts +4 -4
- package/types/igniteui-angular-input-group.d.ts +17 -17
- package/types/igniteui-angular-list.d.ts +7 -7
- package/types/igniteui-angular-navbar.d.ts +7 -7
- package/types/igniteui-angular-paginator.d.ts +2 -2
- package/types/igniteui-angular-progressbar.d.ts +7 -7
- package/types/igniteui-angular-query-builder.d.ts +3 -3
- package/types/igniteui-angular-radio.d.ts +5 -5
- package/types/igniteui-angular-select.d.ts +91 -7
- package/types/igniteui-angular-slider.d.ts +17 -17
- package/types/igniteui-angular-snackbar.d.ts +1 -1
- package/types/igniteui-angular-splitter.d.ts +3 -3
- package/types/igniteui-angular-stepper.d.ts +2 -2
- package/types/igniteui-angular-time-picker.d.ts +1 -1
- package/types/igniteui-angular-tree.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-snackbar.mjs","sources":["../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.ts","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.html","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.module.ts","../../../projects/igniteui-angular/snackbar/src/igniteui-angular-snackbar.ts"],"sourcesContent":["import { useAnimation } from '@angular/animations';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { ContainerPositionStrategy, GlobalPositionStrategy, HorizontalAlignment,\n PositionSettings, VerticalAlignment } from 'igniteui-angular/core';\nimport { ToggleViewEventArgs, IgxButtonDirective, IgxNotificationsDirective } from 'igniteui-angular/directives';\nimport { fadeIn, fadeOut } from 'igniteui-angular/animations';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Snackbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/snackbar.html)\n *\n * The Ignite UI Snack Bar provides feedback about an operation with a single-line message, which can\n * include a link to an action such as Undo.\n *\n * Example:\n * ```html\n * <button type=\"button\" igxButton (click)=\"snackbar.show()\">Send message</button>\n * <div>\n * <igx-snackbar #snackbar>\n * Message sent\n * </igx-snackbar>\n * </div>\n * ```\n */\n@Component({\n selector: 'igx-snackbar',\n templateUrl: 'snackbar.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxButtonDirective]\n})\nexport class IgxSnackbarComponent extends IgxNotificationsDirective\n implements OnInit {\n /**\n * Sets/gets the `id` of the snackbar.\n * If not set, the `id` of the first snackbar component will be `\"igx-snackbar-0\"`;\n * ```html\n * <igx-snackbar id = \"Snackbar1\"></igx-snackbar>\n * ```\n * ```typescript\n * let snackbarId = this.snackbar.id;\n * ```\n *\n * @memberof IgxSnackbarComponent\n */\n @HostBinding('attr.id')\n @Input()\n public override id = `igx-snackbar-${NEXT_ID++}`;\n\n /**\n * The default css class applied to the component.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-snackbar')\n public cssClass = 'igx-snackbar';\n\n /**\n * Sets/gets the `actionText` attribute.\n * ```html\n * <igx-snackbar [actionText] = \"'Action Text'\"></igx-snackbar>\n * ```\n */\n @Input() public actionText?: string;\n\n /**\n * An event that will be emitted when the action button is clicked.\n * Provides reference to the `IgxSnackbarComponent` as an argument.\n * ```html\n * <igx-snackbar (clicked)=\"clickedHandler($event)\"></igx-snackbar>\n * ```\n */\n @Output()\n public clicked = new EventEmitter<IgxSnackbarComponent>();\n\n /**\n * An event that will be emitted when the snackbar animation starts.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationStarted) = \"animationStarted($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationStarted = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * An event that will be emitted when the snackbar animation ends.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationDone) = \"animationDone($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationDone = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * Get the position and animation settings used by the snackbar.\n * ```typescript\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * let currentPosition: PositionSettings = this.snackbar.positionSettings\n * ```\n */\n @Input()\n public get positionSettings(): PositionSettings {\n return this._positionSettings;\n }\n\n /**\n * Set the position and animation settings used by the snackbar.\n * ```html\n * <igx-snackbar [positionSettings]=\"newPositionSettings\"></igx-snackbar>\n * ```\n * ```typescript\n * import { slideInTop, slideOutBottom } from 'igniteui-angular';\n * ...\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * public newPositionSettings: PositionSettings = {\n * openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),\n * closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),\n * horizontalDirection: HorizontalAlignment.Left,\n * verticalDirection: VerticalAlignment.Middle,\n * horizontalStartPoint: HorizontalAlignment.Left,\n * verticalStartPoint: VerticalAlignment.Middle,\n * minSize: { height: 100, width: 100 }\n * };\n * this.snackbar.positionSettings = this.newPositionSettings;\n * ```\n */\n public set positionSettings(settings: PositionSettings) {\n this._positionSettings = settings;\n }\n\n private _positionSettings: PositionSettings = {\n horizontalDirection: HorizontalAlignment.Center,\n verticalDirection: VerticalAlignment.Bottom,\n openAnimation: useAnimation(fadeIn, { params: { duration: '.35s', easing: 'cubic-bezier(0.0, 0.0, 0.2, 1)',\n fromPosition: 'translateY(100%)', toPosition: 'translateY(0)'} }),\n closeAnimation: useAnimation(fadeOut, { params: { duration: '.2s', easing: 'cubic-bezier(0.4, 0.0, 1, 1)',\n fromPosition: 'translateY(0)', toPosition: 'translateY(100%)'} }),\n };\n\n /**\n * Shows the snackbar and hides it after the `displayTime` is over if `autoHide` is set to `true`.\n * ```typescript\n * this.snackbar.open();\n * ```\n */\n public override open(message?: string) {\n if (message !== undefined) {\n this.textMessage = message;\n }\n\n this.strategy = this.outlet || this.positioning === 'container' ?\n new ContainerPositionStrategy(this.positionSettings) :\n new GlobalPositionStrategy(this.positionSettings);\n super.open();\n }\n\n /**\n * Opens or closes the snackbar, depending on its current state.\n *\n * ```typescript\n * this.snackbar.toggle();\n * ```\n */\n public override toggle() {\n if (this.collapsed || this.isClosing) {\n this.open();\n } else {\n this.close();\n }\n }\n\n /**\n * @hidden\n */\n public triggerAction(): void {\n this.clicked.emit(this);\n }\n\n /**\n * @hidden\n */\n public override ngOnInit() {\n this.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const openedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationStarted.emit(openedEventArgs);\n });\n\n this.closed.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const closedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationDone.emit(closedEventArgs);\n });\n }\n}\n","<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","import { NgModule } from '@angular/core';\nimport { IgxSnackbarComponent } from './snackbar.component';\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 IgxSnackbarComponent\n ],\n exports: [\n IgxSnackbarComponent\n ]\n})\nexport class IgxSnackbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-snackbar.mjs","sources":["../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.ts","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.html","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.module.ts","../../../projects/igniteui-angular/snackbar/src/igniteui-angular-snackbar.ts"],"sourcesContent":["import { useAnimation } from '@angular/animations';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { ContainerPositionStrategy, GlobalPositionStrategy, HorizontalAlignment,\n PositionSettings, VerticalAlignment } from 'igniteui-angular/core';\nimport { ToggleViewEventArgs, IgxButtonDirective, IgxNotificationsDirective } from 'igniteui-angular/directives';\nimport { fadeIn, fadeOut } from 'igniteui-angular/animations';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Snackbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/snackbar.html)\n *\n * The Ignite UI Snack Bar provides feedback about an operation with a single-line message, which can\n * include a link to an action such as Undo.\n *\n * Example:\n * ```html\n * <button type=\"button\" igxButton (click)=\"snackbar.show()\">Send message</button>\n * <div>\n * <igx-snackbar #snackbar>\n * Message sent\n * </igx-snackbar>\n * </div>\n * ```\n */\n@Component({\n selector: 'igx-snackbar',\n templateUrl: 'snackbar.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxButtonDirective]\n})\nexport class IgxSnackbarComponent extends IgxNotificationsDirective\n implements OnInit {\n /**\n * Sets/gets the `id` of the snackbar.\n * If not set, the `id` of the first snackbar component will be `\"igx-snackbar-0\"`;\n * ```html\n * <igx-snackbar id = \"Snackbar1\"></igx-snackbar>\n * ```\n * ```typescript\n * let snackbarId = this.snackbar.id;\n * ```\n *\n * @memberof IgxSnackbarComponent\n */\n @HostBinding('attr.id')\n @Input()\n public override id = `igx-snackbar-${NEXT_ID++}`;\n\n /**\n * The default css class applied to the component.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-snackbar')\n public cssClass = 'igx-snackbar';\n\n /**\n * Sets/gets the `actionText` attribute.\n * ```html\n * <igx-snackbar [actionText] = \"'Action Text'\"></igx-snackbar>\n * ```\n */\n @Input() public actionText?: string;\n\n /**\n * An event that will be emitted when the action button is clicked.\n * Provides reference to the snackbar as an argument.\n * ```html\n * <igx-snackbar (clicked)=\"clickedHandler($event)\"></igx-snackbar>\n * ```\n */\n @Output()\n public clicked = new EventEmitter<IgxSnackbarComponent>();\n\n /**\n * An event that will be emitted when the snackbar animation starts.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationStarted) = \"animationStarted($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationStarted = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * An event that will be emitted when the snackbar animation ends.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationDone) = \"animationDone($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationDone = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * Get the position and animation settings used by the snackbar.\n * ```typescript\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * let currentPosition: PositionSettings = this.snackbar.positionSettings\n * ```\n */\n @Input()\n public get positionSettings(): PositionSettings {\n return this._positionSettings;\n }\n\n /**\n * Set the position and animation settings used by the snackbar.\n * ```html\n * <igx-snackbar [positionSettings]=\"newPositionSettings\"></igx-snackbar>\n * ```\n * ```typescript\n * import { slideInTop, slideOutBottom } from 'igniteui-angular';\n * ...\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * public newPositionSettings: PositionSettings = {\n * openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),\n * closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),\n * horizontalDirection: HorizontalAlignment.Left,\n * verticalDirection: VerticalAlignment.Middle,\n * horizontalStartPoint: HorizontalAlignment.Left,\n * verticalStartPoint: VerticalAlignment.Middle,\n * minSize: { height: 100, width: 100 }\n * };\n * this.snackbar.positionSettings = this.newPositionSettings;\n * ```\n */\n public set positionSettings(settings: PositionSettings) {\n this._positionSettings = settings;\n }\n\n private _positionSettings: PositionSettings = {\n horizontalDirection: HorizontalAlignment.Center,\n verticalDirection: VerticalAlignment.Bottom,\n openAnimation: useAnimation(fadeIn, { params: { duration: '.35s', easing: 'cubic-bezier(0.0, 0.0, 0.2, 1)',\n fromPosition: 'translateY(100%)', toPosition: 'translateY(0)'} }),\n closeAnimation: useAnimation(fadeOut, { params: { duration: '.2s', easing: 'cubic-bezier(0.4, 0.0, 1, 1)',\n fromPosition: 'translateY(0)', toPosition: 'translateY(100%)'} }),\n };\n\n /**\n * Shows the snackbar and hides it after the `displayTime` is over if `autoHide` is set to `true`.\n * ```typescript\n * this.snackbar.open();\n * ```\n */\n public override open(message?: string) {\n if (message !== undefined) {\n this.textMessage = message;\n }\n\n this.strategy = this.outlet || this.positioning === 'container' ?\n new ContainerPositionStrategy(this.positionSettings) :\n new GlobalPositionStrategy(this.positionSettings);\n super.open();\n }\n\n /**\n * Opens or closes the snackbar, depending on its current state.\n *\n * ```typescript\n * this.snackbar.toggle();\n * ```\n */\n public override toggle() {\n if (this.collapsed || this.isClosing) {\n this.open();\n } else {\n this.close();\n }\n }\n\n /**\n * @hidden\n */\n public triggerAction(): void {\n this.clicked.emit(this);\n }\n\n /**\n * @hidden\n */\n public override ngOnInit() {\n this.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const openedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationStarted.emit(openedEventArgs);\n });\n\n this.closed.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const closedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationDone.emit(closedEventArgs);\n });\n }\n}\n","<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","import { NgModule } from '@angular/core';\nimport { IgxSnackbarComponent } from './snackbar.component';\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 IgxSnackbarComponent\n ],\n exports: [\n IgxSnackbarComponent\n ]\n})\nexport class IgxSnackbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ class IgxSplitterPaneComponent {
|
|
|
73
73
|
this.minHeight = '0';
|
|
74
74
|
/**
|
|
75
75
|
* @hidden @internal
|
|
76
|
-
* Gets/Sets the `maxHeight` properties of the current
|
|
76
|
+
* Gets/Sets the `maxHeight` properties of the current splitter pane.
|
|
77
77
|
*/
|
|
78
78
|
this.maxHeight = '100%';
|
|
79
79
|
this._size = 'auto';
|
|
@@ -162,7 +162,7 @@ class IgxSplitterPaneComponent {
|
|
|
162
162
|
}
|
|
163
163
|
/**
|
|
164
164
|
* @hidden @internal
|
|
165
|
-
* Gets the `flex` property of the current
|
|
165
|
+
* Gets the `flex` property of the current splitter pane.
|
|
166
166
|
*/
|
|
167
167
|
get flex() {
|
|
168
168
|
const size = this.dragSize || this.size;
|
|
@@ -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, ChangeDetectionStrategy } 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 changeDetection: ChangeDetectionStrategy.Eager,\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, ChangeDetectionStrategy } 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 changeDetection: ChangeDetectionStrategy.Eager,\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 changeDetection: ChangeDetectionStrategy.Eager,\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, ChangeDetectionStrategy } 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 changeDetection: ChangeDetectionStrategy.Eager,\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 splitter pane.\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 splitter pane.\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, ChangeDetectionStrategy } 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 changeDetection: ChangeDetectionStrategy.Eager,\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 splitter pane 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 changeDetection: ChangeDetectionStrategy.Eager,\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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"}
|
|
@@ -419,7 +419,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImpor
|
|
|
419
419
|
|
|
420
420
|
let NEXT_ID = 0;
|
|
421
421
|
/**
|
|
422
|
-
* The
|
|
422
|
+
* The step is used within the stepper element and it holds the content of each step.
|
|
423
423
|
* It also supports custom indicators, title and subtitle.
|
|
424
424
|
*
|
|
425
425
|
* @igxModule IgxStepperModule
|
|
@@ -933,7 +933,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImpor
|
|
|
933
933
|
|
|
934
934
|
// TODO: common interface between IgxCarouselComponentBase and ToggleAnimationPlayer?
|
|
935
935
|
/**
|
|
936
|
-
*
|
|
936
|
+
* Stepper provides a wizard-like workflow by dividing content into logical steps.
|
|
937
937
|
*
|
|
938
938
|
* @igxModule IgxStepperModule
|
|
939
939
|
*
|