@progress/kendo-react-grid 15.2.0-develop.1 → 15.2.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.
@@ -103,7 +103,13 @@ export interface GridCustomFilterCellProps extends GridFilterCellProps {
103
103
  */
104
104
  export interface GridCustomHeaderCellProps extends GridHeaderCellProps {
105
105
  /**
106
- * The props and attributes that are applied to the `th` element by default. The property should be used with the [HeaderThElement](https://www.telerik.com/kendo-react-ui/components/datatools/api/headerthelement) component as demonstrated in [this example](https://www.telerik.com/kendo-react-ui/components/grid/cells#toc-group-header-group-footer-header-cell-footer-cell-filter-cell-and-data-cell).
106
+ * The props and attributes that are applied to the `th` element by default.
107
+ *
108
+ * Use this property with the [HeaderThElement](https://www.telerik.com/kendo-react-ui/components/datatools/api/headerthelement)
109
+ * component to preserve the built-in header cell behavior such as accessibility attributes,
110
+ * keyboard navigation, and column metadata.
111
+ *
112
+ * For a usage example, see [Custom Header, Footer, and Filter Cells](https://www.telerik.com/kendo-react-ui/components/grid/cells/header-footer-filter-cells) article.
107
113
  */
108
114
  thProps?: GridThAttributes | null;
109
115
  /**
@@ -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 e=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1784273597,version:"15.2.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-grid",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1785775203,version:"15.2.0-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
@@ -7,7 +7,7 @@ export const packageMetadata = Object.freeze({
7
7
  productName: 'KendoReact',
8
8
  productCode: 'KENDOUIREACT',
9
9
  productCodes: ['KENDOUIREACT'],
10
- publishDate: 1784273597,
11
- version: '15.2.0-develop.1',
10
+ publishDate: 1785775203,
11
+ version: '15.2.0-develop.3',
12
12
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/components/my-license/'
13
13
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-grid",
3
- "version": "15.2.0-develop.1",
3
+ "version": "15.2.0-develop.3",
4
4
  "description": "React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -30,21 +30,21 @@
30
30
  "@progress/kendo-drawing": "^1.21.2",
31
31
  "@progress/kendo-file-saver": "^1.1.1",
32
32
  "@progress/kendo-licensing": "^1.7.2",
33
- "@progress/kendo-react-animation": "15.2.0-develop.1",
34
- "@progress/kendo-react-buttons": "15.2.0-develop.1",
35
- "@progress/kendo-react-common": "15.2.0-develop.1",
36
- "@progress/kendo-react-data-tools": "15.2.0-develop.1",
37
- "@progress/kendo-react-dateinputs": "15.2.0-develop.1",
38
- "@progress/kendo-react-indicators": "15.2.0-develop.1",
39
- "@progress/kendo-react-form": "15.2.0-develop.1",
40
- "@progress/kendo-react-labels": "15.2.0-develop.1",
41
- "@progress/kendo-react-dialogs": "15.2.0-develop.1",
42
- "@progress/kendo-react-dropdowns": "15.2.0-develop.1",
43
- "@progress/kendo-react-inputs": "15.2.0-develop.1",
44
- "@progress/kendo-react-intl": "15.2.0-develop.1",
45
- "@progress/kendo-react-popup": "15.2.0-develop.1",
46
- "@progress/kendo-react-layout": "15.2.0-develop.1",
47
- "@progress/kendo-react-conversational-ui": "15.2.0-develop.1",
33
+ "@progress/kendo-react-animation": "15.2.0-develop.3",
34
+ "@progress/kendo-react-buttons": "15.2.0-develop.3",
35
+ "@progress/kendo-react-common": "15.2.0-develop.3",
36
+ "@progress/kendo-react-data-tools": "15.2.0-develop.3",
37
+ "@progress/kendo-react-dateinputs": "15.2.0-develop.3",
38
+ "@progress/kendo-react-indicators": "15.2.0-develop.3",
39
+ "@progress/kendo-react-form": "15.2.0-develop.3",
40
+ "@progress/kendo-react-labels": "15.2.0-develop.3",
41
+ "@progress/kendo-react-dialogs": "15.2.0-develop.3",
42
+ "@progress/kendo-react-dropdowns": "15.2.0-develop.3",
43
+ "@progress/kendo-react-inputs": "15.2.0-develop.3",
44
+ "@progress/kendo-react-intl": "15.2.0-develop.3",
45
+ "@progress/kendo-react-popup": "15.2.0-develop.3",
46
+ "@progress/kendo-react-layout": "15.2.0-develop.3",
47
+ "@progress/kendo-react-conversational-ui": "15.2.0-develop.3",
48
48
  "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
49
49
  "react": "^18.0.0 || ^19.0.0",
50
50
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -148,7 +148,7 @@
148
148
  "package": {
149
149
  "productName": "KendoReact",
150
150
  "productCode": "KENDOUIREACT",
151
- "publishDate": 1784273597,
151
+ "publishDate": 1785775203,
152
152
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
153
153
  }
154
154
  },
@@ -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 Ae=require("react"),_=require("@progress/kendo-react-buttons"),M=require("@progress/kendo-svg-icons"),d=require("@progress/kendo-react-common"),et=require("@progress/kendo-react-intl"),J=require("@progress/kendo-react-dropdowns"),tt=require("@progress/kendo-react-popup"),R=require("./listItemRenders.js"),o=require("../../messages/index.js"),nt=require("../../hooks/useGridAIRequest.js"),st=require("../../utils/GridContext.js"),rt=require("./hooks/useSmartBoxModes.js"),at=require("./hooks/useSmartBoxHistory.js"),ot=require("./hooks/useSmartBoxPopup.js"),ct=require("./hooks/useSmartBoxGridState.js"),it=require("./hooks/useSmartBoxLabels.js"),lt=require("./hooks/useSmartBoxListData.js"),ut=require("./hooks/useSmartBoxSegmentedControl.js"),pt=require("./hooks/useSmartBoxSearch.js"),dt=require("./hooks/useDebounce.js");function mt(m){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const f in m)if(f!=="default"){const I=Object.getOwnPropertyDescriptor(m,f);Object.defineProperty(x,f,I.get?I:{enumerable:!0,get:()=>m[f]})}}return x.default=m,Object.freeze(x)}const e=mt(Ae),ge=e.forwardRef((m,x)=>{var de;const{searchConfig:f,semanticSearchConfig:I,aiAssistantConfig:he,activeMode:fe,dir:Se="ltr",size:Q="medium",placeholder:ke,history:xe,loading:Ce=!1,promptSuggestionRender:X,historyItemRender:Y,onOpen:be,onClose:Be,onFocus:v,onBlur:q,onSearch:Re,onSemanticSearch:Ie,onAIPromptRequest:N,onAIResponseSuccess:F,onAIResponseError:z,onAICancelRequest:w}=m,C=et.useLocalization(),b=e.useContext(st.GridContext),ve=e.useRef(`k-${d.guid()}`),S=e.useRef(null),B=e.useRef(null),Z=e.useRef(null),[c,g]=e.useState(""),[qe,D]=e.useState(!1),[we,A]=e.useState(void 0),[De,ee]=e.useState(null),{searchMode:i,semanticSearchMode:u,aiAssistantMode:r,selectedView:n,setSelectedViewState:O,lastSearchMode:Pe,searchHistorySettings:te,semanticSearchHistorySettings:ne,aiAssistantHistorySettings:G,speechToTextButtonSettings:se,currentSearchDelay:ye}=rt.useSmartBoxModes({searchConfigProp:f,semanticSearchConfigProp:I,aiAssistantConfigProp:he,activeModeProp:fe,sharedHistory:xe}),{currentHistory:P,currentHistorySettings:Ee,addToHistory:V}=at.useSmartBoxHistory({selectedView:n,searchHistorySettings:te,semanticSearchHistorySettings:ne,aiAssistantHistorySettings:G}),{isOpen:W,togglePopup:a}=ot.useSmartBoxPopup({onOpen:be,onClose:Be}),{columns:re,gridState:Le,gridRef:Te,handleStateChange:He}=ct.useSmartBoxGridState(b),j=e.useMemo(()=>(r==null?void 0:r.promptSuggestions)||[],[r==null?void 0:r.promptSuggestions]),{inputPlaceholder:Ne,prefixIcon:Fe}=it.useSmartBoxLabels({selectedView:n,searchMode:i,semanticSearchMode:u,aiAssistantMode:r,sharedPlaceholder:ke}),{searchListData:k,aiAssistantListData:y,searchHistoryListData:E}=lt.useSmartBoxListData({selectedView:n,searchModeEnabled:i==null?void 0:i.enabled,semanticSearchModeEnabled:u==null?void 0:u.enabled,promptSuggestions:j,currentHistory:P,currentHistorySettings:Ee}),L=ut.useSmartBoxSegmentedControl({searchMode:i,semanticSearchMode:u,aiAssistantMode:r,selectedView:n,lastSearchMode:Pe,setSelectedViewState:O,setInputValue:g});e.useEffect(()=>{const t=S.current;if(!t)return;A(t.offsetWidth);const s=new ResizeObserver(()=>{t&&A(t.offsetWidth)});return s.observe(t),()=>{s.disconnect()}},[]);const h=Ce||qe,U=!n,ze=!(i!=null&&i.enabled)&&!(u!=null&&u.enabled)&&!(r!=null&&r.enabled),Oe=d.kendoThemeMaps.sizeMap[Q]||"md",{emitSearchEvent:p}=pt.useSmartBoxSearch({selectedView:n,searchMode:i,columns:re,gridContext:b,searchHistorySettings:te,semanticSearchHistorySettings:ne,addToHistory:V,onSearch:Re,onSemanticSearch:Ie}),{sendRequest:ae,cancelRequest:oe}=nt.useGridAIRequest({requestUrl:r==null?void 0:r.requestUrl,requestOptions:r==null?void 0:r.requestOptions,httpClient:r==null?void 0:r.httpClient,columns:re,gridState:Le,gridRef:Te,onPromptRequest:t=>{N==null||N({requestData:t})},onResponseSuccess:t=>{D(!1),F==null||F({response:t})},onResponseError:t=>{D(!1),z==null||z({error:t})},onStateChange:He,onExportPdf:()=>b==null?void 0:b.exportAsPdf()});e.useImperativeHandle(x,()=>({show:()=>a(!0),hide:()=>a(!1)}),[a]);const $=dt.useDebounce(De,ye),ce=e.useRef(p);ce.current=p,e.useEffect(()=>{$!==null&&ce.current($)},[$]);const Ge=e.useCallback(t=>{const s=t.target.value;g(s),a(!s),(n==="search"||n==="semanticSearch")&&ee(s)},[a,n]),Ve=e.useCallback(()=>{v==null||v(),c||a(!0)},[v,a,c]),We=e.useCallback(t=>{var me;const s=S.current,l=(me=Z.current)==null?void 0:me.element,H=t.relatedTarget,Ye=H&&(s==null?void 0:s.contains(H)),Ze=H&&(l==null?void 0:l.contains(H));!Ye&&!Ze&&(q==null||q(),a(!1))},[q,a]),je=e.useCallback(()=>{c||a(!0)},[a,c]),ie=!!((de=r==null?void 0:r.requestOptions)!=null&&de.url||r!=null&&r.requestUrl),K=e.useCallback(()=>{if(h){w==null||w(),oe(),D(!1);return}c.trim()&&(ie&&D(!0),V("aiAssistant",c,G),a(!1),ae(c.trim()),g(""))},[h,c,G,a,V,ae,oe,ie,w]),Ue=e.useCallback(t=>{t.key==="Enter"&&(n==="aiAssistant"?K():n==="semanticSearch"&&p(c))},[n,c,p,K]),$e=e.useCallback(()=>{var t;a(!W),(t=B.current)==null||t.focus()},[W,a]),Ke=e.useCallback(t=>{var s;t.stopPropagation(),t.preventDefault(),g(""),(s=B.current)==null||s.focus(),a(!0),p("")},[a,p]),le=e.useCallback(t=>{var s;O(t),g(""),ee(null),(s=B.current)==null||s.focus()},[O]),T=e.useCallback(t=>{var s;g(t),a(!1),(s=B.current)==null||s.focus(),n!=="aiAssistant"&&p(t)},[n,a,p]),_e=e.useCallback(t=>{if(t.isFinal&&t.alternatives.length>0){const s=t.alternatives[0].transcript;g(l=>l?`${l} ${s}`:s)}},[]),Me=e.useMemo(()=>n==="aiAssistant"?P.length===0&&j.length===0:n==="search"||n==="semanticSearch"?P.length===0&&k.length===0:!1,[n,P.length,j.length,k.length]),ue=e.useCallback(t=>{const l=(n==="aiAssistant"?y:E)[t];l&&T(l.text)},[n,y,E,T]),Je=e.useCallback(t=>{const s=k[t];s&&le(s.mode)},[k,le]),pe=e.useMemo(()=>R.createListItemRender({historyItemRender:Y,promptSuggestionRender:X,handleListItemClick:T}),[Y,X,T]),Qe=W&&!ze,Xe=()=>e.createElement(e.Fragment,null,L.items.length>0&&e.createElement(_.SegmentedControl,{items:L.items,value:L.value,onChange:L.onChange,size:Q,layoutMode:"stretch"}),(n==="search"||n==="semanticSearch")&&k.length>0&&e.createElement(J.List,{data:k,textField:"text",descriptionField:"description",onClick:Je,itemRender:R.searchModeItemRender,show:!0,wrapperCssClass:"k-list k-list-md"}),n==="aiAssistant"&&y.length>0&&e.createElement(J.List,{data:y,textField:"text",groupField:"group",svgIconField:"groupSvgIcon",descriptionField:"description",onClick:ue,itemRender:pe,groupHeaderItemRender:R.listGroupHeaderRender,showFirstGroupHeader:!0,show:!0,wrapperCssClass:"k-list k-list-md"}),(n==="search"||n==="semanticSearch")&&E.length>0&&e.createElement(J.List,{data:E,textField:"text",groupField:"group",svgIconField:"groupSvgIcon",descriptionField:"description",onClick:ue,itemRender:pe,groupHeaderItemRender:R.listGroupHeaderRender,showFirstGroupHeader:!0,show:!0,wrapperCssClass:"k-list k-list-md"}),Me&&e.createElement(R.NoDataRender,{selectedView:n}));return e.createElement("div",{ref:S,className:"k-smart-box-wrapper",dir:Se,onBlur:We},e.createElement("span",{className:d.classNames("k-smart-box","k-input",`k-input-${Oe}`,{"k-loading":h})},!U&&e.createElement("span",{className:"k-input-prefix k-input-prefix-horizontal"},e.createElement(d.IconWrap,{className:d.classNames("k-icon",{"k-accent-icon":n==="aiAssistant"||n==="semanticSearch"}),icon:Fe.svgIcon,onClick:$e,onMouseDown:t=>{"preventDefault"in t&&t.preventDefault()}})),e.createElement("input",{ref:B,type:"text",className:d.classNames("k-input-inner",{"k-disabled":U}),id:ve.current,placeholder:Ne,value:c,disabled:U,onChange:Ge,onFocus:Ve,onClick:je,onKeyDown:Ue}),c.length>0&&(n==="search"||n==="semanticSearch")&&e.createElement("span",{className:"k-clear-value",title:C.toLanguageString(o.smartBoxClearTitle,o.messages[o.smartBoxClearTitle]),role:"button",tabIndex:-1,onClick:Ke,onMouseDown:t=>t.preventDefault()},e.createElement(d.IconWrap,{className:"k-icon",icon:M.xIcon})),n==="aiAssistant"&&e.createElement("span",{className:"k-input-suffix k-input-suffix-horizontal"},se&&e.createElement(_.SpeechToTextButton,{...se,"aria-label":C.toLanguageString(o.smartBoxSpeechToTextButton,o.messages[o.smartBoxSpeechToTextButton]),title:C.toLanguageString(o.smartBoxSpeechToTextButton,o.messages[o.smartBoxSpeechToTextButton]),onResult:_e}),e.createElement(_.Button,{className:d.classNames("k-smart-box-send",{"k-processing":h,"k-active":h}),type:"button",rounded:"full",size:"small",title:C.toLanguageString(o.smartBoxSubmitPromptButton,o.messages[o.smartBoxSubmitPromptButton]),"aria-label":C.toLanguageString(o.smartBoxSubmitPromptButton,o.messages[o.smartBoxSubmitPromptButton]),"aria-disabled":c.length===0,svgIcon:h?M.stopIcon:M.arrowUpIcon,disabled:c.length===0&&!h,onClick:K}))),e.createElement(tt.Popup,{ref:Z,anchor:S.current,show:Qe,popupClass:"k-smart-box-popup",style:{width:we},anchorAlign:{horizontal:"left",vertical:"bottom"},popupAlign:{horizontal:"left",vertical:"top"},margin:{horizontal:0,vertical:2},onMouseDownOutside:t=>{const s=t.event.target;S.current&&!S.current.contains(s)&&a(!1)}},Xe()))});ge.displayName="KendoReactSmartBox";exports.SmartBox=ge;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const rt=require("react"),K=require("@progress/kendo-react-buttons"),_=require("@progress/kendo-svg-icons"),d=require("@progress/kendo-react-common"),at=require("@progress/kendo-react-intl"),J=require("@progress/kendo-react-dropdowns"),ot=require("@progress/kendo-react-popup"),R=require("./listItemRenders.js"),o=require("../../messages/index.js"),it=require("../../hooks/useGridAIRequest.js"),lt=require("../../utils/GridContext.js"),ct=require("./hooks/useSmartBoxModes.js"),ut=require("./hooks/useSmartBoxHistory.js"),dt=require("./hooks/useSmartBoxPopup.js"),pt=require("./hooks/useSmartBoxGridState.js"),mt=require("./hooks/useSmartBoxLabels.js"),ht=require("./hooks/useSmartBoxListData.js"),gt=require("./hooks/useSmartBoxSegmentedControl.js"),ft=require("./hooks/useSmartBoxSearch.js"),St=require("./hooks/useDebounce.js");function bt(h){const k=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(h){for(const f in h)if(f!=="default"){const v=Object.getOwnPropertyDescriptor(h,f);Object.defineProperty(k,f,v.get?v:{enumerable:!0,get:()=>h[f]})}}return k.default=h,Object.freeze(k)}const e=bt(rt),he=e.forwardRef((h,k)=>{var pe;const{searchConfig:f,semanticSearchConfig:v,aiAssistantConfig:ge,activeMode:fe,dir:Se="ltr",size:Q="medium",rounded:be="medium",fillMode:ke="solid",placeholder:xe,history:Ce,loading:Be=!1,promptSuggestionRender:X,historyItemRender:Y,onOpen:Re,onClose:ve,onFocus:I,onBlur:q,onSearch:Ie,onSemanticSearch:qe,onAIPromptRequest:F,onAIResponseSuccess:z,onAIResponseError:O,onAICancelRequest:w,ariaLabel:we}=h,x=at.useLocalization(),C=e.useContext(lt.GridContext),De=e.useRef(`k-${d.guid()}`),S=e.useRef(null),B=e.useRef(null),Z=e.useRef(null),[i,g]=e.useState(""),[Pe,D]=e.useState(!1),[ye,A]=e.useState(void 0),[Ee,ee]=e.useState(null),{searchMode:l,semanticSearchMode:p,aiAssistantMode:r,selectedView:n,setSelectedViewState:G,lastSearchMode:Le,searchHistorySettings:te,semanticSearchHistorySettings:ne,aiAssistantHistorySettings:V,speechToTextButtonSettings:se,currentSearchDelay:Te}=ct.useSmartBoxModes({searchConfigProp:f,semanticSearchConfigProp:v,aiAssistantConfigProp:ge,activeModeProp:fe,sharedHistory:Ce}),{currentHistory:P,currentHistorySettings:He,addToHistory:W}=ut.useSmartBoxHistory({selectedView:n,searchHistorySettings:te,semanticSearchHistorySettings:ne,aiAssistantHistorySettings:V}),{isOpen:y,togglePopup:a}=dt.useSmartBoxPopup({onOpen:Re,onClose:ve}),{columns:re,gridState:Ne,gridRef:Fe,handleStateChange:ze}=pt.useSmartBoxGridState(C),$=e.useMemo(()=>(r==null?void 0:r.promptSuggestions)||[],[r==null?void 0:r.promptSuggestions]),{inputPlaceholder:Oe,prefixIcon:Ge}=mt.useSmartBoxLabels({selectedView:n,searchMode:l,semanticSearchMode:p,aiAssistantMode:r,sharedPlaceholder:xe}),{searchListData:b,aiAssistantListData:E,searchHistoryListData:L}=ht.useSmartBoxListData({selectedView:n,searchModeEnabled:l==null?void 0:l.enabled,semanticSearchModeEnabled:p==null?void 0:p.enabled,promptSuggestions:$,currentHistory:P,currentHistorySettings:He}),T=gt.useSmartBoxSegmentedControl({searchMode:l,semanticSearchMode:p,aiAssistantMode:r,selectedView:n,lastSearchMode:Le,setSelectedViewState:G,setInputValue:g});e.useEffect(()=>{const t=S.current;if(!t)return;A(t.offsetWidth);const s=new ResizeObserver(()=>{t&&A(t.offsetWidth)});return s.observe(t),()=>{s.disconnect()}},[]);const c=Be||Pe,j=!n,Ve=!(l!=null&&l.enabled)&&!(p!=null&&p.enabled)&&!(r!=null&&r.enabled),We=d.kendoThemeMaps.sizeMap[Q]||"md",$e=d.kendoThemeMaps.roundedMap[be]||"md",je=ke||"solid",{emitSearchEvent:m}=ft.useSmartBoxSearch({selectedView:n,searchMode:l,columns:re,gridContext:C,searchHistorySettings:te,semanticSearchHistorySettings:ne,addToHistory:W,onSearch:Ie,onSemanticSearch:qe}),{sendRequest:ae,cancelRequest:oe}=it.useGridAIRequest({requestUrl:r==null?void 0:r.requestUrl,requestOptions:r==null?void 0:r.requestOptions,httpClient:r==null?void 0:r.httpClient,columns:re,gridState:Ne,gridRef:Fe,onPromptRequest:t=>{F==null||F({requestData:t})},onResponseSuccess:t=>{D(!1),z==null||z({response:t})},onResponseError:t=>{D(!1),O==null||O({error:t})},onStateChange:ze,onExportPdf:()=>C==null?void 0:C.exportAsPdf()});e.useImperativeHandle(k,()=>({show:()=>a(!0),hide:()=>a(!1)}),[a]);const M=St.useDebounce(Ee,Te),ie=e.useRef(m);ie.current=m,e.useEffect(()=>{M!==null&&ie.current(M)},[M]);const Me=e.useCallback(t=>{const s=t.target.value;g(s),a(!s),(n==="search"||n==="semanticSearch")&&ee(s)},[a,n]),Ue=e.useCallback(()=>{I==null||I(),i||a(!0)},[I,a,i]),Ke=e.useCallback(t=>{var me;const s=S.current,u=(me=Z.current)==null?void 0:me.element,N=t.relatedTarget,nt=N&&(s==null?void 0:s.contains(N)),st=N&&(u==null?void 0:u.contains(N));!nt&&!st&&(q==null||q(),a(!1))},[q,a]),_e=e.useCallback(()=>{i||a(!0)},[a,i]),le=!!((pe=r==null?void 0:r.requestOptions)!=null&&pe.url||r!=null&&r.requestUrl),U=e.useCallback(()=>{if(c){w==null||w(),oe(),D(!1);return}i.trim()&&(le&&D(!0),W("aiAssistant",i,V),a(!1),ae(i.trim()),g(""))},[c,i,V,a,W,ae,oe,le,w]),Je=e.useCallback(t=>{t.key==="Enter"&&(n==="aiAssistant"?U():n==="semanticSearch"&&m(i))},[n,i,m,U]),Qe=e.useCallback(()=>{var t;a(!y),(t=B.current)==null||t.focus()},[y,a]),Xe=e.useCallback(t=>{var s;t.stopPropagation(),t.preventDefault(),g(""),(s=B.current)==null||s.focus(),a(!0),m("")},[a,m]),ce=e.useCallback(t=>{var s;G(t),g(""),ee(null),(s=B.current)==null||s.focus()},[G]),H=e.useCallback(t=>{var s;g(t),a(!1),(s=B.current)==null||s.focus(),n!=="aiAssistant"&&m(t)},[n,a,m]),Ye=e.useCallback(t=>{if(t.isFinal&&t.alternatives.length>0){const s=t.alternatives[0].transcript;g(u=>u?`${u} ${s}`:s)}},[]),Ze=e.useMemo(()=>n==="aiAssistant"?P.length===0&&$.length===0:n==="search"||n==="semanticSearch"?P.length===0&&b.length===0:!1,[n,P.length,$.length,b.length]),ue=e.useCallback(t=>{const u=(n==="aiAssistant"?E:L)[t];u&&H(u.text)},[n,E,L,H]),Ae=e.useCallback(t=>{const s=b[t];s&&ce(s.mode)},[b,ce]),de=e.useMemo(()=>R.createListItemRender({historyItemRender:Y,promptSuggestionRender:X,handleListItemClick:H}),[Y,X,H]),et=y&&!Ve,tt=()=>e.createElement(e.Fragment,null,T.items.length>0&&e.createElement(K.SegmentedControl,{items:T.items,value:T.value,onChange:T.onChange,size:Q,layoutMode:"stretch"}),(n==="search"||n==="semanticSearch")&&b.length>0&&e.createElement(J.List,{data:b,textField:"text",descriptionField:"description",onClick:Ae,itemRender:R.searchModeItemRender,show:!0,wrapperCssClass:"k-list k-list-md"}),n==="aiAssistant"&&E.length>0&&e.createElement(J.List,{data:E,textField:"text",groupField:"group",svgIconField:"groupSvgIcon",descriptionField:"description",onClick:ue,itemRender:de,groupHeaderItemRender:R.listGroupHeaderRender,showFirstGroupHeader:!0,show:!0,wrapperCssClass:"k-list k-list-md"}),(n==="search"||n==="semanticSearch")&&L.length>0&&e.createElement(J.List,{data:L,textField:"text",groupField:"group",svgIconField:"groupSvgIcon",descriptionField:"description",onClick:ue,itemRender:de,groupHeaderItemRender:R.listGroupHeaderRender,showFirstGroupHeader:!0,show:!0,wrapperCssClass:"k-list k-list-md"}),Ze&&e.createElement(R.NoDataRender,{selectedView:n}));return e.createElement("div",{ref:S,className:"k-smart-box-wrapper",dir:Se,onBlur:Ke},e.createElement("span",{className:d.classNames("k-smart-box","k-input",`k-input-${We}`,`k-rounded-${$e}`,`k-input-${je}`,{"k-loading":c})},!j&&e.createElement("span",{className:"k-input-prefix k-input-prefix-horizontal"},e.createElement(d.IconWrap,{className:d.classNames({"k-accent-icon":n==="aiAssistant"||n==="semanticSearch"}),icon:Ge.svgIcon,"aria-hidden":!0,onClick:Qe,onMouseDown:t=>{"preventDefault"in t&&t.preventDefault()}})),e.createElement("input",{ref:B,type:"text",className:d.classNames("k-input-inner",{"k-disabled":j}),id:De.current,placeholder:Oe,value:i,disabled:j,role:"combobox","aria-haspopup":"listbox","aria-expanded":y?"true":"false","aria-label":we,onChange:Me,onFocus:Ue,onClick:_e,onKeyDown:Je}),i.length>0&&(n==="search"||n==="semanticSearch")&&e.createElement("span",{className:"k-clear-value",title:x.toLanguageString(o.smartBoxClearTitle,o.messages[o.smartBoxClearTitle]),role:"button",tabIndex:-1,onClick:Xe,onMouseDown:t=>t.preventDefault()},e.createElement(d.IconWrap,{className:"k-icon",icon:_.xIcon})),n==="aiAssistant"&&e.createElement("span",{className:"k-input-suffix k-input-suffix-horizontal"},se&&e.createElement(K.SpeechToTextButton,{...se,"aria-label":x.toLanguageString(o.smartBoxSpeechToTextButton,o.messages[o.smartBoxSpeechToTextButton]),title:x.toLanguageString(o.smartBoxSpeechToTextButton,o.messages[o.smartBoxSpeechToTextButton]),onResult:Ye}),e.createElement(K.Button,{className:d.classNames("k-smart-box-send",{"k-processing":c,"k-active":c}),type:"button",rounded:"full",size:"small",title:x.toLanguageString(o.smartBoxSubmitPromptButton,o.messages[o.smartBoxSubmitPromptButton]),"aria-label":x.toLanguageString(o.smartBoxSubmitPromptButton,o.messages[o.smartBoxSubmitPromptButton]),"aria-pressed":c?"true":void 0,"aria-disabled":!c&&i.length===0||void 0,svgIcon:c?_.stopIcon:_.arrowUpIcon,disabled:i.length===0&&!c,onClick:U}))),e.createElement(ot.Popup,{ref:Z,anchor:S.current,show:et,popupClass:"k-smart-box-popup",style:{width:ye},anchorAlign:{horizontal:"left",vertical:"bottom"},popupAlign:{horizontal:"left",vertical:"top"},margin:{horizontal:0,vertical:2},onMouseDownOutside:t=>{const s=t.event.target;S.current&&!S.current.contains(s)&&a(!1)}},tt()))});he.displayName="KendoReactSmartBox";exports.SmartBox=he;