@progress/kendo-angular-layout 20.1.0-develop.31 → 20.1.0-develop.33

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1760682292,
14
- version: '20.1.0-develop.31',
13
+ publishDate: 1760814422,
14
+ version: '20.1.0-develop.33',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
16
16
  };
@@ -45,8 +45,11 @@ export class SplitterPaneComponent {
45
45
  */
46
46
  set size(newSize) {
47
47
  this._size = newSize;
48
- this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', newSize);
49
- this.renderer.setStyle(this.nativeElement, 'flex-basis', newSize);
48
+ // Only set flex-basis if the pane is not collapsed
49
+ if (!this._collapsed) {
50
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', newSize);
51
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', newSize);
52
+ }
50
53
  this.setStaticPaneClass();
51
54
  }
52
55
  get size() {
@@ -105,7 +108,34 @@ export class SplitterPaneComponent {
105
108
  *
106
109
  * @default false
107
110
  */
108
- collapsed = false;
111
+ set collapsed(value) {
112
+ const hasChanged = this._collapsed !== value;
113
+ this._collapsed = value;
114
+ if (hasChanged && this.nativeElement) {
115
+ if (this._collapsed) {
116
+ // When collapsing, clear the flex-basis to allow other panes to expand
117
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', '0');
118
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', '0');
119
+ }
120
+ else if (this._size) {
121
+ // When expanding, restore the size if it was set
122
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', this._size);
123
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', this._size);
124
+ }
125
+ // Trigger the same forceExpand logic that tryToggle does
126
+ // This ensures remaining panes expand when a pane is collapsed
127
+ if (this.splitterService?.panes) {
128
+ const notCollapsed = this.splitterService.panes.filter(p => !p.collapsed);
129
+ const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
130
+ notCollapsed.filter(p => p.fixedSize).forEach(pane => {
131
+ pane.forceExpand = allHaveFixedSize;
132
+ });
133
+ }
134
+ }
135
+ }
136
+ get collapsed() {
137
+ return this._collapsed;
138
+ }
109
139
  /**
110
140
  * @hidden
111
141
  */
@@ -159,6 +189,7 @@ export class SplitterPaneComponent {
159
189
  _size;
160
190
  _order;
161
191
  _splitterBarAttributes;
192
+ _collapsed = false;
162
193
  constructor(element, renderer, cdr, splitterService) {
163
194
  this.element = element;
164
195
  this.renderer = renderer;
@@ -29,8 +29,8 @@ const packageMetadata = {
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCode: 'KENDOUIANGULAR',
31
31
  productCodes: ['KENDOUIANGULAR'],
32
- publishDate: 1760682292,
33
- version: '20.1.0-develop.31',
32
+ publishDate: 1760814422,
33
+ version: '20.1.0-develop.33',
34
34
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
35
35
  };
36
36
 
@@ -2011,8 +2011,11 @@ class SplitterPaneComponent {
2011
2011
  */
2012
2012
  set size(newSize) {
2013
2013
  this._size = newSize;
2014
- this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', newSize);
2015
- this.renderer.setStyle(this.nativeElement, 'flex-basis', newSize);
2014
+ // Only set flex-basis if the pane is not collapsed
2015
+ if (!this._collapsed) {
2016
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', newSize);
2017
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', newSize);
2018
+ }
2016
2019
  this.setStaticPaneClass();
2017
2020
  }
2018
2021
  get size() {
@@ -2071,7 +2074,34 @@ class SplitterPaneComponent {
2071
2074
  *
2072
2075
  * @default false
2073
2076
  */
2074
- collapsed = false;
2077
+ set collapsed(value) {
2078
+ const hasChanged = this._collapsed !== value;
2079
+ this._collapsed = value;
2080
+ if (hasChanged && this.nativeElement) {
2081
+ if (this._collapsed) {
2082
+ // When collapsing, clear the flex-basis to allow other panes to expand
2083
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', '0');
2084
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', '0');
2085
+ }
2086
+ else if (this._size) {
2087
+ // When expanding, restore the size if it was set
2088
+ this.renderer.setStyle(this.nativeElement, '-ms-flex-preferred-size', this._size);
2089
+ this.renderer.setStyle(this.nativeElement, 'flex-basis', this._size);
2090
+ }
2091
+ // Trigger the same forceExpand logic that tryToggle does
2092
+ // This ensures remaining panes expand when a pane is collapsed
2093
+ if (this.splitterService?.panes) {
2094
+ const notCollapsed = this.splitterService.panes.filter(p => !p.collapsed);
2095
+ const allHaveFixedSize = notCollapsed.every(p => p.fixedSize);
2096
+ notCollapsed.filter(p => p.fixedSize).forEach(pane => {
2097
+ pane.forceExpand = allHaveFixedSize;
2098
+ });
2099
+ }
2100
+ }
2101
+ }
2102
+ get collapsed() {
2103
+ return this._collapsed;
2104
+ }
2075
2105
  /**
2076
2106
  * @hidden
2077
2107
  */
@@ -2125,6 +2155,7 @@ class SplitterPaneComponent {
2125
2155
  _size;
2126
2156
  _order;
2127
2157
  _splitterBarAttributes;
2158
+ _collapsed = false;
2128
2159
  constructor(element, renderer, cdr, splitterService) {
2129
2160
  this.element = element;
2130
2161
  this.renderer = renderer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "20.1.0-develop.31",
3
+ "version": "20.1.0-develop.33",
4
4
  "description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -50,7 +50,7 @@
50
50
  "package": {
51
51
  "productName": "Kendo UI for Angular",
52
52
  "productCode": "KENDOUIANGULAR",
53
- "publishDate": 1760682292,
53
+ "publishDate": 1760814422,
54
54
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
55
55
  }
56
56
  },
@@ -60,17 +60,17 @@
60
60
  "@angular/core": "16 - 20",
61
61
  "@angular/platform-browser": "16 - 20",
62
62
  "@progress/kendo-licensing": "^1.7.0",
63
- "@progress/kendo-angular-common": "20.1.0-develop.31",
64
- "@progress/kendo-angular-l10n": "20.1.0-develop.31",
65
- "@progress/kendo-angular-progressbar": "20.1.0-develop.31",
66
- "@progress/kendo-angular-icons": "20.1.0-develop.31",
67
- "@progress/kendo-angular-buttons": "20.1.0-develop.31",
68
- "@progress/kendo-angular-intl": "20.1.0-develop.31",
63
+ "@progress/kendo-angular-common": "20.1.0-develop.33",
64
+ "@progress/kendo-angular-l10n": "20.1.0-develop.33",
65
+ "@progress/kendo-angular-progressbar": "20.1.0-develop.33",
66
+ "@progress/kendo-angular-icons": "20.1.0-develop.33",
67
+ "@progress/kendo-angular-buttons": "20.1.0-develop.33",
68
+ "@progress/kendo-angular-intl": "20.1.0-develop.33",
69
69
  "rxjs": "^6.5.3 || ^7.0.0"
70
70
  },
71
71
  "dependencies": {
72
72
  "tslib": "^2.3.1",
73
- "@progress/kendo-angular-schematics": "20.1.0-develop.31",
73
+ "@progress/kendo-angular-schematics": "20.1.0-develop.33",
74
74
  "@progress/kendo-draggable": "^3.0.2",
75
75
  "node-html-parser": "^7.0.1"
76
76
  },
@@ -87,7 +87,8 @@ export declare class SplitterPaneComponent implements AfterViewChecked {
87
87
  *
88
88
  * @default false
89
89
  */
90
- collapsed: boolean;
90
+ set collapsed(value: boolean);
91
+ get collapsed(): boolean;
91
92
  /**
92
93
  * @hidden
93
94
  */
@@ -128,6 +129,7 @@ export declare class SplitterPaneComponent implements AfterViewChecked {
128
129
  private _size;
129
130
  private _order;
130
131
  private _splitterBarAttributes;
132
+ private _collapsed;
131
133
  constructor(element: ElementRef<HTMLElement>, renderer: Renderer2, cdr: ChangeDetectorRef, splitterService: SplitterService);
132
134
  ngAfterViewChecked(): void;
133
135
  ngOnChanges(changes: SimpleChanges): void;