@progress/kendo-react-layout 9.3.1 → 9.4.0-develop.10

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 +96 -16
  75. package/index.d.ts +96 -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 +1 -2
  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
package/index.d.mts CHANGED
@@ -2737,6 +2737,10 @@ export declare interface MenuItemLinkProps extends KendoReactComponentBaseProps
2737
2737
  * The interface for describing items that can be passed to the `items` property of the Menu as an alternative to passing them as children.
2738
2738
  */
2739
2739
  export declare interface MenuItemModel extends BaseMenuItem {
2740
+ /**
2741
+ * Specifies name of the item.
2742
+ */
2743
+ name?: string;
2740
2744
  /**
2741
2745
  * Specifies the children of the item.
2742
2746
  */
@@ -3195,6 +3199,16 @@ export declare interface RenderPanelBarItem {
3195
3199
  */
3196
3200
  export declare const rightArrowName = "caret-alt-right";
3197
3201
 
3202
+ /**
3203
+ * Represents the values of the scrollButtons property of the TabStrip.
3204
+ */
3205
+ declare type ScrollButtons = 'auto' | 'visible' | 'hidden';
3206
+
3207
+ /**
3208
+ * Represents the values of the scrollButtonsPosition property of the TabStrip.
3209
+ */
3210
+ declare type ScrollButtonsPosition = 'split' | 'start' | 'end' | 'around' | 'before' | 'after';
3211
+
3198
3212
  /**
3199
3213
  * Sort the events list based on event date.
3200
3214
  */
@@ -3548,6 +3562,11 @@ export declare interface StackLayoutProps {
3548
3562
  align?: StackLayoutAlign;
3549
3563
  }
3550
3564
 
3565
+ /**
3566
+ * @hidden
3567
+ */
3568
+ declare type StateScrollPosition = 'start' | 'end' | 'top' | 'bottom' | 'middle' | null;
3569
+
3551
3570
  /**
3552
3571
  * Represents the [KendoReact Step component]({% slug overview_stepper %}).
3553
3572
  *
@@ -3827,11 +3846,12 @@ export declare interface StepProps {
3827
3846
  /** @hidden */
3828
3847
  export declare const TabStrip: ForwardRefExoticComponent<TabStripProps & RefAttributes<any>>;
3829
3848
 
3830
- export declare class TabStripClassComponent extends React_2.Component<TabStripProps, {}> {
3849
+ export declare class TabStripClassComponent extends React_2.Component<TabStripProps, TabStripStateProps, {}> {
3831
3850
  /**
3832
3851
  * @hidden
3833
3852
  */
3834
3853
  static propTypes: {
3854
+ id: default_2.Requireable<string>;
3835
3855
  animation: default_2.Requireable<boolean>;
3836
3856
  children: default_2.Requireable<default_2.ReactNodeLike>;
3837
3857
  onSelect: default_2.Requireable<(...args: any[]) => any>;
@@ -3843,6 +3863,10 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3843
3863
  tabIndex: default_2.Requireable<number>;
3844
3864
  className: default_2.Requireable<string>;
3845
3865
  dir: default_2.Requireable<string>;
3866
+ renderAllContent: default_2.Requireable<boolean>;
3867
+ size: default_2.Requireable<string | null>;
3868
+ scrollButtons: default_2.Requireable<string>;
3869
+ scrollButtonsPosition: default_2.Requireable<string>;
3846
3870
  };
3847
3871
  /**
3848
3872
  * @hidden
@@ -3853,11 +3877,15 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3853
3877
  tabAlignment: string;
3854
3878
  keepTabsMounted: boolean;
3855
3879
  buttonScrollSpeed: number;
3856
- scrollButtonsPosition: string;
3857
3880
  mouseScrollSpeed: number;
3881
+ scrollButtons: string;
3882
+ scrollButtonsPosition: string;
3883
+ size: string;
3858
3884
  renderAllContent: boolean;
3859
3885
  };
3860
3886
  private tabStripRef;
3887
+ private itemsNavRef;
3888
+ private resizeObserver?;
3861
3889
  private get contentPanelId();
3862
3890
  private get navItemId();
3863
3891
  private showLicenseWatermark;
@@ -3867,6 +3895,15 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3867
3895
  componentDidMount(): void;
3868
3896
  /** @hidden */
3869
3897
  componentWillUnmount(): void;
3898
+ private horizontalScroll;
3899
+ /**
3900
+ * @hidden
3901
+ */
3902
+ private onScroll;
3903
+ /**
3904
+ * @hidden
3905
+ */
3906
+ private handleResize;
3870
3907
  /**
3871
3908
  * @hidden
3872
3909
  */
@@ -3950,7 +3987,7 @@ export declare interface TabStripContentProps {
3950
3987
  navItemId?: string;
3951
3988
  }
3952
3989
 
3953
- export declare class TabStripNavigation extends React_2.Component<TabStripNavigationProps, TabStripNavigationStateProps, {}> {
3990
+ export declare class TabStripNavigation extends React_2.Component<TabStripNavigationProps, {}> {
3954
3991
  /**
3955
3992
  * @hidden
3956
3993
  */
@@ -3958,11 +3995,16 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3958
3995
  children: default_2.Requireable<NonNullable<default_2.ReactElementLike | (default_2.ReactElementLike | null | undefined)[] | null | undefined>>;
3959
3996
  onSelect: default_2.Requireable<(...args: any[]) => any>;
3960
3997
  onKeyDown: default_2.Requireable<(...args: any[]) => any>;
3998
+ onScroll: default_2.Requireable<(...args: any[]) => any>;
3961
3999
  selected: default_2.Requireable<number>;
3962
4000
  tabIndex: default_2.Requireable<number>;
4001
+ scrollable: default_2.Requireable<boolean>;
4002
+ size: default_2.Requireable<string>;
4003
+ scrollButtons: default_2.Requireable<string>;
4004
+ scrollButtonsPosition: default_2.Requireable<string>;
4005
+ containerScrollPosition: default_2.Requireable<string | null>;
3963
4006
  };
3964
4007
  private itemsNavRef;
3965
- constructor(props: TabStripNavigationProps);
3966
4008
  /**
3967
4009
  * @hidden
3968
4010
  */
@@ -3971,6 +4013,7 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3971
4013
  * @hidden
3972
4014
  */
3973
4015
  componentDidUpdate(prevProps: Readonly<TabStripNavigationProps>): void;
4016
+ private onScroll;
3974
4017
  /**
3975
4018
  * @hidden
3976
4019
  */
@@ -3978,7 +4021,6 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3978
4021
  private scrollToSelected;
3979
4022
  private horizontalScroll;
3980
4023
  private isRtl;
3981
- private onWheel;
3982
4024
  private arrowClickPrev;
3983
4025
  private arrowClickNext;
3984
4026
  private handleArrowClick;
@@ -4093,6 +4135,10 @@ export declare interface TabStripNavigationProps {
4093
4135
  * @hidden
4094
4136
  */
4095
4137
  onSelect?(idx: number): void;
4138
+ /**
4139
+ * @hidden
4140
+ */
4141
+ onScroll?(): void;
4096
4142
  /**
4097
4143
  * @hidden
4098
4144
  */
@@ -4100,7 +4146,15 @@ export declare interface TabStripNavigationProps {
4100
4146
  /**
4101
4147
  * @hidden
4102
4148
  */
4103
- scrollButtonsPosition?: 'around' | 'before' | 'after';
4149
+ scrollButtons?: ScrollButtons;
4150
+ /**
4151
+ * @hidden
4152
+ */
4153
+ scrollButtonsPosition?: ScrollButtonsPosition;
4154
+ /**
4155
+ * @hidden
4156
+ */
4157
+ size?: TabStripSize;
4104
4158
  /**
4105
4159
  * @hidden
4106
4160
  */
@@ -4133,14 +4187,14 @@ export declare interface TabStripNavigationProps {
4133
4187
  * @hidden
4134
4188
  */
4135
4189
  renderAllContent?: boolean;
4136
- }
4137
-
4138
- /**
4139
- * @hidden
4140
- */
4141
- export declare interface TabStripNavigationStateProps {
4142
- disabledPrev: boolean;
4143
- disabledNext: boolean;
4190
+ /**
4191
+ * @hidden
4192
+ */
4193
+ containerScrollPosition?: 'start' | 'end' | 'top' | 'bottom' | 'middle' | null;
4194
+ /**
4195
+ * @hidden
4196
+ */
4197
+ itemsNavRef?: React_2.RefObject<HTMLUListElement>;
4144
4198
  }
4145
4199
 
4146
4200
  /**
@@ -4196,6 +4250,11 @@ export declare interface TabStripProps extends KendoReactComponentBaseProps, Tab
4196
4250
  * Specifies the CSS class names of the TabStrip component.
4197
4251
  */
4198
4252
  className?: string;
4253
+ /**
4254
+ * Specifies the possible sizes of the TabStrip.
4255
+ * * @default `medium`
4256
+ */
4257
+ size?: TabStripSize;
4199
4258
  /**
4200
4259
  * Defines if the tabs will remain mounted after another tab is selected. Defaults to `false`.
4201
4260
  */
@@ -4231,15 +4290,24 @@ export declare interface TabStripScrollableProps {
4231
4290
  /**
4232
4291
  * Sets the tab list scroll speed in pixels when scrolling via the mouse wheel. You can disable the mouse wheel scrolling by setting this prop to `0`.
4233
4292
  *
4293
+ * @deprecated
4294
+ *
4234
4295
  * @default 10
4235
4296
  */
4236
4297
  mouseScrollSpeed?: number;
4298
+ /**
4299
+ * Sets the visibility of the scroll buttons.
4300
+ *
4301
+ * @default `auto`
4302
+ */
4303
+ scrollButtons?: ScrollButtons;
4237
4304
  /**
4238
4305
  * Sets the scroll buttons position according to the tab list.
4306
+ * The previous options 'around', 'before', 'after' are going to be deprecated in favor of 'split', 'start', 'end'.
4239
4307
  *
4240
- * @default `around`
4308
+ * @default `split`
4241
4309
  */
4242
- scrollButtonsPosition?: 'around' | 'before' | 'after';
4310
+ scrollButtonsPosition?: ScrollButtonsPosition;
4243
4311
  /**
4244
4312
  * Defines the custom component that will be rendered as a previous button.
4245
4313
  * To remove the button, set a function which returns null `() => null`.
@@ -4262,6 +4330,18 @@ export declare interface TabStripSelectEventArguments {
4262
4330
  selected: number;
4263
4331
  }
4264
4332
 
4333
+ /**
4334
+ * Represents the values of the size property of the TabStrip.
4335
+ */
4336
+ declare type TabStripSize = 'small' | 'medium' | 'large' | null;
4337
+
4338
+ /**
4339
+ * @hidden
4340
+ */
4341
+ declare interface TabStripStateProps {
4342
+ containerScrollPosition: StateScrollPosition;
4343
+ }
4344
+
4265
4345
  export declare class TabStripTab extends React_2.Component<TabStripTabProps, {}> {
4266
4346
  /**
4267
4347
  * @hidden
package/index.d.ts CHANGED
@@ -2737,6 +2737,10 @@ export declare interface MenuItemLinkProps extends KendoReactComponentBaseProps
2737
2737
  * The interface for describing items that can be passed to the `items` property of the Menu as an alternative to passing them as children.
2738
2738
  */
2739
2739
  export declare interface MenuItemModel extends BaseMenuItem {
2740
+ /**
2741
+ * Specifies name of the item.
2742
+ */
2743
+ name?: string;
2740
2744
  /**
2741
2745
  * Specifies the children of the item.
2742
2746
  */
@@ -3195,6 +3199,16 @@ export declare interface RenderPanelBarItem {
3195
3199
  */
3196
3200
  export declare const rightArrowName = "caret-alt-right";
3197
3201
 
3202
+ /**
3203
+ * Represents the values of the scrollButtons property of the TabStrip.
3204
+ */
3205
+ declare type ScrollButtons = 'auto' | 'visible' | 'hidden';
3206
+
3207
+ /**
3208
+ * Represents the values of the scrollButtonsPosition property of the TabStrip.
3209
+ */
3210
+ declare type ScrollButtonsPosition = 'split' | 'start' | 'end' | 'around' | 'before' | 'after';
3211
+
3198
3212
  /**
3199
3213
  * Sort the events list based on event date.
3200
3214
  */
@@ -3548,6 +3562,11 @@ export declare interface StackLayoutProps {
3548
3562
  align?: StackLayoutAlign;
3549
3563
  }
3550
3564
 
3565
+ /**
3566
+ * @hidden
3567
+ */
3568
+ declare type StateScrollPosition = 'start' | 'end' | 'top' | 'bottom' | 'middle' | null;
3569
+
3551
3570
  /**
3552
3571
  * Represents the [KendoReact Step component]({% slug overview_stepper %}).
3553
3572
  *
@@ -3827,11 +3846,12 @@ export declare interface StepProps {
3827
3846
  /** @hidden */
3828
3847
  export declare const TabStrip: ForwardRefExoticComponent<TabStripProps & RefAttributes<any>>;
3829
3848
 
3830
- export declare class TabStripClassComponent extends React_2.Component<TabStripProps, {}> {
3849
+ export declare class TabStripClassComponent extends React_2.Component<TabStripProps, TabStripStateProps, {}> {
3831
3850
  /**
3832
3851
  * @hidden
3833
3852
  */
3834
3853
  static propTypes: {
3854
+ id: default_2.Requireable<string>;
3835
3855
  animation: default_2.Requireable<boolean>;
3836
3856
  children: default_2.Requireable<default_2.ReactNodeLike>;
3837
3857
  onSelect: default_2.Requireable<(...args: any[]) => any>;
@@ -3843,6 +3863,10 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3843
3863
  tabIndex: default_2.Requireable<number>;
3844
3864
  className: default_2.Requireable<string>;
3845
3865
  dir: default_2.Requireable<string>;
3866
+ renderAllContent: default_2.Requireable<boolean>;
3867
+ size: default_2.Requireable<string | null>;
3868
+ scrollButtons: default_2.Requireable<string>;
3869
+ scrollButtonsPosition: default_2.Requireable<string>;
3846
3870
  };
3847
3871
  /**
3848
3872
  * @hidden
@@ -3853,11 +3877,15 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3853
3877
  tabAlignment: string;
3854
3878
  keepTabsMounted: boolean;
3855
3879
  buttonScrollSpeed: number;
3856
- scrollButtonsPosition: string;
3857
3880
  mouseScrollSpeed: number;
3881
+ scrollButtons: string;
3882
+ scrollButtonsPosition: string;
3883
+ size: string;
3858
3884
  renderAllContent: boolean;
3859
3885
  };
3860
3886
  private tabStripRef;
3887
+ private itemsNavRef;
3888
+ private resizeObserver?;
3861
3889
  private get contentPanelId();
3862
3890
  private get navItemId();
3863
3891
  private showLicenseWatermark;
@@ -3867,6 +3895,15 @@ export declare class TabStripClassComponent extends React_2.Component<TabStripPr
3867
3895
  componentDidMount(): void;
3868
3896
  /** @hidden */
3869
3897
  componentWillUnmount(): void;
3898
+ private horizontalScroll;
3899
+ /**
3900
+ * @hidden
3901
+ */
3902
+ private onScroll;
3903
+ /**
3904
+ * @hidden
3905
+ */
3906
+ private handleResize;
3870
3907
  /**
3871
3908
  * @hidden
3872
3909
  */
@@ -3950,7 +3987,7 @@ export declare interface TabStripContentProps {
3950
3987
  navItemId?: string;
3951
3988
  }
3952
3989
 
3953
- export declare class TabStripNavigation extends React_2.Component<TabStripNavigationProps, TabStripNavigationStateProps, {}> {
3990
+ export declare class TabStripNavigation extends React_2.Component<TabStripNavigationProps, {}> {
3954
3991
  /**
3955
3992
  * @hidden
3956
3993
  */
@@ -3958,11 +3995,16 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3958
3995
  children: default_2.Requireable<NonNullable<default_2.ReactElementLike | (default_2.ReactElementLike | null | undefined)[] | null | undefined>>;
3959
3996
  onSelect: default_2.Requireable<(...args: any[]) => any>;
3960
3997
  onKeyDown: default_2.Requireable<(...args: any[]) => any>;
3998
+ onScroll: default_2.Requireable<(...args: any[]) => any>;
3961
3999
  selected: default_2.Requireable<number>;
3962
4000
  tabIndex: default_2.Requireable<number>;
4001
+ scrollable: default_2.Requireable<boolean>;
4002
+ size: default_2.Requireable<string>;
4003
+ scrollButtons: default_2.Requireable<string>;
4004
+ scrollButtonsPosition: default_2.Requireable<string>;
4005
+ containerScrollPosition: default_2.Requireable<string | null>;
3963
4006
  };
3964
4007
  private itemsNavRef;
3965
- constructor(props: TabStripNavigationProps);
3966
4008
  /**
3967
4009
  * @hidden
3968
4010
  */
@@ -3971,6 +4013,7 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3971
4013
  * @hidden
3972
4014
  */
3973
4015
  componentDidUpdate(prevProps: Readonly<TabStripNavigationProps>): void;
4016
+ private onScroll;
3974
4017
  /**
3975
4018
  * @hidden
3976
4019
  */
@@ -3978,7 +4021,6 @@ export declare class TabStripNavigation extends React_2.Component<TabStripNaviga
3978
4021
  private scrollToSelected;
3979
4022
  private horizontalScroll;
3980
4023
  private isRtl;
3981
- private onWheel;
3982
4024
  private arrowClickPrev;
3983
4025
  private arrowClickNext;
3984
4026
  private handleArrowClick;
@@ -4093,6 +4135,10 @@ export declare interface TabStripNavigationProps {
4093
4135
  * @hidden
4094
4136
  */
4095
4137
  onSelect?(idx: number): void;
4138
+ /**
4139
+ * @hidden
4140
+ */
4141
+ onScroll?(): void;
4096
4142
  /**
4097
4143
  * @hidden
4098
4144
  */
@@ -4100,7 +4146,15 @@ export declare interface TabStripNavigationProps {
4100
4146
  /**
4101
4147
  * @hidden
4102
4148
  */
4103
- scrollButtonsPosition?: 'around' | 'before' | 'after';
4149
+ scrollButtons?: ScrollButtons;
4150
+ /**
4151
+ * @hidden
4152
+ */
4153
+ scrollButtonsPosition?: ScrollButtonsPosition;
4154
+ /**
4155
+ * @hidden
4156
+ */
4157
+ size?: TabStripSize;
4104
4158
  /**
4105
4159
  * @hidden
4106
4160
  */
@@ -4133,14 +4187,14 @@ export declare interface TabStripNavigationProps {
4133
4187
  * @hidden
4134
4188
  */
4135
4189
  renderAllContent?: boolean;
4136
- }
4137
-
4138
- /**
4139
- * @hidden
4140
- */
4141
- export declare interface TabStripNavigationStateProps {
4142
- disabledPrev: boolean;
4143
- disabledNext: boolean;
4190
+ /**
4191
+ * @hidden
4192
+ */
4193
+ containerScrollPosition?: 'start' | 'end' | 'top' | 'bottom' | 'middle' | null;
4194
+ /**
4195
+ * @hidden
4196
+ */
4197
+ itemsNavRef?: React_2.RefObject<HTMLUListElement>;
4144
4198
  }
4145
4199
 
4146
4200
  /**
@@ -4196,6 +4250,11 @@ export declare interface TabStripProps extends KendoReactComponentBaseProps, Tab
4196
4250
  * Specifies the CSS class names of the TabStrip component.
4197
4251
  */
4198
4252
  className?: string;
4253
+ /**
4254
+ * Specifies the possible sizes of the TabStrip.
4255
+ * * @default `medium`
4256
+ */
4257
+ size?: TabStripSize;
4199
4258
  /**
4200
4259
  * Defines if the tabs will remain mounted after another tab is selected. Defaults to `false`.
4201
4260
  */
@@ -4231,15 +4290,24 @@ export declare interface TabStripScrollableProps {
4231
4290
  /**
4232
4291
  * Sets the tab list scroll speed in pixels when scrolling via the mouse wheel. You can disable the mouse wheel scrolling by setting this prop to `0`.
4233
4292
  *
4293
+ * @deprecated
4294
+ *
4234
4295
  * @default 10
4235
4296
  */
4236
4297
  mouseScrollSpeed?: number;
4298
+ /**
4299
+ * Sets the visibility of the scroll buttons.
4300
+ *
4301
+ * @default `auto`
4302
+ */
4303
+ scrollButtons?: ScrollButtons;
4237
4304
  /**
4238
4305
  * Sets the scroll buttons position according to the tab list.
4306
+ * The previous options 'around', 'before', 'after' are going to be deprecated in favor of 'split', 'start', 'end'.
4239
4307
  *
4240
- * @default `around`
4308
+ * @default `split`
4241
4309
  */
4242
- scrollButtonsPosition?: 'around' | 'before' | 'after';
4310
+ scrollButtonsPosition?: ScrollButtonsPosition;
4243
4311
  /**
4244
4312
  * Defines the custom component that will be rendered as a previous button.
4245
4313
  * To remove the button, set a function which returns null `() => null`.
@@ -4262,6 +4330,18 @@ export declare interface TabStripSelectEventArguments {
4262
4330
  selected: number;
4263
4331
  }
4264
4332
 
4333
+ /**
4334
+ * Represents the values of the size property of the TabStrip.
4335
+ */
4336
+ declare type TabStripSize = 'small' | 'medium' | 'large' | null;
4337
+
4338
+ /**
4339
+ * @hidden
4340
+ */
4341
+ declare interface TabStripStateProps {
4342
+ containerScrollPosition: StateScrollPosition;
4343
+ }
4344
+
4265
4345
  export declare class TabStripTab extends React_2.Component<TabStripTabProps, {}> {
4266
4346
  /**
4267
4347
  * @hidden
package/index.js CHANGED
@@ -5,4 +5,5 @@
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 i=require("./menu/components/Menu.js"),n=require("./tabstrip/TabStrip.js"),m=require("./menu/components/MenuItemInternal.js"),t=require("./menu/components/MenuItemArrow.js"),p=require("./splitter/SplitterBar.js"),o=require("@progress/kendo-react-common"),S=require("./tabstrip/TabStripContent.js"),q=require("./tabstrip/TabStripNavigation.js"),C=require("./tabstrip/TabStripNavigationItem.js"),b=require("./tabstrip/TabStripTab.js"),I=require("./panelbar/PanelBar.js"),B=require("./panelbar/PanelBarItem.js"),e=require("./panelbar/util.js"),A=require("./menu/components/MenuItemLink.js"),T=require("./menu/components/MenuItem.js"),y=require("./splitter/Splitter.js"),g=require("./splitter/SplitterPane.js"),h=require("./card/Card.js"),L=require("./card/CardHeader.js"),N=require("./card/CardTitle.js"),w=require("./card/CardBody.js"),M=require("./card/CardActions.js"),v=require("./card/CardImage.js"),D=require("./card/CardSubtitle.js"),P=require("./card/CardFooter.js"),r=require("./card/interfaces/Enums.js"),f=require("./card/Avatar.js"),F=require("./drawer/Drawer.js"),E=require("./drawer/DrawerNavigation.js"),k=require("./drawer/DrawerContent.js"),x=require("./drawer/DrawerItem.js"),O=require("./stepper/Stepper.js"),H=require("./stepper/Step.js"),G=require("./appbar/AppBar.js"),V=require("./appbar/AppBarSection.js"),R=require("./appbar/AppBarSpacer.js"),j=require("./tilelayout/TileLayout.js"),K=require("./bottomnavigation/BottomNavigation.js"),U=require("./bottomnavigation/BottomNavigationItem.js"),Y=require("./stacklayout/StackLayout.js"),$=require("./gridlayout/GridLayout.js"),z=require("./gridlayout/GridLayoutItem.js"),J=require("./breadcrumb/Breadcrumb.js"),Q=require("./breadcrumb/BreadcrumbOrderedList.js"),W=require("./breadcrumb/BreadcrumbListItem.js"),X=require("./breadcrumb/BreadcrumbDelimiter.js"),Z=require("./breadcrumb/BreadcrumbLink.js"),u=require("./actionsheet/ActionSheet.js"),_=require("./actionsheet/ActionSheetItem.js"),s=require("./actionsheet/ActionSheetHeader.js"),c=require("./actionsheet/ActionSheetContent.js"),d=require("./actionsheet/ActionSheetFooter.js"),ee=require("./timeline/Timeline.js"),l=require("./timeline/utils.js"),te=require("./contextmenu/ContextMenu.js"),re=require("./expansionpanel/ExpansionPanel.js"),ae=require("./expansionpanel/ExpansionPanelContent.js"),a=o.withIdHOC(i.Menu);a.displayName="KendoReactMenu";const ie=o.withIdHOC(n.TabStrip);a.displayName="KendoReactMenu";exports.MenuClassComponent=i.Menu;exports.TabStripClassComponent=n.TabStrip;exports.MenuItemInternalsList=m.MenuItemInternalsList;exports.MenuItemArrow=t.MenuItemArrow;exports.downArrowName=t.downArrowName;exports.leftArrowName=t.leftArrowName;exports.rightArrowName=t.rightArrowName;exports.SplitterBar=p.SplitterBar;exports.TabStripContent=S.TabStripContent;exports.TabStripNavigation=q.TabStripNavigation;exports.TabStripNavigationItem=C.TabStripNavigationItem;exports.TabStripTab=b.TabStripTab;exports.PanelBar=I.PanelBar;exports.PanelBarItem=B.PanelBarItem;Object.defineProperty(exports,"PanelBarUtils",{enumerable:!0,get:()=>e.PanelBarUtils});exports.flatChildren=e.flatChildren;exports.flatVisibleChildren=e.flatVisibleChildren;exports.flatVisibleItems=e.flatVisibleItems;exports.getFirstId=e.getFirstId;exports.getFocusedChild=e.getFocusedChild;exports.getInitialState=e.getInitialState;exports.isArrayEqual=e.isArrayEqual;exports.isPresent=e.isPresent;exports.renderChildren=e.renderChildren;exports.MenuItemLink=A.MenuItemLink;exports.MenuItem=T.MenuItem;exports.Splitter=y.Splitter;exports.SplitterPane=g.SplitterPane;exports.Card=h.Card;exports.CardHeader=L.CardHeader;exports.CardTitle=N.CardTitle;exports.CardBody=w.CardBody;exports.CardActions=M.CardActions;exports.CardImage=v.CardImage;exports.CardSubtitle=D.CardSubtitle;exports.CardFooter=P.CardFooter;exports.avatarType=r.avatarType;exports.cardActionsLayout=r.cardActionsLayout;exports.cardOrientation=r.cardOrientation;exports.cardType=r.cardType;exports.Avatar=f.Avatar;exports.Drawer=F.Drawer;exports.DrawerNavigation=E.DrawerNavigation;exports.DrawerContent=k.DrawerContent;exports.DrawerItem=x.DrawerItem;exports.Stepper=O.Stepper;exports.Step=H.Step;exports.AppBar=G.AppBar;exports.AppBarSection=V.AppBarSection;exports.AppBarSpacer=R.AppBarSpacer;exports.TileLayout=j.TileLayout;exports.BottomNavigation=K.BottomNavigation;exports.BottomNavigationItem=U.BottomNavigationItem;exports.StackLayout=Y.StackLayout;exports.GridLayout=$.GridLayout;exports.GridLayoutItem=z.GridLayoutItem;exports.Breadcrumb=J.Breadcrumb;exports.BreadcrumbOrderedList=Q.BreadcrumbOrderedList;exports.BreadcrumbListItem=W.BreadcrumbListItem;exports.BreadcrumbDelimiter=X.BreadcrumbDelimiter;exports.BreadcrumbLink=Z.BreadcrumbLink;exports.ActionSheet=u.ActionSheet;exports.actionSheetDefaultProps=u.actionSheetDefaultProps;exports.ActionSheetItem=_.ActionSheetItem;exports.ActionSheetHeader=s.ActionSheetHeader;exports.headerDisplayName=s.headerDisplayName;exports.ActionSheetContent=c.ActionSheetContent;exports.contentDisplayName=c.contentDisplayName;exports.ActionSheetFooter=d.ActionSheetFooter;exports.footerDisplayName=d.footerDisplayName;exports.Timeline=ee.Timeline;exports.addYearsFlags=l.addYearsFlags;exports.sortEventList=l.sortEventList;exports.ContextMenu=te.ContextMenu;exports.ExpansionPanel=re.ExpansionPanel;exports.ExpansionPanelContent=ae.ExpansionPanelContent;exports.Menu=a;exports.TabStrip=ie;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./menu/components/Menu.js"),n=require("./tabstrip/TabStrip.js"),m=require("./menu/components/MenuItemInternal.js"),t=require("./menu/components/MenuItemArrow.js"),p=require("./splitter/SplitterBar.js"),o=require("@progress/kendo-react-common"),S=require("./tabstrip/TabStripContent.js"),q=require("./tabstrip/TabStripNavigation.js"),C=require("./tabstrip/TabStripNavigationItem.js"),b=require("./tabstrip/TabStripTab.js"),I=require("./panelbar/PanelBar.js"),B=require("./panelbar/PanelBarItem.js"),e=require("./panelbar/util.js"),A=require("./menu/components/MenuItemLink.js"),T=require("./menu/components/MenuItem.js"),y=require("./splitter/Splitter.js"),g=require("./splitter/SplitterPane.js"),h=require("./card/Card.js"),L=require("./card/CardHeader.js"),N=require("./card/CardTitle.js"),w=require("./card/CardBody.js"),M=require("./card/CardActions.js"),v=require("./card/CardImage.js"),D=require("./card/CardSubtitle.js"),P=require("./card/CardFooter.js"),r=require("./card/interfaces/Enums.js"),f=require("./card/Avatar.js"),F=require("./drawer/Drawer.js"),E=require("./drawer/DrawerNavigation.js"),k=require("./drawer/DrawerContent.js"),x=require("./drawer/DrawerItem.js"),O=require("./stepper/Stepper.js"),H=require("./stepper/Step.js"),G=require("./appbar/AppBar.js"),V=require("./appbar/AppBarSection.js"),R=require("./appbar/AppBarSpacer.js"),j=require("./tilelayout/TileLayout.js"),K=require("./bottomnavigation/BottomNavigation.js"),U=require("./bottomnavigation/BottomNavigationItem.js"),Y=require("./stacklayout/StackLayout.js"),$=require("./gridlayout/GridLayout.js"),z=require("./gridlayout/GridLayoutItem.js"),J=require("./breadcrumb/Breadcrumb.js"),Q=require("./breadcrumb/BreadcrumbOrderedList.js"),W=require("./breadcrumb/BreadcrumbListItem.js"),X=require("./breadcrumb/BreadcrumbDelimiter.js"),Z=require("./breadcrumb/BreadcrumbLink.js"),u=require("./actionsheet/ActionSheet.js"),_=require("./actionsheet/ActionSheetItem.js"),s=require("./actionsheet/ActionSheetHeader.js"),c=require("./actionsheet/ActionSheetContent.js"),d=require("./actionsheet/ActionSheetFooter.js"),ee=require("./timeline/Timeline.js"),l=require("./timeline/utils.js"),te=require("./contextmenu/ContextMenu.js"),re=require("./expansionpanel/ExpansionPanel.js"),ae=require("./expansionpanel/ExpansionPanelContent.js"),a=o.withIdHOC(i.Menu);a.displayName="KendoReactMenu";const ie=o.withIdHOC(n.TabStrip);a.displayName="KendoReactMenu";exports.MenuClassComponent=i.Menu;exports.TabStripClassComponent=n.TabStrip;exports.MenuItemInternalsList=m.MenuItemInternalsList;exports.MenuItemArrow=t.MenuItemArrow;exports.downArrowName=t.downArrowName;exports.leftArrowName=t.leftArrowName;exports.rightArrowName=t.rightArrowName;exports.SplitterBar=p.SplitterBar;exports.TabStripContent=S.TabStripContent;exports.TabStripNavigation=q.TabStripNavigation;exports.TabStripNavigationItem=C.TabStripNavigationItem;exports.TabStripTab=b.TabStripTab;exports.PanelBar=I.PanelBar;exports.PanelBarItem=B.PanelBarItem;Object.defineProperty(exports,"PanelBarUtils",{enumerable:!0,get:()=>e.PanelBarUtils});exports.flatChildren=e.flatChildren;exports.flatVisibleChildren=e.flatVisibleChildren;exports.flatVisibleItems=e.flatVisibleItems;exports.getFirstId=e.getFirstId;exports.getFocusedChild=e.getFocusedChild;exports.getInitialState=e.getInitialState;exports.isArrayEqual=e.isArrayEqual;exports.isPresent=e.isPresent;exports.renderChildren=e.renderChildren;exports.MenuItemLink=A.MenuItemLink;exports.MenuItem=T.MenuItem;exports.Splitter=y.Splitter;exports.SplitterPane=g.SplitterPane;exports.Card=h.Card;exports.CardHeader=L.CardHeader;exports.CardTitle=N.CardTitle;exports.CardBody=w.CardBody;exports.CardActions=M.CardActions;exports.CardImage=v.CardImage;exports.CardSubtitle=D.CardSubtitle;exports.CardFooter=P.CardFooter;exports.avatarType=r.avatarType;exports.cardActionsLayout=r.cardActionsLayout;exports.cardOrientation=r.cardOrientation;exports.cardType=r.cardType;exports.Avatar=f.Avatar;exports.Drawer=F.Drawer;exports.DrawerNavigation=E.DrawerNavigation;exports.DrawerContent=k.DrawerContent;exports.DrawerItem=x.DrawerItem;exports.Stepper=O.Stepper;exports.Step=H.Step;exports.AppBar=G.AppBar;exports.AppBarSection=V.AppBarSection;exports.AppBarSpacer=R.AppBarSpacer;exports.TileLayout=j.TileLayout;exports.BottomNavigation=K.BottomNavigation;exports.BottomNavigationItem=U.BottomNavigationItem;exports.StackLayout=Y.StackLayout;exports.GridLayout=$.GridLayout;exports.GridLayoutItem=z.GridLayoutItem;exports.Breadcrumb=J.Breadcrumb;exports.BreadcrumbOrderedList=Q.BreadcrumbOrderedList;exports.BreadcrumbListItem=W.BreadcrumbListItem;exports.BreadcrumbDelimiter=X.BreadcrumbDelimiter;exports.BreadcrumbLink=Z.BreadcrumbLink;exports.ActionSheet=u.ActionSheet;exports.actionSheetDefaultProps=u.actionSheetDefaultProps;exports.ActionSheetItem=_.ActionSheetItem;exports.ActionSheetHeader=s.ActionSheetHeader;exports.headerDisplayName=s.headerDisplayName;exports.ActionSheetContent=c.ActionSheetContent;exports.contentDisplayName=c.contentDisplayName;exports.ActionSheetFooter=d.ActionSheetFooter;exports.footerDisplayName=d.footerDisplayName;exports.Timeline=ee.Timeline;exports.addYearsFlags=l.addYearsFlags;exports.sortEventList=l.sortEventList;exports.ContextMenu=te.ContextMenu;exports.ExpansionPanel=re.ExpansionPanel;exports.ExpansionPanelContent=ae.ExpansionPanelContent;exports.Menu=a;exports.TabStrip=ie;
@@ -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 u=require("react"),r=require("prop-types"),n=require("@progress/kendo-react-common"),i=require("../utils/itemsIdsUtils.js"),c=require("../utils/prepareInputItemsForInternalWork.js"),p=require("../utils/getNewItemIdUponKeyboardNavigation.js"),m=require("../utils/hoverDelay.js"),v=require("./MenuItemInternal.js"),f=require("../utils/DirectionHolder.js"),b=require("../utils/MouseOverHandler.js"),g=require("../../package-metadata.js");function D(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>a[e]})}}return t.default=a,Object.freeze(t)}const d=D(u),h={focusedItemId:i.EMPTY_ID,hoveredItemId:i.EMPTY_ID,tabbableItemId:i.ZERO_LEVEL_ZERO_ITEM_ID},l=class l extends d.Component{constructor(t){super(t),this.menuWrapperEl=null,this.directionHolder=new f.DirectionHolder,this.inputItems=[],this.items=[],this.reset=()=>{this.clearItemHoverAndLeaveRequestsIfApplicable(),this.setState(h)},this.onKeyDown=e=>{if(this.state.focusedItemId!==i.EMPTY_ID){const s=i.getItemById(this.state.focusedItemId,this.items),o=p.getNewItemIdUponKeyboardNavigation(this.items,s.id,e.keyCode,e.key,this.props.vertical,this.directionHolder.getIsDirectionRightToLeft());s.id!==o&&(e.preventDefault(),this.setFocusedItemId(o)),(e.keyCode===n.Keys.enter||e.keyCode===n.Keys.space)&&!s.disabled&&(this.mouseOverHandler.handleItemSelectedViaKeyboard(),this.dispatchSelectEventIfWired(e,s.id),!e.isDefaultPrevented()&&s.items.length===0&&s.url&&window.location.assign(s.url))}e.keyCode===n.Keys.esc&&this.props.onClose&&this.props.onClose.call(void 0,e)},this.onItemMouseOver=e=>{this.mouseOverHandler.IsMouseOverEnabled&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemHoverRequest=window.setTimeout(()=>{this.setHoveredItemId(e),this.itemHoverRequest=null},m.getHoverOpenDelay(this.props)))},this.onItemMouseLeave=e=>{this.mouseOverHandler.IsMouseOverEnabled&&this.isItemWithDefaultClose(e)&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemLeaveRequest=window.setTimeout(()=>{this.setHoveredItemId(i.EMPTY_ID),this.itemLeaveRequest=null},m.getHoverCloseDelay(this.props)))},this.onItemMouseDown=()=>{this.mouseOverHandler.handleItemMouseDown()},this.onItemFocus=e=>{this.setFocusedItemId(e),this.mouseOverHandler.handleItemFocus()},this.onItemClick=(e,s)=>{const o=i.getItemById(s,this.items);o.disabled||(this.setFocusedItemId(s),this.mouseOverHandler.handleItemClick(s,this.isItemWithDefaultClose(s)),this.dispatchSelectEventIfWired(e,s),!e.isDefaultPrevented()&&o.url&&window.location.assign(o.url))},this.onItemBlur=(e,s)=>{if(this.isItemWithDefaultClose(e)&&this.setFocusedItemId(i.EMPTY_ID),s.relatedTarget&&s.relatedTarget.nodeName==="LI"){const o=s.relatedTarget.getAttribute("id");if(o&&o.includes(this.menuItemId))return}this.props.onClose&&this.props.onClose.call(void 0,s)},this.getInputItem=e=>i.getItemById(e,this.inputItems),n.validatePackage(g.packageMetadata),this.mouseOverHandler=new b.MouseOverHandler(this.props.openOnClick,this.reset,this.onItemMouseOver),this.state=Object.assign({},h,{isFirstRender:!0})}get menuItemId(){return this.props.id}get element(){return this.menuWrapperEl}render(){this.prepareItems(),this.state.isFirstRender||this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());const t=this.state.hoveredItemId?this.state.hoveredItemId:this.state.focusedItemId?i.getDirectParentId(this.state.focusedItemId):i.EMPTY_ID;return d.createElement("div",{id:this.props.id,onKeyDown:this.onKeyDown,style:this.props.style,className:this.directionHolder.getIsDirectionRightToLeft()?"k-rtl":void 0,ref:e=>this.menuWrapperEl=e},d.createElement(v.MenuItemInternalsList,{className:this.getMenuClassName(),"aria-orientation":this.props.vertical?"vertical":void 0,items:this.items,isMenuVertical:this.props.vertical,isDirectionRightToLeft:this.directionHolder.getIsDirectionRightToLeft(),focusedItemId:this.state.focusedItemId,lastItemIdToBeOpened:t,tabbableItemId:this.state.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,menuGuid:this.menuItemId,onMouseLeave:this.onItemMouseLeave,onMouseOver:this.onItemMouseOver,onMouseDown:this.onItemMouseDown,onFocus:this.onItemFocus,onClick:this.onItemClick,onBlur:this.onItemBlur,onOriginalItemNeeded:this.getInputItem,role:this.props.role}))}componentDidMount(){this.setState({isFirstRender:!1})}componentDidUpdate(t){(!!t.vertical!=!!this.props.vertical||this.directionHolder.hasDirectionChanged())&&this.reset(),this.mouseOverHandler.OpenOnClick=this.props.openOnClick}componentWillUnmount(){this.clearItemHoverAndLeaveRequestsIfApplicable()}setFocusedItemId(t){this.setState(e=>{const s=t===i.EMPTY_ID?e.tabbableItemId:i.getRootParentId(t);return{hoveredItemId:t===i.EMPTY_ID||i.isIdEmptyOrZeroLevel(e.hoveredItemId)&&i.isIdEmptyOrZeroLevel(t)?e.hoveredItemId:i.EMPTY_ID,focusedItemId:t,tabbableItemId:s}})}setHoveredItemId(t){this.setState(e=>i.isIdEmptyOrZeroLevel(t)&&i.isIdEmptyOrZeroLevel(e.focusedItemId)?{hoveredItemId:t,focusedItemId:e.focusedItemId,tabbableItemId:e.tabbableItemId}:{hoveredItemId:t,focusedItemId:i.EMPTY_ID,tabbableItemId:i.ZERO_LEVEL_ZERO_ITEM_ID})}getMenuClassName(){return n.classNames("k-reset","k-header","k-menu",{"k-menu-horizontal":!this.props.vertical},{"k-menu-vertical":this.props.vertical},this.props.className)}clearItemHoverAndLeaveRequestsIfApplicable(){this.itemHoverRequest&&(clearTimeout(this.itemHoverRequest),this.itemHoverRequest=null),this.itemLeaveRequest&&(clearTimeout(this.itemLeaveRequest),this.itemLeaveRequest=null)}isItemWithDefaultClose(t){return!this.props.customCloseItemIds||this.props.customCloseItemIds.indexOf(t)===-1}checkIsDirectionRightToLeft(){return!!(this.props.dir!==void 0?this.props.dir==="rtl":this.menuWrapperEl&&getComputedStyle(this.menuWrapperEl).direction==="rtl")}prepareItems(){const{items:t,inputItems:e}=c.prepareInputItemsForInternalWork(this.props.items,this.props.children);this.items=t,this.inputItems=e}dispatchSelectEventIfWired(t,e){n.dispatchEvent(this.props.onSelect,t,this,{item:this.getInputItem(e),itemId:e})}};l.propTypes={vertical:r.bool,items:r.arrayOf(r.object),style:r.object,dir:r.string,hoverOpenDelay:r.number,hoverCloseDelay:r.number,openOnClick:r.bool,itemRender:r.any,linkRender:r.any,customCloseItemIds:r.arrayOf(r.string),onSelect:r.func,role:r.string},l.defaultProps={vertical:!1};let I=l;exports.Menu=I;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),r=require("prop-types"),n=require("@progress/kendo-react-common"),i=require("../utils/itemsIdsUtils.js"),c=require("../utils/prepareInputItemsForInternalWork.js"),p=require("../utils/getNewItemIdUponKeyboardNavigation.js"),m=require("../utils/hoverDelay.js"),v=require("./MenuItemInternal.js"),f=require("../utils/DirectionHolder.js"),b=require("../utils/MouseOverHandler.js"),g=require("../../package-metadata.js");function D(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>a[e]})}}return t.default=a,Object.freeze(t)}const d=D(u),h={focusedItemId:i.EMPTY_ID,hoveredItemId:i.EMPTY_ID,tabbableItemId:i.ZERO_LEVEL_ZERO_ITEM_ID},l=class l extends d.Component{constructor(t){super(t),this.menuWrapperEl=null,this.directionHolder=new f.DirectionHolder,this.inputItems=[],this.items=[],this.reset=()=>{this.clearItemHoverAndLeaveRequestsIfApplicable(),this.setState(h)},this.onKeyDown=e=>{if(this.state.focusedItemId!==i.EMPTY_ID){const s=i.getItemById(this.state.focusedItemId,this.items),o=p.getNewItemIdUponKeyboardNavigation(this.items,s.id,e.keyCode,e.key,this.props.vertical,this.directionHolder.getIsDirectionRightToLeft());s.id!==o&&(e.preventDefault(),this.setFocusedItemId(o)),(e.keyCode===n.Keys.enter||e.keyCode===n.Keys.space)&&!s.disabled&&(this.mouseOverHandler.handleItemSelectedViaKeyboard(),this.dispatchSelectEventIfWired(e,s.id),!e.isDefaultPrevented()&&s.items.length===0&&s.url&&window.location.assign(s.url))}e.keyCode===n.Keys.esc&&this.props.onClose&&this.props.onClose.call(void 0,e)},this.onItemMouseOver=e=>{this.mouseOverHandler.IsMouseOverEnabled&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemHoverRequest=window.setTimeout(()=>{this.setHoveredItemId(e),this.itemHoverRequest=null},m.getHoverOpenDelay(this.props)))},this.onItemMouseLeave=e=>{this.mouseOverHandler.IsMouseOverEnabled&&this.isItemWithDefaultClose(e)&&(this.clearItemHoverAndLeaveRequestsIfApplicable(),this.itemLeaveRequest=window.setTimeout(()=>{this.setHoveredItemId(i.EMPTY_ID),this.itemLeaveRequest=null},m.getHoverCloseDelay(this.props)))},this.onItemMouseDown=()=>{this.mouseOverHandler.handleItemMouseDown()},this.onItemFocus=e=>{this.setFocusedItemId(e),this.mouseOverHandler.handleItemFocus()},this.onItemClick=(e,s)=>{const o=i.getItemById(s,this.items);o.disabled||(this.setFocusedItemId(s),this.mouseOverHandler.handleItemClick(s,this.isItemWithDefaultClose(s)),this.dispatchSelectEventIfWired(e,s),!e.isDefaultPrevented()&&o.url&&window.location.assign(o.url))},this.onItemBlur=(e,s)=>{if(this.isItemWithDefaultClose(e)&&this.setFocusedItemId(i.EMPTY_ID),s.relatedTarget&&s.relatedTarget.nodeName==="LI"){const o=s.relatedTarget.getAttribute("id");if(o&&o.includes(this.menuItemId))return}this.props.onClose&&this.props.onClose.call(void 0,s)},this.getInputItem=e=>i.getItemById(e,this.inputItems),n.validatePackage(g.packageMetadata),this.mouseOverHandler=new b.MouseOverHandler(this.props.openOnClick,this.reset,this.onItemMouseOver),this.state=Object.assign({},h,{isFirstRender:!0})}get menuItemId(){return this.props.id}get element(){return this.menuWrapperEl}render(){this.prepareItems(),this.state.isFirstRender||this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());const t=this.state.hoveredItemId?this.state.hoveredItemId:this.state.focusedItemId?i.getDirectParentId(this.state.focusedItemId):i.EMPTY_ID;return d.createElement("div",{id:this.props.id,onKeyDown:this.onKeyDown,style:this.props.style,className:this.directionHolder.getIsDirectionRightToLeft()?"k-rtl":void 0,ref:e=>this.menuWrapperEl=e},d.createElement(v.MenuItemInternalsList,{className:this.getMenuClassName(),"aria-orientation":this.props.vertical?"vertical":void 0,items:this.items,isMenuVertical:this.props.vertical,isDirectionRightToLeft:this.directionHolder.getIsDirectionRightToLeft(),focusedItemId:this.state.focusedItemId,lastItemIdToBeOpened:t,tabbableItemId:this.state.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,menuGuid:this.menuItemId,onMouseLeave:this.onItemMouseLeave,onMouseOver:this.onItemMouseOver,onMouseDown:this.onItemMouseDown,onFocus:this.onItemFocus,onClick:this.onItemClick,onBlur:this.onItemBlur,onOriginalItemNeeded:this.getInputItem,role:this.props.role}))}componentDidMount(){this.setState({isFirstRender:!1})}componentDidUpdate(t){(!!t.vertical!=!!this.props.vertical||this.directionHolder.hasDirectionChanged())&&this.reset(),this.mouseOverHandler.OpenOnClick=this.props.openOnClick}componentWillUnmount(){this.clearItemHoverAndLeaveRequestsIfApplicable()}setFocusedItemId(t){this.setState(e=>{const s=t===i.EMPTY_ID?e.tabbableItemId:i.getRootParentId(t);return{hoveredItemId:t===i.EMPTY_ID||i.isIdEmptyOrZeroLevel(e.hoveredItemId)&&i.isIdEmptyOrZeroLevel(t)?e.hoveredItemId:i.EMPTY_ID,focusedItemId:t,tabbableItemId:s}})}setHoveredItemId(t){this.setState(e=>i.isIdEmptyOrZeroLevel(t)&&i.isIdEmptyOrZeroLevel(e.focusedItemId)?{hoveredItemId:t,focusedItemId:e.focusedItemId,tabbableItemId:e.tabbableItemId}:{hoveredItemId:t,focusedItemId:i.EMPTY_ID,tabbableItemId:i.ZERO_LEVEL_ZERO_ITEM_ID})}getMenuClassName(){return n.classNames("k-reset","k-header","k-menu",{"k-menu-horizontal":!this.props.vertical},{"k-menu-vertical":this.props.vertical},this.props.className)}clearItemHoverAndLeaveRequestsIfApplicable(){this.itemHoverRequest&&(clearTimeout(this.itemHoverRequest),this.itemHoverRequest=null),this.itemLeaveRequest&&(clearTimeout(this.itemLeaveRequest),this.itemLeaveRequest=null)}isItemWithDefaultClose(t){return!this.props.customCloseItemIds||this.props.customCloseItemIds.indexOf(t)===-1}checkIsDirectionRightToLeft(){return!!(this.props.dir!==void 0?this.props.dir==="rtl":this.menuWrapperEl&&getComputedStyle(this.menuWrapperEl).direction==="rtl")}prepareItems(){const{items:t,inputItems:e}=c.prepareInputItemsForInternalWork(this.props.items,this.props.children);this.items=t,this.inputItems=e}dispatchSelectEventIfWired(t,e){n.dispatchEvent(this.props.onSelect,t,this,{item:this.getInputItem(e),itemId:e})}};l.propTypes={vertical:r.bool,items:r.arrayOf(r.object),style:r.object,dir:r.string,hoverOpenDelay:r.number,hoverCloseDelay:r.number,openOnClick:r.bool,itemRender:r.any,linkRender:r.any,customCloseItemIds:r.arrayOf(r.string),onSelect:r.func,role:r.string},l.defaultProps={vertical:!1};let I=l;exports.Menu=I;
@@ -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 l from "react";
10
9
  import i from "prop-types";
11
10
  import { Keys as m, validatePackage as u, classNames as c, dispatchEvent as f } from "@progress/kendo-react-common";
@@ -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 c=require("react"),e=require("prop-types");function i(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const l=i(c),s=class s extends l.Component{render(){return null}};s.propTypes={text:e.string,url:e.string,icon:e.string,disabled:e.bool,cssClass:e.string,cssStyle:e.object,render:e.any,linkRender:e.any,contentRender:e.any,data:e.any,separator:e.bool};let o=s;exports.MenuItem=o;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),e=require("prop-types");function i(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const l=i(c),s=class s extends l.Component{render(){return null}};s.propTypes={text:e.string,url:e.string,icon:e.string,disabled:e.bool,cssClass:e.string,cssStyle:e.object,render:e.any,linkRender:e.any,contentRender:e.any,data:e.any,separator:e.bool};let o=s;exports.MenuItem=o;
@@ -5,10 +5,9 @@
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 e from "react";
8
+ import * as n from "react";
10
9
  import r from "prop-types";
11
- const s = class s extends e.Component {
10
+ const s = class s extends n.Component {
12
11
  /**
13
12
  * @hidden
14
13
  */
@@ -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 m=require("react"),n=require("prop-types"),p=require("@progress/kendo-react-common"),o=require("@progress/kendo-svg-icons"),g=require("../utils/misc.js");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=f(m),l="caret-alt-down",d="caret-alt-right",u="caret-alt-left",i=class i extends s.Component{render(){return s.createElement(p.IconWrap,{"aria-hidden":!0,...this.getIcon()})}getIcon(){switch(g.getChildrenPosition(this.props.itemId,this.props.verticalMenu===!0,this.props.dir==="rtl")){case"downward":return{name:l,icon:o.caretAltDownIcon};case"rightward":return{name:d,icon:o.caretAltRightIcon};case"leftward":return{name:u,icon:o.caretAltLeftIcon};default:return{}}}};i.propTypes={itemId:n.string,dir:n.string,verticalMenu:n.bool};let c=i;exports.MenuItemArrow=c;exports.downArrowName=l;exports.leftArrowName=u;exports.rightArrowName=d;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react"),n=require("prop-types"),p=require("@progress/kendo-react-common"),o=require("@progress/kendo-svg-icons"),g=require("../utils/misc.js");function f(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const s=f(m),l="caret-alt-down",d="caret-alt-right",u="caret-alt-left",i=class i extends s.Component{render(){return s.createElement(p.IconWrap,{"aria-hidden":!0,...this.getIcon()})}getIcon(){switch(g.getChildrenPosition(this.props.itemId,this.props.verticalMenu===!0,this.props.dir==="rtl")){case"downward":return{name:l,icon:o.caretAltDownIcon};case"rightward":return{name:d,icon:o.caretAltRightIcon};case"leftward":return{name:u,icon:o.caretAltLeftIcon};default:return{}}}};i.propTypes={itemId:n.string,dir:n.string,verticalMenu:n.bool};let c=i;exports.MenuItemArrow=c;exports.downArrowName=l;exports.leftArrowName=u;exports.rightArrowName=d;
@@ -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 e from "react";
10
9
  import t from "prop-types";
11
10
  import { IconWrap as n } from "@progress/kendo-react-common";
@@ -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"),d=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-popup"),a=require("../utils/itemsIdsUtils.js"),r=require("../utils/misc.js"),h=require("./MenuItemLink.js"),I=require("./MenuItemArrow.js");function g(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const s=g(l);class m extends s.Component{constructor(){super(...arguments),this.onMouseOver=e=>{this.props.onMouseOver(this.props.parentItemId),e.stopPropagation()},this.onMouseLeave=e=>{this.props.onMouseLeave(this.props.parentItemId),e.stopPropagation()}}render(){const e=this.props.parentItemId;return s.createElement("ul",{className:this.props.className,role:this.props.role?this.props.role:e!==void 0?"menu":"menubar",id:e!==void 0?r.getDOMElementId(this.props.menuGuid,e):void 0,onMouseOver:e!==void 0?this.onMouseOver:void 0,onMouseLeave:e!==void 0?this.onMouseLeave:void 0,"aria-orientation":this.props["aria-orientation"]},this.renderChildItems())}renderChildItems(){return this.props.items.length>0?this.props.items.map((e,t)=>s.createElement(u,{item:e,isMenuVertical:this.props.isMenuVertical,isDirectionRightToLeft:this.props.isDirectionRightToLeft,focusedItemId:this.props.focusedItemId,lastItemIdToBeOpened:this.props.lastItemIdToBeOpened,tabbableItemId:this.props.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,menuGuid:this.props.menuGuid,onMouseOver:this.props.onMouseOver,onMouseLeave:this.props.onMouseLeave,onMouseDown:this.props.onMouseDown,onBlur:this.props.onBlur,onFocus:this.props.onFocus,onClick:this.props.onClick,onOriginalItemNeeded:this.props.onOriginalItemNeeded,key:t})):null}}class u extends s.Component{constructor(e){super(e),this.isFirstRender=!0,this.onMouseOver=t=>{this.props.onMouseOver(this.props.item.id),t.stopPropagation()},this.onMouseLeave=t=>{this.props.onMouseLeave(this.props.item.id),t.stopPropagation()},this.state={opened:!1}}componentDidMount(){const e=this.props.focusedItemId,t=this.props.item.id;e&&e===t&&this.itemElement.focus({preventScroll:!0}),this.isFirstRender=!1}componentDidUpdate(e){const t=this.props.focusedItemId,n=this.props.item.id;if(t){const p=d.getActiveElement(document);e.focusedItemId!==t&&t===n&&!this.itemElement.contains(p)&&this.itemElement.focus({preventScroll:!0})}}render(){const e=this.props.item,t=e.id,n=r.getDOMElementId(this.props.menuGuid,t),p=e.separator;return s.createElement(s.Fragment,null,p?s.createElement("li",{className:"k-separator k-item","aria-hidden":!0,key:n}):s.createElement("li",{id:r.getDOMElementId(this.props.menuGuid,t),className:this.getMenuItemClassName(e),style:e.cssStyle,tabIndex:t===this.props.tabbableItemId?0:-1,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:i=>this.props.onMouseDown(i),onBlur:i=>this.props.onBlur(t,i),onFocus:()=>this.props.onFocus(t),onClick:i=>this.props.onClick(i,t),role:"menuitem","aria-disabled":e.disabled?!0:void 0,"aria-haspopup":e.items.length>0?!0:void 0,"aria-expanded":e.items.length>0?this.Opened:void 0,"aria-label":e.text,"aria-owns":this.Opened?n:void 0,ref:i=>this.itemElement=i,key:n},this.contentRender?this.renderContent():this.renderMenuItemLink()),this.renderPopupIfOpened(this.itemElement))}renderContent(){const e=this.props.item.contentParentItemId;return s.createElement("div",{className:"k-content",role:"presentation"},s.createElement(this.contentRender,{item:this.props.onOriginalItemNeeded(e),itemId:e}))}renderMenuItemLink(){const e=this.props.item;if(this.linkRender)return s.createElement(this.linkRender,{item:this.props.onOriginalItemNeeded(e.id),itemId:e.id,opened:this.Opened,dir:r.convertBoolDirectionToString(this.props.isDirectionRightToLeft)});const t=this.itemRender?s.createElement(this.itemRender,{item:this.props.onOriginalItemNeeded(e.id),itemId:e.id,key:"1"}):s.createElement("span",{className:"k-menu-link-text"},e.text);return s.createElement(h.MenuItemLink,{url:e.url,opened:this.Opened},this.renderMenuIconIfApplicable(),t,this.renderArrowIfApplicable())}renderPopupIfOpened(e){if(this.Opened){const t=this.props.item.id,{anchorAlign:n,popupAlign:p,collision:i}=r.getPopupSettings(t,this.props.isMenuVertical,this.props.isDirectionRightToLeft);return s.createElement(c.Popup,{anchor:this.itemElement,appendTo:e,show:!0,popupClass:this.getPopupClassName(),anchorAlign:n,popupAlign:p,collision:i,animate:!1,key:"1"},s.createElement(m,{parentItemId:t,items:this.props.item.items,menuGuid:this.props.menuGuid,focusedItemId:this.props.focusedItemId,lastItemIdToBeOpened:this.props.lastItemIdToBeOpened,tabbableItemId:this.props.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,isMenuVertical:this.props.isMenuVertical,isDirectionRightToLeft:this.props.isDirectionRightToLeft,className:"k-group k-menu-group k-reset k-menu-group-md",onMouseOver:this.props.onMouseOver,onMouseLeave:this.props.onMouseLeave,onMouseDown:this.props.onMouseDown,onBlur:this.props.onBlur,onFocus:this.props.onFocus,onClick:this.props.onClick,onOriginalItemNeeded:this.props.onOriginalItemNeeded}))}return null}renderMenuIconIfApplicable(){const{icon:e,svgIcon:t}=this.props.item;return e||t?s.createElement(d.IconWrap,{name:e,icon:t,key:"0"}):null}renderArrowIfApplicable(){return this.props.item.items.length>0?s.createElement("span",{className:"k-menu-expand-arrow","aria-hidden":!0},s.createElement(I.MenuItemArrow,{itemId:this.props.item.id,verticalMenu:this.props.isMenuVertical,dir:r.convertBoolDirectionToString(this.props.isDirectionRightToLeft),key:"2"})):null}get itemRender(){return this.props.item.render||this.props.itemRender}get linkRender(){return this.props.item.linkRender||this.props.linkRender}get contentRender(){return this.props.item.contentParentItemId?this.props.item.contentRender:null}get Opened(){const e=this.props;return e.item.items.length>0&&a.shouldOpenItem(e.item.id,e.lastItemIdToBeOpened)&&!this.isFirstRender}getPopupClassName(){return d.classNames("k-menu-popup k-overflow-visible",{"k-rtl":this.props.isDirectionRightToLeft})}getMenuItemClassName(e){return d.classNames("k-item","k-menu-item",{"k-first":a.isFirstItemFromSiblings(e.id),"k-last":e.isLastFromSiblings,"k-disabled":e.disabled},e.cssClass)}}exports.MenuItemInternal=u;exports.MenuItemInternalsList=m;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),d=require("@progress/kendo-react-common"),c=require("@progress/kendo-react-popup"),a=require("../utils/itemsIdsUtils.js"),r=require("../utils/misc.js"),h=require("./MenuItemLink.js"),I=require("./MenuItemArrow.js");function g(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const s=g(l);class m extends s.Component{constructor(){super(...arguments),this.onMouseOver=e=>{this.props.onMouseOver(this.props.parentItemId),e.stopPropagation()},this.onMouseLeave=e=>{this.props.onMouseLeave(this.props.parentItemId),e.stopPropagation()}}render(){const e=this.props.parentItemId;return s.createElement("ul",{className:this.props.className,role:this.props.role?this.props.role:e!==void 0?"menu":"menubar",id:e!==void 0?r.getDOMElementId(this.props.menuGuid,e):void 0,onMouseOver:e!==void 0?this.onMouseOver:void 0,onMouseLeave:e!==void 0?this.onMouseLeave:void 0,"aria-orientation":this.props["aria-orientation"]},this.renderChildItems())}renderChildItems(){return this.props.items.length>0?this.props.items.map((e,t)=>s.createElement(u,{item:e,isMenuVertical:this.props.isMenuVertical,isDirectionRightToLeft:this.props.isDirectionRightToLeft,focusedItemId:this.props.focusedItemId,lastItemIdToBeOpened:this.props.lastItemIdToBeOpened,tabbableItemId:this.props.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,menuGuid:this.props.menuGuid,onMouseOver:this.props.onMouseOver,onMouseLeave:this.props.onMouseLeave,onMouseDown:this.props.onMouseDown,onBlur:this.props.onBlur,onFocus:this.props.onFocus,onClick:this.props.onClick,onOriginalItemNeeded:this.props.onOriginalItemNeeded,key:t})):null}}class u extends s.Component{constructor(e){super(e),this.isFirstRender=!0,this.onMouseOver=t=>{this.props.onMouseOver(this.props.item.id),t.stopPropagation()},this.onMouseLeave=t=>{this.props.onMouseLeave(this.props.item.id),t.stopPropagation()},this.state={opened:!1}}componentDidMount(){const e=this.props.focusedItemId,t=this.props.item.id;e&&e===t&&this.itemElement.focus({preventScroll:!0}),this.isFirstRender=!1}componentDidUpdate(e){const t=this.props.focusedItemId,n=this.props.item.id;if(t){const p=d.getActiveElement(document);e.focusedItemId!==t&&t===n&&!this.itemElement.contains(p)&&this.itemElement.focus({preventScroll:!0})}}render(){const e=this.props.item,t=e.id,n=r.getDOMElementId(this.props.menuGuid,t),p=e.separator;return s.createElement(s.Fragment,null,p?s.createElement("li",{className:"k-separator k-item","aria-hidden":!0,key:n,ref:i=>this.itemElement=i}):s.createElement("li",{id:r.getDOMElementId(this.props.menuGuid,t),className:this.getMenuItemClassName(e),style:e.cssStyle,tabIndex:t===this.props.tabbableItemId?0:-1,onMouseOver:this.onMouseOver,onMouseLeave:this.onMouseLeave,onMouseDown:i=>this.props.onMouseDown(i),onBlur:i=>this.props.onBlur(t,i),onFocus:()=>this.props.onFocus(t),onClick:i=>this.props.onClick(i,t),role:"menuitem","aria-disabled":e.disabled?!0:void 0,"aria-haspopup":e.items.length>0?!0:void 0,"aria-expanded":e.items.length>0?this.Opened:void 0,"aria-label":e.text,"aria-owns":this.Opened?n:void 0,ref:i=>this.itemElement=i,key:n},this.contentRender?this.renderContent():this.renderMenuItemLink()),this.renderPopupIfOpened(this.itemElement))}renderContent(){const e=this.props.item.contentParentItemId;return s.createElement("div",{className:"k-content",role:"presentation"},s.createElement(this.contentRender,{item:this.props.onOriginalItemNeeded(e),itemId:e}))}renderMenuItemLink(){const e=this.props.item;if(this.linkRender)return s.createElement(this.linkRender,{item:this.props.onOriginalItemNeeded(e.id),itemId:e.id,opened:this.Opened,dir:r.convertBoolDirectionToString(this.props.isDirectionRightToLeft)});const t=this.itemRender?s.createElement(this.itemRender,{item:this.props.onOriginalItemNeeded(e.id),itemId:e.id,key:"1"}):s.createElement("span",{className:"k-menu-link-text"},e.text);return s.createElement(h.MenuItemLink,{url:e.url,opened:this.Opened},this.renderMenuIconIfApplicable(),t,this.renderArrowIfApplicable())}renderPopupIfOpened(e){if(this.Opened){const t=this.props.item.id,{anchorAlign:n,popupAlign:p,collision:i}=r.getPopupSettings(t,this.props.isMenuVertical,this.props.isDirectionRightToLeft);return s.createElement(c.Popup,{anchor:this.itemElement,appendTo:e,show:!0,popupClass:this.getPopupClassName(),anchorAlign:n,popupAlign:p,collision:i,animate:!1,key:"1"},s.createElement(m,{parentItemId:t,items:this.props.item.items,menuGuid:this.props.menuGuid,focusedItemId:this.props.focusedItemId,lastItemIdToBeOpened:this.props.lastItemIdToBeOpened,tabbableItemId:this.props.tabbableItemId,itemRender:this.props.itemRender,linkRender:this.props.linkRender,isMenuVertical:this.props.isMenuVertical,isDirectionRightToLeft:this.props.isDirectionRightToLeft,className:"k-group k-menu-group k-reset k-menu-group-md",onMouseOver:this.props.onMouseOver,onMouseLeave:this.props.onMouseLeave,onMouseDown:this.props.onMouseDown,onBlur:this.props.onBlur,onFocus:this.props.onFocus,onClick:this.props.onClick,onOriginalItemNeeded:this.props.onOriginalItemNeeded}))}return null}renderMenuIconIfApplicable(){const{icon:e,svgIcon:t}=this.props.item;return e||t?s.createElement(d.IconWrap,{name:e,icon:t,key:"0"}):null}renderArrowIfApplicable(){return this.props.item.items.length>0?s.createElement("span",{className:"k-menu-expand-arrow","aria-hidden":!0},s.createElement(I.MenuItemArrow,{itemId:this.props.item.id,verticalMenu:this.props.isMenuVertical,dir:r.convertBoolDirectionToString(this.props.isDirectionRightToLeft),key:"2"})):null}get itemRender(){return this.props.item.render||this.props.itemRender}get linkRender(){return this.props.item.linkRender||this.props.linkRender}get contentRender(){return this.props.item.contentParentItemId?this.props.item.contentRender:null}get Opened(){const e=this.props;return e.item.items.length>0&&a.shouldOpenItem(e.item.id,e.lastItemIdToBeOpened)&&!this.isFirstRender}getPopupClassName(){return d.classNames("k-menu-popup k-overflow-visible",{"k-rtl":this.props.isDirectionRightToLeft})}getMenuItemClassName(e){return d.classNames("k-item","k-menu-item",{"k-first":a.isFirstItemFromSiblings(e.id),"k-last":e.isLastFromSiblings,"k-disabled":e.disabled},e.cssClass)}}exports.MenuItemInternal=u;exports.MenuItemInternalsList=m;