@progress/kendo-react-layout 9.4.0-develop.1 → 9.4.0-develop.11

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 (161) hide show
  1. package/actionsheet/ActionSheet.js +1 -1
  2. package/actionsheet/ActionSheet.mjs +0 -1
  3. package/actionsheet/ActionSheetContent.js +1 -1
  4. package/actionsheet/ActionSheetContent.mjs +5 -6
  5. package/actionsheet/ActionSheetFooter.js +1 -1
  6. package/actionsheet/ActionSheetFooter.mjs +0 -1
  7. package/actionsheet/ActionSheetHeader.js +1 -1
  8. package/actionsheet/ActionSheetHeader.mjs +7 -8
  9. package/actionsheet/ActionSheetItem.js +1 -1
  10. package/actionsheet/ActionSheetItem.mjs +0 -1
  11. package/appbar/AppBar.js +1 -1
  12. package/appbar/AppBar.mjs +10 -11
  13. package/appbar/AppBarSection.js +1 -1
  14. package/appbar/AppBarSection.mjs +11 -12
  15. package/appbar/AppBarSpacer.js +1 -1
  16. package/appbar/AppBarSpacer.mjs +3 -4
  17. package/bottomnavigation/BottomNavigation.js +1 -1
  18. package/bottomnavigation/BottomNavigation.mjs +23 -24
  19. package/bottomnavigation/BottomNavigationItem.js +1 -1
  20. package/bottomnavigation/BottomNavigationItem.mjs +11 -12
  21. package/bottomnavigation/models/utils.js +1 -1
  22. package/bottomnavigation/models/utils.mjs +4 -5
  23. package/breadcrumb/Breadcrumb.js +1 -1
  24. package/breadcrumb/Breadcrumb.mjs +0 -1
  25. package/breadcrumb/BreadcrumbDelimiter.js +1 -1
  26. package/breadcrumb/BreadcrumbDelimiter.mjs +0 -1
  27. package/breadcrumb/BreadcrumbLink.js +1 -1
  28. package/breadcrumb/BreadcrumbLink.mjs +0 -1
  29. package/breadcrumb/BreadcrumbListItem.js +1 -1
  30. package/breadcrumb/BreadcrumbListItem.mjs +0 -1
  31. package/breadcrumb/BreadcrumbOrderedList.js +1 -1
  32. package/breadcrumb/BreadcrumbOrderedList.mjs +6 -7
  33. package/card/Avatar.js +1 -1
  34. package/card/Avatar.mjs +0 -1
  35. package/card/Card.js +1 -1
  36. package/card/Card.mjs +0 -1
  37. package/card/CardActions.js +1 -1
  38. package/card/CardActions.mjs +4 -5
  39. package/card/CardBody.js +1 -1
  40. package/card/CardBody.mjs +4 -5
  41. package/card/CardFooter.js +1 -1
  42. package/card/CardFooter.mjs +0 -1
  43. package/card/CardHeader.js +1 -1
  44. package/card/CardHeader.mjs +0 -1
  45. package/card/CardImage.js +1 -1
  46. package/card/CardImage.mjs +3 -4
  47. package/card/CardSubtitle.js +1 -1
  48. package/card/CardSubtitle.mjs +0 -1
  49. package/card/CardTitle.js +1 -1
  50. package/card/CardTitle.mjs +4 -5
  51. package/card/interfaces/Enums.js +1 -1
  52. package/card/interfaces/Enums.mjs +4 -5
  53. package/contextmenu/ContextMenu.js +1 -1
  54. package/contextmenu/ContextMenu.mjs +0 -1
  55. package/dist/cdn/js/kendo-react-layout.js +8 -1
  56. package/drawer/Drawer.js +1 -1
  57. package/drawer/Drawer.mjs +6 -7
  58. package/drawer/DrawerContent.js +1 -1
  59. package/drawer/DrawerContent.mjs +0 -1
  60. package/drawer/DrawerItem.js +1 -1
  61. package/drawer/DrawerItem.mjs +4 -5
  62. package/drawer/DrawerNavigation.js +1 -1
  63. package/drawer/DrawerNavigation.mjs +0 -1
  64. package/drawer/context/DrawerContext.js +1 -1
  65. package/drawer/context/DrawerContext.mjs +2 -3
  66. package/expansionpanel/ExpansionPanel.js +1 -1
  67. package/expansionpanel/ExpansionPanel.mjs +21 -22
  68. package/expansionpanel/ExpansionPanelContent.js +1 -1
  69. package/expansionpanel/ExpansionPanelContent.mjs +0 -1
  70. package/gridlayout/GridLayout.js +1 -1
  71. package/gridlayout/GridLayout.mjs +9 -10
  72. package/gridlayout/GridLayoutItem.js +1 -1
  73. package/gridlayout/GridLayoutItem.mjs +0 -1
  74. package/index.d.mts +92 -16
  75. package/index.d.ts +92 -16
  76. package/index.js +2 -1
  77. package/menu/components/Menu.js +1 -1
  78. package/menu/components/Menu.mjs +0 -1
  79. package/menu/components/MenuItem.js +1 -1
  80. package/menu/components/MenuItem.mjs +2 -3
  81. package/menu/components/MenuItemArrow.js +1 -1
  82. package/menu/components/MenuItemArrow.mjs +0 -1
  83. package/menu/components/MenuItemInternal.js +1 -1
  84. package/menu/components/MenuItemInternal.mjs +0 -1
  85. package/menu/components/MenuItemLink.js +1 -1
  86. package/menu/components/MenuItemLink.mjs +0 -1
  87. package/menu/consts.js +1 -1
  88. package/menu/consts.mjs +0 -1
  89. package/menu/utils/DirectionHolder.js +1 -1
  90. package/menu/utils/DirectionHolder.mjs +0 -1
  91. package/menu/utils/MouseOverHandler.js +1 -1
  92. package/menu/utils/MouseOverHandler.mjs +0 -1
  93. package/menu/utils/getNewItemIdUponKeyboardNavigation.js +1 -1
  94. package/menu/utils/getNewItemIdUponKeyboardNavigation.mjs +0 -1
  95. package/menu/utils/hoverDelay.js +1 -1
  96. package/menu/utils/hoverDelay.mjs +0 -1
  97. package/menu/utils/itemsIdsUtils.js +1 -1
  98. package/menu/utils/itemsIdsUtils.mjs +0 -1
  99. package/menu/utils/misc.js +1 -1
  100. package/menu/utils/misc.mjs +11 -12
  101. package/menu/utils/prepareInputItemsForInternalWork.js +1 -1
  102. package/menu/utils/prepareInputItemsForInternalWork.mjs +3 -4
  103. package/package-metadata.js +1 -1
  104. package/package-metadata.mjs +2 -3
  105. package/package.json +7 -7
  106. package/panelbar/PanelBar.js +1 -1
  107. package/panelbar/PanelBar.mjs +33 -34
  108. package/panelbar/PanelBarItem.js +1 -1
  109. package/panelbar/PanelBarItem.mjs +0 -1
  110. package/panelbar/interfaces/NavigationAction.js +1 -1
  111. package/panelbar/interfaces/NavigationAction.mjs +0 -1
  112. package/panelbar/util.js +1 -1
  113. package/panelbar/util.mjs +18 -19
  114. package/splitter/Splitter.js +1 -1
  115. package/splitter/Splitter.mjs +0 -1
  116. package/splitter/SplitterBar.js +1 -1
  117. package/splitter/SplitterBar.mjs +0 -1
  118. package/splitter/SplitterPane.js +1 -1
  119. package/splitter/SplitterPane.mjs +9 -10
  120. package/splitter/messages/index.js +1 -1
  121. package/splitter/messages/index.mjs +2 -3
  122. package/stacklayout/StackLayout.js +1 -1
  123. package/stacklayout/StackLayout.mjs +3 -4
  124. package/stepper/Step.js +1 -1
  125. package/stepper/Step.mjs +15 -16
  126. package/stepper/Stepper.js +1 -1
  127. package/stepper/Stepper.mjs +0 -1
  128. package/stepper/contants.js +1 -1
  129. package/stepper/contants.mjs +0 -1
  130. package/stepper/context/StepperContext.js +1 -1
  131. package/stepper/context/StepperContext.mjs +0 -1
  132. package/stepper/messages/index.js +1 -1
  133. package/stepper/messages/index.mjs +0 -1
  134. package/tabstrip/TabStrip.js +1 -1
  135. package/tabstrip/TabStrip.mjs +110 -79
  136. package/tabstrip/TabStripContent.js +1 -1
  137. package/tabstrip/TabStripContent.mjs +0 -1
  138. package/tabstrip/TabStripNavigation.js +1 -1
  139. package/tabstrip/TabStripNavigation.mjs +110 -117
  140. package/tabstrip/TabStripNavigationItem.js +1 -1
  141. package/tabstrip/TabStripNavigationItem.mjs +7 -8
  142. package/tabstrip/TabStripTab.js +1 -1
  143. package/tabstrip/TabStripTab.mjs +4 -5
  144. package/tabstrip/messages/index.js +1 -1
  145. package/tabstrip/messages/index.mjs +0 -1
  146. package/tilelayout/InternalTile.js +1 -1
  147. package/tilelayout/InternalTile.mjs +0 -1
  148. package/tilelayout/ResizeHandlers.js +1 -1
  149. package/tilelayout/ResizeHandlers.mjs +10 -11
  150. package/tilelayout/TileLayout.js +1 -1
  151. package/tilelayout/TileLayout.mjs +0 -1
  152. package/timeline/Timeline.js +1 -1
  153. package/timeline/Timeline.mjs +17 -18
  154. package/timeline/TimelineCard.js +1 -1
  155. package/timeline/TimelineCard.mjs +4 -5
  156. package/timeline/TimelineHorizontal.js +1 -1
  157. package/timeline/TimelineHorizontal.mjs +0 -1
  158. package/timeline/TimelineVertical.js +1 -1
  159. package/timeline/TimelineVertical.mjs +0 -1
  160. package/timeline/utils.js +1 -1
  161. package/timeline/utils.mjs +6 -7
@@ -5,28 +5,39 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- import * as a from "react";
10
- import l from "prop-types";
11
- import { TabStripNavigation as h } from "./TabStripNavigation.mjs";
12
- import { TabStripContent as b } from "./TabStripContent.mjs";
13
- import { validatePackage as u, shouldShowValidationUI as g, Navigation as S, classNames as y, WatermarkOverlay as x } from "@progress/kendo-react-common";
14
- import { packageMetadata as m } from "../package-metadata.mjs";
15
- const d = class d extends a.Component {
16
- constructor(s) {
17
- super(s), this.tabStripRef = a.createRef(), this.showLicenseWatermark = !1, this.onSelect = (n) => {
18
- this.props.selected !== n && this.props.onSelect && this.props.onSelect({
19
- selected: n
8
+ import * as c from "react";
9
+ import r from "prop-types";
10
+ import { TabStripNavigation as m } from "./TabStripNavigation.mjs";
11
+ import { TabStripContent as g } from "./TabStripContent.mjs";
12
+ import { validatePackage as v, shouldShowValidationUI as y, Navigation as k, classNames as x, kendoThemeMaps as I, WatermarkOverlay as P } from "@progress/kendo-react-common";
13
+ import { packageMetadata as u } from "../package-metadata.mjs";
14
+ const p = class p extends c.Component {
15
+ constructor(l) {
16
+ super(l), this.tabStripRef = c.createRef(), this.itemsNavRef = c.createRef(), this.showLicenseWatermark = !1, this.onScroll = () => {
17
+ const i = this.horizontalScroll(), o = this.itemsNavRef.current;
18
+ if (!o)
19
+ return;
20
+ const e = o.scrollLeft, t = o.clientWidth, n = o.scrollWidth, s = o.scrollTop, a = o.scrollHeight, d = o.clientHeight;
21
+ let h = null;
22
+ const S = i ? n > t : a > d, f = this.props.dir === "rtl";
23
+ S ? i ? e + t === n || (f && t - e) === n ? h = "end" : e === 0 || f && -e === 0 ? h = "start" : e > 0 && e + t < n || -e > 0 && t - e < n ? h = "middle" : h = null : a - (s + d) === 0 ? h = "bottom" : s === 0 ? h = "top" : s > 0 && a - (s + d) > 0 ? h = "middle" : h = null : h = null, this.setState({ containerScrollPosition: h });
24
+ }, this.handleResize = () => {
25
+ this.onScroll();
26
+ }, this.onSelect = (i) => {
27
+ this.props.selected !== i && this.props.onSelect && this.props.onSelect({
28
+ selected: i
20
29
  });
21
- }, this.onKeyDown = (n) => {
22
- this.navigation.triggerKeyboardEvent(n);
23
- }, this.onKeyboardSelect = (n) => {
24
- const i = this.children();
25
- i && i[n].props.disabled || this.onSelect(n);
26
- }, this.renderContent = (n) => {
27
- const { selected: i, children: t, tabContentStyle: e } = n, r = a.Children.count(t);
28
- return i < r && i > -1 ? /* @__PURE__ */ a.createElement(b, { index: i, ...n, style: e }) : null;
29
- }, u(m), this.showLicenseWatermark = g(m);
30
+ }, this.onKeyDown = (i) => {
31
+ this.navigation && this.navigation.triggerKeyboardEvent(i);
32
+ }, this.onKeyboardSelect = (i) => {
33
+ const o = this.children();
34
+ o && o[i].props.disabled || this.onSelect(i);
35
+ }, this.renderContent = (i) => {
36
+ const { selected: o, children: e, tabContentStyle: t } = i, n = c.Children.count(e);
37
+ return o < n && o > -1 ? /* @__PURE__ */ c.createElement(g, { index: o, ...i, style: t }) : null;
38
+ }, v(u), this.showLicenseWatermark = y(u), this.state = {
39
+ containerScrollPosition: null
40
+ }, this.itemsNavRef = c.createRef();
30
41
  }
31
42
  get contentPanelId() {
32
43
  return this.props.id + "-content-panel-id";
@@ -36,9 +47,9 @@ const d = class d extends a.Component {
36
47
  }
37
48
  /** @hidden */
38
49
  componentDidMount() {
39
- var i;
40
- const s = this.tabStripRef.current, n = s && getComputedStyle(s).direction === "rtl" || !1;
41
- s && (this.navigation = new S({
50
+ var o;
51
+ const l = this.tabStripRef.current, i = l && getComputedStyle(l).direction === "rtl" || !1;
52
+ l && (this.navigation = new k({
42
53
  tabIndex: 0,
43
54
  root: this.tabStripRef,
44
55
  rovingTabIndex: !0,
@@ -46,106 +57,126 @@ const d = class d extends a.Component {
46
57
  selectors: [".k-tabstrip .k-tabstrip-item"],
47
58
  keyboardEvents: {
48
59
  keydown: {
49
- ArrowLeft: (t, e, r) => {
50
- r.preventDefault();
51
- const o = e.elements.indexOf(t), c = o !== 0 ? o - 1 : e.elements.length - 1, p = o !== e.elements.length - 1 ? o + 1 : 0;
52
- n ? (e.focusNext(t), this.onKeyboardSelect(p)) : (e.focusPrevious(t), this.onKeyboardSelect(c));
60
+ ArrowLeft: (e, t, n) => {
61
+ n.preventDefault();
62
+ const s = t.elements.indexOf(e), a = s !== 0 ? s - 1 : t.elements.length - 1, d = s !== t.elements.length - 1 ? s + 1 : 0;
63
+ i ? (t.focusNext(e), this.onKeyboardSelect(d)) : (t.focusPrevious(e), this.onKeyboardSelect(a));
53
64
  },
54
- ArrowRight: (t, e, r) => {
55
- r.preventDefault();
56
- const o = e.elements.indexOf(t), c = o !== 0 ? o - 1 : e.elements.length - 1, p = o !== e.elements.length - 1 ? o + 1 : 0;
57
- n ? (e.focusPrevious(t), this.onKeyboardSelect(c)) : (e.focusNext(t), this.onKeyboardSelect(p));
65
+ ArrowRight: (e, t, n) => {
66
+ n.preventDefault();
67
+ const s = t.elements.indexOf(e), a = s !== 0 ? s - 1 : t.elements.length - 1, d = s !== t.elements.length - 1 ? s + 1 : 0;
68
+ i ? (t.focusPrevious(e), this.onKeyboardSelect(a)) : (t.focusNext(e), this.onKeyboardSelect(d));
58
69
  },
59
- ArrowDown: (t, e, r) => {
60
- r.preventDefault();
61
- const o = e.elements.indexOf(t), c = o !== e.elements.length - 1 ? o + 1 : 0;
62
- e.focusNext(t), this.onKeyboardSelect(c);
70
+ ArrowDown: (e, t, n) => {
71
+ n.preventDefault();
72
+ const s = t.elements.indexOf(e), a = s !== t.elements.length - 1 ? s + 1 : 0;
73
+ t.focusNext(e), this.onKeyboardSelect(a);
63
74
  },
64
- ArrowUp: (t, e, r) => {
65
- r.preventDefault();
66
- const o = e.elements.indexOf(t), c = o !== 0 ? o - 1 : e.elements.length - 1;
67
- e.focusPrevious(t), this.onKeyboardSelect(c);
75
+ ArrowUp: (e, t, n) => {
76
+ n.preventDefault();
77
+ const s = t.elements.indexOf(e), a = s !== 0 ? s - 1 : t.elements.length - 1;
78
+ t.focusPrevious(e), this.onKeyboardSelect(a);
68
79
  },
69
- Home: (t, e, r) => {
70
- r.preventDefault(), e.focusElement(e.first, t), this.onKeyboardSelect(0);
80
+ Home: (e, t, n) => {
81
+ n.preventDefault(), t.focusElement(t.first, e), this.onKeyboardSelect(0);
71
82
  },
72
- End: (t, e, r) => {
73
- r.preventDefault(), e.focusElement(e.last, t), this.onKeyboardSelect(e.elements.length - 1);
83
+ End: (e, t, n) => {
84
+ n.preventDefault(), t.focusElement(t.last, e), this.onKeyboardSelect(t.elements.length - 1);
74
85
  }
75
86
  }
76
87
  }
77
- }), (i = this.navigation) == null || i.initializeRovingTab(this.props.selected));
88
+ }), (o = this.navigation) == null || o.initializeRovingTab(this.props.selected), this.onScroll(), this.resizeObserver = new ResizeObserver(() => this.onScroll()), this.tabStripRef.current && this.resizeObserver.observe(this.tabStripRef.current));
78
89
  }
79
90
  /** @hidden */
80
91
  componentWillUnmount() {
81
- var s;
82
- (s = this.navigation) == null || s.removeFocusListener();
92
+ var l;
93
+ (l = this.navigation) == null || l.removeFocusListener();
94
+ }
95
+ horizontalScroll() {
96
+ return /top|bottom/.test(this.props.tabPosition || "top");
83
97
  }
84
98
  /**
85
99
  * @hidden
86
100
  */
87
101
  render() {
88
- const s = {
102
+ const l = {
103
+ itemsNavRef: this.itemsNavRef,
89
104
  ...this.props,
90
105
  children: this.children(),
91
106
  contentPanelId: this.contentPanelId,
92
107
  renderAllContent: this.props.renderAllContent,
93
108
  navItemId: this.navItemId,
94
109
  onKeyDown: this.onKeyDown,
95
- onSelect: this.onSelect
96
- }, { tabPosition: n, tabIndex: i } = s, t = n === "bottom", e = y(
110
+ onSelect: this.onSelect,
111
+ onScroll: this.onScroll,
112
+ containerScrollPosition: this.state.containerScrollPosition,
113
+ scrollButtons: this.props.scrollButtons === "hidden" || this.state.containerScrollPosition === null && this.props.scrollButtons === "auto" ? "hidden" : "visible"
114
+ }, { scrollable: i, scrollButtons: o, size: e, tabPosition: t, tabIndex: n } = l, s = t === "bottom", a = x(
97
115
  "k-tabstrip k-pos-relative",
98
116
  {
99
- "k-tabstrip-left": n === "left",
100
- "k-tabstrip-right": n === "right",
101
- "k-tabstrip-bottom": n === "bottom",
102
- "k-tabstrip-top": n === "top",
103
- "k-tabstrip-scrollable": this.props.scrollable
117
+ [`k-tabstrip-${I.sizeMap[e] || e}`]: e,
118
+ "k-tabstrip-left": t === "left",
119
+ "k-tabstrip-right": t === "right",
120
+ "k-tabstrip-bottom": t === "bottom",
121
+ "k-tabstrip-top": t === "top",
122
+ "k-tabstrip-scrollable": i,
123
+ "k-tabstrip-scrollable-start k-tabstrip-scrollable-end": i && o === "visible",
124
+ "k-tabstrip-scrollable-start": i && (o === "auto" || !o) && (this.state.containerScrollPosition === "end" || this.state.containerScrollPosition === "middle"),
125
+ "k-tabstrip-scrollable-end": i && o === "auto" && (this.state.containerScrollPosition === "start" || this.state.containerScrollPosition === "middle")
104
126
  },
105
127
  this.props.className
106
128
  );
107
- return /* @__PURE__ */ a.createElement(
129
+ return /* @__PURE__ */ c.createElement(
108
130
  "div",
109
131
  {
110
132
  id: this.props.id,
111
133
  ref: this.tabStripRef,
112
134
  dir: this.props.dir,
113
- className: e,
114
- style: this.props.style
135
+ className: a,
136
+ style: this.props.style,
137
+ onScroll: this.onScroll,
138
+ onResize: this.handleResize
115
139
  },
116
- !t && /* @__PURE__ */ a.createElement(h, { ...s, tabIndex: i }),
117
- this.renderContent(s),
118
- t && /* @__PURE__ */ a.createElement(h, { ...s, tabIndex: i }),
119
- this.showLicenseWatermark && /* @__PURE__ */ a.createElement(x, null)
140
+ !s && /* @__PURE__ */ c.createElement(m, { ...l, tabIndex: n }),
141
+ this.renderContent(l),
142
+ s && /* @__PURE__ */ c.createElement(m, { ...l, tabIndex: n }),
143
+ this.showLicenseWatermark && /* @__PURE__ */ c.createElement(P, null)
120
144
  );
121
145
  }
122
146
  children() {
123
- return a.Children.toArray(this.props.children).filter((s) => s);
147
+ return c.Children.toArray(this.props.children).filter((l) => l);
124
148
  }
125
149
  };
126
- d.propTypes = {
127
- animation: l.bool,
128
- children: l.node,
129
- onSelect: l.func,
130
- selected: l.number,
131
- style: l.object,
132
- tabContentStyle: l.object,
133
- tabPosition: l.string,
134
- tabAlignment: l.string,
135
- tabIndex: l.number,
136
- className: l.string,
137
- dir: l.string
138
- }, d.defaultProps = {
150
+ p.propTypes = {
151
+ id: r.string,
152
+ animation: r.bool,
153
+ children: r.node,
154
+ onSelect: r.func,
155
+ selected: r.number,
156
+ style: r.object,
157
+ tabContentStyle: r.object,
158
+ tabPosition: r.string,
159
+ tabAlignment: r.string,
160
+ tabIndex: r.number,
161
+ className: r.string,
162
+ dir: r.string,
163
+ renderAllContent: r.bool,
164
+ size: r.oneOf(["small", "medium", "large", null]),
165
+ scrollButtons: r.oneOf(["auto", "visible", "hidden"]),
166
+ scrollButtonsPosition: r.oneOf(["split", "start", "end", "around", "before", "after"])
167
+ }, p.defaultProps = {
139
168
  animation: !0,
140
169
  tabPosition: "top",
141
170
  tabAlignment: "start",
142
171
  keepTabsMounted: !1,
143
172
  buttonScrollSpeed: 100,
144
- scrollButtonsPosition: "around",
145
173
  mouseScrollSpeed: 10,
174
+ scrollButtons: "auto",
175
+ scrollButtonsPosition: "split",
176
+ size: "medium",
146
177
  renderAllContent: !1
147
178
  };
148
- let f = d;
179
+ let b = p;
149
180
  export {
150
- f as TabStrip
181
+ b as TabStrip
151
182
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),i=require("prop-types"),h=require("@progress/kendo-react-animation"),u=require("@progress/kendo-react-common");function b(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const t in a)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(a,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>a[t]})}}return e.default=a,Object.freeze(e)}const r=b(y),c=class c extends r.Component{constructor(){super(...arguments),this.contentId=this.props.contentPanelId,this.childFactory=e=>r.cloneElement(e,{...e.props,in:e.props.children.props.id===String(this.contentId+this.props.selected)})}render(){const{children:e,selected:t,contentPanelId:n,keepTabsMounted:s,navItemId:o,renderAllContent:l}=this.props,d=e&&typeof t=="number"&&r.Children.toArray(e)[t],m=u.classNames("k-tabstrip-content","k-active",d&&d.props.contentClassName);return l?this.renderAllContent(e):r.createElement("div",{className:m,style:this.props.style,id:n,role:"tabpanel","aria-hidden":s,"aria-labelledby":`${o}-${(t==null?void 0:t.toString())||""}`,tabIndex:0},this.renderContent(e))}renderContent(e){return this.props.keepTabsMounted?r.Children.map(this.props.children,(t,n)=>this.renderChild(t,n)):this.renderChild(r.Children.toArray(e)[this.props.selected],this.props.selected)}renderAllContent(e){return r.Children.map(e,(t,n)=>{const s=t,o=n===this.props.selected,l=u.classNames("k-tabstrip-content",{"k-active":o},s.props.contentClassName);return r.createElement("div",{className:l,style:this.props.style,id:`${this.props.contentPanelId}-${n}`,role:"tabpanel","aria-hidden":!o,hidden:!o,"aria-labelledby":`${this.props.navItemId}-${n}`},this.props.animation?r.createElement(h.Fade,{key:`${n}-${o}`,appear:!0,enter:!0,exit:!1},s.props.children):s.props.children)})}renderChild(e,t){const n=t===this.props.selected,s={style:{display:n?void 0:"none"}},o={position:"initial",display:n?void 0:"none"};return e.props.disabled?null:this.props.animation?r.createElement(h.Fade,{appear:!0,exit:this.props.keepTabsMounted,style:o,childFactory:this.props.keepTabsMounted?this.childFactory:void 0},r.createElement("div",{...s,id:String(this.contentId+t),key:t},e.props.children)):r.createElement("div",{...s,key:t},e.props.children)}};c.propTypes={animation:i.bool,children:i.oneOfType([i.element,i.arrayOf(i.element)]),selected:i.number,style:i.object};let p=c;exports.TabStripContent=p;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react"),i=require("prop-types"),h=require("@progress/kendo-react-animation"),u=require("@progress/kendo-react-common");function b(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const t in a)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(a,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>a[t]})}}return e.default=a,Object.freeze(e)}const r=b(y),c=class c extends r.Component{constructor(){super(...arguments),this.contentId=this.props.contentPanelId,this.childFactory=e=>r.cloneElement(e,{...e.props,in:e.props.children.props.id===String(this.contentId+this.props.selected)})}render(){const{children:e,selected:t,contentPanelId:n,keepTabsMounted:s,navItemId:o,renderAllContent:l}=this.props,d=e&&typeof t=="number"&&r.Children.toArray(e)[t],m=u.classNames("k-tabstrip-content","k-active",d&&d.props.contentClassName);return l?this.renderAllContent(e):r.createElement("div",{className:m,style:this.props.style,id:n,role:"tabpanel","aria-hidden":s,"aria-labelledby":`${o}-${(t==null?void 0:t.toString())||""}`,tabIndex:0},this.renderContent(e))}renderContent(e){return this.props.keepTabsMounted?r.Children.map(this.props.children,(t,n)=>this.renderChild(t,n)):this.renderChild(r.Children.toArray(e)[this.props.selected],this.props.selected)}renderAllContent(e){return r.Children.map(e,(t,n)=>{const s=t,o=n===this.props.selected,l=u.classNames("k-tabstrip-content",{"k-active":o},s.props.contentClassName);return r.createElement("div",{className:l,style:this.props.style,id:`${this.props.contentPanelId}-${n}`,role:"tabpanel","aria-hidden":!o,hidden:!o,"aria-labelledby":`${this.props.navItemId}-${n}`},this.props.animation?r.createElement(h.Fade,{key:`${n}-${o}`,appear:!0,enter:!0,exit:!1},s.props.children):s.props.children)})}renderChild(e,t){const n=t===this.props.selected,s={style:{display:n?void 0:"none"}},o={position:"initial",display:n?void 0:"none"};return e.props.disabled?null:this.props.animation?r.createElement(h.Fade,{appear:!0,exit:this.props.keepTabsMounted,style:o,childFactory:this.props.keepTabsMounted?this.childFactory:void 0},r.createElement("div",{...s,id:String(this.contentId+t),key:t},e.props.children)):r.createElement("div",{...s,key:t},e.props.children)}};c.propTypes={animation:i.bool,children:i.oneOfType([i.element,i.arrayOf(i.element)]),selected:i.number,style:i.object};let p=c;exports.TabStripContent=p;
@@ -5,7 +5,6 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
8
  import * as n from "react";
10
9
  import i from "prop-types";
11
10
  import { Fade as d } from "@progress/kendo-react-animation";
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),f=require("prop-types"),M=require("./TabStripNavigationItem.js"),N=require("@progress/kendo-react-common"),E=require("@progress/kendo-react-buttons"),m=require("@progress/kendo-svg-icons"),y=require("@progress/kendo-react-intl"),v=require("./messages/index.js");function z(h){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const t in h)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(h,t);Object.defineProperty(s,t,r.get?r:{enumerable:!0,get:()=>h[t]})}}return s.default=h,Object.freeze(s)}const a=z(L),O=h=>Array.apply(null,Array(h)),W=h=>h.preventDefault(),S="smooth",p="prev",g="next",k=class k extends a.Component{constructor(s){super(s),this.itemsNavRef=a.createRef(),this.isRtl=()=>this.props.dir==="rtl",this.onWheel=t=>{t.stopPropagation();const r=t.deltaY<0?p:g;this.setNewScrollPosition(r,t)},this.arrowClickPrev=t=>{this.handleArrowClick(p,t)},this.arrowClickNext=t=>{this.handleArrowClick(g,t)},this.handleArrowClick=(t,r)=>{this.setNewScrollPosition(t,r)},this.setNewScrollPosition=(t,r)=>{const e=this.itemsNavRef.current;if(!e)return;const c=this.horizontalScroll(),n=c?e.scrollWidth-e.offsetWidth:e.scrollHeight-e.offsetHeight,l=(r.type==="click"?this.props.buttonScrollSpeed:this.props.mouseScrollSpeed)||0;let o=c?e.scrollLeft:e.scrollTop,i=c?e.scrollWidth-e.scrollLeft:e.scrollHeight-e.scrollTop,b=e.scrollWidth-e.scrollLeft*-1;this.isRtl()&&this.horizontalScroll()?(t===p&&o<0&&(o+=l,b+=l),t===g&&o<n&&(o-=l,b-=l),o=Math.min(0,Math.min(n,o))):(t===p&&o>0&&(o-=l,i+=l),t===g&&o<n&&(o+=l,i-=l),o=Math.max(0,Math.min(n,o)));const d=o===0,T=r.type==="click"?S:void 0;if(c){const w=this.isRtl()?Math.round(b)<=e.clientWidth||Math.floor(b)<=e.clientWidth:Math.round(i)<=e.clientWidth||Math.floor(i)<=e.clientWidth;this.setState({disabledPrev:d,disabledNext:w}),e.scrollTo({left:o,behavior:T})}else this.setState({disabledPrev:d,disabledNext:Math.round(i)<=e.clientHeight||Math.floor(i)<=e.clientHeight}),e.scrollTo({top:o,behavior:T})},this.renderArrow=(t,r)=>{const e=this.horizontalScroll(),c=y.provideLocalizationService(this),n={prev:{arrowTab:"k-tabstrip-prev",fontIcon:e?this.isRtl()?"caret-alt-right":"caret-alt-left":"caret-alt-up",svgIcon:e?this.isRtl()?m.caretAltRightIcon:m.caretAltLeftIcon:m.caretAltUpIcon,title:c.toLanguageString(v.prevArrowTitle,v.messages[v.prevArrowTitle])},next:{arrowTab:"k-tabstrip-next",fontIcon:e?this.isRtl()?"caret-alt-left":"caret-alt-right":"caret-alt-down",svgIcon:e?this.isRtl()?m.caretAltLeftIcon:m.caretAltRightIcon:m.caretAltDownIcon,title:c.toLanguageString(v.nextArrowTitle,v.messages[v.nextArrowTitle])}},l=(t===p?this.props.prevButton:this.props.nextButton)||E.Button,o=t===p?this.arrowClickPrev:this.arrowClickNext;return a.createElement(l,{disabled:r,className:`${n[t].arrowTab}`,onClick:o,icon:n[t].fontIcon,svgIcon:n[t].svgIcon,onMouseDown:W,tabIndex:-1,fillMode:"flat",title:n[t].title})},this.state={disabledPrev:this.props.selected===0,disabledNext:this.props.selected===a.Children.count(this.props.children)-1}}componentDidMount(){this.props.scrollable&&this.scrollToSelected()}componentDidUpdate(s){const{scrollable:t,selected:r}=this.props;t&&s.selected!==r&&(this.scrollToSelected(),this.setState({disabledPrev:r===0,disabledNext:r===a.Children.count(this.props.children)-1}))}render(){const{selected:s,tabPosition:t,tabAlignment:r,children:e,onSelect:c,onKeyDown:n,navItemId:l,contentPanelId:o,renderAllContent:i,scrollable:b,scrollButtonsPosition:d}=this.props,T=a.Children.count(e),w=a.Children.toArray(e);let I;e&&(I=O(T).map((D,u,x)=>{const C={active:s===u,disabled:w[u].props.disabled,index:u,title:w[u].props.title,first:u===0,last:u===x.length-1,contentPanelId:o,renderAllContent:i,id:l,onSelect:c};return a.createElement(M.TabStripNavigationItem,{key:u,...C})}));const R=N.classNames("k-tabstrip-items-wrapper",{"k-hstack":t==="top"||t==="bottom","k-vstack":t==="left"||t==="right"}),A=N.classNames("k-tabstrip-items","k-reset",`k-tabstrip-items-${r}`);return a.createElement("div",{className:R},b?a.createElement(a.Fragment,null,(d==="around"||d==="before")&&this.renderArrow(p,this.state.disabledPrev),d==="before"&&this.renderArrow(g,this.state.disabledNext),a.createElement("ul",{ref:this.itemsNavRef,className:A,role:"tablist",tabIndex:this.props.tabIndex,onKeyDown:n,onWheel:this.onWheel,"aria-orientation":t==="left"||t==="right"?"vertical":void 0},I),d==="after"&&this.renderArrow(p,this.state.disabledPrev),(d==="around"||d==="after")&&this.renderArrow(g,this.state.disabledNext)):a.createElement("ul",{className:A,role:"tablist",tabIndex:this.props.tabIndex,onKeyDown:n},I))}scrollToSelected(){const s=this.itemsNavRef.current,t=s&&s.children[this.props.selected||0];if(t instanceof HTMLElement&&s instanceof HTMLElement){const r=this.horizontalScroll(),e=r?s.offsetWidth:s.offsetHeight,c=r?t.offsetWidth:t.offsetHeight,n=r?"left":"top";let l=r?s.scrollLeft:s.scrollTop,o=0;if(this.isRtl()){const i=t.offsetLeft;l=l*-1,i<0?(o=i-c+s.offsetLeft,s.scrollTo({[n]:o,behavior:S})):i+c>e-l&&(o=l+i-c,s.scrollTo({[n]:o,behavior:S}))}else{const i=r?t.offsetLeft-s.offsetLeft:t.offsetTop-s.offsetTop;l+e<i+c?(o=i+c-e,s.scrollTo({[n]:o,behavior:S})):l>i&&(o=i,s.scrollTo({[n]:o,behavior:S}))}}}horizontalScroll(){return/top|bottom/.test(this.props.tabPosition||"top")}};k.propTypes={children:f.oneOfType([f.element,f.arrayOf(f.element)]),onSelect:f.func,onKeyDown:f.func,selected:f.number,tabIndex:f.number};let P=k;exports.TabStripNavigation=P;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),n=require("prop-types"),E=require("./TabStripNavigationItem.js"),w=require("@progress/kendo-react-common"),B=require("@progress/kendo-react-buttons"),m=require("@progress/kendo-svg-icons"),x=require("@progress/kendo-react-intl"),b=require("./messages/index.js");function y(d){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const e in d)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(d,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>d[e]})}}return t.default=d,Object.freeze(t)}const h=y(L),M=d=>Array.apply(null,Array(d)),v="smooth",f="prev",S="next",I=class I extends h.Component{constructor(){super(...arguments),this.itemsNavRef=this.props.itemsNavRef||h.createRef(),this.onScroll=()=>{var t,e;(e=(t=this.props).onScroll)==null||e.call(t)},this.isRtl=()=>this.props.dir==="rtl",this.arrowClickPrev=t=>{this.handleArrowClick(f,t)},this.arrowClickNext=t=>{this.handleArrowClick(S,t)},this.handleArrowClick=(t,e)=>{this.setNewScrollPosition(t,e)},this.setNewScrollPosition=(t,e)=>{const o=this.itemsNavRef.current;if(!o)return;const r=this.horizontalScroll(),l=r?o.scrollWidth-o.offsetWidth:o.scrollHeight-o.offsetHeight,i=(e.type==="click"?this.props.buttonScrollSpeed:this.props.mouseScrollSpeed)||0;let s=r?o.scrollLeft:o.scrollTop;this.isRtl()&&this.horizontalScroll()?(t===f&&s<0&&(s+=i),t===S&&s<l&&(s-=i),s=Math.min(0,Math.min(l,s))):(t===f&&s>0&&(s-=i),t===S&&s<l&&(s+=i),s=Math.max(0,Math.min(l,s)));const c=e.type==="click"?v:void 0;r?o.scrollTo({left:s,behavior:c}):o.scrollTo({top:s,behavior:c})},this.renderArrow=t=>{const e=this.horizontalScroll(),o=x.provideLocalizationService(this),r={prev:{arrowTab:"k-tabstrip-prev",fontIcon:e?this.isRtl()?"caret-alt-right":"caret-alt-left":"caret-alt-up",svgIcon:e?this.isRtl()?m.caretAltRightIcon:m.caretAltLeftIcon:m.caretAltUpIcon,title:o.toLanguageString(b.prevArrowTitle,b.messages[b.prevArrowTitle])},next:{arrowTab:"k-tabstrip-next",fontIcon:e?this.isRtl()?"caret-alt-left":"caret-alt-right":"caret-alt-down",svgIcon:e?this.isRtl()?m.caretAltLeftIcon:m.caretAltRightIcon:m.caretAltDownIcon,title:o.toLanguageString(b.nextArrowTitle,b.messages[b.nextArrowTitle])}},l=(t===f?this.props.prevButton:this.props.nextButton)||B.Button,i=t===f?this.arrowClickPrev:this.arrowClickNext,s=this.props.containerScrollPosition===null||t===f&&(this.props.containerScrollPosition==="start"||this.props.containerScrollPosition==="top")||t===S&&(this.props.containerScrollPosition==="end"||this.props.containerScrollPosition==="bottom");return h.createElement(l,{disabled:s,className:w.classNames(`${r[t].arrowTab}`),onClick:i,icon:r[t].fontIcon,svgIcon:r[t].svgIcon,size:this.props.size,tabIndex:-1,fillMode:"flat",title:r[t].title})}}componentDidMount(){this.props.scrollable&&this.scrollToSelected()}componentDidUpdate(t){const{scrollable:e,selected:o}=this.props;e&&t.selected!==o&&this.scrollToSelected()}render(){const{selected:t,tabPosition:e,tabAlignment:o,children:r,onSelect:l,onKeyDown:i,navItemId:s,contentPanelId:c,renderAllContent:a,scrollable:R,scrollButtons:g,scrollButtonsPosition:p}=this.props,N=h.Children.count(r),A=h.Children.toArray(r);let T;r&&(T=M(N).map((D,u,O)=>{const z={active:t===u,disabled:A[u].props.disabled,index:u,title:A[u].props.title,first:u===0,last:u===O.length-1,contentPanelId:c,renderAllContent:a,id:s,onSelect:l,onScroll:this.onScroll};return h.createElement(E.TabStripNavigationItem,{key:u,...z})}));const C=w.classNames("k-tabstrip-items-wrapper k-tabstrip-items-wrapper-scroll",{"k-hstack":e==="top"||e==="bottom","k-vstack":e==="left"||e==="right"}),P=w.classNames("k-tabstrip-items k-tabstrip-items-scroll k-reset",`k-tabstrip-items-${o}`);return h.createElement("div",{className:C},R?h.createElement(h.Fragment,null,g!=="hidden"&&p&&["split","start","around","before"].includes(p)&&this.renderArrow(f),g!=="hidden"&&(p==="start"||p==="before")&&this.renderArrow(S),h.createElement("ul",{ref:this.itemsNavRef,className:P,role:"tablist",tabIndex:this.props.tabIndex,onKeyDown:i,onScroll:this.onScroll,"aria-orientation":e==="left"||e==="right"?"vertical":void 0},T),g!=="hidden"&&(p==="end"||p==="after")&&this.renderArrow(f),g!=="hidden"&&p&&["split","end","around","after"].includes(p)&&this.renderArrow(S)):h.createElement("ul",{className:P,role:"tablist",tabIndex:this.props.tabIndex,onKeyDown:i},T))}scrollToSelected(){const t=this.itemsNavRef.current,e=t&&t.children[this.props.selected||0];if(e instanceof HTMLElement&&t instanceof HTMLElement){const o=this.horizontalScroll(),r=o?t.offsetWidth:t.offsetHeight,l=o?e.offsetWidth:e.offsetHeight,i=o?"left":"top";let s=o?t.scrollLeft:t.scrollTop,c=0;if(this.isRtl()){const a=e.offsetLeft;s=s*-1,a<0?(c=a-l+t.offsetLeft,t.scrollTo({[i]:c,behavior:v})):a+l>r-s&&(c=s+a-l,t.scrollTo({[i]:c,behavior:v}))}else{const a=o?e.offsetLeft-t.offsetLeft:e.offsetTop-t.offsetTop;s+r<a+l?(c=a+l-r,t.scrollTo({[i]:c,behavior:v})):s>a&&(c=a,t.scrollTo({[i]:c,behavior:v}))}}}horizontalScroll(){return/top|bottom/.test(this.props.tabPosition||"top")}};I.propTypes={children:n.oneOfType([n.element,n.arrayOf(n.element)]),onSelect:n.func,onKeyDown:n.func,onScroll:n.func,selected:n.number,tabIndex:n.number,scrollable:n.bool,size:n.oneOf(["small","medium","large"]),scrollButtons:n.oneOf(["auto","visible","hidden"]),scrollButtonsPosition:n.oneOf(["split","start","end","around","before","after"]),containerScrollPosition:n.oneOf(["start","end","top","bottom","middle",null])};let k=I;exports.TabStripNavigation=k;
@@ -5,78 +5,63 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- import * as a from "react";
10
- import f from "prop-types";
11
- import { TabStripNavigationItem as W } from "./TabStripNavigationItem.mjs";
12
- import { classNames as I } from "@progress/kendo-react-common";
13
- import { Button as z } from "@progress/kendo-react-buttons";
14
- import { caretAltRightIcon as k, caretAltLeftIcon as A, caretAltUpIcon as D, caretAltDownIcon as H } from "@progress/kendo-svg-icons";
8
+ import * as h from "react";
9
+ import n from "prop-types";
10
+ import { TabStripNavigationItem as x } from "./TabStripNavigationItem.mjs";
11
+ import { classNames as v } from "@progress/kendo-react-common";
12
+ import { Button as M } from "@progress/kendo-react-buttons";
13
+ import { caretAltRightIcon as k, caretAltLeftIcon as I, caretAltUpIcon as D, caretAltDownIcon as H } from "@progress/kendo-svg-icons";
15
14
  import { provideLocalizationService as y } from "@progress/kendo-react-intl";
16
- import { prevArrowTitle as N, messages as x, nextArrowTitle as C } from "./messages/index.mjs";
17
- const B = (w) => Array.apply(null, Array(w)), O = (w) => w.preventDefault(), u = "smooth", d = "prev", b = "next", T = class T extends a.Component {
18
- constructor(s) {
19
- super(s), this.itemsNavRef = a.createRef(), this.isRtl = () => this.props.dir === "rtl", this.onWheel = (t) => {
20
- t.stopPropagation();
21
- const l = t.deltaY < 0 ? d : b;
22
- this.setNewScrollPosition(l, t);
23
- }, this.arrowClickPrev = (t) => {
24
- this.handleArrowClick(d, t);
15
+ import { prevArrowTitle as A, messages as P, nextArrowTitle as R } from "./messages/index.mjs";
16
+ const W = (z) => Array.apply(null, Array(z)), b = "smooth", f = "prev", m = "next", w = class w extends h.Component {
17
+ constructor() {
18
+ super(...arguments), this.itemsNavRef = this.props.itemsNavRef || h.createRef(), this.onScroll = () => {
19
+ var t, o;
20
+ (o = (t = this.props).onScroll) == null || o.call(t);
21
+ }, this.isRtl = () => this.props.dir === "rtl", this.arrowClickPrev = (t) => {
22
+ this.handleArrowClick(f, t);
25
23
  }, this.arrowClickNext = (t) => {
26
- this.handleArrowClick(b, t);
27
- }, this.handleArrowClick = (t, l) => {
28
- this.setNewScrollPosition(t, l);
29
- }, this.setNewScrollPosition = (t, l) => {
30
- const e = this.itemsNavRef.current;
31
- if (!e)
24
+ this.handleArrowClick(m, t);
25
+ }, this.handleArrowClick = (t, o) => {
26
+ this.setNewScrollPosition(t, o);
27
+ }, this.setNewScrollPosition = (t, o) => {
28
+ const s = this.itemsNavRef.current;
29
+ if (!s)
32
30
  return;
33
- const c = this.horizontalScroll(), n = c ? e.scrollWidth - e.offsetWidth : e.scrollHeight - e.offsetHeight, r = (l.type === "click" ? this.props.buttonScrollSpeed : this.props.mouseScrollSpeed) || 0;
34
- let o = c ? e.scrollLeft : e.scrollTop, i = c ? e.scrollWidth - e.scrollLeft : e.scrollHeight - e.scrollTop, m = e.scrollWidth - e.scrollLeft * -1;
35
- this.isRtl() && this.horizontalScroll() ? (t === d && o < 0 && (o += r, m += r), t === b && o < n && (o -= r, m -= r), o = Math.min(0, Math.min(n, o))) : (t === d && o > 0 && (o -= r, i += r), t === b && o < n && (o += r, i -= r), o = Math.max(0, Math.min(n, o)));
36
- const h = o === 0, v = l.type === "click" ? u : void 0;
37
- if (c) {
38
- const S = this.isRtl() ? Math.round(m) <= e.clientWidth || Math.floor(m) <= e.clientWidth : Math.round(i) <= e.clientWidth || Math.floor(i) <= e.clientWidth;
39
- this.setState({
40
- disabledPrev: h,
41
- disabledNext: S
42
- }), e.scrollTo({ left: o, behavior: v });
43
- } else
44
- this.setState({
45
- disabledPrev: h,
46
- disabledNext: Math.round(i) <= e.clientHeight || Math.floor(i) <= e.clientHeight
47
- }), e.scrollTo({ top: o, behavior: v });
48
- }, this.renderArrow = (t, l) => {
49
- const e = this.horizontalScroll(), c = y(this), n = {
31
+ const r = this.horizontalScroll(), l = r ? s.scrollWidth - s.offsetWidth : s.scrollHeight - s.offsetHeight, i = (o.type === "click" ? this.props.buttonScrollSpeed : this.props.mouseScrollSpeed) || 0;
32
+ let e = r ? s.scrollLeft : s.scrollTop;
33
+ this.isRtl() && this.horizontalScroll() ? (t === f && e < 0 && (e += i), t === m && e < l && (e -= i), e = Math.min(0, Math.min(l, e))) : (t === f && e > 0 && (e -= i), t === m && e < l && (e += i), e = Math.max(0, Math.min(l, e)));
34
+ const c = o.type === "click" ? b : void 0;
35
+ r ? s.scrollTo({ left: e, behavior: c }) : s.scrollTo({ top: e, behavior: c });
36
+ }, this.renderArrow = (t) => {
37
+ const o = this.horizontalScroll(), s = y(this), r = {
50
38
  prev: {
51
39
  arrowTab: "k-tabstrip-prev",
52
- fontIcon: e ? this.isRtl() ? "caret-alt-right" : "caret-alt-left" : "caret-alt-up",
53
- svgIcon: e ? this.isRtl() ? k : A : D,
54
- title: c.toLanguageString(N, x[N])
40
+ fontIcon: o ? this.isRtl() ? "caret-alt-right" : "caret-alt-left" : "caret-alt-up",
41
+ svgIcon: o ? this.isRtl() ? k : I : D,
42
+ title: s.toLanguageString(A, P[A])
55
43
  },
56
44
  next: {
57
45
  arrowTab: "k-tabstrip-next",
58
- fontIcon: e ? this.isRtl() ? "caret-alt-left" : "caret-alt-right" : "caret-alt-down",
59
- svgIcon: e ? this.isRtl() ? A : k : H,
60
- title: c.toLanguageString(C, x[C])
46
+ fontIcon: o ? this.isRtl() ? "caret-alt-left" : "caret-alt-right" : "caret-alt-down",
47
+ svgIcon: o ? this.isRtl() ? I : k : H,
48
+ title: s.toLanguageString(R, P[R])
61
49
  }
62
- }, r = (t === d ? this.props.prevButton : this.props.nextButton) || z, o = t === d ? this.arrowClickPrev : this.arrowClickNext;
63
- return /* @__PURE__ */ a.createElement(
64
- r,
50
+ }, l = (t === f ? this.props.prevButton : this.props.nextButton) || M, i = t === f ? this.arrowClickPrev : this.arrowClickNext, e = this.props.containerScrollPosition === null || t === f && (this.props.containerScrollPosition === "start" || this.props.containerScrollPosition === "top") || t === m && (this.props.containerScrollPosition === "end" || this.props.containerScrollPosition === "bottom");
51
+ return /* @__PURE__ */ h.createElement(
52
+ l,
65
53
  {
66
- disabled: l,
67
- className: `${n[t].arrowTab}`,
68
- onClick: o,
69
- icon: n[t].fontIcon,
70
- svgIcon: n[t].svgIcon,
71
- onMouseDown: O,
54
+ disabled: e,
55
+ className: v(`${r[t].arrowTab}`),
56
+ onClick: i,
57
+ icon: r[t].fontIcon,
58
+ svgIcon: r[t].svgIcon,
59
+ size: this.props.size,
72
60
  tabIndex: -1,
73
61
  fillMode: "flat",
74
- title: n[t].title
62
+ title: r[t].title
75
63
  }
76
64
  );
77
- }, this.state = {
78
- disabledPrev: this.props.selected === 0,
79
- disabledNext: this.props.selected === a.Children.count(this.props.children) - 1
80
65
  };
81
66
  }
82
67
  /**
@@ -88,75 +73,77 @@ const B = (w) => Array.apply(null, Array(w)), O = (w) => w.preventDefault(), u =
88
73
  /**
89
74
  * @hidden
90
75
  */
91
- componentDidUpdate(s) {
92
- const { scrollable: t, selected: l } = this.props;
93
- t && s.selected !== l && (this.scrollToSelected(), this.setState({
94
- disabledPrev: l === 0,
95
- disabledNext: l === a.Children.count(this.props.children) - 1
96
- }));
76
+ componentDidUpdate(t) {
77
+ const { scrollable: o, selected: s } = this.props;
78
+ o && t.selected !== s && this.scrollToSelected();
97
79
  }
98
80
  /**
99
81
  * @hidden
100
82
  */
101
83
  render() {
102
84
  const {
103
- selected: s,
104
- tabPosition: t,
105
- tabAlignment: l,
106
- children: e,
107
- onSelect: c,
108
- onKeyDown: n,
109
- navItemId: r,
110
- contentPanelId: o,
111
- renderAllContent: i,
112
- scrollable: m,
113
- scrollButtonsPosition: h
114
- } = this.props, v = a.Children.count(e), S = a.Children.toArray(e);
115
- let g;
116
- e && (g = B(v).map((U, p, M) => {
117
- const E = {
118
- active: s === p,
119
- disabled: S[p].props.disabled,
120
- index: p,
121
- title: S[p].props.title,
122
- first: p === 0,
123
- last: p === M.length - 1,
124
- contentPanelId: o,
125
- renderAllContent: i,
126
- id: r,
127
- onSelect: c
85
+ selected: t,
86
+ tabPosition: o,
87
+ tabAlignment: s,
88
+ children: r,
89
+ onSelect: l,
90
+ onKeyDown: i,
91
+ navItemId: e,
92
+ contentPanelId: c,
93
+ renderAllContent: a,
94
+ scrollable: L,
95
+ scrollButtons: u,
96
+ scrollButtonsPosition: p
97
+ } = this.props, E = h.Children.count(r), g = h.Children.toArray(r);
98
+ let S;
99
+ r && (S = W(E).map((U, d, B) => {
100
+ const O = {
101
+ active: t === d,
102
+ disabled: g[d].props.disabled,
103
+ index: d,
104
+ title: g[d].props.title,
105
+ first: d === 0,
106
+ last: d === B.length - 1,
107
+ contentPanelId: c,
108
+ renderAllContent: a,
109
+ id: e,
110
+ onSelect: l,
111
+ onScroll: this.onScroll
128
112
  };
129
- return /* @__PURE__ */ a.createElement(W, { key: p, ...E });
113
+ return /* @__PURE__ */ h.createElement(x, { key: d, ...O });
130
114
  }));
131
- const L = I("k-tabstrip-items-wrapper", {
132
- "k-hstack": t === "top" || t === "bottom",
133
- "k-vstack": t === "left" || t === "right"
134
- }), P = I("k-tabstrip-items", "k-reset", `k-tabstrip-items-${l}`);
135
- return /* @__PURE__ */ a.createElement("div", { className: L }, m ? /* @__PURE__ */ a.createElement(a.Fragment, null, (h === "around" || h === "before") && this.renderArrow(d, this.state.disabledPrev), h === "before" && this.renderArrow(b, this.state.disabledNext), /* @__PURE__ */ a.createElement(
115
+ const N = v("k-tabstrip-items-wrapper k-tabstrip-items-wrapper-scroll", {
116
+ "k-hstack": o === "top" || o === "bottom",
117
+ "k-vstack": o === "left" || o === "right"
118
+ }), T = v(
119
+ "k-tabstrip-items k-tabstrip-items-scroll k-reset",
120
+ `k-tabstrip-items-${s}`
121
+ );
122
+ return /* @__PURE__ */ h.createElement("div", { className: N }, L ? /* @__PURE__ */ h.createElement(h.Fragment, null, u !== "hidden" && p && ["split", "start", "around", "before"].includes(p) && this.renderArrow(f), u !== "hidden" && (p === "start" || p === "before") && this.renderArrow(m), /* @__PURE__ */ h.createElement(
136
123
  "ul",
137
124
  {
138
125
  ref: this.itemsNavRef,
139
- className: P,
126
+ className: T,
140
127
  role: "tablist",
141
128
  tabIndex: this.props.tabIndex,
142
- onKeyDown: n,
143
- onWheel: this.onWheel,
144
- "aria-orientation": t === "left" || t === "right" ? "vertical" : void 0
129
+ onKeyDown: i,
130
+ onScroll: this.onScroll,
131
+ "aria-orientation": o === "left" || o === "right" ? "vertical" : void 0
145
132
  },
146
- g
147
- ), h === "after" && this.renderArrow(d, this.state.disabledPrev), (h === "around" || h === "after") && this.renderArrow(b, this.state.disabledNext)) : /* @__PURE__ */ a.createElement("ul", { className: P, role: "tablist", tabIndex: this.props.tabIndex, onKeyDown: n }, g));
133
+ S
134
+ ), u !== "hidden" && (p === "end" || p === "after") && this.renderArrow(f), u !== "hidden" && p && ["split", "end", "around", "after"].includes(p) && this.renderArrow(m)) : /* @__PURE__ */ h.createElement("ul", { className: T, role: "tablist", tabIndex: this.props.tabIndex, onKeyDown: i }, S));
148
135
  }
149
136
  scrollToSelected() {
150
- const s = this.itemsNavRef.current, t = s && s.children[this.props.selected || 0];
151
- if (t instanceof HTMLElement && s instanceof HTMLElement) {
152
- const l = this.horizontalScroll(), e = l ? s.offsetWidth : s.offsetHeight, c = l ? t.offsetWidth : t.offsetHeight, n = l ? "left" : "top";
153
- let r = l ? s.scrollLeft : s.scrollTop, o = 0;
137
+ const t = this.itemsNavRef.current, o = t && t.children[this.props.selected || 0];
138
+ if (o instanceof HTMLElement && t instanceof HTMLElement) {
139
+ const s = this.horizontalScroll(), r = s ? t.offsetWidth : t.offsetHeight, l = s ? o.offsetWidth : o.offsetHeight, i = s ? "left" : "top";
140
+ let e = s ? t.scrollLeft : t.scrollTop, c = 0;
154
141
  if (this.isRtl()) {
155
- const i = t.offsetLeft;
156
- r = r * -1, i < 0 ? (o = i - c + s.offsetLeft, s.scrollTo({ [n]: o, behavior: u })) : i + c > e - r && (o = r + i - c, s.scrollTo({ [n]: o, behavior: u }));
142
+ const a = o.offsetLeft;
143
+ e = e * -1, a < 0 ? (c = a - l + t.offsetLeft, t.scrollTo({ [i]: c, behavior: b })) : a + l > r - e && (c = e + a - l, t.scrollTo({ [i]: c, behavior: b }));
157
144
  } else {
158
- const i = l ? t.offsetLeft - s.offsetLeft : t.offsetTop - s.offsetTop;
159
- r + e < i + c ? (o = i + c - e, s.scrollTo({ [n]: o, behavior: u })) : r > i && (o = i, s.scrollTo({ [n]: o, behavior: u }));
145
+ const a = s ? o.offsetLeft - t.offsetLeft : o.offsetTop - t.offsetTop;
146
+ e + r < a + l ? (c = a + l - r, t.scrollTo({ [i]: c, behavior: b })) : e > a && (c = a, t.scrollTo({ [i]: c, behavior: b }));
160
147
  }
161
148
  }
162
149
  }
@@ -164,14 +151,20 @@ const B = (w) => Array.apply(null, Array(w)), O = (w) => w.preventDefault(), u =
164
151
  return /top|bottom/.test(this.props.tabPosition || "top");
165
152
  }
166
153
  };
167
- T.propTypes = {
168
- children: f.oneOfType([f.element, f.arrayOf(f.element)]),
169
- onSelect: f.func,
170
- onKeyDown: f.func,
171
- selected: f.number,
172
- tabIndex: f.number
154
+ w.propTypes = {
155
+ children: n.oneOfType([n.element, n.arrayOf(n.element)]),
156
+ onSelect: n.func,
157
+ onKeyDown: n.func,
158
+ onScroll: n.func,
159
+ selected: n.number,
160
+ tabIndex: n.number,
161
+ scrollable: n.bool,
162
+ size: n.oneOf(["small", "medium", "large"]),
163
+ scrollButtons: n.oneOf(["auto", "visible", "hidden"]),
164
+ scrollButtonsPosition: n.oneOf(["split", "start", "end", "around", "before", "after"]),
165
+ containerScrollPosition: n.oneOf(["start", "end", "top", "bottom", "middle", null])
173
166
  };
174
- let R = T;
167
+ let C = w;
175
168
  export {
176
- R as TabStripNavigation
169
+ C as TabStripNavigation
177
170
  };