@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.
- package/avatar/l10n/messages.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-layout.mjs +290 -290
- package/package.json +12 -20
- package/stepper/localization/messages.d.ts +1 -1
- package/tabstrip/localization/messages.d.ts +1 -1
- package/timeline/localization/messages.d.ts +1 -1
- package/esm2022/avatar/avatar.component.mjs +0 -406
- package/esm2022/avatar/l10n/custom-messages.component.mjs +0 -53
- package/esm2022/avatar/l10n/localized-messages.directive.mjs +0 -40
- package/esm2022/avatar/l10n/messages.mjs +0 -27
- package/esm2022/avatar/models/fill.mjs +0 -5
- package/esm2022/avatar/models/models.mjs +0 -9
- package/esm2022/avatar/models/rounded.mjs +0 -5
- package/esm2022/avatar/models/shape.mjs +0 -5
- package/esm2022/avatar/models/size.mjs +0 -5
- package/esm2022/avatar/models/theme-color.mjs +0 -5
- package/esm2022/avatar.module.mjs +0 -38
- package/esm2022/card/card-actions.component.mjs +0 -177
- package/esm2022/card/card-body.component.mjs +0 -37
- package/esm2022/card/card-footer.component.mjs +0 -37
- package/esm2022/card/card-header.component.mjs +0 -38
- package/esm2022/card/card.component.mjs +0 -118
- package/esm2022/card/directives/card-media.directive.mjs +0 -33
- package/esm2022/card/directives/card-separator.directive.mjs +0 -61
- package/esm2022/card/directives/card-subtitle.directive.mjs +0 -31
- package/esm2022/card/directives/card-title.directive.mjs +0 -31
- package/esm2022/card/models/actions-layout.mjs +0 -5
- package/esm2022/card/models/card-action.mjs +0 -21
- package/esm2022/card.module.mjs +0 -45
- package/esm2022/common/direction.mjs +0 -5
- package/esm2022/common/dom-queries.mjs +0 -47
- package/esm2022/common/orientation.mjs +0 -5
- package/esm2022/common/preventable-event.mjs +0 -31
- package/esm2022/common/styling-classes.mjs +0 -5
- package/esm2022/common/util.mjs +0 -85
- package/esm2022/directives.mjs +0 -174
- package/esm2022/drawer/animations.mjs +0 -146
- package/esm2022/drawer/drawer-container.component.mjs +0 -135
- package/esm2022/drawer/drawer-content.component.mjs +0 -39
- package/esm2022/drawer/drawer.component.mjs +0 -471
- package/esm2022/drawer/drawer.service.mjs +0 -105
- package/esm2022/drawer/events/drawer-list-select.event.mjs +0 -29
- package/esm2022/drawer/events/select-event.mjs +0 -33
- package/esm2022/drawer/item.component.mjs +0 -210
- package/esm2022/drawer/list.component.mjs +0 -165
- package/esm2022/drawer/models/constants.mjs +0 -8
- package/esm2022/drawer/models/drawer-animation.interface.mjs +0 -5
- package/esm2022/drawer/models/drawer-item-expand.interface.mjs +0 -5
- package/esm2022/drawer/models/drawer-item.interface.mjs +0 -5
- package/esm2022/drawer/models/drawer-view-item.interface.mjs +0 -5
- package/esm2022/drawer/models/mode.mjs +0 -5
- package/esm2022/drawer/models/position.mjs +0 -5
- package/esm2022/drawer/template-directives/drawer-template.directive.mjs +0 -43
- package/esm2022/drawer/template-directives/footer-template.directive.mjs +0 -36
- package/esm2022/drawer/template-directives/header-template.directive.mjs +0 -36
- package/esm2022/drawer/template-directives/item-template.directive.mjs +0 -44
- package/esm2022/drawer/template-directives.mjs +0 -8
- package/esm2022/drawer/types.mjs +0 -5
- package/esm2022/drawer/util.mjs +0 -16
- package/esm2022/drawer.module.mjs +0 -43
- package/esm2022/expansionpanel/animations.mjs +0 -23
- package/esm2022/expansionpanel/events/action-event.mjs +0 -21
- package/esm2022/expansionpanel/expansionpanel-title.directive.mjs +0 -38
- package/esm2022/expansionpanel/expansionpanel.component.mjs +0 -515
- package/esm2022/expansionpanel.module.mjs +0 -38
- package/esm2022/gridlayout.module.mjs +0 -38
- package/esm2022/index.mjs +0 -89
- package/esm2022/layout.module.mjs +0 -89
- package/esm2022/layouts/grid-layout.component.mjs +0 -179
- package/esm2022/layouts/gridlayout-item.component.mjs +0 -82
- package/esm2022/layouts/models/gridlayout-gap-settings.mjs +0 -5
- package/esm2022/layouts/models/gridlayout-row-col-size.mjs +0 -5
- package/esm2022/layouts/models/layout-align-settings.mjs +0 -5
- package/esm2022/layouts/models/layout-horizontal-align.mjs +0 -5
- package/esm2022/layouts/models/layout-vertical-align.mjs +0 -5
- package/esm2022/layouts/models.mjs +0 -10
- package/esm2022/layouts/stack-layout.component.mjs +0 -161
- package/esm2022/layouts/util.mjs +0 -101
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/panelbar/events/collapse-event.mjs +0 -14
- package/esm2022/panelbar/events/expand-event.mjs +0 -14
- package/esm2022/panelbar/events/item-click-event.mjs +0 -17
- package/esm2022/panelbar/events/select-event.mjs +0 -14
- package/esm2022/panelbar/events/state-change-event.mjs +0 -13
- package/esm2022/panelbar/events.mjs +0 -9
- package/esm2022/panelbar/panelbar-content.directive.mjs +0 -36
- package/esm2022/panelbar/panelbar-expand-mode.mjs +0 -29
- package/esm2022/panelbar/panelbar-item-model.mjs +0 -5
- package/esm2022/panelbar/panelbar-item-template.directive.mjs +0 -37
- package/esm2022/panelbar/panelbar-item-title.directive.mjs +0 -42
- package/esm2022/panelbar/panelbar-item.component.mjs +0 -722
- package/esm2022/panelbar/panelbar.component.mjs +0 -705
- package/esm2022/panelbar/panelbar.service.mjs +0 -53
- package/esm2022/panelbar.module.mjs +0 -41
- package/esm2022/progress-kendo-angular-layout.mjs +0 -8
- package/esm2022/splitter/splitter-bar.component.mjs +0 -338
- package/esm2022/splitter/splitter-pane.component.mjs +0 -324
- package/esm2022/splitter/splitter.component.mjs +0 -301
- package/esm2022/splitter/splitter.service.mjs +0 -205
- package/esm2022/splitter/util.mjs +0 -34
- package/esm2022/splitter.module.mjs +0 -38
- package/esm2022/stacklayout.module.mjs +0 -37
- package/esm2022/stepper/events/activate-event.mjs +0 -33
- package/esm2022/stepper/list.component.mjs +0 -185
- package/esm2022/stepper/localization/custom-messages.component.mjs +0 -52
- package/esm2022/stepper/localization/localized-messages.directive.mjs +0 -41
- package/esm2022/stepper/localization/messages.mjs +0 -27
- package/esm2022/stepper/models/constants.mjs +0 -8
- package/esm2022/stepper/models/orientation.mjs +0 -5
- package/esm2022/stepper/models/step-predicate.mjs +0 -5
- package/esm2022/stepper/models/step-type.mjs +0 -5
- package/esm2022/stepper/models/stepper-step.interface.mjs +0 -5
- package/esm2022/stepper/step.component.mjs +0 -396
- package/esm2022/stepper/stepper.component.mjs +0 -423
- package/esm2022/stepper/stepper.service.mjs +0 -186
- package/esm2022/stepper/template-directives/indicator-template.directive.mjs +0 -37
- package/esm2022/stepper/template-directives/label-template.directive.mjs +0 -37
- package/esm2022/stepper/template-directives/step-template.directive.mjs +0 -39
- package/esm2022/stepper/template-directives.mjs +0 -7
- package/esm2022/stepper/types.mjs +0 -5
- package/esm2022/stepper.module.mjs +0 -41
- package/esm2022/tabstrip/constants.mjs +0 -29
- package/esm2022/tabstrip/directives/tab-content.directive.mjs +0 -39
- package/esm2022/tabstrip/directives/tab-title.directive.mjs +0 -37
- package/esm2022/tabstrip/directives/tab.directive.mjs +0 -24
- package/esm2022/tabstrip/events/select-event.mjs +0 -25
- package/esm2022/tabstrip/events/tabclose-event.mjs +0 -23
- package/esm2022/tabstrip/events/tabscroll-event.mjs +0 -23
- package/esm2022/tabstrip/events.mjs +0 -7
- package/esm2022/tabstrip/localization/custom-messages.component.mjs +0 -53
- package/esm2022/tabstrip/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/tabstrip/localization/messages.mjs +0 -39
- package/esm2022/tabstrip/models/button-state-change.mjs +0 -5
- package/esm2022/tabstrip/models/scroll-button-type.mjs +0 -5
- package/esm2022/tabstrip/models/scroll-buttons-visibility.mjs +0 -5
- package/esm2022/tabstrip/models/scrollable-settings.mjs +0 -23
- package/esm2022/tabstrip/models/size.mjs +0 -5
- package/esm2022/tabstrip/models/tab-alignment.mjs +0 -5
- package/esm2022/tabstrip/models/tab-position.mjs +0 -5
- package/esm2022/tabstrip/models/tabstrip-tab.component.mjs +0 -130
- package/esm2022/tabstrip/rendering/tab.component.mjs +0 -182
- package/esm2022/tabstrip/scrollable-button.component.mjs +0 -182
- package/esm2022/tabstrip/tabstrip-scroll.service.mjs +0 -176
- package/esm2022/tabstrip/tabstrip.component.mjs +0 -954
- package/esm2022/tabstrip/tabstrip.service.mjs +0 -155
- package/esm2022/tabstrip/util.mjs +0 -120
- package/esm2022/tabstrip.module.mjs +0 -41
- package/esm2022/tilelayout/constants.mjs +0 -70
- package/esm2022/tilelayout/dragging-service.mjs +0 -421
- package/esm2022/tilelayout/keyboard-navigation.service.mjs +0 -189
- package/esm2022/tilelayout/models/dragging-config.interface.mjs +0 -5
- package/esm2022/tilelayout/models/flowmode.type.mjs +0 -5
- package/esm2022/tilelayout/models/gap.interface.mjs +0 -5
- package/esm2022/tilelayout/models/navigation.interface.mjs +0 -5
- package/esm2022/tilelayout/reorder-event.mjs +0 -43
- package/esm2022/tilelayout/resize-event.mjs +0 -37
- package/esm2022/tilelayout/tilelayout-item-body.component.mjs +0 -45
- package/esm2022/tilelayout/tilelayout-item-header.component.mjs +0 -43
- package/esm2022/tilelayout/tilelayout-item.component.mjs +0 -322
- package/esm2022/tilelayout/tilelayout-resize-handle.directive.mjs +0 -61
- package/esm2022/tilelayout/tilelayout.component.mjs +0 -388
- package/esm2022/tilelayout/util.mjs +0 -138
- package/esm2022/tilelayout.module.mjs +0 -40
- package/esm2022/timeline/events/navigation-direction.mjs +0 -5
- package/esm2022/timeline/localization/custom-messages.component.mjs +0 -43
- package/esm2022/timeline/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/timeline/localization/messages.mjs +0 -33
- package/esm2022/timeline/models/anchor-target.mjs +0 -5
- package/esm2022/timeline/models/default-model-fields.mjs +0 -16
- package/esm2022/timeline/models/events-order.mjs +0 -5
- package/esm2022/timeline/models/model-fields.mjs +0 -5
- package/esm2022/timeline/models/timeline-event.mjs +0 -5
- package/esm2022/timeline/templates/timeline-card-actions.directive.mjs +0 -40
- package/esm2022/timeline/templates/timeline-card-body.directive.mjs +0 -40
- package/esm2022/timeline/templates/timeline-card-header.directive.mjs +0 -41
- package/esm2022/timeline/timeline-card.component.mjs +0 -451
- package/esm2022/timeline/timeline-horizontal.component.mjs +0 -781
- package/esm2022/timeline/timeline-vertical.component.mjs +0 -203
- package/esm2022/timeline/timeline.component.mjs +0 -491
- package/esm2022/timeline/timeline.service.mjs +0 -32
- package/esm2022/timeline/util.mjs +0 -26
- 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
|
-
}] } });
|