@progress/kendo-react-dropdowns 13.3.0 → 13.4.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutoComplete/AutoComplete.d.ts +274 -0
- package/AutoComplete/AutoComplete.js +1 -1
- package/AutoComplete/AutoComplete.mjs +67 -69
- package/AutoComplete/AutoCompleteProps.d.ts +509 -0
- package/ComboBox/ComboBox.d.ts +279 -0
- package/ComboBox/ComboBox.js +1 -1
- package/ComboBox/ComboBox.mjs +281 -297
- package/ComboBox/ComboBoxProps.d.ts +632 -0
- package/DropDownList/DropDownList.d.ts +41 -0
- package/DropDownList/DropDownList.js +1 -1
- package/DropDownList/DropDownList.mjs +78 -83
- package/DropDownList/DropDownListProps.d.ts +594 -0
- package/DropDownList/models/index.d.ts +54 -0
- package/DropDownTree/DropDownTree.d.ts +76 -0
- package/DropDownTree/DropDownTree.js +1 -1
- package/DropDownTree/DropDownTree.mjs +6 -8
- package/DropDownTree/DropDownTreeProps.d.ts +506 -0
- package/DropDownTree/ListNoData.d.ts +13 -0
- package/DropDownTree/useDropdownWidth.d.ts +13 -0
- package/MultiColumnComboBox/MultiColumnComboBox.d.ts +299 -0
- package/MultiColumnComboBox/MultiColumnComboBox.js +1 -1
- package/MultiColumnComboBox/MultiColumnComboBox.mjs +45 -48
- package/MultiSelect/MultiSelect.d.ts +281 -0
- package/MultiSelect/MultiSelect.js +1 -1
- package/MultiSelect/MultiSelect.mjs +13 -15
- package/MultiSelect/MultiSelectProps.d.ts +592 -0
- package/MultiSelect/TagList.d.ts +45 -0
- package/MultiSelectTree/MultiSelectTree.d.ts +87 -0
- package/MultiSelectTree/MultiSelectTree.js +1 -1
- package/MultiSelectTree/MultiSelectTree.mjs +7 -7
- package/MultiSelectTree/MultiSelectTreeProps.d.ts +554 -0
- package/MultiSelectTree/utils.d.ts +24 -0
- package/common/AdaptiveMode.d.ts +22 -0
- package/common/ClearButton.d.ts +19 -0
- package/common/DropDownBase.d.ts +186 -0
- package/common/DropDownBase.js +1 -1
- package/common/DropDownBase.mjs +1 -1
- package/common/GroupStickyHeader.d.ts +26 -0
- package/common/GroupStickyHeader.js +1 -1
- package/common/GroupStickyHeader.mjs +6 -6
- package/common/List.d.ts +54 -0
- package/common/List.js +1 -1
- package/common/List.mjs +129 -77
- package/common/ListContainer.d.ts +24 -0
- package/common/ListDefaultItem.d.ts +22 -0
- package/common/ListFilter.d.ts +29 -0
- package/common/ListFilter.js +1 -1
- package/common/ListFilter.mjs +12 -12
- package/common/ListGroupItem.d.ts +54 -0
- package/common/ListGroupItem.js +1 -1
- package/common/ListGroupItem.mjs +21 -13
- package/common/ListItem.d.ts +87 -0
- package/common/ListItem.js +1 -1
- package/common/ListItem.mjs +62 -21
- package/common/ListItemIcon.d.ts +26 -0
- package/common/ListItemIcon.js +8 -0
- package/common/ListItemIcon.mjs +21 -0
- package/common/MultiColumnList.d.ts +13 -0
- package/common/Navigation.d.ts +20 -0
- package/common/SearchBar.d.ts +55 -0
- package/common/VirtualScrollStatic.d.ts +44 -0
- package/common/events.d.ts +82 -0
- package/common/filterDescriptor.d.ts +48 -0
- package/common/settings.d.ts +112 -0
- package/common/utils.d.ts +82 -0
- package/common/utils.js +1 -1
- package/common/utils.mjs +50 -47
- package/common/withCustomComponent.d.ts +12 -0
- package/dist/cdn/js/kendo-react-dropdowns.js +1 -1
- package/index.d.mts +28 -5545
- package/index.d.ts +28 -5545
- package/messages/index.d.ts +52 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +10 -10
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { DropDownTreeProps, DropDownTreeHandle } from './DropDownTreeProps.js';
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Represents the PropsContext of the `DropDownTree` component.
|
|
12
|
+
* Used for global configuration of all `DropDownTree` instances.
|
|
13
|
+
*
|
|
14
|
+
* For more information, refer to the [Dropdowns Props Context](https://www.telerik.com/kendo-react-ui/components/dropdowns/props-context) article.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DropDownTreePropsContext: React.Context<(p: DropDownTreeProps) => DropDownTreeProps>;
|
|
17
|
+
/**
|
|
18
|
+
* Represents the DropDownTree component.
|
|
19
|
+
*
|
|
20
|
+
* Accepts properties of type [DropDownTreeProps](https://www.telerik.com/kendo-react-ui/components/dropdowns/api/dropdowntreeprops).
|
|
21
|
+
* Obtaining the `ref` returns an object of type [DropDownTreeHandle](https://www.telerik.com/kendo-react-ui/components/dropdowns/api/dropdowntreehandle).
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```jsx
|
|
25
|
+
* const selectField = "selected";
|
|
26
|
+
* const expandField = "expanded";
|
|
27
|
+
* const dataItemKey = "id";
|
|
28
|
+
* const textField = "text";
|
|
29
|
+
* const subItemsField = "items";
|
|
30
|
+
* const fields = {
|
|
31
|
+
* selectField,
|
|
32
|
+
* expandField,
|
|
33
|
+
* dataItemKey,
|
|
34
|
+
* subItemsField,
|
|
35
|
+
* };
|
|
36
|
+
* const App = () => {
|
|
37
|
+
* const [value, setValue] = React.useState(null);
|
|
38
|
+
* const [expanded, setExpanded] = React.useState([data[0][dataItemKey]]);
|
|
39
|
+
* const onChange = (event) => setValue(event.value);
|
|
40
|
+
* const onExpandChange = React.useCallback(
|
|
41
|
+
* (event) => setExpanded(expandedState(event.item, dataItemKey, expanded)),
|
|
42
|
+
* [expanded]
|
|
43
|
+
* );
|
|
44
|
+
* const treeData = React.useMemo(
|
|
45
|
+
* () =>
|
|
46
|
+
* processTreeData(
|
|
47
|
+
* data,
|
|
48
|
+
* {
|
|
49
|
+
* expanded,
|
|
50
|
+
* value,
|
|
51
|
+
* },
|
|
52
|
+
* fields
|
|
53
|
+
* ),
|
|
54
|
+
* [expanded, value]
|
|
55
|
+
* );
|
|
56
|
+
*
|
|
57
|
+
* return (
|
|
58
|
+
* <DropDownTree
|
|
59
|
+
* style={{
|
|
60
|
+
* width: '300px',
|
|
61
|
+
* }}
|
|
62
|
+
* placeholder="Please select ..."
|
|
63
|
+
* data={treeData}
|
|
64
|
+
* value={value}
|
|
65
|
+
* onChange={onChange}
|
|
66
|
+
* textField={textField}
|
|
67
|
+
* dataItemKey={dataItemKey}
|
|
68
|
+
* selectField={selectField}
|
|
69
|
+
* expandField={expandField}
|
|
70
|
+
* onExpandChange={onExpandChange}
|
|
71
|
+
* />
|
|
72
|
+
* );
|
|
73
|
+
* };
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare const DropDownTree: React.ForwardRefExoticComponent<DropDownTreeProps & React.RefAttributes<DropDownTreeHandle | null>>;
|
|
@@ -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 et=require("react"),n=require("prop-types"),o=require("@progress/kendo-react-common"),tt=require("@progress/kendo-react-popup"),nt=require("@progress/kendo-react-intl"),Ie=require("@progress/kendo-react-treeview"),Se=require("../package-metadata.js"),G=require("../common/utils.js"),at=require("./useDropdownWidth.js"),ot=require("./ListNoData.js"),C=require("../messages/index.js"),rt=require("@progress/kendo-react-labels"),Re=require("../common/ListFilter.js"),st=require("@progress/kendo-react-buttons"),Te=require("@progress/kendo-svg-icons"),it=require("../common/AdaptiveMode.js"),lt=require("@progress/kendo-react-layout");function ct(u){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const E in u)if(E!=="default"){const x=Object.getOwnPropertyDescriptor(u,E);Object.defineProperty(m,E,x.get?x:{enumerable:!0,get:()=>u[E]})}}return m.default=u,Object.freeze(m)}const t=ct(et),{sizeMap:ut,roundedMap:dt}=o.kendoThemeMaps,pt=12e3,ft=2e3,mt="Please select a value from the list!",vt=u=>t.createElement("span",{className:"k-input-value-text"},u.children),Me=u=>u.split("_").map(m=>parseInt(m,10)),gt=(u,m)=>{const{validationMessage:E,valid:x,required:s}=u;return{customError:E!==void 0,valid:!!(x!==void 0?x:!s||m),valueMissing:!m}},re={selectField:"selected",subItemsField:"items",popupSettings:{animate:!0,width:"200px",height:"200px"},data:[],required:!1,style:{},validityStyles:!0,size:"medium",rounded:"medium",fillMode:"solid"},Pe=o.createPropsContext(),se=t.forwardRef((u,m)=>{const E=!o.validatePackage(Se.packageMetadata,{component:"DropDownTree"}),x=o.getLicenseMessage(Se.packageMetadata),s=o.usePropsContext(Pe,u),r={...re,...s},qe=o.useId(),ie=r.id||qe,{data:N,dataItemKey:L,popupSettings:v={},style:V,opened:d,disabled:R,onOpen:W=o.noop,onClose:g=o.noop,placeholder:j,label:T,name:Ke,selectField:Z,subItemsField:z,validationMessage:$,valid:Oe,required:J,validityStyles:Ne}=r,Q=o.getTabIndex(r.tabIndex,R),i=t.useRef(null),b=t.useRef(null),M=t.useRef(null),Y=t.useRef(null),U=t.useRef(null),D=t.useRef(null),X=t.useRef(!1),[le,Le]=t.useState(void 0),w=r.value!==void 0,y=w?r.value:le!==void 0?le:r.defaultValue,A=G.isPresent(y),ee=A?G.getItemValue(y,r.textField):"",te=gt({validationMessage:$,valid:Oe,required:J},A),ce=t.useContext(o.ZIndexContext),Ve=ce?ce+ft:pt,We=t.useCallback(()=>b.current&&b.current.focus(),[]);t.useImperativeHandle(i,()=>({props:r,element:b.current,focus:We})),t.useImperativeHandle(m,()=>i.current);const F=o.useRtl(b,r.dir),ze={width:at.useDropdownWidth(b,re,{...re.popupSettings,...v},V),...F!==void 0?{direction:F}:{}},[Ae,ue]=t.useState(!1),l=d!==void 0?d:Ae,[f,ne]=t.useState(!1),[ae,Be]=t.useState(),[de,_e]=t.useState(""),pe=o.useAdaptiveModeContext(),k=!!(ae&&pe&&ae<=pe.medium&&r.adaptive),He=t.useCallback(()=>{U.current&&U.current.setCustomValidity&&U.current.setCustomValidity(te.valid?"":$===void 0?mt:$)},[$,te]);t.useEffect(He),t.useEffect(()=>{const e=o.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(Qe.bind(void 0));return document!=null&&document.body&&e&&e.observe(document.body),()=>{document!=null&&document.body&&e&&e.disconnect()}},[]);const fe=t.useCallback(e=>{if(!l){if(W){const a={...e};W.call(void 0,a)}d===void 0&&ue(!0)}},[l,d,W]),I=t.useCallback(e=>{if(l){if(g){const a={...e};g.call(void 0,a)}d===void 0&&(ue(!1),k&&setTimeout(()=>{var a;h((a=Y.current)==null?void 0:a.element)},300))}},[l,d,g,k]),me=t.useCallback(e=>{if(!e.isDefaultPrevented()&&i.current){ne(!0);const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};(l?I:fe)(a)}},[l,d,W,g]),P=t.useCallback(e=>{X.current=!0,e(),window.setTimeout(()=>X.current=!1,0)},[]),je=t.useCallback(e=>{var S,we;const{keyCode:a,altKey:c}=e,p=D.current&&D.current.element;if(!i.current||e.isDefaultPrevented()&&((S=M.current)==null?void 0:S.element)===e.target)return;const K={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};if(l)if(a===o.Keys.esc||c&&a===o.Keys.up)e.preventDefault(),I(K);else if(p&&p.querySelector(".k-focus")&&(a===o.Keys.up||a===o.Keys.down||a===o.Keys.left||a===o.Keys.right||a===o.Keys.home||a===o.Keys.end)){if(a===o.Keys.up&&((we=M.current)!=null&&we.element)){const H=Array.from(p.querySelectorAll(".k-treeview-item")),Fe=[...H].reverse().find(O=>O==null?void 0:O.querySelector(".k-focus"));if(Fe&&H.indexOf(Fe)===0)return P(()=>{var O;h((O=M.current)==null?void 0:O.element)})}P(o.noop)}else a===o.Keys.down&&P(()=>{var H;h(((H=M.current)==null?void 0:H.element)||p)});else c&&a===o.Keys.down?(e.preventDefault(),fe(K)):l||a===o.Keys.esc&&ye(e)},[l,d,W,g]),ve=t.useCallback(e=>{const{keyCode:a,altKey:c}=e;c||a!==o.Keys.up&&a!==o.Keys.down||(e.preventDefault(),P(a===o.Keys.up?()=>{h(b.current)}:()=>{var p;h((p=D.current)==null?void 0:p.element)}))},[]),h=t.useCallback(e=>{e&&P(()=>e.focus())},[]),Ze=t.useCallback(e=>{var a;v.onOpen&&v.onOpen(e),!f&&l&&!d?I({target:i.current}):s.filterable?h((a=M.current)==null?void 0:a.element):h(D.current&&D.current.element)},[g,s.filterable,f,d,l]),$e=t.useCallback(e=>{v.onClose&&v.onClose(e),f&&h(b.current)},[f]),Ue=t.useCallback(e=>{if(!f&&!X.current&&(ne(!0),s.onFocus&&i.current)){const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};s.onFocus.call(void 0,a)}},[f,s.onFocus]),Xe=t.useCallback(e=>{if(f&&!X.current&&i.current){ne(!1);const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};if(s.onBlur){const c={...a};s.onBlur.call(void 0,c)}k||I(a)}},[f,s.onBlur,l,d,g]),Ge=t.useCallback(()=>{f&&P(o.noop),k&&setTimeout(()=>{var e;h((e=Y.current)==null?void 0:e.element)},300)},[f,k]),ge=t.useCallback((e,a,c)=>{if(s.onChange){const p={value:a,level:c?Me(c):[],...e};s.onChange.call(void 0,p)}w||Le(a)},[s.onChange,w]),be=t.useCallback(e=>{if(G.areSame(e.item,y,L)||!i.current)return;const{item:a,itemHierarchicalIndex:c,nativeEvent:p,syntheticEvent:K}=e,S={syntheticEvent:K,nativeEvent:p,target:i.current};ge(S,a,c),I(S)},[w,y,s.onChange,L,l,d,g]),ye=t.useCallback(e=>{if(!i.current)return;const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};ge(a,null),I(a),e.preventDefault()},[w,s.onChange,l,d,g]),he=t.useCallback(e=>{if(e.syntheticEvent.stopPropagation(),s.onExpandChange&&i.current){const{item:a,itemHierarchicalIndex:c,nativeEvent:p,syntheticEvent:K}=e,S={level:Me(c),item:a,nativeEvent:p,syntheticEvent:K,target:i.current};s.onExpandChange.call(void 0,S)}},[s.onExpandChange]),Ce=t.useCallback(e=>{if(s.onFilterChange&&i.current){const c={filter:{field:s.textField,operator:"contains",value:e.target.value},syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:i.current};s.onFilterChange.call(void 0,c),s.filter===void 0&&_e(e.target.value)}},[s.onFilterChange,s.filter,s.textField]),Je=()=>{const e=r.filterable?t.createElement(Re,{value:r.filter===void 0?de:r.filter,ref:Y,onChange:Ce,onKeyDown:ve,size:"large",rounded:B,fillMode:_,placeholder:j}):null,a={title:r.adaptiveTitle||T,subTitle:r.adaptiveSubtitle,expand:l,onClose:c=>I(c),windowWidth:ae,mobileFilter:e};return t.createElement(it.AdaptiveMode,{...a},t.createElement(lt.ActionSheetContent,null,N.length>0?t.createElement(Ie.TreeView,{ref:D,tabIndex:Q,data:Ee,focusIdField:L,textField:r.textField,selectField:Z,expandField:r.expandField,childrenField:z,expandIcons:!0,onItemClick:be,onExpandChange:he,size:"large",item:r.item,dir:F,animate:!1}):t.createElement(ke,null,oe.toLanguageString(C.nodata,C.messages[C.nodata]))))},Qe=t.useCallback(e=>{for(const a of e)Be(a.target.clientWidth)},[]),Ee=t.useMemo(()=>w||!A?N:o.mapTree(N,z,e=>o.extendDataItem(e,z,{[Z]:G.areSame(e,y,L)})),[N,y,w,A,Z,z]),ke=r.listNoData||ot.ListNoData,Ye=r.valueHolder||vt,oe=nt.useLocalization(),xe=!Ne||te.valid,{size:q,rounded:B,fillMode:_}=r,De=t.createElement(t.Fragment,null,t.createElement("span",{className:o.classNames("k-dropdowntree k-picker",r.className,{[`k-picker-${ut[q]||q}`]:q,[`k-rounded-${dt[B]||B}`]:B,[`k-picker-${_}`]:_,"k-focus":f,"k-invalid":!xe,"k-loading":r.loading,"k-required":J,"k-disabled":r.disabled}),tabIndex:Q,accessKey:r.accessKey,id:ie,style:T?{...V,width:void 0}:V,dir:F,ref:b,onKeyDown:R?void 0:je,onMouseDown:Ge,onClick:R?void 0:me,onFocus:k?e=>me(e):Ue,onBlur:Xe,role:"combobox","aria-haspopup":"tree","aria-expanded":l,"aria-disabled":R,"aria-label":T,"aria-labelledby":r.ariaLabelledBy,"aria-describedby":r.ariaDescribedBy,"aria-required":J},t.createElement("span",{className:"k-input-inner"},(ee||j)&&t.createElement(Ye,{item:y},ee||j)),r.loading&&t.createElement(o.IconWrap,{className:"k-input-loading-icon",name:"loading"}),A&&!R&&t.createElement("span",{onClick:ye,className:"k-clear-value",title:oe.toLanguageString(C.clear,C.messages[C.clear]),role:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault()},t.createElement(o.IconWrap,{name:"x",icon:Te.xIcon})),t.createElement(st.Button,{tabIndex:-1,type:"button","aria-label":"select",className:"k-input-button",size:q,fillMode:_,themeColor:"base",rounded:null,icon:"caret-alt-down",svgIcon:Te.caretAltDownIcon}),t.createElement("select",{name:Ke,ref:U,tabIndex:-1,"aria-hidden":!0,title:T,style:{opacity:0,width:1,border:0,zIndex:-1,position:"absolute",left:"50%"}},t.createElement("option",{value:r.valueMap?r.valueMap.call(void 0,y):y})),!k&&t.createElement(o.ZIndexContext.Provider,{value:Ve},t.createElement(tt.Popup,{...v,className:o.classNames(v.className,{"k-rtl":F==="rtl"}),popupClass:o.classNames(v.popupClass,"k-dropdowntree-popup k-list-container"),style:ze,anchor:v.anchor||b.current,show:l,onOpen:Ze,onClose:$e},r.filterable&&t.createElement(Re,{value:r.filter===void 0?de:r.filter,ref:M,onChange:Ce,onKeyDown:ve,size:q,rounded:B,fillMode:_,renderListFilterWrapper:!0,renderPrefixSeparator:!0}),N.length>0?t.createElement(Ie.TreeView,{style:{height:v.height},ref:D,tabIndex:Q,data:Ee,focusIdField:L,textField:r.textField,selectField:Z,expandField:r.expandField,childrenField:z,expandIcons:!0,onItemClick:be,onExpandChange:he,size:q,item:r.item,dir:F,animate:!1}):t.createElement(ke,null,oe.toLanguageString(C.nodata,C.messages[C.nodata])),E&&t.createElement(o.WatermarkOverlay,{message:x})))),k&&Je());return T?t.createElement(rt.FloatingLabel,{label:T,editorValue:ee,editorPlaceholder:j,editorValid:xe,editorDisabled:R,editorId:ie,style:{width:V?V.width:void 0},children:De,dir:F}):De}),bt={opened:n.bool,disabled:n.bool,dir:n.string,tabIndex:n.number,accessKey:n.string,data:n.array,value:n.any,valueMap:n.func,placeholder:n.string,dataItemKey:n.string.isRequired,textField:n.string.isRequired,selectField:n.string,expandField:n.string,subItemsField:n.string,className:n.string,style:n.object,label:n.string,validationMessage:n.string,validityStyles:n.bool,valid:n.bool,required:n.bool,name:n.string,id:n.string,ariaLabelledBy:n.string,ariaDescribedBy:n.string,filterable:n.bool,filter:n.string,loading:n.bool,popupSettings:n.shape({animate:n.oneOfType([n.bool,n.shape({openDuration:n.number,closeDuration:n.number})]),popupClass:n.string,className:n.string,appendTo:n.any,width:n.oneOfType([n.string,n.number]),height:n.oneOfType([n.string,n.number])}),onOpen:n.func,onClose:n.func,onFocus:n.func,onBlur:n.func,onChange:n.func,onFilterChange:n.func,onExpandChange:n.func,item:n.func,valueHolder:n.func,listNoData:n.func,adaptiveTitle:n.string,adaptiveSubtitle:n.string,adaptive:n.bool};se.displayName="KendoReactDropDownTree";se.propTypes=bt;exports.DropDownTree=se;exports.DropDownTreePropsContext=Pe;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("react"),n=require("prop-types"),o=require("@progress/kendo-react-common"),tt=require("@progress/kendo-react-popup"),nt=require("@progress/kendo-react-intl"),Ie=require("@progress/kendo-react-treeview"),Se=require("../package-metadata.js"),G=require("../common/utils.js"),at=require("./useDropdownWidth.js"),ot=require("./ListNoData.js"),E=require("../messages/index.js"),rt=require("@progress/kendo-react-labels"),Re=require("../common/ListFilter.js"),st=require("@progress/kendo-react-buttons"),Te=require("@progress/kendo-svg-icons"),it=require("../common/AdaptiveMode.js"),lt=require("@progress/kendo-react-layout");function ct(u){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const C in u)if(C!=="default"){const x=Object.getOwnPropertyDescriptor(u,C);Object.defineProperty(v,C,x.get?x:{enumerable:!0,get:()=>u[C]})}}return v.default=u,Object.freeze(v)}const t=ct(et),{sizeMap:ut,roundedMap:dt}=o.kendoThemeMaps,pt=12e3,ft=2e3,vt="Please select a value from the list!",mt=u=>t.createElement("span",{className:"k-input-value-text"},u.children),Me=u=>u.split("_").map(v=>parseInt(v,10)),gt=(u,v)=>{const{validationMessage:C,valid:x,required:s}=u;return{customError:C!==void 0,valid:!!(x!==void 0?x:!s||v),valueMissing:!v}},re={selectField:"selected",subItemsField:"items",popupSettings:{animate:!0,width:"200px",height:"200px"},data:[],required:!1,style:{},validityStyles:!0,size:void 0,rounded:void 0,fillMode:void 0},Pe=o.createPropsContext(),se=t.forwardRef((u,v)=>{const C=!o.validatePackage(Se.packageMetadata,{component:"DropDownTree"}),x=o.getLicenseMessage(Se.packageMetadata),s=o.usePropsContext(Pe,u),r={...re,...s},qe=o.useId(),ie=r.id||qe,{data:N,dataItemKey:L,popupSettings:m={},style:V,opened:d,disabled:R,onOpen:W=o.noop,onClose:g=o.noop,placeholder:j,label:T,name:Ke,selectField:Z,subItemsField:z,validationMessage:$,valid:Oe,required:J,validityStyles:Ne}=r,Q=o.getTabIndex(r.tabIndex,R),i=t.useRef(null),b=t.useRef(null),M=t.useRef(null),Y=t.useRef(null),U=t.useRef(null),D=t.useRef(null),X=t.useRef(!1),[le,Le]=t.useState(void 0),w=r.value!==void 0,y=w?r.value:le!==void 0?le:r.defaultValue,A=G.isPresent(y),ee=A?G.getItemValue(y,r.textField):"",te=gt({validationMessage:$,valid:Oe,required:J},A),ce=t.useContext(o.ZIndexContext),Ve=ce?ce+ft:pt,We=t.useCallback(()=>b.current&&b.current.focus(),[]);t.useImperativeHandle(i,()=>({props:r,element:b.current,focus:We})),t.useImperativeHandle(v,()=>i.current);const F=o.useRtl(b,r.dir),ze={width:at.useDropdownWidth(b,re,{...re.popupSettings,...m},V),...F!==void 0?{direction:F}:{}},[Ae,ue]=t.useState(!1),l=d!==void 0?d:Ae,[f,ne]=t.useState(!1),[ae,Be]=t.useState(),[de,_e]=t.useState(""),pe=o.useAdaptiveModeContext(),k=!!(ae&&pe&&ae<=pe.medium&&r.adaptive),He=t.useCallback(()=>{U.current&&U.current.setCustomValidity&&U.current.setCustomValidity(te.valid?"":$===void 0?vt:$)},[$,te]);t.useEffect(He),t.useEffect(()=>{const e=o.canUseDOM&&window.ResizeObserver&&new window.ResizeObserver(Qe.bind(void 0));return document!=null&&document.body&&e&&e.observe(document.body),()=>{document!=null&&document.body&&e&&e.disconnect()}},[]);const fe=t.useCallback(e=>{if(!l){if(W){const a={...e};W.call(void 0,a)}d===void 0&&ue(!0)}},[l,d,W]),I=t.useCallback(e=>{if(l){if(g){const a={...e};g.call(void 0,a)}d===void 0&&(ue(!1),k&&setTimeout(()=>{var a;h((a=Y.current)==null?void 0:a.element)},300))}},[l,d,g,k]),ve=t.useCallback(e=>{if(!e.isDefaultPrevented()&&i.current){ne(!0);const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};(l?I:fe)(a)}},[l,d,W,g]),P=t.useCallback(e=>{X.current=!0,e(),window.setTimeout(()=>X.current=!1,0)},[]),je=t.useCallback(e=>{var S,we;const{keyCode:a,altKey:c}=e,p=D.current&&D.current.element;if(!i.current||e.isDefaultPrevented()&&((S=M.current)==null?void 0:S.element)===e.target)return;const K={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};if(l)if(a===o.Keys.esc||c&&a===o.Keys.up)e.preventDefault(),I(K);else if(p&&p.querySelector(".k-focus")&&(a===o.Keys.up||a===o.Keys.down||a===o.Keys.left||a===o.Keys.right||a===o.Keys.home||a===o.Keys.end)){if(a===o.Keys.up&&((we=M.current)!=null&&we.element)){const H=Array.from(p.querySelectorAll(".k-treeview-item")),Fe=[...H].reverse().find(O=>O==null?void 0:O.querySelector(".k-focus"));if(Fe&&H.indexOf(Fe)===0)return P(()=>{var O;h((O=M.current)==null?void 0:O.element)})}P(o.noop)}else a===o.Keys.down&&P(()=>{var H;h(((H=M.current)==null?void 0:H.element)||p)});else c&&a===o.Keys.down?(e.preventDefault(),fe(K)):l||a===o.Keys.esc&&ye(e)},[l,d,W,g]),me=t.useCallback(e=>{const{keyCode:a,altKey:c}=e;c||a!==o.Keys.up&&a!==o.Keys.down||(e.preventDefault(),P(a===o.Keys.up?()=>{h(b.current)}:()=>{var p;h((p=D.current)==null?void 0:p.element)}))},[]),h=t.useCallback(e=>{e&&P(()=>e.focus())},[]),Ze=t.useCallback(e=>{var a;m.onOpen&&m.onOpen(e),!f&&l&&!d?I({target:i.current}):s.filterable?h((a=M.current)==null?void 0:a.element):h(D.current&&D.current.element)},[g,s.filterable,f,d,l]),$e=t.useCallback(e=>{m.onClose&&m.onClose(e),f&&h(b.current)},[f]),Ue=t.useCallback(e=>{if(!f&&!X.current&&(ne(!0),s.onFocus&&i.current)){const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};s.onFocus.call(void 0,a)}},[f,s.onFocus]),Xe=t.useCallback(e=>{if(f&&!X.current&&i.current){ne(!1);const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};if(s.onBlur){const c={...a};s.onBlur.call(void 0,c)}k||I(a)}},[f,s.onBlur,l,d,g]),Ge=t.useCallback(()=>{f&&P(o.noop),k&&setTimeout(()=>{var e;h((e=Y.current)==null?void 0:e.element)},300)},[f,k]),ge=t.useCallback((e,a,c)=>{if(s.onChange){const p={value:a,level:c?Me(c):[],...e};s.onChange.call(void 0,p)}w||Le(a)},[s.onChange,w]),be=t.useCallback(e=>{if(G.areSame(e.item,y,L)||!i.current)return;const{item:a,itemHierarchicalIndex:c,nativeEvent:p,syntheticEvent:K}=e,S={syntheticEvent:K,nativeEvent:p,target:i.current};ge(S,a,c),I(S)},[w,y,s.onChange,L,l,d,g]),ye=t.useCallback(e=>{if(!i.current)return;const a={syntheticEvent:e,nativeEvent:e.nativeEvent,target:i.current};ge(a,null),I(a),e.preventDefault()},[w,s.onChange,l,d,g]),he=t.useCallback(e=>{if(e.syntheticEvent.stopPropagation(),s.onExpandChange&&i.current){const{item:a,itemHierarchicalIndex:c,nativeEvent:p,syntheticEvent:K}=e,S={level:Me(c),item:a,nativeEvent:p,syntheticEvent:K,target:i.current};s.onExpandChange.call(void 0,S)}},[s.onExpandChange]),Ee=t.useCallback(e=>{if(s.onFilterChange&&i.current){const c={filter:{field:s.textField,operator:"contains",value:e.target.value},syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:i.current};s.onFilterChange.call(void 0,c),s.filter===void 0&&_e(e.target.value)}},[s.onFilterChange,s.filter,s.textField]),Je=()=>{const e=r.filterable?t.createElement(Re,{value:r.filter===void 0?de:r.filter,ref:Y,onChange:Ee,onKeyDown:me,size:"large",rounded:B,fillMode:_,placeholder:j}):null,a={title:r.adaptiveTitle||T,subTitle:r.adaptiveSubtitle,expand:l,onClose:c=>I(c),windowWidth:ae,mobileFilter:e};return t.createElement(it.AdaptiveMode,{...a},t.createElement(lt.ActionSheetContent,null,N.length>0?t.createElement(Ie.TreeView,{ref:D,tabIndex:Q,data:Ce,focusIdField:L,textField:r.textField,selectField:Z,expandField:r.expandField,childrenField:z,expandIcons:!0,onItemClick:be,onExpandChange:he,size:"large",item:r.item,dir:F,animate:!1}):t.createElement(ke,null,oe.toLanguageString(E.nodata,E.messages[E.nodata]))))},Qe=t.useCallback(e=>{for(const a of e)Be(a.target.clientWidth)},[]),Ce=t.useMemo(()=>w||!A?N:o.mapTree(N,z,e=>o.extendDataItem(e,z,{[Z]:G.areSame(e,y,L)})),[N,y,w,A,Z,z]),ke=r.listNoData||ot.ListNoData,Ye=r.valueHolder||mt,oe=nt.useLocalization(),xe=!Ne||te.valid,{size:q,rounded:B,fillMode:_}=r,De=t.createElement(t.Fragment,null,t.createElement("span",{className:o.classNames("k-dropdowntree k-picker",r.className,{[`k-picker-${ut[q]||q}`]:q,[`k-rounded-${dt[B]||B}`]:B,[`k-picker-${_}`]:_,"k-focus":f,"k-invalid":!xe,"k-loading":r.loading,"k-required":J,"k-disabled":r.disabled}),tabIndex:Q,accessKey:r.accessKey,id:ie,style:T?{...V,width:void 0}:V,dir:F,ref:b,onKeyDown:R?void 0:je,onMouseDown:Ge,onClick:R?void 0:ve,onFocus:k?e=>ve(e):Ue,onBlur:Xe,role:"combobox","aria-haspopup":"tree","aria-expanded":l,"aria-disabled":R,"aria-label":T,"aria-labelledby":r.ariaLabelledBy,"aria-describedby":r.ariaDescribedBy,"aria-required":J},t.createElement("span",{className:"k-input-inner"},(ee||j)&&t.createElement(Ye,{item:y},ee||j)),r.loading&&t.createElement(o.IconWrap,{className:"k-input-loading-icon",name:"loading"}),A&&!R&&t.createElement("span",{onClick:ye,className:"k-clear-value",title:oe.toLanguageString(E.clear,E.messages[E.clear]),role:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault()},t.createElement(o.IconWrap,{name:"x",icon:Te.xIcon})),t.createElement(st.Button,{tabIndex:-1,type:"button","aria-label":"select",className:"k-input-button",size:q,fillMode:_,icon:"caret-alt-down",svgIcon:Te.caretAltDownIcon}),t.createElement("select",{name:Ke,ref:U,tabIndex:-1,"aria-hidden":!0,title:T,style:{opacity:0,width:1,border:0,zIndex:-1,position:"absolute",left:"50%"}},t.createElement("option",{value:r.valueMap?r.valueMap.call(void 0,y):y})),!k&&t.createElement(o.ZIndexContext.Provider,{value:Ve},t.createElement(tt.Popup,{...m,className:o.classNames(m.className,{"k-rtl":F==="rtl"}),popupClass:o.classNames(m.popupClass,"k-dropdowntree-popup k-list-container"),style:ze,anchor:m.anchor||b.current,show:l,onOpen:Ze,onClose:$e},r.filterable&&t.createElement(Re,{value:r.filter===void 0?de:r.filter,ref:M,onChange:Ee,onKeyDown:me,size:q,rounded:B,fillMode:_,renderListFilterWrapper:!0,renderPrefixSeparator:!0}),N.length>0?t.createElement(Ie.TreeView,{style:{height:m.height},ref:D,tabIndex:Q,data:Ce,focusIdField:L,textField:r.textField,selectField:Z,expandField:r.expandField,childrenField:z,expandIcons:!0,onItemClick:be,onExpandChange:he,size:q,item:r.item,dir:F,animate:!1}):t.createElement(ke,null,oe.toLanguageString(E.nodata,E.messages[E.nodata])),C&&t.createElement(o.WatermarkOverlay,{message:x})))),k&&Je());return T?t.createElement(rt.FloatingLabel,{label:T,editorValue:ee,editorPlaceholder:j,editorValid:xe,editorDisabled:R,editorId:ie,style:{width:V?V.width:void 0},children:De,dir:F}):De}),bt={opened:n.bool,disabled:n.bool,dir:n.string,tabIndex:n.number,accessKey:n.string,data:n.array,value:n.any,valueMap:n.func,placeholder:n.string,dataItemKey:n.string.isRequired,textField:n.string.isRequired,selectField:n.string,expandField:n.string,subItemsField:n.string,className:n.string,style:n.object,label:n.string,validationMessage:n.string,validityStyles:n.bool,valid:n.bool,required:n.bool,name:n.string,id:n.string,ariaLabelledBy:n.string,ariaDescribedBy:n.string,filterable:n.bool,filter:n.string,loading:n.bool,popupSettings:n.shape({animate:n.oneOfType([n.bool,n.shape({openDuration:n.number,closeDuration:n.number})]),popupClass:n.string,className:n.string,appendTo:n.any,width:n.oneOfType([n.string,n.number]),height:n.oneOfType([n.string,n.number])}),onOpen:n.func,onClose:n.func,onFocus:n.func,onBlur:n.func,onChange:n.func,onFilterChange:n.func,onExpandChange:n.func,item:n.func,valueHolder:n.func,listNoData:n.func,adaptiveTitle:n.string,adaptiveSubtitle:n.string,adaptive:n.bool};se.displayName="KendoReactDropDownTree";se.propTypes=bt;exports.DropDownTree=se;exports.DropDownTreePropsContext=Pe;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as t from "react";
|
|
9
9
|
import n from "prop-types";
|
|
10
|
-
import { createPropsContext as at, validatePackage as rt, getLicenseMessage as it, usePropsContext as lt, useId as st, getTabIndex as ct, ZIndexContext as Se, useRtl as ut, useAdaptiveModeContext as dt, canUseDOM as pt,
|
|
10
|
+
import { createPropsContext as at, validatePackage as rt, getLicenseMessage as it, usePropsContext as lt, useId as st, getTabIndex as ct, ZIndexContext as Se, useRtl as ut, useAdaptiveModeContext as dt, canUseDOM as pt, noop as X, Keys as c, mapTree as ft, extendDataItem as mt, classNames as re, kendoThemeMaps as vt, IconWrap as Te, WatermarkOverlay as gt } from "@progress/kendo-react-common";
|
|
11
11
|
import { Popup as bt } from "@progress/kendo-react-popup";
|
|
12
12
|
import { useLocalization as ht } from "@progress/kendo-react-intl";
|
|
13
13
|
import { TreeView as Re } from "@progress/kendo-react-treeview";
|
|
@@ -22,7 +22,7 @@ import { Button as wt } from "@progress/kendo-react-buttons";
|
|
|
22
22
|
import { xIcon as Dt, caretAltDownIcon as Ft } from "@progress/kendo-svg-icons";
|
|
23
23
|
import { AdaptiveMode as It } from "../common/AdaptiveMode.mjs";
|
|
24
24
|
import { ActionSheetContent as St } from "@progress/kendo-react-layout";
|
|
25
|
-
const { sizeMap: Tt, roundedMap: Rt } =
|
|
25
|
+
const { sizeMap: Tt, roundedMap: Rt } = vt, Mt = 12e3, Pt = 2e3, Nt = "Please select a value from the list!", Ot = (E) => /* @__PURE__ */ t.createElement("span", { className: "k-input-value-text" }, E.children), Ve = (E) => E.split("_").map((D) => parseInt(D, 10)), Vt = (E, D) => {
|
|
26
26
|
const { validationMessage: G, valid: B, required: r } = E;
|
|
27
27
|
return {
|
|
28
28
|
customError: G !== void 0,
|
|
@@ -41,9 +41,9 @@ const { sizeMap: Tt, roundedMap: Rt } = gt, Mt = 12e3, Pt = 2e3, Nt = "Please se
|
|
|
41
41
|
required: !1,
|
|
42
42
|
style: {},
|
|
43
43
|
validityStyles: !0,
|
|
44
|
-
size:
|
|
45
|
-
rounded:
|
|
46
|
-
fillMode:
|
|
44
|
+
size: void 0,
|
|
45
|
+
rounded: void 0,
|
|
46
|
+
fillMode: void 0
|
|
47
47
|
}, Lt = at(), Le = t.forwardRef((E, D) => {
|
|
48
48
|
const G = !rt(Me, { component: "DropDownTree" }), B = it(Me), r = lt(Lt, E), a = {
|
|
49
49
|
...le,
|
|
@@ -391,8 +391,6 @@ const { sizeMap: Tt, roundedMap: Rt } = gt, Mt = 12e3, Pt = 2e3, Nt = "Please se
|
|
|
391
391
|
className: "k-input-button",
|
|
392
392
|
size: R,
|
|
393
393
|
fillMode: q,
|
|
394
|
-
themeColor: "base",
|
|
395
|
-
rounded: null,
|
|
396
394
|
icon: "caret-alt-down",
|
|
397
395
|
svgIcon: Ft
|
|
398
396
|
}
|
|
@@ -456,7 +454,7 @@ const { sizeMap: Tt, roundedMap: Rt } = gt, Mt = 12e3, Pt = 2e3, Nt = "Please se
|
|
|
456
454
|
animate: !1
|
|
457
455
|
}
|
|
458
456
|
) : /* @__PURE__ */ t.createElement(xe, null, ae.toLanguageString(j, ie[j])),
|
|
459
|
-
G && /* @__PURE__ */ t.createElement(
|
|
457
|
+
G && /* @__PURE__ */ t.createElement(gt, { message: B })
|
|
460
458
|
))
|
|
461
459
|
), h && tt());
|
|
462
460
|
return I ? /* @__PURE__ */ t.createElement(
|