@progress/kendo-react-dropdowns 11.0.0-develop.2 → 11.0.0-develop.3
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.
|
@@ -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 Ht=require("react"),L=require("prop-types"),o=require("@progress/kendo-react-common"),Wt=require("@progress/kendo-react-labels"),tt=require("@progress/kendo-svg-icons"),_t=require("../common/ListContainer.js"),Ut=require("../common/ListFilter.js"),nt=require("../common/GroupStickyHeader.js"),Gt=require("../common/ListDefaultItem.js"),jt=require("../common/List.js"),ot=require("../common/DropDownBase.js"),u=require("../common/utils.js"),Yt=require("../package-metadata.js"),rt=require("@progress/kendo-react-buttons"),$t=require("@progress/kendo-react-intl"),Fe=require("../messages/index.js"),Me=require("@progress/kendo-react-layout");function Jt(M){const Y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(M){for(const T in M)if(T!=="default"){const n=Object.getOwnPropertyDescriptor(M,T);Object.defineProperty(Y,T,n.get?n:{enumerable:!0,get:()=>M[T]})}}return Y.default=M,Object.freeze(Y)}const a=Jt(Ht),Qt="Please select a value from the list!",me=a.forwardRef((M,Y)=>{let T=!1;const n=o.usePropsContext(st,M),{delay:at=P.delay,tabIndex:it=P.tabIndex,ignoreCase:ge=P.ignoreCase,size:$=P.size,rounded:Te=P.rounded,fillMode:fe=P.fillMode,groupMode:Xt=P.groupMode}=n;if(n.filterable||n.virtual){const e=[];n.filterable&&e.push("filterable"),n.virtual&&e.push("virtualization"),T=!o.validatePackage(Yt.packageMetadata,{component:"DropDownList",features:e})}const N=o.useUnstyled(),ve=o.useId(n.id),De=()=>{var e;if(o.canUseDOM)return((e=Q.current)==null?void 0:e.ownerDocument)||window.document},lt=()=>{var e,r;(e=t==null?void 0:t.current)!=null&&e.wrapper&&((r=t==null?void 0:t.current)==null||r.wrapper.focus({preventScroll:!0}))},k=()=>{let e;return q.current!==void 0&&q.current!==null?e=q.current:n.value!==void 0?e=n.value:g.value!==void 0&&g.value!==null?e=g.value:n.defaultValue!==void 0&&n.defaultValue!==null&&(e=n.defaultValue),!u.isPresent(e)&&n.defaultItem!==void 0&&n.defaultItem!==null&&(e=n.defaultItem),e},ct=()=>{const{dataItemKey:e}=n,r=u.getFilteredData(n),i=k();return r.findIndex(p=>u.areSame(p,i,e))},ye=()=>n.required!==void 0?n.required:P.required,he=()=>{const e=n.validationMessage!==void 0,r=k(),i=!ye()||r!==null&&r!==""&&r!==void 0,p=n.valid!==void 0?n.valid:i;return{customError:e,valid:p,valueMissing:r===null}},dt=()=>n.validityStyles!==void 0?n.validityStyles:P.validityStyles,ne=e=>{re.current=!0,e.focus(),window.setTimeout(()=>re.current=!1,30)},we=()=>{X.current&&ne(X.current),n.adaptive&&setTimeout(()=>{X.current&&ne(X.current)},300)},ut=a.useCallback(e=>{for(const r of e)bt(r.target.clientWidth)},[]),Oe=()=>{var e;(e=Ce.current)!=null&&e.setCustomValidity&&Ce.current.setCustomValidity(he().valid?"":n.validationMessage||Qt)},H=(e,r)=>{const i=k();u.areSame(i,e,n.dataItemKey)||(n.value===void 0&&(r.data.value=e),t.current.updateComponentArgs({value:e}),q.current=e,r.events.push({type:"onChange"}))},b=e=>{var r;(r=t==null?void 0:t.current)==null||r.applyState(e),q.current=void 0},J=(e,r)=>{var c;const{virtual:i,dataItemKey:p,defaultItem:m}=n,f=u.getFilteredData(n),D=i?i.skip:0,v=k(),s=e===-1&&m!==void 0?m:f[e-D],d=!u.areSame(s,v,p);H(s,r),d&&((c=t==null?void 0:t.current)==null||c.triggerPageChangeCornerItems(s,r))},O=(e,r,i)=>{var w,h;const{defaultItem:p,dataItemKey:m,virtual:f={skip:0,total:0,pageSize:0}}=n,D=k(),v=u.getFilteredData(n),s=(w=t==null?void 0:t.current)==null?void 0:w.vs,d=v.findIndex(I=>u.areSame(I,D,m)),c=(h=t==null?void 0:t.current)==null?void 0:h.navigation.navigate({current:f.skip+d,max:(s!=null&&s.enabled?f.total:v.length)-1,min:p!==void 0?-1:0,keyCode:r,skipItems:i||void 0});c!==void 0&&J(c,e),b(e)},pt=e=>{Q.current=e,t.current.wrapper=e},mt=e=>a.createElement("select",{name:n.name,ref:r=>{Ce.current=r},tabIndex:-1,"aria-hidden":!0,title:n.label,style:{opacity:0,width:1,border:0,zIndex:-1,position:"absolute",left:"50%"}},a.createElement("option",{value:n.valueMap?n.valueMap.call(void 0,e):e})),Ie=()=>{const{textField:e,dataItemKey:r,virtual:i={skip:0},focusedItemIndex:p=u.itemIndexStartsWith,filterable:m,skipDisabledItems:f=!0}=n,D=k(),v=u.getFilteredData(n),s=n.filter?n.filter:g.text;return f&&e&&!s&&!D?v.findIndex(d=>!d.disabled&&d[e]):u.isPresent(D)&&s===void 0||m&&s===""?v.findIndex(d=>u.areSame(d,D,r)):s?Le.current?p(v,s,e):v.findIndex(d=>u.areSame(d,D,r)):i.skip===0?0:-1},qe=(e,r)=>r!==void 0&&r!==-1&&e&&e.length>0&&e[r].disabled,Se=()=>{const e=u.getFilteredData(n),r=t.current.initState(),i=Ie();qe(e,i)&&(H(null,r),b(r))},xe=e=>{if(e.isPropagationStopped())return;const r=t.current.initState();r.syntheticEvent=e,g.focused||(r.data.focused=!0),Se(),t.current.togglePopup(r),b(r)},Ae=e=>{var F,ue,B,pe,j,Re,et;e&&e.target instanceof Element&&e.target.nodeName==="INPUT"&&e.stopPropagation&&e.stopPropagation();const{filterable:r,disabled:i,defaultItem:p,leftRightKeysNavigation:m=!0,virtual:f={skip:0,total:0,pageSize:0},dataItemKey:D,groupField:v="",textField:s,skipDisabledItems:d=!0}=n,c=u.getFilteredData(n),w=k(),h=c.findIndex(C=>u.areSame(C,w,D)),I=n.opened!==void 0?n.opened:g.opened,l=e.keyCode,K=l===o.Keys.home||l===o.Keys.end,E=l===o.Keys.up||l===o.Keys.down,G=!I&&(e.altKey&&l===o.Keys.down||l===o.Keys.enter||l===o.Keys.space),te=I&&(e.altKey&&l===o.Keys.up||l===o.Keys.esc),ce=m&&(l===o.Keys.left||l===o.Keys.right),de=E||ce&&!r||K,x=t.current.initState();if(x.syntheticEvent=e,!i){if(K&&((F=t==null?void 0:t.current)!=null&&F.vs.enabled))l===o.Keys.home?f.skip!==0?((ue=t==null?void 0:t.current)==null||ue.triggerOnPageChange(x,0,f.pageSize),A.current=!0):H(c[0],x):f.skip<f.total-f.pageSize?((B=t==null?void 0:t.current)==null||B.triggerOnPageChange(x,f.total-f.pageSize,f.pageSize),A.current=!0):H(c[c.length-1],x);else if(I&&l===o.Keys.pageUp)e.preventDefault(),(pe=t==null?void 0:t.current)==null||pe.scrollPopupByPageSize(-1);else if(I&&l===o.Keys.pageDown)e.preventDefault(),(j=t==null?void 0:t.current)==null||j.scrollPopupByPageSize(1);else if(I&&l===o.Keys.enter){const C=Ie();qe(c,C)?(H(null,x),b(x)):J(C,x),(Re=t==null?void 0:t.current)==null||Re.togglePopup(x),e.preventDefault()}else if(G||te)te&&Se(),(et=t==null?void 0:t.current)==null||et.togglePopup(x),e.preventDefault();else if(de){if(Le.current=!1,v!==""&&s)if(!d&&I)O(x,l);else{let C;if(l===o.Keys.down||l===o.Keys.right){const S=c.slice(h+1).find(y=>!y.disabled&&y[s]);C=S&&c.findIndex(y=>y[s]===S[s])}else if(l===o.Keys.up||l===o.Keys.left){let S;if(h===0&&p)C=-1;else if(h===-1)S=c,C=c.findIndex(y=>!y.disabled&&y[s]);else{S=c.slice(0,h);let y=S.pop();for(;y&&y.disabled;)y=S.pop();C=y&&c.findIndex(Pe=>Pe[s]===y[s])}}if(C!==void 0){const S=C-h;O(x,l,S)}else C===void 0&&c.findIndex(S=>S[s]===w[s])===c.length-1&&O(x,l)}else if(!d&&I||K)O(x,l);else if(s){let C;if(l===o.Keys.down||l===o.Keys.right){const S=c.slice(h+1).find(y=>!y.disabled&&y[s]);C=S&&c.findIndex(y=>y[s]===S[s])}else if(l===o.Keys.up||l===o.Keys.left){let S;if(h===0&&p)C=-1;else if(h===-1)S=c,C=c.find(y=>!y.disabled&&y[s]);else{S=c.slice(0,h);let y=S.pop();for(;y&&y.disabled;)y=S.pop();C=y&&c.findIndex(Pe=>Pe[s]===y[s])}}if(C!==void 0){const S=C-h;O(x,l,S)}else C===void 0&&c.findIndex(S=>S[s]===w[s])===c.length-1&&O(x,l)}else O(x,l);e.preventDefault()}b(x)}},gt=e=>{const r=t.current.initState();r.syntheticEvent=e.syntheticEvent,n.filter===void 0&&(r.data.text=e.target.value),t.current.filterChanged(e.target.value,r),Le.current=!0,b(r),R({group:void 0,text:String(e.target.value)})},ze=()=>{const e=n.filter!==void 0?n.filter:g.text;return n.filterable&&a.createElement(Ut,{value:e,ref:r=>{X.current=r&&r.element},onChange:gt,onKeyDown:Ae,size:$,rounded:Te,fillMode:fe,renderListFilterWrapper:!0})},ft=e=>{var i;const r=t.current.initState();r.syntheticEvent=e,(i=t==null?void 0:t.current)==null||i.togglePopup(r),H(n.defaultItem,r),b(r)},Ve=()=>{const{textField:e,defaultItem:r,dataItemKey:i}=n,p=k();return r!==void 0&&a.createElement(Gt,{defaultItem:r,textField:e,selected:u.areSame(p,r,i),key:"defaultitemkey",onClick:ft})},vt=(e,r)=>{var i;(i=t==null?void 0:t.current)==null||i.handleItemClick(e,r),q.current=void 0},Dt=e=>{const{vs:r,list:i}=t.current;r.scrollHandler(e);const{groupField:p}=n;let m=u.getFilteredData(n);if(!(!p||!m.length)&&p){const f=_e.current=_e.current||(r.enabled?r.itemHeight:i?i.children[0].offsetHeight:0),v=e.target.scrollTop-r.skip*f;m=t.current.getGroupedDataModernMode(m,p);let s=m[0][p];for(let d=1;d<m.length&&!(f*d>v);d++)m[d]&&m[d][p]&&(s=m[d][p]);s!==g.group&&R({group:s})}},Be=()=>{var l;const{textField:e,dataItemKey:r,virtual:i={skip:0,total:void 0},groupHeaderItemRender:p,listNoDataRender:m,itemRender:f}=n,D=u.getFilteredData(n),v=N&&N.uDropDownList,s=t.current.vs,d=i.skip,c=n.opened!==void 0?n.opened:g.opened,w=t.current.getPopupSettings(),h=`translateY(${s.translate}px)`,I=k();return a.createElement(jt,{id:Ee,show:c,data:D.slice(),focusedIndex:Ie(),value:I,textField:e,valueField:r,optionsGuid:je,groupField:n.groupField,groupMode:"modern",listRef:K=>{s.list=t.current.list=K},wrapperStyle:{maxHeight:le?void 0:w.height},wrapperCssClass:o.classNames(o.uDropDownList.listContent({c:v})),listStyle:s.enabled?{transform:h}:void 0,key:"listkey",skip:d,onClick:vt,itemRender:f,groupHeaderItemRender:p,noDataRender:m,onScroll:Dt,wrapperRef:s.scrollerRef,scroller:(l=t==null?void 0:t.current)==null?void 0:l.renderScrollElement(),ariaSetSize:i.total})},yt=()=>{var h;const{header:e,footer:r,adaptiveTitle:i,groupField:p,groupStickyHeaderItemRender:m,list:f}=n,D=u.getFilteredData(n),v=n.opened!==void 0?n.opened:g.opened,s=N&&N.uDropDownList,d=N&&N.uDropDownsActionSheet,c={navigatable:!1,navigatableElements:[],expand:v,animation:!0,onClose:I=>xe(I),className:o.classNames(o.uDropDownsActionSheet.wrapper({c:d}),"k-adaptive-actionsheet"),animationStyles:_&&U&&_<=U.small?{top:0,width:"100%",height:"100%"}:void 0,position:_&&U&&_<=U.small?"fullscreen":void 0};let{group:w}=g;return w===void 0&&p!==void 0&&(w=u.getItemValue(D[0],p)),a.createElement(Me.ActionSheet,{...c},a.createElement(Me.ActionSheetHeader,{className:o.classNames(o.uDropDownsActionSheet.header({c:d}))},a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.titleBar({c:d}))},a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.title({c:d}))},a.createElement("div",null,i)),a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.actions({c:d}))},a.createElement(rt.Button,{tabIndex:0,"aria-label":"Cancel","aria-disabled":"false",type:"button",fillMode:"flat",onClick:xe,icon:"x",svgIcon:tt.xIcon}))),a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.titleBarGroup({c:d}))},ze())),a.createElement(Me.ActionSheetContent,null,e&&a.createElement("div",{className:o.classNames(o.uDropDownList.listHeader({c:s}))},e),a.createElement("div",{className:o.classNames(o.uDropDownList.list({c:s,size:$,virtual:(h=t==null?void 0:t.current)==null?void 0:h.vs.enabled}))},Ve(),!f&&w&&D.length!==0&&a.createElement(nt,{group:w,groupMode:"modern",render:m}),Be()),r&&a.createElement("div",{className:o.classNames(o.uDropDownList.listFooter({c:s}))},r)))},ht=()=>{g.focused&&window.setTimeout(()=>{g.focused&&t.current.wrapper&&ne(t.current.wrapper)})},wt=e=>{"onMouseDownOutside"in(n.popupSettings||{})&&n.popupSettings.onMouseDownOutside.call(void 0,e)},It=()=>{const{header:e,footer:r,dir:i,groupField:p,groupStickyHeaderItemRender:m,list:f}=n,D=u.getFilteredData(n),v=t.current,s=v.getPopupSettings(),d=n.opened!==void 0?n.opened:g.opened,c=s.width!==void 0?s.width:v.popupWidth,w=N&&N.uDropDownList,h={dir:i!==void 0?i:v.dirCalculated,width:c,popupSettings:{...s,popupClass:o.classNames(s.popupClass,o.uDropDownList.listContainer({c:w})),anchor:s.anchor||Q.current,show:d,onOpen:we,onClose:ht,onMouseDownOutside:wt},itemsCount:[D.length]};let{group:I}=g;return I===void 0&&p!==void 0&&(I=u.getItemValue(D[0],p)),a.createElement(_t,{...h},ze(),e&&a.createElement("div",{className:o.classNames(o.uDropDownList.listHeader({c:w}))},e),a.createElement("div",{className:o.classNames(o.uDropDownList.list({c:w,size:$,virtual:t.current.vs.enabled}))},Ve(),!f&&I&&D.length!==0&&a.createElement(nt,{group:I,groupMode:"modern",render:m}),Be()),r&&a.createElement("div",{className:o.classNames(o.uDropDownList.listFooter({c:w}))},r),T&&a.createElement(o.WatermarkOverlay,null))},St=e=>{const{dataItemKey:r}=n,i=u.getFilteredData(n),p=k();let m=i.map((E,G)=>({item:E,itemIndex:G}));const f=W.current.word,D=W.current.last,v=u.sameCharsOnly(f,D);let s=m.length,d=Math.max(0,i.findIndex(E=>u.areSame(E,p,r))),c;n.defaultItem&&(c={item:n.defaultItem,itemIndex:-1},s+=1,d+=1),d+=v?1:0,m=u.shuffleData(m,d,c);let w,h,I,l=0;const{textField:K}=n;for(;l<s;){if(w=u.getItemValue(m[l].item,K),h=v&&u.matchText(w,D,ge),I=u.matchText(w,f,ge),h||I){l=m[l].itemIndex;break}l++}if(l!==s){const E=t.current.initState();E.syntheticEvent=e,J(l,E),b(E),q.current=void 0}},xt=e=>{clearTimeout(We.current),n.filterable||(We.current=window.setTimeout(()=>W.current.word="",at),St(e))},Ct=e=>{re.current||t.current.handleFocus(e)},Lt=e=>{if(re.current||!g.focused)return;const r=n.opened!==void 0?n.opened:g.opened,i=t.current.initState();i.syntheticEvent=e,i.data.focused=!1,i.events.push({type:"onBlur"}),r&&Se(),r&&!le&&t.current.togglePopup(i),b(i)},kt=e=>{if(n.filterable||e.which===0||e.keyCode===o.Keys.enter)return;let r=String.fromCharCode(e.charCode||e.keyCode);ge&&(r=r.toLowerCase()),r===" "&&e.preventDefault(),W.current={word:W.current.word+r,last:W.current.last+r},xt(e)},Et=()=>{const e=t.current.initState();e.data.opened=g.opened,t.current.togglePopup(e),b(e)},He=a.useRef(null),Q=a.useRef(null),Ce=a.useRef(null),X=a.useRef(null);a.useImperativeHandle(He,()=>({get element(){return Q.current},get index(){return ct()},get name(){return n.name},get validity(){return he()},get value(){return k()},get focused(){return g.focused},get opened(){return g.opened},focus:lt,props:n,togglePopup:Et})),a.useImperativeHandle(Y,()=>He.current);const We=a.useRef(null),W=a.useRef({word:"",last:""}),re=a.useRef(!1),q=a.useRef(null),A=a.useRef(!1),Le=a.useRef(!1),z=a.useRef({}),ke=a.useRef({}),t=a.useRef(new ot({props:n,setState:()=>{},state:{},forceUpdate:()=>{},element:null,value:null,handleItemSelect:()=>{}})),_e=a.useRef(0),Z=a.useRef(null),[g,Nt]=a.useState({}),[_,bt]=a.useState(),[,Ue]=a.useReducer(e=>e,!0),Kt=$t.useLocalization(),R=e=>{Nt({...g,...e})};a.useEffect(()=>{t.current.updateComponentArgs({props:n,setState:R,state:g,forceUpdate:Ue,element:Q.current,handleItemSelect:J,value:k()})},[R,g,Ue,J,k]),a.useEffect(()=>{var d,c,w,h,I,l,K,E,G,te,ce,de,x;const{dataItemKey:e,virtual:r,groupField:i="",textField:p}=n,m=u.getFilteredData(n),f=z.current.virtual?z.current.virtual.total:0,D=n.opened!==void 0?n.opened:g.opened,v=z.current.opened!==void 0?z.current.opened:ke.current.opened,s=!v&&D;if((d=t==null?void 0:t.current)==null||d.didUpdate(),(c=t==null?void 0:t.current)!=null&&c.getPopupSettings().animate||s&&we(),r&&r.total!==f)(w=t==null?void 0:t.current)==null||w.vs.calcScrollElementHeight(),(h=t==null?void 0:t.current)==null||h.vs.reset();else{const F=k(),ue=z.current.value!==void 0?z.current.value:ke.current.value;let B=m.findIndex(j=>u.areSame(j,F,e));i!==""&&F&&p&&(B=(l=(I=t==null?void 0:t.current)==null?void 0:I.getGroupedDataModernMode(m,i))==null?void 0:l.map(j=>j[p]).indexOf(F[p]));const pe=!u.areSame(ue,F,e);s&&r?(K=t==null?void 0:t.current)==null||K.scrollToVirtualItem(r,B):s&&!r?(we(),m&&m.length!==0&&((E=t==null?void 0:t.current)==null||E.resetGroupStickyHeader(m[0][i],{setState:R,group:g.group,state:g})),(G=t==null?void 0:t.current)==null||G.scrollToItem(B)):D&&v&&F&&pe&&!A.current?(ce=t==null?void 0:t.current)==null||ce.scrollToItem(B,(te=t==null?void 0:t.current)==null?void 0:te.vs.enabled):D&&v&&A.current&&(A.current&&r&&r.skip===0?(de=t==null?void 0:t.current)==null||de.vs.reset():A.current&&r&&r.skip===r.total-r.pageSize&&((x=t==null?void 0:t.current)==null||x.vs.scrollToEnd()))}A.current=!1,ke.current=g,z.current=n,Oe()}),a.useEffect(()=>{var e,r;return Z.current=o.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(ut.bind(void 0)),(e=t==null?void 0:t.current)==null||e.didMount(),Oe(),(r=De())!=null&&r.body&&Z.current&&Z.current.observe(De().body),()=>{var i;(i=De())!=null&&i.body&&Z.current&&Z.current.disconnect()}},[]);const Ge=ve+"-accessibility-id",Ee=ve+"-listbox-id",je=ve+"-guid",Pt=Kt.toLanguageString(Fe.dropDownListArrowBtnAriaLabel,Fe.messages[Fe.dropDownListArrowBtnAriaLabel]),{style:oe,className:Ft,label:Ne,dir:Mt,virtual:V,adaptive:Zt,dataItemKey:Tt,disabled:se,loading:Ye,iconClassName:$e,svgIcon:Ot,valueRender:Je}=n,be=n.opened!==void 0?n.opened:g.opened,ae=k(),Ke=u.getItemValue(ae,n.textField),Qe=!dt()||he().valid,ie=t.current,qt=ie.vs,ee=N&&N.uDropDownList;qt.enabled=V!==void 0;const U=o.useAdaptiveModeContext(),le=!!(_&&U&&_<=U.medium&&n.adaptive);V!==void 0&&(ie.vs.skip=V.skip,ie.vs.total=V.total,ie.vs.pageSize=V.pageSize);const At=u.getFilteredData(n),{focused:zt}=g,Vt=At.findIndex(e=>u.areSame(e,ae,Tt)),Xe=a.createElement("span",{id:Ge,className:o.classNames(o.uDropDownList.inputInner({c:ee}))},Ke&&a.createElement("span",{className:o.classNames(o.uDropDownList.inputText({c:ee}))},Ke)),Bt=Je!==void 0?Je.call(void 0,Xe,ae):Xe,Ze=a.createElement(a.Fragment,null,a.createElement("span",{ref:pt,className:o.classNames(o.uDropDownList.wrapper({c:ee,size:$,rounded:Te,fillMode:fe,focused:zt,disabled:se,invalid:!Qe,loading:Ye,required:ye()}),Ft),style:Ne?{...oe,width:void 0}:oe,dir:Mt,onMouseDown:be?e=>{e.target.nodeName!=="INPUT"&&(ne(t.current.wrapper),e.preventDefault())}:void 0,onFocus:Ct,onBlur:Lt,tabIndex:o.getTabIndex(it,se),accessKey:n.accessKey,onKeyDown:Ae,onKeyPress:kt,onClick:se?void 0:xe,role:"combobox","aria-required":ye(),"aria-disabled":se||void 0,"aria-haspopup":"listbox","aria-expanded":be||!1,"aria-owns":Ee,"aria-activedescendant":be?"option-"+je+"-"+(Vt+(V?V.skip:0)):void 0,"aria-label":n.ariaLabel||n.label,"aria-labelledby":n.ariaLabelledBy,"aria-describedby":n.ariaDescribedBy||Ge,"aria-controls":Ee,id:n.id,title:n.title},Bt,Ye&&a.createElement(o.IconWrap,{className:o.classNames(o.uDropDownList.loadingIcon({c:ee})),name:"loading"}),a.createElement(rt.Button,{tabIndex:-1,type:"button","aria-label":Pt,size:$,fillMode:fe,className:o.classNames(o.uDropDownList.inputButton({c:ee})),rounded:null,themeColor:"base",iconClass:$e,svgIcon:$e?void 0:Ot||tt.caretAltDownIcon,onMouseDown:e=>g.focused&&e.preventDefault()}),mt(ae),!le&&It()),le&&yt());return Ne?a.createElement(Wt.FloatingLabel,{label:Ne,editorValue:Ke,editorValid:Qe,editorDisabled:n.disabled,style:{width:oe?oe.width:void 0},children:Ze}):Ze});me.propTypes={delay:L.number,ignoreCase:L.bool,iconClassName:L.string,svgIcon:o.svgIconPropType,defaultItem:L.any,valueRender:L.func,valueMap:L.func,validationMessage:L.string,required:L.bool,id:L.string,ariaLabelledBy:L.string,ariaDescribedBy:L.string,ariaLabel:L.string,leftRightKeysNavigation:L.bool,title:L.string,groupField:L.string,list:L.any,skipDisabledItems:L.bool};const P={delay:500,tabIndex:0,ignoreCase:!0,...ot.defaultProps,required:!1,size:"medium",rounded:"medium",fillMode:"solid",groupMode:"modern"};me.displayName="KendoReactDropDownList";const st=o.createPropsContext();me.displayName="KendoReactDropDownList";exports.DropDownList=me;exports.DropDownListPropsContext=st;exports.dropDownListDefaultProps=P;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ht=require("react"),L=require("prop-types"),o=require("@progress/kendo-react-common"),Wt=require("@progress/kendo-react-labels"),tt=require("@progress/kendo-svg-icons"),_t=require("../common/ListContainer.js"),Ut=require("../common/ListFilter.js"),nt=require("../common/GroupStickyHeader.js"),Gt=require("../common/ListDefaultItem.js"),jt=require("../common/List.js"),ot=require("../common/DropDownBase.js"),u=require("../common/utils.js"),Yt=require("../package-metadata.js"),rt=require("@progress/kendo-react-buttons"),$t=require("@progress/kendo-react-intl"),Fe=require("../messages/index.js"),Me=require("@progress/kendo-react-layout");function Jt(M){const Y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(M){for(const T in M)if(T!=="default"){const n=Object.getOwnPropertyDescriptor(M,T);Object.defineProperty(Y,T,n.get?n:{enumerable:!0,get:()=>M[T]})}}return Y.default=M,Object.freeze(Y)}const a=Jt(Ht),Qt="Please select a value from the list!",me=a.forwardRef((M,Y)=>{let T=!1;const n=o.usePropsContext(st,M),{delay:at=P.delay,tabIndex:it=P.tabIndex,ignoreCase:ge=P.ignoreCase,size:te=P.size,rounded:Te=P.rounded,fillMode:fe=P.fillMode,groupMode:Xt=P.groupMode}=n;if(n.filterable||n.virtual){const e=[];n.filterable&&e.push("filterable"),n.virtual&&e.push("virtualization"),T=!o.validatePackage(Yt.packageMetadata,{component:"DropDownList",features:e})}const N=o.useUnstyled(),ve=o.useId(n.id),De=()=>{var e;if(o.canUseDOM)return((e=J.current)==null?void 0:e.ownerDocument)||window.document},lt=()=>{var e,r;(e=t==null?void 0:t.current)!=null&&e.wrapper&&((r=t==null?void 0:t.current)==null||r.wrapper.focus({preventScroll:!0}))},k=()=>{let e;return q.current!==void 0&&q.current!==null?e=q.current:n.value!==void 0?e=n.value:g.value!==void 0&&g.value!==null?e=g.value:n.defaultValue!==void 0&&n.defaultValue!==null&&(e=n.defaultValue),!u.isPresent(e)&&n.defaultItem!==void 0&&n.defaultItem!==null&&(e=n.defaultItem),e},ct=()=>{const{dataItemKey:e}=n,r=u.getFilteredData(n),i=k();return r.findIndex(p=>u.areSame(p,i,e))},ye=()=>n.required!==void 0?n.required:P.required,he=()=>{const e=n.validationMessage!==void 0,r=k(),i=!ye()||r!==null&&r!==""&&r!==void 0,p=n.valid!==void 0?n.valid:i;return{customError:e,valid:p,valueMissing:r===null}},dt=()=>n.validityStyles!==void 0?n.validityStyles:P.validityStyles,ne=e=>{re.current=!0,e.focus(),window.setTimeout(()=>re.current=!1,30)},we=()=>{Q.current&&ne(Q.current),n.adaptive&&setTimeout(()=>{Q.current&&ne(Q.current)},300)},ut=a.useCallback(e=>{for(const r of e)bt(r.target.clientWidth)},[]),Oe=()=>{var e;(e=Ce.current)!=null&&e.setCustomValidity&&Ce.current.setCustomValidity(he().valid?"":n.validationMessage||Qt)},H=(e,r)=>{const i=k();u.areSame(i,e,n.dataItemKey)||(n.value===void 0&&(r.data.value=e),t.current.updateComponentArgs({value:e}),q.current=e,r.events.push({type:"onChange"}))},b=e=>{var r;(r=t==null?void 0:t.current)==null||r.applyState(e),q.current=void 0},$=(e,r)=>{var c;const{virtual:i,dataItemKey:p,defaultItem:m}=n,f=u.getFilteredData(n),D=i?i.skip:0,v=k(),s=e===-1&&m!==void 0?m:f[e-D],d=!u.areSame(s,v,p);H(s,r),d&&((c=t==null?void 0:t.current)==null||c.triggerPageChangeCornerItems(s,r))},O=(e,r,i)=>{var w,h;const{defaultItem:p,dataItemKey:m,virtual:f={skip:0,total:0,pageSize:0}}=n,D=k(),v=u.getFilteredData(n),s=(w=t==null?void 0:t.current)==null?void 0:w.vs,d=v.findIndex(I=>u.areSame(I,D,m)),c=(h=t==null?void 0:t.current)==null?void 0:h.navigation.navigate({current:f.skip+d,max:(s!=null&&s.enabled?f.total:v.length)-1,min:p!==void 0?-1:0,keyCode:r,skipItems:i||void 0});c!==void 0&&$(c,e),b(e)},pt=e=>{J.current=e,t.current.wrapper=e},mt=e=>a.createElement("select",{name:n.name,ref:r=>{Ce.current=r},tabIndex:-1,"aria-hidden":!0,title:n.label,style:{opacity:0,width:1,border:0,zIndex:-1,position:"absolute",left:"50%"}},a.createElement("option",{value:n.valueMap?n.valueMap.call(void 0,e):e})),Ie=()=>{const{textField:e,dataItemKey:r,virtual:i={skip:0},focusedItemIndex:p=u.itemIndexStartsWith,filterable:m,skipDisabledItems:f=!0}=n,D=k(),v=u.getFilteredData(n),s=n.filter?n.filter:g.text;return f&&e&&!s&&!D?v.findIndex(d=>!d.disabled&&d[e]):u.isPresent(D)&&s===void 0||m&&s===""?v.findIndex(d=>u.areSame(d,D,r)):s?Le.current?p(v,s,e):v.findIndex(d=>u.areSame(d,D,r)):i.skip===0?0:-1},qe=(e,r)=>r!==void 0&&r!==-1&&e&&e.length>0&&e[r].disabled,Se=()=>{const e=u.getFilteredData(n),r=t.current.initState(),i=Ie();qe(e,i)&&(H(null,r),b(r))},xe=e=>{if(e.isPropagationStopped())return;const r=t.current.initState();r.syntheticEvent=e,g.focused||(r.data.focused=!0),Se(),t.current.togglePopup(r),b(r)},Ae=e=>{var F,ue,B,pe,j,Re,et;e&&e.target instanceof Element&&e.target.nodeName==="INPUT"&&e.stopPropagation&&e.stopPropagation();const{filterable:r,disabled:i,defaultItem:p,leftRightKeysNavigation:m=!0,virtual:f={skip:0,total:0,pageSize:0},dataItemKey:D,groupField:v="",textField:s,skipDisabledItems:d=!0}=n,c=u.getFilteredData(n),w=k(),h=c.findIndex(C=>u.areSame(C,w,D)),I=n.opened!==void 0?n.opened:g.opened,l=e.keyCode,K=l===o.Keys.home||l===o.Keys.end,E=l===o.Keys.up||l===o.Keys.down,G=!I&&(e.altKey&&l===o.Keys.down||l===o.Keys.enter||l===o.Keys.space),ee=I&&(e.altKey&&l===o.Keys.up||l===o.Keys.esc),ce=m&&(l===o.Keys.left||l===o.Keys.right),de=E||ce&&!r||K,x=t.current.initState();if(x.syntheticEvent=e,!i){if(K&&((F=t==null?void 0:t.current)!=null&&F.vs.enabled))l===o.Keys.home?f.skip!==0?((ue=t==null?void 0:t.current)==null||ue.triggerOnPageChange(x,0,f.pageSize),A.current=!0):H(c[0],x):f.skip<f.total-f.pageSize?((B=t==null?void 0:t.current)==null||B.triggerOnPageChange(x,f.total-f.pageSize,f.pageSize),A.current=!0):H(c[c.length-1],x);else if(I&&l===o.Keys.pageUp)e.preventDefault(),(pe=t==null?void 0:t.current)==null||pe.scrollPopupByPageSize(-1);else if(I&&l===o.Keys.pageDown)e.preventDefault(),(j=t==null?void 0:t.current)==null||j.scrollPopupByPageSize(1);else if(I&&l===o.Keys.enter){const C=Ie();qe(c,C)?(H(null,x),b(x)):$(C,x),(Re=t==null?void 0:t.current)==null||Re.togglePopup(x),e.preventDefault()}else if(G||ee)ee&&Se(),(et=t==null?void 0:t.current)==null||et.togglePopup(x),e.preventDefault();else if(de){if(Le.current=!1,v!==""&&s)if(!d&&I)O(x,l);else{let C;if(l===o.Keys.down||l===o.Keys.right){const S=c.slice(h+1).find(y=>!y.disabled&&y[s]);C=S&&c.findIndex(y=>y[s]===S[s])}else if(l===o.Keys.up||l===o.Keys.left){let S;if(h===0&&p)C=-1;else if(h===-1)S=c,C=c.findIndex(y=>!y.disabled&&y[s]);else{S=c.slice(0,h);let y=S.pop();for(;y&&y.disabled;)y=S.pop();C=y&&c.findIndex(Pe=>Pe[s]===y[s])}}if(C!==void 0){const S=C-h;O(x,l,S)}else C===void 0&&c.findIndex(S=>S[s]===w[s])===c.length-1&&O(x,l)}else if(!d&&I||K)O(x,l);else if(s){let C;if(l===o.Keys.down||l===o.Keys.right){const S=c.slice(h+1).find(y=>!y.disabled&&y[s]);C=S&&c.findIndex(y=>y[s]===S[s])}else if(l===o.Keys.up||l===o.Keys.left){let S;if(h===0&&p)C=-1;else if(h===-1)S=c,C=c.find(y=>!y.disabled&&y[s]);else{S=c.slice(0,h);let y=S.pop();for(;y&&y.disabled;)y=S.pop();C=y&&c.findIndex(Pe=>Pe[s]===y[s])}}if(C!==void 0){const S=C-h;O(x,l,S)}else C===void 0&&c.findIndex(S=>S[s]===w[s])===c.length-1&&O(x,l)}else O(x,l);e.preventDefault()}b(x)}},gt=e=>{const r=t.current.initState();r.syntheticEvent=e.syntheticEvent,n.filter===void 0&&(r.data.text=e.target.value),t.current.filterChanged(e.target.value,r),Le.current=!0,b(r),Z({group:void 0,text:String(e.target.value)})},ze=()=>{const e=n.filter!==void 0?n.filter:g.text;return n.filterable&&a.createElement(Ut,{value:e,ref:r=>{Q.current=r&&r.element},onChange:gt,onKeyDown:Ae,size:te,rounded:Te,fillMode:fe,renderListFilterWrapper:!0})},ft=e=>{var i;const r=t.current.initState();r.syntheticEvent=e,(i=t==null?void 0:t.current)==null||i.togglePopup(r),H(n.defaultItem,r),b(r)},Ve=()=>{const{textField:e,defaultItem:r,dataItemKey:i}=n,p=k();return r!==void 0&&a.createElement(Gt,{defaultItem:r,textField:e,selected:u.areSame(p,r,i),key:"defaultitemkey",onClick:ft})},vt=(e,r)=>{var i;(i=t==null?void 0:t.current)==null||i.handleItemClick(e,r),q.current=void 0},Dt=e=>{const{vs:r,list:i}=t.current;r.scrollHandler(e);const{groupField:p}=n;let m=u.getFilteredData(n);if(!(!p||!m.length)&&p){const f=_e.current=_e.current||(r.enabled?r.itemHeight:i?i.children[0].offsetHeight:0),v=e.target.scrollTop-r.skip*f;m=t.current.getGroupedDataModernMode(m,p);let s=m[0][p];for(let d=1;d<m.length&&!(f*d>v);d++)m[d]&&m[d][p]&&(s=m[d][p]);s!==g.group&&Z({group:s})}},Be=()=>{var l;const{textField:e,dataItemKey:r,virtual:i={skip:0,total:void 0},groupHeaderItemRender:p,listNoDataRender:m,itemRender:f}=n,D=u.getFilteredData(n),v=N&&N.uDropDownList,s=t.current.vs,d=i.skip,c=n.opened!==void 0?n.opened:g.opened,w=t.current.getPopupSettings(),h=`translateY(${s.translate}px)`,I=k();return a.createElement(jt,{id:Ee,show:c,data:D.slice(),focusedIndex:Ie(),value:I,textField:e,valueField:r,optionsGuid:je,groupField:n.groupField,groupMode:"modern",listRef:K=>{s.list=t.current.list=K},wrapperStyle:{maxHeight:le?void 0:w.height},wrapperCssClass:o.classNames(o.uDropDownList.listContent({c:v})),listStyle:s.enabled?{transform:h}:void 0,key:"listkey",skip:d,onClick:vt,itemRender:f,groupHeaderItemRender:p,noDataRender:m,onScroll:Dt,wrapperRef:s.scrollerRef,scroller:(l=t==null?void 0:t.current)==null?void 0:l.renderScrollElement(),ariaSetSize:i.total})},yt=()=>{var h;const{header:e,footer:r,adaptiveTitle:i,groupField:p,groupStickyHeaderItemRender:m,list:f}=n,D=u.getFilteredData(n),v=n.opened!==void 0?n.opened:g.opened,s=N&&N.uDropDownList,d=N&&N.uDropDownsActionSheet,c={navigatable:!1,navigatableElements:[],expand:v,animation:!0,onClose:I=>xe(I),className:o.classNames(o.uDropDownsActionSheet.wrapper({c:d}),"k-adaptive-actionsheet"),animationStyles:_&&U&&_<=U.small?{top:0,width:"100%",height:"100%"}:void 0,position:_&&U&&_<=U.small?"fullscreen":void 0};let{group:w}=g;return w===void 0&&p!==void 0&&(w=u.getItemValue(D[0],p)),a.createElement(Me.ActionSheet,{...c},a.createElement(Me.ActionSheetHeader,{className:o.classNames(o.uDropDownsActionSheet.header({c:d}))},a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.titleBar({c:d}))},a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.title({c:d}))},a.createElement("div",null,i)),a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.actions({c:d}))},a.createElement(rt.Button,{tabIndex:0,"aria-label":"Cancel","aria-disabled":"false",type:"button",fillMode:"flat",onClick:xe,themeColor:"primary",svgIcon:tt.checkIcon}))),a.createElement("div",{className:o.classNames(o.uDropDownsActionSheet.titleBarGroup({c:d}))},ze())),a.createElement(Me.ActionSheetContent,null,e&&a.createElement("div",{className:o.classNames(o.uDropDownList.listHeader({c:s}))},e),a.createElement("div",{className:o.classNames(o.uDropDownList.list({c:s,size:"large",virtual:(h=t==null?void 0:t.current)==null?void 0:h.vs.enabled}))},Ve(),!f&&w&&D.length!==0&&a.createElement(nt,{group:w,groupMode:"modern",render:m}),Be()),r&&a.createElement("div",{className:o.classNames(o.uDropDownList.listFooter({c:s}))},r)))},ht=()=>{g.focused&&window.setTimeout(()=>{g.focused&&t.current.wrapper&&ne(t.current.wrapper)})},wt=e=>{"onMouseDownOutside"in(n.popupSettings||{})&&n.popupSettings.onMouseDownOutside.call(void 0,e)},It=()=>{const{header:e,footer:r,dir:i,groupField:p,groupStickyHeaderItemRender:m,list:f}=n,D=u.getFilteredData(n),v=t.current,s=v.getPopupSettings(),d=n.opened!==void 0?n.opened:g.opened,c=s.width!==void 0?s.width:v.popupWidth,w=N&&N.uDropDownList,h={dir:i!==void 0?i:v.dirCalculated,width:c,popupSettings:{...s,popupClass:o.classNames(s.popupClass,o.uDropDownList.listContainer({c:w})),anchor:s.anchor||J.current,show:d,onOpen:we,onClose:ht,onMouseDownOutside:wt},itemsCount:[D.length]};let{group:I}=g;return I===void 0&&p!==void 0&&(I=u.getItemValue(D[0],p)),a.createElement(_t,{...h},ze(),e&&a.createElement("div",{className:o.classNames(o.uDropDownList.listHeader({c:w}))},e),a.createElement("div",{className:o.classNames(o.uDropDownList.list({c:w,size:te,virtual:t.current.vs.enabled}))},Ve(),!f&&I&&D.length!==0&&a.createElement(nt,{group:I,groupMode:"modern",render:m}),Be()),r&&a.createElement("div",{className:o.classNames(o.uDropDownList.listFooter({c:w}))},r),T&&a.createElement(o.WatermarkOverlay,null))},St=e=>{const{dataItemKey:r}=n,i=u.getFilteredData(n),p=k();let m=i.map((E,G)=>({item:E,itemIndex:G}));const f=W.current.word,D=W.current.last,v=u.sameCharsOnly(f,D);let s=m.length,d=Math.max(0,i.findIndex(E=>u.areSame(E,p,r))),c;n.defaultItem&&(c={item:n.defaultItem,itemIndex:-1},s+=1,d+=1),d+=v?1:0,m=u.shuffleData(m,d,c);let w,h,I,l=0;const{textField:K}=n;for(;l<s;){if(w=u.getItemValue(m[l].item,K),h=v&&u.matchText(w,D,ge),I=u.matchText(w,f,ge),h||I){l=m[l].itemIndex;break}l++}if(l!==s){const E=t.current.initState();E.syntheticEvent=e,$(l,E),b(E),q.current=void 0}},xt=e=>{clearTimeout(We.current),n.filterable||(We.current=window.setTimeout(()=>W.current.word="",at),St(e))},Ct=e=>{re.current||t.current.handleFocus(e)},Lt=e=>{if(re.current||!g.focused)return;const r=n.opened!==void 0?n.opened:g.opened,i=t.current.initState();i.syntheticEvent=e,i.data.focused=!1,i.events.push({type:"onBlur"}),r&&Se(),r&&!le&&t.current.togglePopup(i),b(i)},kt=e=>{if(n.filterable||e.which===0||e.keyCode===o.Keys.enter)return;let r=String.fromCharCode(e.charCode||e.keyCode);ge&&(r=r.toLowerCase()),r===" "&&e.preventDefault(),W.current={word:W.current.word+r,last:W.current.last+r},xt(e)},Et=()=>{const e=t.current.initState();e.data.opened=g.opened,t.current.togglePopup(e),b(e)},He=a.useRef(null),J=a.useRef(null),Ce=a.useRef(null),Q=a.useRef(null);a.useImperativeHandle(He,()=>({get element(){return J.current},get index(){return ct()},get name(){return n.name},get validity(){return he()},get value(){return k()},get focused(){return g.focused},get opened(){return g.opened},focus:lt,props:n,togglePopup:Et})),a.useImperativeHandle(Y,()=>He.current);const We=a.useRef(null),W=a.useRef({word:"",last:""}),re=a.useRef(!1),q=a.useRef(null),A=a.useRef(!1),Le=a.useRef(!1),z=a.useRef({}),ke=a.useRef({}),t=a.useRef(new ot({props:n,setState:()=>{},state:{},forceUpdate:()=>{},element:null,value:null,handleItemSelect:()=>{}})),_e=a.useRef(0),X=a.useRef(null),[g,Nt]=a.useState({}),[_,bt]=a.useState(),[,Ue]=a.useReducer(e=>e,!0),Kt=$t.useLocalization(),Z=e=>{Nt({...g,...e})};a.useEffect(()=>{t.current.updateComponentArgs({props:n,setState:Z,state:g,forceUpdate:Ue,element:J.current,handleItemSelect:$,value:k()})},[Z,g,Ue,$,k]),a.useEffect(()=>{var d,c,w,h,I,l,K,E,G,ee,ce,de,x;const{dataItemKey:e,virtual:r,groupField:i="",textField:p}=n,m=u.getFilteredData(n),f=z.current.virtual?z.current.virtual.total:0,D=n.opened!==void 0?n.opened:g.opened,v=z.current.opened!==void 0?z.current.opened:ke.current.opened,s=!v&&D;if((d=t==null?void 0:t.current)==null||d.didUpdate(),(c=t==null?void 0:t.current)!=null&&c.getPopupSettings().animate||s&&we(),r&&r.total!==f)(w=t==null?void 0:t.current)==null||w.vs.calcScrollElementHeight(),(h=t==null?void 0:t.current)==null||h.vs.reset();else{const F=k(),ue=z.current.value!==void 0?z.current.value:ke.current.value;let B=m.findIndex(j=>u.areSame(j,F,e));i!==""&&F&&p&&(B=(l=(I=t==null?void 0:t.current)==null?void 0:I.getGroupedDataModernMode(m,i))==null?void 0:l.map(j=>j[p]).indexOf(F[p]));const pe=!u.areSame(ue,F,e);s&&r?(K=t==null?void 0:t.current)==null||K.scrollToVirtualItem(r,B):s&&!r?(we(),m&&m.length!==0&&((E=t==null?void 0:t.current)==null||E.resetGroupStickyHeader(m[0][i],{setState:Z,group:g.group,state:g})),(G=t==null?void 0:t.current)==null||G.scrollToItem(B)):D&&v&&F&&pe&&!A.current?(ce=t==null?void 0:t.current)==null||ce.scrollToItem(B,(ee=t==null?void 0:t.current)==null?void 0:ee.vs.enabled):D&&v&&A.current&&(A.current&&r&&r.skip===0?(de=t==null?void 0:t.current)==null||de.vs.reset():A.current&&r&&r.skip===r.total-r.pageSize&&((x=t==null?void 0:t.current)==null||x.vs.scrollToEnd()))}A.current=!1,ke.current=g,z.current=n,Oe()}),a.useEffect(()=>{var e,r;return X.current=o.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(ut.bind(void 0)),(e=t==null?void 0:t.current)==null||e.didMount(),Oe(),(r=De())!=null&&r.body&&X.current&&X.current.observe(De().body),()=>{var i;(i=De())!=null&&i.body&&X.current&&X.current.disconnect()}},[]);const Ge=ve+"-accessibility-id",Ee=ve+"-listbox-id",je=ve+"-guid",Pt=Kt.toLanguageString(Fe.dropDownListArrowBtnAriaLabel,Fe.messages[Fe.dropDownListArrowBtnAriaLabel]),{style:oe,className:Ft,label:Ne,dir:Mt,virtual:V,adaptive:Zt,dataItemKey:Tt,disabled:se,loading:Ye,iconClassName:$e,svgIcon:Ot,valueRender:Je}=n,be=n.opened!==void 0?n.opened:g.opened,ae=k(),Ke=u.getItemValue(ae,n.textField),Qe=!dt()||he().valid,ie=t.current,qt=ie.vs,R=N&&N.uDropDownList;qt.enabled=V!==void 0;const U=o.useAdaptiveModeContext(),le=!!(_&&U&&_<=U.medium&&n.adaptive);V!==void 0&&(ie.vs.skip=V.skip,ie.vs.total=V.total,ie.vs.pageSize=V.pageSize);const At=u.getFilteredData(n),{focused:zt}=g,Vt=At.findIndex(e=>u.areSame(e,ae,Tt)),Xe=a.createElement("span",{id:Ge,className:o.classNames(o.uDropDownList.inputInner({c:R}))},Ke&&a.createElement("span",{className:o.classNames(o.uDropDownList.inputText({c:R}))},Ke)),Bt=Je!==void 0?Je.call(void 0,Xe,ae):Xe,Ze=a.createElement(a.Fragment,null,a.createElement("span",{ref:pt,className:o.classNames(o.uDropDownList.wrapper({c:R,size:te,rounded:Te,fillMode:fe,focused:zt,disabled:se,invalid:!Qe,loading:Ye,required:ye()}),Ft),style:Ne?{...oe,width:void 0}:oe,dir:Mt,onMouseDown:be?e=>{e.target.nodeName!=="INPUT"&&(ne(t.current.wrapper),e.preventDefault())}:void 0,onFocus:Ct,onBlur:Lt,tabIndex:o.getTabIndex(it,se),accessKey:n.accessKey,onKeyDown:Ae,onKeyPress:kt,onClick:se?void 0:xe,role:"combobox","aria-required":ye(),"aria-disabled":se||void 0,"aria-haspopup":"listbox","aria-expanded":be||!1,"aria-owns":Ee,"aria-activedescendant":be?"option-"+je+"-"+(Vt+(V?V.skip:0)):void 0,"aria-label":n.ariaLabel||n.label,"aria-labelledby":n.ariaLabelledBy,"aria-describedby":n.ariaDescribedBy||Ge,"aria-controls":Ee,id:n.id,title:n.title},Bt,Ye&&a.createElement(o.IconWrap,{className:o.classNames(o.uDropDownList.loadingIcon({c:R})),name:"loading"}),a.createElement(rt.Button,{tabIndex:-1,type:"button","aria-label":Pt,size:te,fillMode:fe,className:o.classNames(o.uDropDownList.inputButton({c:R})),rounded:null,themeColor:"base",iconClass:$e,svgIcon:$e?void 0:Ot||tt.caretAltDownIcon,onMouseDown:e=>g.focused&&e.preventDefault()}),mt(ae),!le&&It()),le&&yt());return Ne?a.createElement(Wt.FloatingLabel,{label:Ne,editorValue:Ke,editorValid:Qe,editorDisabled:n.disabled,style:{width:oe?oe.width:void 0},children:Ze}):Ze});me.propTypes={delay:L.number,ignoreCase:L.bool,iconClassName:L.string,svgIcon:o.svgIconPropType,defaultItem:L.any,valueRender:L.func,valueMap:L.func,validationMessage:L.string,required:L.bool,id:L.string,ariaLabelledBy:L.string,ariaDescribedBy:L.string,ariaLabel:L.string,leftRightKeysNavigation:L.bool,title:L.string,groupField:L.string,list:L.any,skipDisabledItems:L.bool};const P={delay:500,tabIndex:0,ignoreCase:!0,...ot.defaultProps,required:!1,size:"medium",rounded:"medium",fillMode:"solid",groupMode:"modern"};me.displayName="KendoReactDropDownList";const st=o.createPropsContext();me.displayName="KendoReactDropDownList";exports.DropDownList=me;exports.DropDownListPropsContext=st;exports.dropDownListDefaultProps=P;
|
|
@@ -9,7 +9,7 @@ import * as i from "react";
|
|
|
9
9
|
import E from "prop-types";
|
|
10
10
|
import { usePropsContext as Yt, validatePackage as $t, useUnstyled as jt, useId as Jt, canUseDOM as nt, useAdaptiveModeContext as Qt, classNames as C, uDropDownList as L, getTabIndex as Xt, IconWrap as Zt, svgIconPropType as Rt, createPropsContext as en, Keys as w, uDropDownsActionSheet as j, WatermarkOverlay as tn } from "@progress/kendo-react-common";
|
|
11
11
|
import { FloatingLabel as nn } from "@progress/kendo-react-labels";
|
|
12
|
-
import { caretAltDownIcon as rn,
|
|
12
|
+
import { caretAltDownIcon as rn, checkIcon as on } from "@progress/kendo-svg-icons";
|
|
13
13
|
import an from "../common/ListContainer.mjs";
|
|
14
14
|
import sn from "../common/ListFilter.mjs";
|
|
15
15
|
import rt from "../common/GroupStickyHeader.mjs";
|
|
@@ -28,10 +28,10 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
28
28
|
delay: ut = T.delay,
|
|
29
29
|
tabIndex: pt = T.tabIndex,
|
|
30
30
|
ignoreCase: ve = T.ignoreCase,
|
|
31
|
-
size:
|
|
31
|
+
size: ne = T.size,
|
|
32
32
|
rounded: ze = T.rounded,
|
|
33
33
|
fillMode: ge = T.fillMode,
|
|
34
|
-
groupMode:
|
|
34
|
+
groupMode: Dn = T.groupMode
|
|
35
35
|
} = n;
|
|
36
36
|
if (n.filterable || n.virtual) {
|
|
37
37
|
const e = [];
|
|
@@ -43,7 +43,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
43
43
|
const N = jt(), he = Jt(n.id), Ie = () => {
|
|
44
44
|
var e;
|
|
45
45
|
if (nt)
|
|
46
|
-
return ((e =
|
|
46
|
+
return ((e = Q.current) == null ? void 0 : e.ownerDocument) || window.document;
|
|
47
47
|
}, mt = () => {
|
|
48
48
|
var e, r;
|
|
49
49
|
(e = t == null ? void 0 : t.current) != null && e.wrapper && ((r = t == null ? void 0 : t.current) == null || r.wrapper.focus({ preventScroll: !0 }));
|
|
@@ -62,9 +62,9 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
62
62
|
};
|
|
63
63
|
}, vt = () => n.validityStyles !== void 0 ? n.validityStyles : T.validityStyles, re = (e) => {
|
|
64
64
|
oe.current = !0, e.focus(), window.setTimeout(() => oe.current = !1, 30);
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
}, De = () => {
|
|
66
|
+
X.current && re(X.current), n.adaptive && setTimeout(() => {
|
|
67
|
+
X.current && re(X.current);
|
|
68
68
|
}, 300);
|
|
69
69
|
}, gt = i.useCallback((e) => {
|
|
70
70
|
for (const r of e)
|
|
@@ -80,7 +80,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
80
80
|
}, F = (e) => {
|
|
81
81
|
var r;
|
|
82
82
|
(r = t == null ? void 0 : t.current) == null || r.applyState(e), A.current = void 0;
|
|
83
|
-
},
|
|
83
|
+
}, J = (e, r) => {
|
|
84
84
|
var l;
|
|
85
85
|
const { virtual: a, dataItemKey: c, defaultItem: u } = n, m = b(n), v = a ? a.skip : 0, f = k(), o = e === -1 && u !== void 0 ? u : m[e - v], d = !M(o, f, c);
|
|
86
86
|
q(o, r), d && ((l = t == null ? void 0 : t.current) == null || l.triggerPageChangeCornerItems(o, r));
|
|
@@ -93,9 +93,9 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
93
93
|
keyCode: r,
|
|
94
94
|
skipItems: a || void 0
|
|
95
95
|
});
|
|
96
|
-
l !== void 0 &&
|
|
96
|
+
l !== void 0 && J(l, e), F(e);
|
|
97
97
|
}, ht = (e) => {
|
|
98
|
-
|
|
98
|
+
Q.current = e, t.current.wrapper = e;
|
|
99
99
|
}, It = (e) => /* @__PURE__ */ i.createElement(
|
|
100
100
|
"select",
|
|
101
101
|
{
|
|
@@ -109,7 +109,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
109
109
|
style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: "absolute", left: "50%" }
|
|
110
110
|
},
|
|
111
111
|
/* @__PURE__ */ i.createElement("option", { value: n.valueMap ? n.valueMap.call(void 0, e) : e })
|
|
112
|
-
),
|
|
112
|
+
), Se = () => {
|
|
113
113
|
const {
|
|
114
114
|
textField: e,
|
|
115
115
|
dataItemKey: r,
|
|
@@ -119,14 +119,14 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
119
119
|
skipDisabledItems: m = !0
|
|
120
120
|
} = n, v = k(), f = b(n), o = n.filter ? n.filter : p.text;
|
|
121
121
|
return m && e && !o && !v ? f.findIndex((d) => !d.disabled && d[e]) : ot(v) && o === void 0 || u && o === "" ? f.findIndex((d) => M(d, v, r)) : o ? ke.current ? c(f, o, e) : f.findIndex((d) => M(d, v, r)) : a.skip === 0 ? 0 : -1;
|
|
122
|
-
}, Ae = (e, r) => r !== void 0 && r !== -1 && e && e.length > 0 && e[r].disabled,
|
|
123
|
-
const e = b(n), r = t.current.initState(), a =
|
|
122
|
+
}, Ae = (e, r) => r !== void 0 && r !== -1 && e && e.length > 0 && e[r].disabled, xe = () => {
|
|
123
|
+
const e = b(n), r = t.current.initState(), a = Se();
|
|
124
124
|
Ae(e, a) && (q(null, r), F(r));
|
|
125
125
|
}, Ce = (e) => {
|
|
126
126
|
if (e.isPropagationStopped())
|
|
127
127
|
return;
|
|
128
128
|
const r = t.current.initState();
|
|
129
|
-
r.syntheticEvent = e, p.focused || (r.data.focused = !0),
|
|
129
|
+
r.syntheticEvent = e, p.focused || (r.data.focused = !0), xe(), t.current.togglePopup(r), F(r);
|
|
130
130
|
}, He = (e) => {
|
|
131
131
|
var z, pe, W, me, $, et, tt;
|
|
132
132
|
e && e.target instanceof Element && e.target.nodeName === "INPUT" && e.stopPropagation && e.stopPropagation();
|
|
@@ -140,85 +140,85 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
140
140
|
groupField: f = "",
|
|
141
141
|
textField: o,
|
|
142
142
|
skipDisabledItems: d = !0
|
|
143
|
-
} = n, l = b(n), I = k(), h = l.findIndex((
|
|
144
|
-
if (
|
|
143
|
+
} = n, l = b(n), I = k(), h = l.findIndex((x) => M(x, I, v)), y = n.opened !== void 0 ? n.opened : p.opened, s = e.keyCode, K = s === w.home || s === w.end, P = s === w.up || s === w.down, Y = !y && (e.altKey && s === w.down || s === w.enter || s === w.space), te = y && (e.altKey && s === w.up || s === w.esc), ce = u && (s === w.left || s === w.right), ue = P || ce && !r || K, S = t.current.initState();
|
|
144
|
+
if (S.syntheticEvent = e, !a) {
|
|
145
145
|
if (K && ((z = t == null ? void 0 : t.current) != null && z.vs.enabled))
|
|
146
|
-
s === w.home ? m.skip !== 0 ? ((pe = t == null ? void 0 : t.current) == null || pe.triggerOnPageChange(
|
|
147
|
-
|
|
146
|
+
s === w.home ? m.skip !== 0 ? ((pe = t == null ? void 0 : t.current) == null || pe.triggerOnPageChange(S, 0, m.pageSize), H.current = !0) : q(l[0], S) : m.skip < m.total - m.pageSize ? ((W = t == null ? void 0 : t.current) == null || W.triggerOnPageChange(
|
|
147
|
+
S,
|
|
148
148
|
m.total - m.pageSize,
|
|
149
149
|
m.pageSize
|
|
150
|
-
), H.current = !0) : q(l[l.length - 1],
|
|
150
|
+
), H.current = !0) : q(l[l.length - 1], S);
|
|
151
151
|
else if (y && s === w.pageUp)
|
|
152
152
|
e.preventDefault(), (me = t == null ? void 0 : t.current) == null || me.scrollPopupByPageSize(-1);
|
|
153
153
|
else if (y && s === w.pageDown)
|
|
154
154
|
e.preventDefault(), ($ = t == null ? void 0 : t.current) == null || $.scrollPopupByPageSize(1);
|
|
155
155
|
else if (y && s === w.enter) {
|
|
156
|
-
const
|
|
157
|
-
Ae(l,
|
|
158
|
-
} else if (Y ||
|
|
159
|
-
|
|
156
|
+
const x = Se();
|
|
157
|
+
Ae(l, x) ? (q(null, S), F(S)) : J(x, S), (et = t == null ? void 0 : t.current) == null || et.togglePopup(S), e.preventDefault();
|
|
158
|
+
} else if (Y || te)
|
|
159
|
+
te && xe(), (tt = t == null ? void 0 : t.current) == null || tt.togglePopup(S), e.preventDefault();
|
|
160
160
|
else if (ue) {
|
|
161
161
|
if (ke.current = !1, f !== "" && o)
|
|
162
162
|
if (!d && y)
|
|
163
|
-
O(
|
|
163
|
+
O(S, s);
|
|
164
164
|
else {
|
|
165
|
-
let
|
|
165
|
+
let x;
|
|
166
166
|
if (s === w.down || s === w.right) {
|
|
167
|
-
const
|
|
168
|
-
|
|
167
|
+
const D = l.slice(h + 1).find((g) => !g.disabled && g[o]);
|
|
168
|
+
x = D && l.findIndex((g) => g[o] === D[o]);
|
|
169
169
|
} else if (s === w.up || s === w.left) {
|
|
170
|
-
let
|
|
170
|
+
let D;
|
|
171
171
|
if (h === 0 && c)
|
|
172
|
-
|
|
172
|
+
x = -1;
|
|
173
173
|
else if (h === -1)
|
|
174
|
-
|
|
174
|
+
D = l, x = l.findIndex((g) => !g.disabled && g[o]);
|
|
175
175
|
else {
|
|
176
|
-
|
|
177
|
-
let g =
|
|
176
|
+
D = l.slice(0, h);
|
|
177
|
+
let g = D.pop();
|
|
178
178
|
for (; g && g.disabled; )
|
|
179
|
-
g =
|
|
180
|
-
|
|
179
|
+
g = D.pop();
|
|
180
|
+
x = g && l.findIndex((Fe) => Fe[o] === g[o]);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
if (
|
|
184
|
-
const
|
|
185
|
-
O(
|
|
186
|
-
} else
|
|
183
|
+
if (x !== void 0) {
|
|
184
|
+
const D = x - h;
|
|
185
|
+
O(S, s, D);
|
|
186
|
+
} else x === void 0 && l.findIndex((D) => D[o] === I[o]) === l.length - 1 && O(S, s);
|
|
187
187
|
}
|
|
188
188
|
else if (!d && y || K)
|
|
189
|
-
O(
|
|
189
|
+
O(S, s);
|
|
190
190
|
else if (o) {
|
|
191
|
-
let
|
|
191
|
+
let x;
|
|
192
192
|
if (s === w.down || s === w.right) {
|
|
193
|
-
const
|
|
194
|
-
|
|
193
|
+
const D = l.slice(h + 1).find((g) => !g.disabled && g[o]);
|
|
194
|
+
x = D && l.findIndex((g) => g[o] === D[o]);
|
|
195
195
|
} else if (s === w.up || s === w.left) {
|
|
196
|
-
let
|
|
196
|
+
let D;
|
|
197
197
|
if (h === 0 && c)
|
|
198
|
-
|
|
198
|
+
x = -1;
|
|
199
199
|
else if (h === -1)
|
|
200
|
-
|
|
200
|
+
D = l, x = l.find((g) => !g.disabled && g[o]);
|
|
201
201
|
else {
|
|
202
|
-
|
|
203
|
-
let g =
|
|
202
|
+
D = l.slice(0, h);
|
|
203
|
+
let g = D.pop();
|
|
204
204
|
for (; g && g.disabled; )
|
|
205
|
-
g =
|
|
206
|
-
|
|
205
|
+
g = D.pop();
|
|
206
|
+
x = g && l.findIndex((Fe) => Fe[o] === g[o]);
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
|
-
if (
|
|
210
|
-
const
|
|
211
|
-
O(
|
|
212
|
-
} else
|
|
209
|
+
if (x !== void 0) {
|
|
210
|
+
const D = x - h;
|
|
211
|
+
O(S, s, D);
|
|
212
|
+
} else x === void 0 && l.findIndex((D) => D[o] === I[o]) === l.length - 1 && O(S, s);
|
|
213
213
|
} else
|
|
214
|
-
O(
|
|
214
|
+
O(S, s);
|
|
215
215
|
e.preventDefault();
|
|
216
216
|
}
|
|
217
|
-
F(
|
|
217
|
+
F(S);
|
|
218
218
|
}
|
|
219
219
|
}, yt = (e) => {
|
|
220
220
|
const r = t.current.initState();
|
|
221
|
-
r.syntheticEvent = e.syntheticEvent, n.filter === void 0 && (r.data.text = e.target.value), t.current.filterChanged(e.target.value, r), ke.current = !0, F(r),
|
|
221
|
+
r.syntheticEvent = e.syntheticEvent, n.filter === void 0 && (r.data.text = e.target.value), t.current.filterChanged(e.target.value, r), ke.current = !0, F(r), R({ group: void 0, text: String(e.target.value) });
|
|
222
222
|
}, Ve = () => {
|
|
223
223
|
const e = n.filter !== void 0 ? n.filter : p.text;
|
|
224
224
|
return n.filterable && /* @__PURE__ */ i.createElement(
|
|
@@ -226,11 +226,11 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
226
226
|
{
|
|
227
227
|
value: e,
|
|
228
228
|
ref: (r) => {
|
|
229
|
-
|
|
229
|
+
X.current = r && r.element;
|
|
230
230
|
},
|
|
231
231
|
onChange: yt,
|
|
232
232
|
onKeyDown: He,
|
|
233
|
-
size:
|
|
233
|
+
size: ne,
|
|
234
234
|
rounded: ze,
|
|
235
235
|
fillMode: ge,
|
|
236
236
|
renderListFilterWrapper: !0
|
|
@@ -252,10 +252,10 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
252
252
|
onClick: wt
|
|
253
253
|
}
|
|
254
254
|
);
|
|
255
|
-
},
|
|
255
|
+
}, Dt = (e, r) => {
|
|
256
256
|
var a;
|
|
257
257
|
(a = t == null ? void 0 : t.current) == null || a.handleItemClick(e, r), A.current = void 0;
|
|
258
|
-
},
|
|
258
|
+
}, St = (e) => {
|
|
259
259
|
const { vs: r, list: a } = t.current;
|
|
260
260
|
r.scrollHandler(e);
|
|
261
261
|
const { groupField: c } = n;
|
|
@@ -266,7 +266,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
266
266
|
let o = u[0][c];
|
|
267
267
|
for (let d = 1; d < u.length && !(m * d > f); d++)
|
|
268
268
|
u[d] && u[d][c] && (o = u[d][c]);
|
|
269
|
-
o !== p.group &&
|
|
269
|
+
o !== p.group && R({ group: o });
|
|
270
270
|
}
|
|
271
271
|
}, We = () => {
|
|
272
272
|
var s;
|
|
@@ -284,7 +284,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
284
284
|
id: be,
|
|
285
285
|
show: l,
|
|
286
286
|
data: v.slice(),
|
|
287
|
-
focusedIndex:
|
|
287
|
+
focusedIndex: Se(),
|
|
288
288
|
value: y,
|
|
289
289
|
textField: e,
|
|
290
290
|
valueField: r,
|
|
@@ -299,17 +299,17 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
299
299
|
listStyle: o.enabled ? { transform: h } : void 0,
|
|
300
300
|
key: "listkey",
|
|
301
301
|
skip: d,
|
|
302
|
-
onClick:
|
|
302
|
+
onClick: Dt,
|
|
303
303
|
itemRender: m,
|
|
304
304
|
groupHeaderItemRender: c,
|
|
305
305
|
noDataRender: u,
|
|
306
|
-
onScroll:
|
|
306
|
+
onScroll: St,
|
|
307
307
|
wrapperRef: o.scrollerRef,
|
|
308
308
|
scroller: (s = t == null ? void 0 : t.current) == null ? void 0 : s.renderScrollElement(),
|
|
309
309
|
ariaSetSize: a.total
|
|
310
310
|
}
|
|
311
311
|
);
|
|
312
|
-
},
|
|
312
|
+
}, xt = () => {
|
|
313
313
|
var h;
|
|
314
314
|
const { header: e, footer: r, adaptiveTitle: a, groupField: c, groupStickyHeaderItemRender: u, list: m } = n, v = b(n), f = n.opened !== void 0 ? n.opened : p.opened, o = N && N.uDropDownList, d = N && N.uDropDownsActionSheet, l = {
|
|
315
315
|
navigatable: !1,
|
|
@@ -336,7 +336,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
336
336
|
type: "button",
|
|
337
337
|
fillMode: "flat",
|
|
338
338
|
onClick: Ce,
|
|
339
|
-
|
|
339
|
+
themeColor: "primary",
|
|
340
340
|
svgIcon: on
|
|
341
341
|
}
|
|
342
342
|
))), /* @__PURE__ */ i.createElement("div", { className: C(j.titleBarGroup({ c: d })) }, Ve())), /* @__PURE__ */ i.createElement(In, null, e && /* @__PURE__ */ i.createElement("div", { className: C(L.listHeader({ c: o })) }, e), /* @__PURE__ */ i.createElement(
|
|
@@ -345,7 +345,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
345
345
|
className: C(
|
|
346
346
|
L.list({
|
|
347
347
|
c: o,
|
|
348
|
-
size:
|
|
348
|
+
size: "large",
|
|
349
349
|
virtual: (h = t == null ? void 0 : t.current) == null ? void 0 : h.vs.enabled
|
|
350
350
|
})
|
|
351
351
|
)
|
|
@@ -379,9 +379,9 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
379
379
|
c: I
|
|
380
380
|
})
|
|
381
381
|
),
|
|
382
|
-
anchor: o.anchor ||
|
|
382
|
+
anchor: o.anchor || Q.current,
|
|
383
383
|
show: d,
|
|
384
|
-
onOpen:
|
|
384
|
+
onOpen: De,
|
|
385
385
|
onClose: Ct,
|
|
386
386
|
onMouseDownOutside: Et
|
|
387
387
|
},
|
|
@@ -394,7 +394,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
394
394
|
className: C(
|
|
395
395
|
L.list({
|
|
396
396
|
c: I,
|
|
397
|
-
size:
|
|
397
|
+
size: ne,
|
|
398
398
|
virtual: t.current.vs.enabled
|
|
399
399
|
})
|
|
400
400
|
)
|
|
@@ -423,7 +423,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
423
423
|
}
|
|
424
424
|
if (s !== o) {
|
|
425
425
|
const P = t.current.initState();
|
|
426
|
-
P.syntheticEvent = e,
|
|
426
|
+
P.syntheticEvent = e, J(s, P), F(P), A.current = void 0;
|
|
427
427
|
}
|
|
428
428
|
}, bt = (e) => {
|
|
429
429
|
clearTimeout(Ue.current), n.filterable || (Ue.current = window.setTimeout(() => U.current.word = "", ut), Lt(e));
|
|
@@ -433,7 +433,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
433
433
|
if (oe.current || !p.focused)
|
|
434
434
|
return;
|
|
435
435
|
const r = n.opened !== void 0 ? n.opened : p.opened, a = t.current.initState();
|
|
436
|
-
a.syntheticEvent = e, a.data.focused = !1, a.events.push({ type: "onBlur" }), r &&
|
|
436
|
+
a.syntheticEvent = e, a.data.focused = !1, a.events.push({ type: "onBlur" }), r && xe(), r && !de && t.current.togglePopup(a), F(a);
|
|
437
437
|
}, Nt = (e) => {
|
|
438
438
|
if (n.filterable || e.which === 0 || e.keyCode === w.enter)
|
|
439
439
|
return;
|
|
@@ -445,12 +445,12 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
445
445
|
}, Ft = () => {
|
|
446
446
|
const e = t.current.initState();
|
|
447
447
|
e.data.opened = p.opened, t.current.togglePopup(e), F(e);
|
|
448
|
-
}, qe = i.useRef(null),
|
|
448
|
+
}, qe = i.useRef(null), Q = i.useRef(null), Ee = i.useRef(null), X = i.useRef(null);
|
|
449
449
|
i.useImperativeHandle(
|
|
450
450
|
qe,
|
|
451
451
|
() => ({
|
|
452
452
|
get element() {
|
|
453
|
-
return
|
|
453
|
+
return Q.current;
|
|
454
454
|
},
|
|
455
455
|
get index() {
|
|
456
456
|
return ft();
|
|
@@ -491,41 +491,41 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
491
491
|
handleItemSelect: () => {
|
|
492
492
|
}
|
|
493
493
|
})
|
|
494
|
-
), _e = i.useRef(0),
|
|
494
|
+
), _e = i.useRef(0), Z = i.useRef(null), [p, Kt] = i.useState({}), [_, Tt] = i.useState(), [, Ge] = i.useReducer((e) => e, !0), zt = fn(), R = (e) => {
|
|
495
495
|
Kt({ ...p, ...e });
|
|
496
496
|
};
|
|
497
497
|
i.useEffect(() => {
|
|
498
498
|
t.current.updateComponentArgs({
|
|
499
499
|
props: n,
|
|
500
|
-
setState:
|
|
500
|
+
setState: R,
|
|
501
501
|
state: p,
|
|
502
502
|
forceUpdate: Ge,
|
|
503
|
-
element:
|
|
504
|
-
handleItemSelect:
|
|
503
|
+
element: Q.current,
|
|
504
|
+
handleItemSelect: J,
|
|
505
505
|
value: k()
|
|
506
506
|
});
|
|
507
|
-
}, [
|
|
508
|
-
var d, l, I, h, y, s, K, P, Y,
|
|
507
|
+
}, [R, p, Ge, J, k]), i.useEffect(() => {
|
|
508
|
+
var d, l, I, h, y, s, K, P, Y, te, ce, ue, S;
|
|
509
509
|
const { dataItemKey: e, virtual: r, groupField: a = "", textField: c } = n, u = b(n), m = V.current.virtual ? V.current.virtual.total : 0, v = n.opened !== void 0 ? n.opened : p.opened, f = V.current.opened !== void 0 ? V.current.opened : Le.current.opened, o = !f && v;
|
|
510
|
-
if ((d = t == null ? void 0 : t.current) == null || d.didUpdate(), (l = t == null ? void 0 : t.current) != null && l.getPopupSettings().animate || o &&
|
|
510
|
+
if ((d = t == null ? void 0 : t.current) == null || d.didUpdate(), (l = t == null ? void 0 : t.current) != null && l.getPopupSettings().animate || o && De(), r && r.total !== m)
|
|
511
511
|
(I = t == null ? void 0 : t.current) == null || I.vs.calcScrollElementHeight(), (h = t == null ? void 0 : t.current) == null || h.vs.reset();
|
|
512
512
|
else {
|
|
513
513
|
const z = k(), pe = V.current.value !== void 0 ? V.current.value : Le.current.value;
|
|
514
514
|
let W = u.findIndex(($) => M($, z, e));
|
|
515
515
|
a !== "" && z && c && (W = (s = (y = t == null ? void 0 : t.current) == null ? void 0 : y.getGroupedDataModernMode(u, a)) == null ? void 0 : s.map(($) => $[c]).indexOf(z[c]));
|
|
516
516
|
const me = !M(pe, z, e);
|
|
517
|
-
o && r ? (K = t == null ? void 0 : t.current) == null || K.scrollToVirtualItem(r, W) : o && !r ? (
|
|
518
|
-
setState:
|
|
517
|
+
o && r ? (K = t == null ? void 0 : t.current) == null || K.scrollToVirtualItem(r, W) : o && !r ? (De(), u && u.length !== 0 && ((P = t == null ? void 0 : t.current) == null || P.resetGroupStickyHeader(u[0][a], {
|
|
518
|
+
setState: R,
|
|
519
519
|
group: p.group,
|
|
520
520
|
state: p
|
|
521
|
-
})), (Y = t == null ? void 0 : t.current) == null || Y.scrollToItem(W)) : v && f && z && me && !H.current ? (ce = t == null ? void 0 : t.current) == null || ce.scrollToItem(W, (
|
|
521
|
+
})), (Y = t == null ? void 0 : t.current) == null || Y.scrollToItem(W)) : v && f && z && me && !H.current ? (ce = t == null ? void 0 : t.current) == null || ce.scrollToItem(W, (te = t == null ? void 0 : t.current) == null ? void 0 : te.vs.enabled) : v && f && H.current && (H.current && r && r.skip === 0 ? (ue = t == null ? void 0 : t.current) == null || ue.vs.reset() : H.current && r && r.skip === r.total - r.pageSize && ((S = t == null ? void 0 : t.current) == null || S.vs.scrollToEnd()));
|
|
522
522
|
}
|
|
523
523
|
H.current = !1, Le.current = p, V.current = n, Oe();
|
|
524
524
|
}), i.useEffect(() => {
|
|
525
525
|
var e, r;
|
|
526
|
-
return
|
|
526
|
+
return Z.current = nt && window.ResizeObserver && new window.ResizeObserver(gt.bind(void 0)), (e = t == null ? void 0 : t.current) == null || e.didMount(), Oe(), (r = Ie()) != null && r.body && Z.current && Z.current.observe(Ie().body), () => {
|
|
527
527
|
var a;
|
|
528
|
-
(a = Ie()) != null && a.body &&
|
|
528
|
+
(a = Ie()) != null && a.body && Z.current && Z.current.disconnect();
|
|
529
529
|
};
|
|
530
530
|
}, []);
|
|
531
531
|
const Ye = he + "-accessibility-id", be = he + "-listbox-id", $e = he + "-guid", Ot = zt.toLanguageString(
|
|
@@ -537,25 +537,25 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
537
537
|
label: Pe,
|
|
538
538
|
dir: Ht,
|
|
539
539
|
virtual: B,
|
|
540
|
-
adaptive:
|
|
540
|
+
adaptive: Sn,
|
|
541
541
|
dataItemKey: Vt,
|
|
542
542
|
disabled: ae,
|
|
543
543
|
loading: je,
|
|
544
544
|
iconClassName: Je,
|
|
545
545
|
svgIcon: Bt,
|
|
546
546
|
valueRender: Qe
|
|
547
|
-
} = n, Me = n.opened !== void 0 ? n.opened : p.opened, se = k(), Ne = fe(se, n.textField), Xe = !vt() || we().valid, le = t.current, Wt = le.vs,
|
|
547
|
+
} = n, Me = n.opened !== void 0 ? n.opened : p.opened, se = k(), Ne = fe(se, n.textField), Xe = !vt() || we().valid, le = t.current, Wt = le.vs, ee = N && N.uDropDownList;
|
|
548
548
|
Wt.enabled = B !== void 0;
|
|
549
549
|
const G = Qt(), de = !!(_ && G && _ <= G.medium && n.adaptive);
|
|
550
550
|
B !== void 0 && (le.vs.skip = B.skip, le.vs.total = B.total, le.vs.pageSize = B.pageSize);
|
|
551
|
-
const qt = b(n), { focused: Ut } = p, _t = qt.findIndex((e) => M(e, se, Vt)), Ze = /* @__PURE__ */ i.createElement("span", { id: Ye, className: C(L.inputInner({ c:
|
|
551
|
+
const qt = b(n), { focused: Ut } = p, _t = qt.findIndex((e) => M(e, se, Vt)), Ze = /* @__PURE__ */ i.createElement("span", { id: Ye, className: C(L.inputInner({ c: ee })) }, Ne && /* @__PURE__ */ i.createElement("span", { className: C(L.inputText({ c: ee })) }, Ne)), Gt = Qe !== void 0 ? Qe.call(void 0, Ze, se) : Ze, Re = /* @__PURE__ */ i.createElement(i.Fragment, null, /* @__PURE__ */ i.createElement(
|
|
552
552
|
"span",
|
|
553
553
|
{
|
|
554
554
|
ref: ht,
|
|
555
555
|
className: C(
|
|
556
556
|
L.wrapper({
|
|
557
|
-
c:
|
|
558
|
-
size:
|
|
557
|
+
c: ee,
|
|
558
|
+
size: ne,
|
|
559
559
|
rounded: ze,
|
|
560
560
|
fillMode: ge,
|
|
561
561
|
focused: Ut,
|
|
@@ -593,16 +593,16 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
593
593
|
title: n.title
|
|
594
594
|
},
|
|
595
595
|
Gt,
|
|
596
|
-
je && /* @__PURE__ */ i.createElement(Zt, { className: C(L.loadingIcon({ c:
|
|
596
|
+
je && /* @__PURE__ */ i.createElement(Zt, { className: C(L.loadingIcon({ c: ee })), name: "loading" }),
|
|
597
597
|
/* @__PURE__ */ i.createElement(
|
|
598
598
|
at,
|
|
599
599
|
{
|
|
600
600
|
tabIndex: -1,
|
|
601
601
|
type: "button",
|
|
602
602
|
"aria-label": Ot,
|
|
603
|
-
size:
|
|
603
|
+
size: ne,
|
|
604
604
|
fillMode: ge,
|
|
605
|
-
className: C(L.inputButton({ c:
|
|
605
|
+
className: C(L.inputButton({ c: ee })),
|
|
606
606
|
rounded: null,
|
|
607
607
|
themeColor: "base",
|
|
608
608
|
iconClass: Je,
|
|
@@ -612,7 +612,7 @@ const yn = "Please select a value from the list!", Ke = i.forwardRef((dt, ct) =>
|
|
|
612
612
|
),
|
|
613
613
|
It(se),
|
|
614
614
|
!de && kt()
|
|
615
|
-
), de &&
|
|
615
|
+
), de && xt());
|
|
616
616
|
return Pe ? /* @__PURE__ */ i.createElement(
|
|
617
617
|
nn,
|
|
618
618
|
{
|