@progress/kendo-angular-layout 17.0.0-develop.20 → 17.0.0-develop.22

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 (239) hide show
  1. package/avatar/avatar.component.d.ts +1 -1
  2. package/avatar/l10n/messages.d.ts +1 -1
  3. package/avatar/models/fill.d.ts +1 -1
  4. package/avatar/models/rounded.d.ts +1 -1
  5. package/avatar/models/shape.d.ts +2 -2
  6. package/avatar/models/size.d.ts +1 -1
  7. package/avatar/models/theme-color.d.ts +1 -1
  8. package/card/card-actions.component.d.ts +1 -1
  9. package/card/card.component.d.ts +1 -1
  10. package/card/directives/card-separator.directive.d.ts +1 -1
  11. package/card/models/actions-layout.d.ts +1 -1
  12. package/common/direction.d.ts +1 -1
  13. package/common/orientation.d.ts +1 -1
  14. package/drawer/drawer.component.d.ts +1 -1
  15. package/drawer/item.component.d.ts +1 -1
  16. package/drawer/list.component.d.ts +1 -1
  17. package/drawer/models/drawer-item-expand.interface.d.ts +1 -1
  18. package/drawer/models/mode.d.ts +1 -1
  19. package/drawer/models/position.d.ts +1 -1
  20. package/{esm2020 → esm2022}/avatar/avatar.component.mjs +61 -25
  21. package/{esm2020 → esm2022}/avatar/l10n/custom-messages.component.mjs +9 -8
  22. package/{esm2020 → esm2022}/avatar/l10n/localized-messages.directive.mjs +9 -8
  23. package/{esm2020 → esm2022}/avatar/l10n/messages.mjs +7 -3
  24. package/{esm2020 → esm2022}/avatar.module.mjs +4 -4
  25. package/{esm2020 → esm2022}/card/card-actions.component.mjs +37 -31
  26. package/{esm2020 → esm2022}/card/card-body.component.mjs +5 -7
  27. package/{esm2020 → esm2022}/card/card-footer.component.mjs +5 -7
  28. package/{esm2020 → esm2022}/card/card-header.component.mjs +5 -7
  29. package/{esm2020 → esm2022}/card/card.component.mjs +40 -34
  30. package/{esm2020 → esm2022}/card/directives/card-media.directive.mjs +4 -6
  31. package/{esm2020 → esm2022}/card/directives/card-separator.directive.mjs +16 -14
  32. package/{esm2020 → esm2022}/card/directives/card-subtitle.directive.mjs +4 -6
  33. package/{esm2020 → esm2022}/card/directives/card-title.directive.mjs +4 -6
  34. package/{esm2020 → esm2022}/card/models/card-action.mjs +12 -0
  35. package/{esm2020 → esm2022}/card.module.mjs +4 -4
  36. package/{esm2020 → esm2022}/common/preventable-event.mjs +7 -7
  37. package/{esm2020 → esm2022}/drawer/drawer-container.component.mjs +28 -18
  38. package/{esm2020 → esm2022}/drawer/drawer-content.component.mjs +6 -7
  39. package/{esm2020 → esm2022}/drawer/drawer.component.mjs +132 -106
  40. package/{esm2020 → esm2022}/drawer/drawer.service.mjs +10 -10
  41. package/{esm2020 → esm2022}/drawer/events/drawer-list-select.event.mjs +12 -0
  42. package/{esm2020 → esm2022}/drawer/events/select-event.mjs +16 -0
  43. package/{esm2020 → esm2022}/drawer/item.component.mjs +22 -11
  44. package/{esm2020 → esm2022}/drawer/list.component.mjs +14 -6
  45. package/{esm2020 → esm2022}/drawer/template-directives/drawer-template.directive.mjs +4 -3
  46. package/{esm2020 → esm2022}/drawer/template-directives/footer-template.directive.mjs +4 -3
  47. package/{esm2020 → esm2022}/drawer/template-directives/header-template.directive.mjs +4 -3
  48. package/{esm2020 → esm2022}/drawer/template-directives/item-template.directive.mjs +4 -3
  49. package/{esm2020 → esm2022}/drawer.module.mjs +4 -4
  50. package/{esm2020 → esm2022}/expansionpanel/events/action-event.mjs +4 -0
  51. package/{esm2020 → esm2022}/expansionpanel/expansionpanel-title.directive.mjs +4 -3
  52. package/{esm2020 → esm2022}/expansionpanel/expansionpanel.component.mjs +103 -81
  53. package/{esm2020 → esm2022}/expansionpanel.module.mjs +4 -4
  54. package/{esm2020 → esm2022}/gridlayout.module.mjs +4 -4
  55. package/{esm2020 → esm2022}/layout.module.mjs +4 -4
  56. package/{esm2020 → esm2022}/layouts/grid-layout.component.mjs +57 -26
  57. package/{esm2020 → esm2022}/layouts/gridlayout-item.component.mjs +26 -4
  58. package/{esm2020 → esm2022}/layouts/stack-layout.component.mjs +40 -35
  59. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  60. package/{esm2020 → esm2022}/panelbar/events/collapse-event.mjs +4 -0
  61. package/{esm2020 → esm2022}/panelbar/events/expand-event.mjs +4 -0
  62. package/{esm2020 → esm2022}/panelbar/events/item-click-event.mjs +8 -0
  63. package/{esm2020 → esm2022}/panelbar/events/select-event.mjs +4 -0
  64. package/{esm2020 → esm2022}/panelbar/events/state-change-event.mjs +4 -0
  65. package/{esm2020 → esm2022}/panelbar/panelbar-content.directive.mjs +4 -3
  66. package/{esm2020 → esm2022}/panelbar/panelbar-item-template.directive.mjs +4 -3
  67. package/{esm2020 → esm2022}/panelbar/panelbar-item-title.directive.mjs +4 -3
  68. package/{esm2020 → esm2022}/panelbar/panelbar-item.component.mjs +99 -64
  69. package/{esm2020 → esm2022}/panelbar/panelbar.component.mjs +109 -98
  70. package/{esm2020 → esm2022}/panelbar/panelbar.service.mjs +23 -13
  71. package/{esm2020 → esm2022}/panelbar.module.mjs +4 -4
  72. package/{esm2020 → esm2022}/splitter/splitter-bar.component.mjs +26 -19
  73. package/{esm2020 → esm2022}/splitter/splitter-pane.component.mjs +78 -56
  74. package/{esm2020 → esm2022}/splitter/splitter.component.mjs +60 -33
  75. package/{esm2020 → esm2022}/splitter/splitter.service.mjs +11 -6
  76. package/{esm2020 → esm2022}/splitter.module.mjs +4 -4
  77. package/{esm2020 → esm2022}/stacklayout.module.mjs +4 -4
  78. package/{esm2020 → esm2022}/stepper/events/activate-event.mjs +16 -0
  79. package/{esm2020 → esm2022}/stepper/list.component.mjs +23 -5
  80. package/{esm2020 → esm2022}/stepper/localization/custom-messages.component.mjs +9 -8
  81. package/{esm2020 → esm2022}/stepper/localization/localized-messages.directive.mjs +9 -8
  82. package/{esm2020 → esm2022}/stepper/localization/messages.mjs +7 -3
  83. package/{esm2020 → esm2022}/stepper/step.component.mjs +25 -8
  84. package/{esm2020 → esm2022}/stepper/stepper.component.mjs +109 -68
  85. package/{esm2020 → esm2022}/stepper/stepper.service.mjs +30 -9
  86. package/{esm2020 → esm2022}/stepper/template-directives/indicator-template.directive.mjs +4 -3
  87. package/{esm2020 → esm2022}/stepper/template-directives/label-template.directive.mjs +4 -3
  88. package/{esm2020 → esm2022}/stepper/template-directives/step-template.directive.mjs +4 -3
  89. package/{esm2020 → esm2022}/stepper.module.mjs +4 -4
  90. package/{esm2020 → esm2022}/tabstrip/directives/tab-content.directive.mjs +4 -3
  91. package/{esm2020 → esm2022}/tabstrip/directives/tab-title.directive.mjs +4 -3
  92. package/{esm2020 → esm2022}/tabstrip/directives/tab.directive.mjs +4 -3
  93. package/{esm2020 → esm2022}/tabstrip/events/select-event.mjs +2 -0
  94. package/{esm2020 → esm2022}/tabstrip/events/tabclose-event.mjs +2 -0
  95. package/{esm2020 → esm2022}/tabstrip/events/tabscroll-event.mjs +4 -0
  96. package/{esm2020 → esm2022}/tabstrip/localization/custom-messages.component.mjs +9 -8
  97. package/{esm2020 → esm2022}/tabstrip/localization/localized-messages.directive.mjs +9 -8
  98. package/{esm2020 → esm2022}/tabstrip/localization/messages.mjs +15 -3
  99. package/esm2022/tabstrip/models/tabstrip-tab.component.mjs +117 -0
  100. package/{esm2020 → esm2022}/tabstrip/rendering/tab.component.mjs +16 -9
  101. package/{esm2020 → esm2022}/tabstrip/scrollable-button.component.mjs +33 -27
  102. package/{esm2020 → esm2022}/tabstrip/tabstrip-scroll.service.mjs +11 -9
  103. package/{esm2020 → esm2022}/tabstrip/tabstrip.component.mjs +141 -107
  104. package/{esm2020 → esm2022}/tabstrip/tabstrip.service.mjs +6 -3
  105. package/{esm2020 → esm2022}/tabstrip.module.mjs +4 -4
  106. package/{esm2020 → esm2022}/tilelayout/dragging-service.mjs +39 -18
  107. package/{esm2020 → esm2022}/tilelayout/keyboard-navigation.service.mjs +9 -4
  108. package/{esm2020 → esm2022}/tilelayout/reorder-event.mjs +8 -0
  109. package/{esm2020 → esm2022}/tilelayout/resize-event.mjs +6 -0
  110. package/{esm2020 → esm2022}/tilelayout/tilelayout-item-body.component.mjs +6 -8
  111. package/{esm2020 → esm2022}/tilelayout/tilelayout-item-header.component.mjs +11 -9
  112. package/{esm2020 → esm2022}/tilelayout/tilelayout-item.component.mjs +78 -48
  113. package/{esm2020 → esm2022}/tilelayout/tilelayout-resize-handle.directive.mjs +7 -3
  114. package/{esm2020 → esm2022}/tilelayout/tilelayout.component.mjs +101 -88
  115. package/{esm2020 → esm2022}/tilelayout.module.mjs +4 -4
  116. package/{esm2020 → esm2022}/timeline/localization/custom-messages.component.mjs +9 -8
  117. package/{esm2020 → esm2022}/timeline/localization/localized-messages.directive.mjs +9 -8
  118. package/{esm2020 → esm2022}/timeline/localization/messages.mjs +11 -3
  119. package/{esm2020 → esm2022}/timeline/templates/timeline-card-actions.directive.mjs +4 -3
  120. package/{esm2020 → esm2022}/timeline/templates/timeline-card-body.directive.mjs +4 -3
  121. package/{esm2020 → esm2022}/timeline/templates/timeline-card-header.directive.mjs +4 -3
  122. package/{esm2020 → esm2022}/timeline/timeline-card.component.mjs +48 -33
  123. package/{esm2020 → esm2022}/timeline/timeline-horizontal.component.mjs +74 -45
  124. package/{esm2020 → esm2022}/timeline/timeline-vertical.component.mjs +20 -6
  125. package/{esm2020 → esm2022}/timeline/timeline.component.mjs +108 -68
  126. package/{esm2020 → esm2022}/timeline/timeline.service.mjs +4 -3
  127. package/{esm2020 → esm2022}/timeline.module.mjs +4 -4
  128. package/expansionpanel/events/action-event.d.ts +1 -1
  129. package/expansionpanel/expansionpanel.component.d.ts +1 -1
  130. package/{fesm2020 → fesm2022}/progress-kendo-angular-layout.mjs +2336 -1528
  131. package/layouts/grid-layout.component.d.ts +1 -1
  132. package/layouts/gridlayout-item.component.d.ts +1 -1
  133. package/layouts/models/layout-horizontal-align.d.ts +1 -1
  134. package/layouts/models/layout-vertical-align.d.ts +1 -1
  135. package/layouts/stack-layout.component.d.ts +1 -1
  136. package/package.json +16 -22
  137. package/panelbar/panelbar-item.component.d.ts +1 -1
  138. package/panelbar/panelbar.component.d.ts +1 -1
  139. package/splitter/splitter-bar.component.d.ts +1 -1
  140. package/splitter/splitter-pane.component.d.ts +1 -1
  141. package/splitter/splitter.component.d.ts +1 -1
  142. package/splitter/splitter.service.d.ts +2 -2
  143. package/stepper/list.component.d.ts +1 -1
  144. package/stepper/localization/messages.d.ts +1 -1
  145. package/stepper/models/orientation.d.ts +1 -1
  146. package/stepper/models/step-predicate.d.ts +1 -1
  147. package/stepper/models/step-type.d.ts +1 -1
  148. package/stepper/step.component.d.ts +1 -1
  149. package/stepper/stepper.component.d.ts +1 -1
  150. package/tabstrip/localization/messages.d.ts +1 -1
  151. package/tabstrip/models/button-state-change.d.ts +1 -1
  152. package/tabstrip/models/scroll-button-type.d.ts +1 -1
  153. package/tabstrip/models/scroll-buttons-visibility.d.ts +1 -1
  154. package/tabstrip/models/tab-alignment.d.ts +1 -1
  155. package/tabstrip/models/tab-position.d.ts +1 -1
  156. package/tabstrip/models/tabstrip-tab.component.d.ts +1 -1
  157. package/tabstrip/rendering/tab.component.d.ts +1 -1
  158. package/tabstrip/scrollable-button.component.d.ts +1 -1
  159. package/tabstrip/tabstrip.component.d.ts +1 -1
  160. package/tilelayout/models/flowmode.type.d.ts +1 -1
  161. package/tilelayout/tilelayout-item-header.component.d.ts +1 -1
  162. package/tilelayout/tilelayout-item.component.d.ts +1 -1
  163. package/tilelayout/tilelayout-resize-handle.directive.d.ts +1 -1
  164. package/tilelayout/tilelayout.component.d.ts +1 -1
  165. package/timeline/events/navigation-direction.d.ts +1 -1
  166. package/timeline/localization/messages.d.ts +1 -1
  167. package/timeline/models/anchor-target.d.ts +1 -1
  168. package/timeline/timeline-card.component.d.ts +1 -1
  169. package/timeline/timeline-horizontal.component.d.ts +1 -1
  170. package/timeline/timeline-vertical.component.d.ts +1 -1
  171. package/timeline/timeline.component.d.ts +1 -1
  172. package/esm2020/tabstrip/models/tabstrip-tab.component.mjs +0 -78
  173. package/fesm2015/progress-kendo-angular-layout.mjs +0 -12495
  174. /package/{esm2020 → esm2022}/avatar/models/fill.mjs +0 -0
  175. /package/{esm2020 → esm2022}/avatar/models/models.mjs +0 -0
  176. /package/{esm2020 → esm2022}/avatar/models/rounded.mjs +0 -0
  177. /package/{esm2020 → esm2022}/avatar/models/shape.mjs +0 -0
  178. /package/{esm2020 → esm2022}/avatar/models/size.mjs +0 -0
  179. /package/{esm2020 → esm2022}/avatar/models/theme-color.mjs +0 -0
  180. /package/{esm2020 → esm2022}/card/models/actions-layout.mjs +0 -0
  181. /package/{esm2020 → esm2022}/common/direction.mjs +0 -0
  182. /package/{esm2020 → esm2022}/common/dom-queries.mjs +0 -0
  183. /package/{esm2020 → esm2022}/common/orientation.mjs +0 -0
  184. /package/{esm2020 → esm2022}/common/styling-classes.mjs +0 -0
  185. /package/{esm2020 → esm2022}/common/util.mjs +0 -0
  186. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  187. /package/{esm2020 → esm2022}/drawer/animations.mjs +0 -0
  188. /package/{esm2020 → esm2022}/drawer/models/constants.mjs +0 -0
  189. /package/{esm2020 → esm2022}/drawer/models/drawer-animation.interface.mjs +0 -0
  190. /package/{esm2020 → esm2022}/drawer/models/drawer-item-expand.interface.mjs +0 -0
  191. /package/{esm2020 → esm2022}/drawer/models/drawer-item.interface.mjs +0 -0
  192. /package/{esm2020 → esm2022}/drawer/models/drawer-view-item.interface.mjs +0 -0
  193. /package/{esm2020 → esm2022}/drawer/models/mode.mjs +0 -0
  194. /package/{esm2020 → esm2022}/drawer/models/position.mjs +0 -0
  195. /package/{esm2020 → esm2022}/drawer/template-directives.mjs +0 -0
  196. /package/{esm2020 → esm2022}/drawer/types.mjs +0 -0
  197. /package/{esm2020 → esm2022}/drawer/util.mjs +0 -0
  198. /package/{esm2020 → esm2022}/expansionpanel/animations.mjs +0 -0
  199. /package/{esm2020 → esm2022}/index.mjs +0 -0
  200. /package/{esm2020 → esm2022}/layouts/models/gridlayout-gap-settings.mjs +0 -0
  201. /package/{esm2020 → esm2022}/layouts/models/gridlayout-row-col-size.mjs +0 -0
  202. /package/{esm2020 → esm2022}/layouts/models/layout-align-settings.mjs +0 -0
  203. /package/{esm2020 → esm2022}/layouts/models/layout-horizontal-align.mjs +0 -0
  204. /package/{esm2020 → esm2022}/layouts/models/layout-vertical-align.mjs +0 -0
  205. /package/{esm2020 → esm2022}/layouts/models.mjs +0 -0
  206. /package/{esm2020 → esm2022}/layouts/util.mjs +0 -0
  207. /package/{esm2020 → esm2022}/panelbar/events.mjs +0 -0
  208. /package/{esm2020 → esm2022}/panelbar/panelbar-expand-mode.mjs +0 -0
  209. /package/{esm2020 → esm2022}/panelbar/panelbar-item-model.mjs +0 -0
  210. /package/{esm2020 → esm2022}/progress-kendo-angular-layout.mjs +0 -0
  211. /package/{esm2020 → esm2022}/splitter/util.mjs +0 -0
  212. /package/{esm2020 → esm2022}/stepper/models/constants.mjs +0 -0
  213. /package/{esm2020 → esm2022}/stepper/models/orientation.mjs +0 -0
  214. /package/{esm2020 → esm2022}/stepper/models/step-predicate.mjs +0 -0
  215. /package/{esm2020 → esm2022}/stepper/models/step-type.mjs +0 -0
  216. /package/{esm2020 → esm2022}/stepper/models/stepper-step.interface.mjs +0 -0
  217. /package/{esm2020 → esm2022}/stepper/template-directives.mjs +0 -0
  218. /package/{esm2020 → esm2022}/stepper/types.mjs +0 -0
  219. /package/{esm2020 → esm2022}/tabstrip/constants.mjs +0 -0
  220. /package/{esm2020 → esm2022}/tabstrip/events.mjs +0 -0
  221. /package/{esm2020 → esm2022}/tabstrip/models/button-state-change.mjs +0 -0
  222. /package/{esm2020 → esm2022}/tabstrip/models/scroll-button-type.mjs +0 -0
  223. /package/{esm2020 → esm2022}/tabstrip/models/scroll-buttons-visibility.mjs +0 -0
  224. /package/{esm2020 → esm2022}/tabstrip/models/scrollable-settings.mjs +0 -0
  225. /package/{esm2020 → esm2022}/tabstrip/models/tab-alignment.mjs +0 -0
  226. /package/{esm2020 → esm2022}/tabstrip/models/tab-position.mjs +0 -0
  227. /package/{esm2020 → esm2022}/tabstrip/util.mjs +0 -0
  228. /package/{esm2020 → esm2022}/tilelayout/constants.mjs +0 -0
  229. /package/{esm2020 → esm2022}/tilelayout/models/dragging-config.interface.mjs +0 -0
  230. /package/{esm2020 → esm2022}/tilelayout/models/flowmode.type.mjs +0 -0
  231. /package/{esm2020 → esm2022}/tilelayout/models/gap.interface.mjs +0 -0
  232. /package/{esm2020 → esm2022}/tilelayout/models/navigation.interface.mjs +0 -0
  233. /package/{esm2020 → esm2022}/tilelayout/util.mjs +0 -0
  234. /package/{esm2020 → esm2022}/timeline/events/navigation-direction.mjs +0 -0
  235. /package/{esm2020 → esm2022}/timeline/models/anchor-target.mjs +0 -0
  236. /package/{esm2020 → esm2022}/timeline/models/default-model-fields.mjs +0 -0
  237. /package/{esm2020 → esm2022}/timeline/models/model-fields.mjs +0 -0
  238. /package/{esm2020 → esm2022}/timeline/models/timeline-event.mjs +0 -0
  239. /package/{esm2020 → esm2022}/timeline/util.mjs +0 -0
@@ -0,0 +1,117 @@
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, Input, ContentChildren, QueryList } from '@angular/core';
6
+ import { TabContentDirective } from '../directives/tab-content.directive';
7
+ import { TabTitleDirective } from '../directives/tab-title.directive';
8
+ import { TabTemplateDirective } from '../directives/tab.directive';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Represents the tab component of the TabStrip.
12
+ */
13
+ export class TabStripTabComponent {
14
+ /**
15
+ * Sets the tab title ([see example](slug:tabs_tabstrip#toc-tab-titles)).
16
+ */
17
+ title;
18
+ /**
19
+ * Used to disable a tab ([see example]({% slug tabs_tabstrip %}#toc-disabled-tabs)).
20
+ *
21
+ * Defaults to `false`.
22
+ */
23
+ disabled = false;
24
+ /**
25
+ * The CSS classes that will be rendered on the `tab` element.
26
+ * Supports the type of values that are supported by [ngClass](link:site.data.urls.angular['ngclassapi']).
27
+ */
28
+ cssClass;
29
+ /**
30
+ * The CSS styles that will be rendered on the `tab` element.
31
+ * Supports the type of values that are supported by [ngStyle](link:site.data.urls.angular['ngstyleapi']).
32
+ */
33
+ cssStyle;
34
+ /**
35
+ * Determines which tab will be selected upon the initial loading of the TabStrip
36
+ * ([see example](slug:tabs_tabstrip#toc-selected-tab)).
37
+ */
38
+ selected;
39
+ /**
40
+ * When set to `true`, a close button will be rendered inside the tab.
41
+ * This option overrides the value of the TabStrip `closable` option.
42
+ */
43
+ closable;
44
+ /**
45
+ * Defines the name for an existing font icon in the Kendo UI theme for the close icon.
46
+ * This option overrides the value of the TabStrip `closeIcon` option.
47
+ */
48
+ closeIcon;
49
+ /**
50
+ * Allows the usage of custom icons by defining a custom CSS class, or multiple classes separated by spaces.
51
+ * This option overrides the value of the TabStrip `closeIcon` option.
52
+ */
53
+ closeIconClass;
54
+ /**
55
+ * Defines an SVGIcon to be rendered for the close icon.
56
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
57
+ */
58
+ closeSVGIcon;
59
+ get tabContent() {
60
+ return this._tabContent.first;
61
+ }
62
+ get tabTitle() {
63
+ return this._tabTitleDirective.first;
64
+ }
65
+ get tabTemplate() {
66
+ return this._tabDirective.first;
67
+ }
68
+ _tabDirective = new QueryList();
69
+ _tabContent = new QueryList();
70
+ // guards against nested tabstrip components; `descendants` is not defined by default;
71
+ _tabTitleDirective;
72
+ /**
73
+ * @hidden
74
+ *
75
+ * Currently only disabled tabs can be focused. Otherwise they will be
76
+ * immediately selected
77
+ */
78
+ focused = false;
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TabStripTabComponent, isStandalone: true, selector: "kendo-tabstrip-tab", inputs: { title: "title", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", selected: "selected", closable: "closable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon" }, queries: [{ propertyName: "_tabDirective", predicate: TabTemplateDirective }, { propertyName: "_tabContent", predicate: TabContentDirective }, { propertyName: "_tabTitleDirective", predicate: TabTitleDirective }], exportAs: ["kendoTabStripTab"], ngImport: i0, template: ``, isInline: true });
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripTabComponent, decorators: [{
83
+ type: Component,
84
+ args: [{
85
+ exportAs: 'kendoTabStripTab',
86
+ selector: 'kendo-tabstrip-tab',
87
+ template: ``,
88
+ standalone: true
89
+ }]
90
+ }], propDecorators: { title: [{
91
+ type: Input
92
+ }], disabled: [{
93
+ type: Input
94
+ }], cssClass: [{
95
+ type: Input
96
+ }], cssStyle: [{
97
+ type: Input
98
+ }], selected: [{
99
+ type: Input
100
+ }], closable: [{
101
+ type: Input
102
+ }], closeIcon: [{
103
+ type: Input
104
+ }], closeIconClass: [{
105
+ type: Input
106
+ }], closeSVGIcon: [{
107
+ type: Input
108
+ }], _tabDirective: [{
109
+ type: ContentChildren,
110
+ args: [TabTemplateDirective]
111
+ }], _tabContent: [{
112
+ type: ContentChildren,
113
+ args: [TabContentDirective]
114
+ }], _tabTitleDirective: [{
115
+ type: ContentChildren,
116
+ args: [TabTitleDirective]
117
+ }] } });
@@ -15,11 +15,15 @@ import * as i1 from "@progress/kendo-angular-l10n";
15
15
  * @hidden
16
16
  */
17
17
  export class TabComponent {
18
- constructor(localization) {
19
- this.localization = localization;
20
- this.tabClose = new EventEmitter();
21
- this.hostClasses = true;
22
- }
18
+ localization;
19
+ tab;
20
+ index;
21
+ tabStripClosable;
22
+ tabStripCloseIcon;
23
+ customTabstripCloseIcon;
24
+ closeSVGIcon;
25
+ tabClose = new EventEmitter();
26
+ hostClasses = true;
23
27
  get activeClass() {
24
28
  return this.tab.selected;
25
29
  }
@@ -32,6 +36,9 @@ export class TabComponent {
32
36
  get tabIndex() {
33
37
  return this.tab.selected || this.tab.focused ? 0 : -1;
34
38
  }
39
+ constructor(localization) {
40
+ this.localization = localization;
41
+ }
35
42
  get tabClosable() {
36
43
  if (this.tab.closable !== undefined) {
37
44
  return this.tab.closable;
@@ -73,9 +80,8 @@ export class TabComponent {
73
80
  const closeArgs = new TabCloseEvent(index, this.tab);
74
81
  this.tabClose.emit(closeArgs);
75
82
  }
76
- }
77
- TabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
78
- TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "attr.aria-selected": "this.activeClass", "class.k-active": "this.activeClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-focus": "this.focusedClass", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: `
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "attr.aria-selected": "this.activeClass", "class.k-active": "this.activeClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-focus": "this.focusedClass", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: `
79
85
  <ng-container *ngIf="!tab.tabTemplate; else tabTemplate">
80
86
  <span class="k-link" *ngIf="!tab.tabTitle">
81
87
  <span class="k-link-text">{{ tab.title }}</span>
@@ -104,7 +110,8 @@ TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
104
110
  class="k-remove-tab k-icon-button"
105
111
  ></button>
106
112
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabComponent, decorators: [{
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabComponent, decorators: [{
108
115
  type: Component,
109
116
  args: [{
110
117
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -17,35 +17,21 @@ import * as i1 from "@progress/kendo-angular-l10n";
17
17
  * @hidden
18
18
  */
19
19
  export class TabStripScrollableButtonComponent {
20
- constructor(host, renderer, ngZone, localization) {
21
- this.host = host;
22
- this.renderer = renderer;
23
- this.ngZone = ngZone;
24
- this.localization = localization;
25
- this.prev = false;
26
- this.tabScroll = new EventEmitter();
27
- this.onClick = new EventEmitter();
28
- this.caretAltLeftIcon = caretAltLeftIcon;
29
- this.caretAltRightIcon = caretAltRightIcon;
30
- this.caretAltUpIcon = caretAltUpIcon;
31
- this.caretAltDownIcon = caretAltDownIcon;
32
- this.subs = new Subscription();
33
- this.clickHandler = (scrollEvent) => {
34
- const tabStripScrollEvent = this.emitScrollEvent(scrollEvent);
35
- const isTabStripScrollEventPrevented = tabStripScrollEvent.isDefaultPrevented();
36
- if (isTabStripScrollEventPrevented) {
37
- return;
38
- }
39
- const buttonType = this.prev ? 'prev' : 'next';
40
- this.onClick.emit(buttonType);
41
- };
42
- }
20
+ host;
21
+ renderer;
22
+ ngZone;
23
+ localization;
43
24
  get prevClass() {
44
25
  return this.prev;
45
26
  }
46
27
  get nextClass() {
47
28
  return !this.prev;
48
29
  }
30
+ prev = false;
31
+ tabPosition;
32
+ scrollable;
33
+ tabScroll = new EventEmitter();
34
+ onClick = new EventEmitter();
49
35
  get hostBoundingClientRect() {
50
36
  return this.host.nativeElement.getBoundingClientRect();
51
37
  }
@@ -58,6 +44,17 @@ export class TabStripScrollableButtonComponent {
58
44
  get svgIcon() {
59
45
  return this.scrollButtonSVGIcon;
60
46
  }
47
+ caretAltLeftIcon = caretAltLeftIcon;
48
+ caretAltRightIcon = caretAltRightIcon;
49
+ caretAltUpIcon = caretAltUpIcon;
50
+ caretAltDownIcon = caretAltDownIcon;
51
+ subs = new Subscription();
52
+ constructor(host, renderer, ngZone, localization) {
53
+ this.host = host;
54
+ this.renderer = renderer;
55
+ this.ngZone = ngZone;
56
+ this.localization = localization;
57
+ }
61
58
  ngAfterViewInit() {
62
59
  this.ngZone.runOutsideAngular(() => {
63
60
  this.subs.add(this.renderer.listen(this.host.nativeElement, 'click', this.clickHandler));
@@ -69,6 +66,15 @@ export class TabStripScrollableButtonComponent {
69
66
  toggle(show) {
70
67
  this.renderer[show ? 'removeClass' : 'addClass'](this.host.nativeElement, HIDDEN_CLASS);
71
68
  }
69
+ clickHandler = (scrollEvent) => {
70
+ const tabStripScrollEvent = this.emitScrollEvent(scrollEvent);
71
+ const isTabStripScrollEventPrevented = tabStripScrollEvent.isDefaultPrevented();
72
+ if (isTabStripScrollEventPrevented) {
73
+ return;
74
+ }
75
+ const buttonType = this.prev ? 'prev' : 'next';
76
+ this.onClick.emit(buttonType);
77
+ };
72
78
  get scrollButtonIconClass() {
73
79
  const defaultPrevIcon = isTablistHorizontal(this.tabPosition) ?
74
80
  !this.localization.rtl ?
@@ -129,9 +135,8 @@ export class TabStripScrollableButtonComponent {
129
135
  this.tabScroll.emit(scrollEvent);
130
136
  return scrollEvent;
131
137
  }
132
- }
133
- TabStripScrollableButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripScrollableButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
134
- TabStripScrollableButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabStripScrollableButtonComponent, isStandalone: true, selector: "[kendoTabStripScrollableButton]", inputs: { prev: "prev", tabPosition: "tabPosition", scrollable: "scrollable" }, outputs: { tabScroll: "tabScroll", onClick: "onClick" }, host: { properties: { "class.k-tabstrip-prev": "this.prevClass", "class.k-tabstrip-next": "this.nextClass" } }, ngImport: i0, template: `
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripScrollableButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TabStripScrollableButtonComponent, isStandalone: true, selector: "[kendoTabStripScrollableButton]", inputs: { prev: "prev", tabPosition: "tabPosition", scrollable: "scrollable" }, outputs: { tabScroll: "tabScroll", onClick: "onClick" }, host: { properties: { "class.k-tabstrip-prev": "this.prevClass", "class.k-tabstrip-next": "this.nextClass" } }, ngImport: i0, template: `
135
140
  <kendo-icon-wrapper
136
141
  [name]="iconClass"
137
142
  [customFontClass]="customIconClass"
@@ -140,7 +145,8 @@ TabStripScrollableButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion
140
145
  >
141
146
  </kendo-icon-wrapper>
142
147
  `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripScrollableButtonComponent, decorators: [{
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripScrollableButtonComponent, decorators: [{
144
150
  type: Component,
145
151
  args: [{
146
152
  template: `
@@ -12,12 +12,10 @@ import * as i0 from "@angular/core";
12
12
  * @hidden
13
13
  */
14
14
  export class ScrollService {
15
- constructor(ngZone) {
16
- this.ngZone = ngZone;
17
- this.position = 0;
18
- this.scrollButtonActiveStateChange = new Subject();
19
- this.isDisabled = (buttonType) => this.owner[`${buttonType}ScrollButton`].host.nativeElement.classList.contains('k-disabled');
20
- }
15
+ ngZone;
16
+ owner;
17
+ position = 0;
18
+ scrollButtonActiveStateChange = new Subject();
21
19
  get tablistElement() {
22
20
  return this.owner.tablist.nativeElement;
23
21
  }
@@ -49,6 +47,9 @@ export class ScrollService {
49
47
  const nextSize = isTablistHorizontal(this.owner.tabPosition) ? nextRect.width : nextRect.height;
50
48
  return prevSize + nextSize;
51
49
  }
50
+ constructor(ngZone) {
51
+ this.ngZone = ngZone;
52
+ }
52
53
  toggleScrollButtonsState() {
53
54
  const tabStrip = this.owner;
54
55
  if (!tabStrip.hasScrollButtons) {
@@ -171,9 +172,10 @@ export class ScrollService {
171
172
  toggleButtonActiveState(buttonType, active) {
172
173
  this.scrollButtonActiveStateChange.next({ buttonType, active });
173
174
  }
175
+ isDisabled = (buttonType) => this.owner[`${buttonType}ScrollButton`].host.nativeElement.classList.contains('k-disabled');
176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
177
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService });
174
178
  }
175
- ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
176
- ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollService });
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollService, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService, decorators: [{
178
180
  type: Injectable
179
181
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
@@ -30,94 +30,12 @@ import * as i3 from "./tabstrip-scroll.service";
30
30
  * Represents the [Kendo UI TabStrip component for Angular]({% slug overview_tabstrip %}).
31
31
  */
32
32
  export class TabStripComponent {
33
- constructor(localization, renderer, wrapper, tabstripService, scrollService, ngZone) {
34
- this.localization = localization;
35
- this.renderer = renderer;
36
- this.wrapper = wrapper;
37
- this.tabstripService = tabstripService;
38
- this.scrollService = scrollService;
39
- this.ngZone = ngZone;
40
- /**
41
- * Enables the tab animation.
42
- *
43
- * @default true
44
- */
45
- this.animate = true;
46
- /**
47
- * Sets the alignment of the tabs.
48
- *
49
- * @default: 'start'
50
- */
51
- this.tabAlignment = 'start';
52
- /**
53
- * Sets the position of the tabs. Defaults to `top`.
54
- *
55
- * @default 'top'
56
- */
57
- this.tabPosition = 'top';
58
- /**
59
- * When set to `true`, the component renders all tabs and they are persisted in the DOM.
60
- * By default, `keepTabContent` is `false`.
61
- *
62
- * @default false
63
- */
64
- this.keepTabContent = false;
65
- /**
66
- * When set to `true`, a close button will be rendered inside each tab.
67
- * By default, `closable` is `false`.
68
- *
69
- * @default false
70
- */
71
- this.closable = false;
72
- /**
73
- * Defines the name for an existing font icon in the Kendo UI theme for the close icon.
74
- */
75
- this.closeIcon = 'x';
76
- /**
77
- * Determines whether the content associated with each tab will be rendered.
78
- *
79
- * @default true
80
- */
81
- this.showContentArea = true;
82
- /**
83
- * Fires each time the user selects a tab ([see example](slug:events_tabstrip)).
84
- * The event data contains the index of the selected tab and its title.
85
- */
86
- this.tabSelect = new EventEmitter();
87
- /**
88
- * Fires each time the user closes a tab.
89
- * The event data contains the index of the closed tab and its instance.
90
- */
91
- this.tabClose = new EventEmitter();
92
- /**
93
- * Fires each time the user scrolls the TabStrip list.
94
- * The event is preventable.
95
- */
96
- this.tabScroll = new EventEmitter();
97
- this.hostClasses = true;
98
- /**
99
- * A query list of all declared tabs.
100
- */
101
- this.tabs = new QueryList();
102
- /**
103
- * @hidden
104
- */
105
- this.showLicenseWatermark = false;
106
- this._scrollableSettings = normalizeScrollableSettings(false);
107
- this.subscriptions = new Subscription();
108
- this.subscriptionsArePresent = false;
109
- this.tabStripId = guid();
110
- const isValid = validatePackage(packageMetadata);
111
- this.showLicenseWatermark = shouldShowValidationUI(isValid);
112
- this.tabstripService.owner = this;
113
- this.scrollService.owner = this;
114
- this.subscriptions.add(this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
115
- if (this.hasScrollButtons) {
116
- const action = activeButtonSettings.active ? 'remove' : 'add';
117
- this.renderer[`${action}Class`](this[`${activeButtonSettings.buttonType}ScrollButton`].host.nativeElement, 'k-disabled');
118
- }
119
- }));
120
- }
33
+ localization;
34
+ renderer;
35
+ wrapper;
36
+ tabstripService;
37
+ scrollService;
38
+ ngZone;
121
39
  /**
122
40
  * Sets the height of the TabStrip.
123
41
  */
@@ -128,6 +46,38 @@ export class TabStripComponent {
128
46
  get height() {
129
47
  return this._height;
130
48
  }
49
+ /**
50
+ * Enables the tab animation.
51
+ *
52
+ * @default true
53
+ */
54
+ animate = true;
55
+ /**
56
+ * Sets the alignment of the tabs.
57
+ *
58
+ * @default: 'start'
59
+ */
60
+ tabAlignment = 'start';
61
+ /**
62
+ * Sets the position of the tabs. Defaults to `top`.
63
+ *
64
+ * @default 'top'
65
+ */
66
+ tabPosition = 'top';
67
+ /**
68
+ * When set to `true`, the component renders all tabs and they are persisted in the DOM.
69
+ * By default, `keepTabContent` is `false`.
70
+ *
71
+ * @default false
72
+ */
73
+ keepTabContent = false;
74
+ /**
75
+ * When set to `true`, a close button will be rendered inside each tab.
76
+ * By default, `closable` is `false`.
77
+ *
78
+ * @default false
79
+ */
80
+ closable = false;
131
81
  /**
132
82
  * Enables the scrolling of the tab list. When set to `true` and the total size of all tabs
133
83
  * is greater than the size of the TabStrip container, scroll buttons will be rendered on each end of the tab list.
@@ -146,6 +96,14 @@ export class TabStripComponent {
146
96
  get scrollable() {
147
97
  return this._scrollableSettings;
148
98
  }
99
+ /**
100
+ * Defines the name for an existing font icon in the Kendo UI theme for the close icon.
101
+ */
102
+ closeIcon = 'x';
103
+ /**
104
+ * Allows defining a custom CSS class, or multiple classes separated by spaces, which will be applied to the close button.
105
+ */
106
+ closeIconClass;
149
107
  /**
150
108
  * Defines an SVGIcon to be rendered for the close icon.
151
109
  * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
@@ -159,6 +117,28 @@ export class TabStripComponent {
159
117
  get closeSVGIcon() {
160
118
  return this._closeSVGIcon;
161
119
  }
120
+ /**
121
+ * Determines whether the content associated with each tab will be rendered.
122
+ *
123
+ * @default true
124
+ */
125
+ showContentArea = true;
126
+ /**
127
+ * Fires each time the user selects a tab ([see example](slug:events_tabstrip)).
128
+ * The event data contains the index of the selected tab and its title.
129
+ */
130
+ tabSelect = new EventEmitter();
131
+ /**
132
+ * Fires each time the user closes a tab.
133
+ * The event data contains the index of the closed tab and its instance.
134
+ */
135
+ tabClose = new EventEmitter();
136
+ /**
137
+ * Fires each time the user scrolls the TabStrip list.
138
+ * The event is preventable.
139
+ */
140
+ tabScroll = new EventEmitter();
141
+ hostClasses = true;
162
142
  get tabsAtTop() {
163
143
  return this.tabPosition === 'top';
164
144
  }
@@ -177,6 +157,60 @@ export class TabStripComponent {
177
157
  get tabStripScrollable() {
178
158
  return this._scrollableSettings.enabled;
179
159
  }
160
+ /**
161
+ * A query list of all declared tabs.
162
+ */
163
+ tabs = new QueryList();
164
+ /**
165
+ * @hidden
166
+ */
167
+ tablist;
168
+ /**
169
+ * @hidden
170
+ */
171
+ tabHeaderContainers;
172
+ /**
173
+ * @hidden
174
+ */
175
+ prevScrollButton;
176
+ /**
177
+ * @hidden
178
+ */
179
+ nextScrollButton;
180
+ /**
181
+ * @hidden
182
+ */
183
+ localizationChangeSubscription;
184
+ /**
185
+ * @hidden
186
+ */
187
+ showLicenseWatermark = false;
188
+ _height;
189
+ _scrollableSettings = normalizeScrollableSettings(false);
190
+ subscriptions = new Subscription();
191
+ subscriptionsArePresent = false;
192
+ _closeSVGIcon;
193
+ tabStripId = guid();
194
+ tabsChangesSub;
195
+ activeStateChangeSub;
196
+ constructor(localization, renderer, wrapper, tabstripService, scrollService, ngZone) {
197
+ this.localization = localization;
198
+ this.renderer = renderer;
199
+ this.wrapper = wrapper;
200
+ this.tabstripService = tabstripService;
201
+ this.scrollService = scrollService;
202
+ this.ngZone = ngZone;
203
+ const isValid = validatePackage(packageMetadata);
204
+ this.showLicenseWatermark = shouldShowValidationUI(isValid);
205
+ this.tabstripService.owner = this;
206
+ this.scrollService.owner = this;
207
+ this.subscriptions.add(this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
208
+ if (this.hasScrollButtons) {
209
+ const action = activeButtonSettings.active ? 'remove' : 'add';
210
+ this.renderer[`${action}Class`](this[`${activeButtonSettings.buttonType}ScrollButton`].host.nativeElement, 'k-disabled');
211
+ }
212
+ }));
213
+ }
180
214
  ngAfterViewInit() {
181
215
  if (!isDocumentAvailable()) {
182
216
  return;
@@ -386,17 +420,16 @@ export class TabStripComponent {
386
420
  }));
387
421
  });
388
422
  }
389
- }
390
- TabStripComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.TabStripService }, { token: i3.ScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
391
- TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TabStripComponent, isStandalone: true, selector: "kendo-tabstrip", inputs: { height: "height", animate: "animate", tabAlignment: "tabAlignment", tabPosition: "tabPosition", keepTabContent: "keepTabContent", closable: "closable", scrollable: "scrollable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon", showContentArea: "showContentArea" }, outputs: { tabSelect: "tabSelect", tabClose: "tabClose", tabScroll: "tabScroll" }, host: { properties: { "class.k-tabstrip": "this.hostClasses", "class.k-header": "this.hostClasses", "class.k-tabstrip-top": "this.tabsAtTop", "class.k-tabstrip-right": "this.tabsAtRight", "class.k-tabstrip-bottom": "this.tabsAtBottom", "class.k-tabstrip-left": "this.tabsAtLeft", "attr.dir": "this.dir", "class.k-tabstrip-scrollable": "this.tabStripScrollable" } }, providers: [
392
- TabStripService,
393
- ScrollService,
394
- LocalizationService,
395
- {
396
- provide: L10N_PREFIX,
397
- useValue: 'kendo.tabstrip'
398
- }
399
- ], queries: [{ propertyName: "tabs", predicate: TabStripTabComponent }], viewQueries: [{ propertyName: "tablist", first: true, predicate: ["tablist"], descendants: true }, { propertyName: "prevScrollButton", first: true, predicate: ["prevScrollButton"], descendants: true }, { propertyName: "nextScrollButton", first: true, predicate: ["nextScrollButton"], descendants: true }, { propertyName: "tabHeaderContainers", predicate: ["tabHeaderContainer"], descendants: true, read: ElementRef }], exportAs: ["kendoTabStrip"], usesOnChanges: true, ngImport: i0, template: `
423
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.TabStripService }, { token: i3.ScrollService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
424
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TabStripComponent, isStandalone: true, selector: "kendo-tabstrip", inputs: { height: "height", animate: "animate", tabAlignment: "tabAlignment", tabPosition: "tabPosition", keepTabContent: "keepTabContent", closable: "closable", scrollable: "scrollable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon", showContentArea: "showContentArea" }, outputs: { tabSelect: "tabSelect", tabClose: "tabClose", tabScroll: "tabScroll" }, host: { properties: { "class.k-tabstrip": "this.hostClasses", "class.k-header": "this.hostClasses", "class.k-tabstrip-top": "this.tabsAtTop", "class.k-tabstrip-right": "this.tabsAtRight", "class.k-tabstrip-bottom": "this.tabsAtBottom", "class.k-tabstrip-left": "this.tabsAtLeft", "attr.dir": "this.dir", "class.k-tabstrip-scrollable": "this.tabStripScrollable" } }, providers: [
425
+ TabStripService,
426
+ ScrollService,
427
+ LocalizationService,
428
+ {
429
+ provide: L10N_PREFIX,
430
+ useValue: 'kendo.tabstrip'
431
+ }
432
+ ], queries: [{ propertyName: "tabs", predicate: TabStripTabComponent }], viewQueries: [{ propertyName: "tablist", first: true, predicate: ["tablist"], descendants: true }, { propertyName: "prevScrollButton", first: true, predicate: ["prevScrollButton"], descendants: true }, { propertyName: "nextScrollButton", first: true, predicate: ["nextScrollButton"], descendants: true }, { propertyName: "tabHeaderContainers", predicate: ["tabHeaderContainer"], descendants: true, read: ElementRef }], exportAs: ["kendoTabStrip"], usesOnChanges: true, ngImport: i0, template: `
400
433
  <ng-container kendoTabStripLocalizedMessages
401
434
  i18n-closeTitle="kendo.tabstrip.closeTitle|The title for the **Close** button in the TabStrip tab."
402
435
  closeTitle="Close"
@@ -503,15 +536,16 @@ TabStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
503
536
  <kendo-resize-sensor *ngIf="isScrollable" (resize)="onResize()"></kendo-resize-sensor>
504
537
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
505
538
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], animations: [
506
- trigger('state', [
507
- state('active', style({ opacity: 1 })),
508
- transition('* => active', [
509
- style({ opacity: 0 }),
510
- animate('400ms ease-in')
539
+ trigger('state', [
540
+ state('active', style({ opacity: 1 })),
541
+ transition('* => active', [
542
+ style({ opacity: 0 }),
543
+ animate('400ms ease-in')
544
+ ])
511
545
  ])
512
- ])
513
- ] });
514
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripComponent, decorators: [{
546
+ ] });
547
+ }
548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripComponent, decorators: [{
515
549
  type: Component,
516
550
  args: [{
517
551
  animations: [
@@ -14,6 +14,9 @@ import * as i1 from "@progress/kendo-angular-l10n";
14
14
  * @hidden
15
15
  */
16
16
  export class TabStripService {
17
+ localization;
18
+ ngZone;
19
+ owner;
17
20
  constructor(localization, ngZone) {
18
21
  this.localization = localization;
19
22
  this.ngZone = ngZone;
@@ -143,9 +146,9 @@ export class TabStripService {
143
146
  }
144
147
  return selectedIndex + 1;
145
148
  }
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripService, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
150
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripService });
146
151
  }
147
- TabStripService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripService, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
148
- TabStripService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripService });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripService, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripService, decorators: [{
150
153
  type: Injectable
151
154
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.NgZone }]; } });
@@ -22,11 +22,11 @@ import * as i5 from "./tabstrip/localization/custom-messages.component";
22
22
  * - `TabTitleDirective`&mdash;The tab title directive used on the `<ng-template>` tag.
23
23
  */
24
24
  export class TabStripModule {
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TabStripModule, imports: [i1.TabStripComponent, i2.TabStripTabComponent, i3.TabContentDirective, i4.TabTitleDirective, i5.TabStripCustomMessagesComponent], exports: [i1.TabStripComponent, i2.TabStripTabComponent, i3.TabContentDirective, i4.TabTitleDirective, i5.TabStripCustomMessagesComponent] });
27
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripModule, imports: [i1.TabStripComponent] });
25
28
  }
26
- TabStripModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- TabStripModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TabStripModule, imports: [i1.TabStripComponent, i2.TabStripTabComponent, i3.TabContentDirective, i4.TabTitleDirective, i5.TabStripCustomMessagesComponent], exports: [i1.TabStripComponent, i2.TabStripTabComponent, i3.TabContentDirective, i4.TabTitleDirective, i5.TabStripCustomMessagesComponent] });
28
- TabStripModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripModule, imports: [i1.TabStripComponent, i2.TabStripTabComponent, i5.TabStripCustomMessagesComponent] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TabStripModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TabStripModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  exports: [...KENDO_TABSTRIP],