@progress/kendo-angular-layout 21.4.1-develop.1 → 22.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/avatar/l10n/messages.d.ts +1 -1
  2. package/fesm2022/progress-kendo-angular-layout.mjs +290 -290
  3. package/package.json +12 -20
  4. package/stepper/localization/messages.d.ts +1 -1
  5. package/tabstrip/localization/messages.d.ts +1 -1
  6. package/timeline/localization/messages.d.ts +1 -1
  7. package/esm2022/avatar/avatar.component.mjs +0 -406
  8. package/esm2022/avatar/l10n/custom-messages.component.mjs +0 -53
  9. package/esm2022/avatar/l10n/localized-messages.directive.mjs +0 -40
  10. package/esm2022/avatar/l10n/messages.mjs +0 -27
  11. package/esm2022/avatar/models/fill.mjs +0 -5
  12. package/esm2022/avatar/models/models.mjs +0 -9
  13. package/esm2022/avatar/models/rounded.mjs +0 -5
  14. package/esm2022/avatar/models/shape.mjs +0 -5
  15. package/esm2022/avatar/models/size.mjs +0 -5
  16. package/esm2022/avatar/models/theme-color.mjs +0 -5
  17. package/esm2022/avatar.module.mjs +0 -38
  18. package/esm2022/card/card-actions.component.mjs +0 -177
  19. package/esm2022/card/card-body.component.mjs +0 -37
  20. package/esm2022/card/card-footer.component.mjs +0 -37
  21. package/esm2022/card/card-header.component.mjs +0 -38
  22. package/esm2022/card/card.component.mjs +0 -118
  23. package/esm2022/card/directives/card-media.directive.mjs +0 -33
  24. package/esm2022/card/directives/card-separator.directive.mjs +0 -61
  25. package/esm2022/card/directives/card-subtitle.directive.mjs +0 -31
  26. package/esm2022/card/directives/card-title.directive.mjs +0 -31
  27. package/esm2022/card/models/actions-layout.mjs +0 -5
  28. package/esm2022/card/models/card-action.mjs +0 -21
  29. package/esm2022/card.module.mjs +0 -45
  30. package/esm2022/common/direction.mjs +0 -5
  31. package/esm2022/common/dom-queries.mjs +0 -47
  32. package/esm2022/common/orientation.mjs +0 -5
  33. package/esm2022/common/preventable-event.mjs +0 -31
  34. package/esm2022/common/styling-classes.mjs +0 -5
  35. package/esm2022/common/util.mjs +0 -85
  36. package/esm2022/directives.mjs +0 -174
  37. package/esm2022/drawer/animations.mjs +0 -146
  38. package/esm2022/drawer/drawer-container.component.mjs +0 -135
  39. package/esm2022/drawer/drawer-content.component.mjs +0 -39
  40. package/esm2022/drawer/drawer.component.mjs +0 -471
  41. package/esm2022/drawer/drawer.service.mjs +0 -105
  42. package/esm2022/drawer/events/drawer-list-select.event.mjs +0 -29
  43. package/esm2022/drawer/events/select-event.mjs +0 -33
  44. package/esm2022/drawer/item.component.mjs +0 -210
  45. package/esm2022/drawer/list.component.mjs +0 -165
  46. package/esm2022/drawer/models/constants.mjs +0 -8
  47. package/esm2022/drawer/models/drawer-animation.interface.mjs +0 -5
  48. package/esm2022/drawer/models/drawer-item-expand.interface.mjs +0 -5
  49. package/esm2022/drawer/models/drawer-item.interface.mjs +0 -5
  50. package/esm2022/drawer/models/drawer-view-item.interface.mjs +0 -5
  51. package/esm2022/drawer/models/mode.mjs +0 -5
  52. package/esm2022/drawer/models/position.mjs +0 -5
  53. package/esm2022/drawer/template-directives/drawer-template.directive.mjs +0 -43
  54. package/esm2022/drawer/template-directives/footer-template.directive.mjs +0 -36
  55. package/esm2022/drawer/template-directives/header-template.directive.mjs +0 -36
  56. package/esm2022/drawer/template-directives/item-template.directive.mjs +0 -44
  57. package/esm2022/drawer/template-directives.mjs +0 -8
  58. package/esm2022/drawer/types.mjs +0 -5
  59. package/esm2022/drawer/util.mjs +0 -16
  60. package/esm2022/drawer.module.mjs +0 -43
  61. package/esm2022/expansionpanel/animations.mjs +0 -23
  62. package/esm2022/expansionpanel/events/action-event.mjs +0 -21
  63. package/esm2022/expansionpanel/expansionpanel-title.directive.mjs +0 -38
  64. package/esm2022/expansionpanel/expansionpanel.component.mjs +0 -515
  65. package/esm2022/expansionpanel.module.mjs +0 -38
  66. package/esm2022/gridlayout.module.mjs +0 -38
  67. package/esm2022/index.mjs +0 -89
  68. package/esm2022/layout.module.mjs +0 -89
  69. package/esm2022/layouts/grid-layout.component.mjs +0 -179
  70. package/esm2022/layouts/gridlayout-item.component.mjs +0 -82
  71. package/esm2022/layouts/models/gridlayout-gap-settings.mjs +0 -5
  72. package/esm2022/layouts/models/gridlayout-row-col-size.mjs +0 -5
  73. package/esm2022/layouts/models/layout-align-settings.mjs +0 -5
  74. package/esm2022/layouts/models/layout-horizontal-align.mjs +0 -5
  75. package/esm2022/layouts/models/layout-vertical-align.mjs +0 -5
  76. package/esm2022/layouts/models.mjs +0 -10
  77. package/esm2022/layouts/stack-layout.component.mjs +0 -161
  78. package/esm2022/layouts/util.mjs +0 -101
  79. package/esm2022/package-metadata.mjs +0 -16
  80. package/esm2022/panelbar/events/collapse-event.mjs +0 -14
  81. package/esm2022/panelbar/events/expand-event.mjs +0 -14
  82. package/esm2022/panelbar/events/item-click-event.mjs +0 -17
  83. package/esm2022/panelbar/events/select-event.mjs +0 -14
  84. package/esm2022/panelbar/events/state-change-event.mjs +0 -13
  85. package/esm2022/panelbar/events.mjs +0 -9
  86. package/esm2022/panelbar/panelbar-content.directive.mjs +0 -36
  87. package/esm2022/panelbar/panelbar-expand-mode.mjs +0 -29
  88. package/esm2022/panelbar/panelbar-item-model.mjs +0 -5
  89. package/esm2022/panelbar/panelbar-item-template.directive.mjs +0 -37
  90. package/esm2022/panelbar/panelbar-item-title.directive.mjs +0 -42
  91. package/esm2022/panelbar/panelbar-item.component.mjs +0 -722
  92. package/esm2022/panelbar/panelbar.component.mjs +0 -705
  93. package/esm2022/panelbar/panelbar.service.mjs +0 -53
  94. package/esm2022/panelbar.module.mjs +0 -41
  95. package/esm2022/progress-kendo-angular-layout.mjs +0 -8
  96. package/esm2022/splitter/splitter-bar.component.mjs +0 -338
  97. package/esm2022/splitter/splitter-pane.component.mjs +0 -324
  98. package/esm2022/splitter/splitter.component.mjs +0 -301
  99. package/esm2022/splitter/splitter.service.mjs +0 -205
  100. package/esm2022/splitter/util.mjs +0 -34
  101. package/esm2022/splitter.module.mjs +0 -38
  102. package/esm2022/stacklayout.module.mjs +0 -37
  103. package/esm2022/stepper/events/activate-event.mjs +0 -33
  104. package/esm2022/stepper/list.component.mjs +0 -185
  105. package/esm2022/stepper/localization/custom-messages.component.mjs +0 -52
  106. package/esm2022/stepper/localization/localized-messages.directive.mjs +0 -41
  107. package/esm2022/stepper/localization/messages.mjs +0 -27
  108. package/esm2022/stepper/models/constants.mjs +0 -8
  109. package/esm2022/stepper/models/orientation.mjs +0 -5
  110. package/esm2022/stepper/models/step-predicate.mjs +0 -5
  111. package/esm2022/stepper/models/step-type.mjs +0 -5
  112. package/esm2022/stepper/models/stepper-step.interface.mjs +0 -5
  113. package/esm2022/stepper/step.component.mjs +0 -396
  114. package/esm2022/stepper/stepper.component.mjs +0 -423
  115. package/esm2022/stepper/stepper.service.mjs +0 -186
  116. package/esm2022/stepper/template-directives/indicator-template.directive.mjs +0 -37
  117. package/esm2022/stepper/template-directives/label-template.directive.mjs +0 -37
  118. package/esm2022/stepper/template-directives/step-template.directive.mjs +0 -39
  119. package/esm2022/stepper/template-directives.mjs +0 -7
  120. package/esm2022/stepper/types.mjs +0 -5
  121. package/esm2022/stepper.module.mjs +0 -41
  122. package/esm2022/tabstrip/constants.mjs +0 -29
  123. package/esm2022/tabstrip/directives/tab-content.directive.mjs +0 -39
  124. package/esm2022/tabstrip/directives/tab-title.directive.mjs +0 -37
  125. package/esm2022/tabstrip/directives/tab.directive.mjs +0 -24
  126. package/esm2022/tabstrip/events/select-event.mjs +0 -25
  127. package/esm2022/tabstrip/events/tabclose-event.mjs +0 -23
  128. package/esm2022/tabstrip/events/tabscroll-event.mjs +0 -23
  129. package/esm2022/tabstrip/events.mjs +0 -7
  130. package/esm2022/tabstrip/localization/custom-messages.component.mjs +0 -53
  131. package/esm2022/tabstrip/localization/localized-messages.directive.mjs +0 -39
  132. package/esm2022/tabstrip/localization/messages.mjs +0 -39
  133. package/esm2022/tabstrip/models/button-state-change.mjs +0 -5
  134. package/esm2022/tabstrip/models/scroll-button-type.mjs +0 -5
  135. package/esm2022/tabstrip/models/scroll-buttons-visibility.mjs +0 -5
  136. package/esm2022/tabstrip/models/scrollable-settings.mjs +0 -23
  137. package/esm2022/tabstrip/models/size.mjs +0 -5
  138. package/esm2022/tabstrip/models/tab-alignment.mjs +0 -5
  139. package/esm2022/tabstrip/models/tab-position.mjs +0 -5
  140. package/esm2022/tabstrip/models/tabstrip-tab.component.mjs +0 -130
  141. package/esm2022/tabstrip/rendering/tab.component.mjs +0 -182
  142. package/esm2022/tabstrip/scrollable-button.component.mjs +0 -182
  143. package/esm2022/tabstrip/tabstrip-scroll.service.mjs +0 -176
  144. package/esm2022/tabstrip/tabstrip.component.mjs +0 -954
  145. package/esm2022/tabstrip/tabstrip.service.mjs +0 -155
  146. package/esm2022/tabstrip/util.mjs +0 -120
  147. package/esm2022/tabstrip.module.mjs +0 -41
  148. package/esm2022/tilelayout/constants.mjs +0 -70
  149. package/esm2022/tilelayout/dragging-service.mjs +0 -421
  150. package/esm2022/tilelayout/keyboard-navigation.service.mjs +0 -189
  151. package/esm2022/tilelayout/models/dragging-config.interface.mjs +0 -5
  152. package/esm2022/tilelayout/models/flowmode.type.mjs +0 -5
  153. package/esm2022/tilelayout/models/gap.interface.mjs +0 -5
  154. package/esm2022/tilelayout/models/navigation.interface.mjs +0 -5
  155. package/esm2022/tilelayout/reorder-event.mjs +0 -43
  156. package/esm2022/tilelayout/resize-event.mjs +0 -37
  157. package/esm2022/tilelayout/tilelayout-item-body.component.mjs +0 -45
  158. package/esm2022/tilelayout/tilelayout-item-header.component.mjs +0 -43
  159. package/esm2022/tilelayout/tilelayout-item.component.mjs +0 -322
  160. package/esm2022/tilelayout/tilelayout-resize-handle.directive.mjs +0 -61
  161. package/esm2022/tilelayout/tilelayout.component.mjs +0 -388
  162. package/esm2022/tilelayout/util.mjs +0 -138
  163. package/esm2022/tilelayout.module.mjs +0 -40
  164. package/esm2022/timeline/events/navigation-direction.mjs +0 -5
  165. package/esm2022/timeline/localization/custom-messages.component.mjs +0 -43
  166. package/esm2022/timeline/localization/localized-messages.directive.mjs +0 -39
  167. package/esm2022/timeline/localization/messages.mjs +0 -33
  168. package/esm2022/timeline/models/anchor-target.mjs +0 -5
  169. package/esm2022/timeline/models/default-model-fields.mjs +0 -16
  170. package/esm2022/timeline/models/events-order.mjs +0 -5
  171. package/esm2022/timeline/models/model-fields.mjs +0 -5
  172. package/esm2022/timeline/models/timeline-event.mjs +0 -5
  173. package/esm2022/timeline/templates/timeline-card-actions.directive.mjs +0 -40
  174. package/esm2022/timeline/templates/timeline-card-body.directive.mjs +0 -40
  175. package/esm2022/timeline/templates/timeline-card-header.directive.mjs +0 -41
  176. package/esm2022/timeline/timeline-card.component.mjs +0 -451
  177. package/esm2022/timeline/timeline-horizontal.component.mjs +0 -781
  178. package/esm2022/timeline/timeline-vertical.component.mjs +0 -203
  179. package/esm2022/timeline/timeline.component.mjs +0 -491
  180. package/esm2022/timeline/timeline.service.mjs +0 -32
  181. package/esm2022/timeline/util.mjs +0 -26
  182. package/esm2022/timeline.module.mjs +0 -41
@@ -1,43 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PreventableEvent } from '@progress/kendo-angular-common';
6
- /**
7
- * Arguments for the `reorder` event.
8
- * The event fires when you change the order or starting positions of items through the UI.
9
- * You can prevent this event to cancel the reorder operation.
10
- */
11
- export class TileLayoutReorderEvent extends PreventableEvent {
12
- item;
13
- items;
14
- newIndex;
15
- oldIndex;
16
- newCol;
17
- oldCol;
18
- newRow;
19
- oldRow;
20
- /**
21
- * Constructs the event arguments for the `reorder` event.
22
- * @param item - The TileLayoutItem being reordered.
23
- * @param items - The TileLayoutItem collection that holds the currently rendered items and their internal state.
24
- * @param newIndex - The new order index of the reordered item used to determine its positioning relative to the other items.
25
- * @param oldIndex - The initial order index of the reordered item used to determine its positioning relative to the other items.
26
- * @param newCol - The new start column of the reordered item.
27
- * @param oldCol - The initial start column of the reordered item.
28
- * @param newRow - The new start row of the reordered item.
29
- * @param oldRow - The initial start row of the reordered item.
30
- * @hidden
31
- */
32
- constructor(item, items, newIndex, oldIndex, newCol, oldCol, newRow, oldRow) {
33
- super();
34
- this.item = item;
35
- this.items = items;
36
- this.newIndex = newIndex;
37
- this.oldIndex = oldIndex;
38
- this.newCol = newCol;
39
- this.oldCol = oldCol;
40
- this.newRow = newRow;
41
- this.oldRow = oldRow;
42
- }
43
- }
@@ -1,37 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PreventableEvent } from '@progress/kendo-angular-common';
6
- /**
7
- * Arguments for the `resize` event.
8
- * The `resize` event fires when you change any item size through the UI.
9
- * You can prevent this event to stop the resize operation.
10
- */
11
- export class TileLayoutResizeEvent extends PreventableEvent {
12
- item;
13
- items;
14
- newRowSpan;
15
- oldRowSpan;
16
- newColSpan;
17
- oldColSpan;
18
- /**
19
- * Constructs the event arguments for the `resize` event.
20
- * @param item - The TileLayoutItem being resized
21
- * @param items - The TileLayoutItem collection
22
- * @param newRowSpan - The new rowSpan of the resized item
23
- * @param oldRowSpan - The initial rowSpan of the resized item
24
- * @param newColSpan - The new colSpan of the resized item
25
- * @param oldColSpan - The initial colSpan of the resized item
26
- * @hidden
27
- */
28
- constructor(item, items, newRowSpan, oldRowSpan, newColSpan, oldColSpan) {
29
- super();
30
- this.item = item;
31
- this.items = items;
32
- this.newRowSpan = newRowSpan;
33
- this.oldRowSpan = oldRowSpan;
34
- this.newColSpan = newColSpan;
35
- this.oldColSpan = oldColSpan;
36
- }
37
- }
@@ -1,45 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, HostBinding } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Contains the main content of the `TileLayoutItem` component.
9
- *
10
- * @example
11
- * ```html
12
- * <kendo-tilelayout-item>
13
- * <kendo-tilelayout-item-body>
14
- * <p>Main content goes here</p>
15
- * </kendo-tilelayout-item-body>
16
- * </kendo-tilelayout-item>
17
- * ```
18
- */
19
- export class TileLayoutItemBodyComponent {
20
- hostClass = true;
21
- minHeight = 0;
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TileLayoutItemBodyComponent, isStandalone: true, selector: "kendo-tilelayout-item-body", host: { properties: { "class.k-tilelayout-item-body": "this.hostClass", "class.k-card-body": "this.hostClass", "style.min-height": "this.minHeight" } }, ngImport: i0, template: `
24
- <ng-content></ng-content>
25
- `, isInline: true });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemBodyComponent, decorators: [{
28
- type: Component,
29
- args: [{
30
- selector: 'kendo-tilelayout-item-body',
31
- template: `
32
- <ng-content></ng-content>
33
- `,
34
- standalone: true
35
- }]
36
- }], propDecorators: { hostClass: [{
37
- type: HostBinding,
38
- args: ['class.k-tilelayout-item-body']
39
- }, {
40
- type: HostBinding,
41
- args: ['class.k-card-body']
42
- }], minHeight: [{
43
- type: HostBinding,
44
- args: ['style.min-height']
45
- }] } });
@@ -1,43 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, HostBinding } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Contains the header content of the `TileLayoutItem` component.
9
- * You can drag this area to reorder items when reordering is enabled.
10
- *
11
- * @example
12
- * ```html
13
- * <kendo-tilelayout-item>
14
- * <kendo-tilelayout-item-header>
15
- * <h3>Custom Header</h3>
16
- * </kendo-tilelayout-item-header>
17
- * <p>Item content</p>
18
- * </kendo-tilelayout-item>
19
- * ```
20
- */
21
- export class TileLayoutItemHeaderComponent {
22
- hostClass = true;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TileLayoutItemHeaderComponent, isStandalone: true, selector: "kendo-tilelayout-item-header", host: { properties: { "class.k-tilelayout-item-header": "this.hostClass", "class.k-card-header": "this.hostClass" } }, ngImport: i0, template: `
25
- <ng-content></ng-content>
26
- `, isInline: true });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemHeaderComponent, decorators: [{
29
- type: Component,
30
- args: [{
31
- selector: 'kendo-tilelayout-item-header',
32
- template: `
33
- <ng-content></ng-content>
34
- `,
35
- standalone: true
36
- }]
37
- }], propDecorators: { hostClass: [{
38
- type: HostBinding,
39
- args: ['class.k-tilelayout-item-header']
40
- }, {
41
- type: HostBinding,
42
- args: ['class.k-card-header']
43
- }] } });
@@ -1,322 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, ContentChildren, ElementRef, HostBinding, Input, NgZone, QueryList, Renderer2 } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Subscription } from 'rxjs';
8
- import { TileLayoutDraggingService } from './dragging-service';
9
- import { TileLayoutKeyboardNavigationService } from './keyboard-navigation.service';
10
- import { isPresent } from './../common/util';
11
- import { RESIZE_DIRECTIONS, RTL_RESIZE_DIRECTIONS } from './constants';
12
- import { TileLayoutItemHeaderComponent } from './tilelayout-item-header.component';
13
- import { getId } from './util';
14
- import { TileLayoutResizeHandleDirective } from './tilelayout-resize-handle.directive';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@progress/kendo-angular-l10n";
17
- import * as i2 from "./dragging-service";
18
- import * as i3 from "./keyboard-navigation.service";
19
- /**
20
- * Represents a tile item within the TileLayoutComponent.
21
- *
22
- * @example
23
- * ```html
24
- * <kendo-tilelayout>
25
- * <kendo-tilelayout-item [title]="'Item 1'" [colSpan]="2">
26
- * <p>Item content goes here</p>
27
- * </kendo-tilelayout-item>
28
- * </kendo-tilelayout>
29
- * ```
30
- * @remarks
31
- * Supported children components are: {@link TileLayoutItemBodyComponent}, {@link TileLayoutItemHeaderComponent}.
32
- */
33
- export class TileLayoutItemComponent {
34
- elem;
35
- zone;
36
- renderer;
37
- localization;
38
- draggingService;
39
- keyboardNavigationService;
40
- /**
41
- * Sets the title text that appears in the item header ([see example]({% slug tiles_tilelayout %}#toc-tiles-configuration)).
42
- */
43
- title;
44
- /**
45
- * Sets how many rows the tile item spans ([see example](slug:resizing_tilelayout#programmatic-resizing)).
46
- * @default 1
47
- */
48
- rowSpan = 1;
49
- /**
50
- * Sets how many columns the tile item spans ([see example](slug:resizing_tilelayout#programmatic-resizing)).
51
- * @default 1
52
- */
53
- colSpan = 1;
54
- /**
55
- * Sets the order of the tile item within the TileLayout.
56
- * When not set, items receive increasing order values based on their DOM position.
57
- */
58
- set order(value) {
59
- this._order = value;
60
- this.renderer.setStyle(this.elem.nativeElement, 'order', `${this._order}`);
61
- }
62
- get order() {
63
- return this._order;
64
- }
65
- /**
66
- * Sets the starting column position of the item ([see example](slug:tiles_tilelayout#size-and-position)).
67
- */
68
- col;
69
- /**
70
- * Sets the starting row position of the item ([see example](slug:tiles_tilelayout#size-and-position)).
71
- */
72
- row;
73
- /**
74
- * Enables or disables individual item reordering.
75
- *
76
- * @default true
77
- */
78
- reorderable = true;
79
- /**
80
- * Enables or disables individual item resizing.
81
- * @default true
82
- */
83
- resizable = true;
84
- itemClass = true;
85
- hostRole = 'listitem';
86
- get hostDropEffect() {
87
- return this.isResizable || this.isReorderable ? 'execute' : undefined;
88
- }
89
- get hostTabindex() {
90
- return this.isNavigable ? '0' : undefined;
91
- }
92
- get ariaKeyShortcuts() {
93
- return this.isNavigable ? 'Enter' : undefined;
94
- }
95
- get hostGrabbed() {
96
- return this.isResizable || this.isReorderable;
97
- }
98
- get hostLabelledBy() {
99
- return this.title ? this.titleId : undefined;
100
- }
101
- get colEnd() {
102
- return `span ${this.colSpan}`;
103
- }
104
- get rowEnd() {
105
- return `span ${this.rowSpan}`;
106
- }
107
- get colStart() {
108
- return isPresent(this.col) ? this.col.toString() : undefined;
109
- }
110
- get rowStart() {
111
- return isPresent(this.row) ? this.row.toString() : undefined;
112
- }
113
- /**
114
- * @hidden
115
- */
116
- get isReorderable() {
117
- return this.reorderable && this.draggingService.reorderable.getValue();
118
- }
119
- /**
120
- * @hidden
121
- */
122
- get isNavigable() {
123
- return this.keyboardNavigationService.navigable.getValue();
124
- }
125
- /**
126
- * @hidden
127
- */
128
- get isResizable() {
129
- return this.resizable && this.draggingService.resizable.getValue();
130
- }
131
- /**
132
- * @hidden
133
- */
134
- resizeDirections;
135
- /**
136
- * @hidden
137
- */
138
- rtl;
139
- headers;
140
- /**
141
- * @hidden
142
- */
143
- titleId = '';
144
- subs = new Subscription();
145
- keyboardNavigationSubs;
146
- focusableItems;
147
- _order;
148
- constructor(elem, zone, renderer, localization, draggingService, keyboardNavigationService) {
149
- this.elem = elem;
150
- this.zone = zone;
151
- this.renderer = renderer;
152
- this.localization = localization;
153
- this.draggingService = draggingService;
154
- this.keyboardNavigationService = keyboardNavigationService;
155
- this.subs.add(this.localization.changes.subscribe(({ rtl }) => {
156
- this.rtl = rtl;
157
- }));
158
- this.subs.add(this.draggingService.resizable.subscribe(resizable => {
159
- this.resizeDirections = resizable && this.resizable ?
160
- this.rtl ? RTL_RESIZE_DIRECTIONS : RESIZE_DIRECTIONS : undefined;
161
- }));
162
- this.titleId = getId('k-tilelayout-title');
163
- }
164
- ngAfterViewInit() {
165
- const elem = this.elem.nativeElement;
166
- const keyboardNavigation = this.keyboardNavigationService;
167
- this.subs.add(this.draggingService.reorderable.subscribe(reorderable => {
168
- this.toggleCursorClass(reorderable && this.reorderable);
169
- }));
170
- this.subs.add(keyboardNavigation.navigable.subscribe(isNavigable => {
171
- if (isNavigable) {
172
- this.keyboardNavigationSubs = new Subscription();
173
- this.focusableItems = keyboardNavigation.getAllFocusableChildren(elem);
174
- this.zone.runOutsideAngular(() => {
175
- keyboardNavigation.changeTabIndex('-1', elem, this.focusableItems);
176
- this.keyboardNavigationSubs.add(this.renderer.listen(elem, 'keydown', event => keyboardNavigation.onKeyDown(event, elem, this.focusableItems, this.draggingService.tileLayoutSettings)));
177
- this.keyboardNavigationSubs.add(this.renderer.listen(elem, 'mousedown', event => keyboardNavigation.onMousedown(event, elem, this.focusableItems, this)));
178
- this.keyboardNavigationSubs.add(this.renderer.listen(elem, 'focusout', event => keyboardNavigation.onFocusOut(event, elem, this.focusableItems)));
179
- });
180
- }
181
- else if (this.focusableItems) {
182
- this.focusableItems.forEach((focusItem) => {
183
- this.renderer.setAttribute(focusItem, 'tabindex', '0');
184
- });
185
- this.keyboardNavigationSubs.unsubscribe();
186
- }
187
- }));
188
- }
189
- ngOnChanges(changes) {
190
- if (changes['reorderable'] && !changes['reorderable'].firstChange) {
191
- this.toggleCursorClass(changes['reorderable'].currentValue && this.draggingService.reorderable.getValue());
192
- }
193
- if (changes['resizable']) {
194
- this.resizeDirections = this.resizable && this.draggingService.resizable.getValue() ?
195
- this.rtl ? RTL_RESIZE_DIRECTIONS : RESIZE_DIRECTIONS : undefined;
196
- }
197
- }
198
- ngOnDestroy() {
199
- this.subs.unsubscribe();
200
- if (this.keyboardNavigationSubs) {
201
- this.keyboardNavigationSubs.unsubscribe();
202
- }
203
- }
204
- /**
205
- * @hidden
206
- */
207
- focus() {
208
- this.elem.nativeElement.focus();
209
- }
210
- toggleCursorClass(isReorderable) {
211
- const headerEl = this.elem.nativeElement.querySelector('.k-tilelayout-item-header');
212
- if (!headerEl) {
213
- return;
214
- }
215
- if (isReorderable) {
216
- this.renderer.addClass(headerEl, 'k-cursor-move');
217
- }
218
- else {
219
- this.renderer.removeClass(headerEl, 'k-cursor-move');
220
- }
221
- }
222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2.TileLayoutDraggingService }, { token: i3.TileLayoutKeyboardNavigationService }], target: i0.ɵɵFactoryTarget.Component });
223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TileLayoutItemComponent, isStandalone: true, selector: "kendo-tilelayout-item", inputs: { title: "title", rowSpan: "rowSpan", colSpan: "colSpan", order: "order", col: "col", row: "row", reorderable: "reorderable", resizable: "resizable" }, host: { properties: { "class.k-tilelayout-item": "this.itemClass", "class.k-card": "this.itemClass", "attr.role": "this.hostRole", "attr.aria-dropeffect": "this.hostDropEffect", "attr.tabindex": "this.hostTabindex", "attr.aria-keyshortcuts": "this.ariaKeyShortcuts", "attr.aria-grabbed": "this.hostGrabbed", "attr.aria-labelledby": "this.hostLabelledBy", "style.grid-column-end": "this.colEnd", "style.grid-row-end": "this.rowEnd", "style.grid-column-start": "this.colStart", "style.grid-row-start": "this.rowStart" } }, queries: [{ propertyName: "headers", predicate: TileLayoutItemHeaderComponent }], usesOnChanges: true, ngImport: i0, template: `
224
- @if (title) {
225
- <kendo-tilelayout-item-header>
226
- <h5 [id]="titleId" class="k-card-title">{{ title }}</h5>
227
- </kendo-tilelayout-item-header>
228
- }
229
- <ng-content></ng-content>
230
- @if (resizable) {
231
- @for (dir of resizeDirections; track dir) {
232
- <div
233
- class="k-resize-handle k-cursor-{{dir}}-resize"
234
- kendoTileLayoutResizeHandle
235
- [rtl]="rtl"
236
- [resizeDirection]="dir">
237
- </div>
238
- }
239
- }
240
- `, isInline: true, dependencies: [{ kind: "component", type: TileLayoutItemHeaderComponent, selector: "kendo-tilelayout-item-header" }, { kind: "directive", type: TileLayoutResizeHandleDirective, selector: "[kendoTileLayoutResizeHandle]", inputs: ["resizeDirection", "rtl"] }] });
241
- }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutItemComponent, decorators: [{
243
- type: Component,
244
- args: [{
245
- selector: 'kendo-tilelayout-item',
246
- template: `
247
- @if (title) {
248
- <kendo-tilelayout-item-header>
249
- <h5 [id]="titleId" class="k-card-title">{{ title }}</h5>
250
- </kendo-tilelayout-item-header>
251
- }
252
- <ng-content></ng-content>
253
- @if (resizable) {
254
- @for (dir of resizeDirections; track dir) {
255
- <div
256
- class="k-resize-handle k-cursor-{{dir}}-resize"
257
- kendoTileLayoutResizeHandle
258
- [rtl]="rtl"
259
- [resizeDirection]="dir">
260
- </div>
261
- }
262
- }
263
- `,
264
- standalone: true,
265
- imports: [TileLayoutItemHeaderComponent, TileLayoutResizeHandleDirective]
266
- }]
267
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2.TileLayoutDraggingService }, { type: i3.TileLayoutKeyboardNavigationService }], propDecorators: { title: [{
268
- type: Input
269
- }], rowSpan: [{
270
- type: Input
271
- }], colSpan: [{
272
- type: Input
273
- }], order: [{
274
- type: Input
275
- }], col: [{
276
- type: Input
277
- }], row: [{
278
- type: Input
279
- }], reorderable: [{
280
- type: Input
281
- }], resizable: [{
282
- type: Input
283
- }], itemClass: [{
284
- type: HostBinding,
285
- args: ['class.k-tilelayout-item']
286
- }, {
287
- type: HostBinding,
288
- args: ['class.k-card']
289
- }], hostRole: [{
290
- type: HostBinding,
291
- args: ['attr.role']
292
- }], hostDropEffect: [{
293
- type: HostBinding,
294
- args: ['attr.aria-dropeffect']
295
- }], hostTabindex: [{
296
- type: HostBinding,
297
- args: ['attr.tabindex']
298
- }], ariaKeyShortcuts: [{
299
- type: HostBinding,
300
- args: ['attr.aria-keyshortcuts']
301
- }], hostGrabbed: [{
302
- type: HostBinding,
303
- args: ['attr.aria-grabbed']
304
- }], hostLabelledBy: [{
305
- type: HostBinding,
306
- args: ['attr.aria-labelledby']
307
- }], colEnd: [{
308
- type: HostBinding,
309
- args: ['style.grid-column-end']
310
- }], rowEnd: [{
311
- type: HostBinding,
312
- args: ['style.grid-row-end']
313
- }], colStart: [{
314
- type: HostBinding,
315
- args: ['style.grid-column-start']
316
- }], rowStart: [{
317
- type: HostBinding,
318
- args: ['style.grid-row-start']
319
- }], headers: [{
320
- type: ContentChildren,
321
- args: [TileLayoutItemHeaderComponent]
322
- }] } });
@@ -1,61 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
6
- import { RESIZE_HANDLE_DIMENSIONS } from './constants';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- */
11
- export class TileLayoutResizeHandleDirective {
12
- el;
13
- renderer;
14
- resizeDirection;
15
- rtl;
16
- constructor(el, renderer) {
17
- this.el = el;
18
- this.renderer = renderer;
19
- }
20
- ngOnInit() {
21
- this.sizeHandle();
22
- }
23
- setHorizontalPosition(element) {
24
- this.renderer.setStyle(element, this.rtl ? 'left' : 'right', -RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].overlapX + 'px');
25
- }
26
- setBottom(element) {
27
- this.renderer.setStyle(element, 'bottom', -RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].overlapY + 'px');
28
- }
29
- sizeHandle() {
30
- const element = this.el.nativeElement;
31
- const handleWidth = RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].width ?
32
- `${RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].width}px` : '100%';
33
- const handleHeight = RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].height ?
34
- `${RESIZE_HANDLE_DIMENSIONS[this.resizeDirection].height}px` : '100%';
35
- this.renderer.setStyle(element, 'width', handleWidth);
36
- this.renderer.setStyle(element, 'height', handleHeight);
37
- if (this.resizeDirection === 'ew') {
38
- this.setHorizontalPosition(element);
39
- }
40
- else if (this.resizeDirection === 'ns') {
41
- this.setBottom(element);
42
- }
43
- else {
44
- this.setHorizontalPosition(element);
45
- this.setBottom(element);
46
- }
47
- }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutResizeHandleDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
49
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TileLayoutResizeHandleDirective, isStandalone: true, selector: "[kendoTileLayoutResizeHandle]", inputs: { resizeDirection: "resizeDirection", rtl: "rtl" }, ngImport: i0 });
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileLayoutResizeHandleDirective, decorators: [{
52
- type: Directive,
53
- args: [{
54
- selector: '[kendoTileLayoutResizeHandle]',
55
- standalone: true
56
- }]
57
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { resizeDirection: [{
58
- type: Input
59
- }], rtl: [{
60
- type: Input
61
- }] } });