@progress/kendo-react-pivotgrid 7.0.3-develop.9 → 7.1.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.
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
(function(A,me){typeof exports=="object"&&typeof module<"u"?me(exports,require("react"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl"),require("@progress/kendo-pivotgrid-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-form"),require("@progress/kendo-react-labels"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-treeview"),require("@progress/kendo-react-indicators")):typeof define=="function"&&define.amd?define(["exports","react","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-pivotgrid-common","@progress/kendo-svg-icons","@progress/kendo-react-buttons","@progress/kendo-react-form","@progress/kendo-react-labels","@progress/kendo-react-data-tools","@progress/kendo-react-treeview","@progress/kendo-react-indicators"],me):(A=typeof globalThis<"u"?globalThis:A||self,me(A.KendoReactPivotgrid={},A.React,A.KendoReactCommon,A.KendoReactIntl,A.KendoPivotgridCommon,A.KendoSvgIcons,A.KendoReactButtons,A.KendoReactForm,A.KendoReactLabels,A.KendoReactDataTools,A.KendoReactTreeview,A.KendoReactIndicators))})(this,function(A,me,c,fe,b,pe,ie,ne,ge,Ee,Te,vt){"use strict";"use client";function xt(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return a.default=e,Object.freeze(a)}const t=xt(me),pt={name:"@progress/kendo-react-pivotgrid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},De="pivotgrid.emptyCellAriaLabel",He="pivotgrid.fieldMenuReset",Re="pivotgrid.fieldMenuApply",Ge="pivotgrid.configuratorTitle",Oe="pivotgrid.configuratorCancel",qe="pivotgrid.configuratorApply",ke="pivotgrid.configuratorColumnsTitle",Ke="pivotgrid.configuratorRowsTitle",ze="pivotgrid.configuratorMeasuresTitle",Be="pivotgrid.configuratorEditorSearchTitle",Et="pivotgrid.configuratorEditorSearchPlaceholder",re="pivotgrid.configuratorMissingFields",Ue="pivotgrid.configuratorButtonLabel",Z={[De]:"PivotGrid component. Use the arrow keys to navigate.",[He]:"Reset",[Re]:"Apply",[Oe]:"Cancel",[qe]:"Apply",[Ge]:"Settings",[Be]:"Fields",[Et]:"Search...",[ke]:"Columns",[Ke]:"Rows",[ze]:"Values",[Ue]:"Change settings",[re]:"Select some fields to begin setup"},Ve=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("tr",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,role:e.role,"aria-owns":e.ariaOwns,className:c.classNames("k-pivotgrid-row",e.className)})});Ve.displayName="KendoReactPivotGridRow";const je=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("td",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,"aria-describedby":e.ariaDescribedby,className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total},e.className)},e.children)});je.displayName="KendoReactPivotGridCell";const et=(e,a,n)=>[e,(s,l)=>{const m=b.headersReducer(e,{...s,tree:a});n&&n(m,l)}],Ce=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const[s,l]=c.useCustomComponent(e.icon||tt.icon),m=c.useMouse(e,n),i=C=>{e.onIconClick&&e.onIconClick.call(void 0,{syntheticEvent:C.syntheticEvent,target:n.current})};return t.createElement("th",{ref:r,...m,colSpan:e.colSpan,rowSpan:e.rowSpan,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,...e.expandable?{"aria-expanded":e.expanded}:{},className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total,"k-pivotgrid-header-root":e.root,"k-pivotgrid-expanded":e.expanded,"k-first":e.first},e.className)},e.expandable&&t.createElement(s,{...l,onClick:i,name:`chevron-${e.expanded?"up":"down"}`,"aria-hidden":!0,icon:e.expanded?pe.chevronUpIcon:pe.chevronDownIcon}),e.children)}),tt={icon:c.IconWrap};Ce.defaultProps=tt,Ce.displayName="KendoReactPivotGridHeaderCell";const Ct=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollLeft;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollLeft=Math.round(l)}))})}},At=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollTop;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollTop=Math.round(l)}))})}},Ae=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("col",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,className:e.className})}),yt={path:[]};Ae.defaultProps=yt,Ae.displayName="KendoReactPivotGridColumn";const wt=(e,a,n)=>{const r=JSON.parse(JSON.stringify(e||[])),s=JSON.parse(JSON.stringify(a||[])),l=JSON.parse(JSON.stringify(n||[])),m=b.toTree(r),[,i,C]=b.toRows(m),f=b.toTree(s),[,x,,F]=b.toColumns(f);return b.toData(l,x,i,F,C)},ye=(e=[],a={},n=null)=>e.map(r=>{const s={dataItem:r};return Object.keys(a).forEach(l=>{s[l]=a[l](s,n)}),s}),$e=(e=[])=>{let a=[...e];return(e||[]).forEach(n=>{a=a.concat($e(n.children))}),a},_e=(e=[])=>{const a=new Set;return e.forEach(n=>{a.add(String(n.name))}),Array.from(a)},oe=(e=[])=>`${e.join(",")}`,Ft=(e,a)=>`${oe(e.map(n=>n.name))}|${oe(a.map(n=>n.name))}`,bt=(e,a,n)=>{if(!e)return;let r=0,s,l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&(s=e[r]);return s},nt=(e,a,n)=>{if(!e)return[];let r=0,s=[],l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&s.push(e[r]);return s},at=(e,a)=>e.uniqueName===a.uniqueName,rt=t.forwardRef((e,a)=>{c.validatePackage(pt);const{rows:n,rowAxes:r,columns:s,columnAxes:l,data:m}={...he,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=t.useRef(null),F=t.useRef(null),K=t.useRef(null),D=t.useRef(null),j=fe.useLocalization(),G=(v,M)=>{e.onRowAxesChange&&e.onRowAxesChange({value:v,target:C.current,syntheticEvent:M})},$=(v,M)=>{e.onColumnAxesChange&&e.onColumnAxesChange({value:v,target:C.current,syntheticEvent:M})},_=b.toTree((n||[]).slice()),[,p]=et((r||[]).slice(),_,G),[L,g,U,V]=b.toRows(_),O=b.toTree((s||[]).slice()),[,u]=et((l||[]).slice(),O,$),[y,H,,P]=b.toColumns(O),w=b.toData((m||[]).slice(),H,g,P,U);t.useImperativeHandle(C,()=>({props:e,element:i.current,columnHeaderRows:y,rowHeaderRows:L,dataCells:w,rowHeaderBreadth:V,columnHeaderBreadth:P})),t.useImperativeHandle(a,()=>C.current);const J=[],W=[],o=[],[h,E]=c.useCustomComponent(e.row||he.row),[N,T]=c.useCustomComponent(e.column||he.column),[z,X]=c.useCustomComponent(e.cell||he.cell),[d,q]=c.useCustomComponent(e.headerCell||he.headerCell),B=e.columnHeadersRow||h,R=e.columnHeadersColumn||N,ee=e.columnHeadersCell||d,Q=e.rowHeadersRow||h,le=e.rowHeadersColumn||N,Tt=e.rowHeadersCell||d,Dt=e.dataRow||h,Ht=e.dataColumn||N;for(let v=0;v<H.length;v++)J.push(t.createElement(Ht,{key:String(H[v].path),...T,path:H[v].path})),o.push(t.createElement(R,{key:String(H[v].path),...T,path:H[v].path}));for(let v=0;v<V;v++)W.push(t.createElement(le,{key:v,...T}));const Rt=v=>{v.target.props.expandable&&u({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},Gt=v=>{v.target.props.expandable&&p({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},ft=Ct(D,K),Ot=At(D,F),qt=v=>{ft(v),Ot(v)},gt=t.useCallback(()=>{i.current&&x.current&&(i.current.style.gridTemplateRows="",i.current.style.gridTemplateRows=`${x.current.offsetHeight}px 1fr`)},[]),ht=t.useCallback(()=>{i.current&&f.current&&(i.current.style.gridTemplateColumns="",i.current.style.gridTemplateColumns=`${f.current.offsetWidth}px 1fr`)},[]),ce=t.useRef(new b.PivotGridNavigation({tabIndex:e.tabIndex||0}));t.useEffect(()=>{if(i.current){const v=e.tabIndex||0;if(ce.current.stop(),ce.current.tabIndex=v,e.navigatable){ce.current.start(i.current);const M=ce.current.first;M&&M.setAttribute("tabindex",String(v))}}return()=>{ce.current.stop()}},[e.tabIndex,e.navigatable]),t.useEffect(()=>{ce.current.update()}),t.useEffect(()=>{if(x.current){const v=new window.ResizeObserver(gt);return v.observe(x.current),()=>{v.disconnect()}}},[gt]),t.useEffect(()=>{if(f.current){const v=new window.ResizeObserver(ht);return v.observe(f.current),()=>{v.disconnect()}}},[ht]),t.useLayoutEffect(()=>{if(c.setScrollbarWidth(),f.current){const v=new window.ResizeObserver(c.setScrollbarWidth);return v.observe(f.current),()=>{v.disconnect()}}},[]);const ue=new Array(y.length).fill([]).map(()=>new Array(H.length));y.forEach((v,M)=>{let S=0;Array.from(v.cells).forEach(I=>{const Y=!!(I&&I.children&&I.children.length),Qe=(I?oe(I.normalizedPath)+(I.total?"|[TOTAL]":"")+(Y?"|[EXPANDED]":""):"").replace(/\s/g,"-");if(I)for(let Le=0;Le<(I.colSpan||1);Le++){for(let de=0;de<(I.rowSpan||1);de++){const kt=ue[M+de].findIndex((Kt,zt)=>zt>=S&&!Kt);ue[M+de][kt]=Qe}S++}})});const Me=w.map(v=>v.cells.map(M=>Ft(M.rowTuple.members,M.columnTuple.members).replace(/\s/g,"-")));return t.createElement("div",{ref:i,id:e.id,style:e.style,tabIndex:e.navigatable?void 0:e.tabIndex,className:c.classNames("k-pivotgrid",e.className),role:"grid"},t.createElement("span",{className:"k-pivotgrid-empty-cell"},t.createElement("span",{className:"k-sr-only"},j.toLanguageString(De,Z[De]))),t.createElement("div",{ref:K,className:"k-pivotgrid-column-headers",onScroll:ft},t.createElement("table",{ref:x,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,o),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},y.map((v,M)=>{let S=!1;return t.createElement(B,{key:v.name,role:"row",...E},v.cells.map((I,Y)=>{const Qe=Y!==0&&!S;I&&(S=!0);const Le=I&&!!(I.children&&I.children.length),de=I&&I.hasChildren&&(!I.total||I.total&&I.parent.total);return I?t.createElement(ee,{...q,key:ue[M][Y],"data-key":ue[M][Y],id:ue[M][Y],columnPath:I.normalizedPath,rowSpan:I.rowSpan||void 0,colSpan:I.colSpan||void 0,onIconClick:Rt,dataItem:I,expanded:Le,expandable:de,total:I.total,first:Qe,root:I.levelNum===0,role:"columnheader"},I.caption):null}))})))),t.createElement("div",{ref:F,className:"k-pivotgrid-row-headers"},t.createElement("table",{ref:f,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,W),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},L.map((v,M)=>t.createElement(Q,{key:oe(g[M].path),...E,path:g[M].path,role:"row",ariaOwns:Me[M].join(" ")},v.cells.filter(Boolean).map(S=>S?t.createElement(Tt,{...q,key:oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),"data-key":oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),rowPath:S.normalizedPath,rowSpan:S.rowSpan||void 0,colSpan:S.colSpan||void 0,dataItem:S,expanded:!!(S.children&&S.children.length),expandable:S.hasChildren&&!S.total,total:S.total,onIconClick:Gt,root:S.levelNum===0,role:"rowheader"},S.caption):null)))))),t.createElement("div",{ref:D,className:"k-pivotgrid-values",onScroll:qt},t.createElement("table",{className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,J),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"none"},w.map((v,M)=>t.createElement(Dt,{key:oe(g[M].path),...E,path:g[M].path,role:"none"},v.cells.map((S,I)=>t.createElement(z,{key:Me[M][I],"data-key":Me[M][I],id:Me[M][I],...X,rowPath:S.rowTuple.members.map(Y=>Y.name),columnPath:S.columnTuple.members.map(Y=>Y.name),dataItem:S,total:g[M].total||H[I].total,role:"gridcell",ariaDescribedby:ue.map(Y=>Y[I]).join(" ")},S&&S.data&&S.data.fmtValue?S.data.fmtValue:" "))))))))}),he={rowAxes:[],columnAxes:[],data:[],row:Ve,column:Ae,cell:je,headerCell:Ce};rt.displayName="KendoReactPivotGrid";const Xe=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);return t.useImperativeHandle(r,()=>({props:e,element:n.current})),t.useImperativeHandle(a,()=>r.current),t.createElement("div",{ref:n,id:e.id,style:e.style,tabIndex:e.tabIndex,className:c.classNames("k-d-flex k-pos-relative",{"k-flex-row":e.configuratorPosition==="right","k-flex-row-reverse":e.configuratorPosition==="left","k-flex-column":e.configuratorPosition==="bottom","k-flex-column-reverse":e.configuratorPosition==="top"},e.className)},e.children)}),Nt={configuratorPosition:"right"};Xe.defaultProps=Nt,Xe.displayName="KendoReactPivotGridContainer";const ot=t.createContext({axes:null});var Ze=(e=>(e.toggle="EXPAND_TOGGLE",e.expand="EXPAND_EXPAND",e.collapse="EXPAND_COLLAPSE",e))(Ze||{});const St=(e,a,n)=>{switch(a.type){case"EXPAND_TOGGLE":return Array.isArray(e)?e.find(r=>n(r,a.payload))?[...e.filter(r=>!n(r,a.payload))]:[...e,a.payload]:n(e,a.payload)?null:a.payload;case"EXPAND_EXPAND":if(Array.isArray(e)){if(!e.find(r=>n(r,a.payload)))return[...e,a.payload]}else if(!n(e,a.payload))return a.payload;break;case"EXPAND_COLLAPSE":if(Array.isArray(e)){if(e.find(r=>n(r,a.payload)))return[...e.filter(r=>!n(r,a.payload))]}else n(e,a.payload);break;default:return e}},st=(e=[],a,n,r=(s,l)=>s===l)=>{const[s,l]=t.useState(e);return[s,(i,C)=>{const f=St(s,i,r);a&&a.call(void 0,{value:f,target:n.current,syntheticEvent:C}),l(f)}]};var lt=(e=>(e.toggleExpansion="PIVOT_CONFIGURATOR_ACTION_TOGGLE_EXPANSION",e))(lt||{});const k={...b.PIVOT_CONFIGURATOR_ACTION,...lt},It=(e,a)=>{const n=e.valueGetter("rowAxes"),r=e.valueGetter("columnAxes"),s=e.valueGetter("measureAxes"),l=e.valueGetter("sort"),m=e.valueGetter("filter"),[i,C]=st([],void 0,a,at),[f,x]=t.useState(null),[F,K]=t.useState(null),[D,j]=t.useState(null),[G,$]=t.useState(null);return[{dragItem:f,dropTarget:D,dropZone:F,dropDirection:G,columnAxes:r,rowAxes:n,measureAxes:s,sort:l,filter:m,expanded:i},(p,L)=>{switch(p.type){case k.toggleExpansion:{C({type:Ze.toggle,payload:p.payload},L);break}default:const g=b.configuratorReducer({filter:p.override&&p.override.filter!==void 0?p.override.filter:m,sort:p.override&&p.override.sort!==void 0?p.override.sort:l,rowAxes:p.override&&p.override.rowAxes!==void 0?p.override.rowAxes:n,columnAxes:p.override&&p.override.columnAxes!==void 0?p.override.columnAxes:r,measureAxes:p.override&&p.override.measureAxes!==void 0?p.override.measureAxes:s,dragItem:p.override&&p.override.dragItem!==void 0?p.override.dragItem:f,dropDirection:p.override&&p.override.dropDirection!==void 0?p.override.dropDirection:G,dropTarget:p.override&&p.override.dropTarget!==void 0?p.override.dropTarget:D,dropZone:p.override&&p.override.dropZone!==void 0?p.override.dropZone:F},p);g.columnAxes!==void 0&&e.onChange("columnAxes",{value:g.columnAxes}),g.rowAxes!==void 0&&e.onChange("rowAxes",{value:g.rowAxes}),g.measureAxes!==void 0&&e.onChange("measureAxes",{value:g.measureAxes}),g.sort!==void 0&&e.onChange("sort",{value:g.sort}),g.filter!==void 0&&e.onChange("filter",{value:g.filter}),g.dropDirection!==void 0&&$(g.dropDirection),g.dropTarget!==void 0&&j(g.dropTarget),g.dropZone!==void 0&&K(g.dropZone),g.dragItem!==void 0&&x(g.dragItem);break}}]},it=t.createContext({}),we=t.createContext([{expanded:[],rowAxes:[],columnAxes:[],measureAxes:[],dragItem:null,dropZone:null,dropDirection:null,dropTarget:null},c.noop]),Fe=t.forwardRef((e,a)=>{const{data:n,dataItem:r,defaultFilter:s}={...ae,...e},l=t.useRef(null),m=t.useRef(null),i=fe.useLocalization(),[C,f]=c.useCustomComponent(e.columnMenuItem||ae.columnMenuItem),[x,F]=c.useCustomComponent(e.columnMenuForm||ae.columnMenuForm),[K,D]=c.useCustomComponent(e.resetButton||ae.resetButton),[j,G]=c.useCustomComponent(e.applyButton||ae.applyButton),[$,_]=c.useCustomComponent(e.treeView||ae.treeView),[p,L]=c.useCustomComponent(e.noData||ae.noData);t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[g,U]=t.useState(!1),{onAxisFilterFieldsExpandChange:V,onAxisFilterFieldExpand:O}=t.useContext(it),[,u]=t.useContext(we),[y,H]=t.useState(s),P=y?y.value.split(","):[],[w,J]=st([],void 0,m,at),W={caption:d=>d.dataItem.caption,id:d=>d.dataItem.uniqueName,parent:(d,q)=>q&&q.value,value:d=>d.dataItem.defaultHierarchy||d.dataItem.uniqueName,expanded:d=>w.some(q=>q.uniqueName===d.id),checked:d=>!P.length||(P||[]).some(q=>q===d.dataItem.uniqueName),hasChildren:d=>parseInt(d.dataItem.childrenCardinality,10)>0,children:d=>ye(d.dataItem.children,W,d),checkIndeterminate:d=>{const q=(d.children||[]).length&&d.children.every(B=>B.checked);return q&&(d.checked=!0),(d.children||[]).some(B=>B.checked)&&!q}},o=ye(n,W),h=$e(o),E=d=>{U(!g),V&&V({value:!g,target:m.current,syntheticEvent:d})},N=d=>{J({type:Ze.toggle,payload:d.item.dataItem},d.syntheticEvent),O&&O({value:d.item.dataItem,target:m.current,syntheticEvent:d.syntheticEvent})},T=d=>{let q;d.item.checked?q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).filter(B=>B!==d.item.value&&B!==d.item.parent).join(",")}:q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).concat([d.item.value]).join(",")},H(q)},z=d=>{U(!1),y&&u({type:k.removeFilter,payload:y},d)},X=d=>{U(!1),y&&u({type:s?k.changeFilter:k.addFilter,payload:y},d)};return t.createElement("div",{ref:l,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-columnmenu-item-wrapper",e.className)},t.createElement(C,{...f,title:"Include Fields",iconClass:"k-i-grid-layout",svgIcon:pe.gridLayoutIcon,onClick:E}),t.createElement(x,{show:g,actions:t.createElement(t.Fragment,null,t.createElement(K,{type:"reset",onClick:z,...D},i.toLanguageString(He,Z[He])),t.createElement(j,{themeColor:"primary",onClick:X,...G},i.toLanguageString(Re,Z[Re]))),...F},o&&o.length?t.createElement($,{data:o,checkboxes:!0,onExpandChange:N,onCheckChange:T,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",..._}):t.createElement(p,{...L})))}),ae={data:[],resetButton:ie.Button,applyButton:ie.Button,treeView:Te.TreeView,noData:()=>t.createElement(vt.Skeleton,{shape:"rectangle",style:{height:"20px",width:"calc(100% - 16px)",margin:8}}),columnMenuItem:Ee.ColumnMenuItem,columnMenuForm:Ee.ColumnMenuForm};Fe.defaultProps=ae,Fe.displayName="KendoReactPivotGridAxisFilterFieldsEditor";const be=t.forwardRef((e,a)=>{const n=t.useRef(0),r=t.useRef(0),s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),{axes:i}=t.useContext(ot),[C,f]=t.useState(!1),[x,F]=t.useContext(we);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[K,D]=c.useCustomComponent(e.chip||ve.chip),[j,G]=c.useCustomComponent(e.dropClue||ve.dropClue),[$,_]=c.useCustomComponent(e.columnMenuTextColumn||ve.columnMenuTextColumn),[p,L]=c.useCustomComponent(e.filterFieldsEditor||ve.filterFieldsEditor),g=nt(x.filter,String(e.value),"in"),U=nt(x.filter,String(e.value)),V=(o,h)=>{F({type:k.setSort,payload:h},o)},O=(o,h)=>{h.length?F({type:k.setFilter,payload:[...g||[],...h.reduce((E,N)=>[...E,...N.filters.filter(T=>T.value)],[])]},o):F({type:k.setFilter,payload:g},o)},u=o=>{F({type:k.remove,payload:e.dataItem},o.syntheticEvent)},y=o=>{const h=o.slice(),E=bt(x.filter,String(e.dataItem.name),"in");return h.splice(1,0,t.createElement(p,{key:"axis-filter-fields-editor",defaultFilter:E,dataItem:e.dataItem,data:e.dataItem.fields,axes:i,...L})),h},H=o=>{n.current=o.clientX,r.current=o.clientY},P=o=>{Math.abs(n.current-o.clientX)<10&&Math.abs(r.current-o.clientY)<10||(l.current&&(l.current.style.transform=`translate(${o.clientX-n.current}px, ${o.clientY-r.current}px)`),f(!0),F({type:k.setDragItem,payload:e.dataItem}))},w=()=>{f(!1),x.dragItem&&(l.current&&(l.current.style.transform=""),F({type:k.drop,payload:e.dataItem}))},J=o=>{x.dragItem&&(F({type:k.setDropTarget,payload:e.dataItem},o.syntheticEvent),F({type:k.setDropZone,payload:i},o.syntheticEvent))},W=o=>{if(x.dragItem&&!C&&l.current){const h=l.current.getBoundingClientRect(),N=o.syntheticEvent.clientX-h.left<h.width/2?"before":"after";F({type:k.setDropDirection,payload:N},o.syntheticEvent)}};return c.useDraggable(l,{onPress:H,onDrag:P,onRelease:w}),t.createElement(t.Fragment,null,x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="before"&&t.createElement(j,{...G}),t.createElement(K,{ref:c.canUseRef(K)?s:void 0,...e,removable:!0,onRemove:u,onMouseEnter:J,onMouseMove:W,style:{pointerEvents:C?"none":void 0},rounded:"full",...D},e.text,i!=="measureAxes"&&t.createElement($,{field:String(e.value),itemsRender:y,sort:x.sort,onSortChange:V,filter:U&&U.length?[{logic:"and",filters:U}]:void 0,onFilterChange:O,filterContent:[Ee.ColumnMenuTextFilter],..._})),x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="after"&&t.createElement(j,{...G}))}),ve={chip:ie.Chip,columnMenuTextColumn:Ee.ColumnMenuTextColumn,filterFieldsEditor:Fe,dropClue:e=>t.createElement("div",{className:"k-grouping-dropclue",style:{position:"relative",zIndex:1e4},...e})};be.defaultProps=ve,be.displayName="KendoReactPivotGridAxisEditor";const se=t.forwardRef((e,a)=>{const{value:n,field:r}={...Je,...e},s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),[i,C]=c.useCustomComponent(e.chipList||Je.chipList);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const f=n.filter(x=>x.name.length===1&&x.name.every(F=>F.indexOf("&")===-1)).map(x=>({...x,text:String(x.name)}));return t.createElement(ot.Provider,{value:{axes:r}},t.createElement(i,{ref:c.canUseRef(i)?s:void 0,textField:"text",valueField:"name",data:f,chip:be,style:{position:"relative"},className:e.className,selection:"none",...C}))}),Je={value:[],chipList:ie.ChipList};se.defaultProps=Je,se.displayName="KendoReactPivotGridAxesEditor";const Ne=t.forwardRef((e,a)=>{const{data:n,rowAxes:r,columnAxes:s,measureAxes:l,onExpand:m,onCheck:i}={...Se,...e},C=t.useRef(null),f=t.useRef(null),[x,F]=c.useCustomComponent(e.treeView||Se.treeView),[K,D]=c.useCustomComponent(e.noData||Se.noData);t.useImperativeHandle(f,()=>({props:e,element:C.current&&C.current.element})),t.useImperativeHandle(a,()=>f.current);const[j]=t.useContext(we),G=_e(s),$=_e(r),_=_e(l),L=$e(n).filter(u=>[...G,...$,..._].some(y=>y===u.uniqueName||y===u.defaultHierarchy)),g={caption:u=>u.dataItem.caption,id:u=>u.dataItem.uniqueName,value:u=>u.dataItem.defaultHierarchy||u.dataItem.uniqueName,expanded:u=>j.expanded.some(y=>y.uniqueName===u.dataItem.uniqueName),hasChildren:u=>!("hierarchyUniqueName"in u.dataItem)&&!("aggregator"in u.dataItem),selectable:u=>!(!u.hasChildren&&!u.dataItem.aggregator&&!u.dataItem.measure||u.dataItem.type===2||u.dataItem.uniqueName==="[KPIs]"),children:u=>ye(u.dataItem.children,g,u),checked:u=>L.some(y=>u.dataItem.defaultHierarchy?y.defaultHierarchy===u.dataItem.defaultHierarchy:y.uniqueName===u.dataItem.uniqueName)||u.children.length&&u.children.every(y=>y.checked)},U=u=>{m&&m({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},V=u=>{i&&i({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},O=ye(e.data,g);return t.createElement(Te.TreeViewItemPropsContext.Provider,{value:u=>({...u,checkboxes:u.item.selectable})},O&&O.length?t.createElement(x,{ref:c.canUseRef(x)?C:void 0,data:O,checkboxes:!0,onExpandChange:U,onCheckChange:V,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",...F}):t.createElement(K,{...D}))}),Se={data:[],rowAxes:[],columnAxes:[],measureAxes:[],treeView:Te.TreeView,noData:()=>t.createElement("div",null,"NO DATA")};Ne.defaultProps=Se,Ne.displayName="KendoReactPivotGridFieldsEditor";const Ie=t.forwardRef((e,a)=>{const{onFieldsEditorFieldCheck:n,onFieldsEditorFieldCheckAction:r,onFieldsEditorFieldExpand:s,onFieldsEditorFieldExpandAction:l,onAxisFilterFieldExpand:m,onAxisFilterFieldsExpandChange:i}=e,[C,f]=c.useCustomComponent(e.fieldsLabel||te.fieldsLabel),[x,F]=c.useCustomComponent(e.fieldsEditor||te.fieldsEditor),[K,D]=c.useCustomComponent(e.columnAxesLabel||te.columnAxesLabel),[j,G]=c.useCustomComponent(e.columnAxesEditor||te.columnAxesEditor),[$,_]=c.useCustomComponent(e.rowAxesLabel||te.rowAxesLabel),[p,L]=c.useCustomComponent(e.rowAxesEditor||te.rowAxesEditor),[g,U]=c.useCustomComponent(e.measureAxesLabel||te.measureAxesLabel),[V,O]=c.useCustomComponent(e.measureAxesEditor||te.measureAxesEditor),u=t.useRef(null),y=t.useRef(null),H=fe.useLocalization(),[P,w]=It(e,y);t.useImperativeHandle(y,()=>({element:u.current,props:e,state:P})),t.useImperativeHandle(a,()=>y.current);const J=()=>{P.dragItem&&w({type:k.setDropZone,payload:"columnAxes"})},W=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},o=()=>{P.dragItem&&w({type:k.setDropZone,payload:"rowAxes"})},h=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},E=()=>{P.dragItem&&w({type:k.setDropZone,payload:"measureAxes"})},N=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},T=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(l){const Q=l(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}s&&s({target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent})},z=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(r){const Q=r(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}n&&n(ee)},X=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};m&&m(ee)},d=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};i&&i(ee)},q=e.horizontal?"div":t.Fragment,B=e.horizontal?{className:"k-form-field-wrapper"}:{};return t.createElement(it.Provider,{value:{onAxisFilterFieldExpand:X,onAxisFilterFieldsExpandChange:d}},t.createElement(we.Provider,{value:[P,w]},t.createElement(q,{...B},t.createElement("div",{className:"k-form-field"},t.createElement(C,{name:"",component:ge.Label,...f},H.toLanguageString(Be,Z[Be]))),t.createElement("div",{className:"k-form-field"},t.createElement("div",{className:"k-fields-list-wrapper"},t.createElement(x,{data:e.data,onExpand:T,onCheck:z,columnAxes:P.columnAxes,rowAxes:P.rowAxes,measureAxes:P.measureAxes,...F})))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:J,onMouseLeave:W},t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:K,...D},H.toLanguageString(ke,Z[ke]))),e.valueGetter("columnAxes").length?t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:j,onMouseEnter:J,onMouseLeave:W,className:"k-column-fields",...G}):t.createElement("div",{className:"k-settings-description",onMouseEnter:J,onMouseLeave:W},H.toLanguageString(re,Z[re])),t.createElement("div",{className:"k-form-field",onMouseEnter:o,onMouseLeave:h},t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:$,..._},H.toLanguageString(Ke,Z[Ke]))),e.valueGetter("rowAxes").length?t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:p,onMouseEnter:o,onMouseLeave:h,className:"k-column-fields",...L}):t.createElement("div",{className:"k-settings-description",onMouseEnter:o,onMouseLeave:h},H.toLanguageString(re,Z[re]))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:E,onMouseLeave:N},t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:g,...U},H.toLanguageString(ze,Z[ze]))),e.valueGetter("measureAxes").length?t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:V,onMouseEnter:E,onMouseLeave:N,className:"k-column-fields",...O}):t.createElement("div",{className:"k-settings-description",onMouseEnter:E,onMouseLeave:N},H.toLanguageString(re,Z[re])))))}),te={data:[],horizontal:!1,fieldsLabel:ge.Label,fieldsEditor:Ne,columnAxesLabel:ge.Label,columnAxesEditor:se,rowAxesLabel:ge.Label,rowAxesEditor:se,measureAxesLabel:ge.Label,measureAxesEditor:se,axesEditor:se,onFieldsEditorFieldCheckAction:e=>({type:k.toggleSelection,payload:e.value}),onFieldsEditorFieldExpandAction:e=>({type:k.toggleExpansion,payload:e.value})};Ie.defaultProps=te,Ie.displayName="KendoReactPivotGridConfiguratorEditor";const We=t.forwardRef((e,a)=>{const{horizontal:n,data:r,rowAxes:s,columnAxes:l,measureAxes:m}={...xe,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=fe.useLocalization(),[F,K]=c.useCustomComponent(e.editor||xe.editor),[D,j]=c.useCustomComponent(e.form||xe.form),[G,$]=c.useCustomComponent(e.formElement||xe.formElement);t.useImperativeHandle(C,()=>({props:e,element:i.current})),t.useImperativeHandle(a,()=>C.current);const _=(L,g)=>{e.onRowAxesChange&&e.onRowAxesChange({target:C.current,value:L.rowAxes,syntheticEvent:g}),e.onColumnAxesChange&&e.onColumnAxesChange({target:C.current,value:L.columnAxes,syntheticEvent:g}),e.onMeasureAxesChange&&e.onMeasureAxesChange({target:C.current,value:L.measureAxes,syntheticEvent:g}),e.onSortChange&&e.onSortChange({target:C.current,value:L.sort,syntheticEvent:g}),e.onFilterChange&&e.onFilterChange({target:C.current,value:L.filter,syntheticEvent:g})},p={rowAxes:s,columnAxes:l,measureAxes:m,sort:e.sort,filter:e.filter};return t.useEffect(()=>{f.current&&f.current.onChange("rowAxes",{value:s})},[s]),t.useEffect(()=>{f.current&&f.current.onChange("columnAxes",{value:l})},[l]),t.useEffect(()=>{f.current&&f.current.onChange("measureAxes",{value:m})},[m]),t.useEffect(()=>{f.current&&f.current.onChange("sort",{value:e.sort})},[e.sort]),t.useEffect(()=>{f.current&&f.current.onChange("filter",{value:e.filter})},[e.filter]),t.createElement("div",{ref:i,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-pivotgrid-configurator",e.className)},t.createElement("div",{className:c.classNames("k-pivotgrid-configurator-panel","k-pivotgrid-configurator-push",{"k-pivotgrid-configurator-horizontal":n,"k-pivotgrid-configurator-vertical":!n})},t.createElement("div",{className:"k-pivotgrid-configurator-header"},t.createElement("div",{className:"k-pivotgrid-configurator-header-text"},x.toLanguageString(Ge,Z[Ge]))),t.createElement(D,{ref:c.canUseRef(D)?f:void 0,initialValues:p,onSubmit:_,render:L=>t.createElement(t.Fragment,null,t.createElement("div",{className:"k-pivotgrid-configurator-content"},t.createElement(G,{horizontal:n,...$},t.createElement(F,{...L,horizontal:e.horizontal,onFieldsEditorFieldExpand:e.onFieldsEditorFieldExpand,onFieldsEditorFieldCheck:e.onFieldsEditorFieldCheck,onAxisFilterFieldExpand:e.onAxisFilterFieldExpand,onAxisFilterFieldsExpandChange:e.onAxisFilterFieldsExpandChange,data:r,...K}))),t.createElement("div",{className:"k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"},t.createElement(ie.Button,{type:"submit",onClick:L.onFormReset},x.toLanguageString(Oe,Z[Oe])),t.createElement(ie.Button,{themeColor:"primary",type:"submit",onClick:L.onSubmit},x.toLanguageString(qe,Z[qe])))),...j})))}),xe={form:ne.Form,formElement:ne.FormElement,editor:Ie,horizontal:!1,data:[],columnAxes:[],rowAxes:[],measureAxes:[]};We.defaultProps=xe,We.displayName="KendoReactPivotGridConfigurator";const Ye=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null),s=fe.useLocalization();t.useImperativeHandle(n,()=>({props:e,element:r.current})),t.useImperativeHandle(a,()=>n.current);const[l,m]=c.useCustomComponent(e.icon||ct.icon),i=t.useMemo(()=>c.classNames("k-pivotgrid-configurator-button",e.className),[e.className]),C=c.useMouse(e,n);return t.createElement("div",{ref:r,id:e.id,className:i,tabIndex:e.tabIndex,...C},t.createElement("span",null,s.toLanguageString(Ue,Z[Ue]),t.createElement(l,{name:"gear",icon:pe.gearIcon,...m})))}),ct={icon:c.IconWrap};Ye.defaultProps=ct,Ye.displayName="KendoReactPivotGridConfiguratorButton";const ut=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState({data:[],columns:[],rows:[]}),[l,m]=t.useState([]),[i,C]=t.useState(e.defaultColumnAxes||[]),[f,x]=t.useState(e.defaultRowAxes||[]),[F,K]=t.useState(e.defaultMeasureAxes||[]),[D,j]=t.useState(e.defaultSort||[]),[G,$]=t.useState(e.defaultFilter||[]),_=o=>{x(o.value)},p=o=>{C(o.value)},L=o=>{K(o.value)},g=o=>{j(o.value)},U=o=>{$(o.value)};t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},columnAxes:i.slice(),rowAxes:f.slice(),measureAxes:F,sort:D,filter:G};setTimeout(()=>{b.fetchData({url:e.url},c.clone(o)).then(b.createDataState).then(h=>{s(h),n(!1)})})},[i,f,F,G,D,e.cube,e.catalog,e.url]),t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};b.fetchDiscover({url:e.url},o).then(h=>{b.addKPI(h),m(h),n(!1)})},[e.catalog,e.cube,e.url]);const V=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(String(N.name)===String(h.name))return N}return null},O=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(N.uniqueName===h.uniqueName)return N;let T=O(N.children,h);if(T!==null)return T}return null},u=async o=>{let h,E,N,T,z,X;o.name&&(h="schemaMembers",T=`${String(o.name)}.[(ALL)]`);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},y=async o=>{let h,E,N,T,z,X;o.uniqueName&&(h="schemaMembers",z=o.uniqueName.replace(/\&/g,"&"),X=1);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},H=async o=>{let h,E,N,T,z,X;o.type===2?h="schemaMeasures":o.dimensionUniqueName?(h="schemaLevels",N=o.uniqueName):(h="schemaHierarchies",E=o.uniqueName);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},P=async()=>{const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaKPIs"};return b.fetchDiscover({url:e.url},o)},w=async o=>{const h=l.slice(),E=O(h,o.value);if(E&&E.uniqueName==="[KPIs]"){const N=Mt(await P());E.children=N}else if(E&&E.type==="kpi")E.children=b.buildKPIMeasures(E);else if(E&&!E.children){const N=await H(E);E.children=N}m(h)},J=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z&&!z.fields){const X=await u(z);z.fields=X,N(T)}},W=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z){const X=(z.fields||[]).slice(),d=O(X,o.value);if(d&&(!d.children||!d.children.length)){const q=await y(d);d.children=q,z.fields=X,N(T)}}};return{pivotProps:{rowAxes:f,columnAxes:i,data:r.data,rows:r.rows,columns:r.columns,onRowAxesChange:_,onColumnAxesChange:p},configuratorProps:{sort:D,onSortChange:g,filter:G,onFilterChange:U,data:l,rowAxes:f,columnAxes:i,measureAxes:F,onRowAxesChange:_,onColumnAxesChange:p,onMeasureAxesChange:L,onFieldsEditorFieldExpand:w,onAxisFilterFieldExpand:W,onAxisFilterFieldsExpandChange:J},state:{loading:a}}},Pt=e=>{const a=ut(e);return e.children(a)},Mt=e=>{for(let a=0,n=e.length;a<n;a++)e[a].uniqueName=e[a].name,e[a].type="kpi";return e},dt={dataField:"aggregate",columnsData:"columns"},Pe="&",mt=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState(e.defaultColumnAxes||[]),[l,m]=t.useState(e.defaultRowAxes||[]),[i,C]=t.useState(e.defaultMeasureAxes||[]),[f,x]=t.useState(e.defaultSort||[]),[F,K]=t.useState(e.defaultFilter||[]),[D,j]=t.useState(new Map),G=t.useCallback(w=>{m(w.value)},[]),$=t.useCallback(w=>{s(w.value)},[]),_=w=>{C(w.value)},p=w=>{x(w.value)},L=w=>{K(w.value)},g=t.useMemo(()=>Array.from(b.rootFields(r).keys()).join(Pe),[r]),U=t.useMemo(()=>Array.from(b.rootFields(l).keys()).join(Pe),[l]),V=t.useCallback(w=>({key:w,...e.dimensions[w]}),[e.dimensions]),O=t.useMemo(()=>g?g.split(Pe).map(V):[],[g,V]),u=t.useMemo(()=>U?U.split(Pe).map(V):[],[U,V]),y=t.useMemo(()=>i.map(w=>e.measures.find(J=>String(J.name)===String(w.name))).filter(Boolean),[i,e.measures]);t.useEffect(()=>{n(!0),setTimeout(()=>{const w=b.createDataTree(e.data,u,O,y,dt,F);j(w),n(!1)},0)},[e.data,u,O,y,F]);const H=t.useMemo(()=>b.createFlatSchemaDimensions(e.dimensions,e.measures),[e.dimensions,e.measures]),P=t.useMemo(()=>b.createLocalDataState({dataTree:D,rowSettings:u,columnSettings:O,rowAxes:l,columnAxes:r,measures:y,sort:f,fields:dt}),[r,O,D,l,u,f]);return{pivotProps:{rowAxes:l,columnAxes:r,data:P.data,rows:P.rows,columns:P.columns,onRowAxesChange:G,onColumnAxesChange:$},configuratorProps:{sort:f,onSortChange:p,filter:F,onFilterChange:L,data:H,rowAxes:l,columnAxes:r,measureAxes:i,onRowAxesChange:G,onColumnAxesChange:$,onMeasureAxesChange:_},state:{loading:a}}},Lt=e=>{const a=mt(e);return e.children(a)};Object.defineProperty(A,"averageAggregate",{enumerable:!0,get:()=>b.averageAggregate}),Object.defineProperty(A,"maxAggregate",{enumerable:!0,get:()=>b.maxAggregate}),Object.defineProperty(A,"minAggregate",{enumerable:!0,get:()=>b.minAggregate}),Object.defineProperty(A,"sumAggregate",{enumerable:!0,get:()=>b.sumAggregate}),A.PivotGrid=rt,A.PivotGridAxesEditor=se,A.PivotGridAxisEditor=be,A.PivotGridAxisFilterFieldsEditor=Fe,A.PivotGridCell=je,A.PivotGridColumn=Ae,A.PivotGridConfigurator=We,A.PivotGridConfiguratorButton=Ye,A.PivotGridConfiguratorEditor=Ie,A.PivotGridContainer=Xe,A.PivotGridFieldsEditor=Ne,A.PivotGridHeaderCell=Ce,A.PivotGridRow=Ve,A.PivotLocalDataService=Lt,A.PivotOLAPService=Pt,A.dataCells=wt,A.usePivotLocalDataService=mt,A.usePivotOLAPService=ut,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
(function(A,me){typeof exports=="object"&&typeof module!="undefined"?me(exports,require("react"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl"),require("@progress/kendo-pivotgrid-common"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-form"),require("@progress/kendo-react-labels"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-treeview"),require("@progress/kendo-react-indicators")):typeof define=="function"&&define.amd?define(["exports","react","@progress/kendo-react-common","@progress/kendo-react-intl","@progress/kendo-pivotgrid-common","@progress/kendo-svg-icons","@progress/kendo-react-buttons","@progress/kendo-react-form","@progress/kendo-react-labels","@progress/kendo-react-data-tools","@progress/kendo-react-treeview","@progress/kendo-react-indicators"],me):(A=typeof globalThis!="undefined"?globalThis:A||self,me(A.KendoReactPivotgrid={},A.React,A.KendoReactCommon,A.KendoReactIntl,A.KendoPivotgridCommon,A.KendoSvgIcons,A.KendoReactButtons,A.KendoReactForm,A.KendoReactLabels,A.KendoReactDataTools,A.KendoReactTreeview,A.KendoReactIndicators))})(this,function(A,me,c,fe,b,pe,ie,ne,ge,Ee,Te,vt){"use strict";"use client";function xt(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(a,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return a.default=e,Object.freeze(a)}const t=xt(me),pt={name:"@progress/kendo-react-pivotgrid",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},De="pivotgrid.emptyCellAriaLabel",He="pivotgrid.fieldMenuReset",Re="pivotgrid.fieldMenuApply",Ge="pivotgrid.configuratorTitle",Oe="pivotgrid.configuratorCancel",qe="pivotgrid.configuratorApply",ke="pivotgrid.configuratorColumnsTitle",Ke="pivotgrid.configuratorRowsTitle",ze="pivotgrid.configuratorMeasuresTitle",Be="pivotgrid.configuratorEditorSearchTitle",Et="pivotgrid.configuratorEditorSearchPlaceholder",re="pivotgrid.configuratorMissingFields",Ue="pivotgrid.configuratorButtonLabel",Z={[De]:"PivotGrid component. Use the arrow keys to navigate.",[He]:"Reset",[Re]:"Apply",[Oe]:"Cancel",[qe]:"Apply",[Ge]:"Settings",[Be]:"Fields",[Et]:"Search...",[ke]:"Columns",[Ke]:"Rows",[ze]:"Values",[Ue]:"Change settings",[re]:"Select some fields to begin setup"},Ve=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("tr",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,role:e.role,"aria-owns":e.ariaOwns,className:c.classNames("k-pivotgrid-row",e.className)})});Ve.displayName="KendoReactPivotGridRow";const je=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("td",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,"aria-describedby":e.ariaDescribedby,className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total},e.className)},e.children)});je.displayName="KendoReactPivotGridCell";const et=(e,a,n)=>[e,(s,l)=>{const m=b.headersReducer(e,{...s,tree:a});n&&n(m,l)}],Ce=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const[s,l]=c.useCustomComponent(e.icon||tt.icon),m=c.useMouse(e,n),i=C=>{e.onIconClick&&e.onIconClick.call(void 0,{syntheticEvent:C.syntheticEvent,target:n.current})};return t.createElement("th",{ref:r,...m,colSpan:e.colSpan,rowSpan:e.rowSpan,id:e.id,style:e.style,tabIndex:e.tabIndex,role:e.role,...e.expandable?{"aria-expanded":e.expanded}:{},className:c.classNames("k-pivotgrid-cell",{"k-pivotgrid-header-total":e.total,"k-pivotgrid-header-root":e.root,"k-pivotgrid-expanded":e.expanded,"k-first":e.first},e.className)},e.expandable&&t.createElement(s,{...l,onClick:i,name:`chevron-${e.expanded?"up":"down"}`,"aria-hidden":!0,icon:e.expanded?pe.chevronUpIcon:pe.chevronDownIcon}),e.children)}),tt={icon:c.IconWrap};Ce.defaultProps=tt,Ce.displayName="KendoReactPivotGridHeaderCell";const Ct=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollLeft;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollLeft=Math.round(l)}))})}},At=(...e)=>{const a=t.useRef();return r=>{a.current!==void 0&&window.cancelAnimationFrame(a.current);const s=r.currentTarget,l=s.scrollTop;e.forEach(m=>{const i=m.current;i&&i!==s&&(a.current=window.requestAnimationFrame(()=>{i.scrollTop=Math.round(l)}))})}},Ae=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);t.useImperativeHandle(n,()=>({element:r.current,props:e})),t.useImperativeHandle(a,()=>n.current);const s=c.useMouse(e,n);return t.createElement("col",{ref:r,...s,id:e.id,style:e.style,tabIndex:e.tabIndex,children:e.children,className:e.className})}),yt={path:[]};Ae.defaultProps=yt,Ae.displayName="KendoReactPivotGridColumn";const wt=(e,a,n)=>{const r=JSON.parse(JSON.stringify(e||[])),s=JSON.parse(JSON.stringify(a||[])),l=JSON.parse(JSON.stringify(n||[])),m=b.toTree(r),[,i,C]=b.toRows(m),f=b.toTree(s),[,x,,F]=b.toColumns(f);return b.toData(l,x,i,F,C)},ye=(e=[],a={},n=null)=>e.map(r=>{const s={dataItem:r};return Object.keys(a).forEach(l=>{s[l]=a[l](s,n)}),s}),$e=(e=[])=>{let a=[...e];return(e||[]).forEach(n=>{a=a.concat($e(n.children))}),a},_e=(e=[])=>{const a=new Set;return e.forEach(n=>{a.add(String(n.name))}),Array.from(a)},oe=(e=[])=>`${e.join(",")}`,Ft=(e,a)=>`${oe(e.map(n=>n.name))}|${oe(a.map(n=>n.name))}`,bt=(e,a,n)=>{if(!e)return;let r=0,s,l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&(s=e[r]);return s},nt=(e,a,n)=>{if(!e)return[];let r=0,s=[],l=e.length,m;for(;r<l;r++)m=e[r].operator,(!n&&m!=="in"||m===n)&&e[r].field===a&&s.push(e[r]);return s},at=(e,a)=>e.uniqueName===a.uniqueName,rt=t.forwardRef((e,a)=>{c.validatePackage(pt);const{rows:n,rowAxes:r,columns:s,columnAxes:l,data:m}={...he,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=t.useRef(null),F=t.useRef(null),K=t.useRef(null),D=t.useRef(null),j=fe.useLocalization(),G=(v,M)=>{e.onRowAxesChange&&e.onRowAxesChange({value:v,target:C.current,syntheticEvent:M})},$=(v,M)=>{e.onColumnAxesChange&&e.onColumnAxesChange({value:v,target:C.current,syntheticEvent:M})},_=b.toTree((n||[]).slice()),[,p]=et((r||[]).slice(),_,G),[L,g,U,V]=b.toRows(_),O=b.toTree((s||[]).slice()),[,u]=et((l||[]).slice(),O,$),[y,H,,P]=b.toColumns(O),w=b.toData((m||[]).slice(),H,g,P,U);t.useImperativeHandle(C,()=>({props:e,element:i.current,columnHeaderRows:y,rowHeaderRows:L,dataCells:w,rowHeaderBreadth:V,columnHeaderBreadth:P})),t.useImperativeHandle(a,()=>C.current);const J=[],W=[],o=[],[h,E]=c.useCustomComponent(e.row||he.row),[N,T]=c.useCustomComponent(e.column||he.column),[z,X]=c.useCustomComponent(e.cell||he.cell),[d,q]=c.useCustomComponent(e.headerCell||he.headerCell),B=e.columnHeadersRow||h,R=e.columnHeadersColumn||N,ee=e.columnHeadersCell||d,Q=e.rowHeadersRow||h,le=e.rowHeadersColumn||N,Tt=e.rowHeadersCell||d,Dt=e.dataRow||h,Ht=e.dataColumn||N;for(let v=0;v<H.length;v++)J.push(t.createElement(Ht,{key:String(H[v].path),...T,path:H[v].path})),o.push(t.createElement(R,{key:String(H[v].path),...T,path:H[v].path}));for(let v=0;v<V;v++)W.push(t.createElement(le,{key:v,...T}));const Rt=v=>{v.target.props.expandable&&u({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},Gt=v=>{v.target.props.expandable&&p({type:b.HEADERS_ACTION.toggle,payload:v.target.props.dataItem.path},v.syntheticEvent)},ft=Ct(D,K),Ot=At(D,F),qt=v=>{ft(v),Ot(v)},gt=t.useCallback(()=>{i.current&&x.current&&(i.current.style.gridTemplateRows="",i.current.style.gridTemplateRows=`${x.current.offsetHeight}px 1fr`)},[]),ht=t.useCallback(()=>{i.current&&f.current&&(i.current.style.gridTemplateColumns="",i.current.style.gridTemplateColumns=`${f.current.offsetWidth}px 1fr`)},[]),ce=t.useRef(new b.PivotGridNavigation({tabIndex:e.tabIndex||0}));t.useEffect(()=>{if(i.current){const v=e.tabIndex||0;if(ce.current.stop(),ce.current.tabIndex=v,e.navigatable){ce.current.start(i.current);const M=ce.current.first;M&&M.setAttribute("tabindex",String(v))}}return()=>{ce.current.stop()}},[e.tabIndex,e.navigatable]),t.useEffect(()=>{ce.current.update()}),t.useEffect(()=>{if(x.current){const v=new window.ResizeObserver(gt);return v.observe(x.current),()=>{v.disconnect()}}},[gt]),t.useEffect(()=>{if(f.current){const v=new window.ResizeObserver(ht);return v.observe(f.current),()=>{v.disconnect()}}},[ht]),t.useLayoutEffect(()=>{if(c.setScrollbarWidth(),f.current){const v=new window.ResizeObserver(c.setScrollbarWidth);return v.observe(f.current),()=>{v.disconnect()}}},[]);const ue=new Array(y.length).fill([]).map(()=>new Array(H.length));y.forEach((v,M)=>{let S=0;Array.from(v.cells).forEach(I=>{const Y=!!(I&&I.children&&I.children.length),Qe=(I?oe(I.normalizedPath)+(I.total?"|[TOTAL]":"")+(Y?"|[EXPANDED]":""):"").replace(/\s/g,"-");if(I)for(let Le=0;Le<(I.colSpan||1);Le++){for(let de=0;de<(I.rowSpan||1);de++){const kt=ue[M+de].findIndex((Kt,zt)=>zt>=S&&!Kt);ue[M+de][kt]=Qe}S++}})});const Me=w.map(v=>v.cells.map(M=>Ft(M.rowTuple.members,M.columnTuple.members).replace(/\s/g,"-")));return t.createElement("div",{ref:i,id:e.id,style:e.style,tabIndex:e.navigatable?void 0:e.tabIndex,className:c.classNames("k-pivotgrid",e.className),role:"grid"},t.createElement("span",{className:"k-pivotgrid-empty-cell"},t.createElement("span",{className:"k-sr-only"},j.toLanguageString(De,Z[De]))),t.createElement("div",{ref:K,className:"k-pivotgrid-column-headers",onScroll:ft},t.createElement("table",{ref:x,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,o),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},y.map((v,M)=>{let S=!1;return t.createElement(B,{key:v.name,role:"row",...E},v.cells.map((I,Y)=>{const Qe=Y!==0&&!S;I&&(S=!0);const Le=I&&!!(I.children&&I.children.length),de=I&&I.hasChildren&&(!I.total||I.total&&I.parent.total);return I?t.createElement(ee,{...q,key:ue[M][Y],"data-key":ue[M][Y],id:ue[M][Y],columnPath:I.normalizedPath,rowSpan:I.rowSpan||void 0,colSpan:I.colSpan||void 0,onIconClick:Rt,dataItem:I,expanded:Le,expandable:de,total:I.total,first:Qe,root:I.levelNum===0,role:"columnheader"},I.caption):null}))})))),t.createElement("div",{ref:F,className:"k-pivotgrid-row-headers"},t.createElement("table",{ref:f,className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,W),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"rowgroup"},L.map((v,M)=>t.createElement(Q,{key:oe(g[M].path),...E,path:g[M].path,role:"row",ariaOwns:Me[M].join(" ")},v.cells.filter(Boolean).map(S=>S?t.createElement(Tt,{...q,key:oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),"data-key":oe(S.normalizedPath)+(S.total?"|[TOTAL]":"")+(S.children&&S.children.length?"|[EXPANDED]":""),rowPath:S.normalizedPath,rowSpan:S.rowSpan||void 0,colSpan:S.colSpan||void 0,dataItem:S,expanded:!!(S.children&&S.children.length),expandable:S.hasChildren&&!S.total,total:S.total,onIconClick:Gt,root:S.levelNum===0,role:"rowheader"},S.caption):null)))))),t.createElement("div",{ref:D,className:"k-pivotgrid-values",onScroll:qt},t.createElement("table",{className:"k-pivotgrid-table",role:"none"},t.createElement("colgroup",null,J),t.createElement("tbody",{className:"k-pivotgrid-tbody",role:"none"},w.map((v,M)=>t.createElement(Dt,{key:oe(g[M].path),...E,path:g[M].path,role:"none"},v.cells.map((S,I)=>t.createElement(z,{key:Me[M][I],"data-key":Me[M][I],id:Me[M][I],...X,rowPath:S.rowTuple.members.map(Y=>Y.name),columnPath:S.columnTuple.members.map(Y=>Y.name),dataItem:S,total:g[M].total||H[I].total,role:"gridcell",ariaDescribedby:ue.map(Y=>Y[I]).join(" ")},S&&S.data&&S.data.fmtValue?S.data.fmtValue:" "))))))))}),he={rowAxes:[],columnAxes:[],data:[],row:Ve,column:Ae,cell:je,headerCell:Ce};rt.displayName="KendoReactPivotGrid";const Xe=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null);return t.useImperativeHandle(r,()=>({props:e,element:n.current})),t.useImperativeHandle(a,()=>r.current),t.createElement("div",{ref:n,id:e.id,style:e.style,tabIndex:e.tabIndex,className:c.classNames("k-d-flex k-pos-relative",{"k-flex-row":e.configuratorPosition==="right","k-flex-row-reverse":e.configuratorPosition==="left","k-flex-column":e.configuratorPosition==="bottom","k-flex-column-reverse":e.configuratorPosition==="top"},e.className)},e.children)}),Nt={configuratorPosition:"right"};Xe.defaultProps=Nt,Xe.displayName="KendoReactPivotGridContainer";const ot=t.createContext({axes:null});var Ze=(e=>(e.toggle="EXPAND_TOGGLE",e.expand="EXPAND_EXPAND",e.collapse="EXPAND_COLLAPSE",e))(Ze||{});const St=(e,a,n)=>{switch(a.type){case"EXPAND_TOGGLE":return Array.isArray(e)?e.find(r=>n(r,a.payload))?[...e.filter(r=>!n(r,a.payload))]:[...e,a.payload]:n(e,a.payload)?null:a.payload;case"EXPAND_EXPAND":if(Array.isArray(e)){if(!e.find(r=>n(r,a.payload)))return[...e,a.payload]}else if(!n(e,a.payload))return a.payload;break;case"EXPAND_COLLAPSE":if(Array.isArray(e)){if(e.find(r=>n(r,a.payload)))return[...e.filter(r=>!n(r,a.payload))]}else n(e,a.payload);break;default:return e}},st=(e=[],a,n,r=(s,l)=>s===l)=>{const[s,l]=t.useState(e);return[s,(i,C)=>{const f=St(s,i,r);a&&a.call(void 0,{value:f,target:n.current,syntheticEvent:C}),l(f)}]};var lt=(e=>(e.toggleExpansion="PIVOT_CONFIGURATOR_ACTION_TOGGLE_EXPANSION",e))(lt||{});const k={...b.PIVOT_CONFIGURATOR_ACTION,...lt},It=(e,a)=>{const n=e.valueGetter("rowAxes"),r=e.valueGetter("columnAxes"),s=e.valueGetter("measureAxes"),l=e.valueGetter("sort"),m=e.valueGetter("filter"),[i,C]=st([],void 0,a,at),[f,x]=t.useState(null),[F,K]=t.useState(null),[D,j]=t.useState(null),[G,$]=t.useState(null);return[{dragItem:f,dropTarget:D,dropZone:F,dropDirection:G,columnAxes:r,rowAxes:n,measureAxes:s,sort:l,filter:m,expanded:i},(p,L)=>{switch(p.type){case k.toggleExpansion:{C({type:Ze.toggle,payload:p.payload},L);break}default:const g=b.configuratorReducer({filter:p.override&&p.override.filter!==void 0?p.override.filter:m,sort:p.override&&p.override.sort!==void 0?p.override.sort:l,rowAxes:p.override&&p.override.rowAxes!==void 0?p.override.rowAxes:n,columnAxes:p.override&&p.override.columnAxes!==void 0?p.override.columnAxes:r,measureAxes:p.override&&p.override.measureAxes!==void 0?p.override.measureAxes:s,dragItem:p.override&&p.override.dragItem!==void 0?p.override.dragItem:f,dropDirection:p.override&&p.override.dropDirection!==void 0?p.override.dropDirection:G,dropTarget:p.override&&p.override.dropTarget!==void 0?p.override.dropTarget:D,dropZone:p.override&&p.override.dropZone!==void 0?p.override.dropZone:F},p);g.columnAxes!==void 0&&e.onChange("columnAxes",{value:g.columnAxes}),g.rowAxes!==void 0&&e.onChange("rowAxes",{value:g.rowAxes}),g.measureAxes!==void 0&&e.onChange("measureAxes",{value:g.measureAxes}),g.sort!==void 0&&e.onChange("sort",{value:g.sort}),g.filter!==void 0&&e.onChange("filter",{value:g.filter}),g.dropDirection!==void 0&&$(g.dropDirection),g.dropTarget!==void 0&&j(g.dropTarget),g.dropZone!==void 0&&K(g.dropZone),g.dragItem!==void 0&&x(g.dragItem);break}}]},it=t.createContext({}),we=t.createContext([{expanded:[],rowAxes:[],columnAxes:[],measureAxes:[],dragItem:null,dropZone:null,dropDirection:null,dropTarget:null},c.noop]),Fe=t.forwardRef((e,a)=>{const{data:n,dataItem:r,defaultFilter:s}={...ae,...e},l=t.useRef(null),m=t.useRef(null),i=fe.useLocalization(),[C,f]=c.useCustomComponent(e.columnMenuItem||ae.columnMenuItem),[x,F]=c.useCustomComponent(e.columnMenuForm||ae.columnMenuForm),[K,D]=c.useCustomComponent(e.resetButton||ae.resetButton),[j,G]=c.useCustomComponent(e.applyButton||ae.applyButton),[$,_]=c.useCustomComponent(e.treeView||ae.treeView),[p,L]=c.useCustomComponent(e.noData||ae.noData);t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[g,U]=t.useState(!1),{onAxisFilterFieldsExpandChange:V,onAxisFilterFieldExpand:O}=t.useContext(it),[,u]=t.useContext(we),[y,H]=t.useState(s),P=y?y.value.split(","):[],[w,J]=st([],void 0,m,at),W={caption:d=>d.dataItem.caption,id:d=>d.dataItem.uniqueName,parent:(d,q)=>q&&q.value,value:d=>d.dataItem.defaultHierarchy||d.dataItem.uniqueName,expanded:d=>w.some(q=>q.uniqueName===d.id),checked:d=>!P.length||(P||[]).some(q=>q===d.dataItem.uniqueName),hasChildren:d=>parseInt(d.dataItem.childrenCardinality,10)>0,children:d=>ye(d.dataItem.children,W,d),checkIndeterminate:d=>{const q=(d.children||[]).length&&d.children.every(B=>B.checked);return q&&(d.checked=!0),(d.children||[]).some(B=>B.checked)&&!q}},o=ye(n,W),h=$e(o),E=d=>{U(!g),V&&V({value:!g,target:m.current,syntheticEvent:d})},N=d=>{J({type:Ze.toggle,payload:d.item.dataItem},d.syntheticEvent),O&&O({value:d.item.dataItem,target:m.current,syntheticEvent:d.syntheticEvent})},T=d=>{let q;d.item.checked?q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).filter(B=>B!==d.item.value&&B!==d.item.parent).join(",")}:q={field:String(r.name),operator:"in",value:h.filter(B=>B.checked).map(B=>String(B.value)).concat([d.item.value]).join(",")},H(q)},z=d=>{U(!1),y&&u({type:k.removeFilter,payload:y},d)},X=d=>{U(!1),y&&u({type:s?k.changeFilter:k.addFilter,payload:y},d)};return t.createElement("div",{ref:l,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-columnmenu-item-wrapper",e.className)},t.createElement(C,{...f,title:"Include Fields",iconClass:"k-i-grid-layout",svgIcon:pe.gridLayoutIcon,onClick:E}),t.createElement(x,{show:g,actions:t.createElement(t.Fragment,null,t.createElement(K,{type:"reset",onClick:z,...D},i.toLanguageString(He,Z[He])),t.createElement(j,{themeColor:"primary",onClick:X,...G},i.toLanguageString(Re,Z[Re]))),...F},o&&o.length?t.createElement($,{data:o,checkboxes:!0,onExpandChange:N,onCheckChange:T,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",..._}):t.createElement(p,{...L})))}),ae={data:[],resetButton:ie.Button,applyButton:ie.Button,treeView:Te.TreeView,noData:()=>t.createElement(vt.Skeleton,{shape:"rectangle",style:{height:"20px",width:"calc(100% - 16px)",margin:8}}),columnMenuItem:Ee.ColumnMenuItem,columnMenuForm:Ee.ColumnMenuForm};Fe.defaultProps=ae,Fe.displayName="KendoReactPivotGridAxisFilterFieldsEditor";const be=t.forwardRef((e,a)=>{const n=t.useRef(0),r=t.useRef(0),s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),{axes:i}=t.useContext(ot),[C,f]=t.useState(!1),[x,F]=t.useContext(we);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const[K,D]=c.useCustomComponent(e.chip||ve.chip),[j,G]=c.useCustomComponent(e.dropClue||ve.dropClue),[$,_]=c.useCustomComponent(e.columnMenuTextColumn||ve.columnMenuTextColumn),[p,L]=c.useCustomComponent(e.filterFieldsEditor||ve.filterFieldsEditor),g=nt(x.filter,String(e.value),"in"),U=nt(x.filter,String(e.value)),V=(o,h)=>{F({type:k.setSort,payload:h},o)},O=(o,h)=>{h.length?F({type:k.setFilter,payload:[...g||[],...h.reduce((E,N)=>[...E,...N.filters.filter(T=>T.value)],[])]},o):F({type:k.setFilter,payload:g},o)},u=o=>{F({type:k.remove,payload:e.dataItem},o.syntheticEvent)},y=o=>{const h=o.slice(),E=bt(x.filter,String(e.dataItem.name),"in");return h.splice(1,0,t.createElement(p,{key:"axis-filter-fields-editor",defaultFilter:E,dataItem:e.dataItem,data:e.dataItem.fields,axes:i,...L})),h},H=o=>{n.current=o.clientX,r.current=o.clientY},P=o=>{Math.abs(n.current-o.clientX)<10&&Math.abs(r.current-o.clientY)<10||(l.current&&(l.current.style.transform=`translate(${o.clientX-n.current}px, ${o.clientY-r.current}px)`),f(!0),F({type:k.setDragItem,payload:e.dataItem}))},w=()=>{f(!1),x.dragItem&&(l.current&&(l.current.style.transform=""),F({type:k.drop,payload:e.dataItem}))},J=o=>{x.dragItem&&(F({type:k.setDropTarget,payload:e.dataItem},o.syntheticEvent),F({type:k.setDropZone,payload:i},o.syntheticEvent))},W=o=>{if(x.dragItem&&!C&&l.current){const h=l.current.getBoundingClientRect(),N=o.syntheticEvent.clientX-h.left<h.width/2?"before":"after";F({type:k.setDropDirection,payload:N},o.syntheticEvent)}};return c.useDraggable(l,{onPress:H,onDrag:P,onRelease:w}),t.createElement(t.Fragment,null,x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="before"&&t.createElement(j,{...G}),t.createElement(K,{ref:c.canUseRef(K)?s:void 0,...e,removable:!0,onRemove:u,onMouseEnter:J,onMouseMove:W,style:{pointerEvents:C?"none":void 0},rounded:"full",...D},e.text,i!=="measureAxes"&&t.createElement($,{field:String(e.value),itemsRender:y,sort:x.sort,onSortChange:V,filter:U&&U.length?[{logic:"and",filters:U}]:void 0,onFilterChange:O,filterContent:[Ee.ColumnMenuTextFilter],..._})),x.dropTarget&&b.compareAxes(x.dropTarget,e.dataItem)&&x.dropDirection==="after"&&t.createElement(j,{...G}))}),ve={chip:ie.Chip,columnMenuTextColumn:Ee.ColumnMenuTextColumn,filterFieldsEditor:Fe,dropClue:e=>t.createElement("div",{className:"k-grouping-dropclue",style:{position:"relative",zIndex:1e4},...e})};be.defaultProps=ve,be.displayName="KendoReactPivotGridAxisEditor";const se=t.forwardRef((e,a)=>{const{value:n,field:r}={...Je,...e},s=t.useRef(null),l=t.useRef(null),m=t.useRef(null),[i,C]=c.useCustomComponent(e.chipList||Je.chipList);t.useImperativeHandle(l,()=>s.current&&s.current.element),t.useImperativeHandle(m,()=>({props:e,element:l.current})),t.useImperativeHandle(a,()=>m.current);const f=n.filter(x=>x.name.length===1&&x.name.every(F=>F.indexOf("&")===-1)).map(x=>({...x,text:String(x.name)}));return t.createElement(ot.Provider,{value:{axes:r}},t.createElement(i,{ref:c.canUseRef(i)?s:void 0,textField:"text",valueField:"name",data:f,chip:be,style:{position:"relative"},className:e.className,selection:"none",...C}))}),Je={value:[],chipList:ie.ChipList};se.defaultProps=Je,se.displayName="KendoReactPivotGridAxesEditor";const Ne=t.forwardRef((e,a)=>{const{data:n,rowAxes:r,columnAxes:s,measureAxes:l,onExpand:m,onCheck:i}={...Se,...e},C=t.useRef(null),f=t.useRef(null),[x,F]=c.useCustomComponent(e.treeView||Se.treeView),[K,D]=c.useCustomComponent(e.noData||Se.noData);t.useImperativeHandle(f,()=>({props:e,element:C.current&&C.current.element})),t.useImperativeHandle(a,()=>f.current);const[j]=t.useContext(we),G=_e(s),$=_e(r),_=_e(l),L=$e(n).filter(u=>[...G,...$,..._].some(y=>y===u.uniqueName||y===u.defaultHierarchy)),g={caption:u=>u.dataItem.caption,id:u=>u.dataItem.uniqueName,value:u=>u.dataItem.defaultHierarchy||u.dataItem.uniqueName,expanded:u=>j.expanded.some(y=>y.uniqueName===u.dataItem.uniqueName),hasChildren:u=>!("hierarchyUniqueName"in u.dataItem)&&!("aggregator"in u.dataItem),selectable:u=>!(!u.hasChildren&&!u.dataItem.aggregator&&!u.dataItem.measure||u.dataItem.type===2||u.dataItem.uniqueName==="[KPIs]"),children:u=>ye(u.dataItem.children,g,u),checked:u=>L.some(y=>u.dataItem.defaultHierarchy?y.defaultHierarchy===u.dataItem.defaultHierarchy:y.uniqueName===u.dataItem.uniqueName)||u.children.length&&u.children.every(y=>y.checked)},U=u=>{m&&m({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},V=u=>{i&&i({value:u.item.dataItem,target:f.current,syntheticEvent:u.syntheticEvent})},O=ye(e.data,g);return t.createElement(Te.TreeViewItemPropsContext.Provider,{value:u=>({...u,checkboxes:u.item.selectable})},O&&O.length?t.createElement(x,{ref:c.canUseRef(x)?C:void 0,data:O,checkboxes:!0,onExpandChange:U,onCheckChange:V,textField:"caption",expandIcons:!0,hasChildrenField:"hasChildren",checkIndeterminateField:"checkIndeterminate",childrenField:"children",...F}):t.createElement(K,{...D}))}),Se={data:[],rowAxes:[],columnAxes:[],measureAxes:[],treeView:Te.TreeView,noData:()=>t.createElement("div",null,"NO DATA")};Ne.defaultProps=Se,Ne.displayName="KendoReactPivotGridFieldsEditor";const Ie=t.forwardRef((e,a)=>{const{onFieldsEditorFieldCheck:n,onFieldsEditorFieldCheckAction:r,onFieldsEditorFieldExpand:s,onFieldsEditorFieldExpandAction:l,onAxisFilterFieldExpand:m,onAxisFilterFieldsExpandChange:i}=e,[C,f]=c.useCustomComponent(e.fieldsLabel||te.fieldsLabel),[x,F]=c.useCustomComponent(e.fieldsEditor||te.fieldsEditor),[K,D]=c.useCustomComponent(e.columnAxesLabel||te.columnAxesLabel),[j,G]=c.useCustomComponent(e.columnAxesEditor||te.columnAxesEditor),[$,_]=c.useCustomComponent(e.rowAxesLabel||te.rowAxesLabel),[p,L]=c.useCustomComponent(e.rowAxesEditor||te.rowAxesEditor),[g,U]=c.useCustomComponent(e.measureAxesLabel||te.measureAxesLabel),[V,O]=c.useCustomComponent(e.measureAxesEditor||te.measureAxesEditor),u=t.useRef(null),y=t.useRef(null),H=fe.useLocalization(),[P,w]=It(e,y);t.useImperativeHandle(y,()=>({element:u.current,props:e,state:P})),t.useImperativeHandle(a,()=>y.current);const J=()=>{P.dragItem&&w({type:k.setDropZone,payload:"columnAxes"})},W=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},o=()=>{P.dragItem&&w({type:k.setDropZone,payload:"rowAxes"})},h=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},E=()=>{P.dragItem&&w({type:k.setDropZone,payload:"measureAxes"})},N=()=>{P.dragItem&&w({type:k.setDropZone,payload:null})},T=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(l){const Q=l(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}s&&s({target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent})},z=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};if(r){const Q=r(ee,e,P);Q&&(Array.isArray(Q)?Q.filter(Boolean).map(le=>le&&w({...le},R.syntheticEvent)):w({...Q},R.syntheticEvent))}n&&n(ee)},X=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};m&&m(ee)},d=R=>{const ee={target:R.target,currentTarget:y.current,value:R.value,syntheticEvent:R.syntheticEvent};i&&i(ee)},q=e.horizontal?"div":t.Fragment,B=e.horizontal?{className:"k-form-field-wrapper"}:{};return t.createElement(it.Provider,{value:{onAxisFilterFieldExpand:X,onAxisFilterFieldsExpandChange:d}},t.createElement(we.Provider,{value:[P,w]},t.createElement(q,{...B},t.createElement("div",{className:"k-form-field"},t.createElement(C,{name:"",component:ge.Label,...f},H.toLanguageString(Be,Z[Be]))),t.createElement("div",{className:"k-form-field"},t.createElement("div",{className:"k-fields-list-wrapper"},t.createElement(x,{data:e.data,onExpand:T,onCheck:z,columnAxes:P.columnAxes,rowAxes:P.rowAxes,measureAxes:P.measureAxes,...F})))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:J,onMouseLeave:W},t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:K,...D},H.toLanguageString(ke,Z[ke]))),e.valueGetter("columnAxes").length?t.createElement(ne.Field,{name:"columnAxes",field:"columnAxes",component:j,onMouseEnter:J,onMouseLeave:W,className:"k-column-fields",...G}):t.createElement("div",{className:"k-settings-description",onMouseEnter:J,onMouseLeave:W},H.toLanguageString(re,Z[re])),t.createElement("div",{className:"k-form-field",onMouseEnter:o,onMouseLeave:h},t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:$,..._},H.toLanguageString(Ke,Z[Ke]))),e.valueGetter("rowAxes").length?t.createElement(ne.Field,{name:"rowAxes",field:"rowAxes",component:p,onMouseEnter:o,onMouseLeave:h,className:"k-column-fields",...L}):t.createElement("div",{className:"k-settings-description",onMouseEnter:o,onMouseLeave:h},H.toLanguageString(re,Z[re]))),t.createElement(q,{...B},t.createElement("div",{className:"k-form-field",onMouseEnter:E,onMouseLeave:N},t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:g,...U},H.toLanguageString(ze,Z[ze]))),e.valueGetter("measureAxes").length?t.createElement(ne.Field,{name:"measureAxes",field:"measureAxes",component:V,onMouseEnter:E,onMouseLeave:N,className:"k-column-fields",...O}):t.createElement("div",{className:"k-settings-description",onMouseEnter:E,onMouseLeave:N},H.toLanguageString(re,Z[re])))))}),te={data:[],horizontal:!1,fieldsLabel:ge.Label,fieldsEditor:Ne,columnAxesLabel:ge.Label,columnAxesEditor:se,rowAxesLabel:ge.Label,rowAxesEditor:se,measureAxesLabel:ge.Label,measureAxesEditor:se,axesEditor:se,onFieldsEditorFieldCheckAction:e=>({type:k.toggleSelection,payload:e.value}),onFieldsEditorFieldExpandAction:e=>({type:k.toggleExpansion,payload:e.value})};Ie.defaultProps=te,Ie.displayName="KendoReactPivotGridConfiguratorEditor";const We=t.forwardRef((e,a)=>{const{horizontal:n,data:r,rowAxes:s,columnAxes:l,measureAxes:m}={...xe,...e},i=t.useRef(null),C=t.useRef(null),f=t.useRef(null),x=fe.useLocalization(),[F,K]=c.useCustomComponent(e.editor||xe.editor),[D,j]=c.useCustomComponent(e.form||xe.form),[G,$]=c.useCustomComponent(e.formElement||xe.formElement);t.useImperativeHandle(C,()=>({props:e,element:i.current})),t.useImperativeHandle(a,()=>C.current);const _=(L,g)=>{e.onRowAxesChange&&e.onRowAxesChange({target:C.current,value:L.rowAxes,syntheticEvent:g}),e.onColumnAxesChange&&e.onColumnAxesChange({target:C.current,value:L.columnAxes,syntheticEvent:g}),e.onMeasureAxesChange&&e.onMeasureAxesChange({target:C.current,value:L.measureAxes,syntheticEvent:g}),e.onSortChange&&e.onSortChange({target:C.current,value:L.sort,syntheticEvent:g}),e.onFilterChange&&e.onFilterChange({target:C.current,value:L.filter,syntheticEvent:g})},p={rowAxes:s,columnAxes:l,measureAxes:m,sort:e.sort,filter:e.filter};return t.useEffect(()=>{f.current&&f.current.onChange("rowAxes",{value:s})},[s]),t.useEffect(()=>{f.current&&f.current.onChange("columnAxes",{value:l})},[l]),t.useEffect(()=>{f.current&&f.current.onChange("measureAxes",{value:m})},[m]),t.useEffect(()=>{f.current&&f.current.onChange("sort",{value:e.sort})},[e.sort]),t.useEffect(()=>{f.current&&f.current.onChange("filter",{value:e.filter})},[e.filter]),t.createElement("div",{ref:i,id:e.id,tabIndex:e.tabIndex,style:e.style,className:c.classNames("k-pivotgrid-configurator",e.className)},t.createElement("div",{className:c.classNames("k-pivotgrid-configurator-panel","k-pivotgrid-configurator-push",{"k-pivotgrid-configurator-horizontal":n,"k-pivotgrid-configurator-vertical":!n})},t.createElement("div",{className:"k-pivotgrid-configurator-header"},t.createElement("div",{className:"k-pivotgrid-configurator-header-text"},x.toLanguageString(Ge,Z[Ge]))),t.createElement(D,{ref:c.canUseRef(D)?f:void 0,initialValues:p,onSubmit:_,render:L=>t.createElement(t.Fragment,null,t.createElement("div",{className:"k-pivotgrid-configurator-content"},t.createElement(G,{horizontal:n,...$},t.createElement(F,{...L,horizontal:e.horizontal,onFieldsEditorFieldExpand:e.onFieldsEditorFieldExpand,onFieldsEditorFieldCheck:e.onFieldsEditorFieldCheck,onAxisFilterFieldExpand:e.onAxisFilterFieldExpand,onAxisFilterFieldsExpandChange:e.onAxisFilterFieldsExpandChange,data:r,...K}))),t.createElement("div",{className:"k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"},t.createElement(ie.Button,{type:"submit",onClick:L.onFormReset},x.toLanguageString(Oe,Z[Oe])),t.createElement(ie.Button,{themeColor:"primary",type:"submit",onClick:L.onSubmit},x.toLanguageString(qe,Z[qe])))),...j})))}),xe={form:ne.Form,formElement:ne.FormElement,editor:Ie,horizontal:!1,data:[],columnAxes:[],rowAxes:[],measureAxes:[]};We.defaultProps=xe,We.displayName="KendoReactPivotGridConfigurator";const Ye=t.forwardRef((e,a)=>{const n=t.useRef(null),r=t.useRef(null),s=fe.useLocalization();t.useImperativeHandle(n,()=>({props:e,element:r.current})),t.useImperativeHandle(a,()=>n.current);const[l,m]=c.useCustomComponent(e.icon||ct.icon),i=t.useMemo(()=>c.classNames("k-pivotgrid-configurator-button",e.className),[e.className]),C=c.useMouse(e,n);return t.createElement("div",{ref:r,id:e.id,className:i,tabIndex:e.tabIndex,...C},t.createElement("span",null,s.toLanguageString(Ue,Z[Ue]),t.createElement(l,{name:"gear",icon:pe.gearIcon,...m})))}),ct={icon:c.IconWrap};Ye.defaultProps=ct,Ye.displayName="KendoReactPivotGridConfiguratorButton";const ut=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState({data:[],columns:[],rows:[]}),[l,m]=t.useState([]),[i,C]=t.useState(e.defaultColumnAxes||[]),[f,x]=t.useState(e.defaultRowAxes||[]),[F,K]=t.useState(e.defaultMeasureAxes||[]),[D,j]=t.useState(e.defaultSort||[]),[G,$]=t.useState(e.defaultFilter||[]),_=o=>{x(o.value)},p=o=>{C(o.value)},L=o=>{K(o.value)},g=o=>{j(o.value)},U=o=>{$(o.value)};t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},columnAxes:i.slice(),rowAxes:f.slice(),measureAxes:F,sort:D,filter:G};setTimeout(()=>{b.fetchData({url:e.url},c.clone(o)).then(b.createDataState).then(h=>{s(h),n(!1)})})},[i,f,F,G,D,e.cube,e.catalog,e.url]),t.useEffect(()=>{n(!0);const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};b.fetchDiscover({url:e.url},o).then(h=>{b.addKPI(h),m(h),n(!1)})},[e.catalog,e.cube,e.url]);const V=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(String(N.name)===String(h.name))return N}return null},O=(o=[],h)=>{for(let E=0;E<o.length;E++){const N=o[E];if(N.uniqueName===h.uniqueName)return N;let T=O(N.children,h);if(T!==null)return T}return null},u=async o=>{let h,E,N,T,z,X;o.name&&(h="schemaMembers",T=`${String(o.name)}.[(ALL)]`);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},y=async o=>{let h,E,N,T,z,X;o.uniqueName&&(h="schemaMembers",z=o.uniqueName.replace(/\&/g,"&"),X=1);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},H=async o=>{let h,E,N,T,z,X;o.type===2?h="schemaMeasures":o.dimensionUniqueName?(h="schemaLevels",N=o.uniqueName):(h="schemaHierarchies",E=o.uniqueName);const d={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:N,dimensionUniqueName:E,levelUniqueName:T,memberUniqueName:z,treeOp:X},command:h};return b.fetchDiscover({url:e.url},d)},P=async()=>{const o={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaKPIs"};return b.fetchDiscover({url:e.url},o)},w=async o=>{const h=l.slice(),E=O(h,o.value);if(E&&E.uniqueName==="[KPIs]"){const N=Mt(await P());E.children=N}else if(E&&E.type==="kpi")E.children=b.buildKPIMeasures(E);else if(E&&!E.children){const N=await H(E);E.children=N}m(h)},J=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z&&!z.fields){const X=await u(z);z.fields=X,N(T)}},W=async o=>{if(!o)return;const h={rowAxes:[f,x],columnAxes:[i,C],measureAxes:[F,K]},[E,N]=h[o.target.props.axes],T=E.slice(),z=V(T,o.target.props.dataItem);if(z){const X=(z.fields||[]).slice(),d=O(X,o.value);if(d&&(!d.children||!d.children.length)){const q=await y(d);d.children=q,z.fields=X,N(T)}}};return{pivotProps:{rowAxes:f,columnAxes:i,data:r.data,rows:r.rows,columns:r.columns,onRowAxesChange:_,onColumnAxesChange:p},configuratorProps:{sort:D,onSortChange:g,filter:G,onFilterChange:U,data:l,rowAxes:f,columnAxes:i,measureAxes:F,onRowAxesChange:_,onColumnAxesChange:p,onMeasureAxesChange:L,onFieldsEditorFieldExpand:w,onAxisFilterFieldExpand:W,onAxisFilterFieldsExpandChange:J},state:{loading:a}}},Pt=e=>{const a=ut(e);return e.children(a)},Mt=e=>{for(let a=0,n=e.length;a<n;a++)e[a].uniqueName=e[a].name,e[a].type="kpi";return e},dt={dataField:"aggregate",columnsData:"columns"},Pe="&",mt=e=>{const[a,n]=t.useState(!0),[r,s]=t.useState(e.defaultColumnAxes||[]),[l,m]=t.useState(e.defaultRowAxes||[]),[i,C]=t.useState(e.defaultMeasureAxes||[]),[f,x]=t.useState(e.defaultSort||[]),[F,K]=t.useState(e.defaultFilter||[]),[D,j]=t.useState(new Map),G=t.useCallback(w=>{m(w.value)},[]),$=t.useCallback(w=>{s(w.value)},[]),_=w=>{C(w.value)},p=w=>{x(w.value)},L=w=>{K(w.value)},g=t.useMemo(()=>Array.from(b.rootFields(r).keys()).join(Pe),[r]),U=t.useMemo(()=>Array.from(b.rootFields(l).keys()).join(Pe),[l]),V=t.useCallback(w=>({key:w,...e.dimensions[w]}),[e.dimensions]),O=t.useMemo(()=>g?g.split(Pe).map(V):[],[g,V]),u=t.useMemo(()=>U?U.split(Pe).map(V):[],[U,V]),y=t.useMemo(()=>i.map(w=>e.measures.find(J=>String(J.name)===String(w.name))).filter(Boolean),[i,e.measures]);t.useEffect(()=>{n(!0),setTimeout(()=>{const w=b.createDataTree(e.data,u,O,y,dt,F);j(w),n(!1)},0)},[e.data,u,O,y,F]);const H=t.useMemo(()=>b.createFlatSchemaDimensions(e.dimensions,e.measures),[e.dimensions,e.measures]),P=t.useMemo(()=>b.createLocalDataState({dataTree:D,rowSettings:u,columnSettings:O,rowAxes:l,columnAxes:r,measures:y,sort:f,fields:dt}),[r,O,D,l,u,f]);return{pivotProps:{rowAxes:l,columnAxes:r,data:P.data,rows:P.rows,columns:P.columns,onRowAxesChange:G,onColumnAxesChange:$},configuratorProps:{sort:f,onSortChange:p,filter:F,onFilterChange:L,data:H,rowAxes:l,columnAxes:r,measureAxes:i,onRowAxesChange:G,onColumnAxesChange:$,onMeasureAxesChange:_},state:{loading:a}}},Lt=e=>{const a=mt(e);return e.children(a)};Object.defineProperty(A,"averageAggregate",{enumerable:!0,get:()=>b.averageAggregate}),Object.defineProperty(A,"maxAggregate",{enumerable:!0,get:()=>b.maxAggregate}),Object.defineProperty(A,"minAggregate",{enumerable:!0,get:()=>b.minAggregate}),Object.defineProperty(A,"sumAggregate",{enumerable:!0,get:()=>b.sumAggregate}),A.PivotGrid=rt,A.PivotGridAxesEditor=se,A.PivotGridAxisEditor=be,A.PivotGridAxisFilterFieldsEditor=Fe,A.PivotGridCell=je,A.PivotGridColumn=Ae,A.PivotGridConfigurator=We,A.PivotGridConfiguratorButton=Ye,A.PivotGridConfiguratorEditor=Ie,A.PivotGridContainer=Xe,A.PivotGridFieldsEditor=Ne,A.PivotGridHeaderCell=Ce,A.PivotGridRow=Ve,A.PivotLocalDataService=Lt,A.PivotOLAPService=Pt,A.dataCells=wt,A.usePivotLocalDataService=mt,A.usePivotOLAPService=ut,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|
package/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ const ln = {
|
|
|
19
19
|
name: "@progress/kendo-react-pivotgrid",
|
|
20
20
|
productName: "KendoReact",
|
|
21
21
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
22
|
-
publishDate:
|
|
22
|
+
publishDate: 1705399018,
|
|
23
23
|
version: "",
|
|
24
24
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
25
25
|
}, Re = "pivotgrid.emptyCellAriaLabel", Ne = "pivotgrid.fieldMenuReset", Se = "pivotgrid.fieldMenuApply", ke = "pivotgrid.configuratorTitle", Me = "pivotgrid.configuratorCancel", Te = "pivotgrid.configuratorApply", Le = "pivotgrid.configuratorColumnsTitle", De = "pivotgrid.configuratorRowsTitle", He = "pivotgrid.configuratorMeasuresTitle", Ge = "pivotgrid.configuratorEditorSearchTitle", sn = "pivotgrid.configuratorEditorSearchPlaceholder", ae = "pivotgrid.configuratorMissingFields", Oe = "pivotgrid.configuratorButtonLabel", Z = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-pivotgrid",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0-develop.2",
|
|
4
4
|
"description": "React PivotGrid (also called Pivot Table) can be data-bound to an OLAP service and customized extensively. KendoReact PivotGrid package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"@progress/kendo-data-query": "^1.5.5",
|
|
26
26
|
"@progress/kendo-licensing": "^1.3.4",
|
|
27
27
|
"@progress/kendo-pivotgrid-common": "0.5.3",
|
|
28
|
-
"@progress/kendo-react-buttons": "7.0
|
|
29
|
-
"@progress/kendo-react-common": "7.0
|
|
30
|
-
"@progress/kendo-react-data-tools": "7.0
|
|
31
|
-
"@progress/kendo-react-form": "7.0
|
|
32
|
-
"@progress/kendo-react-indicators": "7.0
|
|
33
|
-
"@progress/kendo-react-intl": "7.0
|
|
34
|
-
"@progress/kendo-react-labels": "7.0
|
|
35
|
-
"@progress/kendo-react-treeview": "7.0
|
|
28
|
+
"@progress/kendo-react-buttons": "7.1.0-develop.2",
|
|
29
|
+
"@progress/kendo-react-common": "7.1.0-develop.2",
|
|
30
|
+
"@progress/kendo-react-data-tools": "7.1.0-develop.2",
|
|
31
|
+
"@progress/kendo-react-form": "7.1.0-develop.2",
|
|
32
|
+
"@progress/kendo-react-indicators": "7.1.0-develop.2",
|
|
33
|
+
"@progress/kendo-react-intl": "7.1.0-develop.2",
|
|
34
|
+
"@progress/kendo-react-labels": "7.1.0-develop.2",
|
|
35
|
+
"@progress/kendo-react-treeview": "7.1.0-develop.2",
|
|
36
36
|
"@progress/kendo-svg-icons": "^2.1.0",
|
|
37
37
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
38
38
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|