@progress/kendo-react-scrollview 14.5.0-develop.14 → 14.5.0-develop.15

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.
package/ScrollView.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),s=require("prop-types"),l=require("@progress/kendo-react-common"),j=require("./package-metadata.js"),b=require("@progress/kendo-svg-icons"),J=require("@progress/kendo-react-intl"),f=require("./messages.js");function Q(c){const w=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const v in c)if(v!=="default"){const p=Object.getOwnPropertyDescriptor(c,v);Object.defineProperty(w,v,p.get?p:{enumerable:!0,get:()=>c[v]})}}return w.default=c,Object.freeze(w)}const e=Q(G),N=e.forwardRef((c,w)=>{const v=!l.validatePackage(j.packageMetadata,{component:"ScrollView"}),p=l.getLicenseMessage(j.packageMetadata),{className:R,style:z,children:V,pagerOverlay:y=g.pageOverlay,pageable:A=g.pageable,arrows:W=g.arrows,endless:r=g.endless,activeView:Y=g.activeView,automaticViewChange:S=g.automaticViewChange,automaticViewChangeInterval:L=g.automaticViewChangeInterval}=c,[a,o]=e.useState(Y||1),u=e.useRef(null),k=e.useRef(null),C=e.useRef(null),n=e.Children.toArray(V),E=l.useRtl(u,c.dir),m=E==="rtl",O=J.useLocalization(),x=e.useCallback(()=>{u.current&&u.current.focus()},[]),D=e.useCallback(()=>({element:u.current,focus:x}),[x]);e.useImperativeHandle(w,D);const M=e.useRef(null);e.useImperativeHandle(M,D),l.useWebMcpRegister("scrollview",M,c,c.webMcp);const d=e.useCallback(()=>{r?a>1?o(a-1):o(n.length):a>1&&o(a-1)},[a,n.length,r]),h=e.useCallback(()=>{r?a<n.length?o(a+1):o(1):a<n.length&&o(a+1)},[a,n.length,r]),P=e.useCallback(t=>{var T,q;const i=t.target;i.classList.contains("k-scrollview-prev")?(d(),!((r||a>2)&&n.length>0)&&((T=u.current)==null||T.focus())):i.classList.contains("k-scrollview-next")&&(h(),!((r||a<n.length-1)&&n.length>0)&&((q=u.current)==null||q.focus()))},[a,n.length,r]);e.useEffect(()=>{const t=n.length;k.current&&(k.current.style.setProperty("--kendo-scrollview-views",`${t}`),k.current.style.setProperty("--kendo-scrollview-current",`${a}`))},[n,a,E]);function K(){C.current&&clearTimeout(C.current)}e.useEffect(()=>{if(S)return K(),C.current=setTimeout(()=>o(t=>t===n.length?r?1:t:t+1),L),()=>{K()}},[S,L,n.length,a,r]);const I=e.useCallback(t=>{switch(t.key){case l.KEYS.left:t.preventDefault(),m?h():d();break;case l.KEYS.right:t.preventDefault(),m?d():h();break;case l.KEYS.space:t.preventDefault(),P(t);break;case l.KEYS.enter:t.preventDefault(),P(t);break}},[m,h,d]),_=e.useMemo(()=>l.classNames("k-scrollview",{"k-scrollview-light":y==="light","k-scrollview-dark":y==="dark"},R),[R,y]),H=e.Children.map(V||null,(t,i)=>e.createElement("div",{className:"k-scrollview-view","aria-hidden":a!==i+1},t)),B=e.useCallback(()=>{let t;return t=a>1,(r||t)&&n.length>0},[a,n.length,r]),$=e.useCallback(()=>{let t;return t=a<n.length,(r||t)&&n.length>0},[a,n.length,r]);return e.createElement("div",{className:_,style:z,ref:u,tabIndex:0,dir:E,onKeyDown:I},e.createElement("div",{className:"k-scrollview-wrap k-scrollview-animate",ref:k},H),e.createElement("div",{className:"k-scrollview-elements"},W&&e.createElement(e.Fragment,null,B()&&e.createElement("span",{className:"k-scrollview-prev","aria-label":O.toLanguageString(f.previous,f.messages[f.previous]),role:"button",tabIndex:0,onClick:d,onKeyDown:I},e.createElement(l.IconWrap,{name:m?"chevron-right":"chevron-left",icon:m?b.chevronRightIcon:b.chevronLeftIcon,size:"xxxlarge"})),$()&&e.createElement("span",{className:"k-scrollview-next","aria-label":O.toLanguageString(f.next,f.messages[f.next]),role:"button",tabIndex:0,onClick:h,onKeyDown:I},e.createElement(l.IconWrap,{name:m?"chevron-left":"chevron-right",icon:m?b.chevronLeftIcon:b.chevronRightIcon,size:"xxxlarge"}))),A&&e.createElement("div",{className:"k-scrollview-nav-wrap"},e.createElement("div",{className:"k-scrollview-nav"},n.map((t,i)=>e.createElement("span",{className:l.classNames("k-link",{"k-primary":a===i+1}),key:i+1,onClick:()=>o(i+1)}))))),e.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"k-sr-only"}),v&&e.createElement(l.WatermarkOverlay,{message:p}))});N.propTypes={activeView:s.number,arrows:s.bool,automaticViewChange:s.bool,automaticViewChangeInterval:s.number,children:s.any,className:s.string,dir:s.string,endless:s.bool,pageable:s.bool,pageOverlay:s.string,style:s.object};const g={activeView:1,arrows:!0,automaticViewChange:!0,automaticViewChangeInterval:5e3,endless:!1,pageable:!0,pageOverlay:"none"};N.displayName="KendoScrollView";exports.ScrollView=N;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("react"),c=require("prop-types"),n=require("@progress/kendo-react-common"),j=require("./package-metadata.js"),y=require("@progress/kendo-svg-icons"),X=require("@progress/kendo-react-intl"),l=require("./messages.js");function Z(o){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const p in o)if(p!=="default"){const h=Object.getOwnPropertyDescriptor(o,p);Object.defineProperty(d,p,h.get?h:{enumerable:!0,get:()=>o[p]})}}return d.default=o,Object.freeze(d)}const e=Z(U),S=e.forwardRef((o,d)=>{const p=!n.validatePackage(j.packageMetadata,{component:"ScrollView"}),h=n.getLicenseMessage(j.packageMetadata),{className:V,style:z,children:D,pagerOverlay:R=v.pageOverlay,pageable:W=v.pageable,arrows:Y=v.arrows,endless:s=v.endless,activeView:_=v.activeView,automaticViewChange:L=v.automaticViewChange,automaticViewChangeInterval:x=v.automaticViewChangeInterval}=o,[a,i]=e.useState(_||1),u=e.useRef(null),k=e.useRef(null),C=e.useRef(null),r=e.Children.toArray(D),I=n.useRtl(u,o.dir),g=I==="rtl",E=e.useId(),b=X.useLocalization(),H=b.toLanguageString(l.slideAriaRoleDescription,l.messages[l.slideAriaRoleDescription]),B=b.toLanguageString(l.carouselAriaRoleDescription,l.messages[l.carouselAriaRoleDescription]),O=e.useCallback(()=>{u.current&&u.current.focus()},[]),M=e.useCallback(()=>({element:u.current,focus:O}),[O]);e.useImperativeHandle(d,M);const P=e.useRef(null);e.useImperativeHandle(P,M),n.useWebMcpRegister("scrollview",P,o,o.webMcp);const w=e.useCallback(()=>{s?a>1?i(a-1):i(r.length):a>1&&i(a-1)},[a,r.length,s]),f=e.useCallback(()=>{s?a<r.length?i(a+1):i(1):a<r.length&&i(a+1)},[a,r.length,s]),A=e.useCallback(t=>{var T,q;const m=t.target;m.classList.contains("k-scrollview-prev")?(w(),!((s||a>2)&&r.length>0)&&((T=u.current)==null||T.focus())):m.classList.contains("k-scrollview-next")&&(f(),!((s||a<r.length-1)&&r.length>0)&&((q=u.current)==null||q.focus()))},[a,r.length,s]);e.useEffect(()=>{const t=r.length;k.current&&(k.current.style.setProperty("--kendo-scrollview-views",`${t}`),k.current.style.setProperty("--kendo-scrollview-current",`${a}`))},[r,a,I]);function K(){C.current&&clearTimeout(C.current)}e.useEffect(()=>{if(L)return K(),C.current=setTimeout(()=>i(t=>t===r.length?s?1:t:t+1),x),()=>{K()}},[L,x,r.length,a,s]);const N=e.useCallback(t=>{switch(t.key){case n.KEYS.left:t.preventDefault(),g?f():w();break;case n.KEYS.right:t.preventDefault(),g?w():f();break;case n.KEYS.space:t.preventDefault(),A(t);break;case n.KEYS.enter:t.preventDefault(),A(t);break}},[g,f,w]),$=e.useMemo(()=>n.classNames("k-scrollview",{"k-scrollview-light":R==="light","k-scrollview-dark":R==="dark"},V),[V,R]),F=e.Children.map(D||null,(t,m)=>e.createElement("div",{className:"k-scrollview-view",role:"listitem","aria-roledescription":H},t)),G=e.useCallback(()=>{let t;return t=a>1,(s||t)&&r.length>0},[a,r.length,s]),J=e.useCallback(()=>{let t;return t=a<r.length,(s||t)&&r.length>0},[a,r.length,s]);return e.createElement("div",{className:$,style:z,ref:u,tabIndex:0,dir:I,onKeyDown:N,role:"application","aria-roledescription":B},e.createElement("div",{className:"k-scrollview-wrap k-scrollview-animate",ref:k,id:E,role:"list"},F),e.createElement("div",{className:"k-scrollview-elements"},Y&&e.createElement(e.Fragment,null,G()&&e.createElement("span",{className:"k-scrollview-prev","aria-label":b.toLanguageString(l.previous,l.messages[l.previous]),role:"button",tabIndex:0,onClick:w,onKeyDown:N,"aria-controls":E},e.createElement(n.IconWrap,{name:g?"chevron-right":"chevron-left",icon:g?y.chevronRightIcon:y.chevronLeftIcon,size:"xxxlarge"})),J()&&e.createElement("span",{className:"k-scrollview-next","aria-label":b.toLanguageString(l.next,l.messages[l.next]),role:"button",tabIndex:0,onClick:f,onKeyDown:N,"aria-controls":E},e.createElement(n.IconWrap,{name:g?"chevron-left":"chevron-right",icon:g?y.chevronLeftIcon:y.chevronRightIcon,size:"xxxlarge"}))),W&&e.createElement("div",{className:"k-scrollview-nav-wrap"},e.createElement("div",{className:"k-scrollview-nav"},r.map((t,m)=>e.createElement("span",{className:n.classNames("k-link",{"k-primary":a===m+1}),key:m+1,onClick:()=>i(m+1)}))))),e.createElement("div",{"aria-live":"polite",className:"k-sr-only"}),p&&e.createElement(n.WatermarkOverlay,{message:h}))});S.propTypes={activeView:c.number,arrows:c.bool,automaticViewChange:c.bool,automaticViewChangeInterval:c.number,children:c.any,className:c.string,dir:c.string,endless:c.bool,pageable:c.bool,pageOverlay:c.string,style:c.object};const v={activeView:1,arrows:!0,automaticViewChange:!0,automaticViewChangeInterval:5e3,endless:!1,pageable:!0,pageOverlay:"none"};S.displayName="KendoScrollView";exports.ScrollView=S;
package/ScrollView.mjs CHANGED
@@ -7,160 +7,179 @@
7
7
  */
8
8
  import * as e from "react";
9
9
  import s from "prop-types";
10
- import { validatePackage as Z, getLicenseMessage as ee, useRtl as te, useWebMcpRegister as ae, KEYS as f, classNames as S, IconWrap as K, WatermarkOverlay as le } from "@progress/kendo-react-common";
11
- import { packageMetadata as M } from "./package-metadata.mjs";
12
- import { chevronRightIcon as T, chevronLeftIcon as A } from "@progress/kendo-svg-icons";
13
- import { useLocalization as re } from "@progress/kendo-react-intl";
14
- import { previous as O, messages as z, next as W } from "./messages.mjs";
15
- const H = e.forwardRef((v, B) => {
16
- const $ = !Z(M, { component: "ScrollView" }), j = ee(M), {
17
- className: b,
18
- style: F,
19
- children: y,
20
- pagerOverlay: h = m.pageOverlay,
21
- pageable: Y = m.pageable,
22
- arrows: _ = m.arrows,
10
+ import { validatePackage as re, getLicenseMessage as se, useRtl as ne, useWebMcpRegister as oe, KEYS as f, classNames as K, IconWrap as M, WatermarkOverlay as ce } from "@progress/kendo-react-common";
11
+ import { packageMetadata as T } from "./package-metadata.mjs";
12
+ import { chevronRightIcon as O, chevronLeftIcon as z } from "@progress/kendo-svg-icons";
13
+ import { useLocalization as ie } from "@progress/kendo-react-intl";
14
+ import { slideAriaRoleDescription as W, messages as h, carouselAriaRoleDescription as H, previous as B, next as $ } from "./messages.mjs";
15
+ const j = e.forwardRef((p, F) => {
16
+ const Y = !re(T, { component: "ScrollView" }), _ = se(T), {
17
+ className: E,
18
+ style: q,
19
+ children: I,
20
+ pagerOverlay: d = m.pageOverlay,
21
+ pageable: G = m.pageable,
22
+ arrows: J = m.arrows,
23
23
  endless: r = m.endless,
24
- activeView: q = m.activeView,
25
- automaticViewChange: C = m.automaticViewChange,
26
- automaticViewChangeInterval: E = m.automaticViewChangeInterval
27
- } = v, [a, n] = e.useState(q || 1), o = e.useRef(null), w = e.useRef(null), p = e.useRef(null), l = e.Children.toArray(y), k = te(o, v.dir), i = k === "rtl", I = re(), N = e.useCallback(() => {
24
+ activeView: Q = m.activeView,
25
+ automaticViewChange: R = m.automaticViewChange,
26
+ automaticViewChangeInterval: N = m.automaticViewChangeInterval
27
+ } = p, [a, n] = e.useState(Q || 1), o = e.useRef(null), v = e.useRef(null), k = e.useRef(null), l = e.Children.toArray(I), b = ne(o, p.dir), c = b === "rtl", y = e.useId(), w = ie(), U = w.toLanguageString(
28
+ W,
29
+ h[W]
30
+ ), X = w.toLanguageString(
31
+ H,
32
+ h[H]
33
+ ), V = e.useCallback(() => {
28
34
  o.current && o.current.focus();
29
- }, []), V = e.useCallback(
35
+ }, []), L = e.useCallback(
30
36
  () => ({
31
37
  element: o.current,
32
- focus: N
38
+ focus: V
33
39
  }),
34
- [N]
40
+ [V]
35
41
  );
36
- e.useImperativeHandle(B, V);
37
- const R = e.useRef(null);
38
- e.useImperativeHandle(R, V), ae("scrollview", R, v, v.webMcp);
42
+ e.useImperativeHandle(F, L);
43
+ const D = e.useRef(null);
44
+ e.useImperativeHandle(D, L), oe("scrollview", D, p, p.webMcp);
39
45
  const u = e.useCallback(() => {
40
46
  r ? a > 1 ? n(a - 1) : n(l.length) : a > 1 && n(a - 1);
41
47
  }, [a, l.length, r]), g = e.useCallback(() => {
42
48
  r ? a < l.length ? n(a + 1) : n(1) : a < l.length && n(a + 1);
43
- }, [a, l.length, r]), L = e.useCallback(
49
+ }, [a, l.length, r]), x = e.useCallback(
44
50
  (t) => {
45
- var D, P;
46
- const c = t.target;
47
- c.classList.contains("k-scrollview-prev") ? (u(), !((r || a > 2) && l.length > 0) && ((D = o.current) == null || D.focus())) : c.classList.contains("k-scrollview-next") && (g(), !((r || a < l.length - 1) && l.length > 0) && ((P = o.current) == null || P.focus()));
51
+ var A, P;
52
+ const i = t.target;
53
+ i.classList.contains("k-scrollview-prev") ? (u(), !((r || a > 2) && l.length > 0) && ((A = o.current) == null || A.focus())) : i.classList.contains("k-scrollview-next") && (g(), !((r || a < l.length - 1) && l.length > 0) && ((P = o.current) == null || P.focus()));
48
54
  },
49
55
  [a, l.length, r]
50
56
  );
51
57
  e.useEffect(() => {
52
58
  const t = l.length;
53
- w.current && (w.current.style.setProperty("--kendo-scrollview-views", `${t}`), w.current.style.setProperty("--kendo-scrollview-current", `${a}`));
54
- }, [l, a, k]);
55
- function x() {
56
- p.current && clearTimeout(p.current);
59
+ v.current && (v.current.style.setProperty("--kendo-scrollview-views", `${t}`), v.current.style.setProperty("--kendo-scrollview-current", `${a}`));
60
+ }, [l, a, b]);
61
+ function S() {
62
+ k.current && clearTimeout(k.current);
57
63
  }
58
64
  e.useEffect(() => {
59
- if (C)
60
- return x(), p.current = setTimeout(
65
+ if (R)
66
+ return S(), k.current = setTimeout(
61
67
  () => n((t) => t === l.length ? r ? 1 : t : t + 1),
62
- E
68
+ N
63
69
  ), () => {
64
- x();
70
+ S();
65
71
  };
66
- }, [C, E, l.length, a, r]);
67
- const d = e.useCallback(
72
+ }, [R, N, l.length, a, r]);
73
+ const C = e.useCallback(
68
74
  (t) => {
69
75
  switch (t.key) {
70
76
  case f.left:
71
- t.preventDefault(), i ? g() : u();
77
+ t.preventDefault(), c ? g() : u();
72
78
  break;
73
79
  case f.right:
74
- t.preventDefault(), i ? u() : g();
80
+ t.preventDefault(), c ? u() : g();
75
81
  break;
76
82
  case f.space:
77
- t.preventDefault(), L(t);
83
+ t.preventDefault(), x(t);
78
84
  break;
79
85
  case f.enter:
80
- t.preventDefault(), L(t);
86
+ t.preventDefault(), x(t);
81
87
  break;
82
88
  }
83
89
  },
84
- [i, g, u]
85
- ), G = e.useMemo(
86
- () => S(
90
+ [c, g, u]
91
+ ), Z = e.useMemo(
92
+ () => K(
87
93
  "k-scrollview",
88
94
  {
89
- "k-scrollview-light": h === "light",
90
- "k-scrollview-dark": h === "dark"
95
+ "k-scrollview-light": d === "light",
96
+ "k-scrollview-dark": d === "dark"
91
97
  },
92
- b
98
+ E
93
99
  ),
94
- [b, h]
95
- ), J = e.Children.map(y || null, (t, c) => /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-view", "aria-hidden": a !== c + 1 }, t)), Q = e.useCallback(() => {
100
+ [E, d]
101
+ ), ee = e.Children.map(I || null, (t, i) => /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-view", role: "listitem", "aria-roledescription": U }, t)), te = e.useCallback(() => {
96
102
  let t;
97
103
  return t = a > 1, (r || t) && l.length > 0;
98
- }, [a, l.length, r]), U = e.useCallback(() => {
104
+ }, [a, l.length, r]), ae = e.useCallback(() => {
99
105
  let t;
100
106
  return t = a < l.length, (r || t) && l.length > 0;
101
107
  }, [a, l.length, r]);
102
108
  return /* @__PURE__ */ e.createElement(
103
109
  "div",
104
110
  {
105
- className: G,
106
- style: F,
111
+ className: Z,
112
+ style: q,
107
113
  ref: o,
108
114
  tabIndex: 0,
109
- dir: k,
110
- onKeyDown: d
115
+ dir: b,
116
+ onKeyDown: C,
117
+ role: "application",
118
+ "aria-roledescription": X
111
119
  },
112
- /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-wrap k-scrollview-animate", ref: w }, J),
113
- /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-elements" }, _ && /* @__PURE__ */ e.createElement(e.Fragment, null, Q() && /* @__PURE__ */ e.createElement(
120
+ /* @__PURE__ */ e.createElement(
121
+ "div",
122
+ {
123
+ className: "k-scrollview-wrap k-scrollview-animate",
124
+ ref: v,
125
+ id: y,
126
+ role: "list"
127
+ },
128
+ ee
129
+ ),
130
+ /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-elements" }, J && /* @__PURE__ */ e.createElement(e.Fragment, null, te() && /* @__PURE__ */ e.createElement(
114
131
  "span",
115
132
  {
116
133
  className: "k-scrollview-prev",
117
- "aria-label": I.toLanguageString(O, z[O]),
134
+ "aria-label": w.toLanguageString(B, h[B]),
118
135
  role: "button",
119
136
  tabIndex: 0,
120
137
  onClick: u,
121
- onKeyDown: d
138
+ onKeyDown: C,
139
+ "aria-controls": y
122
140
  },
123
141
  /* @__PURE__ */ e.createElement(
124
- K,
142
+ M,
125
143
  {
126
- name: i ? "chevron-right" : "chevron-left",
127
- icon: i ? T : A,
144
+ name: c ? "chevron-right" : "chevron-left",
145
+ icon: c ? O : z,
128
146
  size: "xxxlarge"
129
147
  }
130
148
  )
131
- ), U() && /* @__PURE__ */ e.createElement(
149
+ ), ae() && /* @__PURE__ */ e.createElement(
132
150
  "span",
133
151
  {
134
152
  className: "k-scrollview-next",
135
- "aria-label": I.toLanguageString(W, z[W]),
153
+ "aria-label": w.toLanguageString($, h[$]),
136
154
  role: "button",
137
155
  tabIndex: 0,
138
156
  onClick: g,
139
- onKeyDown: d
157
+ onKeyDown: C,
158
+ "aria-controls": y
140
159
  },
141
160
  /* @__PURE__ */ e.createElement(
142
- K,
161
+ M,
143
162
  {
144
- name: i ? "chevron-left" : "chevron-right",
145
- icon: i ? A : T,
163
+ name: c ? "chevron-left" : "chevron-right",
164
+ icon: c ? z : O,
146
165
  size: "xxxlarge"
147
166
  }
148
167
  )
149
- )), Y && /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-nav-wrap" }, /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-nav" }, l.map((t, c) => /* @__PURE__ */ e.createElement(
168
+ )), G && /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-nav-wrap" }, /* @__PURE__ */ e.createElement("div", { className: "k-scrollview-nav" }, l.map((t, i) => /* @__PURE__ */ e.createElement(
150
169
  "span",
151
170
  {
152
- className: S("k-link", {
153
- "k-primary": a === c + 1
171
+ className: K("k-link", {
172
+ "k-primary": a === i + 1
154
173
  }),
155
- key: c + 1,
156
- onClick: () => n(c + 1)
174
+ key: i + 1,
175
+ onClick: () => n(i + 1)
157
176
  }
158
177
  ))))),
159
- /* @__PURE__ */ e.createElement("div", { "aria-live": "polite", "aria-atomic": "true", className: "k-sr-only" }),
160
- $ && /* @__PURE__ */ e.createElement(le, { message: j })
178
+ /* @__PURE__ */ e.createElement("div", { "aria-live": "polite", className: "k-sr-only" }),
179
+ Y && /* @__PURE__ */ e.createElement(ce, { message: _ })
161
180
  );
162
181
  });
163
- H.propTypes = {
182
+ j.propTypes = {
164
183
  activeView: s.number,
165
184
  arrows: s.bool,
166
185
  automaticViewChange: s.bool,
@@ -182,7 +201,7 @@ const m = {
182
201
  pageable: !0,
183
202
  pageOverlay: "none"
184
203
  };
185
- H.displayName = "KendoScrollView";
204
+ j.displayName = "KendoScrollView";
186
205
  export {
187
- H as ScrollView
206
+ j as ScrollView
188
207
  };
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-intl")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-svg-icons","@progress/kendo-react-intl"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactScrollview={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoSvgIcons,e.KendoReactIntl)}(this,function(e,t,r,a,n,l){"use strict";function c(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var s=c(t);const o=Object.freeze({name:"@progress/kendo-react-scrollview",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"14.5.0-develop.14",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),i="scrollview.previous",u="scrollview.next",g={[i]:"Previous",[u]:"Next"},m=s.forwardRef((e,t)=>{const r=!a.validatePackage(o,{component:"ScrollView"}),c=a.getLicenseMessage(o),{className:m,style:p,children:d,pagerOverlay:w=v.pageOverlay,pageable:h=v.pageable,arrows:f=v.arrows,endless:k=v.endless,activeView:b=v.activeView,automaticViewChange:y=v.automaticViewChange,automaticViewChangeInterval:C=v.automaticViewChangeInterval}=e,[E,I]=s.useState(b||1),N=s.useRef(null),R=s.useRef(null),x=s.useRef(null),V=s.Children.toArray(d),K=a.useRtl(N,e.dir),O="rtl"===K,S=l.useLocalization(),D=s.useCallback(()=>{N.current&&N.current.focus()},[]),j=s.useCallback(()=>({element:N.current,focus:D}),[D]);s.useImperativeHandle(t,j);const L=s.useRef(null);s.useImperativeHandle(L,j),a.useWebMcpRegister("scrollview",L,e,e.webMcp);const T=s.useCallback(()=>{k?I(E>1?E-1:V.length):E>1&&I(E-1)},[E,V.length,k]),P=s.useCallback(()=>{k?E<V.length?I(E+1):I(1):E<V.length&&I(E+1)},[E,V.length,k]),q=s.useCallback(e=>{var t,r;const a=e.target;a.classList.contains("k-scrollview-prev")?(T(),!((k||E>2)&&V.length>0)&&(null==(t=N.current)||t.focus())):a.classList.contains("k-scrollview-next")&&(P(),!((k||E<V.length-1)&&V.length>0)&&(null==(r=N.current)||r.focus()))},[E,V.length,k]);function z(){x.current&&clearTimeout(x.current)}s.useEffect(()=>{const e=V.length;R.current&&(R.current.style.setProperty("--kendo-scrollview-views",`${e}`),R.current.style.setProperty("--kendo-scrollview-current",`${E}`))},[V,E,K]),s.useEffect(()=>{if(y)return z(),x.current=setTimeout(()=>I(e=>e===V.length?k?1:e:e+1),C),()=>{z()}},[y,C,V.length,E,k]);const M=s.useCallback(e=>{switch(e.key){case a.KEYS.left:e.preventDefault(),O?P():T();break;case a.KEYS.right:e.preventDefault(),O?T():P();break;case a.KEYS.space:case a.KEYS.enter:e.preventDefault(),q(e)}},[O,P,T]),W=s.useMemo(()=>a.classNames("k-scrollview",{"k-scrollview-light":"light"===w,"k-scrollview-dark":"dark"===w},m),[m,w]),Y=s.Children.map(d||null,(e,t)=>s.createElement("div",{className:"k-scrollview-view","aria-hidden":E!==t+1},e)),A=s.useCallback(()=>{let e;return e=E>1,(k||e)&&V.length>0},[E,V.length,k]),U=s.useCallback(()=>{let e;return e=E<V.length,(k||e)&&V.length>0},[E,V.length,k]);return s.createElement("div",{className:W,style:p,ref:N,tabIndex:0,dir:K,onKeyDown:M},s.createElement("div",{className:"k-scrollview-wrap k-scrollview-animate",ref:R},Y),s.createElement("div",{className:"k-scrollview-elements"},f&&s.createElement(s.Fragment,null,A()&&s.createElement("span",{className:"k-scrollview-prev","aria-label":S.toLanguageString(i,g[i]),role:"button",tabIndex:0,onClick:T,onKeyDown:M},s.createElement(a.IconWrap,{name:O?"chevron-right":"chevron-left",icon:O?n.chevronRightIcon:n.chevronLeftIcon,size:"xxxlarge"})),U()&&s.createElement("span",{className:"k-scrollview-next","aria-label":S.toLanguageString(u,g[u]),role:"button",tabIndex:0,onClick:P,onKeyDown:M},s.createElement(a.IconWrap,{name:O?"chevron-left":"chevron-right",icon:O?n.chevronLeftIcon:n.chevronRightIcon,size:"xxxlarge"}))),h&&s.createElement("div",{className:"k-scrollview-nav-wrap"},s.createElement("div",{className:"k-scrollview-nav"},V.map((e,t)=>s.createElement("span",{className:a.classNames("k-link",{"k-primary":E===t+1}),key:t+1,onClick:()=>I(t+1)}))))),s.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"k-sr-only"}),r&&s.createElement(a.WatermarkOverlay,{message:c}))});m.propTypes={activeView:r.number,arrows:r.bool,automaticViewChange:r.bool,automaticViewChangeInterval:r.number,children:r.any,className:r.string,dir:r.string,endless:r.bool,pageable:r.bool,pageOverlay:r.string,style:r.object};const v={activeView:1,arrows:!0,automaticViewChange:!0,automaticViewChangeInterval:5e3,endless:!1,pageable:!0,pageOverlay:"none"};m.displayName="KendoScrollView",e.ScrollView=m});
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-intl")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-svg-icons","@progress/kendo-react-intl"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactScrollview={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoSvgIcons,e.KendoReactIntl)}(this,function(e,t,r,a,l,n){"use strict";function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var s=o(t);const c=Object.freeze({name:"@progress/kendo-react-scrollview",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"14.5.0-develop.15",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),i="scrollview.previous",u="scrollview.next",g="scrollview.slideAriaRoleDescription",p="scrollview.carouselAriaRoleDescription",v={[i]:"Previous",[u]:"Next",[g]:"slide",[p]:"carousel"},m=s.forwardRef((e,t)=>{const r=!a.validatePackage(c,{component:"ScrollView"}),o=a.getLicenseMessage(c),{className:m,style:w,children:h,pagerOverlay:f=d.pageOverlay,pageable:k=d.pageable,arrows:b=d.arrows,endless:y=d.endless,activeView:C=d.activeView,automaticViewChange:E=d.automaticViewChange,automaticViewChangeInterval:I=d.automaticViewChangeInterval}=e,[N,R]=s.useState(C||1),x=s.useRef(null),V=s.useRef(null),K=s.useRef(null),O=s.Children.toArray(h),S=a.useRtl(x,e.dir),D="rtl"===S,L=s.useId(),j=n.useLocalization(),T=j.toLanguageString(g,v[g]),P=j.toLanguageString(p,v[p]),q=s.useCallback(()=>{x.current&&x.current.focus()},[]),z=s.useCallback(()=>({element:x.current,focus:q}),[q]);s.useImperativeHandle(t,z);const A=s.useRef(null);s.useImperativeHandle(A,z),a.useWebMcpRegister("scrollview",A,e,e.webMcp);const M=s.useCallback(()=>{y?R(N>1?N-1:O.length):N>1&&R(N-1)},[N,O.length,y]),W=s.useCallback(()=>{y?N<O.length?R(N+1):R(1):N<O.length&&R(N+1)},[N,O.length,y]),Y=s.useCallback(e=>{var t,r;const a=e.target;a.classList.contains("k-scrollview-prev")?(M(),!((y||N>2)&&O.length>0)&&(null==(t=x.current)||t.focus())):a.classList.contains("k-scrollview-next")&&(W(),!((y||N<O.length-1)&&O.length>0)&&(null==(r=x.current)||r.focus()))},[N,O.length,y]);function U(){K.current&&clearTimeout(K.current)}s.useEffect(()=>{const e=O.length;V.current&&(V.current.style.setProperty("--kendo-scrollview-views",`${e}`),V.current.style.setProperty("--kendo-scrollview-current",`${N}`))},[O,N,S]),s.useEffect(()=>{if(E)return U(),K.current=setTimeout(()=>R(e=>e===O.length?y?1:e:e+1),I),()=>{U()}},[E,I,O.length,N,y]);const $=s.useCallback(e=>{switch(e.key){case a.KEYS.left:e.preventDefault(),D?W():M();break;case a.KEYS.right:e.preventDefault(),D?M():W();break;case a.KEYS.space:case a.KEYS.enter:e.preventDefault(),Y(e)}},[D,W,M]),H=s.useMemo(()=>a.classNames("k-scrollview",{"k-scrollview-light":"light"===f,"k-scrollview-dark":"dark"===f},m),[m,f]),F=s.Children.map(h||null,(e,t)=>s.createElement("div",{className:"k-scrollview-view",role:"listitem","aria-roledescription":T},e)),B=s.useCallback(()=>{let e;return e=N>1,(y||e)&&O.length>0},[N,O.length,y]),G=s.useCallback(()=>{let e;return e=N<O.length,(y||e)&&O.length>0},[N,O.length,y]);return s.createElement("div",{className:H,style:w,ref:x,tabIndex:0,dir:S,onKeyDown:$,role:"application","aria-roledescription":P},s.createElement("div",{className:"k-scrollview-wrap k-scrollview-animate",ref:V,id:L,role:"list"},F),s.createElement("div",{className:"k-scrollview-elements"},b&&s.createElement(s.Fragment,null,B()&&s.createElement("span",{className:"k-scrollview-prev","aria-label":j.toLanguageString(i,v[i]),role:"button",tabIndex:0,onClick:M,onKeyDown:$,"aria-controls":L},s.createElement(a.IconWrap,{name:D?"chevron-right":"chevron-left",icon:D?l.chevronRightIcon:l.chevronLeftIcon,size:"xxxlarge"})),G()&&s.createElement("span",{className:"k-scrollview-next","aria-label":j.toLanguageString(u,v[u]),role:"button",tabIndex:0,onClick:W,onKeyDown:$,"aria-controls":L},s.createElement(a.IconWrap,{name:D?"chevron-left":"chevron-right",icon:D?l.chevronLeftIcon:l.chevronRightIcon,size:"xxxlarge"}))),k&&s.createElement("div",{className:"k-scrollview-nav-wrap"},s.createElement("div",{className:"k-scrollview-nav"},O.map((e,t)=>s.createElement("span",{className:a.classNames("k-link",{"k-primary":N===t+1}),key:t+1,onClick:()=>R(t+1)}))))),s.createElement("div",{"aria-live":"polite",className:"k-sr-only"}),r&&s.createElement(a.WatermarkOverlay,{message:o}))});m.propTypes={activeView:r.number,arrows:r.bool,automaticViewChange:r.bool,automaticViewChangeInterval:r.number,children:r.any,className:r.string,dir:r.string,endless:r.bool,pageable:r.bool,pageOverlay:r.string,style:r.object};const d={activeView:1,arrows:!0,automaticViewChange:!0,automaticViewChangeInterval:5e3,endless:!1,pageable:!0,pageOverlay:"none"};m.displayName="KendoScrollView",e.ScrollView=m});
package/messages.d.ts CHANGED
@@ -13,10 +13,20 @@ export declare const previous = "scrollview.previous";
13
13
  * @hidden
14
14
  */
15
15
  export declare const next = "scrollview.next";
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare const slideAriaRoleDescription = "scrollview.slideAriaRoleDescription";
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare const carouselAriaRoleDescription = "scrollview.carouselAriaRoleDescription";
16
24
  /**
17
25
  * @hidden
18
26
  */
19
27
  export declare const messages: {
20
28
  "scrollview.previous": string;
21
29
  "scrollview.next": string;
30
+ "scrollview.slideAriaRoleDescription": string;
31
+ "scrollview.carouselAriaRoleDescription": string;
22
32
  };
package/messages.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="scrollview.previous",s="scrollview.next",o={[e]:"Previous",[s]:"Next"};exports.messages=o;exports.next=s;exports.previous=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="scrollview.previous",s="scrollview.next",i="scrollview.slideAriaRoleDescription",o="scrollview.carouselAriaRoleDescription",r={[e]:"Previous",[s]:"Next",[i]:"slide",[o]:"carousel"};exports.carouselAriaRoleDescription=o;exports.messages=r;exports.next=s;exports.previous=e;exports.slideAriaRoleDescription=i;
package/messages.mjs CHANGED
@@ -5,12 +5,16 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- const e = "scrollview.previous", s = "scrollview.next", o = {
8
+ const e = "scrollview.previous", s = "scrollview.next", o = "scrollview.slideAriaRoleDescription", i = "scrollview.carouselAriaRoleDescription", r = {
9
9
  [e]: "Previous",
10
- [s]: "Next"
10
+ [s]: "Next",
11
+ [o]: "slide",
12
+ [i]: "carousel"
11
13
  };
12
14
  export {
13
- o as messages,
15
+ i as carouselAriaRoleDescription,
16
+ r as messages,
14
17
  s as next,
15
- e as previous
18
+ e as previous,
19
+ o as slideAriaRoleDescription
16
20
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-scrollview",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1778745850,version:"14.5.0-develop.14",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-scrollview",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1778773534,version:"14.5.0-develop.15",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
@@ -7,7 +7,7 @@ export const packageMetadata = Object.freeze({
7
7
  productName: 'KendoReact',
8
8
  productCode: 'KENDOUIREACT',
9
9
  productCodes: ['KENDOUIREACT'],
10
- publishDate: 1778745850,
11
- version: '14.5.0-develop.14',
10
+ publishDate: 1778773534,
11
+ version: '14.5.0-develop.15',
12
12
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/components/my-license/'
13
13
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-scrollview",
3
- "version": "14.5.0-develop.14",
3
+ "version": "14.5.0-develop.15",
4
4
  "description": "React ScrollView (React Carousel) displays images or content in a horizontally scrollable collection. KendoReact ScrollView package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -26,8 +26,8 @@
26
26
  "sideEffects": false,
27
27
  "peerDependencies": {
28
28
  "@progress/kendo-licensing": "^1.7.2",
29
- "@progress/kendo-react-common": "14.5.0-develop.14",
30
- "@progress/kendo-react-intl": "14.5.0-develop.14",
29
+ "@progress/kendo-react-common": "14.5.0-develop.15",
30
+ "@progress/kendo-react-intl": "14.5.0-develop.15",
31
31
  "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
32
32
  "react": "^18.0.0 || ^19.0.0",
33
33
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -53,7 +53,7 @@
53
53
  "package": {
54
54
  "productName": "KendoReact",
55
55
  "productCode": "KENDOUIREACT",
56
- "publishDate": 1778745850,
56
+ "publishDate": 1778773534,
57
57
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
58
58
  }
59
59
  },