@progress/kendo-angular-layout 16.0.0-develop.2 → 16.0.0-develop.20

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 (181) hide show
  1. package/avatar/avatar.component.d.ts +1 -1
  2. package/avatar/l10n/custom-messages.component.d.ts +1 -1
  3. package/avatar/l10n/localized-messages.directive.d.ts +1 -1
  4. package/avatar/l10n/messages.d.ts +1 -1
  5. package/card/card-actions.component.d.ts +1 -1
  6. package/card/card-body.component.d.ts +1 -1
  7. package/card/card-footer.component.d.ts +1 -1
  8. package/card/card-header.component.d.ts +1 -1
  9. package/card/card.component.d.ts +1 -1
  10. package/card/directives/card-media.directive.d.ts +1 -1
  11. package/card/directives/card-separator.directive.d.ts +1 -1
  12. package/card/directives/card-subtitle.directive.d.ts +1 -1
  13. package/card/directives/card-title.directive.d.ts +1 -1
  14. package/drawer/drawer-container.component.d.ts +1 -1
  15. package/drawer/drawer-content.component.d.ts +1 -1
  16. package/drawer/drawer.component.d.ts +1 -1
  17. package/drawer/item.component.d.ts +1 -1
  18. package/drawer/list.component.d.ts +1 -1
  19. package/drawer/template-directives/drawer-template.directive.d.ts +1 -1
  20. package/drawer/template-directives/footer-template.directive.d.ts +1 -1
  21. package/drawer/template-directives/header-template.directive.d.ts +1 -1
  22. package/drawer/template-directives/item-template.directive.d.ts +1 -1
  23. package/esm2020/avatar/avatar.component.mjs +7 -7
  24. package/esm2020/avatar/l10n/custom-messages.component.mjs +3 -3
  25. package/esm2020/avatar/l10n/localized-messages.directive.mjs +3 -3
  26. package/esm2020/avatar/l10n/messages.mjs +3 -3
  27. package/esm2020/avatar.module.mjs +4 -4
  28. package/esm2020/card/card-actions.component.mjs +4 -4
  29. package/esm2020/card/card-body.component.mjs +3 -3
  30. package/esm2020/card/card-footer.component.mjs +3 -3
  31. package/esm2020/card/card-header.component.mjs +3 -3
  32. package/esm2020/card/card.component.mjs +3 -3
  33. package/esm2020/card/directives/card-media.directive.mjs +3 -3
  34. package/esm2020/card/directives/card-separator.directive.mjs +3 -3
  35. package/esm2020/card/directives/card-subtitle.directive.mjs +3 -3
  36. package/esm2020/card/directives/card-title.directive.mjs +3 -3
  37. package/esm2020/card.module.mjs +4 -4
  38. package/esm2020/drawer/drawer-container.component.mjs +4 -4
  39. package/esm2020/drawer/drawer-content.component.mjs +3 -3
  40. package/esm2020/drawer/drawer.component.mjs +6 -6
  41. package/esm2020/drawer/drawer.service.mjs +3 -3
  42. package/esm2020/drawer/item.component.mjs +8 -6
  43. package/esm2020/drawer/list.component.mjs +5 -5
  44. package/esm2020/drawer/template-directives/drawer-template.directive.mjs +3 -3
  45. package/esm2020/drawer/template-directives/footer-template.directive.mjs +3 -3
  46. package/esm2020/drawer/template-directives/header-template.directive.mjs +3 -3
  47. package/esm2020/drawer/template-directives/item-template.directive.mjs +3 -3
  48. package/esm2020/drawer.module.mjs +4 -4
  49. package/esm2020/expansionpanel/expansionpanel-title.directive.mjs +3 -3
  50. package/esm2020/expansionpanel/expansionpanel.component.mjs +6 -6
  51. package/esm2020/expansionpanel.module.mjs +4 -4
  52. package/esm2020/gridlayout.module.mjs +4 -4
  53. package/esm2020/index.mjs +7 -0
  54. package/esm2020/layout.module.mjs +11 -7
  55. package/esm2020/layouts/grid-layout.component.mjs +3 -3
  56. package/esm2020/layouts/gridlayout-item.component.mjs +3 -3
  57. package/esm2020/layouts/stack-layout.component.mjs +3 -3
  58. package/esm2020/package-metadata.mjs +2 -2
  59. package/esm2020/panelbar/panelbar-content.directive.mjs +3 -3
  60. package/esm2020/panelbar/panelbar-item-template.directive.mjs +3 -3
  61. package/esm2020/panelbar/panelbar-item-title.directive.mjs +3 -3
  62. package/esm2020/panelbar/panelbar-item.component.mjs +14 -20
  63. package/esm2020/panelbar/panelbar.component.mjs +6 -9
  64. package/esm2020/panelbar/panelbar.service.mjs +3 -3
  65. package/esm2020/panelbar.module.mjs +4 -4
  66. package/esm2020/splitter/splitter-bar.component.mjs +6 -6
  67. package/esm2020/splitter/splitter-pane.component.mjs +4 -4
  68. package/esm2020/splitter/splitter.component.mjs +7 -7
  69. package/esm2020/splitter/splitter.service.mjs +3 -3
  70. package/esm2020/splitter.module.mjs +6 -8
  71. package/esm2020/stacklayout.module.mjs +4 -4
  72. package/esm2020/stepper/list.component.mjs +5 -5
  73. package/esm2020/stepper/localization/custom-messages.component.mjs +3 -3
  74. package/esm2020/stepper/localization/localized-messages.directive.mjs +3 -3
  75. package/esm2020/stepper/localization/messages.mjs +3 -3
  76. package/esm2020/stepper/step.component.mjs +6 -6
  77. package/esm2020/stepper/stepper.component.mjs +7 -7
  78. package/esm2020/stepper/stepper.service.mjs +3 -3
  79. package/esm2020/stepper/template-directives/indicator-template.directive.mjs +3 -3
  80. package/esm2020/stepper/template-directives/label-template.directive.mjs +3 -3
  81. package/esm2020/stepper/template-directives/step-template.directive.mjs +3 -3
  82. package/esm2020/stepper.module.mjs +4 -4
  83. package/esm2020/tabstrip/directives/tab-content.directive.mjs +3 -3
  84. package/esm2020/tabstrip/directives/tab-title.directive.mjs +3 -3
  85. package/esm2020/tabstrip/directives/tab.directive.mjs +3 -3
  86. package/esm2020/tabstrip/localization/custom-messages.component.mjs +3 -3
  87. package/esm2020/tabstrip/localization/localized-messages.directive.mjs +3 -3
  88. package/esm2020/tabstrip/localization/messages.mjs +3 -3
  89. package/esm2020/tabstrip/models/tabstrip-tab.component.mjs +3 -3
  90. package/esm2020/tabstrip/rendering/tab.component.mjs +6 -6
  91. package/esm2020/tabstrip/scrollable-button.component.mjs +4 -4
  92. package/esm2020/tabstrip/tabstrip-scroll.service.mjs +3 -3
  93. package/esm2020/tabstrip/tabstrip.component.mjs +8 -10
  94. package/esm2020/tabstrip/tabstrip.service.mjs +3 -3
  95. package/esm2020/tabstrip.module.mjs +4 -4
  96. package/esm2020/tilelayout/dragging-service.mjs +3 -3
  97. package/esm2020/tilelayout/keyboard-navigation.service.mjs +3 -5
  98. package/esm2020/tilelayout/tilelayout-item-body.component.mjs +3 -3
  99. package/esm2020/tilelayout/tilelayout-item-header.component.mjs +3 -3
  100. package/esm2020/tilelayout/tilelayout-item.component.mjs +6 -6
  101. package/esm2020/tilelayout/tilelayout-resize-handle.directive.mjs +3 -3
  102. package/esm2020/tilelayout/tilelayout.component.mjs +6 -6
  103. package/esm2020/tilelayout.module.mjs +4 -4
  104. package/esm2020/timeline/events/navigation-direction.mjs +5 -0
  105. package/esm2020/timeline/localization/custom-messages.component.mjs +41 -0
  106. package/esm2020/timeline/localization/localized-messages.directive.mjs +37 -0
  107. package/esm2020/timeline/localization/messages.mjs +25 -0
  108. package/esm2020/timeline/models/anchor-target.mjs +5 -0
  109. package/esm2020/timeline/models/default-model-fields.mjs +16 -0
  110. package/esm2020/timeline/models/model-fields.mjs +5 -0
  111. package/esm2020/timeline/models/timeline-event.mjs +5 -0
  112. package/esm2020/timeline/templates/timeline-card-actions.directive.mjs +29 -0
  113. package/esm2020/timeline/templates/timeline-card-body.directive.mjs +29 -0
  114. package/esm2020/timeline/templates/timeline-card-header.directive.mjs +29 -0
  115. package/esm2020/timeline/timeline-card.component.mjs +400 -0
  116. package/esm2020/timeline/timeline-horizontal.component.mjs +723 -0
  117. package/esm2020/timeline/timeline-vertical.component.mjs +175 -0
  118. package/esm2020/timeline/timeline.component.mjs +418 -0
  119. package/esm2020/timeline/timeline.service.mjs +31 -0
  120. package/esm2020/timeline/util.mjs +26 -0
  121. package/esm2020/timeline.module.mjs +65 -0
  122. package/expansionpanel/expansionpanel-title.directive.d.ts +1 -1
  123. package/expansionpanel/expansionpanel.component.d.ts +1 -1
  124. package/fesm2015/progress-kendo-angular-layout.mjs +2527 -608
  125. package/fesm2020/progress-kendo-angular-layout.mjs +2258 -366
  126. package/index.d.ts +10 -0
  127. package/layout.module.d.ts +2 -1
  128. package/layouts/grid-layout.component.d.ts +1 -1
  129. package/layouts/gridlayout-item.component.d.ts +1 -1
  130. package/layouts/stack-layout.component.d.ts +1 -1
  131. package/package.json +13 -13
  132. package/panelbar/panelbar-content.directive.d.ts +1 -1
  133. package/panelbar/panelbar-item-template.directive.d.ts +1 -1
  134. package/panelbar/panelbar-item-title.directive.d.ts +1 -1
  135. package/panelbar/panelbar-item.component.d.ts +1 -2
  136. package/panelbar/panelbar.component.d.ts +1 -1
  137. package/splitter/splitter-bar.component.d.ts +1 -1
  138. package/splitter/splitter-pane.component.d.ts +1 -1
  139. package/splitter/splitter.component.d.ts +1 -1
  140. package/stepper/list.component.d.ts +1 -1
  141. package/stepper/localization/custom-messages.component.d.ts +1 -1
  142. package/stepper/localization/localized-messages.directive.d.ts +1 -1
  143. package/stepper/localization/messages.d.ts +1 -1
  144. package/stepper/step.component.d.ts +1 -1
  145. package/stepper/stepper.component.d.ts +1 -1
  146. package/stepper/template-directives/indicator-template.directive.d.ts +1 -1
  147. package/stepper/template-directives/label-template.directive.d.ts +1 -1
  148. package/stepper/template-directives/step-template.directive.d.ts +1 -1
  149. package/tabstrip/directives/tab-content.directive.d.ts +1 -1
  150. package/tabstrip/directives/tab-title.directive.d.ts +1 -1
  151. package/tabstrip/directives/tab.directive.d.ts +1 -1
  152. package/tabstrip/localization/custom-messages.component.d.ts +1 -1
  153. package/tabstrip/localization/localized-messages.directive.d.ts +1 -1
  154. package/tabstrip/localization/messages.d.ts +1 -1
  155. package/tabstrip/models/tabstrip-tab.component.d.ts +1 -1
  156. package/tabstrip/rendering/tab.component.d.ts +1 -1
  157. package/tabstrip/scrollable-button.component.d.ts +1 -1
  158. package/tabstrip/tabstrip.component.d.ts +1 -1
  159. package/tilelayout/tilelayout-item-body.component.d.ts +1 -1
  160. package/tilelayout/tilelayout-item-header.component.d.ts +1 -1
  161. package/tilelayout/tilelayout-item.component.d.ts +1 -1
  162. package/tilelayout/tilelayout-resize-handle.directive.d.ts +1 -1
  163. package/tilelayout/tilelayout.component.d.ts +1 -1
  164. package/timeline/events/navigation-direction.d.ts +5 -0
  165. package/timeline/localization/custom-messages.component.d.ts +17 -0
  166. package/timeline/localization/localized-messages.directive.d.ts +16 -0
  167. package/timeline/localization/messages.d.ts +21 -0
  168. package/timeline/models/anchor-target.d.ts +5 -0
  169. package/{progress-kendo-angular-layout.d.ts → timeline/models/default-model-fields.d.ts} +3 -3
  170. package/timeline/models/model-fields.d.ts +51 -0
  171. package/timeline/models/timeline-event.d.ts +49 -0
  172. package/timeline/templates/timeline-card-actions.directive.d.ts +20 -0
  173. package/timeline/templates/timeline-card-body.directive.d.ts +20 -0
  174. package/timeline/templates/timeline-card-header.directive.d.ts +20 -0
  175. package/timeline/timeline-card.component.d.ts +59 -0
  176. package/timeline/timeline-horizontal.component.d.ts +110 -0
  177. package/timeline/timeline-vertical.component.d.ts +41 -0
  178. package/timeline/timeline.component.d.ts +185 -0
  179. package/timeline/timeline.service.d.ts +17 -0
  180. package/timeline/util.d.ts +18 -0
  181. package/timeline.module.d.ts +31 -0
@@ -0,0 +1,41 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { TimelineMessages } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * Custom component messages override default component messages.
12
+ */
13
+ export class TimelineCustomMessagesComponent extends TimelineMessages {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ get override() {
19
+ return true;
20
+ }
21
+ }
22
+ TimelineCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
+ TimelineCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimelineCustomMessagesComponent, selector: "kendo-timeline-messages", providers: [
24
+ {
25
+ provide: TimelineMessages,
26
+ useExisting: forwardRef(() => TimelineCustomMessagesComponent),
27
+ },
28
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCustomMessagesComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ providers: [
33
+ {
34
+ provide: TimelineMessages,
35
+ useExisting: forwardRef(() => TimelineCustomMessagesComponent),
36
+ },
37
+ ],
38
+ selector: 'kendo-timeline-messages',
39
+ template: ``,
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,37 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { TimelineMessages } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export class LocalizedTimelineMessagesDirective extends TimelineMessages {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ }
19
+ LocalizedTimelineMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedTimelineMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ LocalizedTimelineMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedTimelineMessagesDirective, selector: "[kendoTimelineLocalizedMessages]", providers: [
21
+ {
22
+ provide: TimelineMessages,
23
+ useExisting: forwardRef(() => LocalizedTimelineMessagesDirective),
24
+ },
25
+ ], usesInheritance: true, ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedTimelineMessagesDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ providers: [
30
+ {
31
+ provide: TimelineMessages,
32
+ useExisting: forwardRef(() => LocalizedTimelineMessagesDirective),
33
+ },
34
+ ],
35
+ selector: `[kendoTimelineLocalizedMessages]`
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,25 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, Input } from '@angular/core';
6
+ import { ComponentMessages } from '@progress/kendo-angular-l10n';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export class TimelineMessages extends ComponentMessages {
12
+ }
13
+ TimelineMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ TimelineMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimelineMessages, selector: "kendo-timeline-messages-base", inputs: { previous: "previous", next: "next" }, usesInheritance: true, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineMessages, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ // eslint-disable-next-line @angular-eslint/directive-selector
19
+ selector: 'kendo-timeline-messages-base'
20
+ }]
21
+ }], propDecorators: { previous: [{
22
+ type: Input
23
+ }], next: [{
24
+ type: Input
25
+ }] } });
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,16 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ export const defaultModelFields = {
9
+ title: 'title',
10
+ subtitle: 'subtitle',
11
+ description: 'description',
12
+ date: 'date',
13
+ expanded: 'expanded',
14
+ images: 'images',
15
+ actions: 'actions',
16
+ };
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,29 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, Optional, TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Specifies the actions of each timeline card. To define an actions template, nest an `<ng-template>` tag
9
+ * with the `kendoTimelineCardActionsTemplate` directive inside the `<kendo-timeline>` tag.
10
+ *
11
+ * The following values are available as context variables:
12
+ * - `let-event="event"` (`TimelineEvent`) - The current card's event. Also available as implicit context variable.
13
+ * - `let-index="index"` (`number`) - The current event index.
14
+ */
15
+ export class TimelineCardActionsTemplateDirective {
16
+ constructor(templateRef) {
17
+ this.templateRef = templateRef;
18
+ }
19
+ }
20
+ TimelineCardActionsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardActionsTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
21
+ TimelineCardActionsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimelineCardActionsTemplateDirective, selector: "[kendoTimelineCardActionsTemplate]", ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardActionsTemplateDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[kendoTimelineCardActionsTemplate]'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
28
+ type: Optional
29
+ }] }]; } });
@@ -0,0 +1,29 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, Optional, TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Specifies the body of each timeline card. To define a body template, nest an `<ng-template>` tag
9
+ * with the `kendoTimelineCardBodyTemplate` directive inside the `<kendo-timeline>` tag.
10
+ *
11
+ * The following values are available as context variables:
12
+ * - `let-event="event"` (`TimelineEvent`) - The current card's event. Also available as implicit context variable.
13
+ * - `let-index="index"` (`number`) - The current event index.
14
+ */
15
+ export class TimelineCardBodyTemplateDirective {
16
+ constructor(templateRef) {
17
+ this.templateRef = templateRef;
18
+ }
19
+ }
20
+ TimelineCardBodyTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardBodyTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
21
+ TimelineCardBodyTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimelineCardBodyTemplateDirective, selector: "[kendoTimelineCardBodyTemplate]", ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardBodyTemplateDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[kendoTimelineCardBodyTemplate]'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
28
+ type: Optional
29
+ }] }]; } });
@@ -0,0 +1,29 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, Optional, TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Specifies the header of each timeline card. To define a header template, nest an `<ng-template>` tag
9
+ * with the `kendoTimelineCardHeaderTemplate` directive inside the `<kendo-timeline>` tag.
10
+ *
11
+ * The following values are available as context variables:
12
+ * - `let-event="event"` (`TimelineEvent`) - The current card's event. Also available as implicit context variable.
13
+ * - `let-index="index"` (`number`) - The current event index.
14
+ */
15
+ export class TimelineCardHeaderTemplateDirective {
16
+ constructor(templateRef) {
17
+ this.templateRef = templateRef;
18
+ }
19
+ }
20
+ TimelineCardHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardHeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
21
+ TimelineCardHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimelineCardHeaderTemplateDirective, selector: "[kendoTimelineCardHeaderTemplate]", ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardHeaderTemplateDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[kendoTimelineCardHeaderTemplate]'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
28
+ type: Optional
29
+ }] }]; } });
@@ -0,0 +1,400 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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, ElementRef, HostBinding, HostListener, Input, Renderer2, ViewChild } from '@angular/core';
6
+ import { chevronRightIcon } from '@progress/kendo-svg-icons';
7
+ import { Keys, isChanged } from '@progress/kendo-angular-common';
8
+ import { animate, state, style, transition, trigger } from '@angular/animations';
9
+ import { TimelineService } from './timeline.service';
10
+ import { TimelineCardHeaderTemplateDirective } from './templates/timeline-card-header.directive';
11
+ import { TimelineCardBodyTemplateDirective } from './templates/timeline-card-body.directive';
12
+ import { TimelineCardActionsTemplateDirective } from './templates/timeline-card-actions.directive';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "./timeline.service";
15
+ import * as i2 from "@angular/common";
16
+ import * as i3 from "../card/card.component";
17
+ import * as i4 from "../card/card-header.component";
18
+ import * as i5 from "../card/card-body.component";
19
+ import * as i6 from "../card/card-actions.component";
20
+ import * as i7 from "../card/directives/card-title.directive";
21
+ import * as i8 from "../card/directives/card-subtitle.directive";
22
+ import * as i9 from "../card/directives/card-media.directive";
23
+ import * as i10 from "@progress/kendo-angular-buttons";
24
+ /**
25
+ * @hidden
26
+ */
27
+ export class TimelineCardComponent {
28
+ constructor(element, timelineService, renderer) {
29
+ this.element = element;
30
+ this.timelineService = timelineService;
31
+ this.renderer = renderer;
32
+ this.expanded = false;
33
+ this.collapsible = true;
34
+ this.reversed = false;
35
+ this.hostClass = true;
36
+ this.calloutSvgIcon = chevronRightIcon;
37
+ this.calloutFontIcon = 'arrow-chevron-right';
38
+ this.animationState = this.expanded ? 'expanded' : 'collapsed';
39
+ this.animationInProgress = false;
40
+ }
41
+ set calloutStyle(value) {
42
+ // applies only to horizontal orientation where the callout points upwards
43
+ if (!this.calloutElementRef || !this.calloutElementRef.nativeElement.classList.contains('k-callout-n')) {
44
+ return;
45
+ }
46
+ this.calloutElementRef.nativeElement.style.left = value?.left;
47
+ }
48
+ get collapsedClass() {
49
+ return !this.expanded && !this.animationInProgress && this.animationState === 'collapsed';
50
+ }
51
+ onComponentKeyDown(event) {
52
+ if (!this.navigable) {
53
+ return;
54
+ }
55
+ if (event.keyCode === Keys.Space || event.keyCode === Keys.Enter) {
56
+ event.preventDefault();
57
+ if (this.collapsible && this.orientation === 'vertical') {
58
+ this.expanded = !this.expanded;
59
+ }
60
+ }
61
+ }
62
+ get role() {
63
+ return this.orientation === 'vertical' ? 'button' : 'tabpanel';
64
+ }
65
+ get ariaLive() {
66
+ return this.orientation === 'vertical' ? 'polite' : null;
67
+ }
68
+ get ariaExpanded() {
69
+ return this.orientation === 'vertical' ? this.expanded : null;
70
+ }
71
+ ngAfterViewInit() {
72
+ this.makeOverflowVisible();
73
+ }
74
+ ngOnChanges(changes) {
75
+ if (isChanged('collapsible', changes, false)) {
76
+ if (!this.collapsible) {
77
+ this.expanded = true;
78
+ }
79
+ }
80
+ }
81
+ toggle() {
82
+ if (this.orientation === 'vertical') {
83
+ this.expanded = this.collapsible ? !this.expanded : true;
84
+ this.timelineService.onToggle(this.index);
85
+ }
86
+ }
87
+ expand() {
88
+ if (!this.expanded) {
89
+ this.expanded = true;
90
+ this.timelineService.onToggle(this.index);
91
+ }
92
+ }
93
+ collapse() {
94
+ if (!this.collapsible || !this.expanded) {
95
+ return;
96
+ }
97
+ this.expanded = false;
98
+ this.timelineService.onToggle(this.index);
99
+ }
100
+ onActionClick(event) {
101
+ event.stopPropagation();
102
+ this.timelineService.onActionClick(this.index);
103
+ }
104
+ animationStart() {
105
+ this.animationInProgress = true;
106
+ }
107
+ animationDone(event) {
108
+ this.animationInProgress = false;
109
+ if (event.toState === 'expanded' && event.fromState !== 'expanded') {
110
+ this.animationState = 'expanded';
111
+ this.makeOverflowVisible();
112
+ }
113
+ else if (event.toState === 'collapsed' && event.fromState !== 'collapsed') {
114
+ this.animationState = 'collapsed';
115
+ }
116
+ }
117
+ makeOverflowVisible() {
118
+ if (this.orientation === 'vertical') {
119
+ return;
120
+ }
121
+ const cardBody = this.element?.nativeElement.querySelector('.k-card-body');
122
+ if (cardBody) {
123
+ this.renderer.setStyle(cardBody, 'overflow', 'auto');
124
+ }
125
+ }
126
+ }
127
+ TimelineCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardComponent, deps: [{ token: i0.ElementRef }, { token: i1.TimelineService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
128
+ TimelineCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: { event: "event", expanded: "expanded", collapsible: "collapsible", reversed: "reversed", orientation: "orientation", navigable: "navigable", tabIndex: "tabIndex", animationDuration: "animationDuration", index: "index", eventWidth: "eventWidth", eventHeight: "eventHeight", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", actionsTemplate: "actionsTemplate", calloutStyle: "calloutStyle" }, host: { listeners: { "keydown": "onComponentKeyDown($event)" }, properties: { "class.k-timeline-card": "this.hostClass", "class.k-collapsed": "this.collapsedClass" } }, providers: [], viewQueries: [{ propertyName: "calloutElementRef", first: true, predicate: ["callout"], descendants: true }], exportAs: ["kendoTimelineCard"], usesOnChanges: true, ngImport: i0, template: `
129
+ <kendo-card
130
+ [ngStyle]="{ 'height': orientation === 'horizontal' ? eventHeight + 'px' : null }"
131
+ [width]="orientation === 'horizontal' ? 'auto' : eventWidth + 'px'"
132
+ class="k-card-with-callout k-card-vertical"
133
+ (click)="toggle()"
134
+ [attr.role]="role"
135
+ [attr.aria-live]="ariaLive"
136
+ [attr.aria-expanded]="ariaExpanded"
137
+ [attr.tabindex]="tabIndex"
138
+ >
139
+ <span
140
+ #callout
141
+ class="k-timeline-card-callout k-card-callout"
142
+ [ngClass]="{
143
+ 'k-callout-n': orientation === 'horizontal',
144
+ 'k-callout-w': orientation === 'vertical' && !this.reversed,
145
+ 'k-callout-e': orientation === 'vertical' && this.reversed
146
+ }"
147
+ >
148
+ </span>
149
+ <div *ngIf="event" class="k-card-inner">
150
+ <kendo-card-header>
151
+ <ng-template
152
+ *ngIf="headerTemplate"
153
+ [ngTemplateOutlet]="headerTemplate?.templateRef"
154
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
155
+ >
156
+ </ng-template>
157
+
158
+ <div kendoCardTitle *ngIf="!headerTemplate">
159
+ <span class="k-event-title">{{ event.title }}</span>
160
+ <button
161
+ kendoButton
162
+ *ngIf="collapsible && orientation === 'vertical'"
163
+ [icon]="calloutFontIcon"
164
+ [svgIcon]="calloutSvgIcon"
165
+ class="k-event-collapse"
166
+ fillMode="flat"
167
+ [attr.aria-hidden]="true"
168
+ tabindex="-1"
169
+ type="button"
170
+ ></button>
171
+ </div>
172
+ <div kendoCardSubtitle *ngIf="!headerTemplate">{{ event.subtitle }}</div>
173
+ </kendo-card-header>
174
+
175
+ <kendo-card-body
176
+ *ngIf="event.description || event.images"
177
+ [@toggle]="{value: expanded ? 'expanded' : 'collapsed', params: {animationDuration: this.animationDuration || 0}}"
178
+ (@toggle.start)="animationStart()"
179
+ (@toggle.done)="animationDone($event)"
180
+ >
181
+ <ng-template
182
+ *ngIf="bodyTemplate"
183
+ [ngTemplateOutlet]="bodyTemplate?.templateRef"
184
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
185
+ >
186
+ </ng-template>
187
+
188
+ <div *ngIf="!bodyTemplate" class="k-card-description">
189
+ <p *ngIf="event.description">{{ event.description }}</p>
190
+ <ng-container *ngFor="let image of event.images">
191
+ <img *ngIf="image.alt" kendoCardMedia [src]="image.src" [alt]="image.alt" />
192
+ <img *ngIf="!image.alt" kendoCardMedia [src]="image.src" />
193
+ </ng-container>
194
+ </div>
195
+ </kendo-card-body>
196
+
197
+ <kendo-card-actions
198
+ *ngIf="event.actions"
199
+ [@toggle]="{value: expanded ? 'expanded' : 'collapsed', params: {animationDuration: this.animationDuration || 0}}"
200
+ >
201
+ <ng-template
202
+ *ngIf="actionsTemplate"
203
+ [ngTemplateOutlet]="actionsTemplate?.templateRef"
204
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
205
+ >
206
+ </ng-template>
207
+
208
+ <ng-container *ngIf="!actionsTemplate">
209
+ <a *ngFor="let action of event.actions"
210
+ [href]="action.url"
211
+ [target]="action.target === 'blank' ? '_blank' : '_self'"
212
+ (click)="onActionClick($event)"
213
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-primary"
214
+ role="button"
215
+ >
216
+ {{ action.text }}
217
+ </a>
218
+ </ng-container>
219
+ </kendo-card-actions>
220
+ </div>
221
+ </kendo-card>
222
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { kind: "component", type: i4.CardHeaderComponent, selector: "kendo-card-header" }, { kind: "component", type: i5.CardBodyComponent, selector: "kendo-card-body" }, { kind: "component", type: i6.CardActionsComponent, selector: "kendo-card-actions", inputs: ["orientation", "layout", "actions"], outputs: ["action"] }, { kind: "directive", type: i7.CardTitleDirective, selector: "[kendoCardTitle]" }, { kind: "directive", type: i8.CardSubtitleDirective, selector: "[kendoCardSubtitle]" }, { kind: "directive", type: i9.CardMediaDirective, selector: "[kendoCardMedia]" }, { kind: "component", type: i10.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], animations: [
223
+ trigger('toggle', [
224
+ state('collapsed', style({
225
+ height: '0',
226
+ 'overflow-y': 'hidden',
227
+ display: 'none'
228
+ })),
229
+ state('expanded', style({
230
+ height: '*',
231
+ 'overflow-y': 'hidden',
232
+ display: 'block'
233
+ })),
234
+ transition('collapsed <=> expanded', [
235
+ animate('{{animationDuration}}ms')
236
+ ], { params: { animationDuration: '400' } }),
237
+ ])
238
+ ] });
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimelineCardComponent, decorators: [{
240
+ type: Component,
241
+ args: [{
242
+ animations: [
243
+ trigger('toggle', [
244
+ state('collapsed', style({
245
+ height: '0',
246
+ 'overflow-y': 'hidden',
247
+ display: 'none'
248
+ })),
249
+ state('expanded', style({
250
+ height: '*',
251
+ 'overflow-y': 'hidden',
252
+ display: 'block'
253
+ })),
254
+ transition('collapsed <=> expanded', [
255
+ animate('{{animationDuration}}ms')
256
+ ], { params: { animationDuration: '400' } }),
257
+ ])
258
+ ],
259
+ providers: [],
260
+ exportAs: 'kendoTimelineCard',
261
+ selector: 'kendo-timeline-card',
262
+ template: `
263
+ <kendo-card
264
+ [ngStyle]="{ 'height': orientation === 'horizontal' ? eventHeight + 'px' : null }"
265
+ [width]="orientation === 'horizontal' ? 'auto' : eventWidth + 'px'"
266
+ class="k-card-with-callout k-card-vertical"
267
+ (click)="toggle()"
268
+ [attr.role]="role"
269
+ [attr.aria-live]="ariaLive"
270
+ [attr.aria-expanded]="ariaExpanded"
271
+ [attr.tabindex]="tabIndex"
272
+ >
273
+ <span
274
+ #callout
275
+ class="k-timeline-card-callout k-card-callout"
276
+ [ngClass]="{
277
+ 'k-callout-n': orientation === 'horizontal',
278
+ 'k-callout-w': orientation === 'vertical' && !this.reversed,
279
+ 'k-callout-e': orientation === 'vertical' && this.reversed
280
+ }"
281
+ >
282
+ </span>
283
+ <div *ngIf="event" class="k-card-inner">
284
+ <kendo-card-header>
285
+ <ng-template
286
+ *ngIf="headerTemplate"
287
+ [ngTemplateOutlet]="headerTemplate?.templateRef"
288
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
289
+ >
290
+ </ng-template>
291
+
292
+ <div kendoCardTitle *ngIf="!headerTemplate">
293
+ <span class="k-event-title">{{ event.title }}</span>
294
+ <button
295
+ kendoButton
296
+ *ngIf="collapsible && orientation === 'vertical'"
297
+ [icon]="calloutFontIcon"
298
+ [svgIcon]="calloutSvgIcon"
299
+ class="k-event-collapse"
300
+ fillMode="flat"
301
+ [attr.aria-hidden]="true"
302
+ tabindex="-1"
303
+ type="button"
304
+ ></button>
305
+ </div>
306
+ <div kendoCardSubtitle *ngIf="!headerTemplate">{{ event.subtitle }}</div>
307
+ </kendo-card-header>
308
+
309
+ <kendo-card-body
310
+ *ngIf="event.description || event.images"
311
+ [@toggle]="{value: expanded ? 'expanded' : 'collapsed', params: {animationDuration: this.animationDuration || 0}}"
312
+ (@toggle.start)="animationStart()"
313
+ (@toggle.done)="animationDone($event)"
314
+ >
315
+ <ng-template
316
+ *ngIf="bodyTemplate"
317
+ [ngTemplateOutlet]="bodyTemplate?.templateRef"
318
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
319
+ >
320
+ </ng-template>
321
+
322
+ <div *ngIf="!bodyTemplate" class="k-card-description">
323
+ <p *ngIf="event.description">{{ event.description }}</p>
324
+ <ng-container *ngFor="let image of event.images">
325
+ <img *ngIf="image.alt" kendoCardMedia [src]="image.src" [alt]="image.alt" />
326
+ <img *ngIf="!image.alt" kendoCardMedia [src]="image.src" />
327
+ </ng-container>
328
+ </div>
329
+ </kendo-card-body>
330
+
331
+ <kendo-card-actions
332
+ *ngIf="event.actions"
333
+ [@toggle]="{value: expanded ? 'expanded' : 'collapsed', params: {animationDuration: this.animationDuration || 0}}"
334
+ >
335
+ <ng-template
336
+ *ngIf="actionsTemplate"
337
+ [ngTemplateOutlet]="actionsTemplate?.templateRef"
338
+ [ngTemplateOutletContext]="{ $implicit: event, index: index}">
339
+ >
340
+ </ng-template>
341
+
342
+ <ng-container *ngIf="!actionsTemplate">
343
+ <a *ngFor="let action of event.actions"
344
+ [href]="action.url"
345
+ [target]="action.target === 'blank' ? '_blank' : '_self'"
346
+ (click)="onActionClick($event)"
347
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-primary"
348
+ role="button"
349
+ >
350
+ {{ action.text }}
351
+ </a>
352
+ </ng-container>
353
+ </kendo-card-actions>
354
+ </div>
355
+ </kendo-card>
356
+ `,
357
+ }]
358
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TimelineService }, { type: i0.Renderer2 }]; }, propDecorators: { event: [{
359
+ type: Input
360
+ }], expanded: [{
361
+ type: Input
362
+ }], collapsible: [{
363
+ type: Input
364
+ }], reversed: [{
365
+ type: Input
366
+ }], orientation: [{
367
+ type: Input
368
+ }], navigable: [{
369
+ type: Input
370
+ }], tabIndex: [{
371
+ type: Input
372
+ }], animationDuration: [{
373
+ type: Input
374
+ }], index: [{
375
+ type: Input
376
+ }], eventWidth: [{
377
+ type: Input
378
+ }], eventHeight: [{
379
+ type: Input
380
+ }], headerTemplate: [{
381
+ type: Input
382
+ }], bodyTemplate: [{
383
+ type: Input
384
+ }], actionsTemplate: [{
385
+ type: Input
386
+ }], calloutStyle: [{
387
+ type: Input
388
+ }], calloutElementRef: [{
389
+ type: ViewChild,
390
+ args: ['callout']
391
+ }], hostClass: [{
392
+ type: HostBinding,
393
+ args: ['class.k-timeline-card']
394
+ }], collapsedClass: [{
395
+ type: HostBinding,
396
+ args: ['class.k-collapsed']
397
+ }], onComponentKeyDown: [{
398
+ type: HostListener,
399
+ args: ['keydown', ['$event']]
400
+ }] } });