@progress/kendo-react-layout 9.0.0-develop.1 → 9.0.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 (65) hide show
  1. package/README.md +82 -82
  2. package/actionsheet/ActionSheet.js +1 -1
  3. package/actionsheet/ActionSheet.mjs +25 -38
  4. package/actionsheet/ActionSheetFooter.mjs +1 -10
  5. package/actionsheet/ActionSheetHeader.mjs +1 -10
  6. package/actionsheet/ActionSheetItem.mjs +10 -7
  7. package/appbar/AppBar.mjs +5 -30
  8. package/appbar/AppBarSection.mjs +4 -17
  9. package/appbar/AppBarSpacer.mjs +6 -16
  10. package/bottomnavigation/BottomNavigation.mjs +30 -54
  11. package/bottomnavigation/BottomNavigationItem.mjs +63 -61
  12. package/breadcrumb/Breadcrumb.mjs +39 -63
  13. package/breadcrumb/BreadcrumbDelimiter.mjs +29 -24
  14. package/breadcrumb/BreadcrumbLink.mjs +16 -18
  15. package/breadcrumb/BreadcrumbListItem.mjs +31 -29
  16. package/breadcrumb/BreadcrumbOrderedList.mjs +47 -42
  17. package/card/Avatar.mjs +15 -1
  18. package/card/CardBody.mjs +1 -11
  19. package/card/CardFooter.mjs +1 -11
  20. package/card/CardHeader.mjs +1 -11
  21. package/card/CardImage.mjs +1 -4
  22. package/card/CardSubtitle.mjs +1 -11
  23. package/card/CardTitle.mjs +1 -11
  24. package/dist/cdn/js/kendo-react-layout.js +1 -1
  25. package/drawer/Drawer.mjs +10 -21
  26. package/drawer/DrawerContent.mjs +6 -3
  27. package/drawer/DrawerItem.mjs +10 -10
  28. package/drawer/DrawerNavigation.mjs +109 -130
  29. package/expansionpanel/ExpansionPanel.mjs +12 -15
  30. package/expansionpanel/ExpansionPanelContent.mjs +3 -9
  31. package/gridlayout/GridLayout.mjs +1 -10
  32. package/gridlayout/GridLayoutItem.mjs +1 -10
  33. package/index.d.mts +5 -0
  34. package/index.d.ts +5 -0
  35. package/menu/components/MenuItemLink.mjs +4 -17
  36. package/menu/utils/getNewItemIdUponKeyboardNavigation.js +1 -1
  37. package/menu/utils/getNewItemIdUponKeyboardNavigation.mjs +55 -57
  38. package/menu/utils/hoverDelay.js +1 -1
  39. package/menu/utils/hoverDelay.mjs +2 -2
  40. package/menu/utils/itemsIdsUtils.js +1 -1
  41. package/menu/utils/itemsIdsUtils.mjs +14 -18
  42. package/menu/utils/misc.js +1 -1
  43. package/menu/utils/misc.mjs +2 -2
  44. package/menu/utils/prepareInputItemsForInternalWork.js +1 -1
  45. package/menu/utils/prepareInputItemsForInternalWork.mjs +30 -31
  46. package/package-metadata.mjs +1 -1
  47. package/package.json +6 -6
  48. package/panelbar/PanelBar.mjs +2 -7
  49. package/panelbar/util.js +1 -1
  50. package/panelbar/util.mjs +27 -40
  51. package/splitter/SplitterBar.mjs +23 -40
  52. package/splitter/SplitterPane.mjs +1 -11
  53. package/stacklayout/StackLayout.mjs +2 -14
  54. package/stepper/Step.mjs +25 -46
  55. package/stepper/Stepper.js +1 -1
  56. package/stepper/Stepper.mjs +147 -186
  57. package/tabstrip/TabStripContent.mjs +2 -14
  58. package/tabstrip/TabStripTab.mjs +2 -9
  59. package/tilelayout/InternalTile.mjs +31 -19
  60. package/tilelayout/ResizeHandlers.mjs +7 -1
  61. package/tilelayout/TileLayout.mjs +24 -20
  62. package/timeline/TimelineCard.mjs +1 -4
  63. package/timeline/TimelineHorizontal.mjs +52 -63
  64. package/timeline/TimelineVertical.mjs +7 -5
  65. package/timeline/utils.mjs +4 -1
@@ -77,18 +77,15 @@ class v extends l.Component {
77
77
  }));
78
78
  }
79
79
  render() {
80
- const a = this.isDraggable, s = this.isStatic, e = this.isHorizontal, o = f(
81
- "k-splitbar",
82
- {
83
- "k-focus": this.state.focused,
84
- "k-splitbar-horizontal": e,
85
- "k-splitbar-vertical": !e,
86
- "k-splitbar-draggable-horizontal": e && a,
87
- "k-splitbar-draggable-vertical": !e && a,
88
- "k-splitbar-static-horizontal": e && s,
89
- "k-splitbar-static-vertical": !e && s
90
- }
91
- );
80
+ const a = this.isDraggable, s = this.isStatic, e = this.isHorizontal, o = f("k-splitbar", {
81
+ "k-focus": this.state.focused,
82
+ "k-splitbar-horizontal": e,
83
+ "k-splitbar-vertical": !e,
84
+ "k-splitbar-draggable-horizontal": e && a,
85
+ "k-splitbar-draggable-vertical": !e && a,
86
+ "k-splitbar-static-horizontal": e && s,
87
+ "k-splitbar-static-vertical": !e && s
88
+ });
92
89
  return /* @__PURE__ */ l.createElement(
93
90
  u,
94
91
  {
@@ -116,37 +113,23 @@ class v extends l.Component {
116
113
  onDoubleClick: this.onToggle,
117
114
  onKeyDown: this.onKeyDown
118
115
  },
119
- this.props.prev.collapsible && /* @__PURE__ */ l.createElement(
120
- "div",
116
+ this.props.prev.collapsible && /* @__PURE__ */ l.createElement("div", { className: "k-collapse-prev", onClick: this.onPrevToggle }, /* @__PURE__ */ l.createElement(
117
+ g,
121
118
  {
122
- className: "k-collapse-prev",
123
- onClick: this.onPrevToggle
124
- },
125
- /* @__PURE__ */ l.createElement(
126
- g,
127
- {
128
- name: this.props.prev.collapsible ? e ? this.props.prev.collapsed ? this.props.isRtl ? "caret-alt-left" : "caret-alt-right" : this.props.isRtl ? "caret-alt-right" : "caret-alt-left" : this.props.prev.collapsed ? "caret-alt-down" : "caret-alt-up" : void 0,
129
- icon: this.props.prev.collapsible ? e ? this.props.prev.collapsed ? this.props.isRtl ? n : p : this.props.isRtl ? p : n : this.props.prev.collapsed ? h : b : void 0,
130
- size: "xsmall"
131
- }
132
- )
133
- ),
119
+ name: this.props.prev.collapsible ? e ? this.props.prev.collapsed ? this.props.isRtl ? "caret-alt-left" : "caret-alt-right" : this.props.isRtl ? "caret-alt-right" : "caret-alt-left" : this.props.prev.collapsed ? "caret-alt-down" : "caret-alt-up" : void 0,
120
+ icon: this.props.prev.collapsible ? e ? this.props.prev.collapsed ? this.props.isRtl ? n : p : this.props.isRtl ? p : n : this.props.prev.collapsed ? h : b : void 0,
121
+ size: "xsmall"
122
+ }
123
+ )),
134
124
  /* @__PURE__ */ l.createElement("div", { className: "k-resize-handle" }),
135
- this.props.next.collapsible && /* @__PURE__ */ l.createElement(
136
- "div",
125
+ this.props.next.collapsible && /* @__PURE__ */ l.createElement("div", { className: "k-collapse-next", onClick: this.onNextToggle }, /* @__PURE__ */ l.createElement(
126
+ g,
137
127
  {
138
- className: "k-collapse-next",
139
- onClick: this.onNextToggle
140
- },
141
- /* @__PURE__ */ l.createElement(
142
- g,
143
- {
144
- name: this.props.next.collapsible ? e ? this.props.next.collapsed ? this.props.isRtl ? "caret-alt-right" : "caret-alt-left" : this.props.isRtl ? "caret-alt-left" : "caret-alt-right" : this.props.next.collapsed ? "caret-alt-up" : "caret-alt-down" : void 0,
145
- icon: this.props.next.collapsible ? e ? this.props.next.collapsed ? this.props.isRtl ? p : n : this.props.isRtl ? n : p : this.props.next.collapsed ? b : h : void 0,
146
- size: "xsmall"
147
- }
148
- )
149
- )
128
+ name: this.props.next.collapsible ? e ? this.props.next.collapsed ? this.props.isRtl ? "caret-alt-right" : "caret-alt-left" : this.props.isRtl ? "caret-alt-left" : "caret-alt-right" : this.props.next.collapsed ? "caret-alt-up" : "caret-alt-down" : void 0,
129
+ icon: this.props.next.collapsible ? e ? this.props.next.collapsed ? this.props.isRtl ? p : n : this.props.isRtl ? n : p : this.props.next.collapsed ? b : h : void 0,
130
+ size: "xsmall"
131
+ }
132
+ ))
150
133
  )
151
134
  );
152
135
  }
@@ -36,17 +36,7 @@ class x extends l.Component {
36
36
  },
37
37
  d
38
38
  );
39
- return /* @__PURE__ */ l.createElement(
40
- "div",
41
- {
42
- id: t,
43
- role: "group",
44
- style: k,
45
- className: v
46
- },
47
- !s || c ? this.props.children : void 0,
48
- a ? /* @__PURE__ */ l.createElement("div", { className: "k-splitter-overlay k-overlay" }) : void 0
49
- );
39
+ return /* @__PURE__ */ l.createElement("div", { id: t, role: "group", style: k, className: v }, !s || c ? this.props.children : void 0, a ? /* @__PURE__ */ l.createElement("div", { className: "k-splitter-overlay k-overlay" }) : void 0);
50
40
  }
51
41
  }
52
42
  export {
@@ -19,10 +19,7 @@ const m = o.forwardRef((e, g) => {
19
19
  []
20
20
  );
21
21
  o.useImperativeHandle(g, d);
22
- const { className: r, style: u, id: h, children: k } = e, y = A(), s = o.useMemo(
23
- () => e.orientation || l.orientation,
24
- [e.orientation]
25
- ), t = s === "horizontal", a = o.useMemo(
22
+ const { className: r, style: u, id: h, children: k } = e, y = A(), s = o.useMemo(() => e.orientation || l.orientation, [e.orientation]), t = s === "horizontal", a = o.useMemo(
26
23
  () => e.align && e.align.horizontal ? e.align.horizontal : l.hAlign,
27
24
  [e.align]
28
25
  ), i = o.useMemo(
@@ -50,16 +47,7 @@ const m = o.forwardRef((e, g) => {
50
47
  gap: `${typeof e.gap == "number" ? e.gap + "px" : e.gap}`,
51
48
  ...u
52
49
  };
53
- return /* @__PURE__ */ o.createElement(
54
- "div",
55
- {
56
- ref: c,
57
- className: f,
58
- style: v,
59
- id: h || y
60
- },
61
- k
62
- );
50
+ return /* @__PURE__ */ o.createElement("div", { ref: c, className: f, style: v, id: h || y }, k);
63
51
  }), l = {
64
52
  orientation: "horizontal",
65
53
  hAlign: "stretch",
package/stepper/Step.mjs CHANGED
@@ -46,12 +46,9 @@ const L = e.forwardRef((O, R) => {
46
46
  errorIcon: w,
47
47
  successSVGIcon: B,
48
48
  errorSVGIcon: G
49
- } = e.useContext(Y), p = e.useRef(null), F = e.useCallback(
50
- () => {
51
- p.current && Z(p.current);
52
- },
53
- []
54
- ), v = e.useCallback(
49
+ } = e.useContext(Y), p = e.useRef(null), F = e.useCallback(() => {
50
+ p.current && Z(p.current);
51
+ }, []), v = e.useCallback(
55
52
  () => ({
56
53
  element: p.current,
57
54
  focus: F
@@ -61,22 +58,12 @@ const L = e.forwardRef((O, R) => {
61
58
  e.useImperativeHandle(R, v);
62
59
  const I = !H || s === l - 1 || s === l || s === l + 1, N = S === "labels" || !!r && !!o, P = ae(), U = ((i) => P.toLanguageString(i, le[i]))(ie), W = typeof u == "number" ? u : u !== !1 ? oe : ce, $ = e.useCallback(
63
60
  (i) => {
64
- b && !n && M(
65
- b,
66
- i,
67
- v(),
68
- { value: s }
69
- );
61
+ b && !n && M(b, i, v(), { value: s });
70
62
  },
71
63
  [b, l, n]
72
64
  ), j = e.useCallback(
73
65
  (i) => {
74
- f && !n && M(
75
- f,
76
- i,
77
- v(),
78
- void 0
79
- );
66
+ f && !n && M(f, i, v(), void 0);
80
67
  },
81
68
  [f, n]
82
69
  ), K = e.useMemo(
@@ -104,13 +91,7 @@ const L = e.forwardRef((O, R) => {
104
91
  ...C
105
92
  }),
106
93
  [k, c, C, I]
107
- ), A = t ? _ : w, x = A ? /* @__PURE__ */ e.createElement(
108
- "span",
109
- {
110
- className: "k-step-indicator-icon " + A,
111
- "aria-hidden": "true"
112
- }
113
- ) : /* @__PURE__ */ e.createElement(
94
+ ), A = t ? _ : w, x = A ? /* @__PURE__ */ e.createElement("span", { className: "k-step-indicator-icon " + A, "aria-hidden": "true" }) : /* @__PURE__ */ e.createElement(
114
95
  T,
115
96
  {
116
97
  className: "k-step-indicator-icon",
@@ -124,30 +105,28 @@ const L = e.forwardRef((O, R) => {
124
105
  "aria-hidden": !0,
125
106
  style: { transitionDuration: W + "ms" }
126
107
  },
127
- r || h ? !N && t !== void 0 ? x : /* @__PURE__ */ e.createElement(T, { className: "k-step-indicator-icon", name: r && te(r), icon: h }) : t !== void 0 ? x : /* @__PURE__ */ e.createElement("span", { className: "k-step-indicator-text" }, y || s + 1)
108
+ r || h ? !N && t !== void 0 ? x : /* @__PURE__ */ e.createElement(
109
+ T,
110
+ {
111
+ className: "k-step-indicator-icon",
112
+ name: r && te(r),
113
+ icon: h
114
+ }
115
+ ) : t !== void 0 ? x : /* @__PURE__ */ e.createElement("span", { className: "k-step-indicator-text" }, y || s + 1)
128
116
  ) : null), Q = (o || N || m) && /* @__PURE__ */ e.createElement("span", { className: "k-step-label" }, o && /* @__PURE__ */ e.createElement("span", { className: "k-step-text" }, o), N && t !== void 0 && x, m && /* @__PURE__ */ e.createElement("span", { className: "k-step-label-optional" }, U)), X = /* @__PURE__ */ e.createElement(e.Fragment, null, J, Q);
129
- return /* @__PURE__ */ e.createElement(
130
- "li",
117
+ return /* @__PURE__ */ e.createElement("li", { ref: p, className: K, style: q, ...z }, /* @__PURE__ */ e.createElement(
118
+ "a",
131
119
  {
132
- ref: p,
133
- className: K,
134
- style: q,
135
- ...z
120
+ className: "k-step-link",
121
+ title: o || void 0,
122
+ onClick: $,
123
+ onFocus: j,
124
+ "aria-current": d ? "step" : void 0,
125
+ "aria-disabled": n || !I || void 0,
126
+ "aria-invalid": t !== void 0 && !t || void 0
136
127
  },
137
- /* @__PURE__ */ e.createElement(
138
- "a",
139
- {
140
- className: "k-step-link",
141
- title: o || void 0,
142
- onClick: $,
143
- onFocus: j,
144
- "aria-current": d ? "step" : void 0,
145
- "aria-disabled": n || !I || void 0,
146
- "aria-invalid": t !== void 0 && !t || void 0
147
- },
148
- D ? V : X
149
- )
150
- );
128
+ D ? V : X
129
+ ));
151
130
  });
152
131
  L.propTypes = {
153
132
  children: a.any,
@@ -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 te=require("react"),l=require("prop-types"),ne=require("./context/StepperContext.js"),d=require("@progress/kendo-react-common"),se=require("./Step.js"),oe=require("@progress/kendo-react-progressbars"),z=require("./contants.js"),re=require("../package-metadata.js"),ie=require("@progress/kendo-react-intl"),D=require("./messages/index.js");function ce(p){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(p){for(const f in p)if(f!=="default"){const I=Object.getOwnPropertyDescriptor(p,f);Object.defineProperty(k,f,I.get?I:{enumerable:!0,get:()=>p[f]})}}return k.default=p,Object.freeze(k)}const o=ce(te),w=o.forwardRef((p,k)=>{d.validatePackage(re.packageMetadata);const{animationDuration:f,children:I,className:P,disabled:g,errorIcon:V,errorSVGIcon:j,item:R,items:b,linear:y,mode:_,orientation:x,selectOnFocus:E,style:T,successIcon:K,successSVGIcon:G,value:u=0,onChange:S,onFocus:C}=p,B=ie.useLocalization().toLanguageString(D.progBarAriaLabel,D.messages[D.progBarAriaLabel]),v=o.useRef(null),A=o.useCallback(()=>{v.current&&d.focusFirstFocusableChild(v.current)},[]),N=o.useCallback(()=>({element:v.current,focus:A}),[A]);o.useImperativeHandle(k,N);const[H,a]=o.useState(u),m=b?b.length:0,n=x==="vertical",O=d.useDir(v,p.dir),U=typeof f=="number"?f:f!==!1?z.DEFAULT_ANIMATION_DURATION:z.NO_ANIMATION;o.useEffect(()=>{a(u)},[u]);const M=o.useCallback((r,i)=>{const e=i===u-1,t=i===u,c=i===u+1;u!==i&&S&&!g&&(!y||e||t||c)&&(d.dispatchEvent(S,r,N(),{value:i}),a(i))},[u,y,S,g,a]),J=o.useCallback(r=>{let i=r.value,e=r.syntheticEvent;M(e,i)},[M]),Q=o.useCallback(r=>{C&&!g&&d.dispatchEvent(C,r.syntheticEvent,N(),void 0)},[C,g]),h=o.useMemo(()=>{const r=O==="rtl",i=b.length-1;return new d.Navigation({root:v,selectors:["ol.k-step-list li.k-step a.k-step-link"],tabIndex:0,keyboardEvents:{keydown:{ArrowLeft:(e,t,c)=>{c.preventDefault();const s=t.elements.indexOf(e);!n&&!r&&s>0?(t.focusPrevious(e),a(s-1)):!n&&r&&s<i&&(t.focusNext(e),a(s+1))},ArrowRight:(e,t,c)=>{c.preventDefault();const s=t.elements.indexOf(e);!n&&!r&&s<i?(t.focusNext(e),a(s+1)):!n&&r&&s>0&&(t.focusPrevious(e),a(s-1))},ArrowUp:(e,t,c)=>{c.preventDefault();const s=t.elements.indexOf(e);n&&!r&&s>0?(t.focusPrevious(e),a(s-1)):n&&r&&s>0&&(t.focusPrevious(e),a(s+1))},ArrowDown:(e,t,c)=>{c.preventDefault();const s=t.elements.indexOf(e);n&&!r&&s<i?(t.focusNext(e),a(s+1)):n&&r&&s<i&&(t.focusNext(e),a(s-1))},Tab:(e,t,c)=>{c.preventDefault();const s=t.elements.indexOf(e),L=t.previous(e).children[0],F=t.next(e).children[0];c.shiftKey?!n&&!r&&s>0?(t.focusPrevious(e),a(s-1),E&&L.click()):!n&&r&&s<i&&(t.focusNext(e),a(s+1),E&&F.click()):!n&&!r&&s<i?(t.focusNext(e),a(s+1),E&&F.click()):!n&&r&&s>0&&(t.focusPrevious(e),a(s-1),E&&L.click())},Home:(e,t,c)=>{c.preventDefault(),t.focusElement(t.first,e),a(0)},End:(e,t,c)=>{c.preventDefault(),t.focusElement(t.last,e),a(i)},Space:(e,t,c)=>{c.preventDefault(),e.children[0].click()},Enter:(e,t,c)=>{c.preventDefault(),e.children[0].click()}}}})},[O,b.length,n,a]);o.useEffect(()=>(h.initializeRovingTab(u),()=>h.removeFocusListener()),[]);const W=o.useCallback(h.triggerKeyboardEvent.bind(h),[]),X=o.useMemo(()=>d.classNames("k-stepper",{"k-stepper-linear":y},P),[y,P]),Y=o.useMemo(()=>({display:"grid",gridTemplateColumns:n?void 0:"repeat("+m*2+", 1fr)",gridTemplateRows:n?"repeat("+m+", 1fr)":void 0,...T}),[n,m,T]),Z=o.useMemo(()=>d.classNames("k-step-list",{"k-step-list-horizontal":!n,"k-step-list-vertical":n}),[n]),$=o.useMemo(()=>({gridColumnStart:n?void 0:1,gridColumnEnd:n?void 0:-1,gridRowStart:n?1:void 0,gridRowEnd:n?-1:void 0}),[n]),ee=o.useMemo(()=>({gridColumnStart:n?void 0:2,gridColumnEnd:n?void 0:m*2,gridRowStart:n?1:void 0,gridRowEnd:n?m:void 0,top:n?17:void 0}),[n,m]),q=b&&b.map((r,i)=>{const e={index:i,disabled:g||r.disabled,focused:i===H,current:i===u,...r},t=R||se.Step;return o.createElement(t,{key:i,...e})});return o.createElement(ne.StepperContext.Provider,{value:{animationDuration:f,isVertical:n,item:R,linear:y,mode:_,numOfSteps:m,value:u,successIcon:K,successSVGIcon:G,errorIcon:V,errorSVGIcon:j,onChange:J,onFocus:Q}},o.createElement("nav",{className:X,style:Y,dir:O,role:"navigation",ref:v,onKeyDown:W},o.createElement("ol",{className:Z,style:$},q||I),o.createElement(oe.ProgressBar,{style:ee,labelPlacement:"start",animation:{duration:U},ariaLabel:B,"aria-hidden":!0,max:m-1,labelVisible:!1,orientation:x,reverse:x==="vertical",value:u,disabled:g,tabIndex:-1})))});w.propTypes={animationDuration:l.oneOfType([l.bool,l.number]),children:l.any,className:l.string,dir:l.string,disabled:l.bool,errorIcon:l.string,errorSVGIcon:d.svgIconPropType,item:l.any,items:l.any,linear:l.bool,mode:l.oneOf(["steps","labels"]),orientation:l.oneOf(["horizontal","vertical"]),style:l.object,successIcon:l.string,successSVGIcon:d.svgIconPropType,value:l.number.isRequired,onChange:l.func,onFocus:l.func};w.displayName="KendoStepper";exports.Stepper=w;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const te=require("react"),o=require("prop-types"),ne=require("./context/StepperContext.js"),d=require("@progress/kendo-react-common"),se=require("./Step.js"),oe=require("@progress/kendo-react-progressbars"),z=require("./contants.js"),re=require("../package-metadata.js"),ae=require("@progress/kendo-react-intl"),O=require("./messages/index.js");function ie(m){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const p in m)if(p!=="default"){const h=Object.getOwnPropertyDescriptor(m,p);Object.defineProperty(k,p,h.get?h:{enumerable:!0,get:()=>m[p]})}}return k.default=m,Object.freeze(k)}const e=ie(te),T=e.forwardRef((m,k)=>{d.validatePackage(re.packageMetadata);const{animationDuration:p,children:h,className:D,disabled:g,errorIcon:V,errorSVGIcon:j,item:P,items:b,linear:y,mode:_,orientation:S,selectOnFocus:E,style:w,successIcon:K,successSVGIcon:G,value:i=0,onChange:C,onFocus:N}=m,B=ae.useLocalization().toLanguageString(O.progBarAriaLabel,O.messages[O.progBarAriaLabel]),v=e.useRef(null),M=e.useCallback(()=>{v.current&&d.focusFirstFocusableChild(v.current)},[]),x=e.useCallback(()=>({element:v.current,focus:M}),[M]);e.useImperativeHandle(k,x);const[H,u]=e.useState(i),f=b?b.length:0,s=S==="vertical",R=d.useDir(v,m.dir),U=typeof p=="number"?p:p!==!1?z.DEFAULT_ANIMATION_DURATION:z.NO_ANIMATION;e.useEffect(()=>{u(i)},[i]);const q=e.useCallback((a,r)=>{const t=r===i-1,n=r===i,c=r===i+1;i!==r&&C&&!g&&(!y||t||n||c)&&(d.dispatchEvent(C,a,x(),{value:r}),u(r))},[i,y,C,g,u]),J=e.useCallback(a=>{const r=a.value,t=a.syntheticEvent;q(t,r)},[q]),Q=e.useCallback(a=>{N&&!g&&d.dispatchEvent(N,a.syntheticEvent,x(),void 0)},[N,g]),I=e.useMemo(()=>{const a=R==="rtl",r=b.length-1;return new d.Navigation({root:v,selectors:["ol.k-step-list li.k-step a.k-step-link"],tabIndex:0,keyboardEvents:{keydown:{Tab:(t,n,c)=>{c.preventDefault();const l=n.elements.indexOf(t),L=n.previous(t).children[0],A=n.next(t).children[0];c.shiftKey?!a&&l>0?(n.focusPrevious(t),u(l-1),E&&L.click()):a&&l<r&&(n.focusNext(t),u(l+1),E&&A.click()):!a&&l<r?(n.focusNext(t),u(l+1),E&&A.click()):a&&l>0&&(n.focusPrevious(t),u(l-1),E&&L.click())},Home:(t,n,c)=>{c.preventDefault(),n.focusElement(n.first,t),u(0)},End:(t,n,c)=>{c.preventDefault(),n.focusElement(n.last,t),u(r)},Space:(t,n,c)=>{c.preventDefault(),t.children[0].click()},Enter:(t,n,c)=>{c.preventDefault(),t.children[0].click()}}}})},[R,b.length,u,E]);e.useEffect(()=>(I.initializeRovingTab(i),()=>I.removeFocusListener()),[]);const W=e.useCallback(I.triggerKeyboardEvent.bind(I),[]),X=e.useMemo(()=>d.classNames("k-stepper",{"k-stepper-linear":y},D),[y,D]),Y=e.useMemo(()=>({display:"grid",gridTemplateColumns:s?void 0:"repeat("+f*2+", 1fr)",gridTemplateRows:s?"repeat("+f+", 1fr)":void 0,...w}),[s,f,w]),Z=e.useMemo(()=>d.classNames("k-step-list",{"k-step-list-horizontal":!s,"k-step-list-vertical":s}),[s]),$=e.useMemo(()=>({gridColumnStart:s?void 0:1,gridColumnEnd:s?void 0:-1,gridRowStart:s?1:void 0,gridRowEnd:s?-1:void 0}),[s]),ee=e.useMemo(()=>({gridColumnStart:s?void 0:2,gridColumnEnd:s?void 0:f*2,gridRowStart:s?1:void 0,gridRowEnd:s?f:void 0,top:s?17:void 0}),[s,f]),F=b&&b.map((a,r)=>{const t={index:r,disabled:g||a.disabled,focused:r===H,current:r===i,...a},n=P||se.Step;return e.createElement(n,{key:r,...t})});return e.createElement(ne.StepperContext.Provider,{value:{animationDuration:p,isVertical:s,item:P,linear:y,mode:_,numOfSteps:f,value:i,successIcon:K,successSVGIcon:G,errorIcon:V,errorSVGIcon:j,onChange:J,onFocus:Q}},e.createElement("nav",{className:X,style:Y,dir:R,role:"navigation",ref:v,onKeyDown:W},e.createElement("ol",{className:Z,style:$},F||h),e.createElement(oe.ProgressBar,{style:ee,labelPlacement:"start",animation:{duration:U},ariaLabel:B,"aria-hidden":!0,max:f-1,labelVisible:!1,orientation:S,reverse:S==="vertical",value:i,disabled:g,tabIndex:-1})))});T.propTypes={animationDuration:o.oneOfType([o.bool,o.number]),children:o.any,className:o.string,dir:o.string,disabled:o.bool,errorIcon:o.string,errorSVGIcon:d.svgIconPropType,item:o.any,items:o.any,linear:o.bool,mode:o.oneOf(["steps","labels"]),orientation:o.oneOf(["horizontal","vertical"]),style:o.object,successIcon:o.string,successSVGIcon:d.svgIconPropType,value:o.number.isRequired,onChange:o.func,onFocus:o.func};T.displayName="KendoStepper";exports.Stepper=T;