@progress/kendo-react-listbox 14.5.0-develop.13 → 14.5.0-develop.14

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.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 V=require("react"),u=require("prop-types"),a=require("@progress/kendo-react-common"),J=require("@progress/kendo-react-intl"),R=require("./interfaces/Enums.js"),k=require("./messages/index.js");function Q(n){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const d in n)if(d!=="default"){const g=Object.getOwnPropertyDescriptor(n,d);Object.defineProperty(f,d,g.get?g:{enumerable:!0,get:()=>n[d]})}}return f.default=n,Object.freeze(f)}const s=Q(V),D=s.forwardRef((n,f)=>{const{id:d,style:g,data:c,textField:h,className:S,valueField:T,selectedField:v,onDrop:z,onKeyDown:x,onDragStart:C,onDragLeave:N,onDragOver:F,onItemClick:q,onItemSelect:y,onKeyboardNavigate:m,size:b=E.size,draggable:B=E.draggable,toolbarPosition:K=E.toolbarPosition}=n,O=s.useRef(null),L=s.useRef(null),w=s.useRef(null),_=J.useLocalization(),i=s.useCallback(()=>({element:w.current,props:n}),[]);s.useImperativeHandle(L,i),s.useImperativeHandle(f,()=>L.current);const P=d+"-accessibility-id",I=a.kendoThemeMaps.sizeMap[b]||b,A=t=>{if(v)return!!t[v]},j=t=>h?t[h]:t.toString(),M=t=>{x&&a.dispatchEvent(x,t,i(),void 0)},H=t=>{t.target.classList.contains("k-list-content")&&(n.data.length>0?a.dispatchEvent(n.onDrop,t,i(),{dataItem:n.data[n.data.length-1]}):a.dispatchEvent(n.onDrop,t,i(),{dataItem:null}))},$=()=>K===R.toolbarPosition.NONE||n.toolbar===void 0?`k-listbox-actions-${E.toolbarPosition}`:`k-listbox-actions-${K}`,G=t=>{N&&t.target.classList.contains("k-list-content")&&a.dispatchEvent(N,t,i(),void 0)},p=s.useMemo(()=>new a.Navigation({root:O,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(t,o,e)=>{const r=o.elements.indexOf(t);e.metaKey&&a.dispatchEvent(y,e,i(),{dataItem:c[r]}),a.dispatchEvent(y,e,i(),{dataItem:c[r]})},ArrowDown:(t,o,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,i(),{actionName:"moveDown"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),o.focusNext(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=o.elements.indexOf(t),l=c[r+1];l&&(a.dispatchEvent(y,e,i(),{dataItem:l}),o.focusNext(t))}},ArrowUp:(t,o,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,i(),{actionName:"moveUp"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),o.focusPrevious(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=o.elements.indexOf(t),l=c[r-1];l&&(a.dispatchEvent(y,e,i(),{dataItem:l}),o.focusPrevious(t))}},ArrowLeft:(t,o,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,i(),{actionName:"transferAllFrom"}):e.metaKey&&a.dispatchEvent(m,e,i(),{actionName:"transferFrom"})},ArrowRight:(t,o,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,i(),{actionName:"transferAllTo"}):e.metaKey&&a.dispatchEvent(m,e,i(),{actionName:"transferTo"})},Backspace:(t,o,e)=>{a.dispatchEvent(m,e,i(),{actionName:"remove"})}}}}),[c]),U=s.useCallback(p.triggerKeyboardEvent.bind(p),[c]);return s.useEffect(()=>(p.initializeRovingTab(),()=>p.removeFocusListener()),[c]),s.createElement("div",{id:d,ref:w,style:g,unselectable:"on",className:a.classNames(S,"k-listbox",{[`k-listbox-${I}`]:b},$())},n.toolbar&&s.createElement(n.toolbar,null),s.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:O,onDragOver:t=>t.preventDefault(),onDrop:H,onDragLeave:G,onKeyDown:U},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:M},c.map((t,o)=>{const e=A(t),r={className:a.classNames("k-list-item",{"k-selected":e}),role:"option",key:o,id:P+o,"aria-selected":e,"data-uid":P+o,draggable:B,onDragStart:l=>{a.dispatchEvent(C,l,i(),{dataItem:t})},onDragOver:l=>{l.preventDefault(),a.dispatchEvent(F,l,i(),{dataItem:t})},onDrop:l=>{a.dispatchEvent(z,l,i(),{dataItem:t})},onClick:l=>{a.dispatchEvent(q,l,i(),{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"},j(t)))}))))),s.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox","aria-label":_.toLanguageString(k.ariaLabelListBox,k.messages[k.ariaLabelListBox])},c.map((t,o)=>{const e=t[T||h];return s.createElement("option",{key:o,value:e},e)})))}),E={toolbarPosition:R.toolbarPosition.RIGHT,draggable:!0,size:void 0};D.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};D.displayName="ListBoxInner";exports.ListBox=D;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("react"),u=require("prop-types"),a=require("@progress/kendo-react-common"),W=require("@progress/kendo-react-intl"),R=require("./interfaces/Enums.js"),x=require("./messages/index.js");function J(i){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const d in i)if(d!=="default"){const g=Object.getOwnPropertyDescriptor(i,d);Object.defineProperty(f,d,g.get?g:{enumerable:!0,get:()=>i[d]})}}return f.default=i,Object.freeze(f)}const s=J(V),D=s.forwardRef((i,f)=>{const{id:d,style:g,data:c,textField:h,className:S,valueField:T,selectedField:v,onDrop:z,onKeyDown:N,onDragStart:C,onDragLeave:K,onDragOver:F,onItemClick:q,onItemSelect:b,onKeyboardNavigate:m,size:y=E.size,draggable:B=E.draggable,toolbarPosition:O=E.toolbarPosition}=i,w=s.useRef(null),k=s.useRef(null),L=s.useRef(null),M=W.useLocalization(),o=s.useCallback(()=>({element:L.current,props:i}),[]);s.useImperativeHandle(k,o),s.useImperativeHandle(f,()=>k.current),a.useWebMcpRegister("listbox",k,i,i.webMcp);const P=d+"-accessibility-id",I=a.kendoThemeMaps.sizeMap[y]||y,_=t=>{if(v)return!!t[v]},A=t=>h?t[h]:t.toString(),j=t=>{N&&a.dispatchEvent(N,t,o(),void 0)},H=t=>{t.target.classList.contains("k-list-content")&&(i.data.length>0?a.dispatchEvent(i.onDrop,t,o(),{dataItem:i.data[i.data.length-1]}):a.dispatchEvent(i.onDrop,t,o(),{dataItem:null}))},$=()=>O===R.toolbarPosition.NONE||i.toolbar===void 0?`k-listbox-actions-${E.toolbarPosition}`:`k-listbox-actions-${O}`,G=t=>{K&&t.target.classList.contains("k-list-content")&&a.dispatchEvent(K,t,o(),void 0)},p=s.useMemo(()=>new a.Navigation({root:w,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(t,n,e)=>{const r=n.elements.indexOf(t);e.metaKey&&a.dispatchEvent(b,e,o(),{dataItem:c[r]}),a.dispatchEvent(b,e,o(),{dataItem:c[r]})},ArrowDown:(t,n,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,o(),{actionName:"moveDown"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),n.focusNext(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=n.elements.indexOf(t),l=c[r+1];l&&(a.dispatchEvent(b,e,o(),{dataItem:l}),n.focusNext(t))}},ArrowUp:(t,n,e)=>{if(e.metaKey&&e.shiftKey)a.dispatchEvent(m,e,o(),{actionName:"moveUp"});else if(e.metaKey&&!e.shiftKey)e.preventDefault(),n.focusPrevious(t);else if(!(e.shiftKey&&!e.metaKey)){e.preventDefault();const r=n.elements.indexOf(t),l=c[r-1];l&&(a.dispatchEvent(b,e,o(),{dataItem:l}),n.focusPrevious(t))}},ArrowLeft:(t,n,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,o(),{actionName:"transferAllFrom"}):e.metaKey&&a.dispatchEvent(m,e,o(),{actionName:"transferFrom"})},ArrowRight:(t,n,e)=>{e.metaKey&&e.shiftKey?a.dispatchEvent(m,e,o(),{actionName:"transferAllTo"}):e.metaKey&&a.dispatchEvent(m,e,o(),{actionName:"transferTo"})},Backspace:(t,n,e)=>{a.dispatchEvent(m,e,o(),{actionName:"remove"})}}}}),[c]),U=s.useCallback(p.triggerKeyboardEvent.bind(p),[c]);return s.useEffect(()=>(p.initializeRovingTab(),()=>p.removeFocusListener()),[c]),s.createElement("div",{id:d,ref:L,style:g,unselectable:"on",className:a.classNames(S,"k-listbox",{[`k-listbox-${I}`]:y},$())},i.toolbar&&s.createElement(i.toolbar,null),s.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:w,onDragOver:t=>t.preventDefault(),onDrop:H,onDragLeave:G,onKeyDown:U},s.createElement("div",{className:a.classNames("k-list",{[`k-list-${I}`]:y})},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,n)=>{const e=_(t),r={className:a.classNames("k-list-item",{"k-selected":e}),role:"option",key:n,id:P+n,"aria-selected":e,"data-uid":P+n,draggable:B,onDragStart:l=>{a.dispatchEvent(C,l,o(),{dataItem:t})},onDragOver:l=>{l.preventDefault(),a.dispatchEvent(F,l,o(),{dataItem:t})},onDrop:l=>{a.dispatchEvent(z,l,o(),{dataItem:t})},onClick:l=>{a.dispatchEvent(q,l,o(),{dataItem:t})}};return i.item?s.createElement(i.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","aria-label":M.toLanguageString(x.ariaLabelListBox,x.messages[x.ariaLabelListBox])},c.map((t,n)=>{const e=t[T||h];return s.createElement("option",{key:n,value:e},e)})))}),E={toolbarPosition:R.toolbarPosition.RIGHT,draggable:!0,size:void 0};D.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};D.displayName="ListBoxInner";exports.ListBox=D;
package/ListBox.mjs CHANGED
@@ -7,11 +7,11 @@
7
7
  */
8
8
  import * as a from "react";
9
9
  import f from "prop-types";
10
- import { kendoThemeMaps as J, Navigation as Q, dispatchEvent as s, classNames as k } from "@progress/kendo-react-common";
11
- import { useLocalization as W } from "@progress/kendo-react-intl";
10
+ import { useWebMcpRegister as j, kendoThemeMaps as J, Navigation as Q, dispatchEvent as s, classNames as x } from "@progress/kendo-react-common";
11
+ import { useLocalization as X } from "@progress/kendo-react-intl";
12
12
  import { toolbarPosition as O } from "./interfaces/Enums.mjs";
13
- import { ariaLabelListBox as P, messages as X } from "./messages/index.mjs";
14
- const R = a.forwardRef((n, T) => {
13
+ import { ariaLabelListBox as P, messages as Y } from "./messages/index.mjs";
14
+ const R = a.forwardRef((l, T) => {
15
15
  const {
16
16
  id: D,
17
17
  style: z,
@@ -19,9 +19,9 @@ const R = a.forwardRef((n, T) => {
19
19
  textField: b,
20
20
  className: F,
21
21
  valueField: S,
22
- selectedField: x,
22
+ selectedField: K,
23
23
  onDrop: v,
24
- onKeyDown: K,
24
+ onKeyDown: N,
25
25
  onDragStart: C,
26
26
  onDragLeave: p,
27
27
  onDragOver: A,
@@ -29,32 +29,32 @@ const R = a.forwardRef((n, T) => {
29
29
  onItemSelect: d,
30
30
  onKeyboardNavigate: m,
31
31
  size: u = y.size,
32
- draggable: $ = y.draggable,
33
- toolbarPosition: N = y.toolbarPosition
34
- } = n, E = a.useRef(null), h = a.useRef(null), w = a.useRef(null), H = W(), o = a.useCallback(
32
+ draggable: M = y.draggable,
33
+ toolbarPosition: E = y.toolbarPosition
34
+ } = l, h = a.useRef(null), k = a.useRef(null), w = a.useRef(null), $ = X(), o = a.useCallback(
35
35
  () => ({
36
36
  element: w.current,
37
- props: n
37
+ props: l
38
38
  }),
39
39
  []
40
40
  );
41
- a.useImperativeHandle(h, o), a.useImperativeHandle(T, () => h.current);
42
- const I = D + "-accessibility-id", L = J.sizeMap[u] || u, _ = (t) => {
43
- if (x)
44
- return !!t[x];
45
- }, M = (t) => b ? t[b] : t.toString(), q = (t) => {
46
- K && s(K, t, o(), void 0);
41
+ a.useImperativeHandle(k, o), a.useImperativeHandle(T, () => k.current), j("listbox", k, l, l.webMcp);
42
+ const I = D + "-accessibility-id", L = J.sizeMap[u] || u, H = (t) => {
43
+ if (K)
44
+ return !!t[K];
45
+ }, _ = (t) => b ? t[b] : t.toString(), q = (t) => {
46
+ N && s(N, t, o(), void 0);
47
47
  }, G = (t) => {
48
- t.target.classList.contains("k-list-content") && (n.data.length > 0 ? s(n.onDrop, t, o(), {
49
- dataItem: n.data[n.data.length - 1]
50
- }) : s(n.onDrop, t, o(), {
48
+ t.target.classList.contains("k-list-content") && (l.data.length > 0 ? s(l.onDrop, t, o(), {
49
+ dataItem: l.data[l.data.length - 1]
50
+ }) : s(l.onDrop, t, o(), {
51
51
  dataItem: null
52
52
  }));
53
- }, U = () => N === O.NONE || n.toolbar === void 0 ? `k-listbox-actions-${y.toolbarPosition}` : `k-listbox-actions-${N}`, V = (t) => {
53
+ }, U = () => E === O.NONE || l.toolbar === void 0 ? `k-listbox-actions-${y.toolbarPosition}` : `k-listbox-actions-${E}`, V = (t) => {
54
54
  p && t.target.classList.contains("k-list-content") && s(p, t, o(), void 0);
55
55
  }, g = a.useMemo(
56
56
  () => new Q({
57
- root: E,
57
+ root: h,
58
58
  selectors: [".k-list-item"],
59
59
  tabIndex: 0,
60
60
  keyboardEvents: {
@@ -74,8 +74,8 @@ const R = a.forwardRef((n, T) => {
74
74
  e.preventDefault(), i.focusNext(t);
75
75
  else if (!(e.shiftKey && !e.metaKey)) {
76
76
  e.preventDefault();
77
- const r = i.elements.indexOf(t), l = c[r + 1];
78
- l && (s(d, e, o(), { dataItem: l }), i.focusNext(t));
77
+ const r = i.elements.indexOf(t), n = c[r + 1];
78
+ n && (s(d, e, o(), { dataItem: n }), i.focusNext(t));
79
79
  }
80
80
  },
81
81
  ArrowUp: (t, i, e) => {
@@ -87,8 +87,8 @@ const R = a.forwardRef((n, T) => {
87
87
  e.preventDefault(), i.focusPrevious(t);
88
88
  else if (!(e.shiftKey && !e.metaKey)) {
89
89
  e.preventDefault();
90
- const r = i.elements.indexOf(t), l = c[r - 1];
91
- l && (s(d, e, o(), { dataItem: l }), i.focusPrevious(t));
90
+ const r = i.elements.indexOf(t), n = c[r - 1];
91
+ n && (s(d, e, o(), { dataItem: n }), i.focusPrevious(t));
92
92
  }
93
93
  },
94
94
  ArrowLeft: (t, i, e) => {
@@ -112,7 +112,7 @@ const R = a.forwardRef((n, T) => {
112
112
  }
113
113
  }),
114
114
  [c]
115
- ), j = a.useCallback(g.triggerKeyboardEvent.bind(g), [c]);
115
+ ), W = a.useCallback(g.triggerKeyboardEvent.bind(g), [c]);
116
116
  return a.useEffect(() => (g.initializeRovingTab(), () => g.removeFocusListener()), [c]), /* @__PURE__ */ a.createElement(
117
117
  "div",
118
118
  {
@@ -120,26 +120,26 @@ const R = a.forwardRef((n, T) => {
120
120
  ref: w,
121
121
  style: z,
122
122
  unselectable: "on",
123
- className: k(
123
+ className: x(
124
124
  F,
125
125
  "k-listbox",
126
126
  { [`k-listbox-${L}`]: u },
127
127
  U()
128
128
  )
129
129
  },
130
- n.toolbar && /* @__PURE__ */ a.createElement(n.toolbar, null),
130
+ l.toolbar && /* @__PURE__ */ a.createElement(l.toolbar, null),
131
131
  /* @__PURE__ */ a.createElement(
132
132
  "div",
133
133
  {
134
134
  className: "k-list-scroller k-selectable",
135
135
  "data-role": "selectable",
136
- ref: E,
136
+ ref: h,
137
137
  onDragOver: (t) => t.preventDefault(),
138
138
  onDrop: G,
139
139
  onDragLeave: V,
140
- onKeyDown: j
140
+ onKeyDown: W
141
141
  },
142
- /* @__PURE__ */ a.createElement("div", { className: k("k-list", { [`k-list-${L}`]: u }) }, /* @__PURE__ */ a.createElement("div", { className: "k-list-content" }, /* @__PURE__ */ a.createElement(
142
+ /* @__PURE__ */ a.createElement("div", { className: x("k-list", { [`k-list-${L}`]: u }) }, /* @__PURE__ */ a.createElement("div", { className: "k-list-content" }, /* @__PURE__ */ a.createElement(
143
143
  "ul",
144
144
  {
145
145
  className: "k-list-ul",
@@ -148,34 +148,34 @@ const R = a.forwardRef((n, T) => {
148
148
  onKeyDown: q
149
149
  },
150
150
  c.map((t, i) => {
151
- const e = _(t), r = {
152
- className: k("k-list-item", { "k-selected": e }),
151
+ const e = H(t), r = {
152
+ className: x("k-list-item", { "k-selected": e }),
153
153
  role: "option",
154
154
  key: i,
155
155
  id: I + i,
156
156
  "aria-selected": e,
157
157
  "data-uid": I + i,
158
- draggable: $,
159
- onDragStart: (l) => {
158
+ draggable: M,
159
+ onDragStart: (n) => {
160
160
  s(
161
161
  C,
162
- l,
162
+ n,
163
163
  o(),
164
164
  { dataItem: t }
165
165
  );
166
166
  },
167
- onDragOver: (l) => {
168
- l.preventDefault(), s(A, l, o(), { dataItem: t });
167
+ onDragOver: (n) => {
168
+ n.preventDefault(), s(A, n, o(), { dataItem: t });
169
169
  },
170
- onDrop: (l) => {
171
- s(v, l, o(), { dataItem: t });
170
+ onDrop: (n) => {
171
+ s(v, n, o(), { dataItem: t });
172
172
  },
173
- onClick: (l) => {
174
- s(B, l, o(), { dataItem: t });
173
+ onClick: (n) => {
174
+ s(B, n, o(), { dataItem: t });
175
175
  }
176
176
  };
177
- return n.item ? /* @__PURE__ */ a.createElement(
178
- n.item,
177
+ return l.item ? /* @__PURE__ */ a.createElement(
178
+ l.item,
179
179
  {
180
180
  selected: e,
181
181
  dataItem: t,
@@ -183,7 +183,7 @@ const R = a.forwardRef((n, T) => {
183
183
  key: r.key
184
184
  },
185
185
  /* @__PURE__ */ a.createElement("span", { className: "k-list-item-text" }, t.name)
186
- ) : /* @__PURE__ */ a.createElement("li", { ...r, key: r.key }, /* @__PURE__ */ a.createElement("span", { className: "k-list-item-text" }, M(t)));
186
+ ) : /* @__PURE__ */ a.createElement("li", { ...r, key: r.key }, /* @__PURE__ */ a.createElement("span", { className: "k-list-item-text" }, _(t)));
187
187
  })
188
188
  )))
189
189
  ),
@@ -193,9 +193,9 @@ const R = a.forwardRef((n, T) => {
193
193
  style: { display: "none" },
194
194
  multiple: !0,
195
195
  "data-role": "listbox",
196
- "aria-label": H.toLanguageString(
196
+ "aria-label": $.toLanguageString(
197
197
  P,
198
- X[P]
198
+ Y[P]
199
199
  )
200
200
  },
201
201
  c.map((t, i) => {
@@ -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-intl"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-react-buttons","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListbox={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactIntl,e.KendoReactButtons,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="listbox.moveUp",m="listbox.moveDown",u="listbox.transferTo",f="listbox.transferFrom",v="listbox.transferAllTo",p="listbox.transferAllFrom",h="listbox.remove",b="listbox.ariaLabel",g={[d]:"Move Up",[m]:"Move Down",[u]:"Transfer To",[f]:"Transfer From",[v]:"Transfer All To",[p]:"Transfer All From",[h]:"Delete",[b]:"ListBox"},x=i.forwardRef((e,t)=>{const{id:a,style:r,data:s,textField:l,className:d,valueField:m,selectedField:u,onDrop:f,onKeyDown:v,onDragStart:p,onDragLeave:h,onDragOver:x,onItemClick:k,onItemSelect:y,onKeyboardNavigate:I,size:E=D.size,draggable:w=D.draggable,toolbarPosition:T=D.toolbarPosition}=e,N=i.useRef(null),B=i.useRef(null),O=i.useRef(null),K=n.useLocalization(),L=i.useCallback(()=>({element:O.current,props:e}),[]);i.useImperativeHandle(B,L),i.useImperativeHandle(t,()=>B.current);const R=a+"-accessibility-id",F=o.kendoThemeMaps.sizeMap[E]||E,A=i.useMemo(()=>new o.Navigation({root:N,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(e,t,a)=>{const n=t.elements.indexOf(e);a.metaKey&&o.dispatchEvent(y,a,L(),{dataItem:s[n]}),o.dispatchEvent(y,a,L(),{dataItem:s[n]})},ArrowDown:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(I,a,L(),{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),r=s[n+1];r&&(o.dispatchEvent(y,a,L(),{dataItem:r}),t.focusNext(e))}},ArrowUp:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(I,a,L(),{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),r=s[n-1];r&&(o.dispatchEvent(y,a,L(),{dataItem:r}),t.focusPrevious(e))}},ArrowLeft:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(I,a,L(),{actionName:"transferAllFrom"}):a.metaKey&&o.dispatchEvent(I,a,L(),{actionName:"transferFrom"})},ArrowRight:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(I,a,L(),{actionName:"transferAllTo"}):a.metaKey&&o.dispatchEvent(I,a,L(),{actionName:"transferTo"})},Backspace:(e,t,a)=>{o.dispatchEvent(I,a,L(),{actionName:"remove"})}}}}),[s]),z=i.useCallback(A.triggerKeyboardEvent.bind(A),[s]);return i.useEffect(()=>(A.initializeRovingTab(),()=>A.removeFocusListener()),[s]),i.createElement("div",{id:a,ref:O,style:r,unselectable:"on",className:o.classNames(d,"k-listbox",{[`k-listbox-${F}`]:E},T===c.NONE||void 0===e.toolbar?`k-listbox-actions-${D.toolbarPosition}`:`k-listbox-actions-${T}`)},e.toolbar&&i.createElement(e.toolbar,null),i.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:N,onDragOver:e=>e.preventDefault(),onDrop:t=>{t.target.classList.contains("k-list-content")&&(e.data.length>0?o.dispatchEvent(e.onDrop,t,L(),{dataItem:e.data[e.data.length-1]}):o.dispatchEvent(e.onDrop,t,L(),{dataItem:null}))},onDragLeave:e=>{h&&e.target.classList.contains("k-list-content")&&o.dispatchEvent(h,e,L(),void 0)},onKeyDown:z},i.createElement("div",{className:o.classNames("k-list",{[`k-list-${F}`]:E})},i.createElement("div",{className:"k-list-content"},i.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:e=>{v&&o.dispatchEvent(v,e,L(),void 0)}},s.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:R+a,"aria-selected":n,"data-uid":R+a,draggable:w,onDragStart:e=>{o.dispatchEvent(p,e,L(),{dataItem:t})},onDragOver:e=>{e.preventDefault(),o.dispatchEvent(x,e,L(),{dataItem:t})},onDrop:e=>{o.dispatchEvent(f,e,L(),{dataItem:t})},onClick:e=>{o.dispatchEvent(k,e,L(),{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=>l?e[l]:e.toString())(t)))}))))),i.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox","aria-label":K.toLanguageString(b,g[b])},s.map((e,t)=>{const a=e[m||l];return i.createElement("option",{key:t,value:a},a)})))}),D={toolbarPosition:c.RIGHT,draggable:!0,size:void 0};x.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},x.displayName="ListBoxInner";const k=[{name:"moveUp",iconName:"chevron-up",svgIcon:s.chevronUpIcon},{name:"moveDown",iconName:"chevron-down",svgIcon:s.chevronDownIcon},{name:"transferTo",iconName:"chevron-right",svgIcon:s.chevronRightIcon},{name:"transferFrom",iconName:"chevron-left",svgIcon:s.chevronLeftIcon},{name:"transferAllTo",iconName:"chevron-double-right",svgIcon:s.chevronDoubleRightIcon},{name:"transferAllFrom",iconName:"chevron-double-left",svgIcon:s.chevronDoubleLeftIcon},{name:"remove",iconName:"x",svgIcon:s.xIcon}],y=i.forwardRef((e,t)=>{const{tools:a,dir:l,onToolClick:c,size:d=I.size,data:m=I.data,dataConnected:u=I.dataConnected,selectedField:f=I.selectedField}=e,v=n.useLocalization(),p=i.useRef(null),h=i.useRef(null),b=i.useCallback(()=>({onToolClick:c,props:e,context:{},state:{},refs:{}}),[]);i.useImperativeHandle(h,b),i.useImperativeHandle(t,()=>h.current);const x=(e,t,a)=>{a.preventDefault(),t.focusNext(e)},D=(e,t,a)=>{a.preventDefault(),t.focusPrevious(e)},y=i.useMemo(()=>new o.Navigation({root:p,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:x,ArrowRight:x,ArrowUp:D,ArrowLeft:D,Enter:(e,t,a)=>{e.click(),t.focusElement(t.current,e)}}}}),[]),E=i.useCallback(y.triggerKeyboardEvent.bind(y),[]);i.useEffect(()=>(y.initializeRovingTab(),()=>y.removeFocusListener()),[]);const w=e=>{switch(e.name){case"chevron-right":return s.chevronLeftIcon;case"chevron-left":return s.chevronRightIcon;case"chevron-double-right":return s.chevronDoubleLeftIcon;case"chevron-double-left":return s.chevronDoubleRightIcon}return e},T=e=>{switch(e){case"chevron-right":return"chevron-left";case"chevron-left":return"chevron-right";case"chevron-double-right":return"chevron-double-left";case"chevron-double-left":return"chevron-double-right"}return e},N="rtl"===l;return i.createElement("div",{className:o.classNames("k-listbox-actions"),ref:p,onKeyDown:E},a&&a.map((e,t)=>{const a=k.findIndex(t=>t.name===e),n=k[a],s=(e=>{let t=!0;const a=f||"selected",o=m.length,n=u.length,r=m.findIndex(e=>!0===e[a])>=0,s=u.findIndex(e=>!0===e[a])>=0;switch(e){case"moveUp":t=r?!(m.length>0)||m[0].selected:!s||!(u.length>0)||u[0].selected;break;case"moveDown":t=r?!m[o-1]||m[o-1].selected:!s||!(u.length>0)||u[n-1].selected;break;case"transferTo":t=!(u&&r);break;case"transferFrom":t=!u||!(u&&s);break;case"transferAllTo":t=!(u&&m.length>0);break;case"transferAllFrom":t=!(u&&u.length>0);break;case"remove":t=!(r||s)}return t})(n.name),l=`listbox.${n.name}`,p=v.toLanguageString(l,g[l]);return i.createElement(r.Button,{size:d,key:t,disabled:s,"data-command":n.name,title:p,"aria-label":p,icon:N?T(n.iconName):n.iconName,svgIcon:N?w(n.svgIcon):n.svgIcon,onClick:e=>{e.preventDefault(),((e,t)=>{o.dispatchEvent(c,e,b(),{toolName:t})})(e,n.name)}})}))}),I={data:[],dataConnected:[],selectedField:"selected",size:void 0};y.propTypes={data:a.array.isRequired,dataConnected:a.array.isRequired,tools:a.array,selectedField:a.string,dir:a.string,size:a.oneOf(["small","medium","large"])},y.displayName="ListBoxToolbarInner";const E=(e,t,a)=>{const o=a.splice(e,1)[0];return a.splice(t,0,o),a},w=o.withIdHOC(x);w.displayName="KendoReactListBox",e.ListBox=w,e.ListBoxToolbar=y,e.moveItem=E,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=E(t,t-1,n))}),s=[...t],s.forEach((e,t)=>{e[o]&&(s=E(t,t-1,s))}),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"moveDown":n=e.reverse(),n.forEach((e,t)=>{e[o]&&(n=E(t,t-1,n))}),s=t.reverse(),s.forEach((e,t)=>{e[o]&&(s=E(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],v=[...t];return c&&m?{listBoxOneData:E(r,l,e),listBoxTwoData:t}:d&&u?{listBoxOneData:e,listBoxTwoData:E(s,i,t)}:c&&(u||null===o)?(null===o?v.push(e[r]):v.splice(i+1,0,e[r]),f.splice(r,1),{listBoxOneData:f,listBoxTwoData:v}):d&&(m||null===o)?(null===o?f.push(t[s]):f.splice(l+1,0,t[s]),v.splice(s,1),{listBoxOneData:f,listBoxTwoData:v}):{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-intl"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-react-buttons","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactListbox={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactIntl,e.KendoReactButtons,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="listbox.moveUp",m="listbox.moveDown",u="listbox.transferTo",f="listbox.transferFrom",v="listbox.transferAllTo",p="listbox.transferAllFrom",b="listbox.remove",h="listbox.ariaLabel",g={[d]:"Move Up",[m]:"Move Down",[u]:"Transfer To",[f]:"Transfer From",[v]:"Transfer All To",[p]:"Transfer All From",[b]:"Delete",[h]:"ListBox"},x=i.forwardRef((e,t)=>{const{id:a,style:r,data:s,textField:l,className:d,valueField:m,selectedField:u,onDrop:f,onKeyDown:v,onDragStart:p,onDragLeave:b,onDragOver:x,onItemClick:k,onItemSelect:y,onKeyboardNavigate:I,size:E=D.size,draggable:w=D.draggable,toolbarPosition:T=D.toolbarPosition}=e,N=i.useRef(null),B=i.useRef(null),O=i.useRef(null),K=n.useLocalization(),R=i.useCallback(()=>({element:O.current,props:e}),[]);i.useImperativeHandle(B,R),i.useImperativeHandle(t,()=>B.current),o.useWebMcpRegister("listbox",B,e,e.webMcp);const L=a+"-accessibility-id",F=o.kendoThemeMaps.sizeMap[E]||E,A=i.useMemo(()=>new o.Navigation({root:N,selectors:[".k-list-item"],tabIndex:0,keyboardEvents:{keydown:{Space:(e,t,a)=>{const n=t.elements.indexOf(e);a.metaKey&&o.dispatchEvent(y,a,R(),{dataItem:s[n]}),o.dispatchEvent(y,a,R(),{dataItem:s[n]})},ArrowDown:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(I,a,R(),{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),r=s[n+1];r&&(o.dispatchEvent(y,a,R(),{dataItem:r}),t.focusNext(e))}},ArrowUp:(e,t,a)=>{if(a.metaKey&&a.shiftKey)o.dispatchEvent(I,a,R(),{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),r=s[n-1];r&&(o.dispatchEvent(y,a,R(),{dataItem:r}),t.focusPrevious(e))}},ArrowLeft:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(I,a,R(),{actionName:"transferAllFrom"}):a.metaKey&&o.dispatchEvent(I,a,R(),{actionName:"transferFrom"})},ArrowRight:(e,t,a)=>{a.metaKey&&a.shiftKey?o.dispatchEvent(I,a,R(),{actionName:"transferAllTo"}):a.metaKey&&o.dispatchEvent(I,a,R(),{actionName:"transferTo"})},Backspace:(e,t,a)=>{o.dispatchEvent(I,a,R(),{actionName:"remove"})}}}}),[s]),z=i.useCallback(A.triggerKeyboardEvent.bind(A),[s]);return i.useEffect(()=>(A.initializeRovingTab(),()=>A.removeFocusListener()),[s]),i.createElement("div",{id:a,ref:O,style:r,unselectable:"on",className:o.classNames(d,"k-listbox",{[`k-listbox-${F}`]:E},T===c.NONE||void 0===e.toolbar?`k-listbox-actions-${D.toolbarPosition}`:`k-listbox-actions-${T}`)},e.toolbar&&i.createElement(e.toolbar,null),i.createElement("div",{className:"k-list-scroller k-selectable","data-role":"selectable",ref:N,onDragOver:e=>e.preventDefault(),onDrop:t=>{t.target.classList.contains("k-list-content")&&(e.data.length>0?o.dispatchEvent(e.onDrop,t,R(),{dataItem:e.data[e.data.length-1]}):o.dispatchEvent(e.onDrop,t,R(),{dataItem:null}))},onDragLeave:e=>{b&&e.target.classList.contains("k-list-content")&&o.dispatchEvent(b,e,R(),void 0)},onKeyDown:z},i.createElement("div",{className:o.classNames("k-list",{[`k-list-${F}`]:E})},i.createElement("div",{className:"k-list-content"},i.createElement("ul",{className:"k-list-ul",role:"listbox","aria-label":"listbox-container",onKeyDown:e=>{v&&o.dispatchEvent(v,e,R(),void 0)}},s.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:L+a,"aria-selected":n,"data-uid":L+a,draggable:w,onDragStart:e=>{o.dispatchEvent(p,e,R(),{dataItem:t})},onDragOver:e=>{e.preventDefault(),o.dispatchEvent(x,e,R(),{dataItem:t})},onDrop:e=>{o.dispatchEvent(f,e,R(),{dataItem:t})},onClick:e=>{o.dispatchEvent(k,e,R(),{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=>l?e[l]:e.toString())(t)))}))))),i.createElement("select",{style:{display:"none"},multiple:!0,"data-role":"listbox","aria-label":K.toLanguageString(h,g[h])},s.map((e,t)=>{const a=e[m||l];return i.createElement("option",{key:t,value:a},a)})))}),D={toolbarPosition:c.RIGHT,draggable:!0,size:void 0};x.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},x.displayName="ListBoxInner";const k=[{name:"moveUp",iconName:"chevron-up",svgIcon:s.chevronUpIcon},{name:"moveDown",iconName:"chevron-down",svgIcon:s.chevronDownIcon},{name:"transferTo",iconName:"chevron-right",svgIcon:s.chevronRightIcon},{name:"transferFrom",iconName:"chevron-left",svgIcon:s.chevronLeftIcon},{name:"transferAllTo",iconName:"chevron-double-right",svgIcon:s.chevronDoubleRightIcon},{name:"transferAllFrom",iconName:"chevron-double-left",svgIcon:s.chevronDoubleLeftIcon},{name:"remove",iconName:"x",svgIcon:s.xIcon}],y=i.forwardRef((e,t)=>{const{tools:a,dir:l,onToolClick:c,size:d=I.size,data:m=I.data,dataConnected:u=I.dataConnected,selectedField:f=I.selectedField}=e,v=n.useLocalization(),p=i.useRef(null),b=i.useRef(null),h=i.useCallback(()=>({onToolClick:c,props:e,context:{},state:{},refs:{}}),[]);i.useImperativeHandle(b,h),i.useImperativeHandle(t,()=>b.current);const x=(e,t,a)=>{a.preventDefault(),t.focusNext(e)},D=(e,t,a)=>{a.preventDefault(),t.focusPrevious(e)},y=i.useMemo(()=>new o.Navigation({root:p,selectors:[".k-button:not([disabled])"],tabIndex:0,keyboardEvents:{keydown:{ArrowDown:x,ArrowRight:x,ArrowUp:D,ArrowLeft:D,Enter:(e,t,a)=>{e.click(),t.focusElement(t.current,e)}}}}),[]),E=i.useCallback(y.triggerKeyboardEvent.bind(y),[]);i.useEffect(()=>(y.initializeRovingTab(),()=>y.removeFocusListener()),[]);const w=e=>{switch(e.name){case"chevron-right":return s.chevronLeftIcon;case"chevron-left":return s.chevronRightIcon;case"chevron-double-right":return s.chevronDoubleLeftIcon;case"chevron-double-left":return s.chevronDoubleRightIcon}return e},T=e=>{switch(e){case"chevron-right":return"chevron-left";case"chevron-left":return"chevron-right";case"chevron-double-right":return"chevron-double-left";case"chevron-double-left":return"chevron-double-right"}return e},N="rtl"===l;return i.createElement("div",{className:o.classNames("k-listbox-actions"),ref:p,onKeyDown:E},a&&a.map((e,t)=>{const a=k.findIndex(t=>t.name===e),n=k[a],s=(e=>{let t=!0;const a=f||"selected",o=m.length,n=u.length,r=m.findIndex(e=>!0===e[a])>=0,s=u.findIndex(e=>!0===e[a])>=0;switch(e){case"moveUp":t=r?!(m.length>0)||m[0].selected:!s||!(u.length>0)||u[0].selected;break;case"moveDown":t=r?!m[o-1]||m[o-1].selected:!s||!(u.length>0)||u[n-1].selected;break;case"transferTo":t=!(u&&r);break;case"transferFrom":t=!u||!(u&&s);break;case"transferAllTo":t=!(u&&m.length>0);break;case"transferAllFrom":t=!(u&&u.length>0);break;case"remove":t=!(r||s)}return t})(n.name),l=`listbox.${n.name}`,p=v.toLanguageString(l,g[l]);return i.createElement(r.Button,{size:d,key:t,disabled:s,"data-command":n.name,title:p,"aria-label":p,icon:N?T(n.iconName):n.iconName,svgIcon:N?w(n.svgIcon):n.svgIcon,onClick:e=>{e.preventDefault(),((e,t)=>{o.dispatchEvent(c,e,h(),{toolName:t})})(e,n.name)}})}))}),I={data:[],dataConnected:[],selectedField:"selected",size:void 0};y.propTypes={data:a.array.isRequired,dataConnected:a.array.isRequired,tools:a.array,selectedField:a.string,dir:a.string,size:a.oneOf(["small","medium","large"])},y.displayName="ListBoxToolbarInner";const E=(e,t,a)=>{const o=a.splice(e,1)[0];return a.splice(t,0,o),a},w=o.withIdHOC(x);w.displayName="KendoReactListBox",e.ListBox=w,e.ListBoxToolbar=y,e.moveItem=E,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=E(t,t-1,n))}),s=[...t],s.forEach((e,t)=>{e[o]&&(s=E(t,t-1,s))}),l.listBoxOneData=n,l.listBoxTwoData=s;break;case"moveDown":n=e.reverse(),n.forEach((e,t)=>{e[o]&&(n=E(t,t-1,n))}),s=t.reverse(),s.forEach((e,t)=>{e[o]&&(s=E(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],v=[...t];return c&&m?{listBoxOneData:E(r,l,e),listBoxTwoData:t}:d&&u?{listBoxOneData:e,listBoxTwoData:E(s,i,t)}:c&&(u||null===o)?(null===o?v.push(e[r]):v.splice(i+1,0,e[r]),f.splice(r,1),{listBoxOneData:f,listBoxTwoData:v}):d&&(m||null===o)?(null===o?f.push(t[s]):f.splice(l+1,0,t[s]),v.splice(s,1),{listBoxOneData:f,listBoxTwoData:v}):{listBoxOneData:e,listBoxTwoData:t}}});
@@ -6,6 +6,7 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  import { ComponentType } from 'react';
9
+ import { WebMcpProps } from '@progress/kendo-react-common';
9
10
  import { ListBoxItemClickEvent, ListBoxKeyDownEvent, ListBoxDragEvent, ListBoxDragLeaveEvent, ListBoxItemSelectEvent, ListBoxItemNavigateEvent } from './ListBoxEvents';
10
11
  import { toolbarPosition } from './Enums.js';
11
12
  /**
@@ -212,4 +213,9 @@ export interface ListBoxProps {
212
213
  * ```
213
214
  */
214
215
  onKeyboardNavigate?: (event: ListBoxItemNavigateEvent) => void;
216
+ /**
217
+ * Enables Web MCP tool registration for this component.
218
+ * Requires a parent `WebMcpProvider` from `@progress/kendo-react-webmcp`.
219
+ */
220
+ webMcp?: boolean | WebMcpProps;
215
221
  }
@@ -6,7 +6,7 @@ export const packageMetadata = Object.freeze({
6
6
  productName: 'KendoReact',
7
7
  productCode: 'KENDOUIREACT',
8
8
  productCodes: ['KENDOUIREACT'],
9
- publishDate: 1778690510,
10
- version: '14.5.0-develop.13',
9
+ publishDate: 1778746087,
10
+ version: '14.5.0-develop.14',
11
11
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/components/my-license/'
12
12
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-listbox",
3
- "version": "14.5.0-develop.13",
3
+ "version": "14.5.0-develop.14",
4
4
  "description": "React ListBox enables you to display a list of items and manage the data between multiple lists. KendoReact ListBox package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -26,9 +26,9 @@
26
26
  "sideEffects": false,
27
27
  "peerDependencies": {
28
28
  "@progress/kendo-licensing": "^1.7.2",
29
- "@progress/kendo-react-buttons": "14.5.0-develop.13",
30
- "@progress/kendo-react-common": "14.5.0-develop.13",
31
- "@progress/kendo-react-intl": "14.5.0-develop.13",
29
+ "@progress/kendo-react-buttons": "14.5.0-develop.14",
30
+ "@progress/kendo-react-common": "14.5.0-develop.14",
31
+ "@progress/kendo-react-intl": "14.5.0-develop.14",
32
32
  "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
33
33
  "react": "^18.0.0 || ^19.0.0",
34
34
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -56,7 +56,7 @@
56
56
  "package": {
57
57
  "productName": "KendoReact",
58
58
  "productCode": "KENDOUIREACT",
59
- "publishDate": 1778690510,
59
+ "publishDate": 1778746087,
60
60
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
61
61
  }
62
62
  },