@progress/kendo-angular-layout 7.1.6 → 7.2.0

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 (88) hide show
  1. package/bundles/kendo-angular-layout.umd.js +1 -1
  2. package/common/util.d.ts +4 -0
  3. package/esm2015/avatar/avatar.component.js +3 -3
  4. package/esm2015/avatar.module.js +4 -4
  5. package/esm2015/card/card-actions.component.js +3 -3
  6. package/esm2015/card/card-body.component.js +3 -3
  7. package/esm2015/card/card-footer.component.js +3 -3
  8. package/esm2015/card/card-header.component.js +3 -3
  9. package/esm2015/card/card.component.js +3 -3
  10. package/esm2015/card/directives/card-media.directive.js +3 -3
  11. package/esm2015/card/directives/card-separator.directive.js +3 -3
  12. package/esm2015/card/directives/card-subtitle.directive.js +3 -3
  13. package/esm2015/card/directives/card-title.directive.js +3 -3
  14. package/esm2015/card.module.js +4 -4
  15. package/esm2015/common/util.js +16 -0
  16. package/esm2015/drawer/drawer-container.component.js +3 -3
  17. package/esm2015/drawer/drawer-content.component.js +3 -3
  18. package/esm2015/drawer/drawer.component.js +3 -3
  19. package/esm2015/drawer/drawer.service.js +3 -3
  20. package/esm2015/drawer/item.component.js +3 -3
  21. package/esm2015/drawer/list.component.js +3 -3
  22. package/esm2015/drawer/template-directives/drawer-template.directive.js +3 -3
  23. package/esm2015/drawer/template-directives/footer-template.directive.js +3 -3
  24. package/esm2015/drawer/template-directives/header-template.directive.js +3 -3
  25. package/esm2015/drawer/template-directives/item-template.directive.js +3 -3
  26. package/esm2015/drawer.module.js +4 -4
  27. package/esm2015/expansionpanel/expansionpanel-title.directive.js +3 -3
  28. package/esm2015/expansionpanel/expansionpanel.component.js +3 -3
  29. package/esm2015/expansionpanel.module.js +4 -4
  30. package/esm2015/gridlayout.module.js +4 -4
  31. package/esm2015/layout.module.js +4 -4
  32. package/esm2015/layouts/grid-layout.component.js +3 -3
  33. package/esm2015/layouts/gridlayout-item.component.js +3 -3
  34. package/esm2015/layouts/stack-layout.component.js +3 -3
  35. package/esm2015/package-metadata.js +1 -1
  36. package/esm2015/panelbar/panelbar-content.directive.js +3 -3
  37. package/esm2015/panelbar/panelbar-item-template.directive.js +3 -3
  38. package/esm2015/panelbar/panelbar-item-title.directive.js +3 -3
  39. package/esm2015/panelbar/panelbar-item.component.js +3 -3
  40. package/esm2015/panelbar/panelbar.component.js +3 -3
  41. package/esm2015/panelbar/panelbar.service.js +3 -3
  42. package/esm2015/panelbar.module.js +4 -4
  43. package/esm2015/splitter/splitter-bar.component.js +3 -3
  44. package/esm2015/splitter/splitter-pane.component.js +3 -3
  45. package/esm2015/splitter/splitter.component.js +3 -3
  46. package/esm2015/splitter/splitter.service.js +3 -3
  47. package/esm2015/splitter.module.js +4 -4
  48. package/esm2015/stacklayout.module.js +4 -4
  49. package/esm2015/stepper/list.component.js +3 -3
  50. package/esm2015/stepper/localization/custom-messages.component.js +3 -3
  51. package/esm2015/stepper/localization/localized-messages.directive.js +3 -3
  52. package/esm2015/stepper/localization/messages.js +3 -3
  53. package/esm2015/stepper/step.component.js +3 -3
  54. package/esm2015/stepper/stepper.component.js +3 -3
  55. package/esm2015/stepper/stepper.service.js +3 -3
  56. package/esm2015/stepper/template-directives/indicator-template.directive.js +3 -3
  57. package/esm2015/stepper/template-directives/label-template.directive.js +3 -3
  58. package/esm2015/stepper/template-directives/step-template.directive.js +3 -3
  59. package/esm2015/stepper.module.js +4 -4
  60. package/esm2015/tabstrip/directives/tab-content.directive.js +3 -3
  61. package/esm2015/tabstrip/directives/tab-title.directive.js +3 -3
  62. package/esm2015/tabstrip/localization/custom-messages.component.js +3 -3
  63. package/esm2015/tabstrip/localization/localized-messages.directive.js +3 -3
  64. package/esm2015/tabstrip/localization/messages.js +3 -3
  65. package/esm2015/tabstrip/models/tabstrip-tab.component.js +3 -3
  66. package/esm2015/tabstrip/rendering/tab.component.js +3 -3
  67. package/esm2015/tabstrip/scrollable-button.component.js +3 -3
  68. package/esm2015/tabstrip/tabstrip-scroll.service.js +3 -3
  69. package/esm2015/tabstrip/tabstrip.component.js +3 -3
  70. package/esm2015/tabstrip/tabstrip.service.js +3 -3
  71. package/esm2015/tabstrip.module.js +4 -4
  72. package/esm2015/tilelayout/dragging-service.js +3 -3
  73. package/esm2015/tilelayout/keyboard-navigation.service.js +148 -0
  74. package/esm2015/tilelayout/models/navigation.interface.js +5 -0
  75. package/esm2015/tilelayout/tilelayout-item-body.component.js +3 -3
  76. package/esm2015/tilelayout/tilelayout-item-header.component.js +3 -3
  77. package/esm2015/tilelayout/tilelayout-item.component.js +92 -14
  78. package/esm2015/tilelayout/tilelayout-resize-handle.directive.js +3 -3
  79. package/esm2015/tilelayout/tilelayout.component.js +31 -9
  80. package/esm2015/tilelayout/util.js +51 -1
  81. package/esm2015/tilelayout.module.js +4 -4
  82. package/fesm2015/kendo-angular-layout.js +548 -248
  83. package/package.json +1 -1
  84. package/tilelayout/keyboard-navigation.service.d.ts +34 -0
  85. package/tilelayout/models/navigation.interface.d.ts +17 -0
  86. package/tilelayout/tilelayout-item.component.d.ts +26 -3
  87. package/tilelayout/tilelayout.component.d.ts +13 -3
  88. package/tilelayout/util.d.ts +18 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "7.1.6",
3
+ "version": "7.2.0",
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",
@@ -0,0 +1,34 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { NgZone, Renderer2 } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import { DraggingServiceConfig } from './models/dragging-config.interface';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare class TileLayoutKeyboardNavigationService {
14
+ private zone;
15
+ private renderer;
16
+ private localization;
17
+ navigable: BehaviorSubject<boolean>;
18
+ private localizationSubscription;
19
+ private rtl;
20
+ constructor(zone: NgZone, renderer: Renderer2, localization: LocalizationService);
21
+ ngOnDestroy(): void;
22
+ onKeyDown(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>, settings: DraggingServiceConfig): void;
23
+ onFocusOut(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>): void;
24
+ onClick(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>): void;
25
+ changeTabIndex(tabIndex: string, elem: HTMLElement, focusableItems: Array<HTMLElement>): void;
26
+ getAllFocusableChildren(parent: any): Array<any>;
27
+ private resizeItem;
28
+ private reorderItem;
29
+ private keepFocusWithinComponent;
30
+ private getFirstAndLastFocusable;
31
+ private targetTile;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<TileLayoutKeyboardNavigationService, never>;
33
+ static ɵprov: i0.ɵɵInjectableDeclaration<TileLayoutKeyboardNavigationService>;
34
+ }
@@ -0,0 +1,17 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Тhe values which determine wether there will be resizing or reordering via keyboard navigation.
7
+ *
8
+ * @hidden
9
+ */
10
+ export interface TileLayoutNavigation {
11
+ resizeLeft?: boolean;
12
+ resizeRight?: boolean;
13
+ resizeUp?: boolean;
14
+ resizeDown?: boolean;
15
+ reorderLeft?: boolean;
16
+ reorderRight?: boolean;
17
+ }
@@ -2,18 +2,21 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { AfterViewInit, ElementRef, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
5
+ import { AfterViewInit, ElementRef, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { TileLayoutDraggingService } from './dragging-service';
8
+ import { TileLayoutKeyboardNavigationService } from './keyboard-navigation.service';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Represents a tile item within the TileLayoutComponent.
11
12
  */
12
13
  export declare class TileLayoutItemComponent implements AfterViewInit, OnDestroy, OnChanges {
13
14
  elem: ElementRef;
15
+ private zone;
14
16
  private renderer;
15
17
  private localization;
16
18
  private draggingService;
19
+ private keyboardNavigationService;
17
20
  /**
18
21
  * The title that will be rendered in the item header ([see example]({% slug tiles_tilelayout %}#toc-tiles-configuration)).
19
22
  */
@@ -55,6 +58,12 @@ export declare class TileLayoutItemComponent implements AfterViewInit, OnDestroy
55
58
  */
56
59
  resizable: boolean;
57
60
  itemClass: boolean;
61
+ hostRole: string;
62
+ get hostDropEffect(): string;
63
+ get hostTabindex(): string;
64
+ get ariaKeyShortcuts(): string;
65
+ get hostGrabbed(): boolean;
66
+ get hostLabelledBy(): string;
58
67
  get colEnd(): string;
59
68
  get rowEnd(): string;
60
69
  get colStart(): string;
@@ -62,7 +71,15 @@ export declare class TileLayoutItemComponent implements AfterViewInit, OnDestroy
62
71
  /**
63
72
  * @hidden
64
73
  */
65
- get reorderableHeader(): boolean;
74
+ get isReorderable(): boolean;
75
+ /**
76
+ * @hidden
77
+ */
78
+ get isNavigable(): boolean;
79
+ /**
80
+ * @hidden
81
+ */
82
+ get isResizable(): boolean;
66
83
  /**
67
84
  * @hidden
68
85
  */
@@ -72,9 +89,15 @@ export declare class TileLayoutItemComponent implements AfterViewInit, OnDestroy
72
89
  */
73
90
  rtl: boolean;
74
91
  private headers;
92
+ /**
93
+ * @hidden
94
+ */
95
+ titleId: string;
75
96
  private subs;
97
+ private keyboardNavigationSubs;
98
+ private focusableItems;
76
99
  private _order;
77
- constructor(elem: ElementRef, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService);
100
+ constructor(elem: ElementRef, zone: NgZone, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService, keyboardNavigationService: TileLayoutKeyboardNavigationService);
78
101
  ngAfterViewInit(): void;
79
102
  ngOnChanges(changes: SimpleChanges): void;
80
103
  ngOnDestroy(): void;
@@ -10,16 +10,18 @@ import { LocalizationService } from '@progress/kendo-angular-l10n';
10
10
  import { TileLayoutReorderEvent } from './reorder-event';
11
11
  import { TileLayoutGap } from './models/gap.interface';
12
12
  import { TileLayoutFlowMode } from './models/flowmode.type';
13
+ import { TileLayoutKeyboardNavigationService } from './keyboard-navigation.service';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * Represents the [Kendo UI TileLayout component for Angular]({% slug overview_tilelayout %})
16
17
  */
17
18
  export declare class TileLayoutComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy, OnChanges {
19
+ private zone;
18
20
  private elem;
19
21
  private renderer;
20
22
  private localization;
21
23
  private draggingService;
22
- private zone;
24
+ private navigationService;
23
25
  /**
24
26
  * Defines the number of columns ([see example]({% slug tiles_tilelayout %}#toc-tile-size-and-position)).
25
27
  * @default 1
@@ -68,6 +70,13 @@ export declare class TileLayoutComponent implements OnInit, AfterViewInit, After
68
70
  *
69
71
  */
70
72
  autoFlow: TileLayoutFlowMode;
73
+ /**
74
+ * If set to true, the user can use dedicated shortcuts to interact with the TileLayout.
75
+ * By default, navigation is disabled and focusable TileLayout content is a part of the natural tab sequence of the page.
76
+ *
77
+ * @default false
78
+ */
79
+ navigable: boolean;
71
80
  /**
72
81
  * Fires when the user completes the reordering of the item ([see example]({% slug reordering_tilelayout %})).
73
82
  * This event is preventable. If you cancel it, the item will not be reordered.
@@ -79,6 +88,7 @@ export declare class TileLayoutComponent implements OnInit, AfterViewInit, After
79
88
  */
80
89
  resize: EventEmitter<TileLayoutResizeEvent>;
81
90
  hostClass: boolean;
91
+ hostRole: string;
82
92
  get gapStyle(): string;
83
93
  direction: 'ltr' | 'rtl';
84
94
  get currentColStart(): string;
@@ -93,7 +103,7 @@ export declare class TileLayoutComponent implements OnInit, AfterViewInit, After
93
103
  private draggable;
94
104
  private subs;
95
105
  private _gap;
96
- constructor(elem: ElementRef, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService, zone: NgZone);
106
+ constructor(zone: NgZone, elem: ElementRef, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService, navigationService: TileLayoutKeyboardNavigationService);
97
107
  ngOnInit(): void;
98
108
  ngAfterViewInit(): void;
99
109
  ngAfterContentInit(): void;
@@ -109,5 +119,5 @@ export declare class TileLayoutComponent implements OnInit, AfterViewInit, After
109
119
  private applyAutoFlow;
110
120
  private setItemsOrder;
111
121
  static ɵfac: i0.ɵɵFactoryDeclaration<TileLayoutComponent, never>;
112
- static ɵcmp: i0.ɵɵComponentDeclaration<TileLayoutComponent, "kendo-tilelayout", never, { "columns": "columns"; "columnWidth": "columnWidth"; "gap": "gap"; "reorderable": "reorderable"; "resizable": "resizable"; "rowHeight": "rowHeight"; "autoFlow": "autoFlow"; }, { "reorder": "reorder"; "resize": "resize"; }, ["items"], ["*"]>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<TileLayoutComponent, "kendo-tilelayout", never, { "columns": "columns"; "columnWidth": "columnWidth"; "gap": "gap"; "reorderable": "reorderable"; "resizable": "resizable"; "rowHeight": "rowHeight"; "autoFlow": "autoFlow"; "navigable": "navigable"; }, { "reorder": "reorder"; "resize": "resize"; }, ["items"], ["*"]>;
113
123
  }
@@ -5,6 +5,12 @@
5
5
  import { Renderer2 } from '@angular/core';
6
6
  import { TileLayoutItemComponent } from './tilelayout-item.component';
7
7
  import { TileLayoutGap } from './models/gap.interface';
8
+ import { DraggingServiceConfig } from './models/dragging-config.interface';
9
+ import { TileLayoutNavigation } from './models/navigation.interface';
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare const getId: (prefix: string) => string;
8
14
  /**
9
15
  * @hidden
10
16
  */
@@ -48,3 +54,15 @@ export declare const calculateOrderFromCell: (row: number, col: number, items: T
48
54
  width: number;
49
55
  height: number;
50
56
  }, columns: number) => number;
57
+ /**
58
+ * @hidden
59
+ */
60
+ export declare const shouldResize: (keyCode: number, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
61
+ /**
62
+ * @hidden
63
+ */
64
+ export declare const shouldReorder: (keyCode: number, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
65
+ /**
66
+ * @hidden
67
+ */
68
+ export declare const getCurrentCol: (selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig, rtl: any) => number;