@progress/kendo-react-listbox 13.3.0 → 13.4.0-develop.2

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/ListBox.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ListBoxProps } from './interfaces/ListBoxProps.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * The ListBox ref.
12
+ */
13
+ export interface ListBoxHandle {
14
+ /**
15
+ * The current element or `null` if there is no one.
16
+ */
17
+ element: HTMLDivElement | null;
18
+ /**
19
+ * The props value of the ListBox.
20
+ */
21
+ props: ListBoxProps;
22
+ }
23
+ /**
24
+ * The ListBox component.
25
+ */
26
+ export declare const ListBox: React.ForwardRefExoticComponent<ListBoxProps & React.RefAttributes<ListBoxHandle | null>>;
27
+ /** @hidden */
28
+ export type ListBox = ListBoxHandle;
package/ListBox.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"),u=require("prop-types"),a=require("@progress/kendo-react-common"),R=require("./interfaces/Enums.js");function U(n){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const m in n)if(m!=="default"){const y=Object.getOwnPropertyDescriptor(n,m);Object.defineProperty(f,m,y.get?y:{enumerable:!0,get:()=>n[m]})}}return f.default=n,Object.freeze(f)}const s=U(G),k=s.forwardRef((n,f)=>{const{id:m,style:y,data:c,textField:h,className:T,valueField:S,selectedField:D,onDrop:L,onKeyDown:N,onDragStart:C,onDragLeave:v,onDragOver:F,onItemClick:z,onItemSelect:g,onKeyboardNavigate:d,size:b=E.size,draggable:_=E.draggable,toolbarPosition:K=E.toolbarPosition}=n,x=s.useRef(null),O=s.useRef(null),w=s.useRef(null),o=s.useCallback(()=>({element:w.current,props:n}),[]);s.useImperativeHandle(O,o),s.useImperativeHandle(f,()=>O.current);const P=m+"-accessibility-id",I=a.kendoThemeMaps.sizeMap[b]||b,q=t=>{if(D)return!!t[D]},A=t=>h?t[h]:t.toString(),j=t=>{N&&a.dispatchEvent(N,t,o(),void 0)},B=t=>{t.target.classList.contains("k-list-content")&&(n.data.length>0?a.dispatchEvent(n.onDrop,t,o(),{dataItem:n.data[n.data.length-1]}):a.dispatchEvent(n.onDrop,t,o(),{dataItem:null}))},M=()=>K===R.toolbarPosition.NONE||n.toolbar===void 0?`k-listbox-actions-${E.toolbarPosition}`:`k-listbox-actions-${K}`,H=t=>{v&&t.target.classList.contains("k-list-content")&&a.dispatchEvent(v,t,o(),void 0)},p=s.useMemo(()=>new a.Navigation({root:x,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(t,i,e)=>{const r=i.elements.indexOf(t);e.metaKey&&a.dispatchEvent(g,e,o(),{dataItem:c[r]}),a.dispatchEvent(g,e,o(),{dataItem:c[r]})},ArrowDown:(t,i,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(d,e,o(),{actionName:"moveDown"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),i.focusNext(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=i.elements.indexOf(t),l=c[r+1];l&&(a.dispatchEvent(g,e,o(),{dataItem:l}),i.focusNext(t))}},ArrowUp:(t,i,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(d,e,o(),{actionName:"moveUp"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),i.focusPrevious(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=i.elements.indexOf(t),l=c[r-1];l&&(a.dispatchEvent(g,e,o(),{dataItem:l}),i.focusPrevious(t))}},ArrowLeft:(t,i,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(d,e,o(),{actionName:"transferAllFrom"}):e.metaKey&&a.dispatchEvent(d,e,o(),{actionName:"transferFrom"})},ArrowRight:(t,i,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(d,e,o(),{actionName:"transferAllTo"}):e.metaKey&&a.dispatchEvent(d,e,o(),{actionName:"transferTo"})},Backspace:(t,i,e)=>{a.dispatchEvent(d,e,o(),{actionName:"remove"})}}}}),[c]),$=s.useCallback(p.triggerKeyboardEvent.bind(p),[c]);return s.useEffect(()=>(p.initializeRovingTab(),()=>p.removeFocusListener()),[c]),s.createElement("div",{id:m,ref:w,style:y,unselectable:"on",className:a.classNames(T,"k-listbox",{[`k-listbox-${I}`]:b},M())},n.toolbar&&s.createElement(n.toolbar,null),s.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:x,onDragOver:t=>t.preventDefault(),onDrop:B,onDragLeave:H,onKeyDown:$},s.createElement("div",{className:a.classNames("k-list",{[`k-list-${I}`]:b})},s.createElement("div",{className:"k-list-content"},s.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:j},c.map((t,i)=>{const e=q(t),r={className:a.classNames("k-list-item",{"k-selected":e}),role:"option",key:i,id:P+i,"aria-selected":e,"data-uid":P+i,draggable:_,onDragStart:l=>{a.dispatchEvent(C,l,o(),{dataItem:t})},onDragOver:l=>{l.preventDefault(),a.dispatchEvent(F,l,o(),{dataItem:t})},onDrop:l=>{a.dispatchEvent(L,l,o(),{dataItem:t})},onClick:l=>{a.dispatchEvent(z,l,o(),{dataItem:t})}};return n.item?s.createElement(n.item,{selected:e,dataItem:t,...r,key:r.key},s.createElement("span",{className:"k-list-item-text"},t.name)):s.createElement("li",{...r,key:r.key},s.createElement("span",{className:"k-list-item-text"},A(t)))}))))),s.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox"},c.map((t,i)=>{const e=t[S||h];return s.createElement("option",{key:i,value:e},e)})))}),E={toolbarPosition:R.toolbarPosition.RIGHT,draggable:!0,size:"medium"};k.propTypes={size:u.oneOf([null,"small","medium","large"]),toolbarPosition:u.oneOf(["none","top","bottom","left","right"]),textField:u.string.isRequired,valueField:u.string,selectedField:u.string,data:u.array.isRequired};k.displayName="ListBoxInner";exports.ListBox=k;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),u=require("prop-types"),a=require("@progress/kendo-react-common"),R=require("./interfaces/Enums.js");function U(n){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const d in n)if(d!=="default"){const y=Object.getOwnPropertyDescriptor(n,d);Object.defineProperty(f,d,y.get?y:{enumerable:!0,get:()=>n[d]})}}return f.default=n,Object.freeze(f)}const s=U(G),k=s.forwardRef((n,f)=>{const{id:d,style:y,data:c,textField:h,className:T,valueField:S,selectedField:D,onDrop:L,onKeyDown:v,onDragStart:C,onDragLeave:N,onDragOver:F,onItemClick:z,onItemSelect:g,onKeyboardNavigate:m,size:b=E.size,draggable:_=E.draggable,toolbarPosition:K=E.toolbarPosition}=n,x=s.useRef(null),O=s.useRef(null),w=s.useRef(null),o=s.useCallback(()=>({element:w.current,props:n}),[]);s.useImperativeHandle(O,o),s.useImperativeHandle(f,()=>O.current);const P=d+"-accessibility-id",I=a.kendoThemeMaps.sizeMap[b]||b,q=t=>{if(D)return!!t[D]},A=t=>h?t[h]:t.toString(),j=t=>{v&&a.dispatchEvent(v,t,o(),void 0)},B=t=>{t.target.classList.contains("k-list-content")&&(n.data.length>0?a.dispatchEvent(n.onDrop,t,o(),{dataItem:n.data[n.data.length-1]}):a.dispatchEvent(n.onDrop,t,o(),{dataItem:null}))},M=()=>K===R.toolbarPosition.NONE||n.toolbar===void 0?`k-listbox-actions-${E.toolbarPosition}`:`k-listbox-actions-${K}`,H=t=>{N&&t.target.classList.contains("k-list-content")&&a.dispatchEvent(N,t,o(),void 0)},p=s.useMemo(()=>new a.Navigation({root:x,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(t,i,e)=>{const r=i.elements.indexOf(t);e.metaKey&&a.dispatchEvent(g,e,o(),{dataItem:c[r]}),a.dispatchEvent(g,e,o(),{dataItem:c[r]})},ArrowDown:(t,i,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,o(),{actionName:"moveDown"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),i.focusNext(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=i.elements.indexOf(t),l=c[r+1];l&&(a.dispatchEvent(g,e,o(),{dataItem:l}),i.focusNext(t))}},ArrowUp:(t,i,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,o(),{actionName:"moveUp"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),i.focusPrevious(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=i.elements.indexOf(t),l=c[r-1];l&&(a.dispatchEvent(g,e,o(),{dataItem:l}),i.focusPrevious(t))}},ArrowLeft:(t,i,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,o(),{actionName:"transferAllFrom"}):e.metaKey&&a.dispatchEvent(m,e,o(),{actionName:"transferFrom"})},ArrowRight:(t,i,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,o(),{actionName:"transferAllTo"}):e.metaKey&&a.dispatchEvent(m,e,o(),{actionName:"transferTo"})},Backspace:(t,i,e)=>{a.dispatchEvent(m,e,o(),{actionName:"remove"})}}}}),[c]),$=s.useCallback(p.triggerKeyboardEvent.bind(p),[c]);return s.useEffect(()=>(p.initializeRovingTab(),()=>p.removeFocusListener()),[c]),s.createElement("div",{id:d,ref:w,style:y,unselectable:"on",className:a.classNames(T,"k-listbox",{[`k-listbox-${I}`]:b},M())},n.toolbar&&s.createElement(n.toolbar,null),s.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:x,onDragOver:t=>t.preventDefault(),onDrop:B,onDragLeave:H,onKeyDown:$},s.createElement("div",{className:a.classNames("k-list",{[`k-list-${I}`]:b})},s.createElement("div",{className:"k-list-content"},s.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:j},c.map((t,i)=>{const e=q(t),r={className:a.classNames("k-list-item",{"k-selected":e}),role:"option",key:i,id:P+i,"aria-selected":e,"data-uid":P+i,draggable:_,onDragStart:l=>{a.dispatchEvent(C,l,o(),{dataItem:t})},onDragOver:l=>{l.preventDefault(),a.dispatchEvent(F,l,o(),{dataItem:t})},onDrop:l=>{a.dispatchEvent(L,l,o(),{dataItem:t})},onClick:l=>{a.dispatchEvent(z,l,o(),{dataItem:t})}};return n.item?s.createElement(n.item,{selected:e,dataItem:t,...r,key:r.key},s.createElement("span",{className:"k-list-item-text"},t.name)):s.createElement("li",{...r,key:r.key},s.createElement("span",{className:"k-list-item-text"},A(t)))}))))),s.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox"},c.map((t,i)=>{const e=t[S||h];return s.createElement("option",{key:i,value:e},e)})))}),E={toolbarPosition:R.toolbarPosition.RIGHT,draggable:!0,size:void 0};k.propTypes={size:u.oneOf(["small","medium","large"]),toolbarPosition:u.oneOf(["none","top","bottom","left","right"]),textField:u.string.isRequired,valueField:u.string,selectedField:u.string,data:u.array.isRequired};k.displayName="ListBoxInner";exports.ListBox=k;
package/ListBox.mjs CHANGED
@@ -18,11 +18,11 @@ const R = a.forwardRef((n, T) => {
18
18
  className: L,
19
19
  valueField: C,
20
20
  selectedField: K,
21
- onDrop: z,
21
+ onDrop: v,
22
22
  onKeyDown: x,
23
- onDragStart: S,
23
+ onDragStart: z,
24
24
  onDragLeave: N,
25
- onDragOver: v,
25
+ onDragOver: S,
26
26
  onItemClick: A,
27
27
  onItemSelect: d,
28
28
  onKeyboardNavigate: m,
@@ -156,17 +156,17 @@ const R = a.forwardRef((n, T) => {
156
156
  draggable: $,
157
157
  onDragStart: (l) => {
158
158
  s(
159
- S,
159
+ z,
160
160
  l,
161
161
  o(),
162
162
  { dataItem: t }
163
163
  );
164
164
  },
165
165
  onDragOver: (l) => {
166
- l.preventDefault(), s(v, l, o(), { dataItem: t });
166
+ l.preventDefault(), s(S, l, o(), { dataItem: t });
167
167
  },
168
168
  onDrop: (l) => {
169
- s(z, l, o(), { dataItem: t });
169
+ s(v, l, o(), { dataItem: t });
170
170
  },
171
171
  onClick: (l) => {
172
172
  s(A, l, o(), { dataItem: t });
@@ -193,10 +193,10 @@ const R = a.forwardRef((n, T) => {
193
193
  }), g = {
194
194
  toolbarPosition: O.RIGHT,
195
195
  draggable: !0,
196
- size: "medium"
196
+ size: void 0
197
197
  };
198
198
  R.propTypes = {
199
- size: f.oneOf([null, "small", "medium", "large"]),
199
+ size: f.oneOf(["small", "medium", "large"]),
200
200
  toolbarPosition: f.oneOf(["none", "top", "bottom", "left", "right"]),
201
201
  textField: f.string.isRequired,
202
202
  valueField: f.string,
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ListBoxToolbarProps } from './interfaces/ListBoxToolBarProps.js';
9
+ import { ListBoxToolbarEvent } from './interfaces/ListBoxEvents.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * @hidden
13
+ */
14
+ interface ListBoxToolbarHandle {
15
+ onToolClick?: (event: ListBoxToolbarEvent) => void;
16
+ props: ListBoxToolbarProps;
17
+ context: {};
18
+ state: {};
19
+ refs: {};
20
+ }
21
+ export declare const ListBoxToolbar: React.ForwardRefExoticComponent<ListBoxToolbarProps & React.RefAttributes<ListBoxToolbarHandle | null>>;
22
+ /** @hidden */
23
+ export type ListBoxToolbar = ListBoxToolbarHandle;
24
+ export {};
package/ListBoxToolbar.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 P=require("react"),f=require("prop-types"),k=require("@progress/kendo-react-common"),B=require("@progress/kendo-react-buttons"),j=require("@progress/kendo-react-intl"),o=require("@progress/kendo-svg-icons"),U=require("./messages/index.js");function _(l){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const i in l)if(i!=="default"){const b=Object.getOwnPropertyDescriptor(l,i);Object.defineProperty(g,i,b.get?b:{enumerable:!0,get:()=>l[i]})}}return g.default=l,Object.freeze(g)}const r=_(P),D=[{name:"moveUp",iconName:"caret-alt-up",svgIcon:o.caretAltUpIcon},{name:"moveDown",iconName:"caret-alt-down",svgIcon:o.caretAltDownIcon},{name:"transferTo",iconName:"caret-alt-right",svgIcon:o.caretAltRightIcon},{name:"transferFrom",iconName:"caret-alt-left",svgIcon:o.caretAltLeftIcon},{name:"transferAllTo",iconName:"caret-double-alt-right",svgIcon:o.caretDoubleAltRightIcon},{name:"transferAllFrom",iconName:"caret-double-alt-left",svgIcon:o.caretDoubleAltLeftIcon},{name:"remove",iconName:"x",svgIcon:o.xIcon}],p=r.forwardRef((l,g)=>{const{tools:i,dir:b,onToolClick:w,size:L=h.size,data:d=h.data,dataConnected:n=h.dataConnected,selectedField:C=h.selectedField}=l,F=j.useLocalization(),A=r.useRef(null),T=r.useRef(null),x=r.useCallback(()=>({onToolClick:w,props:l,context:{},state:{},refs:{}}),[]);r.useImperativeHandle(T,x),r.useImperativeHandle(g,()=>T.current);const y=(t,e,c)=>{c.preventDefault(),e.focusNext(t)},N=(t,e,c)=>{c.preventDefault(),e.focusPrevious(t)},v=r.useMemo(()=>new k.Navigation({root:A,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:y,ArrowRight:y,ArrowUp:N,ArrowLeft:N,Enter:(t,e,c)=>{t.click(),e.focusElement(e.current,t)}}}}),[]),S=r.useCallback(v.triggerKeyboardEvent.bind(v),[]);r.useEffect(()=>(v.initializeRovingTab(),()=>v.removeFocusListener()),[]);const q=t=>{switch(t.name){case"caret-alt-right":return o.caretAltLeftIcon;case"caret-alt-left":return o.caretAltRightIcon;case"caret-double-alt-right":return o.caretDoubleAltLeftIcon;case"caret-double-alt-left":return o.caretDoubleAltRightIcon}return t},E=t=>{switch(t){case"caret-alt-right":return"caret-alt-left";case"caret-alt-left":return"caret-alt-right";case"caret-double-alt-right":return"caret-double-alt-left";case"caret-double-alt-left":return"caret-double-alt-right"}return t},O=(t,e)=>{k.dispatchEvent(w,t,x(),{toolName:e})},z=t=>{let e=!0;const c=C||"selected",a=d.length,I=n.length,u=d.findIndex(s=>s[c]===!0)>=0,m=n.findIndex(s=>s[c]===!0)>=0;switch(t){case"moveUp":u?e=d.length>0?d[0].selected:!0:m?e=n.length>0?n[0].selected:!0:e=!0;break;case"moveDown":u?e=d[a-1]?d[a-1].selected:!0:m?e=n.length>0?n[I-1].selected:!0:e=!0;break;case"transferTo":e=!(n&&u);break;case"transferFrom":n?e=!(n&&m):e=!0;break;case"transferAllTo":e=!(n&&d.length>0);break;case"transferAllFrom":e=!(n&&n.length>0);break;case"remove":e=!(u||m);break}return e},R=b==="rtl";return r.createElement("div",{className:k.classNames("k-listbox-actions"),ref:A,onKeyDown:S},i&&i.map((t,e)=>{const c=D.findIndex(s=>s.name===t),a=D[c],I=z(a.name),u=`listbox.${a.name}`,m=F.toLanguageString(u,U.messages[u]);return r.createElement(B.Button,{size:L,key:e,disabled:I,"data-command":a.name,title:m,"aria-label":m,icon:R?E(a.iconName):a.iconName,svgIcon:R?q(a.svgIcon):a.svgIcon,onClick:s=>{s.preventDefault(),O(s,a.name)}})}))}),h={data:[],dataConnected:[],selectedField:"selected",size:"medium"};p.propTypes={data:f.array.isRequired,dataConnected:f.array.isRequired,tools:f.array,selectedField:f.string,dir:f.string,size:f.oneOf([null,"small","medium","large"])};p.displayName="ListBoxToolbarInner";exports.ListBoxToolbar=p;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),f=require("prop-types"),k=require("@progress/kendo-react-common"),B=require("@progress/kendo-react-buttons"),j=require("@progress/kendo-react-intl"),o=require("@progress/kendo-svg-icons"),U=require("./messages/index.js");function _(l){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const i in l)if(i!=="default"){const b=Object.getOwnPropertyDescriptor(l,i);Object.defineProperty(g,i,b.get?b:{enumerable:!0,get:()=>l[i]})}}return g.default=l,Object.freeze(g)}const r=_(P),D=[{name:"moveUp",iconName:"caret-alt-up",svgIcon:o.caretAltUpIcon},{name:"moveDown",iconName:"caret-alt-down",svgIcon:o.caretAltDownIcon},{name:"transferTo",iconName:"caret-alt-right",svgIcon:o.caretAltRightIcon},{name:"transferFrom",iconName:"caret-alt-left",svgIcon:o.caretAltLeftIcon},{name:"transferAllTo",iconName:"caret-double-alt-right",svgIcon:o.caretDoubleAltRightIcon},{name:"transferAllFrom",iconName:"caret-double-alt-left",svgIcon:o.caretDoubleAltLeftIcon},{name:"remove",iconName:"x",svgIcon:o.xIcon}],p=r.forwardRef((l,g)=>{const{tools:i,dir:b,onToolClick:w,size:L=h.size,data:d=h.data,dataConnected:n=h.dataConnected,selectedField:C=h.selectedField}=l,F=j.useLocalization(),A=r.useRef(null),T=r.useRef(null),x=r.useCallback(()=>({onToolClick:w,props:l,context:{},state:{},refs:{}}),[]);r.useImperativeHandle(T,x),r.useImperativeHandle(g,()=>T.current);const y=(t,e,c)=>{c.preventDefault(),e.focusNext(t)},N=(t,e,c)=>{c.preventDefault(),e.focusPrevious(t)},v=r.useMemo(()=>new k.Navigation({root:A,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:y,ArrowRight:y,ArrowUp:N,ArrowLeft:N,Enter:(t,e,c)=>{t.click(),e.focusElement(e.current,t)}}}}),[]),S=r.useCallback(v.triggerKeyboardEvent.bind(v),[]);r.useEffect(()=>(v.initializeRovingTab(),()=>v.removeFocusListener()),[]);const q=t=>{switch(t.name){case"caret-alt-right":return o.caretAltLeftIcon;case"caret-alt-left":return o.caretAltRightIcon;case"caret-double-alt-right":return o.caretDoubleAltLeftIcon;case"caret-double-alt-left":return o.caretDoubleAltRightIcon}return t},E=t=>{switch(t){case"caret-alt-right":return"caret-alt-left";case"caret-alt-left":return"caret-alt-right";case"caret-double-alt-right":return"caret-double-alt-left";case"caret-double-alt-left":return"caret-double-alt-right"}return t},O=(t,e)=>{k.dispatchEvent(w,t,x(),{toolName:e})},z=t=>{let e=!0;const c=C||"selected",a=d.length,I=n.length,u=d.findIndex(s=>s[c]===!0)>=0,m=n.findIndex(s=>s[c]===!0)>=0;switch(t){case"moveUp":u?e=d.length>0?d[0].selected:!0:m?e=n.length>0?n[0].selected:!0:e=!0;break;case"moveDown":u?e=d[a-1]?d[a-1].selected:!0:m?e=n.length>0?n[I-1].selected:!0:e=!0;break;case"transferTo":e=!(n&&u);break;case"transferFrom":n?e=!(n&&m):e=!0;break;case"transferAllTo":e=!(n&&d.length>0);break;case"transferAllFrom":e=!(n&&n.length>0);break;case"remove":e=!(u||m);break}return e},R=b==="rtl";return r.createElement("div",{className:k.classNames("k-listbox-actions"),ref:A,onKeyDown:S},i&&i.map((t,e)=>{const c=D.findIndex(s=>s.name===t),a=D[c],I=z(a.name),u=`listbox.${a.name}`,m=F.toLanguageString(u,U.messages[u]);return r.createElement(B.Button,{size:L,key:e,disabled:I,"data-command":a.name,title:m,"aria-label":m,icon:R?E(a.iconName):a.iconName,svgIcon:R?q(a.svgIcon):a.svgIcon,onClick:s=>{s.preventDefault(),O(s,a.name)}})}))}),h={data:[],dataConnected:[],selectedField:"selected",size:void 0};p.propTypes={data:f.array.isRequired,dataConnected:f.array.isRequired,tools:f.array,selectedField:f.string,dir:f.string,size:f.oneOf(["small","medium","large"])};p.displayName="ListBoxToolbarInner";exports.ListBoxToolbar=p;
@@ -26,7 +26,7 @@ const N = [
26
26
  dir: R,
27
27
  onToolClick: v,
28
28
  size: C = u.size,
29
- data: l = u.data,
29
+ data: s = u.data,
30
30
  dataConnected: a = u.dataConnected,
31
31
  selectedField: E = u.selectedField
32
32
  } = g, z = _(), h = n.useRef(null), p = n.useRef(null), I = n.useCallback(
@@ -95,34 +95,34 @@ const N = [
95
95
  O(v, t, I(), { toolName: e });
96
96
  }, H = (t) => {
97
97
  let e = !0;
98
- const o = E || "selected", r = l.length, f = a.length, s = l.findIndex((c) => c[o] === !0) >= 0, i = a.findIndex((c) => c[o] === !0) >= 0;
98
+ const o = E || "selected", r = s.length, f = a.length, l = s.findIndex((c) => c[o] === !0) >= 0, i = a.findIndex((c) => c[o] === !0) >= 0;
99
99
  switch (t) {
100
100
  case "moveUp":
101
- s ? e = l.length > 0 ? l[0].selected : !0 : i ? e = a.length > 0 ? a[0].selected : !0 : e = !0;
101
+ l ? e = s.length > 0 ? s[0].selected : !0 : i ? e = a.length > 0 ? a[0].selected : !0 : e = !0;
102
102
  break;
103
103
  case "moveDown":
104
- s ? e = l[r - 1] ? l[r - 1].selected : !0 : i ? e = a.length > 0 ? a[f - 1].selected : !0 : e = !0;
104
+ l ? e = s[r - 1] ? s[r - 1].selected : !0 : i ? e = a.length > 0 ? a[f - 1].selected : !0 : e = !0;
105
105
  break;
106
106
  case "transferTo":
107
- e = !(a && s);
107
+ e = !(a && l);
108
108
  break;
109
109
  case "transferFrom":
110
110
  a ? e = !(a && i) : e = !0;
111
111
  break;
112
112
  case "transferAllTo":
113
- e = !(a && l.length > 0);
113
+ e = !(a && s.length > 0);
114
114
  break;
115
115
  case "transferAllFrom":
116
116
  e = !(a && a.length > 0);
117
117
  break;
118
118
  case "remove":
119
- e = !(s || i);
119
+ e = !(l || i);
120
120
  break;
121
121
  }
122
122
  return e;
123
123
  }, x = R === "rtl";
124
124
  return /* @__PURE__ */ n.createElement("div", { className: q("k-listbox-actions"), ref: h, onKeyDown: S }, b && b.map((t, e) => {
125
- const o = N.findIndex((c) => c.name === t), r = N[o], f = H(r.name), s = `listbox.${r.name}`, i = z.toLanguageString(s, J[s]);
125
+ const o = N.findIndex((c) => c.name === t), r = N[o], f = H(r.name), l = `listbox.${r.name}`, i = z.toLanguageString(l, J[l]);
126
126
  return /* @__PURE__ */ n.createElement(
127
127
  M,
128
128
  {
@@ -144,7 +144,7 @@ const N = [
144
144
  data: [],
145
145
  dataConnected: [],
146
146
  selectedField: "selected",
147
- size: "medium"
147
+ size: void 0
148
148
  };
149
149
  F.propTypes = {
150
150
  data: d.array.isRequired,
@@ -152,7 +152,7 @@ F.propTypes = {
152
152
  tools: d.array,
153
153
  selectedField: d.string,
154
154
  dir: d.string,
155
- size: d.oneOf([null, "small", "medium", "large"])
155
+ size: d.oneOf(["small", "medium", "large"])
156
156
  };
157
157
  F.displayName = "ListBoxToolbarInner";
158
158
  export {
@@ -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-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListbox={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactButtons,e.KendoReactIntl,e.KendoSvgIcons)}(this,(function(e,t,a,o,n,r,s){"use strict";function l(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var i=l(t),c=(e=>(e.TOP="top",e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e.NONE="none",e))(c||{});const d=i.forwardRef(((e,t)=>{const{id:a,style:n,data:r,textField:s,className:l,valueField:d,selectedField:u,onDrop:f,onKeyDown:p,onDragStart:v,onDragLeave:b,onDragOver:g,onItemClick:x,onItemSelect:h,onKeyboardNavigate:D,size:k=m.size,draggable:y=m.draggable,toolbarPosition:I=m.toolbarPosition}=e,E=i.useRef(null),w=i.useRef(null),T=i.useRef(null),N=i.useCallback((()=>({element:T.current,props:e})),[]);i.useImperativeHandle(w,N),i.useImperativeHandle(t,(()=>w.current));const B=a+"-accessibility-id",O=o.kendoThemeMaps.sizeMap[k]||k,K=i.useMemo((()=>new o.Navigation({root:E,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(e,t,a)=>{const n=t.elements.indexOf(e);a.metaKey&&o.dispatchEvent(h,a,N(),{dataItem:r[n]}),o.dispatchEvent(h,a,N(),{dataItem:r[n]})},ArrowDown:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(D,a,N(),{actionName:"moveDown"});else if(a.metaKey&&!a.shiftKey)a.preventDefault(),t.focusNext(e);else if(!a.shiftKey||a.metaKey){a.preventDefault();const n=t.elements.indexOf(e),s=r[n+1];s&&(o.dispatchEvent(h,a,N(),{dataItem:s}),t.focusNext(e))}},ArrowUp:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(D,a,N(),{actionName:"moveUp"});else if(a.metaKey&&!a.shiftKey)a.preventDefault(),t.focusPrevious(e);else if(!a.shiftKey||a.metaKey){a.preventDefault();const n=t.elements.indexOf(e),s=r[n-1];s&&(o.dispatchEvent(h,a,N(),{dataItem:s}),t.focusPrevious(e))}},ArrowLeft:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(D,a,N(),{actionName:"transferAllFrom"}):a.metaKey&&o.dispatchEvent(D,a,N(),{actionName:"transferFrom"})},ArrowRight:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(D,a,N(),{actionName:"transferAllTo"}):a.metaKey&&o.dispatchEvent(D,a,N(),{actionName:"transferTo"})},Backspace:(e,t,a)=>{o.dispatchEvent(D,a,N(),{actionName:"remove"})}}}})),[r]),A=i.useCallback(K.triggerKeyboardEvent.bind(K),[r]);return i.useEffect((()=>(K.initializeRovingTab(),()=>K.removeFocusListener())),[r]),i.createElement("div",{id:a,ref:T,style:n,unselectable:"on",className:o.classNames(l,"k-listbox",{[`k-listbox-${O}`]:k},I===c.NONE||void 0===e.toolbar?`k-listbox-actions-${m.toolbarPosition}`:`k-listbox-actions-${I}`)},e.toolbar&&i.createElement(e.toolbar,null),i.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:E,onDragOver:e=>e.preventDefault(),onDrop:t=>{t.target.classList.contains("k-list-content")&&(e.data.length>0?o.dispatchEvent(e.onDrop,t,N(),{dataItem:e.data[e.data.length-1]}):o.dispatchEvent(e.onDrop,t,N(),{dataItem:null}))},onDragLeave:e=>{b&&e.target.classList.contains("k-list-content")&&o.dispatchEvent(b,e,N(),void 0)},onKeyDown:A},i.createElement("div",{className:o.classNames("k-list",{[`k-list-${O}`]:k})},i.createElement("div",{className:"k-list-content"},i.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:e=>{p&&o.dispatchEvent(p,e,N(),void 0)}},r.map(((t,a)=>{const n=(e=>{if(u)return!!e[u]})(t),r={className:o.classNames("k-list-item",{"k-selected":n}),role:"option",key:a,id:B+a,"aria-selected":n,"data-uid":B+a,draggable:y,onDragStart:e=>{o.dispatchEvent(v,e,N(),{dataItem:t})},onDragOver:e=>{e.preventDefault(),o.dispatchEvent(g,e,N(),{dataItem:t})},onDrop:e=>{o.dispatchEvent(f,e,N(),{dataItem:t})},onClick:e=>{o.dispatchEvent(x,e,N(),{dataItem:t})}};return e.item?i.createElement(e.item,{selected:n,dataItem:t,...r,key:r.key},i.createElement("span",{className:"k-list-item-text"},t.name)):i.createElement("li",{...r,key:r.key},i.createElement("span",{className:"k-list-item-text"},(e=>s?e[s]:e.toString())(t)))})))))),i.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox"},r.map(((e,t)=>{const a=e[d||s];return i.createElement("option",{key:t,value:a},a)}))))})),m={toolbarPosition:c.RIGHT,draggable:!0,size:"medium"};d.propTypes={size:a.oneOf([null,"small","medium","large"]),toolbarPosition:a.oneOf(["none","top","bottom","left","right"]),textField:a.string.isRequired,valueField:a.string,selectedField:a.string,data:a.array.isRequired},d.displayName="ListBoxInner";const u={"listbox.moveUp":"Move Up","listbox.moveDown":"Move Down","listbox.transferTo":"Transfer To","listbox.transferFrom":"Transfer From","listbox.transferAllTo":"Transfer All To","listbox.transferAllFrom":"Transfer All From","listbox.remove":"Delete"},f=[{name:"moveUp",iconName:"caret-alt-up",svgIcon:s.caretAltUpIcon},{name:"moveDown",iconName:"caret-alt-down",svgIcon:s.caretAltDownIcon},{name:"transferTo",iconName:"caret-alt-right",svgIcon:s.caretAltRightIcon},{name:"transferFrom",iconName:"caret-alt-left",svgIcon:s.caretAltLeftIcon},{name:"transferAllTo",iconName:"caret-double-alt-right",svgIcon:s.caretDoubleAltRightIcon},{name:"transferAllFrom",iconName:"caret-double-alt-left",svgIcon:s.caretDoubleAltLeftIcon},{name:"remove",iconName:"x",svgIcon:s.xIcon}],p=i.forwardRef(((e,t)=>{const{tools:a,dir:l,onToolClick:c,size:d=v.size,data:m=v.data,dataConnected:p=v.dataConnected,selectedField:b=v.selectedField}=e,g=r.useLocalization(),x=i.useRef(null),h=i.useRef(null),D=i.useCallback((()=>({onToolClick:c,props:e,context:{},state:{},refs:{}})),[]);i.useImperativeHandle(h,D),i.useImperativeHandle(t,(()=>h.current));const k=(e,t,a)=>{a.preventDefault(),t.focusNext(e)},y=(e,t,a)=>{a.preventDefault(),t.focusPrevious(e)},I=i.useMemo((()=>new o.Navigation({root:x,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:k,ArrowRight:k,ArrowUp:y,ArrowLeft:y,Enter:(e,t,a)=>{e.click(),t.focusElement(t.current,e)}}}})),[]),E=i.useCallback(I.triggerKeyboardEvent.bind(I),[]);i.useEffect((()=>(I.initializeRovingTab(),()=>I.removeFocusListener())),[]);const w=e=>{switch(e.name){case"caret-alt-right":return s.caretAltLeftIcon;case"caret-alt-left":return s.caretAltRightIcon;case"caret-double-alt-right":return s.caretDoubleAltLeftIcon;case"caret-double-alt-left":return s.caretDoubleAltRightIcon}return e},T=e=>{switch(e){case"caret-alt-right":return"caret-alt-left";case"caret-alt-left":return"caret-alt-right";case"caret-double-alt-right":return"caret-double-alt-left";case"caret-double-alt-left":return"caret-double-alt-right"}return e},N="rtl"===l;return i.createElement("div",{className:o.classNames("k-listbox-actions"),ref:x,onKeyDown:E},a&&a.map(((e,t)=>{const a=f.findIndex((t=>t.name===e)),r=f[a],s=(e=>{let t=!0;const a=b||"selected",o=m.length,n=p.length,r=m.findIndex((e=>!0===e[a]))>=0,s=p.findIndex((e=>!0===e[a]))>=0;switch(e){case"moveUp":t=r?!(m.length>0)||m[0].selected:!s||!(p.length>0)||p[0].selected;break;case"moveDown":t=r?!m[o-1]||m[o-1].selected:!s||!(p.length>0)||p[n-1].selected;break;case"transferTo":t=!(p&&r);break;case"transferFrom":t=!p||!(p&&s);break;case"transferAllTo":t=!(p&&m.length>0);break;case"transferAllFrom":t=!(p&&p.length>0);break;case"remove":t=!(r||s)}return t})(r.name),l=`listbox.${r.name}`,v=g.toLanguageString(l,u[l]);return i.createElement(n.Button,{size:d,key:t,disabled:s,"data-command":r.name,title:v,"aria-label":v,icon:N?T(r.iconName):r.iconName,svgIcon:N?w(r.svgIcon):r.svgIcon,onClick:e=>{e.preventDefault(),((e,t)=>{o.dispatchEvent(c,e,D(),{toolName:t})})(e,r.name)}})})))})),v={data:[],dataConnected:[],selectedField:"selected",size:"medium"};p.propTypes={data:a.array.isRequired,dataConnected:a.array.isRequired,tools:a.array,selectedField:a.string,dir:a.string,size:a.oneOf([null,"small","medium","large"])},p.displayName="ListBoxToolbarInner";const b=(e,t,a)=>{const o=a.splice(e,1)[0];return a.splice(t,0,o),a},g=o.withIdHOC(d);g.displayName="KendoReactListBox",e.ListBox=g,e.ListBoxToolbar=p,e.moveItem=b,e.processListBoxData=(e=[],t=[],a,o)=>{let n=[],r=[],s=[];const l={listBoxOneData:e,listBoxTwoData:t};switch(a){case"moveUp":n=[...e],n.forEach(((e,t)=>{e[o]&&(n=b(t,t-1,n))})),s=[...t],s.forEach(((e,t)=>{e[o]&&(s=b(t,t-1,s))})),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"moveDown":n=e.reverse(),n.forEach(((e,t)=>{e[o]&&(n=b(t,t-1,n))})),s=t.reverse(),s.forEach(((e,t)=>{e[o]&&(s=b(t,t-1,s))})),l.listBoxOneData=[...n].reverse(),l.listBoxTwoData=[...s].reverse();break;case"transferTo":n=e.filter((e=>!e[o])),r=e.filter((e=>e[o])),s=t.concat(r),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"transferFrom":s=t.filter((e=>!e[o])),r=t.filter((e=>e[o])),n=e.concat(r),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"transferAllTo":l.listBoxOneData=[],l.listBoxTwoData=t.concat(e);break;case"transferAllFrom":l.listBoxOneData=t.concat(e),l.listBoxTwoData=[];break;case"remove":s=t.filter((e=>!e[o])),n=e.filter((e=>!e[o])),l.listBoxOneData=n,l.listBoxTwoData=s}return l},e.processListBoxDragAndDrop=(e=[],t=[],a,o,n)=>{const r=e.findIndex((e=>e[n]===a[n])),s=t.findIndex((e=>e[n]===a[n])),l=null!==o?e.findIndex((e=>e[n]===o[n])):-1,i=null!==o?t.findIndex((e=>e[n]===o[n])):-1,c=r>=0,d=s>=0,m=l>=0,u=i>=0,f=[...e],p=[...t];return c&&m?{listBoxOneData:b(r,l,e),listBoxTwoData:t}:d&&u?{listBoxOneData:e,listBoxTwoData:b(s,i,t)}:c&&(u||null===o)?(null===o?p.push(e[r]):p.splice(i+1,0,e[r]),f.splice(r,1),{listBoxOneData:f,listBoxTwoData:p}):d&&(m||null===o)?(null===o?f.push(t[s]):f.splice(l+1,0,t[s]),p.splice(s,1),{listBoxOneData:f,listBoxTwoData:p}):{listBoxOneData:e,listBoxTwoData:t}}}));
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-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListbox={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactButtons,e.KendoReactIntl,e.KendoSvgIcons)}(this,function(e,t,a,o,n,r,s){"use strict";function l(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if("default"!==a){var o=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,o.get?o:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var i=l(t),c=(e=>(e.TOP="top",e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e.NONE="none",e))(c||{});const d=i.forwardRef((e,t)=>{const{id:a,style:n,data:r,textField:s,className:l,valueField:d,selectedField:f,onDrop:u,onKeyDown:p,onDragStart:v,onDragLeave:b,onDragOver:g,onItemClick:x,onItemSelect:h,onKeyboardNavigate:D,size:k=m.size,draggable:y=m.draggable,toolbarPosition:I=m.toolbarPosition}=e,E=i.useRef(null),w=i.useRef(null),T=i.useRef(null),N=i.useCallback(()=>({element:T.current,props:e}),[]);i.useImperativeHandle(w,N),i.useImperativeHandle(t,()=>w.current);const B=a+"-accessibility-id",O=o.kendoThemeMaps.sizeMap[k]||k,K=i.useMemo(()=>new o.Navigation({root:E,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(e,t,a)=>{const n=t.elements.indexOf(e);a.metaKey&&o.dispatchEvent(h,a,N(),{dataItem:r[n]}),o.dispatchEvent(h,a,N(),{dataItem:r[n]})},ArrowDown:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(D,a,N(),{actionName:"moveDown"});else if(a.metaKey&&!a.shiftKey)a.preventDefault(),t.focusNext(e);else if(!a.shiftKey||a.metaKey){a.preventDefault();const n=t.elements.indexOf(e),s=r[n+1];s&&(o.dispatchEvent(h,a,N(),{dataItem:s}),t.focusNext(e))}},ArrowUp:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(D,a,N(),{actionName:"moveUp"});else if(a.metaKey&&!a.shiftKey)a.preventDefault(),t.focusPrevious(e);else if(!a.shiftKey||a.metaKey){a.preventDefault();const n=t.elements.indexOf(e),s=r[n-1];s&&(o.dispatchEvent(h,a,N(),{dataItem:s}),t.focusPrevious(e))}},ArrowLeft:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(D,a,N(),{actionName:"transferAllFrom"}):a.metaKey&&o.dispatchEvent(D,a,N(),{actionName:"transferFrom"})},ArrowRight:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(D,a,N(),{actionName:"transferAllTo"}):a.metaKey&&o.dispatchEvent(D,a,N(),{actionName:"transferTo"})},Backspace:(e,t,a)=>{o.dispatchEvent(D,a,N(),{actionName:"remove"})}}}}),[r]),A=i.useCallback(K.triggerKeyboardEvent.bind(K),[r]);return i.useEffect(()=>(K.initializeRovingTab(),()=>K.removeFocusListener()),[r]),i.createElement("div",{id:a,ref:T,style:n,unselectable:"on",className:o.classNames(l,"k-listbox",{[`k-listbox-${O}`]:k},I===c.NONE||void 0===e.toolbar?`k-listbox-actions-${m.toolbarPosition}`:`k-listbox-actions-${I}`)},e.toolbar&&i.createElement(e.toolbar,null),i.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:E,onDragOver:e=>e.preventDefault(),onDrop:t=>{t.target.classList.contains("k-list-content")&&(e.data.length>0?o.dispatchEvent(e.onDrop,t,N(),{dataItem:e.data[e.data.length-1]}):o.dispatchEvent(e.onDrop,t,N(),{dataItem:null}))},onDragLeave:e=>{b&&e.target.classList.contains("k-list-content")&&o.dispatchEvent(b,e,N(),void 0)},onKeyDown:A},i.createElement("div",{className:o.classNames("k-list",{[`k-list-${O}`]:k})},i.createElement("div",{className:"k-list-content"},i.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:e=>{p&&o.dispatchEvent(p,e,N(),void 0)}},r.map((t,a)=>{const n=(e=>{if(f)return!!e[f]})(t),r={className:o.classNames("k-list-item",{"k-selected":n}),role:"option",key:a,id:B+a,"aria-selected":n,"data-uid":B+a,draggable:y,onDragStart:e=>{o.dispatchEvent(v,e,N(),{dataItem:t})},onDragOver:e=>{e.preventDefault(),o.dispatchEvent(g,e,N(),{dataItem:t})},onDrop:e=>{o.dispatchEvent(u,e,N(),{dataItem:t})},onClick:e=>{o.dispatchEvent(x,e,N(),{dataItem:t})}};return e.item?i.createElement(e.item,{selected:n,dataItem:t,...r,key:r.key},i.createElement("span",{className:"k-list-item-text"},t.name)):i.createElement("li",{...r,key:r.key},i.createElement("span",{className:"k-list-item-text"},(e=>s?e[s]:e.toString())(t)))}))))),i.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox"},r.map((e,t)=>{const a=e[d||s];return i.createElement("option",{key:t,value:a},a)})))}),m={toolbarPosition:c.RIGHT,draggable:!0,size:void 0};d.propTypes={size:a.oneOf(["small","medium","large"]),toolbarPosition:a.oneOf(["none","top","bottom","left","right"]),textField:a.string.isRequired,valueField:a.string,selectedField:a.string,data:a.array.isRequired},d.displayName="ListBoxInner";const f="listbox.moveUp",u="listbox.moveDown",p="listbox.transferTo",v="listbox.transferFrom",b="listbox.transferAllTo",g="listbox.transferAllFrom",x="listbox.remove",h={[f]:"Move Up",[u]:"Move Down",[p]:"Transfer To",[v]:"Transfer From",[b]:"Transfer All To",[g]:"Transfer All From",[x]:"Delete"},D=[{name:"moveUp",iconName:"caret-alt-up",svgIcon:s.caretAltUpIcon},{name:"moveDown",iconName:"caret-alt-down",svgIcon:s.caretAltDownIcon},{name:"transferTo",iconName:"caret-alt-right",svgIcon:s.caretAltRightIcon},{name:"transferFrom",iconName:"caret-alt-left",svgIcon:s.caretAltLeftIcon},{name:"transferAllTo",iconName:"caret-double-alt-right",svgIcon:s.caretDoubleAltRightIcon},{name:"transferAllFrom",iconName:"caret-double-alt-left",svgIcon:s.caretDoubleAltLeftIcon},{name:"remove",iconName:"x",svgIcon:s.xIcon}],k=i.forwardRef((e,t)=>{const{tools:a,dir:l,onToolClick:c,size:d=y.size,data:m=y.data,dataConnected:f=y.dataConnected,selectedField:u=y.selectedField}=e,p=r.useLocalization(),v=i.useRef(null),b=i.useRef(null),g=i.useCallback(()=>({onToolClick:c,props:e,context:{},state:{},refs:{}}),[]);i.useImperativeHandle(b,g),i.useImperativeHandle(t,()=>b.current);const x=(e,t,a)=>{a.preventDefault(),t.focusNext(e)},k=(e,t,a)=>{a.preventDefault(),t.focusPrevious(e)},I=i.useMemo(()=>new o.Navigation({root:v,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:x,ArrowRight:x,ArrowUp:k,ArrowLeft:k,Enter:(e,t,a)=>{e.click(),t.focusElement(t.current,e)}}}}),[]),E=i.useCallback(I.triggerKeyboardEvent.bind(I),[]);i.useEffect(()=>(I.initializeRovingTab(),()=>I.removeFocusListener()),[]);const w=e=>{switch(e.name){case"caret-alt-right":return s.caretAltLeftIcon;case"caret-alt-left":return s.caretAltRightIcon;case"caret-double-alt-right":return s.caretDoubleAltLeftIcon;case"caret-double-alt-left":return s.caretDoubleAltRightIcon}return e},T=e=>{switch(e){case"caret-alt-right":return"caret-alt-left";case"caret-alt-left":return"caret-alt-right";case"caret-double-alt-right":return"caret-double-alt-left";case"caret-double-alt-left":return"caret-double-alt-right"}return e},N="rtl"===l;return i.createElement("div",{className:o.classNames("k-listbox-actions"),ref:v,onKeyDown:E},a&&a.map((e,t)=>{const a=D.findIndex(t=>t.name===e),r=D[a],s=(e=>{let t=!0;const a=u||"selected",o=m.length,n=f.length,r=m.findIndex(e=>!0===e[a])>=0,s=f.findIndex(e=>!0===e[a])>=0;switch(e){case"moveUp":t=r?!(m.length>0)||m[0].selected:!s||!(f.length>0)||f[0].selected;break;case"moveDown":t=r?!m[o-1]||m[o-1].selected:!s||!(f.length>0)||f[n-1].selected;break;case"transferTo":t=!(f&&r);break;case"transferFrom":t=!f||!(f&&s);break;case"transferAllTo":t=!(f&&m.length>0);break;case"transferAllFrom":t=!(f&&f.length>0);break;case"remove":t=!(r||s)}return t})(r.name),l=`listbox.${r.name}`,v=p.toLanguageString(l,h[l]);return i.createElement(n.Button,{size:d,key:t,disabled:s,"data-command":r.name,title:v,"aria-label":v,icon:N?T(r.iconName):r.iconName,svgIcon:N?w(r.svgIcon):r.svgIcon,onClick:e=>{e.preventDefault(),((e,t)=>{o.dispatchEvent(c,e,g(),{toolName:t})})(e,r.name)}})}))}),y={data:[],dataConnected:[],selectedField:"selected",size:void 0};k.propTypes={data:a.array.isRequired,dataConnected:a.array.isRequired,tools:a.array,selectedField:a.string,dir:a.string,size:a.oneOf(["small","medium","large"])},k.displayName="ListBoxToolbarInner";const I=(e,t,a)=>{const o=a.splice(e,1)[0];return a.splice(t,0,o),a},E=o.withIdHOC(d);E.displayName="KendoReactListBox",e.ListBox=E,e.ListBoxToolbar=k,e.moveItem=I,e.processListBoxData=(e=[],t=[],a,o)=>{let n=[],r=[],s=[];const l={listBoxOneData:e,listBoxTwoData:t};switch(a){case"moveUp":n=[...e],n.forEach((e,t)=>{e[o]&&(n=I(t,t-1,n))}),s=[...t],s.forEach((e,t)=>{e[o]&&(s=I(t,t-1,s))}),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"moveDown":n=e.reverse(),n.forEach((e,t)=>{e[o]&&(n=I(t,t-1,n))}),s=t.reverse(),s.forEach((e,t)=>{e[o]&&(s=I(t,t-1,s))}),l.listBoxOneData=[...n].reverse(),l.listBoxTwoData=[...s].reverse();break;case"transferTo":n=e.filter(e=>!e[o]),r=e.filter(e=>e[o]),s=t.concat(r),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"transferFrom":s=t.filter(e=>!e[o]),r=t.filter(e=>e[o]),n=e.concat(r),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"transferAllTo":l.listBoxOneData=[],l.listBoxTwoData=t.concat(e);break;case"transferAllFrom":l.listBoxOneData=t.concat(e),l.listBoxTwoData=[];break;case"remove":s=t.filter(e=>!e[o]),n=e.filter(e=>!e[o]),l.listBoxOneData=n,l.listBoxTwoData=s}return l},e.processListBoxDragAndDrop=(e=[],t=[],a,o,n)=>{const r=e.findIndex(e=>e[n]===a[n]),s=t.findIndex(e=>e[n]===a[n]),l=null!==o?e.findIndex(e=>e[n]===o[n]):-1,i=null!==o?t.findIndex(e=>e[n]===o[n]):-1,c=r>=0,d=s>=0,m=l>=0,f=i>=0,u=[...e],p=[...t];return c&&m?{listBoxOneData:I(r,l,e),listBoxTwoData:t}:d&&f?{listBoxOneData:e,listBoxTwoData:I(s,i,t)}:c&&(f||null===o)?(null===o?p.push(e[r]):p.splice(i+1,0,e[r]),u.splice(r,1),{listBoxOneData:u,listBoxTwoData:p}):d&&(m||null===o)?(null===o?u.push(t[s]):u.splice(l+1,0,t[s]),p.splice(s,1),{listBoxOneData:u,listBoxTwoData:p}):{listBoxOneData:e,listBoxTwoData:t}}});