@progress/kendo-react-layout 13.3.0-develop.9 → 13.4.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/actionsheet/ActionSheet.d.ts +242 -0
  2. package/actionsheet/ActionSheetContent.d.ts +17 -0
  3. package/actionsheet/ActionSheetFooter.d.ts +42 -0
  4. package/actionsheet/ActionSheetHeader.d.ts +17 -0
  5. package/actionsheet/ActionSheetItem.d.ts +13 -0
  6. package/actionsheet/ActionSheetView.d.ts +16 -0
  7. package/actionsheet/interfaces/ActionSheetChildrenProps.d.ts +20 -0
  8. package/actionsheet/interfaces/ActionSheetItemProps.d.ts +76 -0
  9. package/appbar/AppBar.d.ts +56 -0
  10. package/appbar/AppBar.js +1 -1
  11. package/appbar/AppBar.mjs +10 -10
  12. package/appbar/AppBarSection.d.ts +55 -0
  13. package/appbar/AppBarSpacer.d.ts +56 -0
  14. package/appbar/interfaces/AppBarProps.d.ts +143 -0
  15. package/appbar/interfaces/AppBarSectionProps.d.ts +25 -0
  16. package/appbar/interfaces/AppBarSpacerProps.d.ts +26 -0
  17. package/bottomnavigation/BottomNavigation.d.ts +44 -0
  18. package/bottomnavigation/BottomNavigation.js +1 -1
  19. package/bottomnavigation/BottomNavigation.mjs +13 -13
  20. package/bottomnavigation/BottomNavigationItem.d.ts +19 -0
  21. package/bottomnavigation/BottomNavigationItem.mjs +3 -3
  22. package/bottomnavigation/BottomNavigationItemProps.d.ts +120 -0
  23. package/bottomnavigation/BottomNavigationProps.d.ts +238 -0
  24. package/bottomnavigation/models/events.d.ts +27 -0
  25. package/bottomnavigation/models/utils.d.ts +43 -0
  26. package/breadcrumb/Breadcrumb.d.ts +276 -0
  27. package/breadcrumb/Breadcrumb.js +1 -1
  28. package/breadcrumb/Breadcrumb.mjs +0 -1
  29. package/breadcrumb/BreadcrumbDelimiter.d.ts +50 -0
  30. package/breadcrumb/BreadcrumbLink.d.ts +136 -0
  31. package/breadcrumb/BreadcrumbLink.mjs +3 -3
  32. package/breadcrumb/BreadcrumbListItem.d.ts +58 -0
  33. package/breadcrumb/BreadcrumbOrderedList.d.ts +62 -0
  34. package/breadcrumb/BreadcrumbOrderedList.mjs +5 -5
  35. package/card/Avatar.d.ts +10 -0
  36. package/card/Avatar.js +1 -1
  37. package/card/Avatar.mjs +20 -22
  38. package/card/Card.d.ts +11 -0
  39. package/card/CardActions.d.ts +10 -0
  40. package/card/CardActions.mjs +1 -1
  41. package/card/CardBody.d.ts +10 -0
  42. package/card/CardFooter.d.ts +10 -0
  43. package/card/CardHeader.d.ts +10 -0
  44. package/card/CardImage.d.ts +10 -0
  45. package/card/CardSubtitle.d.ts +10 -0
  46. package/card/CardTitle.d.ts +10 -0
  47. package/card/interfaces/AvatarProps.d.ts +141 -0
  48. package/card/interfaces/CardActionsProps.d.ts +76 -0
  49. package/card/interfaces/CardBodyProps.d.ts +36 -0
  50. package/card/interfaces/CardFooterProps.d.ts +36 -0
  51. package/card/interfaces/CardHandle.d.ts +21 -0
  52. package/card/interfaces/CardHeaderProps.d.ts +36 -0
  53. package/card/interfaces/CardImageProps.d.ts +45 -0
  54. package/card/interfaces/CardProps.d.ts +91 -0
  55. package/card/interfaces/CardSubtitleProps.d.ts +36 -0
  56. package/card/interfaces/CardTitleProps.d.ts +21 -0
  57. package/card/interfaces/Enums.d.ts +30 -0
  58. package/contextmenu/ContextMenu.d.ts +50 -0
  59. package/dist/cdn/js/kendo-react-layout.js +1 -1
  60. package/drawer/Drawer.d.ts +52 -0
  61. package/drawer/DrawerContent.d.ts +48 -0
  62. package/drawer/DrawerItem.d.ts +37 -0
  63. package/drawer/DrawerNavigation.d.ts +49 -0
  64. package/drawer/DrawerNavigation.js +1 -1
  65. package/drawer/DrawerNavigation.mjs +27 -27
  66. package/drawer/context/DrawerContext.d.ts +27 -0
  67. package/drawer/interfaces/DrawerAnimation.d.ts +21 -0
  68. package/drawer/interfaces/DrawerContentProps.d.ts +24 -0
  69. package/drawer/interfaces/DrawerItemHandle.d.ts +24 -0
  70. package/drawer/interfaces/DrawerItemProps.d.ts +129 -0
  71. package/drawer/interfaces/DrawerNavigationProps.d.ts +24 -0
  72. package/drawer/interfaces/DrawerProps.d.ts +171 -0
  73. package/drawer/interfaces/DrawerSelectEvent.d.ts +22 -0
  74. package/expansionpanel/ExpansionPanel.d.ts +13 -0
  75. package/expansionpanel/ExpansionPanel.mjs +1 -1
  76. package/expansionpanel/ExpansionPanelContent.d.ts +12 -0
  77. package/expansionpanel/index.d.ts +10 -0
  78. package/expansionpanel/interfaces.d.ts +99 -0
  79. package/gridlayout/GridLayout.d.ts +45 -0
  80. package/gridlayout/GridLayoutItem.d.ts +44 -0
  81. package/gridlayout/interfaces/GridLayoutColumnProps.d.ts +21 -0
  82. package/gridlayout/interfaces/GridLayoutItemProps.d.ts +87 -0
  83. package/gridlayout/interfaces/GridLayoutProps.d.ts +144 -0
  84. package/gridlayout/interfaces/GridLayoutRowProps.d.ts +21 -0
  85. package/index.d.mts +101 -6278
  86. package/index.d.ts +101 -6278
  87. package/menu/BaseMenuItemInternalProps.d.ts +29 -0
  88. package/menu/MenuProps.d.ts +189 -0
  89. package/menu/components/Menu.d.ts +132 -0
  90. package/menu/components/Menu.mjs +1 -1
  91. package/menu/components/MenuItem.d.ts +43 -0
  92. package/menu/components/MenuItemArrow.d.ts +53 -0
  93. package/menu/components/MenuItemInternal.d.ts +70 -0
  94. package/menu/components/MenuItemLink.d.ts +37 -0
  95. package/menu/consts.d.ts +65 -0
  96. package/menu/events.d.ts +45 -0
  97. package/menu/models/BaseMenuItem.d.ts +65 -0
  98. package/menu/models/MenuItemModel.d.ts +30 -0
  99. package/menu/utils/DirectionHolder.d.ts +18 -0
  100. package/menu/utils/MouseOverHandler.d.ts +24 -0
  101. package/menu/utils/getNewItemIdUponKeyboardNavigation.d.ts +14 -0
  102. package/menu/utils/hoverDelay.d.ts +16 -0
  103. package/menu/utils/itemsIdsUtils.d.ts +71 -0
  104. package/menu/utils/itemsIdsUtils.mjs +49 -49
  105. package/menu/utils/misc.d.ts +23 -0
  106. package/menu/utils/prepareInputItemsForInternalWork.d.ts +13 -0
  107. package/package-metadata.d.ts +12 -0
  108. package/package-metadata.js +1 -1
  109. package/package-metadata.mjs +10 -16
  110. package/package.json +8 -8
  111. package/panelbar/PanelBar.d.ts +89 -0
  112. package/panelbar/PanelBarItem.d.ts +61 -0
  113. package/panelbar/interfaces/NavigationAction.d.ts +19 -0
  114. package/panelbar/interfaces/PanelBarItemClickEventArguments.d.ts +15 -0
  115. package/panelbar/interfaces/PanelBarItemProps.d.ts +116 -0
  116. package/panelbar/interfaces/PanelBarProps.d.ts +140 -0
  117. package/panelbar/interfaces/PanelBarSelectEventArguments.d.ts +21 -0
  118. package/panelbar/interfaces/RenderPanelBarItem.d.ts +22 -0
  119. package/panelbar/util.d.ts +63 -0
  120. package/splitter/Splitter.d.ts +150 -0
  121. package/splitter/SplitterBar.d.ts +51 -0
  122. package/splitter/SplitterPane.d.ts +76 -0
  123. package/splitter/messages/index.d.ts +17 -0
  124. package/stacklayout/StackLayout.d.ts +43 -0
  125. package/stacklayout/StackLayoutProps.d.ts +97 -0
  126. package/stepper/Step.d.ts +29 -0
  127. package/stepper/Stepper.d.ts +29 -0
  128. package/stepper/contants.d.ts +15 -0
  129. package/stepper/context/StepperContext.d.ts +30 -0
  130. package/stepper/interfaces/StepChangeEvent.d.ts +18 -0
  131. package/stepper/interfaces/StepFocusEvent.d.ts +14 -0
  132. package/stepper/interfaces/StepHandle.d.ts +20 -0
  133. package/stepper/interfaces/StepProps.d.ts +95 -0
  134. package/stepper/interfaces/StepperChangeEvent.d.ts +18 -0
  135. package/stepper/interfaces/StepperFocusEvent.d.ts +14 -0
  136. package/stepper/interfaces/StepperHandle.d.ts +20 -0
  137. package/stepper/interfaces/StepperOnNavigateEvent.d.ts +38 -0
  138. package/stepper/interfaces/StepperProps.d.ts +216 -0
  139. package/stepper/messages/index.d.ts +22 -0
  140. package/tabstrip/TabStrip.d.ts +297 -0
  141. package/tabstrip/TabStrip.js +1 -1
  142. package/tabstrip/TabStrip.mjs +1 -1
  143. package/tabstrip/TabStripContent.d.ts +70 -0
  144. package/tabstrip/TabStripNavigation.d.ts +144 -0
  145. package/tabstrip/TabStripNavigation.mjs +6 -6
  146. package/tabstrip/TabStripNavigationItem.d.ts +82 -0
  147. package/tabstrip/TabStripTab.d.ts +50 -0
  148. package/tabstrip/messages/index.d.ts +22 -0
  149. package/tilelayout/InternalTile.d.ts +112 -0
  150. package/tilelayout/ResizeHandlers.d.ts +27 -0
  151. package/tilelayout/TileLayout.d.ts +228 -0
  152. package/tilelayout/interfaces/index.d.ts +159 -0
  153. package/timeline/Timeline.d.ts +205 -0
  154. package/timeline/TimelineCard.d.ts +44 -0
  155. package/timeline/TimelineHorizontal.d.ts +10 -0
  156. package/timeline/TimelineHorizontal.js +1 -1
  157. package/timeline/TimelineHorizontal.mjs +0 -2
  158. package/timeline/TimelineVertical.d.ts +19 -0
  159. package/timeline/utils.d.ts +22 -0
@@ -0,0 +1,216 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { StepProps } from './StepProps.js';
9
+ import { StepperChangeEvent } from './StepperChangeEvent.js';
10
+ import { StepperFocusEvent } from './StepperFocusEvent.js';
11
+ import { SVGIcon } from '@progress/kendo-react-common';
12
+ import * as React from 'react';
13
+ /**
14
+ * Represents the props of the [KendoReact Stepper component](https://www.telerik.com/kendo-react-ui/components/layout/stepper).
15
+ */
16
+ export interface StepperProps {
17
+ /**
18
+ * Sets the Stepper animation duration in milliseconds.
19
+ *
20
+ * @default 400
21
+ *
22
+ * @example
23
+ * ```jsx
24
+ * <Stepper animationDuration={400} />
25
+ * ```
26
+ */
27
+ animationDuration?: boolean | number;
28
+ /**
29
+ * Represents the child elements passed to the Stepper.
30
+ *
31
+ * @example
32
+ * ```jsx
33
+ * <Stepper>
34
+ * <Step label="Step 1" />
35
+ * <Step label="Step 2" />
36
+ * </Stepper>
37
+ * ```
38
+ */
39
+ children?: any;
40
+ /**
41
+ * Specifies a list of CSS classes that will be added to the Stepper.
42
+ *
43
+ * @example
44
+ * ```jsx
45
+ * <Stepper className="custom-stepper" />
46
+ * ```
47
+ */
48
+ className?: string;
49
+ /**
50
+ * Represents the `dir` HTML attribute, used to switch between LTR and RTL.
51
+ *
52
+ * @example
53
+ * ```jsx
54
+ * <Stepper dir="rtl" />
55
+ * ```
56
+ */
57
+ dir?: string;
58
+ /**
59
+ * Disables the entire Stepper.
60
+ *
61
+ * @default false
62
+ *
63
+ * @example
64
+ * ```jsx
65
+ * <Stepper disabled />
66
+ * ```
67
+ */
68
+ disabled?: boolean;
69
+ /**
70
+ * Specifies a custom icon rendered inside the step for invalid steps.
71
+ *
72
+ * @example
73
+ * ```jsx
74
+ * <Stepper errorIcon="k-icon k-i-warning" />
75
+ * ```
76
+ */
77
+ errorIcon?: string;
78
+ /**
79
+ * Specifies a custom SVG icon rendered inside the step for invalid steps.
80
+ *
81
+ * @example
82
+ * ```jsx
83
+ * import { gearIcon } from '@progress/kendo-svg-icons';
84
+ *
85
+ * <Stepper errorSVGIcon={gearIcon} />
86
+ * ```
87
+ */
88
+ errorSVGIcon?: SVGIcon;
89
+ /**
90
+ * Overrides the default component responsible for rendering a single step ([see example](https://www.telerik.com/kendo-react-ui/components/layout/stepper/custom_rendering)).
91
+ *
92
+ * @example
93
+ * ```jsx
94
+ * const CustomStep = (props) => <div>{props.label}</div>;
95
+ * <Stepper item={CustomStep} />
96
+ * ```
97
+ */
98
+ item?: React.ComponentType<StepProps>;
99
+ /**
100
+ * The collection of steps rendered in the Stepper ([see example](https://www.telerik.com/kendo-react-ui/components/layout/stepper)).
101
+ *
102
+ * @example
103
+ * ```jsx
104
+ * <Stepper items={[{ label: 'Step 1' }, { label: 'Step 2' }]} />
105
+ * ```
106
+ */
107
+ items: Array<StepProps>;
108
+ /**
109
+ * Specifies whether the Stepper enforces a linear flow ([see example](https://www.telerik.com/kendo-react-ui/components/layout/stepper/linear_mode)).
110
+ *
111
+ * @default false
112
+ *
113
+ * @example
114
+ * ```jsx
115
+ * <Stepper linear />
116
+ * ```
117
+ */
118
+ linear?: boolean;
119
+ /**
120
+ * Specifies the Stepper display mode ([see example](https://www.telerik.com/kendo-react-ui/components/layout/stepper/display_modes)).
121
+ *
122
+ * The possible values are:
123
+ * * (Default) `steps`&mdash;Renders step indicators and optional labels.
124
+ * * `labels`&mdash;Renders labels only.
125
+ *
126
+ * @default steps
127
+ *
128
+ * @example
129
+ * ```jsx
130
+ * <Stepper mode="labels" />
131
+ * ```
132
+ */
133
+ mode?: 'steps' | 'labels';
134
+ /**
135
+ * Specifies the Stepper orientation ([see example](https://www.telerik.com/kendo-react-ui/components/layout/stepper/orientation)).
136
+ *
137
+ * The possible values are:
138
+ * * (Default) `horizontal`
139
+ * * `vertical`
140
+ *
141
+ * @default horizontal
142
+ *
143
+ * @example
144
+ * ```jsx
145
+ * <Stepper orientation="vertical" />
146
+ * ```
147
+ */
148
+ orientation?: 'horizontal' | 'vertical';
149
+ /**
150
+ * Indicates whether the selection changes upon focus change or requires additional action (Enter or Space key press) to select the focused step.
151
+ *
152
+ * @default false
153
+ *
154
+ * @example
155
+ * ```jsx
156
+ * <Stepper selectOnFocus />
157
+ * ```
158
+ */
159
+ selectOnFocus?: boolean;
160
+ /**
161
+ * Sets additional CSS styles to the Stepper.
162
+ *
163
+ * @example
164
+ * ```jsx
165
+ * <Stepper style={{ backgroundColor: 'lightblue' }} />
166
+ * ```
167
+ */
168
+ style?: React.CSSProperties;
169
+ /**
170
+ * Specifies a custom icon rendered inside the step for valid steps.
171
+ *
172
+ * @example
173
+ * ```jsx
174
+ * <Stepper successIcon="k-icon k-i-check" />
175
+ * ```
176
+ */
177
+ successIcon?: string;
178
+ /**
179
+ * Specifies a custom SVG icon rendered inside the step for valid steps.
180
+ *
181
+ * @example
182
+ * ```jsx
183
+ * import { gearIcon } from '@progress/kendo-svg-icons';
184
+ *
185
+ * <Stepper successSVGIcon={gearIcon} />
186
+ * ```
187
+ */
188
+ successSVGIcon?: SVGIcon;
189
+ /**
190
+ * Specifies the index of the selected step.
191
+ *
192
+ * @example
193
+ * ```jsx
194
+ * <Stepper value={1} />
195
+ * ```
196
+ */
197
+ value: number;
198
+ /**
199
+ * Fires when the value is changed.
200
+ *
201
+ * @example
202
+ * ```jsx
203
+ * <Stepper onChange={(event) => console.log(event.value)} />
204
+ * ```
205
+ */
206
+ onChange?: (event: StepperChangeEvent) => void;
207
+ /**
208
+ * Fires when a step is focused.
209
+ *
210
+ * @example
211
+ * ```jsx
212
+ * <Stepper onFocus={(event) => console.log(event.step)} />
213
+ * ```
214
+ */
215
+ onFocus?: (event: StepperFocusEvent) => void;
216
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare const optionalText = "stepper.optionalText";
12
+ /**
13
+ * @hidden
14
+ */
15
+ export declare const progBarAriaLabel = "stepper.progBarAriaLabel";
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare const messages: {
20
+ "stepper.optionalText": string;
21
+ "stepper.progBarAriaLabel": string;
22
+ };
@@ -0,0 +1,297 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { default as PropTypes } from 'prop-types';
9
+ import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
10
+ import { ButtonProps } from '@progress/kendo-react-buttons';
11
+ import * as React from 'react';
12
+ /**
13
+ * Represents the values of the size property of the TabStrip.
14
+ */
15
+ export type TabStripSize = 'small' | 'medium' | 'large';
16
+ /**
17
+ * Represents the values of the scrollButtons property of the TabStrip.
18
+ */
19
+ export type ScrollButtons = 'auto' | 'visible' | 'hidden';
20
+ /**
21
+ * Represents the values of the scrollButtonsPosition property of the TabStrip.
22
+ */
23
+ export type ScrollButtonsPosition = 'split' | 'start' | 'end' | 'around' | 'before' | 'after';
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface TabStripScrollableProps {
28
+ /**
29
+ * Determines whether the TabStrip will be scrollable.
30
+ *
31
+ * @default false
32
+ */
33
+ scrollable?: boolean;
34
+ /**
35
+ * Sets the tab list scroll speed in pixels when scrolling via clicking the previous or next button.
36
+ *
37
+ * @default 100
38
+ */
39
+ buttonScrollSpeed?: number;
40
+ /**
41
+ * Sets the visibility of the scroll buttons.
42
+ *
43
+ * @default `auto`
44
+ */
45
+ scrollButtons?: ScrollButtons;
46
+ /**
47
+ * Sets the scroll buttons position according to the tab list.
48
+ * The previous options 'around', 'before', 'after' are going to be deprecated in favor of 'split', 'start', 'end'.
49
+ *
50
+ * @default `split`
51
+ */
52
+ scrollButtonsPosition?: ScrollButtonsPosition;
53
+ /**
54
+ * Defines the custom component that will be rendered as a previous button.
55
+ * To remove the button, set a function which returns null `() => null`.
56
+ */
57
+ prevButton?: React.ComponentType<ButtonProps>;
58
+ /**
59
+ * Defines the custom component that will be rendered as a next button.
60
+ * To remove the button, set a function which returns null `() => null`.
61
+ */
62
+ nextButton?: React.ComponentType<ButtonProps>;
63
+ }
64
+ /**
65
+ * The arguments that are passed to the `onSelect` callback function of the TabStrip.
66
+ */
67
+ export interface TabStripSelectEventArguments {
68
+ /**
69
+ * The index of the selected TabStrip tab.
70
+ */
71
+ selected: number;
72
+ }
73
+ /**
74
+ * Represents the props of the [KendoReact TabStrip component](https://www.telerik.com/kendo-react-ui/components/layout/tabstrip).
75
+ */
76
+ export interface TabStripProps extends KendoReactComponentBaseProps, TabStripScrollableProps {
77
+ /**
78
+ * Enables the tab animation.
79
+ *
80
+ * @example
81
+ * ```jsx
82
+ * <TabStrip animation={true} />
83
+ * ```
84
+ */
85
+ animation?: boolean;
86
+ /**
87
+ * Sets the index of the selected TabStripTab component ([see example](https://www.telerik.com/kendo-react-ui/components/layout/tabstrip/tabs#toc-tabs-on-initial-loading)).
88
+ *
89
+ * @example
90
+ * ```jsx
91
+ * <TabStrip selected={0} />
92
+ * ```
93
+ */
94
+ selected?: number;
95
+ /**
96
+ * @hidden
97
+ */
98
+ style?: any;
99
+ /**
100
+ * Sets the style of the TabStripContent component.
101
+ *
102
+ * @example
103
+ * ```jsx
104
+ * <TabStrip tabContentStyle={{ padding: '10px' }} />
105
+ * ```
106
+ */
107
+ tabContentStyle?: any;
108
+ /**
109
+ * Sets the position of the tabs. Defaults to `top`.
110
+ *
111
+ * The available options are:
112
+ * - `"top"`&mdash;Renders the `TabStripNavigation` to the top of the TabStrip.
113
+ * - `"bottom"`&mdash;Renders the `TabStripNavigation` to the bottom of the TabStrip.
114
+ * - `"left"`&mdash;Renders the `TabStripNavigation` to the left of the TabStrip.
115
+ * - `"right"`&mdash;Renders the `TabStripNavigation` to the right of the TabStrip.
116
+ *
117
+ * @example
118
+ * ```jsx
119
+ * <TabStrip tabPosition="bottom" />
120
+ * ```
121
+ */
122
+ tabPosition?: string;
123
+ /**
124
+ * Sets the alignment of the tabs. Defaults to `start`.
125
+ *
126
+ * The available options are:
127
+ * - `"start"`&mdash;Aligns the tabs at the start of the `TabStripNavigation`.
128
+ * - `"center"`&mdash;Aligns the tabs in the center of the `TabStripNavigation`.
129
+ * - `"end"`&mdash;Aligns the tabs at the end of the `TabStripNavigation`.
130
+ * - `"justify"`&mdash;Justifies the tabs inside the `TabStripNavigation`.
131
+ * - `"stretched"`&mdash;Stretches the tabs inside the `TabStripNavigation`.
132
+ *
133
+ * @example
134
+ * ```jsx
135
+ * <TabStrip tabAlignment="center" />
136
+ * ```
137
+ */
138
+ tabAlignment?: string;
139
+ /**
140
+ * Sets the `tabIndex` of the TabStripNavigation.
141
+ *
142
+ * @example
143
+ * ```jsx
144
+ * <TabStrip tabIndex={0} />
145
+ * ```
146
+ */
147
+ tabIndex?: number;
148
+ /**
149
+ * Sets the direction of the TabStrip component.
150
+ *
151
+ * @example
152
+ * ```jsx
153
+ * <TabStrip dir="rtl" />
154
+ * ```
155
+ */
156
+ dir?: string;
157
+ /**
158
+ * Specifies the CSS class names of the TabStrip component.
159
+ *
160
+ * @example
161
+ * ```jsx
162
+ * <TabStrip className="custom-class" />
163
+ * ```
164
+ */
165
+ className?: string;
166
+ /**
167
+ * Specifies the possible sizes of the TabStrip.
168
+ *
169
+ * @example
170
+ * ```jsx
171
+ * <TabStrip size="small" />
172
+ * ```
173
+ */
174
+ size?: TabStripSize;
175
+ /**
176
+ * Defines if the tabs will remain mounted after another tab is selected. Defaults to `false`.
177
+ *
178
+ * @example
179
+ * ```jsx
180
+ * <TabStrip keepTabsMounted={true} />
181
+ * ```
182
+ */
183
+ keepTabsMounted?: boolean;
184
+ /**
185
+ * @default false
186
+ * Defines if all component tabs will be rendered by default. Defaults to `false`.
187
+ * If set to `false`, the component will render only the currently selected tab. This can be useful when the content of the tabs is heavy and you want to improve the initial loading time. Check also the [keepTabsMounted](https://www.telerik.com/kendo-react-ui/components/layout/api/tabstripprops#toc-keeptabsmounted) prop.
188
+ *
189
+ * @example
190
+ * ```jsx
191
+ * <TabStrip renderAllContent={true} />
192
+ * ```
193
+ */
194
+ renderAllContent?: boolean;
195
+ /**
196
+ * Fires each time the user makes a selection.
197
+ *
198
+ * @example
199
+ * ```jsx
200
+ * <TabStrip onSelect={(e) => console.log(e.selected)} />
201
+ * ```
202
+ */
203
+ onSelect?: (e: TabStripSelectEventArguments) => void;
204
+ }
205
+ /**
206
+ * @hidden
207
+ */
208
+ export type StateScrollPosition = 'start' | 'end' | 'top' | 'bottom' | 'middle' | null;
209
+ /**
210
+ * @hidden
211
+ */
212
+ export interface TabStripStateProps {
213
+ containerScrollPosition: StateScrollPosition;
214
+ }
215
+ /**
216
+ * Represents the TabStrip component.
217
+ *
218
+ * @remarks
219
+ * Supported children components are: {@link TabStripTab}.
220
+ */
221
+ export declare class TabStrip extends React.Component<TabStripProps, TabStripStateProps, {}> {
222
+ /**
223
+ * @hidden
224
+ */
225
+ static propTypes: {
226
+ id: PropTypes.Requireable<string>;
227
+ animation: PropTypes.Requireable<boolean>;
228
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
229
+ onSelect: PropTypes.Requireable<(...args: any[]) => any>;
230
+ selected: PropTypes.Requireable<number>;
231
+ style: PropTypes.Requireable<object>;
232
+ tabContentStyle: PropTypes.Requireable<object>;
233
+ tabPosition: PropTypes.Requireable<string>;
234
+ tabAlignment: PropTypes.Requireable<string>;
235
+ tabIndex: PropTypes.Requireable<number>;
236
+ className: PropTypes.Requireable<string>;
237
+ dir: PropTypes.Requireable<string>;
238
+ renderAllContent: PropTypes.Requireable<boolean>;
239
+ size: PropTypes.Requireable<string | null>;
240
+ scrollButtons: PropTypes.Requireable<string>;
241
+ scrollButtonsPosition: PropTypes.Requireable<string>;
242
+ };
243
+ /**
244
+ * @hidden
245
+ */
246
+ static defaultProps: {
247
+ animation: boolean;
248
+ tabPosition: string;
249
+ tabAlignment: string;
250
+ keepTabsMounted: boolean;
251
+ buttonScrollSpeed: number;
252
+ mouseScrollSpeed: number;
253
+ scrollButtons: string;
254
+ scrollButtonsPosition: string;
255
+ size: undefined;
256
+ renderAllContent: boolean;
257
+ };
258
+ private tabStripRef;
259
+ private itemsNavRef;
260
+ private resizeObserver?;
261
+ private get contentPanelId();
262
+ private get navItemId();
263
+ private navigation?;
264
+ constructor(props: TabStripProps);
265
+ /** @hidden */
266
+ componentDidMount(): void;
267
+ /** @hidden */
268
+ componentWillUnmount(): void;
269
+ private horizontalScroll;
270
+ /**
271
+ * @hidden
272
+ */
273
+ private onScroll;
274
+ /**
275
+ * @hidden
276
+ */
277
+ onSelect: (index: any) => void;
278
+ /**
279
+ * @hidden
280
+ */
281
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
282
+ /**
283
+ * @hidden
284
+ */
285
+ onKeyboardSelect: (index: number) => void;
286
+ /**
287
+ * @hidden
288
+ */
289
+ render(): React.JSX.Element;
290
+ private renderContent;
291
+ private children;
292
+ }
293
+ /**
294
+ * Represent the `ref` of the TabStrip component.
295
+ */
296
+ export interface TabStripHandle extends Pick<TabStrip, keyof TabStrip> {
297
+ }
@@ -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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),l=require("prop-types"),S=require("./TabStripNavigation.js"),y=require("./TabStripContent.js"),b=require("@progress/kendo-react-common");function P(p){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(p){for(const s in p)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(p,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>p[s]})}}return r.default=p,Object.freeze(r)}const d=P(v),u=class u extends d.Component{constructor(r){super(r),this.tabStripRef=d.createRef(),this.itemsNavRef=d.createRef(),this.onScroll=()=>{const s=this.horizontalScroll(),o=this.itemsNavRef.current;if(!o)return;const e=o.scrollLeft,t=o.clientWidth,i=o.scrollWidth,n=o.scrollTop,c=o.scrollHeight,h=o.clientHeight;let a=null;const g=s?i>t:c>h,m=this.props.dir==="rtl";g?s?e+t===i||(m&&t-e)===i?a="end":e===0||m&&-e===0?a="start":e>0&&e+t<i||-e>0&&t-e<i?a="middle":a=null:c-(n+h)===0?a="bottom":n===0?a="top":n>0&&c-(n+h)>0?a="middle":a=null:a=null,this.setState({containerScrollPosition:a})},this.onSelect=s=>{this.props.selected!==s&&this.props.onSelect&&this.props.onSelect({selected:s})},this.onKeyDown=s=>{this.navigation&&this.navigation.triggerKeyboardEvent(s)},this.onKeyboardSelect=s=>{const o=this.children();o&&o[s].props.disabled||this.onSelect(s)},this.renderContent=s=>{const{selected:o,children:e,tabContentStyle:t}=s,i=d.Children.count(e);return o<i&&o>-1?d.createElement(y.TabStripContent,{index:o,...s,style:t}):null},this.state={containerScrollPosition:null},this.itemsNavRef=d.createRef()}get contentPanelId(){return this.props.id+"-content-panel-id"}get navItemId(){return this.props.id+"-nav-item-id"}componentDidMount(){var o;const r=this.tabStripRef.current,s=r&&getComputedStyle(r).direction==="rtl"||!1;r&&(this.navigation=new b.Navigation({tabIndex:0,root:this.tabStripRef,rovingTabIndex:!0,focusClass:"k-focus",selectors:[".k-tabstrip .k-tabstrip-item"],keyboardEvents:{keydown:{ArrowLeft:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1,h=n!==t.elements.length-1?n+1:0;s?(t.focusNext(e),this.onKeyboardSelect(h)):(t.focusPrevious(e),this.onKeyboardSelect(c))},ArrowRight:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1,h=n!==t.elements.length-1?n+1:0;s?(t.focusPrevious(e),this.onKeyboardSelect(c)):(t.focusNext(e),this.onKeyboardSelect(h))},ArrowDown:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==t.elements.length-1?n+1:0;t.focusNext(e),this.onKeyboardSelect(c)},ArrowUp:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1;t.focusPrevious(e),this.onKeyboardSelect(c)},Home:(e,t,i)=>{i.preventDefault(),t.focusElement(t.first,e),this.onKeyboardSelect(0)},End:(e,t,i)=>{i.preventDefault(),t.focusElement(t.last,e),this.onKeyboardSelect(t.elements.length-1)}}}}),(o=this.navigation)==null||o.initializeRovingTab(this.props.selected),this.onScroll(),this.resizeObserver=window.ResizeObserver&&new ResizeObserver(()=>this.onScroll()),this.tabStripRef.current&&this.resizeObserver&&this.resizeObserver.observe(this.tabStripRef.current))}componentWillUnmount(){var r;(r=this.navigation)==null||r.removeFocusListener(),this.resizeObserver&&this.resizeObserver.disconnect()}horizontalScroll(){return/top|bottom/.test(this.props.tabPosition||"top")}render(){const r={itemsNavRef:this.itemsNavRef,...this.props,children:this.children(),contentPanelId:this.contentPanelId,renderAllContent:this.props.renderAllContent,navItemId:this.navItemId,onKeyDown:this.onKeyDown,onSelect:this.onSelect,onScroll:this.onScroll,containerScrollPosition:this.state.containerScrollPosition,scrollButtons:this.props.scrollButtons==="hidden"||this.state.containerScrollPosition===null&&this.props.scrollButtons==="auto"?"hidden":"visible"},{scrollable:s,scrollButtons:o,size:e,tabPosition:t,tabIndex:i}=r,n=t==="bottom",c=b.classNames("k-tabstrip k-pos-relative",{[`k-tabstrip-${b.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-tabstrip-left":t==="left","k-tabstrip-right":t==="right","k-tabstrip-bottom":t==="bottom","k-tabstrip-top":t==="top","k-tabstrip-scrollable":s,"k-tabstrip-scrollable-start k-tabstrip-scrollable-end":s&&o==="visible","k-tabstrip-scrollable-start":s&&(o==="auto"||!o)&&(this.state.containerScrollPosition==="end"||this.state.containerScrollPosition==="middle"),"k-tabstrip-scrollable-end":s&&o==="auto"&&(this.state.containerScrollPosition==="start"||this.state.containerScrollPosition==="middle")},this.props.className);return d.createElement("div",{id:this.props.id,ref:this.tabStripRef,dir:this.props.dir,className:c,style:this.props.style,onScroll:this.onScroll},!n&&d.createElement(S.TabStripNavigation,{...r,tabIndex:i}),this.renderContent(r),n&&d.createElement(S.TabStripNavigation,{...r,tabIndex:i}))}children(){return d.Children.toArray(this.props.children).filter(r=>r)}};u.propTypes={id:l.string,animation:l.bool,children:l.node,onSelect:l.func,selected:l.number,style:l.object,tabContentStyle:l.object,tabPosition:l.string,tabAlignment:l.string,tabIndex:l.number,className:l.string,dir:l.string,renderAllContent:l.bool,size:l.oneOf(["small","medium","large",null]),scrollButtons:l.oneOf(["auto","visible","hidden"]),scrollButtonsPosition:l.oneOf(["split","start","end","around","before","after"])},u.defaultProps={animation:!0,tabPosition:"top",tabAlignment:"start",keepTabsMounted:!1,buttonScrollSpeed:100,mouseScrollSpeed:10,scrollButtons:"auto",scrollButtonsPosition:"split",size:"medium",renderAllContent:!1};let f=u;exports.TabStrip=f;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),l=require("prop-types"),S=require("./TabStripNavigation.js"),y=require("./TabStripContent.js"),b=require("@progress/kendo-react-common");function P(p){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(p){for(const s in p)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(p,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:()=>p[s]})}}return r.default=p,Object.freeze(r)}const d=P(v),u=class u extends d.Component{constructor(r){super(r),this.tabStripRef=d.createRef(),this.itemsNavRef=d.createRef(),this.onScroll=()=>{const s=this.horizontalScroll(),o=this.itemsNavRef.current;if(!o)return;const e=o.scrollLeft,t=o.clientWidth,i=o.scrollWidth,n=o.scrollTop,c=o.scrollHeight,h=o.clientHeight;let a=null;const g=s?i>t:c>h,m=this.props.dir==="rtl";g?s?e+t===i||(m&&t-e)===i?a="end":e===0||m&&-e===0?a="start":e>0&&e+t<i||-e>0&&t-e<i?a="middle":a=null:c-(n+h)===0?a="bottom":n===0?a="top":n>0&&c-(n+h)>0?a="middle":a=null:a=null,this.setState({containerScrollPosition:a})},this.onSelect=s=>{this.props.selected!==s&&this.props.onSelect&&this.props.onSelect({selected:s})},this.onKeyDown=s=>{this.navigation&&this.navigation.triggerKeyboardEvent(s)},this.onKeyboardSelect=s=>{const o=this.children();o&&o[s].props.disabled||this.onSelect(s)},this.renderContent=s=>{const{selected:o,children:e,tabContentStyle:t}=s,i=d.Children.count(e);return o<i&&o>-1?d.createElement(y.TabStripContent,{index:o,...s,style:t}):null},this.state={containerScrollPosition:null},this.itemsNavRef=d.createRef()}get contentPanelId(){return this.props.id+"-content-panel-id"}get navItemId(){return this.props.id+"-nav-item-id"}componentDidMount(){var o;const r=this.tabStripRef.current,s=r&&getComputedStyle(r).direction==="rtl"||!1;r&&(this.navigation=new b.Navigation({tabIndex:0,root:this.tabStripRef,rovingTabIndex:!0,focusClass:"k-focus",selectors:[".k-tabstrip .k-tabstrip-item"],keyboardEvents:{keydown:{ArrowLeft:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1,h=n!==t.elements.length-1?n+1:0;s?(t.focusNext(e),this.onKeyboardSelect(h)):(t.focusPrevious(e),this.onKeyboardSelect(c))},ArrowRight:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1,h=n!==t.elements.length-1?n+1:0;s?(t.focusPrevious(e),this.onKeyboardSelect(c)):(t.focusNext(e),this.onKeyboardSelect(h))},ArrowDown:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==t.elements.length-1?n+1:0;t.focusNext(e),this.onKeyboardSelect(c)},ArrowUp:(e,t,i)=>{i.preventDefault();const n=t.elements.indexOf(e),c=n!==0?n-1:t.elements.length-1;t.focusPrevious(e),this.onKeyboardSelect(c)},Home:(e,t,i)=>{i.preventDefault(),t.focusElement(t.first,e),this.onKeyboardSelect(0)},End:(e,t,i)=>{i.preventDefault(),t.focusElement(t.last,e),this.onKeyboardSelect(t.elements.length-1)}}}}),(o=this.navigation)==null||o.initializeRovingTab(this.props.selected),this.onScroll(),this.resizeObserver=window.ResizeObserver&&new ResizeObserver(()=>this.onScroll()),this.tabStripRef.current&&this.resizeObserver&&this.resizeObserver.observe(this.tabStripRef.current))}componentWillUnmount(){var r;(r=this.navigation)==null||r.removeFocusListener(),this.resizeObserver&&this.resizeObserver.disconnect()}horizontalScroll(){return/top|bottom/.test(this.props.tabPosition||"top")}render(){const r={itemsNavRef:this.itemsNavRef,...this.props,children:this.children(),contentPanelId:this.contentPanelId,renderAllContent:this.props.renderAllContent,navItemId:this.navItemId,onKeyDown:this.onKeyDown,onSelect:this.onSelect,onScroll:this.onScroll,containerScrollPosition:this.state.containerScrollPosition,scrollButtons:this.props.scrollButtons==="hidden"||this.state.containerScrollPosition===null&&this.props.scrollButtons==="auto"?"hidden":"visible"},{scrollable:s,scrollButtons:o,size:e,tabPosition:t,tabIndex:i}=r,n=t==="bottom",c=b.classNames("k-tabstrip k-pos-relative",{[`k-tabstrip-${b.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-tabstrip-left":t==="left","k-tabstrip-right":t==="right","k-tabstrip-bottom":t==="bottom","k-tabstrip-top":t==="top","k-tabstrip-scrollable":s,"k-tabstrip-scrollable-start k-tabstrip-scrollable-end":s&&o==="visible","k-tabstrip-scrollable-start":s&&(o==="auto"||!o)&&(this.state.containerScrollPosition==="end"||this.state.containerScrollPosition==="middle"),"k-tabstrip-scrollable-end":s&&o==="auto"&&(this.state.containerScrollPosition==="start"||this.state.containerScrollPosition==="middle")},this.props.className);return d.createElement("div",{id:this.props.id,ref:this.tabStripRef,dir:this.props.dir,className:c,style:this.props.style,onScroll:this.onScroll},!n&&d.createElement(S.TabStripNavigation,{...r,tabIndex:i}),this.renderContent(r),n&&d.createElement(S.TabStripNavigation,{...r,tabIndex:i}))}children(){return d.Children.toArray(this.props.children).filter(r=>r)}};u.propTypes={id:l.string,animation:l.bool,children:l.node,onSelect:l.func,selected:l.number,style:l.object,tabContentStyle:l.object,tabPosition:l.string,tabAlignment:l.string,tabIndex:l.number,className:l.string,dir:l.string,renderAllContent:l.bool,size:l.oneOf(["small","medium","large",null]),scrollButtons:l.oneOf(["auto","visible","hidden"]),scrollButtonsPosition:l.oneOf(["split","start","end","around","before","after"])},u.defaultProps={animation:!0,tabPosition:"top",tabAlignment:"start",keepTabsMounted:!1,buttonScrollSpeed:100,mouseScrollSpeed:10,scrollButtons:"auto",scrollButtonsPosition:"split",size:void 0,renderAllContent:!1};let f=u;exports.TabStrip=f;
@@ -168,7 +168,7 @@ p.propTypes = {
168
168
  mouseScrollSpeed: 10,
169
169
  scrollButtons: "auto",
170
170
  scrollButtonsPosition: "split",
171
- size: "medium",
171
+ size: void 0,
172
172
  renderAllContent: !1
173
173
  };
174
174
  let u = p;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { default as PropTypes } from 'prop-types';
9
+ import * as React from 'react';
10
+ /**
11
+ * The props that are passed to the TabStripContent by the TabStrip.
12
+ */
13
+ export interface TabStripContentProps {
14
+ /**
15
+ * Defines whether the content appearance will be animated.
16
+ */
17
+ animation?: boolean;
18
+ /**
19
+ * The index of the selected tab. Used to indicate which child to render.
20
+ */
21
+ selected?: number;
22
+ /**
23
+ * @hidden
24
+ */
25
+ style?: any;
26
+ /**
27
+ * @hidden
28
+ */
29
+ index?: number;
30
+ /**
31
+ * @hidden
32
+ */
33
+ keepTabsMounted?: boolean;
34
+ /**
35
+ * @hidden
36
+ */
37
+ renderAllContent?: boolean;
38
+ /**
39
+ * @hidden
40
+ */
41
+ children?: React.ReactNode;
42
+ /**
43
+ * @hidden
44
+ */
45
+ contentPanelId?: string;
46
+ /**
47
+ * @hidden
48
+ */
49
+ navItemId?: string;
50
+ }
51
+ export declare class TabStripContent extends React.Component<TabStripContentProps, {}> {
52
+ /**
53
+ * @hidden
54
+ */
55
+ static propTypes: {
56
+ animation: PropTypes.Requireable<boolean>;
57
+ children: PropTypes.Requireable<NonNullable<PropTypes.ReactElementLike | (PropTypes.ReactElementLike | null | undefined)[] | null | undefined>>;
58
+ selected: PropTypes.Requireable<number>;
59
+ style: PropTypes.Requireable<object>;
60
+ };
61
+ private contentId;
62
+ /**
63
+ * @hidden
64
+ */
65
+ render(): React.JSX.Element | React.JSX.Element[] | null | undefined;
66
+ private renderContent;
67
+ private renderAllContent;
68
+ private renderChild;
69
+ private childFactory;
70
+ }