@progress/kendo-react-listview 8.2.0-develop.31 → 8.2.0-develop.32
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/ListView.js +1 -1
- package/ListView.mjs +55 -43
- package/dist/cdn/js/kendo-react-listview.js +1 -1
- package/index.d.mts +6 -3
- package/index.d.ts +6 -3
- package/package-metadata.mjs +1 -1
- package/package.json +2 -2
package/ListView.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 client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react"),d=require("@progress/kendo-react-common"),I=require("./package-metadata.js");function h(a){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const l in a)if(l!=="default"){const c=Object.getOwnPropertyDescriptor(a,l);Object.defineProperty(r,l,c.get?c:{enumerable:!0,get:()=>a[l]})}}return r.default=a,Object.freeze(r)}const s=h(R),o="k-focus",y=s.forwardRef((a,r)=>{d.validatePackage(I.packageMetadata);const{data:l=[],item:c,footer:f,header:m,className:L,style:C,onScroll:v,navigatable:b}=a,p=s.useRef(null),w=s.useRef(null),g=s.useCallback(()=>({onScroll:v,props:a,context:{},state:{},refs:{}}),[]);s.useImperativeHandle(w,g),s.useImperativeHandle(r,()=>w.current);const S=s.useCallback(e=>d.dispatchEvent(v,e,g(),void 0),[]),k=(e,t,n)=>{n.preventDefault(),t.focusNext(e),t.next(e).classList.add(o),t.previous(e).classList.remove(o)},E=(e,t,n)=>{n.preventDefault(),t.focusPrevious(e),t.next(e).classList.remove(o),t.previous(e).classList.add(o)},i=s.useMemo(()=>new d.Navigation({root:p,selectors:[".k-listview-item"],rovingTabIndex:!0,keyboardEvents:{keydown:{ArrowDown:k,ArrowRight:k,ArrowUp:E,ArrowLeft:E,Home:(e,t,n)=>{n.preventDefault();const u=t.first;u&&t.focusElement(u,e)},End:(e,t,n)=>{n.preventDefault();const u=t.last;u&&t.focusElement(u,e)},Tab:(e,t,n)=>{t.removeFocusClass(e)}}},tabIndex:0,focusClass:o}),[]),D=s.useCallback(i.triggerKeyboardEvent.bind(i),[]),N=s.useCallback(e=>{e.nativeEvent.target.classList.add(o),i.elements.forEach(t=>{t!==e.nativeEvent.target&&t.classList.remove(o)})},[]);return s.useEffect(()=>{if(b)return i.initializeRovingTab(),()=>i.removeFocusListener()},[]),s.createElement("div",{className:d.classNames("k-listview",L),style:C,onKeyDown:e=>b&&D(e),onClick:N},m?s.createElement(m,null):null,s.createElement("div",{role:"list",className:"k-listview-content",onScroll:S,ref:p},c&&l.map((e,t)=>s.createElement(c,{dataItem:e,index:t,key:t}))),f?s.createElement(f,null):null)});y.displayName="KendoReactListView";exports.ListView=y;
|
package/ListView.mjs
CHANGED
|
@@ -6,75 +6,87 @@
|
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
8
|
"use client";
|
|
9
|
-
import * as
|
|
10
|
-
import { validatePackage as
|
|
11
|
-
import { packageMetadata as
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const { data:
|
|
15
|
-
onScroll:
|
|
16
|
-
props:
|
|
9
|
+
import * as s from "react";
|
|
10
|
+
import { validatePackage as N, dispatchEvent as h, Navigation as x, classNames as D } from "@progress/kendo-react-common";
|
|
11
|
+
import { packageMetadata as R } from "./package-metadata.mjs";
|
|
12
|
+
const o = "k-focus", S = s.forwardRef((r, k) => {
|
|
13
|
+
N(R);
|
|
14
|
+
const { data: b = [], item: i, footer: c, header: u, className: L, style: g, onScroll: m, navigatable: d } = r, v = s.useRef(null), f = s.useRef(null), p = s.useCallback(() => ({
|
|
15
|
+
onScroll: m,
|
|
16
|
+
props: r,
|
|
17
17
|
context: {},
|
|
18
18
|
state: {},
|
|
19
19
|
refs: {}
|
|
20
20
|
}), []);
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
(
|
|
21
|
+
s.useImperativeHandle(f, p), s.useImperativeHandle(k, () => f.current);
|
|
22
|
+
const C = s.useCallback(
|
|
23
|
+
(e) => h(m, e, p(), void 0),
|
|
24
24
|
[]
|
|
25
|
-
),
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
}, l =
|
|
30
|
-
() => new
|
|
31
|
-
root:
|
|
25
|
+
), w = (e, t, a) => {
|
|
26
|
+
a.preventDefault(), t.focusNext(e), t.next(e).classList.add(o), t.previous(e).classList.remove(o);
|
|
27
|
+
}, E = (e, t, a) => {
|
|
28
|
+
a.preventDefault(), t.focusPrevious(e), t.next(e).classList.remove(o), t.previous(e).classList.add(o);
|
|
29
|
+
}, l = s.useMemo(
|
|
30
|
+
() => new x({
|
|
31
|
+
root: v,
|
|
32
32
|
selectors: [".k-listview-item"],
|
|
33
|
+
rovingTabIndex: !0,
|
|
33
34
|
keyboardEvents: {
|
|
34
35
|
keydown: {
|
|
35
|
-
ArrowDown:
|
|
36
|
-
ArrowRight:
|
|
37
|
-
ArrowUp:
|
|
38
|
-
ArrowLeft:
|
|
39
|
-
Home: (
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
36
|
+
ArrowDown: w,
|
|
37
|
+
ArrowRight: w,
|
|
38
|
+
ArrowUp: E,
|
|
39
|
+
ArrowLeft: E,
|
|
40
|
+
Home: (e, t, a) => {
|
|
41
|
+
a.preventDefault();
|
|
42
|
+
const n = t.first;
|
|
43
|
+
n && t.focusElement(n, e);
|
|
43
44
|
},
|
|
44
|
-
End: (
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
45
|
+
End: (e, t, a) => {
|
|
46
|
+
a.preventDefault();
|
|
47
|
+
const n = t.last;
|
|
48
|
+
n && t.focusElement(n, e);
|
|
49
|
+
},
|
|
50
|
+
Tab: (e, t, a) => {
|
|
51
|
+
t.removeFocusClass(e);
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
},
|
|
51
55
|
tabIndex: 0,
|
|
52
|
-
focusClass:
|
|
56
|
+
focusClass: o
|
|
53
57
|
}),
|
|
54
58
|
[]
|
|
55
|
-
),
|
|
56
|
-
|
|
59
|
+
), y = s.useCallback(l.triggerKeyboardEvent.bind(l), []), I = s.useCallback((e) => {
|
|
60
|
+
e.nativeEvent.target.classList.add(o), l.elements.forEach((t) => {
|
|
61
|
+
t !== e.nativeEvent.target && t.classList.remove(o);
|
|
62
|
+
});
|
|
63
|
+
}, []);
|
|
64
|
+
return s.useEffect(() => {
|
|
65
|
+
if (d)
|
|
66
|
+
return l.initializeRovingTab(), () => l.removeFocusListener();
|
|
67
|
+
}, []), /* @__PURE__ */ s.createElement(
|
|
57
68
|
"div",
|
|
58
69
|
{
|
|
59
|
-
className:
|
|
70
|
+
className: D("k-listview", L),
|
|
60
71
|
style: g,
|
|
61
|
-
onKeyDown:
|
|
72
|
+
onKeyDown: (e) => d && y(e),
|
|
73
|
+
onClick: I
|
|
62
74
|
},
|
|
63
|
-
|
|
64
|
-
/* @__PURE__ */
|
|
75
|
+
u ? /* @__PURE__ */ s.createElement(u, null) : null,
|
|
76
|
+
/* @__PURE__ */ s.createElement(
|
|
65
77
|
"div",
|
|
66
78
|
{
|
|
67
79
|
role: "list",
|
|
68
80
|
className: "k-listview-content",
|
|
69
|
-
onScroll:
|
|
70
|
-
ref:
|
|
81
|
+
onScroll: C,
|
|
82
|
+
ref: v
|
|
71
83
|
},
|
|
72
|
-
|
|
84
|
+
i && b.map((e, t) => /* @__PURE__ */ s.createElement(i, { dataItem: e, index: t, key: t }))
|
|
73
85
|
),
|
|
74
|
-
c ? /* @__PURE__ */
|
|
86
|
+
c ? /* @__PURE__ */ s.createElement(c, null) : null
|
|
75
87
|
);
|
|
76
88
|
});
|
|
77
|
-
|
|
89
|
+
S.displayName = "KendoReactListView";
|
|
78
90
|
export {
|
|
79
|
-
|
|
91
|
+
S as ListView
|
|
80
92
|
};
|
|
@@ -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
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","react","@progress/kendo-react-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListview={},e.React,e.KendoReactCommon)}(this,(function(e,t,s){"use strict";function
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","react","@progress/kendo-react-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListview={},e.React,e.KendoReactCommon)}(this,(function(e,t,s){"use strict";function a(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var a=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,a.get?a:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var r=a(t);const n={name:"@progress/kendo-react-listview",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},l="k-focus",o=r.forwardRef(((e,t)=>{s.validatePackage(n);const{data:a=[],item:o,footer:i,header:c,className:d,style:u,onScroll:m,navigatable:f}=e,v=r.useRef(null),p=r.useRef(null),w=r.useCallback((()=>({onScroll:m,props:e,context:{},state:{},refs:{}})),[]);r.useImperativeHandle(p,w),r.useImperativeHandle(t,(()=>p.current));const E=r.useCallback((e=>s.dispatchEvent(m,e,w(),void 0)),[]),b=(e,t,s)=>{s.preventDefault(),t.focusNext(e),t.next(e).classList.add(l),t.previous(e).classList.remove(l)},k=(e,t,s)=>{s.preventDefault(),t.focusPrevious(e),t.next(e).classList.remove(l),t.previous(e).classList.add(l)},y=r.useMemo((()=>new s.Navigation({root:v,selectors:[".k-listview-item"],rovingTabIndex:!0,keyboardEvents:{keydown:{ArrowDown:b,ArrowRight:b,ArrowUp:k,ArrowLeft:k,Home:(e,t,s)=>{s.preventDefault();const a=t.first;a&&t.focusElement(a,e)},End:(e,t,s)=>{s.preventDefault();const a=t.last;a&&t.focusElement(a,e)},Tab:(e,t,s)=>{t.removeFocusClass(e)}}},tabIndex:0,focusClass:l})),[]),g=r.useCallback(y.triggerKeyboardEvent.bind(y),[]),N=r.useCallback((e=>{e.nativeEvent.target.classList.add(l),y.elements.forEach((t=>{t!==e.nativeEvent.target&&t.classList.remove(l)}))}),[]);return r.useEffect((()=>{if(f)return y.initializeRovingTab(),()=>y.removeFocusListener()}),[]),r.createElement("div",{className:s.classNames("k-listview",d),style:u,onKeyDown:e=>f&&g(e),onClick:N},c?r.createElement(c,null):null,r.createElement("div",{role:"list",className:"k-listview-content",onScroll:E,ref:v},o&&a.map(((e,t)=>r.createElement(o,{dataItem:e,index:t,key:t})))),i?r.createElement(i,null):null)}));o.displayName="KendoReactListView";e.ListView=o,e.ListViewFooter=e=>r.createElement("div",{className:s.classNames("k-listview-footer",e.className),style:e.style},e.children),e.ListViewHeader=e=>r.createElement("div",{className:s.classNames("k-listview-header",e.className),style:e.style},e.children),e.ListViewItemWrapper=e=>{const{children:t,style:a,className:n}=e;return r.createElement("div",{role:"listitem",style:a,className:s.classNames("k-listview-item",n)},t)}}));
|
package/index.d.mts
CHANGED
|
@@ -33,9 +33,7 @@ export declare interface ListViewFooterProps {
|
|
|
33
33
|
className?: string;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
/**
|
|
37
|
-
* @hidden
|
|
38
|
-
*/
|
|
36
|
+
/** @hidden */
|
|
39
37
|
declare interface ListViewHandle {
|
|
40
38
|
onScroll?: (event: ListViewEvent) => void;
|
|
41
39
|
props: ListViewProps;
|
|
@@ -127,6 +125,11 @@ export declare interface ListViewProps {
|
|
|
127
125
|
* Fires when the ListView has been scrolled.
|
|
128
126
|
*/
|
|
129
127
|
onScroll?: (event: ListViewEvent) => void;
|
|
128
|
+
/**
|
|
129
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the ListView.
|
|
130
|
+
* By default, navigation is disabled.
|
|
131
|
+
*/
|
|
132
|
+
navigatable?: boolean;
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
export { }
|
package/index.d.ts
CHANGED
|
@@ -33,9 +33,7 @@ export declare interface ListViewFooterProps {
|
|
|
33
33
|
className?: string;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
/**
|
|
37
|
-
* @hidden
|
|
38
|
-
*/
|
|
36
|
+
/** @hidden */
|
|
39
37
|
declare interface ListViewHandle {
|
|
40
38
|
onScroll?: (event: ListViewEvent) => void;
|
|
41
39
|
props: ListViewProps;
|
|
@@ -127,6 +125,11 @@ export declare interface ListViewProps {
|
|
|
127
125
|
* Fires when the ListView has been scrolled.
|
|
128
126
|
*/
|
|
129
127
|
onScroll?: (event: ListViewEvent) => void;
|
|
128
|
+
/**
|
|
129
|
+
* If set to `true`, the user can use dedicated shortcuts to interact with the ListView.
|
|
130
|
+
* By default, navigation is disabled.
|
|
131
|
+
*/
|
|
132
|
+
navigatable?: boolean;
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
export { }
|
package/package-metadata.mjs
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
name: "@progress/kendo-react-listview",
|
|
11
11
|
productName: "KendoReact",
|
|
12
12
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
13
|
-
publishDate:
|
|
13
|
+
publishDate: 1722507855,
|
|
14
14
|
version: "",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-listview",
|
|
3
|
-
"version": "8.2.0-develop.
|
|
3
|
+
"version": "8.2.0-develop.32",
|
|
4
4
|
"description": "React ListView enables you to display a custom layout of data items. KendoReact ListView package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@progress/kendo-licensing": "^1.3.4",
|
|
26
|
-
"@progress/kendo-react-common": "8.2.0-develop.
|
|
26
|
+
"@progress/kendo-react-common": "8.2.0-develop.32",
|
|
27
27
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
28
28
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|
|
29
29
|
},
|