@adaptabletools/adaptable 15.2.3 → 15.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.cjs.js
CHANGED
|
@@ -534,12 +534,12 @@ Valid only as an operand for an observable function.`,signatures:["TIMEFRAME('%n
|
|
|
534
534
|
Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.
|
|
535
535
|
More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md
|
|
536
536
|
`)}}],Avt=[function(e){var t=e.props;t.renderClone||(h.NODE_ENV!=="production"?J(!1,"Must provide a clone render function (renderClone) for virtual lists"):J(!1))},function(e){var t=e.getPlaceholderRef;t()&&(h.NODE_ENV!=="production"?J(!1,"Expected virtual list to not have a placeholder"):J(!1))}];function xvt(o){fT(function(){YQ(o,Svt),o.props.mode==="standard"&&YQ(o,bvt),o.props.mode==="virtual"&&YQ(o,Avt)})}var Rvt=function(o){B1(e,o);function e(){for(var r,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return r=o.call.apply(o,[this].concat(i))||this,r.state={isVisible:Boolean(r.props.on),data:r.props.on,animate:r.props.shouldAnimate&&r.props.on?"open":"none"},r.onClose=function(){r.state.animate==="close"&&r.setState({isVisible:!1})},r}e.getDerivedStateFromProps=function(n,i){return n.shouldAnimate?n.on?{isVisible:!0,data:n.on,animate:"open"}:i.isVisible?{isVisible:!0,data:i.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(n.on),data:n.on,animate:"none"}};var t=e.prototype;return t.render=function(){if(!this.state.isVisible)return null;var n={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(n)},e}(ht.default.PureComponent),rEe={dragging:5e3,dropAnimating:4500},wvt=function(e,t){return t?oT.drop(t.duration):e?oT.snap:oT.fluid},Evt=function(e,t){return e?t?sT.opacity.drop:sT.opacity.combining:null},Tvt=function(e){return e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP"};function Pvt(o){var e=o.dimension,t=e.client,r=o.offset,n=o.combineWith,i=o.dropping,a=Boolean(n),s=Tvt(o),l=Boolean(i),u=l?JQ.drop(r,a):JQ.moveTo(r),p={position:"fixed",top:t.marginBox.top,left:t.marginBox.left,boxSizing:"border-box",width:t.borderBox.width,height:t.borderBox.height,transition:wvt(s,i),transform:u,opacity:Evt(a,l),zIndex:l?rEe.dropAnimating:rEe.dragging,pointerEvents:"none"};return p}function Ivt(o){return{transform:JQ.moveTo(o.offset),transition:o.shouldAnimateDisplacement?null:"none"}}function Dvt(o){return o.type==="DRAGGING"?Pvt(o):Ivt(o)}function Ovt(o,e,t){t===void 0&&(t=qi);var r=window.getComputedStyle(e),n=e.getBoundingClientRect(),i=kQ(n,r),a=XE(i,t),s={client:i,tagName:e.tagName.toLowerCase(),display:r.display},l={x:i.marginBox.width,y:i.marginBox.height},u={descriptor:o,placeholder:s,displaceBy:l,client:i,page:a};return u}function Fvt(o){var e=S8("draggable"),t=o.descriptor,r=o.registry,n=o.getDraggableRef,i=o.canDragInteractiveElements,a=o.shouldRespectForcePress,s=o.isEnabled,l=Eo(function(){return{canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:s}},[i,s,a]),u=Ct(function(f){var g=n();return g||(h.NODE_ENV!=="production"?J(!1,"Cannot get dimension when no ref is set"):J(!1)),Ovt(t,g,f)},[t,n]),p=Eo(function(){return{uniqueId:e,descriptor:t,options:l,getDimension:u}},[t,u,l,e]),c=(0,ht.useRef)(p),m=(0,ht.useRef)(!0);_l(function(){return r.draggable.register(c.current),function(){return r.draggable.unregister(c.current)}},[r.draggable]),_l(function(){if(m.current){m.current=!1;return}var f=c.current;c.current=p,r.draggable.update(p,f)},[p,r.draggable])}function _vt(o,e,t){fT(function(){function r(i){return"Draggable[id: "+i+"]: "}var n=o.draggableId;n||(h.NODE_ENV!=="production"?J(!1,"Draggable requires a draggableId"):J(!1)),typeof n!="string"&&(h.NODE_ENV!=="production"?J(!1,`Draggable requires a [string] draggableId.
|
|
537
|
-
Provided: [type: `+typeof n+"] (value: "+n+")"):J(!1)),_ht(o.index)||(h.NODE_ENV!=="production"?J(!1,r(n)+" requires an integer index prop"):J(!1)),o.mapped.type!=="DRAGGING"&&(ZEe(t()),o.isEnabled&&(WEe(e,n)||(h.NODE_ENV!=="production"?J(!1,r(n)+" Unable to find drag handle"):J(!1))))})}function Mvt(o){b8(function(){var e=(0,ht.useRef)(o);fT(function(){o!==e.current&&(h.NODE_ENV!=="production"?J(!1,"Draggable isClone prop value changed during component life"):J(!1))},[o])})}function Nvt(o){o.preventDefault()}function Lvt(o){var e=(0,ht.useRef)(null),t=Ct(function(P){e.current=P},[]),r=Ct(function(){return e.current},[]),n=$1(tk),i=n.contextId,a=n.dragHandleUsageInstructionsId,s=n.registry,l=$1(w8),u=l.type,p=l.droppableId,c=Eo(function(){return{id:o.draggableId,index:o.index,type:u,droppableId:p}},[o.draggableId,o.index,u,p]),m=o.children,f=o.draggableId,g=o.isEnabled,C=o.shouldRespectForcePress,y=o.canDragInteractiveElements,b=o.isClone,S=o.mapped,A=o.dropAnimationFinished;if(_vt(o,i,r),Mvt(b),!b){var x=Eo(function(){return{descriptor:c,registry:s,getDraggableRef:r,canDragInteractiveElements:y,shouldRespectForcePress:C,isEnabled:g}},[c,s,r,y,C,g]);Fvt(x)}var E=Eo(function(){return g?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":f,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:Nvt}:null},[i,a,f,g]),T=Ct(function(P){S.type==="DRAGGING"&&(!S.dropping||P.propertyName==="transform"&&A())},[A,S]),I=Eo(function(){var P=Dvt(S),O=S.type==="DRAGGING"&&S.dropping?T:null,M={innerRef:t,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":f,style:P,onTransitionEnd:O},dragHandleProps:E};return M},[i,E,f,S,T,t]),D=Eo(function(){return{draggableId:c.id,type:c.type,source:{index:c.index,droppableId:c.droppableId}}},[c.droppableId,c.id,c.index,c.type]);return m(I,S.snapshot,D)}var JEe=function(o,e){return o===e},eTe=function(o){var e=o.combine,t=o.destination;return t?t.droppableId:e?e.droppableId:null},kvt=function(e){return e.combine?e.combine.draggableId:null},Vvt=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function Bvt(){var o=(0,vi.default)(function(n,i){return{x:n,y:i}}),e=(0,vi.default)(function(n,i,a,s,l){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(l),dropAnimation:l,mode:n,draggingOver:a,combineWith:s,combineTargetFor:null}}),t=(0,vi.default)(function(n,i,a,s,l,u,p){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:l,combineWith:u,mode:i,offset:n,dimension:a,forceShouldAnimate:p,snapshot:e(i,s,l,u,null)}}}),r=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,l=i.dimensions.draggables[a.draggableId],u=Fl(i.impact),p=Vvt(i.impact),c=i.forceShouldAnimate;return t(o(s.x,s.y),i.movementMode,l,a.isClone,u,p,c)}if(i.phase==="DROP_ANIMATING"){var m=i.completed;if(m.result.draggableId!==a.draggableId)return null;var f=a.isClone,g=i.dimensions.draggables[a.draggableId],C=m.result,y=C.mode,b=eTe(C),S=kvt(C),A=i.dropDuration,x={duration:A,curve:m8.drop,moveTo:i.newHomeClientOffset,opacity:S?sT.opacity.drop:null,scale:S?sT.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:g,dropping:x,draggingOver:b,combineWith:S,mode:y,forceShouldAnimate:null,snapshot:e(y,f,b,S,x)}}}return null};return r}function tTe(o){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:o,combineWith:null}}var Gvt={mapped:{type:"SECONDARY",offset:qi,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:tTe(null)}};function Hvt(){var o=(0,vi.default)(function(a,s){return{x:a,y:s}}),e=(0,vi.default)(tTe),t=(0,vi.default)(function(a,s,l){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:l,snapshot:e(s)}}}),r=function(s){return s?t(qi,s,!0):null},n=function(s,l,u,p){var c=u.displaced.visible[s],m=Boolean(p.inVirtualList&&p.effected[s]),f=Z1(u),g=f&&f.draggableId===s?l:null;if(!c){if(!m)return r(g);if(u.displaced.invisible[s])return null;var C=Yb(p.displacedBy.point),y=o(C.x,C.y);return t(y,g,!0)}if(m)return r(g);var b=u.displacedBy.point,S=o(b.x,b.y);return t(S,g,c.shouldAnimate)},i=function(s,l){if(s.isDragging)return s.critical.draggable.id===l.draggableId?null:n(l.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var u=s.completed;return u.result.draggableId===l.draggableId?null:n(l.draggableId,u.result.draggableId,u.impact,u.afterCritical)}return null};return i}var Uvt=function(){var e=Bvt(),t=Hvt(),r=function(i,a){return e(i,a)||t(i,a)||Gvt};return r},Wvt={dropAnimationFinished:FEe},zvt=ot(Uvt,Wvt,null,{context:v8,pure:!0,areStatePropsEqual:JEe})(Lvt);function oTe(o){var e=$1(w8),t=e.isUsingCloneFor;return t===o.draggableId&&!o.isClone?null:ht.default.createElement(zvt,o)}function PC(o){var e=typeof o.isDragDisabled=="boolean"?!o.isDragDisabled:!0,t=Boolean(o.disableInteractiveElementBlocking),r=Boolean(o.shouldRespectForcePress);return ht.default.createElement(oTe,vt({},o,{isClone:!1,isEnabled:e,canDragInteractiveElements:t,shouldRespectForcePress:r}))}function jvt(o){var e=(0,ht.useContext)(tk);e||(h.NODE_ENV!=="production"?J(!1,"Could not find app context"):J(!1));var t=e.contextId,r=e.isMovementAllowed,n=(0,ht.useRef)(null),i=(0,ht.useRef)(null),a=o.children,s=o.droppableId,l=o.type,u=o.mode,p=o.direction,c=o.ignoreContainerClipping,m=o.isDropDisabled,f=o.isCombineEnabled,g=o.snapshot,C=o.useClone,y=o.updateViewportMaxScroll,b=o.getContainerForClone,S=Ct(function(){return n.current},[]),A=Ct(function(B){n.current=B},[]),x=Ct(function(){return i.current},[]),E=Ct(function(B){i.current=B},[]);xvt({props:o,getDroppableRef:S,getPlaceholderRef:x});var T=Ct(function(){r()&&y({maxScroll:kEe()})},[r,y]);hvt({droppableId:s,type:l,mode:u,direction:p,isDropDisabled:m,isCombineEnabled:f,ignoreContainerClipping:c,getDroppableRef:S});var I=ht.default.createElement(Rvt,{on:o.placeholder,shouldAnimate:o.shouldAnimatePlaceholder},function(B){var _=B.onClose,L=B.data,U=B.animate;return ht.default.createElement(vvt,{placeholder:L,onClose:_,innerRef:E,animate:U,contextId:t,onTransitionEnd:T})}),D=Eo(function(){return{innerRef:A,placeholder:I,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":t}}},[t,s,I,A]),P=C?C.dragging.draggableId:null,O=Eo(function(){return{droppableId:s,type:l,isUsingCloneFor:P}},[s,P,l]);function M(){if(!C)return null;var B=C.dragging,_=C.render,L=ht.default.createElement(oTe,{draggableId:B.draggableId,index:B.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function(U,V){return _(U,V,B)});return iEe.default.createPortal(L,b())}return ht.default.createElement(w8.Provider,{value:O},a(D,g),M())}var qQ=function(e,t){return e===t.droppable.type},nEe=function(e,t){return t.draggables[e.draggable.id]},Kvt=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=vt({},e,{shouldAnimatePlaceholder:!1}),r=(0,vi.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),n=(0,vi.default)(function(a,s,l,u,p,c){var m=p.descriptor.id,f=p.descriptor.droppableId===a;if(f){var g=c?{render:c,dragging:r(p.descriptor)}:null,C={isDraggingOver:l,draggingOverWith:l?m:null,draggingFromThisWith:m,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!1,snapshot:C,useClone:g}}if(!s)return t;if(!u)return e;var y={isDraggingOver:l,draggingOverWith:m,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!0,snapshot:y,useClone:null}}),i=function(s,l){var u=l.droppableId,p=l.type,c=!l.isDropDisabled,m=l.renderClone;if(s.isDragging){var f=s.critical;if(!qQ(p,f))return t;var g=nEe(f,s.dimensions),C=Fl(s.impact)===u;return n(u,c,C,C,g,m)}if(s.phase==="DROP_ANIMATING"){var y=s.completed;if(!qQ(p,y.critical))return t;var b=nEe(y.critical,s.dimensions);return n(u,c,eTe(y.result)===u,Fl(y.impact)===u,b,m)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var S=s.completed;if(!qQ(p,S.critical))return t;var A=Fl(S.impact)===u,x=Boolean(S.impact.at&&S.impact.at.type==="COMBINE"),E=S.critical.droppable.id===u;return A?x?e:t:E?e:t}return t};return i},Qvt={updateViewportMaxScroll:Ugt};function Yvt(){return document.body||(h.NODE_ENV!=="production"?J(!1,"document.body is not ready"):J(!1)),document.body}var qvt={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:Yvt},wf=ot(Kvt,Qvt,null,{context:v8,pure:!0,areStatePropsEqual:JEe})(jvt);wf.defaultProps=qvt;d();var Si=w(require("react")),Ef=require("react"),nTe=w(re());d();var nk=require("react"),rTe=o=>{let e=(0,nk.useRef)(o);return e.current=o,(0,nk.useCallback)(()=>e.current,[])};var $vt=({children:o,index:e,hidden:t,observerRef:r})=>{var p;let[n,i]=(0,Ef.useState)(!1);Si.useEffect(()=>{let c=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(c)},[]);let a=(0,Ef.useRef)(null),s=c=>{var m,f;if(c){if(!c.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(m=r.current)==null||m.observe(c)}else(f=r.current)==null||f.unobserve(a.current);a.current=c},l=Si.Children.toArray(o)[0],u={ref:s,"data-index":e};return(t||!n)&&(u.style=R(v({},(p=l.props)==null?void 0:p.style),{visibility:"hidden"})),l=Si.cloneElement(l,u),Si.createElement(Si.Fragment,null,l)},iTe=o=>{let y=o,{allowWrap:e,count:t,direction:r,renderItem:n,renderEllipsis:i}=y,a=ze(y,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,Ef.useRef)(null),l=(0,Ef.useRef)(null),[u,p]=Si.useState(o.count),[c]=(0,Ef.useState)(()=>new Set),[m]=(0,Ef.useState)(()=>new Set),f=rTe(o.count);Si.useEffect(()=>{let b=A=>{let x=f(),E=I=>I.intersectionRatio===1;A.forEach(I=>{let{target:D}=I,P=Number(D.getAttribute("data-index"));E(I)?(c.add(P),m.delete(P)):(c.delete(P),m.add(P))});let T=Math.min(x,...m.values());p(T)};if(e)return;let S=new IntersectionObserver(b,{root:s.current,threshold:.01});return l.current=S,()=>{S.disconnect()}},[]);let g=yl(t,t);Si.useLayoutEffect(()=>{e||u===g&&p(t)},[t,u,e]);let C=[...new Array(t)].map((b,S)=>{var E;let A=t-1-S,x=e?!1:S>=u;return Si.createElement(Si.Fragment,{key:S},Si.createElement($vt,{hidden:x,index:S,observerRef:l},n(S,t)),!e&&S===u-1&&A?(E=i==null?void 0:i({remaining:A}))!=null?E:"...":null)});return Si.createElement(nTe.Flex,R(v({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:r==="horizontal"?"row":"column"}),C)};d();var aTe=(o,e,t)=>{let r=[...o];if(e>o.length-1)return r;t>o.length-1&&(t=o.length-1);let[n]=r.splice(e,1);return r.splice(t,0,n),r};function sTe({options:o,value:e,toIdentifier:t,selectedMap:r}){let n=(0,Lc.useMemo)(()=>{if(r)return;let a=new Map([]);return o.forEach(s=>{a.set(t(s),s)}),a},[o,r]);return{selectedMap:(0,Lc.useMemo)(()=>{if(r)return r;let a=new Map([]);return e.forEach(s=>{var l;a.set(s,(l=n.get(s))!=null?l:null)}),a},[n,r,e]),optionsMap:n}}function bi(o){var V;let{options:e,value:t,filter:r,onChange:n,allowReorder:i,singleSelect:a,toLabel:s,toListLabel:l,toIdentifier:u,noSelectionLabel:p,clearSelectionLabel:c,showSelectedOnlyLabel:m,showFilterInput:f,xSelectedLabel:g,selectionBoxPosition:C="bottom",onShowSelectedOnlyChange:y,isOptionDisabled:b,disabled:S}=o,[A,x]=lo.useState(""),E="ab-ValueSelector",T=l!=null?l:s,[I,D]=(0,Lc.useState)(!1),P=(0,Lc.useCallback)(j=>{D(j),y==null||y(j)},[y]),{selectedMap:O}=sTe({options:e,toIdentifier:u,value:t}),M=(0,Lc.useCallback)(()=>{let j=[...O.keys()];!j.length&&I&&P(!1),n(j,new Map(O))},[n,I,O]),B=(j,z)=>{let W=u(j),ue=i?null:T(j),pe=typeof i=="function"?i(j):i,ae=(ie,Ae)=>lo.createElement(Ca.Flex,v({className:`${E}__option`,alignItems:"center",mt:z?1:0,key:W,backgroundColor:"primary",padding:2,"data-index":z,"data-id":W,"data-name":"option"},ie),lo.createElement(Ca.Flex,{flex:1,flexDirection:"row",alignItems:"center"},pe?lo.createElement(Ca.Box,v({mr:3},Ae),lo.createElement(Lt,{name:"drag",style:{cursor:"grab"}})):null,a?lo.createElement(_e,{checked:O.has(W),"data-name":W,onChange:Be=>{Be?(O.clear(),O.set(W,j)):O.delete(W),M()}},ue):lo.createElement(ye,{"data-name":W,disabled:S||(b?b(j):!1),onChange:Be=>{Be?O.set(W,j):O.delete(W),M()},checked:O.has(W)},ue),lo.createElement(Ca.Text,{flex:1,ml:2},i?T(j):null)));return lo.createElement(PC,{key:W,index:z,draggableId:`${W}`,isDragDisabled:!pe},ie=>ae(R(v({ref:ie.innerRef},ie.draggableProps),{style:ie.draggableProps.style}),ie.dragHandleProps))},_=()=>{let j=lo.createElement(Ca.Box,{fontSize:2},t.length?lo.createElement(lo.Fragment,null,lo.createElement(X,{disabled:S,tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{O.clear(),M()}},c!=null?c:"Clear selection."),g?g(t.length):`Your selected ${t.length} ${t.length>1?"options":"option"}.`):lo.createElement(lo.Fragment,null,p!=null?p:"No selected options",a?null:lo.createElement(X,{px:1,disabled:S,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(z=>{O.set(u(z),z)}),M()}},"Select all")));return lo.createElement(Ca.Box,{className:`${E}__header`,mt:C==="bottom"?3:0,mb:C==="top"?3:0},j,lo.createElement(Ai,{options:e,value:t,selectedMap:O,toLabel:s,toIdentifier:u,onClearOption:M,readOnly:S}))},L=lo.createElement(ye,{disabled:!t.length,checked:I,onChange:P},m!=null?m:"Show Selected Only"),U=(V=o.showSelectedOnlyPosition)!=null?V:"floating";return lo.createElement(Ca.Flex,{className:E,flexDirection:"column",flex:1},lo.createElement(Ca.Flex,{mb:1},f&&r?lo.createElement(Ba,{value:A,OnTextChange:x,placeholder:"Type to search",style:{flex:1,border:0,margin:3}}):lo.createElement(Ca.Box,{flex:1}),U==="top"&&lo.createElement(Ca.Box,{ml:20},L)),C==="top"&&_(),lo.createElement(rk,{onDragEnd:j=>{let{source:z,destination:W}=j,ue=[],pe=[];for(let[Ae,Be]of O)Be!=null?ue.push(Ae):pe.push(Ae);let ae=new Map(O),ie=aTe(ue,z.index,W.index);ie.push(...pe),O.clear(),ie.forEach(Ae=>{O.set(Ae,ae.get(Ae))}),M()}},lo.createElement(Ca.Flex,{className:`${E}__body`,flexDirection:"column",flex:1,style:{overflow:"auto"}},U==="floating"&&lo.createElement(Ca.Box,{className:`${E}__show-selected-only-checkbox`},lo.createElement(Ca.Box,{className:`${E}__show-selected-only-checkbox__text`,"data-name":"show-selected-only",backgroundColor:"defaultbackground"},L)),lo.createElement(wf,{droppableId:"droppable"},j=>lo.createElement("div",v({ref:j.innerRef},j.droppableProps),e.filter(z=>{let W=!0;return r&&(W=r(z,A)),W=W&&(I?O.has(u(z)):!0),W}).map(B),j.placeholder)))),C==="bottom"&&_())}bi.defaultProps={allowReorder:!0};function Ai(o){let{allowWrap:e,value:t,toLabel:r,onChange:n,onClearOption:i,readOnly:a,renderLabel:s}=o,{selectedMap:l}=sTe(o),u=c=>{let m=t[c],f=()=>{l.delete(m),i==null||i(m),n&&n([...l.keys()],new Map(l))},g=l.get(m),C=g!=null?r(g):`${m}`;return lo.createElement(Ge,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":m,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:y=>{var b,S,A;(A=(S=(b=y.target)==null?void 0:b.lastChild)==null?void 0:S.focus)==null||A.call(S)},style:{flex:"none"}},s?s(C):C,a?null:lo.createElement(X,{icon:"clear",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:f}))},p=(0,Lc.useCallback)(({remaining:c})=>lo.createElement(Ca.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",c," ",c>1?"others":"other"),[]);return lo.createElement(iTe,{style:o.style,marginRight:4,my:1,allowWrap:e,count:t.length,direction:"horizontal",renderItem:u,renderEllipsis:p})}var $b=require("react");d();function Hs(o,e,{sortUnorderedItems:t}){let r=o.reduce((a,s,l)=>(a.set(s,l),a),new Map),n=e.reduce((a,s,l)=>(a.set(s,l),a),new Map);function i(a,s){let l=n.has(a),u=l?n.get(a):-1,p=n.has(s),c=p?n.get(s):-1;return!l&&!p?t?a==s?0:a<s?-1:1:r.get(a)-r.get(s):l?p?u-c:-1:1}return[].concat(o).sort(i)}var hT=o=>{let c=o,{options:e,value:t,onChange:r,selectionBoxPosition:n="top"}=c,i=ze(c,["options","value","onChange","selectionBoxPosition"]),{api:a}=ne(),s=(0,$b.useMemo)(()=>!t||!t.length?new Map:t.reduce((m,f)=>(m.set(f,!0),m),new Map),[t]),l=(0,$b.useCallback)(m=>s.has(m),[s]),u=(0,$b.useMemo)(()=>{let m=new Map;return e.forEach(f=>{var g;return m.set(f,(g=a.internalApi.getModuleFriendlyName(f))!=null?g:f)}),m},[e]),p=(0,$b.useMemo)(()=>Hs(e,t,{sortUnorderedItems:!0}),[l,e,t]);return lTe.createElement(bi,R(v({},i),{options:p,value:t,onChange:r,allowReorder:l,toIdentifier:m=>m,toLabel:m=>u.get(m),selectionBoxPosition:n,isOptionDisabled:o.isOptionDisabled,disabled:o.disabled}))};d();var Un=w(require("react")),Tf=w(re()),uTe=require("react");var dTe=Un.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:o=>{}}),Xvt=o=>{var e;return o.type===E8||((e=o.props)==null?void 0:e.isTabsTab)},Zvt=o=>{var e;return o.type===T8||((e=o.props)==null?void 0:e.isTabsContent)},K=o=>{let P=o,{autoFocus:e=!0,children:t,onValueChange:r,defaultValue:n,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:l,onSelectedIndexChange:u}=P,p=ze(P,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[c,m]=ko(o,"selectedIndex",0),[f,g]=ko(o,"value",0),C=Un.Children.toArray(t),y=[],b=C.filter(Xvt).map((M,B)=>(y.push(M.props.value),Un.cloneElement(M,{index:B,keyboardNavigation:a,autoFocus:e}))),S=C.filter(Zvt),A=S.map(M=>M.props.value),x=(o.value!==void 0||o.defaultValue!==void 0)&&o.selectedIndex===void 0&&o.defaultSelectedIndex===void 0;if(x){let M=y.indexOf(f);M>-1&&(c=M),A.filter(_=>y.indexOf(_)!=-1).length===b.length&&S.sort((_,L)=>{let U=_.props.value,V=L.props.value;return y.indexOf(U)-y.indexOf(V)})}let E=M=>{if(x){let B=y[M];g(B)}m(M)},T=S[c],O=(T==null?void 0:T.props)||{},{value:I}=O,D=ze(O,["value"]);return Un.createElement(dTe.Provider,{value:{selectedIndex:c,tabCount:b.length,setSelectedIndex:E}},Un.createElement(Tf.Box,R(v({},p),{className:Me(p.className,"ab-Tabs"),"data-selected-index":c}),Un.createElement(Tf.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Un.createElement(Tf.Box,{className:"ab-Tabs__Filler"}),b,Un.createElement(Tf.Flex,{flex:1,className:"ab-Tabs__Filler"})),Un.createElement(Tf.Box,R(v({padding:2},D),{className:`${D.className||""} ab-Tabs__Body`}),T)))},E8=o=>{let m=o,{index:e,autoFocus:t,keyboardNavigation:r=!0,className:n}=m,i=ze(m,["index","autoFocus","keyboardNavigation","className"]),a=Un.useContext(dTe),s="ab-Tabs__Tab",l=a.selectedIndex===o.index,u=a.selectedIndex===o.index+1,p=Me(n,s,l?`${s}--active`:"",u?`${s}--before-active`:""),c=(0,uTe.useRef)(null);return Un.useEffect(()=>{var f;l&&t&&r&&((f=c.current)==null||f.focus())},[l,t]),Un.createElement(Tf.Box,R(v({ref:c,padding:2,tabIndex:l?0:-1},i),{className:p,onClick:f=>{var g;a.setSelectedIndex(o.index),(g=o.onClick)==null||g.call(o,f)},onKeyDown:f=>{var g;if(r){if(f.key==="Enter"&&a.setSelectedIndex(o.index),f.key==="ArrowLeft"){f.preventDefault();let C=o.index-1;C<0&&(C=a.tabCount-1),a.setSelectedIndex(C)}if(f.key==="ArrowRight"){f.preventDefault();let C=o.index+1;C>a.tabCount-1&&(C=0),a.setSelectedIndex(C)}}(g=o.onKeyDown)==null||g.call(o,f)}}))};E8.defaultProps={isTabsTab:!0};var T8=o=>Un.createElement(Un.Fragment,null,o.children);T8.defaultProps={isTabsContent:!0};K.Tab=E8;K.Content=T8;var P8=class extends Ml.Component{constructor(e){var r,n,i;super(e);let t=(i=(n=(r=e.popupParams)==null?void 0:r.config)==null?void 0:n.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:t}}render(){let e=this.props.api.internalApi.getEntitlementService(),t=[];De.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(c=>{let m=this.props.GridState.SettingPanelModuleMenuItems.find(f=>f.module==c);m!=null&&m.isVisible&&t.push(c)});let r=this.props.GridState.SettingPanelModuleMenuItems.map(c=>c.module),n=this.props.GridState.SettingPanelModuleMenuItems.filter(c=>c.isVisible).map(c=>c.module);e.isModuleHiddenEntitlement("Dashboard")||n.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!e.isModuleHiddenEntitlement("IPushPull")&&n.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!e.isModuleHiddenEntitlement("OpenFin")&&n.push("OpenFin");let i=Ub.filter(c=>De.ContainsItem(n,c)),s=[...this.props.api.toolPanelApi.getCustomToolPanels().map(c=>c.name),...i],l=this.props.ToolPanelState.ToolPanels.map(c=>c.Name).filter(c=>s.includes(c)),u=e.isModuleReadOnlyEntitlement("ToolPanel"),p=c=>c==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Ml.createElement(ni,{headerText:"ToolPanel",glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Ml.createElement(K,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:c=>this.setState({ToolPanelConfigView:c})},Ml.createElement(K.Tab,{value:"ToolPanels"},Ml.createElement(_e,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Ml.createElement(K.Tab,{value:"Buttons"},Ml.createElement(_e,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Ml.createElement(K.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Ml.createElement(hT,{options:s,value:l,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:c=>this.onToolPanelToolPanelsChanged(c),disabled:u})),Ml.createElement(K.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Ml.createElement(hT,{options:r,value:t,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isOptionDisabled:p,disabled:u,onChange:c=>this.props.onToolPanelSetModuleButtons(c)}))))}onShowGridPropertiesChanged(e){let r=e.target.value;this.setState({ToolPanelConfigView:r})}onToolPanelToolPanelsChanged(e){let t=this.props.ToolPanelState.ToolPanels,r=e.map(n=>{var i;return(i=t.find(a=>a.Name===n))!=null?i:{Name:n,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(r)}};function Jvt(o){return{ToolPanelState:o.ToolPanel,GridState:o.Grid}}function eSt(o){return{onToolPanelSetModuleButtons:e=>o(v_(e)),onToolPanelSetToolPanels:e=>o(Pg(e))}}var pTe=ot(Jvt,eSt)(P8);d();var Ti=w(require("react"));d();var gT=w(require("react")),ik=w(re());var xi=class extends gT.Component{render(){let e=this.props.colItems.map((r,n)=>gT.createElement(ik.Text,{className:"ab-AdaptableObjectRow__cell","data-name":"list-group-cell",key:n,title:typeof r.Content=="string"?r.Content:void 0,flex:r.Size,paddingLeft:1,paddingRight:1},r.Content)),t=Me("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return gT.createElement(ik.Flex,{className:t,onClick:this.props.onClick,style:this.props.style},e)}};var tY=w(re());d();var lk=w(require("react"));d();var IC=w(require("react")),sk=w(re());var ak=class extends IC.Component{render(){let e=this.props.colItems.map((r,n)=>IC.createElement(sk.Text,{key:r.key||r.Content||n,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:r.Size}},r.Content)),t=IC.createElement(sk.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return IC.createElement("div",{style:this.props.style,className:this.props.className},IC.createElement(Io,{bodyScroll:!0,header:t,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var cTe=w(re());var Pf=o=>{let e=o.allowOverflow?"visible":"auto";return lk.createElement(cTe.Box,{style:v({},o.style),className:"ab-ObjectCollection"},lk.createElement(ak,{border:"none",colItems:o.colItems,headerAlign:o.headerAlign}),lk.createElement("div",{className:"ab-ObjectCollection__items",style:{overflowY:e,boxShadow:"none"}},o.items))};d();var mTe="15.2.3";d();var jr=w(require("react")),HC=w(re());d();var Au=w(require("react"));d();var DC=w(require("react"));d();var fTe=w(require("react"));var If=o=>fTe.createElement(X,v({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},o),o.children===void 0?"New":o.children);d();var uk=w(require("react"));var Df=class extends uk.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),uk.createElement(xi,{colItems:e})}};d();var CT=w(require("react"));var vu=class extends CT.Component{render(){return CT.createElement("div",null,CT.createElement(Lt,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var Rp=class extends DC.Component{render(){let e=[],t=this.props.newButtonDisabled?null:DC.createElement(If,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(DC.createElement("b",null,DC.createElement(vu,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(t),DC.createElement(Df,{SummaryItems:e})}};d();var Ff=w(require("react"));d();var kc=w(require("react"));d();var hTe=w(require("react"));var wp=o=>{var e;return hTe.createElement(X,v({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=o.iconSize)!=null?e:24},o))};d();var gTe=w(require("react"));var dk=o=>gTe.createElement(X,v({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},o),o.children===void 0?"Clone":o.children);d();var pk=w(require("react"));var I8=class extends pk.Component{render(){var l,u;let s=this.props,{onConfirmWarning:e,ConfirmAction:t,ConfirmationMsg:r,ConfirmationTitle:n,onClickAction:i}=s,a=ze(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return pk.createElement(X,R(v({"data-name":"delete",tooltip:(l=a.tooltip)!=null?l:"Delete",variant:"text",icon:"trash",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function tSt(o,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function oSt(o){return{onConfirmWarning:e=>o(_v(e))}}var Ep=ot(tSt,oSt)(I8);var bTe=w(re());d();var Of=w(require("react"));d();var Xb=w(re());var CTe=require("react");var Jr=w(require("react"));var yTe=o=>{let{showPopup:e,onClose:t,onConfirm:r,header:n}=o,[i,a]=(0,CTe.useState)({description:"",type:"Snapshot"});return Jr.createElement(Jr.Fragment,null,Jr.createElement(oi,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:t,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Jr.createElement(Xb.Flex,{flexDirection:"column"},Jr.createElement(Ot,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",n," which may be either:",Jr.createElement("ul",null,Jr.createElement("li",null,Jr.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),Jr.createElement("li",null,Jr.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),Jr.createElement(Ie,{padding:2},Jr.createElement(Z,{label:"Name: "},Jr.createElement(We,{"data-name":"teamsharing-entity-name",autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(R(v({},i),{description:s.target.value}))})),Jr.createElement(Z,{label:"Share: "},Jr.createElement(Xb.Flex,{flexDirection:"row"},Jr.createElement(_e,{"data-name":"teamsharing-entity-type-snapshot",checked:i.type==="Snapshot",onChange:()=>a(R(v({},i),{type:"Snapshot"}))},"Snapshot")," ",Jr.createElement(_e,{"data-name":"teamsharing-entity-type-active",marginLeft:3,checked:i.type==="Active",onChange:()=>a(R(v({},i),{type:"Active"}))},"Active")," "))),Jr.createElement(Xb.Box,{marginTop:3},Jr.createElement(Xb.Flex,{padding:2},Jr.createElement(X,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>t()},"Cancel"),Jr.createElement("div",{style:{flex:1}}),Jr.createElement(X,{"data-name":"ok",tone:"accent",variant:"raised",disabled:je.IsNullOrEmpty(i.description),onClick:()=>r(i)},"OK"))))))};var Zb=class extends Of.Component{constructor(e){super(e),this.state={open:!1}}render(){var i;let n=this.props,{onShare:e,Header:t}=n,r=ze(n,["onShare","Header"]);return Of.createElement(Of.Fragment,null,Of.createElement(X,v({"data-name":"share",tooltip:"Share",variant:"text",icon:"team-share",iconSize:(i=r.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},r)),this.state.open&&Of.createElement(yTe,{header:t,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};d();var Jb=w(require("react"));d();var yT=w(require("react")),vTe=w(re());var STe=({checked:o,onChange:e,disabled:t,className:r,children:n,style:i={},"data-name":a})=>{let s=p=>{t||e(Boolean(p.target.checked))},l="ab-ToggleButton",u=Me(r,l,o&&`${l}--checked`,t&&`${l}--disabled`);return yT.createElement("label",{"data-name":a,style:i,className:u},yT.createElement("input",{type:"checkbox",disabled:t,checked:Boolean(o),className:`${l}__input`,onChange:s}),yT.createElement(vTe.Flex,{alignItems:"center",justifyContent:o?"start":"end",className:`${l}__slider`},yT.createElement("div",{className:`${l}__text`},n)))};var ck=Jb.memo(({suspendableObject:o,onUnSuspend:e,onSuspend:t,style:r,disabled:n,accessLevel:i})=>{let a=Jb.useCallback(u=>{u?e(o):t(o)},[e,t]),s=i&&i==="ReadOnly"||n,l=o.IsSuspended;return Jb.createElement(STe,{className:"ab-SuspendButton","data-name":o.IsSuspended?"un-suspend":"suspend",disabled:s,style:r,onChange:a,checked:!l},l?"inactive":"active")});var rSt=o=>{o.stopPropagation()},vT=class extends kc.Component{render(){return kc.createElement(bTe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:rSt},this.props.showEdit&&kc.createElement(wp,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&kc.createElement(dk,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&kc.createElement(Ep,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&kc.createElement(Zb,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&kc.createElement(ck,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};vT.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};var Su=class extends Ff.Component{render(){let e=[];return this.props.showBold?e.push(Ff.createElement("b",null,this.props.item1)):e.push(Ff.createElement("i",null,this.props.item1)),e.push(Ff.createElement("i",null,this.props.item2)),e.push(Ff.createElement(vT,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:t=>this.props.onShare(t),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Ff.createElement(Df,{SummaryItems:e})}};d();var Pp=w(require("react")),qTe=require("react"),xT=w(re());d();var ya=w(require("react")),FTe=require("react");var ST=w(re());d();var ho=w(require("react")),_f=require("react"),us=w(re());d();var ATe=()=>{let o=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(o.navigator.platform)};d();var xTe=w(require("react")),RTe=w(re());var mk=o=>xTe.createElement(RTe.Text,v({fontSize:1,color:"inputcolor"},o));d();var ETe=w(require("react")),bu=require("react");d();var wTe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var nSt=(o,e)=>{let t=wTe();if(!t)return()=>{};let r=new t(n=>{var l;let i=n[0],{width:a,height:s}=i.contentRect;if((l=i.borderBoxSize)!=null&&l[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let u=o.getBoundingClientRect();s=u.height,a=u.width}e({width:a,height:s})});return r.observe(o),()=>{r.disconnect()}},D8=(o,e,t={earlyAttach:!1})=>{let r=(0,bu.useRef)({width:0,height:0}),n=i=>{let a;return o.current&&(a=nSt(o.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let l=r.current;(l.width!==s.width||l.height!==s.height)&&(r.current=s,i(s))})),()=>{a&&a()}};(0,bu.useEffect)(()=>t.earlyAttach?()=>{}:n(e),[o.current,e,t.earlyAttach]),(0,bu.useLayoutEffect)(()=>t.earlyAttach?n(e):()=>{},[o.current,e,t.earlyAttach])},iSt=o=>{let e=(0,bu.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:t,earlyAttach:r}=o,n=(0,bu.useRef)(!0),i=(0,bu.useRef)(null),a=(0,bu.useCallback)(s=>{if(n.current&&!t){n.current=!1;return}o.onResize(s)},[o.onResize]);return D8(i,a,{earlyAttach:r||!1}),ETe.createElement("div",{ref:i,style:e})};iSt.defaultProps={notifyOnMount:!0,earlyAttach:!1};d();var TTe=w(require("react"));var PTe=(o,e)=>{let t=TTe.useCallback(r=>{if((r.ctrlKey||r.metaKey)&&(r.code==="ArrowUp"||r.code==="ArrowDown")){let n=r.code==="ArrowUp",i=e.reduce((a,s,l)=>(s!=="-"&&a.push(l),a),[]);o(a=>{let s=null,l=i.indexOf(a);if(n){let u=i[l-1];s=typeof u=="number"?u:i[i.length-1]}else{let u=i[l+1];s=typeof u=="number"?u:i[0]}return s})}},[e,o]);V1("keydown",t)};var ITe=ho.createContext({data:null,sections:[],setCurrentSection:o=>{}});function DTe(){return ho.useContext(ITe)}var fk=o=>{var T,I;let e=0;if(o.defaultCurrentSectionName){let D=o.sections.findIndex(P=>P!=="-"&&(P==null?void 0:P.title)===o.defaultCurrentSectionName);D>=0&&(e=D)}let[t,r]=ko(o,"currentIndex",e,{onChange:D=>{var P;(P=o.onSectionChange)==null||P.call(o,D)}}),[n,i]=(0,_f.useState)(!1),[a]=(0,_f.useState)(()=>new Map),s=()=>{var D;(D=o.onFinish)==null||D.call(o,o.data)},l=D=>{let P=A[D];return P==="-"?ho.createElement(ho.Fragment,{key:D}):ho.createElement(us.Flex,{flexDirection:"column",key:D,"data-name":`section-${D}`,style:{minHeight:"100%"},mr:2},ho.createElement(us.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},P.details),ho.createElement(us.Box,{flex:1,className:"ab-OnePageWizard__section"},P.render(o.data,D)))},u=(0,_f.useRef)(null),p=ho.createElement("div",{ref:u,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),c=(0,_f.useRef)(null),[m,f]=(0,_f.useState)(0);D8(c,({width:D})=>{f(D)}),ho.useEffect(()=>{let D=u.current,O=D.parentNode.children[t];D.style.top=`${O.offsetTop}px`,D.style.left=`${O.offsetLeft}px`,D.style.height=`${O.offsetHeight}px`,D.style.width=`${O.offsetWidth}px`},[t,m]);let g=0,C=(0,_f.useRef)(null),y=0,b=null,S={data:o.data,sections:o.sections,setCurrentSection:r},A=ho.useMemo(()=>o.sections.filter(Boolean).filter(D=>D==="-"||D.isVisible==null||D.isVisible(o.data,S)),[o.sections]);S.sections=A;let x=A.reduce((D,P,O)=>{if(P==="-")return D.set(O,!0),D;let M=P.isValid?P.isValid(o.data,S):!0;return M!==!0&&(y++,b==null&&(b=M)),D.set(O,M),D},new Map);PTe(r,A);let E=!y;return ho.createElement(SC.Provider,{value:{namedQuery:n,setNamedQuery:i}},ho.createElement(ITe.Provider,{value:S},ho.createElement(oi,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:C,onDismiss:()=>{var D;return(D=o.onHide)==null?void 0:D.call(o)},onKeyDown:D=>{if(D.metaKey||D.ctrlKey){let{key:P}=D;if(!isNaN(Number(P))){let O=Number(P);if(a.has(O)){let M=a.get(O);r(M),D.preventDefault(),D.stopPropagation(),requestAnimationFrame(()=>{var B;(B=C==null?void 0:C.current)==null||B.bringToFront()})}}}}},ho.createElement(us.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":o.name,style:v({height:"100%",width:"90vw",maxWidth:1200},o.style)},ho.createElement(us.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},ho.createElement(us.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:c,style:v({overflow:"auto",position:"relative",flex:"none"},o.titleContainerStyle)},A.map((D,P)=>{if(D==="-")return ho.createElement(us.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${P}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});g++,a.set(g,P);let O=P===t,M=!1;return ho.createElement(us.Flex,{className:"ab-OnePageWizard__section-title","data-name":D.title,flexDirection:"row",style:{cursor:M?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:M?.5:1},key:D.title,color:O?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:P?2:0,onClick:()=>{M||r(P)}},ho.createElement(mk,{mr:2,style:{display:"inline-block"}},g),ho.createElement("div",{style:{flex:1}},D.title),ho.createElement(Lt,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:x.get(P)!==!0?"visible":"hidden"}}))}),p,ho.createElement(us.Box,{flex:1}),ho.createElement(mk,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},ATe()?"Cmd":"Ctrl"," + #",ho.createElement("br",null),"to navigate")),ho.createElement(us.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},l(t))),ho.createElement(us.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},ho.createElement(X,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var D;return(D=o.onHide)==null?void 0:D.call(o)},tooltip:(T=o.closeTooltip)!=null?T:"Close wizard",accessLevel:"Full"},(I=o.closeText)!=null?I:"CLOSE"),ho.createElement(mk,{ml:2},"Esc"),ho.createElement(us.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},b),ho.createElement(X,{tone:"accent","data-name":"finish",variant:"raised",disabled:E!==!0,onClick:()=>s(),icon:"check",accessLevel:"Full"},"Finish"))))))};var _Te=w(eA());var Us=o=>ya.createElement(ST.Text,v({fontSize:2,mb:3},o)),MTe=o=>ya.createElement(ST.Text,v({fontSize:2,mt:1},o)),NTe=ya.createContext({data:null,sections:[],moduleInfo:null,api:null,namedQuery:!1});function Ee(){return ya.useContext(NTe)}var dr=o=>{let{api:e}=ne(),t=at(),r=ya.useCallback(p=>t(Nm(p)),[]),[n,i]=(0,FTe.useState)(!1),a=o.moduleInfo.FriendlyName?`${(0,_Te.default)(o.moduleInfo.FriendlyName)}-wizard`:"",s={data:o.data,api:e,namedQuery:n,moduleInfo:o.moduleInfo,sections:o.sections},l=o.sections.map(p=>{if(p==="-")return"-";let c=typeof p.isValid=="function"?(f,g)=>p.isValid(f,e,v(v({},g),s)):void 0,m=typeof p.isVisible=="function"?(f,g)=>p.isVisible(f,e,v(v({},g),s)):void 0;return R(v({},p),{isValid:c,isVisible:m})}),u=()=>{var p;n&&n.Name&&r(n),(p=o.onFinish)==null||p.call(o,o.data)};return ya.createElement(NTe.Provider,{value:s},ya.createElement(SC.Provider,{value:{namedQuery:n,setNamedQuery:i}},ya.createElement(fk,R(v({},o),{name:a,sections:l,onFinish:u}))))},Or=()=>{let{setCurrentSection:o,sections:e,data:t}=DTe(),r=n=>ya.createElement(X,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{o(n)}},"edit");return ya.createElement(ST.Box,{className:"ab-OnePageWizardSummary"},e.map((n,i)=>n==="-"||!n.renderSummary?null:ya.createElement(K,{keyboardNavigation:!1,mt:i?2:0,key:i},ya.createElement(K.Tab,null,n.title," ",r(i)),ya.createElement(K.Content,null,n.renderSummary(t)))).filter(Boolean))};d();var Vc=w(require("react")),VTe=w(re());d();var LTe=w(require("react")),kTe=require("react");var OC=o=>{let{columnFilterText:e,availableColumns:t,selected:r,onChange:n,singleSelect:i}=o,a=(0,kTe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return LTe.createElement(bi,{value:r,options:t,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{n(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};OC.defaultProps={allowReorder:!0};var BTe=o=>{let{api:e}=Ee();return Vc.createElement(VTe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",Vc.createElement(Ge,null,e.columnApi.getFriendlyNameForColumnId(o.ColumnId)))},GTe=o=>o.ColumnId?!0:"You have to select a Column for Custom Sort",HTe=o=>{let{data:e,api:t}=Ee(),r=Vc.useMemo(()=>{let n=t.columnApi.getSortableColumns(),i=t.customSortApi.getCustomSorts(),a=t.optionsApi.getGeneralOptions().customSortComparers||[],s=[...i.map(l=>l.ColumnId),...a.map(l=>t.scopeApi.getColumnIdsInScope(l.scope))];return n.filter(l=>!o.isNew&&l.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(u=>l.columnId!==u))},[]);return Vc.createElement(K,{style:{height:"100%"}},Vc.createElement(K.Tab,null,"Column"),Vc.createElement(K.Content,null,Vc.createElement(OC,{availableColumns:r,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:n=>{o.onChange(R(v({},e),{SortedValues:[],ColumnId:n[0]}))},allowReorder:!1})))};d();var Tp=w(require("react")),Mf=require("react"),UTe=w(re());d();d();var bT=w(require("react")),hk=o=>bT.createElement("div",{style:o.style,className:"ab-Loader__Spinner"}),AT=o=>bT.createElement("div",{style:o.style,className:"ab-Loader"},bT.createElement(hk,null),bT.createElement("span",{className:"ab-Loader__text"},o.children));d();var tA=async(o,e,t=100)=>{let r=!1;return o==null||o.then(()=>{r=!0}),(async()=>(await new Promise(n=>setTimeout(n,t)),r||e()))(),o};var WTe=o=>!o.SortedValues||!o.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,zTe=o=>o.SortedValues.length?Tp.createElement(UTe.Text,{fontSize:2},Tp.createElement(Ai,{options:o.SortedValues,value:o.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,jTe=o=>{let{data:e,api:t}=Ee(),[r,n]=(0,Mf.useState)([]),[i,a]=(0,Mf.useState)(!1);(0,Mf.useEffect)(()=>{let m=!0;return(async()=>{n([]);let f=await tA(t.gridApi.internalApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>m&&a(!0));!m||(a(!1),n(f))})(),()=>{m=!1}},[e.ColumnId]);let s=(0,Mf.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((m,f)=>(m.set(f,!0),m),new Map),[e.SortedValues]),l=Tp.useCallback(m=>s.has(m),[s]),u=(0,Mf.useMemo)(()=>Hs(r,e.SortedValues,{sortUnorderedItems:!1}),[l,r,e.SortedValues]),p="ab-CustomSortWizard__SortOrder",c=Me(p,i&&`${p}--loading`);return Tp.createElement(K,{style:{height:"100%"},className:c},Tp.createElement(K.Tab,null,"Sort Order"),Tp.createElement(K.Content,null,i&&Tp.createElement(AT,null,"Loading"),Tp.createElement(bi,{toIdentifier:m=>`${m}`,toLabel:m=>`${m}`,options:u,value:e.SortedValues,allowReorder:l,xSelectedLabel:()=>"Your Sort Order:",onChange:m=>{o.onChange(R(v({},e),{SortedValues:m}))}})))};d();var FC=w(require("react"));d();var O8=w(require("react"));var KTe=o=>{let{api:e}=ne(),t=()=>{var s;return(s=e.internalApi.getAvailableTags())!=null?s:[]},{availableTags:r=t(),selectedTags:n=[],onChange:i,singleSelect:a}=o;return O8.createElement(bi,{options:r,value:n.map(s=>e.internalApi.getLabelForTag(s)),singleSelect:a,allowReorder:!1,onChange:(s,l)=>{i(s.map(u=>l.get(u)))},selectionBoxPosition:"top",toIdentifier:s=>e.internalApi.getLabelForTag(s),toLabel:s=>e.internalApi.getLabelForTag(s),noSelectionLabel:a?"Select a tag":"You have not selected any tags.",xSelectedLabel:a?()=>"Selected tag:":()=>"Selected tags:"})},QTe=o=>{let{tags:e=[]}=o,{api:t}=ne();return O8.createElement(Ai,{options:e,value:e.map(r=>t.internalApi.getValueForTag(r)),toIdentifier:r=>t.internalApi.getValueForTag(r),toLabel:r=>t.internalApi.getLabelForTag(r),allowWrap:!0,readOnly:!0})};var YTe=w(re());var Fr=o=>{let{onChange:e}=o,{data:t}=Ee();return FC.createElement(K,{style:{height:"100%"}},FC.createElement(K.Tab,null,"Tags"),FC.createElement(K.Content,null,FC.createElement(KTe,{selectedTags:t.Tags,onChange:r=>e(R(v({},t),{Tags:r}))})))},_r=o=>{var e;return(e=o.Tags)!=null&&e.length?FC.createElement(YTe.Text,{fontSize:2},FC.createElement(QTe,{tags:o.Tags})):null};var gk=o=>{var s,l;let e=o.data,t=Dt(u=>{var p;return(p=u.CustomSort)==null?void 0:p.CustomSorts});((s=o.popupParams)==null?void 0:s.action)==="Edit"&&((l=o.popupParams)==null?void 0:l.column)&&(e=t.find(u=>{var p;return u.ColumnId==((p=o.popupParams)==null?void 0:p.column.columnId)}));let[r,n]=(0,qTe.useState)(()=>{var p,c;if(e)return Zt(e);let u=Ke.CreateEmptyCustomSort();return(p=o.popupParams)!=null&&p.column&&(u.ColumnId=(c=o.popupParams)==null?void 0:c.column.columnId),u}),i=at(),a=()=>{i(e?hc(r):wm(r)),o.onFinishWizard(r)};return Pp.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onFinish:a,onHide:o.onCloseWizard,sections:[{isValid:GTe,renderSummary:BTe,details:"Select a Column for Custom Sort",render:()=>Pp.createElement(xT.Box,{padding:2,style:{height:"100%"}},Pp.createElement(HTe,{isNew:o.isNew,onChange:n})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use "Drag to reorder" checkbox to modify order',isValid:WTe,renderSummary:zTe,render:()=>Pp.createElement(xT.Box,{padding:2,style:{height:"100%"}},Pp.createElement(jTe,{onChange:n}))},{details:"Select Custom Sort Tags",title:"Tags",isVisible:(u,p)=>p.internalApi.shouldDisplayTagSections(),render:()=>Pp.createElement(xT.Box,{padding:2},Pp.createElement(Fr,{onChange:n})),renderSummary:_r},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>Pp.createElement(xT.Box,{padding:2},Pp.createElement(Or,null))}]})};var F8=class extends Au.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.CustomSorts.find(r=>r.ColumnId==t.ColumnId)?this.props.onEditCustomSort(t):this.props.onAddCustomSort(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t=this.props.CustomSorts.find(a=>a.ColumnId==this.props.summarisedColumn.columnId),r=this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn),n=t==null&&r==null,i;return this.props.summarisedColumn.sortable?n?i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):r!=null?i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):i=Au.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:Au.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(t),configEnity:t,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),showEdit:t!=null,onShare:a=>this.props.onShare(t,a),showShare:this.props.teamSharingActivated,onDelete:$v(t),showBold:!0,accessLevel:this.props.accessLevel}):i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),Au.createElement(Au.Fragment,null,i,this.state.editedAdaptableObject&&Au.createElement(gk,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyCustomSort();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){this.setState({editedAdaptableObject:Jt.cloneObject(t),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return je.IsNotNullOrEmpty(t.ColumnId)&&qe.IsNotNullOrEmpty(t.SortedValues)}getCustomSortedValues(t){return qe.IsNotNullOrEmpty(t.SortedValues)?t.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function lSt(o,e){return{CustomSorts:o.CustomSort.CustomSorts}}function uSt(o){return{onAddCustomSort:e=>o(wm(e)),onEditCustomSort:e=>o(hc(e)),onShare:(e,t)=>o(au(e,Gi,t))}}var $Te=ot(lSt,uSt)(F8);d();var _C=w(require("react"));d();var Ck=w(require("react"));var vd=class extends Ck.Component{render(){return Ck.createElement(X,R(v({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"clear"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var _8=class extends _C.Component{constructor(e){super(e),this.state=_o.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(n=>n.ColumnId==this.props.summarisedColumn.columnId),t=this.getDescription(e),r=[];return r.push(_C.createElement("b",null,_C.createElement(vu,{moduleInfo:this.props.moduleInfo}))),r.push(t),r.push(_C.createElement(vd,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),_C.createElement(Df,{SummaryItems:r})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.internalApi.columnFilterToString(e)}};function dSt(o){return{ColumnFilters:Im(o)}}function pSt(o){return{onClearFilter:e=>o(od(e)),onClearPopupParams:()=>o(Mv()),onShare:(e,t)=>o(au(e,Rn,t))}}var XTe=ot(dSt,pSt)(_8);d();var MC=w(require("react"));d();var ds=w(require("react")),xk=w(re());d();var Yt=w(require("react")),ZTe=require("react"),Ga=w(re());var Ip=({Scope:o})=>{let e=[];return o?(o&&"ColumnIds"in o&&o.ColumnIds.length===0&&e.push("No columns selected for scope"),o&&"DataTypes"in o&&o.DataTypes.length===0&&e.push("No data types selected for scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},JTe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},Nf=(o,e)=>{let r=ne().api.scopeApi,n=r.getColumnsForScope(o);return Yt.createElement(Yt.Fragment,null,Yt.createElement(Ga.Box,null,Yt.createElement(Us,{mb:0},r.scopeIsAll(o)?e.scopeWholeRow:null)),Yt.createElement(Ga.Box,{style:{overflow:"hidden"}},"ColumnIds"in o?Yt.createElement(Yt.Fragment,null,Yt.createElement(Us,{mb:n.length?2:0},e.scopeColumns),n.length?Yt.createElement(Ai,{options:n,value:n.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>Yt.createElement(Us,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),Yt.createElement(Ga.Box,null,"DataTypes"in o?Yt.createElement(Yt.Fragment,null,Yt.createElement(Ga.Text,{fontSize:2,mb:2},e.scopeDataTypes),Yt.createElement(Ai,{readOnly:!0,options:o.DataTypes,value:o.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>Yt.createElement(Ga.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},cSt=Object.values(JTe),xu=o=>{let{api:e}=ne(),{scopeApi:t,columnApi:r}=e,[n,i]=(0,ZTe.useState)(""),a=Yt.useMemo(()=>{let g=o.scopeColumns||r.getColumns();return typeof o.isColumnAvailable=="function"?g.filter(C=>o.isColumnAvailable(C)):g},[]),s=g=>{if(!!g){if(t.scopeIsAll(g))return"All";if(t.scopeHasColumns(o.scope))return"Column";if(t.scopeHasDataType(o.scope))return"DataType"}},l=g=>{let C;g=="Column"?C={ColumnIds:[]}:g=="DataType"?C={DataTypes:[]}:C={All:!0},o.updateScope(C)},u=g=>{let C={ColumnIds:g};o.updateScope(C)},p=(g,C)=>{let y=[].concat(t.getDataTypesInScope(o.scope));if(g)y.push(C);else{let S=y.indexOf(C,0);S>-1&&y.splice(S,1)}let b={DataTypes:y};o.updateScope(b)},c=s(o.scope),m=o.scope&&"DataTypes"in o.scope?t.getDataTypesInScope(o.scope):null,f=cSt;return Array.isArray(o.availableDataTypes)&&(f=o.availableDataTypes.map(g=>JTe[g])),Yt.createElement(K,{"data-name":"scope-component",className:"ab-ScopeComponent",value:c,style:v({height:"100%"},o.style),onValueChange:l},o.hideWholeRow?null:Yt.createElement(K.Tab,{value:"Row"},Yt.createElement(_e,{margin:0,checked:c=="All",tabIndex:-1},"All Columns")),!o.disableColumns&&Yt.createElement(K.Tab,{value:"Column"},Yt.createElement(_e,{margin:0,value:"Column",checked:c=="Column",tabIndex:-1},"Selected Columns")),!o.disableDataTypes&&Yt.createElement(K.Tab,{value:"DataType"},Yt.createElement(_e,{margin:0,value:"DataType",checked:c=="DataType",tabIndex:-1},"Data Types")),o.hideWholeRow?null:Yt.createElement(K.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},Yt.createElement(Ga.Text,{padding:2,pl:0,fontSize:2},o.descriptions.rowScope)),!o.disableColumns&&Yt.createElement(K.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},Yt.createElement(Ga.Flex,{flexDirection:"row",alignItems:"center",padding:2},Yt.createElement(Ga.Text,{fontSize:2},o.descriptions.columnScope),Yt.createElement(Ga.Flex,{flex:3}),Yt.createElement(Ba,{value:n,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),Yt.createElement(Ga.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},Yt.createElement(OC,{columnFilterText:n,allowReorder:!1,availableColumns:a,selected:t.getColumnIdsInScope(o.scope),onChange:u}))),!o.disableDataTypes&&Yt.createElement(K.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},Yt.createElement(Ga.Box,null,o.descriptions.dataTypeScope&&Yt.createElement(Ga.Text,{p:2,pl:0,mb:2,fontSize:2},o.descriptions.dataTypeScope),Yt.createElement(Ga.Flex,{flexDirection:"column"},f.map(g=>Yt.createElement(ye,{"data-name":"scope","data-value":g.value,key:g.value,checked:m&&m.includes(g.value),onChange:C=>p(C,g.value)},g.label))))))};d();var yk=w(require("react"));var ePe=o=>{let{data:e,api:t}=Ee(),r=yk.useMemo(()=>t.columnApi.getNumericColumns(),[]);return yk.createElement(xu,{availableDataTypes:["Number"],scopeColumns:r,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:n=>{let i=n;n&&"DataTypes"in n&&n.DataTypes.length===0&&(i=R(v({},n),{DataTypes:["Number"]})),o.onChange(R(v({},e),{Scope:i}))}})};d();var wi=w(require("react")),G8=w(re());d();var Ws=w(require("react"));d();var to=w(require("react")),iPe=require("react"),Vf=w(re());d();d();var Ri=w(require("react")),kf=w(re());d();var Nl=w(require("react")),TT=w(re());d();var va=w(require("react")),rA=w(re());d();d();var Lf=w(require("react")),ET=w(re());d();var Sd=w(require("react"));d();var vk=w(require("react"));d();var M8=w(require("react")),N8=require("react");var mSt=M8.createContext({clickInfoRef:null,selected:{},getItemId:o=>o,toggleOnSimpleClick:!1,setSelected:o=>{}}),tPe=()=>{let{selected:o,setSelected:e,toggleOnSimpleClick:t,clickInfoRef:r,getItemId:n}=(0,N8.useContext)(mSt);return(i,{index:a})=>{if(a===void 0)return;let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:l}=r.current,{shiftKey:u,metaKey:p,ctrlKey:c}=i;c&&(p=!0),p&&(u=!1);let m=`${n(a)}`,f;if(u){let g=s,C=a;if(f=v({},o),l){let{start:S,end:A}=l;for(;S<=A;S++)delete f[n(S)]}let[y,b]=[Math.min(g,C),Math.max(g,C)];for(r.current.lastShiftSelectionRange={start:y,end:b};y<=b;y++)f[n(y)]=!0;e(f)}else{if(r.current.lastClickIndexWithoutShift=a,!p&&!t)f={[m]:!0};else{let g=o[m];f=v({},o),g?(delete f[m],r.current.lastClickIndexWithoutShift=s):f[m]=!0}r.current.lastShiftSelectionRange=null,e(f)}}};var L8="ab-ListGroupItem",fSt=vk.forwardRef((o,e)=>{let u=o,{className:t,active:r,factory:n="button",noZebra:i}=u,a=ze(u,["className","active","factory","noZebra"]),s=tPe();return vk.createElement(n,R(v({},a),{onClick:p=>{a.onClick&&a.onClick(p),s(p,{index:o.index})},ref:e,className:Me(t,L8,i?`${L8}--no-zebra`:null,`${L8}--${r?"active":"not-active"}`)}))}),Sk=fSt;var k8=w(re());d();var RT=w(require("react"));var hSt="ab-GridList",gSt=new Map([["item",{field:"item",header:null,defaultFlex:1}]]),CSt=o=>{var t;let e=RT.Children.map(o.children,(r,n)=>({item:r,id:n})).filter(r=>!!r.item);return RT.createElement(Wi,{data:e,primaryKey:"id"},RT.createElement(Hn,{header:!1,showZebraRows:o.showZebraRows,rowHeight:(t=o.rowHeight)!=null?t:"--ab-grid-row-height",domProps:{className:Me(hSt,o.className),style:{minHeight:"15rem"}},columns:gSt}))},oPe=CSt;var wT=require("react");var oA=o=>{let[e,t]=(0,wT.useState)(""),r=Sd.useCallback(m=>{t(m),o==null||o.onFilterChange(m)},[o.onFilterChange]),[n,i]=(0,wT.useState)(o.uiSelectedColumnValues),a=m=>{i(m),o.onColumnValueSelectedChange(m)};(0,wT.useEffect)(()=>{i(o.uiSelectedColumnValues)},[o.uiSelectedColumnValues]);let s=m=>Sd.createElement(ye,R(v({},m),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1,title:typeof m.children=="string"?m.children:null})),l=m=>{let f=n.indexOf(m);if(f>=0){let g=[...n];g.splice(f,1),a(g)}else a([...n,m])},u=o.columnDistinctValues.map((m,f)=>{let g=n.indexOf(m.value)>=0,C=m.label;if(je.IsNullOrEmpty(C))return null;let y=je.IsNullOrEmpty(e.toLocaleLowerCase())||je.IsNullOrEmpty(C==null?void 0:C.toLocaleLowerCase())||C.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0;return!o.suppressClientSideFilter&&je.IsNotNullOrEmpty(e)&&y?null:o.useAgGridStyle?s({key:"columnValue"+f,children:m.label,checked:g,onChange:()=>l(m.value),disabled:o.disabled,style:{width:"100%"}}):Sd.createElement(Sk,{noZebra:o.useAgGridStyle,key:"columnValue"+f,onClick:()=>l(m.value),active:g,value:m.value},m.label)}),p=Sd.createElement(Ba,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:r}),c="ab-ListBoxFilterForm";return Sd.createElement("div",{className:Me(c,o.useAgGridStyle?`${c}--aggrid-style`:null,o.isLoading&&`${c}--loading`)},Sd.createElement(k8.Box,{px:2},Sd.createElement(k8.Box,{mx:o.useAgGridStyle?0:"2px",marginBottom:2},p,o.isLoading&&Sd.createElement(AT,null,"Loading"))),!o.isLoading&&Sd.createElement(oPe,{showZebraRows:!1,className:o.useAgGridStyle?"":"ab-padding-horizontal-0"},u))};var V8=o=>{var l,u,p;let e=ne(),t=o.columnId,r=e.api.columnApi.getColumnWithColumnId(t),n=((l=e.api.gridApi.internalApi.getDistinctDisplayValuesForColumn(t))!=null?l:[]).map(c=>{var m;return{value:c,label:c.toString?(m=c.toString)==null?void 0:m.call(c):c}}),i=(u=o.predicate.Inputs)!=null?u:[],a=((p=i==null?void 0:i.filter)==null?void 0:p.call(i,c=>c!==void 0||c!==null||c!=="").length)===0,s=Lf.createElement(ET.Flex,{className:"ab-PermitedValuesSelector__PopupContent",padding:1,flexDirection:"column"},Lf.createElement(oA,{currentColumn:r,columns:[],columnDistinctValues:n,dataType:r.dataType,uiSelectedColumnValues:o.predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:c=>o.onPredicateValuesChange(c)}));return Lf.createElement(ET.Box,{className:"ab-PermitedValuesSelector",mt:2},Lf.createElement(ET.Box,{flex:1},Lf.createElement(Na,{render:()=>s},Lf.createElement(X,{width:"100%",mb:2},(i==null?void 0:i.join(", "))||"No Selected values"))),Lf.createElement(X,{disabled:a,onClick:()=>o.onPredicateValuesChange([])},"Clear Values"))};var ySt=o=>o&&["Values","ExcludeValues"].includes(o.id),bk=o=>{var s;let e="ab-PredicateEditor",t=va.useMemo(()=>o.predicateDefs.map(l=>({value:l.id,label:l.label,onClick:()=>{var u;o.onChange(R(v({},o.predicate),{PredicateId:l.id,Inputs:((u=l==null?void 0:l.inputs)!=null?u:[]).map(p=>{var c;return(c=p.defaultValue)!=null?c:""})}))}})),[o.predicateDefs,o.onChange]),r=(l,u)=>{let{value:p}=l.target,c=[...o.predicate.Inputs];c[u]=p,o.onChange(R(v({},o.predicate),{Inputs:c}))},n=l=>{o.onChange(R(v({},o.predicate),{Inputs:l}))},i=o.predicateDefs.find(l=>{var u;return l.id===((u=o.predicate)==null?void 0:u.PredicateId)}),a=null;return i&&(Um(i==null?void 0:i.icon)?a=va.createElement(Lt,{name:i.icon.name}):(i==null?void 0:i.icon)&&"text"in(i==null?void 0:i.icon)&&(a=va.createElement("span",null,i.icon.text))),va.createElement(rA.Box,{className:e},va.createElement(rA.Flex,{justifyContent:"stretch",alignItems:"center"},a&&va.createElement(Ge,{mr:2},a),va.createElement(Fe,{mb:0,style:{flex:1},listStyle:{minWidth:150},"data-name":"select-predicate",className:`${e}__predicate-dropdown`,placeholder:"Select Rule",showClearButton:!!o.predicate,onClear:o.onClear,items:t,columns:["label"]},i?i.label:"Select Rule")),va.createElement(rA.Flex,null,(s=i==null?void 0:i.inputs)==null?void 0:s.map((l,u)=>va.createElement(va.Fragment,null,u>0&&va.createElement(Ot,{margin:2},"AND"),va.createElement(rA.Flex,{key:u,flex:1,flexDirection:"column"},va.createElement(Vt,{"data-name":`predicate-input-${u}`,marginTop:2,type:l.type,autoFocus:u===0,value:o.predicate.Inputs[u],onChange:p=>r(p,u)}))))),ySt(i)&&va.createElement(V8,{onPredicateValuesChange:n,predicate:o.predicate,columnId:o.columnId}))};var rPe=o=>{var c,m,f,g,C;let{api:e}=ne(),{predicate:t}=o,r=Nl.useMemo(()=>e.columnApi.getColumns().map(y=>({label:y.friendlyName,value:y.columnId})),[]),n=()=>{var b,S;let y=(S=(b=o.data.Rule)==null?void 0:b.Predicates)==null?void 0:S.filter(A=>A!==t);o.onChange(R(v({},o.data),{Rule:{Predicates:y}}))},i=y=>{var S,A;let b=[];t?b=(A=(S=o.data.Rule)==null?void 0:S.Predicates)==null?void 0:A.map(x=>x===t?y:x):b=[y],o.onChange(R(v({},o.data),{Rule:{Predicates:b}}))},a=Nl.useMemo(()=>{var b;let y=[];return o.getPredicateDefsForColId&&((b=o==null?void 0:o.predicate)==null?void 0:b.ColumnId)?y=o.getPredicateDefsForColId(o.predicate.ColumnId):y=o.predicateDefs,y},[o.predicate]),s=Boolean(o.columnPredicateEnabled),l=(c=r.find(y=>y.value===(t==null?void 0:t.ColumnId)))==null?void 0:c.label,u=r.map(y=>({label:y.label,onClick:()=>{i({PredicateId:null,ColumnId:y.value,Inputs:[]})}})),p=null;return(t==null?void 0:t.ColumnId)&&t.ColumnId!==""?p=t.ColumnId:"ColumnIds"in o.data.Scope&&((f=(m=o.data.Scope)==null?void 0:m.ColumnIds)==null?void 0:f[0])&&(p=(C=(g=o.data.Scope)==null?void 0:g.ColumnIds)==null?void 0:C[0]),Nl.createElement(TT.Flex,{className:"ab-EntityRulePredicateEditor",p:3,mb:3},Nl.createElement(TT.Box,{flex:1},Nl.createElement(Ie,null,s&&Nl.createElement(Z,{label:"Column"},Nl.createElement(Fe,{width:"100%",columns:["label"],items:u},l!=null?l:"Select Column")),Nl.createElement(Z,{label:"Predicate"},Nl.createElement(bk,{columnId:p,predicateDefs:a,predicate:t,onChange:i,onClear:n})))),Nl.createElement(TT.Box,null,Nl.createElement(X,{disabled:!t,ml:2,onClick:n,icon:"delete"})))};d();var Ru=(o,e)=>{let t=[];return"ColumnIds"in o&&Array.isArray(o.ColumnIds)&&(t=o.ColumnIds,t=o.ColumnIds.map(r=>e.columnApi.getFriendlyNameForColumnId(r)).filter(Boolean)),"DataTypes"in o&&(t=o.DataTypes),"All"in o&&(t=["All Columns"]),{label:"Target",name:"Target",values:t}};var B8=o=>{var u,p,c,m,f;let{api:e}=ne(),t=e.internalApi.isDocumentationLinksDisplayed(),r=o.data.Rule.Predicates.some(g=>g.ColumnId!==void 0),n=o.predicateDefs.filter(g=>{var C,y;return(y=(C=o.data.Rule)==null?void 0:C.Predicates)==null?void 0:y.every(b=>b.PredicateId!==g.id)}),i=g=>{g?o.onChange(R(v({},o.data),{Rule:{Predicates:[{PredicateId:null,ColumnId:""}]}})):o.onChange(R(v({},o.data),{Rule:{Predicates:[]}}))},a=()=>{var g;o.onChange(R(v({},o.data),{Rule:{Predicates:[...((g=o.data.Rule)==null?void 0:g.Predicates)||[],{PredicateId:n[0].id,Inputs:[]}]}}))},s=Ru(o.data.Scope,e).values.join(", "),l=(u=o.enablePredicateColumnId)!=null?u:!0;return Ri.createElement(Ri.Fragment,null,Ri.createElement(kf.Flex,{mb:2,justifyContent:"space-between"},Ri.createElement(kf.Text,{fontSize:2,mb:2},o.descriptions.selectPredicate),Ri.createElement(X,{disabled:!((c=(p=o.data.Rule)==null?void 0:p.Predicates)!=null&&c.length),onClick:a,icon:"plus",variant:"raised"},"Add Predicate")),l&&Ri.createElement(kf.Flex,{className:"ab-EntityRulePredicateEditor-ScopeTypeSelector",p:2,mb:2,flexDirection:"column"},Ri.createElement(kf.Text,{mb:2},"Create Predicate Rule(s) using"),Ri.createElement(_e,{"data-name":"entity-scope",onClick:()=>i(!1),mr:3,checked:!r},"Active Column:"," ",Ri.createElement(Ge,{ml:1,mr:1},s||"Not Defined")," "),Ri.createElement(_e,{"data-name":"column-scope",onClick:()=>i(!0),checked:r},"Selected Columns (overriding Active Column)")),((f=(m=o.data.Rule)==null?void 0:m.Predicates)!=null&&f.length?o.data.Rule.Predicates:[null]).map((g,C)=>{let y=o.predicateDefs.find(S=>S.id===(g==null?void 0:g.PredicateId)),b=n;return y&&(b=[y,...n]),Ri.createElement(Ri.Fragment,{key:`${C}-${g==null?void 0:g.PredicateId}`},C>0&&Ri.createElement(kf.Box,null,Ri.createElement(Ge,{mb:3},"AND")),Ri.createElement(rPe,{data:o.data,predicate:g,onChange:o.onChange,predicateDefs:b,getPredicateDefsForColId:o.getPredicateDefsForColId,columnPredicateEnabled:r}))}),t&&Ri.createElement(Ot,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},Ri.createElement(Ms,{mr:2,onClick:()=>window.open(rxe,"_blank")}),"See Predicate documentation for more details and examples"))};var Ak=o=>{let a=o,{type:e,label:t,disabled:r=!1}=a,n=ze(a,["type","label","disabled"]),i=to.createElement(Vf.Flex,{flexDirection:"column"},t," ",to.createElement(Vf.Text,{fontSize:2},"query"));return to.createElement(K.Tab,v({style:{flex:1}},n),!r&&o.showRadio?to.createElement(_e,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i):i)};Ak.defaultProps={isTabsTab:!0};var nA=o=>{var n,i,a,s,l,u,p,c;let{data:e}=o,{api:{predicateApi:t,internalApi:r}}=ne();return!((i=(n=e==null?void 0:e.Rule)==null?void 0:n.Predicates)!=null&&i.length)&&!((a=e==null?void 0:e.Rule)!=null&&a.BooleanExpression)&&!((s=e==null?void 0:e.Rule)!=null&&s.ObservableExpression)&&!((l=e==null?void 0:e.Rule)!=null&&l.AggregatedBooleanExpression)?to.createElement(Vf.Text,{fontSize:2},"No Rule defined"):to.createElement(Vf.Text,{fontSize:2},e.Rule.Predicates?to.createElement(to.Fragment,null,(c=(p=(u=e.Rule)==null?void 0:u.Predicates)==null?void 0:p.map)==null?void 0:c.call(p,(m,f)=>to.createElement(to.Fragment,{key:f},o.renderPredicate(t.predicateToString(m))))):to.createElement(to.Fragment,null,o.renderQueryExpression(r.getAdaptableQueryExpressionText(e.Rule))))},nPe=o=>o.showRadio?to.createElement(_e,{tabIndex:-1,margin:0,checked:o.checked},o.children):to.createElement(to.Fragment,null,"props.children"),Bf=o=>{var O,M,B;let{data:e,children:t,descriptions:r,predicateDefs:n,showNoRule:i=!1,showPredicate:a=!0,showObservable:s=!0,showBoolean:l=!0,showAggregation:u=!0,flexProps:p,module:c}=o,{api:m}=ne(),g=[i,a,s,l,u].filter(Boolean).length>1,C=e.Rule==null?"NoRule":e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&s?"ObservableExpression":e.Rule.AggregatedBooleanExpression!=null&&u?"AggregatedBooleanExpression":"Predicate",[y,b]=to.useState(C),S=_=>{b(_),_==="NoRule"&&i?(delete e.Rule,o.onChange(v({},e))):_==="BooleanExpression"&&l?o.onChange(R(v({},e),{Rule:{BooleanExpression:""}})):_==="ObservableExpression"&&s?o.onChange(R(v({},e),{Rule:{ObservableExpression:""}})):_==="AggregatedBooleanExpression"&&u?o.onChange(R(v({},e),{Rule:{AggregatedBooleanExpression:""}})):o.onChange(R(v({},e),{Rule:{Predicates:[{PredicateId:o.defaultPredicateId}]}}))},A=_=>_&&["Values","ExcludeValues"].includes(_.id),x=n.filter(_=>A(_)?"ColumnIds"in e.Scope&&e.Scope.ColumnIds.length===1:!0),E=_=>{o.onChange(R(v({},e),{Rule:{BooleanExpression:_}}))},T=_=>{o.onChange(R(v({},e),{Rule:{ObservableExpression:_}}))},I=_=>{o.onChange(R(v({},e),{Rule:{AggregatedBooleanExpression:_}}))},D=(0,iPe.useMemo)(()=>m.internalApi.getQueryPreviewData(),[]);return to.createElement(Vf.Flex,R(v({className:"ab-EntityRulesEditor",flexDirection:"column",padding:2,pt:0,pl:0},p),{style:v({height:"100%"},p==null?void 0:p.style)}),t,to.createElement(K,{onValueChange:S,value:y,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?to.createElement(K.Tab,{value:"NoRule",style:{flex:1}},to.createElement(nPe,{showRadio:g,checked:C==="NoRule"},"No Condition")):null,i?to.createElement(K.Content,{value:"NoRule"},to.createElement(Vf.Text,{fontSize:2,mb:2},"Format Column is always applied")):null,a?to.createElement(K.Tab,{value:"Predicate",style:{flex:1}},to.createElement(nPe,{showRadio:g,checked:C==="Predicate"},"Predicate")):null,a?to.createElement(K.Content,{"data-name":"Predicate",value:"Predicate"},to.createElement(B8,{enablePredicateColumnId:o.enablePredicateColumnId,data:e,descriptions:r,predicateDefs:x,getPredicateDefsForColId:o.getPredicateDefsForColId,onChange:o.onChange})):null,l?to.createElement(Ak,{showRadio:g,value:"BooleanExpression",type:C,label:"Boolean"}):null,l?to.createElement(K.Content,{"data-name":"BooleanExpression",value:"BooleanExpression",paddingLeft:0},to.createElement(Bs,{type:"boolean",module:c,value:(O=e.Rule)==null?void 0:O.BooleanExpression,onChange:E,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,s?to.createElement(Ak,{showRadio:g,value:"ObservableExpression",type:C,label:"Observable"}):null,s?to.createElement(K.Content,{"data-name":"ObservableExpression",value:"ObservableExpression",paddingLeft:0},to.createElement(Bs,{type:"observable",module:c,value:(M=e.Rule)==null?void 0:M.ObservableExpression,onChange:T,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,u?to.createElement(Ak,{showRadio:g,value:"AggregatedBooleanExpression",type:C,label:"Aggregated Boolean"}):null,u?to.createElement(K.Content,{"data-name":"AggregatedBooleanExpression",value:"AggregatedBooleanExpression",paddingLeft:0},to.createElement(Bs,{type:"aggregatedBoolean",module:c,value:(B=e.Rule)==null?void 0:B.AggregatedBooleanExpression,onChange:I,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null))};function aPe(){let{data:o}=Ee();return Ws.createElement(nA,{data:o,renderPredicate:e=>Ws.createElement(Ws.Fragment,null,"Apply Plus Minus on ",Ws.createElement(yi,null,e)),renderQueryExpression:e=>Ws.createElement(Ws.Fragment,null,"Apply Plus Minus when"," ",Ws.createElement("b",null,Ws.createElement(yi,null,e)))})}function sPe(o){var n;let{data:e,moduleInfo:t}=Ee(),r=R(v({},e),{Rule:(n=e==null?void 0:e.Rule)!=null?n:{BooleanExpression:""}});return Ws.createElement(Bf,{module:t.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:o.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:r,onChange:i=>o.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Ws.createElement(Ws.Fragment,null,"Use an BooleanQuery if ",Ws.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}d();var Gf=(o,e,t)=>{var r,n,i,a,s,l,u,p,c,m,f,g,C,y,b;return(n=(r=o==null?void 0:o.Rule)==null?void 0:r.Predicates)!=null&&n.length&&!e.predicateApi.isEveryPredicateValid((i=o==null?void 0:o.Rule)==null?void 0:i.Predicates)?`The Predicate${((s=(a=o==null?void 0:o.Rule)==null?void 0:a.Predicates)==null?void 0:s.length)===1?" is":"s are"} not valid`:(l=o==null?void 0:o.Rule)!=null&&l.BooleanExpression&&!e.queryLanguageApi.isValidBooleanExpression((u=o==null?void 0:o.Rule)==null?void 0:u.BooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Boolean Expression":(p=o==null?void 0:o.Rule)!=null&&p.ObservableExpression&&!e.queryLanguageApi.isValidObservableExpression((c=o==null?void 0:o.Rule)==null?void 0:c.ObservableExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Observable Expression":(m=o==null?void 0:o.Rule)!=null&&m.AggregatedBooleanExpression&&!e.queryLanguageApi.isValidAggregatedBooleanExpression((f=o==null?void 0:o.Rule)==null?void 0:f.AggregatedBooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Aggregated Boolean Expression":(C=(g=o==null?void 0:o.Rule)==null?void 0:g.Predicates)!=null&&C.length&&((b=(y=o==null?void 0:o.Rule)==null?void 0:y.Predicates)==null?void 0:b.some(A=>A.ColumnId!==void 0&&A.ColumnId===""))?"Predicates with custom scope need a valid column":!0};var lPe=o=>{var t;let{data:e}=Ee();return wi.createElement(wi.Fragment,null,wi.createElement(Us,null,"Nudge Value ",wi.createElement(Ge,null,(t=e.NudgeValue)!=null?t:"Not selected")),o.hasCondition&&wi.createElement(aPe,null))},uPe=o=>(e,t,r)=>{var n;if(o){if(!((n=e==null?void 0:e.Rule)!=null&&n.BooleanExpression))return"No valid Rule is specified";let i=Gf(e,t,r);if(typeof i=="string")return i}return typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},dPe=o=>{var r;let{data:e}=Ee(),t=n=>{let i=parseFloat(n.target.value);o.onChange(R(v({},e),{NudgeValue:isNaN(i)?"":i}))};return wi.createElement(G8.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},wi.createElement(K,{autoFocus:!1,padding:2},wi.createElement(K.Tab,null,"Plus Minus Settings"),wi.createElement(K.Content,null,wi.createElement(Ie,null,wi.createElement(Z,{label:"Nudge Value"},wi.createElement(We,{"data-name":"nudge-value",flex:1,marginRight:3,onChange:t,placeholder:"Enter Number",type:"number",value:(r=e.NudgeValue)!=null?r:""})),wi.createElement(Z,{label:"Nudge Type"},wi.createElement(G8.Flex,null,wi.createElement(_e,{"data-name":"nudge-type-always",value:"Always",checked:!o.hasCondition,onChange:()=>o.onConditionChange(!1)},"Always Apply Nudge"),wi.createElement(_e,{"data-name":"nudge-type-condition",marginLeft:3,value:"Expression",checked:o.hasCondition,onChange:()=>o.onConditionChange(!0)},"Create a Rule")))))),o.hasCondition&&wi.createElement(sPe,{defaultPredicateId:"NonBlanks",onChange:o.onChange}))};var Rk=o=>{let[e,t]=ds.useState(()=>{var l,u,p,c,m;let s=R(v({},o.data?o.data:Ke.CreateEmptyPlusMinusNudge()),{Scope:(u=(l=o==null?void 0:o.data)==null?void 0:l.Scope)!=null?u:{All:!0},NudgeValue:(c=(p=o==null?void 0:o.data)==null?void 0:p.NudgeValue)!=null?c:20});return(m=o==null?void 0:o.popupParams)!=null&&m.column&&(s.Scope={ColumnIds:[o.popupParams.column.columnId]}),s}),[r,n]=ds.useState(()=>{var s;return Boolean((s=o==null?void 0:o.data)==null?void 0:s.Rule)});ds.useEffect(()=>{var l;let s=v({},e);r?s.Rule=(l=s.Rule)!=null?l:{BooleanExpression:""}:delete s.Rule,t(s)},[r]);let i=at(),a=()=>{o.data?i(gc(e)):i(Dm(e)),o.onFinishWizard(e)};return ds.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:e,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:Ip,details:"Specify where Plus/Minus should be applied",renderSummary:()=>Nf(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(ePe,{onChange:t}))},{title:"Settings",isValid:uPe(r),renderSummary:()=>ds.createElement(lPe,{hasCondition:r}),render:()=>ds.createElement(dPe,{hasCondition:r,onConditionChange:n,onChange:t})},{details:"Select Plus/Minus Tags",title:"Tags",isVisible:(s,l)=>l.internalApi.shouldDisplayTagSections(),render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(Fr,{onChange:t})),renderSummary:_r},"-",{render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(Or,null)),title:"Summary"}]})};var H8=class extends MC.Component{constructor(e){super(e),this.state=_o.getEmptyConfigState()}render(){let e=[],t=MC.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Jt.ReturnItemCount(this.props.PlusMinusNudges.filter(r=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,r.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(t),this.props.PlusMinusNudges.map((r,n)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,r.Scope)){let a=MC.createElement(Su,{key:"PM"+n,item1:"Nudge Value: "+r.NudgeValue,item2:(i=r.Rule)!=null&&i.BooleanExpression?r.Rule.BooleanExpression:"Always",configEnity:r,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(r),onShare:s=>this.props.onShare(r,s),onDelete:xF(r),accessLevel:this.props.accessLevel});e.push(a)}}),MC.createElement("div",null,e,this.state.editedAdaptableObject&&MC.createElement(Rk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=eo.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Jt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function vSt(o,e){return{PlusMinusNudges:o.PlusMinus.PlusMinusNudges}}function SSt(o){return{onAddPlusMinusNudge:e=>o(Dm(e)),onEditPlusMinusNudge:e=>o(gc(e)),onClearPopupParams:()=>o(Mv()),onShare:(e,t)=>o(au(e,sn,t))}}var pPe=ot(vSt,SSt)(H8);d();var Bc=w(require("react"));d();var PT=w(require("react"));var NC=class extends PT.Component{render(){if(!this.props.Style)return null;let e=Ve.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",t;if(this.props.Style.ClassName)t=PT.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let r=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,n=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",l=Gs.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);t=PT.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:r,color:n,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:l}},e)}return t}};d();var Ua=w(require("react")),_Pe=require("react"),LC=w(re());d();var cPe=w(require("react"));d();var wk="NonBlanks";var mPe=o=>Nf(o.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns with these Data Types will be formatted"}),fPe=o=>{let{data:e,api:t}=Ee();return cPe.createElement(xu,{descriptions:{rowScope:"Format all columns in the row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:r=>{var a,s;let n=R(v({},e),{Scope:r}),i=t.scopeApi.scopeIsAll(r);(s=(a=n.Rule)==null?void 0:a.Predicates)!=null&&s.length&&(i?(delete n.Rule.Predicates,n.Rule.BooleanExpression=""):n.Rule.Predicates=[{PredicateId:wk}]),o.onChange(n)}})};d();var U8=w(require("react")),hPe=w(re());var gPe=(o,e)=>o.Style&&Xt.IsEmptyStyle(o.Style)&&o.DisplayFormat===void 0&&o.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(o.Scope)?"No format applied":!0,bSt=o=>R(v({},zE(o!=null?o:{})),{borderWidth:o!=null&&o.BorderColor?2:0,borderStyle:"solid"}),CPe=o=>{let{api:e}=Ee();return W8(o,e)},W8=(o,e)=>U8.createElement(hPe.Text,{className:"ab-FormatPreview",padding:2,style:bSt(o.Style)},"Preview result");function yPe(o){var r;let{data:e,api:t}=Ee();return U8.createElement(fu,{headless:!0,api:t,Style:(r=e.Style)!=null?r:{},UpdateStyle:n=>{o.onChange(R(v({},e),{Style:n}))}})}d();var Pe=w(require("react")),Ll=w(re()),RPe=w(SPe()),wPe=w(gv());var RSt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},wSt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},bPe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},APe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},xPe={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},ESt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],z8=o=>{let e="N/A";return o.DisplayFormat?(o.DisplayFormat.Formatter==="NumberFormatter"&&(e=pi.NumberFormatter(12345.6789,o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="DateFormatter"&&(e=pi.DateFormatter(new Date(2022,0,1),o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="StringFormatter"&&(e=pi.StringFormatter("Hello World ",o.DisplayFormat.Options))):e="N/A",e},j8=(o,e,t)=>{var r,n,i;return Pe.createElement(Z,{key:e.id,label:(r=e.label)!=null?r:e.id},Pe.createElement(ye,{"data-name":e.id,checked:(i=(n=o.DisplayFormat.Options.CustomDisplayFormats)==null?void 0:n.some)==null?void 0:i.call(n,a=>a===e.id),onChange:a=>{var l,u,p;let s=(p=(u=(l=o==null?void 0:o.DisplayFormat)==null?void 0:l.Options)==null?void 0:u.CustomDisplayFormats)!=null?p:[];a?s=[...s,e.id]:s=s.filter(c=>c!==e.id),t("CustomDisplayFormats",s)}}))},EPe=o=>Pe.createElement(Ge,null,z8(o)),TPe=(o,e)=>{if(o!=null&&!("All"in o)){if("ColumnIds"in o){let t=o.ColumnIds.map(n=>e.columnApi.getColumnWithColumnId(n)).filter(Boolean),r=(0,RPe.default)(t.map(n=>n.dataType));return r.length==1&&r[0]=="Number"?"Number":r.length==1&&r[0]=="Date"?"Date":r.length==1&&r[0]=="String"?"String":void 0}if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Number")return"Number";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Date")return"Date";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="String")return"String"}},TSt=(o,e,t,r)=>{var n;return o.DisplayFormat.Formatter!=="DateFormatter"?null:Pe.createElement(Ll.Box,{padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",Pe.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),Pe.createElement(Ie,null,Pe.createElement(Z,{label:"Pattern"},Pe.createElement(We,{"data-name":"pattern",value:(n=o.DisplayFormat.Options.Pattern)!=null?n:"",onChange:i=>t("Pattern",i.currentTarget.value),mr:2}),Pe.createElement("span",null,o.DisplayFormat.Options.Pattern&&pi.DateFormatter(new Date,o.DisplayFormat.Options,!0)))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ie,null,r.map(i=>j8(o,i,t))))),Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Presets"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),ESt.map((i,a)=>Pe.createElement(xi,{key:a,colItems:[{Content:i,Size:1},{Content:pi.DateFormatter(new Date,{Pattern:i}),Size:1},{Content:Pe.createElement(X,{"data-name":"apply-format-pattern","data-value":i,onClick:()=>t("Pattern",i)},"Apply"),Size:1}]})))))},PSt=(o,e,t,r,n)=>{var C,y,b;if(o.DisplayFormat.Formatter!=="NumberFormatter")return null;let i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:xPe}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:APe}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:bPe}})},l=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:RSt}})},u=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:wSt}})},p=o.DisplayFormat.Options.Suffix==="%"&&o.DisplayFormat.Options.Multiplier===xPe.Multiplier,c=o.DisplayFormat.Options.Suffix==="K"&&o.DisplayFormat.Options.Multiplier===APe.Multiplier,m=o.DisplayFormat.Options.Suffix==="M"&&o.DisplayFormat.Options.Multiplier===bPe.Multiplier,f=o.DisplayFormat.Options.Prefix==="$",g=o.DisplayFormat.Options.Prefix==="\xA3";return Pe.createElement(Ll.Box,{"data-name":"format-column-display-format",padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,{mr:3},Pe.createElement(Z,{label:"Fraction Separator"},Pe.createElement(We,{"data-name":"fraction-separator",value:o.DisplayFormat.Options.FractionSeparator,onChange:S=>t("FractionSeparator",S.currentTarget.value)})),Pe.createElement(Z,{label:"Integer Separator"},Pe.createElement(We,{"data-name":"integer-separator",value:o.DisplayFormat.Options.IntegerSeparator,onChange:S=>t("IntegerSeparator",S.currentTarget.value)})),Pe.createElement(Z,{label:"Prefix"},Pe.createElement(We,{"data-name":"prefix",value:(C=o.DisplayFormat.Options.Prefix)!=null?C:"",onChange:S=>t("Prefix",S.currentTarget.value)})),Pe.createElement(Z,{label:"Suffix"},Pe.createElement(We,{"data-name":"suffix",value:(y=o.DisplayFormat.Options.Suffix)!=null?y:"",onChange:S=>t("Suffix",S.currentTarget.value)})),Pe.createElement(Z,{label:"Truncate"},Pe.createElement(ye,{"data-name":"truncate-checkbox",checked:o.DisplayFormat.Options.Truncate,onChange:S=>t("Truncate",S)})),Pe.createElement(Z,{label:"Ceiling"},Pe.createElement(ye,{"data-name":"ceiling-checkbox",checked:o.DisplayFormat.Options.Ceiling,onChange:S=>t("Ceiling",S)}))," ",Pe.createElement(Z,{label:"Absolute"},Pe.createElement(ye,{"data-name":"abs-checkbox",checked:o.DisplayFormat.Options.Abs,onChange:S=>t("Abs",S)}))),Pe.createElement(Ie,null,Pe.createElement(Z,{label:"Fraction Digits"},Pe.createElement(We,{"data-name":"fraction-digits",type:"number",min:"0",value:typeof o.DisplayFormat.Options.FractionDigits=="number"?o.DisplayFormat.Options.FractionDigits:"",onChange:S=>t("FractionDigits",Ve.IsNumeric(S.currentTarget.value)?(0,wPe.default)(Number(S.currentTarget.value),0,20):void 0)})),Pe.createElement(Z,{label:"Integer Digits"},Pe.createElement(We,{"data-name":"integer-digits",type:"number",min:"0",value:o.DisplayFormat.Options.IntegerDigits,onChange:S=>t("IntegerDigits",Number(S.currentTarget.value))})),Pe.createElement(Z,{label:"Multiplier"},Pe.createElement(We,{"data-name":"multiplier",type:"number",value:o.DisplayFormat.Options.Multiplier,onChange:S=>t("Multiplier",Number(S.currentTarget.value))}))," ",Pe.createElement(Z,{label:"Content"},Pe.createElement(We,{"data-name":"content",value:(b=o.DisplayFormat.Options.Content)!=null?b:"",onChange:S=>t("Content",S.currentTarget.value)}))," ",Pe.createElement(Z,{label:"Parentheses"},Pe.createElement(ye,{"data-name":"parentheses-checkbox",checked:o.DisplayFormat.Options.Parentheses,onChange:S=>t("Parentheses",S)})),Pe.createElement(Z,{label:"Floor"},Pe.createElement(ye,{"data-name":"floor-checkbox",checked:o.DisplayFormat.Options.Floor,onChange:S=>t("Floor",S)})),Pe.createElement(Z,{label:"Round"},Pe.createElement(ye,{"data-name":"round-checkbox",checked:o.DisplayFormat.Options.Round,onChange:S=>t("Round",S)})))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,null,r.map(S=>j8(o,S,t)))))),Pe.createElement(K,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Presets"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,{margin:2},Pe.createElement(Z,{label:"Show As:"},Pe.createElement(_e,{"data-name":"preset-percentage",marginLeft:2,checked:p,onChange:()=>i()},"Percentage"),Pe.createElement(_e,{"data-name":"preset-thousand",marginLeft:3,checked:c,onChange:()=>a()},"K (Thousand)"),Pe.createElement(_e,{"data-name":"preset-million",marginLeft:3,checked:m,onChange:()=>s()},"M (Million)"),Pe.createElement(_e,{"data-name":"preset-dollar",marginLeft:3,checked:f,onChange:()=>l()},"Dollar"),Pe.createElement(_e,{"data-name":"preset-sterling",marginLeft:3,checked:g,onChange:()=>u()},"Sterling")))))),Pe.createElement(K,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Examples"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"12345.6789",Size:1},{Content:pi.NumberFormatter(12345.6789,o.DisplayFormat.Options),Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"-12345.6789",Size:1},{Content:pi.NumberFormatter(-12345.6789,o.DisplayFormat.Options),Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"0.123",Size:1},{Content:pi.NumberFormatter(.123,o.DisplayFormat.Options),Size:1}]}))))},ISt=(o,e,t,r,n)=>{var i,a,s;return o.DisplayFormat.Formatter!=="StringFormatter"?null:Pe.createElement(Ll.Box,{"data-name":"format-column-display-format",padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"column"},Pe.createElement(Ie,{mr:3},Pe.createElement(Z,{label:"Case: "},Pe.createElement(_e,{"data-name":"case-lower",checked:o.DisplayFormat.Options.Case=="Lower",onChange:l=>t("Case","Lower")},"Lower"),Pe.createElement(_e,{"data-name":"case-upper",marginLeft:2,checked:o.DisplayFormat.Options.Case=="Upper",onChange:l=>t("Case","Upper")},"Upper"),Pe.createElement(_e,{"data-name":"case-sentence",marginLeft:2,checked:o.DisplayFormat.Options.Case=="Sentence",onChange:l=>t("Case","Sentence")},"Sentence"),Pe.createElement(_e,{"data-name":"case-none",marginLeft:2,checked:o.DisplayFormat.Options.Case==null,onChange:l=>t("Case",void 0)},"None"),Pe.createElement(ye,{"data-name":"trim-checkbox",marginLeft:5,checked:o.DisplayFormat.Options.Trim,onChange:l=>t("Trim",l)},"Trim")),Pe.createElement(Z,{label:"Prefix"},Pe.createElement(We,{"data-name":"prefix",value:(i=o.DisplayFormat.Options.Prefix)!=null?i:"",onChange:l=>t("Prefix",l.currentTarget.value)})),Pe.createElement(Z,{label:"Suffix"},Pe.createElement(We,{"data-name":"suffix",value:(a=o.DisplayFormat.Options.Suffix)!=null?a:"",onChange:l=>t("Suffix",l.currentTarget.value)})),Pe.createElement(Z,{label:"Content"},Pe.createElement(We,{"data-name":"content",value:(s=o.DisplayFormat.Options.Content)!=null?s:"",onChange:l=>t("Content",l.currentTarget.value)})))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"column"},Pe.createElement(Ie,{mr:3},r.map(l=>j8(o,l,t)))))),Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Example"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),Pe.createElement(xi,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+pi.StringFormatter("Hello World ",o.DisplayFormat.Options)+'"',Size:1}]}))))},PPe=o=>{var u,p,c;let{data:e}=Ee(),t=ne(),r=t.api.formatColumnApi,n=(c=(p=(u=t.adaptableOptions)==null?void 0:u.userInterfaceOptions)==null?void 0:p.customDisplayFormatters)!=null?c:[],i=m=>{o.onChange(v(v({},e),m))},a=(m,f)=>{let g=v({},e.DisplayFormat);g.Options=R(v({},g.Options),{[m]:f}),i({DisplayFormat:g})},s=e.DisplayFormat&&e.DisplayFormat.Formatter,l=n.filter(m=>t.api.scopeApi.isScopeInScope(e.Scope,m.scope));return s==="NumberFormatter"?PSt(e,i,a,l,r):s==="DateFormatter"?TSt(e,i,a,l):s==="StringFormatter"?ISt(e,i,a,l,r):Pe.createElement(Ot,{margin:3},"Setting a Display Format is only possible if ",Pe.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};d();var Ha=w(require("react")),Hf=w(re());var DSt=[{value:"Left",label:"Left"},{value:"Right",label:"Right"},{value:"Center",label:"Center"}],IPe=o=>{var e;return Ha.createElement(Hf.Box,{padding:2},Ha.createElement(Hf.Text,null,"Cell alignment ",Ha.createElement(Ge,null,(e=o.CellAlignment)!=null?e:"default")),Ha.createElement(Hf.Text,{mt:3},"Include grouped rows ",Ha.createElement(Ge,null,o.IncludeGroupedRows?"yes":"no")))},DPe=o=>{let{data:e,api:t}=Ee(),r=i=>{o.onChange(R(v({},e),{CellAlignment:i}))},n=i=>{o.onChange(R(v({},e),{IncludeGroupedRows:i}))};return Ha.createElement(K,null,Ha.createElement(K.Tab,null,"Format"),Ha.createElement(K.Content,null,Ha.createElement(Hf.Flex,{flexDirection:"row"},Ha.createElement(Ie,null,Ha.createElement(Z,{label:"Cell Alignment"},Ha.createElement(Fe,{"data-name":"cell-alignment-dropdown",style:{minWidth:"15rem"},placeholder:"Select Option",showClearButton:!!e.CellAlignment,onClear:()=>r(null),items:DSt.map(i=>({value:i.value,label:i.label,onClick:()=>r(i.value)})),columns:["label"]},e.CellAlignment?e.CellAlignment:"Select Option")),Ha.createElement(Z,{label:"Include Grouped Rows:"},Ha.createElement(Hf.Flex,{alignItems:"center",marginLeft:2},Ha.createElement(ye,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var wu=w(require("react"));function OPe(o){let{data:e,api:t,moduleInfo:r}=Ee();return wu.createElement(Bf,{module:r.ModuleName,defaultPredicateId:o.defaultPredicateId,predicateDefs:t.formatColumnApi.internalApi.getFormatColumnDefsForScope(e.Scope),getPredicateDefsForColId:n=>t.formatColumnApi.internalApi.getFormatColumnDefsForScope({ColumnIds:[n]}),showNoRule:!0,showBoolean:!0,showAggregation:!1,showObservable:!1,showPredicate:!t.scopeApi.scopeIsAll(e.Scope),data:e,onChange:n=>o.onChange(n),descriptions:{selectPredicate:"Create a Format Column Rule - to be applied when data changes",useBooleanQuery:wu.createElement(wu.Fragment,null,"Use an BooleanQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:wu.createElement(wu.Fragment,null,"Use an ObservableQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:wu.createElement(wu.Fragment,null,"Use an AggregatedBooleanQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})}var OSt=(o,e)=>{o=v({},o);let t=TPe(o.Scope,e);return!t&&o.DisplayFormat&&(o.DisplayFormat=void 0),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="NumberFormatter")&&t==="Number"&&(o.DisplayFormat={Formatter:"NumberFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="DateFormatter")&&t==="Date"&&(o.DisplayFormat={Formatter:"DateFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="StringFormatter")&&t==="String"&&(o.DisplayFormat={Formatter:"StringFormatter",Options:{}}),o},FPe=(o,e)=>(o=OSt(o,e),o);function Ek(o){var l,u;let{api:e}=ne(),t=(u=o.data)!=null?u:(l=o.popupParams)==null?void 0:l.value,[r,n]=(0,_Pe.useState)(()=>{var c,m,f,g;let p=t?Zt(t):Ke.CreateEmptyFormatColumn();return p.Scope=(c=p.Scope)!=null?c:{ColumnIds:[]},((m=o.popupParams)==null?void 0:m.action)==="New"&&((f=o.popupParams)==null?void 0:f.column)&&(p.Scope={ColumnIds:[(g=o.popupParams)==null?void 0:g.column.columnId]}),p=FPe(p,e),p}),i=Ua.useCallback(p=>{n(FPe(p,e))},[]),a=at(),s=()=>{a(t?tp(r):Om(r)),o.onFinishWizard(r)};return Ua.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Scope",details:"Select which Columns will be formatted",isValid:Ip,renderSummary:mPe,render:()=>Ua.createElement(LC.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Ua.createElement(fPe,{onChange:i}))},{isValid:(p,c,m)=>p.Rule?Gf(p,c,m):!0,title:"Condition",details:"Build a Rule when the Format Column should be applied",render:()=>Ua.createElement(OPe,{onChange:i,defaultPredicateId:wk})},{title:"Style",details:"Create a Style for the Format Column",isValid:gPe,renderSummary:CPe,render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(yPe,{onChange:i}))},{title:"Display Format",renderSummary:p=>EPe(p),render:()=>Ua.createElement(PPe,{onChange:i})},{title:"Settings",renderSummary:IPe,render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(DPe,{onChange:i}))},{details:"Select Format Column Tags",title:"Tags",isVisible:(p,c)=>c.internalApi.shouldDisplayTagSections(),render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(Fr,{onChange:i})),renderSummary:_r},"-",{details:"Review the Format Column",render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(Or,null)),title:"Summary"}]})}var K8=class extends Bc.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FormatColumns.find(r=>r.Uuid==t.Uuid)?this.props.onEditFormatColumn(t):this.props.onAddFormatColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let[t]=this.props.api.formatColumnApi.getFormatColumnsForColumn(this.props.summarisedColumn),r=t==null,n;return r?n=Bc.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):n=Bc.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:Bc.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:Bc.createElement(NC,{Style:t.Style}),configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:i=>this.props.onShare(t,i),onDelete:uS(t),showBold:!0,accessLevel:this.props.accessLevel}),Bc.createElement("div",null,n,this.state.editedAdaptableObject&&Bc.createElement(Ek,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyFormatColumn();t.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let r=Jt.cloneObject(t);this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){var t;(t=this==null?void 0:this.setState)==null||t.call(this,{editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return t.Scope!=null&&_o.IsNotEmptyStyle(t.Style)}};function FSt(o,e){return{FormatColumns:o.FormatColumn.FormatColumns}}function _St(o){return{onAddFormatColumn:e=>o(Om(e)),onEditFormatColumn:e=>o(tp(e)),onShare:(e,t)=>o(au(e,Gn,t))}}var MPe=ot(FSt,_St)(K8);d();var aA=w(require("react"));d();var bd=w(require("react")),DT=w(re());var eIe=require("react");d();var Ei=w(require("react")),NPe=require("react"),iA=w(re());var LPe=o=>{let{api:e}=Ee();return Ei.createElement(iA.Box,{fontSize:2},"Column scalar expression:"," ",Ei.createElement(yi,null,e.internalApi.getAdaptableQueryExpressionText(o.Query)))},kPe=(o,e)=>{var i;let t=e.internalApi.getCalculatedColumnExpressionService();return((i=e.queryLanguageApi.getAdaptableQueryExpression(o.Query))==null?void 0:i.trim())?t.isCalculatedColumnQueryValid(o.Query)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},Tk=o=>{let a=o,{type:e,label:t,disabled:r=!1}=a,n=ze(a,["type","label","disabled"]),i=Ei.createElement(iA.Flex,{flexDirection:"column"},t," ",Ei.createElement(iA.Text,{fontSize:2},"query"));return Ei.createElement(K.Tab,v({style:{flex:1}},n),r?i:Ei.createElement(_e,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i))};Tk.defaultProps={isTabsTab:!0};var VPe=o=>{let{api:e,data:t,moduleInfo:r}=Ee(),n=(0,NPe.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),[i,a]=Ei.useState(()=>t.Query.AggregatedScalarExpression==null?"ScalarExpression":e.internalApi.getQueryLanguageService().isCumulativeAggregate(t.Query.AggregatedScalarExpression)?"CumulativeAggregateExpression":"AggregatedScalarExpression"),s=u=>{a(u),u==="ScalarExpression"?o.onChange(R(v({},t),{Query:{ScalarExpression:""}})):o.onChange(R(v({},t),{Query:{AggregatedScalarExpression:""}}))},l=u=>{let c=e.internalApi.getCalculatedColumnExpressionService().getCalculatedColumnDataType(u);o.onChange(R(v({},t),{Query:u,CalculatedColumnSettings:R(v({},t.CalculatedColumnSettings),{DataType:c})}))};return Ei.createElement(K,{onValueChange:s,value:i,p:2,style:{height:"100%",flex:1,overflow:"auto"}},Ei.createElement(Tk,{value:"ScalarExpression",type:i,label:"Scalar"}),Ei.createElement(K.Content,{value:"ScalarExpression"},Ei.createElement(Bs,{type:"scalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.ScalarExpression,onChange:u=>l({ScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),Ei.createElement(Tk,{value:"AggregatedScalarExpression",type:i,label:"Aggregated Scalar"}),Ei.createElement(K.Content,{value:"AggregatedScalarExpression"},Ei.createElement(Bs,{type:"aggregatedScalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),Ei.createElement(Tk,{value:"CumulativeAggregateExpression",type:i,label:"Cumulative"}),Ei.createElement(K.Content,{value:"CumulativeAggregateExpression"},Ei.createElement(Bs,{type:"cumulativeAggregatedScalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})))};d();var Wn=w(require("react")),BPe=require("react"),kC=w(re());var GPe=o=>{var e;return Wn.createElement(kC.Box,{fontSize:2},Wn.createElement(kC.Box,null,"Column Identifier: ",Wn.createElement(Ge,null,o.ColumnId)),o.FriendlyName?Wn.createElement(kC.Box,{mt:3},"Column Name: ",Wn.createElement(Ge,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null)},Q8=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let r=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?r>1:r>0)?"A Column already exists with that id":!0},HPe=o=>{var C;let{data:e,api:t}=Ee(),r=y=>{let b=y.target;o.onChange(R(v({},e),{ColumnId:b.value}))},n=y=>{let b=y.target;o.onChange(R(v({},e),{FriendlyName:b.value}))},i=o.isEdit,a=Q8(e,t),s=a===!0?null:a,[l,u]=(0,BPe.useState)(!1),p=e.FriendlyName,c=e.ColumnId,{ShowToolTip:m,HeaderToolTip:f}=(C=e.CalculatedColumnSettings)!=null?C:{},g=y=>{o.onChange(R(v({},e),{CalculatedColumnSettings:v(v({},e.CalculatedColumnSettings),y)}))};return Wn.createElement(kC.Box,{"data-name":"calculated-column-definition"},Wn.createElement(K,{autoFocus:!1},Wn.createElement(K.Tab,null,"Column Details"),Wn.createElement(K.Content,null,Wn.createElement(kC.Flex,{flexDirection:"row"},Wn.createElement(Ie,null,Wn.createElement(Z,{label:"Column Id"},Wn.createElement(We,{"data-name":"column-id",value:e.ColumnId||"",width:300,autoFocus:!i,disabled:i,type:"text",placeholder:"Enter an Id for the column",onChange:r})),Wn.createElement(Z,{label:"Name"},Wn.createElement(We,{"data-name":"column-name",autoFocus:i,onFocus:()=>{u(!0)},onBlur:()=>{u(!1)},value:l?p||"":p||c||"",width:300,type:"text",placeholder:"Enter column name",onChange:n})),Wn.createElement(Z,{label:"Header Tooltip"},Wn.createElement(We,{"data-name":"header-tooltip",type:"text",width:300,value:f,onChange:y=>g({HeaderToolTip:y.target.value})}))," ",Wn.createElement(Z,{label:""},Wn.createElement(ye,{"data-name":"column-show-tooltip",onChange:y=>g({ShowToolTip:y}),checked:m},"Show Expression as Cell Tooltip")))))),s?Wn.createElement(is,{marginTop:2},s):null)};d();var Sa=w(require("react")),XPe=require("react"),IT=w(re());d();var qPe=w(YPe()),pr=w(require("react")),$Pe=w(re());var Pk=o=>{var f,g;let e=ne(),t=e.api.optionsApi.getColumnOptions().columnTypes,{Filterable:r,Resizable:n,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l,SuppressMenu:u,SuppressMovable:p}=(f=o.settings)!=null?f:{},c=(C,y)=>{var S,A,x;let b=(A=(S=o.settings)==null?void 0:S.ColumnTypes)!=null?A:[];y?o.onChange(R(v({},o.settings),{ColumnTypes:[...b,C]})):o.onChange(R(v({},o.settings),{ColumnTypes:(x=b==null?void 0:b.filter)==null?void 0:x.call(b,E=>E!==C)}))},m=C=>{o.onChange(v(v({},o.settings),C))};return pr.createElement(pr.Fragment,null,pr.createElement(K,{marginTop:2,autoFocus:!1},pr.createElement(K.Tab,null,"Column Properties"),pr.createElement(K.Content,null,pr.createElement($Pe.Flex,{flexDirection:"column"},pr.createElement(Ie,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},pr.createElement(Z,null,pr.createElement(ye,{"data-name":"filterable",checked:r,onChange:C=>m({Filterable:C}),disabled:!e.api.optionsApi.getFilterOptions().enableFilterOnSpecialColumns},"Filterable"),pr.createElement(ye,{"data-name":"resizable",checked:n,onChange:C=>m({Resizable:C})},"Resizable"),pr.createElement(ye,{"data-name":"groupable",checked:i,onChange:C=>m({Groupable:C})},"Groupable")),pr.createElement(Z,null,pr.createElement(ye,{"data-name":"sortable",checked:a,onChange:C=>m({Sortable:C})},"Sortable"),pr.createElement(ye,{"data-name":"pivotable",checked:s,onChange:C=>m({Pivotable:C})},"Pivotable"),pr.createElement(ye,{"data-name":"aggregatable",checked:l,onChange:C=>m({Aggregatable:C})},"Aggregatable")),pr.createElement(Z,null,pr.createElement(ye,{"data-name":"suppres-smenu",checked:u,onChange:C=>m({SuppressMenu:C})},"Suppress Menu"),pr.createElement(ye,{"data-name":"suppres-movable",checked:p,onChange:C=>m({SuppressMovable:C})},"Suppress Movable"),pr.createElement(ye,{disabled:!0,checked:o.isEditable},"Editable")))))),Boolean(t==null?void 0:t.length)&&pr.createElement(K,{marginTop:2,autoFocus:!1},pr.createElement(K.Tab,null,"Column Types"),pr.createElement(K.Content,null,pr.createElement(Ie,{columns:[{name:"first",size:"30%"},{name:"second"}]},(g=(0,qPe.default)(t!=null?t:[],2))==null?void 0:g.map(([C,y])=>{var b,S,A,x,E,T;return pr.createElement(Z,{key:C},C&&pr.createElement(ye,{"data-name":C,onChange:I=>c(C,I),checked:(A=(S=(b=o.settings)==null?void 0:b.ColumnTypes)==null?void 0:S.includes)==null?void 0:A.call(S,C)},C),y&&pr.createElement(ye,{"data-name":y,onChange:I=>c(y,I),checked:(T=(E=(x=o.settings)==null?void 0:x.ColumnTypes)==null?void 0:E.includes)==null?void 0:T.call(E,y)},y))})))))};d();var Ik=o=>{let{DataType:e,Width:t,Filterable:r,Resizable:n,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l}=o!=null?o:{},u=o!=null&&o.ColumnTypes?o.ColumnTypes.join(", "):"";return[e?`DataType: ${e}`:null,t?`Width: ${t}px`:null,s?"Pivotable":null,r?"Filterable":null,n?"Resizable":null,i?"Groupable":null,a?"Sortable":null,l?"Aggregatable":null,u?`Column Types: ${u}`:null].filter(Boolean)};var ZPe=o=>{let e=Ik(o.CalculatedColumnSettings);return Sa.createElement(IT.Box,{fontSize:2},Sa.createElement(Ai,{toLabel:t=>t,toIdentifier:t=>t,readOnly:!0,options:e,value:e}))},Y8=o=>{var e;return(e=o.CalculatedColumnSettings)!=null&&e.DataType?!0:"No data type is specified and it could not be inferred from the defined expression"},JPe=o=>{var c,m;let{data:e,api:t}=Ee(),r=(0,XPe.useMemo)(()=>t.internalApi.getCalculatedColumnExpressionService(),[]),n=f=>{var C;let g=f=="Number"?(C=e.CalculatedColumnSettings)==null?void 0:C.Aggregatable:!1;o.onChange(R(v({},e),{CalculatedColumnSettings:R(v({},e.CalculatedColumnSettings),{DataType:f,Aggregatable:g})}))},i=Y8(e),a=i===!0?null:i,s=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],{DataType:l}=(c=e.CalculatedColumnSettings)!=null?c:{},{Width:u}=(m=e.CalculatedColumnSettings)!=null?m:{},p=f=>{o.onChange(R(v({},e),{CalculatedColumnSettings:v(v({},e.CalculatedColumnSettings),f)}))};return Sa.useEffect(()=>{if(!l){let f=r.getCalculatedColumnDataType(e.Query);p(R(v({},e==null?void 0:e.CalculatedColumnSettings),{DataType:f}))}},[]),Sa.createElement(IT.Box,{"data-name":"calculated-column-settings"},Sa.createElement(K,{autoFocus:!1},Sa.createElement(K.Tab,null,"Column Settings"),Sa.createElement(K.Content,null,Sa.createElement(IT.Flex,{flexDirection:"row"},Sa.createElement(Ie,null,Sa.createElement(Z,{label:"Data Type"},Sa.createElement(Fe,{"data-name":"column-type",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>n(null),columns:["label"],items:s.map(f=>({value:f.value,label:f.label,onClick:()=>n(f.value)}))},l||"Select Data Type")),Sa.createElement(Z,{label:"Width"},Sa.createElement(We,{"data-name":"column-width",type:"number",width:300,value:u||"",onChange:f=>p({Width:Number(f.target.value)})})))))),a?Sa.createElement(is,{marginTop:2},a):null,Sa.createElement(Pk,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:p}))};var Dk=o=>{var l;let e=ne(),t=Dt(u=>u.CalculatedColumn.CalculatedColumns),[r,n]=(0,eIe.useState)(()=>{var u;if(o.data)return Zt(o.data);if((u=o.popupParams)!=null&&u.column){let p=t.find(c=>c.ColumnId===o.popupParams.column.columnId);if(p)return p}return Ke.CreateEmptyCalculatedColumn()}),i=at(),a=Boolean(o.data)||((l=o.popupParams)==null?void 0:l.action)==="Edit",s=()=>{i(a?Rm(r):Kv(r)),o.onCloseWizard()};return bd.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Definition",details:"Specify Column details",isValid:Q8,renderSummary:GPe,render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(HPe,{isEdit:a,onChange:n}))},{title:"Expression",details:"Specify the Calculated Column Expression",isValid:kPe,renderSummary:LPe,render:()=>bd.createElement(VPe,{onChange:n})},{title:"Settings",details:"Specify Column properties",isValid:Y8,renderSummary:ZPe,render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(JPe,{isEdit:a,onChange:n}))},{details:"Select Calculated Column Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(Fr,{onChange:n})),renderSummary:_r},"-",{render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(Or,null)),title:"Summary"}]})};var q8=class extends aA.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.onEdit(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t;return this.props.CalculatedColumns.map((r,n)=>{r.ColumnId==this.props.summarisedColumn.columnId&&(t=aA.createElement(Su,{key:"UF"+n,item1:this.props.moduleInfo.FriendlyName,item2:this.props.api.internalApi.getAdaptableQueryExpressionText(r.Query),configEnity:r,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(r),onShare:i=>this.props.onShare(r,i),onDelete:Qv(r),showBold:!0,accessLevel:this.props.accessLevel}))}),aA.createElement("div",null,t,this.state.editedAdaptableObject&&aA.createElement(Dk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(t){this.setState({editedAdaptableObject:Jt.cloneObject(t),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}};function jSt(o){return{CalculatedColumns:o.CalculatedColumn.CalculatedColumns}}function KSt(o){return{onEdit:e=>o(Rm(e))}}var tIe=ot(jSt,KSt)(q8);d();var VC=w(require("react"));var BC=class extends VC.Component{render(){var s;let e=qe.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),t=this.props.SelectedColumnIds.filter(l=>je.IsNotNullOrEmpty(l)),r=je.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",n=this.props.SelectedColumnIds.filter(l=>je.IsNotNullOrEmpty(l)).length==0,i=e.map(l=>({label:l.friendlyName,value:l.columnId,disabled:this.props.disabled,onClick:()=>{let u=e.filter(p=>p.columnId===l.columnId);u.length?this.onColumnChange(u,n):this.onClearButton()}})),a=t.length>0?(s=this.props.ColumnList.find(l=>l.columnId==t[0]))==null?void 0:s.friendlyName:"Select a column";return VC.createElement("div",{"data-name":"column-selector"},VC.createElement(Ie,{columns:[{name:"columnSelector",style:{display:"flex"}}],style:this.props.style},VC.createElement(Z,null,VC.createElement(Fe,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:this.props.disabled||i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,t){e.length==0&&t||this.props.onColumnChange(e)}};d();var GC=w(require("react"));d();var Wf=w(require("react")),aIe=require("react"),Ok=w(re());d();var Do=w(require("react")),rIe=require("react"),Uf=w(re());var QSt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],nIe=o=>{var e;return Do.createElement(Uf.Box,{fontSize:2},Do.createElement(Uf.Box,null,"Column Identifier: ",Do.createElement(Ge,null,o.ColumnId)),o.FriendlyName?Do.createElement(Uf.Box,{mt:3},"Column Name: ",Do.createElement(Ge,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null,Do.createElement(Uf.Box,{mt:3},"Data Type: ",Do.createElement(Ge,null,o.FreeTextColumnSettings.DataType)),o.DefaultValue!==void 0?Do.createElement(Uf.Box,{mt:3},"Default Value: ",Do.createElement(Ge,null,o.DefaultValue)):null,o.TextEditor!==void 0?Do.createElement(Uf.Box,{mt:3},"Editor Type: ",Do.createElement(Ge,null,o.TextEditor)):null)},$8=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let r=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?r>1:r>0)?"A Column already exists with that id":o.FreeTextColumnSettings.DataType?!0:"No data type specified for column"},iIe=o=>{var C;let{data:e,api:t}=Ee(),r=t.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat,[n,i]=(0,rIe.useState)(!1),a=o.isEdit,s=$8(e,t),l=s===!0?null:s,u=y=>{let S=y.target.value;o.onChange(R(v({},e),{ColumnId:S}))},p=y=>{let S=y.target.value;o.onChange(R(v({},e),{FriendlyName:S}))},c=y=>{var S;let b=R(v({},e),{FreeTextColumnSettings:R(v({},e.FreeTextColumnSettings),{DataType:y})});delete b.DefaultValue,y||(S=b.FreeTextColumnSettings)==null||delete S.DataType,o.onChange(b)},m=y=>{let S=y.target.value;o.onChange(R(v({},e),{TextEditor:S}))},f=y=>{let S=y.target.value;e.FreeTextColumnSettings.DataType==="Date"&&(S=Bi(S,{Pattern:r})),o.onChange(R(v({},e),{DefaultValue:S}))},g=y=>{o.onChange(R(v({},e),{FreeTextColumnSettings:v(v({},e==null?void 0:e.FreeTextColumnSettings),y)}))};return Do.createElement(Do.Fragment,null,Do.createElement(Ie,null,Do.createElement(Z,{label:"ColumnId"},Do.createElement(We,{"data-name":"column-id",autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:y=>u(y)})),Do.createElement(Z,{label:"Column Name"},Do.createElement(We,{"data-name":"column-name",autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:n?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:y=>p(y)})),Do.createElement(Z,{label:"Type"},Do.createElement(Fe,{"data-name":"column-type-dropdown",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.FreeTextColumnSettings.DataType,onClear:()=>c(null),columns:["label"],items:QSt.map(y=>({value:y.value,label:y.label,onClick:()=>c(y.value)}))},e.FreeTextColumnSettings.DataType?e.FreeTextColumnSettings.DataType:"Select Data Type")),Do.createElement(Z,{label:"Default Value"},e.FreeTextColumnSettings.DataType==="Boolean"?Do.createElement(ye,{"data-name":"column-default-value-checkbox",checked:!!e.DefaultValue,onChange:y=>{o.onChange(R(v({},e),{DefaultValue:y}))}}):Do.createElement(Vt,{"data-name":"column-default-value",value:e.FreeTextColumnSettings.DataType==="Date"&&e.DefaultValue?cO(e.DefaultValue,r)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.FreeTextColumnSettings.DataType==="Number"?"number":e.FreeTextColumnSettings.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:y=>f(y)})),Do.createElement(Z,{label:"Header Tooltip"},Do.createElement(We,{"data-name":"header-tooltip",type:"text",style:{width:"100%",maxWidth:500},value:((C=e.FreeTextColumnSettings)==null?void 0:C.HeaderToolTip)||"",onChange:y=>g({HeaderToolTip:y.target.value})}))," ",e.FreeTextColumnSettings.DataType=="String"&&Do.createElement(Z,{label:"Editor Type"},Do.createElement(_e,{"data-name":"inline-editor",value:"Inline",checked:e.TextEditor=="Inline",onChange:(y,b)=>m(b),marginRight:2},"Inline Editor"),Do.createElement(_e,{"data-name":"large-editor",value:"Large",checked:e.TextEditor=="Large",onChange:(y,b)=>m(b)},"Large Editor"))),l?Do.createElement(is,{mt:2,mb:2},l):null,Do.createElement(Uf.Box,{mt:2},Do.createElement(Pk,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:g})))};var Fk=o=>{var s;let e=Dt(l=>l.FreeTextColumn.FreeTextColumns),[t,r]=(0,aIe.useState)(()=>{var l,u;return o.data?Zt(o.data):((l=o.popupParams)==null?void 0:l.action)==="Edit"&&((u=o.popupParams)==null?void 0:u.column)?e.find(p=>p.ColumnId===o.popupParams.column.columnId):Ke.CreateEmptyFreeTextColumn()}),n=at(),i=o.data||((s=o.popupParams)==null?void 0:s.action)==="Edit",a=()=>{n(i?Cc(t):Fm(t)),o.onFinishWizard(t)};return Wf.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:$8,render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(iIe,{isEdit:Boolean(o.data),onChange:r}))},{details:"Select Free Text Column Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{details:"Review the Free Text Column",renderSummary:nIe,render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(Or,null)),title:"Summary"}]})};var X8=class extends GC.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FreeTextColumns.find(r=>r.ColumnId==t.ColumnId)?this.props.onEditFreeTextColumn(t):this.props.onAddFreeTextColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t=this.props.FreeTextColumns.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),r=t==null,n;if(!r){let i=qe.IsNotEmpty(t.FreeTextStoredValues)?" Stored values: "+t.FreeTextStoredValues.length:"No stored values";n=GC.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:GC.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:i,configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:a=>this.props.onShare(t,a),onDelete:pS(t),showBold:!0,accessLevel:this.props.accessLevel})}return GC.createElement("div",null,n,this.state.editedAdaptableObject&&GC.createElement(Fk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyFreeTextColumn();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let r=Jt.cloneObject(t);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return je.IsNotNullOrEmpty(t.ColumnId)}};function YSt(o,e){return{FreeTextColumns:o.FreeTextColumn.FreeTextColumns}}function qSt(o){return{onAddFreeTextColumn:e=>o(Fm(e)),onEditFreeTextColumn:e=>o(Cc(e)),onShare:(e,t)=>o(au(e,ci,t))}}var sIe=ot(YSt,qSt)(X8);var _k=class extends jr.Component{constructor(e){super(e),this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],t=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,r=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}].map(s=>({Key:s.Key,Value:s.Value===!0?"Yes":s.Value})).filter(s=>s.Value),n={Key:{field:"Key",header:"Property",defaultFlex:1},Value:{field:"Value",header:"Value",defaultFlex:3}},i=this.props.api.internalApi.getModuleService(),a=[];return this.state.SelectedColumn&&(this.isModuleAvailable(Gi)&&a.push(jr.createElement("div",{key:Gi,className:this.isModuleReadOnly(Gi)?kn:""},jr.createElement($Te,{key:Gi,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Gi),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Gi)}))),this.isModuleAvailable(Rn)&&a.push(jr.createElement("div",{key:Rn,className:this.isModuleReadOnly(Rn)?kn:""},jr.createElement(XTe,{key:Rn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Rn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Rn)}))),this.isModuleAvailable(Gn)&&a.push(jr.createElement("div",{key:Gn,className:this.isModuleReadOnly(Gn)?kn:""},jr.createElement(MPe,{key:Gn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Gn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Gn)}))),this.isModuleAvailable(ci)&&a.push(jr.createElement("div",{key:ci,className:this.isModuleReadOnly(ci)?kn:""},jr.createElement(sIe,{key:ci,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(ci),api:this.props.api,moduleInfo:i.getModuleInfoByModule(ci)}))),this.isModuleAvailable(sn)&&this.state.SelectedColumn.dataType=="Number"&&a.push(jr.createElement("div",{key:sn,className:this.isModuleReadOnly(sn)?kn:""},jr.createElement(pPe,{key:sn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(sn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(sn)}))),this.isModuleAvailable(an)&&qe.ContainsItem(this.props.api.calculatedColumnApi.getCalculatedColumns().map(s=>s.ColumnId),this.state.SelectedColumn.columnId)&&a.push(jr.createElement("div",{key:an,className:this.isModuleReadOnly(an)?kn:""},jr.createElement(tIe,{key:an,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(an),api:this.props.api,moduleInfo:i.getModuleInfoByModule(an)})))),jr.createElement(Io,{flex:1,header:"Column Info",margin:2,"data-name":"column-component"},jr.createElement(HC.Flex,{height:"100%",flexDirection:"column"},jr.createElement(HC.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},jr.createElement(HC.Box,{flex:1,marginLeft:2},jr.createElement(BC,{SelectedColumnIds:[t],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:s=>this.onColumnSelectedChanged(s),SelectionMode:"Single"}))),jr.createElement(HC.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&jr.createElement(Pf,{style:{width:"100%"},colItems:e,items:a})),jr.createElement(HC.Box,{flex:1,mt:2},this.state.SelectedColumn&&jr.createElement(Wi,{data:r,primaryKey:"Key"},jr.createElement(Hn,{domProps:{style:{height:"100%"}},columns:n})))))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};d();var js=w(require("react")),uA=require("react");d();var zs=w(require("react"));var UC=w(re());var zf=class extends zs.Component{render(){let{buttonContent:e}=this.props,t=Wm[this.props.glyphicon],r=zs.createElement(UC.Flex,{alignItems:"center",width:"100%"},zs.createElement(UC.Flex,{alignItems:"center"},this.props.glyphicon!=null&&(t?zs.createElement(t,null):null),zs.createElement(UC.Box,{marginRight:2,"data-name":"space-before"}),this.props.headerText,zs.createElement(UC.Box,{marginRight:2,"data-name":"space-after"}),this.props.infoLink!=null&&!this.props.infoLinkDisabled&&zs.createElement(Ms,{onClick:()=>window.open(this.props.infoLink,"_blank")})),zs.createElement(UC.Box,{style:{flex:1}}),e?zs.createElement(X,{variant:"raised",tone:"accent",disabled:this.props.buttonDisabled,onClick:()=>this.props.buttonClick?this.props.buttonClick():null},e):null,this.props.button?zs.cloneElement(this.props.button):null);return zs.createElement(Io,{flex:1,className:this.props.className,bodyScroll:this.props.bodyScroll!=null?this.props.bodyScroll:!0,bodyProps:this.props.bodyProps,variant:this.props.variant||"primary",header:r,headerProps:this.props.headerProps,style:this.props.style,borderRadius:this.props.borderRadius||"none",border:this.props.border||"none"},this.props.children)}};d();var Mk=w(require("react"));var sA=class extends Mk.Component{render(){return Mk.createElement(X,R(v({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};d();var Nk=w(require("react"));var lA=class extends Nk.Component{render(){return Nk.createElement(X,v({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var lIe=w(re()),uIe=o=>{let{api:e}=o,t=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],r=m=>{if(m==null||m==null)return"None";switch(typeof m){case"string":case"number":case"bigint":return m;case"boolean":return m?"True":"False";case"function":return"Function";case"object":if(Array.isArray(m))return`[${m.map(g=>r(g)).join(", ")}]`;if(m instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},n=m=>{let f=t();f[0].Content=m.name;let g=r(m.value),C=m.value!==m.defaultValue;f[1].Content=C?js.createElement(js.Fragment,null,js.createElement("span",{style:{fontWeight:"bold"}},g),js.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",r(m.defaultValue),")")):g;let y=js.createElement(Ho,{headerText:null,bodyText:[m.description]});return f[2].Content=y,f},i=(m,f)=>{let g=f.items.map(C=>{let y=n(C);return js.createElement(xi,{key:`${C.name}`,colItems:y})});return js.createElement(Pf,{colItems:t(),items:g})},[a,s]=(0,uA.useState)(),[l,u]=(0,uA.useState)();(0,uA.useEffect)(()=>{let m=e.internalApi.getMetamodelService().getGridInfoOptions(),f=new Map;m.forEach((g,C)=>{f.set(C,i(C,g))}),u(f),s(m)},[]);let[p,c]=(0,uA.useState)("");return js.createElement(lIe.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([m,f])=>js.createElement($St,{key:m,name:m,label:f.containerLabel,viewMode:m===p?"expanded":"collapsed",onViewModeChange:g=>c(g==="expanded"?m:"")},l.get(m))))},$St=o=>{let{viewMode:e,name:t,label:r,onViewModeChange:n,children:i}=o,a=()=>{n(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?js.createElement(sA,{onClick:()=>a(),tooltip:`Hide ${r}`}):js.createElement(lA,{onClick:()=>a(),tooltip:`Show ${r}`});return js.createElement(zf,{className:`ab-OptionsContainer options-container-${t}`,variant:"default",headerText:r,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${t}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};d();var _T=w(require("react"));var eY=w(re());d();d();var go=w(require("react"));var Ad=w(re());var Lk=26,dIe="ab-Adaptable-Object-List",Z8=`${dIe}__Item`,J8=o=>{var i,a,s;let e=Z8,t=at(),r={disabled:o.deleteDisabled,tooltip:o.deleteTooltip,iconSize:Lk,ConfirmationMsg:`Are you sure you want to delete this ${o.entityType}?`,ConfirmationTitle:`Delete ${o.entityType}`,ConfirmAction:o.deleteAction,accessLevel:o.accessLevel};o.disableDeleteConfirmation&&(r.ConfirmAction=null,r.onClickAction=()=>{t(o.deleteAction)});let n=go.createElement(Ep,v({},r));return go.createElement(Ad.Flex,{"data-name":"adaptable-object-list-item","data-value":o.abObject.Uuid,as:"li",mb:3,className:Me(o.className,e),style:o.style},go.createElement(Ad.Box,{flex:1,className:`${e}__rows`},(s=(a=(i=o.items).filter)==null?void 0:a.call(i,Boolean))==null?void 0:s.map((l,u)=>{var c;let p=l.label;return typeof l.label=="function"&&(p=go.createElement(l.label,{data:o.abObject})),p=p!=null?p:l.name,go.createElement(Ad.Flex,{"data-name":l.name,key:`${u}-${l.name}`,mb:2,className:`${e}__row`},go.createElement(Ad.Box,{className:`${e}__label`,mr:3},p,o.showEditButton&&go.createElement(X,{"data-name":`${l.name}-edit-button`,accessLevel:o.accessLevel,className:`${e}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{o.handleOnEdit(l.name)}})),go.createElement(Ad.Box,{flex:1,className:`${e}__values`},typeof l.view=="function"?go.createElement(l.view,{data:o.abObject,module:o.module}):l.view,Boolean((l==null?void 0:l.values)&&((c=l==null?void 0:l.values)==null?void 0:c.length))&&go.createElement(Ai,{style:{marginRight:0},readOnly:!0,options:l.values,value:l.values,allowWrap:!0,toIdentifier:m=>m,toLabel:m=>go.createElement(go.Fragment,null,m)}),typeof l.viewAfter=="function"?go.createElement(l.viewAfter,{data:o.abObject,module:o.module}):l.viewAfter))})),o.showActions&&go.createElement(Ad.Flex,{flexDirection:"column",className:`${e}__buttons`},go.createElement(Ad.Flex,{justifyContent:"end"},o.actions,o.teamSharingActivated&&go.createElement(Zb,{iconSize:Lk,Header:`TeamSharing ${o.entityType}`,accessLevel:o.accessLevel,onShare:o.onShare}),o.onDelete&&go.createElement(X,{"data-name":"delete",disabled:o.deleteDisabled,iconSize:Lk,tooltip:o.deleteTooltip,icon:"trash",onClick:o.onDelete,variant:"text"}),o.deleteAction&&n,o.showEditButton&&go.createElement(wp,{iconSize:Lk,disabled:o.editDisabled,accessLevel:o.accessLevel,onClick:()=>o.handleOnEdit()})),go.createElement(Ad.Box,{flex:1}),o.suspendedEnabled&&go.createElement(Ad.Flex,{justifyContent:"end"},go.createElement(ck,{onSuspend:o.onSuspend,onUnSuspend:o.onUnSuspend,suspendableObject:o.abObject,accessLevel:o.accessLevel}))))},OT=o=>{var O,M,B,_,L,U,V,j;let e=ne(),t=at(),[r,n]=go.useState(!1),[i,a]=go.useState(null),s=(B=(M=(O=o.module)==null?void 0:O.getViewProperties)==null?void 0:M.call(O))!=null?B:{},l=(_=s.getEditWizard)==null?void 0:_.call(s,o.data.abObject),u=(L=s==null?void 0:s.getDeleteAction)==null?void 0:L.call(s,o.data.abObject),c=o.module.isModuleObjectsShareable()&&e.api.teamSharingApi.isTeamSharingAvailable()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=o.module.moduleInfo.FriendlyName,f=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),g=Et.getAppropriateAccessLevel(o.data.abObject,f),C=Me(o.data.className,Z8,o.data.abObject.IsSuspended&&`${Z8}--is-suspended`),y=go.useCallback(()=>{n(!1),a(null)},[]),b=go.useCallback(z=>{var W;l&&(n(!0),z&&a(z)),(W=s==null?void 0:s.onOpenEditPopup)==null||W.call(s,o.data.abObject)},[]),S=Boolean(s.getSuspendAction),A=(V=(U=s==null?void 0:s.actions)==null?void 0:U.map)==null?void 0:V.call(U,(z,W)=>go.createElement(z,{data:o.data.abObject,key:W,accessLevel:g})),x=!Boolean(l||s.onOpenEditPopup),E=!o.hideControls,T=Boolean(l),I=e.api.optionsApi.getAdaptableOptions(),P=Dt(z=>eae(z.System))||((j=I==null?void 0:I.generalOptions)==null?void 0:j.disableDeleteConfirmation);return go.createElement(go.Fragment,null,go.createElement(J8,{module:o.module,disableDeleteConfirmation:P,abObject:o.data.abObject,accessLevel:g,actions:A,className:C,handleOnEdit:b,items:o.data.items,showActions:E,showEditButton:T,style:o.data.style,teamSharingActivated:c,onShare:z=>e.api.teamSharingApi.shareEntity(o.data.abObject,o.module.moduleInfo.ModuleName,z),entityType:m,deleteAction:u,deleteDisabled:o.deleteDisabled,deleteTooltip:o.deleteTooltip,editDisabled:x,suspendedEnabled:S,onSuspend:()=>t(s.getSuspendAction(o.data.abObject)),onUnSuspend:()=>t(s.getUnSuspendAction(o.data.abObject))}),r&&l&&go.createElement(l,{defaultCurrentSectionName:i,moduleInfo:o.module.moduleInfo,data:o.data.abObject,configEntities:null,onCloseWizard:y,onFinishWizard:y}))},FT=o=>{var e;return go.createElement("ul",{className:dIe},(e=o==null?void 0:o.items)==null?void 0:e.map(t=>go.createElement(OT,v({key:t.abObject.Uuid,data:t,module:o.module},o.itemProps))))};var pIe=()=>{let o=Dt(n=>n),t=ne().ModuleService.getModuleCollection(),r="ab-AdaptableObjectsSummary";return _T.createElement(eY.Box,{className:r},[...t].map(([n,i])=>{var s;if(!i.isModuleAvailable())return null;let a=(s=i==null?void 0:i.toViewAll)==null?void 0:s.call(i);return a!=null&&a.length?_T.createElement(eY.Box,{"data-name":i.moduleInfo.ModuleName,className:`${r}__module-list`,key:i.moduleInfo.ModuleName},_T.createElement("b",{className:`${r}__header`},i.moduleInfo.FriendlyName),(a==null?void 0:a.length)&&_T.createElement(FT,{items:a,module:i})):null}))};var cIe=o=>{var y,b,S;let e=o.api.internalApi.getEntitlementService(),t=e.isGridInfoSectionVisible("GridSummary"),r=e.isGridInfoSectionVisible("AdaptableOptions"),n=e.isGridInfoSectionVisible("ColumnInfo"),i=e.isGridInfoSectionVisible("AdaptableObjects"),[a,s]=Ti.useState({ActiveTab:(y=o.popupParams)!=null&&y.column?"ColumnInfo":t?"GridSummary":r?"AdaptableOptions":"ColumnInfo",CurrentColumn:(S=(b=o.popupParams)==null?void 0:b.column)!=null?S:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0,IsGeneralOptionsMinimised:!0}),l=A=>{s(x=>v(v({},x),A))},u=A=>{var M;let x=[],E=o.api.calculatedColumnApi.getCalculatedColumns().map(B=>B.ColumnId),T=o.api.actionApi.getActionColumns().map(B=>B.columnId),I=o.api.freeTextColumnApi.getFreeTextColumns().map(B=>B.ColumnId),D=o.api.filterApi.internalApi.columnFiltersToString(o.api.filterApi.getColumnFilters()),P=De.IsNotNullOrEmpty(o.api.gridApi.getColumnSorts())?o.api.gridApi.getColumnSorts().map(B=>o.api.columnApi.getFriendlyNameForColumnId(B.ColumnId)+": "+B.SortOrder):null,O=o.api.gridApi.getSelectedRowInfo();return(M=o.api.optionsApi.getUserInterfaceOptions())!=null&&M.showAdapTableVersion&&x.push(p(A,"AdapTable Version",mTe)),x.push(p(A,"Sorted Columns",De.IsNotNullOrEmpty(P)?P.join("; "):"None")),x.push(p(A,"Column Filters",D)),x.push(p(A,"All Rows",o.api.gridApi.getRowCount())),x.push(p(A,"Visible Rows",o.api.gridApi.getVisibleRowCount())),x.push(p(A,"Selected Rows",O==null?void 0:O.gridRows.length)),x.push(p(A,"Visible Selected Rows",O==null?void 0:O.gridRows.filter(B=>{var _;return((_=B.rowNode)==null?void 0:_.displayed)==!0}).length)),x.push(p(A,"All Columns",o.api.gridApi.getColumnCount())),x.push(p(A,"Visible Columns",o.api.gridApi.getVisibleColumnCount())),x.push(p(A,"Calculated Columns",De.IsNotNullOrEmpty(E)?E:"None")),x.push(p(A,"Free Text Columns",De.IsNotNullOrEmpty(I)?I:"None")),x.push(p(A,"Action Columns",De.IsNotNullOrEmpty(T)?T:"None")),x},p=(A,x,E,T)=>{let I=tr.cloneObject(A);if(I[0].Content=x,I[1].Content=E,T){let D=Ti.createElement(Ho,{headerText:null,bodyText:[T]});I[2].Content=D}return I},c=A=>{l({ActiveTab:A})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],f=u(m).map((A,x)=>Ti.createElement(xi,{key:x,colItems:A})),g=[t,r,n,i].filter(A=>A).length>1,C="ab-GridInfo";return Ti.createElement(ni,{className:C,headerText:"Grid Info",glyphicon:"info"},Ti.createElement(tY.Flex,{flexDirection:"column",flex:1,height:"100%"},Ti.createElement(tY.Flex,{className:`${C}__header`,marginBottom:2,padding:3},g&&Ti.createElement(Ti.Fragment,null,t&&Ti.createElement(_e,{className:`${C}__option-radio`,"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:a.ActiveTab=="GridSummary",onChange:(A,x)=>c("GridSummary")},"Summary"),r&&Ti.createElement(_e,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:a.ActiveTab=="AdaptableOptions",onChange:(A,x)=>c("AdaptableOptions")},"Options"),n&&Ti.createElement(_e,{"data-name":"radioButton-Column",marginRight:3,value:"Column",checked:a.ActiveTab=="ColumnInfo",onChange:(A,x)=>c("ColumnInfo")},"Columns"),i&&Ti.createElement(_e,{"data-name":"radioButton-Column",value:"Column",checked:a.ActiveTab=="AdaptableObjects",onChange:(A,x)=>c("AdaptableObjects")},"Objects"))),a.ActiveTab=="GridSummary"&&Ti.createElement(Pf,{margin:2,colItems:m,items:f}),a.ActiveTab=="AdaptableOptions"&&Ti.createElement(uIe,{api:o.api}),a.ActiveTab=="ColumnInfo"&&Ti.createElement(_k,{api:o.api,teamSharingActivated:o.teamSharingActivated,column:a.CurrentColumn}),a.ActiveTab==="AdaptableObjects"&&Ti.createElement(pIe,null)))};d();var Wa=w(require("react"));var MT=w(re());d();var Vk=w(require("react"));d();var xd=w(require("react"));d();var mIe=w(require("react")),WC=mIe.createContext({availableItems:[],permittedActions:{createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0}});d();var In=w(require("react"));var kk=w(re());function fIe({tabs:o,onRemoveTab:e,onRemoveToolbar:t,onChangeTabName:r,disabled:n}){return In.createElement(wf,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},i=>In.createElement("div",R(v({},i.droppableProps),{className:"ab-ModuleSelector__TabList",ref:i.innerRef,style:{display:"flex"},"data-name":"dashboard-tabs"}),o.map((a,s)=>In.createElement(XSt,{disabled:n,key:s,tabIndex:s,tab:a,onRemove:()=>e(s),onRemoveToolbar:l=>t(s,l),onChangeTabName:l=>r(s,l)})),i.placeholder))}function XSt({tab:o,tabIndex:e,onRemove:t,onRemoveToolbar:r,onChangeTabName:n,disabled:i}){let a=In.useContext(WC),s=i||!a.permittedActions.dragAndDropTab;return In.createElement(PC,{isDragDisabled:s,draggableId:String(e),index:e},l=>In.createElement("div",R(v({className:"ab-ModuleSelector__TabItem","data-name":"dashboard-tab",ref:l.innerRef},l.draggableProps),{style:v({},s?{}:l.draggableProps.style)}),In.createElement("div",{className:"ab-ModuleSelector__TabItem__header"},In.createElement("div",R(v({},i?{}:l.dragHandleProps),{style:a.permittedActions.dragAndDropTab?{}:{display:"none"}}),In.createElement(Lt,{name:"drag"})),a.permittedActions.editTabName?In.createElement("input",{className:"ab-ModuleSelector__TabItem__header-input",type:"text",disabled:i,value:o.Name,onChange:u=>{n(u.target.value)}}):o.Name,a.permittedActions.deleteTab&&In.createElement(X,{disabled:i,icon:"delete",variant:"text",onClick:t})),In.createElement(ZSt,{disabled:i,toolbars:o.Items,droppableId:String(e),onRemove:r})))}function ZSt({toolbars:o,droppableId:e,onRemove:t,disabled:r}){return In.createElement(wf,{droppableId:e,type:"TOOLBAR"},(n,i)=>In.createElement(kk.Box,R(v({className:"ab-ModuleSelector__ToolbarList",ref:n.innerRef},r?{}:n.droppableProps),{"data-name":"dashboard-toolbar-drop-target",backgroundColor:i.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":""}),o.map((a,s)=>In.createElement(JSt,{disabled:r,key:a,toolbar:a,toolbarIndex:s,onRemove:()=>t(s)})),n.placeholder))}function JSt({toolbar:o,toolbarIndex:e,onRemove:t,disabled:r}){let{availableItems:n}=In.useContext(WC),i=n.find(s=>s.Id===o),a=i?i.Title:o;return In.createElement(PC,{isDragDisabled:r,draggableId:o,index:e},(s,l)=>In.createElement(kk.Flex,R(v(v({className:"ab-ModuleSelector__ToolbarItem",alignItems:"center",mb:1,pl:1,backgroundColor:l.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",ref:s.innerRef},s.draggableProps),s.dragHandleProps),{style:s.draggableProps.style}),In.createElement("div",{style:{flex:1}},a),In.createElement(X,{disabled:r,icon:"clear",variant:"text",padding:1,onClick:t})))}d();var Eu=w(require("react"));var oY=w(re());function hIe({items:o,disabled:e,title:t,dragItemText:r}){return Eu.createElement(oY.Box,{pb:1,mb:2,className:"ab-ModuleSelector__UnusedPanel","data-name":"unusedpanel-items"},Eu.createElement(oY.Box,{p:2},Eu.createElement("b",null,t)," (",r,")"),Eu.createElement(ebt,{disabled:e,items:o}))}function ebt({items:o,disabled:e}){return Eu.createElement(wf,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},t=>Eu.createElement("div",R(v({ref:t.innerRef,"data-name":"unusedpanel-items-list"},t.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),o.map((r,n)=>Eu.createElement(tbt,{disabled:e,key:r,unusedItem:r,unusedItemIndex:n})),t.placeholder))}function tbt({unusedItem:o,unusedItemIndex:e,disabled:t}){let{availableItems:r}=Eu.useContext(WC),n=r.find(a=>a.Id===o),i=n?n.Title:o;return Eu.createElement(PC,{isDragDisabled:t,draggableId:o,index:e},(a,s)=>{let l=t?{}:v(v({},a.draggableProps),a.dragHandleProps),u=t?{}:a.draggableProps.style;return Eu.createElement("div",R(v({"data-name":"unused-item",ref:a.innerRef},l),{style:R(v({},u),{border:"1px solid var(--ab-color-primary)",backgroundColor:s.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),i)})}var dA=o=>{let{availableItems:e,tabs:t,onTabsChange:r,tabsTitle:n,disabled:i,unusedPanelTitle:a,dragItemText:s,permittedActions:l}=o,u=xd.useMemo(()=>({permittedActions:v({createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0},l),availableItems:o.availableItems}),[o.availableItems,o.permittedActions]),p=xd.useMemo(()=>e.map(b=>b.Id).filter(b=>!t.some(S=>S.Items.includes(b))),[t,e]),c=b=>{let{source:S,destination:A,draggableId:x}=b;!S||!A||(S.droppableId!=="UNUSED"&&t[Number(S.droppableId)].Items.splice(S.index,1),A.droppableId!=="UNUSED"&&t[Number(A.droppableId)].Items.splice(A.index,0,x),r([...t]))},m=b=>{let{source:S,destination:A}=b;if(!S||!A)return;let[x]=t.splice(S.index,1);t.splice(A.index,0,x),r([...t])},f=b=>{r(t.filter((S,A)=>A!==b))},g=()=>{r([...t,{Name:"New Tab",Items:[]}])},C=(b,S)=>{r(t.map((A,x)=>x!==b?A:R(v({},A),{Items:A.Items.filter((E,T)=>T!==S)})))},y=(b,S)=>{r(t.map((A,x)=>x!==b?A:R(v({},A),{Name:S})))};return xd.createElement(rk,{onDragEnd:b=>{b.type==="TAB"&&m(b),b.type==="TOOLBAR"&&c(b)}},xd.createElement(WC.Provider,{value:u},xd.createElement("div",{className:"ab-ModuleSelector",style:{display:"flex",flexDirection:"column"}},xd.createElement(hIe,{title:a,disabled:i,items:p,dragItemText:s}),xd.createElement(zf,{className:"ab-ModuleSelector-UsedPanel",headerText:n,button:u.permittedActions.createTab&&xd.createElement(X,{disabled:i,onClick:g},"Add Tab")},xd.createElement(fIe,{disabled:i,tabs:t,onRemoveTab:f,onRemoveToolbar:C,onChangeTabName:y})))))};var obt=({tabs:o,onTabsChange:e,availableToolbars:t,api:r,disabled:n})=>{let a=r.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),s=o.map(u=>({Name:u.Name,Items:u.Toolbars})),l=Vk.useCallback(u=>{let p=u.map(c=>({Name:c.Name,Toolbars:c.Items}));e(p)},[]);return Vk.createElement(dA,{availableItems:t,disabled:n,onTabsChange:l,tabs:s,tabsTitle:a.FriendlyName+" Tabs",unusedPanelTitle:"Available Toolbars",dragItemText:"Drag into a Tab below"})},gIe=obt;var rY=class extends Wa.Component{constructor(e){super(e),this.state={DashboardConfigView:"Toolbars"}}render(){let e=wwe,t=this.props.api.internalApi.getModuleService(),r=e.filter(f=>this.props.api.internalApi.getModuleService().isModuleAvailable(f)).map(f=>({Id:f,Title:t.getModuleInfoByModule(f).FriendlyName})),n=this.props.api.dashboardApi.getCustomToolbars().map(f=>({Id:f.name,Title:f.title?f.title:f.name})),i=this.props.DashboardState.Tabs.map(f=>{let g=f.Toolbars.filter(C=>this.props.api.dashboardApi.getCustomToolbars().find(b=>b.name===C)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(C));return R(v({},f),{Toolbars:g})}),a=[];this.props.DashboardState.ModuleButtons.forEach(f=>{let g=this.props.GridState.SettingPanelModuleMenuItems.find(C=>C.module==f);g!=null&&g.isVisible&&a.push(f)});let s=this.props.GridState.SettingPanelModuleMenuItems.map(f=>f.module),l="ab-Dashboard-Popup",u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),p=u=="Full"||u=="ReadOnly",c=u==="ReadOnly",m=f=>f==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Wa.createElement(ni,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Wa.createElement(MT.Flex,{flex:1,height:"100%",flexDirection:"column"},p&&Wa.createElement(Io,{header:"Dashboard Modes",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none"},Wa.createElement(ye,{mr:3,"data-name":"collapse",className:`${l}__settings-option`,checked:this.props.IsCollapsed,onChange:f=>this.props.onSetDashboardCollapsed(f)},"Collapse")," ",this.props.api.optionsApi.getDashboardOptions().canFloat&&Wa.createElement(ye,{mr:3,"data-name":"floating",className:`${l}__settings-option`,checked:this.props.IsFloating,onChange:f=>this.props.onSetDashboardFloating(f)},"Float")," ",Wa.createElement(ye,{"data-name":"hidden",className:`${l}__settings-option`,checked:this.props.IsHidden,onChange:f=>this.props.onSetDashboardHidden(f)},"Hidden")),Wa.createElement(Io,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4},Wa.createElement(MT.Flex,{className:`${l}__contents-selector`,flexDirection:"row",padding:2},Wa.createElement(_e,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(f,g)=>this.onDashboardConfigViewChanged(g)},"Toolbars"),Wa.createElement(_e,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(f,g)=>this.onDashboardConfigViewChanged(g)},"Buttons")),Wa.createElement(MT.Box,{className:`${l}__Module-Selector`,"data-name":this.state.DashboardConfigView==="Toolbars"?"toolbars":"buttons",style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&Wa.createElement(gIe,{disabled:c,availableToolbars:[...r,...n],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&Wa.createElement(hT,{disabled:c,options:s,value:a,noSelectionLabel:"No selected Module Button",isOptionDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:f=>this.props.onDashboardSetModuleButtons(f)})))))}onDashboardConfigViewChanged(e){let r=e.target.value;this.setState({DashboardConfigView:r})}};function rbt(o,e){return{DashboardState:o.Dashboard,GridState:o.Grid,IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function nbt(o){return{onDashboardSetModuleButtons:e=>o(f_(e)),onDashboardSetTabs:e=>o(fce(e)),onSetDashboardCollapsed:e=>o(nu(e)),onSetDashboardHidden:e=>o(op(e)),onSetDashboardFloating:e=>o(iu(e))}}var CIe=ot(rbt,nbt)(rY);d();var ps=w(require("react"));d();var iY=w(require("react"));d();var Ks=w(require("react")),jf=w(re()),Gk=require("react");d();var ibt=(o,e)=>e.type==="DRAG_OVER"?R(v({},o),{dragOver:!0}):e.type==="DRAG_OUT"?R(v({},o),{dragOver:!1}):e.type==="SET_INVALID_FILE"?R(v({},o),{message:e.payload.message}):e.type==="DROP_SUCCES"?R(v({},o),{dragOver:!1,message:e.payload.message}):o,yIe=ibt;var abt={dragOver:!1,message:null},Bk=o=>{o.preventDefault(),o.stopPropagation()},nY=async(o,e)=>{let t=new FileReader;return new Promise((r,n)=>{t.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(r)}catch(a){n("Invalid JSON")}},t.onerror=function(i){n(i)},t.readAsText(o)})},vIe=o=>{let b=o,{onDropSuccess:e,message:t,fileAccept:r=".json",helpText:n="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=Ks.createElement(Lt,{name:"attach-file",size:48})}=b,l=ze(b,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[u,p]=(0,Gk.useReducer)(yIe,abt),c=S=>{p({type:"DRAG_OVER"})},m=S=>{Bk(S),!(g.current!=S.target&&Gg(g.current,S.target))&&p({type:"DRAG_OUT"})},f=async S=>{let A;Bk(S);let x=S.nativeEvent;x&&x.dataTransfer?A=x.dataTransfer.files:A=S.target.files,m(S);let E=A[0];if(E){let T;try{T=await(o.readFile||nY)(E,o.toJSON),p({type:"DROP_SUCCES",payload:{message:Ks.createElement(jf.Box,null,o.loadingText===void 0?"Initializing adaptable...":o.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(T,E)})})}catch(I){p({type:"SET_INVALID_FILE",payload:{message:Ks.createElement(jf.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},g=(0,Gk.useRef)(),C=Ks.createElement("form",{onSubmit:Bk},Ks.createElement(X,{style:{cursor:"pointer"},variant:"outlined"},Ks.createElement("div",null,u.dragOver?a:i),Ks.createElement("input",{type:"file",onChange:f,accept:r,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),y=t||u.message;return Ks.createElement(jf.Flex,R(v({},l),{flexDirection:"column",className:Me(o.className,"ab-FileDroppable",u.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:c,onDragLeave:m,onDrop:f,onDragOver:Bk,ref:g}),o.children,n||s?Ks.createElement(jf.Flex,{flexDirection:"column"},n?Ks.createElement(jf.Flex,{flexDirection:"column",alignItems:"center",margin:2},Ks.createElement(Ot,null,Ks.createElement("b",null,n))):null,s?Ks.createElement(jf.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,y,C)};vIe.defaultProps={};var SIe=vIe;var Hk=o=>{let e=t=>{let r=t.nativeEvent,n;r&&r.dataTransfer?n=r.dataTransfer.files:n=t.target.files;let i=n[0];nY(i).then(a=>{o.onLoad(a)})};return iY.createElement(X,R(v({},o),{className:"ab-StateManagement__Load-Button"}),iY.createElement("input",{type:"file",onChange:t=>e(t),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",o.children)};d();var bIe=w(require("react"));var Uk=o=>bIe.createElement(X,R(v({},o),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),o.children);d();var AIe=w(require("react"));d();var aY=(o,e,t)=>{switch(o){case"Clipboard":let r=JSON.stringify(t);tr.copyToClipboard(r);break;case"Console":console.log("Adaptable State: ",t);break;case"JSON":let n=e+".json",i=JSON.stringify(t);tr.createDownloadedFile(i,n,"application/json");break}};var pA=o=>{let e=r=>{switch(o.type){case"adaptableState":let n=o.api.configApi.getPersistedState();aY(r,"adaptableState",n);break;case"predefinedConfig":let i=o.api.configApi.getPredefinedConfig();aY(r,"predefinedConfig",i);break}},t=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return AIe.createElement(Fe,R(v({className:"ab-StateManagement__Export-Dropdown"},o),{items:t,value:void 0}))};var xIe=o=>{let e="ab-ManageState";return ps.createElement(ni,{className:e,headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},ps.createElement(Io,{className:`${e}__panel`,"data-name":"user-state",header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginRight:2,mb:2},ps.createElement(Ot,{marginBottom:2},"Clear all current user state that has been persisted."),ps.createElement(Ot,null,"This will cause this window to close and any state you have previously created will be lost and the initial Predefined Config will then be reapplied."),ps.createElement(Uk,{"data-name":"clear-user-state-button",tone:"error",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onClick:()=>o.api.configApi.reloadPredefinedConfig()},"Clear User State")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"predefined-config",header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",ps.createElement(Hk,{tone:"info",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onLoad:t=>o.api.configApi.reloadPredefinedConfig(t),"data-name":"load-predefined-config-button"},"Load Predefined Config")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"adaptable-state",header:"Export Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2,marginBottom:2},"Exports the currently persisted Adaptable state.")," ",ps.createElement(pA,{api:o.api,type:"adaptableState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-adaptable-state-dropdown"},"Select Export Destination")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"initial-predefined-config",header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2,marginBottom:2},"Exports the Predefined Config which was provided at design time.")," ",ps.createElement(pA,{api:o.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-initial-predefined-config-dropdown"},"Select Export Destination")))};d();var Kr=w(require("react"));d();var Kf=w(require("react"));var Qf=class extends Kf.Component{constructor(t){super(t);this.loadPermittedValues=async()=>{var n;if(!((n=this.props.selectedColumn)!=null&&n.columnId))return;let t=await tA(this.props.api.gridApi.internalApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let r=qe.sortArray(t,"Asc").map(i=>({label:i,value:i,onClick:()=>this.onSelectedValueChange([{DisplayValue:i}])}));this.setState({distinctColumnValues:r})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(t){(this.props.selectedColumn!==t.selectedColumn||this.props.selectedGridCells!==t.selectedGridCells)&&this.loadPermittedValues()}render(){let t="Select",r=this.props.allowNew!=null?this.props.allowNew:!0,n="ab-column-value-selector",i=Me("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${n}--loading`),a=150,s=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,l=Kf.createElement("div",null,Kf.createElement(Fe,{"data-name":"bulkupdate-value-selector",className:i,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:s,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:t)),u=Kf.createElement(Vt,{"data-name":"bulkupdate-value-input",type:this.props.selectedColumn?Xt.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?Xt.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:a},value:this.props.selectedColumnValue,onChange:p=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:p.target.value}])}});return Kf.createElement(sf,{style:R(v({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?l:u,Kf.createElement(Fe,v({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(t){qe.IsEmpty(t)&&je.IsNullOrEmpty(this.props.selectedColumnValue)||(qe.IsEmpty(t)?this.props.onColumnValueChange(""):t[0].customOption?this.props.onColumnValueChange(t[0].DisplayValue):this.props.onColumnValueChange(t[0].DisplayValue))}};Qf.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var zC=w(re());var sY=class extends Kr.Component{constructor(e){super(e),this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,t=!1,r="";e&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(t=!0,r="This column only accepts numbers");let n=nd.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&je.IsNotNullOrEmpty(n),a=i?Kr.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?Kr.createElement(hp,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?Kr.createElement(Kr.Fragment,null,Kr.createElement(Ot,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),Kr.createElement(zC.Box,null,Kr.createElement(ye,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),Kr.createElement(zC.Flex,{padding:2,flexDirection:"row",alignItems:"center"},Kr.createElement(zC.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?Kr.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):Kr.createElement(Vt,{"data-name":"bulk-update",style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:_o.getDescriptionForDataType(e.dataType),placeholder:_o.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),Kr.createElement(X,{disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):Kr.createElement(Kr.Fragment,null,Kr.createElement(Ot,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),Kr.createElement(zC.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},Kr.createElement(zC.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},Kr.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),Kr.createElement(X,{disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||t,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",t&&Kr.createElement(Ho,{headerText:"Update Error",bodyText:[r],MessageType:"Error"}),je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&Kr.createElement(Ho,{headerText:"Validation Error",bodyText:[n],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let t=e.target;this.props.onBulkUpdateValueChange(t.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function sbt(o,e){var t;return{BulkUpdateValue:o.System.BulkUpdateValue,PreviewInfo:o.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells}}function lbt(o){return{onBulkUpdateValueChange:e=>o(Pv(e)),onBulkUpdateCheckSelectedCells:()=>o(QD()),onRunBulkUpdate:()=>o(DO(!1))}}var RIe=ot(sbt,lbt)(sY);d();var NT=w(require("react"));d();var Dp=w(require("react"));d();var Wk=w(require("react")),zk=w(re());var wIe="ab-EmptyContent",ubt=n=>{var i=n,{children:o,className:e,style:t}=i,r=ze(i,["children","className","style"]);return typeof o=="string"&&(o=Wk.createElement("p",null,o)),Wk.createElement(zk.Box,{flex:1,className:`${wIe}__wrapper`},Wk.createElement(zk.Flex,R(v({alignItems:"center",justifyContent:"center",flexDirection:"column"},r),{className:Me(wIe,e),style:t}),o))},cA=ubt;var dbt=new Map([["Operation",{field:"Operation",defaultFlex:1}],["Value",{field:"Value",defaultFlex:1}]]),pbt={style:{height:"100%",minWidth:"20rem",minHeight:380}},Yf=class extends Dp.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(t=>({Operation:t,Value:this.props.CellSummary[t]}))),Dp.createElement(Dp.Fragment,null,this.props.CellSummary!=null?Dp.createElement(Wi,{data:e,primaryKey:"Operation"},Dp.createElement(Hn,{domProps:pbt,columns:dbt})):Dp.createElement(cA,null,Dp.createElement("p",null,"No cells are selected - please select some cells.")))}};var lY=class extends NT.Component{componentDidMount(){var e,t,r;((e=this.props.popupParams)==null?void 0:e.source)==="ColumnMenu"&&((t=this.props.popupParams)==null?void 0:t.column)&&(this.props.api.columnApi.selectColumn((r=this.props.popupParams)==null?void 0:r.column.columnId),this.props.api.internalApi.getAdaptableInstance().setSelectedCells()),this.props.onCreateCellSummary()}render(){return NT.createElement(zf,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},NT.createElement(Yf,{CellSummary:this.props.CellSummary}))}};function cbt(o,e){return{CellSummary:o.Grid.CellSummary}}function mbt(o){return{onCreateCellSummary:()=>o(tS())}}var EIe=ot(cbt,mbt)(lY);d();var qf=w(require("react"));var PIe=w(re());d();var jC=w(require("react"));var Kk=w(re());var jk=class extends jC.Component{render(){var n;let e=this.props.adaptableObject,t=Xt.getColorByMessageType((n=e==null?void 0:e.statusType)!=null?n:"Success"),r=Zt(this.props.colItems);return r[0].Content=e?jC.createElement("details",null,jC.createElement(Kk.Flex,{title:e.statusFurtherInformation?"Click to see more":"",className:Me("ab-DashboardToolbar__SystemStatus__text",e.statusFurtherInformation&&"ab-DashboardToolbar__SystemStatus__text--expandable"),backgroundColor:t,alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?jC.createElement(Kk.Box,{className:"ab-DashboardToolbar__SystemStatus__further-information",margin:2},e.statusFurtherInformation):null):null,r[1].Content=e.timestamp.toLocaleString(),jC.createElement(xi,{colItems:r})}};var TIe=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],uY=class extends qf.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=qf.createElement(X,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:De.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),t=De.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((r,n)=>{let i=Et.getAppropriateAccessLevel(r,this.props.accessLevel);return qf.createElement(jk,{adaptableObject:r,key:"smi"+n,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:TIe,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return qf.createElement(ni,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},De.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&qf.createElement(PIe.Box,{className:"ab-SystemStatus-Popup-List",padding:2},qf.createElement(Pf,{colItems:TIe,items:t})))}};function fbt(o,e){return{SystemStatusMessageInfos:o.System.SystemStatusMessages,SystemStatusMessages:o.System.SystemStatusMessages}}function hbt(o){return{onSystemStatusMessageInfoDeleteAll:()=>o(jD())}}var IIe=ot(fbt,hbt)(uY);d();var $f=w(require("react"));var $k=w(re());d();var Qk=o=>{let e=Xt.getMessageTypeFromAdaptableAlerts(o),t=Xt.getColorByMessageType(e),r=Xt.getButtonColourForAdaptableAlerts(o,t);return{color:Xt.getButtonTextColourForArrayandMessageType(o,e),background:r}};d();var DIe=w(require("react"));d();var Mr=w(require("react"));var Tu=w(re());var KC="ab-Adaptable-Object-Compact-List",gbt=20,Cbt=o=>{var f,g,C,y,b,S,A,x;let e=at(),t=ne(),r=o.module.toViewCompact(o.abObject),n=(g=(f=o.module)==null?void 0:f.getViewProperties)==null?void 0:g.call(f),i=(C=n==null?void 0:n.getCompactDeleteAction)==null?void 0:C.call(n,o.abObject),a=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),s=(y=n==null?void 0:n.getCompactSuspendAction)==null?void 0:y.call(n,o.abObject),l=(b=n==null?void 0:n.getCompactUnSuspendAction)==null?void 0:b.call(n,o.abObject),u=o.abObject.IsSuspended,p=Mr.useCallback(E=>{E.stopPropagation(),E.preventDefault(),e(i)},[]),c=Mr.useCallback(E=>{E.stopPropagation(),E.preventDefault(),e(u?l:s)},[o.abObject]),m=r.item.label;return typeof m=="function"&&(m=Mr.createElement(m,{data:o.abObject})),m=m!=null?m:r.item.name,Mr.createElement(Tu.Flex,{className:`${KC}__Item`,alignItems:"center"},m&&Mr.createElement(Tu.Flex,{className:`${KC}__Item__Name`},m),Mr.createElement(Tu.Box,{flex:1},typeof r.item.view=="function"?Mr.createElement(r.item.view,{data:o.abObject}):r.item.view,Boolean(((S=r.item)==null?void 0:S.values)&&((x=(A=r.item)==null?void 0:A.values)==null?void 0:x.length))&&Mr.createElement(Tu.Box,{mb:2,className:`${KC}__Item__Values`},Mr.createElement(Ai,{style:{marginRight:0},readOnly:!0,options:r.item.values,value:r.item.values,allowWrap:!0,toIdentifier:E=>E,toLabel:E=>Mr.createElement(Mr.Fragment,null,E)}))),s&&l&&Mr.createElement(X,{onMouseDown:c,tone:u?"neutral":"success",variant:"text",icon:u?"play":"pause"}),Mr.createElement(Tu.Flex,{ml:1},i&&Mr.createElement(X,{iconSize:gbt,icon:"delete",variant:"text",onMouseDown:p,accessLevel:a})))},Yk=o=>{var p,c,m,f,g;let e=ne(),t=(c=(p=o.module).getViewProperties)==null?void 0:c.call(p),r=(m=t==null?void 0:t.getDeleteAllAction)==null?void 0:m.call(t),n=(f=t==null?void 0:t.getSuspendAllAction)==null?void 0:f.call(t),i=(g=t==null?void 0:t.getUnSuspendAllAction)==null?void 0:g.call(t),a=at(),s=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),l=o.abObjects.some(C=>!C.IsSuspended),u=Mr.useCallback(C=>{C.stopPropagation(),C.preventDefault(),a(l?n:i)},[l]);return Mr.createElement(Tu.Flex,{flexDirection:"column",className:KC},Mr.createElement(Tu.Flex,{className:`${KC}__Header`,fontSize:3},Mr.createElement(Tu.Box,{className:`${KC}__Title`},o.module.moduleInfo.FriendlyName),Mr.createElement(Tu.Box,{flex:1}),n&&i&&Mr.createElement(X,{mr:2,onMouseDown:u,tone:l?"neutral":"success",variant:"raised",icon:l?"pause":"play",accessLevel:s},l?"Suspend All":"Unsuspend All"),r&&Mr.createElement(X,{onMouseDown:()=>a(r),variant:"raised",tone:"neutral",accessLevel:s},"Clear All")),Mr.createElement(Tu.Box,{className:`${KC}__Body`},o.abObjects.map(C=>Mr.createElement(Cbt,{key:C.Uuid,abObject:C,module:o.module}))))};var qk=()=>{let e=ne().ModuleService.getModuleById(xn),t=Dt(r=>r.System.AdaptableAlerts);return DIe.createElement(Yk,{abObjects:t,module:e})};var dY=class extends $f.Component{constructor(e){super(e),this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=Xt.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),{color:t,background:r}=Qk(this.props.AdaptableAlerts),n=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=$f.createElement(qk,null),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return $f.createElement($k.Flex,{alignItems:"stretch",className:`ab-${a}__Alert__wrap`},$f.createElement($k.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${a}__Alert__text`,marginRight:2,padding:2,color:t,backgroundColor:r,fontSize:"var( --ab-font-size-2)",alignItems:"center"},n),this.props.AdaptableAlerts.length>0&&$f.createElement($k.Flex,{alignItems:"center"},$f.createElement(Ho,{className:`ab-${a}__Alert__info`,headerText:"",bodyText:[i],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function ybt(o,e){return{AlertDefinitions:o.Alert.AlertDefinitions,AdaptableAlerts:o.System.AdaptableAlerts}}function vbt(o){return{onDeleteAlert:e=>o(CR(e)),onDeleteAllAlert:e=>o(zD(e))}}var OIe=ot(ybt,vbt)(dY);d();var Op=w(require("react"));var Zk=w(re());d();var Xk=w(require("react"));var mA=class extends Xk.Component{render(){return Xk.createElement(X,v({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var pY=class extends Op.Component{constructor(t){super(t);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),r=this.props.BulkUpdateValidationResult.Column,n=Op.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),i=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,a={color:t,fill:"currentColor"},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Op.createElement(Zk.Flex,{flexDirection:"row",className:Me(i?kn:"",`ab-${s}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Op.createElement(Zk.Flex,null,Op.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${s}__BulkUpdate__select`,disabled:i,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:r,api:this.props.api,onColumnValueChange:l=>this.onColumnValueSelectedChanged(l)})),Op.createElement(Zk.Flex,null,!i&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Op.createElement(mA,{marginLeft:2,className:`ab-${s}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:a,tooltip:"Apply Bulk Update",disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!i&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Op.createElement(Ho,{popoverMinWidth:360,className:`ab-${s}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[n],MessageType:_o.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(t){this.props.onBulkUpdateValueChange(t)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function Sbt(o,e){var t;return{SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells,BulkUpdateValue:o.System.BulkUpdateValue,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,PreviewInfo:o.System.BulkUpdatePreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function bbt(o){return{onBulkUpdateValueChange:e=>o(Pv(e)),onBulkUpdateCheckSelectedCells:()=>o(QD()),onRunBulkUpdate:()=>o(DO(!1))}}var FIe=ot(Sbt,bbt)(pY);d();var Qs=w(require("react"));d();var _Ie=w(require("react"));var MIe=o=>_Ie.createElement(Yf,{CellSummary:o.CellSummary});var fA=w(re());var cY=class extends Qs.Component{constructor(t){super(t)}componentDidMount(){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=Gs.getNames(dR).map((u,p)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),r=this.props.api.cellSummaryApi.getCellSummaryOperationDefinitions(),n=De.IsNullOrEmpty(r)?[]:r.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),i=Qs.createElement(MIe,{CellSummary:this.props.CellSummary}),a=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,s=()=>{if(a)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?Qs.createElement(fA.Flex,{className:`ab-${l}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):Qs.createElement(fA.Flex,{flex:1,marginRight:2,marginLeft:1,justifyContent:"center",className:`ab-${l}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},l=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Qs.createElement(fA.Flex,{flexDirection:"row",className:a?kn:`ab-${l}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Qs.createElement(fA.Flex,{flex:1},Qs.createElement(Fe,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${l}__CellSummary__select`,items:[...t,...n],disabled:a,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),Qs.createElement(fA.Flex,{alignItems:"center"},Qs.createElement(Qs.Fragment,null,s(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&Qs.createElement(Ho,{popoverMaxWidth:360,className:"ab-ToolPanel__CellSummary__info",bodyText:[i],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){return this.props.api.cellSummaryApi.getCellSummaryOperationValue(this.props.CellSummaryOperation)}};function Abt(o,e){return{SelectedCellInfo:o.Grid.SelectedCellInfo,CellSummaryOperation:o.System.CellSummaryOperation,CellSummary:o.Grid.CellSummary}}function xbt(o){return{onCellSummaryOperationChange:e=>o(YD(e)),onCreateCellSummary:()=>o(tS())}}var NIe=ot(Abt,xbt)(cY);d();var Rd=w(require("react"));d();var LIe=w(require("react"));var Jk=()=>{let o=ne(),e=o.ModuleService.getModuleById(Rn),t=o.api.filterApi.getColumnFilters();return LIe.createElement(Yk,{abObjects:t,module:e})};var eV=w(re());var mY=class extends Rd.Component{constructor(e){super(e)}render(){var s,l;let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",t=(s=this.props.api.optionsApi.getFilterOptions())==null?void 0:s.showClearFilterButton,r=(l=this.props.api.optionsApi.getFilterOptions())==null?void 0:l.showSuspendFilterButton,n=this.props.api.filterApi.getActiveColumnFilters().length>0,i=this.props.api.filterApi.getColumnFilters().length>0,a=()=>{n?this.props.api.filterApi.suspendAllColumnFilters():this.props.api.filterApi.unSuspendAllColumnFilters()};return Rd.createElement(eV.Flex,{flexDirection:"row",className:`ab-${e}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Rd.createElement(eV.Flex,null,qe.IsNotNullOrEmpty(this.props.ColumnFilters)&&Rd.createElement(Ho,{popupPadding:0,className:`ab-${e}__Filter__info`,headerText:"",bodyText:[Rd.createElement(Jk,null)],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),t&&Rd.createElement(vd,{className:`ab-${e}__Filter__clear`,marginLeft:1,marginBottom:0,marginRight:1,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"),r&&Rd.createElement(X,{className:Me(`ab-${e}__Filter__suspend-button`,n&&`ab-${e}__Filter__suspend-all`,!n&&`ab-${e}__Filter__un-suspend-all`),disabled:!i,onClick:a,tone:n?"neutral":"success",variant:"text",icon:n?"pause":"play",accessLevel:this.props.accessLevel})),Rd.createElement(eV.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&Rd.createElement(ye,{className:`ab-${e}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:u=>{u?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearColumnFilters()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterForColumn(e.ColumnId)}};function Rbt(o){return{ColumnFilters:Im(o),IsQuickFilterVisible:o.System.IsQuickFilterVisible}}function wbt(o){return{onHideQuickFilterBar:()=>o(Fv()),onShowQuickFilterBar:()=>o(Ov())}}var kIe=ot(Rbt,wbt)(mY);d();var QC=w(require("react"));var VIe=w(re()),fY=class extends QC.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return QC.createElement(VIe.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",QC.createElement(ye,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:t=>this.props.onSetDashboardCollapsed(t)},"Collapse"),"",this.props.api.optionsApi.getDashboardOptions().canFloat&&QC.createElement(ye,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:t=>this.props.onSetDashboardFloating(t)},"Float")," ",QC.createElement(ye,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:t=>this.props.onSetDashboardHidden(t)},"Hidden"))}};function Ebt(o,e){return{IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function Tbt(o){return{onSetDashboardCollapsed:e=>o(nu(e)),onSetDashboardHidden:e=>o(op(e)),onSetDashboardFloating:e=>o(iu(e))}}var BIe=ot(Ebt,Tbt)(fY);d();var Ys=w(require("react"));var LT=w(re());d();var oV=w(require("react"));var tV=class extends oV.Component{render(){return oV.createElement(X,v({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};d();var nV=w(require("react"));var rV=class extends nV.Component{render(){return nV.createElement(X,v({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};d();var YC="Select Report",hA="Select Destination";var hY=class extends Ys.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),t=je.IsNullOrEmpty(this.props.CurrentReport)?YC:this.props.CurrentReport,r=this.getAllReportNames(),n=r.map(m=>({label:m,value:m,onClick:()=>this.onSelectedReportChanged(m)}));e&&!r.includes(e.Name)&&(e=void 0,t=YC);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=je.IsNullOrEmpty(this.props.CurrentDestination)?hA:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(m=>({label:m,onClick:()=>this.onSelectedDestinationChanged(m),disabled:!this.props.api.exportApi.internalApi.isDestinationEnabled(m)})),...this.props.api.exportApi.getCustomDestinations().map(m=>({label:m.name,onClick:()=>this.onSelectedDestinationChanged(m.name)}))];(e==null?void 0:e.Name)===la&&s.forEach(m=>m.disabled=m.label!=="Excel"),i&&!s.filter(m=>!m.disabled).map(m=>m.label).includes(this.props.CurrentDestination)&&(i=void 0,a=hA);let l=Et.getAppropriateAccessLevel(e,this.props.accessLevel),u="Are you sure you want to delete '";e!=null&&(u=u+e.Name+"'?");let p=()=>{this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},c=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ys.createElement(LT.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${c}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ys.createElement(LT.Flex,{flex:1},Ys.createElement(Fe,{disabled:r.length==0,width:"100%",fontSize:"small",items:n,columns:["label"],className:`ab-${c}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},t)),Ys.createElement(LT.Flex,{flex:1},Ys.createElement(Fe,{disabled:t===YC,width:"100%",fontSize:"small",items:s,columns:["label"],className:`ab-${c}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),Ys.createElement(LT.Flex,{className:Me(l=="ReadOnly"?kn:"",`ab-${c}__Export__controls`),style:{width:"100%"}},Ys.createElement(tV,{onClick:()=>p(),tooltip:"Export Report",className:`ab-${c}__Export__export`,disabled:e==null||i==null}),Ys.createElement(wp,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${c}__Export__edit`,disabled:e==null||this.props.api.exportApi.isServerReport(e),accessLevel:l}),Ys.createElement(If,{variant:"text",className:`ab-${c}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:l}),Ys.createElement(Ep,{tooltip:"Delete Report",className:`ab-${c}__Export__delete`,disabled:e==null,ConfirmAction:IF(e),ConfirmationMsg:u,ConfirmationTitle:"Delete Report",accessLevel:l}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&Ys.createElement(rV,{marginLeft:1,className:`ab-${c}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){let e=[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.UserReports.map(r=>r.Name)],t=this.props.api.exportApi.getServerReports();return De.IsNotNullOrEmpty(t)&&e.push(...t.map(r=>r.name)),e}isCustomDestination(e){return!!(e!=null&&e.name)}onNewReportSchedule(){let e=Ke.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function Pbt(o){return{CurrentReport:o.Export.CurrentReport,CurrentDestination:o.Export.CurrentDestination,UserReports:o.Export.Reports}}function Ibt(o){return{onApplyExport:(e,t)=>o(iS(e,t)),onSelectReport:e=>o(rS(e)),onSelectDestination:e=>o(aS(e)),onNewReport:e=>o(Qo(Bn,e,{action:"New",source:"Toolbar"})),onEditReport:e=>o(Qo(Bn,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>o(Qo(pl,"SchedulePopup",{action:"New",source:"Toolbar",value:e}))}}var GIe=ot(Pbt,Ibt)(hY);d();var Pu=w(require("react"));var aV=w(re());d();var iV=w(require("react"));var Xf=class extends iV.Component{render(){return iV.createElement(X,v({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var gY=class extends Pu.Component{render(){let e=this.props.Layouts.find(l=>l.Name==this.props.CurrentLayoutName||l.Uuid==this.props.CurrentLayoutName),t=this.props.accessLevel,r=this.props.accessLevel,n=Et.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayout(this.props.CurrentDraftLayout),a=this.props.Layouts.map((l,u)=>R(v({},l),{label:l.Name,value:l.Name,onClick:()=>this.props.onSelectLayout(l.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Pu.createElement(aV.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Pu.createElement(aV.Flex,{flex:1},Pu.createElement(Fe,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),Pu.createElement(aV.Flex,{flexDirection:"row",className:Me(this.props.accessLevel=="ReadOnly"?kn:"",`ab-${s}__Layout__wrap`)},i&&Pu.createElement(Xf,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:n}),Pu.createElement(wp,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:n}),Pu.createElement(dk,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name,"Clone"),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:t}),Pu.createElement(If,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.api.layoutApi.showLayoutEditor(null,"New"),tooltip:"Create a new Layout",accessLevel:r}),Pu.createElement(Ep,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:eS(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:n})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function Dbt(o,e){let t=o.Layout.CurrentLayout,r=o.Layout.Layouts||[],n=r.find(a=>a.Name===t),i=e.api;return{CurrentLayoutName:t,CurrentDraftLayout:o.Grid.CurrentLayout||n,Layouts:r,CanSave:o.Grid.CurrentLayout&&!i.layoutApi.internalApi.areDraftAndCurrentLayoutEqual()}}function Obt(o){return{onSelectLayout:e=>o(Zd(e)),onSaveLayout:e=>{o(Xd(e)),o(Jd(null))}}}var HIe=ot(Dbt,Obt)(gY);d();var cr=w(require("react"));var pV=w(re());d();var sV=w(require("react"));var kT=class extends sV.Component{render(){return sV.createElement(X,v({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrowexpand",variant:"text"},this.props))}};d();var lV=w(require("react"));var wd=class extends lV.Component{render(){return lV.createElement(X,v({"data-name":"play",tooltip:Ve.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};d();var dV=w(require("react"));var uV=class extends dV.Component{render(){return dV.createElement(X,v({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"invalid"},this.props))}};var CY=class extends cr.Component{constructor(e){super(e),this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,gr).isValid,t=this.props.NamedQueries.find(m=>m.BooleanExpression==this.state.expression)!=null,n=[...qe.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(m=>({label:m.Name,icon:m.BooleanExpression===this.props.CurrentQuery?cr.createElement(Lt,{name:"check"}):null,onClick:()=>this.runQuery(m.BooleanExpression)})),...qe.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...qe.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(m=>({label:`Query at ${m.time.toLocaleTimeString("en-US")}`,icon:cr.createElement(Lt,{name:"history"}),onClick:()=>this.props.onRunQuery(m.expression)})):[]],i=this.props.api.columnApi.getColumns().map(m=>({label:m.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${m.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=m=>{m.key==="Enter"&&this.runQuery()},l=()=>this.props.viewType==="Toolbar"?cr.createElement(sf,{marginRight:1,width:600},cr.createElement(kT,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),cr.createElement(We,{type:"text","data-name":"query-input",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{fontFamily:"monospace",fontSize:12}}),e?cr.createElement(wd,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):cr.createElement(uV,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&cr.createElement(vd,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full"})):cr.createElement(We,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(gr),p=cr.createElement(Xf,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||t||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),c=()=>this.props.viewType==="Toolbar"?cr.createElement(cr.Fragment,null,p,cr.createElement(Fe,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},cr.createElement(Lt,{name:"list"})),cr.createElement(Fe,{disabled:qe.IsNullOrEmpty(n),variant:"text",items:n,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):cr.createElement(cr.Fragment,null,p,cr.createElement(kT,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),cr.createElement(vd,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),cr.createElement(wd,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),cr.createElement(Fe,{variant:"text",disabled:qe.IsNullOrEmpty(n),items:n,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return cr.createElement(pV.Flex,{onKeyDown:s,flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},cr.createElement(pV.Flex,null,l()),cr.createElement(pV.Flex,null,c()))}clearQuery(){this.props.onRunQuery("")}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedQueryChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(Ve.IsNullOrEmpty(e)&&Ve.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,gr).isValid){if(Ve.IsNotNullOrEmpty(this.state.expression)){let t={expression:this.state.expression,time:new Date};t&&this.props.onAddCachedQuery(t)}this.props.onRunQuery(e)}}};function Fbt(o){return{CurrentQuery:o.Query.CurrentQuery,NamedQueries:o.Query.NamedQueries,CachedQueries:o.System.CachedQueries}}function _bt(o){return{onAddCachedQuery:e=>o(Bie(e)),onRunQuery:e=>o(Dg(e)),onShowNamedQueries:(e,t)=>o(Qo(gr,t,{action:"New",source:"Toolbar",value:e}))}}var UIe=ot(Fbt,_bt)(CY);d();var WIe=w(require("react")),Mbt=o=>{let[e,t]=Hb(o),r=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return WIe.createElement(Ba,{type:"text",placeholder:o.api.optionsApi.getSearchOptions().quickSearchPlaceholder,className:`ab-${r}__QuickSearch__text`,value:e,OnTextChange:t,style:{height:"100%"},inputStyle:{width:"7rem"}})};function Nbt(o){return{QuickSearchText:o.QuickSearch.QuickSearchText}}function Lbt(o){return{onRunQuickSearch:e=>o(rd(e))}}var zIe=ot(Nbt,Lbt)(Mbt);d();var Ed=w(require("react"));var cV=w(re());var yY=class extends Ed.Component{constructor(t){super(t);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),r=je.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnWithColumnId(this.state.SelectedColumnId):null,n=Ed.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),i=Gs.getNames(zd).map((p,c)=>({onClick:()=>this.props.onSmartEditOperationChange(p),label:p})),a=this.props.api.smartEditApi.getSmartEditCustomOperations();a!=null&&a.length&&i.push(...a.map(p=>({onClick:()=>this.props.onSmartEditOperationChange(p),label:p.name})));let s={color:t,fill:"currentColor"},l=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,u=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ed.createElement(cV.Flex,{flexDirection:"row",className:`ab-${u}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ed.createElement(cV.Flex,null,Ed.createElement(Fe,{className:`ab-${u}__SmartEdit__select`,marginRight:2,items:i,style:{fontSize:"small"},columns:["label"],disabled:l,variant:"outlined"},typeof this.props.SmartEditOperation=="object"?this.props.SmartEditOperation.name:this.props.SmartEditOperation),Ed.createElement(We,{style:{width:"5rem"},className:`ab-${u}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:p=>this.onSmartEditValueChange(p),disabled:l,marginRight:2})),Ed.createElement(cV.Flex,null,!l&&Ed.createElement(mA,{onClick:()=>this.onApplyClick(),style:s,className:`ab-${u}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:je.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!l&&Ed.createElement(Ho,{headerText:"Preview Results",className:`ab-${u}__SmartEdit__info`,bodyText:[n],MessageType:_o.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(t){let r=t.target;this.props.onSmartEditValueChange(Number(r.value))}getStatusColour(){if(je.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onApplySmartEdit(){this.props.onRunSmartEdit()}};function kbt(o,e){return{SmartEditValue:o.System.SmartEditValue,SmartEditOperation:o.System.SmartEditOperation,IsValidSelection:o.System.IsValidSmartEditSelection,PreviewInfo:o.System.SmartEditPreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function Vbt(o){return{onSmartEditValueChange:e=>o(Tv(e)),onSmartEditOperationChange:e=>o(eg(e)),onSmartEditCheckSelectedCells:()=>o(KD()),onRunSmartEdit:()=>o($O(!1))}}var jIe=ot(kbt,Vbt)(yY);d();var VT=w(require("react")),vY=w(re());d();var mV=o=>{var r;let e=Xt.getColorByMessageType((r=o==null?void 0:o.statusType)!=null?r:"Success"),t=o?Xt.getButtonTextColourForMessageType(o.statusType):"";return{background:e,color:t}};var SY=class extends VT.Component{constructor(e){super(e)}render(){let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),{color:t,background:r}=mV(e),n=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return VT.createElement(vY.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},VT.createElement(vY.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:t,backgroundColor:n?r:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},n||"0 Messages"))}};function Bbt(o){return{SystemStatusMessageInfos:o.System.SystemStatusMessages}}function Gbt(o){return{}}var KIe=ot(Bbt,Gbt)(SY);d();var BT=w(require("react"));var bY=class extends BT.Component{render(){var s,l,u,p;let e=(u=(l=(s=this.props.api)==null?void 0:s.themeApi)==null?void 0:l.getThemes)==null?void 0:u.call(l),t=e.map((c,m)=>(typeof c=="string"&&(c={Name:c,Description:c}),{label:c.Description,onClick:()=>this.onSelectTheme(c)})),r=e.find(c=>c.Name===this.props.CurrentTheme),n=(p=r==null?void 0:r.Description)!=null?p:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return BT.createElement("div",{className:Me(this.props.accessLevel=="ReadOnly"?kn:"",`ab-${i}__Theme__wrap`)},BT.createElement(Fe,{className:`ab-${i}__Theme__select`,style:a,items:t,columns:["label"],accessLevel:this.props.accessLevel},n))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function Hbt(o,e){return{SystemThemes:o.Theme.SystemThemes,CurrentTheme:o.Theme.CurrentTheme,UserThemes:o.Theme.UserThemes}}function Ubt(o){return{onSelectTheme:e=>o(lS(e))}}var QIe=ot(Hbt,Ubt)(bY);d();var GT=w(require("react"));var YIe=w(re());var AY=class extends GT.Component{getCurrentDataSet(){return je.IsNullOrEmpty(this.props.CurrentDataSetName)?null:this.getDataSets().find(e=>e.name==this.props.CurrentDataSetName)}getDataSets(){return this.props.api.dataSetApi.getDataSets()}render(){var i,a;let e="Select Data Set",t=(a=(i=this.getCurrentDataSet())==null?void 0:i.name)!=null?a:e,r=this.getDataSets().map(s=>({value:s.name,label:s.name,onClick:()=>this.onSelectedDataSetChanged(s.name)})),n=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return GT.createElement(YIe.Flex,{flexDirection:"row",className:`ab-${n}__DataSet__wrap`},GT.createElement(Fe,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${n}__DataSet__select`,items:r,variant:"outlined",tone:"neutral"},t))}onSelectedDataSetChanged(e){if(je.IsNullOrEmpty(e))this.setState({CurrentDataSet:null});else{let t=this.getDataSets().find(r=>r.name==e);this.setState({CurrentDataSet:t}),this.props.onSelectDataSet(t)}}};function Wbt(o){return{CurrentDataSetName:o.System.CurrentDataSet}}function zbt(o){return{onSelectDataSet:e=>o(vR(e))}}var qIe=ot(Wbt,zbt)(AY);d();var xr=w(require("react"));d();var fV=w(require("react"));var qC=require("react");d();var $Ie=(o,e)=>{let t=o.changeHistoryButton;if(!t||Array.isArray(t)&&t.length===0)return null;Array.isArray(t)||(t=[t]);let r=a=>a.adaptableApi.gridApi.isGroupRowNode(a.rowNode),n=a=>{var l;let s=a.rowNode;if(a.adaptableApi.gridApi.isGroupRowNode(s)){let u=(l=a.rowNode)==null?void 0:l.childrenAfterFilter;u&&u.forEach(p=>e(p))}else e(s)},i=a=>{let s=a.rowNode.data.changeInfo;return R(v({},a),{isGroupNode:r(a),undoDataChange:()=>n(a),dataChangedInfo:s})};return t.map(a=>({label:(s,l)=>typeof a.label!="function"?a.label:a.label(s,i(l)),buttonStyle:(s,l)=>typeof a.buttonStyle!="function"?a.buttonStyle:a.buttonStyle(s,i(l)),tooltip:(s,l)=>typeof a.tooltip!="function"?a.tooltip:a.tooltip(s,i(l)),disabled:(s,l)=>typeof a.disabled!="function"?a.disabled:a.disabled(s,i(l)),onClick:(s,l)=>{a.action==="undo"&&n(i(l)),typeof a.onClick=="function"&&a.onClick(s,i(l))},hidden:(s,l)=>typeof a.hidden!="function"?a.hidden:a.hidden(s,i(l)),icon:a.icon}))};var ZIe=o=>{let{changeHistoryLog:e,adaptableContainerId:t,agGridContainerId:r,onUndoChange:n}=o,i=ne(),[a,s]=(0,qC.useState)(null),l=(0,qC.useRef)(null);l.current=a;let u=i.api.internalApi.getEntitlementService().isModuleFullEntitlement(dl),p=yl(e,e);return(0,qC.useEffect)(()=>((async()=>{let m=Kbt(i,e),f=jbt(i,m,t,r,u,n),g=Object.getPrototypeOf(i).constructor.init,C=await g(f);s(C)})(),()=>{var m;(m=l.current)==null||m.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,qC.useEffect)(()=>{let c=l.current;if(!c)return;let m=Object.keys(e).filter(S=>{let A=p[S];return A?e[S].changedAt!==A.changedAt:!0}),f=Object.keys(p).filter(S=>{let A=e[S];return A?p[S].changedAt!==A.changedAt:!0}),g=XIe(e,m),C=XIe(p,f),y=RY(g,i),b=RY(C,i);c.optionsApi.getAgGridOptions().api.applyTransactionAsync({add:y,remove:b})},[e]),fV.createElement(fV.Fragment,null)},jbt=(o,e,t,r,n,i)=>{var m,f,g;let a=o.adaptableOptions,s=o.api.themeApi.getCurrentTheme(),l=C=>{let y=C==null?void 0:C.data,b=y==null?void 0:y.changeKey;b&&i(b)},u=$Ie((m=o.adaptableOptions)==null?void 0:m.dataChangeHistoryOptions,l),p;u&&(p={actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnSettings:{suppressMenu:!0,suppressMovable:!0},actionColumnButton:u}]});let c={gridOptions:e,primaryKey:"primaryKey",licenseKey:a.licenseKey,userName:`${a.userName}`,adaptableId:`${a.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:t,agGridContainer:r},entitlementOptions:{defaultAccessLevel:"Hidden"},filterOptions:{quickFilterTrigger:"click"},layoutOptions:{createDefaultLayout:!1,autoSizeColumnsInLayout:!0},actionOptions:p,predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(g=(f=a.userInterfaceOptions)==null?void 0:f.dateInputOptions)==null?void 0:g.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:s}}};if(!n){let C=c.predefinedConfig.Layout.Layouts[0].Columns;C.includes("undoActionColumn")&&(c.predefinedConfig.Layout.Layouts[0].Columns=C.filter(y=>y!=="undoActionColumn"))}return c},Kbt=(o,e)=>{var n,i;let t=(i=(n=o.api.columnApi.getPrimaryKeyColumn())==null?void 0:n.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${t})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Previous",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"New",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Changed",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,flex:2,initialFlex:2}],rowData:RY(e,o),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},RY=(o={},e)=>Object.entries(o).map(([t,r])=>({primaryKey:`${t}::${r.changedAt}`,changeKey:t,changeTriggerLabel:Ybt(r),changedColumnLabel:Qbt(r.column.columnId,e),changeInfo:r})),xY=new Map,Qbt=(o,e)=>{var t,r;return xY.has(o)||xY.set(o,(r=(t=e.api.columnApi.getColumnWithColumnId(o))==null?void 0:t.friendlyName)!=null?r:o),xY.get(o)},Ybt=o=>o.trigger==="tick"?"Ticking":"User Edit",XIe=(o,e)=>{let t={};return e.forEach(r=>{t[r]=o[r]}),t};var kl=w(re());d();var hV=w(require("react"));var gA=class extends hV.Component{render(){let e=this.props.fillColor==="red"?{name:"pause",style:{fill:"red"}}:{name:"pause"};return hV.createElement(X,v({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:e,variant:"text"},this.props))}};d();var gV=w(require("react"));var CA=class extends gV.Component{render(){return gV.createElement(X,v({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var wY=class extends xr.Component{constructor(e){super(e),this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:t,suspensionTime:r,onChangeHistoryEnable:n,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,l="dataChangeHistoryAdaptableContainer",u="dataChangeHistoryAgGridContainer",p=e==="ACTIVE",c=e==="INACTIVE",m=e==="SUSPENDED",f=xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},c&&xr.createElement(wd,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>n()},"Activate"),m&&xr.createElement(wd,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),p&&xr.createElement(gA,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(p||m)&&xr.createElement(CA,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),g=`${this.props.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,C=xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},p&&xr.createElement(xr.Fragment,null,xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!t&&xr.createElement(kl.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Bi(t,{Pattern:g}),")")),m&&xr.createElement(xr.Fragment,null,xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!r&&xr.createElement(kl.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Bi(r,{Pattern:g}),")")),c&&xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),y=S=>{let A=this.props.changeHistoryLog[S];A&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(A)},b=this.props.api.themeApi.getAgGridCurrentThemeName();return xr.createElement(ni,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},xr.createElement(kl.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},xr.createElement(kl.Flex,{flexDirection:"row"},f,C)),xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},xr.createElement("div",{id:l}),xr.createElement("div",{id:u,className:b,style:{height:"100%"}}),xr.createElement(ZIe,{adaptableContainerId:l,agGridContainerId:u,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:y}))))}};function qbt(o,e){return{changeHistoryLog:o.System.DataChangeHistory.logs,changeHistoryMode:o.System.DataChangeHistory.currentMode,activationTime:o.System.DataChangeHistory.enableTime,suspensionTime:o.System.DataChangeHistory.suspendTime}}function $bt(o){return{onChangeHistoryEnable:()=>o(Sm()),onChangeHistoryDisable:()=>o(bm()),onChangeHistorySuspend:()=>o(Iv()),onChangeHistoryResume:()=>o(Dv())}}var JIe=ot(qbt,$bt)(wY);d();var dn=w(require("react"));var Td=w(re());var CV=o=>{var A,x;let e=ne(),t=at(),r=dn.useCallback(()=>t(Sm()),[]),n=dn.useCallback(()=>t(bm()),[]),i=dn.useCallback(()=>t(Iv()),[]),a=dn.useCallback(()=>t(Dv()),[]),s=dn.useCallback(()=>{e.api.settingsPanelApi.openSettingsPanel("DataChangeHistory")},[]),{changeHistoryMode:l,activationTime:u,suspensionTime:p}=Dt(E=>({changeHistoryMode:E.System.DataChangeHistory.currentMode,activationTime:E.System.DataChangeHistory.enableTime,suspensionTime:E.System.DataChangeHistory.suspendTime})),c=l==="ACTIVE",m=l==="INACTIVE",f=l==="SUSPENDED",g=(A=o.gap)!=null?A:"var(--ab-space-1)",C=(x=o.buttonsPaddingY)!=null?x:2,y=dn.createElement(Td.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:C,style:{gap:g}},m&&dn.createElement(wd,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>r()}),f&&dn.createElement(wd,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>a()}),c&&dn.createElement(gA,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>i()}),(c||f)&&dn.createElement(CA,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>n()})),b=`${e.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,S=dn.createElement(Td.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:g}},c&&dn.createElement(sE,{label:!!u&&`since ${Bi(u,{Pattern:b})}`},dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),f&&dn.createElement(sE,{label:!!p&&`since ${Bi(p,{Pattern:b})}`},dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),m&&dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate Data Tracking"));return dn.createElement(Td.Flex,{flexDirection:"row"},y,S,dn.createElement(Td.Flex,{ml:2,alignItems:"center"},dn.createElement(X,{onClick:s,variant:"text"},dn.createElement(Lt,{name:"open-in-new"}),dn.createElement(Td.Box,{ml:1},"Show"))))};d();var $C=w(require("react"));var EY=w(re());var eDe=o=>{let e=o.viewType==="Toolbar",t=e?"DashboardToolbar":"ToolPanel";return $C.createElement(EY.Flex,{flexDirection:e?"row":"column",className:Me(o.accessLevel=="ReadOnly"?kn:"",`ab-${t}__StateManagement__wrap`)},$C.createElement(EY.Flex,{flexDirection:"row"},$C.createElement(Hk,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:r=>o.api.configApi.reloadPredefinedConfig(r),accessLevel:o.accessLevel},!e&&"Load"),$C.createElement(Uk,{icon:"trash",tooltip:"Clear User State",variant:"text",onClick:()=>o.api.configApi.reloadPredefinedConfig(),accessLevel:o.accessLevel},!e&&"Clear")),$C.createElement(pA,{api:o.api,type:"adaptableState"},"All State"),$C.createElement(pA,{api:o.api,type:"predefinedConfig"},"Predefined Config"))};d();var Zf=w(require("react"));var tDe=o=>{let e=Dt(jv),t=ne(),r=Zf.useMemo(()=>e.map(s=>({Name:s.Key,Items:s.StatusBarPanels})),[e]),n=Zf.useCallback(s=>{let l=s.map(u=>{let p=e.find(c=>c.Key===u.Name);return R(v({},p),{StatusBarPanels:u.Items})});t.api.statusBarApi.setStatusBarPanels(l)},[e]),i=Ewe.filter(s=>{let l=t.ModuleService.getModuleById(s);return l&&l.isModuleAvailable()}).map(s=>{let l=t.ModuleService.getModuleById(s);return{Id:s,Title:l.moduleInfo.FriendlyName}}),a=o.accessLevel==="ReadOnly";return Zf.createElement(ni,{headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},e.length?Zf.createElement(dA,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:n,disabled:a,tabs:r,availableItems:i,tabsTitle:"AdapTable Status Bar Panels",unusedPanelTitle:"Available Module Status Panels",dragItemText:"Drag into a Status Bar Panel below"}):Zf.createElement(cA,null,"To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))};d();var Gc=w(require("react")),Fp=w(re());d();var Pd=w(require("react"));d();var XC=w(require("react"));var yV=o=>{let[e,t]=XC.useState(null),r=ne(),n=Dt(l=>$D(l.System));XC.useEffect(()=>{var u,p;if(!o){t(null);return}let l=(p=r.api.chartingApi.getChartRef((u=o==null?void 0:o.Model)==null?void 0:u.chartId))!=null?p:null;t(l)},[n,o]);let i=l=>{let u=n.find(p=>{let c=r.api.chartingApi.getChartRef(p.chartId);return c&&l.contains(c.chartElement)});if(u){let p=r.api.chartingApi.getChartRef(u.chartId);p&&p.destroyChart()}},a=XC.useCallback(l=>{if(!r||!o)return;let u=typeof(l==null?void 0:l.element)=="string"?document.querySelector(l.element):l==null?void 0:l.element;if(!u&&typeof(l==null?void 0:l.element)=="string"){r.logger.consoleLogByMessageType(`Chart container element not found: ${l.element}`,"Error");return}r.api.chartingApi.getChartRef(o.Model.chartId)||(l&&u?(l.chartsDisplay!=="multiple"&&i(u),r.api.chartingApi.showChartDefinitionOnce(o,u)):r.api.chartingApi.showChartDefinitionOnce(o))},[o,n]),s=XC.useCallback(()=>{e&&e.destroyChart()},[e]);return{isOpen:Boolean(e),showChart:a,closeChart:s}};d();var oDe=w(require("react"));var rDe=o=>{var e;return oDe.createElement(Ep,{iconSize:o.iconSize,disabled:!o.chart,ConfirmAction:SM((e=o.chart)==null?void 0:e.Name),ConfirmationMsg:"Are you sure you want to delete this Charts?",ConfirmationTitle:"Delete Charts",accessLevel:o.accessLevel,tooltip:"Delete Chart"})};d();var nDe=w(require("react"));var iDe=o=>{let e=at();return nDe.createElement(wp,{iconSize:o.iconSize,tooltip:"Edit Chart",disabled:!o.chart||o.isOpen,accessLevel:o.accessLevel,onClick:()=>e(Qo(ll,"Chart",{action:"Edit",value:o.chart,source:"Toolbar"}))})};var vV=({elementType:o,accessLevel:e,size:t="normal"})=>{var B,_;let r=ne(),n=Dt(bM),i=(B=r.adaptableOptions)==null?void 0:B.chartingOptions,a=i==null?void 0:i.chartContainers,[s,l]=Pd.useState(()=>n.length>0?n[0].Uuid:null),u=n.find(L=>L.Uuid===s),p=Et.getAppropriateAccessLevel(u,e),[c,m]=Pd.useState(null),{isOpen:f,showChart:g,closeChart:C}=yV(u),y=n.map(L=>({label:L.Name,value:L.Uuid,onClick:()=>{l(L.Uuid)}})),b=y.length>0,S=b&&u!=null,A="";b&&u?A=(_=n.find(L=>L.Uuid===u.Uuid))==null?void 0:_.Name:b?A="Select Chart":A="No Charts",Pd.useEffect(()=>{!u&&n.length>0&&l(n[0].Uuid)},[n]);let x=[{label:i.agGridContainerName,onClick:()=>{m(null)}},...a?a==null?void 0:a.map(L=>({label:L.name,onClick:()=>{m(L)}})):[]],E={},T;t==="small"&&(E.padding=2,E.fontSize="small",T=15);let I=Pd.createElement(Fe,{style:E,width:"100%",columns:["label"],className:`ab-${o}__Chart__select`,items:y,disabled:!b},A),D=Boolean(a==null?void 0:a.length)&&Pd.createElement(Fe,{style:E,width:"100%",columns:["label"],items:x,disabled:!S},(c==null?void 0:c.name)||i.agGridContainerName||xv),P=Pd.createElement(X,{style:E,mr:1,onClick:()=>f?C():g(c),disabled:!Boolean(u),variant:"text",tone:"neutral",icon:f?"visibility-off":"visibility",tooltip:f?"Hide Chart":"Show Chart"});return{chartSelector:I,containerSelector:D,chartButton:P,deleteButton:Pd.createElement(rDe,{iconSize:T,chart:u,accessLevel:p}),editButton:Pd.createElement(iDe,{iconSize:T,chart:u,accessLevel:p,isOpen:f}),selectedChart:u}};var aDe=o=>{let e=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",{chartSelector:t,containerSelector:r,chartButton:n,deleteButton:i,editButton:a}=vV({elementType:e,accessLevel:o.accessLevel});return e==="DashboardToolbar"?Gc.createElement(Fp.Flex,{width:"100%",alignItems:"center"},Gc.createElement(Fp.Box,null,t),r&&Gc.createElement(Fp.Box,{ml:1},r),Gc.createElement(Fp.Box,{ml:1},n,i,a)):Gc.createElement(Fp.Flex,{flexDirection:"column",width:"100%"},Gc.createElement(Fp.Box,{mb:1},t),r&&Gc.createElement(Fp.Box,{mb:1},r),Gc.createElement(Fp.Box,null,n," ",i," ",a))};var sDe={BulkUpdatePopup:RIe,DashboardPopup:CIe,StateManagementPopup:xIe,GridInfoPopup:cIe,StatusBarPopup:tDe,QuickSearchPopup:Rwe,CellSummaryPopup:EIe,SmartEditPopup:ywe,ThemePopup:zL,ToolPanelPopup:pTe,SystemStatusPopup:IIe,DataChangeHistoryPopup:JIe},SV=new Map([[xn,OIe],[ws,FIe],[Za,NIe],[Rn,kIe],[ul,BIe],[Bn,GIe],[Es,HIe],[gr,UIe],[Ja,zIe],[es,jIe],[Zu,KIe],[ed,QIe],[$u,qIe],[dl,CV],[cc,eDe],[ll,aDe]]);d();var en=w(require("react"));var lDe=w(re());var uDe=o=>{var x,E,T,I,D,P,O,M;Dt(B=>B);let[e,t]=en.useState(null),r=o.module.moduleInfo,n=(x=o.module)==null?void 0:x.toViewAll(),i=(I=(T=(E=o.module)==null?void 0:E.getViewProperties)==null?void 0:T.call(E))!=null?I:{},a=(D=i==null?void 0:i.getEditWizard)==null?void 0:D.call(i),[s,l]=en.useState(()=>{var B,_,L;return((B=o.popupParams)==null?void 0:B.action)==="New"||((_=o.popupParams)==null?void 0:_.action)==="Edit"||((L=o.popupParams)==null?void 0:L.action)==="Clone"}),u=en.useCallback(()=>{a&&l(!0),i.onOpenEditPopup&&i.onOpenEditPopup()},[]);en.useEffect(()=>{var B;(B=i==null?void 0:i.onMount)==null||B.call(i)},[]),en.useEffect(()=>{var B,_;(((B=o.popupParams)==null?void 0:B.action)==="New"||((_=o.popupParams)==null?void 0:_.action)==="Edit")&&u()},[(P=o.popupParams)==null?void 0:P.action]);let p=i.emptyView,c=null;typeof p=="function"?c=en.createElement(p,{module:o.module}):typeof p=="string"&&(c=p);let m=(O=i.newTooltipText)!=null?O:`Create ${r.FriendlyName}`,f=null;if((M=i==null?void 0:i.abObjectTypes)!=null&&M.length){let B=i==null?void 0:i.abObjectTypes.map(_=>{var L;return{disabled:(_==null?void 0:_.accessLevel)==="ReadOnly",onClick:()=>{t(_),u()},label:(L=_.label)!=null?L:_.name}});f=en.createElement(Fe,{tone:"accent",variant:"raised",columns:["label"],items:B,tooltip:m},en.createElement(Lt,{name:"plus"})," New")}else!i.hideNewButton&&(a||i.onOpenEditPopup)&&(f=en.createElement(If,{onClick:()=>u(),tooltip:m,accessLevel:o.accessLevel}));let g=null;if(n.length&&(i==null?void 0:i.getSuspendAllAction)&&(i==null?void 0:i.getUnSuspendAllAction)){let B=n.some(L=>{var U;return!((U=L.abObject)!=null&&U.IsSuspended)}),_=()=>{if(B){let L=i.getSuspendAllAction();b(L)}else{let L=i.getUnSuspendAllAction();b(L)}};g=en.createElement(X,{mr:2,onMouseDown:()=>_(),tone:B?"neutral":"success",variant:"raised",icon:B?"pause":"play",accessLevel:o.accessLevel},B?"Suspend All":"Unsuspend All")}let C=()=>{var B;t(null),l(!1),["Toolbar","ContextMenu","ColumnMenu"].includes((B=o==null?void 0:o.popupParams)==null?void 0:B.source)&&o.onClosePopup()},y=o.api.internalApi.getModuleService().getModuleById(o.module.moduleInfo.ModuleName),b=at(),S=Dt(B=>B.System.ShowLayoutNotAssociatedObjects),A=()=>{if(!!(y!=null&&y.canBeAssociatedWithLayouts())&&!!o.api.layoutApi.internalApi.hasLayoutSpecificObjects())return en.createElement(lDe.Flex,{justifyContent:"flex-start"},en.createElement(ye,{padding:0,margin:0,checked:S,onChange:B=>b(Qie(B))},"Show ",r.FriendlyName,"s not available in current Layout"))};return en.createElement(ni,{glyphicon:r.Glyph,infoLink:r.HelpPage,headerText:r.FriendlyName,button:en.createElement(en.Fragment,null,g," ",f),infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},i.HeaderComponent&&en.createElement(i.HeaderComponent,null),A(),n!=null&&n.length?en.createElement(FT,{module:o.module,items:n}):en.createElement(cA,null,c!=null?c:`Click 'New' to create a new ${r.FriendlyName}`),s&&a&&en.createElement(a,{abObjectType:e,moduleInfo:r,data:null,popupParams:o.popupParams,configEntities:null,onCloseWizard:C,onFinishWizard:C}))};var pDe=o=>{var s,l;let e=_o.getModalContainer(o.api.optionsApi.getAdaptableOptions(),document),t=o.module.moduleInfo.ModuleName,r=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t),n=o.api.internalApi.getModuleService().getModuleInfoByModule(t),i={popupParams:o.moduleParams,onClearPopupParams:()=>o.onClearParams?o.onClearParams():null,onClosePopup:()=>{o.onHide&&o.onHide()},teamSharingActivated:o.api.teamSharingApi.isTeamSharingAvailable()&&o.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:r,api:o.api,moduleInfo:n},a=((l=sDe)==null?void 0:l[(s=o==null?void 0:o.componentName)!=null?s:n.Popup])||uDe;return dDe.createElement(a,v({key:o==null?void 0:o.componentName,module:o.module},i))};d();var bV=["BulkUpdate","SmartEdit","CellSummary"],cDe=["GridInfo","Dashboard","ToolPanel","StatusBar","-","Layout","Export","CalculatedColumn","FreeTextColumn","CustomSort","Alert","SystemStatus","-","FormatColumn","StyledColumn","FlashingCell","Theme","-","QuickSearch","Query","Filter","DataSet","-","PlusMinus","Shortcut","DataChangeHistory","-","Charting","Schedule","StateManagement","TeamSharing"];d();var fDe=w(require("react"));d();var Jf=w(require("react"));var mDe=n=>{var i=n,{render:o,frameworkComponent:e,componentName:t="N/A"}=i,r=ze(i,["render","frameworkComponent","componentName"]);let a=Jf.useRef(),s=ne(),[l,u]=Jf.useState("");return Jf.useLayoutEffect(()=>{let p=a.current,c=s.api;if(o){let m=o({visible:!0,element:p,adaptableApi:c});u(m)}else e&&c.internalApi.createFrameworkComponent(p,e,"toolbar");return()=>{o?o({visible:!1,element:p,adaptableApi:c}):e&&c.internalApi.destroyFrameworkComponent(p,e,t)}},[]),Jf.createElement("div",R(v({},r),{dangerouslySetInnerHTML:{__html:l},ref:a}))};var hDe=o=>fDe.createElement(mDe,{render:o.settingsPanel.render,componentName:o.settingsPanel.name,frameworkComponent:o.settingsPanel.frameworkComponent});d();var gDe=w(require("react"));var CDe=()=>{let e=ne().adaptableOptions.settingsPanelOptions,t=Dt(r=>{var n;return(n=r==null?void 0:r.Grid)==null?void 0:n.SettingPanelModuleMenuItems});return gDe.useMemo(()=>{var i;let r=(i=e==null?void 0:e.navigation)==null?void 0:i.items;r||(r=[...cDe],e.customSettingsPanels&&r.push(...e.customSettingsPanels.map(a=>a.name)));let n=t.filter(a=>a.module!=="General"&&!bV.includes(a.module)&&a.isVisible);return r.map(a=>{var u,p;if(a==="-")return a;let s=(p=(u=e==null?void 0:e.customSettingsPanels)==null?void 0:u.find)==null?void 0:p.call(u,c=>c.name===a),l=null;return s&&(l={label:s.name,isVisible:!0,reduxAction:Qo(null,s.name)}),l||n.find(c=>c.module===a)}).filter(Boolean)},[t])};d();var yA=w(require("react")),SDe=require("react-dom");d();var AV=o=>{let e=window.innerHeight;return{x:window.innerWidth/2-o.width/2,y:e/2-o.height/2}},yDe=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:vm(600,0,o*.9),width:vm(800,0,e*.9)}},TY=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:vm(o*.9,0,800),width:vm(e*.9,0,800)}},vDe=()=>TY();var Xbt=o=>{var y,b;let C=o,{onChange:e,style:t,baseClassName:r,className:n,isActionModule:i,settingsPanelOptionsKey:a,onHide:s}=C,l=ze(C,["onChange","style","baseClassName","className","isActionModule","settingsPanelOptionsKey","onHide"]),u=ne(),p=at(),c=u.adaptableOptions.settingsPanelOptions,m=Dt(S=>{var A,x;return(x=(A=S==null?void 0:S.System)==null?void 0:A.SettingsPanel)==null?void 0:x[a]}),f=S=>{p(jie(a,S))};if(!m){let S=i?yDe():(y=c.size)!=null?y:TY();m={size:S,position:(b=c.position)!=null?b:AV(S)}}let g={handleSelector:i?`.${r} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",minHeight:460,minWidth:400,size:m.size,position:m.position,onChange:f};return yA.createElement(oi,v({windowModal:!0,fixed:!1,windowModalProps:g,style:R(v({},o.style),{height:"100%"}),padding:0,className:n,onDismiss:s,isOpen:!0,showCloseButton:!0},l))},Zbt=o=>{let a=o,{style:e,className:t,onHide:r,children:n}=a,i=ze(a,["style","className","onHide","children"]);return yA.createElement(oi,v({fixed:!1,style:o.style,padding:0,height:"90vh",width:"90vw",className:t,onDismiss:r,isOpen:!0,showCloseButton:!0},i),n)},bDe=o=>{let{isActionModule:e,style:t,friendlyName:r,baseClassName:n,className:i,children:a,onHide:s,isWindowModal:l,modalContainer:u}=o;if(u){let p=null;return typeof u=="string"?p=globalThis.document.querySelector(u):p=u,(0,SDe.createPortal)(yA.createElement(oi,{"data-name":o.dataName,modal:!1,fixed:!1,onDismiss:s,className:i},a),p)}if(l){let p=e?`action-${r}`:"settings";return yA.createElement(Xbt,{dataName:o.dataName,settingsPanelOptionsKey:p,isActionModule:e,onHide:s,style:t,baseClassName:n,className:i},a)}else{let p=v(v({},t),e?{maxWidth:800,maxHeight:600}:{maxWidth:1200,maxHeight:1e3});return yA.createElement(Zbt,{"data-name":o.dataName,onHide:s,style:p,className:i},a)}};var IY=o=>{var x,E,T;let e=ne(),t=e.adaptableOptions.settingsPanelOptions,r=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),n=CDe(),i=t.popupType==="window",a=(E=(x=e.adaptableOptions)==null?void 0:x.containerOptions)==null?void 0:E.modalContainer,s=null,l=!1,u=null,p=null,c="Full",m=n.find(I=>I!=="-"),f=m==null?void 0:m.module,g=o.componentModule,C=o.componentName,y=!o.componentName;y&&f!=="General"&&(g=f);let b=(T=t==null?void 0:t.customSettingsPanels)==null?void 0:T.find(I=>y?I.name===m.label:I.name===C);if(b)s=b.name,p=b.name,u=Hc.createElement(hDe,{settingsPanel:b});else{let I=o.api.internalApi.getModuleService().getModuleById(g),D=I==null?void 0:I.moduleInfo;c=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(g),s=D.FriendlyName,l=D&&(bV.includes(D==null?void 0:D.ModuleName)||o.componentName&&o.componentName!==(D==null?void 0:D.Popup)),p=D.ModuleName,u=Hc.createElement(pDe,{api:o.api,module:I,componentName:o.componentName,moduleParams:o.moduleParams,onClearParams:o.onClearParams,onHide:o.onHide})}let S="ab-Adaptable-Popup",A=Me(S,`${S}--${i?"window":"modal"}`,l?`${S}--action-popup`:`${S}--settings-popup`);return Hc.createElement(gwe.Provider,{value:{hidePopup:()=>{o.onHide&&o.onHide()}}},Hc.createElement(bDe,{dataName:g,baseClassName:S,className:A,friendlyName:s,isActionModule:l,isWindowModal:i,onHide:o.onHide,modalContainer:a},!l&&Hc.createElement(mwe,{icon:t.icon},r),Hc.createElement(PY.Flex,{flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:c=="ReadOnly"?kn:""},!l&&Hc.createElement(hwe,{menuItems:n,api:o.api,activeItem:p,customSettingsPanels:t.customSettingsPanels}),Hc.createElement(PY.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},u))))};d();var za=w(require("react"));var ZC=w(re());var ADe=o=>{var s;let e=at(),[t,r]=za.useState((s=o.defaultValue)!=null?s:""),n=()=>{r(""),o.onClose()},i=()=>{o.onConfirm(t);let l=typeof o.onConfirmActionCreator=="function"&&o.onConfirmActionCreator(t);l&&e(l),r("")},a=l=>{r(l.target.value)};return za.createElement(oi,{modal:!0,"data-name":"prompt-popup",isOpen:!0,onDismiss:o.onClose,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},za.createElement(ZC.Flex,{flexDirection:"column"},za.createElement(ZC.Box,{marginTop:3,mx:2},o.header),je.IsNotNullOrEmpty(o.message)&&za.createElement(ZC.Box,{marginTop:3,mx:2}," ",za.createElement("div",{style:{display:"flex",alignItems:"center"}},o.message.split(`
|
|
537
|
+
Provided: [type: `+typeof n+"] (value: "+n+")"):J(!1)),_ht(o.index)||(h.NODE_ENV!=="production"?J(!1,r(n)+" requires an integer index prop"):J(!1)),o.mapped.type!=="DRAGGING"&&(ZEe(t()),o.isEnabled&&(WEe(e,n)||(h.NODE_ENV!=="production"?J(!1,r(n)+" Unable to find drag handle"):J(!1))))})}function Mvt(o){b8(function(){var e=(0,ht.useRef)(o);fT(function(){o!==e.current&&(h.NODE_ENV!=="production"?J(!1,"Draggable isClone prop value changed during component life"):J(!1))},[o])})}function Nvt(o){o.preventDefault()}function Lvt(o){var e=(0,ht.useRef)(null),t=Ct(function(P){e.current=P},[]),r=Ct(function(){return e.current},[]),n=$1(tk),i=n.contextId,a=n.dragHandleUsageInstructionsId,s=n.registry,l=$1(w8),u=l.type,p=l.droppableId,c=Eo(function(){return{id:o.draggableId,index:o.index,type:u,droppableId:p}},[o.draggableId,o.index,u,p]),m=o.children,f=o.draggableId,g=o.isEnabled,C=o.shouldRespectForcePress,y=o.canDragInteractiveElements,b=o.isClone,S=o.mapped,A=o.dropAnimationFinished;if(_vt(o,i,r),Mvt(b),!b){var x=Eo(function(){return{descriptor:c,registry:s,getDraggableRef:r,canDragInteractiveElements:y,shouldRespectForcePress:C,isEnabled:g}},[c,s,r,y,C,g]);Fvt(x)}var E=Eo(function(){return g?{tabIndex:0,role:"button","aria-describedby":a,"data-rbd-drag-handle-draggable-id":f,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:Nvt}:null},[i,a,f,g]),T=Ct(function(P){S.type==="DRAGGING"&&(!S.dropping||P.propertyName==="transform"&&A())},[A,S]),I=Eo(function(){var P=Dvt(S),O=S.type==="DRAGGING"&&S.dropping?T:null,M={innerRef:t,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":f,style:P,onTransitionEnd:O},dragHandleProps:E};return M},[i,E,f,S,T,t]),D=Eo(function(){return{draggableId:c.id,type:c.type,source:{index:c.index,droppableId:c.droppableId}}},[c.droppableId,c.id,c.index,c.type]);return m(I,S.snapshot,D)}var JEe=function(o,e){return o===e},eTe=function(o){var e=o.combine,t=o.destination;return t?t.droppableId:e?e.droppableId:null},kvt=function(e){return e.combine?e.combine.draggableId:null},Vvt=function(e){return e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null};function Bvt(){var o=(0,vi.default)(function(n,i){return{x:n,y:i}}),e=(0,vi.default)(function(n,i,a,s,l){return{isDragging:!0,isClone:i,isDropAnimating:Boolean(l),dropAnimation:l,mode:n,draggingOver:a,combineWith:s,combineTargetFor:null}}),t=(0,vi.default)(function(n,i,a,s,l,u,p){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:l,combineWith:u,mode:i,offset:n,dimension:a,forceShouldAnimate:p,snapshot:e(i,s,l,u,null)}}}),r=function(i,a){if(i.isDragging){if(i.critical.draggable.id!==a.draggableId)return null;var s=i.current.client.offset,l=i.dimensions.draggables[a.draggableId],u=Fl(i.impact),p=Vvt(i.impact),c=i.forceShouldAnimate;return t(o(s.x,s.y),i.movementMode,l,a.isClone,u,p,c)}if(i.phase==="DROP_ANIMATING"){var m=i.completed;if(m.result.draggableId!==a.draggableId)return null;var f=a.isClone,g=i.dimensions.draggables[a.draggableId],C=m.result,y=C.mode,b=eTe(C),S=kvt(C),A=i.dropDuration,x={duration:A,curve:m8.drop,moveTo:i.newHomeClientOffset,opacity:S?sT.opacity.drop:null,scale:S?sT.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:g,dropping:x,draggingOver:b,combineWith:S,mode:y,forceShouldAnimate:null,snapshot:e(y,f,b,S,x)}}}return null};return r}function tTe(o){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:o,combineWith:null}}var Gvt={mapped:{type:"SECONDARY",offset:qi,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:tTe(null)}};function Hvt(){var o=(0,vi.default)(function(a,s){return{x:a,y:s}}),e=(0,vi.default)(tTe),t=(0,vi.default)(function(a,s,l){return s===void 0&&(s=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:s,shouldAnimateDisplacement:l,snapshot:e(s)}}}),r=function(s){return s?t(qi,s,!0):null},n=function(s,l,u,p){var c=u.displaced.visible[s],m=Boolean(p.inVirtualList&&p.effected[s]),f=Z1(u),g=f&&f.draggableId===s?l:null;if(!c){if(!m)return r(g);if(u.displaced.invisible[s])return null;var C=Yb(p.displacedBy.point),y=o(C.x,C.y);return t(y,g,!0)}if(m)return r(g);var b=u.displacedBy.point,S=o(b.x,b.y);return t(S,g,c.shouldAnimate)},i=function(s,l){if(s.isDragging)return s.critical.draggable.id===l.draggableId?null:n(l.draggableId,s.critical.draggable.id,s.impact,s.afterCritical);if(s.phase==="DROP_ANIMATING"){var u=s.completed;return u.result.draggableId===l.draggableId?null:n(l.draggableId,u.result.draggableId,u.impact,u.afterCritical)}return null};return i}var Uvt=function(){var e=Bvt(),t=Hvt(),r=function(i,a){return e(i,a)||t(i,a)||Gvt};return r},Wvt={dropAnimationFinished:FEe},zvt=ot(Uvt,Wvt,null,{context:v8,pure:!0,areStatePropsEqual:JEe})(Lvt);function oTe(o){var e=$1(w8),t=e.isUsingCloneFor;return t===o.draggableId&&!o.isClone?null:ht.default.createElement(zvt,o)}function PC(o){var e=typeof o.isDragDisabled=="boolean"?!o.isDragDisabled:!0,t=Boolean(o.disableInteractiveElementBlocking),r=Boolean(o.shouldRespectForcePress);return ht.default.createElement(oTe,vt({},o,{isClone:!1,isEnabled:e,canDragInteractiveElements:t,shouldRespectForcePress:r}))}function jvt(o){var e=(0,ht.useContext)(tk);e||(h.NODE_ENV!=="production"?J(!1,"Could not find app context"):J(!1));var t=e.contextId,r=e.isMovementAllowed,n=(0,ht.useRef)(null),i=(0,ht.useRef)(null),a=o.children,s=o.droppableId,l=o.type,u=o.mode,p=o.direction,c=o.ignoreContainerClipping,m=o.isDropDisabled,f=o.isCombineEnabled,g=o.snapshot,C=o.useClone,y=o.updateViewportMaxScroll,b=o.getContainerForClone,S=Ct(function(){return n.current},[]),A=Ct(function(B){n.current=B},[]),x=Ct(function(){return i.current},[]),E=Ct(function(B){i.current=B},[]);xvt({props:o,getDroppableRef:S,getPlaceholderRef:x});var T=Ct(function(){r()&&y({maxScroll:kEe()})},[r,y]);hvt({droppableId:s,type:l,mode:u,direction:p,isDropDisabled:m,isCombineEnabled:f,ignoreContainerClipping:c,getDroppableRef:S});var I=ht.default.createElement(Rvt,{on:o.placeholder,shouldAnimate:o.shouldAnimatePlaceholder},function(B){var _=B.onClose,L=B.data,U=B.animate;return ht.default.createElement(vvt,{placeholder:L,onClose:_,innerRef:E,animate:U,contextId:t,onTransitionEnd:T})}),D=Eo(function(){return{innerRef:A,placeholder:I,droppableProps:{"data-rbd-droppable-id":s,"data-rbd-droppable-context-id":t}}},[t,s,I,A]),P=C?C.dragging.draggableId:null,O=Eo(function(){return{droppableId:s,type:l,isUsingCloneFor:P}},[s,P,l]);function M(){if(!C)return null;var B=C.dragging,_=C.render,L=ht.default.createElement(oTe,{draggableId:B.draggableId,index:B.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},function(U,V){return _(U,V,B)});return iEe.default.createPortal(L,b())}return ht.default.createElement(w8.Provider,{value:O},a(D,g),M())}var qQ=function(e,t){return e===t.droppable.type},nEe=function(e,t){return t.draggables[e.draggable.id]},Kvt=function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=vt({},e,{shouldAnimatePlaceholder:!1}),r=(0,vi.default)(function(a){return{draggableId:a.id,type:a.type,source:{index:a.index,droppableId:a.droppableId}}}),n=(0,vi.default)(function(a,s,l,u,p,c){var m=p.descriptor.id,f=p.descriptor.droppableId===a;if(f){var g=c?{render:c,dragging:r(p.descriptor)}:null,C={isDraggingOver:l,draggingOverWith:l?m:null,draggingFromThisWith:m,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!1,snapshot:C,useClone:g}}if(!s)return t;if(!u)return e;var y={isDraggingOver:l,draggingOverWith:m,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!0,snapshot:y,useClone:null}}),i=function(s,l){var u=l.droppableId,p=l.type,c=!l.isDropDisabled,m=l.renderClone;if(s.isDragging){var f=s.critical;if(!qQ(p,f))return t;var g=nEe(f,s.dimensions),C=Fl(s.impact)===u;return n(u,c,C,C,g,m)}if(s.phase==="DROP_ANIMATING"){var y=s.completed;if(!qQ(p,y.critical))return t;var b=nEe(y.critical,s.dimensions);return n(u,c,eTe(y.result)===u,Fl(y.impact)===u,b,m)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){var S=s.completed;if(!qQ(p,S.critical))return t;var A=Fl(S.impact)===u,x=Boolean(S.impact.at&&S.impact.at.type==="COMBINE"),E=S.critical.droppable.id===u;return A?x?e:t:E?e:t}return t};return i},Qvt={updateViewportMaxScroll:Ugt};function Yvt(){return document.body||(h.NODE_ENV!=="production"?J(!1,"document.body is not ready"):J(!1)),document.body}var qvt={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:Yvt},wf=ot(Kvt,Qvt,null,{context:v8,pure:!0,areStatePropsEqual:JEe})(jvt);wf.defaultProps=qvt;d();var Si=w(require("react")),Ef=require("react"),nTe=w(re());d();var nk=require("react"),rTe=o=>{let e=(0,nk.useRef)(o);return e.current=o,(0,nk.useCallback)(()=>e.current,[])};var $vt=({children:o,index:e,hidden:t,observerRef:r})=>{var p;let[n,i]=(0,Ef.useState)(!1);Si.useEffect(()=>{let c=setTimeout(()=>{i(!0)},50);return()=>clearTimeout(c)},[]);let a=(0,Ef.useRef)(null),s=c=>{var m,f;if(c){if(!c.getAttribute("data-index"))throw'The element you render from "renderItem" should accept a "data-index" prop.';(m=r.current)==null||m.observe(c)}else(f=r.current)==null||f.unobserve(a.current);a.current=c},l=Si.Children.toArray(o)[0],u={ref:s,"data-index":e};return(t||!n)&&(u.style=R(v({},(p=l.props)==null?void 0:p.style),{visibility:"hidden"})),l=Si.cloneElement(l,u),Si.createElement(Si.Fragment,null,l)},iTe=o=>{let y=o,{allowWrap:e,count:t,direction:r,renderItem:n,renderEllipsis:i}=y,a=ze(y,["allowWrap","count","direction","renderItem","renderEllipsis"]),s=(0,Ef.useRef)(null),l=(0,Ef.useRef)(null),[u,p]=Si.useState(o.count),[c]=(0,Ef.useState)(()=>new Set),[m]=(0,Ef.useState)(()=>new Set),f=rTe(o.count);Si.useEffect(()=>{let b=A=>{let x=f(),E=I=>I.intersectionRatio===1;A.forEach(I=>{let{target:D}=I,P=Number(D.getAttribute("data-index"));E(I)?(c.add(P),m.delete(P)):(c.delete(P),m.add(P))});let T=Math.min(x,...m.values());p(T)};if(e)return;let S=new IntersectionObserver(b,{root:s.current,threshold:.01});return l.current=S,()=>{S.disconnect()}},[]);let g=yl(t,t);Si.useLayoutEffect(()=>{e||u===g&&p(t)},[t,u,e]);let C=[...new Array(t)].map((b,S)=>{var E;let A=t-1-S,x=e?!1:S>=u;return Si.createElement(Si.Fragment,{key:S},Si.createElement($vt,{hidden:x,index:S,observerRef:l},n(S,t)),!e&&S===u-1&&A?(E=i==null?void 0:i({remaining:A}))!=null?E:"...":null)});return Si.createElement(nTe.Flex,R(v({ref:s,flexWrap:e?"wrap":"nowrap",alignItems:"center","data-name":"options-container"},a),{flexDirection:r==="horizontal"?"row":"column"}),C)};d();var aTe=(o,e,t)=>{let r=[...o];if(e>o.length-1)return r;t>o.length-1&&(t=o.length-1);let[n]=r.splice(e,1);return r.splice(t,0,n),r};function sTe({options:o,value:e,toIdentifier:t,selectedMap:r}){let n=(0,Lc.useMemo)(()=>{if(r)return;let a=new Map([]);return o.forEach(s=>{a.set(t(s),s)}),a},[o,r]);return{selectedMap:(0,Lc.useMemo)(()=>{if(r)return r;let a=new Map([]);return e.forEach(s=>{var l;a.set(s,(l=n.get(s))!=null?l:null)}),a},[n,r,e]),optionsMap:n}}function bi(o){var V;let{options:e,value:t,filter:r,onChange:n,allowReorder:i,singleSelect:a,toLabel:s,toListLabel:l,toIdentifier:u,noSelectionLabel:p,clearSelectionLabel:c,showSelectedOnlyLabel:m,showFilterInput:f,xSelectedLabel:g,selectionBoxPosition:C="bottom",onShowSelectedOnlyChange:y,isOptionDisabled:b,disabled:S}=o,[A,x]=lo.useState(""),E="ab-ValueSelector",T=l!=null?l:s,[I,D]=(0,Lc.useState)(!1),P=(0,Lc.useCallback)(j=>{D(j),y==null||y(j)},[y]),{selectedMap:O}=sTe({options:e,toIdentifier:u,value:t}),M=(0,Lc.useCallback)(()=>{let j=[...O.keys()];!j.length&&I&&P(!1),n(j,new Map(O))},[n,I,O]),B=(j,z)=>{let W=u(j),ue=i?null:T(j),pe=typeof i=="function"?i(j):i,ae=(ie,Ae)=>lo.createElement(Ca.Flex,v({className:`${E}__option`,alignItems:"center",mt:z?1:0,key:W,backgroundColor:"primary",padding:2,"data-index":z,"data-id":W,"data-name":"option"},ie),lo.createElement(Ca.Flex,{flex:1,flexDirection:"row",alignItems:"center"},pe?lo.createElement(Ca.Box,v({mr:3},Ae),lo.createElement(Lt,{name:"drag",style:{cursor:"grab"}})):null,a?lo.createElement(_e,{checked:O.has(W),"data-name":W,onChange:Be=>{Be?(O.clear(),O.set(W,j)):O.delete(W),M()}},ue):lo.createElement(ye,{"data-name":W,disabled:S||(b?b(j):!1),onChange:Be=>{Be?O.set(W,j):O.delete(W),M()},checked:O.has(W)},ue),lo.createElement(Ca.Text,{flex:1,ml:2},i?T(j):null)));return lo.createElement(PC,{key:W,index:z,draggableId:`${W}`,isDragDisabled:!pe},ie=>ae(R(v({ref:ie.innerRef},ie.draggableProps),{style:ie.draggableProps.style}),ie.dragHandleProps))},_=()=>{let j=lo.createElement(Ca.Box,{fontSize:2},t.length?lo.createElement(lo.Fragment,null,lo.createElement(X,{disabled:S,tabIndex:0,px:1,mr:1,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{O.clear(),M()}},c!=null?c:"Clear selection."),g?g(t.length):`Your selected ${t.length} ${t.length>1?"options":"option"}.`):lo.createElement(lo.Fragment,null,p!=null?p:"No selected options",a?null:lo.createElement(X,{px:1,disabled:S,variant:"text",style:{textDecoration:"underline",display:"inline-block"},onClick:()=>{e.forEach(z=>{O.set(u(z),z)}),M()}},"Select all")));return lo.createElement(Ca.Box,{className:`${E}__header`,mt:C==="bottom"?3:0,mb:C==="top"?3:0},j,lo.createElement(Ai,{options:e,value:t,selectedMap:O,toLabel:s,toIdentifier:u,onClearOption:M,readOnly:S}))},L=lo.createElement(ye,{disabled:!t.length,checked:I,onChange:P},m!=null?m:"Show Selected Only"),U=(V=o.showSelectedOnlyPosition)!=null?V:"floating";return lo.createElement(Ca.Flex,{className:E,flexDirection:"column",flex:1},lo.createElement(Ca.Flex,{mb:1},f&&r?lo.createElement(Ba,{value:A,OnTextChange:x,placeholder:"Type to search",style:{flex:1,border:0,margin:3}}):lo.createElement(Ca.Box,{flex:1}),U==="top"&&lo.createElement(Ca.Box,{ml:20},L)),C==="top"&&_(),lo.createElement(rk,{onDragEnd:j=>{let{source:z,destination:W}=j,ue=[],pe=[];for(let[Ae,Be]of O)Be!=null?ue.push(Ae):pe.push(Ae);let ae=new Map(O),ie=aTe(ue,z.index,W.index);ie.push(...pe),O.clear(),ie.forEach(Ae=>{O.set(Ae,ae.get(Ae))}),M()}},lo.createElement(Ca.Flex,{className:`${E}__body`,flexDirection:"column",flex:1,style:{overflow:"auto"}},U==="floating"&&lo.createElement(Ca.Box,{className:`${E}__show-selected-only-checkbox`},lo.createElement(Ca.Box,{className:`${E}__show-selected-only-checkbox__text`,"data-name":"show-selected-only",backgroundColor:"defaultbackground"},L)),lo.createElement(wf,{droppableId:"droppable"},j=>lo.createElement("div",v({ref:j.innerRef},j.droppableProps),e.filter(z=>{let W=!0;return r&&(W=r(z,A)),W=W&&(I?O.has(u(z)):!0),W}).map(B),j.placeholder)))),C==="bottom"&&_())}bi.defaultProps={allowReorder:!0};function Ai(o){let{allowWrap:e,value:t,toLabel:r,onChange:n,onClearOption:i,readOnly:a,renderLabel:s}=o,{selectedMap:l}=sTe(o),u=c=>{let m=t[c],f=()=>{l.delete(m),i==null||i(m),n&&n([...l.keys()],new Map(l))},g=l.get(m),C=g!=null?r(g):`${m}`;return lo.createElement(Ge,{flexDirection:"row",alignItems:"center","data-name":"selected-option","data-id":m,mt:e?1:0,mr:1,className:"ab-ValueSelector__tag",onClick:y=>{var b,S,A;(A=(S=(b=y.target)==null?void 0:b.lastChild)==null?void 0:S.focus)==null||A.call(S)},style:{flex:"none"}},s?s(C):C,a?null:lo.createElement(X,{icon:"clear",ml:2,iconSize:14,variant:"text",style:{border:"none"},onClick:f}))},p=(0,Lc.useCallback)(({remaining:c})=>lo.createElement(Ca.Text,{fontSize:2,style:{whiteSpace:"nowrap"}},"+",c," ",c>1?"others":"other"),[]);return lo.createElement(iTe,{style:o.style,marginRight:4,my:1,allowWrap:e,count:t.length,direction:"horizontal",renderItem:u,renderEllipsis:p})}var $b=require("react");d();function Hs(o,e,{sortUnorderedItems:t}){let r=o.reduce((a,s,l)=>(a.set(s,l),a),new Map),n=e.reduce((a,s,l)=>(a.set(s,l),a),new Map);function i(a,s){let l=n.has(a),u=l?n.get(a):-1,p=n.has(s),c=p?n.get(s):-1;return!l&&!p?t?a==s?0:a<s?-1:1:r.get(a)-r.get(s):l?p?u-c:-1:1}return[].concat(o).sort(i)}var hT=o=>{let c=o,{options:e,value:t,onChange:r,selectionBoxPosition:n="top"}=c,i=ze(c,["options","value","onChange","selectionBoxPosition"]),{api:a}=ne(),s=(0,$b.useMemo)(()=>!t||!t.length?new Map:t.reduce((m,f)=>(m.set(f,!0),m),new Map),[t]),l=(0,$b.useCallback)(m=>s.has(m),[s]),u=(0,$b.useMemo)(()=>{let m=new Map;return e.forEach(f=>{var g;return m.set(f,(g=a.internalApi.getModuleFriendlyName(f))!=null?g:f)}),m},[e]),p=(0,$b.useMemo)(()=>Hs(e,t,{sortUnorderedItems:!0}),[l,e,t]);return lTe.createElement(bi,R(v({},i),{options:p,value:t,onChange:r,allowReorder:l,toIdentifier:m=>m,toLabel:m=>u.get(m),selectionBoxPosition:n,isOptionDisabled:o.isOptionDisabled,disabled:o.disabled}))};d();var Un=w(require("react")),Tf=w(re()),uTe=require("react");var dTe=Un.createContext({selectedIndex:0,tabCount:0,setSelectedIndex:o=>{}}),Xvt=o=>{var e;return o.type===E8||((e=o.props)==null?void 0:e.isTabsTab)},Zvt=o=>{var e;return o.type===T8||((e=o.props)==null?void 0:e.isTabsContent)},K=o=>{let P=o,{autoFocus:e=!0,children:t,onValueChange:r,defaultValue:n,value:i,keyboardNavigation:a=!0,selectedIndex:s,defaultSelectedIndex:l,onSelectedIndexChange:u}=P,p=ze(P,["autoFocus","children","onValueChange","defaultValue","value","keyboardNavigation","selectedIndex","defaultSelectedIndex","onSelectedIndexChange"]),[c,m]=ko(o,"selectedIndex",0),[f,g]=ko(o,"value",0),C=Un.Children.toArray(t),y=[],b=C.filter(Xvt).map((M,B)=>(y.push(M.props.value),Un.cloneElement(M,{index:B,keyboardNavigation:a,autoFocus:e}))),S=C.filter(Zvt),A=S.map(M=>M.props.value),x=(o.value!==void 0||o.defaultValue!==void 0)&&o.selectedIndex===void 0&&o.defaultSelectedIndex===void 0;if(x){let M=y.indexOf(f);M>-1&&(c=M),A.filter(_=>y.indexOf(_)!=-1).length===b.length&&S.sort((_,L)=>{let U=_.props.value,V=L.props.value;return y.indexOf(U)-y.indexOf(V)})}let E=M=>{if(x){let B=y[M];g(B)}m(M)},T=S[c],O=(T==null?void 0:T.props)||{},{value:I}=O,D=ze(O,["value"]);return Un.createElement(dTe.Provider,{value:{selectedIndex:c,tabCount:b.length,setSelectedIndex:E}},Un.createElement(Tf.Box,R(v({},p),{className:Me(p.className,"ab-Tabs"),"data-selected-index":c}),Un.createElement(Tf.Flex,{flexDirection:"row",className:"ab-Tabs__Strip"},Un.createElement(Tf.Box,{className:"ab-Tabs__Filler"}),b,Un.createElement(Tf.Flex,{flex:1,className:"ab-Tabs__Filler"})),Un.createElement(Tf.Box,R(v({padding:2},D),{className:`${D.className||""} ab-Tabs__Body`}),T)))},E8=o=>{let m=o,{index:e,autoFocus:t,keyboardNavigation:r=!0,className:n}=m,i=ze(m,["index","autoFocus","keyboardNavigation","className"]),a=Un.useContext(dTe),s="ab-Tabs__Tab",l=a.selectedIndex===o.index,u=a.selectedIndex===o.index+1,p=Me(n,s,l?`${s}--active`:"",u?`${s}--before-active`:""),c=(0,uTe.useRef)(null);return Un.useEffect(()=>{var f;l&&t&&r&&((f=c.current)==null||f.focus())},[l,t]),Un.createElement(Tf.Box,R(v({ref:c,padding:2,tabIndex:l?0:-1},i),{className:p,onClick:f=>{var g;a.setSelectedIndex(o.index),(g=o.onClick)==null||g.call(o,f)},onKeyDown:f=>{var g;if(r){if(f.key==="Enter"&&a.setSelectedIndex(o.index),f.key==="ArrowLeft"){f.preventDefault();let C=o.index-1;C<0&&(C=a.tabCount-1),a.setSelectedIndex(C)}if(f.key==="ArrowRight"){f.preventDefault();let C=o.index+1;C>a.tabCount-1&&(C=0),a.setSelectedIndex(C)}}(g=o.onKeyDown)==null||g.call(o,f)}}))};E8.defaultProps={isTabsTab:!0};var T8=o=>Un.createElement(Un.Fragment,null,o.children);T8.defaultProps={isTabsContent:!0};K.Tab=E8;K.Content=T8;var P8=class extends Ml.Component{constructor(e){var r,n,i;super(e);let t=(i=(n=(r=e.popupParams)==null?void 0:r.config)==null?void 0:n.initialTab)!=null?i:"ToolPanels";this.state={ToolPanelConfigView:t}}render(){let e=this.props.api.internalApi.getEntitlementService(),t=[];De.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)&&this.props.ToolPanelState.ModuleButtons.forEach(c=>{let m=this.props.GridState.SettingPanelModuleMenuItems.find(f=>f.module==c);m!=null&&m.isVisible&&t.push(c)});let r=this.props.GridState.SettingPanelModuleMenuItems.map(c=>c.module),n=this.props.GridState.SettingPanelModuleMenuItems.filter(c=>c.isVisible).map(c=>c.module);e.isModuleHiddenEntitlement("Dashboard")||n.push("Dashboard"),this.props.api.pluginsApi.getipushpullPluginApi()&&!e.isModuleHiddenEntitlement("IPushPull")&&n.push("IPushPull"),this.props.api.pluginsApi.getOpenFinPluginApi()&&!e.isModuleHiddenEntitlement("OpenFin")&&n.push("OpenFin");let i=Ub.filter(c=>De.ContainsItem(n,c)),s=[...this.props.api.toolPanelApi.getCustomToolPanels().map(c=>c.name),...i],l=this.props.ToolPanelState.ToolPanels.map(c=>c.Name).filter(c=>s.includes(c)),u=e.isModuleReadOnlyEntitlement("ToolPanel"),p=c=>c==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Ml.createElement(ni,{headerText:"ToolPanel",glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Ml.createElement(K,{"data-name":"toolPanelPopup-component",className:"ab-ToolPanelPopup",value:this.state.ToolPanelConfigView,style:{height:"100%"},onValueChange:c=>this.setState({ToolPanelConfigView:c})},Ml.createElement(K.Tab,{value:"ToolPanels"},Ml.createElement(_e,{margin:0,value:"ToolPanels",checked:this.state.ToolPanelConfigView=="ToolPanels",tabIndex:-1},"Tool Panels")),Ml.createElement(K.Tab,{value:"Buttons"},Ml.createElement(_e,{margin:0,value:"Buttons",checked:this.state.ToolPanelConfigView=="Buttons",tabIndex:-1},"Module Buttons")),Ml.createElement(K.Content,{value:"ToolPanels",style:{flex:1,overflow:"auto"}},Ml.createElement(hT,{options:s,value:l,noSelectionLabel:"No selected Tool Panel",xSelectedLabel:()=>"Visible ToolPanels:",onChange:c=>this.onToolPanelToolPanelsChanged(c),disabled:u})),Ml.createElement(K.Content,{value:"Buttons",style:{flex:1,overflow:"auto"}},Ml.createElement(hT,{options:r,value:t,noSelectionLabel:"No selected Module Button",xSelectedLabel:()=>"Visible Module Buttons:",isOptionDisabled:p,disabled:u,onChange:c=>this.props.onToolPanelSetModuleButtons(c)}))))}onShowGridPropertiesChanged(e){let r=e.target.value;this.setState({ToolPanelConfigView:r})}onToolPanelToolPanelsChanged(e){let t=this.props.ToolPanelState.ToolPanels,r=e.map(n=>{var i;return(i=t.find(a=>a.Name===n))!=null?i:{Name:n,VisibilityMode:"collapsed"}});this.props.onToolPanelSetToolPanels(r)}};function Jvt(o){return{ToolPanelState:o.ToolPanel,GridState:o.Grid}}function eSt(o){return{onToolPanelSetModuleButtons:e=>o(v_(e)),onToolPanelSetToolPanels:e=>o(Pg(e))}}var pTe=ot(Jvt,eSt)(P8);d();var Ti=w(require("react"));d();var gT=w(require("react")),ik=w(re());var xi=class extends gT.Component{render(){let e=this.props.colItems.map((r,n)=>gT.createElement(ik.Text,{className:"ab-AdaptableObjectRow__cell","data-name":"list-group-cell",key:n,title:typeof r.Content=="string"?r.Content:void 0,flex:r.Size,paddingLeft:1,paddingRight:1},r.Content)),t=Me("ab-AdaptableObjectRow",this.props.isSuspended&&"ab-AdaptableObjectRow--is-suspended");return gT.createElement(ik.Flex,{className:t,onClick:this.props.onClick,style:this.props.style},e)}};var tY=w(re());d();var lk=w(require("react"));d();var IC=w(require("react")),sk=w(re());var ak=class extends IC.Component{render(){let e=this.props.colItems.map((r,n)=>IC.createElement(sk.Text,{key:r.key||r.Content||n,fontWeight:"bold",fontSize:"var(--ab-font-size-3)",paddingLeft:1,paddingRight:1,style:{flex:r.Size}},r.Content)),t=IC.createElement(sk.Flex,{alignItems:this.props.headerAlign||"center",style:{width:"100%"}},e);return IC.createElement("div",{style:this.props.style,className:this.props.className},IC.createElement(Io,{bodyScroll:!0,header:t,border:this.props.border,bodyProps:this.props.bodyProps},this.props.children))}};var cTe=w(re());var Pf=o=>{let e=o.allowOverflow?"visible":"auto";return lk.createElement(cTe.Box,{style:v({},o.style),className:"ab-ObjectCollection"},lk.createElement(ak,{border:"none",colItems:o.colItems,headerAlign:o.headerAlign}),lk.createElement("div",{className:"ab-ObjectCollection__items",style:{overflowY:e,boxShadow:"none"}},o.items))};d();var mTe="15.3.1";d();var jr=w(require("react")),HC=w(re());d();var Au=w(require("react"));d();var DC=w(require("react"));d();var fTe=w(require("react"));var If=o=>fTe.createElement(X,v({"data-name":"new",tooltip:"New",tone:"accent",icon:"plus",variant:"raised"},o),o.children===void 0?"New":o.children);d();var uk=w(require("react"));var Df=class extends uk.Component{render(){let e=[];return e.push({Size:3,Content:this.props.SummaryItems[0]}),e.push({Size:7,Content:this.props.SummaryItems[1]}),e.push({Size:2,Content:this.props.SummaryItems[2]}),uk.createElement(xi,{colItems:e})}};d();var CT=w(require("react"));var vu=class extends CT.Component{render(){return CT.createElement("div",null,CT.createElement(Lt,{name:this.props.moduleInfo.Glyph,style:{fill:"var(--ab-color-text-on-primary)"}})," ",this.props.moduleInfo.FriendlyName)}};var Rp=class extends DC.Component{render(){let e=[],t=this.props.newButtonDisabled?null:DC.createElement(If,{onClick:()=>this.props.onNew(),tooltip:"Create "+this.props.newButtonTooltip,accessLevel:this.props.accessLevel});return e.push(DC.createElement("b",null,DC.createElement(vu,{moduleInfo:this.props.moduleInfo}))),e.push(this.props.moduleSummary),e.push(t),DC.createElement(Df,{SummaryItems:e})}};d();var Ff=w(require("react"));d();var kc=w(require("react"));d();var hTe=w(require("react"));var wp=o=>{var e;return hTe.createElement(X,v({"data-name":"edit",tooltip:"Edit",variant:"text",icon:"edit",iconSize:(e=o.iconSize)!=null?e:24},o))};d();var gTe=w(require("react"));var dk=o=>gTe.createElement(X,v({"data-name":"clone",tooltip:"Clone",tone:"accent",icon:"clone",variant:"raised"},o),o.children===void 0?"Clone":o.children);d();var pk=w(require("react"));var I8=class extends pk.Component{render(){var l,u;let s=this.props,{onConfirmWarning:e,ConfirmAction:t,ConfirmationMsg:r,ConfirmationTitle:n,onClickAction:i}=s,a=ze(s,["onConfirmWarning","ConfirmAction","ConfirmationMsg","ConfirmationTitle","onClickAction"]);return pk.createElement(X,R(v({"data-name":"delete",tooltip:(l=a.tooltip)!=null?l:"Delete",variant:"text",icon:"trash",iconSize:(u=a.iconSize)!=null?u:24},a),{onClick:()=>this.onClick()}))}onClick(){if(this.props.ConfirmAction){let e={CancelButtonText:"Cancel",Header:this.props.ConfirmationTitle,Msg:this.props.ConfirmationMsg,ConfirmButtonText:"Delete",CancelAction:null,ConfirmAction:this.props.ConfirmAction,ShowInputBox:!1,MessageType:"Warning"};this.props.onConfirmWarning(e)}else this.props.onClickAction()}};function tSt(o,e){return{ConfirmAction:e.ConfirmAction,ConfirmationMsg:e.ConfirmationMsg,ConfirmationTitle:e.ConfirmationTitle}}function oSt(o){return{onConfirmWarning:e=>o(_v(e))}}var Ep=ot(tSt,oSt)(I8);var bTe=w(re());d();var Of=w(require("react"));d();var Xb=w(re());var CTe=require("react");var Jr=w(require("react"));var yTe=o=>{let{showPopup:e,onClose:t,onConfirm:r,header:n}=o,[i,a]=(0,CTe.useState)({description:"",type:"Snapshot"});return Jr.createElement(Jr.Fragment,null,Jr.createElement(oi,{modal:!0,"data-name":"teamsharing-popup",isOpen:e,onDismiss:t,autoFocus:!1,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Jr.createElement(Xb.Flex,{flexDirection:"column"},Jr.createElement(Ot,{"data-name":"teamsharing-popup-description",margin:2,mb:2,p:2,style:{fontSize:"var(--ab-font-size-3)"}},"Create a ",n," which may be either:",Jr.createElement("ul",null,Jr.createElement("li",null,Jr.createElement("strong",null,"Snapshot"),": a one-off share of an exact copy of the current object"),Jr.createElement("li",null,Jr.createElement("strong",null,"Active"),': a "live" share that is automatically updated with every local change'))),Jr.createElement(Ie,{padding:2},Jr.createElement(Z,{label:"Name: "},Jr.createElement(We,{"data-name":"teamsharing-entity-name",autoFocus:!0,value:i.description,type:"string",width:300,placeholder:"Enter text",onChange:s=>a(R(v({},i),{description:s.target.value}))})),Jr.createElement(Z,{label:"Share: "},Jr.createElement(Xb.Flex,{flexDirection:"row"},Jr.createElement(_e,{"data-name":"teamsharing-entity-type-snapshot",checked:i.type==="Snapshot",onChange:()=>a(R(v({},i),{type:"Snapshot"}))},"Snapshot")," ",Jr.createElement(_e,{"data-name":"teamsharing-entity-type-active",marginLeft:3,checked:i.type==="Active",onChange:()=>a(R(v({},i),{type:"Active"}))},"Active")," "))),Jr.createElement(Xb.Box,{marginTop:3},Jr.createElement(Xb.Flex,{padding:2},Jr.createElement(X,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>t()},"Cancel"),Jr.createElement("div",{style:{flex:1}}),Jr.createElement(X,{"data-name":"ok",tone:"accent",variant:"raised",disabled:je.IsNullOrEmpty(i.description),onClick:()=>r(i)},"OK"))))))};var Zb=class extends Of.Component{constructor(e){super(e),this.state={open:!1}}render(){var i;let n=this.props,{onShare:e,Header:t}=n,r=ze(n,["onShare","Header"]);return Of.createElement(Of.Fragment,null,Of.createElement(X,v({"data-name":"share",tooltip:"Share",variant:"text",icon:"team-share",iconSize:(i=r.iconSize)!=null?i:24,onClick:()=>this.setState({open:!0})},r)),this.state.open&&Of.createElement(yTe,{header:t,showPopup:!0,onClose:()=>this.setState({open:!1}),onConfirm:a=>{this.setState({open:!1}),e(a)}}))}};d();var Jb=w(require("react"));d();var yT=w(require("react")),vTe=w(re());var STe=({checked:o,onChange:e,disabled:t,className:r,children:n,style:i={},"data-name":a})=>{let s=p=>{t||e(Boolean(p.target.checked))},l="ab-ToggleButton",u=Me(r,l,o&&`${l}--checked`,t&&`${l}--disabled`);return yT.createElement("label",{"data-name":a,style:i,className:u},yT.createElement("input",{type:"checkbox",disabled:t,checked:Boolean(o),className:`${l}__input`,onChange:s}),yT.createElement(vTe.Flex,{alignItems:"center",justifyContent:o?"start":"end",className:`${l}__slider`},yT.createElement("div",{className:`${l}__text`},n)))};var ck=Jb.memo(({suspendableObject:o,onUnSuspend:e,onSuspend:t,style:r,disabled:n,accessLevel:i})=>{let a=Jb.useCallback(u=>{u?e(o):t(o)},[e,t]),s=i&&i==="ReadOnly"||n,l=o.IsSuspended;return Jb.createElement(STe,{className:"ab-SuspendButton","data-name":o.IsSuspended?"un-suspend":"suspend",disabled:s,style:r,onChange:a,checked:!l},l?"inactive":"active")});var rSt=o=>{o.stopPropagation()},vT=class extends kc.Component{render(){return kc.createElement(bTe.Flex,{justifyContent:this.props.justifyContent||"center",margin:0,padding:0,onClick:rSt},this.props.showEdit&&kc.createElement(wp,{onClick:()=>this.props.editClick?this.props.editClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-edit)",fill:"var(--ab-color-text-on-edit)",background:"var(--ab-color-action-edit)"},disabled:this.props.overrideDisableEdit||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipEdit,accessLevel:this.props.accessLevel}),this.props.showClone&&kc.createElement(dk,{onClick:()=>this.props.cloneClick?this.props.cloneClick():null,style:{marginLeft:"0px",marginTop:"2px",marginBottom:"2px",marginRight:"2px",color:"var(--ab-color-text-on-clone)",fill:"var(--ab-color-text-on-clone)",background:"var(--ab-color-action-clone)"},children:null,disabled:this.props.overrideDisableClone||this.props.cloneAccessLevel=="ReadOnly",tooltip:this.props.overrideTooltipClone,accessLevel:this.props.cloneAccessLevel}),this.props.showDelete&&kc.createElement(Ep,{"data-name":"delete",style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-delete)",fill:"var(--ab-color-text-on-delete)",background:"var(--ab-color-action-delete)"},disabled:this.props.overrideDisableDelete||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipDelete,ConfirmAction:this.props.confirmDeleteAction,ConfirmationMsg:"Are you sure you want to delete this "+this.props.entityType+"?",ConfirmationTitle:"Delete "+this.props.entityType,accessLevel:this.props.accessLevel}),this.props.showShare&&kc.createElement(Zb,{style:{marginLeft:"1px",marginTop:"2px",marginBottom:"2px",marginRight:"1px",color:"var(--ab-color-text-on-share)",fill:"var(--ab-color-text-on-share)",background:"var(--ab-color-action-share)"},onShare:e=>this.props.shareClick?this.props.shareClick(e):null,Header:`TeamSharing ${this.props.entityType}`,disabled:this.props.overrideDisableShare||this.props.accessLevel=="ReadOnly",tooltip:this.props.overrideTooltipShare,accessLevel:this.props.accessLevel}),this.props.showSuspend&&this.props.suspendableObject&&kc.createElement(ck,{style:{marginLeft:2,alignSelf:"center"},onSuspend:this.props.onSuspend,onUnSuspend:this.props.onUnSuspend,suspendableObject:this.props.suspendableObject,disabled:this.props.accessLevel=="ReadOnly"}))}};vT.defaultProps={suspendableObject:null,showEdit:!0,showDelete:!0,showShare:!1,showSuspend:!1,overrideDisableEdit:!1,overrideDisableDelete:!1,overrideDisableClone:!1,overrideDisableShare:!1,confirmDeleteAction:null,entityType:"",accessLevel:"Full",editSize:"xsmall",deleteSize:"xsmall",shareSize:"xsmall"};var Su=class extends Ff.Component{render(){let e=[];return this.props.showBold?e.push(Ff.createElement("b",null,this.props.item1)):e.push(Ff.createElement("i",null,this.props.item1)),e.push(Ff.createElement("i",null,this.props.item2)),e.push(Ff.createElement(vT,{justifyContent:"start",confirmDeleteAction:this.props.onDelete,showEdit:this.props.showEdit,editClick:()=>this.props.onEdit(),shareClick:t=>this.props.onShare(t),showShare:this.props.showShare,entityType:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel})),Ff.createElement(Df,{SummaryItems:e})}};d();var Pp=w(require("react")),qTe=require("react"),xT=w(re());d();var ya=w(require("react")),FTe=require("react");var ST=w(re());d();var ho=w(require("react")),_f=require("react"),us=w(re());d();var ATe=()=>{let o=typeof globalThis!="undefined"?globalThis:window;return/(Mac|iPhone|iPod|iPad)/i.test(o.navigator.platform)};d();var xTe=w(require("react")),RTe=w(re());var mk=o=>xTe.createElement(RTe.Text,v({fontSize:1,color:"inputcolor"},o));d();var ETe=w(require("react")),bu=require("react");d();var wTe=()=>(typeof globalThis!="undefined"?globalThis:window).ResizeObserver;var nSt=(o,e)=>{let t=wTe();if(!t)return()=>{};let r=new t(n=>{var l;let i=n[0],{width:a,height:s}=i.contentRect;if((l=i.borderBoxSize)!=null&&l[0])s=i.borderBoxSize[0].blockSize,a=i.borderBoxSize[0].inlineSize;else{let u=o.getBoundingClientRect();s=u.height,a=u.width}e({width:a,height:s})});return r.observe(o),()=>{r.disconnect()}},D8=(o,e,t={earlyAttach:!1})=>{let r=(0,bu.useRef)({width:0,height:0}),n=i=>{let a;return o.current&&(a=nSt(o.current,s=>{s={width:Math.round(s.width),height:Math.round(s.height)};let l=r.current;(l.width!==s.width||l.height!==s.height)&&(r.current=s,i(s))})),()=>{a&&a()}};(0,bu.useEffect)(()=>t.earlyAttach?()=>{}:n(e),[o.current,e,t.earlyAttach]),(0,bu.useLayoutEffect)(()=>t.earlyAttach?n(e):()=>{},[o.current,e,t.earlyAttach])},iSt=o=>{let e=(0,bu.useMemo)(()=>({position:"absolute",top:0,left:0,width:"100%",height:"100%",boxSizing:"border-box"}),[]),{notifyOnMount:t,earlyAttach:r}=o,n=(0,bu.useRef)(!0),i=(0,bu.useRef)(null),a=(0,bu.useCallback)(s=>{if(n.current&&!t){n.current=!1;return}o.onResize(s)},[o.onResize]);return D8(i,a,{earlyAttach:r||!1}),ETe.createElement("div",{ref:i,style:e})};iSt.defaultProps={notifyOnMount:!0,earlyAttach:!1};d();var TTe=w(require("react"));var PTe=(o,e)=>{let t=TTe.useCallback(r=>{if((r.ctrlKey||r.metaKey)&&(r.code==="ArrowUp"||r.code==="ArrowDown")){let n=r.code==="ArrowUp",i=e.reduce((a,s,l)=>(s!=="-"&&a.push(l),a),[]);o(a=>{let s=null,l=i.indexOf(a);if(n){let u=i[l-1];s=typeof u=="number"?u:i[i.length-1]}else{let u=i[l+1];s=typeof u=="number"?u:i[0]}return s})}},[e,o]);V1("keydown",t)};var ITe=ho.createContext({data:null,sections:[],setCurrentSection:o=>{}});function DTe(){return ho.useContext(ITe)}var fk=o=>{var T,I;let e=0;if(o.defaultCurrentSectionName){let D=o.sections.findIndex(P=>P!=="-"&&(P==null?void 0:P.title)===o.defaultCurrentSectionName);D>=0&&(e=D)}let[t,r]=ko(o,"currentIndex",e,{onChange:D=>{var P;(P=o.onSectionChange)==null||P.call(o,D)}}),[n,i]=(0,_f.useState)(!1),[a]=(0,_f.useState)(()=>new Map),s=()=>{var D;(D=o.onFinish)==null||D.call(o,o.data)},l=D=>{let P=A[D];return P==="-"?ho.createElement(ho.Fragment,{key:D}):ho.createElement(us.Flex,{flexDirection:"column",key:D,"data-name":`section-${D}`,style:{minHeight:"100%"},mr:2},ho.createElement(us.Box,{py:3,paddingLeft:2,fontSize:4,className:"ab-OnePageWizard__details"},P.details),ho.createElement(us.Box,{flex:1,className:"ab-OnePageWizard__section"},P.render(o.data,D)))},u=(0,_f.useRef)(null),p=ho.createElement("div",{ref:u,className:"ab-OnePageWizard__selected-title-overlay",style:{position:"absolute",background:"var(--ab-cmp-one-page-wizard-selected-title__background)",pointerEvents:"none",borderRadius:"var(--ab__border-radius)",transition:"top 0.2s"}}),c=(0,_f.useRef)(null),[m,f]=(0,_f.useState)(0);D8(c,({width:D})=>{f(D)}),ho.useEffect(()=>{let D=u.current,O=D.parentNode.children[t];D.style.top=`${O.offsetTop}px`,D.style.left=`${O.offsetLeft}px`,D.style.height=`${O.offsetHeight}px`,D.style.width=`${O.offsetWidth}px`},[t,m]);let g=0,C=(0,_f.useRef)(null),y=0,b=null,S={data:o.data,sections:o.sections,setCurrentSection:r},A=ho.useMemo(()=>o.sections.filter(Boolean).filter(D=>D==="-"||D.isVisible==null||D.isVisible(o.data,S)),[o.sections]);S.sections=A;let x=A.reduce((D,P,O)=>{if(P==="-")return D.set(O,!0),D;let M=P.isValid?P.isValid(o.data,S):!0;return M!==!0&&(y++,b==null&&(b=M)),D.set(O,M),D},new Map);PTe(r,A);let E=!y;return ho.createElement(SC.Provider,{value:{namedQuery:n,setNamedQuery:i}},ho.createElement(ITe.Provider,{value:S},ho.createElement(oi,{modal:!0,isOpen:!0,showCloseButton:!1,focusOnBrowserVisible:!0,style:{borderRadius:"var(--ab__border-radius)",overflow:"hidden",height:"80vh"},ref:C,onDismiss:()=>{var D;return(D=o.onHide)==null?void 0:D.call(o)},onKeyDown:D=>{if(D.metaKey||D.ctrlKey){let{key:P}=D;if(!isNaN(Number(P))){let O=Number(P);if(a.has(O)){let M=a.get(O);r(M),D.preventDefault(),D.stopPropagation(),requestAnimationFrame(()=>{var B;(B=C==null?void 0:C.current)==null||B.bringToFront()})}}}}},ho.createElement(us.Flex,{className:"ab-OnePageWizard",flexDirection:"column","data-name":o.name,style:v({height:"100%",width:"90vw",maxWidth:1200},o.style)},ho.createElement(us.Flex,{flexDirection:"row",alignItems:"stretch",flex:1,style:{overflow:"auto"}},ho.createElement(us.Flex,{flexDirection:"column",padding:3,className:"ab-OnePageWizard__section-title-container",ref:c,style:v({overflow:"auto",position:"relative",flex:"none"},o.titleContainerStyle)},A.map((D,P)=>{if(D==="-")return ho.createElement(us.Box,{as:"hr",mt:2,className:"ab-OnePageWizard__section-separator",key:`${P}-`,style:{width:"100%",border:"none",borderTop:"1px solid var(--ab-color-inputborder)"}});g++,a.set(g,P);let O=P===t,M=!1;return ho.createElement(us.Flex,{className:"ab-OnePageWizard__section-title","data-name":D.title,flexDirection:"row",style:{cursor:M?"auto":"pointer",zIndex:10,transition:"color 0.2s",opacity:M?.5:1},key:D.title,color:O?"var(--ab-cmp-one-page-wizard-section-title__color)":"",px:2,py:1,mt:P?2:0,onClick:()=>{M||r(P)}},ho.createElement(mk,{mr:2,style:{display:"inline-block"}},g),ho.createElement("div",{style:{flex:1}},D.title),ho.createElement(Lt,{name:"error",style:{marginLeft:"var(--ab-space-2)",visibility:x.get(P)!==!0?"visible":"hidden"}}))}),p,ho.createElement(us.Box,{flex:1}),ho.createElement(mk,{style:{lineHeight:1.5},className:"ab-OnePageWizard__key-hint"},ATe()?"Cmd":"Ctrl"," + #",ho.createElement("br",null),"to navigate")),ho.createElement(us.Flex,{flex:1,flexDirection:"column",className:"ab-OnePageWizard__section-container"},l(t))),ho.createElement(us.Flex,{flexDirection:"row",padding:2,alignItems:"center",className:"ab-WizardDialog__footer ab-OnePageWizard__footer"},ho.createElement(X,{tone:"neutral",variant:"text","data-name":"close",onClick:()=>{var D;return(D=o.onHide)==null?void 0:D.call(o)},tooltip:(T=o.closeTooltip)!=null?T:"Close wizard",accessLevel:"Full"},(I=o.closeText)!=null?I:"CLOSE"),ho.createElement(mk,{ml:2},"Esc"),ho.createElement(us.Text,{fontSize:2,mr:3,className:"ab-OnePageWizard__error",style:{flex:1,color:"var(--ab-color-error)",textAlign:"end"}},b),ho.createElement(X,{tone:"accent","data-name":"finish",variant:"raised",disabled:E!==!0,onClick:()=>s(),icon:"check",accessLevel:"Full"},"Finish"))))))};var _Te=w(eA());var Us=o=>ya.createElement(ST.Text,v({fontSize:2,mb:3},o)),MTe=o=>ya.createElement(ST.Text,v({fontSize:2,mt:1},o)),NTe=ya.createContext({data:null,sections:[],moduleInfo:null,api:null,namedQuery:!1});function Ee(){return ya.useContext(NTe)}var dr=o=>{let{api:e}=ne(),t=at(),r=ya.useCallback(p=>t(Nm(p)),[]),[n,i]=(0,FTe.useState)(!1),a=o.moduleInfo.FriendlyName?`${(0,_Te.default)(o.moduleInfo.FriendlyName)}-wizard`:"",s={data:o.data,api:e,namedQuery:n,moduleInfo:o.moduleInfo,sections:o.sections},l=o.sections.map(p=>{if(p==="-")return"-";let c=typeof p.isValid=="function"?(f,g)=>p.isValid(f,e,v(v({},g),s)):void 0,m=typeof p.isVisible=="function"?(f,g)=>p.isVisible(f,e,v(v({},g),s)):void 0;return R(v({},p),{isValid:c,isVisible:m})}),u=()=>{var p;n&&n.Name&&r(n),(p=o.onFinish)==null||p.call(o,o.data)};return ya.createElement(NTe.Provider,{value:s},ya.createElement(SC.Provider,{value:{namedQuery:n,setNamedQuery:i}},ya.createElement(fk,R(v({},o),{name:a,sections:l,onFinish:u}))))},Or=()=>{let{setCurrentSection:o,sections:e,data:t}=DTe(),r=n=>ya.createElement(X,{px:1,variant:"text",style:{textDecoration:"underline",display:"inline-block",fontSize:"var(--ab-font-size-2)"},onClick:()=>{o(n)}},"edit");return ya.createElement(ST.Box,{className:"ab-OnePageWizardSummary"},e.map((n,i)=>n==="-"||!n.renderSummary?null:ya.createElement(K,{keyboardNavigation:!1,mt:i?2:0,key:i},ya.createElement(K.Tab,null,n.title," ",r(i)),ya.createElement(K.Content,null,n.renderSummary(t)))).filter(Boolean))};d();var Vc=w(require("react")),VTe=w(re());d();var LTe=w(require("react")),kTe=require("react");var OC=o=>{let{columnFilterText:e,availableColumns:t,selected:r,onChange:n,singleSelect:i}=o,a=(0,kTe.useMemo)(()=>e?s=>s.friendlyName.toLowerCase().indexOf(e.toLowerCase())!=-1:null,[e]);return LTe.createElement(bi,{value:r,options:t,filter:a,singleSelect:i,allowReorder:!1,onChange:s=>{n(i?s.length?[s.pop()]:[]:s)},toIdentifier:s=>s.columnId,toLabel:s=>s.friendlyName,noSelectionLabel:i?"Please select a column":"You have not selected any columns.",xSelectedLabel:i?()=>null:s=>s>1?`You selected ${s} columns.`:"You selected one column."})};OC.defaultProps={allowReorder:!0};var BTe=o=>{let{api:e}=Ee();return Vc.createElement(VTe.Text,{pr:2,py:2,fontSize:2},"Custom sort column: ",Vc.createElement(Ge,null,e.columnApi.getFriendlyNameForColumnId(o.ColumnId)))},GTe=o=>o.ColumnId?!0:"You have to select a Column for Custom Sort",HTe=o=>{let{data:e,api:t}=Ee(),r=Vc.useMemo(()=>{let n=t.columnApi.getSortableColumns(),i=t.customSortApi.getCustomSorts(),a=t.optionsApi.getGeneralOptions().customSortComparers||[],s=[...i.map(l=>l.ColumnId),...a.map(l=>t.scopeApi.getColumnIdsInScope(l.scope))];return n.filter(l=>!o.isNew&&l.columnId===(e==null?void 0:e.ColumnId)?!0:s.every(u=>l.columnId!==u))},[]);return Vc.createElement(K,{style:{height:"100%"}},Vc.createElement(K.Tab,null,"Column"),Vc.createElement(K.Content,null,Vc.createElement(OC,{availableColumns:r,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:n=>{o.onChange(R(v({},e),{SortedValues:[],ColumnId:n[0]}))},allowReorder:!1})))};d();var Tp=w(require("react")),Mf=require("react"),UTe=w(re());d();d();var bT=w(require("react")),hk=o=>bT.createElement("div",{style:o.style,className:"ab-Loader__Spinner"}),AT=o=>bT.createElement("div",{style:o.style,className:"ab-Loader"},bT.createElement(hk,null),bT.createElement("span",{className:"ab-Loader__text"},o.children));d();var tA=async(o,e,t=100)=>{let r=!1;return o==null||o.then(()=>{r=!0}),(async()=>(await new Promise(n=>setTimeout(n,t)),r||e()))(),o};var WTe=o=>!o.SortedValues||!o.SortedValues.length?"You have to specify at least one value for Custom Sort order":!0,zTe=o=>o.SortedValues.length?Tp.createElement(UTe.Text,{fontSize:2},Tp.createElement(Ai,{options:o.SortedValues,value:o.SortedValues,toIdentifier:e=>`${e}`,toLabel:e=>`${e}`,allowWrap:!0,readOnly:!0})):null,jTe=o=>{let{data:e,api:t}=Ee(),[r,n]=(0,Mf.useState)([]),[i,a]=(0,Mf.useState)(!1);(0,Mf.useEffect)(()=>{let m=!0;return(async()=>{n([]);let f=await tA(t.gridApi.internalApi.getDistinctCustomSortDisplayValuesForColumn(e.ColumnId),()=>m&&a(!0));!m||(a(!1),n(f))})(),()=>{m=!1}},[e.ColumnId]);let s=(0,Mf.useMemo)(()=>!e.SortedValues||!e.SortedValues.length?new Map:e.SortedValues.reduce((m,f)=>(m.set(f,!0),m),new Map),[e.SortedValues]),l=Tp.useCallback(m=>s.has(m),[s]),u=(0,Mf.useMemo)(()=>Hs(r,e.SortedValues,{sortUnorderedItems:!1}),[l,r,e.SortedValues]),p="ab-CustomSortWizard__SortOrder",c=Me(p,i&&`${p}--loading`);return Tp.createElement(K,{style:{height:"100%"},className:c},Tp.createElement(K.Tab,null,"Sort Order"),Tp.createElement(K.Content,null,i&&Tp.createElement(AT,null,"Loading"),Tp.createElement(bi,{toIdentifier:m=>`${m}`,toLabel:m=>`${m}`,options:u,value:e.SortedValues,allowReorder:l,xSelectedLabel:()=>"Your Sort Order:",onChange:m=>{o.onChange(R(v({},e),{SortedValues:m}))}})))};d();var FC=w(require("react"));d();var O8=w(require("react"));var KTe=o=>{let{api:e}=ne(),t=()=>{var s;return(s=e.internalApi.getAvailableTags())!=null?s:[]},{availableTags:r=t(),selectedTags:n=[],onChange:i,singleSelect:a}=o;return O8.createElement(bi,{options:r,value:n.map(s=>e.internalApi.getLabelForTag(s)),singleSelect:a,allowReorder:!1,onChange:(s,l)=>{i(s.map(u=>l.get(u)))},selectionBoxPosition:"top",toIdentifier:s=>e.internalApi.getLabelForTag(s),toLabel:s=>e.internalApi.getLabelForTag(s),noSelectionLabel:a?"Select a tag":"You have not selected any tags.",xSelectedLabel:a?()=>"Selected tag:":()=>"Selected tags:"})},QTe=o=>{let{tags:e=[]}=o,{api:t}=ne();return O8.createElement(Ai,{options:e,value:e.map(r=>t.internalApi.getValueForTag(r)),toIdentifier:r=>t.internalApi.getValueForTag(r),toLabel:r=>t.internalApi.getLabelForTag(r),allowWrap:!0,readOnly:!0})};var YTe=w(re());var Fr=o=>{let{onChange:e}=o,{data:t}=Ee();return FC.createElement(K,{style:{height:"100%"}},FC.createElement(K.Tab,null,"Tags"),FC.createElement(K.Content,null,FC.createElement(KTe,{selectedTags:t.Tags,onChange:r=>e(R(v({},t),{Tags:r}))})))},_r=o=>{var e;return(e=o.Tags)!=null&&e.length?FC.createElement(YTe.Text,{fontSize:2},FC.createElement(QTe,{tags:o.Tags})):null};var gk=o=>{var s,l;let e=o.data,t=Dt(u=>{var p;return(p=u.CustomSort)==null?void 0:p.CustomSorts});((s=o.popupParams)==null?void 0:s.action)==="Edit"&&((l=o.popupParams)==null?void 0:l.column)&&(e=t.find(u=>{var p;return u.ColumnId==((p=o.popupParams)==null?void 0:p.column.columnId)}));let[r,n]=(0,qTe.useState)(()=>{var p,c;if(e)return Zt(e);let u=Ke.CreateEmptyCustomSort();return(p=o.popupParams)!=null&&p.column&&(u.ColumnId=(c=o.popupParams)==null?void 0:c.column.columnId),u}),i=at(),a=()=>{i(e?hc(r):wm(r)),o.onFinishWizard(r)};return Pp.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onFinish:a,onHide:o.onCloseWizard,sections:[{isValid:GTe,renderSummary:BTe,details:"Select a Column for Custom Sort",render:()=>Pp.createElement(xT.Box,{padding:2,style:{height:"100%"}},Pp.createElement(HTe,{isNew:o.isNew,onChange:n})),title:"Column"},{title:"Sort Order",details:'Select values to specify Custom Sort order - use "Drag to reorder" checkbox to modify order',isValid:WTe,renderSummary:zTe,render:()=>Pp.createElement(xT.Box,{padding:2,style:{height:"100%"}},Pp.createElement(jTe,{onChange:n}))},{details:"Select Custom Sort Tags",title:"Tags",isVisible:(u,p)=>p.internalApi.shouldDisplayTagSections(),render:()=>Pp.createElement(xT.Box,{padding:2},Pp.createElement(Fr,{onChange:n})),renderSummary:_r},"-",{title:"Summary",details:"Review your Custom Sort",render:()=>Pp.createElement(xT.Box,{padding:2},Pp.createElement(Or,null))}]})};var F8=class extends Au.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.CustomSorts.find(r=>r.ColumnId==t.ColumnId)?this.props.onEditCustomSort(t):this.props.onAddCustomSort(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t=this.props.CustomSorts.find(a=>a.ColumnId==this.props.summarisedColumn.columnId),r=this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn),n=t==null&&r==null,i;return this.props.summarisedColumn.sortable?n?i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Custom Sort Set",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):r!=null?i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Using a Custom Sort Comparer Function",onNew:()=>this.onNew(),accessLevel:this.props.accessLevel,newButtonTooltip:this.props.moduleInfo.FriendlyName}):i=Au.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:Au.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:this.getCustomSortedValues(t),configEnity:t,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),showEdit:t!=null,onShare:a=>this.props.onShare(t,a),showShare:this.props.teamSharingActivated,onDelete:$v(t),showBold:!0,accessLevel:this.props.accessLevel}):i=Au.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"Column is not sortable",newButtonDisabled:!0,onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}),Au.createElement(Au.Fragment,null,i,this.state.editedAdaptableObject&&Au.createElement(gk,{isNew:this.state.wizardStatus==="New",moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CustomSorts,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyCustomSort();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){this.setState({editedAdaptableObject:Jt.cloneObject(t),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return je.IsNotNullOrEmpty(t.ColumnId)&&qe.IsNotNullOrEmpty(t.SortedValues)}getCustomSortedValues(t){return qe.IsNotNullOrEmpty(t.SortedValues)?t.SortedValues.join(", "):"[Has bespoke Custom Sort implementing using bespoke function]"}};function lSt(o,e){return{CustomSorts:o.CustomSort.CustomSorts}}function uSt(o){return{onAddCustomSort:e=>o(wm(e)),onEditCustomSort:e=>o(hc(e)),onShare:(e,t)=>o(au(e,Gi,t))}}var $Te=ot(lSt,uSt)(F8);d();var _C=w(require("react"));d();var Ck=w(require("react"));var vd=class extends Ck.Component{render(){return Ck.createElement(X,R(v({"data-name":"clear",tooltip:"Clear",iconSize:20,icon:this.props.showIcon==!1?"":"clear"},this.props),{variant:"text"}),this.props.showText?"Clear":"")}};var _8=class extends _C.Component{constructor(e){super(e),this.state=_o.getEmptyConfigState()}render(){let e=this.props.ColumnFilters.find(n=>n.ColumnId==this.props.summarisedColumn.columnId),t=this.getDescription(e),r=[];return r.push(_C.createElement("b",null,_C.createElement(vu,{moduleInfo:this.props.moduleInfo}))),r.push(t),r.push(_C.createElement(vd,{marginLeft:1,onClick:()=>this.props.onClearFilter(e),tooltip:"Clear Filter",disabled:e==null,accessLevel:this.props.accessLevel})),_C.createElement(Df,{SummaryItems:r})}getDescription(e){return this.props.summarisedColumn&&!this.props.summarisedColumn.filterable?"Column is not filterable":e==null?"No Column Filter Active":this.props.api.filterApi.internalApi.columnFilterToString(e)}};function dSt(o){return{ColumnFilters:Im(o)}}function pSt(o){return{onClearFilter:e=>o(od(e)),onClearPopupParams:()=>o(Mv()),onShare:(e,t)=>o(au(e,Rn,t))}}var XTe=ot(dSt,pSt)(_8);d();var MC=w(require("react"));d();var ds=w(require("react")),xk=w(re());d();var Yt=w(require("react")),ZTe=require("react"),Ga=w(re());var Ip=({Scope:o})=>{let e=[];return o?(o&&"ColumnIds"in o&&o.ColumnIds.length===0&&e.push("No columns selected for scope"),o&&"DataTypes"in o&&o.DataTypes.length===0&&e.push("No data types selected for scope"),e.length?e.join(", "):!0):"No scope specified or scope is empty"},JTe={Date:{label:"Date",value:"Date"},Number:{label:"Number",value:"Number"},String:{label:"String",value:"String"},Boolean:{label:"Boolean",value:"Boolean"}},Nf=(o,e)=>{let r=ne().api.scopeApi,n=r.getColumnsForScope(o);return Yt.createElement(Yt.Fragment,null,Yt.createElement(Ga.Box,null,Yt.createElement(Us,{mb:0},r.scopeIsAll(o)?e.scopeWholeRow:null)),Yt.createElement(Ga.Box,{style:{overflow:"hidden"}},"ColumnIds"in o?Yt.createElement(Yt.Fragment,null,Yt.createElement(Us,{mb:n.length?2:0},e.scopeColumns),n.length?Yt.createElement(Ai,{options:n,value:n.map(i=>i.columnId),toLabel:i=>i.friendlyName,allowWrap:!0,readOnly:!0,renderLabel:i=>Yt.createElement(Us,{mb:0},i),toIdentifier:i=>i.columnId}):null):null),Yt.createElement(Ga.Box,null,"DataTypes"in o?Yt.createElement(Yt.Fragment,null,Yt.createElement(Ga.Text,{fontSize:2,mb:2},e.scopeDataTypes),Yt.createElement(Ai,{readOnly:!0,options:o.DataTypes,value:o.DataTypes,toLabel:i=>i,allowWrap:!0,renderLabel:i=>Yt.createElement(Ga.Text,{fontSize:2},`DataType: ${i}`),toIdentifier:i=>i})):null))},cSt=Object.values(JTe),xu=o=>{let{api:e}=ne(),{scopeApi:t,columnApi:r}=e,[n,i]=(0,ZTe.useState)(""),a=Yt.useMemo(()=>{let g=o.scopeColumns||r.getColumns();return typeof o.isColumnAvailable=="function"?g.filter(C=>o.isColumnAvailable(C)):g},[]),s=g=>{if(!!g){if(t.scopeIsAll(g))return"All";if(t.scopeHasColumns(o.scope))return"Column";if(t.scopeHasDataType(o.scope))return"DataType"}},l=g=>{let C;g=="Column"?C={ColumnIds:[]}:g=="DataType"?C={DataTypes:[]}:C={All:!0},o.updateScope(C)},u=g=>{let C={ColumnIds:g};o.updateScope(C)},p=(g,C)=>{let y=[].concat(t.getDataTypesInScope(o.scope));if(g)y.push(C);else{let S=y.indexOf(C,0);S>-1&&y.splice(S,1)}let b={DataTypes:y};o.updateScope(b)},c=s(o.scope),m=o.scope&&"DataTypes"in o.scope?t.getDataTypesInScope(o.scope):null,f=cSt;return Array.isArray(o.availableDataTypes)&&(f=o.availableDataTypes.map(g=>JTe[g])),Yt.createElement(K,{"data-name":"scope-component",className:"ab-ScopeComponent",value:c,style:v({height:"100%"},o.style),onValueChange:l},o.hideWholeRow?null:Yt.createElement(K.Tab,{value:"Row"},Yt.createElement(_e,{margin:0,checked:c=="All",tabIndex:-1},"All Columns")),!o.disableColumns&&Yt.createElement(K.Tab,{value:"Column"},Yt.createElement(_e,{margin:0,value:"Column",checked:c=="Column",tabIndex:-1},"Selected Columns")),!o.disableDataTypes&&Yt.createElement(K.Tab,{value:"DataType"},Yt.createElement(_e,{margin:0,value:"DataType",checked:c=="DataType",tabIndex:-1},"Data Types")),o.hideWholeRow?null:Yt.createElement(K.Content,{value:"Row",style:{flex:"none"},"data-name":"row-scope"},Yt.createElement(Ga.Text,{padding:2,pl:0,fontSize:2},o.descriptions.rowScope)),!o.disableColumns&&Yt.createElement(K.Content,{value:"Column",style:{flex:1,overflow:"auto"},"data-name":"column-scope",padding:0},Yt.createElement(Ga.Flex,{flexDirection:"row",alignItems:"center",padding:2},Yt.createElement(Ga.Text,{fontSize:2},o.descriptions.columnScope),Yt.createElement(Ga.Flex,{flex:3}),Yt.createElement(Ba,{value:n,OnTextChange:i,placeholder:"Type to search columns",style:{flex:1}})),Yt.createElement(Ga.Flex,{paddingLeft:2,flex:1,style:{overflow:"hidden"}},Yt.createElement(OC,{columnFilterText:n,allowReorder:!1,availableColumns:a,selected:t.getColumnIdsInScope(o.scope),onChange:u}))),!o.disableDataTypes&&Yt.createElement(K.Content,{value:"DataType",style:{flex:"none"},"data-name":"datatype-scope"},Yt.createElement(Ga.Box,null,o.descriptions.dataTypeScope&&Yt.createElement(Ga.Text,{p:2,pl:0,mb:2,fontSize:2},o.descriptions.dataTypeScope),Yt.createElement(Ga.Flex,{flexDirection:"column"},f.map(g=>Yt.createElement(ye,{"data-name":"scope","data-value":g.value,key:g.value,checked:m&&m.includes(g.value),onChange:C=>p(C,g.value)},g.label))))))};d();var yk=w(require("react"));var ePe=o=>{let{data:e,api:t}=Ee(),r=yk.useMemo(()=>t.columnApi.getNumericColumns(),[]);return yk.createElement(xu,{availableDataTypes:["Number"],scopeColumns:r,scope:e.Scope,descriptions:{rowScope:"Matching rows will have the plus/minus applied",columnScope:"Matching Columns will have the plus/minus applied"},updateScope:n=>{let i=n;n&&"DataTypes"in n&&n.DataTypes.length===0&&(i=R(v({},n),{DataTypes:["Number"]})),o.onChange(R(v({},e),{Scope:i}))}})};d();var wi=w(require("react")),G8=w(re());d();var Ws=w(require("react"));d();var to=w(require("react")),iPe=require("react"),Vf=w(re());d();d();var Ri=w(require("react")),kf=w(re());d();var Nl=w(require("react")),TT=w(re());d();var va=w(require("react")),rA=w(re());d();d();var Lf=w(require("react")),ET=w(re());d();var Sd=w(require("react"));d();var vk=w(require("react"));d();var M8=w(require("react")),N8=require("react");var mSt=M8.createContext({clickInfoRef:null,selected:{},getItemId:o=>o,toggleOnSimpleClick:!1,setSelected:o=>{}}),tPe=()=>{let{selected:o,setSelected:e,toggleOnSimpleClick:t,clickInfoRef:r,getItemId:n}=(0,N8.useContext)(mSt);return(i,{index:a})=>{if(a===void 0)return;let{lastClickIndexWithoutShift:s,lastShiftSelectionRange:l}=r.current,{shiftKey:u,metaKey:p,ctrlKey:c}=i;c&&(p=!0),p&&(u=!1);let m=`${n(a)}`,f;if(u){let g=s,C=a;if(f=v({},o),l){let{start:S,end:A}=l;for(;S<=A;S++)delete f[n(S)]}let[y,b]=[Math.min(g,C),Math.max(g,C)];for(r.current.lastShiftSelectionRange={start:y,end:b};y<=b;y++)f[n(y)]=!0;e(f)}else{if(r.current.lastClickIndexWithoutShift=a,!p&&!t)f={[m]:!0};else{let g=o[m];f=v({},o),g?(delete f[m],r.current.lastClickIndexWithoutShift=s):f[m]=!0}r.current.lastShiftSelectionRange=null,e(f)}}};var L8="ab-ListGroupItem",fSt=vk.forwardRef((o,e)=>{let u=o,{className:t,active:r,factory:n="button",noZebra:i}=u,a=ze(u,["className","active","factory","noZebra"]),s=tPe();return vk.createElement(n,R(v({},a),{onClick:p=>{a.onClick&&a.onClick(p),s(p,{index:o.index})},ref:e,className:Me(t,L8,i?`${L8}--no-zebra`:null,`${L8}--${r?"active":"not-active"}`)}))}),Sk=fSt;var k8=w(re());d();var RT=w(require("react"));var hSt="ab-GridList",gSt=new Map([["item",{field:"item",header:null,defaultFlex:1}]]),CSt=o=>{var t;let e=RT.Children.map(o.children,(r,n)=>({item:r,id:n})).filter(r=>!!r.item);return RT.createElement(Wi,{data:e,primaryKey:"id"},RT.createElement(Hn,{header:!1,showZebraRows:o.showZebraRows,rowHeight:(t=o.rowHeight)!=null?t:"--ab-grid-row-height",domProps:{className:Me(hSt,o.className),style:{minHeight:"15rem"}},columns:gSt}))},oPe=CSt;var wT=require("react");var oA=o=>{let[e,t]=(0,wT.useState)(""),r=Sd.useCallback(m=>{t(m),o==null||o.onFilterChange(m)},[o.onFilterChange]),[n,i]=(0,wT.useState)(o.uiSelectedColumnValues),a=m=>{i(m),o.onColumnValueSelectedChange(m)};(0,wT.useEffect)(()=>{i(o.uiSelectedColumnValues)},[o.uiSelectedColumnValues]);let s=m=>Sd.createElement(ye,R(v({},m),{variant:"agGrid",fontSize:2,marginTop:1,marginBottom:1,marginLeft:1,marginRight:1,title:typeof m.children=="string"?m.children:null})),l=m=>{let f=n.indexOf(m);if(f>=0){let g=[...n];g.splice(f,1),a(g)}else a([...n,m])},u=o.columnDistinctValues.map((m,f)=>{let g=n.indexOf(m.value)>=0,C=m.label;if(je.IsNullOrEmpty(C))return null;let y=je.IsNullOrEmpty(e.toLocaleLowerCase())||je.IsNullOrEmpty(C==null?void 0:C.toLocaleLowerCase())||C.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())<0;return!o.suppressClientSideFilter&&je.IsNotNullOrEmpty(e)&&y?null:o.useAgGridStyle?s({key:"columnValue"+f,children:m.label,checked:g,onChange:()=>l(m.value),disabled:o.disabled,style:{width:"100%"}}):Sd.createElement(Sk,{noZebra:o.useAgGridStyle,key:"columnValue"+f,onClick:()=>l(m.value),active:g,value:m.value},m.label)}),p=Sd.createElement(Ba,{autoFocus:!0,type:"text",placeholder:"Search Column Values",value:e,style:{paddingTop:"var(--ab-space-1)",paddingBottom:"var(--ab-space-1)",paddingLeft:"var(--ab-space-1)",borderRadius:"var(--ab__border-radius)"},OnTextChange:r}),c="ab-ListBoxFilterForm";return Sd.createElement("div",{className:Me(c,o.useAgGridStyle?`${c}--aggrid-style`:null,o.isLoading&&`${c}--loading`)},Sd.createElement(k8.Box,{px:2},Sd.createElement(k8.Box,{mx:o.useAgGridStyle?0:"2px",marginBottom:2},p,o.isLoading&&Sd.createElement(AT,null,"Loading"))),!o.isLoading&&Sd.createElement(oPe,{showZebraRows:!1,className:o.useAgGridStyle?"":"ab-padding-horizontal-0"},u))};var V8=o=>{var l,u,p;let e=ne(),t=o.columnId,r=e.api.columnApi.getColumnWithColumnId(t),n=((l=e.api.gridApi.internalApi.getDistinctDisplayValuesForColumn(t))!=null?l:[]).map(c=>{var m;return{value:c,label:c.toString?(m=c.toString)==null?void 0:m.call(c):c}}),i=(u=o.predicate.Inputs)!=null?u:[],a=((p=i==null?void 0:i.filter)==null?void 0:p.call(i,c=>c!==void 0||c!==null||c!=="").length)===0,s=Lf.createElement(ET.Flex,{className:"ab-PermitedValuesSelector__PopupContent",padding:1,flexDirection:"column"},Lf.createElement(oA,{currentColumn:r,columns:[],columnDistinctValues:n,dataType:r.dataType,uiSelectedColumnValues:o.predicate.Inputs,useAgGridStyle:!0,onColumnValueSelectedChange:c=>o.onPredicateValuesChange(c)}));return Lf.createElement(ET.Box,{className:"ab-PermitedValuesSelector",mt:2},Lf.createElement(ET.Box,{flex:1},Lf.createElement(Na,{render:()=>s},Lf.createElement(X,{width:"100%",mb:2},(i==null?void 0:i.join(", "))||"No Selected values"))),Lf.createElement(X,{disabled:a,onClick:()=>o.onPredicateValuesChange([])},"Clear Values"))};var ySt=o=>o&&["Values","ExcludeValues"].includes(o.id),bk=o=>{var s;let e="ab-PredicateEditor",t=va.useMemo(()=>o.predicateDefs.map(l=>({value:l.id,label:l.label,onClick:()=>{var u;o.onChange(R(v({},o.predicate),{PredicateId:l.id,Inputs:((u=l==null?void 0:l.inputs)!=null?u:[]).map(p=>{var c;return(c=p.defaultValue)!=null?c:""})}))}})),[o.predicateDefs,o.onChange]),r=(l,u)=>{let{value:p}=l.target,c=[...o.predicate.Inputs];c[u]=p,o.onChange(R(v({},o.predicate),{Inputs:c}))},n=l=>{o.onChange(R(v({},o.predicate),{Inputs:l}))},i=o.predicateDefs.find(l=>{var u;return l.id===((u=o.predicate)==null?void 0:u.PredicateId)}),a=null;return i&&(Um(i==null?void 0:i.icon)?a=va.createElement(Lt,{name:i.icon.name}):(i==null?void 0:i.icon)&&"text"in(i==null?void 0:i.icon)&&(a=va.createElement("span",null,i.icon.text))),va.createElement(rA.Box,{className:e},va.createElement(rA.Flex,{justifyContent:"stretch",alignItems:"center"},a&&va.createElement(Ge,{mr:2},a),va.createElement(Fe,{mb:0,style:{flex:1},listStyle:{minWidth:150},"data-name":"select-predicate",className:`${e}__predicate-dropdown`,placeholder:"Select Rule",showClearButton:!!o.predicate,onClear:o.onClear,items:t,columns:["label"]},i?i.label:"Select Rule")),va.createElement(rA.Flex,null,(s=i==null?void 0:i.inputs)==null?void 0:s.map((l,u)=>va.createElement(va.Fragment,null,u>0&&va.createElement(Ot,{margin:2},"AND"),va.createElement(rA.Flex,{key:u,flex:1,flexDirection:"column"},va.createElement(Vt,{"data-name":`predicate-input-${u}`,marginTop:2,type:l.type,autoFocus:u===0,value:o.predicate.Inputs[u],onChange:p=>r(p,u)}))))),ySt(i)&&va.createElement(V8,{onPredicateValuesChange:n,predicate:o.predicate,columnId:o.columnId}))};var rPe=o=>{var c,m,f,g,C;let{api:e}=ne(),{predicate:t}=o,r=Nl.useMemo(()=>e.columnApi.getColumns().map(y=>({label:y.friendlyName,value:y.columnId})),[]),n=()=>{var b,S;let y=(S=(b=o.data.Rule)==null?void 0:b.Predicates)==null?void 0:S.filter(A=>A!==t);o.onChange(R(v({},o.data),{Rule:{Predicates:y}}))},i=y=>{var S,A;let b=[];t?b=(A=(S=o.data.Rule)==null?void 0:S.Predicates)==null?void 0:A.map(x=>x===t?y:x):b=[y],o.onChange(R(v({},o.data),{Rule:{Predicates:b}}))},a=Nl.useMemo(()=>{var b;let y=[];return o.getPredicateDefsForColId&&((b=o==null?void 0:o.predicate)==null?void 0:b.ColumnId)?y=o.getPredicateDefsForColId(o.predicate.ColumnId):y=o.predicateDefs,y},[o.predicate]),s=Boolean(o.columnPredicateEnabled),l=(c=r.find(y=>y.value===(t==null?void 0:t.ColumnId)))==null?void 0:c.label,u=r.map(y=>({label:y.label,onClick:()=>{i({PredicateId:null,ColumnId:y.value,Inputs:[]})}})),p=null;return(t==null?void 0:t.ColumnId)&&t.ColumnId!==""?p=t.ColumnId:"ColumnIds"in o.data.Scope&&((f=(m=o.data.Scope)==null?void 0:m.ColumnIds)==null?void 0:f[0])&&(p=(C=(g=o.data.Scope)==null?void 0:g.ColumnIds)==null?void 0:C[0]),Nl.createElement(TT.Flex,{className:"ab-EntityRulePredicateEditor",p:3,mb:3},Nl.createElement(TT.Box,{flex:1},Nl.createElement(Ie,null,s&&Nl.createElement(Z,{label:"Column"},Nl.createElement(Fe,{width:"100%",columns:["label"],items:u},l!=null?l:"Select Column")),Nl.createElement(Z,{label:"Predicate"},Nl.createElement(bk,{columnId:p,predicateDefs:a,predicate:t,onChange:i,onClear:n})))),Nl.createElement(TT.Box,null,Nl.createElement(X,{disabled:!t,ml:2,onClick:n,icon:"delete"})))};d();var Ru=(o,e)=>{let t=[];return"ColumnIds"in o&&Array.isArray(o.ColumnIds)&&(t=o.ColumnIds,t=o.ColumnIds.map(r=>e.columnApi.getFriendlyNameForColumnId(r)).filter(Boolean)),"DataTypes"in o&&(t=o.DataTypes),"All"in o&&(t=["All Columns"]),{label:"Target",name:"Target",values:t}};var B8=o=>{var u,p,c,m,f;let{api:e}=ne(),t=e.internalApi.isDocumentationLinksDisplayed(),r=o.data.Rule.Predicates.some(g=>g.ColumnId!==void 0),n=o.predicateDefs.filter(g=>{var C,y;return(y=(C=o.data.Rule)==null?void 0:C.Predicates)==null?void 0:y.every(b=>b.PredicateId!==g.id)}),i=g=>{g?o.onChange(R(v({},o.data),{Rule:{Predicates:[{PredicateId:null,ColumnId:""}]}})):o.onChange(R(v({},o.data),{Rule:{Predicates:[]}}))},a=()=>{var g;o.onChange(R(v({},o.data),{Rule:{Predicates:[...((g=o.data.Rule)==null?void 0:g.Predicates)||[],{PredicateId:n[0].id,Inputs:[]}]}}))},s=Ru(o.data.Scope,e).values.join(", "),l=(u=o.enablePredicateColumnId)!=null?u:!0;return Ri.createElement(Ri.Fragment,null,Ri.createElement(kf.Flex,{mb:2,justifyContent:"space-between"},Ri.createElement(kf.Text,{fontSize:2,mb:2},o.descriptions.selectPredicate),Ri.createElement(X,{disabled:!((c=(p=o.data.Rule)==null?void 0:p.Predicates)!=null&&c.length),onClick:a,icon:"plus",variant:"raised"},"Add Predicate")),l&&Ri.createElement(kf.Flex,{className:"ab-EntityRulePredicateEditor-ScopeTypeSelector",p:2,mb:2,flexDirection:"column"},Ri.createElement(kf.Text,{mb:2},"Create Predicate Rule(s) using"),Ri.createElement(_e,{"data-name":"entity-scope",onClick:()=>i(!1),mr:3,checked:!r},"Active Column:"," ",Ri.createElement(Ge,{ml:1,mr:1},s||"Not Defined")," "),Ri.createElement(_e,{"data-name":"column-scope",onClick:()=>i(!0),checked:r},"Selected Columns (overriding Active Column)")),((f=(m=o.data.Rule)==null?void 0:m.Predicates)!=null&&f.length?o.data.Rule.Predicates:[null]).map((g,C)=>{let y=o.predicateDefs.find(S=>S.id===(g==null?void 0:g.PredicateId)),b=n;return y&&(b=[y,...n]),Ri.createElement(Ri.Fragment,{key:`${C}-${g==null?void 0:g.PredicateId}`},C>0&&Ri.createElement(kf.Box,null,Ri.createElement(Ge,{mb:3},"AND")),Ri.createElement(rPe,{data:o.data,predicate:g,onChange:o.onChange,predicateDefs:b,getPredicateDefsForColId:o.getPredicateDefsForColId,columnPredicateEnabled:r}))}),t&&Ri.createElement(Ot,{"data-name":"query-documentation",mt:3,mb:2,style:{fontSize:"var(--ab-font-size-3)",padding:0}},Ri.createElement(Ms,{mr:2,onClick:()=>window.open(rxe,"_blank")}),"See Predicate documentation for more details and examples"))};var Ak=o=>{let a=o,{type:e,label:t,disabled:r=!1}=a,n=ze(a,["type","label","disabled"]),i=to.createElement(Vf.Flex,{flexDirection:"column"},t," ",to.createElement(Vf.Text,{fontSize:2},"query"));return to.createElement(K.Tab,v({style:{flex:1}},n),!r&&o.showRadio?to.createElement(_e,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i):i)};Ak.defaultProps={isTabsTab:!0};var nA=o=>{var n,i,a,s,l,u,p,c;let{data:e}=o,{api:{predicateApi:t,internalApi:r}}=ne();return!((i=(n=e==null?void 0:e.Rule)==null?void 0:n.Predicates)!=null&&i.length)&&!((a=e==null?void 0:e.Rule)!=null&&a.BooleanExpression)&&!((s=e==null?void 0:e.Rule)!=null&&s.ObservableExpression)&&!((l=e==null?void 0:e.Rule)!=null&&l.AggregatedBooleanExpression)?to.createElement(Vf.Text,{fontSize:2},"No Rule defined"):to.createElement(Vf.Text,{fontSize:2},e.Rule.Predicates?to.createElement(to.Fragment,null,(c=(p=(u=e.Rule)==null?void 0:u.Predicates)==null?void 0:p.map)==null?void 0:c.call(p,(m,f)=>to.createElement(to.Fragment,{key:f},o.renderPredicate(t.predicateToString(m))))):to.createElement(to.Fragment,null,o.renderQueryExpression(r.getAdaptableQueryExpressionText(e.Rule))))},nPe=o=>o.showRadio?to.createElement(_e,{tabIndex:-1,margin:0,checked:o.checked},o.children):to.createElement(to.Fragment,null,"props.children"),Bf=o=>{var O,M,B;let{data:e,children:t,descriptions:r,predicateDefs:n,showNoRule:i=!1,showPredicate:a=!0,showObservable:s=!0,showBoolean:l=!0,showAggregation:u=!0,flexProps:p,module:c}=o,{api:m}=ne(),g=[i,a,s,l,u].filter(Boolean).length>1,C=e.Rule==null?"NoRule":e.Rule.BooleanExpression!=null?"BooleanExpression":e.Rule.ObservableExpression!=null&&s?"ObservableExpression":e.Rule.AggregatedBooleanExpression!=null&&u?"AggregatedBooleanExpression":"Predicate",[y,b]=to.useState(C),S=_=>{b(_),_==="NoRule"&&i?(delete e.Rule,o.onChange(v({},e))):_==="BooleanExpression"&&l?o.onChange(R(v({},e),{Rule:{BooleanExpression:""}})):_==="ObservableExpression"&&s?o.onChange(R(v({},e),{Rule:{ObservableExpression:""}})):_==="AggregatedBooleanExpression"&&u?o.onChange(R(v({},e),{Rule:{AggregatedBooleanExpression:""}})):o.onChange(R(v({},e),{Rule:{Predicates:[{PredicateId:o.defaultPredicateId}]}}))},A=_=>_&&["Values","ExcludeValues"].includes(_.id),x=n.filter(_=>A(_)?"ColumnIds"in e.Scope&&e.Scope.ColumnIds.length===1:!0),E=_=>{o.onChange(R(v({},e),{Rule:{BooleanExpression:_}}))},T=_=>{o.onChange(R(v({},e),{Rule:{ObservableExpression:_}}))},I=_=>{o.onChange(R(v({},e),{Rule:{AggregatedBooleanExpression:_}}))},D=(0,iPe.useMemo)(()=>m.internalApi.getQueryPreviewData(),[]);return to.createElement(Vf.Flex,R(v({className:"ab-EntityRulesEditor",flexDirection:"column",padding:2,pt:0,pl:0},p),{style:v({height:"100%"},p==null?void 0:p.style)}),t,to.createElement(K,{onValueChange:S,value:y,pt:2,pl:2,style:{flex:1,overflow:"auto"}},i?to.createElement(K.Tab,{value:"NoRule",style:{flex:1}},to.createElement(nPe,{showRadio:g,checked:C==="NoRule"},"No Condition")):null,i?to.createElement(K.Content,{value:"NoRule"},to.createElement(Vf.Text,{fontSize:2,mb:2},"Format Column is always applied")):null,a?to.createElement(K.Tab,{value:"Predicate",style:{flex:1}},to.createElement(nPe,{showRadio:g,checked:C==="Predicate"},"Predicate")):null,a?to.createElement(K.Content,{"data-name":"Predicate",value:"Predicate"},to.createElement(B8,{enablePredicateColumnId:o.enablePredicateColumnId,data:e,descriptions:r,predicateDefs:x,getPredicateDefsForColId:o.getPredicateDefsForColId,onChange:o.onChange})):null,l?to.createElement(Ak,{showRadio:g,value:"BooleanExpression",type:C,label:"Boolean"}):null,l?to.createElement(K.Content,{"data-name":"BooleanExpression",value:"BooleanExpression",paddingLeft:0},to.createElement(Bs,{type:"boolean",module:c,value:(O=e.Rule)==null?void 0:O.BooleanExpression,onChange:E,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,s?to.createElement(Ak,{showRadio:g,value:"ObservableExpression",type:C,label:"Observable"}):null,s?to.createElement(K.Content,{"data-name":"ObservableExpression",value:"ObservableExpression",paddingLeft:0},to.createElement(Bs,{type:"observable",module:c,value:(M=e.Rule)==null?void 0:M.ObservableExpression,onChange:T,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null,u?to.createElement(Ak,{showRadio:g,value:"AggregatedBooleanExpression",type:C,label:"Aggregated Boolean"}):null,u?to.createElement(K.Content,{"data-name":"AggregatedBooleanExpression",value:"AggregatedBooleanExpression",paddingLeft:0},to.createElement(Bs,{type:"aggregatedBoolean",module:c,value:(B=e.Rule)==null?void 0:B.AggregatedBooleanExpression,onChange:I,initialData:D,columns:m.columnApi.getQueryableColumns(),namedQueries:m.queryApi.getNamedQueries(),api:m})):null))};function aPe(){let{data:o}=Ee();return Ws.createElement(nA,{data:o,renderPredicate:e=>Ws.createElement(Ws.Fragment,null,"Apply Plus Minus on ",Ws.createElement(yi,null,e)),renderQueryExpression:e=>Ws.createElement(Ws.Fragment,null,"Apply Plus Minus when"," ",Ws.createElement("b",null,Ws.createElement(yi,null,e)))})}function sPe(o){var n;let{data:e,moduleInfo:t}=Ee(),r=R(v({},e),{Rule:(n=e==null?void 0:e.Rule)!=null?n:{BooleanExpression:""}});return Ws.createElement(Bf,{module:t.ModuleName,flexProps:{style:{minHeight:0}},defaultPredicateId:o.defaultPredicateId,predicateDefs:[],showAggregation:!1,showObservable:!1,showPredicate:!1,data:r,onChange:i=>o.onChange(i),descriptions:{selectPredicate:null,useBooleanQuery:Ws.createElement(Ws.Fragment,null,"Use an BooleanQuery if ",Ws.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:null,useAggregationQuery:null}})}d();var Gf=(o,e,t)=>{var r,n,i,a,s,l,u,p,c,m,f,g,C,y,b;return(n=(r=o==null?void 0:o.Rule)==null?void 0:r.Predicates)!=null&&n.length&&!e.predicateApi.isEveryPredicateValid((i=o==null?void 0:o.Rule)==null?void 0:i.Predicates)?`The Predicate${((s=(a=o==null?void 0:o.Rule)==null?void 0:a.Predicates)==null?void 0:s.length)===1?" is":"s are"} not valid`:(l=o==null?void 0:o.Rule)!=null&&l.BooleanExpression&&!e.queryLanguageApi.isValidBooleanExpression((u=o==null?void 0:o.Rule)==null?void 0:u.BooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Boolean Expression":(p=o==null?void 0:o.Rule)!=null&&p.ObservableExpression&&!e.queryLanguageApi.isValidObservableExpression((c=o==null?void 0:o.Rule)==null?void 0:c.ObservableExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Observable Expression":(m=o==null?void 0:o.Rule)!=null&&m.AggregatedBooleanExpression&&!e.queryLanguageApi.isValidAggregatedBooleanExpression((f=o==null?void 0:o.Rule)==null?void 0:f.AggregatedBooleanExpression,t.moduleInfo.ModuleName)?"The Expression is not a valid Aggregated Boolean Expression":(C=(g=o==null?void 0:o.Rule)==null?void 0:g.Predicates)!=null&&C.length&&((b=(y=o==null?void 0:o.Rule)==null?void 0:y.Predicates)==null?void 0:b.some(A=>A.ColumnId!==void 0&&A.ColumnId===""))?"Predicates with custom scope need a valid column":!0};var lPe=o=>{var t;let{data:e}=Ee();return wi.createElement(wi.Fragment,null,wi.createElement(Us,null,"Nudge Value ",wi.createElement(Ge,null,(t=e.NudgeValue)!=null?t:"Not selected")),o.hasCondition&&wi.createElement(aPe,null))},uPe=o=>(e,t,r)=>{var n;if(o){if(!((n=e==null?void 0:e.Rule)!=null&&n.BooleanExpression))return"No valid Rule is specified";let i=Gf(e,t,r);if(typeof i=="string")return i}return typeof e.NudgeValue!="number"?"Nudge value is not specified":e.NudgeValue===0?"Nudge value must be different than 0":!0},dPe=o=>{var r;let{data:e}=Ee(),t=n=>{let i=parseFloat(n.target.value);o.onChange(R(v({},e),{NudgeValue:isNaN(i)?"":i}))};return wi.createElement(G8.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},wi.createElement(K,{autoFocus:!1,padding:2},wi.createElement(K.Tab,null,"Plus Minus Settings"),wi.createElement(K.Content,null,wi.createElement(Ie,null,wi.createElement(Z,{label:"Nudge Value"},wi.createElement(We,{"data-name":"nudge-value",flex:1,marginRight:3,onChange:t,placeholder:"Enter Number",type:"number",value:(r=e.NudgeValue)!=null?r:""})),wi.createElement(Z,{label:"Nudge Type"},wi.createElement(G8.Flex,null,wi.createElement(_e,{"data-name":"nudge-type-always",value:"Always",checked:!o.hasCondition,onChange:()=>o.onConditionChange(!1)},"Always Apply Nudge"),wi.createElement(_e,{"data-name":"nudge-type-condition",marginLeft:3,value:"Expression",checked:o.hasCondition,onChange:()=>o.onConditionChange(!0)},"Create a Rule")))))),o.hasCondition&&wi.createElement(sPe,{defaultPredicateId:"NonBlanks",onChange:o.onChange}))};var Rk=o=>{let[e,t]=ds.useState(()=>{var l,u,p,c,m;let s=R(v({},o.data?o.data:Ke.CreateEmptyPlusMinusNudge()),{Scope:(u=(l=o==null?void 0:o.data)==null?void 0:l.Scope)!=null?u:{All:!0},NudgeValue:(c=(p=o==null?void 0:o.data)==null?void 0:p.NudgeValue)!=null?c:20});return(m=o==null?void 0:o.popupParams)!=null&&m.column&&(s.Scope={ColumnIds:[o.popupParams.column.columnId]}),s}),[r,n]=ds.useState(()=>{var s;return Boolean((s=o==null?void 0:o.data)==null?void 0:s.Rule)});ds.useEffect(()=>{var l;let s=v({},e);r?s.Rule=(l=s.Rule)!=null?l:{BooleanExpression:""}:delete s.Rule,t(s)},[r]);let i=at(),a=()=>{o.data?i(gc(e)):i(Dm(e)),o.onFinishWizard(e)};return ds.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:e,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Target",isValid:Ip,details:"Specify where Plus/Minus should be applied",renderSummary:()=>Nf(e.Scope,{scopeWholeRow:"Plus/Minus is applied for matching rows",scopeColumns:"Plus/Minus is applied in cells in selected columns",scopeDataTypes:"Plus/Minus is applied for cells with selected data type"}),render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(ePe,{onChange:t}))},{title:"Settings",isValid:uPe(r),renderSummary:()=>ds.createElement(lPe,{hasCondition:r}),render:()=>ds.createElement(dPe,{hasCondition:r,onConditionChange:n,onChange:t})},{details:"Select Plus/Minus Tags",title:"Tags",isVisible:(s,l)=>l.internalApi.shouldDisplayTagSections(),render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(Fr,{onChange:t})),renderSummary:_r},"-",{render:()=>ds.createElement(xk.Box,{padding:2},ds.createElement(Or,null)),title:"Summary"}]})};var H8=class extends MC.Component{constructor(e){super(e),this.state=_o.getEmptyConfigState()}render(){let e=[],t=MC.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:Jt.ReturnItemCount(this.props.PlusMinusNudges.filter(r=>this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,r.Scope)),this.props.moduleInfo.FriendlyName),onNew:()=>this.onNew(),newButtonTooltip:"Plus / Minus Rule",accessLevel:this.props.accessLevel});return e.push(t),this.props.PlusMinusNudges.map((r,n)=>{var i;if(this.props.api.scopeApi.isColumnInScopeColumns(this.props.summarisedColumn,r.Scope)){let a=MC.createElement(Su,{key:"PM"+n,item1:"Nudge Value: "+r.NudgeValue,item2:(i=r.Rule)!=null&&i.BooleanExpression?r.Rule.BooleanExpression:"Always",configEnity:r,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(r),onShare:s=>this.props.onShare(r,s),onDelete:xF(r),accessLevel:this.props.accessLevel});e.push(a)}}),MC.createElement("div",null,e,this.state.editedAdaptableObject&&MC.createElement(Rk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:null,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:()=>this.onFinishWizard()}))}onNew(){let e=eo.CreateEmptyPlusMinusNudge();e.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:e,wizardStartIndex:1,wizardStatus:"New"})}onEdit(e){this.setState({editedAdaptableObject:Jt.cloneObject(e),wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}onFinishWizard(){let e=this.state.editedAdaptableObject;this.state.wizardStatus=="Edit"?this.props.onEditPlusMinusNudge(e):this.props.onAddPlusMinusNudge(e),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){return!!this.state.editedAdaptableObject.NudgeValue}};function vSt(o,e){return{PlusMinusNudges:o.PlusMinus.PlusMinusNudges}}function SSt(o){return{onAddPlusMinusNudge:e=>o(Dm(e)),onEditPlusMinusNudge:e=>o(gc(e)),onClearPopupParams:()=>o(Mv()),onShare:(e,t)=>o(au(e,sn,t))}}var pPe=ot(vSt,SSt)(H8);d();var Bc=w(require("react"));d();var PT=w(require("react"));var NC=class extends PT.Component{render(){if(!this.props.Style)return null;let e=Ve.IsNotNullOrEmpty(this.props.Text)?this.props.Text:"Style",t;if(this.props.Style.ClassName)t=PT.createElement("div",null,"CSS Class: "+this.props.Style.ClassName);else{let r=this.props.Style.BackColor!=null?this.props.Style.BackColor:null,n=this.props.Style.ForeColor!=null?this.props.Style.ForeColor:"black",i=this.props.Style.BorderColor!=null?this.props.Style.BorderColor:null,a=this.props.Style.FontWeight=="Bold"?"bold":"normal",s=this.props.Style.FontStyle=="Italic"?"italic":"normal",l=Gs.getCssFontSizeFromFontSizeEnum(this.props.Style.FontSize);t=PT.createElement("div",{className:this.props.Style.BackColor!=null?"":"ab_white_grey_stripes",style:{textAlign:"center",margin:"2px",padding:"3px",background:r,color:n,borderColor:i,borderStyle:i?"solid":"none",fontWeight:a,fontStyle:s,fontSize:l}},e)}return t}};d();var Ua=w(require("react")),_Pe=require("react"),LC=w(re());d();var cPe=w(require("react"));d();var wk="NonBlanks";var mPe=o=>Nf(o.Scope,{scopeWholeRow:"Matching rows will be formatted",scopeColumns:"Cells in selected columns will be formatted",scopeDataTypes:"Cells in columns with these Data Types will be formatted"}),fPe=o=>{let{data:e,api:t}=Ee();return cPe.createElement(xu,{descriptions:{rowScope:"Format all columns in the row",columnScope:"Select columns to format"},scope:e.Scope,updateScope:r=>{var a,s;let n=R(v({},e),{Scope:r}),i=t.scopeApi.scopeIsAll(r);(s=(a=n.Rule)==null?void 0:a.Predicates)!=null&&s.length&&(i?(delete n.Rule.Predicates,n.Rule.BooleanExpression=""):n.Rule.Predicates=[{PredicateId:wk}]),o.onChange(n)}})};d();var U8=w(require("react")),hPe=w(re());var gPe=(o,e)=>o.Style&&Xt.IsEmptyStyle(o.Style)&&o.DisplayFormat===void 0&&o.CellAlignment===void 0&&!e.scopeApi.isSingleBooleanColumnScope(o.Scope)?"No format applied":!0,bSt=o=>R(v({},zE(o!=null?o:{})),{borderWidth:o!=null&&o.BorderColor?2:0,borderStyle:"solid"}),CPe=o=>{let{api:e}=Ee();return W8(o,e)},W8=(o,e)=>U8.createElement(hPe.Text,{className:"ab-FormatPreview",padding:2,style:bSt(o.Style)},"Preview result");function yPe(o){var r;let{data:e,api:t}=Ee();return U8.createElement(fu,{headless:!0,api:t,Style:(r=e.Style)!=null?r:{},UpdateStyle:n=>{o.onChange(R(v({},e),{Style:n}))}})}d();var Pe=w(require("react")),Ll=w(re()),RPe=w(SPe()),wPe=w(gv());var RSt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"$",Suffix:"",Multiplier:1,Parentheses:!1},wSt={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"\xA3",Suffix:"",Multiplier:1,Parentheses:!1},bPe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"M",Multiplier:1e-6,Parentheses:!1},APe={FractionDigits:void 0,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"K",Multiplier:.001,Parentheses:!1},xPe={FractionDigits:2,FractionSeparator:".",IntegerDigits:void 0,IntegerSeparator:",",Prefix:"",Suffix:"%",Multiplier:100,Parentheses:!1},ESt=["MM/dd/yyyy","dd-MM-yyyy","MMMM do yyyy, h:mm:ss a","EEEE","MMM do yyyy","yyyyMMdd","HH:mm:ss"],z8=o=>{let e="N/A";return o.DisplayFormat?(o.DisplayFormat.Formatter==="NumberFormatter"&&(e=pi.NumberFormatter(12345.6789,o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="DateFormatter"&&(e=pi.DateFormatter(new Date(2022,0,1),o.DisplayFormat.Options)),o.DisplayFormat.Formatter==="StringFormatter"&&(e=pi.StringFormatter("Hello World ",o.DisplayFormat.Options))):e="N/A",e},j8=(o,e,t)=>{var r,n,i;return Pe.createElement(Z,{key:e.id,label:(r=e.label)!=null?r:e.id},Pe.createElement(ye,{"data-name":e.id,checked:(i=(n=o.DisplayFormat.Options.CustomDisplayFormats)==null?void 0:n.some)==null?void 0:i.call(n,a=>a===e.id),onChange:a=>{var l,u,p;let s=(p=(u=(l=o==null?void 0:o.DisplayFormat)==null?void 0:l.Options)==null?void 0:u.CustomDisplayFormats)!=null?p:[];a?s=[...s,e.id]:s=s.filter(c=>c!==e.id),t("CustomDisplayFormats",s)}}))},EPe=o=>Pe.createElement(Ge,null,z8(o)),TPe=(o,e)=>{if(o!=null&&!("All"in o)){if("ColumnIds"in o){let t=o.ColumnIds.map(n=>e.columnApi.getColumnWithColumnId(n)).filter(Boolean),r=(0,RPe.default)(t.map(n=>n.dataType));return r.length==1&&r[0]=="Number"?"Number":r.length==1&&r[0]=="Date"?"Date":r.length==1&&r[0]=="String"?"String":void 0}if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Number")return"Number";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="Date")return"Date";if("DataTypes"in o&&o.DataTypes.length==1&&o.DataTypes[0]=="String")return"String"}},TSt=(o,e,t,r)=>{var n;return o.DisplayFormat.Formatter!=="DateFormatter"?null:Pe.createElement(Ll.Box,{padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Text,{padding:2,fontSize:2},"Either create your own date pattern, or select one of the preset date formats (check out"," ",Pe.createElement("a",{href:"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table",target:"_blank"},"available symbols"),")."),Pe.createElement(Ie,null,Pe.createElement(Z,{label:"Pattern"},Pe.createElement(We,{"data-name":"pattern",value:(n=o.DisplayFormat.Options.Pattern)!=null?n:"",onChange:i=>t("Pattern",i.currentTarget.value),mr:2}),Pe.createElement("span",null,o.DisplayFormat.Options.Pattern&&pi.DateFormatter(new Date,o.DisplayFormat.Options,!0)))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ie,null,r.map(i=>j8(o,i,t))))),Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Presets"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Pattern",Size:1},{Content:"Formatted Date",Size:1},{Content:"",Size:1}]}),ESt.map((i,a)=>Pe.createElement(xi,{key:a,colItems:[{Content:i,Size:1},{Content:pi.DateFormatter(new Date,{Pattern:i}),Size:1},{Content:Pe.createElement(X,{"data-name":"apply-format-pattern","data-value":i,onClick:()=>t("Pattern",i)},"Apply"),Size:1}]})))))},PSt=(o,e,t,r,n)=>{var C,y,b;if(o.DisplayFormat.Formatter!=="NumberFormatter")return null;let i=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:xPe}})},a=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:APe}})},s=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:bPe}})},l=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:RSt}})},u=()=>{e({DisplayFormat:{Formatter:"NumberFormatter",Options:wSt}})},p=o.DisplayFormat.Options.Suffix==="%"&&o.DisplayFormat.Options.Multiplier===xPe.Multiplier,c=o.DisplayFormat.Options.Suffix==="K"&&o.DisplayFormat.Options.Multiplier===APe.Multiplier,m=o.DisplayFormat.Options.Suffix==="M"&&o.DisplayFormat.Options.Multiplier===bPe.Multiplier,f=o.DisplayFormat.Options.Prefix==="$",g=o.DisplayFormat.Options.Prefix==="\xA3";return Pe.createElement(Ll.Box,{"data-name":"format-column-display-format",padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,{mr:3},Pe.createElement(Z,{label:"Fraction Separator"},Pe.createElement(We,{"data-name":"fraction-separator",value:o.DisplayFormat.Options.FractionSeparator,onChange:S=>t("FractionSeparator",S.currentTarget.value)})),Pe.createElement(Z,{label:"Integer Separator"},Pe.createElement(We,{"data-name":"integer-separator",value:o.DisplayFormat.Options.IntegerSeparator,onChange:S=>t("IntegerSeparator",S.currentTarget.value)})),Pe.createElement(Z,{label:"Prefix"},Pe.createElement(We,{"data-name":"prefix",value:(C=o.DisplayFormat.Options.Prefix)!=null?C:"",onChange:S=>t("Prefix",S.currentTarget.value)})),Pe.createElement(Z,{label:"Suffix"},Pe.createElement(We,{"data-name":"suffix",value:(y=o.DisplayFormat.Options.Suffix)!=null?y:"",onChange:S=>t("Suffix",S.currentTarget.value)})),Pe.createElement(Z,{label:"Truncate"},Pe.createElement(ye,{"data-name":"truncate-checkbox",checked:o.DisplayFormat.Options.Truncate,onChange:S=>t("Truncate",S)})),Pe.createElement(Z,{label:"Ceiling"},Pe.createElement(ye,{"data-name":"ceiling-checkbox",checked:o.DisplayFormat.Options.Ceiling,onChange:S=>t("Ceiling",S)}))," ",Pe.createElement(Z,{label:"Absolute"},Pe.createElement(ye,{"data-name":"abs-checkbox",checked:o.DisplayFormat.Options.Abs,onChange:S=>t("Abs",S)}))),Pe.createElement(Ie,null,Pe.createElement(Z,{label:"Fraction Digits"},Pe.createElement(We,{"data-name":"fraction-digits",type:"number",min:"0",value:typeof o.DisplayFormat.Options.FractionDigits=="number"?o.DisplayFormat.Options.FractionDigits:"",onChange:S=>t("FractionDigits",Ve.IsNumeric(S.currentTarget.value)?(0,wPe.default)(Number(S.currentTarget.value),0,20):void 0)})),Pe.createElement(Z,{label:"Integer Digits"},Pe.createElement(We,{"data-name":"integer-digits",type:"number",min:"0",value:o.DisplayFormat.Options.IntegerDigits,onChange:S=>t("IntegerDigits",Number(S.currentTarget.value))})),Pe.createElement(Z,{label:"Multiplier"},Pe.createElement(We,{"data-name":"multiplier",type:"number",value:o.DisplayFormat.Options.Multiplier,onChange:S=>t("Multiplier",Number(S.currentTarget.value))}))," ",Pe.createElement(Z,{label:"Content"},Pe.createElement(We,{"data-name":"content",value:(b=o.DisplayFormat.Options.Content)!=null?b:"",onChange:S=>t("Content",S.currentTarget.value)}))," ",Pe.createElement(Z,{label:"Parentheses"},Pe.createElement(ye,{"data-name":"parentheses-checkbox",checked:o.DisplayFormat.Options.Parentheses,onChange:S=>t("Parentheses",S)})),Pe.createElement(Z,{label:"Floor"},Pe.createElement(ye,{"data-name":"floor-checkbox",checked:o.DisplayFormat.Options.Floor,onChange:S=>t("Floor",S)})),Pe.createElement(Z,{label:"Round"},Pe.createElement(ye,{"data-name":"round-checkbox",checked:o.DisplayFormat.Options.Round,onChange:S=>t("Round",S)})))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,null,r.map(S=>j8(o,S,t)))))),Pe.createElement(K,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Presets"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Text,{padding:2,fontSize:2},"Select a preset for common use cases"),Pe.createElement(Ll.Flex,{flexDirection:"row"},Pe.createElement(Ie,{margin:2},Pe.createElement(Z,{label:"Show As:"},Pe.createElement(_e,{"data-name":"preset-percentage",marginLeft:2,checked:p,onChange:()=>i()},"Percentage"),Pe.createElement(_e,{"data-name":"preset-thousand",marginLeft:3,checked:c,onChange:()=>a()},"K (Thousand)"),Pe.createElement(_e,{"data-name":"preset-million",marginLeft:3,checked:m,onChange:()=>s()},"M (Million)"),Pe.createElement(_e,{"data-name":"preset-dollar",marginLeft:3,checked:f,onChange:()=>l()},"Dollar"),Pe.createElement(_e,{"data-name":"preset-sterling",marginLeft:3,checked:g,onChange:()=>u()},"Sterling")))))),Pe.createElement(K,{marginTop:2,autoFocus:!1,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Examples"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Raw Number",Size:1},{Content:"Formatted Number",Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"12345.6789",Size:1},{Content:pi.NumberFormatter(12345.6789,o.DisplayFormat.Options),Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"-12345.6789",Size:1},{Content:pi.NumberFormatter(-12345.6789,o.DisplayFormat.Options),Size:1}]}),Pe.createElement(xi,{colItems:[{Content:"0.123",Size:1},{Content:pi.NumberFormatter(.123,o.DisplayFormat.Options),Size:1}]}))))},ISt=(o,e,t,r,n)=>{var i,a,s;return o.DisplayFormat.Formatter!=="StringFormatter"?null:Pe.createElement(Ll.Box,{"data-name":"format-column-display-format",padding:2},Pe.createElement(K,null,Pe.createElement(K.Tab,null,"Format"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"column"},Pe.createElement(Ie,{mr:3},Pe.createElement(Z,{label:"Case: "},Pe.createElement(_e,{"data-name":"case-lower",checked:o.DisplayFormat.Options.Case=="Lower",onChange:l=>t("Case","Lower")},"Lower"),Pe.createElement(_e,{"data-name":"case-upper",marginLeft:2,checked:o.DisplayFormat.Options.Case=="Upper",onChange:l=>t("Case","Upper")},"Upper"),Pe.createElement(_e,{"data-name":"case-sentence",marginLeft:2,checked:o.DisplayFormat.Options.Case=="Sentence",onChange:l=>t("Case","Sentence")},"Sentence"),Pe.createElement(_e,{"data-name":"case-none",marginLeft:2,checked:o.DisplayFormat.Options.Case==null,onChange:l=>t("Case",void 0)},"None"),Pe.createElement(ye,{"data-name":"trim-checkbox",marginLeft:5,checked:o.DisplayFormat.Options.Trim,onChange:l=>t("Trim",l)},"Trim")),Pe.createElement(Z,{label:"Prefix"},Pe.createElement(We,{"data-name":"prefix",value:(i=o.DisplayFormat.Options.Prefix)!=null?i:"",onChange:l=>t("Prefix",l.currentTarget.value)})),Pe.createElement(Z,{label:"Suffix"},Pe.createElement(We,{"data-name":"suffix",value:(a=o.DisplayFormat.Options.Suffix)!=null?a:"",onChange:l=>t("Suffix",l.currentTarget.value)})),Pe.createElement(Z,{label:"Content"},Pe.createElement(We,{"data-name":"content",value:(s=o.DisplayFormat.Options.Content)!=null?s:"",onChange:l=>t("Content",l.currentTarget.value)})))))),r.length>0&&Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Custom Formats"),Pe.createElement(K.Content,null,Pe.createElement(Ll.Flex,{flexDirection:"column"},Pe.createElement(Ie,{mr:3},r.map(l=>j8(o,l,t)))))),Pe.createElement(K,{marginTop:2,keyboardNavigation:!1},Pe.createElement(K.Tab,null,"Example"),Pe.createElement(K.Content,null,Pe.createElement(xi,{style:{fontWeight:"bold"},colItems:[{Content:"Raw String",Size:1},{Content:"Formatted String",Size:1}]}),Pe.createElement(xi,{colItems:[{Content:'"Hello World "',Size:1},{Content:'"'+pi.StringFormatter("Hello World ",o.DisplayFormat.Options)+'"',Size:1}]}))))},PPe=o=>{var u,p,c;let{data:e}=Ee(),t=ne(),r=t.api.formatColumnApi,n=(c=(p=(u=t.adaptableOptions)==null?void 0:u.userInterfaceOptions)==null?void 0:p.customDisplayFormatters)!=null?c:[],i=m=>{o.onChange(v(v({},e),m))},a=(m,f)=>{let g=v({},e.DisplayFormat);g.Options=R(v({},g.Options),{[m]:f}),i({DisplayFormat:g})},s=e.DisplayFormat&&e.DisplayFormat.Formatter,l=n.filter(m=>t.api.scopeApi.isScopeInScope(e.Scope,m.scope));return s==="NumberFormatter"?PSt(e,i,a,l,r):s==="DateFormatter"?TSt(e,i,a,l):s==="StringFormatter"?ISt(e,i,a,l,r):Pe.createElement(Ot,{margin:3},"Setting a Display Format is only possible if ",Pe.createElement("b",null,"all")," the columns in Scope are Numeric, String or Date.")};d();var Ha=w(require("react")),Hf=w(re());var DSt=[{value:"Left",label:"Left"},{value:"Right",label:"Right"},{value:"Center",label:"Center"}],IPe=o=>{var e;return Ha.createElement(Hf.Box,{padding:2},Ha.createElement(Hf.Text,null,"Cell alignment ",Ha.createElement(Ge,null,(e=o.CellAlignment)!=null?e:"default")),Ha.createElement(Hf.Text,{mt:3},"Include grouped rows ",Ha.createElement(Ge,null,o.IncludeGroupedRows?"yes":"no")))},DPe=o=>{let{data:e,api:t}=Ee(),r=i=>{o.onChange(R(v({},e),{CellAlignment:i}))},n=i=>{o.onChange(R(v({},e),{IncludeGroupedRows:i}))};return Ha.createElement(K,null,Ha.createElement(K.Tab,null,"Format"),Ha.createElement(K.Content,null,Ha.createElement(Hf.Flex,{flexDirection:"row"},Ha.createElement(Ie,null,Ha.createElement(Z,{label:"Cell Alignment"},Ha.createElement(Fe,{"data-name":"cell-alignment-dropdown",style:{minWidth:"15rem"},placeholder:"Select Option",showClearButton:!!e.CellAlignment,onClear:()=>r(null),items:DSt.map(i=>({value:i.value,label:i.label,onClick:()=>r(i.value)})),columns:["label"]},e.CellAlignment?e.CellAlignment:"Select Option")),Ha.createElement(Z,{label:"Include Grouped Rows:"},Ha.createElement(Hf.Flex,{alignItems:"center",marginLeft:2},Ha.createElement(ye,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:n,mr:2})))))))};d();var wu=w(require("react"));function OPe(o){let{data:e,api:t,moduleInfo:r}=Ee();return wu.createElement(Bf,{module:r.ModuleName,defaultPredicateId:o.defaultPredicateId,predicateDefs:t.formatColumnApi.internalApi.getFormatColumnDefsForScope(e.Scope),getPredicateDefsForColId:n=>t.formatColumnApi.internalApi.getFormatColumnDefsForScope({ColumnIds:[n]}),showNoRule:!0,showBoolean:!0,showAggregation:!1,showObservable:!1,showPredicate:!t.scopeApi.scopeIsAll(e.Scope),data:e,onChange:n=>o.onChange(n),descriptions:{selectPredicate:"Create a Format Column Rule - to be applied when data changes",useBooleanQuery:wu.createElement(wu.Fragment,null,"Use an BooleanQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:wu.createElement(wu.Fragment,null,"Use an ObservableQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:wu.createElement(wu.Fragment,null,"Use an AggregatedBooleanQuery if ",wu.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})}var OSt=(o,e)=>{o=v({},o);let t=TPe(o.Scope,e);return!t&&o.DisplayFormat&&(o.DisplayFormat=void 0),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="NumberFormatter")&&t==="Number"&&(o.DisplayFormat={Formatter:"NumberFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="DateFormatter")&&t==="Date"&&(o.DisplayFormat={Formatter:"DateFormatter",Options:{}}),(!o.DisplayFormat||o.DisplayFormat.Formatter!=="StringFormatter")&&t==="String"&&(o.DisplayFormat={Formatter:"StringFormatter",Options:{}}),o},FPe=(o,e)=>(o=OSt(o,e),o);function Ek(o){var l,u;let{api:e}=ne(),t=(u=o.data)!=null?u:(l=o.popupParams)==null?void 0:l.value,[r,n]=(0,_Pe.useState)(()=>{var c,m,f,g;let p=t?Zt(t):Ke.CreateEmptyFormatColumn();return p.Scope=(c=p.Scope)!=null?c:{ColumnIds:[]},((m=o.popupParams)==null?void 0:m.action)==="New"&&((f=o.popupParams)==null?void 0:f.column)&&(p.Scope={ColumnIds:[(g=o.popupParams)==null?void 0:g.column.columnId]}),p=FPe(p,e),p}),i=Ua.useCallback(p=>{n(FPe(p,e))},[]),a=at(),s=()=>{a(t?tp(r):Om(r)),o.onFinishWizard(r)};return Ua.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Scope",details:"Select which Columns will be formatted",isValid:Ip,renderSummary:mPe,render:()=>Ua.createElement(LC.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},Ua.createElement(fPe,{onChange:i}))},{isValid:(p,c,m)=>p.Rule?Gf(p,c,m):!0,title:"Condition",details:"Build a Rule when the Format Column should be applied",render:()=>Ua.createElement(OPe,{onChange:i,defaultPredicateId:wk})},{title:"Style",details:"Create a Style for the Format Column",isValid:gPe,renderSummary:CPe,render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(yPe,{onChange:i}))},{title:"Display Format",renderSummary:p=>EPe(p),render:()=>Ua.createElement(PPe,{onChange:i})},{title:"Settings",renderSummary:IPe,render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(DPe,{onChange:i}))},{details:"Select Format Column Tags",title:"Tags",isVisible:(p,c)=>c.internalApi.shouldDisplayTagSections(),render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(Fr,{onChange:i})),renderSummary:_r},"-",{details:"Review the Format Column",render:()=>Ua.createElement(LC.Box,{padding:2},Ua.createElement(Or,null)),title:"Summary"}]})}var K8=class extends Bc.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FormatColumns.find(r=>r.Uuid==t.Uuid)?this.props.onEditFormatColumn(t):this.props.onAddFormatColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let[t]=this.props.api.formatColumnApi.getFormatColumnsForColumn(this.props.summarisedColumn),r=t==null,n;return r?n=Bc.createElement(Rp,{key:this.props.moduleInfo.FriendlyName,moduleInfo:this.props.moduleInfo,moduleSummary:"No Format Column Set",onNew:()=>this.onNew(),newButtonTooltip:this.props.moduleInfo.FriendlyName,accessLevel:this.props.accessLevel}):n=Bc.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:Bc.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:Bc.createElement(NC,{Style:t.Style}),configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:i=>this.props.onShare(t,i),onDelete:uS(t),showBold:!0,accessLevel:this.props.accessLevel}),Bc.createElement("div",null,n,this.state.editedAdaptableObject&&Bc.createElement(Ek,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FormatColumns,wizardStartIndex:this.state.wizardStartIndex,onCloseWizard:this.onCloseWizard,onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyFormatColumn();t.Scope={ColumnIds:[this.props.summarisedColumn.columnId]},this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let r=Jt.cloneObject(t);this.setState({editedAdaptableObject:r,wizardStartIndex:1,wizardStatus:"Edit"})}onCloseWizard(){var t;(t=this==null?void 0:this.setState)==null||t.call(this,{editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return t.Scope!=null&&_o.IsNotEmptyStyle(t.Style)}};function FSt(o,e){return{FormatColumns:o.FormatColumn.FormatColumns}}function _St(o){return{onAddFormatColumn:e=>o(Om(e)),onEditFormatColumn:e=>o(tp(e)),onShare:(e,t)=>o(au(e,Gn,t))}}var MPe=ot(FSt,_St)(K8);d();var aA=w(require("react"));d();var bd=w(require("react")),DT=w(re());var eIe=require("react");d();var Ei=w(require("react")),NPe=require("react"),iA=w(re());var LPe=o=>{let{api:e}=Ee();return Ei.createElement(iA.Box,{fontSize:2},"Column scalar expression:"," ",Ei.createElement(yi,null,e.internalApi.getAdaptableQueryExpressionText(o.Query)))},kPe=(o,e)=>{var i;let t=e.internalApi.getCalculatedColumnExpressionService();return((i=e.queryLanguageApi.getAdaptableQueryExpression(o.Query))==null?void 0:i.trim())?t.isCalculatedColumnQueryValid(o.Query)?!0:"Calculated column expression is not valid":"Calculated column expression cannot be empty"},Tk=o=>{let a=o,{type:e,label:t,disabled:r=!1}=a,n=ze(a,["type","label","disabled"]),i=Ei.createElement(iA.Flex,{flexDirection:"column"},t," ",Ei.createElement(iA.Text,{fontSize:2},"query"));return Ei.createElement(K.Tab,v({style:{flex:1}},n),r?i:Ei.createElement(_e,{tabIndex:-1,margin:0,checked:e===o.value,style:{alignItems:"baseline"}},i))};Tk.defaultProps={isTabsTab:!0};var VPe=o=>{let{api:e,data:t,moduleInfo:r}=Ee(),n=(0,NPe.useMemo)(()=>e.internalApi.getQueryPreviewData(),[]),[i,a]=Ei.useState(()=>t.Query.AggregatedScalarExpression==null?"ScalarExpression":e.internalApi.getQueryLanguageService().isCumulativeAggregate(t.Query.AggregatedScalarExpression)?"CumulativeAggregateExpression":"AggregatedScalarExpression"),s=u=>{a(u),u==="ScalarExpression"?o.onChange(R(v({},t),{Query:{ScalarExpression:""}})):o.onChange(R(v({},t),{Query:{AggregatedScalarExpression:""}}))},l=u=>{let c=e.internalApi.getCalculatedColumnExpressionService().getCalculatedColumnDataType(u);o.onChange(R(v({},t),{Query:u,CalculatedColumnSettings:R(v({},t.CalculatedColumnSettings),{DataType:c})}))};return Ei.createElement(K,{onValueChange:s,value:i,p:2,style:{height:"100%",flex:1,overflow:"auto"}},Ei.createElement(Tk,{value:"ScalarExpression",type:i,label:"Scalar"}),Ei.createElement(K.Content,{value:"ScalarExpression"},Ei.createElement(Bs,{type:"scalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.ScalarExpression,onChange:u=>l({ScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),Ei.createElement(Tk,{value:"AggregatedScalarExpression",type:i,label:"Aggregated Scalar"}),Ei.createElement(K.Content,{value:"AggregatedScalarExpression"},Ei.createElement(Bs,{type:"aggregatedScalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})),Ei.createElement(Tk,{value:"CumulativeAggregateExpression",type:i,label:"Cumulative"}),Ei.createElement(K.Content,{value:"CumulativeAggregateExpression"},Ei.createElement(Bs,{type:"cumulativeAggregatedScalar",module:r.ModuleName,style:{paddingLeft:0},value:t.Query.AggregatedScalarExpression,onChange:u=>l({AggregatedScalarExpression:u}),initialData:n,columns:e.columnApi.getQueryableColumns(),namedQueries:e.queryApi.getNamedQueries(),isFullExpression:!0,api:e})))};d();var Wn=w(require("react")),BPe=require("react"),kC=w(re());var GPe=o=>{var e;return Wn.createElement(kC.Box,{fontSize:2},Wn.createElement(kC.Box,null,"Column Identifier: ",Wn.createElement(Ge,null,o.ColumnId)),o.FriendlyName?Wn.createElement(kC.Box,{mt:3},"Column Name: ",Wn.createElement(Ge,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null)},Q8=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let r=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?r>1:r>0)?"A Column already exists with that id":!0},HPe=o=>{var C;let{data:e,api:t}=Ee(),r=y=>{let b=y.target;o.onChange(R(v({},e),{ColumnId:b.value}))},n=y=>{let b=y.target;o.onChange(R(v({},e),{FriendlyName:b.value}))},i=o.isEdit,a=Q8(e,t),s=a===!0?null:a,[l,u]=(0,BPe.useState)(!1),p=e.FriendlyName,c=e.ColumnId,{ShowToolTip:m,HeaderToolTip:f}=(C=e.CalculatedColumnSettings)!=null?C:{},g=y=>{o.onChange(R(v({},e),{CalculatedColumnSettings:v(v({},e.CalculatedColumnSettings),y)}))};return Wn.createElement(kC.Box,{"data-name":"calculated-column-definition"},Wn.createElement(K,{autoFocus:!1},Wn.createElement(K.Tab,null,"Column Details"),Wn.createElement(K.Content,null,Wn.createElement(kC.Flex,{flexDirection:"row"},Wn.createElement(Ie,null,Wn.createElement(Z,{label:"Column Id"},Wn.createElement(We,{"data-name":"column-id",value:e.ColumnId||"",width:300,autoFocus:!i,disabled:i,type:"text",placeholder:"Enter an Id for the column",onChange:r})),Wn.createElement(Z,{label:"Name"},Wn.createElement(We,{"data-name":"column-name",autoFocus:i,onFocus:()=>{u(!0)},onBlur:()=>{u(!1)},value:l?p||"":p||c||"",width:300,type:"text",placeholder:"Enter column name",onChange:n})),Wn.createElement(Z,{label:"Header Tooltip"},Wn.createElement(We,{"data-name":"header-tooltip",type:"text",width:300,value:f,onChange:y=>g({HeaderToolTip:y.target.value})}))," ",Wn.createElement(Z,{label:""},Wn.createElement(ye,{"data-name":"column-show-tooltip",onChange:y=>g({ShowToolTip:y}),checked:m},"Show Expression as Cell Tooltip")))))),s?Wn.createElement(is,{marginTop:2},s):null)};d();var Sa=w(require("react")),XPe=require("react"),IT=w(re());d();var qPe=w(YPe()),pr=w(require("react")),$Pe=w(re());var Pk=o=>{var f,g;let e=ne(),t=e.api.optionsApi.getColumnOptions().columnTypes,{Filterable:r,Resizable:n,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l,SuppressMenu:u,SuppressMovable:p}=(f=o.settings)!=null?f:{},c=(C,y)=>{var S,A,x;let b=(A=(S=o.settings)==null?void 0:S.ColumnTypes)!=null?A:[];y?o.onChange(R(v({},o.settings),{ColumnTypes:[...b,C]})):o.onChange(R(v({},o.settings),{ColumnTypes:(x=b==null?void 0:b.filter)==null?void 0:x.call(b,E=>E!==C)}))},m=C=>{o.onChange(v(v({},o.settings),C))};return pr.createElement(pr.Fragment,null,pr.createElement(K,{marginTop:2,autoFocus:!1},pr.createElement(K.Tab,null,"Column Properties"),pr.createElement(K.Content,null,pr.createElement($Pe.Flex,{flexDirection:"column"},pr.createElement(Ie,{style:{width:"100%"},columns:[{name:"first",size:"30%"},{size:"30%",name:"second"},{size:"30%",name:"third"}]},pr.createElement(Z,null,pr.createElement(ye,{"data-name":"filterable",checked:r,onChange:C=>m({Filterable:C}),disabled:!e.api.optionsApi.getFilterOptions().enableFilterOnSpecialColumns},"Filterable"),pr.createElement(ye,{"data-name":"resizable",checked:n,onChange:C=>m({Resizable:C})},"Resizable"),pr.createElement(ye,{"data-name":"groupable",checked:i,onChange:C=>m({Groupable:C})},"Groupable")),pr.createElement(Z,null,pr.createElement(ye,{"data-name":"sortable",checked:a,onChange:C=>m({Sortable:C})},"Sortable"),pr.createElement(ye,{"data-name":"pivotable",checked:s,onChange:C=>m({Pivotable:C})},"Pivotable"),pr.createElement(ye,{"data-name":"aggregatable",checked:l,onChange:C=>m({Aggregatable:C})},"Aggregatable")),pr.createElement(Z,null,pr.createElement(ye,{"data-name":"suppres-smenu",checked:u,onChange:C=>m({SuppressMenu:C})},"Suppress Menu"),pr.createElement(ye,{"data-name":"suppres-movable",checked:p,onChange:C=>m({SuppressMovable:C})},"Suppress Movable"),pr.createElement(ye,{disabled:!0,checked:o.isEditable},"Editable")))))),Boolean(t==null?void 0:t.length)&&pr.createElement(K,{marginTop:2,autoFocus:!1},pr.createElement(K.Tab,null,"Column Types"),pr.createElement(K.Content,null,pr.createElement(Ie,{columns:[{name:"first",size:"30%"},{name:"second"}]},(g=(0,qPe.default)(t!=null?t:[],2))==null?void 0:g.map(([C,y])=>{var b,S,A,x,E,T;return pr.createElement(Z,{key:C},C&&pr.createElement(ye,{"data-name":C,onChange:I=>c(C,I),checked:(A=(S=(b=o.settings)==null?void 0:b.ColumnTypes)==null?void 0:S.includes)==null?void 0:A.call(S,C)},C),y&&pr.createElement(ye,{"data-name":y,onChange:I=>c(y,I),checked:(T=(E=(x=o.settings)==null?void 0:x.ColumnTypes)==null?void 0:E.includes)==null?void 0:T.call(E,y)},y))})))))};d();var Ik=o=>{let{DataType:e,Width:t,Filterable:r,Resizable:n,Groupable:i,Sortable:a,Pivotable:s,Aggregatable:l}=o!=null?o:{},u=o!=null&&o.ColumnTypes?o.ColumnTypes.join(", "):"";return[e?`DataType: ${e}`:null,t?`Width: ${t}px`:null,s?"Pivotable":null,r?"Filterable":null,n?"Resizable":null,i?"Groupable":null,a?"Sortable":null,l?"Aggregatable":null,u?`Column Types: ${u}`:null].filter(Boolean)};var ZPe=o=>{let e=Ik(o.CalculatedColumnSettings);return Sa.createElement(IT.Box,{fontSize:2},Sa.createElement(Ai,{toLabel:t=>t,toIdentifier:t=>t,readOnly:!0,options:e,value:e}))},Y8=o=>{var e;return(e=o.CalculatedColumnSettings)!=null&&e.DataType?!0:"No data type is specified and it could not be inferred from the defined expression"},JPe=o=>{var c,m;let{data:e,api:t}=Ee(),r=(0,XPe.useMemo)(()=>t.internalApi.getCalculatedColumnExpressionService(),[]),n=f=>{var C;let g=f=="Number"?(C=e.CalculatedColumnSettings)==null?void 0:C.Aggregatable:!1;o.onChange(R(v({},e),{CalculatedColumnSettings:R(v({},e.CalculatedColumnSettings),{DataType:f,Aggregatable:g})}))},i=Y8(e),a=i===!0?null:i,s=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],{DataType:l}=(c=e.CalculatedColumnSettings)!=null?c:{},{Width:u}=(m=e.CalculatedColumnSettings)!=null?m:{},p=f=>{o.onChange(R(v({},e),{CalculatedColumnSettings:v(v({},e.CalculatedColumnSettings),f)}))};return Sa.useEffect(()=>{if(!l){let f=r.getCalculatedColumnDataType(e.Query);p(R(v({},e==null?void 0:e.CalculatedColumnSettings),{DataType:f}))}},[]),Sa.createElement(IT.Box,{"data-name":"calculated-column-settings"},Sa.createElement(K,{autoFocus:!1},Sa.createElement(K.Tab,null,"Column Settings"),Sa.createElement(K.Content,null,Sa.createElement(IT.Flex,{flexDirection:"row"},Sa.createElement(Ie,null,Sa.createElement(Z,{label:"Data Type"},Sa.createElement(Fe,{"data-name":"column-type",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!0,onClear:()=>n(null),columns:["label"],items:s.map(f=>({value:f.value,label:f.label,onClick:()=>n(f.value)}))},l||"Select Data Type")),Sa.createElement(Z,{label:"Width"},Sa.createElement(We,{"data-name":"column-width",type:"number",width:300,value:u||"",onChange:f=>p({Width:Number(f.target.value)})})))))),a?Sa.createElement(is,{marginTop:2},a):null,Sa.createElement(Pk,{isEditable:!1,settings:e.CalculatedColumnSettings,onChange:p}))};var Dk=o=>{var l;let e=ne(),t=Dt(u=>u.CalculatedColumn.CalculatedColumns),[r,n]=(0,eIe.useState)(()=>{var u;if(o.data)return Zt(o.data);if((u=o.popupParams)!=null&&u.column){let p=t.find(c=>c.ColumnId===o.popupParams.column.columnId);if(p)return p}return Ke.CreateEmptyCalculatedColumn()}),i=at(),a=Boolean(o.data)||((l=o.popupParams)==null?void 0:l.action)==="Edit",s=()=>{i(a?Rm(r):Kv(r)),o.onCloseWizard()};return bd.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:r,onHide:o.onCloseWizard,onFinish:s,sections:[{title:"Definition",details:"Specify Column details",isValid:Q8,renderSummary:GPe,render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(HPe,{isEdit:a,onChange:n}))},{title:"Expression",details:"Specify the Calculated Column Expression",isValid:kPe,renderSummary:LPe,render:()=>bd.createElement(VPe,{onChange:n})},{title:"Settings",details:"Specify Column properties",isValid:Y8,renderSummary:ZPe,render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(JPe,{isEdit:a,onChange:n}))},{details:"Select Calculated Column Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(Fr,{onChange:n})),renderSummary:_r},"-",{render:()=>bd.createElement(DT.Box,{padding:2},bd.createElement(Or,null)),title:"Summary"}]})};var q8=class extends aA.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.onEdit(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t;return this.props.CalculatedColumns.map((r,n)=>{r.ColumnId==this.props.summarisedColumn.columnId&&(t=aA.createElement(Su,{key:"UF"+n,item1:this.props.moduleInfo.FriendlyName,item2:this.props.api.internalApi.getAdaptableQueryExpressionText(r.Query),configEnity:r,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(r),onShare:i=>this.props.onShare(r,i),onDelete:Qv(r),showBold:!0,accessLevel:this.props.accessLevel}))}),aA.createElement("div",null,t,this.state.editedAdaptableObject&&aA.createElement(Dk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.CalculatedColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onEdit(t){this.setState({editedAdaptableObject:Jt.cloneObject(t),wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}};function jSt(o){return{CalculatedColumns:o.CalculatedColumn.CalculatedColumns}}function KSt(o){return{onEdit:e=>o(Rm(e))}}var tIe=ot(jSt,KSt)(q8);d();var VC=w(require("react"));var BC=class extends VC.Component{render(){var s;let e=qe.sortArrayWithProperty("Asc",this.props.ColumnList,"friendlyName"),t=this.props.SelectedColumnIds.filter(l=>je.IsNotNullOrEmpty(l)),r=je.IsNotNullOrEmpty(this.props.placeHolder)?this.props.placeHolder.toString():this.props.SelectionMode=="Single"?"Select a column":"Select columns",n=this.props.SelectedColumnIds.filter(l=>je.IsNotNullOrEmpty(l)).length==0,i=e.map(l=>({label:l.friendlyName,value:l.columnId,disabled:this.props.disabled,onClick:()=>{let u=e.filter(p=>p.columnId===l.columnId);u.length?this.onColumnChange(u,n):this.onClearButton()}})),a=t.length>0?(s=this.props.ColumnList.find(l=>l.columnId==t[0]))==null?void 0:s.friendlyName:"Select a column";return VC.createElement("div",{"data-name":"column-selector"},VC.createElement(Ie,{columns:[{name:"columnSelector",style:{display:"flex"}}],style:this.props.style},VC.createElement(Z,null,VC.createElement(Fe,{marginRight:2,columns:["label"],showClearButton:a!="Select a column",onClear:()=>this.onClearButton(),style:{width:"100%",fontSize:"small"},className:"ab-DashboardToolbar__Layout__select",items:i,disabled:this.props.disabled||i.length==0},a))))}onClearButton(){this.props.onColumnChange([])}onColumnChange(e,t){e.length==0&&t||this.props.onColumnChange(e)}};d();var GC=w(require("react"));d();var Wf=w(require("react")),aIe=require("react"),Ok=w(re());d();var Do=w(require("react")),rIe=require("react"),Uf=w(re());var QSt=[{value:"Number",label:"Number"},{value:"String",label:"String"},{value:"Date",label:"Date"},{value:"Boolean",label:"Boolean"}],nIe=o=>{var e;return Do.createElement(Uf.Box,{fontSize:2},Do.createElement(Uf.Box,null,"Column Identifier: ",Do.createElement(Ge,null,o.ColumnId)),o.FriendlyName?Do.createElement(Uf.Box,{mt:3},"Column Name: ",Do.createElement(Ge,null,(e=o.FriendlyName)!=null?e:o.ColumnId)):null,Do.createElement(Uf.Box,{mt:3},"Data Type: ",Do.createElement(Ge,null,o.FreeTextColumnSettings.DataType)),o.DefaultValue!==void 0?Do.createElement(Uf.Box,{mt:3},"Default Value: ",Do.createElement(Ge,null,o.DefaultValue)):null,o.TextEditor!==void 0?Do.createElement(Uf.Box,{mt:3},"Editor Type: ",Do.createElement(Ge,null,o.TextEditor)):null)},$8=(o,e)=>{let t=e.columnApi.getColumns();if(!o.ColumnId)return"Column Id cannot be empty";let r=t.filter(i=>i.columnId===o.ColumnId).length;return(o.Uuid?r>1:r>0)?"A Column already exists with that id":o.FreeTextColumnSettings.DataType?!0:"No data type specified for column"},iIe=o=>{var C;let{data:e,api:t}=Ee(),r=t.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat,[n,i]=(0,rIe.useState)(!1),a=o.isEdit,s=$8(e,t),l=s===!0?null:s,u=y=>{let S=y.target.value;o.onChange(R(v({},e),{ColumnId:S}))},p=y=>{let S=y.target.value;o.onChange(R(v({},e),{FriendlyName:S}))},c=y=>{var S;let b=R(v({},e),{FreeTextColumnSettings:R(v({},e.FreeTextColumnSettings),{DataType:y})});delete b.DefaultValue,y||(S=b.FreeTextColumnSettings)==null||delete S.DataType,o.onChange(b)},m=y=>{let S=y.target.value;o.onChange(R(v({},e),{TextEditor:S}))},f=y=>{let S=y.target.value;e.FreeTextColumnSettings.DataType==="Date"&&(S=Bi(S,{Pattern:r})),o.onChange(R(v({},e),{DefaultValue:S}))},g=y=>{o.onChange(R(v({},e),{FreeTextColumnSettings:v(v({},e==null?void 0:e.FreeTextColumnSettings),y)}))};return Do.createElement(Do.Fragment,null,Do.createElement(Ie,null,Do.createElement(Z,{label:"ColumnId"},Do.createElement(We,{"data-name":"column-id",autoFocus:!a,value:e.ColumnId||"",style:{width:"100%",maxWidth:500},disabled:a,type:"text",placeholder:"Enter an id",onChange:y=>u(y)})),Do.createElement(Z,{label:"Column Name"},Do.createElement(We,{"data-name":"column-name",autoFocus:a,onFocus:()=>{i(!0)},onBlur:()=>{i(!1)},value:n?e.FriendlyName||"":e.FriendlyName||e.ColumnId||"",style:{width:"100%",maxWidth:500},type:"text",placeholder:"Enter a name",onChange:y=>p(y)})),Do.createElement(Z,{label:"Type"},Do.createElement(Fe,{"data-name":"column-type-dropdown",style:{width:"300px",whiteSpace:"normal",overflow:"hidden",maxWidth:"inherit"},placeholder:"Select Data Type",showClearButton:!!e.FreeTextColumnSettings.DataType,onClear:()=>c(null),columns:["label"],items:QSt.map(y=>({value:y.value,label:y.label,onClick:()=>c(y.value)}))},e.FreeTextColumnSettings.DataType?e.FreeTextColumnSettings.DataType:"Select Data Type")),Do.createElement(Z,{label:"Default Value"},e.FreeTextColumnSettings.DataType==="Boolean"?Do.createElement(ye,{"data-name":"column-default-value-checkbox",checked:!!e.DefaultValue,onChange:y=>{o.onChange(R(v({},e),{DefaultValue:y}))}}):Do.createElement(Vt,{"data-name":"column-default-value",value:e.FreeTextColumnSettings.DataType==="Date"&&e.DefaultValue?cO(e.DefaultValue,r)||"":e.DefaultValue||"",style:{width:"100%",maxWidth:500},type:e.FreeTextColumnSettings.DataType==="Number"?"number":e.FreeTextColumnSettings.DataType==="Date"?"date":"text",placeholder:"Default Column Value (not required)",onChange:y=>f(y)})),Do.createElement(Z,{label:"Header Tooltip"},Do.createElement(We,{"data-name":"header-tooltip",type:"text",style:{width:"100%",maxWidth:500},value:((C=e.FreeTextColumnSettings)==null?void 0:C.HeaderToolTip)||"",onChange:y=>g({HeaderToolTip:y.target.value})}))," ",e.FreeTextColumnSettings.DataType=="String"&&Do.createElement(Z,{label:"Editor Type"},Do.createElement(_e,{"data-name":"inline-editor",value:"Inline",checked:e.TextEditor=="Inline",onChange:(y,b)=>m(b),marginRight:2},"Inline Editor"),Do.createElement(_e,{"data-name":"large-editor",value:"Large",checked:e.TextEditor=="Large",onChange:(y,b)=>m(b)},"Large Editor"))),l?Do.createElement(is,{mt:2,mb:2},l):null,Do.createElement(Uf.Box,{mt:2},Do.createElement(Pk,{isEditable:!0,settings:e.FreeTextColumnSettings,onChange:g})))};var Fk=o=>{var s;let e=Dt(l=>l.FreeTextColumn.FreeTextColumns),[t,r]=(0,aIe.useState)(()=>{var l,u;return o.data?Zt(o.data):((l=o.popupParams)==null?void 0:l.action)==="Edit"&&((u=o.popupParams)==null?void 0:u.column)?e.find(p=>p.ColumnId===o.popupParams.column.columnId):Ke.CreateEmptyFreeTextColumn()}),n=at(),i=o.data||((s=o.popupParams)==null?void 0:s.action)==="Edit",a=()=>{n(i?Cc(t):Fm(t)),o.onFinishWizard(t)};return Wf.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:a,sections:[{title:"Settings",details:"Configure the Free Text Column",isValid:$8,render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(iIe,{isEdit:Boolean(o.data),onChange:r}))},{details:"Select Free Text Column Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{details:"Review the Free Text Column",renderSummary:nIe,render:()=>Wf.createElement(Ok.Box,{padding:2},Wf.createElement(Or,null)),title:"Summary"}]})};var X8=class extends GC.Component{constructor(t){super(t);this.onFinishWizard=t=>{this.props.FreeTextColumns.find(r=>r.ColumnId==t.ColumnId)?this.props.onEditFreeTextColumn(t):this.props.onAddFreeTextColumn(t),this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})};this.state=_o.getEmptyConfigState()}render(){let t=this.props.FreeTextColumns.find(i=>i.ColumnId==this.props.summarisedColumn.columnId),r=t==null,n;if(!r){let i=qe.IsNotEmpty(t.FreeTextStoredValues)?" Stored values: "+t.FreeTextStoredValues.length:"No stored values";n=GC.createElement(Su,{key:this.props.moduleInfo.FriendlyName,item1:GC.createElement(vu,{moduleInfo:this.props.moduleInfo}),item2:i,configEnity:t,showShare:this.props.teamSharingActivated,moduleInfo:this.props.moduleInfo,onEdit:()=>this.onEdit(t),onShare:a=>this.props.onShare(t,a),onDelete:pS(t),showBold:!0,accessLevel:this.props.accessLevel})}return GC.createElement("div",null,n,this.state.editedAdaptableObject&&GC.createElement(Fk,{moduleInfo:this.props.moduleInfo,data:this.state.editedAdaptableObject,configEntities:this.props.FreeTextColumns,onCloseWizard:()=>this.onCloseWizard(),onFinishWizard:this.onFinishWizard}))}onNew(){let t=eo.CreateEmptyFreeTextColumn();t.ColumnId=this.props.summarisedColumn.columnId,this.setState({editedAdaptableObject:t,wizardStartIndex:1,wizardStatus:"New"})}onEdit(t){let r=Jt.cloneObject(t);this.setState({editedAdaptableObject:r,wizardStartIndex:0,wizardStatus:"Edit"})}onCloseWizard(){this.setState({editedAdaptableObject:null,wizardStartIndex:0,wizardStatus:"None"})}canFinishWizard(){let t=this.state.editedAdaptableObject;return je.IsNotNullOrEmpty(t.ColumnId)}};function YSt(o,e){return{FreeTextColumns:o.FreeTextColumn.FreeTextColumns}}function qSt(o){return{onAddFreeTextColumn:e=>o(Fm(e)),onEditFreeTextColumn:e=>o(Cc(e)),onShare:(e,t)=>o(au(e,ci,t))}}var sIe=ot(YSt,qSt)(X8);var _k=class extends jr.Component{constructor(e){super(e),this.state={SelectedColumn:e.column}}render(){let e=[{Content:"Module",Size:3},{Content:"Summary",Size:7},{Content:"",Size:2}],t=this.state.SelectedColumn?this.state.SelectedColumn.columnId:null,r=[{Key:"Column Id",Value:this.state.SelectedColumn?this.state.SelectedColumn.columnId:null},{Key:"Header",Value:this.state.SelectedColumn?this.state.SelectedColumn.friendlyName:null},{Key:"Aggregatable",Value:this.state.SelectedColumn?this.state.SelectedColumn.aggregatable:null},{Key:"DataType",Value:this.state.SelectedColumn?this.state.SelectedColumn.dataType:null},{Key:"Groupable",Value:this.state.SelectedColumn?this.state.SelectedColumn.groupable:null},{Key:"Filterable",Value:this.state.SelectedColumn?this.state.SelectedColumn.filterable:null},{Key:"Hideable",Value:this.state.SelectedColumn?this.state.SelectedColumn.hideable:null},{Key:"Editable",Value:this.state.SelectedColumn?!this.state.SelectedColumn.IsReadOnly:null},{Key:"Moveable",Value:this.state.SelectedColumn?this.state.SelectedColumn.moveable:null},{Key:"Pivotable",Value:this.state.SelectedColumn?this.state.SelectedColumn.pivotable:null},{Key:"Queryable",Value:this.state.SelectedColumn?this.state.SelectedColumn.queryable:null},{Key:"Sortable",Value:this.state.SelectedColumn?this.state.SelectedColumn.sortable:null},{Key:"Visible",Value:this.state.SelectedColumn?this.state.SelectedColumn.visible:null},{Key:"Grouped",Value:this.state.SelectedColumn?this.state.SelectedColumn.isGrouped:null}].map(s=>({Key:s.Key,Value:s.Value===!0?"Yes":s.Value})).filter(s=>s.Value),n={Key:{field:"Key",header:"Property",defaultFlex:1},Value:{field:"Value",header:"Value",defaultFlex:3}},i=this.props.api.internalApi.getModuleService(),a=[];return this.state.SelectedColumn&&(this.isModuleAvailable(Gi)&&a.push(jr.createElement("div",{key:Gi,className:this.isModuleReadOnly(Gi)?kn:""},jr.createElement($Te,{key:Gi,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Gi),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Gi)}))),this.isModuleAvailable(Rn)&&a.push(jr.createElement("div",{key:Rn,className:this.isModuleReadOnly(Rn)?kn:""},jr.createElement(XTe,{key:Rn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Rn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Rn)}))),this.isModuleAvailable(Gn)&&a.push(jr.createElement("div",{key:Gn,className:this.isModuleReadOnly(Gn)?kn:""},jr.createElement(MPe,{key:Gn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(Gn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(Gn)}))),this.isModuleAvailable(ci)&&a.push(jr.createElement("div",{key:ci,className:this.isModuleReadOnly(ci)?kn:""},jr.createElement(sIe,{key:ci,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(ci),api:this.props.api,moduleInfo:i.getModuleInfoByModule(ci)}))),this.isModuleAvailable(sn)&&this.state.SelectedColumn.dataType=="Number"&&a.push(jr.createElement("div",{key:sn,className:this.isModuleReadOnly(sn)?kn:""},jr.createElement(pPe,{key:sn,summarisedColumn:this.state.SelectedColumn,teamSharingActivated:this.props.teamSharingActivated,accessLevel:this.getAccessLevel(sn),api:this.props.api,moduleInfo:i.getModuleInfoByModule(sn)}))),this.isModuleAvailable(an)&&qe.ContainsItem(this.props.api.calculatedColumnApi.getCalculatedColumns().map(s=>s.ColumnId),this.state.SelectedColumn.columnId)&&a.push(jr.createElement("div",{key:an,className:this.isModuleReadOnly(an)?kn:""},jr.createElement(tIe,{key:an,summarisedColumn:this.state.SelectedColumn,accessLevel:this.getAccessLevel(an),api:this.props.api,moduleInfo:i.getModuleInfoByModule(an)})))),jr.createElement(Io,{flex:1,header:"Column Info",margin:2,"data-name":"column-component"},jr.createElement(HC.Flex,{height:"100%",flexDirection:"column"},jr.createElement(HC.Flex,{flexDirection:"row",alignItems:"center",marginBottom:2},jr.createElement(HC.Box,{flex:1,marginLeft:2},jr.createElement(BC,{SelectedColumnIds:[t],ColumnList:this.props.api.columnApi.getColumns(),onColumnChange:s=>this.onColumnSelectedChanged(s),SelectionMode:"Single"}))),jr.createElement(HC.Flex,{flex:1,style:{overflow:"auto",width:"100%"}},this.state.SelectedColumn&&jr.createElement(Pf,{style:{width:"100%"},colItems:e,items:a})),jr.createElement(HC.Box,{flex:1,mt:2},this.state.SelectedColumn&&jr.createElement(Wi,{data:r,primaryKey:"Key"},jr.createElement(Hn,{domProps:{style:{height:"100%"}},columns:n})))))}onColumnSelectedChanged(e){this.setState({SelectedColumn:e.length>0?e[0]:null})}isModuleAvailable(e){return this.props.api.internalApi.getModuleService().getModuleById(e).isModuleAvailable()}isModuleReadOnly(e){return this.getAccessLevel(e)=="ReadOnly"}getAccessLevel(e){return this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(e)}};d();var js=w(require("react")),uA=require("react");d();var zs=w(require("react"));var UC=w(re());var zf=class extends zs.Component{render(){let{buttonContent:e}=this.props,t=Wm[this.props.glyphicon],r=zs.createElement(UC.Flex,{alignItems:"center",width:"100%"},zs.createElement(UC.Flex,{alignItems:"center"},this.props.glyphicon!=null&&(t?zs.createElement(t,null):null),zs.createElement(UC.Box,{marginRight:2,"data-name":"space-before"}),this.props.headerText,zs.createElement(UC.Box,{marginRight:2,"data-name":"space-after"}),this.props.infoLink!=null&&!this.props.infoLinkDisabled&&zs.createElement(Ms,{onClick:()=>window.open(this.props.infoLink,"_blank")})),zs.createElement(UC.Box,{style:{flex:1}}),e?zs.createElement(X,{variant:"raised",tone:"accent",disabled:this.props.buttonDisabled,onClick:()=>this.props.buttonClick?this.props.buttonClick():null},e):null,this.props.button?zs.cloneElement(this.props.button):null);return zs.createElement(Io,{flex:1,className:this.props.className,bodyScroll:this.props.bodyScroll!=null?this.props.bodyScroll:!0,bodyProps:this.props.bodyProps,variant:this.props.variant||"primary",header:r,headerProps:this.props.headerProps,style:this.props.style,borderRadius:this.props.borderRadius||"none",border:this.props.border||"none"},this.props.children)}};d();var Mk=w(require("react"));var sA=class extends Mk.Component{render(){return Mk.createElement(X,R(v({"data-name":"minimise",iconSize:20,tooltip:"Minimise"},this.props),{variant:"text",icon:"arrow-up"}))}};d();var Nk=w(require("react"));var lA=class extends Nk.Component{render(){return Nk.createElement(X,v({"data-name":"maximise",iconSize:20,tooltip:"Maximize",icon:this.props.useHoirzontalChevron?"arrow-right":"arrow-down",variant:"text"},this.props))}};var lIe=w(re()),uIe=o=>{let{api:e}=o,t=()=>[{Content:"Property",Size:5},{Content:"Value",Size:5},{Content:"",Size:2}],r=m=>{if(m==null||m==null)return"None";switch(typeof m){case"string":case"number":case"bigint":return m;case"boolean":return m?"True":"False";case"function":return"Function";case"object":if(Array.isArray(m))return`[${m.map(g=>r(g)).join(", ")}]`;if(m instanceof HTMLElement)return"HTMLElement";default:return"Complex value"}},n=m=>{let f=t();f[0].Content=m.name;let g=r(m.value),C=m.value!==m.defaultValue;f[1].Content=C?js.createElement(js.Fragment,null,js.createElement("span",{style:{fontWeight:"bold"}},g),js.createElement("span",{style:{fontStyle:"italic"}}," ","(Default: ",r(m.defaultValue),")")):g;let y=js.createElement(Ho,{headerText:null,bodyText:[m.description]});return f[2].Content=y,f},i=(m,f)=>{let g=f.items.map(C=>{let y=n(C);return js.createElement(xi,{key:`${C.name}`,colItems:y})});return js.createElement(Pf,{colItems:t(),items:g})},[a,s]=(0,uA.useState)(),[l,u]=(0,uA.useState)();(0,uA.useEffect)(()=>{let m=e.internalApi.getMetamodelService().getGridInfoOptions(),f=new Map;m.forEach((g,C)=>{f.set(C,i(C,g))}),u(f),s(m)},[]);let[p,c]=(0,uA.useState)("");return js.createElement(lIe.Box,{className:"ab-AdaptableOptions",padding:2,"data-name":"gridInfo-adaptableOptions-content"},a&&Array.from(a.entries()).map(([m,f])=>js.createElement($St,{key:m,name:m,label:f.containerLabel,viewMode:m===p?"expanded":"collapsed",onViewModeChange:g=>c(g==="expanded"?m:"")},l.get(m))))},$St=o=>{let{viewMode:e,name:t,label:r,onViewModeChange:n,children:i}=o,a=()=>{n(e==="expanded"?"collapsed":"expanded")},s=e==="expanded"?js.createElement(sA,{onClick:()=>a(),tooltip:`Hide ${r}`}):js.createElement(lA,{onClick:()=>a(),tooltip:`Show ${r}`});return js.createElement(zf,{className:`ab-OptionsContainer options-container-${t}`,variant:"default",headerText:r,headerProps:{fontSize:3,style:{fontWeight:e==="expanded"?800:400,cursor:"pointer"},"data-name":`options-container-header-${t}`,onClick:()=>a()},button:s,style:{marginBottom:3}},e==="expanded"&&i)};d();var _T=w(require("react"));var eY=w(re());d();d();var go=w(require("react"));var Ad=w(re());var Lk=26,dIe="ab-Adaptable-Object-List",Z8=`${dIe}__Item`,J8=o=>{var i,a,s;let e=Z8,t=at(),r={disabled:o.deleteDisabled,tooltip:o.deleteTooltip,iconSize:Lk,ConfirmationMsg:`Are you sure you want to delete this ${o.entityType}?`,ConfirmationTitle:`Delete ${o.entityType}`,ConfirmAction:o.deleteAction,accessLevel:o.accessLevel};o.disableDeleteConfirmation&&(r.ConfirmAction=null,r.onClickAction=()=>{t(o.deleteAction)});let n=go.createElement(Ep,v({},r));return go.createElement(Ad.Flex,{"data-name":"adaptable-object-list-item","data-value":o.abObject.Uuid,as:"li",mb:3,className:Me(o.className,e),style:o.style},go.createElement(Ad.Box,{flex:1,className:`${e}__rows`},(s=(a=(i=o.items).filter)==null?void 0:a.call(i,Boolean))==null?void 0:s.map((l,u)=>{var c;let p=l.label;return typeof l.label=="function"&&(p=go.createElement(l.label,{data:o.abObject})),p=p!=null?p:l.name,go.createElement(Ad.Flex,{"data-name":l.name,key:`${u}-${l.name}`,mb:2,className:`${e}__row`},go.createElement(Ad.Box,{className:`${e}__label`,mr:3},p,o.showEditButton&&go.createElement(X,{"data-name":`${l.name}-edit-button`,accessLevel:o.accessLevel,className:`${e}__edit-property`,ml:1,icon:"edit",tooltip:"edit",iconSize:18,variant:"text",onClick:()=>{o.handleOnEdit(l.name)}})),go.createElement(Ad.Box,{flex:1,className:`${e}__values`},typeof l.view=="function"?go.createElement(l.view,{data:o.abObject,module:o.module}):l.view,Boolean((l==null?void 0:l.values)&&((c=l==null?void 0:l.values)==null?void 0:c.length))&&go.createElement(Ai,{style:{marginRight:0},readOnly:!0,options:l.values,value:l.values,allowWrap:!0,toIdentifier:m=>m,toLabel:m=>go.createElement(go.Fragment,null,m)}),typeof l.viewAfter=="function"?go.createElement(l.viewAfter,{data:o.abObject,module:o.module}):l.viewAfter))})),o.showActions&&go.createElement(Ad.Flex,{flexDirection:"column",className:`${e}__buttons`},go.createElement(Ad.Flex,{justifyContent:"end"},o.actions,o.teamSharingActivated&&go.createElement(Zb,{iconSize:Lk,Header:`TeamSharing ${o.entityType}`,accessLevel:o.accessLevel,onShare:o.onShare}),o.onDelete&&go.createElement(X,{"data-name":"delete",disabled:o.deleteDisabled,iconSize:Lk,tooltip:o.deleteTooltip,icon:"trash",onClick:o.onDelete,variant:"text"}),o.deleteAction&&n,o.showEditButton&&go.createElement(wp,{iconSize:Lk,disabled:o.editDisabled,accessLevel:o.accessLevel,onClick:()=>o.handleOnEdit()})),go.createElement(Ad.Box,{flex:1}),o.suspendedEnabled&&go.createElement(Ad.Flex,{justifyContent:"end"},go.createElement(ck,{onSuspend:o.onSuspend,onUnSuspend:o.onUnSuspend,suspendableObject:o.abObject,accessLevel:o.accessLevel}))))},OT=o=>{var O,M,B,_,L,U,V,j;let e=ne(),t=at(),[r,n]=go.useState(!1),[i,a]=go.useState(null),s=(B=(M=(O=o.module)==null?void 0:O.getViewProperties)==null?void 0:M.call(O))!=null?B:{},l=(_=s.getEditWizard)==null?void 0:_.call(s,o.data.abObject),u=(L=s==null?void 0:s.getDeleteAction)==null?void 0:L.call(s,o.data.abObject),c=o.module.isModuleObjectsShareable()&&e.api.teamSharingApi.isTeamSharingAvailable()&&e.api.teamSharingApi.hasTeamSharingFullRights(),m=o.module.moduleInfo.FriendlyName,f=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),g=Et.getAppropriateAccessLevel(o.data.abObject,f),C=Me(o.data.className,Z8,o.data.abObject.IsSuspended&&`${Z8}--is-suspended`),y=go.useCallback(()=>{n(!1),a(null)},[]),b=go.useCallback(z=>{var W;l&&(n(!0),z&&a(z)),(W=s==null?void 0:s.onOpenEditPopup)==null||W.call(s,o.data.abObject)},[]),S=Boolean(s.getSuspendAction),A=(V=(U=s==null?void 0:s.actions)==null?void 0:U.map)==null?void 0:V.call(U,(z,W)=>go.createElement(z,{data:o.data.abObject,key:W,accessLevel:g})),x=!Boolean(l||s.onOpenEditPopup),E=!o.hideControls,T=Boolean(l),I=e.api.optionsApi.getAdaptableOptions(),P=Dt(z=>eae(z.System))||((j=I==null?void 0:I.generalOptions)==null?void 0:j.disableDeleteConfirmation);return go.createElement(go.Fragment,null,go.createElement(J8,{module:o.module,disableDeleteConfirmation:P,abObject:o.data.abObject,accessLevel:g,actions:A,className:C,handleOnEdit:b,items:o.data.items,showActions:E,showEditButton:T,style:o.data.style,teamSharingActivated:c,onShare:z=>e.api.teamSharingApi.shareEntity(o.data.abObject,o.module.moduleInfo.ModuleName,z),entityType:m,deleteAction:u,deleteDisabled:o.deleteDisabled,deleteTooltip:o.deleteTooltip,editDisabled:x,suspendedEnabled:S,onSuspend:()=>t(s.getSuspendAction(o.data.abObject)),onUnSuspend:()=>t(s.getUnSuspendAction(o.data.abObject))}),r&&l&&go.createElement(l,{defaultCurrentSectionName:i,moduleInfo:o.module.moduleInfo,data:o.data.abObject,configEntities:null,onCloseWizard:y,onFinishWizard:y}))},FT=o=>{var e;return go.createElement("ul",{className:dIe},(e=o==null?void 0:o.items)==null?void 0:e.map(t=>go.createElement(OT,v({key:t.abObject.Uuid,data:t,module:o.module},o.itemProps))))};var pIe=()=>{let o=Dt(n=>n),t=ne().ModuleService.getModuleCollection(),r="ab-AdaptableObjectsSummary";return _T.createElement(eY.Box,{className:r},[...t].map(([n,i])=>{var s;if(!i.isModuleAvailable())return null;let a=(s=i==null?void 0:i.toViewAll)==null?void 0:s.call(i);return a!=null&&a.length?_T.createElement(eY.Box,{"data-name":i.moduleInfo.ModuleName,className:`${r}__module-list`,key:i.moduleInfo.ModuleName},_T.createElement("b",{className:`${r}__header`},i.moduleInfo.FriendlyName),(a==null?void 0:a.length)&&_T.createElement(FT,{items:a,module:i})):null}))};var cIe=o=>{var y,b,S;let e=o.api.internalApi.getEntitlementService(),t=e.isGridInfoSectionVisible("GridSummary"),r=e.isGridInfoSectionVisible("AdaptableOptions"),n=e.isGridInfoSectionVisible("ColumnInfo"),i=e.isGridInfoSectionVisible("AdaptableObjects"),[a,s]=Ti.useState({ActiveTab:(y=o.popupParams)!=null&&y.column?"ColumnInfo":t?"GridSummary":r?"AdaptableOptions":"ColumnInfo",CurrentColumn:(S=(b=o.popupParams)==null?void 0:b.column)!=null?S:void 0,IsBaseOptionsMinimised:!0,IsContainerOptionsMinimised:!0,IsSearchOptionsMinimised:!0,IsLayoutOptionsMinimised:!0,IsGeneralOptionsMinimised:!0}),l=A=>{s(x=>v(v({},x),A))},u=A=>{var M;let x=[],E=o.api.calculatedColumnApi.getCalculatedColumns().map(B=>B.ColumnId),T=o.api.actionApi.getActionColumns().map(B=>B.columnId),I=o.api.freeTextColumnApi.getFreeTextColumns().map(B=>B.ColumnId),D=o.api.filterApi.internalApi.columnFiltersToString(o.api.filterApi.getColumnFilters()),P=De.IsNotNullOrEmpty(o.api.gridApi.getColumnSorts())?o.api.gridApi.getColumnSorts().map(B=>o.api.columnApi.getFriendlyNameForColumnId(B.ColumnId)+": "+B.SortOrder):null,O=o.api.gridApi.getSelectedRowInfo();return(M=o.api.optionsApi.getUserInterfaceOptions())!=null&&M.showAdapTableVersion&&x.push(p(A,"AdapTable Version",mTe)),x.push(p(A,"Sorted Columns",De.IsNotNullOrEmpty(P)?P.join("; "):"None")),x.push(p(A,"Column Filters",D)),x.push(p(A,"All Rows",o.api.gridApi.getRowCount())),x.push(p(A,"Visible Rows",o.api.gridApi.getVisibleRowCount())),x.push(p(A,"Selected Rows",O==null?void 0:O.gridRows.length)),x.push(p(A,"Visible Selected Rows",O==null?void 0:O.gridRows.filter(B=>{var _;return((_=B.rowNode)==null?void 0:_.displayed)==!0}).length)),x.push(p(A,"All Columns",o.api.gridApi.getColumnCount())),x.push(p(A,"Visible Columns",o.api.gridApi.getVisibleColumnCount())),x.push(p(A,"Calculated Columns",De.IsNotNullOrEmpty(E)?E:"None")),x.push(p(A,"Free Text Columns",De.IsNotNullOrEmpty(I)?I:"None")),x.push(p(A,"Action Columns",De.IsNotNullOrEmpty(T)?T:"None")),x},p=(A,x,E,T)=>{let I=tr.cloneObject(A);if(I[0].Content=x,I[1].Content=E,T){let D=Ti.createElement(Ho,{headerText:null,bodyText:[T]});I[2].Content=D}return I},c=A=>{l({ActiveTab:A})},m=[{Content:"Property",Size:5},{Content:"Value",Size:7}],f=u(m).map((A,x)=>Ti.createElement(xi,{key:x,colItems:A})),g=[t,r,n,i].filter(A=>A).length>1,C="ab-GridInfo";return Ti.createElement(ni,{className:C,headerText:"Grid Info",glyphicon:"info"},Ti.createElement(tY.Flex,{flexDirection:"column",flex:1,height:"100%"},Ti.createElement(tY.Flex,{className:`${C}__header`,marginBottom:2,padding:3},g&&Ti.createElement(Ti.Fragment,null,t&&Ti.createElement(_e,{className:`${C}__option-radio`,"data-name":"radioButton-GridSummary",marginRight:3,value:"GridSummary",checked:a.ActiveTab=="GridSummary",onChange:(A,x)=>c("GridSummary")},"Summary"),r&&Ti.createElement(_e,{"data-name":"radioButton-AdaptableOptions",marginRight:3,value:"AdaptableOptions",checked:a.ActiveTab=="AdaptableOptions",onChange:(A,x)=>c("AdaptableOptions")},"Options"),n&&Ti.createElement(_e,{"data-name":"radioButton-Column",marginRight:3,value:"Column",checked:a.ActiveTab=="ColumnInfo",onChange:(A,x)=>c("ColumnInfo")},"Columns"),i&&Ti.createElement(_e,{"data-name":"radioButton-Column",value:"Column",checked:a.ActiveTab=="AdaptableObjects",onChange:(A,x)=>c("AdaptableObjects")},"Objects"))),a.ActiveTab=="GridSummary"&&Ti.createElement(Pf,{margin:2,colItems:m,items:f}),a.ActiveTab=="AdaptableOptions"&&Ti.createElement(uIe,{api:o.api}),a.ActiveTab=="ColumnInfo"&&Ti.createElement(_k,{api:o.api,teamSharingActivated:o.teamSharingActivated,column:a.CurrentColumn}),a.ActiveTab==="AdaptableObjects"&&Ti.createElement(pIe,null)))};d();var Wa=w(require("react"));var MT=w(re());d();var Vk=w(require("react"));d();var xd=w(require("react"));d();var mIe=w(require("react")),WC=mIe.createContext({availableItems:[],permittedActions:{createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0}});d();var In=w(require("react"));var kk=w(re());function fIe({tabs:o,onRemoveTab:e,onRemoveToolbar:t,onChangeTabName:r,disabled:n}){return In.createElement(wf,{droppableId:"MAIN",type:"TAB",direction:"horizontal"},i=>In.createElement("div",R(v({},i.droppableProps),{className:"ab-ModuleSelector__TabList",ref:i.innerRef,style:{display:"flex"},"data-name":"dashboard-tabs"}),o.map((a,s)=>In.createElement(XSt,{disabled:n,key:s,tabIndex:s,tab:a,onRemove:()=>e(s),onRemoveToolbar:l=>t(s,l),onChangeTabName:l=>r(s,l)})),i.placeholder))}function XSt({tab:o,tabIndex:e,onRemove:t,onRemoveToolbar:r,onChangeTabName:n,disabled:i}){let a=In.useContext(WC),s=i||!a.permittedActions.dragAndDropTab;return In.createElement(PC,{isDragDisabled:s,draggableId:String(e),index:e},l=>In.createElement("div",R(v({className:"ab-ModuleSelector__TabItem","data-name":"dashboard-tab",ref:l.innerRef},l.draggableProps),{style:v({},s?{}:l.draggableProps.style)}),In.createElement("div",{className:"ab-ModuleSelector__TabItem__header"},In.createElement("div",R(v({},i?{}:l.dragHandleProps),{style:a.permittedActions.dragAndDropTab?{}:{display:"none"}}),In.createElement(Lt,{name:"drag"})),a.permittedActions.editTabName?In.createElement("input",{className:"ab-ModuleSelector__TabItem__header-input",type:"text",disabled:i,value:o.Name,onChange:u=>{n(u.target.value)}}):o.Name,a.permittedActions.deleteTab&&In.createElement(X,{disabled:i,icon:"delete",variant:"text",onClick:t})),In.createElement(ZSt,{disabled:i,toolbars:o.Items,droppableId:String(e),onRemove:r})))}function ZSt({toolbars:o,droppableId:e,onRemove:t,disabled:r}){return In.createElement(wf,{droppableId:e,type:"TOOLBAR"},(n,i)=>In.createElement(kk.Box,R(v({className:"ab-ModuleSelector__ToolbarList",ref:n.innerRef},r?{}:n.droppableProps),{"data-name":"dashboard-toolbar-drop-target",backgroundColor:i.isDraggingOver?"var(--ab-dashboard-tab-drop-target__background)":""}),o.map((a,s)=>In.createElement(JSt,{disabled:r,key:a,toolbar:a,toolbarIndex:s,onRemove:()=>t(s)})),n.placeholder))}function JSt({toolbar:o,toolbarIndex:e,onRemove:t,disabled:r}){let{availableItems:n}=In.useContext(WC),i=n.find(s=>s.Id===o),a=i?i.Title:o;return In.createElement(PC,{isDragDisabled:r,draggableId:o,index:e},(s,l)=>In.createElement(kk.Flex,R(v(v({className:"ab-ModuleSelector__ToolbarItem",alignItems:"center",mb:1,pl:1,backgroundColor:l.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",ref:s.innerRef},s.draggableProps),s.dragHandleProps),{style:s.draggableProps.style}),In.createElement("div",{style:{flex:1}},a),In.createElement(X,{disabled:r,icon:"clear",variant:"text",padding:1,onClick:t})))}d();var Eu=w(require("react"));var oY=w(re());function hIe({items:o,disabled:e,title:t,dragItemText:r}){return Eu.createElement(oY.Box,{pb:1,mb:2,className:"ab-ModuleSelector__UnusedPanel","data-name":"unusedpanel-items"},Eu.createElement(oY.Box,{p:2},Eu.createElement("b",null,t)," (",r,")"),Eu.createElement(ebt,{disabled:e,items:o}))}function ebt({items:o,disabled:e}){return Eu.createElement(wf,{droppableId:"UNUSED",type:"TOOLBAR",isDropDisabled:!0,direction:"horizontal"},t=>Eu.createElement("div",R(v({ref:t.innerRef,"data-name":"unusedpanel-items-list"},t.droppableProps),{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",paddingLeft:"var(--ab-space-2)",paddingRight:"var(--ab-space-2)"}}),o.map((r,n)=>Eu.createElement(tbt,{disabled:e,key:r,unusedItem:r,unusedItemIndex:n})),t.placeholder))}function tbt({unusedItem:o,unusedItemIndex:e,disabled:t}){let{availableItems:r}=Eu.useContext(WC),n=r.find(a=>a.Id===o),i=n?n.Title:o;return Eu.createElement(PC,{isDragDisabled:t,draggableId:o,index:e},(a,s)=>{let l=t?{}:v(v({},a.draggableProps),a.dragHandleProps),u=t?{}:a.draggableProps.style;return Eu.createElement("div",R(v({"data-name":"unused-item",ref:a.innerRef},l),{style:R(v({},u),{border:"1px solid var(--ab-color-primary)",backgroundColor:s.isDragging?"var(--ab-dashboard-toolbar-drag__background)":"var(--ab-color-primarylight)",padding:"var(--ab-space-1) var(--ab-space-2)",marginRight:"var(--ab-space-1)",marginBottom:"var(--ab-space-1)"})}),i)})}var dA=o=>{let{availableItems:e,tabs:t,onTabsChange:r,tabsTitle:n,disabled:i,unusedPanelTitle:a,dragItemText:s,permittedActions:l}=o,u=xd.useMemo(()=>({permittedActions:v({createTab:!0,editTabName:!0,dragAndDropTab:!0,deleteTab:!0},l),availableItems:o.availableItems}),[o.availableItems,o.permittedActions]),p=xd.useMemo(()=>e.map(b=>b.Id).filter(b=>!t.some(S=>S.Items.includes(b))),[t,e]),c=b=>{let{source:S,destination:A,draggableId:x}=b;!S||!A||(S.droppableId!=="UNUSED"&&t[Number(S.droppableId)].Items.splice(S.index,1),A.droppableId!=="UNUSED"&&t[Number(A.droppableId)].Items.splice(A.index,0,x),r([...t]))},m=b=>{let{source:S,destination:A}=b;if(!S||!A)return;let[x]=t.splice(S.index,1);t.splice(A.index,0,x),r([...t])},f=b=>{r(t.filter((S,A)=>A!==b))},g=()=>{r([...t,{Name:"New Tab",Items:[]}])},C=(b,S)=>{r(t.map((A,x)=>x!==b?A:R(v({},A),{Items:A.Items.filter((E,T)=>T!==S)})))},y=(b,S)=>{r(t.map((A,x)=>x!==b?A:R(v({},A),{Name:S})))};return xd.createElement(rk,{onDragEnd:b=>{b.type==="TAB"&&m(b),b.type==="TOOLBAR"&&c(b)}},xd.createElement(WC.Provider,{value:u},xd.createElement("div",{className:"ab-ModuleSelector",style:{display:"flex",flexDirection:"column"}},xd.createElement(hIe,{title:a,disabled:i,items:p,dragItemText:s}),xd.createElement(zf,{className:"ab-ModuleSelector-UsedPanel",headerText:n,button:u.permittedActions.createTab&&xd.createElement(X,{disabled:i,onClick:g},"Add Tab")},xd.createElement(fIe,{disabled:i,tabs:t,onRemoveTab:f,onRemoveToolbar:C,onChangeTabName:y})))))};var obt=({tabs:o,onTabsChange:e,availableToolbars:t,api:r,disabled:n})=>{let a=r.internalApi.getModuleService().getModuleInfoByModule("Dashboard"),s=o.map(u=>({Name:u.Name,Items:u.Toolbars})),l=Vk.useCallback(u=>{let p=u.map(c=>({Name:c.Name,Toolbars:c.Items}));e(p)},[]);return Vk.createElement(dA,{availableItems:t,disabled:n,onTabsChange:l,tabs:s,tabsTitle:a.FriendlyName+" Tabs",unusedPanelTitle:"Available Toolbars",dragItemText:"Drag into a Tab below"})},gIe=obt;var rY=class extends Wa.Component{constructor(e){super(e),this.state={DashboardConfigView:"Toolbars"}}render(){let e=wwe,t=this.props.api.internalApi.getModuleService(),r=e.filter(f=>this.props.api.internalApi.getModuleService().isModuleAvailable(f)).map(f=>({Id:f,Title:t.getModuleInfoByModule(f).FriendlyName})),n=this.props.api.dashboardApi.getCustomToolbars().map(f=>({Id:f.name,Title:f.title?f.title:f.name})),i=this.props.DashboardState.Tabs.map(f=>{let g=f.Toolbars.filter(C=>this.props.api.dashboardApi.getCustomToolbars().find(b=>b.name===C)?!0:this.props.api.internalApi.getModuleService().isModuleAvailable(C));return R(v({},f),{Toolbars:g})}),a=[];this.props.DashboardState.ModuleButtons.forEach(f=>{let g=this.props.GridState.SettingPanelModuleMenuItems.find(C=>C.module==f);g!=null&&g.isVisible&&a.push(f)});let s=this.props.GridState.SettingPanelModuleMenuItems.map(f=>f.module),l="ab-Dashboard-Popup",u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),p=u=="Full"||u=="ReadOnly",c=u==="ReadOnly",m=f=>f==="SettingsPanel"?this.props.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard:!1;return Wa.createElement(ni,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},Wa.createElement(MT.Flex,{flex:1,height:"100%",flexDirection:"column"},p&&Wa.createElement(Io,{header:"Dashboard Modes",style:{height:"auto",overflow:"visible"},variant:"default",borderRadius:"none"},Wa.createElement(ye,{mr:3,"data-name":"collapse",className:`${l}__settings-option`,checked:this.props.IsCollapsed,onChange:f=>this.props.onSetDashboardCollapsed(f)},"Collapse")," ",this.props.api.optionsApi.getDashboardOptions().canFloat&&Wa.createElement(ye,{mr:3,"data-name":"floating",className:`${l}__settings-option`,checked:this.props.IsFloating,onChange:f=>this.props.onSetDashboardFloating(f)},"Float")," ",Wa.createElement(ye,{"data-name":"hidden",className:`${l}__settings-option`,checked:this.props.IsHidden,onChange:f=>this.props.onSetDashboardHidden(f)},"Hidden")),Wa.createElement(Io,{header:"Dashboard Contents",style:{borderBottom:"1px solid var(--ab-color-primary)"},variant:"default",borderRadius:"none",marginTop:4},Wa.createElement(MT.Flex,{className:`${l}__contents-selector`,flexDirection:"row",padding:2},Wa.createElement(_e,{marginLeft:3,value:"Toolbars",checked:this.state.DashboardConfigView=="Toolbars",onChange:(f,g)=>this.onDashboardConfigViewChanged(g)},"Toolbars"),Wa.createElement(_e,{marginLeft:3,value:"Buttons",checked:this.state.DashboardConfigView=="Buttons",onChange:(f,g)=>this.onDashboardConfigViewChanged(g)},"Buttons")),Wa.createElement(MT.Box,{className:`${l}__Module-Selector`,"data-name":this.state.DashboardConfigView==="Toolbars"?"toolbars":"buttons",style:{minHeight:0,flex:"1 1 0"},padding:2},this.state.DashboardConfigView=="Toolbars"&&Wa.createElement(gIe,{disabled:c,availableToolbars:[...r,...n],tabs:i,onTabsChange:this.props.onDashboardSetTabs,api:this.props.api}),this.state.DashboardConfigView=="Buttons"&&Wa.createElement(hT,{disabled:c,options:s,value:a,noSelectionLabel:"No selected Module Button",isOptionDisabled:m,xSelectedLabel:()=>"Visible Module Buttons:",onChange:f=>this.props.onDashboardSetModuleButtons(f)})))))}onDashboardConfigViewChanged(e){let r=e.target.value;this.setState({DashboardConfigView:r})}};function rbt(o,e){return{DashboardState:o.Dashboard,GridState:o.Grid,IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function nbt(o){return{onDashboardSetModuleButtons:e=>o(f_(e)),onDashboardSetTabs:e=>o(fce(e)),onSetDashboardCollapsed:e=>o(nu(e)),onSetDashboardHidden:e=>o(op(e)),onSetDashboardFloating:e=>o(iu(e))}}var CIe=ot(rbt,nbt)(rY);d();var ps=w(require("react"));d();var iY=w(require("react"));d();var Ks=w(require("react")),jf=w(re()),Gk=require("react");d();var ibt=(o,e)=>e.type==="DRAG_OVER"?R(v({},o),{dragOver:!0}):e.type==="DRAG_OUT"?R(v({},o),{dragOver:!1}):e.type==="SET_INVALID_FILE"?R(v({},o),{message:e.payload.message}):e.type==="DROP_SUCCES"?R(v({},o),{dragOver:!1,message:e.payload.message}):o,yIe=ibt;var abt={dragOver:!1,message:null},Bk=o=>{o.preventDefault(),o.stopPropagation()},nY=async(o,e)=>{let t=new FileReader;return new Promise((r,n)=>{t.onload=function(i){try{let s=(e||JSON.parse)(i.target.result);Promise.resolve(s).then(r)}catch(a){n("Invalid JSON")}},t.onerror=function(i){n(i)},t.readAsText(o)})},vIe=o=>{let b=o,{onDropSuccess:e,message:t,fileAccept:r=".json",helpText:n="AdapTable No Code Version",defaultText:i="Click here to select a JSON file to load or drag it here",dragOverText:a="Drop file here to start Adaptable Wizard",icon:s=Ks.createElement(Lt,{name:"attach-file",size:48})}=b,l=ze(b,["onDropSuccess","message","fileAccept","helpText","defaultText","dragOverText","icon"]),[u,p]=(0,Gk.useReducer)(yIe,abt),c=S=>{p({type:"DRAG_OVER"})},m=S=>{Bk(S),!(g.current!=S.target&&Gg(g.current,S.target))&&p({type:"DRAG_OUT"})},f=async S=>{let A;Bk(S);let x=S.nativeEvent;x&&x.dataTransfer?A=x.dataTransfer.files:A=S.target.files,m(S);let E=A[0];if(E){let T;try{T=await(o.readFile||nY)(E,o.toJSON),p({type:"DROP_SUCCES",payload:{message:Ks.createElement(jf.Box,null,o.loadingText===void 0?"Initializing adaptable...":o.loadingText)}}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e&&e(T,E)})})}catch(I){p({type:"SET_INVALID_FILE",payload:{message:Ks.createElement(jf.Box,null,"The file is not a valid JSON file! Please try again!")}})}}},g=(0,Gk.useRef)(),C=Ks.createElement("form",{onSubmit:Bk},Ks.createElement(X,{style:{cursor:"pointer"},variant:"outlined"},Ks.createElement("div",null,u.dragOver?a:i),Ks.createElement("input",{type:"file",onChange:f,accept:r,style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}}))),y=t||u.message;return Ks.createElement(jf.Flex,R(v({},l),{flexDirection:"column",className:Me(o.className,"ab-FileDroppable",u.dragOver?"ab-FileDroppable--drag-over":""),alignItems:"center",justifyContent:"center",onDragEnter:c,onDragLeave:m,onDrop:f,onDragOver:Bk,ref:g}),o.children,n||s?Ks.createElement(jf.Flex,{flexDirection:"column"},n?Ks.createElement(jf.Flex,{flexDirection:"column",alignItems:"center",margin:2},Ks.createElement(Ot,null,Ks.createElement("b",null,n))):null,s?Ks.createElement(jf.Flex,{flexDirection:"column",alignItems:"center",margin:2},s):null):null,y,C)};vIe.defaultProps={};var SIe=vIe;var Hk=o=>{let e=t=>{let r=t.nativeEvent,n;r&&r.dataTransfer?n=r.dataTransfer.files:n=t.target.files;let i=n[0];nY(i).then(a=>{o.onLoad(a)})};return iY.createElement(X,R(v({},o),{className:"ab-StateManagement__Load-Button"}),iY.createElement("input",{type:"file",onChange:t=>e(t),accept:".json",style:{opacity:0,position:"absolute",cursor:"pointer",fontSize:0,lineHeight:0,top:0,left:0,width:"100%",height:"100%",zIndex:1}})," ",o.children)};d();var bIe=w(require("react"));var Uk=o=>bIe.createElement(X,R(v({},o),{className:"ab-StateManagement__Clear-Button",tooltip:"Clear User State"}),o.children);d();var AIe=w(require("react"));d();var aY=(o,e,t)=>{switch(o){case"Clipboard":let r=JSON.stringify(t);tr.copyToClipboard(r);break;case"Console":console.log("Adaptable State: ",t);break;case"JSON":let n=e+".json",i=JSON.stringify(t);tr.createDownloadedFile(i,n,"application/json");break}};var pA=o=>{let e=r=>{switch(o.type){case"adaptableState":let n=o.api.configApi.getPersistedState();aY(r,"adaptableState",n);break;case"predefinedConfig":let i=o.api.configApi.getPredefinedConfig();aY(r,"predefinedConfig",i);break}},t=[{value:"Clipboard",label:"Clipboard",onClick:()=>e("Clipboard")},{value:"Console",label:"Console",onClick:()=>e("Console")},{value:"JSON",label:"JSON",onClick:()=>e("JSON")}];return AIe.createElement(Fe,R(v({className:"ab-StateManagement__Export-Dropdown"},o),{items:t,value:void 0}))};var xIe=o=>{let e="ab-ManageState";return ps.createElement(ni,{className:e,headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},ps.createElement(Io,{className:`${e}__panel`,"data-name":"user-state",header:"User State",style:{height:"auto"},variant:"default",borderRadius:"none",marginRight:2,mb:2},ps.createElement(Ot,{marginBottom:2},"Clear all current user state that has been persisted."),ps.createElement(Ot,null,"This will cause this window to close and any state you have previously created will be lost and the initial Predefined Config will then be reapplied."),ps.createElement(Uk,{"data-name":"clear-user-state-button",tone:"error",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onClick:()=>o.api.configApi.reloadPredefinedConfig()},"Clear User State")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"predefined-config",header:"Load Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2},"Load Predefined Config (from a .json file). This will cause this window to close.")," ",ps.createElement(Hk,{tone:"info",variant:"raised",marginTop:2,accessLevel:o.accessLevel,onLoad:t=>o.api.configApi.reloadPredefinedConfig(t),"data-name":"load-predefined-config-button"},"Load Predefined Config")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"adaptable-state",header:"Export Adaptable State",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2,marginBottom:2},"Exports the currently persisted Adaptable state.")," ",ps.createElement(pA,{api:o.api,type:"adaptableState",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-adaptable-state-dropdown"},"Select Export Destination")),ps.createElement(Io,{className:`${e}__panel`,"data-name":"initial-predefined-config",header:"Export Initial Predefined Config",style:{height:"auto"},variant:"default",borderRadius:"none",marginTop:3,marginRight:2,mb:2},ps.createElement(Ot,{marginTop:2,marginBottom:2},"Exports the Predefined Config which was provided at design time.")," ",ps.createElement(pA,{api:o.api,type:"predefinedConfig",marginRight:3,style:{flex:1,maxWidth:"none"},columns:["label"],"data-name":"export-initial-predefined-config-dropdown"},"Select Export Destination")))};d();var Kr=w(require("react"));d();var Kf=w(require("react"));var Qf=class extends Kf.Component{constructor(t){super(t);this.loadPermittedValues=async()=>{var n;if(!((n=this.props.selectedColumn)!=null&&n.columnId))return;let t=await tA(this.props.api.gridApi.internalApi.getDistinctBulkUpdateDisplayValuesForColumn(this.props.selectedColumn.columnId,this.props.selectedGridCells),()=>this.setState({isDistinctColumnValuesLoading:!0}));this.setState({isDistinctColumnValuesLoading:!1});let r=qe.sortArray(t,"Asc").map(i=>({label:i,value:i,onClick:()=>this.onSelectedValueChange([{DisplayValue:i}])}));this.setState({distinctColumnValues:r})};this.handleSelectedValueExpand=()=>{this.state.distinctColumnValues.length||this.loadPermittedValues()};this.state={newOrExisting:"Existing value",distinctColumnValues:[],isDistinctColumnValuesLoading:!1}}componentDidUpdate(t){(this.props.selectedColumn!==t.selectedColumn||this.props.selectedGridCells!==t.selectedGridCells)&&this.loadPermittedValues()}render(){let t="Select",r=this.props.allowNew!=null?this.props.allowNew:!0,n="ab-column-value-selector",i=Me("ab-column-value-selector",this.state.isDistinctColumnValuesLoading&&`${n}--loading`),a=150,s=this.state.isDistinctColumnValuesLoading?[{label:"Loading",disabled:!0}]:this.state.distinctColumnValues,l=Kf.createElement("div",null,Kf.createElement(Fe,{"data-name":"bulkupdate-value-selector",className:i,columns:["label"],variant:"text",showClearButton:!0,onClear:()=>this.onSelectedValueChange([]),style:{fontSize:"small"},disabled:this.props.disabled,items:s,onExpand:this.handleSelectedValueExpand},this.props.selectedColumnValue?this.props.selectedColumnValue:t)),u=Kf.createElement(Vt,{"data-name":"bulkupdate-value-input",type:this.props.selectedColumn?Xt.getDescriptionForDataType(this.props.selectedColumn.dataType):"text",placeholder:this.props.selectedColumn?Xt.getPlaceHolderforDataType(this.props.selectedColumn.dataType):"Enter Value",autoFocus:!0,disabled:this.props.disabled,style:{width:a},value:this.props.selectedColumnValue,onChange:p=>{this.onSelectedValueChange([{customOption:!0,DisplayValue:p.target.value}])}});return Kf.createElement(sf,{style:R(v({},this.props.style),{overflow:"visible"})},this.state.newOrExisting==="Existing value"?l:u,Kf.createElement(Fe,v({variant:"raised",tone:"neutral",columns:["label"],style:{boxShadow:"none",color:"var(--ab-cmp-dashboardpanel__fill)",background:"var(--ab-color-defaultbackground)"},disabled:this.props.disabled,marginRight:1,items:[{label:"Existing value",onClick:()=>{this.setState({newOrExisting:"Existing value"}),this.onSelectedValueChange([])}},{label:"New value",onClick:()=>{this.setState({newOrExisting:"New value"}),this.onSelectedValueChange([])}}]},this.props.dropdownButtonProps),this.state.newOrExisting==="Existing value"?this.props.existingLabel:this.props.newLabel))}onSelectedValueChange(t){qe.IsEmpty(t)&&je.IsNullOrEmpty(this.props.selectedColumnValue)||(qe.IsEmpty(t)?this.props.onColumnValueChange(""):t[0].customOption?this.props.onColumnValueChange(t[0].DisplayValue):this.props.onColumnValueChange(t[0].DisplayValue))}};Qf.defaultProps={newLabel:"New value",existingLabel:"Existing value"};var zC=w(re());var sY=class extends Kr.Component{constructor(e){super(e),this.state={isShowingError:!1,errorText:"",useSelector:!1}}componentDidMount(){this.props.onBulkUpdateValueChange(""),this.props.onBulkUpdateCheckSelectedCells()}render(){let e=this.props.BulkUpdateValidationResult.Column,t=!1,r="";e&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&e.dataType=="Number"&&isNaN(Number(this.props.BulkUpdateValue))&&(t=!0,r="This column only accepts numbers");let n=nd.GetValidationMessage(this.props.PreviewInfo,this.props.BulkUpdateValue),i=this.props.PreviewInfo&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&je.IsNotNullOrEmpty(n),a=i?Kr.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:e,showPanel:i,showHeader:!0}):null;return e?Kr.createElement(hp,{bodyProps:{padding:2},flex:1,glyphicon:this.props.moduleInfo.Glyph,header:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed(),variant:"primary"},e.dataType=="Date"?Kr.createElement(Kr.Fragment,null,Kr.createElement(Ot,{marginTop:2,marginBottom:2},"Enter a date value. Alternatively, tick the checkbox and select from an existing column value."),Kr.createElement(zC.Box,null,Kr.createElement(ye,{marginLeft:2,onChange:s=>this.onUseColumnValuesSelectorChanged(s),checked:this.state.useSelector}," ","Select from existing column values")),Kr.createElement(zC.Flex,{padding:2,flexDirection:"row",alignItems:"center"},Kr.createElement(zC.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},this.state.useSelector?Kr.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),allowNew:!1,style:{width:"100%",maxWidth:"inherit"}}):Kr.createElement(Vt,{"data-name":"bulk-update",style:{width:"100%"},value:String(this.props.BulkUpdateValue),type:_o.getDescriptionForDataType(e.dataType),placeholder:_o.getPlaceHolderforDataType(e.dataType),onChange:s=>this.onBulkUpdateValueChange(s)})),Kr.createElement(X,{disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All",onClick:()=>{this.onApplyClick()},variant:"raised",tone:"accent"},"Apply to Grid"))):Kr.createElement(Kr.Fragment,null,Kr.createElement(Ot,{marginTop:2,marginBottom:2},"Select an existing column value from the dropdown, or enter a new value"),Kr.createElement(zC.Flex,{marginTop:2,flexDirection:"row",alignItems:"center"},Kr.createElement(zC.Flex,{alignItems:"center",flexDirection:"row",flex:1,marginRight:2},Kr.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:e,api:this.props.api,onColumnValueChange:s=>this.onColumnValueSelectedChanged(s),style:{width:"100%",maxWidth:"inherit"}})),Kr.createElement(X,{disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo.previewValidationSummary.validationResult=="All"||t,variant:"raised",tone:"accent",marginRight:2,onClick:()=>{this.onApplyClick()}},"Apply to Grid")," ",t&&Kr.createElement(Ho,{headerText:"Update Error",bodyText:[r],MessageType:"Error"}),je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo.previewValidationSummary.validationResult!="None"&&Kr.createElement(Ho,{headerText:"Validation Error",bodyText:[n],MessageType:"Error"}))),a):null}onColumnValueSelectedChanged(e){this.props.onBulkUpdateValueChange(e)}onUseColumnValuesSelectorChanged(e){this.setState({useSelector:e}),this.props.onBulkUpdateValueChange("")}onBulkUpdateValueChange(e){let t=e.target;this.props.onBulkUpdateValueChange(t.value)}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate()}};function sbt(o,e){var t;return{BulkUpdateValue:o.System.BulkUpdateValue,PreviewInfo:o.System.BulkUpdatePreviewInfo,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells}}function lbt(o){return{onBulkUpdateValueChange:e=>o(Pv(e)),onBulkUpdateCheckSelectedCells:()=>o(QD()),onRunBulkUpdate:()=>o(DO(!1))}}var RIe=ot(sbt,lbt)(sY);d();var NT=w(require("react"));d();var Dp=w(require("react"));d();var Wk=w(require("react")),zk=w(re());var wIe="ab-EmptyContent",ubt=n=>{var i=n,{children:o,className:e,style:t}=i,r=ze(i,["children","className","style"]);return typeof o=="string"&&(o=Wk.createElement("p",null,o)),Wk.createElement(zk.Box,{flex:1,className:`${wIe}__wrapper`},Wk.createElement(zk.Flex,R(v({alignItems:"center",justifyContent:"center",flexDirection:"column"},r),{className:Me(wIe,e),style:t}),o))},cA=ubt;var dbt=new Map([["Operation",{field:"Operation",defaultFlex:1}],["Value",{field:"Value",defaultFlex:1}]]),pbt={style:{height:"100%",minWidth:"20rem",minHeight:380}},Yf=class extends Dp.Component{render(){let e=[];return this.props.CellSummary!=null&&(e=Object.keys(this.props.CellSummary).map(t=>({Operation:t,Value:this.props.CellSummary[t]}))),Dp.createElement(Dp.Fragment,null,this.props.CellSummary!=null?Dp.createElement(Wi,{data:e,primaryKey:"Operation"},Dp.createElement(Hn,{domProps:pbt,columns:dbt})):Dp.createElement(cA,null,Dp.createElement("p",null,"No cells are selected - please select some cells.")))}};var lY=class extends NT.Component{componentDidMount(){var e,t,r;((e=this.props.popupParams)==null?void 0:e.source)==="ColumnMenu"&&((t=this.props.popupParams)==null?void 0:t.column)&&(this.props.api.columnApi.selectColumn((r=this.props.popupParams)==null?void 0:r.column.columnId),this.props.api.internalApi.getAdaptableInstance().setSelectedCells()),this.props.onCreateCellSummary()}render(){return NT.createElement(zf,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},NT.createElement(Yf,{CellSummary:this.props.CellSummary}))}};function cbt(o,e){return{CellSummary:o.Grid.CellSummary}}function mbt(o){return{onCreateCellSummary:()=>o(tS())}}var EIe=ot(cbt,mbt)(lY);d();var qf=w(require("react"));var PIe=w(re());d();var jC=w(require("react"));var Kk=w(re());var jk=class extends jC.Component{render(){var n;let e=this.props.adaptableObject,t=Xt.getColorByMessageType((n=e==null?void 0:e.statusType)!=null?n:"Success"),r=Zt(this.props.colItems);return r[0].Content=e?jC.createElement("details",null,jC.createElement(Kk.Flex,{title:e.statusFurtherInformation?"Click to see more":"",className:Me("ab-DashboardToolbar__SystemStatus__text",e.statusFurtherInformation&&"ab-DashboardToolbar__SystemStatus__text--expandable"),backgroundColor:t,alignItems:"center",as:"summary"},e.statusMessage," ",e.statusFurtherInformation?"...":""),e.statusFurtherInformation?jC.createElement(Kk.Box,{className:"ab-DashboardToolbar__SystemStatus__further-information",margin:2},e.statusFurtherInformation):null):null,r[1].Content=e.timestamp.toLocaleString(),jC.createElement(xi,{colItems:r})}};var TIe=[{Content:"Message",Size:10},{Content:"Timestamp",Size:3}],uY=class extends qf.Component{constructor(e){super(e)}onSystemStatusMessageInfoDeleteAll(){this.props.onSystemStatusMessageInfoDeleteAll()}render(){let e=qf.createElement(X,{onClick:()=>this.onSystemStatusMessageInfoDeleteAll(),tooltip:"Clear All",tone:"neutral",variant:"raised",accessLevel:this.props.accessLevel,disabled:De.IsNullOrEmpty(this.props.SystemStatusMessages)},"Delete All Messages"),t=De.sortArrayWithProperty("Desc",this.props.SystemStatusMessages,"Timestamp").map((r,n)=>{let i=Et.getAppropriateAccessLevel(r,this.props.accessLevel);return qf.createElement(jk,{adaptableObject:r,key:"smi"+n,onEdit:null,moduleInfo:this.props.moduleInfo,colItems:TIe,api:this.props.api,accessLevel:i,teamSharingActivated:this.props.teamSharingActivated,onDeleteConfirm:null,onShare:null})});return qf.createElement(ni,{button:e,headerText:this.props.moduleInfo.FriendlyName,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},De.IsNotNullOrEmpty(this.props.SystemStatusMessages)&&qf.createElement(PIe.Box,{className:"ab-SystemStatus-Popup-List",padding:2},qf.createElement(Pf,{colItems:TIe,items:t})))}};function fbt(o,e){return{SystemStatusMessageInfos:o.System.SystemStatusMessages,SystemStatusMessages:o.System.SystemStatusMessages}}function hbt(o){return{onSystemStatusMessageInfoDeleteAll:()=>o(jD())}}var IIe=ot(fbt,hbt)(uY);d();var $f=w(require("react"));var $k=w(re());d();var Qk=o=>{let e=Xt.getMessageTypeFromAdaptableAlerts(o),t=Xt.getColorByMessageType(e),r=Xt.getButtonColourForAdaptableAlerts(o,t);return{color:Xt.getButtonTextColourForArrayandMessageType(o,e),background:r}};d();var DIe=w(require("react"));d();var Mr=w(require("react"));var Tu=w(re());var KC="ab-Adaptable-Object-Compact-List",gbt=20,Cbt=o=>{var f,g,C,y,b,S,A,x;let e=at(),t=ne(),r=o.module.toViewCompact(o.abObject),n=(g=(f=o.module)==null?void 0:f.getViewProperties)==null?void 0:g.call(f),i=(C=n==null?void 0:n.getCompactDeleteAction)==null?void 0:C.call(n,o.abObject),a=t.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),s=(y=n==null?void 0:n.getCompactSuspendAction)==null?void 0:y.call(n,o.abObject),l=(b=n==null?void 0:n.getCompactUnSuspendAction)==null?void 0:b.call(n,o.abObject),u=o.abObject.IsSuspended,p=Mr.useCallback(E=>{E.stopPropagation(),E.preventDefault(),e(i)},[]),c=Mr.useCallback(E=>{E.stopPropagation(),E.preventDefault(),e(u?l:s)},[o.abObject]),m=r.item.label;return typeof m=="function"&&(m=Mr.createElement(m,{data:o.abObject})),m=m!=null?m:r.item.name,Mr.createElement(Tu.Flex,{className:`${KC}__Item`,alignItems:"center"},m&&Mr.createElement(Tu.Flex,{className:`${KC}__Item__Name`},m),Mr.createElement(Tu.Box,{flex:1},typeof r.item.view=="function"?Mr.createElement(r.item.view,{data:o.abObject}):r.item.view,Boolean(((S=r.item)==null?void 0:S.values)&&((x=(A=r.item)==null?void 0:A.values)==null?void 0:x.length))&&Mr.createElement(Tu.Box,{mb:2,className:`${KC}__Item__Values`},Mr.createElement(Ai,{style:{marginRight:0},readOnly:!0,options:r.item.values,value:r.item.values,allowWrap:!0,toIdentifier:E=>E,toLabel:E=>Mr.createElement(Mr.Fragment,null,E)}))),s&&l&&Mr.createElement(X,{onMouseDown:c,tone:u?"neutral":"success",variant:"text",icon:u?"play":"pause"}),Mr.createElement(Tu.Flex,{ml:1},i&&Mr.createElement(X,{iconSize:gbt,icon:"delete",variant:"text",onMouseDown:p,accessLevel:a})))},Yk=o=>{var p,c,m,f,g;let e=ne(),t=(c=(p=o.module).getViewProperties)==null?void 0:c.call(p),r=(m=t==null?void 0:t.getDeleteAllAction)==null?void 0:m.call(t),n=(f=t==null?void 0:t.getSuspendAllAction)==null?void 0:f.call(t),i=(g=t==null?void 0:t.getUnSuspendAllAction)==null?void 0:g.call(t),a=at(),s=e.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(o.module.moduleInfo.ModuleName),l=o.abObjects.some(C=>!C.IsSuspended),u=Mr.useCallback(C=>{C.stopPropagation(),C.preventDefault(),a(l?n:i)},[l]);return Mr.createElement(Tu.Flex,{flexDirection:"column",className:KC},Mr.createElement(Tu.Flex,{className:`${KC}__Header`,fontSize:3},Mr.createElement(Tu.Box,{className:`${KC}__Title`},o.module.moduleInfo.FriendlyName),Mr.createElement(Tu.Box,{flex:1}),n&&i&&Mr.createElement(X,{mr:2,onMouseDown:u,tone:l?"neutral":"success",variant:"raised",icon:l?"pause":"play",accessLevel:s},l?"Suspend All":"Unsuspend All"),r&&Mr.createElement(X,{onMouseDown:()=>a(r),variant:"raised",tone:"neutral",accessLevel:s},"Clear All")),Mr.createElement(Tu.Box,{className:`${KC}__Body`},o.abObjects.map(C=>Mr.createElement(Cbt,{key:C.Uuid,abObject:C,module:o.module}))))};var qk=()=>{let e=ne().ModuleService.getModuleById(xn),t=Dt(r=>r.System.AdaptableAlerts);return DIe.createElement(Yk,{abObjects:t,module:e})};var dY=class extends $f.Component{constructor(e){super(e),this.state={ShowMessage:!1,Alerts:this.props.AdaptableAlerts}}componentDidUpdate(){this.state.Alerts.length!=this.props.AdaptableAlerts.length&&this.setState({ShowMessage:!0,Alerts:this.props.AdaptableAlerts})}render(){let e=Xt.getMessageTypeFromAdaptableAlerts(this.props.AdaptableAlerts),{color:t,background:r}=Qk(this.props.AdaptableAlerts),n=this.props.AdaptableAlerts.length==0?"0 Alerts":this.props.AdaptableAlerts.length==1?"1 Alert":this.props.AdaptableAlerts.length+" Alerts",i=$f.createElement(qk,null),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return $f.createElement($k.Flex,{alignItems:"stretch",className:`ab-${a}__Alert__wrap`},$f.createElement($k.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${a}__Alert__text`,marginRight:2,padding:2,color:t,backgroundColor:r,fontSize:"var( --ab-font-size-2)",alignItems:"center"},n),this.props.AdaptableAlerts.length>0&&$f.createElement($k.Flex,{alignItems:"center"},$f.createElement(Ho,{className:`ab-${a}__Alert__info`,headerText:"",bodyText:[i],MessageType:e,useButton:!0,showEvent:"focus",hideEvent:"blur"})))}};function ybt(o,e){return{AlertDefinitions:o.Alert.AlertDefinitions,AdaptableAlerts:o.System.AdaptableAlerts}}function vbt(o){return{onDeleteAlert:e=>o(CR(e)),onDeleteAllAlert:e=>o(zD(e))}}var OIe=ot(ybt,vbt)(dY);d();var Op=w(require("react"));var Zk=w(re());d();var Xk=w(require("react"));var mA=class extends Xk.Component{render(){return Xk.createElement(X,v({"data-name":"apply",tooltip:"Apply",iconSize:20,icon:"check",variant:"text"},this.props))}};var pY=class extends Op.Component{constructor(t){super(t);this.state={Disabled:!0}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),r=this.props.BulkUpdateValidationResult.Column,n=Op.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),i=this.props.accessLevel=="ReadOnly"||!this.props.BulkUpdateValidationResult.IsValid||this.props.InPivotMode==!0,a={color:t,fill:"currentColor"},s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Op.createElement(Zk.Flex,{flexDirection:"row",className:Me(i?kn:"",`ab-${s}__BulkUpdate__wrap`),flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Op.createElement(Zk.Flex,null,Op.createElement(Qf,{selectedGridCells:this.props.SelectedGridCells,newLabel:"New",existingLabel:"Existing",dropdownButtonProps:{listMinWidth:160},className:`ab-${s}__BulkUpdate__select`,disabled:i,selectedColumnValue:this.props.BulkUpdateValue,selectedColumn:r,api:this.props.api,onColumnValueChange:l=>this.onColumnValueSelectedChanged(l)})),Op.createElement(Zk.Flex,null,!i&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Op.createElement(mA,{marginLeft:2,className:`ab-${s}__BulkUpdate__apply`,onClick:()=>this.onApplyClick(),style:a,tooltip:"Apply Bulk Update",disabled:je.IsNullOrEmpty(this.props.BulkUpdateValue)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Update"),!i&&je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&Op.createElement(Ho,{popoverMinWidth:360,className:`ab-${s}__BulkUpdate__info`,headerText:"Preview Results",bodyText:[n],MessageType:_o.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}onColumnValueSelectedChanged(t){this.props.onBulkUpdateValueChange(t)}checkSelectedCells(){this.props.onBulkUpdateCheckSelectedCells(),je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.onBulkUpdateValueChange("")}getStatusColour(){if(je.IsNotNullOrEmpty(this.props.BulkUpdateValue)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplyBulkUpdate()}onApplyBulkUpdate(){this.props.onRunBulkUpdate(),this.props.onBulkUpdateValueChange("")}};function Sbt(o,e){var t;return{SelectedGridCells:(t=o.Grid.SelectedCellInfo)==null?void 0:t.gridCells,BulkUpdateValue:o.System.BulkUpdateValue,BulkUpdateValidationResult:o.System.BulkUpdateValidationResult,PreviewInfo:o.System.BulkUpdatePreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function bbt(o){return{onBulkUpdateValueChange:e=>o(Pv(e)),onBulkUpdateCheckSelectedCells:()=>o(QD()),onRunBulkUpdate:()=>o(DO(!1))}}var FIe=ot(Sbt,bbt)(pY);d();var Qs=w(require("react"));d();var _Ie=w(require("react"));var MIe=o=>_Ie.createElement(Yf,{CellSummary:o.CellSummary});var fA=w(re());var cY=class extends Qs.Component{constructor(t){super(t)}componentDidMount(){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()})),this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=Gs.getNames(dR).map((u,p)=>({label:u,onClick:()=>this.props.onCellSummaryOperationChange(u)})),r=this.props.api.cellSummaryApi.getCellSummaryOperationDefinitions(),n=De.IsNullOrEmpty(r)?[]:r.map(u=>({onClick:()=>this.props.onCellSummaryOperationChange(u.operationName),label:u.operationName})),i=Qs.createElement(MIe,{CellSummary:this.props.CellSummary}),a=this.props.accessLevel=="ReadOnly"||this.props.api.internalApi.isGridInPivotMode()||this.props.CellSummary==null,s=()=>{if(a)return;let u=this.getOperationValue();if(u!=null)return this.props.viewType==="ToolPanel"?Qs.createElement(fA.Flex,{className:`ab-${l}__CellSummary__value`,style:{borderRadius:"var(--ab__border-radius)"},marginRight:2,padding:2,color:"var( --ab-color-text-on-info)",backgroundColor:"var(--ab-color-info)",fontSize:"var( --ab-font-size-2)"},u):Qs.createElement(fA.Flex,{flex:1,marginRight:2,marginLeft:1,justifyContent:"center",className:`ab-${l}__CellSummary__value`,color:"var(--ab-color-text-on-primary)"},u)},l=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Qs.createElement(fA.Flex,{flexDirection:"row",className:a?kn:`ab-${l}__CellSummary__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Qs.createElement(fA.Flex,{flex:1},Qs.createElement(Fe,{style:{fontSize:"small",width:"100%"},marginRight:2,columns:["label"],className:`ab-${l}__CellSummary__select`,items:[...t,...n],disabled:a,variant:"outlined",tone:"neutral"},this.props.CellSummaryOperation)),Qs.createElement(fA.Flex,{alignItems:"center"},Qs.createElement(Qs.Fragment,null,s(),this.props.CellSummary!=null&&this.props.CellSummary.Count>0&&Qs.createElement(Ho,{popoverMaxWidth:360,className:"ab-ToolPanel__CellSummary__info",bodyText:[i],useButton:!0,showEvent:"focus",hideEvent:"blur"}))))}checkSelectedCells(){this.props.onCreateCellSummary()}getOperationValue(){return this.props.api.cellSummaryApi.getCellSummaryOperationValue(this.props.CellSummaryOperation)}};function Abt(o,e){return{SelectedCellInfo:o.Grid.SelectedCellInfo,CellSummaryOperation:o.System.CellSummaryOperation,CellSummary:o.Grid.CellSummary}}function xbt(o){return{onCellSummaryOperationChange:e=>o(YD(e)),onCreateCellSummary:()=>o(tS())}}var NIe=ot(Abt,xbt)(cY);d();var Rd=w(require("react"));d();var LIe=w(require("react"));var Jk=()=>{let o=ne(),e=o.ModuleService.getModuleById(Rn),t=o.api.filterApi.getColumnFilters();return LIe.createElement(Yk,{abObjects:t,module:e})};var eV=w(re());var mY=class extends Rd.Component{constructor(e){super(e)}render(){var s,l;let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",t=(s=this.props.api.optionsApi.getFilterOptions())==null?void 0:s.showClearFilterButton,r=(l=this.props.api.optionsApi.getFilterOptions())==null?void 0:l.showSuspendFilterButton,n=this.props.api.filterApi.getActiveColumnFilters().length>0,i=this.props.api.filterApi.getColumnFilters().length>0,a=()=>{n?this.props.api.filterApi.suspendAllColumnFilters():this.props.api.filterApi.unSuspendAllColumnFilters()};return Rd.createElement(eV.Flex,{flexDirection:"row",className:`ab-${e}__Filter__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Rd.createElement(eV.Flex,null,qe.IsNotNullOrEmpty(this.props.ColumnFilters)&&Rd.createElement(Ho,{popupPadding:0,className:`ab-${e}__Filter__info`,headerText:"",bodyText:[Rd.createElement(Jk,null)],useButton:!0,showEvent:"focus",hideEvent:"blur",popoverMinWidth:400}),t&&Rd.createElement(vd,{className:`ab-${e}__Filter__clear`,marginLeft:1,marginBottom:0,marginRight:1,onClick:()=>this.onClearFilters(),tooltip:"Clear Filters",disabled:this.props.ColumnFilters.length==0,showText:this.props.viewType==="ToolPanel"},this.props.viewType==="ToolPanel"&&"Clear"),r&&Rd.createElement(X,{className:Me(`ab-${e}__Filter__suspend-button`,n&&`ab-${e}__Filter__suspend-all`,!n&&`ab-${e}__Filter__un-suspend-all`),disabled:!i,onClick:a,tone:n?"neutral":"success",variant:"text",icon:n?"pause":"play",accessLevel:this.props.accessLevel})),Rd.createElement(eV.Flex,{alignItems:"center"},this.props.api.filterApi.isQuickFilterAvailable()&&Rd.createElement(ye,{className:`ab-${e}__Filter__active-check`,disabled:this.props.accessLevel==="ReadOnly"||this.props.api.internalApi.isGridInPivotMode(),marginTop:0,marginBottom:0,fontSize:2,padding:1,checked:this.props.IsQuickFilterVisible,onChange:u=>{u?this.props.onShowQuickFilterBar():this.props.onHideQuickFilterBar()}},"Quick Filter")))}onClearFilters(){this.props.api.filterApi.clearColumnFilters()}onClearColumnFilter(e){this.props.api.filterApi.clearColumnFilterForColumn(e.ColumnId)}};function Rbt(o){return{ColumnFilters:Im(o),IsQuickFilterVisible:o.System.IsQuickFilterVisible}}function wbt(o){return{onHideQuickFilterBar:()=>o(Fv()),onShowQuickFilterBar:()=>o(Ov())}}var kIe=ot(Rbt,wbt)(mY);d();var QC=w(require("react"));var VIe=w(re()),fY=class extends QC.Component{constructor(e){super(e)}render(){let e=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return QC.createElement(VIe.Flex,{flexDirection:"row",className:`ab-${e}__Dashboard__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"}," ",QC.createElement(ye,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsCollapsed,onChange:t=>this.props.onSetDashboardCollapsed(t)},"Collapse"),"",this.props.api.optionsApi.getDashboardOptions().canFloat&&QC.createElement(ye,{className:`ab-${e}__Dashboard__collapsed-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsFloating,onChange:t=>this.props.onSetDashboardFloating(t)},"Float")," ",QC.createElement(ye,{className:`ab-${e}__Dashboard__hidden-check`,marginTop:0,fontSize:2,padding:1,checked:this.props.IsHidden,onChange:t=>this.props.onSetDashboardHidden(t)},"Hidden"))}};function Ebt(o,e){return{IsCollapsed:o.Dashboard.IsCollapsed,IsHidden:o.Dashboard.IsHidden,IsFloating:o.Dashboard.IsFloating}}function Tbt(o){return{onSetDashboardCollapsed:e=>o(nu(e)),onSetDashboardHidden:e=>o(op(e)),onSetDashboardFloating:e=>o(iu(e))}}var BIe=ot(Ebt,Tbt)(fY);d();var Ys=w(require("react"));var LT=w(re());d();var oV=w(require("react"));var tV=class extends oV.Component{render(){return oV.createElement(X,v({"data-name":"export",tooltip:"Export",iconSize:20,icon:"export-data",variant:"text"},this.props))}};d();var nV=w(require("react"));var rV=class extends nV.Component{render(){return nV.createElement(X,v({"data-name":"schedule",tooltip:"Schedule",iconSize:20,icon:"schedule",variant:"text"},this.props))}};d();var YC="Select Report",hA="Select Destination";var hY=class extends Ys.Component{render(){let e=this.props.api.exportApi.getReportByName(this.props.CurrentReport),t=je.IsNullOrEmpty(this.props.CurrentReport)?YC:this.props.CurrentReport,r=this.getAllReportNames(),n=r.map(m=>({label:m,value:m,onClick:()=>this.onSelectedReportChanged(m)}));e&&!r.includes(e.Name)&&(e=void 0,t=YC);let i=this.props.api.exportApi.getDestinationByName(this.props.CurrentDestination),a=je.IsNullOrEmpty(this.props.CurrentDestination)?hA:this.props.CurrentDestination,s=[...this.props.api.exportApi.getAvailableExportDestinations().map(m=>({label:m,onClick:()=>this.onSelectedDestinationChanged(m),disabled:!this.props.api.exportApi.internalApi.isDestinationEnabled(m)})),...this.props.api.exportApi.getCustomDestinations().map(m=>({label:m.name,onClick:()=>this.onSelectedDestinationChanged(m.name)}))];(e==null?void 0:e.Name)===la&&s.forEach(m=>m.disabled=m.label!=="Excel"),i&&!s.filter(m=>!m.disabled).map(m=>m.label).includes(this.props.CurrentDestination)&&(i=void 0,a=hA);let l=Et.getAppropriateAccessLevel(e,this.props.accessLevel),u="Are you sure you want to delete '";e!=null&&(u=u+e.Name+"'?");let p=()=>{this.props.onApplyExport(e,this.isCustomDestination(i)?i.name:i)},c=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ys.createElement(LT.Flex,{style:{gap:5},flexDirection:"row",className:`ab-${c}__Export__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ys.createElement(LT.Flex,{flex:1},Ys.createElement(Fe,{disabled:r.length==0,width:"100%",fontSize:"small",items:n,columns:["label"],className:`ab-${c}__Export__select`,onClear:()=>this.onSelectedReportChanged(null),showClearButton:!!e,variant:"outlined",marginRight:2},t)),Ys.createElement(LT.Flex,{flex:1},Ys.createElement(Fe,{disabled:t===YC,width:"100%",fontSize:"small",items:s,columns:["label"],className:`ab-${c}__Export__export`,onClear:()=>this.onSelectedDestinationChanged(null),showClearButton:!!i,variant:"outlined",marginRight:2},a)),Ys.createElement(LT.Flex,{className:Me(l=="ReadOnly"?kn:"",`ab-${c}__Export__controls`),style:{width:"100%"}},Ys.createElement(tV,{onClick:()=>p(),tooltip:"Export Report",className:`ab-${c}__Export__export`,disabled:e==null||i==null}),Ys.createElement(wp,{onClick:()=>this.props.onEditReport(this.props.moduleInfo.Popup),tooltip:"Edit Report",className:`ab-${c}__Export__edit`,disabled:e==null||this.props.api.exportApi.isServerReport(e),accessLevel:l}),Ys.createElement(If,{variant:"text",className:`ab-${c}__Export__new`,tone:"neutral",children:null,onClick:()=>this.props.onNewReport(this.props.moduleInfo.Popup),tooltip:"Create New Report",accessLevel:l}),Ys.createElement(Ep,{tooltip:"Delete Report",className:`ab-${c}__Export__delete`,disabled:e==null,ConfirmAction:IF(e),ConfirmationMsg:u,ConfirmationTitle:"Delete Report",accessLevel:l}),this.props.api.internalApi.getEntitlementService().isModuleFullEntitlement("Schedule")&&Ys.createElement(rV,{marginLeft:1,className:`ab-${c}__Export__schedule`,onClick:()=>this.onNewReportSchedule(),tooltip:"Schedule",disabled:e==null,accessLevel:this.props.accessLevel})))}onSelectedReportChanged(e){this.props.onSelectReport(e)}onSelectedDestinationChanged(e){this.props.onSelectDestination(e)}getAllReportNames(){let e=[...this.props.api.exportApi.getAvailableSystemReports(),...this.props.UserReports.map(r=>r.Name)],t=this.props.api.exportApi.getServerReports();return De.IsNotNullOrEmpty(t)&&e.push(...t.map(r=>r.name)),e}isCustomDestination(e){return!!(e!=null&&e.name)}onNewReportSchedule(){let e=Ke.CreateReportSchedule(this.props.CurrentReport);this.props.onNewReportSchedule(e)}};function Pbt(o){return{CurrentReport:o.Export.CurrentReport,CurrentDestination:o.Export.CurrentDestination,UserReports:o.Export.Reports}}function Ibt(o){return{onApplyExport:(e,t)=>o(iS(e,t)),onSelectReport:e=>o(rS(e)),onSelectDestination:e=>o(aS(e)),onNewReport:e=>o(Qo(Bn,e,{action:"New",source:"Toolbar"})),onEditReport:e=>o(Qo(Bn,e,{action:"Edit",source:"Toolbar"})),onNewReportSchedule:e=>o(Qo(pl,"SchedulePopup",{action:"New",source:"Toolbar",value:e}))}}var GIe=ot(Pbt,Ibt)(hY);d();var Pu=w(require("react"));var aV=w(re());d();var iV=w(require("react"));var Xf=class extends iV.Component{render(){return iV.createElement(X,v({"data-name":"save",iconSize:20,icon:"save",tooltip:"Save",variant:"text"},this.props))}};var gY=class extends Pu.Component{render(){let e=this.props.Layouts.find(l=>l.Name==this.props.CurrentLayoutName||l.Uuid==this.props.CurrentLayoutName),t=this.props.accessLevel,r=this.props.accessLevel,n=Et.getAppropriateAccessLevel(e,this.props.accessLevel),i=!this.props.api.layoutApi.shouldAutoSaveLayout(this.props.CurrentDraftLayout),a=this.props.Layouts.map((l,u)=>R(v({},l),{label:l.Name,value:l.Name,onClick:()=>this.props.onSelectLayout(l.Name)})),s=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Pu.createElement(aV.Flex,{flexDirection:"row",className:`ab-${s}__Layout__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Pu.createElement(aV.Flex,{flex:1},Pu.createElement(Fe,{marginRight:2,columns:["label"],style:{width:"100%",fontSize:"small"},className:`ab-${s}__Layout__select`,items:a,disabled:a.length==0},e?e.Name:null)),Pu.createElement(aV.Flex,{flexDirection:"row",className:Me(this.props.accessLevel=="ReadOnly"?kn:"",`ab-${s}__Layout__wrap`)},i&&Pu.createElement(Xf,{className:`ab-${s}__Layout__save`,onClick:()=>this.onSaveLayout(),tooltip:"Save Changes to Current Layout",disabled:!this.props.CanSave,accessLevel:n}),Pu.createElement(wp,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name),tooltip:"Edit Layout",className:`ab-${s}__Layout__edit`,accessLevel:n}),Pu.createElement(dk,{onClick:()=>this.props.api.layoutApi.showLayoutEditor(e.Name,"Clone"),tooltip:"Clone Layout",className:`ab-${s}__Layout__clone`,tone:"neutral",variant:"text",children:null,accessLevel:t}),Pu.createElement(If,{children:null,tone:"neutral",variant:"text",className:`ab-${s}__Layout__new`,onClick:()=>this.props.api.layoutApi.showLayoutEditor(null,"New"),tooltip:"Create a new Layout",accessLevel:r}),Pu.createElement(Ep,{tooltip:"Delete Layout",disabled:this.props.Layouts.length<=1,className:`ab-${s}__Layout__delete`,ConfirmAction:eS(e),ConfirmationMsg:"Are you sure you want to delete '"+this.props.CurrentLayoutName+"'?",ConfirmationTitle:"Delete Layout",accessLevel:n})))}onSaveLayout(){let e=this.props.CurrentDraftLayout;e&&this.props.onSaveLayout(e)}};function Dbt(o,e){let t=o.Layout.CurrentLayout,r=o.Layout.Layouts||[],n=r.find(a=>a.Name===t),i=e.api;return{CurrentLayoutName:t,CurrentDraftLayout:o.Grid.CurrentLayout||n,Layouts:r,CanSave:o.Grid.CurrentLayout&&!i.layoutApi.internalApi.areDraftAndCurrentLayoutEqual()}}function Obt(o){return{onSelectLayout:e=>o(Zd(e)),onSaveLayout:e=>{o(Xd(e)),o(Jd(null))}}}var HIe=ot(Dbt,Obt)(gY);d();var cr=w(require("react"));var pV=w(re());d();var sV=w(require("react"));var kT=class extends sV.Component{render(){return sV.createElement(X,v({"data-name":"expand",tooltip:"Expand",iconSize:20,icon:"arrowexpand",variant:"text"},this.props))}};d();var lV=w(require("react"));var wd=class extends lV.Component{render(){return lV.createElement(X,v({"data-name":"play",tooltip:Ve.IsNullOrEmpty(this.props.tooltip)?"Play":this.props.tooltip,iconSize:20,icon:"play",variant:"text"},this.props))}};d();var dV=w(require("react"));var uV=class extends dV.Component{render(){return dV.createElement(X,v({"data-name":"invalid",tooltip:"Invalid",iconSize:20,icon:"invalid"},this.props))}};var CY=class extends cr.Component{constructor(e){super(e),this.state={isAdaptableReady:!1,expression:this.props.CurrentQuery||""}}componentDidMount(){this.props.api.eventApi.on("AdaptableReady",()=>{this.setState({isAdaptableReady:!0})})}componentDidUpdate(e){e.CurrentQuery!==this.props.CurrentQuery&&this.setState({expression:this.props.CurrentQuery})}render(){if(this.state.isAdaptableReady===!1)return null;let e=this.state.expression==""||this.props.api.internalApi.getQueryLanguageService().validateBoolean(this.state.expression,gr).isValid,t=this.props.NamedQueries.find(m=>m.BooleanExpression==this.state.expression)!=null,n=[...qe.sortArrayWithProperty("Asc",this.props.NamedQueries,"Name").map(m=>({label:m.Name,icon:m.BooleanExpression===this.props.CurrentQuery?cr.createElement(Lt,{name:"check"}):null,onClick:()=>this.runQuery(m.BooleanExpression)})),...qe.IsNotNullOrEmpty(this.props.CachedQueries)?[{separator:!0}]:[],...qe.IsNotNullOrEmpty(this.props.CachedQueries)?this.props.CachedQueries.slice(-5).reverse().map(m=>({label:`Query at ${m.time.toLocaleTimeString("en-US")}`,icon:cr.createElement(Lt,{name:"history"}),onClick:()=>this.props.onRunQuery(m.expression)})):[]],i=this.props.api.columnApi.getColumns().map(m=>({label:m.friendlyName,onClick:()=>this.setState({expression:this.state.expression+`[${m.columnId}]`})})),a=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",s=m=>{m.key==="Enter"&&this.runQuery()},l=()=>this.props.viewType==="Toolbar"?cr.createElement(sf,{marginRight:1,width:600},cr.createElement(kT,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),cr.createElement(We,{type:"text","data-name":"query-input",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{fontFamily:"monospace",fontSize:12}}),e?cr.createElement(wd,{onClick:()=>this.runQuery(),tooltip:"",accessLevel:"Full",variant:"text",tone:"neutral",disabled:this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}):cr.createElement(uV,{variant:"text",tone:"neutral",tooltip:"Invalid Query",marginRight:1})," ",this.props.CurrentQuery!==""&&cr.createElement(vd,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full"})):cr.createElement(We,{type:"text",placeholder:"Query",spellCheck:!1,value:this.state.expression,onChange:m=>this.setState({expression:m.target.value}),style:{width:"100%"}}),u=this.props.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(gr),p=cr.createElement(Xf,{onClick:()=>this.saveQuery(),tooltip:"Save as New Query",accessLevel:u,disabled:!e||t||this.state.expression=="",variant:"text",tone:"neutral",marginRight:1}),c=()=>this.props.viewType==="Toolbar"?cr.createElement(cr.Fragment,null,p,cr.createElement(Fe,{variant:"text",items:i,marginRight:1,tooltip:"Pick Columns"},cr.createElement(Lt,{name:"list"})),cr.createElement(Fe,{disabled:qe.IsNullOrEmpty(n),variant:"text",items:n,marginRight:1,tooltip:"Load Query",icon:"folder-open"})," "):cr.createElement(cr.Fragment,null,p,cr.createElement(kT,{variant:"text",tone:"neutral",onClick:()=>this.props.api.queryApi.expandCurrentQuery(this.state.expression),tooltip:"Expand",marginLeft:1}),cr.createElement(vd,{onClick:()=>this.clearQuery(),tooltip:"Clear Query",accessLevel:"Full",disabled:this.state.expression==""}),cr.createElement(wd,{onClick:()=>this.runQuery(),tooltip:"Run Query",accessLevel:"Full",variant:"text",tone:"neutral",disabled:!e||this.state.expression==""||this.state.expression==this.props.CurrentQuery,marginRight:1}),cr.createElement(Fe,{variant:"text",disabled:qe.IsNullOrEmpty(n),items:n,marginRight:1,tooltip:"Load Query",icon:"folder-open"}));return cr.createElement(pV.Flex,{onKeyDown:s,flexDirection:"row",className:`ab-${a}__Query__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},cr.createElement(pV.Flex,null,l()),cr.createElement(pV.Flex,null,c()))}clearQuery(){this.props.onRunQuery("")}saveQuery(){this.props.onShowNamedQueries(this.state.expression,this.props.moduleInfo.Popup)}onSelectedQueryChanged(e){this.props.onRunQuery(e)}runQuery(e=this.state.expression){if(Ve.IsNullOrEmpty(e)&&Ve.IsNotNullOrEmpty(this.props.CurrentQuery)){this.props.onRunQuery("");return}if(!!this.props.api.internalApi.getQueryLanguageService().validateBoolean(e,gr).isValid){if(Ve.IsNotNullOrEmpty(this.state.expression)){let t={expression:this.state.expression,time:new Date};t&&this.props.onAddCachedQuery(t)}this.props.onRunQuery(e)}}};function Fbt(o){return{CurrentQuery:o.Query.CurrentQuery,NamedQueries:o.Query.NamedQueries,CachedQueries:o.System.CachedQueries}}function _bt(o){return{onAddCachedQuery:e=>o(Bie(e)),onRunQuery:e=>o(Dg(e)),onShowNamedQueries:(e,t)=>o(Qo(gr,t,{action:"New",source:"Toolbar",value:e}))}}var UIe=ot(Fbt,_bt)(CY);d();var WIe=w(require("react")),Mbt=o=>{let[e,t]=Hb(o),r=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return WIe.createElement(Ba,{type:"text",placeholder:o.api.optionsApi.getSearchOptions().quickSearchPlaceholder,className:`ab-${r}__QuickSearch__text`,value:e,OnTextChange:t,style:{height:"100%"},inputStyle:{width:"7rem"}})};function Nbt(o){return{QuickSearchText:o.QuickSearch.QuickSearchText}}function Lbt(o){return{onRunQuickSearch:e=>o(rd(e))}}var zIe=ot(Nbt,Lbt)(Mbt);d();var Ed=w(require("react"));var cV=w(re());var yY=class extends Ed.Component{constructor(t){super(t);this.state={SelectedColumnId:""}}componentDidMount(){if(this.props.api){let t=this.props.api.internalApi.getAdaptableInstance();t&&(this.cleanupEvent=t._on("CellsSelected",()=>{this.checkSelectedCells()}))}this.checkSelectedCells()}componentWillUnmount(){var t;(t=this.cleanupEvent)==null||t.call(this)}render(){let t=this.getStatusColour(),r=je.IsNotNullOrEmpty(this.state.SelectedColumnId)?this.props.api.columnApi.getColumnWithColumnId(this.state.SelectedColumnId):null,n=Ed.createElement(bp,{previewInfo:this.props.PreviewInfo,api:this.props.api,selectedColumn:r,showPanel:!0,showHeader:!1}),i=Gs.getNames(zd).map((p,c)=>({onClick:()=>this.props.onSmartEditOperationChange(p),label:p})),a=this.props.api.smartEditApi.getSmartEditCustomOperations();a!=null&&a.length&&i.push(...a.map(p=>({onClick:()=>this.props.onSmartEditOperationChange(p),label:p.name})));let s={color:t,fill:"currentColor"},l=this.props.accessLevel=="ReadOnly"||!this.props.IsValidSelection||this.props.InPivotMode==!0,u=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return Ed.createElement(cV.Flex,{flexDirection:"row",className:`ab-${u}__SmartEdit__wrap`,flexWrap:this.props.viewType==="ToolPanel"?"wrap":"nowrap"},Ed.createElement(cV.Flex,null,Ed.createElement(Fe,{className:`ab-${u}__SmartEdit__select`,marginRight:2,items:i,style:{fontSize:"small"},columns:["label"],disabled:l,variant:"outlined"},typeof this.props.SmartEditOperation=="object"?this.props.SmartEditOperation.name:this.props.SmartEditOperation),Ed.createElement(We,{style:{width:"5rem"},className:`ab-${u}__SmartEdit__select-value`,value:this.props.SmartEditValue.toString(),type:"number",placeholder:"Enter a Number",step:"any",onChange:p=>this.onSmartEditValueChange(p),disabled:l,marginRight:2})),Ed.createElement(cV.Flex,null,!l&&Ed.createElement(mA,{onClick:()=>this.onApplyClick(),style:s,className:`ab-${u}__SmartEdit__apply`,tooltip:"Apply Smart Edit",disabled:je.IsNullOrEmpty(`${this.props.SmartEditValue}`)||this.props.PreviewInfo!=null&&this.props.PreviewInfo.previewValidationSummary.validationResult=="All",accessLevel:this.props.accessLevel},this.props.viewType==="ToolPanel"&&"Apply Smart Edit"),!l&&Ed.createElement(Ho,{headerText:"Preview Results",className:`ab-${u}__SmartEdit__info`,bodyText:[n],MessageType:_o.getMessageTypeByStatusColour(t),useButton:!0,showEvent:"focus",hideEvent:"blur"})))}checkSelectedCells(){this.props.onSmartEditCheckSelectedCells()}onSmartEditValueChange(t){let r=t.target;this.props.onSmartEditValueChange(Number(r.value))}getStatusColour(){if(je.IsNotNullOrEmpty(`${this.props.SmartEditValue}`)&&this.props.PreviewInfo){if(this.props.PreviewInfo.previewValidationSummary.validationResult=="All")return"var(--ab-color-error)";if(this.props.PreviewInfo.previewValidationSummary.validationResult=="Some")return"var(--ab-color-warn)"}return"var(--ab-color-success)"}onApplyClick(){this.onApplySmartEdit()}onApplySmartEdit(){this.props.onRunSmartEdit()}};function kbt(o,e){return{SmartEditValue:o.System.SmartEditValue,SmartEditOperation:o.System.SmartEditOperation,IsValidSelection:o.System.IsValidSmartEditSelection,PreviewInfo:o.System.SmartEditPreviewInfo,InPivotMode:o.Grid.IsGridInPivotMode}}function Vbt(o){return{onSmartEditValueChange:e=>o(Tv(e)),onSmartEditOperationChange:e=>o(eg(e)),onSmartEditCheckSelectedCells:()=>o(KD()),onRunSmartEdit:()=>o($O(!1))}}var jIe=ot(kbt,Vbt)(yY);d();var VT=w(require("react")),vY=w(re());d();var mV=o=>{var r;let e=Xt.getColorByMessageType((r=o==null?void 0:o.statusType)!=null?r:"Success"),t=o?Xt.getButtonTextColourForMessageType(o.statusType):"";return{background:e,color:t}};var SY=class extends VT.Component{constructor(e){super(e)}render(){let e=this.props.api.systemStatusApi.getCurrentSystemStatusMessageInfo(),{color:t,background:r}=mV(e),n=e==null?void 0:e.statusMessage,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return VT.createElement(vY.Flex,{flexDirection:"row",className:`ab-${i}__SystemStatus__wrap`},VT.createElement(vY.Flex,{style:{borderRadius:"var(--ab__border-radius)"},className:`ab-${i}__SystemStatus__text`,marginRight:2,padding:2,color:t,backgroundColor:n?r:"",fontSize:"var( --ab-font-size-2)",alignItems:"center","data-name":"system-status-message"},n||"0 Messages"))}};function Bbt(o){return{SystemStatusMessageInfos:o.System.SystemStatusMessages}}function Gbt(o){return{}}var KIe=ot(Bbt,Gbt)(SY);d();var BT=w(require("react"));var bY=class extends BT.Component{render(){var s,l,u,p;let e=(u=(l=(s=this.props.api)==null?void 0:s.themeApi)==null?void 0:l.getThemes)==null?void 0:u.call(l),t=e.map((c,m)=>(typeof c=="string"&&(c={Name:c,Description:c}),{label:c.Description,onClick:()=>this.onSelectTheme(c)})),r=e.find(c=>c.Name===this.props.CurrentTheme),n=(p=r==null?void 0:r.Description)!=null?p:this.props.CurrentTheme,i=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",a=this.props.viewType==="Toolbar"?{maxWidth:"25rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"small"}:{minWidth:"100%",fontSize:"small"};return BT.createElement("div",{className:Me(this.props.accessLevel=="ReadOnly"?kn:"",`ab-${i}__Theme__wrap`)},BT.createElement(Fe,{className:`ab-${i}__Theme__select`,style:a,items:t,columns:["label"],accessLevel:this.props.accessLevel},n))}onSelectTheme(e){this.props.onSelectTheme(e.Name)}};function Hbt(o,e){return{SystemThemes:o.Theme.SystemThemes,CurrentTheme:o.Theme.CurrentTheme,UserThemes:o.Theme.UserThemes}}function Ubt(o){return{onSelectTheme:e=>o(lS(e))}}var QIe=ot(Hbt,Ubt)(bY);d();var GT=w(require("react"));var YIe=w(re());var AY=class extends GT.Component{getCurrentDataSet(){return je.IsNullOrEmpty(this.props.CurrentDataSetName)?null:this.getDataSets().find(e=>e.name==this.props.CurrentDataSetName)}getDataSets(){return this.props.api.dataSetApi.getDataSets()}render(){var i,a;let e="Select Data Set",t=(a=(i=this.getCurrentDataSet())==null?void 0:i.name)!=null?a:e,r=this.getDataSets().map(s=>({value:s.name,label:s.name,onClick:()=>this.onSelectedDataSetChanged(s.name)})),n=this.props.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel";return GT.createElement(YIe.Flex,{flexDirection:"row",className:`ab-${n}__DataSet__wrap`},GT.createElement(Fe,{marginRight:2,columns:["label"],style:{minWidth:160,fontSize:"small"},className:`ab-${n}__DataSet__select`,items:r,variant:"outlined",tone:"neutral"},t))}onSelectedDataSetChanged(e){if(je.IsNullOrEmpty(e))this.setState({CurrentDataSet:null});else{let t=this.getDataSets().find(r=>r.name==e);this.setState({CurrentDataSet:t}),this.props.onSelectDataSet(t)}}};function Wbt(o){return{CurrentDataSetName:o.System.CurrentDataSet}}function zbt(o){return{onSelectDataSet:e=>o(vR(e))}}var qIe=ot(Wbt,zbt)(AY);d();var xr=w(require("react"));d();var fV=w(require("react"));var qC=require("react");d();var $Ie=(o,e)=>{let t=o.changeHistoryButton;if(!t||Array.isArray(t)&&t.length===0)return null;Array.isArray(t)||(t=[t]);let r=a=>a.adaptableApi.gridApi.isGroupRowNode(a.rowNode),n=a=>{var l;let s=a.rowNode;if(a.adaptableApi.gridApi.isGroupRowNode(s)){let u=(l=a.rowNode)==null?void 0:l.childrenAfterFilter;u&&u.forEach(p=>e(p))}else e(s)},i=a=>{let s=a.rowNode.data.changeInfo;return R(v({},a),{isGroupNode:r(a),undoDataChange:()=>n(a),dataChangedInfo:s})};return t.map(a=>({label:(s,l)=>typeof a.label!="function"?a.label:a.label(s,i(l)),buttonStyle:(s,l)=>typeof a.buttonStyle!="function"?a.buttonStyle:a.buttonStyle(s,i(l)),tooltip:(s,l)=>typeof a.tooltip!="function"?a.tooltip:a.tooltip(s,i(l)),disabled:(s,l)=>typeof a.disabled!="function"?a.disabled:a.disabled(s,i(l)),onClick:(s,l)=>{a.action==="undo"&&n(i(l)),typeof a.onClick=="function"&&a.onClick(s,i(l))},hidden:(s,l)=>typeof a.hidden!="function"?a.hidden:a.hidden(s,i(l)),icon:a.icon}))};var ZIe=o=>{let{changeHistoryLog:e,adaptableContainerId:t,agGridContainerId:r,onUndoChange:n}=o,i=ne(),[a,s]=(0,qC.useState)(null),l=(0,qC.useRef)(null);l.current=a;let u=i.api.internalApi.getEntitlementService().isModuleFullEntitlement(dl),p=yl(e,e);return(0,qC.useEffect)(()=>((async()=>{let m=Kbt(i,e),f=jbt(i,m,t,r,u,n),g=Object.getPrototypeOf(i).constructor.init,C=await g(f);s(C)})(),()=>{var m;(m=l.current)==null||m.internalApi.getAdaptableInstance().destroy({unmount:!0,destroyApi:!0})}),[]),(0,qC.useEffect)(()=>{let c=l.current;if(!c)return;let m=Object.keys(e).filter(S=>{let A=p[S];return A?e[S].changedAt!==A.changedAt:!0}),f=Object.keys(p).filter(S=>{let A=e[S];return A?p[S].changedAt!==A.changedAt:!0}),g=XIe(e,m),C=XIe(p,f),y=RY(g,i),b=RY(C,i);c.optionsApi.getAgGridOptions().api.applyTransactionAsync({add:y,remove:b})},[e]),fV.createElement(fV.Fragment,null)},jbt=(o,e,t,r,n,i)=>{var m,f,g;let a=o.adaptableOptions,s=o.api.themeApi.getCurrentTheme(),l=C=>{let y=C==null?void 0:C.data,b=y==null?void 0:y.changeKey;b&&i(b)},u=$Ie((m=o.adaptableOptions)==null?void 0:m.dataChangeHistoryOptions,l),p;u&&(p={actionColumns:[{columnId:"undoActionColumn",friendlyName:" ",includeGroupedRows:!0,actionColumnSettings:{suppressMenu:!0,suppressMovable:!0},actionColumnButton:u}]});let c={gridOptions:e,primaryKey:"primaryKey",licenseKey:a.licenseKey,userName:`${a.userName}`,adaptableId:`${a.adaptableId}::DataChangeHistory`,containerOptions:{adaptableContainer:t,agGridContainer:r},entitlementOptions:{defaultAccessLevel:"Hidden"},filterOptions:{quickFilterTrigger:"click"},layoutOptions:{createDefaultLayout:!1,autoSizeColumnsInLayout:!0},actionOptions:p,predefinedConfig:{Layout:{Revision:Date.now(),CurrentLayout:"DataChangeHistoryLayout",Layouts:[{Name:"DataChangeHistoryLayout",Columns:["changeInfo.primaryKeyValue","changedColumnLabel","changeInfo.oldValue","changeInfo.newValue","changeInfo.changedAt","changeTriggerLabel","undoActionColumn"],ColumnSorts:[{ColumnId:"changeInfo.changedAt",SortOrder:"Desc"}],ColumnWidthMap:{undoActionColumn:110},PinnedColumnsMap:{undoActionColumn:"right"}}]},FormatColumn:{Revision:Date.now(),FormatColumns:[{Scope:{ColumnIds:["changeInfo.changedAt"]},DisplayFormat:{Formatter:"DateFormatter",Options:{Pattern:`${(g=(f=a.userInterfaceOptions)==null?void 0:f.dateInputOptions)==null?void 0:g.dateFormat} HH:mm:ss`}}}]},Theme:{Revision:Date.now(),CurrentTheme:s}}};if(!n){let C=c.predefinedConfig.Layout.Layouts[0].Columns;C.includes("undoActionColumn")&&(c.predefinedConfig.Layout.Layouts[0].Columns=C.filter(y=>y!=="undoActionColumn"))}return c},Kbt=(o,e)=>{var n,i;let t=(i=(n=o.api.columnApi.getPrimaryKeyColumn())==null?void 0:n.friendlyName)!=null?i:"Row ID";return{suppressLoadingOverlay:!0,overlayNoRowsTemplate:'<div style="font-size: var(--ab-font-size-2);color: var(--ab-color-text-on-primary);">No Data Changes</div>',defaultColDef:{floatingFilter:!0,filter:!0,sortable:!0,resizable:!0,enableRowGroup:!0,editable:!1,enablePivot:!1,enableValue:!1,lockPinned:!0,suppressAutoSize:!0,menuTabs:["generalMenuTab","filterMenuTab"]},autoGroupColumnDef:{sortable:!0},columnDefs:[{field:"primaryKey",type:["abColDefString"],hide:!0},{headerName:`Row (${t})`,field:"changeInfo.primaryKeyValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Column",field:"changedColumnLabel",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Previous",field:"changeInfo.oldValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"New",field:"changeInfo.newValue",type:["abColDefString"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Changed",field:"changeInfo.changedAt",type:["abColDefDate"],suppressAutoSize:!1,flex:3,initialFlex:3},{headerName:"Source",field:"changeTriggerLabel",type:["abColDefString"],suppressAutoSize:!1,flex:2,initialFlex:2}],rowData:RY(e,o),enableRangeSelection:!0,suppressColumnVirtualisation:!1,sideBar:!1,rowSelection:"multiple",skipHeaderOnAutoSize:!0}},RY=(o={},e)=>Object.entries(o).map(([t,r])=>({primaryKey:`${t}::${r.changedAt}`,changeKey:t,changeTriggerLabel:Ybt(r),changedColumnLabel:Qbt(r.column.columnId,e),changeInfo:r})),xY=new Map,Qbt=(o,e)=>{var t,r;return xY.has(o)||xY.set(o,(r=(t=e.api.columnApi.getColumnWithColumnId(o))==null?void 0:t.friendlyName)!=null?r:o),xY.get(o)},Ybt=o=>o.trigger==="tick"?"Ticking":"User Edit",XIe=(o,e)=>{let t={};return e.forEach(r=>{t[r]=o[r]}),t};var kl=w(re());d();var hV=w(require("react"));var gA=class extends hV.Component{render(){let e=this.props.fillColor==="red"?{name:"pause",style:{fill:"red"}}:{name:"pause"};return hV.createElement(X,v({"data-name":"pause",tooltip:"Pause",iconSize:20,icon:e,variant:"text"},this.props))}};d();var gV=w(require("react"));var CA=class extends gV.Component{render(){return gV.createElement(X,v({"data-name":"stop",tooltip:"Stop",iconSize:20,icon:"stop",variant:"text"},this.props))}};var wY=class extends xr.Component{constructor(e){super(e),this.state={dataChangeHistoryAdaptableApi:void 0}}render(){let{changeHistoryMode:e,activationTime:t,suspensionTime:r,onChangeHistoryEnable:n,onChangeHistoryDisable:i,onChangeHistorySuspend:a,onChangeHistoryResume:s}=this.props,l="dataChangeHistoryAdaptableContainer",u="dataChangeHistoryAgGridContainer",p=e==="ACTIVE",c=e==="INACTIVE",m=e==="SUSPENDED",f=xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--button-panel",padding:2,style:{gap:"var(--ab-space-1)"}},c&&xr.createElement(wd,{className:"ab-DataChangeHistoryPopup--button-activate","data-name":'data-change-history--button-activate"',variant:"raised",tone:"accent",tooltip:"",onClick:()=>n()},"Activate"),m&&xr.createElement(wd,{className:"ab-DataChangeHistoryPopup--button-resume","data-name":"data-change-history--button-resume",variant:"outlined",tooltip:"Resume tracking data changes",onClick:()=>s()},"Resume"),p&&xr.createElement(gA,{className:"ab-DataChangeHistoryPopup--button-suspend","data-name":"data-change-history--button-suspend",variant:"outlined",tooltip:"Suspend tracking data changes",onClick:()=>a()},"Suspend"),(p||m)&&xr.createElement(CA,{className:"ab-DataChangeHistoryPopup--button-deactivate","data-name":"data-change-history--button-deactivate",variant:"outlined",tooltip:"Deactivate data change tracking",onClick:()=>i()},"Deactivate")),g=`${this.props.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,C=xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--status-panel",alignItems:"center",style:{gap:"var(--ab-space-1)"}},p&&xr.createElement(xr.Fragment,null,xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPanel--status-active",style:{color:"var(--ab-color-success)",fontWeight:"bold"}},"Active"),!!t&&xr.createElement(kl.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Bi(t,{Pattern:g}),")")),m&&xr.createElement(xr.Fragment,null,xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPopup--status-suspended",style:{color:"var(--ab-color-warn)",fontWeight:"bold"}},"Suspended"),!!r&&xr.createElement(kl.Text,{style:{fontStyle:"italic"},fontSize:2},"(since ",Bi(r,{Pattern:g}),")")),c&&xr.createElement(kl.Text,{className:"ab-DataChangeHistoryPopup--status-disabled",fontSize:2})),y=S=>{let A=this.props.changeHistoryLog[S];A&&this.props.api.dataChangeHistoryApi.undoDataChangeHistoryEntry(A)},b=this.props.api.themeApi.getAgGridCurrentThemeName();return xr.createElement(ni,{headerText:this.props.moduleInfo.FriendlyName,glyphicon:this.props.moduleInfo.Glyph,infoLink:this.props.moduleInfo.HelpPage,infoLinkDisabled:!this.props.api.internalApi.isDocumentationLinksDisplayed()},xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup",flexDirection:"column",style:{height:"100%"}},xr.createElement(kl.Flex,{style:{color:"var(--ab-dashboard__color)",background:"var(--ab-dashboard__background)"}},xr.createElement(kl.Flex,{flexDirection:"row"},f,C)),xr.createElement(kl.Flex,{className:"ab-DataChangeHistoryPopup--grid","data-name":"data-change-history--grid",flex:1,alignSelf:"stretch",flexDirection:"column"},xr.createElement("div",{id:l}),xr.createElement("div",{id:u,className:b,style:{height:"100%"}}),xr.createElement(ZIe,{adaptableContainerId:l,agGridContainerId:u,changeHistoryLog:this.props.changeHistoryLog,onUndoChange:y}))))}};function qbt(o,e){return{changeHistoryLog:o.System.DataChangeHistory.logs,changeHistoryMode:o.System.DataChangeHistory.currentMode,activationTime:o.System.DataChangeHistory.enableTime,suspensionTime:o.System.DataChangeHistory.suspendTime}}function $bt(o){return{onChangeHistoryEnable:()=>o(Sm()),onChangeHistoryDisable:()=>o(bm()),onChangeHistorySuspend:()=>o(Iv()),onChangeHistoryResume:()=>o(Dv())}}var JIe=ot(qbt,$bt)(wY);d();var dn=w(require("react"));var Td=w(re());var CV=o=>{var A,x;let e=ne(),t=at(),r=dn.useCallback(()=>t(Sm()),[]),n=dn.useCallback(()=>t(bm()),[]),i=dn.useCallback(()=>t(Iv()),[]),a=dn.useCallback(()=>t(Dv()),[]),s=dn.useCallback(()=>{e.api.settingsPanelApi.openSettingsPanel("DataChangeHistory")},[]),{changeHistoryMode:l,activationTime:u,suspensionTime:p}=Dt(E=>({changeHistoryMode:E.System.DataChangeHistory.currentMode,activationTime:E.System.DataChangeHistory.enableTime,suspensionTime:E.System.DataChangeHistory.suspendTime})),c=l==="ACTIVE",m=l==="INACTIVE",f=l==="SUSPENDED",g=(A=o.gap)!=null?A:"var(--ab-space-1)",C=(x=o.buttonsPaddingY)!=null?x:2,y=dn.createElement(Td.Flex,{className:"ab-DataChangeHistoryPanel--button-panel",paddingY:C,style:{gap:g}},m&&dn.createElement(wd,{className:"ab-DataChangeHistoryPanel--button-activate","data-name":"data-change-history--button-activate",tooltip:"",onClick:()=>r()}),f&&dn.createElement(wd,{className:"ab-DataChangeHistoryPanel--button-resume","data-name":"data-change-history--button-resume",tooltip:"Resume tracking data changes",onClick:()=>a()}),c&&dn.createElement(gA,{className:"ab-DataChangeHistoryPanel--button-suspend","data-name":"data-change-history--button-suspend",tooltip:"Suspend tracking data changes",onClick:()=>i()}),(c||f)&&dn.createElement(CA,{className:"ab-DataChangeHistoryPanel--button-deactivate","data-name":"data-change-history--button-deactivate",tooltip:"Deactivate data change tracking",onClick:()=>n()})),b=`${e.api.optionsApi.getUserInterfaceOptions().dateInputOptions.dateFormat} HH:mm:ss`,S=dn.createElement(Td.Flex,{className:"ab-DataChangeHistoryPanel--status-panel",alignItems:"center",style:{gap:g}},c&&dn.createElement(sE,{label:!!u&&`since ${Bi(u,{Pattern:b})}`},dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-active",fontSize:2,style:{color:"var(--ab-color-success)"}},"Active")),f&&dn.createElement(sE,{label:!!p&&`since ${Bi(p,{Pattern:b})}`},dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-suspended",fontSize:2,style:{color:"var(--ab-color-warn)"}},"Suspended")),m&&dn.createElement(Td.Text,{className:"ab-DataChangeHistoryPanel--status-disabled",fontSize:2},"Activate Data Tracking"));return dn.createElement(Td.Flex,{flexDirection:"row"},y,S,dn.createElement(Td.Flex,{ml:2,alignItems:"center"},dn.createElement(X,{onClick:s,variant:"text"},dn.createElement(Lt,{name:"open-in-new"}),dn.createElement(Td.Box,{ml:1},"Show"))))};d();var $C=w(require("react"));var EY=w(re());var eDe=o=>{let e=o.viewType==="Toolbar",t=e?"DashboardToolbar":"ToolPanel";return $C.createElement(EY.Flex,{flexDirection:e?"row":"column",className:Me(o.accessLevel=="ReadOnly"?kn:"",`ab-${t}__StateManagement__wrap`)},$C.createElement(EY.Flex,{flexDirection:"row"},$C.createElement(Hk,{tooltip:"Load Predefined Config",variant:"text",icon:"upload",onLoad:r=>o.api.configApi.reloadPredefinedConfig(r),accessLevel:o.accessLevel},!e&&"Load"),$C.createElement(Uk,{icon:"trash",tooltip:"Clear User State",variant:"text",onClick:()=>o.api.configApi.reloadPredefinedConfig(),accessLevel:o.accessLevel},!e&&"Clear")),$C.createElement(pA,{api:o.api,type:"adaptableState"},"All State"),$C.createElement(pA,{api:o.api,type:"predefinedConfig"},"Predefined Config"))};d();var Zf=w(require("react"));var tDe=o=>{let e=Dt(jv),t=ne(),r=Zf.useMemo(()=>e.map(s=>({Name:s.Key,Items:s.StatusBarPanels})),[e]),n=Zf.useCallback(s=>{let l=s.map(u=>{let p=e.find(c=>c.Key===u.Name);return R(v({},p),{StatusBarPanels:u.Items})});t.api.statusBarApi.setStatusBarPanels(l)},[e]),i=Ewe.filter(s=>{let l=t.ModuleService.getModuleById(s);return l&&l.isModuleAvailable()}).map(s=>{let l=t.ModuleService.getModuleById(s);return{Id:s,Title:l.moduleInfo.FriendlyName}}),a=o.accessLevel==="ReadOnly";return Zf.createElement(ni,{headerText:o.moduleInfo.FriendlyName,glyphicon:o.moduleInfo.Glyph,infoLink:o.moduleInfo.HelpPage,infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},e.length?Zf.createElement(dA,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:n,disabled:a,tabs:r,availableItems:i,tabsTitle:"AdapTable Status Bar Panels",unusedPanelTitle:"Available Module Status Panels",dragItemText:"Drag into a Status Bar Panel below"}):Zf.createElement(cA,null,"To enable this feature add to Grid Options statusPanels the Adaptable Status Panel."))};d();var Gc=w(require("react")),Fp=w(re());d();var Pd=w(require("react"));d();var XC=w(require("react"));var yV=o=>{let[e,t]=XC.useState(null),r=ne(),n=Dt(l=>$D(l.System));XC.useEffect(()=>{var u,p;if(!o){t(null);return}let l=(p=r.api.chartingApi.getChartRef((u=o==null?void 0:o.Model)==null?void 0:u.chartId))!=null?p:null;t(l)},[n,o]);let i=l=>{let u=n.find(p=>{let c=r.api.chartingApi.getChartRef(p.chartId);return c&&l.contains(c.chartElement)});if(u){let p=r.api.chartingApi.getChartRef(u.chartId);p&&p.destroyChart()}},a=XC.useCallback(l=>{if(!r||!o)return;let u=typeof(l==null?void 0:l.element)=="string"?document.querySelector(l.element):l==null?void 0:l.element;if(!u&&typeof(l==null?void 0:l.element)=="string"){r.logger.consoleLogByMessageType(`Chart container element not found: ${l.element}`,"Error");return}r.api.chartingApi.getChartRef(o.Model.chartId)||(l&&u?(l.chartsDisplay!=="multiple"&&i(u),r.api.chartingApi.showChartDefinitionOnce(o,u)):r.api.chartingApi.showChartDefinitionOnce(o))},[o,n]),s=XC.useCallback(()=>{e&&e.destroyChart()},[e]);return{isOpen:Boolean(e),showChart:a,closeChart:s}};d();var oDe=w(require("react"));var rDe=o=>{var e;return oDe.createElement(Ep,{iconSize:o.iconSize,disabled:!o.chart,ConfirmAction:SM((e=o.chart)==null?void 0:e.Name),ConfirmationMsg:"Are you sure you want to delete this Charts?",ConfirmationTitle:"Delete Charts",accessLevel:o.accessLevel,tooltip:"Delete Chart"})};d();var nDe=w(require("react"));var iDe=o=>{let e=at();return nDe.createElement(wp,{iconSize:o.iconSize,tooltip:"Edit Chart",disabled:!o.chart||o.isOpen,accessLevel:o.accessLevel,onClick:()=>e(Qo(ll,"Chart",{action:"Edit",value:o.chart,source:"Toolbar"}))})};var vV=({elementType:o,accessLevel:e,size:t="normal"})=>{var B,_;let r=ne(),n=Dt(bM),i=(B=r.adaptableOptions)==null?void 0:B.chartingOptions,a=i==null?void 0:i.chartContainers,[s,l]=Pd.useState(()=>n.length>0?n[0].Uuid:null),u=n.find(L=>L.Uuid===s),p=Et.getAppropriateAccessLevel(u,e),[c,m]=Pd.useState(null),{isOpen:f,showChart:g,closeChart:C}=yV(u),y=n.map(L=>({label:L.Name,value:L.Uuid,onClick:()=>{l(L.Uuid)}})),b=y.length>0,S=b&&u!=null,A="";b&&u?A=(_=n.find(L=>L.Uuid===u.Uuid))==null?void 0:_.Name:b?A="Select Chart":A="No Charts",Pd.useEffect(()=>{!u&&n.length>0&&l(n[0].Uuid)},[n]);let x=[{label:i.agGridContainerName,onClick:()=>{m(null)}},...a?a==null?void 0:a.map(L=>({label:L.name,onClick:()=>{m(L)}})):[]],E={},T;t==="small"&&(E.padding=2,E.fontSize="small",T=15);let I=Pd.createElement(Fe,{style:E,width:"100%",columns:["label"],className:`ab-${o}__Chart__select`,items:y,disabled:!b},A),D=Boolean(a==null?void 0:a.length)&&Pd.createElement(Fe,{style:E,width:"100%",columns:["label"],items:x,disabled:!S},(c==null?void 0:c.name)||i.agGridContainerName||xv),P=Pd.createElement(X,{style:E,mr:1,onClick:()=>f?C():g(c),disabled:!Boolean(u),variant:"text",tone:"neutral",icon:f?"visibility-off":"visibility",tooltip:f?"Hide Chart":"Show Chart"});return{chartSelector:I,containerSelector:D,chartButton:P,deleteButton:Pd.createElement(rDe,{iconSize:T,chart:u,accessLevel:p}),editButton:Pd.createElement(iDe,{iconSize:T,chart:u,accessLevel:p,isOpen:f}),selectedChart:u}};var aDe=o=>{let e=o.viewType==="Toolbar"?"DashboardToolbar":"ToolPanel",{chartSelector:t,containerSelector:r,chartButton:n,deleteButton:i,editButton:a}=vV({elementType:e,accessLevel:o.accessLevel});return e==="DashboardToolbar"?Gc.createElement(Fp.Flex,{width:"100%",alignItems:"center"},Gc.createElement(Fp.Box,null,t),r&&Gc.createElement(Fp.Box,{ml:1},r),Gc.createElement(Fp.Box,{ml:1},n,i,a)):Gc.createElement(Fp.Flex,{flexDirection:"column",width:"100%"},Gc.createElement(Fp.Box,{mb:1},t),r&&Gc.createElement(Fp.Box,{mb:1},r),Gc.createElement(Fp.Box,null,n," ",i," ",a))};var sDe={BulkUpdatePopup:RIe,DashboardPopup:CIe,StateManagementPopup:xIe,GridInfoPopup:cIe,StatusBarPopup:tDe,QuickSearchPopup:Rwe,CellSummaryPopup:EIe,SmartEditPopup:ywe,ThemePopup:zL,ToolPanelPopup:pTe,SystemStatusPopup:IIe,DataChangeHistoryPopup:JIe},SV=new Map([[xn,OIe],[ws,FIe],[Za,NIe],[Rn,kIe],[ul,BIe],[Bn,GIe],[Es,HIe],[gr,UIe],[Ja,zIe],[es,jIe],[Zu,KIe],[ed,QIe],[$u,qIe],[dl,CV],[cc,eDe],[ll,aDe]]);d();var en=w(require("react"));var lDe=w(re());var uDe=o=>{var x,E,T,I,D,P,O,M;Dt(B=>B);let[e,t]=en.useState(null),r=o.module.moduleInfo,n=(x=o.module)==null?void 0:x.toViewAll(),i=(I=(T=(E=o.module)==null?void 0:E.getViewProperties)==null?void 0:T.call(E))!=null?I:{},a=(D=i==null?void 0:i.getEditWizard)==null?void 0:D.call(i),[s,l]=en.useState(()=>{var B,_,L;return((B=o.popupParams)==null?void 0:B.action)==="New"||((_=o.popupParams)==null?void 0:_.action)==="Edit"||((L=o.popupParams)==null?void 0:L.action)==="Clone"}),u=en.useCallback(()=>{a&&l(!0),i.onOpenEditPopup&&i.onOpenEditPopup()},[]);en.useEffect(()=>{var B;(B=i==null?void 0:i.onMount)==null||B.call(i)},[]),en.useEffect(()=>{var B,_;(((B=o.popupParams)==null?void 0:B.action)==="New"||((_=o.popupParams)==null?void 0:_.action)==="Edit")&&u()},[(P=o.popupParams)==null?void 0:P.action]);let p=i.emptyView,c=null;typeof p=="function"?c=en.createElement(p,{module:o.module}):typeof p=="string"&&(c=p);let m=(O=i.newTooltipText)!=null?O:`Create ${r.FriendlyName}`,f=null;if((M=i==null?void 0:i.abObjectTypes)!=null&&M.length){let B=i==null?void 0:i.abObjectTypes.map(_=>{var L;return{disabled:(_==null?void 0:_.accessLevel)==="ReadOnly",onClick:()=>{t(_),u()},label:(L=_.label)!=null?L:_.name}});f=en.createElement(Fe,{tone:"accent",variant:"raised",columns:["label"],items:B,tooltip:m},en.createElement(Lt,{name:"plus"})," New")}else!i.hideNewButton&&(a||i.onOpenEditPopup)&&(f=en.createElement(If,{onClick:()=>u(),tooltip:m,accessLevel:o.accessLevel}));let g=null;if(n.length&&(i==null?void 0:i.getSuspendAllAction)&&(i==null?void 0:i.getUnSuspendAllAction)){let B=n.some(L=>{var U;return!((U=L.abObject)!=null&&U.IsSuspended)}),_=()=>{if(B){let L=i.getSuspendAllAction();b(L)}else{let L=i.getUnSuspendAllAction();b(L)}};g=en.createElement(X,{mr:2,onMouseDown:()=>_(),tone:B?"neutral":"success",variant:"raised",icon:B?"pause":"play",accessLevel:o.accessLevel},B?"Suspend All":"Unsuspend All")}let C=()=>{var B;t(null),l(!1),["Toolbar","ContextMenu","ColumnMenu"].includes((B=o==null?void 0:o.popupParams)==null?void 0:B.source)&&o.onClosePopup()},y=o.api.internalApi.getModuleService().getModuleById(o.module.moduleInfo.ModuleName),b=at(),S=Dt(B=>B.System.ShowLayoutNotAssociatedObjects),A=()=>{if(!!(y!=null&&y.canBeAssociatedWithLayouts())&&!!o.api.layoutApi.internalApi.hasLayoutSpecificObjects())return en.createElement(lDe.Flex,{justifyContent:"flex-start"},en.createElement(ye,{padding:0,margin:0,checked:S,onChange:B=>b(Qie(B))},"Show ",r.FriendlyName,"s not available in current Layout"))};return en.createElement(ni,{glyphicon:r.Glyph,infoLink:r.HelpPage,headerText:r.FriendlyName,button:en.createElement(en.Fragment,null,g," ",f),infoLinkDisabled:!o.api.internalApi.isDocumentationLinksDisplayed()},i.HeaderComponent&&en.createElement(i.HeaderComponent,null),A(),n!=null&&n.length?en.createElement(FT,{module:o.module,items:n}):en.createElement(cA,null,c!=null?c:`Click 'New' to create a new ${r.FriendlyName}`),s&&a&&en.createElement(a,{abObjectType:e,moduleInfo:r,data:null,popupParams:o.popupParams,configEntities:null,onCloseWizard:C,onFinishWizard:C}))};var pDe=o=>{var s,l;let e=_o.getModalContainer(o.api.optionsApi.getAdaptableOptions(),document),t=o.module.moduleInfo.ModuleName,r=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(t),n=o.api.internalApi.getModuleService().getModuleInfoByModule(t),i={popupParams:o.moduleParams,onClearPopupParams:()=>o.onClearParams?o.onClearParams():null,onClosePopup:()=>{o.onHide&&o.onHide()},teamSharingActivated:o.api.teamSharingApi.isTeamSharingAvailable()&&o.api.teamSharingApi.hasTeamSharingFullRights(),modalContainer:e,accessLevel:r,api:o.api,moduleInfo:n},a=((l=sDe)==null?void 0:l[(s=o==null?void 0:o.componentName)!=null?s:n.Popup])||uDe;return dDe.createElement(a,v({key:o==null?void 0:o.componentName,module:o.module},i))};d();var bV=["BulkUpdate","SmartEdit","CellSummary"],cDe=["GridInfo","Dashboard","ToolPanel","StatusBar","-","Layout","Export","CalculatedColumn","FreeTextColumn","CustomSort","Alert","SystemStatus","-","FormatColumn","StyledColumn","FlashingCell","Theme","-","QuickSearch","Query","Filter","DataSet","-","PlusMinus","Shortcut","DataChangeHistory","-","Charting","Schedule","StateManagement","TeamSharing"];d();var fDe=w(require("react"));d();var Jf=w(require("react"));var mDe=n=>{var i=n,{render:o,frameworkComponent:e,componentName:t="N/A"}=i,r=ze(i,["render","frameworkComponent","componentName"]);let a=Jf.useRef(),s=ne(),[l,u]=Jf.useState("");return Jf.useLayoutEffect(()=>{let p=a.current,c=s.api;if(o){let m=o({visible:!0,element:p,adaptableApi:c});u(m)}else e&&c.internalApi.createFrameworkComponent(p,e,"toolbar");return()=>{o?o({visible:!1,element:p,adaptableApi:c}):e&&c.internalApi.destroyFrameworkComponent(p,e,t)}},[]),Jf.createElement("div",R(v({},r),{dangerouslySetInnerHTML:{__html:l},ref:a}))};var hDe=o=>fDe.createElement(mDe,{render:o.settingsPanel.render,componentName:o.settingsPanel.name,frameworkComponent:o.settingsPanel.frameworkComponent});d();var gDe=w(require("react"));var CDe=()=>{let e=ne().adaptableOptions.settingsPanelOptions,t=Dt(r=>{var n;return(n=r==null?void 0:r.Grid)==null?void 0:n.SettingPanelModuleMenuItems});return gDe.useMemo(()=>{var i;let r=(i=e==null?void 0:e.navigation)==null?void 0:i.items;r||(r=[...cDe],e.customSettingsPanels&&r.push(...e.customSettingsPanels.map(a=>a.name)));let n=t.filter(a=>a.module!=="General"&&!bV.includes(a.module)&&a.isVisible);return r.map(a=>{var u,p;if(a==="-")return a;let s=(p=(u=e==null?void 0:e.customSettingsPanels)==null?void 0:u.find)==null?void 0:p.call(u,c=>c.name===a),l=null;return s&&(l={label:s.name,isVisible:!0,reduxAction:Qo(null,s.name)}),l||n.find(c=>c.module===a)}).filter(Boolean)},[t])};d();var yA=w(require("react")),SDe=require("react-dom");d();var AV=o=>{let e=window.innerHeight;return{x:window.innerWidth/2-o.width/2,y:e/2-o.height/2}},yDe=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:vm(600,0,o*.9),width:vm(800,0,e*.9)}},TY=()=>{let o=window.innerHeight,e=window.innerWidth;return{height:vm(o*.9,0,800),width:vm(e*.9,0,800)}},vDe=()=>TY();var Xbt=o=>{var y,b;let C=o,{onChange:e,style:t,baseClassName:r,className:n,isActionModule:i,settingsPanelOptionsKey:a,onHide:s}=C,l=ze(C,["onChange","style","baseClassName","className","isActionModule","settingsPanelOptionsKey","onHide"]),u=ne(),p=at(),c=u.adaptableOptions.settingsPanelOptions,m=Dt(S=>{var A,x;return(x=(A=S==null?void 0:S.System)==null?void 0:A.SettingsPanel)==null?void 0:x[a]}),f=S=>{p(jie(a,S))};if(!m){let S=i?yDe():(y=c.size)!=null?y:TY();m={size:S,position:(b=c.position)!=null?b:AV(S)}}let g={handleSelector:i?`.${r} .ab-Panel__header`:".ab-Adaptable-Popup__TopBar",minHeight:460,minWidth:400,size:m.size,position:m.position,onChange:f};return yA.createElement(oi,v({windowModal:!0,fixed:!1,windowModalProps:g,style:R(v({},o.style),{height:"100%"}),padding:0,className:n,onDismiss:s,isOpen:!0,showCloseButton:!0},l))},Zbt=o=>{let a=o,{style:e,className:t,onHide:r,children:n}=a,i=ze(a,["style","className","onHide","children"]);return yA.createElement(oi,v({fixed:!1,style:o.style,padding:0,height:"90vh",width:"90vw",className:t,onDismiss:r,isOpen:!0,showCloseButton:!0},i),n)},bDe=o=>{let{isActionModule:e,style:t,friendlyName:r,baseClassName:n,className:i,children:a,onHide:s,isWindowModal:l,modalContainer:u}=o;if(u){let p=null;return typeof u=="string"?p=globalThis.document.querySelector(u):p=u,(0,SDe.createPortal)(yA.createElement(oi,{"data-name":o.dataName,modal:!1,fixed:!1,onDismiss:s,className:i},a),p)}if(l){let p=e?`action-${r}`:"settings";return yA.createElement(Xbt,{dataName:o.dataName,settingsPanelOptionsKey:p,isActionModule:e,onHide:s,style:t,baseClassName:n,className:i},a)}else{let p=v(v({},t),e?{maxWidth:800,maxHeight:600}:{maxWidth:1200,maxHeight:1e3});return yA.createElement(Zbt,{"data-name":o.dataName,onHide:s,style:p,className:i},a)}};var IY=o=>{var x,E,T;let e=ne(),t=e.adaptableOptions.settingsPanelOptions,r=e.api.internalApi.getModuleFriendlyName("SettingsPanel"),n=CDe(),i=t.popupType==="window",a=(E=(x=e.adaptableOptions)==null?void 0:x.containerOptions)==null?void 0:E.modalContainer,s=null,l=!1,u=null,p=null,c="Full",m=n.find(I=>I!=="-"),f=m==null?void 0:m.module,g=o.componentModule,C=o.componentName,y=!o.componentName;y&&f!=="General"&&(g=f);let b=(T=t==null?void 0:t.customSettingsPanels)==null?void 0:T.find(I=>y?I.name===m.label:I.name===C);if(b)s=b.name,p=b.name,u=Hc.createElement(hDe,{settingsPanel:b});else{let I=o.api.internalApi.getModuleService().getModuleById(g),D=I==null?void 0:I.moduleInfo;c=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(g),s=D.FriendlyName,l=D&&(bV.includes(D==null?void 0:D.ModuleName)||o.componentName&&o.componentName!==(D==null?void 0:D.Popup)),p=D.ModuleName,u=Hc.createElement(pDe,{api:o.api,module:I,componentName:o.componentName,moduleParams:o.moduleParams,onClearParams:o.onClearParams,onHide:o.onHide})}let S="ab-Adaptable-Popup",A=Me(S,`${S}--${i?"window":"modal"}`,l?`${S}--action-popup`:`${S}--settings-popup`);return Hc.createElement(gwe.Provider,{value:{hidePopup:()=>{o.onHide&&o.onHide()}}},Hc.createElement(bDe,{dataName:g,baseClassName:S,className:A,friendlyName:s,isActionModule:l,isWindowModal:i,onHide:o.onHide,modalContainer:a},!l&&Hc.createElement(mwe,{icon:t.icon},r),Hc.createElement(PY.Flex,{flexDirection:"row",flex:"1 1 0",style:{minHeight:0},className:c=="ReadOnly"?kn:""},!l&&Hc.createElement(hwe,{menuItems:n,api:o.api,activeItem:p,customSettingsPanels:t.customSettingsPanels}),Hc.createElement(PY.Flex,{flex:1,className:"ab-Adaptable-Popup__Body"},u))))};d();var za=w(require("react"));var ZC=w(re());var ADe=o=>{var s;let e=at(),[t,r]=za.useState((s=o.defaultValue)!=null?s:""),n=()=>{r(""),o.onClose()},i=()=>{o.onConfirm(t);let l=typeof o.onConfirmActionCreator=="function"&&o.onConfirmActionCreator(t);l&&e(l),r("")},a=l=>{r(l.target.value)};return za.createElement(oi,{modal:!0,"data-name":"prompt-popup",isOpen:!0,onDismiss:o.onClose,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},za.createElement(ZC.Flex,{flexDirection:"column"},za.createElement(ZC.Box,{marginTop:3,mx:2},o.header),je.IsNotNullOrEmpty(o.message)&&za.createElement(ZC.Box,{marginTop:3,mx:2}," ",za.createElement("div",{style:{display:"flex",alignItems:"center"}},o.message.split(`
|
|
538
538
|
`).map(function(l,u){return za.createElement("span",{key:u},l,za.createElement("br",null))}))),za.createElement(We,{autoFocus:!0,marginTop:3,mx:3,value:t,type:"string",placeholder:"Enter text",onChange:l=>a(l)}),za.createElement(ZC.Box,{marginTop:3},za.createElement(ZC.Flex,{padding:2},za.createElement(X,{tone:"accent","data-name":"ok",variant:"raised",disabled:je.IsNullOrEmpty(t),onClick:()=>i()},"OK"),za.createElement("div",{style:{flex:1}}),za.createElement(X,{tone:"neutral",variant:"raised",onClick:()=>n(),"data-name":"cancel"},"Cancel")))))};d();var Pi=w(require("react"));var wV=w(re());d();d();var cs=w(require("react"));d();var JC=w(require("react"));var xDe=w(re());function xV(o){return JC.createElement("div",{className:Me("ab-Dashboard__toolbar",o.className)},JC.createElement("div",{className:"ab-Dashboard__toolbar-content"},o.children),JC.createElement(xDe.Flex,{className:"ab-Dashboard__toolbar-title",flexDirection:"row",alignItems:"center"},JC.createElement("span",null,o.title),o.showConfigure&&JC.createElement(X,{icon:"build",variant:"text",tone:"none","data-name":"configure",iconSize:16,marginLeft:1,tooltip:o.tooltip||`Configure ${o.title} Toolbar`,onClick:()=>o.onConfigure()})," ",o.showClose&&JC.createElement(X,{style:{alignSelf:"flex-end"},disabled:o.accessLevel=="ReadOnly","data-name":"close",icon:"clear",variant:"text",tone:"none",iconSize:16,marginLeft:1,tooltip:o.tooltip||`Close ${o.title} Toolbar`,onClick:()=>o.onClose()})))}function RDe(o){let{title:e,children:t,left:r,right:n,onShowDashboardPopup:i}=o,[a,s]=ko(o,"activeTabIndex",0),[l,u]=ko(o,"collapsed",!1),[p,c]=ko(o,"floating",!1),[m,f]=ko(o,"inline",!1),[g,C]=ko(o,"position",{x:0,y:0}),y=!p&&!l,{handleRef:b,targetRef:S}=cE({onDrop(D,P){C(({x:O,y:M})=>({x:O+D,y:M+P}))}}),A={position:"absolute",left:g.x,top:g.y},x=()=>cs.createElement("div",{className:"ab-Dashboard__tabs"},t&&cs.Children.map(t,(D,P)=>cs.createElement("button",{type:"button",className:Me("ab-Dashboard__tab",!l&&a===P?"ab-Dashboard__tab--active":""),key:P,onClick:()=>{a===P?u(!l):(s(P),u(!1))}},D.props.title))),E=()=>{var P,O,M;if(t&&t.length<2)return null;let D=(M=(O=(P=t==null?void 0:t[a])==null?void 0:P.props)==null?void 0:O.title)!=null?M:"Select Toolbar";return cs.createElement(Fe,{ml:1,columns:["label"],items:cs.Children.map(t,(B,_)=>({value:String(_),label:B.props.title,onClick:()=>s(_)}))},D)},T=()=>cs.createElement("div",{className:"ab-Dashboard__header",onDoubleClick:D=>{let P=D.target;!o.canFloat||P.closest("button, input")||c(!p)}},cs.createElement("div",{className:"ab-Dashboard__header-left"},r,!p&&x()),p?cs.createElement("div",{className:"ab-Dashboard__title",ref:b,key:"title-drag",style:{cursor:"move"}},e):cs.createElement("div",{className:"ab-Dashboard__title",key:"title"},e),cs.createElement("div",{className:"ab-Dashboard__header-right"},n)),I=()=>cs.createElement(xV,{onConfigure:i,className:"ab-Dashboard__home-toolbar",title:e,tooltip:"Configure Dashboard",showConfigure:!0,showClose:!1,accessLevel:"Full"},r,n,t&&t.length>1,E());return cs.createElement("div",{ref:S,className:Me("ab-Dashboard",l?"ab-Dashboard--collapsed":"",p?"ab-Dashboard--floating":"",m?"ab-Dashboard--inline":""),style:p?A:void 0},y&&m?I():T(),y&&t&&t.length?cs.createElement("div",{className:"ab-Dashboard__content"},t[a]?t[a].props.children:null):null)}d();function wDe(o){return null}var _De=w(eA());d();var EDe=w(require("react"));d();var RV=w(require("react"));var ey=class extends RV.Component{render(){let{headerText:e,showConfigureButton:t,showCloseButton:r,onConfigure:n,onClose:i,accessLevel:a,children:s}=this.props;return RV.createElement(xV,{title:e,onConfigure:n,showConfigure:t,showClose:r,onClose:i,accessLevel:a},s)}};ey.defaultProps={showConfigureButton:!0,showCloseButton:!0,headerText:"Module",onClose:null,onConfigure:null,accessLevel:"Full"};var TDe=o=>{let e=o.moduleInfo.ModuleName,t=o.moduleInfo.FriendlyName,{api:r}=ne(),n=e!=="OpenFin"&&e!=="IPushPull"&&e!=="Glue42";return EDe.createElement(ey,{className:`ab-DashboardToolbar__${e}`,"data-name":`ab-DashboardToolbar__${e}`,headerText:t,showConfigureButton:n,onConfigure:()=>{let i=r.internalApi.getModuleService().getPopupMaxWidth(e),a=i?{maxWidth:i,source:"Toolbar"}:{source:"Toolbar"};r.internalApi.dispatchReduxAction(Qo(e,o.moduleInfo.Popup,a))},onClose:()=>r.internalApi.dispatchReduxAction(hce(e)),accessLevel:o.accessLevel},o.children)};d();var HT=w(require("react")),Uc=require("react");var PDe=o=>{let e="ab-CustomToolbar__"+o.customToolbar.name+"__contents",t="ab-CustomToolbar__"+o.customToolbar.name+"__buttons",[r,n]=(0,Uc.useState)(""),[i,a]=(0,Uc.useState)(1),s=(0,Uc.useRef)(null),{api:l}=ne();return(0,Uc.useLayoutEffect)(()=>{let u=s.current,p=l;if(o.customToolbar.render){let c=o.customToolbar.render({visible:!0,element:u,adaptableApi:p});n(c)}},[i,o.dashboardRevision]),(0,Uc.useLayoutEffect)(()=>{let u=s.current,p=l;return()=>{o.customToolbar.render&&o.customToolbar.render({visible:!1,element:u,adaptableApi:p})}},[]),(0,Uc.useLayoutEffect)(()=>{let u=s.current,p=l;o.customToolbar.frameworkComponent&&p.internalApi.createFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar");let c=p.eventApi.on("AdaptableDestroy",()=>{var m;(m=p==null?void 0:p.internalApi)==null||m.destroyFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar")});return()=>{var m;c(),o.customToolbar.frameworkComponent&&((m=p==null?void 0:p.internalApi)==null||m.destroyFrameworkComponent(u,o.customToolbar.frameworkComponent,"toolbar"))}},[]),HT.createElement(ey,{className:`ab-CustomToolbar ab-DashboardToolbar__${o.customToolbar.name}`,"data-name":`ab-CustomToolbar ab-DashboardToolbar__${o.customToolbar.name}`,headerText:o.customToolbar.title?o.customToolbar.title:"",showConfigureButton:o.customToolbar.showConfigureButton!=null&&o.customToolbar.showConfigureButton==!0,showCloseButton:o.customToolbar.showCloseButton!=null&&o.customToolbar.showCloseButton==!0,onConfigure:()=>{let u={adaptableApi:l,customToolbar:o.customToolbar};l.eventApi.emit("CustomToolbarConfigured",u)},accessLevel:l.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard")},HT.createElement("div",{id:e,ref:s,className:"CustomToolBarContents ab-CustomToolbar__contents ab-CustomToolbar__contents--render",style:{minHeight:22},dangerouslySetInnerHTML:{__html:r}}),HT.createElement("div",{id:t,className:"ab-CustomToolbar__buttons",style:{minHeight:22}},o.customToolbar.toolbarButtons&&o.customToolbar.toolbarButtons.map((u,p)=>{let c={customToolbar:o.customToolbar,adaptableApi:l,dashboardState:l.dashboardApi.getDashboardState()},m=l.internalApi.getIconForButton(u,c),f=l.internalApi.getStyleForButton(u,c),g=l.internalApi.getLabelForButton(u,c),C=l.internalApi.getTooltipForButton(u,c);if(u.hidden&&u.hidden(u,c))return null;let y=u.disabled&&u.disabled(u,c),b=f&&f.variant?f.variant:"outlined",S=f&&f.tone?f.tone:"neutral";return HT.createElement(X,{style:{marginLeft:p?"var(--ab-space-1)":0},key:p,disabled:y,tooltip:C,icon:m,variant:b,tone:S,className:(f==null?void 0:f.className)||"",onClick:()=>{u.onClick&&u.onClick(u,c),setTimeout(()=>{a(i+1)},16)}},g)})))};d();var IDe=w(require("react")),DDe=require("react");var ODe=w(eA()),FDe=o=>{let{button:e}=o,[t,r]=(0,DDe.useState)(1),n={adaptableApi:o.api,dashboardState:o.api.dashboardApi.getDashboardState()},i=o.api.internalApi.getIconForButton(e,n),a=o.api.internalApi.getStyleForButton(e,n),s=o.api.internalApi.getLabelForButton(e,n),l=o.api.internalApi.getTooltipForButton(e,n);if(e.hidden&&e.hidden(e,n))return null;let u=e.disabled&&e.disabled(e,n);return IDe.createElement(X,{key:s,variant:a&&a.variant?a.variant:"text",tone:a&&a.tone?a.tone:"none",className:`ab-DashboardToolbar__Home__${(0,ODe.default)(s)} ${(a==null?void 0:a.className)||""}`,tooltip:l,icon:i,disabled:u||o.accessLevel=="ReadOnly",onClick:()=>{var p;(p=e.onClick)==null||p.call(e,e,n),setTimeout(()=>{r(t+1)},16)},accessLevel:"Full"},s)};var Jbt=o=>{let[e,t]=Hb(o),r=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule("Dashboard"),n=m=>{let f=m.Toolbars.filter(y=>y),g=o.api.dashboardApi.getCustomToolbars();return f.map(y=>{let b=g&&g.find(S=>S.name==y);if(b){if(r!="Hidden")return Pi.createElement(wV.Box,{key:b.name,className:"ab-Dashboard__container ab-Dashboard__container--customToolbar"},Pi.createElement(PDe,{customToolbar:b,dashboardRevision:o.DashboardRevision}))}else{let S=y;if(o.api.internalApi.getModuleService().isModuleAvailable(S)){let A=o.api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(S),x=SV.get(S);if(x){let E=o.api.internalApi.getModuleService().getModuleInfoByModule(S),T=Pi.createElement(x,{viewType:"Toolbar",api:o.api,accessLevel:A,moduleInfo:E});return Pi.createElement(wV.Box,{key:S,className:`ab-Dashboard__container ab-Dashboard__container--${S}`},Pi.createElement(TDe,{moduleInfo:E,accessLevel:r},T))}else o.api.logError("Cannot find Dashboard Control for "+y)}}})},i=()=>{let m=o.DashboardState.ModuleButtons,f=null;return o.api.optionsApi.getSettingsPanelOptions().alwaysShowInDashboard&&!o.api.internalApi.getEntitlementService().isModuleHiddenEntitlement("SettingsPanel")&&!m.includes("SettingsPanel")&&m.push("SettingsPanel"),m&&(f=m.map((y,b)=>{var A,x,E;let S=o.GridState.ModuleButtonMenuItems.find(T=>T.isVisible&&T.module==y);if(S)return Pi.createElement(X,{"data-name":`dashboard-module-button-${(A=S.module)!=null?A:"custom-"+b}`,key:S.label,variant:S.module==="SystemStatus"?"outlined":"text",tone:S.module==="SystemStatus"?"neutral":"none",className:`ab-DashboardToolbar__Home__${(0,_De.default)(S.label)}`,icon:S.icon,tooltip:S.label,disabled:o.accessLevel=="ReadOnly",onClick:()=>o.dispatch(S.reduxAction),accessLevel:"Full",style:S.module==="SystemStatus"?R(v({},Xt.getStyleForMessageType((E=(x=o.api.systemStatusApi.getCurrentSystemStatusMessageInfo())==null?void 0:x.statusType)!=null?E:"Success")),{border:0}):{}})})),f},a=()=>{let m=o.api.dashboardApi.getCustomDashboardButtons().filter(Boolean),f=null;return m!=null&&m.length&&(f=m.map((g,C)=>Pi.createElement(FDe,{key:`${g.label}-${C}`,button:g,api:o.api,accessLevel:o.accessLevel}))),f},s=()=>Pi.createElement(wV.Box,{ml:2},Pi.createElement(Ba,{type:"text",placeholder:o.api.optionsApi.getSearchOptions().quickSearchPlaceholder,className:"ab-DashboardToolbar__QuickSearch__text",value:e,OnTextChange:t,style:{width:"auto"},inputStyle:{width:"7rem"}})),l=o.api.internalApi.getToolbarTitle(),u=o.api.optionsApi.getDashboardOptions(),p=u.showQuickSearchInHeader&&o.api.internalApi.getModuleService().getModuleById(Ja).isModuleAvailable(),c=o.api.optionsApi.getUserInterfaceOptions().applicationIcon;return o.DashboardState.IsHidden?Pi.createElement("div",null):Pi.createElement(RDe,{title:l,canFloat:o.api.optionsApi.getDashboardOptions().canFloat,activeTabIndex:o.DashboardState.ActiveTabIndex,onActiveTabIndexChange:m=>{o.onSetActiveTabIndex(m)},collapsed:o.DashboardState.IsCollapsed,onCollapsedChange:m=>{o.onSetIsCollapsed(m)},floating:o.DashboardState.IsFloating,onFloatingChange:m=>{o.onSetIsFloating(m)},inline:o.DashboardState.IsInline,onInlineChange:m=>{o.onSetIsInline(m)},position:o.DashboardState.FloatingPosition,onPositionChange:m=>{if(typeof m=="function"){let f=m(o.DashboardState.FloatingPosition);o.onSetFloatingPosition(f)}else o.onSetFloatingPosition(m)},left:Pi.createElement(Pi.Fragment,null,Pi.createElement(fi,{icon:c,iconClassName:"ab-Dashboard__application-icon"}),u.buttonsLocation==="left"&&i(),u.buttonsLocation==="left"&&a()),right:Pi.createElement(Pi.Fragment,null,u.buttonsLocation==="right"&&a(),u.buttonsLocation==="right"&&i(),p&&s()),onShowDashboardPopup:o.onShowDashboardPopup},o.DashboardState.Tabs&&o.DashboardState.Tabs.map((m,f)=>Pi.createElement(wDe,{key:f,title:m.Name},n(m))))};function eAt(o,e){return{DashboardRevision:o.System.DashboardRevision,DashboardState:o.Dashboard,GridState:o.Grid,SystemStatusMessageInfos:o.System.SystemStatusMessages,QuickSearchText:o.QuickSearch.QuickSearchText}}function tAt(o){return{dispatch:e=>o(e),onSetActiveTabIndex:e=>o(h_(e)),onSetIsCollapsed:e=>o(nu(e)),onSetIsFloating:e=>o(iu(e)),onSetFloatingPosition:e=>o(mce(e)),onRunQuickSearch:e=>o(rd(e)),onShowQuickSearchPopup:()=>o(Qo(Ja,"QuickSearchPopup")),onShowDashboardPopup:()=>o(Qo(ul,"DashboardPopup"))}}var MDe=ot(eAt,tAt)(Jbt);d();var Dn=w(require("react"));var ty=w(re());var NDe=o=>{let e=at(),[t,r]=Dn.useState(!1),[n,i]=Dn.useState(""),a=o.header,s=_o.getGlyphByMessageType(o.messageType);function l(){i(""),o.onCancel()}function u(){o.onConfirm(n),i(""),t&&e(Xie())}function p(m){i(m.target.value)}function c(){return o.showInputBox?je.IsNotNullOrEmpty(n):!0}return o.showPopup?Dn.createElement(oi,{modal:!0,"data-name":`confirmation-popup confirmation-popup--${o.messageType.toLowerCase()}`,isOpen:o.showPopup,onDismiss:o.onCancel,showCloseButton:!1,style:{minHeight:"auto",maxWidth:"50%"}},Dn.createElement(hp,{header:a,icon:s,variant:"primary"},Dn.createElement("div",null,Dn.createElement("div",{style:{display:"flex",alignItems:"center"}},o.messsage.split(`
|
|
539
|
-
`).map(function(m,f){return Dn.createElement(ty.Text,{key:f,margin:2},m,Dn.createElement("br",null))})),Dn.createElement(ty.Box,{pl:2},Dn.createElement(ye,{checked:t,onChange:()=>{r(!t)}},"Do not show this again")),o.showInputBox&&Dn.createElement(ty.Box,{padding:2,"data-name":"body"},Dn.createElement("p",null,"Please enter a comment to confirm"),Dn.createElement(We,{marginTop:2,width:"100%",value:n,type:"string",placeholder:"Enter text",onChange:m=>p(m)})),Dn.createElement(ty.Flex,{marginTop:3,padding:2,"data-name":"footer"},Dn.createElement(X,{tone:"error","data-name":"delete",variant:"raised",disabled:!c(),onClick:()=>u()},o.confirmButtonText),Dn.createElement("div",{style:{flex:1}}),Dn.createElement(X,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>l()},o.cancelButtonText))))):Dn.createElement(Dn.Fragment,null)};d();var oy=w(require("react"));var LDe=w(re()),EV=class extends oy.Component{render(){return oy.createElement(oi,{modal:!0,isOpen:this.props.showLoadingScreen,onDismiss:this.props.onClose,showCloseButton:!1,style:{minHeight:"auto"}},oy.createElement(LDe.Box,{padding:3},oy.createElement("h4",null,"Initialising Grid"),oy.createElement("p",null,"Retrieving your settings and setting up the grid...")))}};d();var TV=w(require("react"));var kDe=w(Tw());var $i=(o,e)=>TV.createElement(wE,{store:e.adaptableStore.TheStore},TV.createElement(kDe.ThemeProvider,{theme:mb},TV.createElement(kCe.Provider,{value:e},o)));d();d();var th=w(require("react"));d();var Wc=w(require("react"));var VDe=o=>Wc.createElement("svg",v({width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),Wc.createElement("path",{d:"M0 8C0 3.58172 3.58172 0 8 0H12.6699V12.6H0V8Z",fill:"#004C79"}),Wc.createElement("path",{d:"M16.165 0H36.9999C41.4182 0 45 3.58172 45 8V12.6H16.165V0Z",fill:"#004C79"}),Wc.createElement("path",{d:"M0 32.4H28.8349V45H8C3.58173 45 0 41.4183 0 37V32.4Z",fill:"#004C79"}),Wc.createElement("path",{d:"M32.3301 32.4H45V37C45 41.4183 41.4182 45 37 45H32.3301V32.4Z",fill:"#004C79"}),Wc.createElement("rect",{x:"32.3301",y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}),Wc.createElement("rect",{x:"16.165",y:"16.2001",width:"12.6699",height:"12.6",fill:"#00CAF2"}),Wc.createElement("rect",{y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}));var BDe=w(re()),eh={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},oAt=o=>{let e=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(let[t,r]of e)if(o.style[t]===r)return!1;return!0},DY=o=>{let e=th.useRef(null);return th.useEffect(()=>{let r=setInterval(()=>{var n,i;(n=e.current)!=null&&n.isConnected||alert("It is not allowed to remove the Adaptable watermark."),oAt(e.current)||alert("It is not allowed to modify the Adaptable watermark."),(i=e==null?void 0:e.current)!=null&&i.style&&(e.current.style.border=eh.border,e.current.style.padding=eh.padding,e.current.style.fontWeight=`${eh.fontWeight}`,e.current.style.margin=eh.margin,e.current.style.fontSize=eh.fontSize,e.current.style.color=eh.color,e.current.style.background=eh.background,e.current.style.display="flex",e.current.style.position="static",e.current.style.opacity="1",e.current.style.visibility="visible")},5e3);return()=>clearTimeout(r)},[]),th.createElement(BDe.Flex,{style:eh,ref:e},th.createElement(VDe,{style:{marginRight:10}}),th.createElement("div",null,o.children))};d();var oh=w(require("react"));var UT=require("react");var GDe=()=>{let{active:o,label:e}=Dt(u=>u.System.ProgressIndicator),[t,r]=(0,UT.useState)(!1),[n,i]=(0,UT.useState)({top:0,left:0,height:0,width:0}),a=ne(),s=(u,p)=>{let c="ab-wait-for-progress-indicator";!u||(p?u.classList.add(c):u.classList.remove(c))},l=u=>{if(!u)return;let{top:p,left:c,height:m,width:f}=u.getBoundingClientRect();i({top:p,left:c,height:m,width:f})};return(0,UT.useEffect)(()=>{s(a.getAdaptableContainerElement(),o),s(a.getAgGridContainerElement(),o),l(a.getAdaptableContainerElement()),requestAnimationFrame(()=>{r(o)})},[o]),oh.createElement(oh.Fragment,null,o&&oh.createElement("div",{className:`ab-progress-indicator-wrapper ${t?"ab-progress-indicator-wrapper--visible":""}`,style:n},oh.createElement("div",{className:"ab-progress-indicator-body"},oh.createElement(hk,null),oh.createElement("span",{style:{marginLeft:"var(--ab-space-2)"}},e))))};d();var Id=w(require("react"));var rAt=()=>Id.createElement(Id.Fragment,null),HDe=()=>{let[o,e]=Id.useState({}),t=ne(),r=at(),n=Dt(i=>i.Popup.WindowPopup.PopupList);return Id.createElement(Id.Fragment,null,n==null?void 0:n.map(i=>{var m,f,C,y,b,S;let a=(m=DRe[i.FactoryId])!=null?m:rAt,g=(f=i==null?void 0:i.PopupProps)!=null?f:{},{windowModalProps:s}=g,l=ze(g,["windowModalProps"]),u=()=>{r(gae(i.Id))},p=(y=(C=o==null?void 0:o[i.Id])==null?void 0:C.size)!=null?y:vDe(),c=(S=(b=o==null?void 0:o[i.Id])==null?void 0:b.position)!=null?S:AV(p);return Id.createElement(oi,{"data-name":i.Id,style:{height:"100%"},className:"ab-Window-Modal",key:i.Id,windowModal:!0,windowModalProps:R(v({},s),{onChange:A=>{e(x=>R(v({},x),{[i.Id]:A}))},handleSelector:".ab-Window-Modal .ab-Panel__header",size:p,position:c}),fixed:!1,padding:0,onDismiss:u,isOpen:!0,showCloseButton:!0},Id.createElement(hp,{style:{height:"100%"},bodyProps:{padding:0,height:"100%"},header:i.Title,glyphicon:i.Icon,variant:"primary"},Id.createElement(a,{api:t.api,onDismiss:u,popupProps:l})))}))};d();var _p=w(require("react"));var WDe=w(re());d();function UDe(o){return(o.fields||[]).flat().reduce((e,t)=>{var r;return e[t.name]=(r=t.defaultValue)!=null?r:"",e},{})}var nAt=({id:o,formProps:e,form:t,prepareContext:r})=>{let n=at(),i=ne(),[a,s]=_p.useState(()=>UDe(t)),l=()=>{n(Cae(o))},u=v({adaptableApi:i.api,formData:a},e);return _p.createElement(oi,{isOpen:!0,showCloseButton:!1,style:{minHeight:"auto",minWidth:400,maxHeight:"80vh"},onDismiss:l},_p.createElement(WDe.Flex,{flexDirection:"column","data-name":"form-dialog",padding:4,height:"100%"},_p.createElement(b0,{formDef:t,data:a,context:u,onChange:s,api:i.api,displayTitle:!0,onButtonClick:async p=>{var m;l();let c=typeof r=="function"?await r(u):u;(m=p.onClick)==null||m.call(p,p,c)}})))},zDe=()=>{let o=Dt(e=>e.Popup.FormPopup.FormList);return _p.createElement(_p.Fragment,null,o.map(e=>_p.createElement(nAt,{key:e.Id,prepareContext:e.prepareContext,id:e.Id,formProps:e.FormProps,form:e.Form})))};var OY=class extends ms.Component{render(){var r,n,i,a;let e=(a=(i=(n=(r=this.props.AdaptableApi)==null?void 0:r.internalApi)==null?void 0:n.getSystemState())==null?void 0:i.License)==null?void 0:a.watermark,t=this.props.AdaptableApi.optionsApi.getAdaptableOptions();return ms.createElement("div",null,this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable("Dashboard")&&ms.createElement(MDe,{api:this.props.AdaptableApi}),ms.createElement(EV,{onClose:this.props.onCloseLoadingPopup,showLoadingScreen:this.props.PopupState.LoadingPopup.ShowLoadingPopup}),this.props.PopupState.PromptPopup.ShowPromptPopup&&ms.createElement(ADe,{message:this.props.PopupState.PromptPopup.Message,header:this.props.PopupState.PromptPopup.Header,onClose:this.props.onClosePromptPopup,onConfirm:this.props.onConfirmPromptPopup,onConfirmActionCreator:this.props.PopupState.PromptPopup.ConfirmActionCreator,defaultValue:this.props.PopupState.PromptPopup.DefaultValue}),Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup)&&ms.createElement(NDe,{header:this.props.PopupState.ConfirmationPopup.Header,messsage:this.props.PopupState.ConfirmationPopup.Msg,showPopup:this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup,cancelButtonText:this.props.PopupState.ConfirmationPopup.CancelButtonText,confirmButtonText:this.props.PopupState.ConfirmationPopup.ConfirmButtonText,onCancel:this.props.onCancelConfirmationPopup,onConfirm:this.props.onConfirmConfirmationPopup,showInputBox:this.props.PopupState.ConfirmationPopup.ShowInputBox,messageType:this.props.PopupState.ConfirmationPopup.MessageType,api:this.props.AdaptableApi}),Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup)&&ms.createElement(IY,{componentName:this.props.PopupState.ScreenPopup.ComponentName,componentModule:this.props.PopupState.ScreenPopup.ComponentModule,onHide:this.props.onCloseScreenPopup,api:this.props.AdaptableApi,onClearParams:()=>this.props.onClearPopupParams(),moduleParams:this.props.PopupState.ScreenPopup.Params,moduleProps:this.props.PopupState.ScreenPopup.PopupProps}),ms.createElement(Yo.ToastContainer,{containerId:t.adaptableId,enableMultiContainer:!0,limit:t.notificationsOptions.maxNotifications,closeButton:!1,icon:!1,theme:"colored"}),(e==null?void 0:e.show)&&ms.createElement(DY,null,e==null?void 0:e.text),ms.createElement(HDe,null),ms.createElement(zDe,null),ms.createElement(GDe,null))}};function iAt(o,e){return{PopupState:o.Popup,SystemState:o.System,AdaptableApi:e.Adaptable.api}}function aAt(o){return{onCloseScreenPopup:()=>o(sc()),onClosePromptPopup:()=>o(bae()),onConfirmPromptPopup:e=>o(Aae(e)),onConfirmConfirmationPopup:e=>o(xae(e)),onCancelConfirmationPopup:()=>o(Rae()),showPopup:(e,t,r)=>o(Qo(e,t,r)),onClearPopupParams:()=>o(Mv())}}var sAt=ot(iAt,aAt)(OY),jDe=({Adaptable:o})=>$i(ms.createElement(sAt,{Adaptable:o}),o);d();var VY=w(require("react")),xOe=w(Tw());d();var sy=w(require("react")),ly=require("react");d();var KDe=(o,e)=>{if(!Array.isArray(o)||!o.length)return{primaryKey:void 0,columns:[],data:[]};let t=[],r=[],n;if(Array.isArray(o[0])){t=o[0];for(let i=1,a=o.length;i<a;i++){let s=o[i],l={};for(let u=0;u<t.length;u++)l[t[u]]=s[u];r.push(l)}}else t=Object.keys(o[0]),r=o;return n=t[0],{primaryKey:n,columns:t,data:r}},FY={string:"abColDefString",number:"abColDefNumber",boolean:"abColDefBoolean",date:"abColDefDate"},lAt="abColDefCustom",uAt=o=>{let t=FY[typeof o]||FY.string;return o instanceof Date&&(t=FY.date),Array.isArray(o)&&o.length&&typeof o[0]=="number"&&(t=lAt),t},QDe=(o,e)=>{let t=o.data[0],r=o.columns.map(i=>{let a=t[i],s=uAt(a);return{headerName:i,field:i,type:s,filter:!0,sortable:!0,enableRowGroup:!0,resizable:!0,editable:!0}});return R(v({},e),{defaultColDef:{floatingFilter:!0},rowData:o.data,columnDefs:r,enableRangeSelection:!0,rowSelection:"multiple",rowHeight:30})};var bOe=w(re());d();d();var ja=w(require("react")),kY=require("react");d();var tOe=w(require("react"));d();var _t=w(require("react"));d();var YDe=require("react");var dAt=(o,e,t,r)=>{r=r||{};let n=r.onChange||((p,c)=>{}),i=r.onBatchChange||(p=>{}),[a,s]=(0,YDe.useState)(typeof e=="object"?e:o.reduce((p,c)=>{let m=t?c[t]:e;return m&&(p[c.field]=m),p},{})),l=p=>o.filter(c=>c.field===p)[0],u={selected:a,isSelected:p=>!!a[p],isAllSelected:()=>Object.keys(a).length===o.length,isNoneSelected:()=>Object.keys(a).length===0,selectColumn:p=>{a[p]||(s(R(v({},a),{[p]:!0})),n(l(p),!0))},deselectColumn:p=>{if(a[p]){let c=v({},a);delete c[p],s(c),n(l(p),!1)}},toggleColumn:p=>{u.isSelected(p)?u.deselectColumn(p):u.selectColumn(p)},deselectAll:()=>{s({}),o.forEach(p=>{n(p,!1)}),i(!1)},selectAll:()=>{s(o.reduce((p,c)=>(p[c.field]=!0,p),{})),i(!0)}};return u},ry=dAt;d();var iy=w(require("react")),vA=require("react"),$De=w(re());d();var PV=w(require("react"));var pAt=()=>PV.createElement("div",{style:{display:"flex",flexFlow:"column",position:"absolute",fill:"var(--ab-cmp-dropdown__fill)",top:"50%",right:"var(--ab-space-1)",transform:"translate3d(0px, -50%, 0px)",cursor:"pointer"}},PV.createElement(Lt,{name:"triangle-up",size:24,style:{position:"relative",top:7}}),PV.createElement(Lt,{name:"triangle-down",size:24,style:{position:"relative",top:-7}})),qDe=pAt;var ny="ab-Dropdown",cAt=o=>{let j=o,{options:e,multiple:t,name:r,autoFocus:n,showEmptyItem:i=!0,showClearButton:a,disabled:s,allowSearch:l,clearButtonProps:u,value:p,onChange:c,style:m,onExpand:f}=j,g=ze(j,["options","multiple","name","autoFocus","showEmptyItem","showClearButton","disabled","allowSearch","clearButtonProps","value","onChange","style","onExpand"]);a!==!1&&(a=!0);let[C,y]=ko(o,"value",void 0,{onChange:o.onChange}),b=null,[S,A]=(0,vA.useState)([]),x=()=>{f&&f()};if(typeof e=="function"){let z=e;x=()=>{let W=z();A(W),f&&f()},e=S}let E=o.emptyText||o.placeholder||"Select an option",T=e.map(z=>(typeof z=="string"&&(z={label:z,value:z}),C===z.value&&(b=z),z));i&&T.splice(0,0,{label:E,value:""});let I=(z,W)=>{y(z&&z.value,W,z)},D=(0,vA.useRef)(null),P=(0,vA.useRef)(null),[O,M]=(0,vA.useState)(!1),B=z=>{if(z.target===D.current){M(!0);return}z.target===P.current&&D.current.focus()},_=()=>{M(!1)},L=b?b.label:null,U=o.renderLabel?o.renderLabel(L,b):L;b||(U=E);let V=()=>iy.createElement(X,R(v({variant:"text",icon:"clear",tone:"none",tooltip:"Clear",iconSize:20,px:0,py:0,marginRight:1},u),{style:v({zIndex:10,color:"inherit"},u?u.style:null),onClick:z=>{z.preventDefault(),I(null,z)}}));return iy.createElement($De.Flex,R(v({ref:P,flexDirection:"row",alignItems:"center"},g),{className:Me(o.className,ny,b?`${ny}--not-empty`:`${ny}--empty`,O?`${ny}--focused`:`${ny}--not-focused`,s?`${ny}--disabled`:null),style:m,tabIndex:O?-1:o.tabIndex||0,onFocus:B,onBlur:_}),iy.createElement("div",{style:{display:"inline-block"},className:`${ny}__text`},U,iy.createElement(qDe,null)),iy.createElement("select",{ref:D,tabIndex:-1,disabled:s,value:C==null?"":C,onChange:z=>{let W=T.filter(ue=>ue.value==z.target.value)[0];I(W,z)},style:{opacity:0,width:"100%",height:"100%",top:0,left:0,zIndex:1},onMouseDown:x,name:r,multiple:t,autoFocus:n},T.map(z=>iy.createElement("option",{key:z.value,value:z.value},z.label))),a&&b?V():null)},XDe=cAt;var WT=require("react");var ay=w(re()),JDe=w(lR());var mAt=[{value:"abColDefString",label:"Text (string)"},{value:"abColDefNumber",label:"Number"},{value:"abColDefDate",label:"Date"},{value:"abColDefBoolean",label:"Boolean"}],ZDe={width:"100%",minWidth:80,textAlign:"start"},fAt=()=>{let[,o]=(0,WT.useState)(Date.now());return()=>{o(Date.now())}},hAt=_t.memo(o=>{let[e,t]=(0,WT.useState)(o.value),r=_t.useRef((0,JDe.default)(o.onChange,600,{leading:!1})),n=_t.useCallback(i=>{let a=i.target.value;t(a),r.current(a)},[]);return _t.useEffect(()=>{t(o.value)},[o.value]),_t.createElement(We,{style:o.style,value:e,onChange:n})}),gAt={style:{height:"100%",minWidth:"10rem",minHeight:600}},CAt=({columns:o,handle:e,onValidityChange:t,onChange:r,onSelectionChange:n,selectedColumns:i,theme:a})=>{let s=fAt(),l=(0,WT.useRef)(o),u=Le=>{l.current=Le,r==null||r(Le)},p=Le=>{u(Le),s()},c=()=>l.current,m=l.current,f=(Le,Ye,pt)=>{Le=R(v({},Le),{[pt]:Ye});let jo=c().map(Qn=>Qn.field===Le.field?Le:Qn);p(jo)},g=(Le,Ye)=>{let pt=c().map(jo=>R(v({},jo),{[Ye]:Le}));p(pt)},C=(Le,Ye)=>{let pt=c().map(jo=>jo.field===Ye?R(v({},jo),{caption:Le}):jo);p(pt)},y=(Le,Ye)=>{let pt=c().map(jo=>jo.field===Le.field?R(v({},jo),{type:Ye}):jo);p(pt)},[b,S]=_t.useState(m[0].field),{selected:A,isSelected:x,isAllSelected:E,isNoneSelected:T,selectColumn:I,deselectColumn:D,selectAll:P,deselectAll:O}=ry(m,i!=null?i:!0,null,{onChange:n});e.current={getColumns:()=>c().filter(Le=>x(Le.field)),getPrimaryKey:()=>b};let{isSelected:M,isAllSelected:B,isNoneSelected:_,selectColumn:L,deselectColumn:U,selectAll:V,deselectAll:j}=ry(m,!0,"sortable",{onBatchChange:Le=>{g(Le,"sortable")},onChange:(Le,Ye)=>{f(Le,Ye,"sortable")}}),{isSelected:z,isAllSelected:W,isNoneSelected:ue,selectColumn:pe,deselectColumn:ae,selectAll:ie,deselectAll:Ae}=ry(m,!0,"enableRowGroup",{onBatchChange:Le=>{g(Le,"enableRowGroup")},onChange:(Le,Ye)=>{f(Le,Ye,"enableRowGroup")}}),{isSelected:Be,isAllSelected:H,isNoneSelected:G,selectColumn:k,deselectColumn:q,selectAll:oe,deselectAll:se}=ry(m,!0,"resizable",{onBatchChange:Le=>{g(Le,"resizable")},onChange:(Le,Ye)=>{f(Le,Ye,"resizable")}}),{isSelected:$,isAllSelected:tt,isNoneSelected:ce,selectColumn:kt,deselectColumn:Bt,selectAll:oo,deselectAll:Kn}=ry(m,!0,"editable",{onBatchChange:Le=>{g(Le,"editable")},onChange:(Le,Ye)=>{f(Le,Ye,"editable")}}),{isSelected:si,isAllSelected:ea,isNoneSelected:xo,selectColumn:qt,deselectColumn:Oo,selectAll:Zo,deselectAll:Xe}=ry(m,!0,"filter",{onBatchChange:Le=>{g(Le,"filter")},onChange:(Le,Ye)=>{f(Le,Ye,"filter")}}),dt=E(),zo=T();_t.useEffect(()=>{t(x(b))},[A,b]);let Fo=40,xa=m,Yr=Le=>_t.createElement(ay.Flex,R(v({},Le),{style:R(v({},Le.style),{position:"absolute",textAlign:"center",top:0,left:0,height:"100%",width:"100%",whiteSpace:"normal"}),justifyContent:"center",alignItems:"center"}),Le.children),kr=Le=>_t.createElement(Yr,R(v({},Le),{fontSize:3,style:{fontWeight:600}})),Co=Le=>{let Ra=Le,{label:Ye,onChange:pt,checked:jo}=Ra,Qn=ze(Ra,["label","onChange","checked"]);return _t.createElement(kr,R(v({},Qn),{flexDirection:"column"}),_t.createElement(ay.Box,null,Ye),_t.createElement(ay.Box,{style:{textAlign:"center"}},_t.createElement(ye,{checked:jo,onChange:pt})))},Er={pk:{header:()=>_t.createElement(kr,null,"Primary Key"),maxWidth:80,sortable:!1,renderMenuIcon:!1,render:Le=>{let{data:Ye}=Le,pt=Ye,jo=(pt==null?void 0:pt.field)===b;return _t.createElement(_e,{checked:jo,onChange:Qn=>{Qn&&x(pt.field)&&S(pt.field)}})}},included:{maxWidth:80,resizable:!0,renderMenuIcon:!1,header:()=>_t.createElement(Co,{label:"Included",checked:dt?!0:zo?!1:null,onChange:Le=>{Le?P():O()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:x(Ye.field),onChange:pt=>{pt?I(Ye.field):D(Ye.field)}}))}},field:{header:_t.createElement(kr,null,"Field"),field:"field",minWidth:150,renderMenuIcon:!1,render:Le=>{let Ye=Le.data,pt=Ve.Humanize(Ye.field);return _t.createElement(ay.Box,{p:2},_t.createElement(hAt,{key:Ye.field,style:ZDe,value:Ye.caption!=null?Ye.caption:pt,placeholder:pt,onChange:jo=>{C(jo,Ye.field)}}))}},type:{header:_t.createElement(kr,null,"Type"),maxWidth:140,renderMenuIcon:!1,render:Le=>{var pt;let Ye=Le.data;return _t.createElement(Yr,{paddingLeft:1,paddingRight:1},_t.createElement(XDe,{style:ZDe,showClearButton:!1,options:mAt,value:(pt=Ye==null?void 0:Ye.type)!=null?pt:"",onChange:y.bind(null,Ye)}))}},sortable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Sortable",checked:B()?!0:_()?!1:null,onChange:Le=>{Le?V():j()}}),render:Le=>{let Ye=Le.data;return _t.createElement(ye,{checked:M(Ye.field),onChange:pt=>{pt?L(Ye.field):U(Ye.field)}})}},editable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Editable",checked:tt()?!0:ce()?!1:null,onChange:Le=>{Le?oo():Kn()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:$(Ye.field),onChange:pt=>{pt?kt(Ye.field):Bt(Ye.field)}}))}},resizable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Resizable",checked:H()?!0:G()?!1:null,onChange:Le=>{Le?oe():se()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:Be(Ye.field),onChange:pt=>{pt?k(Ye.field):q(Ye.field)}}))}},groupable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Groupable",checked:W()?!0:ue()?!1:null,onChange:Le=>{Le?ie():Ae()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:z(Ye.field),onChange:pt=>{pt?pe(Ye.field):ae(Ye.field)}}))}},filterable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Filterable",checked:ea()?!0:xo()?!1:null,onChange:Le=>{Le?Zo():Xe()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:si(Ye.field),onChange:pt=>{pt?qt(Ye.field):Oo(Ye.field)}}))}}};return _t.createElement(ay.Box,{p:2,style:{height:"100%"},className:a},_t.createElement(Wi,{data:xa,primaryKey:"colId"},_t.createElement(Hn,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},rowHeight:Fo,columnHeaderHeight:65,domProps:gAt,columns:Er})))};function yAt(){return!0}var eOe=_t.memo(CAt,yAt);var oOe=o=>{var t,r,n;let e="light";return typeof o.adaptableOptions.predefinedConfig=="object"&&((t=o.adaptableOptions.predefinedConfig.Theme)==null?void 0:t.CurrentTheme)&&(e=o.adaptableOptions.predefinedConfig.Theme.CurrentTheme),tOe.createElement(eOe,{theme:e,handle:o.columnsHandle,onValidityChange:i=>{o.setPrimaryKeyIsNotSelected(i)},selectedColumns:o.selectedColumns,onChange:o.onColumnChange,onSelectionChange:o.onSelectionChange,columns:(n=(r=o.adaptableOptions)==null?void 0:r.gridOptions)==null?void 0:n.columnDefs})};d();var Iu=w(require("react"));var rOe=w(re());var vAt=o=>{var r;let e=o.adaptableOptions,t=v(v({},mo.gridOptions),e.gridOptions);return Iu.createElement(rOe.Box,{p:2},Iu.createElement(Ot,null,"Grid Options"),Iu.createElement(Ie,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Iu.createElement(Z,{label:"Enable Range Selection"},Iu.createElement(ye,{checked:t.enableRangeSelection,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.enableRangeSelection=n,o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Show Quick Filter"},Iu.createElement(ye,{checked:(r=t.defaultColDef)==null?void 0:r.floatingFilter,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.defaultColDef={floatingFilter:n},o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Suppress Column Virtualisation"},Iu.createElement(ye,{checked:t.suppressColumnVirtualisation,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.suppressColumnVirtualisation=n,o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Show Column Menu Button"},Iu.createElement(ye,{checked:t.suppressMenuHide,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.suppressMenuHide=n,o.onChangeadAptableOptions(e)}}))))},nOe=vAt;d();var Nr=w(require("react"));var IV=w(re());var SAt=Twe,bAt={style:{height:"100%",minWidth:"10rem",minHeight:600}},AAt=o=>{var l,u,p;let e=o.adaptableOptions,t=(u=(l=e==null?void 0:e.entitlementOptions)==null?void 0:l.moduleEntitlements)!=null?u:[];if(typeof t=="function")return Nr.createElement(Ot,{mt:2},"Entitlements cannot be customized, they are handled by a custom function.");let r=Nr.useMemo(()=>t.reduce((c,m)=>(c[m.adaptableModule]=m.accessLevel,c),{}),[e==null?void 0:e.entitlementOptions]),n=Nr.useCallback((c,m)=>{let f=t;r[c]?f=f.map(g=>(g.adaptableModule===c&&(g.accessLevel=m),g)):f=[...f,{adaptableModule:c,accessLevel:m}],o.onChangeadAptableOptions(R(v({},e),{entitlementOptions:R(v({},e.entitlementOptions),{moduleEntitlements:f})}))},[e==null?void 0:e.entitlementOptions]);if(typeof t=="function")return Nr.createElement(Ot,{mb:2},"Entitlements cannot be customized, they are handled by a custom function.");let i={name:{header:"Module Name",align:"start",renderValue:c=>Nr.createElement(Nr.Fragment,null,c.data.name)},full:{header:"Full",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"Full"),checked:f==="Full"})}},readonly:{header:"Read Only",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"ReadOnly"),checked:f==="ReadOnly"})}},hidden:{header:"Hidden",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"Hidden"),checked:f==="Hidden"})}}},a=SAt.map(c=>({name:_le[c]})),s="light";return typeof o.adaptableOptions.predefinedConfig=="object"&&((p=o.adaptableOptions.predefinedConfig.Theme)==null?void 0:p.CurrentTheme)&&(s=o.adaptableOptions.predefinedConfig.Theme.CurrentTheme),Nr.createElement(IV.Box,{flex:1,height:"100%",className:s},Nr.createElement(Wi,{data:a,primaryKey:"name"},Nr.createElement(Hn,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},columnHeaderHeight:50,domProps:bAt,columns:i})))},xAt=o=>{var i,a;let e=o.adaptableOptions,t=(i=o.adaptableOptions)==null?void 0:i.entitlementOptions,r=t==null?void 0:t.defaultAccessLevel;if(typeof r=="function")return Nr.createElement(Ot,{mb:2},"Default Entitlement is controlled by a custom function");let n=Nr.useCallback(s=>{o.onChangeadAptableOptions(R(v({},e),{entitlementOptions:R(v({},e.entitlementOptions),{defaultAccessLevel:s})}))},[(a=e==null?void 0:e.entitlementOptions)==null?void 0:a.defaultAccessLevel]);return Nr.createElement(Ie,{mb:2},Nr.createElement(Z,{label:"Default Entitlement:"},Nr.createElement(_e,{onClick:()=>n("Full"),checked:r==="Full",mr:3},"Visible"),Nr.createElement(_e,{onClick:()=>n("ReadOnly"),checked:r==="ReadOnly",mr:3},"Read Only"),Nr.createElement(_e,{onClick:()=>n("Hidden"),checked:r==="Hidden"},"Hidden")))},RAt=o=>{let e=o.adaptableOptions;return Nr.createElement(IV.Flex,{height:"100%",flexDirection:"column",p:2},Nr.createElement(xAt,v({},o)),Nr.createElement(AAt,v({},o)))},iOe=RAt;d();var Du=w(require("react")),cOe=w(re());d();var zT=w(require("react")),DV=w(re());var aOe=o=>{var n,i,a,s;let e=[{value:"clone",label:"Clone"},{value:"create",label:"Create"},{value:"edit",label:"Edit"},{value:"delete",label:"Delete"}],t=Array.isArray((i=(n=o.abOptions)==null?void 0:n.actionOptions)==null?void 0:i.actionRowButtons)?(s=(a=o.abOptions)==null?void 0:a.actionOptions)==null?void 0:s.actionRowButtons:[],r=(l,u)=>{var c;let p=t;u?p=[...p,l]:p=p.filter(m=>m!==l),o.onChange(R(v({},o.abOptions),{actionOptions:R(v({},(c=o.abOptions)==null?void 0:c.actionOptions),{actionRowButtons:p})}))};return zT.createElement(DV.Box,null,zT.createElement(Ot,null,"Action Row Buttons"),zT.createElement(DV.Flex,{width:"100%",m:2},e.map(l=>zT.createElement(ye,{mr:3,key:l.value,checked:t.some(u=>u===l.value),onChange:u=>r(l.value,u)},l.label))))};d();var zc=w(require("react")),jT=w(re());var sOe=["columns","filters","adaptable"],wAt=o=>(o=o,typeof o=="boolean"&&(o={toolPanels:sOe}),typeof o=="string"&&(o={toolPanels:[o]}),Array.isArray(o)&&(o={toolPanels:o}),o!=null?o:{toolPanels:[]}),EAt=(o,e)=>{var t;return((t=o==null?void 0:o.toolPanels)!=null?t:[]).some(r=>(typeof r=="string"?r:r.id)===e)},lOe=o=>{var u;let{abOptions:e,onChange:t}=o,{gridOptions:r}=o.abOptions,n=wAt(r.sideBar),i=p=>zc.createElement(ye,{mr:3,key:p,checked:EAt(n,p),onChange:c=>a(p,c)},Ve.Humanize(p)),a=(p,c)=>{var C,y;let m=(C=n==null?void 0:n.toolPanels)!=null?C:[];c?m=[...m,p]:m=m.filter(b=>(typeof b=="string"?b:b.id)!==p);let f=(y=n.hiddenByDefault)!=null?y:!1;m.length===0&&(f=!0);let g=R(v({},e),{gridOptions:R(v({},e.gridOptions),{sideBar:R(v({},n),{toolPanels:m,hiddenByDefault:f})})});o.onChange(g)},s=(u=n==null?void 0:n.position)!=null?u:"right",l=p=>{let c=R(v({},e),{gridOptions:R(v({},e.gridOptions),{sideBar:R(v({},n),{position:p})})});o.onChange(c)};return zc.createElement(jT.Box,null,zc.createElement(Ot,null,"Tool Panels"),zc.createElement(jT.Box,{m:2},zc.createElement(jT.Flex,{mb:2},sOe.map(i)),zc.createElement(Ie,{columns:[{name:"label"},{name:"children"}]},zc.createElement(Z,{label:"Position"},zc.createElement(Fe,{columns:["label"],items:[{label:"Left",onClick:()=>l("left")},{label:"Right",onClick:()=>l("right")}]},s==="left"?"Left":"Right")))))};d();var Xi=w(require("react")),KT=w(re());d();var uOe=w(require("react")),dOe=w(re());var OV=o=>uOe.createElement(dOe.Box,R(v({},o),{padding:2,mb:2,className:Me("ab-NocodeWizardFormBox",o.className)}));var pOe=o=>{var A,x,E,T;let e=(E=(x=(A=o.abOptions.gridOptions)==null?void 0:A.statusBar)==null?void 0:x.statusPanels)!=null?E:[],t=(I,D)=>I.map(P=>{let O=e.find(M=>M.key===P||M.statusPanel===P);return O?R(v({},O),{align:D}):{statusPanel:P,align:D}}),r=e.filter(I=>!(I!=null&&I.align)||I.align==="left"),n=e.filter(I=>I.align==="center"),i=e.filter(I=>I.align==="right"),a=I=>{let D=t(I[0].Items,"left"),P=t(I[1].Items,"center"),O=t(I[2].Items,"right"),M=[...D,...P,...O];o.onChange(R(v({},o.abOptions),{gridOptions:R(v({},o.abOptions.gridOptions),{statusBar:R(v({},o.abOptions.gridOptions.statusBar),{statusPanels:M})})}))},s=!1,l=I=>{var D;return(D=I.key)!=null?D:I.statusPanel},u=[{Name:"Left",Items:r.map(l)},{Name:"Center",Items:n.map(l)},{Name:"Right",Items:i.map(l)}],c=[{Id:"agTotalRowCountComponent",Title:"Row Count"},{Id:"agTotalAndFilteredRowCountComponent",Title:"Totals and Filtered Row Count"},{Id:"agFilteredRowCountComponent",Title:"Filtered Row Count"},{Id:"agSelectedRowCountComponent",Title:"Selected Row Count"},{Id:"agAggregationComponent",Title:"Aggregation"}],[m,f]=Xi.useState(""),[g,C]=Xi.useState("left"),y=!e.some(I=>I.key===m),b=[{onClick:()=>C("left"),value:"left",label:"Left"},{onClick:()=>C("center"),value:"center",label:"Center"},{onClick:()=>C("right"),value:"right",label:"Right"}],S=()=>{let I={statusPanel:"AdaptableStatusPanel",align:g,key:m},D=[...e,I];f(""),C("left"),o.onChange(R(v({},o.abOptions),{gridOptions:R(v({},o.abOptions.gridOptions),{statusBar:R(v({},o.abOptions.gridOptions.statusBar),{statusPanels:D})})}))};return Xi.createElement(KT.Box,null,Xi.createElement(Ot,null,"Status Bar"),Xi.createElement(KT.Box,{p:2},Xi.createElement(OV,null,Xi.createElement(KT.Box,{as:"b"},"Create Adaptable Statusbar Panel"),Xi.createElement(Ie,{mt:2},Xi.createElement(Z,{label:"Panel Name"},Xi.createElement(We,{value:m,placehoder:"Adaptable Panel Name",onChange:I=>f(I.target.value)})),Xi.createElement(Z,{label:"Align"},Xi.createElement(Fe,{columns:["label"],items:b},(T=b.find(I=>I.value===g))==null?void 0:T.label)),Xi.createElement(Z,{label:""},Xi.createElement(X,{disabled:!y,onClick:S,icon:"plus",variant:"raised"},"Add"),!y&&Xi.createElement(KT.Box,{mt:2,color:"var(--ab-color-error)"},"Adaptable panel name must be unique.")))),Xi.createElement(dA,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:a,disabled:s,tabs:u,availableItems:c,tabsTitle:"Status Bar Panels",unusedPanelTitle:"Ag Grid Status Bar Panels",dragItemText:"Drag into a Status Bar Panel below"})))};var mOe=o=>{let e=o.adaptableOptions;return Du.createElement(cOe.Box,{p:2},Du.createElement(K,null,Du.createElement(K.Tab,null,"Tool Panel"),Du.createElement(K.Tab,null,"Status Bar"),Du.createElement(K.Tab,null,"Action Rows"),Du.createElement(K.Content,null,Du.createElement(lOe,{abOptions:e,onChange:o.onChangeadAptableOptions})),Du.createElement(K.Content,null,Du.createElement(pOe,{abOptions:e,onChange:o.onChangeadAptableOptions}))," ",Du.createElement(K.Content,null,Du.createElement(aOe,{abOptions:e,onChange:o.onChangeadAptableOptions}))))};d();d();var $e=w(require("react")),pn=w(re());var MY=o=>$e.createElement(Fe,R(v({},o),{width:"100%",columns:["label"]})),NY=o=>$e.createElement(pn.Box,v({color:"var(--ab-color-error)"},o)),YT={instrumentColumns:{fields:[{label:"Ticker",id:"tickerColumnId"},{label:"ISIN",id:"isinColumnId"},{label:"CUSIP",id:"cusipColumnId"},{label:"SEDOL",id:"sedolColumnId"},{label:"RIC",id:"ricColumnId"},{label:"BBG",id:"bbgColumnId"},{label:"PERMID",id:"permidColumnId"},{label:"FIGI",id:"figiColumnId"}],intents:["ViewChart","ViewQuote","ViewNews","ViewAnalysis","ViewInstrument"]},positionColumns:{fields:[{label:"Instrument",id:"instrumentColumnId",required:!0}],intents:["ViewChart","ViewNews","ViewAnalysis"]},contactColumns:{fields:[{label:"Email",id:"emailColumnId"},{label:"FDS_ID",id:"fds_idColumnId"}],intents:["StartCall","StartChat","ViewContact"]},countryColumns:{fields:[{label:"ISOALPHA2",id:"isoalpha2ColumnId"},{label:"ISOALPHA3",id:"isoalpha3ColumnId"}],intents:["ViewChart"]},organizationColumns:{fields:[{label:"LEI",id:"leiColumnId"},{label:"PERM ID",id:"permidColumnId"},{label:"FDS ID",id:"fds_idColumnId"}],intents:["ViewNews","ViewAnalysis"]}},_Y=o=>{let e=$e.useMemo(()=>o.columnOptions.map(t=>R(v({},t),{onClick:()=>o.onChange(t.value)})),[o.onChange]);return $e.createElement(Z,{label:$e.createElement($e.Fragment,null,o.label," ",o.required&&$e.createElement(NY,{as:"span"},"*")," ")},$e.createElement(MY,{items:e},Ve.Humanize(o.value)||"Select Column"))},TAt=o=>{let e=YT.instrumentColumns.fields;return $e.createElement(pn.Flex,null,$e.createElement(Ie,{mr:2},e.slice(0,4).map(t=>{var r;return $e.createElement(_Y,R(v({},t),{key:t.id,value:(r=o.column[t.id])!=null?r:"Select Column",onChange:n=>o.onColumnFieldChange(t.id,n),columnOptions:o.columnOptions}))})),$e.createElement(Ie,null,e.slice(4).map(t=>{var r;return $e.createElement(_Y,R(v({},t),{key:t.id,value:(r=o.column[t.id])!=null?r:"Select Column",onChange:n=>o.onColumnFieldChange(t.id,n),columnOptions:o.columnOptions}))})),$e.createElement(pn.Flex,{ml:3,flexDirection:"column"},YT.instrumentColumns.intents.map(t=>{var r,n;return $e.createElement(ye,{checked:(n=(r=o.column.intents)==null?void 0:r.includes)==null?void 0:n.call(r,t),onClick:()=>o.onIntentToggle(t),key:t},t)})))},PAt=o=>{let e=YT[o.fdc3ColumnType].fields,t=YT[o.fdc3ColumnType].intents;return $e.createElement(pn.Flex,null,$e.createElement(Ie,null,e.map(r=>{var n,i;return $e.createElement(_Y,R(v({},r),{key:r.id,columnOptions:o.columnOptions,onChange:a=>o.onColumnFieldChange(r.id,a),value:(i=(n=o.column)==null?void 0:n[r.id])!=null?i:""}))}),$e.createElement(Z,{label:""},$e.createElement(pn.Flex,{flexDirection:"column"},t.map(r=>{var n,i;return $e.createElement(ye,{checked:((i=(n=o.column)==null?void 0:n.intents)!=null?i:[]).includes(r),onClick:()=>o.onIntentToggle(r),key:r},r)})))))},fOe=o=>{var s,l,u,p,c,m,f,g;let e=$e.useCallback((C,y)=>{o.onChange(R(v({},o.fdc3Column),{[C]:y}))},[o.fdc3Column,o.onChange]),t=$e.useCallback(C=>{var b;let y=v({},o.fdc3Column);y.intents=(b=y.intents)!=null?b:[],y.intents.includes(C)?y.intents=y.intents.filter(S=>S!==C):y.intents.push(C),o.onChange(y)},[o.fdc3Column]),r=$e.useMemo(()=>o.columnOptions.map(C=>R(v({},C),{onClick:()=>{o.onChange(R(v({},o.fdc3Column),{columnId:C.value}))}})),[o.fdc3Column]),n=$e.useCallback(C=>{var y;o.onChange(R(v({},o.fdc3Column),{nameColumnId:(y=C.target.value)!=null?y:""}))},[o.fdc3Column]),i=$e.useCallback(()=>{var C;o.onChange(R(v({},o.fdc3Column),{showBroadcastContextMenu:!((C=o.fdc3Column)!=null&&C.showBroadcastContextMenu)}))},[o.fdc3Column]),a=$e.useCallback(C=>{var y;o.onChange(R(v({},o.fdc3Column),{broadcastContextMenuLabel:(y=C.target.value)!=null?y:""}))},[o.fdc3Column]);return $e.createElement(OV,null,$e.createElement(pn.Flex,{flexWrap:"wrap"},$e.createElement(Ie,{mr:3,mb:3},o.beforeContent,$e.createElement(Z,{label:$e.createElement($e.Fragment,null,"Column ",$e.createElement(NY,{as:"span"},"*")," ")},$e.createElement(MY,{disabled:o.disabled,items:r},(l=(s=r.find(C=>{var y;return C.value===((y=o.fdc3Column)==null?void 0:y.columnId)}))==null?void 0:s.label)!=null?l:"Select Column")),$e.createElement(Z,{label:"FDC3 Name"},$e.createElement(We,{disabled:o.disabled,onChange:n,value:(p=(u=o.fdc3Column)==null?void 0:u.nameColumnId)!=null?p:""})),$e.createElement(Z,{label:""},$e.createElement(ye,{disabled:o.disabled,checked:Boolean((c=o.fdc3Column)==null?void 0:c.showBroadcastContextMenu),onChange:i},"Show Broadcast ",$e.createElement("br",null)," Context Menu")),$e.createElement(Z,{label:"Broadcast Label"},$e.createElement(We,{disabled:o.disabled||!Boolean((m=o.fdc3Column)==null?void 0:m.showBroadcastContextMenu),onChange:a,value:typeof((f=o.fdc3Column)==null?void 0:f.broadcastContextMenuLabel)=="string"?(g=o.fdc3Column)==null?void 0:g.broadcastContextMenuLabel:""}))),$e.createElement(pn.Box,{flex:1},o.fdc3ColumnType==="instrumentColumns"?$e.createElement(TAt,{onIntentToggle:t,onColumnFieldChange:(...C)=>e(...C),column:o.fdc3Column,columnOptions:o.columnOptions}):o.fdc3ColumnType&&$e.createElement(PAt,{onColumnFieldChange:(...C)=>e(...C),onIntentToggle:t,column:o.fdc3Column,fdc3ColumnType:o.fdc3ColumnType,columnOptions:o.columnOptions}))),o.footer)},IAt=o=>$e.createElement(fOe,{columnOptions:o.columnOptions,fdc3Column:o.fdc3Column,fdc3ColumnType:o.fdc3ColumnType,onChange:o.onChange,footer:o.footer}),DAt=o=>{var p,c;let[e,t]=$e.useState(),[r,n]=$e.useState(),i=$e.useCallback(()=>{o.onNew(r,e),t(null),n(null)},[e]),a=$e.useMemo(()=>[{label:"Instrument",columnField:"instrumentColumns"},{label:"Position",columnField:"positionColumns"},{label:"Contact",columnField:"contactColumns"},{label:"Country",columnField:"countryColumns"},{label:"Organization",columnField:"organizationColumns"}].map(m=>R(v({},m),{onClick:()=>{n(m.columnField),t({columnId:""})}})),[]),s=$e.createElement(Z,{label:"FDC3 Type"},$e.createElement(MY,{items:a},(c=(p=a.find(m=>m.columnField===r))==null?void 0:p.label)!=null?c:"Select Column")),l=!r,u=[];return e&&!e.columnId&&u.push("Column is required."),e&&YT[r].fields.forEach(f=>{f.required&&!e[f.id]&&u.push(`${f.label} is required.`)}),$e.createElement(fOe,{disabled:l,columnOptions:o.columnOptions,fdc3Column:e,fdc3ColumnType:r,onChange:m=>t(m),beforeContent:s,footer:$e.createElement(pn.Flex,null,$e.createElement(pn.Box,{flex:1}),$e.createElement(pn.Flex,{alignItems:"center",mr:3},u.slice(0,1).map(m=>$e.createElement(NY,{key:m,ml:2},m))),$e.createElement(X,{disabled:l||!e.columnId,onClick:i,icon:"plus",variant:"raised"},"Add FDC3 Column"))})},QT=o=>$e.createElement(pn.Box,R(v({},o),{mb:2}),$e.createElement(Ot,null,o.children)),LY=o=>{var s,l,u,p,c,m,f,g,C,y,b,S,A;let e=(p=(u=(l=(s=o.adaptableOptions)==null?void 0:s.gridOptions)==null?void 0:l.columnDefs)==null?void 0:u.map)==null?void 0:p.call(u,x=>{var E;return{label:Ve.Humanize((E=x.headerName)!=null?E:x.field),value:x.field}}),t=(m=(c=o.adaptableOptions)==null?void 0:c.plugins)==null?void 0:m.find(x=>x.pluginId==="finance"),r=(f=t==null?void 0:t.options)!=null?f:{},n=(g=r==null?void 0:r.fdc3Columns)!=null?g:{},i=(x,E)=>{var T;r.fdc3Columns=(T=r.fdc3Columns)!=null?T:{},r.fdc3Columns[x]=E,o.onChangeadAptableOptions(R(v({},o.adaptableOptions),{plugins:[...o.adaptableOptions.plugins]}))},a=(x,E)=>E.map((T,I)=>$e.createElement(pn.Box,{key:I,mb:3},$e.createElement(IAt,{columnOptions:e,fdc3Column:T,fdc3ColumnType:x,onChange:D=>{let P=E.map((O,M)=>M===I?D:O);i(x,P)},footer:$e.createElement(pn.Flex,null,$e.createElement(pn.Box,{flex:1}),$e.createElement(X,{onClick:()=>{let D=E.filter((P,O)=>O!==I);i(x,D)},tone:"error",variant:"raised",icon:"delete"},"Delete"))})));return $e.createElement(pn.Box,{p:2,className:"ab-FinanceForm"},$e.createElement(pn.Box,{mb:3},$e.createElement(Ot,{mb:3},"Create FDC3 Column"),$e.createElement(DAt,{columnOptions:e,onNew:(x,E)=>{var T;i(x,[...(T=n[x])!=null?T:[],E])}})),Boolean((C=n.instrumentColumns)==null?void 0:C.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Instrument Columns"),a("instrumentColumns",n.instrumentColumns)),Boolean((y=n.positionColumns)==null?void 0:y.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Position Columns"),a("positionColumns",n.positionColumns)),Boolean((b=n.contactColumns)==null?void 0:b.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Contact Columns"),a("contactColumns",n.contactColumns)),Boolean((S=n.countryColumns)==null?void 0:S.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Country Columns"),a("countryColumns",n.countryColumns)),Boolean((A=n.organizationColumns)==null?void 0:A.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Organization Columns"),a("organizationColumns",n.organizationColumns)))};d();var tn=w(require("react")),rh=w(re());d();d();var hOe={AccessLevel:{name:"AccessLevel",kind:"A",desc:"Defines Access Level for an Entitlement - can be `ReadOnly`, `Hidden` or `Full`"},ActionColumn:{name:"ActionColumn",kind:"I",desc:"A Special Column that wraps an AdapTable Button",props:[{name:"actionColumnButton",kind:"u",desc:"Button (or list of buttons) to display in the Column"},{name:"actionColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",isOpt:!0,ref:"ActionColumnSettings"},{name:"columnId",kind:"s",desc:"Mandatory 'Id'; if no value set for `FriendlyName`, this will also be Column name"},{name:"friendlyName",kind:"s",desc:"How Column appears in Column Header, Menus; if no value set, `ColumnId` is used",isOpt:!0},{name:"includeGroupedRows",kind:"b",desc:"Shows Action Column also in grouped rows",isOpt:!0}]},ActionColumnContext:{name:"ActionColumnContext",kind:"I",desc:"Context required by functions when using an Action Column Button",props:[{name:"actionColumn",kind:"u",desc:"Action Column in question"},{name:"data",kind:"u",desc:"The current row's data"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid Row Node"}]},ActionColumnSettings:{name:"ActionColumnSettings",kind:"I",desc:"Set of optional properties that define an Action Columns behaviour",props:[{name:"resizable",kind:"b",desc:"Whether Column can be resized (by dragging column header edges)",isOpt:!0,defVal:"true"},{name:"suppressMenu",kind:"b",desc:"Whether no menu should be shown for this Column header.",isOpt:!0,defVal:"false"},{name:"suppressMovable",kind:"b",desc:"Whether if this Column should be movable via dragging",isOpt:!0,defVal:"false"},{name:"width",kind:"n",desc:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",isOpt:!0}]},ActionHandler:{name:"ActionHandler",kind:"A",desc:"Handles a Form Button Action"},ActionOptions:{name:"ActionOptions",kind:"I",desc:"Options related to Action Columns and Buttons in Adaptable.",props:[{name:"actionColumns",kind:"u",desc:"Columns which contain an AdapTable Button - used for performing Actions",isOpt:!0,defVal:"undefined"},{name:"actionRowButtonOptions",kind:"u",desc:"Additional options for managing Action Row Buttons",isOpt:!0,defVal:"undefined"},{name:"actionRowButtons",kind:"u",desc:"Action buttons to display for each row",isOpt:!0,defVal:"undefined"}]},ActionRowButtonConfigurationContext:{name:"ActionRowButtonConfigurationContext",kind:"I",desc:"Context used when adding custom configuration for Action Row Buttons",props:[{name:"actionRowButtonType",kind:"R",desc:"Type of Action Row Button: 'create', 'clone', 'edit' or 'delete'",ref:"ActionRowButtonType"}]},ActionRowButtonOptions:{name:"ActionRowButtonOptions",kind:"I",desc:"Options for managing the Buttons in Action Rows",props:[{name:"actionRowFormOptions",kind:"u",desc:"Options for managing the Form which the Action Row displays",isOpt:!0,defVal:"undefined"},{name:"autoHandle",kind:"b",desc:"If true, Action Row Buttons will be handled by AdapTable and the grid data model will be automatically updated with the created/edited/deleted rows",isOpt:!0,defVal:"true"},{name:"customConfiguration",kind:"u",desc:"Optional configuration that merges with built-in action row button and overrides default configuration",isOpt:!0,defVal:"undefined"},{name:"position",kind:"'pinnedLeft' | 'pinnedRight'",desc:"Action Row Buttons position: 'pinnedLeft' | 'pinnedRight",isOpt:!0,defVal:"'pinnedLeft'"},{name:"setPrimaryKeyValue",kind:"u",desc:"Function called when auto-handling 'create' Action Row Button; returned row value should have a valid(unique) primary key value",isOpt:!0,defVal:"undefined"}]},ActionRowButtonsContext:{name:"ActionRowButtonsContext",kind:"I",desc:"Context passed to Action Row Buttons"},ActionRowButtonType:{name:"ActionRowButtonType",kind:"A",desc:"Type of Action Row Button: 'create' | 'clone' | 'edit' | 'delete'"},ActionRowFormContext:{name:"ActionRowFormContext",kind:"A",desc:"Context passed into a Row Form - can be `CreateActionRowContext` or `EditActionRowContext`"},ActionRowFormOptions:{name:"ActionRowFormOptions",kind:"I",desc:"Options for Form displayed when Action Row Button is clicked",props:[{name:"formButtons",kind:"u",desc:"Custom form buttons provider. If provided, the custom implementation is responsible for firing the 'ActionRowSubmitted' and/or invoking the 'onFormSubmit' callback (if necessary).",isOpt:!0},{name:"formDescription",kind:"u",desc:"Custom form description provider",isOpt:!0,defVal:"undefined"},{name:"formFieldLabel",kind:"u",desc:"Custom form field label provider",isOpt:!0,defVal:"undefined"},{name:"formTitle",kind:"u",desc:"Custom form title provider",isOpt:!0,defVal:"'Create New Row'/'Edit Row'"},{name:"onFormSubmit",kind:"u",desc:"Function invoked when the form in an Action Row is submitted via a standard button (provided by AdapTable). This is not invoked when custom form buttons are provided!",isOpt:!0,defVal:"undefined"}]},ActionRowParamContext:{name:"ActionRowParamContext",kind:"I",desc:"Context used for overriding Title and Description of Action Row Form"},ActionRowParamFieldContext:{name:"ActionRowParamFieldContext",kind:"I",desc:"Context used for overriding Field elements in Action Row Form"},AdaptableAggregatedBooleanQuery:{name:"AdaptableAggregatedBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Boolean Expression"},AdaptableAggregatedScalarQuery:{name:"AdaptableAggregatedScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Scalar Expression"},AdaptableAlert:{name:"AdaptableAlert",kind:"A",desc:"Defines an Alert fired by AdapTable"},AdaptableAlertAction:{name:"AdaptableAlertAction",kind:"A",desc:"Actions available in an Alert"},AdaptableAlertBase:{name:"AdaptableAlertBase",kind:"I",desc:"Defines the base(common) properties of an Alert fired by AdapTable, regardless of the type of change",props:[{name:"alertDefinition",kind:"R",desc:"Rule that caused Alert to fire",ref:"AlertDefinition"},{name:"alertType",kind:"u",desc:"The type of Alert"},{name:"header",kind:"s",desc:"Alert Header text"},{name:"message",kind:"s",desc:"Alert Body text"}]},AdaptableAlertQuery:{name:"AdaptableAlertQuery",kind:"A",desc:"Alert Query which may be either a Boolean, Observable or AggregatedBoolean Expression"},AdaptableAlertType:{name:"AdaptableAlertType",kind:"A",desc:"Type of AdapTable Alert: generic, cellChange or rowChange"},AdaptableBaseIcon:{name:"AdaptableBaseIcon",kind:"I",desc:"Base interface for AdaptableIcon",props:[{name:"className",kind:"s",desc:"The class name of the icon",isOpt:!0},{name:"style",kind:"R",desc:"CSS Properties",isOpt:!0,ref:"unknown"}]},AdaptableBooleanQuery:{name:"AdaptableBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Boolean Expression"},AdaptableButton:{name:"AdaptableButton",kind:"I",desc:"Defines a Button that appears in numerous places including Adaptable Form",props:[{name:"buttonStyle",kind:"u",desc:"Style for Button - can be object or function that provides a `ButtonStyle` object",isOpt:!0},{name:"disabled",kind:"u",desc:"Function that disables / enables the button based on its evaluation result",isOpt:!0},{name:"hidden",kind:"u",desc:"Function which sets whether Button is hidden",isOpt:!0},{name:"icon",kind:"u",desc:"Icon for Button - can be object or function that provides a `AdaptableIcon` object",isOpt:!0},{name:"label",kind:"u",desc:"Label for Button - can be string or function that provides string",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when button is clicked",isOpt:!0},{name:"tooltip",kind:"u",desc:"Tooltip for Button - can be string or function that provides string",isOpt:!0}]},AdaptableCalculatedColumnQuery:{name:"AdaptableCalculatedColumnQuery",kind:"A",desc:"Calculated Column Query which may be a Scalar or an AggregatedScalar Expression"},AdaptableCellChangedAlert:{name:"AdaptableCellChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a cell is changed",props:[{name:"cellDataChangedInfo",kind:"u",desc:"Cell DataChange which triggered Alert"}]},AdaptableClearStateFunction:{name:"AdaptableClearStateFunction",kind:"I",desc:"Allows clearing state when a custom persistState is used. Only called by configApi.reloadPredefinedConfig"},AdaptableColumn:{name:"AdaptableColumn",kind:"I",desc:"Defines an Adaptable Column - created at run-time based on AG Grid ColDef",props:[{name:"aggregatable",kind:"b",desc:"Is Column able to display aggregations (e.g. 'sum') when grouped"},{name:"aggregationFunction",kind:"s",desc:"Custom Aggregation function for the Column",isOpt:!0},{name:"availableAggregationFunctions",kind:"a",desc:"Available Aggregations for the Column",isOpt:!0},{name:"columnGroup",kind:"R",desc:"The parent Column group (if Column belongs to one)",isOpt:!0,ref:"unknown"},{name:"exportable",kind:"b",desc:"Whether the Column can be included in Reports"},{name:"field",kind:"u",desc:"Field in the row to get cell data from",isOpt:!0},{name:"filterable",kind:"b",desc:"Is Column able to be filtered"},{name:"flex",kind:"n",desc:"Flex details of the Column",isOpt:!0},{name:"groupable",kind:"b",desc:"Can Column form a Row Group"},{name:"hideable",kind:"b",desc:"Can Column be removed from the grid"},{name:"isExcludedFromQuickSearch",kind:"b",desc:"Has colummn been excluded from Quick Search results"},{name:"isFixed",kind:"b",desc:"Is Column pinned or locked into position"},{name:"isGrouped",kind:"b",desc:"Is Column currently Row-Grouped"},{name:"isPrimaryKey",kind:"b",desc:"Is this the Primary Key Column"},{name:"isSparkline",kind:"b",desc:"Is it a Sparkline Column"},{name:"moveable",kind:"b",desc:"Can Column be moved at run-time to a new position"},{name:"pinned",kind:"'left' | 'right' | false",desc:"The pinned position of the Column"},{name:"pivotable",kind:"b",desc:"Can Column be used in a Pivot Grid"},{name:"queryable",kind:"b",desc:"Can the Column be in included in Queries / Expressions"},{name:"readOnly",kind:"b",desc:"Is Column editable; returns FALSE if Column has conditional/dynamic editability, assuming some rows are editable"},{name:"sortable",kind:"b",desc:"Is Column sortable"},{name:"visible",kind:"b",desc:"Is Column currently visible"},{name:"width",kind:"n",desc:"Column width",isOpt:!0}]},AdaptableColumnBase:{name:"AdaptableColumnBase",kind:"I",desc:"Base class for Adaptable Column containing most important properties",props:[{name:"columnId",kind:"s",desc:"Name of Column in AG Grid (e.g. field or colId)"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"friendlyName",kind:"s",desc:"How Column is referred to in Adaptable UI; `Caption` property in AG Grid"}]},AdaptableColumnDataType:{name:"AdaptableColumnDataType",kind:"A",desc:"Type of data stored in an Adaptable Column"},AdaptableColumnType:{name:"AdaptableColumnType",kind:"A",desc:"Column Types recognised by AdapTable; to be set in GridOptions"},AdaptableComparerFunction:{name:"AdaptableComparerFunction",kind:"A",desc:"Standard comparer function used to evaluate custom sorts, returns -1, 0, 1 as required"},AdaptableCoordinate:{name:"AdaptableCoordinate",kind:"I",desc:"Used by AdapTable to remember position of Floating Dashboard",props:[{name:"x",kind:"n",desc:"x axis number"},{name:"y",kind:"n",desc:"y axis number"}]},AdaptableDashboardToolbar:{name:"AdaptableDashboardToolbar",kind:"A",desc:"List of all the Toolbars that Adaptable provides"},AdaptableDataChangeHistoryAction:{name:"AdaptableDataChangeHistoryAction",kind:"A",desc:"Built in `undo` data change action"},AdaptableElementIcon:{name:"AdaptableElementIcon",kind:"I",desc:"Defines an icon as a provided DOM element or HTML string",props:[{name:"element",kind:"u",desc:"The icon to display, either a DOM element or HTML string"}]},AdaptableExternalIcon:{name:"AdaptableExternalIcon",kind:"I",desc:"Defines an icon from an external source",props:[{name:"src",kind:"s",desc:"The URL of the icon to use"}]},AdaptableFDC3EventInfo:{name:"AdaptableFDC3EventInfo",kind:"I",desc:"EventInfo returned by `FDC3MessageSent` event",props:[{name:"context",kind:"R",desc:"Full FDC3 Context for the object related to the event",ref:"FDC3Context"},{name:"eventType",kind:"'RaiseIntent' | 'RaiseIntentForContext' | 'BroadcastMessage'",desc:"Type of Event: `RaiseIntent`, `RaiseIntentForContext` or `BroadcastMessage`"},{name:"intent",kind:"u",desc:"The FDC3 Intent which caused Event to fire (if type is `RaiseIntent`)",isOpt:!0}]},AdaptableFlashingCell:{name:"AdaptableFlashingCell",kind:"I",desc:"Defines an Alert fired by AdapTable",props:[{name:"cellDataChangedInfo",kind:"R",desc:"Data change which triggered the FlashingCell",isOpt:!0,ref:"CellDataChangedInfo"},{name:"direction",kind:"'up' | 'down' | 'neutral'",desc:"Direction of the change: 'up', 'down' or 'neutral'"},{name:"flashColumnIds",kind:"u",desc:"Column Ids that are flashing"},{name:"flashingCellDefinition",kind:"R",desc:"Rule that caused the FlashingCell to fire",ref:"FlashingCellDefinition"},{name:"flashTarget",kind:"u",desc:"What will flash (e.g. Cell, Row)"},{name:"rowPrimaryKey",kind:"s",desc:"Primary Key Value of Row which is flashing"}]},AdaptableForm:{name:"AdaptableForm",kind:"I",desc:"Defines a form which appears dynamically; used by Alerts & Export Custom Destinations",props:[{name:"buttons",kind:"a",desc:"Buttons to include in the Form",isOpt:!0},{name:"description",kind:"s",desc:"Additional information to appear in the Form",isOpt:!0},{name:"fields",kind:"u",desc:"Collection of Dynamic Fields to display",isOpt:!0},{name:"title",kind:"s",desc:"Title to appear in the Form",isOpt:!0}]},AdaptableFormat:{name:"AdaptableFormat",kind:"A",desc:"Object containing formatting information for Numeric and Date Columns"},AdaptableFormData:{name:"AdaptableFormData",kind:"A",desc:"Data which appears in an AdapTable Form"},AdaptableFormField:{name:"AdaptableFormField",kind:"I",desc:"Defines a Field that appears in an Adaptable Form",props:[{name:"defaultValue",kind:"string | boolean | number",desc:"Field Default Value - can be of type string, boolean, number",isOpt:!0},{name:"fieldType",kind:"R",desc:"Field Type: text, date, number, checkbox, select, textOutput",ref:"AdaptableFormFieldType"},{name:"label",kind:"s",desc:"Label to display in the Field"},{name:"name",kind:"s",desc:"Name of the Field"},{name:"options",kind:"u",desc:"Items to populate the Select input",isOpt:!0}]},AdaptableFormFieldType:{name:"AdaptableFormFieldType",kind:"A",desc:"Types of Controls used in an AdapTable Form"},AdaptableFrameworkComponent:{name:"AdaptableFrameworkComponent",kind:"A",desc:"Base Component for Bespoke Components - Can be Angular or React"},AdaptableGenericAlert:{name:"AdaptableGenericAlert",kind:"I",desc:"Defines a generic AdapTable Alert"},AdaptableIcon:{name:"AdaptableIcon",kind:"A",desc:"Defines an icon to be used in AdapTable (e.g. in Dashboard Header, Buttons, Menu, etc.)"},AdaptableInternalIcon:{name:"AdaptableInternalIcon",kind:"I",desc:"Defines an icon from the internal AdapTable icon set",props:[{name:"name",kind:"R",desc:"The name of the icon to use (referencing the AdapTable Icon Library)",ref:"AdaptableInternalIconName"},{name:"size",kind:"n",desc:"The size (in pixels) of the SVG icon (defaults to `17px`)",isOpt:!0}]},AdaptableInternalIconName:{name:"AdaptableInternalIconName",kind:"A",desc:"All AdapTable internal icon names"},AdaptableLoadStateFunction:{name:"AdaptableLoadStateFunction",kind:"I",desc:"Allows customization of state loading - used by `loadState` function in StateOptions"},AdaptableMenuItem:{name:"AdaptableMenuItem",kind:"I",desc:"Menu item used by Adaptable in both Column and Context Menus",props:[{name:"icon",kind:"R",desc:"Icon to display in Menu Item",isOpt:!0,ref:"AdaptableIcon"},{name:"isVisible",kind:"b",desc:"Whether menu item is visible"},{name:"label",kind:"s",desc:"Name that appears in the menu"},{name:"module",kind:"u",desc:"Adaptable Module associated with (Adaptable) menu item.",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when (custom) menu item is clicked",isOpt:!0},{name:"reduxAction",kind:"R",desc:"Adaptable Redux Action to invoke when (Adaptable) menu item is clicked",isOpt:!0,ref:"unknown"},{name:"subItems",kind:"a",desc:"Sub Menu Items to display",isOpt:!0}]},AdaptableMessageType:{name:"AdaptableMessageType",kind:"A",desc:"Defines a Message Types: 'Success', 'Info', 'Warning' or 'Error'"},AdaptableModule:{name:"AdaptableModule",kind:"A",desc:"Modules provided by AdapTable, subject to Entitlements and usually have Predefined Config"},AdaptableModuleButton:{name:"AdaptableModuleButton",kind:"A",desc:"List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button"},AdaptableObject:{name:"AdaptableObject",kind:"I",desc:"Base interface which all other Adaptable State-related objects extend",props:[{name:"IsReadOnly",kind:"b",desc:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')",isOpt:!0},{name:"Source",kind:"'Config' | 'User'",desc:"Source of state object: 'Config' if provided via `AdaptableOptions.predefinedConfig`, 'User' or undefined for runtime state.",isOpt:!0},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object; often used for (but not limited to) managing Layout object scope",isOpt:!0},{name:"Uuid",kind:"R",desc:"Unique identifier for the Adaptable Object, generated and used internally by AdapTable",isOpt:!0,ref:"unknown"}]},AdaptableObjectLookupCriteria:{name:"AdaptableObjectLookupCriteria",kind:"I",desc:"Lookup criteria for finding specific AdaptableObjects. All given criteria will be composed with an AND operator.",props:[{name:"ids",kind:"u",desc:"Technical IDs of Adaptable Objects",isOpt:!0},{name:"scope",kind:"R",desc:"AdaptableScope",isOpt:!0,ref:"AdaptableScope"},{name:"tag",kind:"R",desc:"AdaptableObjectTag",isOpt:!0,ref:"AdaptableObjectTag"}]},AdaptableObjectTag:{name:"AdaptableObjectTag",kind:"A",desc:"AdaptableObjectTag Object Tag - currently supporting only plain string values, but open for future extensions, if ever needed."},AdaptableObservableQuery:{name:"AdaptableObservableQuery",kind:"I",desc:"Wraps an AdapTableQL Observable Expression"},AdaptableOptions:{name:"AdaptableOptions",kind:"I",desc:"Group of property options enabling developers to set up AdapTable at design time to fit precise requirements - provides AG Grid, Predefined Config and other information required to ensure a full, rich user experience",props:[{name:"actionOptions",kind:"u",desc:"Options for managing Action Columns and Action Rows",isOpt:!0},{name:"adaptableId",kind:"s",desc:"Identifier for this instance of AdapTable",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"'adaptable_id'"},{name:"adaptableQLOptions",kind:"u",desc:"Options for managing AdapTableQL",isOpt:!0,noCode:"container"},{name:"adaptableStateKey",kind:"s",desc:"Identifier used as localStorage persistence key for AdaptableState",isOpt:!0,gridInfo:"item",defVal:"`adaptableId` value"},{name:"alertOptions",kind:"u",desc:"Options for managing Alerts in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"autogeneratePrimaryKey",kind:"b",desc:"Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"chartingOptions",kind:"R",desc:"Options for managing AG Grid's Charting",isOpt:!0,noCode:"container",ref:"ChartingOptions"},{name:"columnOptions",kind:"R",desc:"Options related to Columns",isOpt:!0,noCode:"container",ref:"ColumnOptions"},{name:"containerOptions",kind:"R",desc:"Options for setting the 'Div' elements in which AdapTable, AG Grid, popups are placed",isOpt:!0,ref:"ContainerOptions"},{name:"dashboardOptions",kind:"R",desc:"Options for managing the Dashboard in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"DashboardOptions"},{name:"dataChangeHistoryOptions",kind:"u",desc:"Options to manage Data Change History Module which provides an overview of all data changes",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"editOptions",kind:"u",desc:"Options related to Editing in AdapTable including Server Validation",isOpt:!0,gridInfo:"container"},{name:"entitlementOptions",kind:"R",desc:"Options for managing Entitlements",isOpt:!0,gridInfo:"container",ref:"EntitlementOptions"},{name:"exportOptions",kind:"R",desc:"Options for managing Exporting and Reports in AdapTable",isOpt:!0,gridInfo:"container",ref:"ExportOptions"},{name:"filterOptions",kind:"u",desc:"Options for managing Filtering in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"flashingCellOptions",kind:"R",desc:"Options for managing Flashing Cells - primarily default values",isOpt:!0,gridInfo:"container",ref:"FlashingCellOptions"},{name:"generalOptions",kind:"u",desc:"General options to manage AdapTable e.g. grouping behaviour, Primary Keys",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"gridOptions",kind:"u",desc:"The AG Grid object which AdapTable interacts with. Note: if using AdapTable React or AdapTable Angular, no need to populate this property as AdapTable wires it up differently",isOpt:!0},{name:"layoutOptions",kind:"R",desc:"Options related to Layouts",isOpt:!0,gridInfo:"container",noCode:"container",ref:"LayoutOptions"},{name:"licenseKey",kind:"s",desc:"Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.",isOpt:!0},{name:"menuOptions",kind:"u",desc:"Options for managing AdapTable menus",isOpt:!0,gridInfo:"container"},{name:"notificationsOptions",kind:"R",desc:"Options for managing Notifications in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"NotificationsOptions"},{name:"plugins",kind:"a",desc:"Used for managing the AdapTable Plugins",isOpt:!0},{name:"predefinedConfig",kind:"u",desc:"User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config",isOpt:!0,defVal:"undefined"},{name:"primaryKey",kind:"u",desc:"Name of Column in AdapTable guaranteed to contain unique values",gridInfo:"item",defVal:"n/a (Mandatory)"},{name:"searchOptions",kind:"u",desc:"Options for managing Search related functions in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"settingsPanelOptions",kind:"R",desc:"Setting panel options",isOpt:!0,gridInfo:"container",noCode:"container",ref:"SettingsPanelOptions"},{name:"stateOptions",kind:"R",desc:"Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behaviour of saving to local storage",isOpt:!0,ref:"StateOptions"},{name:"teamSharingOptions",kind:"R",desc:"Options for managing 'Team Sharing' which allows users to create Adaptable Objects and share with colleagues",isOpt:!0,gridInfo:"container",ref:"TeamSharingOptions"},{name:"toolPanelOptions",kind:"R",desc:"Options related to managing the Tool Panel elements in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"ToolPanelOptions"},{name:"userInterfaceOptions",kind:"u",desc:"Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.",isOpt:!0,gridInfo:"container"},{name:"userName",kind:"s",desc:"Name of current AdapTable user",isOpt:!0,gridInfo:"item",defVal:"'anonymous'"}]},AdaptablePersistentState:{name:"AdaptablePersistentState",kind:"I",desc:"The state object of Adaptable which is persisted"},AdaptablePersistStateFunction:{name:"AdaptablePersistStateFunction",kind:"I",desc:"Allows customization of state persistence - used `persistState` function in StateOptions"},AdaptablePlugin:{name:"AdaptablePlugin",kind:"C",desc:"Base class for all AdapTable Plugins"},AdaptablePredicate:{name:"AdaptablePredicate",kind:"I",desc:"Predicate object used by AdapTableQL - essentially a boolean function",props:[{name:"Inputs",kind:"a",desc:"Optional Inputs that might be needed for evaluation",isOpt:!0},{name:"PredicateId",kind:"s",desc:"Id of Predicate (e.g. `Equals`, `GreaterThan`)"}]},AdaptablePredicateDef:{name:"AdaptablePredicateDef",kind:"I",desc:"Defines a Predicate - include where it can run and what it does",props:[{name:"columnScope",kind:"R",desc:"Columns (or DataTypes) where Predicate is active",ref:"AdaptableScope"},{name:"handler",kind:"f",desc:"Actual boolean function invoked when evaluating the Predicate"},{name:"icon",kind:"u",desc:"Icon to show (primarily used in Filter dropdown)",isOpt:!0},{name:"id",kind:"s",desc:"Unique Id for the object"},{name:"inputs",kind:"a",desc:"Inputs the Predicate can take",isOpt:!0},{name:"label",kind:"s",desc:"Name of the Predicate"},{name:"moduleScope",kind:"a",desc:"Modules where the Predicate can run"},{name:"onlyQuickFilter",kind:"b",desc:"Display this predicate only in Quick Filter Bar (and NOT in Filter Form)",isOpt:!0},{name:"shortcuts",kind:"a",desc:"Keyboard shortcuts to initiate predicate - used in Quick Filter bar",isOpt:!0},{name:"toString",kind:"f",desc:"String representation of the Predicate",isOpt:!0}]},AdaptableQLModule:{name:"AdaptableQLModule",kind:"A",desc:"Modules which leverage AdapTableQL; can be used to set remote evaluation"},AdaptableQLOptions:{name:"AdaptableQLOptions",kind:"I",desc:"Options for managing AdapTableQL - the Adaptable Query Language which evaluates Predicates and Expressions",props:[{name:"caseSensitiveTextComparisons",kind:"b",desc:"Perform case-sensitive text comparisons when evaluating Predicates and Expressions",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customPredicateDefs",kind:"a",desc:"Definitions for Custom provided Predicates",isOpt:!0},{name:"displayColumnFriendlyNamesForExpressions",kind:"b",desc:"Reference a Column's Header (FriendlyName) in all Expression overviews (instead of ColumnId)",isOpt:!0,noCode:"item",defVal:"true"},{name:"evaluateAdaptableQLExternally",kind:"u",desc:"Whether a Module (or a specific expression) should be evaluated by AdapTableQL",isOpt:!0,defVal:"All Modules are evaluated by AdapTable"},{name:"expressionOptions",kind:"R",desc:"Options for managing Expressions in AdapTableQL",isOpt:!0,ref:"ExpressionOptions"},{name:"predicateOptions",kind:"R",desc:"Options for managing Predicates in AdapTableQL",isOpt:!0,ref:"PredicateOptions"}]},AdaptableQuery:{name:"AdaptableQuery",kind:"A",desc:"An AdaptableQuery can be either a Boolean, Scalar, Observable, AggregatedBoolean, or AggregatedScalar expression"},AdaptableReportColumn:{name:"AdaptableReportColumn",kind:"I",desc:"Column which is included in a Report",props:[{name:"columnId",kind:"s",desc:"ColumnID"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"field",kind:"s",desc:"Field name to get the value from the row data (defaults to `columnId`)",isOpt:!0},{name:"friendlyName",kind:"s",desc:"Column Header"}]},AdaptableRowChangedAlert:{name:"AdaptableRowChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a row is changed",props:[{name:"gridDataChangedInfo",kind:"u",desc:"Row DataChange which triggered Alert"}]},AdaptableSaveStateFunction:{name:"AdaptableSaveStateFunction",kind:"I",desc:"Allows the customization state persistence - used by `saveState` function in StateOptions"},AdaptableScalarQuery:{name:"AdaptableScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Scalar Expression"},AdaptableScope:{name:"AdaptableScope",kind:"A",desc:"Defines where a given Object / Module is active"},AdaptableSettingsPanel:{name:"AdaptableSettingsPanel",kind:"A",desc:"Modules which can appear in the Settings Panel"},AdaptableSharedEntity:{name:"AdaptableSharedEntity",kind:"I",desc:"Defines an AdaptableObject shared with Team Sharing",props:[{name:"ChangedAt",kind:"n",desc:"Last time when the object was changed"},{name:"ChangedBy",kind:"s",desc:"Last User who changed the object"},{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Entity",kind:"R",desc:"Actual Adaptable Object being shared",ref:"AdaptableObject"},{name:"EntityDependencyIds",kind:"a",desc:"Ids of direct entity dependencies"},{name:"EntityType",kind:"u",desc:"Type of shared entity (either Adaptable specific or custom object)"},{name:"Module",kind:"R",desc:"Adaptable Module to which object belongs",ref:"AdaptableModule"},{name:"Revision",kind:"n",desc:"Revision - incremental for 'Active', always 1 for 'Snapshot'"},{name:"Timestamp",kind:"n",desc:"When the object was shared"},{name:"Type",kind:"R",desc:"'Snapshot' (for 1-time sharing) or 'Active' (for continuous sharing between local state & Team Share)",ref:"SharedEntityType"},{name:"UserName",kind:"s",desc:"User who shared the object"}]},AdaptableSharedEntityConfig:{name:"AdaptableSharedEntityConfig",kind:"I",desc:"Describes an AdaptableObject which is being Team Shared"},AdaptableState:{name:"AdaptableState",kind:"I",desc:"The main state object of Adaptable"},AdaptableStateFunctionConfig:{name:"AdaptableStateFunctionConfig",kind:"I",desc:"State Function Config object passed into all State Options functions (except 'applyState')",props:[{name:"adaptableId",kind:"s",desc:"Id of current Adaptable instance"},{name:"adaptableStateKey",kind:"s",desc:"State Key being used"},{name:"userName",kind:"s",desc:"current Adaptable user"}]},AdaptableStatusBar:{name:"AdaptableStatusBar",kind:"I",desc:"Defines an Adaptable Status Bar",props:[{name:"Key",kind:"s",desc:"Key of Status Bar Panel defined in AG Grid GridOptions - ensure keys are the same (Note: AG Grid statusPanel has a lowercase 'key')"},{name:"StatusBarPanels",kind:"a",desc:"Module Status Panels to render inside Adaptable Status Bar",isOpt:!0}]},AdaptableStatusBarPanel:{name:"AdaptableStatusBarPanel",kind:"A",desc:"Modules which can appear in the AdapTable Status Bar"},AdaptableStyle:{name:"AdaptableStyle",kind:"I",desc:"Style object used in numerous AdapTable Modules",props:[{name:"BackColor",kind:"s",desc:"Colour background of cell: hex, rgb(a) or name",isOpt:!0},{name:"BorderColor",kind:"s",desc:"Colour of cell border: hex, rgb(a) or name",isOpt:!0},{name:"ClassName",kind:"s",desc:"Existing CSS Class; use instead of setting other object properties",isOpt:!0},{name:"FontSize",kind:"'XSmall' | 'Small' | 'Medium' | 'Large' | 'XLarge'",desc:"Size of font: `XSmall`, `Small`, `Medium`, `Large` or `XLarge`",isOpt:!0},{name:"FontStyle",kind:"'Normal' | 'Italic'",desc:"Style of font: `Normal` or `Italic`",isOpt:!0},{name:"FontWeight",kind:"'Normal' | 'Bold'",desc:"Weight of font: `Normal` or `Bold`",isOpt:!0},{name:"ForeColor",kind:"s",desc:"Font colour in cell: hex, rgb(a) or name",isOpt:!0}]},AdaptableTheme:{name:"AdaptableTheme",kind:"I",desc:"Used for creating User (i.e. Custom) Themes",props:[{name:"AgGridClassName",kind:"s",desc:"Ag Grid theme to apply when loading theme",isOpt:!0},{name:"CSSVariables",kind:"u",desc:"Variables to be applied at runtime",isOpt:!0},{name:"Description",kind:"s",desc:"Description of Theme - will appear in Theme Toolbar and Toolpanel"},{name:"Name",kind:"s",desc:"Name of the Theme"}]},AdaptableToolPanel:{name:"AdaptableToolPanel",kind:"A",desc:"Modules which can appear as AdapTable Tool Panels"},AdaptableToolPanelDefinition:{name:"AdaptableToolPanelDefinition",kind:"I",desc:"Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)",props:[{name:"Name",kind:"u",desc:"ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)"},{name:"VisibilityMode",kind:"'expanded' | 'collapsed'",desc:"Whether the ToolPanel is 'expanded' or 'collapsed'",isOpt:!0,defVal:"'collapsed'"}]},AlertButton:{name:"AlertButton",kind:"I",desc:"Defines a button that appears in an Alert Form",props:[{name:"Action",kind:"u",desc:"Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options",isOpt:!0},{name:"ButtonStyle",kind:"R",desc:"Style for the Button",isOpt:!0,ref:"ButtonStyle"},{name:"Label",kind:"s",desc:"Label to show in the Button"},{name:"Tooltip",kind:"s",desc:"ToolTip to display",isOpt:!0}]},AlertDefinition:{name:"AlertDefinition",kind:"I",desc:"The Alert Definition object used in the Alert function",props:[{name:"AlertForm",kind:"u",desc:"Form to display in Alert with buttons and inputs",isOpt:!0},{name:"AlertProperties",kind:"R",desc:"Series of properties which set what happens when Alert is triggered",isOpt:!0,ref:"AlertProperties"},{name:"MessageHeader",kind:"s",desc:"The Alert Title Message to display",isOpt:!0},{name:"MessageText",kind:"s",desc:"Alert Message; if not provided AdapTable creates dynamically using Rule & Scope (Note: can be provided as a function in AlertOptions)",isOpt:!0},{name:"MessageType",kind:"R",desc:"Type of Alert: 'Info', 'Success', 'Warning', 'Error'; influences Alert colour, icon and logging",ref:"AdaptableMessageType"},{name:"Rule",kind:"R",desc:"When Alert should be triggered",ref:"AlertRule"},{name:"Scope",kind:"R",desc:"Where Alert can be triggered: one, some or all columns or DataTypes",ref:"AdaptableScope"}]},AlertForm:{name:"AlertForm",kind:"A",desc:"Form to show in an Alert"},AlertFormContext:{name:"AlertFormContext",kind:"I",desc:"Context required by functions when using an Alert Button",props:[{name:"alert",kind:"u",desc:"Alert that has been triggered"}]},AlertMessageContext:{name:"AlertMessageContext",kind:"I",desc:"Context used for creating bespoke Alert messages",props:[{name:"alertDefinition",kind:"R",desc:"Current Alert Definition",ref:"AlertDefinition"},{name:"cellDataChangedInfo",kind:"u",desc:"Cell Data change that might have triggered the Alert",isOpt:!0},{name:"gridDataChangedInfo",kind:"u",desc:"Grid Data change that might have triggered the Alert (i.e. RowAdded / RowRemoved)",isOpt:!0}]},AlertOptions:{name:"AlertOptions",kind:"I",desc:"Options related to Alerts in Adaptable.",props:[{name:"actionHandlers",kind:"u",desc:"Custom onClick Handlers for Buttons (displayed in Alert Forms)",isOpt:!0},{name:"alertForms",kind:"u",desc:"Full definitions of Alert Forms - the names of which are provided in Alert State",isOpt:!0},{name:"alertMessageHeader",kind:"u",desc:"Function providing Header to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"alertMessageText",kind:"u",desc:"Function providing Message to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"cellHighlightDuration",kind:"n",desc:"How long (in ms) a Cell will be highlighted when an Alert fires",isOpt:!0,gridInfo:"item",defVal:"2000"},{name:"dataChangeDetectionPolicy",kind:"'rawValue' | 'formattedValue'",desc:"Whether Alert rule is evaluated against the `rawValue` or `formattedValue` of the changed cell data",isOpt:!0,gridInfo:"item",defVal:"'rawValue'"},{name:"maxAlertsInStore",kind:"n",desc:"How many alerts held in State at any one time; when limit is breached, oldest alert will be removed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"20"},{name:"rowHighlightDuration",kind:"n",desc:"How long (in ms) a Row will be highlighted when an Alert Fires",isOpt:!0,gridInfo:"item",defVal:"4000"},{name:"statusbarHighlightDuration",kind:"n",desc:"How long (in ms) Alert panel in Status Bar highlights when an Alert Fires",isOpt:!0,defVal:"2000"}]},AlertProperties:{name:"AlertProperties",kind:"I",desc:"Additional properties that specify how a particular Alert will ALWAYS behave",props:[{name:"DisplayNotification",kind:"b",desc:"Displays a notification when Alert is triggered",isOpt:!0},{name:"HighlightCell",kind:"u",desc:"Colours updated cell using `MessageType` property of triggering Alert Definition",isOpt:!0},{name:"HighlightRow",kind:"u",desc:"Colours updated cell using `MessageType` property of triggering Alert Definition",isOpt:!0},{name:"JumpToCell",kind:"b",desc:"Grid will 'jump' to the changed cell which triggered the Alert",isOpt:!0},{name:"JumpToRow",kind:"b",desc:"Grid will 'jump' to the newly added row which triggered the Alert",isOpt:!0},{name:"LogToConsole",kind:"b",desc:"Logs the Alert message to the console",isOpt:!0},{name:"NotificationDuration",kind:"u",desc:"Notifiction duration, it defaults to NotificationOptions.duration",isOpt:!0},{name:"PreventEdit",kind:"b",desc:"Automatically prevent any cell edit which triggered the Alert (i.e. validation)",isOpt:!0,defVal:"false"},{name:"ShowInDiv",kind:"b",desc:"Shows Alert text in the div specificed in `alertContainer` property of Container Options",isOpt:!0}]},AlertRule:{name:"AlertRule",kind:"A",desc:"The Alert Rule defined by either an AdaptablePredicate or an AdaptableQuery"},AlertState:{name:"AlertState",kind:"I",desc:"Predefined Configuration for Alert Module",props:[{name:"AlertDefinitions",kind:"a",desc:"Alert Definitions - will trigger Alerts when rule is met",isOpt:!0}]},AlternativeModuleName:{name:"AlternativeModuleName",kind:"I",desc:"Defines a new name for an Adaptable Module (e.g. change Dashboard to Grid Manager)",props:[{name:"adaptableModule",kind:"R",desc:"Adaptable Module to rename",ref:"AdaptableModule"},{name:"newName",kind:"s",desc:"New name to use"}]},AngularFrameworkComponent:{name:"AngularFrameworkComponent",kind:"A",desc:"Angular component defined by its type and (optional) initialisation callback"},ApplicationDataEntry:{name:"ApplicationDataEntry",kind:"I",desc:"Simple Key / Value pair object used to store custom - stringifiable - data in Adaptable State.",props:[{name:"Key",kind:"s",desc:"Key of Key / Value pair - always stored as a string"},{name:"Value",kind:"u",desc:"Value of Key / Value pair (actual data being stored) - needs to stringifiable"}]},ApplicationState:{name:"ApplicationState",kind:"I",desc:"Predefined Configuration for the Application Module",props:[{name:"ApplicationDataEntries",kind:"a",desc:"Array of Key / Value pairs enabling custom data to be stored in Adaptable State.",isOpt:!0}]},AutoGenerateTagsForLayoutsContext:{name:"AutoGenerateTagsForLayoutsContext",kind:"I",desc:"Context for `LayoutOptions.autoGenerateTagsForLayouts` method",props:[{name:"layouts",kind:"a",desc:"Layouts currently in Adaptable State"},{name:"objectTags",kind:"a",desc:"Object Tags provided in User Interface Options"}]},BaseContext:{name:"BaseContext",kind:"I",desc:"Base Context used in many functions provided by developers and invoked as needed by AdapTable",props:[{name:"adaptableApi",kind:"R",desc:"The Adaptable Api - included as a convenience",ref:"unknown"}]},BulkUpdatePermittedValues:{name:"BulkUpdatePermittedValues",kind:"I",desc:"User to define permitted values when updating cells via bulk update",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Bulk Update Wizard - can be async"}]},BulkUpdatePermittedValuesContext:{name:"BulkUpdatePermittedValuesContext",kind:"I",desc:"Context used when getting BulkUpdatePermittedValues via a function",props:[{name:"gridCells",kind:"u",desc:"Cells which will be modified in the Bulk Update"}]},ButtonStyle:{name:"ButtonStyle",kind:"I",desc:"Defines the look and feel of an Adaptable Button",props:[{name:"className",kind:"s",desc:"CSS Classname to use for the Button",isOpt:!0},{name:"tone",kind:"'success' | 'error' | 'neutral' | 'none' | 'warning' | 'info' | 'accent'",desc:"Button's Tone - values: 'success', 'error', 'neutral', 'none', 'warning', 'info', 'accent'",isOpt:!0,defVal:"'neutral'"},{name:"variant",kind:"'text' | 'outlined' | 'raised'",desc:"How Button appears - values: 'text', 'outlined', 'raised'",isOpt:!0,defVal:"'outlined'"}]},CalculatedColumn:{name:"CalculatedColumn",kind:"I",desc:"Defines a Column where the display value is derived from other values in row, and the definition is stored in State.",props:[{name:"CalculatedColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",ref:"CalculatedColumnSettings"},{name:"ColumnId",kind:"s",desc:"Name of Calculated Column"},{name:"FriendlyName",kind:"s",desc:"Name to be used in Column Header; if blank `ColumnId` is used",isOpt:!0},{name:"Query",kind:"R",desc:"Scalar/AggregatedScalar Query used by AdapTableQL to evaluate Column's value",ref:"AdaptableCalculatedColumnQuery"}]},CalculatedColumnSettings:{name:"CalculatedColumnSettings",kind:"I",desc:"Set properties that define Calculated Column's behaviour (all optional except DataType)",props:[{name:"ShowToolTip",kind:"b",desc:"Show underlying Expression as ToolTip when hovering over a cell",isOpt:!0,defVal:"false"}]},CalculatedColumnState:{name:"CalculatedColumnState",kind:"I",desc:"Predefined Configuration for Calculated Column Module",props:[{name:"CalculatedColumns",kind:"a",desc:"Collection of Calculated Columns",isOpt:!0}]},CellColorRange:{name:"CellColorRange",kind:"I",desc:"Defines which Colours to show in Gradient and Percent Bar Styles",props:[{name:"Color",kind:"s",desc:"Cell colour to use for values that fall inside Range"},{name:"Max",kind:"number | 'Col-Max'",desc:"End number of Range"},{name:"Min",kind:"number | 'Col-Min'",desc:"Start number of Range"},{name:"ReverseGradient",kind:"b",desc:"Reverses the Gradient so the lower the cell value the darker the colour",isOpt:!0}]},CellDataChangedInfo:{name:"CellDataChangedInfo",kind:"I",desc:"Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",props:[{name:"changedAt",kind:"n",desc:"Timestamp of change occurrence (in milliseconds)"},{name:"column",kind:"u",desc:"Column in which cell is situated"},{name:"newValue",kind:"u",desc:"New value for the cell"},{name:"oldValue",kind:"u",desc:"Value in the Cell before the edit"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Column's value for the row where edited cell is situated"},{name:"rowData",kind:"u",desc:"Data in the Row",isOpt:!0},{name:"rowNode",kind:"u",desc:"AG Grid RowNode that contains the cell",isOpt:!0},{name:"trigger",kind:"'edit' | 'tick' | 'undo' | 'aggChange'",desc:"What triggered the change - user, background change or a reverted change?",isOpt:!0}]},CellHighlightInfo:{name:"CellHighlightInfo",kind:"I",desc:"Defines how a given Cell in AdapTable should be highlighted",props:[{name:"columnId",kind:"s",desc:"Id of Column containing Cell"},{name:"highlightStyle",kind:"R",desc:"Adaptable Style to use in the Cell Highlight",ref:"AdaptableStyle"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value of row containing Cell"},{name:"timeout",kind:"n",desc:"Time after which Cell should be unhighlighted",isOpt:!0}]},CellSummaryOperation:{name:"CellSummaryOperation",kind:"I",desc:"Defines a Custom Cell Summary operation provided by a user",props:[{name:"operationFunction",kind:"u",desc:"Function to run when a summary result is required"},{name:"operationName",kind:"s",desc:"Name of the Operation - will be displayed in the Cell Summary components"}]},CellSummaryOperationContext:{name:"CellSummaryOperationContext",kind:"I",desc:"Context provided to a custom Cell Summary Operation function",props:[{name:"allValues",kind:"a",desc:"All values of selected cells"},{name:"distinctCount",kind:"n",desc:"Count of currently selected cells"},{name:"numericColumns",kind:"a",desc:"Any numeric columns in current selection"},{name:"numericValues",kind:"a",desc:"Any numeric values in current selection"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells"}]},CellSummmary:{name:"CellSummmary",kind:"I",desc:"Defines the Summary operations provides for Selected Cells"},CellTextOption:{name:"CellTextOption",kind:"A",desc:"Text optionally to show in a Special Column Style special style: 'CellValue' or 'PercentageValue'"},CellTextOptions:{name:"CellTextOptions",kind:"A",desc:"Array of CellTextOption available in Special Column Styles"},ChartContainer:{name:"ChartContainer",kind:"I",desc:"Describes Location to display an AG Grid Chart",props:[{name:"chartsDisplay",kind:"'single' | 'multiple'",desc:"Whether one or more Charts can be displayed in same location",isOpt:!0,defVal:"'single'"},{name:"element",kind:"u",desc:"Location - can be HTMLElement or CSS Selector"},{name:"name",kind:"s",desc:"Name of the Location - used in Dropdowns"}]},ChartDefinition:{name:"ChartDefinition",kind:"I",desc:"Wraps an AG Grid Chart Model",props:[{name:"Model",kind:"R",desc:"AG Grid Chart Model",ref:"unknown"},{name:"Name",kind:"s",desc:"Name of the Chart"}]},ChartingAggFunc:{name:"ChartingAggFunc",kind:"A",desc:"Aggregation function used in the Chart"},ChartingOptions:{name:"ChartingOptions",kind:"I",desc:"Options for managing AG Grid's Charts",props:[{name:"agGridContainerName",kind:"s",desc:"Name of AG Grid Chart Container",isOpt:!0,defVal:"'AG Grid Window'"},{name:"chartContainers",kind:"a",desc:"Locations to display saved Charts",isOpt:!0},{name:"saveStrategy",kind:"'auto' | 'manual' | 'none'",desc:"Behaviour for saving Charts: automatic, manual (via popup) or none",isOpt:!0,noCode:"item",defVal:"'none'"}]},ChartingState:{name:"ChartingState",kind:"I",desc:"Persists AG Grid Charts in Adaptable State",props:[{name:"ChartDefinitions",kind:"a",desc:"Wrappers around AG Grid Chart Models",isOpt:!0}]},ColumnComparison:{name:"ColumnComparison",kind:"I",desc:"Enables a Percent Bar or Gradient Style to use another column in its calculations",props:[{name:"Color",kind:"s",desc:"Colour to use for the Comparison"},{name:"MaxValue",kind:"number | string",desc:"End value - either numeric or Column name"},{name:"MinValue",kind:"number | string",desc:"Start value - either numeric or Column name"}]},ColumnFilter:{name:"ColumnFilter",kind:"I",desc:"Defines a Filter applied on a Column using a Predicate",props:[{name:"ColumnId",kind:"s",desc:"Column where Filter should be applied"},{name:"Predicate",kind:"R",desc:"`AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run",ref:"ColumnFilterPredicate"}]},ColumnFilterDef:{name:"ColumnFilterDef",kind:"I",desc:"Column Filter Definition for a specific Column"},ColumnFilterPredicate:{name:"ColumnFilterPredicate",kind:"I",desc:"A Predicate used in Column Filtering"},ColumnFriendlyNameContext:{name:"ColumnFriendlyNameContext",kind:"I",desc:"Context used when setting a Column Friendly Name",props:[{name:"agColumn",kind:"R",desc:"AG Grid ColDef for the Column",ref:"unknown"},{name:"colId",kind:"s",desc:"Id of the Column"}]},ColumnMenuContext:{name:"ColumnMenuContext",kind:"I",desc:"Provides full details about the Column in which the Column Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Group"}]},ColumnOptions:{name:"ColumnOptions",kind:"I",desc:"Options related to managing Columns in Adaptable.",props:[{name:"autoOrderGroupedColumns",kind:"b",desc:"Order Grouped Column automatically, deriving from Adaptable State if available (CustomSort or Layout ColumnSort)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"columnFriendlyName",kind:"f",desc:"Provide an alternative Friendly Name for a Column",isOpt:!0,defVal:"undefined"},{name:"columnTypes",kind:"a",desc:"Optional list of Column Types - used primarily for Calculated and FreeText Columns",isOpt:!0,defVal:"undefined"},{name:"hideColumnWhenGrouped",kind:"b",desc:"",isOpt:!0},{name:"showMissingColumnsWarning",kind:"b",desc:"Show warning if AdapTable cannot find a column",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},ColumnSort:{name:"ColumnSort",kind:"I",desc:"Defines how a Column is sorted",props:[{name:"ColumnId",kind:"s",desc:"Id of Column being sorted"},{name:"SortOrder",kind:"'Asc' | 'Desc'",desc:"How Column is sorted - either 'Asc' or 'Desc'"}]},ColumnValuesComparer:{name:"ColumnValuesComparer",kind:"I",desc:"Comparer object for Column Values - used for custom sorting",props:[{name:"comparer",kind:"u",desc:"Comparer function to use"},{name:"scope",kind:"R",desc:"Column for which to compare values",ref:"AdaptableScope"}]},ConfigState:{name:"ConfigState",kind:"I",desc:"Base Interface for all Adaptable State objects; contains`Revision` property, used for versioning",props:[{name:"Revision",kind:`number | {
|
|
539
|
+
`).map(function(m,f){return Dn.createElement(ty.Text,{key:f,margin:2},m,Dn.createElement("br",null))})),Dn.createElement(ty.Box,{pl:2},Dn.createElement(ye,{checked:t,onChange:()=>{r(!t)}},"Do not show this again")),o.showInputBox&&Dn.createElement(ty.Box,{padding:2,"data-name":"body"},Dn.createElement("p",null,"Please enter a comment to confirm"),Dn.createElement(We,{marginTop:2,width:"100%",value:n,type:"string",placeholder:"Enter text",onChange:m=>p(m)})),Dn.createElement(ty.Flex,{marginTop:3,padding:2,"data-name":"footer"},Dn.createElement(X,{tone:"error","data-name":"delete",variant:"raised",disabled:!c(),onClick:()=>u()},o.confirmButtonText),Dn.createElement("div",{style:{flex:1}}),Dn.createElement(X,{"data-name":"cancel",tone:"neutral",variant:"raised",onClick:()=>l()},o.cancelButtonText))))):Dn.createElement(Dn.Fragment,null)};d();var oy=w(require("react"));var LDe=w(re()),EV=class extends oy.Component{render(){return oy.createElement(oi,{modal:!0,isOpen:this.props.showLoadingScreen,onDismiss:this.props.onClose,showCloseButton:!1,style:{minHeight:"auto"}},oy.createElement(LDe.Box,{padding:3},oy.createElement("h4",null,"Initialising Grid"),oy.createElement("p",null,"Retrieving your settings and setting up the grid...")))}};d();var TV=w(require("react"));var kDe=w(Tw());var $i=(o,e)=>TV.createElement(wE,{store:e.adaptableStore.TheStore},TV.createElement(kDe.ThemeProvider,{theme:mb},TV.createElement(kCe.Provider,{value:e},o)));d();d();var th=w(require("react"));d();var Wc=w(require("react"));var VDe=o=>Wc.createElement("svg",v({width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o),Wc.createElement("path",{d:"M0 8C0 3.58172 3.58172 0 8 0H12.6699V12.6H0V8Z",fill:"#004C79"}),Wc.createElement("path",{d:"M16.165 0H36.9999C41.4182 0 45 3.58172 45 8V12.6H16.165V0Z",fill:"#004C79"}),Wc.createElement("path",{d:"M0 32.4H28.8349V45H8C3.58173 45 0 41.4183 0 37V32.4Z",fill:"#004C79"}),Wc.createElement("path",{d:"M32.3301 32.4H45V37C45 41.4183 41.4182 45 37 45H32.3301V32.4Z",fill:"#004C79"}),Wc.createElement("rect",{x:"32.3301",y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}),Wc.createElement("rect",{x:"16.165",y:"16.2001",width:"12.6699",height:"12.6",fill:"#00CAF2"}),Wc.createElement("rect",{y:"16.2001",width:"12.6699",height:"12.6",fill:"#004C79"}));var BDe=w(re()),eh={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},oAt=o=>{let e=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(let[t,r]of e)if(o.style[t]===r)return!1;return!0},DY=o=>{let e=th.useRef(null);return th.useEffect(()=>{let r=setInterval(()=>{var n,i;(n=e.current)!=null&&n.isConnected||alert("It is not allowed to remove the Adaptable watermark."),oAt(e.current)||alert("It is not allowed to modify the Adaptable watermark."),(i=e==null?void 0:e.current)!=null&&i.style&&(e.current.style.border=eh.border,e.current.style.padding=eh.padding,e.current.style.fontWeight=`${eh.fontWeight}`,e.current.style.margin=eh.margin,e.current.style.fontSize=eh.fontSize,e.current.style.color=eh.color,e.current.style.background=eh.background,e.current.style.display="flex",e.current.style.position="static",e.current.style.opacity="1",e.current.style.visibility="visible")},5e3);return()=>clearTimeout(r)},[]),th.createElement(BDe.Flex,{style:eh,ref:e},th.createElement(VDe,{style:{marginRight:10}}),th.createElement("div",null,o.children))};d();var oh=w(require("react"));var UT=require("react");var GDe=()=>{let{active:o,label:e}=Dt(u=>u.System.ProgressIndicator),[t,r]=(0,UT.useState)(!1),[n,i]=(0,UT.useState)({top:0,left:0,height:0,width:0}),a=ne(),s=(u,p)=>{let c="ab-wait-for-progress-indicator";!u||(p?u.classList.add(c):u.classList.remove(c))},l=u=>{if(!u)return;let{top:p,left:c,height:m,width:f}=u.getBoundingClientRect();i({top:p,left:c,height:m,width:f})};return(0,UT.useEffect)(()=>{s(a.getAdaptableContainerElement(),o),s(a.getAgGridContainerElement(),o),l(a.getAdaptableContainerElement()),requestAnimationFrame(()=>{r(o)})},[o]),oh.createElement(oh.Fragment,null,o&&oh.createElement("div",{className:`ab-progress-indicator-wrapper ${t?"ab-progress-indicator-wrapper--visible":""}`,style:n},oh.createElement("div",{className:"ab-progress-indicator-body"},oh.createElement(hk,null),oh.createElement("span",{style:{marginLeft:"var(--ab-space-2)"}},e))))};d();var Id=w(require("react"));var rAt=()=>Id.createElement(Id.Fragment,null),HDe=()=>{let[o,e]=Id.useState({}),t=ne(),r=at(),n=Dt(i=>i.Popup.WindowPopup.PopupList);return Id.createElement(Id.Fragment,null,n==null?void 0:n.map(i=>{var m,f,C,y,b,S;let a=(m=DRe[i.FactoryId])!=null?m:rAt,g=(f=i==null?void 0:i.PopupProps)!=null?f:{},{windowModalProps:s}=g,l=ze(g,["windowModalProps"]),u=()=>{r(gae(i.Id))},p=(y=(C=o==null?void 0:o[i.Id])==null?void 0:C.size)!=null?y:vDe(),c=(S=(b=o==null?void 0:o[i.Id])==null?void 0:b.position)!=null?S:AV(p);return Id.createElement(oi,{"data-name":i.Id,style:{height:"100%"},className:"ab-Window-Modal",key:i.Id,windowModal:!0,windowModalProps:R(v({},s),{onChange:A=>{e(x=>R(v({},x),{[i.Id]:A}))},handleSelector:".ab-Window-Modal .ab-Panel__header",size:p,position:c}),fixed:!1,padding:0,onDismiss:u,isOpen:!0,showCloseButton:!0},Id.createElement(hp,{style:{height:"100%"},bodyProps:{padding:0,height:"100%"},header:i.Title,glyphicon:i.Icon,variant:"primary"},Id.createElement(a,{api:t.api,onDismiss:u,popupProps:l})))}))};d();var _p=w(require("react"));var WDe=w(re());d();function UDe(o){return(o.fields||[]).flat().reduce((e,t)=>{var r;return e[t.name]=(r=t.defaultValue)!=null?r:"",e},{})}var nAt=({id:o,formProps:e,form:t,prepareContext:r})=>{let n=at(),i=ne(),[a,s]=_p.useState(()=>UDe(t)),l=()=>{n(Cae(o))},u=v({adaptableApi:i.api,formData:a},e);return _p.createElement(oi,{isOpen:!0,showCloseButton:!1,style:{minHeight:"auto",minWidth:400,maxHeight:"80vh"},onDismiss:l},_p.createElement(WDe.Flex,{flexDirection:"column","data-name":"form-dialog",padding:4,height:"100%"},_p.createElement(b0,{formDef:t,data:a,context:u,onChange:s,api:i.api,displayTitle:!0,onButtonClick:async p=>{var m;l();let c=typeof r=="function"?await r(u):u;(m=p.onClick)==null||m.call(p,p,c)}})))},zDe=()=>{let o=Dt(e=>e.Popup.FormPopup.FormList);return _p.createElement(_p.Fragment,null,o.map(e=>_p.createElement(nAt,{key:e.Id,prepareContext:e.prepareContext,id:e.Id,formProps:e.FormProps,form:e.Form})))};var OY=class extends ms.Component{render(){var r,n,i,a;let e=(a=(i=(n=(r=this.props.AdaptableApi)==null?void 0:r.internalApi)==null?void 0:n.getSystemState())==null?void 0:i.License)==null?void 0:a.watermark,t=this.props.AdaptableApi.optionsApi.getAdaptableOptions();return ms.createElement("div",null,this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable("Dashboard")&&ms.createElement(MDe,{api:this.props.AdaptableApi}),ms.createElement(EV,{onClose:this.props.onCloseLoadingPopup,showLoadingScreen:this.props.PopupState.LoadingPopup.ShowLoadingPopup}),this.props.PopupState.PromptPopup.ShowPromptPopup&&ms.createElement(ADe,{message:this.props.PopupState.PromptPopup.Message,header:this.props.PopupState.PromptPopup.Header,onClose:this.props.onClosePromptPopup,onConfirm:this.props.onConfirmPromptPopup,onConfirmActionCreator:this.props.PopupState.PromptPopup.ConfirmActionCreator,defaultValue:this.props.PopupState.PromptPopup.DefaultValue}),Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup)&&ms.createElement(NDe,{header:this.props.PopupState.ConfirmationPopup.Header,messsage:this.props.PopupState.ConfirmationPopup.Msg,showPopup:this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup,cancelButtonText:this.props.PopupState.ConfirmationPopup.CancelButtonText,confirmButtonText:this.props.PopupState.ConfirmationPopup.ConfirmButtonText,onCancel:this.props.onCancelConfirmationPopup,onConfirm:this.props.onConfirmConfirmationPopup,showInputBox:this.props.PopupState.ConfirmationPopup.ShowInputBox,messageType:this.props.PopupState.ConfirmationPopup.MessageType,api:this.props.AdaptableApi}),Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup)&&ms.createElement(IY,{componentName:this.props.PopupState.ScreenPopup.ComponentName,componentModule:this.props.PopupState.ScreenPopup.ComponentModule,onHide:this.props.onCloseScreenPopup,api:this.props.AdaptableApi,onClearParams:()=>this.props.onClearPopupParams(),moduleParams:this.props.PopupState.ScreenPopup.Params,moduleProps:this.props.PopupState.ScreenPopup.PopupProps}),ms.createElement(Yo.ToastContainer,{containerId:t.adaptableId,enableMultiContainer:!0,limit:t.notificationsOptions.maxNotifications,closeButton:!1,icon:!1,theme:"colored"}),(e==null?void 0:e.show)&&ms.createElement(DY,null,e==null?void 0:e.text),ms.createElement(HDe,null),ms.createElement(zDe,null),ms.createElement(GDe,null))}};function iAt(o,e){return{PopupState:o.Popup,SystemState:o.System,AdaptableApi:e.Adaptable.api}}function aAt(o){return{onCloseScreenPopup:()=>o(sc()),onClosePromptPopup:()=>o(bae()),onConfirmPromptPopup:e=>o(Aae(e)),onConfirmConfirmationPopup:e=>o(xae(e)),onCancelConfirmationPopup:()=>o(Rae()),showPopup:(e,t,r)=>o(Qo(e,t,r)),onClearPopupParams:()=>o(Mv())}}var sAt=ot(iAt,aAt)(OY),jDe=({Adaptable:o})=>$i(ms.createElement(sAt,{Adaptable:o}),o);d();var VY=w(require("react")),xOe=w(Tw());d();var sy=w(require("react")),ly=require("react");d();var KDe=(o,e)=>{if(!Array.isArray(o)||!o.length)return{primaryKey:void 0,columns:[],data:[]};let t=[],r=[],n;if(Array.isArray(o[0])){t=o[0];for(let i=1,a=o.length;i<a;i++){let s=o[i],l={};for(let u=0;u<t.length;u++)l[t[u]]=s[u];r.push(l)}}else t=Object.keys(o[0]),r=o;return n=t[0],{primaryKey:n,columns:t,data:r}},FY={string:"abColDefString",number:"abColDefNumber",boolean:"abColDefBoolean",date:"abColDefDate"},lAt="abColDefCustom",uAt=o=>{let t=FY[typeof o]||FY.string;return o instanceof Date&&(t=FY.date),Array.isArray(o)&&o.length&&typeof o[0]=="number"&&(t=lAt),t},QDe=(o,e)=>{let t=o.data[0],r=o.columns.map(i=>{let a=t[i],s=uAt(a);return{headerName:i,field:i,type:s,filter:!0,sortable:!0,enableRowGroup:!0,resizable:!0,editable:!0}});return R(v({},e),{defaultColDef:{floatingFilter:!0},rowData:o.data,columnDefs:r,enableRangeSelection:!0,rowSelection:"multiple",rowHeight:30})};var bOe=w(re());d();d();var ja=w(require("react")),kY=require("react");d();var tOe=w(require("react"));d();var _t=w(require("react"));d();var YDe=require("react");var dAt=(o,e,t,r)=>{r=r||{};let n=r.onChange||((p,c)=>{}),i=r.onBatchChange||(p=>{}),[a,s]=(0,YDe.useState)(typeof e=="object"?e:o.reduce((p,c)=>{let m=t?c[t]:e;return m&&(p[c.field]=m),p},{})),l=p=>o.filter(c=>c.field===p)[0],u={selected:a,isSelected:p=>!!a[p],isAllSelected:()=>Object.keys(a).length===o.length,isNoneSelected:()=>Object.keys(a).length===0,selectColumn:p=>{a[p]||(s(R(v({},a),{[p]:!0})),n(l(p),!0))},deselectColumn:p=>{if(a[p]){let c=v({},a);delete c[p],s(c),n(l(p),!1)}},toggleColumn:p=>{u.isSelected(p)?u.deselectColumn(p):u.selectColumn(p)},deselectAll:()=>{s({}),o.forEach(p=>{n(p,!1)}),i(!1)},selectAll:()=>{s(o.reduce((p,c)=>(p[c.field]=!0,p),{})),i(!0)}};return u},ry=dAt;d();var iy=w(require("react")),vA=require("react"),$De=w(re());d();var PV=w(require("react"));var pAt=()=>PV.createElement("div",{style:{display:"flex",flexFlow:"column",position:"absolute",fill:"var(--ab-cmp-dropdown__fill)",top:"50%",right:"var(--ab-space-1)",transform:"translate3d(0px, -50%, 0px)",cursor:"pointer"}},PV.createElement(Lt,{name:"triangle-up",size:24,style:{position:"relative",top:7}}),PV.createElement(Lt,{name:"triangle-down",size:24,style:{position:"relative",top:-7}})),qDe=pAt;var ny="ab-Dropdown",cAt=o=>{let j=o,{options:e,multiple:t,name:r,autoFocus:n,showEmptyItem:i=!0,showClearButton:a,disabled:s,allowSearch:l,clearButtonProps:u,value:p,onChange:c,style:m,onExpand:f}=j,g=ze(j,["options","multiple","name","autoFocus","showEmptyItem","showClearButton","disabled","allowSearch","clearButtonProps","value","onChange","style","onExpand"]);a!==!1&&(a=!0);let[C,y]=ko(o,"value",void 0,{onChange:o.onChange}),b=null,[S,A]=(0,vA.useState)([]),x=()=>{f&&f()};if(typeof e=="function"){let z=e;x=()=>{let W=z();A(W),f&&f()},e=S}let E=o.emptyText||o.placeholder||"Select an option",T=e.map(z=>(typeof z=="string"&&(z={label:z,value:z}),C===z.value&&(b=z),z));i&&T.splice(0,0,{label:E,value:""});let I=(z,W)=>{y(z&&z.value,W,z)},D=(0,vA.useRef)(null),P=(0,vA.useRef)(null),[O,M]=(0,vA.useState)(!1),B=z=>{if(z.target===D.current){M(!0);return}z.target===P.current&&D.current.focus()},_=()=>{M(!1)},L=b?b.label:null,U=o.renderLabel?o.renderLabel(L,b):L;b||(U=E);let V=()=>iy.createElement(X,R(v({variant:"text",icon:"clear",tone:"none",tooltip:"Clear",iconSize:20,px:0,py:0,marginRight:1},u),{style:v({zIndex:10,color:"inherit"},u?u.style:null),onClick:z=>{z.preventDefault(),I(null,z)}}));return iy.createElement($De.Flex,R(v({ref:P,flexDirection:"row",alignItems:"center"},g),{className:Me(o.className,ny,b?`${ny}--not-empty`:`${ny}--empty`,O?`${ny}--focused`:`${ny}--not-focused`,s?`${ny}--disabled`:null),style:m,tabIndex:O?-1:o.tabIndex||0,onFocus:B,onBlur:_}),iy.createElement("div",{style:{display:"inline-block"},className:`${ny}__text`},U,iy.createElement(qDe,null)),iy.createElement("select",{ref:D,tabIndex:-1,disabled:s,value:C==null?"":C,onChange:z=>{let W=T.filter(ue=>ue.value==z.target.value)[0];I(W,z)},style:{opacity:0,width:"100%",height:"100%",top:0,left:0,zIndex:1},onMouseDown:x,name:r,multiple:t,autoFocus:n},T.map(z=>iy.createElement("option",{key:z.value,value:z.value},z.label))),a&&b?V():null)},XDe=cAt;var WT=require("react");var ay=w(re()),JDe=w(lR());var mAt=[{value:"abColDefString",label:"Text (string)"},{value:"abColDefNumber",label:"Number"},{value:"abColDefDate",label:"Date"},{value:"abColDefBoolean",label:"Boolean"}],ZDe={width:"100%",minWidth:80,textAlign:"start"},fAt=()=>{let[,o]=(0,WT.useState)(Date.now());return()=>{o(Date.now())}},hAt=_t.memo(o=>{let[e,t]=(0,WT.useState)(o.value),r=_t.useRef((0,JDe.default)(o.onChange,600,{leading:!1})),n=_t.useCallback(i=>{let a=i.target.value;t(a),r.current(a)},[]);return _t.useEffect(()=>{t(o.value)},[o.value]),_t.createElement(We,{style:o.style,value:e,onChange:n})}),gAt={style:{height:"100%",minWidth:"10rem",minHeight:600}},CAt=({columns:o,handle:e,onValidityChange:t,onChange:r,onSelectionChange:n,selectedColumns:i,theme:a})=>{let s=fAt(),l=(0,WT.useRef)(o),u=Le=>{l.current=Le,r==null||r(Le)},p=Le=>{u(Le),s()},c=()=>l.current,m=l.current,f=(Le,Ye,pt)=>{Le=R(v({},Le),{[pt]:Ye});let jo=c().map(Qn=>Qn.field===Le.field?Le:Qn);p(jo)},g=(Le,Ye)=>{let pt=c().map(jo=>R(v({},jo),{[Ye]:Le}));p(pt)},C=(Le,Ye)=>{let pt=c().map(jo=>jo.field===Ye?R(v({},jo),{caption:Le}):jo);p(pt)},y=(Le,Ye)=>{let pt=c().map(jo=>jo.field===Le.field?R(v({},jo),{type:Ye}):jo);p(pt)},[b,S]=_t.useState(m[0].field),{selected:A,isSelected:x,isAllSelected:E,isNoneSelected:T,selectColumn:I,deselectColumn:D,selectAll:P,deselectAll:O}=ry(m,i!=null?i:!0,null,{onChange:n});e.current={getColumns:()=>c().filter(Le=>x(Le.field)),getPrimaryKey:()=>b};let{isSelected:M,isAllSelected:B,isNoneSelected:_,selectColumn:L,deselectColumn:U,selectAll:V,deselectAll:j}=ry(m,!0,"sortable",{onBatchChange:Le=>{g(Le,"sortable")},onChange:(Le,Ye)=>{f(Le,Ye,"sortable")}}),{isSelected:z,isAllSelected:W,isNoneSelected:ue,selectColumn:pe,deselectColumn:ae,selectAll:ie,deselectAll:Ae}=ry(m,!0,"enableRowGroup",{onBatchChange:Le=>{g(Le,"enableRowGroup")},onChange:(Le,Ye)=>{f(Le,Ye,"enableRowGroup")}}),{isSelected:Be,isAllSelected:H,isNoneSelected:G,selectColumn:k,deselectColumn:q,selectAll:oe,deselectAll:se}=ry(m,!0,"resizable",{onBatchChange:Le=>{g(Le,"resizable")},onChange:(Le,Ye)=>{f(Le,Ye,"resizable")}}),{isSelected:$,isAllSelected:tt,isNoneSelected:ce,selectColumn:kt,deselectColumn:Bt,selectAll:oo,deselectAll:Kn}=ry(m,!0,"editable",{onBatchChange:Le=>{g(Le,"editable")},onChange:(Le,Ye)=>{f(Le,Ye,"editable")}}),{isSelected:si,isAllSelected:ea,isNoneSelected:xo,selectColumn:qt,deselectColumn:Oo,selectAll:Zo,deselectAll:Xe}=ry(m,!0,"filter",{onBatchChange:Le=>{g(Le,"filter")},onChange:(Le,Ye)=>{f(Le,Ye,"filter")}}),dt=E(),zo=T();_t.useEffect(()=>{t(x(b))},[A,b]);let Fo=40,xa=m,Yr=Le=>_t.createElement(ay.Flex,R(v({},Le),{style:R(v({},Le.style),{position:"absolute",textAlign:"center",top:0,left:0,height:"100%",width:"100%",whiteSpace:"normal"}),justifyContent:"center",alignItems:"center"}),Le.children),kr=Le=>_t.createElement(Yr,R(v({},Le),{fontSize:3,style:{fontWeight:600}})),Co=Le=>{let Ra=Le,{label:Ye,onChange:pt,checked:jo}=Ra,Qn=ze(Ra,["label","onChange","checked"]);return _t.createElement(kr,R(v({},Qn),{flexDirection:"column"}),_t.createElement(ay.Box,null,Ye),_t.createElement(ay.Box,{style:{textAlign:"center"}},_t.createElement(ye,{checked:jo,onChange:pt})))},Er={pk:{header:()=>_t.createElement(kr,null,"Primary Key"),maxWidth:80,sortable:!1,renderMenuIcon:!1,render:Le=>{let{data:Ye}=Le,pt=Ye,jo=(pt==null?void 0:pt.field)===b;return _t.createElement(_e,{checked:jo,onChange:Qn=>{Qn&&x(pt.field)&&S(pt.field)}})}},included:{maxWidth:80,resizable:!0,renderMenuIcon:!1,header:()=>_t.createElement(Co,{label:"Included",checked:dt?!0:zo?!1:null,onChange:Le=>{Le?P():O()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:x(Ye.field),onChange:pt=>{pt?I(Ye.field):D(Ye.field)}}))}},field:{header:_t.createElement(kr,null,"Field"),field:"field",minWidth:150,renderMenuIcon:!1,render:Le=>{let Ye=Le.data,pt=Ve.Humanize(Ye.field);return _t.createElement(ay.Box,{p:2},_t.createElement(hAt,{key:Ye.field,style:ZDe,value:Ye.caption!=null?Ye.caption:pt,placeholder:pt,onChange:jo=>{C(jo,Ye.field)}}))}},type:{header:_t.createElement(kr,null,"Type"),maxWidth:140,renderMenuIcon:!1,render:Le=>{var pt;let Ye=Le.data;return _t.createElement(Yr,{paddingLeft:1,paddingRight:1},_t.createElement(XDe,{style:ZDe,showClearButton:!1,options:mAt,value:(pt=Ye==null?void 0:Ye.type)!=null?pt:"",onChange:y.bind(null,Ye)}))}},sortable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Sortable",checked:B()?!0:_()?!1:null,onChange:Le=>{Le?V():j()}}),render:Le=>{let Ye=Le.data;return _t.createElement(ye,{checked:M(Ye.field),onChange:pt=>{pt?L(Ye.field):U(Ye.field)}})}},editable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Editable",checked:tt()?!0:ce()?!1:null,onChange:Le=>{Le?oo():Kn()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:$(Ye.field),onChange:pt=>{pt?kt(Ye.field):Bt(Ye.field)}}))}},resizable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Resizable",checked:H()?!0:G()?!1:null,onChange:Le=>{Le?oe():se()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:Be(Ye.field),onChange:pt=>{pt?k(Ye.field):q(Ye.field)}}))}},groupable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Groupable",checked:W()?!0:ue()?!1:null,onChange:Le=>{Le?ie():Ae()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:z(Ye.field),onChange:pt=>{pt?pe(Ye.field):ae(Ye.field)}}))}},filterable:{renderMenuIcon:!1,header:_t.createElement(Co,{label:"Filterable",checked:ea()?!0:xo()?!1:null,onChange:Le=>{Le?Zo():Xe()}}),render:Le=>{let Ye=Le.data;return _t.createElement(Yr,null,_t.createElement(ye,{checked:si(Ye.field),onChange:pt=>{pt?qt(Ye.field):Oo(Ye.field)}}))}}};return _t.createElement(ay.Box,{p:2,style:{height:"100%"},className:a},_t.createElement(Wi,{data:xa,primaryKey:"colId"},_t.createElement(Hn,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},rowHeight:Fo,columnHeaderHeight:65,domProps:gAt,columns:Er})))};function yAt(){return!0}var eOe=_t.memo(CAt,yAt);var oOe=o=>{var t,r,n;let e="light";return typeof o.adaptableOptions.predefinedConfig=="object"&&((t=o.adaptableOptions.predefinedConfig.Theme)==null?void 0:t.CurrentTheme)&&(e=o.adaptableOptions.predefinedConfig.Theme.CurrentTheme),tOe.createElement(eOe,{theme:e,handle:o.columnsHandle,onValidityChange:i=>{o.setPrimaryKeyIsNotSelected(i)},selectedColumns:o.selectedColumns,onChange:o.onColumnChange,onSelectionChange:o.onSelectionChange,columns:(n=(r=o.adaptableOptions)==null?void 0:r.gridOptions)==null?void 0:n.columnDefs})};d();var Iu=w(require("react"));var rOe=w(re());var vAt=o=>{var r;let e=o.adaptableOptions,t=v(v({},mo.gridOptions),e.gridOptions);return Iu.createElement(rOe.Box,{p:2},Iu.createElement(Ot,null,"Grid Options"),Iu.createElement(Ie,{margin:2,columns:[{name:"children"},{name:"label",style:{textAlign:"start"}}]},Iu.createElement(Z,{label:"Enable Range Selection"},Iu.createElement(ye,{checked:t.enableRangeSelection,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.enableRangeSelection=n,o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Show Quick Filter"},Iu.createElement(ye,{checked:(r=t.defaultColDef)==null?void 0:r.floatingFilter,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.defaultColDef={floatingFilter:n},o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Suppress Column Virtualisation"},Iu.createElement(ye,{checked:t.suppressColumnVirtualisation,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.suppressColumnVirtualisation=n,o.onChangeadAptableOptions(e)}})),Iu.createElement(Z,{label:"Show Column Menu Button"},Iu.createElement(ye,{checked:t.suppressMenuHide,onChange:n=>{e=v({},e),e.gridOptions=v({},e.gridOptions),e.gridOptions.suppressMenuHide=n,o.onChangeadAptableOptions(e)}}))))},nOe=vAt;d();var Nr=w(require("react"));var IV=w(re());var SAt=Twe,bAt={style:{height:"100%",minWidth:"10rem",minHeight:600}},AAt=o=>{var l,u,p;let e=o.adaptableOptions,t=(u=(l=e==null?void 0:e.entitlementOptions)==null?void 0:l.moduleEntitlements)!=null?u:[];if(typeof t=="function")return Nr.createElement(Ot,{mt:2},"Entitlements cannot be customized, they are handled by a custom function.");let r=Nr.useMemo(()=>t.reduce((c,m)=>(c[m.adaptableModule]=m.accessLevel,c),{}),[e==null?void 0:e.entitlementOptions]),n=Nr.useCallback((c,m)=>{let f=t;r[c]?f=f.map(g=>(g.adaptableModule===c&&(g.accessLevel=m),g)):f=[...f,{adaptableModule:c,accessLevel:m}],o.onChangeadAptableOptions(R(v({},e),{entitlementOptions:R(v({},e.entitlementOptions),{moduleEntitlements:f})}))},[e==null?void 0:e.entitlementOptions]);if(typeof t=="function")return Nr.createElement(Ot,{mb:2},"Entitlements cannot be customized, they are handled by a custom function.");let i={name:{header:"Module Name",align:"start",renderValue:c=>Nr.createElement(Nr.Fragment,null,c.data.name)},full:{header:"Full",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"Full"),checked:f==="Full"})}},readonly:{header:"Read Only",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"ReadOnly"),checked:f==="ReadOnly"})}},hidden:{header:"Hidden",render:c=>{let m=c.data.name,f=r[m];return Nr.createElement(_e,{onClick:()=>n(m,"Hidden"),checked:f==="Hidden"})}}},a=SAt.map(c=>({name:_le[c]})),s="light";return typeof o.adaptableOptions.predefinedConfig=="object"&&((p=o.adaptableOptions.predefinedConfig.Theme)==null?void 0:p.CurrentTheme)&&(s=o.adaptableOptions.predefinedConfig.Theme.CurrentTheme),Nr.createElement(IV.Box,{flex:1,height:"100%",className:s},Nr.createElement(Wi,{data:a,primaryKey:"name"},Nr.createElement(Hn,{columnTypes:{default:{defaultFlex:1,align:"center",sortable:!1}},headerOptions:{alwaysReserveSpaceForSortIcon:!1},columnHeaderHeight:50,domProps:bAt,columns:i})))},xAt=o=>{var i,a;let e=o.adaptableOptions,t=(i=o.adaptableOptions)==null?void 0:i.entitlementOptions,r=t==null?void 0:t.defaultAccessLevel;if(typeof r=="function")return Nr.createElement(Ot,{mb:2},"Default Entitlement is controlled by a custom function");let n=Nr.useCallback(s=>{o.onChangeadAptableOptions(R(v({},e),{entitlementOptions:R(v({},e.entitlementOptions),{defaultAccessLevel:s})}))},[(a=e==null?void 0:e.entitlementOptions)==null?void 0:a.defaultAccessLevel]);return Nr.createElement(Ie,{mb:2},Nr.createElement(Z,{label:"Default Entitlement:"},Nr.createElement(_e,{onClick:()=>n("Full"),checked:r==="Full",mr:3},"Visible"),Nr.createElement(_e,{onClick:()=>n("ReadOnly"),checked:r==="ReadOnly",mr:3},"Read Only"),Nr.createElement(_e,{onClick:()=>n("Hidden"),checked:r==="Hidden"},"Hidden")))},RAt=o=>{let e=o.adaptableOptions;return Nr.createElement(IV.Flex,{height:"100%",flexDirection:"column",p:2},Nr.createElement(xAt,v({},o)),Nr.createElement(AAt,v({},o)))},iOe=RAt;d();var Du=w(require("react")),cOe=w(re());d();var zT=w(require("react")),DV=w(re());var aOe=o=>{var n,i,a,s;let e=[{value:"clone",label:"Clone"},{value:"create",label:"Create"},{value:"edit",label:"Edit"},{value:"delete",label:"Delete"}],t=Array.isArray((i=(n=o.abOptions)==null?void 0:n.actionOptions)==null?void 0:i.actionRowButtons)?(s=(a=o.abOptions)==null?void 0:a.actionOptions)==null?void 0:s.actionRowButtons:[],r=(l,u)=>{var c;let p=t;u?p=[...p,l]:p=p.filter(m=>m!==l),o.onChange(R(v({},o.abOptions),{actionOptions:R(v({},(c=o.abOptions)==null?void 0:c.actionOptions),{actionRowButtons:p})}))};return zT.createElement(DV.Box,null,zT.createElement(Ot,null,"Action Row Buttons"),zT.createElement(DV.Flex,{width:"100%",m:2},e.map(l=>zT.createElement(ye,{mr:3,key:l.value,checked:t.some(u=>u===l.value),onChange:u=>r(l.value,u)},l.label))))};d();var zc=w(require("react")),jT=w(re());var sOe=["columns","filters","adaptable"],wAt=o=>(o=o,typeof o=="boolean"&&(o={toolPanels:sOe}),typeof o=="string"&&(o={toolPanels:[o]}),Array.isArray(o)&&(o={toolPanels:o}),o!=null?o:{toolPanels:[]}),EAt=(o,e)=>{var t;return((t=o==null?void 0:o.toolPanels)!=null?t:[]).some(r=>(typeof r=="string"?r:r.id)===e)},lOe=o=>{var u;let{abOptions:e,onChange:t}=o,{gridOptions:r}=o.abOptions,n=wAt(r.sideBar),i=p=>zc.createElement(ye,{mr:3,key:p,checked:EAt(n,p),onChange:c=>a(p,c)},Ve.Humanize(p)),a=(p,c)=>{var C,y;let m=(C=n==null?void 0:n.toolPanels)!=null?C:[];c?m=[...m,p]:m=m.filter(b=>(typeof b=="string"?b:b.id)!==p);let f=(y=n.hiddenByDefault)!=null?y:!1;m.length===0&&(f=!0);let g=R(v({},e),{gridOptions:R(v({},e.gridOptions),{sideBar:R(v({},n),{toolPanels:m,hiddenByDefault:f})})});o.onChange(g)},s=(u=n==null?void 0:n.position)!=null?u:"right",l=p=>{let c=R(v({},e),{gridOptions:R(v({},e.gridOptions),{sideBar:R(v({},n),{position:p})})});o.onChange(c)};return zc.createElement(jT.Box,null,zc.createElement(Ot,null,"Tool Panels"),zc.createElement(jT.Box,{m:2},zc.createElement(jT.Flex,{mb:2},sOe.map(i)),zc.createElement(Ie,{columns:[{name:"label"},{name:"children"}]},zc.createElement(Z,{label:"Position"},zc.createElement(Fe,{columns:["label"],items:[{label:"Left",onClick:()=>l("left")},{label:"Right",onClick:()=>l("right")}]},s==="left"?"Left":"Right")))))};d();var Xi=w(require("react")),KT=w(re());d();var uOe=w(require("react")),dOe=w(re());var OV=o=>uOe.createElement(dOe.Box,R(v({},o),{padding:2,mb:2,className:Me("ab-NocodeWizardFormBox",o.className)}));var pOe=o=>{var A,x,E,T;let e=(E=(x=(A=o.abOptions.gridOptions)==null?void 0:A.statusBar)==null?void 0:x.statusPanels)!=null?E:[],t=(I,D)=>I.map(P=>{let O=e.find(M=>M.key===P||M.statusPanel===P);return O?R(v({},O),{align:D}):{statusPanel:P,align:D}}),r=e.filter(I=>!(I!=null&&I.align)||I.align==="left"),n=e.filter(I=>I.align==="center"),i=e.filter(I=>I.align==="right"),a=I=>{let D=t(I[0].Items,"left"),P=t(I[1].Items,"center"),O=t(I[2].Items,"right"),M=[...D,...P,...O];o.onChange(R(v({},o.abOptions),{gridOptions:R(v({},o.abOptions.gridOptions),{statusBar:R(v({},o.abOptions.gridOptions.statusBar),{statusPanels:M})})}))},s=!1,l=I=>{var D;return(D=I.key)!=null?D:I.statusPanel},u=[{Name:"Left",Items:r.map(l)},{Name:"Center",Items:n.map(l)},{Name:"Right",Items:i.map(l)}],c=[{Id:"agTotalRowCountComponent",Title:"Row Count"},{Id:"agTotalAndFilteredRowCountComponent",Title:"Totals and Filtered Row Count"},{Id:"agFilteredRowCountComponent",Title:"Filtered Row Count"},{Id:"agSelectedRowCountComponent",Title:"Selected Row Count"},{Id:"agAggregationComponent",Title:"Aggregation"}],[m,f]=Xi.useState(""),[g,C]=Xi.useState("left"),y=!e.some(I=>I.key===m),b=[{onClick:()=>C("left"),value:"left",label:"Left"},{onClick:()=>C("center"),value:"center",label:"Center"},{onClick:()=>C("right"),value:"right",label:"Right"}],S=()=>{let I={statusPanel:"AdaptableStatusPanel",align:g,key:m},D=[...e,I];f(""),C("left"),o.onChange(R(v({},o.abOptions),{gridOptions:R(v({},o.abOptions.gridOptions),{statusBar:R(v({},o.abOptions.gridOptions.statusBar),{statusPanels:D})})}))};return Xi.createElement(KT.Box,null,Xi.createElement(Ot,null,"Status Bar"),Xi.createElement(KT.Box,{p:2},Xi.createElement(OV,null,Xi.createElement(KT.Box,{as:"b"},"Create Adaptable Statusbar Panel"),Xi.createElement(Ie,{mt:2},Xi.createElement(Z,{label:"Panel Name"},Xi.createElement(We,{value:m,placehoder:"Adaptable Panel Name",onChange:I=>f(I.target.value)})),Xi.createElement(Z,{label:"Align"},Xi.createElement(Fe,{columns:["label"],items:b},(T=b.find(I=>I.value===g))==null?void 0:T.label)),Xi.createElement(Z,{label:""},Xi.createElement(X,{disabled:!y,onClick:S,icon:"plus",variant:"raised"},"Add"),!y&&Xi.createElement(KT.Box,{mt:2,color:"var(--ab-color-error)"},"Adaptable panel name must be unique.")))),Xi.createElement(dA,{permittedActions:{createTab:!1,dragAndDropTab:!1,deleteTab:!1,editTabName:!1},onTabsChange:a,disabled:s,tabs:u,availableItems:c,tabsTitle:"Status Bar Panels",unusedPanelTitle:"Ag Grid Status Bar Panels",dragItemText:"Drag into a Status Bar Panel below"})))};var mOe=o=>{let e=o.adaptableOptions;return Du.createElement(cOe.Box,{p:2},Du.createElement(K,null,Du.createElement(K.Tab,null,"Tool Panel"),Du.createElement(K.Tab,null,"Status Bar"),Du.createElement(K.Tab,null,"Action Rows"),Du.createElement(K.Content,null,Du.createElement(lOe,{abOptions:e,onChange:o.onChangeadAptableOptions})),Du.createElement(K.Content,null,Du.createElement(pOe,{abOptions:e,onChange:o.onChangeadAptableOptions}))," ",Du.createElement(K.Content,null,Du.createElement(aOe,{abOptions:e,onChange:o.onChangeadAptableOptions}))))};d();d();var $e=w(require("react")),pn=w(re());var MY=o=>$e.createElement(Fe,R(v({},o),{width:"100%",columns:["label"]})),NY=o=>$e.createElement(pn.Box,v({color:"var(--ab-color-error)"},o)),YT={instrumentColumns:{fields:[{label:"Ticker",id:"tickerColumnId"},{label:"ISIN",id:"isinColumnId"},{label:"CUSIP",id:"cusipColumnId"},{label:"SEDOL",id:"sedolColumnId"},{label:"RIC",id:"ricColumnId"},{label:"BBG",id:"bbgColumnId"},{label:"PERMID",id:"permidColumnId"},{label:"FIGI",id:"figiColumnId"}],intents:["ViewChart","ViewQuote","ViewNews","ViewAnalysis","ViewInstrument"]},positionColumns:{fields:[{label:"Instrument",id:"instrumentColumnId",required:!0}],intents:["ViewChart","ViewNews","ViewAnalysis"]},contactColumns:{fields:[{label:"Email",id:"emailColumnId"},{label:"FDS_ID",id:"fds_idColumnId"}],intents:["StartCall","StartChat","ViewContact"]},countryColumns:{fields:[{label:"ISOALPHA2",id:"isoalpha2ColumnId"},{label:"ISOALPHA3",id:"isoalpha3ColumnId"}],intents:["ViewChart"]},organizationColumns:{fields:[{label:"LEI",id:"leiColumnId"},{label:"PERM ID",id:"permidColumnId"},{label:"FDS ID",id:"fds_idColumnId"}],intents:["ViewNews","ViewAnalysis"]}},_Y=o=>{let e=$e.useMemo(()=>o.columnOptions.map(t=>R(v({},t),{onClick:()=>o.onChange(t.value)})),[o.onChange]);return $e.createElement(Z,{label:$e.createElement($e.Fragment,null,o.label," ",o.required&&$e.createElement(NY,{as:"span"},"*")," ")},$e.createElement(MY,{items:e},Ve.Humanize(o.value)||"Select Column"))},TAt=o=>{let e=YT.instrumentColumns.fields;return $e.createElement(pn.Flex,null,$e.createElement(Ie,{mr:2},e.slice(0,4).map(t=>{var r;return $e.createElement(_Y,R(v({},t),{key:t.id,value:(r=o.column[t.id])!=null?r:"Select Column",onChange:n=>o.onColumnFieldChange(t.id,n),columnOptions:o.columnOptions}))})),$e.createElement(Ie,null,e.slice(4).map(t=>{var r;return $e.createElement(_Y,R(v({},t),{key:t.id,value:(r=o.column[t.id])!=null?r:"Select Column",onChange:n=>o.onColumnFieldChange(t.id,n),columnOptions:o.columnOptions}))})),$e.createElement(pn.Flex,{ml:3,flexDirection:"column"},YT.instrumentColumns.intents.map(t=>{var r,n;return $e.createElement(ye,{checked:(n=(r=o.column.intents)==null?void 0:r.includes)==null?void 0:n.call(r,t),onClick:()=>o.onIntentToggle(t),key:t},t)})))},PAt=o=>{let e=YT[o.fdc3ColumnType].fields,t=YT[o.fdc3ColumnType].intents;return $e.createElement(pn.Flex,null,$e.createElement(Ie,null,e.map(r=>{var n,i;return $e.createElement(_Y,R(v({},r),{key:r.id,columnOptions:o.columnOptions,onChange:a=>o.onColumnFieldChange(r.id,a),value:(i=(n=o.column)==null?void 0:n[r.id])!=null?i:""}))}),$e.createElement(Z,{label:""},$e.createElement(pn.Flex,{flexDirection:"column"},t.map(r=>{var n,i;return $e.createElement(ye,{checked:((i=(n=o.column)==null?void 0:n.intents)!=null?i:[]).includes(r),onClick:()=>o.onIntentToggle(r),key:r},r)})))))},fOe=o=>{var s,l,u,p,c,m,f,g;let e=$e.useCallback((C,y)=>{o.onChange(R(v({},o.fdc3Column),{[C]:y}))},[o.fdc3Column,o.onChange]),t=$e.useCallback(C=>{var b;let y=v({},o.fdc3Column);y.intents=(b=y.intents)!=null?b:[],y.intents.includes(C)?y.intents=y.intents.filter(S=>S!==C):y.intents.push(C),o.onChange(y)},[o.fdc3Column]),r=$e.useMemo(()=>o.columnOptions.map(C=>R(v({},C),{onClick:()=>{o.onChange(R(v({},o.fdc3Column),{columnId:C.value}))}})),[o.fdc3Column]),n=$e.useCallback(C=>{var y;o.onChange(R(v({},o.fdc3Column),{nameColumnId:(y=C.target.value)!=null?y:""}))},[o.fdc3Column]),i=$e.useCallback(()=>{var C;o.onChange(R(v({},o.fdc3Column),{showBroadcastContextMenu:!((C=o.fdc3Column)!=null&&C.showBroadcastContextMenu)}))},[o.fdc3Column]),a=$e.useCallback(C=>{var y;o.onChange(R(v({},o.fdc3Column),{broadcastContextMenuLabel:(y=C.target.value)!=null?y:""}))},[o.fdc3Column]);return $e.createElement(OV,null,$e.createElement(pn.Flex,{flexWrap:"wrap"},$e.createElement(Ie,{mr:3,mb:3},o.beforeContent,$e.createElement(Z,{label:$e.createElement($e.Fragment,null,"Column ",$e.createElement(NY,{as:"span"},"*")," ")},$e.createElement(MY,{disabled:o.disabled,items:r},(l=(s=r.find(C=>{var y;return C.value===((y=o.fdc3Column)==null?void 0:y.columnId)}))==null?void 0:s.label)!=null?l:"Select Column")),$e.createElement(Z,{label:"FDC3 Name"},$e.createElement(We,{disabled:o.disabled,onChange:n,value:(p=(u=o.fdc3Column)==null?void 0:u.nameColumnId)!=null?p:""})),$e.createElement(Z,{label:""},$e.createElement(ye,{disabled:o.disabled,checked:Boolean((c=o.fdc3Column)==null?void 0:c.showBroadcastContextMenu),onChange:i},"Show Broadcast ",$e.createElement("br",null)," Context Menu")),$e.createElement(Z,{label:"Broadcast Label"},$e.createElement(We,{disabled:o.disabled||!Boolean((m=o.fdc3Column)==null?void 0:m.showBroadcastContextMenu),onChange:a,value:typeof((f=o.fdc3Column)==null?void 0:f.broadcastContextMenuLabel)=="string"?(g=o.fdc3Column)==null?void 0:g.broadcastContextMenuLabel:""}))),$e.createElement(pn.Box,{flex:1},o.fdc3ColumnType==="instrumentColumns"?$e.createElement(TAt,{onIntentToggle:t,onColumnFieldChange:(...C)=>e(...C),column:o.fdc3Column,columnOptions:o.columnOptions}):o.fdc3ColumnType&&$e.createElement(PAt,{onColumnFieldChange:(...C)=>e(...C),onIntentToggle:t,column:o.fdc3Column,fdc3ColumnType:o.fdc3ColumnType,columnOptions:o.columnOptions}))),o.footer)},IAt=o=>$e.createElement(fOe,{columnOptions:o.columnOptions,fdc3Column:o.fdc3Column,fdc3ColumnType:o.fdc3ColumnType,onChange:o.onChange,footer:o.footer}),DAt=o=>{var p,c;let[e,t]=$e.useState(),[r,n]=$e.useState(),i=$e.useCallback(()=>{o.onNew(r,e),t(null),n(null)},[e]),a=$e.useMemo(()=>[{label:"Instrument",columnField:"instrumentColumns"},{label:"Position",columnField:"positionColumns"},{label:"Contact",columnField:"contactColumns"},{label:"Country",columnField:"countryColumns"},{label:"Organization",columnField:"organizationColumns"}].map(m=>R(v({},m),{onClick:()=>{n(m.columnField),t({columnId:""})}})),[]),s=$e.createElement(Z,{label:"FDC3 Type"},$e.createElement(MY,{items:a},(c=(p=a.find(m=>m.columnField===r))==null?void 0:p.label)!=null?c:"Select Column")),l=!r,u=[];return e&&!e.columnId&&u.push("Column is required."),e&&YT[r].fields.forEach(f=>{f.required&&!e[f.id]&&u.push(`${f.label} is required.`)}),$e.createElement(fOe,{disabled:l,columnOptions:o.columnOptions,fdc3Column:e,fdc3ColumnType:r,onChange:m=>t(m),beforeContent:s,footer:$e.createElement(pn.Flex,null,$e.createElement(pn.Box,{flex:1}),$e.createElement(pn.Flex,{alignItems:"center",mr:3},u.slice(0,1).map(m=>$e.createElement(NY,{key:m,ml:2},m))),$e.createElement(X,{disabled:l||!e.columnId,onClick:i,icon:"plus",variant:"raised"},"Add FDC3 Column"))})},QT=o=>$e.createElement(pn.Box,R(v({},o),{mb:2}),$e.createElement(Ot,null,o.children)),LY=o=>{var s,l,u,p,c,m,f,g,C,y,b,S,A;let e=(p=(u=(l=(s=o.adaptableOptions)==null?void 0:s.gridOptions)==null?void 0:l.columnDefs)==null?void 0:u.map)==null?void 0:p.call(u,x=>{var E;return{label:Ve.Humanize((E=x.headerName)!=null?E:x.field),value:x.field}}),t=(m=(c=o.adaptableOptions)==null?void 0:c.plugins)==null?void 0:m.find(x=>x.pluginId==="finance"),r=(f=t==null?void 0:t.options)!=null?f:{},n=(g=r==null?void 0:r.fdc3Columns)!=null?g:{},i=(x,E)=>{var T;r.fdc3Columns=(T=r.fdc3Columns)!=null?T:{},r.fdc3Columns[x]=E,o.onChangeadAptableOptions(R(v({},o.adaptableOptions),{plugins:[...o.adaptableOptions.plugins]}))},a=(x,E)=>E.map((T,I)=>$e.createElement(pn.Box,{key:I,mb:3},$e.createElement(IAt,{columnOptions:e,fdc3Column:T,fdc3ColumnType:x,onChange:D=>{let P=E.map((O,M)=>M===I?D:O);i(x,P)},footer:$e.createElement(pn.Flex,null,$e.createElement(pn.Box,{flex:1}),$e.createElement(X,{onClick:()=>{let D=E.filter((P,O)=>O!==I);i(x,D)},tone:"error",variant:"raised",icon:"delete"},"Delete"))})));return $e.createElement(pn.Box,{p:2,className:"ab-FinanceForm"},$e.createElement(pn.Box,{mb:3},$e.createElement(Ot,{mb:3},"Create FDC3 Column"),$e.createElement(DAt,{columnOptions:e,onNew:(x,E)=>{var T;i(x,[...(T=n[x])!=null?T:[],E])}})),Boolean((C=n.instrumentColumns)==null?void 0:C.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Instrument Columns"),a("instrumentColumns",n.instrumentColumns)),Boolean((y=n.positionColumns)==null?void 0:y.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Position Columns"),a("positionColumns",n.positionColumns)),Boolean((b=n.contactColumns)==null?void 0:b.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Contact Columns"),a("contactColumns",n.contactColumns)),Boolean((S=n.countryColumns)==null?void 0:S.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Country Columns"),a("countryColumns",n.countryColumns)),Boolean((A=n.organizationColumns)==null?void 0:A.length)&&$e.createElement(pn.Box,null,$e.createElement(QT,null,"Organization Columns"),a("organizationColumns",n.organizationColumns)))};d();var tn=w(require("react")),rh=w(re());d();d();var hOe={AccessLevel:{name:"AccessLevel",kind:"A",desc:"Defines Access Level for an Entitlement - can be `ReadOnly`, `Hidden` or `Full`"},ActionColumn:{name:"ActionColumn",kind:"I",desc:"A Special Column that wraps an AdapTable Button",props:[{name:"actionColumnButton",kind:"u",desc:"Button (or list of buttons) to display in the Column"},{name:"actionColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",isOpt:!0,ref:"ActionColumnSettings"},{name:"columnId",kind:"s",desc:"Mandatory 'Id'; if no value set for `FriendlyName`, this will also be Column name"},{name:"friendlyName",kind:"s",desc:"How Column appears in Column Header, Menus; if no value set, `ColumnId` is used",isOpt:!0},{name:"includeGroupedRows",kind:"b",desc:"Shows Action Column also in grouped rows",isOpt:!0}]},ActionColumnContext:{name:"ActionColumnContext",kind:"I",desc:"Context required by functions when using an Action Column Button",props:[{name:"actionColumn",kind:"u",desc:"Action Column in question"},{name:"data",kind:"u",desc:"The current row's data"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid Row Node"}]},ActionColumnSettings:{name:"ActionColumnSettings",kind:"I",desc:"Set of optional properties that define an Action Columns behaviour",props:[{name:"resizable",kind:"b",desc:"Whether Column can be resized (by dragging column header edges)",isOpt:!0,defVal:"true"},{name:"suppressMenu",kind:"b",desc:"Whether no menu should be shown for this Column header.",isOpt:!0,defVal:"false"},{name:"suppressMovable",kind:"b",desc:"Whether if this Column should be movable via dragging",isOpt:!0,defVal:"false"},{name:"width",kind:"n",desc:"Preferred width (in pixels) for Column; if unset, calculated dynamically by AG Grid",isOpt:!0}]},ActionHandler:{name:"ActionHandler",kind:"A",desc:"Handles a Form Button Action"},ActionOptions:{name:"ActionOptions",kind:"I",desc:"Options related to Action Columns and Buttons in Adaptable.",props:[{name:"actionColumns",kind:"u",desc:"Columns which contain an AdapTable Button - used for performing Actions",isOpt:!0,defVal:"undefined"},{name:"actionRowButtonOptions",kind:"u",desc:"Additional options for managing Action Row Buttons",isOpt:!0,defVal:"undefined"},{name:"actionRowButtons",kind:"u",desc:"Action buttons to display for each row",isOpt:!0,defVal:"undefined"}]},ActionRowButtonConfigurationContext:{name:"ActionRowButtonConfigurationContext",kind:"I",desc:"Context used when adding custom configuration for Action Row Buttons",props:[{name:"actionRowButtonType",kind:"R",desc:"Type of Action Row Button: 'create', 'clone', 'edit' or 'delete'",ref:"ActionRowButtonType"}]},ActionRowButtonOptions:{name:"ActionRowButtonOptions",kind:"I",desc:"Options for managing the Buttons in Action Rows",props:[{name:"actionRowFormOptions",kind:"u",desc:"Options for managing the Form which the Action Row displays",isOpt:!0,defVal:"undefined"},{name:"autoHandle",kind:"b",desc:"If true, Action Row Buttons will be handled by AdapTable and the grid data model will be automatically updated with the created/edited/deleted rows",isOpt:!0,defVal:"true"},{name:"customConfiguration",kind:"u",desc:"Optional configuration that merges with built-in action row button and overrides default configuration",isOpt:!0,defVal:"undefined"},{name:"position",kind:"'pinnedLeft' | 'pinnedRight'",desc:"Action Row Buttons position: 'pinnedLeft' | 'pinnedRight",isOpt:!0,defVal:"'pinnedLeft'"},{name:"setPrimaryKeyValue",kind:"u",desc:"Function called when auto-handling 'create' Action Row Button; returned row value should have a valid(unique) primary key value",isOpt:!0,defVal:"undefined"}]},ActionRowButtonsContext:{name:"ActionRowButtonsContext",kind:"I",desc:"Context passed to Action Row Buttons"},ActionRowButtonType:{name:"ActionRowButtonType",kind:"A",desc:"Type of Action Row Button: 'create' | 'clone' | 'edit' | 'delete'"},ActionRowFormContext:{name:"ActionRowFormContext",kind:"A",desc:"Context passed into a Row Form - can be `CreateActionRowContext` or `EditActionRowContext`"},ActionRowFormOptions:{name:"ActionRowFormOptions",kind:"I",desc:"Options for Form displayed when Action Row Button is clicked",props:[{name:"formButtons",kind:"u",desc:"Custom form buttons provider. If provided, the custom implementation is responsible for firing the 'ActionRowSubmitted' and/or invoking the 'onFormSubmit' callback (if necessary).",isOpt:!0},{name:"formDescription",kind:"u",desc:"Custom form description provider",isOpt:!0,defVal:"undefined"},{name:"formFieldLabel",kind:"u",desc:"Custom form field label provider",isOpt:!0,defVal:"undefined"},{name:"formTitle",kind:"u",desc:"Custom form title provider",isOpt:!0,defVal:"'Create New Row'/'Edit Row'"},{name:"onFormSubmit",kind:"u",desc:"Function invoked when the form in an Action Row is submitted via a standard button (provided by AdapTable). This is not invoked when custom form buttons are provided!",isOpt:!0,defVal:"undefined"}]},ActionRowParamContext:{name:"ActionRowParamContext",kind:"I",desc:"Context used for overriding Title and Description of Action Row Form"},ActionRowParamFieldContext:{name:"ActionRowParamFieldContext",kind:"I",desc:"Context used for overriding Field elements in Action Row Form"},AdaptableAggregatedBooleanQuery:{name:"AdaptableAggregatedBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Boolean Expression"},AdaptableAggregatedScalarQuery:{name:"AdaptableAggregatedScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Aggregated Scalar Expression"},AdaptableAlert:{name:"AdaptableAlert",kind:"A",desc:"Defines an Alert fired by AdapTable"},AdaptableAlertAction:{name:"AdaptableAlertAction",kind:"A",desc:"Actions available in an Alert"},AdaptableAlertBase:{name:"AdaptableAlertBase",kind:"I",desc:"Defines the base(common) properties of an Alert fired by AdapTable, regardless of the type of change",props:[{name:"alertDefinition",kind:"R",desc:"Rule that caused Alert to fire",ref:"AlertDefinition"},{name:"alertType",kind:"u",desc:"The type of Alert"},{name:"header",kind:"s",desc:"Alert Header text"},{name:"message",kind:"s",desc:"Alert Body text"}]},AdaptableAlertQuery:{name:"AdaptableAlertQuery",kind:"A",desc:"Alert Query which may be either a Boolean, Observable or AggregatedBoolean Expression"},AdaptableAlertType:{name:"AdaptableAlertType",kind:"A",desc:"Type of AdapTable Alert: generic, cellChange or rowChange"},AdaptableBaseIcon:{name:"AdaptableBaseIcon",kind:"I",desc:"Base interface for AdaptableIcon",props:[{name:"className",kind:"s",desc:"The class name of the icon",isOpt:!0},{name:"style",kind:"R",desc:"CSS Properties",isOpt:!0,ref:"unknown"}]},AdaptableBooleanQuery:{name:"AdaptableBooleanQuery",kind:"I",desc:"Wraps an AdapTableQL Boolean Expression"},AdaptableButton:{name:"AdaptableButton",kind:"I",desc:"Defines a Button that appears in numerous places including Adaptable Form",props:[{name:"buttonStyle",kind:"u",desc:"Style for Button - can be object or function that provides a `ButtonStyle` object",isOpt:!0},{name:"disabled",kind:"u",desc:"Function that disables / enables the button based on its evaluation result",isOpt:!0},{name:"hidden",kind:"u",desc:"Function which sets whether Button is hidden",isOpt:!0},{name:"icon",kind:"u",desc:"Icon for Button - can be object or function that provides a `AdaptableIcon` object",isOpt:!0},{name:"label",kind:"u",desc:"Label for Button - can be string or function that provides string",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when button is clicked",isOpt:!0},{name:"tooltip",kind:"u",desc:"Tooltip for Button - can be string or function that provides string",isOpt:!0}]},AdaptableCalculatedColumnQuery:{name:"AdaptableCalculatedColumnQuery",kind:"A",desc:"Calculated Column Query which may be a Scalar or an AggregatedScalar Expression"},AdaptableCellChangedAlert:{name:"AdaptableCellChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a cell is changed",props:[{name:"cellDataChangedInfo",kind:"u",desc:"Cell DataChange which triggered Alert"}]},AdaptableClearStateFunction:{name:"AdaptableClearStateFunction",kind:"I",desc:"Allows clearing state when a custom persistState is used. Only called by configApi.reloadPredefinedConfig"},AdaptableColumn:{name:"AdaptableColumn",kind:"I",desc:"Defines an Adaptable Column - created at run-time based on AG Grid ColDef",props:[{name:"aggregatable",kind:"b",desc:"Is Column able to display aggregations (e.g. 'sum') when grouped"},{name:"aggregationFunction",kind:"s",desc:"Custom Aggregation function for the Column",isOpt:!0},{name:"availableAggregationFunctions",kind:"a",desc:"Available Aggregations for the Column",isOpt:!0},{name:"columnGroup",kind:"R",desc:"The parent Column group (if Column belongs to one)",isOpt:!0,ref:"unknown"},{name:"exportable",kind:"b",desc:"Whether the Column can be included in Reports"},{name:"field",kind:"u",desc:"Field in the row to get cell data from",isOpt:!0},{name:"filterable",kind:"b",desc:"Is Column able to be filtered"},{name:"flex",kind:"n",desc:"Flex details of the Column",isOpt:!0},{name:"groupable",kind:"b",desc:"Can Column form a Row Group"},{name:"hideable",kind:"b",desc:"Can Column be removed from the grid"},{name:"isExcludedFromQuickSearch",kind:"b",desc:"Has colummn been excluded from Quick Search results"},{name:"isFixed",kind:"b",desc:"Is Column pinned or locked into position"},{name:"isGrouped",kind:"b",desc:"Is Column currently Row-Grouped"},{name:"isPrimaryKey",kind:"b",desc:"Is this the Primary Key Column"},{name:"isSparkline",kind:"b",desc:"Is it a Sparkline Column"},{name:"moveable",kind:"b",desc:"Can Column be moved at run-time to a new position"},{name:"pinned",kind:"'left' | 'right' | false",desc:"The pinned position of the Column"},{name:"pivotable",kind:"b",desc:"Can Column be used in a Pivot Grid"},{name:"queryable",kind:"b",desc:"Can the Column be in included in Queries / Expressions"},{name:"readOnly",kind:"b",desc:"Is Column editable; returns FALSE if Column has conditional/dynamic editability, assuming some rows are editable"},{name:"sortable",kind:"b",desc:"Is Column sortable"},{name:"visible",kind:"b",desc:"Is Column currently visible"},{name:"width",kind:"n",desc:"Column width",isOpt:!0}]},AdaptableColumnBase:{name:"AdaptableColumnBase",kind:"I",desc:"Base class for Adaptable Column containing most important properties",props:[{name:"columnId",kind:"s",desc:"Name of Column in AG Grid (e.g. field or colId)"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"friendlyName",kind:"s",desc:"How Column is referred to in Adaptable UI; `Caption` property in AG Grid"}]},AdaptableColumnDataType:{name:"AdaptableColumnDataType",kind:"A",desc:"Type of data stored in an Adaptable Column"},AdaptableColumnType:{name:"AdaptableColumnType",kind:"A",desc:"Column Types recognised by AdapTable; to be set in GridOptions"},AdaptableComparerFunction:{name:"AdaptableComparerFunction",kind:"A",desc:"Standard comparer function used to evaluate custom sorts, returns -1, 0, 1 as required"},AdaptableCoordinate:{name:"AdaptableCoordinate",kind:"I",desc:"Used by AdapTable to remember position of Floating Dashboard",props:[{name:"x",kind:"n",desc:"x axis number"},{name:"y",kind:"n",desc:"y axis number"}]},AdaptableDashboardToolbar:{name:"AdaptableDashboardToolbar",kind:"A",desc:"List of all the Toolbars that Adaptable provides"},AdaptableDataChangeHistoryAction:{name:"AdaptableDataChangeHistoryAction",kind:"A",desc:"Built in `undo` data change action"},AdaptableElementIcon:{name:"AdaptableElementIcon",kind:"I",desc:"Defines an icon as a provided DOM element or HTML string",props:[{name:"element",kind:"u",desc:"The icon to display, either a DOM element or HTML string"}]},AdaptableExternalIcon:{name:"AdaptableExternalIcon",kind:"I",desc:"Defines an icon from an external source",props:[{name:"src",kind:"s",desc:"The URL of the icon to use"}]},AdaptableFDC3EventInfo:{name:"AdaptableFDC3EventInfo",kind:"I",desc:"EventInfo returned by `FDC3MessageSent` event",props:[{name:"context",kind:"R",desc:"Full FDC3 Context for the object related to the event",ref:"FDC3Context"},{name:"eventType",kind:"'RaiseIntent' | 'RaiseIntentForContext' | 'BroadcastMessage'",desc:"Type of Event: `RaiseIntent`, `RaiseIntentForContext` or `BroadcastMessage`"},{name:"intent",kind:"u",desc:"The FDC3 Intent which caused Event to fire (if type is `RaiseIntent`)",isOpt:!0}]},AdaptableFlashingCell:{name:"AdaptableFlashingCell",kind:"I",desc:"Defines an Alert fired by AdapTable",props:[{name:"cellDataChangedInfo",kind:"R",desc:"Data change which triggered the FlashingCell",isOpt:!0,ref:"CellDataChangedInfo"},{name:"direction",kind:"'up' | 'down' | 'neutral'",desc:"Direction of the change: 'up', 'down' or 'neutral'"},{name:"flashColumnIds",kind:"u",desc:"Column Ids that are flashing"},{name:"flashingCellDefinition",kind:"R",desc:"Rule that caused the FlashingCell to fire",ref:"FlashingCellDefinition"},{name:"flashTarget",kind:"u",desc:"What will flash (e.g. Cell, Row)"},{name:"rowPrimaryKey",kind:"s",desc:"Primary Key Value of Row which is flashing"}]},AdaptableForm:{name:"AdaptableForm",kind:"I",desc:"Defines a form which appears dynamically; used by Alerts & Export Custom Destinations",props:[{name:"buttons",kind:"a",desc:"Buttons to include in the Form",isOpt:!0},{name:"description",kind:"s",desc:"Additional information to appear in the Form",isOpt:!0},{name:"fields",kind:"u",desc:"Collection of Dynamic Fields to display",isOpt:!0},{name:"title",kind:"s",desc:"Title to appear in the Form",isOpt:!0}]},AdaptableFormat:{name:"AdaptableFormat",kind:"A",desc:"Object containing formatting information for Numeric and Date Columns"},AdaptableFormData:{name:"AdaptableFormData",kind:"A",desc:"Data which appears in an AdapTable Form"},AdaptableFormField:{name:"AdaptableFormField",kind:"I",desc:"Defines a Field that appears in an Adaptable Form",props:[{name:"defaultValue",kind:"string | boolean | number",desc:"Field Default Value - can be of type string, boolean, number",isOpt:!0},{name:"fieldType",kind:"R",desc:"Field Type: text, date, number, checkbox, select, textOutput",ref:"AdaptableFormFieldType"},{name:"label",kind:"s",desc:"Label to display in the Field"},{name:"name",kind:"s",desc:"Name of the Field"},{name:"options",kind:"u",desc:"Items to populate the Select input",isOpt:!0}]},AdaptableFormFieldType:{name:"AdaptableFormFieldType",kind:"A",desc:"Types of Controls used in an AdapTable Form"},AdaptableFrameworkComponent:{name:"AdaptableFrameworkComponent",kind:"A",desc:"Base Component for Bespoke Components - Can be Angular or React"},AdaptableGenericAlert:{name:"AdaptableGenericAlert",kind:"I",desc:"Defines a generic AdapTable Alert"},AdaptableIcon:{name:"AdaptableIcon",kind:"A",desc:"Defines an icon to be used in AdapTable (e.g. in Dashboard Header, Buttons, Menu, etc.)"},AdaptableInternalIcon:{name:"AdaptableInternalIcon",kind:"I",desc:"Defines an icon from the internal AdapTable icon set",props:[{name:"name",kind:"R",desc:"The name of the icon to use (referencing the AdapTable Icon Library)",ref:"AdaptableInternalIconName"},{name:"size",kind:"n",desc:"The size (in pixels) of the SVG icon (defaults to `17px`)",isOpt:!0}]},AdaptableInternalIconName:{name:"AdaptableInternalIconName",kind:"A",desc:"All AdapTable internal icon names"},AdaptableLoadStateFunction:{name:"AdaptableLoadStateFunction",kind:"I",desc:"Allows customization of state loading - used by `loadState` function in StateOptions"},AdaptableMenuItem:{name:"AdaptableMenuItem",kind:"I",desc:"Menu item used by Adaptable in both Column and Context Menus",props:[{name:"icon",kind:"R",desc:"Icon to display in Menu Item",isOpt:!0,ref:"AdaptableIcon"},{name:"isVisible",kind:"b",desc:"Whether menu item is visible"},{name:"label",kind:"s",desc:"Name that appears in the menu"},{name:"module",kind:"u",desc:"Adaptable Module associated with (Adaptable) menu item.",isOpt:!0},{name:"onClick",kind:"u",desc:"Function to invoke when (custom) menu item is clicked",isOpt:!0},{name:"reduxAction",kind:"R",desc:"Adaptable Redux Action to invoke when (Adaptable) menu item is clicked",isOpt:!0,ref:"unknown"},{name:"subItems",kind:"a",desc:"Sub Menu Items to display",isOpt:!0}]},AdaptableMessageType:{name:"AdaptableMessageType",kind:"A",desc:"Defines a Message Types: 'Success', 'Info', 'Warning' or 'Error'"},AdaptableModule:{name:"AdaptableModule",kind:"A",desc:"Modules provided by AdapTable, subject to Entitlements and usually have Predefined Config"},AdaptableModuleButton:{name:"AdaptableModuleButton",kind:"A",desc:"List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button"},AdaptableObject:{name:"AdaptableObject",kind:"I",desc:"Base interface which all other Adaptable State-related objects extend",props:[{name:"IsReadOnly",kind:"b",desc:"Sets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')",isOpt:!0},{name:"Source",kind:"'Config' | 'User'",desc:"Source of state object: 'Config' if provided via `AdaptableOptions.predefinedConfig`, 'User' or undefined for runtime state.",isOpt:!0},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object; often used for (but not limited to) managing Layout object scope",isOpt:!0},{name:"Uuid",kind:"R",desc:"Unique identifier for the Adaptable Object, generated and used internally by AdapTable",isOpt:!0,ref:"unknown"}]},AdaptableObjectLookupCriteria:{name:"AdaptableObjectLookupCriteria",kind:"I",desc:"Lookup criteria for finding specific AdaptableObjects. All given criteria will be composed with an AND operator.",props:[{name:"ids",kind:"u",desc:"Technical IDs of Adaptable Objects",isOpt:!0},{name:"scope",kind:"R",desc:"AdaptableScope",isOpt:!0,ref:"AdaptableScope"},{name:"tag",kind:"R",desc:"AdaptableObjectTag",isOpt:!0,ref:"AdaptableObjectTag"}]},AdaptableObjectTag:{name:"AdaptableObjectTag",kind:"A",desc:"AdaptableObjectTag Object Tag - currently supporting only plain string values, but open for future extensions, if ever needed."},AdaptableObservableQuery:{name:"AdaptableObservableQuery",kind:"I",desc:"Wraps an AdapTableQL Observable Expression"},AdaptableOptions:{name:"AdaptableOptions",kind:"I",desc:"Group of property options enabling developers to set up AdapTable at design time to fit precise requirements - provides AG Grid, Predefined Config and other information required to ensure a full, rich user experience",props:[{name:"actionOptions",kind:"u",desc:"Options for managing Action Columns and Action Rows",isOpt:!0},{name:"adaptableId",kind:"s",desc:"Identifier for this instance of AdapTable",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"'adaptable_id'"},{name:"adaptableQLOptions",kind:"u",desc:"Options for managing AdapTableQL",isOpt:!0,noCode:"container"},{name:"adaptableStateKey",kind:"s",desc:"Identifier used as localStorage persistence key for AdaptableState",isOpt:!0,gridInfo:"item",defVal:"`adaptableId` value"},{name:"alertOptions",kind:"u",desc:"Options for managing Alerts in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"autogeneratePrimaryKey",kind:"b",desc:"Will autogenerate a Primary Key; only use as a last resort if no unique column is available, as limits some Adaptable functionalities",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"chartingOptions",kind:"R",desc:"Options for managing AG Grid's Charting",isOpt:!0,noCode:"container",ref:"ChartingOptions"},{name:"columnOptions",kind:"R",desc:"Options related to Columns",isOpt:!0,noCode:"container",ref:"ColumnOptions"},{name:"containerOptions",kind:"R",desc:"Options for setting the 'Div' elements in which AdapTable, AG Grid, popups are placed",isOpt:!0,ref:"ContainerOptions"},{name:"dashboardOptions",kind:"R",desc:"Options for managing the Dashboard in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"DashboardOptions"},{name:"dataChangeHistoryOptions",kind:"u",desc:"Options to manage Data Change History Module which provides an overview of all data changes",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"editOptions",kind:"u",desc:"Options related to Editing in AdapTable including Server Validation",isOpt:!0,gridInfo:"container"},{name:"entitlementOptions",kind:"R",desc:"Options for managing Entitlements",isOpt:!0,gridInfo:"container",ref:"EntitlementOptions"},{name:"exportOptions",kind:"R",desc:"Options for managing Exporting and Reports in AdapTable",isOpt:!0,gridInfo:"container",ref:"ExportOptions"},{name:"filterOptions",kind:"u",desc:"Options for managing Filtering in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"flashingCellOptions",kind:"R",desc:"Options for managing Flashing Cells - primarily default values",isOpt:!0,gridInfo:"container",ref:"FlashingCellOptions"},{name:"generalOptions",kind:"u",desc:"General options to manage AdapTable e.g. grouping behaviour, Primary Keys",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"gridOptions",kind:"u",desc:"The AG Grid object which AdapTable interacts with. Note: if using AdapTable React or AdapTable Angular, no need to populate this property as AdapTable wires it up differently",isOpt:!0},{name:"layoutOptions",kind:"R",desc:"Options related to Layouts",isOpt:!0,gridInfo:"container",noCode:"container",ref:"LayoutOptions"},{name:"licenseKey",kind:"s",desc:"Commercial license key. If the license is not provided or is expired, various visual information notes will be displayed and some functionality may be limited.",isOpt:!0},{name:"menuOptions",kind:"u",desc:"Options for managing AdapTable menus",isOpt:!0,gridInfo:"container"},{name:"notificationsOptions",kind:"R",desc:"Options for managing Notifications in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"NotificationsOptions"},{name:"plugins",kind:"a",desc:"Used for managing the AdapTable Plugins",isOpt:!0},{name:"predefinedConfig",kind:"u",desc:"User State set at design-time and shipped with AdapTable for first use; can be `PredefinedConfig` object or url to file containing config",isOpt:!0,defVal:"undefined"},{name:"primaryKey",kind:"u",desc:"Name of Column in AdapTable guaranteed to contain unique values",gridInfo:"item",defVal:"n/a (Mandatory)"},{name:"searchOptions",kind:"u",desc:"Options for managing Search related functions in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container"},{name:"settingsPanelOptions",kind:"R",desc:"Setting panel options",isOpt:!0,gridInfo:"container",noCode:"container",ref:"SettingsPanelOptions"},{name:"stateOptions",kind:"R",desc:"Options related to state hydration / dehydration - allows users to intercept state persistence and state loading and change default behaviour of saving to local storage",isOpt:!0,ref:"StateOptions"},{name:"teamSharingOptions",kind:"R",desc:"Options for managing 'Team Sharing' which allows users to create Adaptable Objects and share with colleagues",isOpt:!0,gridInfo:"container",ref:"TeamSharingOptions"},{name:"toolPanelOptions",kind:"R",desc:"Options related to managing the Tool Panel elements in AdapTable",isOpt:!0,gridInfo:"container",noCode:"container",ref:"ToolPanelOptions"},{name:"userInterfaceOptions",kind:"u",desc:"Options for managing the User Interface elements of AdapTable, i.e. Action Columns, Color Palette etc.",isOpt:!0,gridInfo:"container"},{name:"userName",kind:"s",desc:"Name of current AdapTable user",isOpt:!0,gridInfo:"item",defVal:"'anonymous'"}]},AdaptablePersistentState:{name:"AdaptablePersistentState",kind:"I",desc:"The state object of Adaptable which is persisted"},AdaptablePersistStateFunction:{name:"AdaptablePersistStateFunction",kind:"I",desc:"Allows customization of state persistence - used `persistState` function in StateOptions"},AdaptablePlugin:{name:"AdaptablePlugin",kind:"C",desc:"Base class for all AdapTable Plugins"},AdaptablePredicate:{name:"AdaptablePredicate",kind:"I",desc:"Predicate object used by AdapTableQL - essentially a boolean function",props:[{name:"Inputs",kind:"a",desc:"Optional Inputs that might be needed for evaluation",isOpt:!0},{name:"PredicateId",kind:"s",desc:"Id of Predicate (e.g. `Equals`, `GreaterThan`)"}]},AdaptablePredicateDef:{name:"AdaptablePredicateDef",kind:"I",desc:"Defines a Predicate - include where it can run and what it does",props:[{name:"columnScope",kind:"R",desc:"Columns (or DataTypes) where Predicate is active",ref:"AdaptableScope"},{name:"handler",kind:"f",desc:"Actual boolean function invoked when evaluating the Predicate"},{name:"icon",kind:"u",desc:"Icon to show (primarily used in Filter dropdown)",isOpt:!0},{name:"id",kind:"s",desc:"Unique Id for the object"},{name:"inputs",kind:"a",desc:"Inputs the Predicate can take",isOpt:!0},{name:"label",kind:"s",desc:"Name of the Predicate"},{name:"moduleScope",kind:"a",desc:"Modules where the Predicate can run"},{name:"onlyQuickFilter",kind:"b",desc:"Display this predicate only in Quick Filter Bar (and NOT in Filter Form)",isOpt:!0},{name:"shortcuts",kind:"a",desc:"Keyboard shortcuts to initiate predicate - used in Quick Filter bar",isOpt:!0},{name:"toString",kind:"f",desc:"String representation of the Predicate",isOpt:!0}]},AdaptableQLModule:{name:"AdaptableQLModule",kind:"A",desc:"Modules which leverage AdapTableQL; can be used to set remote evaluation"},AdaptableQLOptions:{name:"AdaptableQLOptions",kind:"I",desc:"Options for managing AdapTableQL: AdapTable's Query Language which evaluates Predicates and Expressions",props:[{name:"caseSensitiveTextComparisons",kind:"b",desc:"Perform case-sensitive text comparisons when evaluating Predicates and Expressions",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"customPredicateDefs",kind:"a",desc:"Definitions for Custom provided Predicates",isOpt:!0},{name:"displayColumnFriendlyNamesForExpressions",kind:"b",desc:"Reference a Column's Header (i.e. FriendlyName) in all Expression overviews (instead of ColumnId)",isOpt:!0,noCode:"item",defVal:"true"},{name:"evaluateAdaptableQLExternally",kind:"u",desc:"Whether a Module (or specific expression) should be evaluated by AdapTableQL",isOpt:!0,defVal:"All Modules are evaluated by AdapTable"},{name:"expressionOptions",kind:"R",desc:"Options for managing Expressions in AdapTableQL",isOpt:!0,ref:"ExpressionOptions"},{name:"predicateOptions",kind:"R",desc:"Options for managing Predicates in AdapTableQL",isOpt:!0,ref:"PredicateOptions"}]},AdaptableQuery:{name:"AdaptableQuery",kind:"A",desc:"An AdaptableQuery can be either a Boolean, Scalar, Observable, AggregatedBoolean, or AggregatedScalar expression"},AdaptableReportColumn:{name:"AdaptableReportColumn",kind:"I",desc:"Column which is included in a Report",props:[{name:"columnId",kind:"s",desc:"ColumnID"},{name:"dataType",kind:"R",desc:"DataType of the Column",ref:"AdaptableColumnDataType"},{name:"field",kind:"s",desc:"Field name to get the value from the row data (defaults to `columnId`)",isOpt:!0},{name:"friendlyName",kind:"s",desc:"Column Header"}]},AdaptableRowChangedAlert:{name:"AdaptableRowChangedAlert",kind:"I",desc:"Defines an Alert fired by AdapTable when a row is changed",props:[{name:"gridDataChangedInfo",kind:"u",desc:"Row DataChange which triggered Alert"}]},AdaptableSaveStateFunction:{name:"AdaptableSaveStateFunction",kind:"I",desc:"Allows the customization state persistence - used by `saveState` function in StateOptions"},AdaptableScalarQuery:{name:"AdaptableScalarQuery",kind:"I",desc:"Wraps an AdapTableQL Scalar Expression"},AdaptableScope:{name:"AdaptableScope",kind:"A",desc:"Defines where a given Object / Module is active"},AdaptableSettingsPanel:{name:"AdaptableSettingsPanel",kind:"A",desc:"Modules which can appear in the Settings Panel"},AdaptableSharedEntity:{name:"AdaptableSharedEntity",kind:"I",desc:"Defines an AdaptableObject shared with Team Sharing",props:[{name:"ChangedAt",kind:"n",desc:"Last time when the object was changed"},{name:"ChangedBy",kind:"s",desc:"Last User who changed the object"},{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Entity",kind:"R",desc:"Actual Adaptable Object being shared",ref:"AdaptableObject"},{name:"EntityDependencyIds",kind:"a",desc:"Ids of direct entity dependencies"},{name:"EntityType",kind:"u",desc:"Type of shared entity (either Adaptable specific or custom object)"},{name:"Module",kind:"R",desc:"Adaptable Module to which object belongs",ref:"AdaptableModule"},{name:"Revision",kind:"n",desc:"Revision - incremental for 'Active', always 1 for 'Snapshot'"},{name:"Timestamp",kind:"n",desc:"When the object was shared"},{name:"Type",kind:"R",desc:"'Snapshot' (for 1-time sharing) or 'Active' (for continuous sharing between local state & Team Share)",ref:"SharedEntityType"},{name:"UserName",kind:"s",desc:"User who shared the object"}]},AdaptableSharedEntityConfig:{name:"AdaptableSharedEntityConfig",kind:"I",desc:"Describes an AdaptableObject which is being Team Shared"},AdaptableState:{name:"AdaptableState",kind:"I",desc:"The main state object of Adaptable"},AdaptableStateFunctionConfig:{name:"AdaptableStateFunctionConfig",kind:"I",desc:"State Function Config object passed into all State Options functions (except 'applyState')",props:[{name:"adaptableId",kind:"s",desc:"Id of current Adaptable instance"},{name:"adaptableStateKey",kind:"s",desc:"State Key being used"},{name:"userName",kind:"s",desc:"current Adaptable user"}]},AdaptableStatusBar:{name:"AdaptableStatusBar",kind:"I",desc:"Defines an Adaptable Status Bar",props:[{name:"Key",kind:"s",desc:"Key of Status Bar Panel defined in AG Grid GridOptions - ensure keys are the same (Note: AG Grid statusPanel has a lowercase 'key')"},{name:"StatusBarPanels",kind:"a",desc:"Module Status Panels to render inside Adaptable Status Bar",isOpt:!0}]},AdaptableStatusBarPanel:{name:"AdaptableStatusBarPanel",kind:"A",desc:"Modules which can appear in the AdapTable Status Bar"},AdaptableStyle:{name:"AdaptableStyle",kind:"I",desc:"Style object used in numerous AdapTable Modules",props:[{name:"BackColor",kind:"s",desc:"Colour background of cell: hex, rgb(a) or name",isOpt:!0},{name:"BorderColor",kind:"s",desc:"Colour of cell border: hex, rgb(a) or name",isOpt:!0},{name:"ClassName",kind:"s",desc:"Existing CSS Class; use instead of setting other object properties",isOpt:!0},{name:"FontSize",kind:"'XSmall' | 'Small' | 'Medium' | 'Large' | 'XLarge'",desc:"Size of font: `XSmall`, `Small`, `Medium`, `Large` or `XLarge`",isOpt:!0},{name:"FontStyle",kind:"'Normal' | 'Italic'",desc:"Style of font: `Normal` or `Italic`",isOpt:!0},{name:"FontWeight",kind:"'Normal' | 'Bold'",desc:"Weight of font: `Normal` or `Bold`",isOpt:!0},{name:"ForeColor",kind:"s",desc:"Font colour in cell: hex, rgb(a) or name",isOpt:!0}]},AdaptableTheme:{name:"AdaptableTheme",kind:"I",desc:"Used for creating User (i.e. Custom) Themes",props:[{name:"AgGridClassName",kind:"s",desc:"Ag Grid theme to apply when loading theme",isOpt:!0},{name:"CSSVariables",kind:"u",desc:"Variables to be applied at runtime",isOpt:!0},{name:"Description",kind:"s",desc:"Description of Theme - will appear in Theme Toolbar and Toolpanel"},{name:"Name",kind:"s",desc:"Name of the Theme"}]},AdaptableToolPanel:{name:"AdaptableToolPanel",kind:"A",desc:"Modules which can appear as AdapTable Tool Panels"},AdaptableToolPanelDefinition:{name:"AdaptableToolPanelDefinition",kind:"I",desc:"Defines a ToolPanel - Name and VisibilityMode (Expanded / Collapsed)",props:[{name:"Name",kind:"u",desc:"ToolPanel name - either an Adaptable Module or a Custom ToolPanel (defined in ToolPanel Options)"},{name:"VisibilityMode",kind:"'expanded' | 'collapsed'",desc:"Whether the ToolPanel is 'expanded' or 'collapsed'",isOpt:!0,defVal:"'collapsed'"}]},AlertButton:{name:"AlertButton",kind:"I",desc:"Defines a button that appears in an Alert Form",props:[{name:"Action",kind:"u",desc:"Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options",isOpt:!0},{name:"ButtonStyle",kind:"R",desc:"Style for the Button",isOpt:!0,ref:"ButtonStyle"},{name:"Label",kind:"s",desc:"Label to show in the Button"},{name:"Tooltip",kind:"s",desc:"ToolTip to display",isOpt:!0}]},AlertDefinition:{name:"AlertDefinition",kind:"I",desc:"The Alert Definition object used in the Alert function",props:[{name:"AlertForm",kind:"u",desc:"Form to display in Alert with buttons and inputs",isOpt:!0},{name:"AlertProperties",kind:"R",desc:"Series of properties which set what happens when Alert is triggered",isOpt:!0,ref:"AlertProperties"},{name:"MessageHeader",kind:"s",desc:"The Alert Title Message to display",isOpt:!0},{name:"MessageText",kind:"s",desc:"Alert Message; if not provided AdapTable creates dynamically using Rule & Scope (Note: can be provided as a function in AlertOptions)",isOpt:!0},{name:"MessageType",kind:"R",desc:"Type of Alert: 'Info', 'Success', 'Warning', 'Error'; influences Alert colour, icon and logging",ref:"AdaptableMessageType"},{name:"Rule",kind:"R",desc:"When Alert should be triggered",ref:"AlertRule"},{name:"Scope",kind:"R",desc:"Where Alert can be triggered: one, some or all columns or DataTypes",ref:"AdaptableScope"}]},AlertForm:{name:"AlertForm",kind:"A",desc:"Form to show in an Alert"},AlertFormContext:{name:"AlertFormContext",kind:"I",desc:"Context required by functions when using an Alert Button",props:[{name:"alert",kind:"u",desc:"Alert that has been triggered"}]},AlertMessageContext:{name:"AlertMessageContext",kind:"I",desc:"Context used for creating bespoke Alert messages",props:[{name:"alertDefinition",kind:"R",desc:"Current Alert Definition",ref:"AlertDefinition"},{name:"cellDataChangedInfo",kind:"u",desc:"Cell Data change that might have triggered the Alert",isOpt:!0},{name:"gridDataChangedInfo",kind:"u",desc:"Grid Data change that might have triggered the Alert (i.e. RowAdded / RowRemoved)",isOpt:!0}]},AlertOptions:{name:"AlertOptions",kind:"I",desc:"Options related to Alerts in Adaptable.",props:[{name:"actionHandlers",kind:"u",desc:"Custom onClick Handlers for Buttons (displayed in Alert Forms)",isOpt:!0},{name:"alertForms",kind:"u",desc:"Full definitions of Alert Forms - the names of which are provided in Alert State",isOpt:!0},{name:"alertMessageHeader",kind:"u",desc:"Function providing Header to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"alertMessageText",kind:"u",desc:"Function providing Message to display in Alert; if empty, AdapTable provides dynamically",isOpt:!0},{name:"cellHighlightDuration",kind:"n",desc:"How long (in ms) a Cell will be highlighted when an Alert fires",isOpt:!0,gridInfo:"item",defVal:"2000"},{name:"dataChangeDetectionPolicy",kind:"'rawValue' | 'formattedValue'",desc:"Whether Alert rule is evaluated against the `rawValue` or `formattedValue` of the changed cell data",isOpt:!0,gridInfo:"item",defVal:"'rawValue'"},{name:"maxAlertsInStore",kind:"n",desc:"How many alerts held in State at any one time; when limit is breached, oldest alert will be removed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"20"},{name:"rowHighlightDuration",kind:"n",desc:"How long (in ms) a Row will be highlighted when an Alert Fires",isOpt:!0,gridInfo:"item",defVal:"4000"},{name:"statusbarHighlightDuration",kind:"n",desc:"How long (in ms) Alert panel in Status Bar highlights when an Alert Fires",isOpt:!0,defVal:"2000"}]},AlertProperties:{name:"AlertProperties",kind:"I",desc:"Additional properties that specify how a particular Alert will ALWAYS behave",props:[{name:"DisplayNotification",kind:"b",desc:"Displays a notification when Alert is triggered",isOpt:!0},{name:"HighlightCell",kind:"u",desc:"Colours updated cell using `MessageType` property of triggering Alert Definition",isOpt:!0},{name:"HighlightRow",kind:"u",desc:"Colours updated cell using `MessageType` property of triggering Alert Definition",isOpt:!0},{name:"JumpToCell",kind:"b",desc:"Grid will 'jump' to the changed cell which triggered the Alert",isOpt:!0},{name:"JumpToRow",kind:"b",desc:"Grid will 'jump' to the newly added row which triggered the Alert",isOpt:!0},{name:"LogToConsole",kind:"b",desc:"Logs the Alert message to the console",isOpt:!0},{name:"NotificationDuration",kind:"u",desc:"Notifiction duration, it defaults to NotificationOptions.duration",isOpt:!0},{name:"PreventEdit",kind:"b",desc:"Automatically prevent any cell edit which triggered the Alert (i.e. validation)",isOpt:!0,defVal:"false"},{name:"ShowInDiv",kind:"b",desc:"Shows Alert text in the div specificed in `alertContainer` property of Container Options",isOpt:!0}]},AlertRule:{name:"AlertRule",kind:"A",desc:"The Alert Rule defined by either an AdaptablePredicate or an AdaptableQuery"},AlertState:{name:"AlertState",kind:"I",desc:"Predefined Configuration for Alert Module",props:[{name:"AlertDefinitions",kind:"a",desc:"Alert Definitions - will trigger Alerts when rule is met",isOpt:!0}]},AlternativeModuleName:{name:"AlternativeModuleName",kind:"I",desc:"Defines a new name for an Adaptable Module (e.g. change Dashboard to Grid Manager)",props:[{name:"adaptableModule",kind:"R",desc:"Adaptable Module to rename",ref:"AdaptableModule"},{name:"newName",kind:"s",desc:"New name to use"}]},AngularFrameworkComponent:{name:"AngularFrameworkComponent",kind:"A",desc:"Angular component defined by its type and (optional) initialisation callback"},ApplicationDataEntry:{name:"ApplicationDataEntry",kind:"I",desc:"Simple Key / Value pair object used to store custom - stringifiable - data in Adaptable State.",props:[{name:"Key",kind:"s",desc:"Key of Key / Value pair - always stored as a string"},{name:"Value",kind:"u",desc:"Value of Key / Value pair (actual data being stored) - needs to stringifiable"}]},ApplicationState:{name:"ApplicationState",kind:"I",desc:"Predefined Configuration for the Application Module",props:[{name:"ApplicationDataEntries",kind:"a",desc:"Array of Key / Value pairs enabling custom data to be stored in Adaptable State.",isOpt:!0}]},AutoGenerateTagsForLayoutsContext:{name:"AutoGenerateTagsForLayoutsContext",kind:"I",desc:"Context for `LayoutOptions.autoGenerateTagsForLayouts` method",props:[{name:"layouts",kind:"a",desc:"Layouts currently in Adaptable State"},{name:"objectTags",kind:"a",desc:"Object Tags provided in User Interface Options"}]},BaseContext:{name:"BaseContext",kind:"I",desc:"Base Context used in many functions provided by developers and invoked as needed by AdapTable",props:[{name:"adaptableApi",kind:"R",desc:"The Adaptable Api - included as a convenience",ref:"unknown"}]},BulkUpdatePermittedValues:{name:"BulkUpdatePermittedValues",kind:"I",desc:"User to define permitted values when updating cells via bulk update",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Bulk Update Wizard - can be async"}]},BulkUpdatePermittedValuesContext:{name:"BulkUpdatePermittedValuesContext",kind:"I",desc:"Context used when getting BulkUpdatePermittedValues via a function",props:[{name:"gridCells",kind:"u",desc:"Cells which will be modified in the Bulk Update"}]},ButtonStyle:{name:"ButtonStyle",kind:"I",desc:"Defines the look and feel of an Adaptable Button",props:[{name:"className",kind:"s",desc:"CSS Classname to use for the Button",isOpt:!0},{name:"tone",kind:"'success' | 'error' | 'neutral' | 'none' | 'warning' | 'info' | 'accent'",desc:"Button's Tone - values: 'success', 'error', 'neutral', 'none', 'warning', 'info', 'accent'",isOpt:!0,defVal:"'neutral'"},{name:"variant",kind:"'text' | 'outlined' | 'raised'",desc:"How Button appears - values: 'text', 'outlined', 'raised'",isOpt:!0,defVal:"'outlined'"}]},CalculatedColumn:{name:"CalculatedColumn",kind:"I",desc:"Defines a Column where the display value is derived from other values in row, and the definition is stored in State.",props:[{name:"CalculatedColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",ref:"CalculatedColumnSettings"},{name:"ColumnId",kind:"s",desc:"Name of Calculated Column"},{name:"FriendlyName",kind:"s",desc:"Name to be used in Column Header; if blank `ColumnId` is used",isOpt:!0},{name:"Query",kind:"R",desc:"Scalar/AggregatedScalar Query used by AdapTableQL to evaluate Column's value",ref:"AdaptableCalculatedColumnQuery"}]},CalculatedColumnSettings:{name:"CalculatedColumnSettings",kind:"I",desc:"Set properties that define Calculated Column's behaviour (all optional except DataType)",props:[{name:"ShowToolTip",kind:"b",desc:"Show underlying Expression as ToolTip when hovering over a cell",isOpt:!0,defVal:"false"}]},CalculatedColumnState:{name:"CalculatedColumnState",kind:"I",desc:"Predefined Configuration for Calculated Column Module",props:[{name:"CalculatedColumns",kind:"a",desc:"Collection of Calculated Columns",isOpt:!0}]},CellColorRange:{name:"CellColorRange",kind:"I",desc:"Defines which Colours to show in Gradient and Percent Bar Styles",props:[{name:"Color",kind:"s",desc:"Cell colour to use for values that fall inside Range"},{name:"Max",kind:"number | 'Col-Max'",desc:"End number of Range"},{name:"Min",kind:"number | 'Col-Min'",desc:"Start number of Range"},{name:"ReverseGradient",kind:"b",desc:"Reverses the Gradient so the lower the cell value the darker the colour",isOpt:!0}]},CellDataChangedInfo:{name:"CellDataChangedInfo",kind:"I",desc:"Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row",props:[{name:"changedAt",kind:"n",desc:"Timestamp of change occurrence (in milliseconds)"},{name:"column",kind:"u",desc:"Column in which cell is situated"},{name:"newValue",kind:"u",desc:"New value for the cell"},{name:"oldValue",kind:"u",desc:"Value in the Cell before the edit"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Column's value for the row where edited cell is situated"},{name:"rowData",kind:"u",desc:"Data in the Row",isOpt:!0},{name:"rowNode",kind:"u",desc:"AG Grid RowNode that contains the cell",isOpt:!0},{name:"trigger",kind:"'edit' | 'tick' | 'undo' | 'aggChange'",desc:"What triggered the change - user, background change or a reverted change?",isOpt:!0}]},CellHighlightInfo:{name:"CellHighlightInfo",kind:"I",desc:"Defines how a given Cell in AdapTable should be highlighted",props:[{name:"columnId",kind:"s",desc:"Id of Column containing Cell"},{name:"highlightStyle",kind:"R",desc:"Adaptable Style to use in the Cell Highlight",ref:"AdaptableStyle"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key Value of row containing Cell"},{name:"timeout",kind:"n",desc:"Time after which Cell should be unhighlighted",isOpt:!0}]},CellSummaryOperation:{name:"CellSummaryOperation",kind:"I",desc:"Defines a Custom Cell Summary operation provided by a user",props:[{name:"operationFunction",kind:"u",desc:"Function to run when a summary result is required"},{name:"operationName",kind:"s",desc:"Name of the Operation - will be displayed in the Cell Summary components"}]},CellSummaryOperationContext:{name:"CellSummaryOperationContext",kind:"I",desc:"Context provided to a custom Cell Summary Operation function",props:[{name:"allValues",kind:"a",desc:"All values of selected cells"},{name:"distinctCount",kind:"n",desc:"Count of currently selected cells"},{name:"numericColumns",kind:"a",desc:"Any numeric columns in current selection"},{name:"numericValues",kind:"a",desc:"Any numeric values in current selection"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells"}]},CellSummmary:{name:"CellSummmary",kind:"I",desc:"Defines the Summary operations provides for Selected Cells"},CellTextOption:{name:"CellTextOption",kind:"A",desc:"Text optionally to show in a Special Column Style special style: 'CellValue' or 'PercentageValue'"},CellTextOptions:{name:"CellTextOptions",kind:"A",desc:"Array of CellTextOption available in Special Column Styles"},ChartContainer:{name:"ChartContainer",kind:"I",desc:"Describes Location to display an AG Grid Chart",props:[{name:"chartsDisplay",kind:"'single' | 'multiple'",desc:"Whether one or more Charts can be displayed in same location",isOpt:!0,defVal:"'single'"},{name:"element",kind:"u",desc:"Location - can be HTMLElement or CSS Selector"},{name:"name",kind:"s",desc:"Name of the Location - used in Dropdowns"}]},ChartDefinition:{name:"ChartDefinition",kind:"I",desc:"Wraps an AG Grid Chart Model",props:[{name:"Model",kind:"R",desc:"AG Grid Chart Model",ref:"unknown"},{name:"Name",kind:"s",desc:"Name of the Chart"}]},ChartingAggFunc:{name:"ChartingAggFunc",kind:"A",desc:"Aggregation function used in the Chart"},ChartingOptions:{name:"ChartingOptions",kind:"I",desc:"Options for managing AG Grid's Charts",props:[{name:"agGridContainerName",kind:"s",desc:"Name of AG Grid Chart Container",isOpt:!0,defVal:"'AG Grid Window'"},{name:"chartContainers",kind:"a",desc:"Locations to display saved Charts",isOpt:!0},{name:"saveStrategy",kind:"'auto' | 'manual' | 'none'",desc:"Behaviour for saving Charts: automatic, manual (via popup) or none",isOpt:!0,noCode:"item",defVal:"'none'"}]},ChartingState:{name:"ChartingState",kind:"I",desc:"Persists AG Grid Charts in Adaptable State",props:[{name:"ChartDefinitions",kind:"a",desc:"Wrappers around AG Grid Chart Models",isOpt:!0}]},ColumnComparison:{name:"ColumnComparison",kind:"I",desc:"Enables a Percent Bar or Gradient Style to use another column in its calculations",props:[{name:"Color",kind:"s",desc:"Colour to use for the Comparison"},{name:"MaxValue",kind:"number | string",desc:"End value - either numeric or Column name"},{name:"MinValue",kind:"number | string",desc:"Start value - either numeric or Column name"}]},ColumnFilter:{name:"ColumnFilter",kind:"I",desc:"Defines a Filter applied on a Column using a Predicate",props:[{name:"ColumnId",kind:"s",desc:"Column where Filter should be applied"},{name:"Predicate",kind:"R",desc:"`AdaptablePredicate` which AdaptableQL will evaluate when the Filter is run",ref:"ColumnFilterPredicate"}]},ColumnFilterDef:{name:"ColumnFilterDef",kind:"I",desc:"Column Filter Definition for a specific Column"},ColumnFilterPredicate:{name:"ColumnFilterPredicate",kind:"I",desc:"A Predicate used in Column Filtering"},ColumnFriendlyNameContext:{name:"ColumnFriendlyNameContext",kind:"I",desc:"Context used when setting a Column Friendly Name",props:[{name:"agColumn",kind:"R",desc:"AG Grid ColDef for the Column",ref:"unknown"},{name:"colId",kind:"s",desc:"Id of the Column"}]},ColumnMenuContext:{name:"ColumnMenuContext",kind:"I",desc:"Provides full details about the Column in which the Column Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Group"}]},ColumnOptions:{name:"ColumnOptions",kind:"I",desc:"Options related to managing Columns in Adaptable.",props:[{name:"autoOrderGroupedColumns",kind:"b",desc:"Order Grouped Column automatically, deriving from Adaptable State if available (CustomSort or Layout ColumnSort)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"columnFriendlyName",kind:"f",desc:"Provide an alternative Friendly Name for a Column",isOpt:!0,defVal:"undefined"},{name:"columnTypes",kind:"a",desc:"Optional list of Column Types - used primarily for Calculated and FreeText Columns",isOpt:!0,defVal:"undefined"},{name:"hideColumnWhenGrouped",kind:"b",desc:"",isOpt:!0},{name:"showMissingColumnsWarning",kind:"b",desc:"Show warning if AdapTable cannot find a column",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},ColumnSort:{name:"ColumnSort",kind:"I",desc:"Defines how a Column is sorted",props:[{name:"ColumnId",kind:"s",desc:"Id of Column being sorted"},{name:"SortOrder",kind:"'Asc' | 'Desc'",desc:"How Column is sorted - either 'Asc' or 'Desc'"}]},ColumnValuesComparer:{name:"ColumnValuesComparer",kind:"I",desc:"Comparer object for Column Values - used for custom sorting",props:[{name:"comparer",kind:"u",desc:"Comparer function to use"},{name:"scope",kind:"R",desc:"Column for which to compare values",ref:"AdaptableScope"}]},ConfigState:{name:"ConfigState",kind:"I",desc:"Base Interface for all Adaptable State objects; contains`Revision` property, used for versioning",props:[{name:"Revision",kind:`number | {
|
|
540
540
|
Key: number;
|
|
541
541
|
UpdateStrategy: 'Override' | 'KeepUserDefined';
|
|
542
|
-
}`,desc:"Version number of the Item - allows developers to update one section in Predefined Config while keeping others unchanged",isOpt:!0}]},ContactColumn:{name:"ContactColumn",kind:"I",desc:"A (String) Column which will be defined as an FDC3 Contact columnId and at least one other property is required",props:[{name:"emailColumnId",kind:"s",desc:"Column which holds the email address of a Contact",isOpt:!0},{name:"fds_idColumnId",kind:"s",desc:"Column which holds an FDS_ID value a Contact",isOpt:!0},{name:"intents",kind:"R",desc:"Contact-related FDC3 Intents; can be: `StartCall` `StartChat` `ViewContact`",isOpt:!0,ref:"ContactIntents"}]},ContactContext:{name:"ContactContext",kind:"I",desc:"FDC3 Context to define a Contact",props:[{name:"id",kind:"u",desc:"The Contact data: email, FDS_ID",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Contact",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `contact`"}]},ContactIntent:{name:"ContactIntent",kind:"A",desc:"FDC3 Intents available to a Contact Column"},ContactIntents:{name:"ContactIntents",kind:"A",desc:"All available Contact Intents"},ContactListContext:{name:"ContactListContext",kind:"I",desc:"FDC3 Context to define a list of Contacts",props:[{name:"contacts",kind:"a",desc:"The array of Contacts",isOpt:!0},{name:"id",kind:"u",desc:"Optional Id",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Contact list",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `contactList`"}]},ContainerOptions:{name:"ContainerOptions",kind:"I",desc:"Options for managing the different div elements required by AdapTable",props:[{name:"adaptableContainer",kind:"u",desc:"Div containing AdapTable - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:""adaptable""},{name:"agGridContainer",kind:"u",desc:"Div containing AG Grid instance - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:""grid""},{name:"agGridContainerWaitTimeout",kind:"n",desc:"How long AdapTable waits for AG Grid before giving up connecting to it",isOpt:!0,gridInfo:"item",defVal:"60s"},{name:"alertContainer",kind:"u",desc:"Div to show Alerts - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"modalContainer",kind:"u",desc:"Name of div where modals appear (if null, will be centre of page)",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"systemStatusContainer",kind:"u",desc:"Div to show System Status messages - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"}]},ContextData:{name:"ContextData",kind:"A",desc:"Data used in FDC3 Contexts"},ContextMenuContext:{name:"ContextMenuContext",kind:"I",desc:"Provides full details about current cell (and selected cells) where the Context Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"gridCell",kind:"u",desc:"Cell that has been clicked; contains cell value"},{name:"isGroupedNode",kind:"b",desc:"Whether current AG Grid row node is grouped"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Grouped"},{name:"isSelectedCell",kind:"b",desc:"Whether cell that was clicked is also currently selected"},{name:"isSelectedRow",kind:"b",desc:"Whether cell that was clicked is in a Row that is currently selected"},{name:"isSingleSelectedCell",kind:"b",desc:"Whether the clicked cell is the only selected cell"},{name:"isSingleSelectedColumn",kind:"b",desc:"Whether Column that was clicked is only column with selected cells"},{name:"primaryKeyValue",kind:"u",desc:"Value of Primary Key column in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid row node"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells in the grid"},{name:"selectedRowInfo",kind:"u",desc:"Currently selected rows in the grid"}]},CountryColumn:{name:"CountryColumn",kind:"I",desc:"A (String) Column which will be defined as an FDC3 Country",props:[{name:"intents",kind:"R",desc:"Country-related FDC3 Intents; can only be: `ViewChart`",isOpt:!0,ref:"CountryIntents"},{name:"isoalpha2ColumnId",kind:"s",desc:"Column which contains the ISOALPHA2 Standard",isOpt:!0},{name:"isoalpha3ColumnId",kind:"s",desc:"Column which contains the ISOALPHA3 Standard",isOpt:!0}]},CountryContext:{name:"CountryContext",kind:"I",desc:"FDC3 Context to define a Country",props:[{name:"id",kind:"u",desc:"The Country data: ISOALPHA2, ISOALPHA3",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Country",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `country`"}]},CountryIntent:{name:"CountryIntent",kind:"A",desc:"FDC3 Intents available to a Country Column"},CountryIntents:{name:"CountryIntents",kind:"A",desc:"All available Country Intents"},CreateActionRowFormContext:{name:"CreateActionRowFormContext",kind:"I",desc:"Context used in a Create Row Form",props:[{name:"clonedRowNode",kind:"u",desc:"The RowNode being cloned",isOpt:!0},{name:"type",kind:"u",desc:"Type of the Context"}]},CustomDestination:{name:"CustomDestination",kind:"I",desc:"Defines a custom Export destination",props:[{name:"form",kind:"u",desc:"Optional Adaptable Form; if provided, it must include Buttons that will execute the Export",isOpt:!0},{name:"name",kind:"s",desc:"Name of Custom Destination (mandatory)"},{name:"onExport",kind:"f",desc:"Optional Function invoked when Export is applied (used if no form is supplied)",isOpt:!0}]},CustomDisplayFormatter:{name:"CustomDisplayFormatter",kind:"I",desc:"Provides Custom Display Formats",props:[{name:"handler",kind:"f",desc:"Function used to perform the Custom Display Format"},{name:"id",kind:"s",desc:"Id of the Formatted"},{name:"label",kind:"s",desc:"Description",isOpt:!0},{name:"scope",kind:"R",desc:"Where the Custom Display Format can be applied",ref:"AdaptableScope"}]},CustomDisplayFormatterContext:{name:"CustomDisplayFormatterContext",kind:"I",desc:"Context used in handler of CustomDisplayFormatter",props:[{name:"adaptableColumn",kind:"R",desc:"Column where Custom Display Format will apply",ref:"AdaptableColumn"},{name:"cellValue",kind:"u",desc:"Non-formatted Cell Value"},{name:"rowNode",kind:"R",desc:"Node where Custom Display Format will apply",ref:"unknown"}]},CustomFDC3Column:{name:"CustomFDC3Column",kind:"I",desc:"A Column which will be defined as Custom FDC3 (can be any datatype)",props:[{name:"createContext",kind:"u",desc:"Function which creates FDC3 context for the current column and row"},{name:"intents",kind:"a",desc:"Custom FDC3 Intents available to the column"}]},CustomFDC3Context:{name:"CustomFDC3Context",kind:"I",desc:"Context used when providing Custom FDC3 content"},CustomFDC3Intent:{name:"CustomFDC3Intent",kind:"A",desc:"Custom FDC3 Intent - just a string value"},CustomQueryVariableContext:{name:"CustomQueryVariableContext",kind:"I",desc:"Context passed when evaluating `ExpressionOptions.customQueryVariables`",props:[{name:"args",kind:"a",desc:"Optional variable arguments",isOpt:!0}]},CustomRenderContext:{name:"CustomRenderContext",kind:"I",desc:"Context provided for any custom rendering",props:[{name:"element",kind:"R",desc:"Current Div Element",ref:"unknown"},{name:"visible",kind:"b",desc:"Whether Tool Panel is currently visible"}]},CustomSettingsPanel:{name:"CustomSettingsPanel",kind:"I",desc:"Definition of a Custom Panel to add to the Adaptable Settings Panel",props:[{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"icon",kind:"R",desc:"Icon rendered inside settings-panel name, inside the navigation",isOpt:!0,ref:"AdaptableIcon"},{name:"name",kind:"s",desc:"Appears in Settings Panel Navigation and must be included in settingsPanelOptions.navigation for it to be displayed (by default added to the end)"},{name:"render",kind:"f",desc:"Function to provide bespoke content when NOT using a Framework wrapper",isOpt:!0}]},CustomSharedEntityConfig:{name:"CustomSharedEntityConfig",kind:"I",desc:"Describes a custom Object which is being Team Shared",props:[{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Name",kind:"s",desc:"Name of object being shared"},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object",isOpt:!0},{name:"Uuid",kind:"s",desc:"Optional technical ID; if not provided, it will be auto-generated by Adaptable",isOpt:!0}]},CustomSort:{name:"CustomSort",kind:"I",desc:"Custom Sort object used in Custom Sort function.",props:[{name:"ColumnId",kind:"s",desc:"Id of Column on which Custom Sort will be applied"},{name:"SortedValues",kind:"a",desc:"Order of values by which Column will be sorted",isOpt:!0}]},CustomSortPermittedValues:{name:"CustomSortPermittedValues",kind:"I",desc:"Custom column values for Custom Sort",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Custom Sort Wizard - can be async"}]},CustomSortState:{name:"CustomSortState",kind:"I",desc:"Predefined Configuration for Custom Sort Module",props:[{name:"CustomSorts",kind:"a",desc:"Collection of Custom Sort objects.",isOpt:!0}]},CustomToolbar:{name:"CustomToolbar",kind:"I",desc:"Custom Toolbar (which AdapTable will manage) enabling devs to populate Dashboard with bepoke content",props:[{name:"frameworkComponent",kind:"R",desc:"The Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"How Toolbar is referenced (e.g. in Dashboard Popup when managing toolbars)"},{name:"render",kind:"f",desc:"Function to provide custom content when NOT using a Framework wrapper",isOpt:!0},{name:"showCloseButton",kind:"b",desc:"Shows a Close button at the bottom of Custom Toolbar",isOpt:!0},{name:"showConfigureButton",kind:"b",desc:"Shows a Configure (wrench) button which when clicked fires `CustomToolbarConfigured` event",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Toolbar; if unset or empty string, nothing will show",isOpt:!0},{name:"toolbarButtons",kind:"a",desc:"Optional set of buttons to show in the Toolbar",isOpt:!0}]},CustomToolbarButtonContext:{name:"CustomToolbarButtonContext",kind:"I",desc:"Context required by functions when using a Custom Toolbar Button",props:[{name:"customToolbar",kind:"R",desc:"Custom Toolbar which hosts the Button",ref:"CustomToolbar"}]},CustomToolPanel:{name:"CustomToolPanel",kind:"I",desc:"Defines a Custom ToolPanel - provided by Users and contains custom content",props:[{name:"buttons",kind:"a",desc:"Optional set of buttons to show in the ToolPanel",isOpt:!0},{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"Name of Custom ToolPanel - should be unique"},{name:"render",kind:"f",desc:"Function to provide bespoke content when using AdapTable Vanilla",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Custom ToolPanel; if undefined, will default to `name` property",isOpt:!0}]},DashboardButtonContext:{name:"DashboardButtonContext",kind:"I",desc:"Context required by functions when using a Dashboard Button",props:[{name:"dashboardState",kind:"R",desc:"Current Dashboard State",ref:"DashboardState"}]},DashboardOptions:{name:"DashboardOptions",kind:"I",desc:"Options related to the Dashboard in Adaptable.",props:[{name:"buttonsLocation",kind:"'left' | 'right'",desc:"Where in Dashboard to display Module and Custom Buttons",isOpt:!0,noCode:"item",defVal:"'right'"},{name:"canFloat",kind:"b",desc:"Whether the Dashboard can be floated; if true (the default), double-clicking Dashboard puts it in float mode",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"customDashboardButtons",kind:"a",desc:"Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)",isOpt:!0},{name:"customToolbars",kind:"a",desc:"Toolbars provided by Users which contain custom content",isOpt:!0},{name:"showQuickSearchInHeader",kind:"b",desc:"Shows Quick Search textbox in the Dashboard Header",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},DashboardState:{name:"DashboardState",kind:"I",desc:"Predefined Configuration for the AdapTable Dashboard",props:[{name:"ActiveTabIndex",kind:"n",desc:"Index of Active Tab (in Tabs collection)",isOpt:!0},{name:"DashboardTitle",kind:"s",desc:"Title displayed in Dashboard Header",isOpt:!0,defVal:"`adaptableId` in Adaptable Options"},{name:"FloatingPosition",kind:"R",desc:"Position of Dashboard when in Floating mode",isOpt:!0,ref:"AdaptableCoordinate"},{name:"IsCollapsed",kind:"b",desc:"Is Dashboard collapsed; if true, header is visible (but not Tabs' contents)",isOpt:!0,defVal:"false"},{name:"IsFloating",kind:"b",desc:"Is Dashboard floating; if true, appears in draggable, minmised form (double-click to revert to default position)",isOpt:!0,defVal:"false"},{name:"IsHidden",kind:"b",desc:"Whether Dashboard is completely hidden - can be made visible again in Column Menu and Tool Panel",isOpt:!0,defVal:"false"},{name:"IsInline",kind:"b",desc:"Alternative way of rendering Dashboard, with headers section to left of Toolbars",isOpt:!0,defVal:"false"},{name:"ModuleButtons",kind:"R",desc:"Buttons which open the Settings Panel screen for associated AdapTable Module",isOpt:!0,defVal:"['SettingsPanel']",ref:"unknown"},{name:"Tabs",kind:"a",desc:"Named group of Toolbars",isOpt:!0,defVal:"Empty Array"}]},DashboardTab:{name:"DashboardTab",kind:"I",desc:"Defines a named set of Toolbars in the AdapTable Dashboard",props:[{name:"Name",kind:"s",desc:"Name of the tab - as appears in the Dashboard"},{name:"Toolbars",kind:"u",desc:"List of Toolbars to show in the Tab"}]},DataChangeHistoryButton:{name:"DataChangeHistoryButton",kind:"I",desc:"A custom AdaptableButton which provides a build in `undo` action"},DataChangeHistoryContext:{name:"DataChangeHistoryContext",kind:"I",desc:"The context for the DataChangeHistoryButton",props:[{name:"dataChangedInfo",kind:"u",desc:"The initial data change"},{name:"isGroupNode",kind:"b",desc:"If the change references a group node."},{name:"undoDataChange",kind:"u",desc:"Helper function to undo the change."}]},DataChangeHistoryOptions:{name:"DataChangeHistoryOptions",kind:"I",desc:"Options to manage the 'Data Change History Module', which provides an overview of all previous changes, giving the possibility to undo specific changes",props:[{name:"activeByDefault",kind:"b",desc:"Whether data change history should be active by default",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"changeHistoryButton",kind:"u",desc:"Action button definition; can be used to implement undo functionality",isOpt:!0,defVal:"undefined"},{name:"showDataChange",kind:"u",desc:"Function specifying which data changes to include in Data Change History",isOpt:!0,gridInfo:"item",defVal:"undefined (all data changes are logged)"}]},DataFormatType:{name:"DataFormatType",kind:"A",desc:"Format of exported Data - 'rawValue' or 'formattedValue'"},DataSet:{name:"DataSet",kind:"I",desc:"Defines a Data Set object that can provide data to AdapTable",props:[{name:"description",kind:"s",desc:"Describes the Data Set"},{name:"form",kind:"u",desc:"Params for Data Set popup form",isOpt:!0},{name:"info",kind:"u",desc:"Additional info for Data Set",isOpt:!0},{name:"name",kind:"s",desc:"Name of Data Set"}]},DataSetFormContext:{name:"DataSetFormContext",kind:"I",desc:"Used when a DataSet displays a Form",props:[{name:"dataSet",kind:"R",desc:"The DataSet which triggered the Form",ref:"DataSet"}]},DataUpdateConfig:{name:"DataUpdateConfig",kind:"I",desc:"Object passed into Adaptable Grid Api data management methods",props:[{name:"addIndex",kind:"n",desc:"Index where to add new rows",isOpt:!0},{name:"callback",kind:"u",desc:"Callback function invoked when a batch successfully updates",isOpt:!0},{name:"runAsync",kind:"b",desc:"Whether data should be updated asynchronously",isOpt:!0}]},DateFormatterOptions:{name:"DateFormatterOptions",kind:"I",desc:"Formatter Options for Date Columns - contains a single `Pattern` property",props:[{name:"Pattern",kind:"s",desc:"Pattern to use for Date Format",isOpt:!0}]},DateInputOptions:{name:"DateInputOptions",kind:"I",desc:"Options for managing and customizing the date inputs.",props:[{name:"dateFormat",kind:"s",desc:"Format string for formatting date input field",isOpt:!0,defVal:"'yyyy-MM-dd'"},{name:"datepickerButtons",kind:"a",desc:"List of buttons which are displayed in the datepicker overlay in the given order (provide empty array to display no buttons); custom button layout and positioning is achievable with the special elements `-` and `|`",isOpt:!0,defVal:"['close','today']"},{name:"locale",kind:"u",desc:"Locale object (to localize Date Picker)",isOpt:!0,defVal:"`en-US`"},{name:"showOutsideDays",kind:"b",desc:"Display outside days (i.e. those falling in next or previous month)",isOpt:!0,defVal:"true"},{name:"showWeekNumber",kind:"b",desc:"Display the week numbers column",isOpt:!0,defVal:"false"},{name:"useNativeInput",kind:"b",desc:"Use browser specific date input instead of AdapTable's Date Picker",isOpt:!0,defVal:"false"}]},DefaultAccessLevelContext:{name:"DefaultAccessLevelContext",kind:"I",desc:"Provided to defaultAccessLevel function when setting Default Entitlement value programatically",props:[{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"userName",kind:"s",desc:"Name of Current User"}]},DetailInitContext:{name:"DetailInitContext",kind:"I",desc:"Context passed to Detail Grids when using Master Detail Plugin"},EditActionRowFormContext:{name:"EditActionRowFormContext",kind:"I",desc:"Context used in an Edit Row Form",props:[{name:"rowNode",kind:"u",desc:"The RowNode being edited"},{name:"type",kind:"u",desc:"Type of the Context"}]},EditLookUpContext:{name:"EditLookUpContext",kind:"I",desc:"Context used when getting EditLookUpPermittedValues via a function",props:[{name:"gridCell",kind:"u",desc:"Cell being edited",isOpt:!0}]},EditLookUpPermittedValues:{name:"EditLookUpPermittedValues",kind:"I",desc:"Used to define permitted values for inline column editor",props:[{name:"values",kind:"u",desc:"Values to display in Edit Look Up: either hardcoded list or a function that returns a list",isOpt:!0}]},EditOptions:{name:"EditOptions",kind:"I",desc:"Options related to Editing in Adaptable - includes Server Validation, Smart Edit Operations and Row Forms",props:[{name:"displayServerValidationMessages",kind:"b",desc:"Whether to display message after Server Validation runs",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"isCellEditable",kind:"u",desc:"Function which checks if a given Grid Cell is editable",isOpt:!0},{name:"smartEditCustomOperations",kind:"u",desc:"Custom Operations to use in Smart Edit",isOpt:!0},{name:"validateOnServer",kind:"u",desc:"Function to validate Adaptable data edits on Server",isOpt:!0}]},EntitlementContext:{name:"EntitlementContext",kind:"I",desc:"Provided to moduleEntitlements function when setting Entitlements programatically",props:[{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"adaptableModule",kind:"R",desc:"Module being entitled",ref:"AdaptableModule"},{name:"defaultAccessLevel",kind:"R",desc:"The default Access Level for the current instance",ref:"AccessLevel"},{name:"userName",kind:"s",desc:"Name of Current User"}]},EntitlementOptions:{name:"EntitlementOptions",kind:"I",desc:"Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.",props:[{name:"defaultAccessLevel",kind:"u",desc:"AccessLevel to use when an Entitlement is not explicitly set; can be hardcoded value or a function to invoke",isOpt:!0,gridInfo:"item",defVal:"'Full'"},{name:"moduleEntitlements",kind:"u",desc:"Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required",isOpt:!0,gridInfo:"item"}]},EvaluateExpressionExternallyContext:{name:"EvaluateExpressionExternallyContext",kind:"I",desc:"Context passed when evaluating `AdaptableQLOptions.evaluateExpressionExternally()`",props:[{name:"expression",kind:"s",desc:"Expression to evaluate",isOpt:!0},{name:"module",kind:"R",desc:"Module where Expression is being evaluated",ref:"AdaptableQLModule"},{name:"object",kind:"R",desc:"The AdapTable Object which contains the Expression or Predicates",isOpt:!0,ref:"AdaptableObject"},{name:"predicates",kind:"a",desc:"Any Predicates to evaluate",isOpt:!0},{name:"referencedColumns",kind:"u",desc:"Columns contained in Expression",isOpt:!0}]},ExportableColumnContext:{name:"ExportableColumnContext",kind:"I",desc:"Context used for setting whether a Column is exportable",props:[{name:"adaptableColumn",kind:"R",desc:"Column to be exported",ref:"AdaptableReportColumn"}]},ExportFormContext:{name:"ExportFormContext",kind:"I",desc:"Context required by functions when using an Export Button",props:[{name:"customDestination",kind:"R",desc:"Custom Export destination",ref:"CustomDestination"},{name:"report",kind:"R",desc:"The exported report",ref:"Report"},{name:"reportData",kind:"R",desc:"The data in the report",ref:"ReportData"}]},ExportOptions:{name:"ExportOptions",kind:"I",desc:"Options regarding Exporting data from AdapTable",props:[{name:"appendFileTimestamp",kind:"b",desc:"Whether to add a timestamp as a suffix to exported file name",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"customDestinations",kind:"a",desc:"User-provided Report Destinations (in addition to those shipped in AdapTable)",isOpt:!0},{name:"exportDateFormat",kind:"s",desc:"Optional custom format for Date columns when exporting",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"exportFormatType",kind:"u",desc:"Format of exported values; can be set either for whole grid or specifically for each column type",isOpt:!0,defVal:"rawValue"},{name:"isColumnExportable",kind:"f",desc:"Whether a Column is included in System Reports and available in UI for selection",isOpt:!0,defVal:"true"},{name:"preProcessExport",kind:"u",desc:"Function invoked when a Report is run, enabling users to preload the data before it is exported",isOpt:!0},{name:"serverReports",kind:"a",desc:"Reports generated entirely by users (and not AdapTable)",isOpt:!0},{name:"systemExportDestinations",kind:"R",desc:"Export destinations to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"'Excel', 'CSV', 'Clipboard', 'JSON, 'Table'",ref:"SystemExportDestinations"},{name:"systemReportNames",kind:"R",desc:"System Reports to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"'Visual Data', 'All Data', 'Current Data', 'Selected Cells', 'Selected Rows',",ref:"SystemReportNames"}]},ExportState:{name:"ExportState",kind:"I",desc:"Predefined Configuration for Export Module",props:[{name:"CurrentDestination",kind:"u",desc:"Currently selected Report Destination in Export Toolbar & Tool Panel",isOpt:!0},{name:"CurrentReport",kind:"s",desc:"Currently selected Report - in Export Toolbar & Tool Panel",isOpt:!0},{name:"Reports",kind:"a",desc:"User-created Reports; each has Name and Row and Column Scope",isOpt:!0}]},ExpressionContext:{name:"ExpressionContext",kind:"I",desc:"Provides context to an Expression Function, including current row node and AdaptableApi",props:[{name:"evaluateCustomQueryVariable",kind:"u",desc:"Evaluate custom variables"},{name:"filterFn",kind:"u",desc:"Optional filter function to be applied before evaluating the expression",isOpt:!0},{name:"functions",kind:"u",desc:"All Expression Functions available to AdaptableQL"},{name:"namedQueryCallStack",kind:"a",desc:"All Named Query evaluations: tracked in order to detect circular dependencies",isOpt:!0},{name:"node",kind:"u",desc:"Current AG Grid Row Node being evaluated"},{name:"whereClauseFunctions",kind:"u",desc:"Expression Functions available to AdaptableQL in (optional) WHERE clause",isOpt:!0}]},ExpressionFunction:{name:"ExpressionFunction",kind:"I",desc:"Defines an AdaptableQL Function used in an Adaptable Expression",props:[{name:"category",kind:"R",desc:"Used to group Functions Expression Editor dropdown",isOpt:!0,ref:"unknown"},{name:"description",kind:"s",desc:"What the AdaptableQL Function does",isOpt:!0},{name:"examples",kind:"a",desc:"Examples that demonstrate the AdaptableQL Function",isOpt:!0},{name:"handler",kind:"R",desc:"Actual AdaptableQL Function called by the Expression (mandatory prop)",ref:"ExpressionFunctionHandler"},{name:"hasEagerEvaluation",kind:"b",desc:"Whether Expression is evaluated eagerly (without handling inner AST nodes)",isOpt:!0},{name:"isHiddenFromMenu",kind:"b",desc:"Removes entry from Expression Editor's Functions dropdown",isOpt:!0},{name:"returnType",kind:"'boolean' | 'number' | 'string' | 'date' | 'null' | 'any'",desc:"Type returned by Function: boolean, number, string, date, any",isOpt:!0},{name:"signatures",kind:"a",desc:"How the AdaptableQL Function should be called",isOpt:!0}]},ExpressionFunctionDocBlock:{name:"ExpressionFunctionDocBlock",kind:"A",desc:"Defines how an AdaptableQL Function is described in Expression Editor"},ExpressionFunctionHandler:{name:"ExpressionFunctionHandler",kind:"A",desc:"The javascript function which is invoked by an AdaptableQL Function"},ExpressionFunctionMap:{name:"ExpressionFunctionMap",kind:"A",desc:"Key-Value map of Expression Names and their implementation"},ExpressionOptions:{name:"ExpressionOptions",kind:"I",desc:"Options for managing Expressions using AdapTableQL",props:[{name:"customBooleanFunctions",kind:"u",desc:"Custom Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"customQueryVariables",kind:"u",desc:"Custom query variables allow values to be attached to variables so that a single value can easily be expressed multiple times within a query, or quickly changed to affect the results of a query. Variables are evaluated synchronously with each expression evaluation.",isOpt:!0},{name:"customScalarFunctions",kind:"u",desc:"Custom Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"isColumnQueryable",kind:"f",desc:"Can a given column be included in Expressions",isOpt:!0},{name:"maxTimeframeSize",kind:"n",desc:"Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe",isOpt:!0,gridInfo:"item",defVal:"28800000 (~8 hours)"},{name:"moduleExpressionFunctions",kind:"u",desc:"Module-specific Expression Functions available",isOpt:!0,gridInfo:"item",defVal:"undefined (defaults to available System & Custom values)"},{name:"performExpressionValidation",kind:"b",desc:"Validate Expressions before they can be run or saved",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"systemAggregatedBooleanFunctions",kind:"u",desc:"System AggregatedBoolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemAggregatedScalarFunctions",kind:"u",desc:"System AggregatedScalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"undefined (sets all)"},{name:"systemBooleanFunctions",kind:"u",desc:"System Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemObservableFunctions",kind:"u",desc:"System Observable Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemScalarFunctions",kind:"u",desc:"System Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"}]},FDC3Column:{name:"FDC3Column",kind:"I",desc:"An FDC3 Column - will raise FDC3 intents and broadcast FDC3 messages",props:[{name:"broadcastContextMenuLabel",kind:"u",desc:"Label to display in Broadcast Context Menu Item",isOpt:!0},{name:"columnId",kind:"s",desc:"Id of Column defined as FDC3"},{name:"intentContextMenuLabel",kind:"u",desc:"Label to display in Intent Context Menu Item",isOpt:!0},{name:"intentIcon",kind:"u",desc:"Returns a custom icon to display in the Raise Intent Context Menu Item;",isOpt:!0},{name:"intents",kind:"a",desc:"FDC3 intents which the Column can raise",isOpt:!0},{name:"nameColumnId",kind:"s",desc:"If provided, will supply `name` property in FDC3 message",isOpt:!0},{name:"raiseIntentForContextMenuLabel",kind:"u",desc:"Label to display in RaiseIntentForContext Context Menu Item",isOpt:!0},{name:"showBroadcastContextMenu",kind:"b",desc:"Should Column display a 'Broadcast' context menu item",isOpt:!0},{name:"showRaiseIntentForContextMenu",kind:"b",desc:"Should Column display a 'Raise Intent for Context' context menu item",isOpt:!0}]},FDC3Context:{name:"FDC3Context",kind:"I",desc:"General-purpose context type, as defined by FDC3",props:[{name:"(indexer)",kind:"i",desc:"Custom properties and metadata. This can be extended in specific context object."},{name:"id",kind:`{
|
|
542
|
+
}`,desc:"Version number of the Item - allows developers to update one section in Predefined Config while keeping others unchanged",isOpt:!0}]},ContactColumn:{name:"ContactColumn",kind:"I",desc:"A (String) Column which will be defined as an FDC3 Contact columnId and at least one other property is required",props:[{name:"emailColumnId",kind:"s",desc:"Column which holds the email address of a Contact",isOpt:!0},{name:"fds_idColumnId",kind:"s",desc:"Column which holds an FDS_ID value a Contact",isOpt:!0},{name:"intents",kind:"R",desc:"Contact-related FDC3 Intents; can be: `StartCall` `StartChat` `ViewContact`",isOpt:!0,ref:"ContactIntents"}]},ContactContext:{name:"ContactContext",kind:"I",desc:"FDC3 Context to define a Contact",props:[{name:"id",kind:"u",desc:"The Contact data: email, FDS_ID",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Contact",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `contact`"}]},ContactIntent:{name:"ContactIntent",kind:"A",desc:"FDC3 Intents available to a Contact Column"},ContactIntents:{name:"ContactIntents",kind:"A",desc:"All available Contact Intents"},ContactListContext:{name:"ContactListContext",kind:"I",desc:"FDC3 Context to define a list of Contacts",props:[{name:"contacts",kind:"a",desc:"The array of Contacts",isOpt:!0},{name:"id",kind:"u",desc:"Optional Id",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Contact list",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `contactList`"}]},ContainerOptions:{name:"ContainerOptions",kind:"I",desc:"Options for managing the different div elements required by AdapTable",props:[{name:"adaptableContainer",kind:"u",desc:"Div containing AdapTable - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:""adaptable""},{name:"agGridContainer",kind:"u",desc:"Div containing AG Grid instance - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:""grid""},{name:"agGridContainerWaitTimeout",kind:"n",desc:"How long AdapTable waits for AG Grid before giving up connecting to it",isOpt:!0,gridInfo:"item",defVal:"60s"},{name:"alertContainer",kind:"u",desc:"Div to show Alerts - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"modalContainer",kind:"u",desc:"Name of div where modals appear (if null, will be centre of page)",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"systemStatusContainer",kind:"u",desc:"Div to show System Status messages - string Id or HTMLElement",isOpt:!0,gridInfo:"item",defVal:"undefined"}]},ContextData:{name:"ContextData",kind:"A",desc:"Data used in FDC3 Contexts"},ContextMenuContext:{name:"ContextMenuContext",kind:"I",desc:"Provides full details about current cell (and selected cells) where the Context Menu will appear",props:[{name:"adaptableColumn",kind:"u",desc:"Current Adaptable Column"},{name:"agGridColumn",kind:"R",desc:"Current AG Grid Column",ref:"unknown"},{name:"gridCell",kind:"u",desc:"Cell that has been clicked; contains cell value"},{name:"isGroupedNode",kind:"b",desc:"Whether current AG Grid row node is grouped"},{name:"isRowGroupColumn",kind:"b",desc:"Whether current Column is Row Grouped"},{name:"isSelectedCell",kind:"b",desc:"Whether cell that was clicked is also currently selected"},{name:"isSelectedRow",kind:"b",desc:"Whether cell that was clicked is in a Row that is currently selected"},{name:"isSingleSelectedCell",kind:"b",desc:"Whether the clicked cell is the only selected cell"},{name:"isSingleSelectedColumn",kind:"b",desc:"Whether Column that was clicked is only column with selected cells"},{name:"primaryKeyValue",kind:"u",desc:"Value of Primary Key column in current row"},{name:"rowNode",kind:"u",desc:"Current AG Grid row node"},{name:"selectedCellInfo",kind:"u",desc:"Currently selected cells in the grid"},{name:"selectedRowInfo",kind:"u",desc:"Currently selected rows in the grid"}]},CountryColumn:{name:"CountryColumn",kind:"I",desc:"A (String) Column which will be defined as an FDC3 Country",props:[{name:"intents",kind:"R",desc:"Country-related FDC3 Intents; can only be: `ViewChart`",isOpt:!0,ref:"CountryIntents"},{name:"isoalpha2ColumnId",kind:"s",desc:"Column which contains the ISOALPHA2 Standard",isOpt:!0},{name:"isoalpha3ColumnId",kind:"s",desc:"Column which contains the ISOALPHA3 Standard",isOpt:!0}]},CountryContext:{name:"CountryContext",kind:"I",desc:"FDC3 Context to define a Country",props:[{name:"id",kind:"u",desc:"The Country data: ISOALPHA2, ISOALPHA3",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of Country",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `country`"}]},CountryIntent:{name:"CountryIntent",kind:"A",desc:"FDC3 Intents available to a Country Column"},CountryIntents:{name:"CountryIntents",kind:"A",desc:"All available Country Intents"},CreateActionRowFormContext:{name:"CreateActionRowFormContext",kind:"I",desc:"Context used in a Create Row Form",props:[{name:"clonedRowNode",kind:"u",desc:"The RowNode being cloned",isOpt:!0},{name:"type",kind:"u",desc:"Type of the Context"}]},CustomDestination:{name:"CustomDestination",kind:"I",desc:"Defines a custom Export destination",props:[{name:"form",kind:"u",desc:"Optional Adaptable Form; if provided, it must include Buttons that will execute the Export",isOpt:!0},{name:"name",kind:"s",desc:"Name of Custom Destination (mandatory)"},{name:"onExport",kind:"f",desc:"Optional Function invoked when Export is applied (used if no form is supplied)",isOpt:!0}]},CustomDisplayFormatter:{name:"CustomDisplayFormatter",kind:"I",desc:"Provides Custom Display Formats",props:[{name:"handler",kind:"f",desc:"Function used to perform the Custom Display Format"},{name:"id",kind:"s",desc:"Id of the Formatted"},{name:"label",kind:"s",desc:"Description",isOpt:!0},{name:"scope",kind:"R",desc:"Where the Custom Display Format can be applied",ref:"AdaptableScope"}]},CustomDisplayFormatterContext:{name:"CustomDisplayFormatterContext",kind:"I",desc:"Context used in handler of CustomDisplayFormatter",props:[{name:"adaptableColumn",kind:"R",desc:"Column where Custom Display Format will apply",ref:"AdaptableColumn"},{name:"cellValue",kind:"u",desc:"Non-formatted Cell Value"},{name:"rowNode",kind:"R",desc:"Node where Custom Display Format will apply",ref:"unknown"}]},CustomFDC3Column:{name:"CustomFDC3Column",kind:"I",desc:"A Column which will be defined as Custom FDC3 (can be any datatype)",props:[{name:"createContext",kind:"u",desc:"Function which creates FDC3 context for the current column and row"},{name:"intents",kind:"a",desc:"Custom FDC3 Intents available to the column"}]},CustomFDC3Context:{name:"CustomFDC3Context",kind:"I",desc:"Context used when providing Custom FDC3 content"},CustomFDC3Intent:{name:"CustomFDC3Intent",kind:"A",desc:"Custom FDC3 Intent - just a string value"},CustomQueryVariableContext:{name:"CustomQueryVariableContext",kind:"I",desc:"Context passed when evaluating `ExpressionOptions.customQueryVariables`",props:[{name:"args",kind:"a",desc:"Optional variable arguments",isOpt:!0}]},CustomRenderContext:{name:"CustomRenderContext",kind:"I",desc:"Context provided for any custom rendering",props:[{name:"element",kind:"R",desc:"Current Div Element",ref:"unknown"},{name:"visible",kind:"b",desc:"Whether Tool Panel is currently visible"}]},CustomSettingsPanel:{name:"CustomSettingsPanel",kind:"I",desc:"Definition of a Custom Panel to add to the Adaptable Settings Panel",props:[{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"icon",kind:"R",desc:"Icon rendered inside settings-panel name, inside the navigation",isOpt:!0,ref:"AdaptableIcon"},{name:"name",kind:"s",desc:"Appears in Settings Panel Navigation and must be included in settingsPanelOptions.navigation for it to be displayed (by default added to the end)"},{name:"render",kind:"f",desc:"Function to provide bespoke content when NOT using a Framework wrapper",isOpt:!0}]},CustomSharedEntityConfig:{name:"CustomSharedEntityConfig",kind:"I",desc:"Describes a custom Object which is being Team Shared",props:[{name:"Description",kind:"s",desc:"Description of object being shared"},{name:"Name",kind:"s",desc:"Name of object being shared"},{name:"Tags",kind:"a",desc:"List of Tags associated with the Object",isOpt:!0},{name:"Uuid",kind:"s",desc:"Optional technical ID; if not provided, it will be auto-generated by Adaptable",isOpt:!0}]},CustomSort:{name:"CustomSort",kind:"I",desc:"Custom Sort object used in Custom Sort function.",props:[{name:"ColumnId",kind:"s",desc:"Id of Column on which Custom Sort will be applied"},{name:"SortedValues",kind:"a",desc:"Order of values by which Column will be sorted",isOpt:!0}]},CustomSortPermittedValues:{name:"CustomSortPermittedValues",kind:"I",desc:"Custom column values for Custom Sort",props:[{name:"values",kind:"u",desc:"Function returning Values to display in Custom Sort Wizard - can be async"}]},CustomSortState:{name:"CustomSortState",kind:"I",desc:"Predefined Configuration for Custom Sort Module",props:[{name:"CustomSorts",kind:"a",desc:"Collection of Custom Sort objects.",isOpt:!0}]},CustomToolbar:{name:"CustomToolbar",kind:"I",desc:"Custom Toolbar (which AdapTable will manage) enabling devs to populate Dashboard with bepoke content",props:[{name:"frameworkComponent",kind:"R",desc:"The Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"How Toolbar is referenced (e.g. in Dashboard Popup when managing toolbars)"},{name:"render",kind:"f",desc:"Function to provide custom content when NOT using a Framework wrapper",isOpt:!0},{name:"showCloseButton",kind:"b",desc:"Shows a Close button at the bottom of Custom Toolbar",isOpt:!0},{name:"showConfigureButton",kind:"b",desc:"Shows a Configure (wrench) button which when clicked fires `CustomToolbarConfigured` event",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Toolbar; if unset or empty string, nothing will show",isOpt:!0},{name:"toolbarButtons",kind:"a",desc:"Optional set of buttons to show in the Toolbar",isOpt:!0}]},CustomToolbarButtonContext:{name:"CustomToolbarButtonContext",kind:"I",desc:"Context required by functions when using a Custom Toolbar Button",props:[{name:"customToolbar",kind:"R",desc:"Custom Toolbar which hosts the Button",ref:"CustomToolbar"}]},CustomToolPanel:{name:"CustomToolPanel",kind:"I",desc:"Defines a Custom ToolPanel - provided by Users and contains custom content",props:[{name:"buttons",kind:"a",desc:"Optional set of buttons to show in the ToolPanel",isOpt:!0},{name:"frameworkComponent",kind:"R",desc:"Framework-specific (Angular or React) component to be rendered",isOpt:!0,ref:"AdaptableFrameworkComponent"},{name:"name",kind:"s",desc:"Name of Custom ToolPanel - should be unique"},{name:"render",kind:"f",desc:"Function to provide bespoke content when using AdapTable Vanilla",isOpt:!0},{name:"title",kind:"s",desc:"Title to display in Custom ToolPanel; if undefined, will default to `name` property",isOpt:!0}]},DashboardButtonContext:{name:"DashboardButtonContext",kind:"I",desc:"Context required by functions when using a Dashboard Button",props:[{name:"dashboardState",kind:"R",desc:"Current Dashboard State",ref:"DashboardState"}]},DashboardOptions:{name:"DashboardOptions",kind:"I",desc:"Options related to the Dashboard in Adaptable.",props:[{name:"buttonsLocation",kind:"'left' | 'right'",desc:"Where in Dashboard to display Module and Custom Buttons",isOpt:!0,noCode:"item",defVal:"'right'"},{name:"canFloat",kind:"b",desc:"Whether the Dashboard can be floated; if true (the default), double-clicking Dashboard puts it in float mode",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"customDashboardButtons",kind:"a",desc:"Custom Adaptable Buttons to appear in Dashboard (alongside Module Buttons)",isOpt:!0},{name:"customToolbars",kind:"a",desc:"Toolbars provided by Users which contain custom content",isOpt:!0},{name:"showQuickSearchInHeader",kind:"b",desc:"Shows Quick Search textbox in the Dashboard Header",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},DashboardState:{name:"DashboardState",kind:"I",desc:"Predefined Configuration for the AdapTable Dashboard",props:[{name:"ActiveTabIndex",kind:"n",desc:"Index of Active Tab (in Tabs collection)",isOpt:!0},{name:"DashboardTitle",kind:"s",desc:"Title displayed in Dashboard Header",isOpt:!0,defVal:"`adaptableId` in Adaptable Options"},{name:"FloatingPosition",kind:"R",desc:"Position of Dashboard when in Floating mode",isOpt:!0,ref:"AdaptableCoordinate"},{name:"IsCollapsed",kind:"b",desc:"Is Dashboard collapsed; if true, header is visible (but not Tabs' contents)",isOpt:!0,defVal:"false"},{name:"IsFloating",kind:"b",desc:"Is Dashboard floating; if true, appears in draggable, minmised form (double-click to revert to default position)",isOpt:!0,defVal:"false"},{name:"IsHidden",kind:"b",desc:"Whether Dashboard is completely hidden - can be made visible again in Column Menu and Tool Panel",isOpt:!0,defVal:"false"},{name:"IsInline",kind:"b",desc:"Alternative way of rendering Dashboard, with headers section to left of Toolbars",isOpt:!0,defVal:"false"},{name:"ModuleButtons",kind:"R",desc:"Buttons which open the Settings Panel screen for associated AdapTable Module",isOpt:!0,defVal:"['SettingsPanel']",ref:"unknown"},{name:"Tabs",kind:"a",desc:"Named group of Toolbars",isOpt:!0,defVal:"Empty Array"}]},DashboardTab:{name:"DashboardTab",kind:"I",desc:"Defines a named set of Toolbars in the AdapTable Dashboard",props:[{name:"Name",kind:"s",desc:"Name of the tab - as appears in the Dashboard"},{name:"Toolbars",kind:"u",desc:"List of Toolbars to show in the Tab"}]},DataChangeHistoryButton:{name:"DataChangeHistoryButton",kind:"I",desc:"A custom AdaptableButton which provides a build in `undo` action"},DataChangeHistoryContext:{name:"DataChangeHistoryContext",kind:"I",desc:"The context for the DataChangeHistoryButton",props:[{name:"dataChangedInfo",kind:"u",desc:"The initial data change"},{name:"isGroupNode",kind:"b",desc:"If the change references a group node."},{name:"undoDataChange",kind:"u",desc:"Helper function to undo the change."}]},DataChangeHistoryOptions:{name:"DataChangeHistoryOptions",kind:"I",desc:"Options to manage the 'Data Change History Module', which provides an overview of all previous changes, giving the possibility to undo specific changes",props:[{name:"activeByDefault",kind:"b",desc:"Whether data change history should be active by default",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"changeHistoryButton",kind:"u",desc:"Action button definition; can be used to implement undo functionality",isOpt:!0,defVal:"undefined"},{name:"showDataChange",kind:"u",desc:"Function specifying which data changes to include in Data Change History",isOpt:!0,gridInfo:"item",defVal:"undefined (all data changes are logged)"}]},DataFormatType:{name:"DataFormatType",kind:"A",desc:"Format of exported Data - 'rawValue' or 'formattedValue'"},DataSet:{name:"DataSet",kind:"I",desc:"Defines a Data Set object that can provide data to AdapTable",props:[{name:"description",kind:"s",desc:"Describes the Data Set"},{name:"form",kind:"u",desc:"Params for Data Set popup form",isOpt:!0},{name:"info",kind:"u",desc:"Additional info for Data Set",isOpt:!0},{name:"name",kind:"s",desc:"Name of Data Set"}]},DataSetFormContext:{name:"DataSetFormContext",kind:"I",desc:"Used when a DataSet displays a Form",props:[{name:"dataSet",kind:"R",desc:"The DataSet which triggered the Form",ref:"DataSet"}]},DataUpdateConfig:{name:"DataUpdateConfig",kind:"I",desc:"Object passed into Adaptable Grid Api data management methods",props:[{name:"addIndex",kind:"n",desc:"Index where to add new rows",isOpt:!0},{name:"callback",kind:"u",desc:"Callback function invoked when a batch successfully updates",isOpt:!0},{name:"runAsync",kind:"b",desc:"Whether data should be updated asynchronously",isOpt:!0}]},DateFormatterOptions:{name:"DateFormatterOptions",kind:"I",desc:"Formatter Options for Date Columns - contains a single `Pattern` property",props:[{name:"Pattern",kind:"s",desc:"Pattern to use for Date Format",isOpt:!0}]},DateInputOptions:{name:"DateInputOptions",kind:"I",desc:"Options for managing and customizing the date inputs.",props:[{name:"dateFormat",kind:"s",desc:"Format string for formatting date input field",isOpt:!0,defVal:"'yyyy-MM-dd'"},{name:"datepickerButtons",kind:"a",desc:"List of buttons which are displayed in the datepicker overlay in the given order (provide empty array to display no buttons); custom button layout and positioning is achievable with the special elements `-` and `|`",isOpt:!0,defVal:"['close','today']"},{name:"locale",kind:"u",desc:"Locale object (to localize Date Picker)",isOpt:!0,defVal:"`en-US`"},{name:"showOutsideDays",kind:"b",desc:"Display outside days (i.e. those falling in next or previous month)",isOpt:!0,defVal:"true"},{name:"showWeekNumber",kind:"b",desc:"Display the week numbers column",isOpt:!0,defVal:"false"},{name:"useNativeInput",kind:"b",desc:"Use browser specific date input instead of AdapTable's Date Picker",isOpt:!0,defVal:"false"}]},DefaultAccessLevelContext:{name:"DefaultAccessLevelContext",kind:"I",desc:"Provided to defaultAccessLevel function when setting Default Entitlement value programatically",props:[{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"userName",kind:"s",desc:"Name of Current User"}]},DetailInitContext:{name:"DetailInitContext",kind:"I",desc:"Context passed to Detail Grids when using Master Detail Plugin"},EditActionRowFormContext:{name:"EditActionRowFormContext",kind:"I",desc:"Context used in an Edit Row Form",props:[{name:"rowNode",kind:"u",desc:"The RowNode being edited"},{name:"type",kind:"u",desc:"Type of the Context"}]},EditLookUpContext:{name:"EditLookUpContext",kind:"I",desc:"Context used when getting EditLookUpPermittedValues via a function",props:[{name:"gridCell",kind:"u",desc:"Cell being edited",isOpt:!0}]},EditLookUpPermittedValues:{name:"EditLookUpPermittedValues",kind:"I",desc:"Used to define permitted values for inline column editor",props:[{name:"values",kind:"u",desc:"Values to display in Edit Look Up: either hardcoded list or a function that returns a list",isOpt:!0}]},EditOptions:{name:"EditOptions",kind:"I",desc:"Options related to Editing in Adaptable - includes Server Validation, Smart Edit Operations and Row Forms",props:[{name:"displayServerValidationMessages",kind:"b",desc:"Whether to display message after Server Validation runs",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"isCellEditable",kind:"u",desc:"Function which checks if a given Grid Cell is editable",isOpt:!0},{name:"smartEditCustomOperations",kind:"u",desc:"Custom Operations to use in Smart Edit",isOpt:!0},{name:"validateOnServer",kind:"u",desc:"Function to validate Adaptable data edits on Server",isOpt:!0}]},EntitlementContext:{name:"EntitlementContext",kind:"I",desc:"Provided to moduleEntitlements function when setting Entitlements programatically",props:[{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"adaptableModule",kind:"R",desc:"Module being entitled",ref:"AdaptableModule"},{name:"defaultAccessLevel",kind:"R",desc:"The default Access Level for the current instance",ref:"AccessLevel"},{name:"userName",kind:"s",desc:"Name of Current User"}]},EntitlementOptions:{name:"EntitlementOptions",kind:"I",desc:"Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.",props:[{name:"defaultAccessLevel",kind:"u",desc:"AccessLevel to use when an Entitlement is not explicitly set; can be hardcoded value or a function to invoke",isOpt:!0,gridInfo:"item",defVal:"'Full'"},{name:"moduleEntitlements",kind:"u",desc:"Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required",isOpt:!0,gridInfo:"item"}]},EvaluateExpressionExternallyContext:{name:"EvaluateExpressionExternallyContext",kind:"I",desc:"Context passed when evaluating `AdaptableQLOptions.evaluateExpressionExternally()`",props:[{name:"expression",kind:"s",desc:"Expression to evaluate",isOpt:!0},{name:"module",kind:"R",desc:"Module where Expression is being evaluated",ref:"AdaptableQLModule"},{name:"object",kind:"R",desc:"AdapTable Object which contains the Expression or Predicates",isOpt:!0,ref:"AdaptableObject"},{name:"predicates",kind:"a",desc:"Any Predicates to evaluate",isOpt:!0},{name:"referencedColumns",kind:"u",desc:"Columns contained in Expression",isOpt:!0}]},ExportableColumnContext:{name:"ExportableColumnContext",kind:"I",desc:"Context used for setting whether a Column is exportable",props:[{name:"adaptableColumn",kind:"R",desc:"Column to be exported",ref:"AdaptableReportColumn"}]},ExportFormContext:{name:"ExportFormContext",kind:"I",desc:"Context required by functions when using an Export Button",props:[{name:"customDestination",kind:"R",desc:"Custom Export destination",ref:"CustomDestination"},{name:"report",kind:"R",desc:"The exported report",ref:"Report"},{name:"reportData",kind:"R",desc:"The data in the report",ref:"ReportData"}]},ExportOptions:{name:"ExportOptions",kind:"I",desc:"Options regarding Exporting data from AdapTable",props:[{name:"appendFileTimestamp",kind:"b",desc:"Whether to add a timestamp as a suffix to exported file name",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"customDestinations",kind:"a",desc:"User-provided Report Destinations (in addition to those shipped in AdapTable)",isOpt:!0},{name:"exportDateFormat",kind:"s",desc:"Optional custom format for Date columns when exporting",isOpt:!0,gridInfo:"item",defVal:"undefined"},{name:"exportFormatType",kind:"u",desc:"Format of exported values; can be set either for whole grid or specifically for each column type",isOpt:!0,defVal:"rawValue"},{name:"isColumnExportable",kind:"f",desc:"Whether a Column is included in System Reports and available in UI for selection",isOpt:!0,defVal:"true"},{name:"preProcessExport",kind:"u",desc:"Function invoked when a Report is run, enabling users to preload the data before it is exported",isOpt:!0},{name:"serverReports",kind:"a",desc:"Reports generated entirely by users (and not AdapTable)",isOpt:!0},{name:"systemExportDestinations",kind:"R",desc:"Export destinations to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"'Excel', 'CSV', 'Clipboard', 'JSON, 'Table'",ref:"SystemExportDestinations"},{name:"systemReportNames",kind:"R",desc:"System Reports to use; leave blank for all, empty array for none",isOpt:!0,gridInfo:"item",defVal:"'Visual Data', 'All Data', 'Current Data', 'Selected Cells', 'Selected Rows',",ref:"SystemReportNames"}]},ExportState:{name:"ExportState",kind:"I",desc:"Predefined Configuration for Export Module",props:[{name:"CurrentDestination",kind:"u",desc:"Currently selected Report Destination in Export Toolbar & Tool Panel",isOpt:!0},{name:"CurrentReport",kind:"s",desc:"Currently selected Report - in Export Toolbar & Tool Panel",isOpt:!0},{name:"Reports",kind:"a",desc:"User-created Reports; each has Name and Row and Column Scope",isOpt:!0}]},ExpressionContext:{name:"ExpressionContext",kind:"I",desc:"Provides context to an Expression Function, including current row node and AdaptableApi",props:[{name:"evaluateCustomQueryVariable",kind:"u",desc:"Evaluate custom variables"},{name:"filterFn",kind:"u",desc:"Optional filter function to be applied before evaluating the expression",isOpt:!0},{name:"functions",kind:"u",desc:"All Expression Functions available to AdaptableQL"},{name:"namedQueryCallStack",kind:"a",desc:"All Named Query evaluations: tracked in order to detect circular dependencies",isOpt:!0},{name:"node",kind:"u",desc:"Current AG Grid Row Node being evaluated"},{name:"whereClauseFunctions",kind:"u",desc:"Expression Functions available to AdaptableQL in (optional) WHERE clause",isOpt:!0}]},ExpressionFunction:{name:"ExpressionFunction",kind:"I",desc:"Defines an AdaptableQL Function used in an Adaptable Expression",props:[{name:"category",kind:"R",desc:"Used to group Functions Expression Editor dropdown",isOpt:!0,ref:"unknown"},{name:"description",kind:"s",desc:"What the AdaptableQL Function does",isOpt:!0},{name:"examples",kind:"a",desc:"Examples that demonstrate the AdaptableQL Function",isOpt:!0},{name:"handler",kind:"R",desc:"Actual AdaptableQL Function called by the Expression (mandatory prop)",ref:"ExpressionFunctionHandler"},{name:"hasEagerEvaluation",kind:"b",desc:"Whether Expression is evaluated eagerly (without handling inner AST nodes)",isOpt:!0},{name:"isHiddenFromMenu",kind:"b",desc:"Removes entry from Expression Editor's Functions dropdown",isOpt:!0},{name:"returnType",kind:"'boolean' | 'number' | 'string' | 'date' | 'null' | 'any'",desc:"Type returned by Function: boolean, number, string, date, any",isOpt:!0},{name:"signatures",kind:"a",desc:"How the AdaptableQL Function should be called",isOpt:!0}]},ExpressionFunctionDocBlock:{name:"ExpressionFunctionDocBlock",kind:"A",desc:"Defines how an AdaptableQL Function is described in Expression Editor"},ExpressionFunctionHandler:{name:"ExpressionFunctionHandler",kind:"A",desc:"The javascript function which is invoked by an AdaptableQL Function"},ExpressionFunctionMap:{name:"ExpressionFunctionMap",kind:"A",desc:"Key-Value map of Expression Names and their implementation"},ExpressionOptions:{name:"ExpressionOptions",kind:"I",desc:"Options for managing Expressions using AdapTableQL",props:[{name:"customBooleanFunctions",kind:"u",desc:"Custom Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"customQueryVariables",kind:"u",desc:"Custom query variables allow values to be attached to variables so that a single value can easily be expressed multiple times within a query, or quickly changed to affect the results of a query. Variables are evaluated synchronously with each expression evaluation.",isOpt:!0},{name:"customScalarFunctions",kind:"u",desc:"Custom Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (none)"},{name:"isColumnQueryable",kind:"f",desc:"Can a given column be included in Expressions",isOpt:!0},{name:"maxTimeframeSize",kind:"n",desc:"Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe",isOpt:!0,gridInfo:"item",defVal:"28800000 (~8 hours)"},{name:"moduleExpressionFunctions",kind:"u",desc:"Module-specific Expression Functions available",isOpt:!0,gridInfo:"item",defVal:"undefined (defaults to available System & Custom values)"},{name:"performExpressionValidation",kind:"b",desc:"Validate Expressions before they can be run or saved",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"systemAggregatedBooleanFunctions",kind:"u",desc:"System AggregatedBoolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemAggregatedScalarFunctions",kind:"u",desc:"System AggregatedScalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"undefined (sets all)"},{name:"systemBooleanFunctions",kind:"u",desc:"System Boolean Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemObservableFunctions",kind:"u",desc:"System Observable Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"},{name:"systemScalarFunctions",kind:"u",desc:"System Scalar Expression Functions available in AdapTableQL",isOpt:!0,gridInfo:"item",defVal:"null (sets all)"}]},FDC3Column:{name:"FDC3Column",kind:"I",desc:"An FDC3 Column - will raise FDC3 intents and broadcast FDC3 messages",props:[{name:"broadcastContextMenuLabel",kind:"u",desc:"Label to display in Broadcast Context Menu Item",isOpt:!0},{name:"columnId",kind:"s",desc:"Id of Column defined as FDC3"},{name:"intentContextMenuLabel",kind:"u",desc:"Label to display in Intent Context Menu Item",isOpt:!0},{name:"intentIcon",kind:"u",desc:"Returns a custom icon to display in the Raise Intent Context Menu Item;",isOpt:!0},{name:"intents",kind:"a",desc:"FDC3 intents which the Column can raise",isOpt:!0},{name:"nameColumnId",kind:"s",desc:"If provided, will supply `name` property in FDC3 message",isOpt:!0},{name:"raiseIntentForContextMenuLabel",kind:"u",desc:"Label to display in RaiseIntentForContext Context Menu Item",isOpt:!0},{name:"showBroadcastContextMenu",kind:"b",desc:"Should Column display a 'Broadcast' context menu item",isOpt:!0},{name:"showRaiseIntentForContextMenu",kind:"b",desc:"Should Column display a 'Raise Intent for Context' context menu item",isOpt:!0}]},FDC3Context:{name:"FDC3Context",kind:"I",desc:"General-purpose context type, as defined by FDC3",props:[{name:"(indexer)",kind:"i",desc:"Custom properties and metadata. This can be extended in specific context object."},{name:"id",kind:`{
|
|
543
543
|
[key: string]: string | undefined;
|
|
544
544
|
}`,desc:"Optional map of any equivalent identifiers for the context type, e.g. ISIN, CUSIP, etc. for Instrument",isOpt:!0},{name:"name",kind:"s",desc:"Name of the context data (optional) - a text string that describes the data being sent",isOpt:!0},{name:"type",kind:"R",desc:"Type of FDC3Context that uniquely identifies it, e.g. "instrument"; used to refer to the accepted context(s) when declaring intents",ref:"FDC3ContextType"}]},FDC3ContextType:{name:"FDC3ContextType",kind:"A",desc:"Defines which FDC3 context is being used"},FDC3Intent:{name:"FDC3Intent",kind:"A",desc:"Full list of FDC3 Intents available - each FDC3 Column can use a subset"},FilterActionOnDataChange:{name:"FilterActionOnDataChange",kind:"I",desc:"Whether Adaptable re-applies filtering after data edits; if `applyFilter` value is 'Throttle', `throttleDelay` should be set",props:[{name:"applyFilter",kind:"'Always' | 'Never' | 'Throttle'",desc:"When to re-apply Filters: 'Always', 'Never' or 'Throttle'"},{name:"throttleDelay",kind:"n",desc:"Delay in ms (when `applyFilter` is set to 'Throttle')",isOpt:!0}]},FilterOptions:{name:"FilterOptions",kind:"I",desc:"Options for managing Filtering in AdapTable",props:[{name:"autoApplyFilter",kind:"b",desc:"Apply selected filters (in Filter Form or Quick Filter Bar) as soon as they are clicked; if false an Apply Filter button is displayed",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"clearFiltersOnStartUp",kind:"b",desc:"Clears saved Column Filters when AdapTable loads",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"defaultDateColumnFilter",kind:"u",desc:"Default filter type for date Columns",isOpt:!0,gridInfo:"item",defVal:"On"},{name:"defaultFilterFormTab",kind:"'Values' | 'Predicates'",desc:"Whether to open the Filter Form on the Values or Predicates tab",isOpt:!0,gridInfo:"item",defVal:"'Values'"},{name:"defaultNumericColumnFilter",kind:"u",desc:"Default filter type for numeric Columns",isOpt:!0,gridInfo:"item",defVal:"Equals"},{name:"defaultStringColumnFilter",kind:"u",desc:"Default filter type for string Columns",isOpt:!0,gridInfo:"item",defVal:"Contains"},{name:"enableFilterOnSpecialColumns",kind:"b",desc:"Allows filtering on Calculated & FreeText columns",isOpt:!0,gridInfo:"item",defVal:"true"},{name:"filterActionOnExternalDataChange",kind:"R",desc:"When to re-filter grid after data ticks: 'Always', 'Never' or 'Throttle' (which requires a 'ThrottleDelay')",isOpt:!0,defVal:"'Never'",ref:"FilterActionOnDataChange"},{name:"filterActionOnUserDataChange",kind:"R",desc:"When to re-filter grid after user edits data: 'Always', 'Never' or 'Throttle' (which requires a 'ThrottleDelay')",isOpt:!0,defVal:"'Always'",ref:"FilterActionOnDataChange"},{name:"hideQuickFilterDropdown",kind:"u",desc:"Hides the Dropdown in Quick Filter Bar for a given Column",isOpt:!0,defVal:"undefined"},{name:"hideQuickFilterInput",kind:"u",desc:"Hides the Input in Quick Filter Bar for a given Column",isOpt:!0,defVal:"undefined"},{name:"indicateFilteredColumns",kind:"b",desc:"Make Column header distinctive for filtered columns, helps users see currently filtered columns",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"maxFilterValuesToDisplay",kind:"n",desc:"Distinct column items to display in Filter Form; useful with large datasource (though AdapTable offers virtualisation)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"2,000"},{name:"quickFilterDebounce",kind:"n",desc:"Time to wait (in ms) before Filter Bar reacts to new value",isOpt:!0,gridInfo:"item",defVal:"250"},{name:"quickFilterHeight",kind:"n",desc:"Sets a height for Quick Filter Bar (if not provided AG Grid's default is used)",isOpt:!0,gridInfo:"item",defVal:"null"},{name:"quickFilterTrigger",kind:"'mouseenter' | 'click'",desc:"Whether to open Quick Filter dropdown with mouse hover or click",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"'mouseenter'"},{name:"quickFilterValuesTrigger",kind:"'mouseenter' | 'click'",desc:"Whether to open Quick Filter Values dropdown with mouse hover or click",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"'mouseenter'"},{name:"quickFilterValuesWidth",kind:"'auto' | number",desc:"Width of Values popup in Filter Bar - can be set width or same size as Column",isOpt:!0,defVal:"'180'"},{name:"quickFilterWildcards",kind:"u",desc:"Shortcut Keys to activate a Quick Filter Predicate",isOpt:!0},{name:"showClearFilterButton",kind:"b",desc:"Display Clear Filter button in Toolbar and Tool Panel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showDistinctFilteredValuesOnly",kind:"b",desc:"Display only currently filtered distinct values in Filter controls",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showQuickFilter",kind:"b",desc:"Whether to display Quick Filter Bar between Column Header and the Grid (provided its been setup)",isOpt:!0,noCode:"item",defVal:"true"},{name:"showSuspendFilterButton",kind:"b",desc:"Display Suspend / Unsuspend Button in Toolbar and Tool Panel",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"showValuesCount",kind:"u",desc:"Show the count of each distinct item for given column in the Values (IN) Filter",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"sortColumnValuesInFilter",kind:"b",desc:"Whether column values in filter dropdown should apply column's current Sort Order for the column",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"useAdaptableFilterForm",kind:"boolean | string[]",desc:"Uses Adaptable's Filter Form in Column Menu for all columns if 'true' (the default) or those listed, in preference to AG Grid's Filter Form",isOpt:!0,noCode:"item",defVal:"true"},{name:"useAdaptableQuickFilter",kind:"boolean | string[]",desc:"Use Adaptable's Quick Filter Bar for all columns if 'true' (the default) or those listed, in preference to AG Grid's Floating Filter",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"},{name:"useAgGridFilterFormStyle",kind:"b",desc:"Styles Adaptable Filter Form to match AG Grid's styling (if using Balham theme)",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"true"}]},FilterPermittedValues:{name:"FilterPermittedValues",kind:"I",desc:"Used to define values inside the Filter Bar and Filter Form",props:[{name:"suppressFilterSearchBar",kind:"b",desc:"Prevents AdapTable from filtering the list of values client-side; When true, values is called each time the search bar is changed",isOpt:!0,defVal:"false"},{name:"values",kind:"u",desc:"Function returning Values to display in 'IN' Filter - can be async"}]},FilterPermittedValuesContext:{name:"FilterPermittedValuesContext",kind:"I",desc:"Context used when getting FilterPermittedValues via a function",props:[{name:"searchFilter",kind:"s",desc:"A search string"}]},FinancePluginOptions:{name:"FinancePluginOptions",kind:"I",desc:"Options required for when using the Finance plugin",props:[{name:"autoHandleFDC3AdaptableMessages",kind:"b",desc:"Whether `FDC3MessageSent` Adaptable events should be automatically delegated to the FDC3 API (either via `fdc3.raiseIntent(...)` or `fdc3.broadcast(...)` )",isOpt:!0,defVal:"TRUE"},{name:"availableFDC3Intents",kind:"u",desc:"Intents to which to subscribe.",isOpt:!0},{name:"fdc3Columns",kind:"u",desc:"Columns to be defined as FDC3-related",isOpt:!0},{name:"onFDC3Context",kind:"u",desc:"Called when a context changes.",isOpt:!0},{name:"onFDC3Intent",kind:"u",desc:"Called when an intent from `availableIntents` is raised.",isOpt:!0}]},FinsemblePluginOptions:{name:"FinsemblePluginOptions",kind:"I",desc:"Options required for when using the Finsemble plugin",props:[{name:"applicationName",kind:"s",desc:"Application name - used to identify the application in Finsemble console",isOpt:!0},{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Should Adaptable's Alerts appear as Finsemble Notifications",isOpt:!0,defVal:"true"},{name:"stateOptions",kind:"R",desc:"Options for managing Adaptable State with Finsemble State",isOpt:!0,ref:"FinsemblePluginStateOptions"}]},FinsemblePluginStateOptions:{name:"FinsemblePluginStateOptions",kind:"I",desc:"Options for managing state while using Finsemble",props:[{name:"key",kind:"s",desc:"Key used to persist/load AdapTable State in Finsemble"},{name:"persistInFinsemble",kind:"b",desc:"Whether to persist AdapTable State inside Finsemble"},{name:"topic",kind:"s",desc:"Topic used to persist/load AdapTable State in Finsemble"}]},FlashingCellDefinition:{name:"FlashingCellDefinition",kind:"I",desc:"The Flashing Cell Definition",props:[{name:"DownChangeStyle",kind:"R",desc:"Style for 'Down' value changes",isOpt:!0,defVal:"Red BackColour",ref:"AdaptableStyle"},{name:"FlashDuration",kind:"number | 'always'",desc:"Duration of Flash - can be number (in ms) or 'always'",isOpt:!0,defVal:"500ms"},{name:"FlashTarget",kind:"u",desc:"Should a cell or whole row flash",isOpt:!0,defVal:"'cell'"},{name:"NeutralChangeStyle",kind:"R",desc:"Style for 'Neutral' value changes",isOpt:!0,defVal:"Gray BackColour",ref:"AdaptableStyle"},{name:"Rule",kind:"R",desc:"When Flashing Cell should be triggered",ref:"unknown"},{name:"Scope",kind:"R",desc:"Where Flashing Cell can display: Column[s] or DataType[s]",ref:"AdaptableScope"},{name:"UpChangeStyle",kind:"R",desc:"Style for 'Up' value changes",isOpt:!0,defVal:"Green BackColour",ref:"AdaptableStyle"}]},FlashingCellOptions:{name:"FlashingCellOptions",kind:"I",desc:"Properties for Flashing Cell",props:[{name:"defaultDownChangeStyle",kind:"R",desc:"Style for 'Down' value changes",isOpt:!0,defVal:"Red BackColour",ref:"AdaptableStyle"},{name:"defaultFlashDuration",kind:"number | 'always'",desc:"Duration of Flash - can be number (in ms) or 'always'",isOpt:!0,defVal:"500ms"},{name:"defaultFlashTarget",kind:"'row' | 'cell'",desc:"Should a cell or whole row flash",isOpt:!0,defVal:"'cell'"},{name:"defaultNeutralChangeStyle",kind:"R",desc:"Style for 'Neutral' value changes",isOpt:!0,defVal:"Gray BackColour",ref:"AdaptableStyle"},{name:"defaultUpChangeStyle",kind:"R",desc:"Style for 'Up' value changes",isOpt:!0,defVal:"Green BackColour",ref:"AdaptableStyle"}]},FlashingCellState:{name:"FlashingCellState",kind:"I",desc:"Predefined Configuration for Flashing Cell module",props:[{name:"FlashingCellDefinitions",kind:"a",desc:"Flashing Cell Definitions - will colour cells/rows when rule is met",isOpt:!0}]},FormatColumn:{name:"FormatColumn",kind:"I",desc:"Object used in Format Column function",props:[{name:"CellAlignment",kind:"'Left' | 'Right' | 'Center'",desc:"Aligns cells 'Left' or 'Right' or 'Center'",isOpt:!0},{name:"ColumnStyle",kind:"R",desc:"",isOpt:!0,ref:"unknown"},{name:"DisplayFormat",kind:"R",desc:"Display Format to apply to Column can be Numeric, String or Date",isOpt:!0,ref:"AdaptableFormat"},{name:"IncludeGroupedRows",kind:"b",desc:"Whether to Format the Column in Grouped Rows",isOpt:!0,defVal:"false"},{name:"Rule",kind:"R",desc:"Rule used to decide whether to apply the Format; if undefined Format is always applied",isOpt:!0,ref:"FormatColumnRule"},{name:"Scope",kind:"R",desc:"Where Format will be applied - whole Row, some Columns or all Columns of given DataType",ref:"AdaptableScope"},{name:"Style",kind:"R",desc:"Style to apply",isOpt:!0,ref:"AdaptableStyle"}]},FormatColumnPredicate:{name:"FormatColumnPredicate",kind:"I",desc:"Predicate used when creating a Format Column"},FormatColumnRule:{name:"FormatColumnRule",kind:"A",desc:"The Format Column Rule - can be either a Predicate or a BooleanExpression"},FormatColumnState:{name:"FormatColumnState",kind:"I",desc:"Predefined Configuration for Format Column Module",props:[{name:"FormatColumns",kind:"a",desc:"Collection of Format Columns",isOpt:!0}]},FormContext:{name:"FormContext",kind:"I",desc:"Context supplied to Buttons that appear in an Adaptable Form",props:[{name:"formData",kind:"R",desc:"Adaptable Form Data",ref:"AdaptableFormData"}]},FreeTextColumn:{name:"FreeTextColumn",kind:"I",desc:"The FreeTextColumn object used in the Free Text Column function",props:[{name:"ColumnId",kind:"s",desc:"Id of Column"},{name:"DefaultValue",kind:"u",desc:"Initial value to use for each cell in the Column",isOpt:!0},{name:"FreeTextColumnSettings",kind:"R",desc:"Additional optional properties for Column (e.g. filterable, resizable)",ref:"FreeTextColumnSettings"},{name:"FreeTextStoredValues",kind:"a",desc:"Collection of Stored Values to aplly in the Column",isOpt:!0},{name:"FriendlyName",kind:"s",desc:"Friendly Name to use to refer to Column; if unset `ColumnId` is used",isOpt:!0},{name:"TextEditor",kind:"'Inline' | 'Large'",desc:"Cell editor to use when editing a string Free Text Column",isOpt:!0,defVal:"'Inline'"}]},FreeTextColumnSettings:{name:"FreeTextColumnSettings",kind:"I",desc:"Set of optional properties that define a FreeText Columns behaviour"},FreeTextColumnState:{name:"FreeTextColumnState",kind:"I",desc:"Predefined Configuration for the Free Text Column Module",props:[{name:"FreeTextColumns",kind:"a",desc:"Collection of Free Text Columns",isOpt:!0}]},FreeTextStoredValue:{name:"FreeTextStoredValue",kind:"I",desc:"Defines a cell value stored in a Free Text Column",props:[{name:"FreeText",kind:"u",desc:"Value to store in the cell"},{name:"PrimaryKey",kind:"u",desc:"Primary Key Column value for the row"}]},GeneralOptions:{name:"GeneralOptions",kind:"I",desc:"General options for configuring AdapTable including managing Primary Keys",props:[{name:"alternativeModuleNames",kind:"a",desc:"Alternative names to use for Adaptable Modules in toolbars and menus",isOpt:!0,defVal:"null"},{name:"cellSummaryOperations",kind:"u",desc:"Custom Cell Summary Operations to add to shipped set",isOpt:!0},{name:"customSortComparers",kind:"u",desc:"CustomSort column comparer functions",isOpt:!0},{name:"dataSets",kind:"a",desc:"Collection of Data Sets to provide Data to AdapTable",isOpt:!0},{name:"disableDeleteConfirmation",kind:"b",desc:"Hides confirmation dialog which displays whenever an AdaptableObject is deleted",isOpt:!0,noCode:"item",defVal:"false"},{name:"englishVariant",kind:"'GB' | 'US'",desc:"English variant to use in UI labels",isOpt:!0,gridInfo:"item",defVal:"'GB'"},{name:"holidays",kind:"R",desc:"Holidays - used to determine Working Days",isOpt:!0,defVal:"null",ref:"Holidays"},{name:"restoreUngroupedColumns",kind:"b",desc:"Places ungrouped columns at pre-grouping indexed position",isOpt:!0,noCode:"item",defVal:"false"},{name:"showGroupingTotalsAsHeader",kind:"b",desc:"Show aggregated totals row at top of Grid when row grouping",isOpt:!0,gridInfo:"item",defVal:"false"},{name:"showMissingPrimaryKeyAlert",kind:"b",desc:"Shows Alert if Primary Key column in Adaptable Options is not present or incorrect",uiLabel:"Show Missing Primary Key Warning",isOpt:!0,gridInfo:"item",noCode:"item",defVal:"false"},{name:"unbalancedGroupsKey",kind:"u",desc:"Value to use for 'Unbalanced Groups' (string columns)",isOpt:!0}]},GlobalExpressionFunctionsContext:{name:"GlobalExpressionFunctionsContext",kind:"I",desc:"Context provided to global expression functions properties property callback",props:[{name:"availableExpressionFunctionNames",kind:"u",desc:"The names of all expression functions available in this context"}]},Glue42PluginOptions:{name:"Glue42PluginOptions",kind:"I",desc:"Options for using the Glue42 Desktop plugin",props:[{name:"gatewayURL",kind:"s",desc:"Gateway URL",isOpt:!0},{name:"glue",kind:"u",desc:"Main Glue desktop object",isOpt:!0},{name:"glue42Office",kind:"u",desc:"Main Glue42 Office object",isOpt:!0},{name:"password",kind:"s",desc:"Password to use to login to Glue42; typically sourced from PC Credentials",isOpt:!0},{name:"username",kind:"s",desc:"UserName to use to login to Glue42; typically sourced from PC Credentials",isOpt:!0}]},Glue42Report:{name:"Glue42Report",kind:"I",desc:"Glue42 report - currently just contains name of Report",props:[{name:"ReportName",kind:"s",desc:"The Report's name (as exists in Export State)"}]},Glue42Schedule:{name:"Glue42Schedule",kind:"I",desc:"Defines Glue42 Scheduled Report; used in Schedule Module (where State is stored)",props:[{name:"Glue42Report",kind:"R",desc:"The Glue42 Report which will be sent when the Schedule runs",ref:"Glue42Report"},{name:"Transmission",kind:"'Snapshot' | 'Live Data'",desc:"Whether its a one-off or 'streaming' transmission"}]},Glue42State:{name:"Glue42State",kind:"I",desc:"Internal State used by AdapTable for managing the Glue42 plugin",props:[{name:"CurrentLiveGlue42Report",kind:"R",desc:"Which Glue42 Report is currently live",isOpt:!0,ref:"Glue42Report"},{name:"Glue42LoginErrorMessage",kind:"s",desc:"Message to show when Login Fails",isOpt:!0},{name:"IsGlue42Available",kind:"b",desc:"Whether Glue42 is available",isOpt:!0},{name:"IsGlue42Running",kind:"b",desc:"Whether Glue42 is running",isOpt:!0}]},Glue42WebPluginOptions:{name:"Glue42WebPluginOptions",kind:"I",desc:"Options for using the Glue42 Web plugin",props:[{name:"showAdaptableAlertsAsNotifications",kind:"b",desc:"Converts AdapTable Alerts configured to display in popup as Glue42 Notifications",isOpt:!0,defVal:"true"}]},GradientStyle:{name:"GradientStyle",kind:"I",desc:"Used to display Gradient Styles in Special Column Style"},GridCell:{name:"GridCell",kind:"I",desc:"Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value",props:[{name:"column",kind:"u",desc:"Column in which cell is situated"},{name:"displayValue",kind:"u",desc:"Display value of cell (e.g. if formatted)"},{name:"normalisedValue",kind:"u",desc:"Normalised value of cell"},{name:"primaryKeyValue",kind:"u",desc:"Primary Key column's value in row - how Adaptable locates the cell",isOpt:!0},{name:"rawValue",kind:"u",desc:"Actual raw value of cell"},{name:"rowNode",kind:"u",desc:"AG Grid Row Node that holds the cell"}]},GridCellRange:{name:"GridCellRange",kind:"I",desc:"Defines a range of Cell - used in Grid Api Selection methods Typically use either PrimaryKey Values or Row Indexes",props:[{name:"columnIds",kind:"a",desc:"Columns to select"},{name:"primaryKeyValueEnd",kind:"u",desc:"Primary Key value of row at end of range",isOpt:!0},{name:"primaryKeyValueStart",kind:"u",desc:"Primary Key value of row at start of range",isOpt:!0},{name:"rowIndexEnd",kind:"u",desc:"Index of row at end of range",isOpt:!0},{name:"rowIndexStart",kind:"u",desc:"Index of row at start of range",isOpt:!0}]},GridInfoSection:{name:"GridInfoSection",kind:"A",desc:"Tabs available in the Grid Info Settings Panel"},GridRow:{name:"GridRow",kind:"I",desc:"Detailed information about a Row in AdapTable",props:[{name:"primaryKeyValue",kind:"u",desc:"Primary Key column's value for Row - how Adaptable locates a cell"},{name:"rowData",kind:"u",desc:"Actual data in the Row",isOpt:!0},{name:"rowInfo",kind:"R",desc:"Object which provides 'meta data' about the Row",isOpt:!0,ref:"RowInfo"},{name:"rowNode",kind:"u",desc:"AG Grid Row Node object for the Row",isOpt:!0}]},HolidayContext:{name:"HolidayContext",kind:"I",desc:"Context used for isHoliday function",props:[{name:"adaptableId",kind:"s",desc:"Id of current AdapTable instance"},{name:"dateToCheck",kind:"d",desc:"Date being checked"},{name:"userName",kind:"s",desc:"Name of Current User"}]},Holidays:{name:"Holidays",kind:"I",desc:"Holidays - can be list or function (latter takes preference)",props:[{name:"isHoliday",kind:"f",desc:"Function which returns true if given date is a holiday",isOpt:!0},{name:"list",kind:"a",desc:"Holidays provided as valid ISO date strings",isOpt:!0}]},IAdaptableNoCodeWizard:{name:"IAdaptableNoCodeWizard",kind:"I",desc:"When you want to configure an Adaptable via json file D&D, use this instead of the normal Adaptable constructor"},InstrumentColumn:{name:"InstrumentColumn",kind:"I",desc:"A Column which will be defined as an FDC3 Instrument",props:[{name:"bbgColumnId",kind:"s",desc:"Column which holds a Bloomberg Ticker value as instrument data",isOpt:!0},{name:"cusipColumnId",kind:"s",desc:"Column which holds a CUSIP value as instrument data",isOpt:!0},{name:"figiColumnId",kind:"s",desc:"Column which holds a [FIGI](https://www.openfigi.com/about/figi) value as instrument data",isOpt:!0},{name:"intents",kind:"R",desc:"Instrument-related FDC3 Intents; can be: `ViewChart` `ViewQuote` `ViewNews` `ViewAnalysis` `ViewInstrument`",isOpt:!0,ref:"InstrumentIntents"},{name:"isinColumnId",kind:"s",desc:"Column which holds an ISIN value as instrument data",isOpt:!0},{name:"permidColumnId",kind:"s",desc:"Column which holds a PERMID value as instrument data",isOpt:!0},{name:"ricColumnId",kind:"s",desc:"Column which holds a Reuters Instrument Code value as instrument data",isOpt:!0},{name:"sedolColumnId",kind:"s",desc:"Column which holds a SEDOL value as instrument data",isOpt:!0},{name:"tickerColumnId",kind:"s",desc:"Column which holds a ticker value as instrument data",isOpt:!0}]},InstrumentContext:{name:"InstrumentContext",kind:"I",desc:"FDC3 Context to define a financial Instrument",props:[{name:"id",kind:"u",desc:"Instrument data: ticker, ISIN, CUSIP, SEDOL, RIC, BBG, PERMID, FIGI",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of the Instrument",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `instrument`"}]},InstrumentIntent:{name:"InstrumentIntent",kind:"A",desc:"FDC3 Intents available to an Instrument Column"},InstrumentIntents:{name:"InstrumentIntents",kind:"A",desc:"All available Instrument Intents"},InstrumentListContext:{name:"InstrumentListContext",kind:"I",desc:"FDC3 Context to define an array of financial Instruments",props:[{name:"id",kind:"u",desc:"Optional Id",isOpt:!0},{name:"instruments",kind:"a",desc:"The instrument data",isOpt:!0},{name:"name",kind:"s",desc:"Free text name of list of Instruments (not set by AdapTable)",isOpt:!0},{name:"type",kind:"u",desc:"Context type is always `instrumentList`"}]},IPushPullDomain:{name:"IPushPullDomain",kind:"I",desc:"Internal object that maps an IPushPull Domain object",props:[{name:"FolderId",kind:"n",desc:"the Id of the Folder"},{name:"Name",kind:"s",desc:"the Name of the Domain / Folder"},{name:"Pages",kind:"a",desc:"The names of the pages within the (Folder)"}]},IPushPullPluginOptions:{name:"IPushPullPluginOptions",kind:"I",desc:"Options available in ipushpull plugin; allows users to collborate and share data in powerful ways",props:[{name:"autoLogin",kind:"b",desc:"Whether AdapTable should try log in to ipushpull automatically at start-up",isOpt:!0,defVal:"false"},{name:"includeSystemReports",kind:"b",desc:"Whether AdapTable will include System Reports (e.g. 'All Data', 'Selected Cells' etc) in the ipushpull toolbar dropdown",isOpt:!0,defVal:"true"},{name:"ippConfig",kind:"u",desc:"The config required to run ipushpull; use your ipushpull credentials",isOpt:!0},{name:"password",kind:"s",desc:"The user's ipushpull password; if supplied, pre-populates the login screen's password textbox",isOpt:!0},{name:"throttleTime",kind:"n",desc:"How many miliseconds AdapTable should throttle when sending data updates to ipushpull",isOpt:!0,defVal:"2000"},{name:"username",kind:"s",desc:"User's ipushpull user name (usually email address); if supplied, pre-populates the login screen's username textbox",isOpt:!0}]},IPushPullReport:{name:"IPushPullReport",kind:"I",desc:"An ipushpull report",props:[{name:"Folder",kind:"s",desc:"ipushpull Folder which contains the Page"},{name:"Page",kind:"s",desc:"ipushpull Page which will contain the data"},{name:"ReportName",kind:"s",desc:"Name of the Report"}]},IPushPullSchedule:{name:"IPushPullSchedule",kind:"I",desc:"Defines an ipushpull Schedule",props:[{name:"IPushPullReport",kind:"R",desc:"The report being exported to Excel (via ipushpull)",ref:"IPushPullReport"},{name:"Transmission",kind:"'Snapshot' | 'Live Data'",desc:"How data is sent: 'Snapshot' or 'Live Data'"}]},IPushPullState:{name:"IPushPullState",kind:"I",desc:"Internal State used by AdapTable for managing the ipushpull plugin"},Layout:{name:"Layout",kind:"I",desc:"Defines a Layout; contains everything required i.e. Columns, Sorts, Widths, Aggregations, Grouping & Pivoting",props:[{name:"AggregationColumns",kind:"R",desc:"Columns showing aggregated values in grouped rows; 1st value in record is Column name, 2nd is either aggfunc (e.g. sum, avg etc.) or 'true' (to use default aggfunc)",isOpt:!0,ref:"unknown"},{name:"AutoSave",kind:"b",desc:"Whether Layout should automatically save or not - overrides `autoSaveLayouts` property in LayoutOptions",isOpt:!0},{name:"ColumnFilters",kind:"a",desc:"Collection of Column Filters.",isOpt:!0},{name:"ColumnHeadersMap",kind:"u",desc:"Set of custom header names for some (or all columns)",isOpt:!0},{name:"Columns",kind:"a",desc:"Which columns should be visible in the Layout and in which order"},{name:"ColumnSorts",kind:"a",desc:"Sorting to apply in the Layout",isOpt:!0},{name:"ColumnWidthMap",kind:"u",desc:"Set of widths for some (or all columns)",isOpt:!0},{name:"EnablePivot",kind:"b",desc:"Whether pivoting should be enabled in the Grid when this Layout loads",isOpt:!0},{name:"ExpandedRowGroupValues",kind:"a",desc:"Opened Row Groups - set if `displayRowGroups` in LayoutOptions is 'dynamic'",isOpt:!0},{name:"Name",kind:"s",desc:"Name of Layout as will appear in Layout toolbar and tool panel"},{name:"PinnedColumnsMap",kind:`{
|
|
545
545
|
[columnId: string]: 'left' | 'right';
|
|
@@ -567,7 +567,7 @@ Please adjust the cell selection.`,alertDefinition:Ke.CreateInternalAlertDefinit
|
|
|
567
567
|
justify-content: center;`,this.eGui.appendChild(i),i.disabled||(this.suppressEditEvent=this.suppressEditEvent.bind(this),this.eGui.addEventListener("click",this.suppressEditEvent),this.eGui.addEventListener("dblclick",this.suppressEditEvent))},r.prototype.checkedHandler=function(n){let i=n.target.checked;this.params.node.setDataValue(o,i),t.styledColumnApi.fireCheckboxColumnClickedEvent(o,this.params.node.data,t.gridApi.getPrimaryKeyValueForRowNode(this.params.node),i)},r.prototype.suppressEditEvent=function(n){n.target===this.eGui&&(n.preventDefault(),n.stopPropagation())},r.prototype.getGui=function(){return this.eGui},r.prototype.refresh=function(){return!1},r.prototype.destroy=function(){var n,i,a,s;(i=(n=this.eGui)==null?void 0:n.firstChild)==null||i.removeEventListener("click",this.checkedHandler),(a=this.eGui)==null||a.removeEventListener("click",this.suppressEditEvent),(s=this.eGui)==null||s.removeEventListener("dblclick",this.suppressEditEvent)},r},OB=class{isCancelBeforeStart(){return!0}init(e){let t=e.api.__adaptable,r=document.createElement("input");r.type="checkbox",r.checked=e.value,r.disabled=t.api.internalApi.getAdaptableInstance().isCellEditable(e.node,e.column),this.eGui=document.createElement("div"),this.eGui.style.cssText=`display: flex;
|
|
568
568
|
height: 100%;
|
|
569
569
|
align-items: center;
|
|
570
|
-
justify-content: center;`,this.eGui.appendChild(r),this.value=e.value}getGui(){return this.eGui}getValue(){return this.value}};d();d();var yMe=w(require("react"));var vMe=()=>yMe.createElement(CV,{gap:0,buttonsPaddingY:0});var FB=class extends mt{constructor(e){super(dl,hz,"track-changes","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{t.trigger!=="undo"&&t.trigger!=="aggChange"&&this.shouldLogDataChange(t)&&this.api.internalApi.dispatchReduxAction(Wie(t))})}isModuleAvailable(){let e=super.isModuleAvailable(),t=this.api.internalApi.getAdaptableInstance().isAgGridModulePresent(He.ClientSideRowModelModule);return e&&!t&&this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${He.ClientSideRowModelModule}`),e&&t}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.optionsApi.getDataChangeHistoryOptions().showDataChange?this.api.optionsApi.getDataChangeHistoryOptions().showDataChange(e):!0}getViewProperties(){return{getStatusBarPanelProps:()=>({triggerActionOnWrapperClick:!1,content:vMe})}}};d();d();var SMe=o=>({name:"Duration",values:[o.FlashDuration]});d();var Mu=w(require("react")),NA=require("react"),iP=w(re());d();var Bo=w(require("react")),bMe=require("react"),mh=w(re());var AMe=o=>Bo.createElement(Bo.Fragment,null,Bo.createElement(mh.Text,{fontSize:2},o.FlashDuration==="always"?Bo.createElement(Bo.Fragment,null,"Flashing is never removed"):Bo.createElement(Bo.Fragment,null,"Flashing is removed after ",Bo.createElement(yi,null,o.FlashDuration)," ","milliseconds"))),xMe=o=>{var u,p,c,m,f,g,C;let{data:e}=Ee();e=e!=null?e:o.flashingCell;let t=y=>{o.onChange(R(v({},e),{FlashDuration:y}))},r=(u=e.FlashDuration)!=null?u:500,n=Bo.useRef(typeof r=="number"?r:500),i=(0,bMe.useRef)(null),a=yl(r,r);Bo.useEffect(()=>{var y;a==="always"&&r!=a&&((y=i.current)==null||y.focus())},[r,a]);let s=y=>{t(y==="number"?n.current:"always")},l=(y,b)=>{var A;let S=(A=e.FlashTarget)!=null?A:[];typeof S=="string"&&(S=[S]),Array.isArray(S)&&(b?S=[...S,y]:S=S.filter(x=>y!=x)),o.onChange(R(v({},e),{FlashTarget:S}))};return Bo.createElement(mh.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Bo.createElement(K,{autoFocus:!1,padding:2},Bo.createElement(K.Tab,null,"Flashing Cell Settings"),Bo.createElement(K.Content,null,Bo.createElement(Ie,null,Bo.createElement(Z,{label:"Duration Type"},Bo.createElement(_e,{"data-name":"duration-type-always",mr:3,checked:r=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),Bo.createElement(_e,{"data-name":"duration-type-number",checked:r!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),Bo.createElement(Z,{label:""},r!=="always"&&Bo.createElement(mh.Flex,{flexDirection:"row",alignItems:"baseline"},Bo.createElement(mh.Text,{fontSize:2,mr:2},"After"),Bo.createElement(We,{"data-name":"duration-input",readOnly:o.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:r,onChange:y=>{let b=y.target.value;t(isNaN(Number(b))?500:Number(b))}}),Bo.createElement(mh.Text,{fontSize:2},"milliseconds")),r==="always"&&Bo.createElement(mh.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),Bo.createElement(Z,{label:"Flash Target"},Bo.createElement(ye,{"data-name":"flashing-target",onChange:y=>l("cell",y),mr:3,checked:(e==null?void 0:e.FlashTarget)==="cell"||((c=(p=e==null?void 0:e.FlashTarget)==null?void 0:p.includes)==null?void 0:c.call(p,"cell")),tabIndex:-1},"Cell"),Bo.createElement(ye,{"data-name":"flashing-target-row",mr:3,onChange:y=>l("row",y),checked:(e==null?void 0:e.FlashTarget)==="row"||((f=(m=e==null?void 0:e.FlashTarget)==null?void 0:m.includes)==null?void 0:f.call(m,"row")),tabIndex:-1},"Row"),Bo.createElement(ye,{"data-name":"flashing-target-aggFuncCell",onChange:y=>l("aggFuncCell",y),checked:(e==null?void 0:e.FlashTarget)==="aggFuncCell"||((C=(g=e==null?void 0:e.FlashTarget)==null?void 0:g.includes)==null?void 0:C.call(g,"aggFuncCell")),tabIndex:-1},"Aggregated Function Cell"))))))};d();var On=w(require("react"));var RMe=o=>{var r;let{api:{flashingCellApi:e}}=Ee(),t=(r=o.FlashTarget)!=null?r:e.getFlashingCellFlashTarget(o);return On.createElement(nA,{data:o,renderPredicate:n=>On.createElement(On.Fragment,null,"Flash ",On.createElement(yi,null,t)," - value condition"," ",On.createElement(yi,null,n)),renderQueryExpression:n=>On.createElement(On.Fragment,null,"Flash ",On.createElement(yi,null,t)," when"," ",On.createElement("b",null,On.createElement(yi,null,n)))})},wMe=o=>{let{data:e,api:t,moduleInfo:r}=Ee(),n=t.flashingCellApi.getFlashingCellPredicateDefsForScope(e.Scope);return On.createElement(Bf,{module:r.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:n,getPredicateDefsForColId:i=>t.flashingCellApi.getFlashingCellPredicateDefsForScope({ColumnIds:[i]}),onChange:o.onChange,showAggregation:!1,showObservable:!1,showBoolean:!0,showPredicate:!0,descriptions:{selectPredicate:"Select an Flashing Cell Rule - to be applied when data changes",useBooleanQuery:On.createElement(On.Fragment,null,"Use an BooleanQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:On.createElement(On.Fragment,null,"Use an ObservableQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:On.createElement(On.Fragment,null,"Use an AggregatedBooleanQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})};d();var ai=w(require("react")),_B=w(re());var m7=ai.createElement(_B.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),EMe=o=>{var r,n,i;let{data:e,api:t}=Ee();return e=e!=null?e:o.flashingAlert,ai.createElement(ai.Fragment,null,ai.createElement(K,{defaultValue:"up"},ai.createElement(K.Tab,{value:"up"},"Up ",m7),ai.createElement(K.Content,{value:"up"},ai.createElement(fu,{headless:!0,api:t,Style:(r=e.UpChangeStyle)!=null?r:{},UpdateStyle:a=>o.onStyleChange("UpChangeStyle",a)})),ai.createElement(K.Tab,{value:"down"},"Down ",m7),ai.createElement(K.Content,{value:"down"},ai.createElement(fu,{headless:!0,api:t,Style:(n=e.DownChangeStyle)!=null?n:{},UpdateStyle:a=>o.onStyleChange("DownChangeStyle",a)})),ai.createElement(K.Tab,{value:"neutral"},"Neutral ",m7),ai.createElement(K.Content,{value:"neutral"},ai.createElement(fu,{headless:!0,api:t,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>o.onStyleChange("NeutralChangeStyle",a)}))))},dxt=o=>{let r=o,{data:e}=r,t=ze(r,["data"]);return ai.createElement(_B.Box,v({},t),ai.createElement(Dl,{styleObject:o.data.UpChangeStyle},"Up change style ",o.data.UpChangeStyle?"":" - no style"),ai.createElement(Dl,{mt:2,styleObject:o.data.DownChangeStyle},"Down change style ",o.data.DownChangeStyle?"":" - no style"),ai.createElement(Dl,{mt:2,styleObject:o.data.NeutralChangeStyle},"Neutral change style ",o.data.NeutralChangeStyle?"":" - no style"))},TMe=o=>ai.createElement(dxt,{data:o});d();var f7=w(require("react")),PMe=w(re());var IMe=o=>{let{data:e,api:t}=Ee();return f7.createElement(PMe.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},f7.createElement(xu,{descriptions:{rowScope:"Changes anywhere in the row will trigger an Flashing Cell",columnScope:"Changes in selected columns will trigger an Flashing Cell"},scope:e.Scope,updateScope:r=>{let n=R(v({},e),{Scope:r});n.Rule.Predicates&&(n.Rule={Predicates:[{PredicateId:"Any"}]}),o.onChange(n)}}))};d();var DMe=(o,e,t)=>{var n,i;if(!((i=(n=o.Rule)==null?void 0:n.Predicates)!=null&&i.length)&&!o.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";let r=Gf(o,e,t);if(typeof r=="string")return r;if(t.namedQuery!=!1){let a=e.queryApi.isValidNamedQueryName(t.namedQuery);if(!a.valid)return a.message}return!0};var OMe=o=>{let{api:e}=ne(),[t,r]=(0,NA.useState)(()=>{var u,p;let l=o.data?Zt(o.data):Ke.CreateEmptyFlashingCellDefinition();return l=e.flashingCellApi.internalApi.mergeFlashingCellDefinitionWithDefaults(l),!l.Rule.BooleanExpression&&!((p=(u=l.Rule)==null?void 0:u.Predicates)!=null&&p.length)&&(l.Rule.BooleanExpression=""),l}),n=l=>u=>{r(p=>(p=R(v({},p),{[l]:u}),p))},i={DownChangeStyle:(0,NA.useCallback)(n("DownChangeStyle"),[]),UpChangeStyle:(0,NA.useCallback)(n("UpChangeStyle"),[]),NeutralChangeStyle:(0,NA.useCallback)(n("NeutralChangeStyle"),[])},a=at(),s=()=>{o.data?a(hg(t)):a(fg(t)),o.onFinishWizard(t)};return Mu.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:s,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:Ip,render:()=>Mu.createElement(IMe,{onChange:r}),renderSummary:BV,title:"Scope"},{details:"Build the Rules for when Cells should Flash",isValid:DMe,render:()=>Mu.createElement(wMe,{onChange:r}),renderSummary:RMe,title:"Rule"},{details:"Select the Duration of the Flash",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(xMe,{onChange:r})),renderSummary:AMe,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(EMe,{onStyleChange:(l,u)=>{i[l](u)}})),renderSummary:TMe,title:"Flash Styles"},{details:"Select Flashing Cell Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{details:"Review the Flashing Cell Rule",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(Or,null)),title:"Summary"}]})};d();var FMe=o=>({name:"Target",values:Array.isArray(o.FlashTarget)?o.FlashTarget:[o.FlashTarget]});d();d();var aP=w(require("react")),_Me=w(re());var MMe=o=>{let r=o,{data:e}=r,t=ze(r,["data"]);return aP.default.createElement(_Me.Flex,v({flexDirection:"row"},t),aP.default.createElement(Dl,{"data-value":"up-style",mr:1,flex:1,styleObject:o.data.UpChangeStyle},"Up ",o.data.UpChangeStyle?"":" - no style"),aP.default.createElement(Dl,{"data-value":"down-style",mr:1,flex:1,styleObject:o.data.DownChangeStyle},"Down",o.data.DownChangeStyle?"":" - no style"),aP.default.createElement(Dl,{"data-value":"neutral-style",flex:1,styleObject:o.data.NeutralChangeStyle},"Neutral ",o.data.NeutralChangeStyle?"":" - no style"))};var NMe=()=>({name:"Flash Styles",label:"Change Style",view:MMe});var MB=class extends mt{constructor(e){super(lg,lz,"flashing-cell","FlashingAlert","Flash cells when they change",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{if(t.trigger!=="undo"){if(this.api.optionsApi.getAlertOptions().dataChangeDetectionPolicy==="formattedValue"){let{oldValue:r,newValue:n,rowNode:i}=t,a=t.column.columnId,s=this.api.gridApi.getDisplayValueFromRawValue(i,a,r),l=this.api.gridApi.getDisplayValueFromRawValue(i,a,n);if(s===l)return}this.handleCellDataChanged(t)}})}updateOldConfig(){this.updateFlashingCellSingleToMultiplePredicates()}updateFlashingCellSingleToMultiplePredicates(){this.api.flashingCellApi.getFlashingCellDefinitions().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let r=Zt(t);PA(r.Rule),this.api.flashingCellApi.editFlashingCellDefinition(r)}})}getModuleAdaptableObjects(e){return this.api.flashingCellApi.getFlashingCellDefinitions(e)}getExplicitlyReferencedColumnIds(e){let t=this.api.queryLanguageApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryLanguageApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(r=>r.columnId):[]}getReferencedNamedQueryNames(e){let t=this.api.queryLanguageApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let r=this.api.flashingCellApi.getFlashingCellDefinitions().find(n=>this.api.scopeApi.isColumnInScope(e,n.Scope));return r?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,sj(r))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,fg({Scope:{ColumnIds:[e.columnId]},Rule:{Predicates:[{PredicateId:"Any"}]}}))]}}addContextMenuItems(e){let t=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),n=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);r?(r.flashTarget==="row"||Array.isArray(r==null?void 0:r.flashTarget)&&r.flashTarget.includes("row"))&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Row",this.moduleInfo.Glyph,yR(r))):n&&n.flashTarget==="cell"&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Cell",this.moduleInfo.Glyph,yR(n)))}return t}handleCellDataChanged(e){let t=this.getFlashingCellDefinitionsForDataChange(e);qe.IsNotNullOrEmpty(t)&&this.showFlashingCellsForDefinitions(e,t)}showFlashingCellsForDefinitions(e,t=[]){let r=this.api.columnApi.getColumns().map(p=>p.columnId),n=e.column.dataType,i=n==="Number",a=i||n==="Date",s=!1,l=!1,u="neutral";if(a){let p=i?Number(e.newValue):e.newValue,c=i?Number(e.oldValue):e.oldValue;s=p>c,l=p<c,u=s?"up":l?"down":"neutral"}t.forEach(p=>{var g;let c=this.api.flashingCellApi.getFlashingCellFlashTarget(p),m={[e.column.columnId]:!0};(c==="row"||((g=c==null?void 0:c.includes)==null?void 0:g.call(c,"row")))&&r.forEach(C=>{m[C]=!0});let f=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:f,flashingCellDefinition:p,cellDataChangedInfo:e,direction:u,flashTarget:c,flashColumnIds:m})})}isFlashingTargetOnlyAggChange(e){return e.FlashTarget==="aggFuncCell"?!0:Array.isArray(e.FlashTarget)&&e.FlashTarget.length===1&&e.FlashTarget.includes("aggFuncCell")}getFlashingCellDefinitionsForDataChange(e){let t=this.api.flashingCellApi.getActiveFlashingCellDefinitions(),r=!1,n=t.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!zv(a.Rule)),i=[];return qe.IsNotNullOrEmpty(n)&&n.forEach(a=>{if(!(e.trigger!=="aggChange"&&this.isFlashingTargetOnlyAggChange(a)))if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,l=e.rowNode;l||(l=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.queryLanguageApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,l)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,r)&&i.push(a)}),i}isAlertPredicateTriggered(e,t,r=!1){var n;return this.api.predicateApi.handleColumnPredicates((n=e.Rule)==null?void 0:n.Predicates,{value:t.newValue,oldValue:t.oldValue,displayValue:null,node:t.rowNode,column:t.column},r)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:fg,EditAction:hg}}toView(e){return{items:[R(v({},Ru(e.Scope,this.api)),{label:"Trigger"}),R(v({},sh(e.Rule,this.api)),{label:"Rule",name:"Rule"}),SMe(e),FMe(e),NMe(),ar(e,this.api)],abObject:e}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:hg,getSuspendAction:QO,getUnSuspendAction:YO,getSuspendAllAction:Zue,getUnSuspendAllAction:Jue,getDeleteAction:sj,getEditWizard:()=>OMe}}canBeAssociatedWithLayouts(){return!0}};d();var NB=class extends mt{constructor(e){let t=e.optionsApi.getSettingsPanelOptions().title;super(ug,t,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())}};d();d();var sP=w(require("react"));var LMe=o=>{var l,u;let t=(l=ne().adaptableOptions)==null?void 0:l.chartingOptions,r=t==null?void 0:t.chartContainers,{isOpen:n,showChart:i,closeChart:a}=yV(o.data);if(n)return sP.createElement(X,{"data-name":"close-chart-button",onClick:a,variant:"text",tone:"error",icon:"visibility-off",tooltip:"Hide Chart"});if(!(r!=null&&r.length))return sP.createElement(X,{"data-name":"show-chart-button",onClick:()=>i(),variant:"text",tone:"success",icon:"visibility",tooltip:"Show Chart"});let s=[{label:(u=t.agGridContainerName)!=null?u:xv,onClick:()=>{i(null)}},...r?r==null?void 0:r.map(p=>({label:p.name,onClick:()=>i(p)})):[]];return sP.createElement(Fe,{"data-name":"show-chart-dropdown",variant:"text",columns:["label"],items:s},sP.createElement(X,{variant:"raised",tone:"success"},"Open"))};d();var Nu=w(require("react")),LB=w(re());d();var $c=w(require("react"));var kMe=w(fv());var VMe=o=>{let e=Dt(a=>$D(a.System)),[t,r]=$c.useState(null),n=ne(),i=$c.useRef(null);return $c.useEffect(()=>{if(!i.current)return;let a=n.api.chartingApi.showChartDefinition(o.chartDefinition,i.current);return r(a.chartId),a.chart,()=>{a.destroyChart()}},[i]),$c.useEffect(()=>{let a=e.find(s=>s.chartId==t);a&&!(0,kMe.default)(a,o.chartDefinition.Model)&&o.onChange(R(v({},o.chartDefinition),{Model:a}))},[e]),$c.createElement("div",{ref:i})};d();var Cs=w(require("react"));var BMe=(o,e)=>o.Name?e.chartingApi.getChartDefinitions().some(r=>r.Uuid!==o.Uuid&&r.Name===o.Name)?"There is already a chart with this name":!0:"Name is mandatory",GMe=o=>{let e=Cs.useCallback(l=>{o.onChange(R(v({},o.chartDefinition),{Name:l.target.value,Model:o.chartDefinition.Model}))},[o.chartDefinition]),t=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{unlinkChart:!o.chartDefinition.Model.unlinkChart})}))},[o.chartDefinition]),r=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{suppressChartRanges:!o.chartDefinition.Model.suppressChartRanges})}))},[o.chartDefinition]),i=["sum","min","max","count","avg","first","last"].map(l=>({label:l,onClick:()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{aggFunc:l})}))}})),a=o.chartDefinition.Model.aggFunc,s=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{aggFunc:""})}))},[o.chartDefinition]);return Cs.createElement(Ie,null,Cs.createElement(Z,{label:"Name"},Cs.createElement(Vt,{onChange:e,value:o.chartDefinition.Name})),Cs.createElement(Z,{label:"Unlink Chart"},Cs.createElement(ye,{onClick:t,checked:o.chartDefinition.Model.unlinkChart})),Cs.createElement(Z,{label:"Suppress Chart Ranges"},Cs.createElement(ye,{onClick:r,checked:o.chartDefinition.Model.suppressChartRanges})),o.chartDefinition.Model.modelType==="range"&&typeof a!="function"&&Cs.createElement(Z,{label:"Agg Func"},Cs.createElement(Fe,{columns:["label"],items:i,onClear:s},a||"Select ")))};var HMe=o=>{let e=ne(),[t,r]=Nu.useState(()=>{var i,a;return(a=o.data)!=null?a:(i=o.popupParams)==null?void 0:i.value}),n=Nu.useCallback(()=>{e.api.chartingApi.editChartDefinition(t),o.onFinishWizard(t)},[t]);return Nu.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:n,sections:[{title:"Settings",details:"Chart Settings",isValid:BMe,render:()=>Nu.createElement(LB.Box,{padding:2},Nu.createElement(GMe,{chartDefinition:t,onChange:r}))},{details:"Select Chart Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>Nu.createElement(LB.Box,{padding:2},Nu.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{title:"Preview Chart",details:"Chart Preview",render:()=>Nu.createElement(LB.Box,{p:2},Nu.createElement(VMe,{chartDefinition:t,onChange:r}))}]})};d();var lP=w(require("react"));var LA=w(re()),UMe=o=>{let t=ne().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(ll),{chartSelector:r,containerSelector:n,chartButton:i,deleteButton:a,editButton:s}=vV({elementType:"Statusbar",accessLevel:t,size:"small"});return lP.createElement(LA.Flex,{width:"100%",alignItems:"center"},lP.createElement(LA.Box,null,r),n&&lP.createElement(LA.Box,{ml:1},n),lP.createElement(LA.Box,{ml:1},i,a,s))};var kB=class extends mt{constructor(e){super(ll,cz,"chart","ChartPopup","Create AG Grid Charts in order to see Adaptable Data visually",e)}updateOldConfig(){let t=this.getModuleAdaptableObjects().filter(r=>"model"in r||!("Name"in r)).map(r=>{let n=v({},r);return"model"in n&&(n.Model=r.model,delete n.model),"Name"in n||(n.Name=n.Model.chartId),n});t.length>0&&t.forEach(r=>this.api.chartingApi.editChartDefinition(r))}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}getModuleAdaptableObjects(){return this.api.chartingApi.getChartDefinitions()}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}toView(e){var t;return{items:[{name:"Name",values:[e.Name]},{name:"About",values:[`Chart Type: ${e.Model.chartType}`,e.Model.aggFunc&&`Aggregation Function: ${e.Model.aggFunc}`].filter(Boolean)},{name:"Settings",values:[`Unlink from data: ${e.Model.unlinkChart?"Yes":"No"}`,`Suppress Chart Ranges: ${e.Model.suppressChartRanges?"Yes":"No"}`]},{name:"Range",values:[`Row start index: ${e.Model.cellRange.rowStartIndex}`,`Row end index: ${e.Model.cellRange.rowEndIndex}`,e.Model.cellRange.columnStart&&`Column start: ${typeof e.Model.cellRange.columnStart=="string"?e.Model.cellRange.columnStart:e.Model.cellRange.columnStart.getColId()}`,e.Model.cellRange.columnEnd&&`Column start: ${typeof e.Model.cellRange.columnEnd=="string"?e.Model.cellRange.columnEnd:e.Model.cellRange.columnEnd.getColId()}`,((t=e.Model.cellRange.columns)==null?void 0:t.length)&&`Columns ${e.Model.cellRange.columns.map(r=>typeof r=="string"?r:r.getColId()).join(", ")}`].filter(Boolean)},ar(e,this.api)].filter(Boolean),abObject:e}}getViewProperties(){return{actions:[LMe],getEditWizard:()=>HMe,hideNewButton:!0,getDeleteAction:e=>SM(e.Name),emptyView:'To create a chart select a few cells and right click. Then select "Chart Range" from the context menu.',getStatusBarPanelProps:()=>({content:UMe,triggerActionOnWrapperClick:!1})}}};d();var WMe=w(gv());var zMe=(o,e,t)=>{if(!!o.PercentBarStyle)return class{init(n){if(!o.IncludeGroupedRows&&t.gridApi.isGroupRowNode(n.node))return;let i=t.styledColumnApi.internalApi.getNumericStyleMinValue(o,e,n.node,n.value),a=t.styledColumnApi.internalApi.getNumericStyleMaxValue(o,e,n.node,n.value),s=n.value;tr.objectNotExists(s)&&(s=0);let u=((0,WMe.default)(s,i,a)-i)/(a-i)*100,p,c=o.PercentBarStyle;if(c.ColumnComparison)p=c.ColumnComparison.Color;else{let m=t.styledColumnApi.internalApi.findRangeForColumn(c.CellRanges,e,c.RangeValueType,n.value);m&&(p=m.Color)}if(p){this.eGui=document.createElement("div"),this.eGui.className="ab-PercentBar__wrapper",this.eGui.style.height=c.CellText?"80%":"100%",this.eGui.style.display="flex",this.eGui.style.flexDirection="column",this.eGui.style.justifyContent="center";let m=document.createElement("div");m.className="ab-PercentBar__bar",m.style.background=c.BackColor,m.style.flex="1";let f=document.createElement("div");if(f.className="ab-PercentBar__barInside",f.style.background=p,f.style.height="100%",f.style.width=`${u.toFixed(0)}%`,m.append(f),this.eGui.append(m),c.CellText){let g=document.createElement("div");if(g.className="ab-PercentBar__text",g.style.lineHeight="1.2",c.CellText.includes("CellValue")){let C=t.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(e),y=t.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(C,e,{node:n.node,value:s});if(y&&t.scopeApi.isColumnInNumericScope(e,y.Scope)){let b=y.DisplayFormat.Options;s=t.formatColumnApi.internalApi.getNumberFormattedValue(n.value,n.node,e,b)}else s=nz(s,{FractionDigits:2});g.innerText=s}c.CellText.includes("PercentageValue")&&(g.innerText+=` (${u.toFixed(0)}%)`),this.eGui.append(g)}}}getGui(){return this.eGui}refresh(n){return!1}}};d();var VB=class extends mt{constructor(e){super(mc,Bz,"statusbar","StatusBarPopup","Configure AdapTable Status Bar",e)}syncStateWithOptions(e){let t=this.api.statusBarApi.getAdaptableStatusBars(),r=e.map(n=>{let i=t.find(a=>a.Key===n.key);return i||(i={Key:n.key,StatusBarPanels:[]}),i});this.api.statusBarApi.setStatusBarPanels(r)}isModuleAvailable(){return super.isModuleAvailable()&&this.api.statusBarApi.getAgGridStatusPanels().length>0}};d();d();var qa=w(require("react")),lNe=require("react"),hh=w(re());d();var Fd=w(require("react")),BB=w(re());var jMe=o=>{let e=null;return o.GradientStyle?e="Gradient Column":o.PercentBarStyle?e="Percent Bar":o.CheckBoxStyle?e="Check Box":o.SparkLineStyle&&(e="Spark Line"),Fd.createElement(BB.Text,{pr:2,py:2},"Type ",Fd.createElement(Ge,null,e))},KMe=o=>{let{data:e}=Ee(),t=ne(),r=n=>{let i=v({},e);switch(delete i.GradientStyle,delete i.PercentBarStyle,delete i.CheckBoxStyle,delete i.SparkLineStyle,n){case"gradient":i.GradientStyle={};break;case"percent":i.PercentBarStyle={};break;case"checkbox":i.CheckBoxStyle=!0;break;case"sparkline":i.SparkLineStyle={options:{type:"line"}};break}i.ColumnId=null,o.onChange(i)};return Fd.createElement(BB.Flex,{height:"100%",flexDirection:"column","data-name":"styled-column-type"},Fd.createElement(K,{autoFocus:!1,padding:2},Fd.createElement(K.Tab,null,"Type"),Fd.createElement(K.Content,null,Fd.createElement(Mp,{text:"Gradient Column",description:"Colour each cell in a numeric column using a gradient value",checked:Boolean(e.GradientStyle),onClick:()=>r("gradient")}),Fd.createElement(Mp,{text:"Percent Bar",description:"Display a coloured bar where the width is based on the cell",checked:Boolean(e.PercentBarStyle),onClick:()=>r("percent")}),Fd.createElement(Mp,{text:"Check Box",description:"Display a checkbox (in a Boolean column)",checked:Boolean(e.CheckBoxStyle),onClick:()=>r("checkbox")}),t.api.styledColumnApi.canDisplaySparklines()&&Fd.createElement(Mp,{text:"Sparkline",description:"Render the column as a Sparkline",checked:Boolean(e.SparkLineStyle),onClick:()=>r("sparkline")}))))};d();var Xc=w(require("react")),QMe=w(re());var YMe=o=>{let{api:e}=Ee();return Xc.createElement(QMe.Text,{pr:2,py:2},"Styled Column column:"," ",Xc.createElement(Ge,null,o.ColumnId?e.columnApi.getFriendlyNameForColumnId(o.ColumnId):"No Column Selected"))},qMe=o=>o.ColumnId?!0:"You have to select a Column for Styled Column",$Me=o=>{let{data:e,api:t}=Ee(),r=Xc.useMemo(()=>{let i=e.CheckBoxStyle?t.columnApi.getBooleanColumns():e.SparkLineStyle?[...t.columnApi.getNumberArrayColumns(),...t.columnApi.getTupleNumberArrayColumns(),...t.columnApi.getObjectNumberArrayColumns()]:t.columnApi.getNumericColumns(),s=t.styledColumnApi.getStyledColumns().map(l=>l.Uuid===e.Uuid?null:l.ColumnId).filter(Boolean);return i.filter(l=>s.every(u=>l.columnId!==u))},[e]),n=i=>{let a=i[0],s=t.scopeApi.createCellColorRangesForScope({ColumnIds:[a]}),l=R(v({},e),{ColumnId:a});l.PercentBarStyle&&(l.PercentBarStyle=R(v({},l.PercentBarStyle),{CellRanges:s})),l.GradientStyle&&(l.GradientStyle=R(v({},l.GradientStyle),{CellRanges:s})),o.onChange(l)};return Xc.createElement(K,{style:{height:"100%"}},Xc.createElement(K.Tab,null,"Column"),Xc.createElement(K.Content,null,Xc.createElement(OC,{availableColumns:r,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:n,allowReorder:!1})))};d();d();var uo=w(require("react")),fh=w(re());d();var Kt=w(require("react")),_d=w(re());var h7=w(gv());var uP=class extends Kt.Component{constructor(e){super(e),this.state={rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var s,l;let e=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&!isNaN(Number(this.props.columnComparison.MinValue))?Number(this.props.columnComparison.MinValue):"",t=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&!isNaN(Number(this.props.columnComparison.MaxValue))?Number(this.props.columnComparison.MaxValue):"",r=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&isNaN(Number(this.props.columnComparison.MinValue))?String(this.props.columnComparison.MinValue):void 0,n=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&isNaN(Number(this.props.columnComparison.MaxValue))?String(this.props.columnComparison.MaxValue):void 0,i=this.props.columnComparison!=null&&this.props.columnComparison.Color!=null?this.props.columnComparison.Color:void 0,a=((s=this.props.rangeValueType)!=null?s:"Number")==="Number";return Kt.createElement(Kt.Fragment,null,Kt.createElement(_d.Flex,{flexDirection:"row"},Kt.createElement(ye,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:u=>this.onRangesTypeChanged(u)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&Kt.createElement(K,{autoFocus:!1,marginTop:2},Kt.createElement(K.Tab,null,"Ranges"),Kt.createElement(K.Content,null,Kt.createElement(_d.Flex,{alignItems:"center",mb:2},Kt.createElement(_d.Text,{mr:3},"Range Type"),Kt.createElement(_e,{onChange:()=>this.handleRangeValueTypeChange("Number"),checked:a,mr:2},"Number"),Kt.createElement(_e,{onChange:()=>this.handleRangeValueTypeChange("Percentage"),checked:!a},"Percentage")),(l=this.props.ranges)==null?void 0:l.map((u,p,c)=>Kt.createElement(_d.Flex,{key:p,alignItems:"end",mb:2,"data-name":"percent-bar-range"},Kt.createElement(_d.Flex,{flexDirection:"column"},a&&p===0&&Kt.createElement(ye,{onClick:()=>this.setRangeColMin(u),checked:u.Min==="Col-Min",mt:0,mb:1,fontSize:3,disabled:this.props.disabled},"Col Min"),Kt.createElement(We,{type:typeof u.Min=="number"?"number":"text",disabled:this.props.disabled||u.Min==="Col-Min"||p===0&&!a,value:u.Min,onChange:m=>{let{value:f}=m.target;this.changeRangeMin(p,f)},mr:2})),Kt.createElement(_d.Flex,{flexDirection:"column"},a&&p===c.length-1&&Kt.createElement(ye,{mt:0,mb:1,onClick:()=>this.setRangeColMax(u),checked:u.Max==="Col-Max",fontSize:3,disabled:this.props.disabled},"Col Max"),Kt.createElement(We,{value:u.Max,type:typeof u.Max=="number"?"number":"text",disabled:this.props.disabled||u.Max==="Col-Max"||p===c.length-1&&!a,onChange:m=>{let{value:f}=m.target;this.changeRangeMax(p,f)},mr:2})),Kt.createElement(_d.Flex,{alignItems:"center",height:"100%"},Kt.createElement(Pn,{api:this.props.api,value:u.Color,onChange:m=>{this.changeRangeColor(p,m)},mr:2,height:33})),this.props.showRangeDirection&&Kt.createElement(ye,{disabled:this.props.disabled,checked:u.ReverseGradient&&u.ReverseGradient==!0,onChange:m=>this.changeRangeDirectionUp(p,m),ml:2},"Reverse Gradient"),Kt.createElement(X,{ml:2,mb:1,icon:"delete",disabled:this.props.disabled||this.props.ranges&&this.props.ranges.length==1,onClick:()=>this.removeRange(p)}))),Kt.createElement("div",null,Kt.createElement(X,{disabled:this.props.disabled,variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&Kt.createElement(K,{autoFocus:!1,marginTop:2},Kt.createElement(K.Tab,null,"Column Comparison"),Kt.createElement(K.Content,null,Kt.createElement(_d.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},Kt.createElement(_d.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a"," ",this.props.api.internalApi.getCorrectEnglishVariant("Colour")," for the Bar."),Kt.createElement(Ie,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},Kt.createElement(Z,{label:"Min Value:",first:Kt.createElement(We,{disabled:this.props.disabled,type:"number",value:e,onChange:u=>{this.changeColumnComparisonMinValue(u)}}),or:"OR",second:Kt.createElement(BC,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMinColumnSelectedChanged(u),SelectionMode:"Single"})})," ",Kt.createElement(Z,{label:"Max Value:",first:Kt.createElement(We,{disabled:this.props.disabled,type:"number",value:t,onChange:u=>{this.changeColumnComparisonMaxValue(u)}}),or:"OR",second:Kt.createElement(BC,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMaxColumnSelectedChanged(u),SelectionMode:"Single"})}),Kt.createElement(Z,{label:`Bar ${this.props.api.internalApi.getCorrectEnglishVariant("Colour")}`,first:Kt.createElement(Pn,{disabled:this.props.disabled,api:this.props.api,value:i,onChange:u=>{this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let t={Color:$t(vv),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison"}),this.props.updateColumnComparison(t)}else{let t=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard"}),this.props.updateRanges(t)}}handleRangeValueTypeChange(e){this.props.onRangeValueTypeChange(e)}changeRangeMin(e,t){let{ranges:r}=this.props,n=Number(t);this.props.rangeValueType==="Percentage"&&(n=(0,h7.default)(n,0,100)),r[e].Min=n,r[e-1]&&(r[e-1].Max=n),this.props.updateRanges(r)}changeRangeMax(e,t){let{ranges:r}=this.props,n=Number(t);this.props.rangeValueType==="Percentage"&&(n=(0,h7.default)(n,0,100)),r[e].Max=n,r[e+1]&&(r[e+1].Min=n),this.props.updateRanges(r)}changeRangeColor(e,t){let{ranges:r}=this.props;r[e].Color=t,this.props.updateRanges(r)}changeRangeDirectionUp(e,t){let{ranges:r}=this.props;r[e].ReverseGradient=t,this.props.updateRanges(r)}removeRange(e){let t=[...this.props.ranges];t.splice(e,1),this.props.rangeValueType==="Percentage"&&t.length===1&&(t[0]=R(v({},t[0]),{Max:100})),this.props.updateRanges(t)}setRangeColMin(e){let t=this.props.ranges.map(r=>{if(r===e){let n=r.Min==="Col-Min"?this.props.minMaxRangeValues.min:"Col-Min";return R(v({},r),{Min:n})}return r});this.props.updateRanges(t)}setRangeColMax(e){let t=this.props.ranges.map(r=>{if(r===e){let n=r.Max==="Col-Max"?this.props.minMaxRangeValues.max:"Col-Max";return R(v({},r),{Max:n})}return r});this.props.updateRanges(t)}addRange(){let e=this.props.ranges[this.props.ranges.length-1],t=e,r=null;e.Max==="Col-Max"?(r=this.props.minMaxRangeValues.max,t=R(v({},t),{Max:this.props.minMaxRangeValues.max})):r=e.Max;let n={Min:r,Max:e.Max,Color:$t(Qu)},i=[...this.props.ranges.slice(0,-1),t,n];this.props.updateRanges(i)}changeColumnComparisonMinValue(e){let t=e.target,{columnComparison:r}=this.props;r.MinValue=je.IsNotNullOrEmpty(t.value)?Number(t.value):void 0,this.props.updateColumnComparison(r)}onMinColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonMaxValue(e){let t=e.target,{columnComparison:r}=this.props;r.MaxValue=je.IsNotNullOrEmpty(t.value)?Number(t.value):void 0,this.props.updateColumnComparison(r)}onMaxColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonColor(e){let{columnComparison:t}=this.props;t.Color=e,this.props.updateColumnComparison(t)}};d();var HB=w(require("react")),UB=w(re());d();var dP=w(require("react")),kA=w(re()),XMe=o=>{let e="";return o&&o.includes("CellValue")&&(e+="20"),o&&o.includes("PercentageValue")&&(e+=" (50%)"),e.trim()},GB=o=>{let e=XMe(o.cellText),t=XMe(o.toolTipText);return dP.createElement(kA.Box,{title:t,flex:1},dP.createElement(kA.Flex,{height:e?8:18,backgroundColor:o.backgroundColor,flex:1},dP.createElement(kA.Box,{flexBasis:"50%",style:{background:o.barBackgroundColor}})),e&&dP.createElement(kA.Box,{fontSize:3},e))};var ZMe=o=>{let{api:e}=ne(),t=o.percentBarStyle.ColumnComparison;return HB.createElement(UB.Flex,{alignItems:"center",mr:3},HB.createElement(UB.Box,{flexBasis:120,mr:3},isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MinValue))+"]":t.MinValue," ","to"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MaxValue))+"]":t.MaxValue," "),HB.createElement(GB,{backgroundColor:t.Color,barBackgroundColor:o.percentBarStyle.BackColor,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))};d();var hy=w(require("react")),g7=w(re());var JMe=o=>{let e="";return o.percentBarStyle.RangeValueType==="Percentage"&&(e="%"),hy.createElement(hy.Fragment,null,o.percentBarStyle.CellRanges.map((t,r)=>hy.createElement(g7.Flex,{key:r,alignItems:"stretch",mr:3,mb:2},hy.createElement(g7.Flex,{flexBasis:120,alignItems:"center",mr:3},t.Min,e," to ",t.Max,e," "),hy.createElement(GB,{backgroundColor:o.percentBarStyle.BackColor,barBackgroundColor:t.Color,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))))};var pxt=(o,e)=>{let t="";return e==="Percentage"&&(t="%"),o.map((r,n)=>uo.createElement(fh.Flex,{key:n,alignItems:"center",mr:3},uo.createElement(fh.Box,{mr:1},r.Min,t," to ",r.Max,t," "),uo.createElement(NC,{Style:{BackColor:r.Color,ForeColor:r.Color}})))},cxt=(o,e)=>uo.createElement(fh.Flex,{key:"cc",alignItems:"center",mr:3},uo.createElement(fh.Box,{mr:1},"Min Value:"," ",isNaN(Number(o.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MinValue))+"]":o.MinValue," ",", Max Value:"," ",isNaN(Number(o.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MaxValue))+"]":o.MaxValue," "),uo.createElement(NC,{Style:{BackColor:o.Color,ForeColor:o.Color}})),WB=(o,e)=>{if(o.CheckBoxStyle)return uo.createElement(Ge,null,"Checkbox Style");if(o.GradientStyle){if(o.GradientStyle.CellRanges)return pxt(o.GradientStyle.CellRanges,o.GradientStyle.RangeValueType);if(o.GradientStyle.ColumnComparison)return cxt(o.GradientStyle.ColumnComparison,e)}if(o.PercentBarStyle){if(o.PercentBarStyle.ColumnComparison)return uo.createElement(ZMe,{percentBarStyle:o.PercentBarStyle});if(o.PercentBarStyle.CellRanges)return uo.createElement(JMe,{percentBarStyle:o.PercentBarStyle})}return uo.createElement(Ge,null,"No Styling Defined")},eNe=o=>{var b,S,A,x,E,T,I,D,P,O,M,B,_,L,U,V,j;let{data:e,api:t}=Ee(),r=uo.useMemo(()=>{let z=e.ColumnId;if(!z)return null;let W=t.columnApi.getColumnWithColumnId(z);return{min:t.styledColumnApi.internalApi.getMinValueForNumericColumn(W),max:t.styledColumnApi.internalApi.getMaxValueForNumericColumn(W)}},[e]),n={ColumnIds:[e.ColumnId]},i=z=>{let W=R(v({},e.GradientStyle),{CellRanges:z});o.onChange(R(v({},e),{GradientStyle:W}))},a=z=>{let W={ColumnComparison:z};o.onChange(R(v({},e),{GradientStyle:W}))},s=z=>{let W=R(v({},e.PercentBarStyle),{ColumnComparison:z});o.onChange(R(v({},e),{PercentBarStyle:W}))},l=z=>{let W=R(v({},e.PercentBarStyle),{CellRanges:z});o.onChange(R(v({},e),{PercentBarStyle:W}))},u=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.CellText?W.CellText.push("CellValue"):W.CellText=["CellValue"]:W.CellText&&W.CellText.includes("PercentageValue")?W.CellText=["PercentageValue"]:W.CellText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},p=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.CellText?W.CellText.push("PercentageValue"):W.CellText=["PercentageValue"]:W.CellText&&W.CellText.includes("CellValue")?W.CellText=["CellValue"]:W.CellText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},c=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.ToolTipText?W.ToolTipText.push("CellValue"):W.ToolTipText=["CellValue"]:W.ToolTipText&&W.ToolTipText.includes("PercentageValue")?W.ToolTipText=["PercentageValue"]:W.ToolTipText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},m=z=>{let W=e.PercentBarStyle;z?W.ToolTipText?W.ToolTipText.push("PercentageValue"):W.ToolTipText=["PercentageValue"]:W.ToolTipText&&W.ToolTipText.includes("CellValue")?W.ToolTipText=["CellValue"]:W.ToolTipText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},f=z=>{let W=e==null?void 0:e.PercentBarStyle;W.BackColor=z?$t(Qu):null,o.onChange(R(v({},e),{PercentBarStyle:W}))},g=z=>{let W=e.PercentBarStyle;W.BackColor=z,o.onChange(R(v({},e),{PercentBarStyle:W}))},C=uo.useCallback(z=>{let W=z==="Number"?t.scopeApi.createCellColorRangesForScope(n):[{Min:0,Max:100,Color:$t(Qu)}],ue=e,pe={CellRanges:W,RangeValueType:z};"GradientStyle"in ue?ue=R(v({},ue),{GradientStyle:v(v({},ue.GradientStyle),pe)}):ue=R(v({},ue),{PercentBarStyle:v(v({},ue.PercentBarStyle),pe)}),o.onChange(ue)},[e]),y=!e.ColumnId;return uo.createElement(fh.Box,null,e.CheckBoxStyle&&uo.createElement(K,null,uo.createElement(K.Tab,null,"Check Box Column"),uo.createElement(K.Content,null,uo.createElement(ye,{marginLeft:2,readOnly:!0,checked:!0},"Display Column As CheckBox"))),(e==null?void 0:e.GradientStyle)&&uo.createElement(uP,{disabled:!e.ColumnId,minMaxRangeValues:r,api:t,scope:n,showRangeDirection:!0,ranges:(b=e.GradientStyle)==null?void 0:b.CellRanges,rangeValueType:(S=e.GradientStyle)==null?void 0:S.RangeValueType,onRangeValueTypeChange:C,columnComparison:(A=e==null?void 0:e.GradientStyle)==null?void 0:A.ColumnComparison,updateRanges:z=>i(z),updateColumnComparison:z=>a(z)}),e.PercentBarStyle&&uo.createElement(uo.Fragment,null,uo.createElement(uP,{disabled:y,minMaxRangeValues:r,api:t,scope:n,showRangeDirection:!1,ranges:(x=e.PercentBarStyle)==null?void 0:x.CellRanges,rangeValueType:(E=e.PercentBarStyle)==null?void 0:E.RangeValueType,onRangeValueTypeChange:C,columnComparison:(T=e==null?void 0:e.PercentBarStyle)==null?void 0:T.ColumnComparison,updateRanges:z=>l(z),updateColumnComparison:z=>s(z)}),uo.createElement(Ie,{marginLeft:2,marginTop:2},uo.createElement(Z,{label:"Cell Display:"},uo.createElement(ye,{disabled:y,marginLeft:2,checked:(D=(I=e.PercentBarStyle)==null?void 0:I.CellText)==null?void 0:D.includes("CellValue"),onChange:z=>u(z)},"Cell Value")," ",uo.createElement(ye,{disabled:y,marginLeft:3,checked:(O=(P=e==null?void 0:e.PercentBarStyle)==null?void 0:P.CellText)==null?void 0:O.includes("PercentageValue"),onChange:z=>p(z)},"Percent Value"," ")," "),uo.createElement(Z,{label:"ToolTip Display:"},uo.createElement(ye,{disabled:y,marginLeft:2,checked:(B=(M=e==null?void 0:e.PercentBarStyle)==null?void 0:M.ToolTipText)==null?void 0:B.includes("CellValue"),onChange:z=>c(z)},"Cell Value")," ",uo.createElement(ye,{disabled:y,marginLeft:3,checked:(L=(_=e==null?void 0:e.PercentBarStyle)==null?void 0:_.ToolTipText)==null?void 0:L.includes("PercentageValue"),onChange:z=>m(z)},"Percent Value"," ")," "),uo.createElement(Z,{label:`Back ${t.internalApi.getCorrectEnglishVariant("Colour")}`},uo.createElement(fh.Flex,{alignItems:"center",marginLeft:2},uo.createElement(ye,{disabled:y,checked:!!((U=e.PercentBarStyle)!=null&&U.BackColor),onChange:z=>f(z),mr:2}),((V=e.PercentBarStyle)==null?void 0:V.BackColor)!==void 0&&uo.createElement(Pn,{disabled:y,api:t,value:(j=e.PercentBarStyle)==null?void 0:j.BackColor,onChange:z=>g(z)}))))),!e.ColumnId&&uo.createElement(is,{mt:2},"You need to select a column before styling."))};d();var Lu=w(require("react")),gy=w(re());var tNe=o=>Lu.createElement(gy.Box,{padding:2},Lu.createElement(gy.Text,{mt:3},"Include grouped rows ",Lu.createElement(Ge,null,o.IncludeGroupedRows?"yes":"no"))),oNe=o=>{let{data:e,api:t}=Ee(),r=n=>{o.onChange(R(v({},e),{IncludeGroupedRows:n}))};return Lu.createElement(K,null,Lu.createElement(K.Tab,null,"Format"),Lu.createElement(K.Content,null,Lu.createElement(gy.Flex,{flexDirection:"row"},Lu.createElement(Ie,null,Lu.createElement(Z,{label:"Include Grouped Rows:"},Lu.createElement(gy.Flex,{alignItems:"center",marginLeft:2},Lu.createElement(ye,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:r,mr:2})))))))};d();var ve=w(require("react")),Cy=w(re());d();function C7(o,e,t){var r;return e.length===1?R(v({},o),{[e[0]]:t}):R(v({},o),{[e[0]]:C7((r=o==null?void 0:o[e[0]])!=null?r:{},e.slice(1),t)})}var mxt=o=>{var n,i,a,s,l,u,p,c,m,f,g,C,y,b,S,A,x,E,T,I,D,P,O,M,B,_,L,U,V,j,z,W;let{data:e,api:t}=Ee(),r=ve.useMemo(()=>[{label:"Number",value:"number",onClick:()=>o.onOptionChange(["axis","type"],"number")},{label:"Category",value:"category",onClick:()=>o.onOptionChange(["axis","type"],"category")},{label:"Time",value:"time",onClick:()=>o.onOptionChange(["axis","type"],"time")}],[e]);return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Padding"),ve.createElement(K.Tab,null,"Axis"),ve.createElement(K.Tab,null,"Highlight Style"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Top"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","top"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(i=(n=e.SparkLineStyle.options)==null?void 0:n.padding)==null?void 0:i.top})),ve.createElement(Z,{label:"Bottom"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","bottom"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(s=(a=e.SparkLineStyle.options)==null?void 0:a.padding)==null?void 0:s.bottom})),ve.createElement(Z,{label:"Left"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","left"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(u=(l=e.SparkLineStyle.options)==null?void 0:l.padding)==null?void 0:u.left})),ve.createElement(Z,{label:"Right"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","right"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(c=(p=e.SparkLineStyle.options)==null?void 0:p.padding)==null?void 0:c.right})))),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Axis Type"},ve.createElement(Fe,{columns:["label"],items:r},(f=(m=r.find(ue=>{var pe,ae,ie;return ue.value===((ie=(ae=(pe=e==null?void 0:e.SparkLineStyle)==null?void 0:pe.options)==null?void 0:ae.axis)==null?void 0:ie.type)}))==null?void 0:m.label)!=null?f:"Select Type")),ve.createElement(Z,{label:"Stroke Color"},ve.createElement(Pn,{api:t,value:(b=(y=(C=(g=e.SparkLineStyle)==null?void 0:g.options)==null?void 0:C.axis)==null?void 0:y.stroke)!=null?b:"#fff",onChange:ue=>o.onOptionChange(["axis","stroke"],ue)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(E=(x=(A=(S=e.SparkLineStyle)==null?void 0:S.options)==null?void 0:A.axis)==null?void 0:x.strokeWidth)!=null?E:0,onChange:ue=>o.onOptionChange(["axis","strokeWidth"],parseFloat(ue.target.value))})))),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Size"},ve.createElement(Vt,{type:"number",value:(D=(I=(T=e.SparkLineStyle)==null?void 0:T.options)==null?void 0:I.highlightStyle)==null?void 0:D.size,onChange:ue=>o.onOptionChange(["highlightStyle","size"],parseFloat(ue.target.value))})),ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(B=(M=(O=(P=e.SparkLineStyle)==null?void 0:P.options)==null?void 0:O.highlightStyle)==null?void 0:M.fill)!=null?B:"yellow",onChange:ue=>o.onOptionChange(["highlightStyle","fill"],ue)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(V=(U=(L=(_=e.SparkLineStyle)==null?void 0:_.options)==null?void 0:L.highlightStyle)==null?void 0:U.stroke)!=null?V:"silver",onChange:ue=>o.onOptionChange(["highlightStyle","stroke"],ue)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(W=(z=(j=e.SparkLineStyle)==null?void 0:j.options)==null?void 0:z.highlightStyle)==null?void 0:W.strokeWidth,onChange:ue=>o.onOptionChange(["highlightStyle","strokeWidth"],parseFloat(ue.target.value))})))))},nNe=o=>{var n,i,a,s,l,u,p,c,m,f;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(Ie,null,ve.createElement(Z,{label:"Enabled"},ve.createElement(ye,{checked:(i=(n=r==null?void 0:r.marker)==null?void 0:n.enabled)!=null?i:!0,onChange:g=>o.onOptionChange(["marker","enabled"],g)})),ve.createElement(Z,{label:"Size"},ve.createElement(Vt,{type:"number",value:(s=(a=r==null?void 0:r.marker)==null?void 0:a.size)!=null?s:0,onChange:g=>o.onOptionChange(["marker","size"],parseFloat(g.target.value))})),ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(u=(l=r==null?void 0:r.marker)==null?void 0:l.fill)!=null?u:"rgb(124, 181, 236)",onChange:g=>o.onOptionChange(["marker","fill"],g)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(c=(p=r==null?void 0:r.marker)==null?void 0:p.stroke)!=null?c:"rgb(124, 181, 236)",onChange:g=>o.onOptionChange(["marker","stroke"],g)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(f=(m=r==null?void 0:r.marker)==null?void 0:m.strokeWidth)!=null?f:1,onChange:g=>o.onOptionChange(["marker","strokeWidth"],parseFloat(g.target.value))})))},iNe=o=>{var n,i,a;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(Ie,null,ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(i=(n=r==null?void 0:r.line)==null?void 0:n.stroke)!=null?i:"rgb(124, 181, 236)",onChange:s=>o.onOptionChange(["line","stroke"],s)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(a=r==null?void 0:r.line)==null?void 0:a.strokeWidth,onChange:s=>o.onOptionChange(["line","strokeWidth"],parseFloat(s.target.value))})))},aNe=o=>{let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options,n=["dash","dashDot","dashDotDot","dot","longDash","longDashDot","longDashDotDot","shortDash","shortDashDot","shortDashDotDot","shortDot","solid"],i=["butt","round","square"],a=s=>{var p,c,m,f,g,C,y,b,S,A,x,E,T;let l=n.map(I=>({label:uD(I),value:I,onClick:()=>o.onOptionChange(["crosshairs",s,"lineDash"],I)})),u=i.map(I=>({label:uD(I),value:I,onClick:()=>o.onOptionChange(["crosshairs",s,"lineCap"],I)}));return ve.createElement(Ie,null,ve.createElement(Z,{label:"Show"},ve.createElement(ye,{checked:(m=(c=(p=r==null?void 0:r.crosshairs)==null?void 0:p[s])==null?void 0:c.enabled)!=null?m:!0,onChange:I=>o.onOptionChange(["crosshairs",s,"enabled"],I)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(C=(g=(f=r==null?void 0:r.crosshairs)==null?void 0:f[s])==null?void 0:g.stroke)!=null?C:"rgba(0,0,0, 0.54)",onChange:I=>o.onOptionChange(["crosshairs",s,"stroke"],I)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(S=(b=(y=r==null?void 0:r.crosshairs)==null?void 0:y[s])==null?void 0:b.strokeWidth)!=null?S:1,onChange:I=>o.onOptionChange(["crosshairs",s,"strokeWidth"],I.target.value)})),ve.createElement(Z,{label:"Line Dash"},ve.createElement(Fe,{columns:["label"],items:l},(x=(A=l.find(I=>{var D,P;return I.value===((P=(D=r==null?void 0:r.crosshairs)==null?void 0:D[s])==null?void 0:P.lineDash)}))==null?void 0:A.label)!=null?x:"Solid")),ve.createElement(Z,{label:"Line Cap"},ve.createElement(Fe,{columns:["label"],items:u},(T=(E=u.find(I=>{var D,P;return I.value===((P=(D=r==null?void 0:r.crosshairs)==null?void 0:D[s])==null?void 0:P.lineCap)}))==null?void 0:E.label)!=null?T:"Butt")))};return ve.createElement(Cy.Flex,null,ve.createElement(Cy.Box,{mr:3},ve.createElement(Cy.Box,null,"X Line"),a("xLine")),ve.createElement(Cy.Box,null,ve.createElement(Cy.Box,null,"Y Line"),a("yLine")))},fxt=o=>{var n;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Stroke"),ve.createElement(K.Tab,null,"Line"),ve.createElement(K.Tab,null,"Marker"),ve.createElement(K.Tab,null,"Cross Hairs"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(n=r==null?void 0:r.fill)!=null?n:"rgba(124, 181, 236, 0.25)",onChange:i=>o.onOptionChange(["fill"],i)})))),ve.createElement(K.Content,null,ve.createElement(iNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(nNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(aNe,{onOptionChange:o.onOptionChange})))},hxt=o=>ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Line"),ve.createElement(K.Tab,null,"Marker"),ve.createElement(K.Tab,null,"Cross Hairs"),ve.createElement(K.Content,null,ve.createElement(iNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(nNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(aNe,{onOptionChange:o.onOptionChange}))),rNe=o=>{var n,i,a,s,l;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"General"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(n=r==null?void 0:r.fill)!=null?n:"rgb(124, 181, 236)",onChange:u=>o.onOptionChange(["fill"],u)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(i=r==null?void 0:r.stroke)!=null?i:"silver",onChange:u=>o.onOptionChange(["stroke"],u)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(a=r==null?void 0:r.strokeWidth)!=null?a:1,onChange:u=>o.onOptionChange(["strokeWidth"],u.target.value)})),ve.createElement(Z,{label:"Padding Inner"},ve.createElement(Vt,{type:"number",value:(s=r==null?void 0:r.paddingInner)!=null?s:.1,onChange:u=>o.onOptionChange(["paddingInner"],u.target.value)})),ve.createElement(Z,{label:"Padding Outer"},ve.createElement(Vt,{type:"number",value:(l=r==null?void 0:r.paddingOuter)!=null?l:.2,onChange:u=>o.onOptionChange(["paddingOuter"],u.target.value)})))))},gxt=o=>{var a,s;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options,[n,i]=ve.useState("");return ve.useEffect(()=>{var l,u,p;try{let c=null,m=20,f=0;for(;!c||f<m;){let g=(l=t.gridApi.getRowNodeForIndex(f))==null?void 0:l.data,C=t.columnApi.getColumnWithColumnId(e.ColumnId);if((u=g==null?void 0:g[C==null?void 0:C.field])!=null&&u[0]){c=(p=g==null?void 0:g[C==null?void 0:C.field])==null?void 0:p[0];break}f++}if(c){let g=JSON.stringify(c,null,2).replace(/[{}",]/g,"");i(g)}}catch(c){t.logError("Error parsing sparkline data",c)}},[e]),ve.createElement(ve.Fragment,null,ve.createElement(Z,{label:"X Key"},ve.createElement(We,{onChange:l=>o.onOptionChange(["xKey"],l.target.value),value:(a=r.xKey)!=null?a:"x"})),ve.createElement(Z,{label:"Y Key"},ve.createElement(We,{onChange:l=>o.onOptionChange(["yKey"],l.target.value),value:(s=r.yKey)!=null?s:"y"})),n&&ve.createElement(Z,{label:"Preview"},ve.createElement(Ge,null,n)))},sNe=o=>{var s,l,u;let{data:e,api:t}=Ee(),r=ve.useCallback(p=>{let c=R(v({},e),{SparkLineStyle:R(v({},e.SparkLineStyle),{options:R(v({},e.SparkLineStyle.options),{type:p})})});o.onChange(c)},[e]),n=ve.useMemo(()=>[{label:"Line",value:"line",onClick:()=>r("line")},{label:"Area",value:"area",onClick:()=>r("area")},{label:"Column",value:"column",onClick:()=>r("column")},{label:"Bar",value:"bar",onClick:()=>r("bar")}],[e]),i=ve.useCallback((p,c)=>{var f;let m=C7((f=e.SparkLineStyle.options)!=null?f:{},p,c);o.onChange(R(v({},e),{SparkLineStyle:R(v({},e.SparkLineStyle),{options:m})}))},[e]),a=((s=t.columnApi.getColumnWithColumnId(e.ColumnId))==null?void 0:s.dataType)==="ObjectNumberArray";return ve.createElement(ve.Fragment,null,ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Settings"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Type"},ve.createElement(Fe,{columns:["label"],items:n},(u=(l=n.find(p=>{var c;return p.value===((c=e.SparkLineStyle.options)==null?void 0:c.type)}))==null?void 0:l.label)!=null?u:"Select Type")),a&&ve.createElement(gxt,{onOptionChange:i})))),ve.createElement(mxt,{onOptionChange:i}),(()=>{var p;switch((p=e.SparkLineStyle.options)==null?void 0:p.type){case"line":return ve.createElement(hxt,{onOptionChange:i});case"area":return ve.createElement(fxt,{onOptionChange:i});case"column":return ve.createElement(rNe,{onOptionChange:i});case"bar":return ve.createElement(rNe,{onOptionChange:i})}})())};var uNe=o=>{var p,c,m,f,g,C;let e=(c=o.data)!=null?c:(p=o.popupParams)==null?void 0:p.value,t=(g=(f=(m=o==null?void 0:o.popupParams)==null?void 0:m.config)==null?void 0:f.defaultCurrentSectionName)!=null?g:void 0,r=(C=o.defaultCurrentSectionName)!=null?C:t,[n,i]=(0,lNe.useState)(()=>{if(e)return Zt(e);let y=Ke.CreateEmptyStyledColumn();return y.GradientStyle={},y}),a=at(),s=()=>{var y;((y=o==null?void 0:o.popupParams)==null?void 0:y.action)==="New"||!e?a(dS(n)):a(dw(n)),o.onFinishWizard(n)},l=[{details:"Create the Style to apply",renderSummary:WB,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(eNe,{onChange:i})),title:"Style"},{details:"Apply additional Settings",renderSummary:tNe,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(oNe,{onChange:i})),title:"Settings"}],u=[{title:"Settings",render:()=>qa.createElement(hh.Box,{p:2},qa.createElement(sNe,{onChange:i}))}];return qa.createElement(dr,{defaultCurrentSectionName:r,moduleInfo:o.moduleInfo,data:n,onFinish:s,onHide:o.onCloseWizard,sections:[{details:"Select a Styled Column type",renderSummary:jMe,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(KMe,{onChange:i})),title:"Type"},{isValid:qMe,renderSummary:YMe,details:"Select a Column where the Style will be applied",render:()=>qa.createElement(hh.Box,{padding:2,style:{height:"100%"}},qa.createElement($Me,{isNew:o.isNew,onChange:i})),title:"Column"},...n.SparkLineStyle?u:l,{details:"Select Format Column Tags",title:"Tags",isVisible:(y,b)=>b.internalApi.shouldDisplayTagSections(),render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(Fr,{onChange:i})),renderSummary:_r},"-",{title:"Summary",details:"Review your Styled Column",render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(Or,null))}]})};var zB=class extends mt{constructor(e){super(pc,Fz,"brush","StyledColumnPopup","Create a Special Column Style e.g Gradient or Percent Bar",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{let r=this.api.columnApi.getColumns().filter(n=>{let i=this.api.styledColumnApi.getCheckBoxStyleStyledColumn(n);return i&&!i.IsSuspended}).map(n=>n.columnId);r.includes(t.column.columnId)||this.api.internalApi.getAdaptableInstance().refreshCells(null,r,!0,!0)})}updateOldConfig(){let e=this.api.formatColumnApi.getFormatColumns().filter(r=>r.ColumnStyle);if(!e.length)return;this.api.logInfo(`Converting ${e.length} FormatColumns Styles to Styled Columns`,e),e.forEach(r=>{this.api.formatColumnApi.deleteFormatColumn(r)}),e.map(r=>"ColumnIds"in r.Scope?v(R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:r.Scope.ColumnIds[0]}),r.ColumnStyle):null).filter(Boolean).forEach(r=>this.api.styledColumnApi.addStyledColumn(r))}getModuleAdaptableObjects(e){return this.api.styledColumnApi.getStyledColumns(e)}getExplicitlyReferencedColumnIds(e){return this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(t=>t.columnId):[]}hasNamedQueryReferences(){return!1}addColumnMenuItems(e){let t=[],r={defaultCurrentSectionName:"Style"};if(e&&this.isModuleEditable()){if(this.api.columnApi.hasArrayDataType(e.columnId)&&e.IsReadOnly!==!0&&this.api.styledColumnApi.canDisplaySparklines()){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId),i=e.isSparkline&&Boolean(n);if(!(e.isSparkline&&!i)){i?n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId):n=R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:e.columnId,SparkLineStyle:{}});let a=i?"Edit ":"Create ",s={action:i?"Edit":"New",source:"ColumnMenu",value:n,config:r};t.push(this.createColumnMenuItemShowPopup(a+"Sparkline Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,s))}}if(!e.isSparkline){if(e.dataType==="Number"){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId),i=Boolean(n);if(!n){let l=this.api.scopeApi.createCellColorRangesForScope({ColumnIds:[e.columnId]});n=R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:e.columnId,GradientStyle:{CellRanges:l}})}n&&n.IsReadOnly&&n.IsReadOnly==!0&&(i=!1);let a=i?"Edit ":"Create ",s={action:i?"Edit":"New",source:"ColumnMenu",value:n,config:r};t.push(this.createColumnMenuItemShowPopup(a+"Styled Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,s))}if(e.dataType=="Boolean"&&!this.api.columnApi.isFreeTextColumn(e.columnId)){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId);n&&(n==null?void 0:n.CheckBoxStyle)?t.push(this.createColumnMenuItemClickFunction("Remove Checkbox","unchecked",()=>{this.api.styledColumnApi.deleteStyledColumn(n)})):t.push(this.createColumnMenuItemClickFunction("Show as Checkbox","checked",()=>{let a=Ke.CreateEmptyStyledColumn();this.api.styledColumnApi.addStyledColumn(R(v({},a),{ColumnId:e.columnId,CheckBoxStyle:!0}))}))}}}return t}getTeamSharingAction(){return{ModuleEntities:this.api.styledColumnApi.getStyledColumns(),AddAction:dS,EditAction:dw}}toView(e){let t=null;return e.GradientStyle?t="Gradient":e.PercentBarStyle?t="Percent Bar":e.CheckBoxStyle?t="Check Box":e.SparkLineStyle&&(t="Spark Line"),{abObject:e,items:[{name:"Type",values:[t]},{name:"Column",values:[this.api.columnApi.getFriendlyNameForColumnId(e.ColumnId)]},!e.SparkLineStyle&&{name:"Style",view:()=>WB(e,this.api)},{name:"Settings",values:[`Include grouped rows: ${e.IncludeGroupedRows?"Yes":"No"}`]},ar(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:dw,getDeleteAction:JF,getSuspendAction:e_,getUnSuspendAction:t_,getSuspendAllAction:Xpe,getUnSuspendAllAction:Zpe,getEditWizard(){return uNe}}}canBeAssociatedWithLayouts(){return!0}};var pP=WL(),jB=class{constructor(e,t){this.adaptable=e;this.gridOptions=t;this.initialAgGridColDefs={}}destroy(){this.adaptable=null,this.gridOptions=null}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,t=this.adaptable.api;return e.set(ul,new ZV(t)),e.set(xn,new KV(t)),e.set(lg,new MB(t)),e.set(ws,new QV(t)),e.set(an,new YV(t)),e.set(Za,new $V(t)),e.set(Gi,new XV(t)),e.set(dl,new FB(t)),e.set($u,new tB(t)),e.set(Bn,new rB(t)),e.set(Rn,new nB(t)),e.set(Gn,new iB(t)),e.set(ci,new aB(t)),e.set(Es,new fB(t)),e.set(sn,new hB(t)),e.set(gr,new yB(t)),e.set(Ja,new SB(t)),e.set(pl,new bB(t)),e.set(es,new RB(t)),e.set(Xu,new xB(t)),e.set(cc,new wB(t)),e.set(Ju,new PB(t)),e.set(cl,new DB(t)),e.set(Zu,new EB(t)),e.set(ed,new IB(t)),e.set(dc,new sB(t)),e.set(ug,new NB(t)),e.set(mc,new VB(t)),e.set(ll,new kB(t)),e.set(pc,new zB(t)),e}TrySetUpNodeIds(e){if(je.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(Jt.objectExists(this.gridOptions.getRowNodeId)||Jt.objectExists(this.gridOptions.getRowId))return!0;let t=this.adaptable.adaptableOptions.primaryKey;return e?this.gridOptions.getRowId=r=>(Jt.objectNotExists(r.data[t])&&(r.data[t]=yt()),r.data[t]):this.gridOptions.getRowId=r=>{var a;if(r.data[t])return r.data[t];let n=(a=r.parentKeys)!=null?a:[],i=Object.values(r.data);if(i.length)return[...n,i[0]].join("/")},!0}createCheckboxRendererComp(e,t){return CMe(e,t,this.adaptable.api)}createPercentBarRendererComp(e,t){return zMe(e,t,this.adaptable.api)}getCleanValue(e){if(typeof e=="string")return e;if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,t){let r=e.cellRenderer;return typeof r=="string"?this.getCleanValue(t):r({value:t})||""}createAdaptableColumnFromAgGridColumn(e,t){let r=e.getColId(),n=e.getColDef(),i=this.adaptable.api.columnApi.isActionRowButtonColumn(r),a=this.adaptable.adaptableOptions.columnOptions.columnFriendlyName,s=typeof a=="function"?a({colId:r,agColumn:e}):null,l=s!=null?s:i?One:this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[r]||(this.initialAgGridColDefs[r]=v({},e.getUserProvidedColDef()));let u=r,p=this.adaptable.adaptableOptions.primaryKey,c=t==null?void 0:t[u],m=this.getColumnDataType(e,!1),f={Uuid:yt(),columnId:u,field:n.field,friendlyName:l,isPrimaryKey:u===p,dataType:m,visible:e.isVisible(),readOnly:this.isColumnReadonly(n),columnGroup:c,sortable:this.isColumnSortable(n),filterable:this.isColumnFilterable(n),groupable:this.isColumnGroupable(n),pivotable:this.isColumnPivotable(n),aggregatable:this.isColumnAggregetable(n),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(n),hideable:this.isColumnHideable(n),queryable:this.isColumnQueryable(n,u,l,m),exportable:this.isColumnExportable(n,u,l,m),isGrouped:this.isColumnGrouped(n),isFixed:this.isColumnFixed(n),pinned:this.getColumnPinnedPosition(n),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(n)};f.aggregatable&&(f.availableAggregationFunctions=this.getColumnAggregationFunctions(n),typeof n.aggFunc=="string"&&(f.aggregationFunction=n.aggFunc));let g=this.adaptable.adaptableOptions.searchOptions.excludeColumnFromQuickSearch;return g&&g(f)&&(f.isExcludedFromQuickSearch=!0),f}buildAdaptableToolPanelDef(){return{id:$h,toolPanel:Rne,labelDefault:xne,labelKey:"adaptable",iconKey:"menu",width:Xt.getAdaptableToolPanelWidth(),minWidth:Xt.getAdaptableToolPanelWidth()}}isSideBarDefObject(e){return Array.isArray(e==null?void 0:e.toolPanels)}mapToolPanelDefs(e=[]){return e.map(t=>t===$h?this.buildAdaptableToolPanelDef():t)}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(qe.CorrectLength(e,1)){let t=e[0],r={rowStartIndex:t.startRow.rowIndex,rowEndIndex:t.endRow.rowIndex,columns:t.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(r)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="function"?!1:!e.editable}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,t,r,n){if(!e||e.colId===ac)return!1;let i={columnId:t,friendlyName:r,dataType:n};return this.adaptable.api.queryLanguageApi.isColumnQueryable(i)}isColumnExportable(e,t,r,n){if(!e||e.colId===ac)return!1;let i={columnId:t,friendlyName:r,dataType:n};return this.adaptable.api.exportApi.isColumnExportable(i)}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,t=!0){if(!e)return this.adaptable.logger.warn("column is undefined returning String for Type"),"String";let r="Unknown",n=this.adaptable.api.columnApi.getColumnWithColumnId(e.getId(),t);if(n&&n.dataType!="Unknown")return n.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(u=>{r=="Unknown"&&(r=this.getAbColDefValue(u))}):r=this.getAbColDefValue(i),r!="Unknown"))return r;let a=this.gridOptions.api.getModel();if(a==null)return this.adaptable.logger.warn(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let u=s.childrenAfterGroup;if(qe.IsNullOrEmpty(u))return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=u[0]}let l=this.gridOptions.api.getValue(e,s);if(l instanceof Date)r="Date";else if(Array.isArray(l)&&l.length&&typeof l[0]=="number")r="Unknown";else switch(typeof l){case"string":r="String";break;case"number":r="Number";break;case"boolean":r="Boolean";break;case"object":r="Object";break;default:break}return this.adaptable.logger.warn(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${r}`),r}getAbColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";case"abColDefNumberArray":return"NumberArray";case"abColDefTupleNumberArray":return"TupleNumberArray";case"abColDefObjectNumberArray":return"ObjectNumberArray";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"Object":return"abColDefObject";case"String":return"abColDefString";case"NumberArray":return"abColDefNumberArray";case"TupleNumberArray":return"abColDefTupleNumberArray";case"ObjectNumberArray":return"abColDefObjectNumberArray";default:return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&qe.IsNotNullOrEmpty(this.adaptable.api.filterApi.getColumnFilters())&&(this.adaptable.logger.warn('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearColumnFilters()),this.adaptable.adaptableOptions.searchOptions.clearSearchesOnStartUp&&(je.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||je.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||qe.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.getDataSets()))&&(this.adaptable.logger.warn('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSetApi.clearCurrentDataSet())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(r){let{nodeA:n,nodeB:i}=r,a=e.getFirstGroupedColumn();if(a){let s=e.getActiveColumnComparator(a.columnId,e.api.customSortApi.getCustomSortForColumn(a.columnId),e.api.customSortApi.internalApi.getCustomSortComparer(a));if(s)return s(n.key,i.key);if(e.api.layoutApi.getCurrentLayoutColumnSort(a.columnId)==="Desc")return n.key>i.key?-1:1}return n.key==i.key?0:n.key<i.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),t=document.querySelector(".ag-header"),r=t?window.getComputedStyle(t,null):null,n=document.querySelector(".ag-row-even"),i=n?window.getComputedStyle(n,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:pP(r.color).toHexString(),headerBackColor:pP(r.backgroundColor).toHexString(),headerFontFamily:r.fontFamily,headerFontSize:r.fontSize,headerFontStyle:r.fontStyle,headerFontWeight:r.fontWeight,height:Number(r.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-header-cell[col-id='${l.columnId}']`),p=window.getComputedStyle(u||e,null);return{columnFriendlyName:l.friendlyName,width:Number(p.width.replace("px","")),textAlign:p.textAlign}})},Row:{color:pP(i.color).toHexString(),backColor:pP(i.backgroundColor).toHexString(),altBackColor:pP(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-cell[col-id='${l.columnId}']`),p=window.getComputedStyle(u||n,null);return{columnFriendlyName:l.friendlyName,width:Number(p.width.replace("px","")),textAlign:p.textAlign}})}}}};d();var y7=w(c7());var KB=class{constructor(e,t){this.adaptable=e;this.gridOptions=t}destroy(){this.adaptable=null,this.gridOptions=null}buildColumnMenu(e,t){let r=e.column.getColId(),n=[],i=[],a=[];n.push(...this.createAgGridColumnMenuItems(t,e));let s=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,l=s==null||s!==!1;l&&n.push("separator");let u=this.adaptable.api.columnApi.getColumnWithColumnId(r),p=this.createColumnMenuContextObject(u,e.column);if(p.isRowGroupColumn){let m=this.createGroupedColumnMenuItem();m&&i.push(m)}l&&i.push(...this.createAdaptableColumnMenuItems(u,p)),a.push(...this.createUserColumnMenuItems(p));let c={aggrid:n,adaptable:i,user:a};return(0,y7.default)(this.adaptable.adaptableOptions.menuOptions.columnMenuOrder.map(m=>c[m]))}buildContextMenu(e,t){this.adaptable.setSelectedCells();let r=[],n=[],i=[],a=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu,s=a==null||a!==!1,l=this.adaptable.adaptableOptions.menuOptions.contextMenuItems,u=qe.IsNotNullOrEmpty(l),p=this.createAgGridContextMenuItems(t,e);p!=null&&p.length&&(r.push(...p),(s||u)&&r.push("separator"));let c=[],m=e.column;if(m){let g=this.adaptable.api.columnApi.getColumnWithColumnId(m.getColId()),C=this.createContextMenuContextObject(e,g),y=this.createAdaptableContextMenuItems(C);qe.IsNotNullOrEmpty(y)&&c.push(...y),qe.IsNotNullOrEmpty(c)&&s&&n.push(...this.createAgGridAdaptableContextMenuItems(c,C)),u&&i.push(...this.createAgGridUserContextMenuItems(l,C))}let f={aggrid:r,adaptable:n,user:i};return(0,y7.default)(this.adaptable.adaptableOptions.menuOptions.contextMenuOrder.map(g=>f[g]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"})}}createAgGridMenuDefFromAdaptableMenu(e){let t=qe.IsNotNullOrEmpty(e.subItems)?e.subItems.map(r=>this.createAgGridMenuDefFromAdaptableMenu(r)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),subMenu:t}}createAgGridColumnMenuDefFromUserMenu(e,t){let r=e.onClick,n=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserColumnMenuItem(e,t),action:()=>r?r(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:n,subMenu:qe.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,t))}}createAgGridContextMenuDefFromUserMenu(e,t){let r=e.onClick,n=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserContextMenuItem(e,t),action:()=>r?r(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:n,subMenu:qe.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,t))}}mapAdaptableIconToAgGridIcon(e,t){return Ac(e)?e.element:DCe(e,{fill:"var(--ab-color-text-on-primary)"})}createAdaptableColumnMenuItemFromUserMenu(e,t){let r=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,t),reduxAction:null,onClick:()=>r?r(t):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,t){return e?e(t):t.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let t={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:{name:"undo"}};return this.createAgGridMenuDefFromAdaptableMenu(t)}}createAdaptableColumnMenuItems(e,t){let r=[];return this.getAdaptableMenuItemsColumnHeader(e,t).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);r.push(a)}),r}createUserColumnMenuItems(e){let t=[],r=this.getUserMenuItemsColumnHeader(e);return qe.IsNotNullOrEmpty(r)&&r.forEach(n=>{let i=this.createAgGridColumnMenuDefFromUserMenu(n,e);t.push(i)}),t}createColumnMenuContextObject(e,t){return{adaptableColumn:e,agGridColumn:t,adaptableApi:this.adaptable.api,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(t.getColId())}}createContextMenuContextObject(e,t){let r=!1,n=!1,i=!1,a;t&&(a=this.adaptable.getGridCellFromRowNode(e.node,t.columnId));let s=this.adaptable.api.gridApi.getSelectedCellInfo();a&&s&&(n=s.gridCells.find(p=>p!=null&&p.column==a.column&&p.primaryKeyValue==a.primaryKeyValue)!=null,n&&(r=qe.CorrectLength(s.columns,1)));let l=this.adaptable.api.gridApi.getSelectedRowInfo();return l&&(i=l.gridRows.find(p=>p!=null&&p.primaryKeyValue==a.primaryKeyValue)!=null),{isSelectedCell:n,isSelectedRow:i,gridCell:a,adaptableColumn:t,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:r,isSingleSelectedCell:n&&(s==null?void 0:s.gridCells.length)==1,primaryKeyValue:a?a.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,selectedCellInfo:s,selectedRowInfo:l,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,t){return e?e(t).slice(0):t.defaultItems?t.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let t=[];return this.adaptable.adaptableModules.forEach(r=>{let n=r.addContextMenuItems(e);n&&t.push(...n)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:t,menuContext:e}),t}createAgGridAdaptableContextMenuItems(e,t){let r=[],n=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(n==null||n!==!1)&&e.forEach(i=>{if(i){let a=!0;if(n!=null&&typeof n=="function"&&(a=n(i,t)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);r.push(s)}}}),r}createAgGridUserContextMenuItems(e,t){let r=[];return e.filter(n=>!!n).filter(n=>n.hidden?!n.hidden(t):!0).forEach(n=>{let i=this.createAgGridContextMenuDefFromUserMenu(n,t);r.push(i)}),r}getAdaptableMenuItemsColumnHeader(e,t){let r=[],n=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=n==null||n!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(l=>{if(l){let u=!0;n!=null&&typeof n=="function"&&(u=n(l,t)),u&&r.push(l)}}):r.push(...s))}),r}getLabelFromUserColumnMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getLabelFromUserContextMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getUserMenuItemsColumnHeader(e){var t,r;return(r=(t=this.adaptable.adaptableOptions.menuOptions)==null?void 0:t.columnMenuItems)==null?void 0:r.filter(n=>n.hidden?!n.hidden(e):!0)}buildStandaloneColumnHeader(e){let t=this.adaptable.api.columnApi.internalApi.getAgGridColumnForAdaptableColumn(e.columnId),r=this.createColumnMenuContextObject(e,t),n=[];n.push(...this.getAdaptableMenuItemsColumnHeader(e,r));let i=this.getUserMenuItemsColumnHeader(r);return qe.IsNotNullOrEmpty(i)&&i.forEach(a=>{let s=this.createAdaptableColumnMenuItemFromUserMenu(a,r);n.push(s)}),n}};d();var mNe=w(require("react")),VA=require("react");d();var Xo=w(require("react"));d();var yy=w(require("react"));d();var dNe=w(require("react"));var pNe=w(re());var Cxt="ab-ListGroup",yxt=o=>{let r=o,{className:e}=r,t=ze(r,["className"]);return dNe.createElement(pNe.Box,R(v({},t),{className:Me(e,Cxt)}))},cNe=yxt;var QB=class extends yy.Component{constructor(e){super(e),this.state={}}render(){let e=this.props.MenuItems.map((t,r)=>yy.createElement(Sk,{key:r,onClick:()=>this.onClick(t)},t.icon&&yy.createElement(fi,{icon:t.icon}),t.label));return yy.createElement("div",{style:vxt},yy.createElement(cNe,null,e))}onClick(e){this.props.onMenuItemClick(e)}},vxt={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};d();var ys=w(require("react")),Zc=w(re());var YB=class extends ys.Component{render(){let e=ys.createElement(Zc.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?ys.createElement(Zc.Flex,{flex:6,marginRight:2},"Filter"):ys.createElement(Zc.Flex,{flex:6,flexDirection:"column"},ys.createElement(Zc.Flex,null,ys.createElement(Zc.Flex,{flex:6},ys.createElement(_e,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),ys.createElement(Zc.Flex,{flex:6},ys.createElement(_e,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return ys.createElement(Zc.Flex,{flexDirection:"column"},ys.createElement(Io,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:R(v({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:ys.createElement(Zc.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},ys.createElement(X,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var vy=w(re());d();var gh=(o,e)=>typeof e=="function"?e(o):e;var bxt={width:"100%",minWidth:150},Ch=class extends Xo.Component{constructor(t){super(t);this._isMounted=!1;this.handleFilterChange=t=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(t)};this._isMounted=!0;let r=Ch.createColumnFilterFromProps(this.props);this.state={columnFilters:t.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:r,currentTab:Ch.getCurrentTab(r),suppressClientSideFilter:!1}}static createColumnFilterFromProps(t){let r=t.columnFilters.find(n=>n.ColumnId==t.currentColumn.columnId);if(!r){let n=t.api.optionsApi.getFilterOptions();if(n.defaultFilterFormTab=="Values")return eo.CreateColumnFilter(t.currentColumn.columnId,"Values",[]);if(t.currentColumn.dataType==="Number")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultNumericColumnFilter),[""]);if(t.currentColumn.dataType==="String")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultStringColumnFilter),[""]);if(t.currentColumn.dataType==="Date")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultDateColumnFilter),[""]);if(t.currentColumn.dataType==="Boolean")return eo.CreateColumnFilter(t.currentColumn.columnId,"BooleanToggle",["all"])}return r}static getCurrentTab(t){return t&&t.Predicate&&t.Predicate.PredicateId&&t.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(t,r){let i=t.api.optionsApi.getFilterOptions().autoApplyFilter?Ch.createColumnFilterFromProps(t):r.editedColumnFilter,a=r.columnFilters,s=!1;return t.columnFilters!==a&&(a=t.columnFilters,s=!0),{editedColumnFilter:i,columnFilters:a,currentTab:s||!r.currentTab?Ch.getCurrentTab(i):r.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(t=""){let{values:r,suppressClientSideFilter:n}=await tA(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,t,this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));this._isMounted&&this.setState({distinctColumnValues:r,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:n})}render(){var p,c;let t=this.isFilterable(),r=this.props.api.optionsApi.getFilterOptions(),n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>!m.onlyQuickFilter),i=((c=(p=this.state.editedColumnFilter)==null?void 0:p.Predicate)==null?void 0:c.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],a=tr.objectNotExists(this.state.editedColumnFilter)||tr.objectNotExists(this.state.editedColumnFilter.Predicate)||tr.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),s=Xo.createElement(xA,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),l=Xo.createElement(vd,{onClick:()=>this.onClearFilter(),disabled:a,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!r.useAgGridFilterFormStyle;return Xo.createElement("div",{className:"ab-FilterForm","data-name":"filter-form"},je.IsNullOrEmpty(t)?Xo.createElement(YB,{style:bxt,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:l,closeButton:s,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!r.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:a,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?Xo.createElement(QB,{MenuItems:this.props.api.gridApi.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):Xo.createElement(Xo.Fragment,null,this.state.showTab&&Xo.createElement(Xo.Fragment,null,Xo.createElement(_e,{"data-name":"values",flex:1,marginLeft:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},Xo.createElement(vy.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),Xo.createElement(_e,{"data-name":"predicates",marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},Xo.createElement(vy.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&Xo.createElement(oA,{disabled:this.isFilterDisabled(),suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:i,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)}),this.state.currentTab==="predicates"&&Xo.createElement(Xo.Fragment,null," ",this.state.showTab&&Xo.createElement("hr",null),n.filter(m=>m.id!=="Values"&&m.id!=="ExcludeValues").map((m,f)=>this.renderColumnPredicate(m,f))))):Xo.createElement(Ot,null,t))}renderColumnPredicate(t,r){var a;let{editedColumnFilter:n}=this.state,i=((a=n==null?void 0:n.Predicate)==null?void 0:a.PredicateId)===t.id;return Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate",key:r,flexDirection:"column"},Xo.createElement(_e,{"data-name":t.id,disabled:this.isFilterDisabled(),fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:i,onChange:()=>this.selectColumnPredicate(t)},t.label),Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate_inputs",flexDirection:"column",flex:0,marginLeft:3,marginRight:2},i&&this.renderPredicateInput(t,n)))}renderPredicateInput(t,r){var n;return(t==null?void 0:t.id)==="BooleanToggle"?Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate-input",flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},Xo.createElement(ye,{disabled:this.isFilterDisabled(),checked:r.Predicate.Inputs[0]==="true"?!0:r.Predicate.Inputs[0]==="false"?!1:null,onChange:i=>{let a=r.Predicate.Inputs[0]==="false"&&i===!0?"all":i===!0?"true":"false";this.changeColumnPredicateInput(a,0)}})):(n=t.inputs)==null?void 0:n.map((i,a)=>Xo.createElement(vy.Flex,{key:a,flexDirection:"row"},Xo.createElement(Vt,{disabled:this.isFilterDisabled(),type:i.type,autoFocus:a===0,value:r.Predicate.Inputs[a],onChange:s=>this.changeColumnPredicateInput(s.target.value,a),mb:1,flex:1,fontSize:2})))}isFilterDisabled(){var t;return Boolean((t=this.state.editedColumnFilter)==null?void 0:t.IsSuspended)}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(t){this.setState({selectedTab:t})}onColumnValuesChange(t){let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:t},this.setState({editedColumnFilter:r}),this.persistFilter()}persistFilter(){let{editedColumnFilter:t}=this.state;t.Predicate===void 0||t.Predicate.PredicateId==="Values"&&t.Predicate.Inputs.length===0?(this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId),this.onCloseForm()):this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(t)}onClearFilter(){let{editedColumnFilter:t}=this.state;t.Predicate=void 0,this.setState({editedColumnFilter:t}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(t){t.reduxAction&&this.props.onMenuItemClick(t.reduxAction),t.onClick&&t.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(t){var n;let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:t.id,Inputs:((n=t.inputs)!=null?n:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.setState({editedColumnFilter:r}),this.persistFilter()}changeColumnPredicateInput(t,r){let{editedColumnFilter:n}=this.state;n.Predicate.Inputs[r]=t,this.setState({editedColumnFilter:n}),this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(n)}};function Axt(o,e){return{currentColumn:e.currentColumn,columns:o.Grid.Columns,columnFilters:Im(o),showCloseButton:e.showCloseButton}}function xxt(o){return{onMenuItemClick:e=>o(e),onClearColumnFilter:e=>o(od(e)),onAddColumnFilter:e=>o(Tm(e)),onEditColumnFilter:e=>o(Jv(e)),onSetColumnFilter:e=>o(cF(e)),onHideFilterForm:()=>o(Kie())}}var Rxt=ot(Axt,xxt)(Ch),v7=o=>$i(Xo.createElement(Rxt,{api:o.Adaptable.api,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu,showCloseButton:o.ShowCloseButton}),o.Adaptable);var fNe=o=>{function e(n){return o.isDestroyed?!1:o.api.filterApi.getColumnFilters().findIndex(i=>i.ColumnId==n)>-1}function t(n,i){return{Column:o.api.columnApi.getColumnWithColumnId(n),Adaptable:o,ShowCloseButton:i}}function r(n){return"filter_"+n+"_"+o.adaptableOptions.adaptableId}return o.variant==="react"?(0,VA.forwardRef)(function(i,a){let[s,l]=(0,VA.useState)(null),u=i.column.getId(),p=o.api.columnApi.getColumnWithColumnId(u);return(0,VA.useImperativeHandle)(a,()=>({isFilterActive:()=>e(u),afterGuiAttached:c=>{var g;let m=(g=c==null?void 0:c.hidePopup)!=null?g:null,f=t(u,!!m);o.hideFilterFormPopup=m,l(f)},getModel:()=>{},setModel:()=>{},doesFilterPass:()=>!0})),!p||!s?null:mNe.createElement("div",{id:r(u)},v7(s))}):class{init(i){this.params=i,this.column=i.column,this.filterContainer=document.createElement("div"),this.filterContainer.id=r(this.params.column.getColId())}doesFilterPass(i){return!0}isFilterActive(){return e(this.params.column.getColId())}getModel(){}setModel(i){}getGui(){return this.filterContainer}afterGuiAttached(i){var s,l;if((s=this.unmountReactRoot)==null||s.call(this),o.api.columnApi.getColumnWithColumnId(this.column.getColId())){let u=(l=i==null?void 0:i.hidePopup)!=null?l:null,p=t(this.column.getColId(),!!u);o.hideFilterFormPopup=u,this.unmountReactRoot=o.renderReactRoot(v7(p),this.filterContainer)}}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var gNe=w(require("react")),qB=require("react");d();var hn=w(require("react")),b7=w(pv());var cP=w(re());d();var Aa=w(require("react")),BA=require("react");d();var S7=w(re());var hNe=o=>{let{api:e}=o,t=(0,BA.useRef)(!1),r=Aa.useRef(null),[n,i]=Aa.useState({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),[a,s]=Aa.useState(!1),[l,u]=Aa.useState(""),[p,c]=Aa.useState({counter:0}),[m,f]=Aa.useState(null),g=I=>{var P;let{columnFilter:D}=o;D.Predicate={PredicateId:D.Predicate.PredicateId,Inputs:I},(P=e.optionsApi.getFilterOptions())!=null&&P.autoApplyFilter?o.updateColumnFilter(D):f(D)};(0,BA.useEffect)(()=>{if(p.counter===0)return;let I=!1;return s(!0),e.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(o.columnFilter.ColumnId,l,e.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly).then(D=>{I||(i(R(v({},D),{dataLoadIsComplete:!0})),s(!1))}),()=>{I=!0}},[p]);let C=(0,BA.useCallback)(I=>{I?c(R(v({},p),{counter:p.counter+1})):(i({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),u(""))},[p,n]),y=n.dataLoadIsComplete&&De.IsNullOrEmptyOrContainsSingleEmptyValue(n.values),b=()=>Aa.createElement(X,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values");if(De.IsNullOrEmpty(o.columnFilter.Predicate.Inputs)&&y)return b();let S=I=>{u(I),n.suppressClientSideFilter&&c(R(v({},p),{counter:p.counter+1}))},A="mouseenter";o.quickFilterValuesTrigger==="click"&&(A="click");let x=o.columnFilter.Predicate.PredicateId==="Values"?"Select Values":"Exclude Values";o.columnFilter.Predicate.Inputs.length&&(x=o.columnFilter.Predicate.Inputs.map(I=>{var P,O;let D=(O=(P=n.values)==null?void 0:P.find(M=>I instanceof Date?or(I,M.value):M.value===I))==null?void 0:O.label;return D!=null?D:I}).join(", "));let E=o.api.optionsApi.getAdaptableOptions().filterOptions.quickFilterValuesWidth,T=I=>E==="auto"?Math.max(180,I):typeof E=="number"?E:null;return Aa.createElement(Na,{showEvent:A,hideEvent:"mouseleave",hideDelay:300,ref:I=>{r.current=I,o.registerValuesDropdownApi(I)},onVisibleChange:I=>{t.current!==I&&(t.current=I,C(I))},render:({targetWidth:I})=>{var D;return Aa.createElement(S7.Flex,{onMouseEnter:()=>{A==="click"&&requestAnimationFrame(()=>{var P;(P=r.current)==null||P.show()})},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3,width:T(I)}},Aa.createElement(S7.Flex,{m:2},Aa.createElement(X,{onClick:()=>o.clearColumnFilter()},"Clear Filter"),((D=e.optionsApi.getFilterOptions())==null?void 0:D.autoApplyFilter)==!1&&Aa.createElement(X,{ml:2,onClick:()=>{m&&o.updateColumnFilter(m)}},"Apply Filter")),Aa.createElement(oA,{disabled:o.isFilterDisabled,suppressClientSideFilter:n.suppressClientSideFilter,isLoading:a,onFilterChange:S,currentColumn:o.currentColumn,columns:[],columnDistinctValues:n.values,dataType:o.currentColumn.dataType,uiSelectedColumnValues:o.columnFilter.Predicate.Inputs.filter(P=>P!==""),useAgGridStyle:!0,onColumnValueSelectedChange:P=>g(P)}))}},Aa.createElement(X,{"data-name":"Select Values",style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:o.isFilterDisabled||y},x))};var A7=class extends hn.Component{constructor(t){super(t);this.shouldOpenValuesDropdown=!1;this._isMounted=!1;this.debouncedAddFilter=(0,b7.default)(t=>this.props.onAddColumnFilter(t),this.props.quickFilterDebounce);this.debouncedEditFilter=(0,b7.default)(t=>this.props.onEditColumnFilter(t),this.props.quickFilterDebounce);this._isMounted=!0,this.state={transientColumnFilter:t.columnFilter}}static getDerivedStateFromProps(t,r){return R(v({},r),{transientColumnFilter:t.columnFilter})}componentWillUnmount(){this._isMounted=!1}isFilterDisabled(){return Boolean(this.props.columnFilter.IsSuspended)}render(){let{transientColumnFilter:t}=this.state,r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),n=this.props.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let i="mouseenter",a="mouseleave";this.props.quickFilterTrigger==="click"&&(i="click",a="blur");let s=!0,l=this.props.api.optionsApi.getFilterOptions().hideQuickFilterDropdown;l&&(s=!l(this.props.currentColumn));let u=!0,p=this.props.api.optionsApi.getFilterOptions().hideQuickFilterInput;return p&&(u=!p(this.props.currentColumn)),hn.createElement(hn.Fragment,null,s&&hn.createElement(Na,{className:"ab-QuickFilter",showEvent:i,hideEvent:a,preventPortalEventPropagation:i==="click",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",render:()=>hn.createElement(cP.Flex,{className:"ab-QuickFilter__dropdown",flexDirection:"column","data-name":"quick-filter",fontSize:2},(t==null?void 0:t.Predicate.PredicateId)&&hn.createElement(X,{p:2,variant:"text",onClick:()=>this.clearFilter()},hn.createElement("span",{style:{width:20,marginRight:10}},hn.createElement(Lt,{name:"delete"})),"Clear"),r.map(c=>hn.createElement(X,{"data-name":t.Predicate.PredicateId,disabled:this.isFilterDisabled(),key:c.id,p:2,variant:"text",tone:(t==null?void 0:t.Predicate.PredicateId)===c.id?"info":"none",onClick:()=>this.selectColumnPredicate(c.id)},hn.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(c)),c.label)))},hn.createElement(X,{"data-name":t.Predicate.PredicateId,style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(n))),u&&this.renderLabel(t,n),u&&this.renderPredicateInput(n,t))}renderLabel(t,r){return this.hasValuesPredicate(t==null?void 0:t.Predicate)?hn.createElement(hNe,{api:this.props.api,currentColumn:this.props.currentColumn,isFilterDisabled:this.isFilterDisabled(),columnFilter:t,clearColumnFilter:()=>this.clearFilter(),updateColumnFilter:n=>this.updateFilter(n),registerValuesDropdownApi:n=>{n&&this.shouldOpenValuesDropdown&&(n.show(),this.shouldOpenValuesDropdown=!1)},quickFilterValuesTrigger:this.props.quickFilterValuesTrigger}):r&&(r==null?void 0:r.inputs)===void 0&&hn.createElement(cP.Box,{color:this.isFilterDisabled()?void 0:"var(--ab-color-text-on-primary)",disabled:this.isFilterDisabled(),p:1,alignSelf:"center"},r.label)}renderPredicateIcon(t){if(!t||!t.icon)return hn.createElement(Lt,{name:"filter"});if("text"in t.icon)return hn.createElement("span",null,t.icon.text);if(PCe(t.icon))return hn.createElement(fi,{icon:t.icon})}renderPredicateInput(t,r){var n;return(t==null?void 0:t.id)==="BooleanToggle"?hn.createElement(cP.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},hn.createElement(ye,{disabled:this.isFilterDisabled(),checked:r.Predicate.Inputs[0]==="checked"?!0:r.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:i=>{let a=r.Predicate.Inputs[0]==="unchecked"&&i===!0?"all":i===!0?"checked":"unchecked";this.changeColumnPredicateInput(a,0)}})):(n=t==null?void 0:t.inputs)==null?void 0:n.map((i,a)=>{var s,l;return hn.createElement(Vt,{disabled:this.isFilterDisabled(),key:a,type:i.type==="number"?"text":i.type,autoFocus:!1,value:(l=(s=r.Predicate.Inputs)==null?void 0:s[a])!=null?l:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,a),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},style:{width:"100%",padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}onColumnValuesChange(t){var n;let r=v({},this.props.columnFilter);r.Predicate={PredicateId:r.Predicate.PredicateId,Inputs:t},(n=this.props.api.optionsApi.getFilterOptions())!=null&&n.autoApplyFilter?this.updateFilter(r):this.setState({transientColumnFilter:r})}selectColumnPredicate(t){var i;let r=v({},this.props.columnFilter),n=this.props.api.predicateApi.getPredicateDefById(t);r.Predicate={PredicateId:t,Inputs:((i=n.inputs)!=null?i:[]).map(a=>{var s;return(s=a.defaultValue)!=null?s:""})},this.updateFilter(r),(t==="Values"||t==="ExcludeValues")&&(this.shouldOpenValuesDropdown=!0)}updateFilter(t){this.setState({transientColumnFilter:t}),t.Uuid?this.debouncedEditFilter(t):this.debouncedAddFilter(t)}changeColumnPredicateInput(t,r){let n=this.getPredicateIdForShortcutValue(t);if(n)this.selectColumnPredicate(n);else{let i=v({},this.props.columnFilter);i.Predicate.Inputs=i.Predicate.Inputs||[],i.Predicate.Inputs[r]=t,this.updateFilter(i)}}getPredicateIdForShortcutValue(t){var r;return(r=this.props.api.filterApi.internalApi.findPredicateDefByShortcut(t,this.props.currentColumn))==null?void 0:r.id}clearFilter(){let t=v({},this.props.columnFilter);this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId)}hasValuesPredicate(t){return this.props.api.predicateApi.internalApi.hasPredicateValues(t)}};function wxt(o,e){let t=Im(o).find(n=>n.ColumnId==e.currentColumn.columnId);if(t)return t;let r=e.api.optionsApi.getFilterOptions();return!t&&e.currentColumn.dataType==="Number"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultNumericColumnFilter),[""]):!t&&e.currentColumn.dataType==="String"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultStringColumnFilter),[""]):!t&&e.currentColumn.dataType==="Date"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultDateColumnFilter),[""]):!t&&e.currentColumn.dataType==="Boolean"?eo.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"]):eo.CreateColumnFilter(e.currentColumn.columnId,null,null)}function Ext(o,e){return{currentColumn:e.currentColumn,columnFilter:wxt(o,e)}}function Txt(o){return{onAddColumnFilter:e=>o(Tm(e)),onEditColumnFilter:e=>o(Jv(e))}}var Pxt=ot(Ext,Txt)(A7),x7=o=>{var e,t,r;return $i(hn.createElement(Pxt,{api:o.Adaptable.api,quickFilterTrigger:(e=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(t=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:t.quickFilterValuesTrigger,quickFilterDebounce:(r=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:r.quickFilterDebounce,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu}),o.Adaptable)};var R7={overflow:"hidden",minWidth:"0",height:"100%",display:"flex",alignItems:"stretch",position:"relative"},CNe=o=>{function e(n){return`floatingFilter_${n}_${o.adaptableOptions.adaptableId}`}function t(n){return{Column:o.api.columnApi.getColumnWithColumnId(n),Adaptable:o,ShowCloseButton:!1}}function r(n){n&&(n.parentElement.style.overflow="visible",n.parentElement.parentElement.style.padding="var(--ab-space-1)")}return o.variant==="react"?(0,qB.forwardRef)(function(i,a){let s=i.column.getId(),l=o.api.columnApi.getColumnWithColumnId(s);return(0,qB.useImperativeHandle)(a,()=>({onParentModelChanged(){}})),l?gNe.createElement("div",{ref:r,id:e(s),style:R7},x7(t(s))):null}):class{onParentModelChanged(i,a){}afterGuiAttached(){r(this.filterContainer)}init(i){let a=i.column.getColId();if(this.filterContainer=document.createElement("div"),this.filterContainer.id=e(a),Object.keys(R7).forEach(l=>{this.filterContainer.style[l]=R7[l]}),o.api.columnApi.getColumnWithColumnId(a)){let l=t(a);this.unmountReactRoot=o.renderReactRoot(x7(l),this.filterContainer)}}getGui(){return this.filterContainer}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var $B=w(require("react"));d();var Gl=w(require("react"));var Ixt={position:"absolute",left:0,top:0,right:0,bottom:0},Dxt=R(v({},Ixt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Oxt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},w7=Gl.forwardRef(function(e,t){var l;let r=Gl.useRef(null),n=()=>{var u;(u=r.current)==null||u.focus()},[i,a]=ko(e,"value",e.defaultValue,{onChange:u=>{var p;u!==""&&u==Number(u)&&(u=Number(u)),(p=e.onValueChange)==null||p.call(e,u)}});Gl.useImperativeHandle(t,()=>({focus:n,setValue:a}));let s=e.showClearButton&&e.emptyValue!=null&&i!=e.emptyValue;return Gl.createElement("div",{style:Dxt,onKeyDown:u=>{u.key==="Tab"&&s&&document.activeElement===r.current&&u.stopPropagation()}},Gl.createElement("input",{type:(l=e.type)!=null?l:"number",value:i,onChange:Gl.useCallback(u=>{a(u.target.value)},[]),style:Oxt,ref:r}),s?Gl.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{e.emptyValue!=null&&(a(e.emptyValue),u.stopPropagation(),n())},onKeyDown:u=>{e.emptyValue!=null&&u.key==="Enter"&&(a(e.emptyValue),u.stopPropagation(),n())}},Gl.createElement(Lt,{size:18,name:"clear",tabIndex:0})):null)});var Jc=require("react");function Fxt(o){return o.eventKey===me.BACKSPACE||o.eventKey===me.DELETE}function _xt(o){return["0","1","2","3","4","5","6","7","8","9"].includes(o)}function yNe(o){return Fxt(o)?"":o.charPress&&_xt(o.charPress)?o.charPress:o.value}var vNe=({newValue:o,oldValue:e})=>o,E7={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},SNe=(0,Jc.forwardRef)((o,e)=>{var m,f;let[t]=(0,Jc.useState)(()=>yNe(o)),r=(0,Jc.useRef)(t),n=o.column.getColId(),i=o.api.__adaptable,a=o.column.getColDef().valueParser,s=typeof a=="function"?a:vNe;function l(g){g=s?s(R(v({},o),{oldValue:o.value,newValue:g})):g,r.current=g}let u=(0,Jc.useRef)(null);(0,Jc.useImperativeHandle)(e,()=>({focusIn(){var g;(g=u.current)==null||g.focus()},getValue(){return r.current}}));let p=$B.createElement(w7,{defaultValue:t,showClearButton:(m=o.showClearButton)!=null?m:!0,emptyValue:(f=o.emptyValue)!=null?f:"",onValueChange:l,ref:g=>{u.current=g,g==null||g.focus()}});function c(g){i._emit("CellEditorKeyDown",{keyDownEvent:g,cellValue:r.current,columnId:n,updateValueCallback:C=>{u.current.setValue(C)}})}return $B.createElement("div",{style:E7,onKeyDown:c},$i(p,i))}),mP=class{constructor(){this.valueParser=vNe;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(R(v({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=yNe(e),this.params=e,this.columnId=e.column.getColId();let{valueParser:t}=e.column.getColDef();typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(E7).forEach(r=>{this.el.style[r]=E7[r]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var n,i;let e=this.params.api.__adaptable,t=this.value,r=$B.createElement(w7,{defaultValue:t,showClearButton:(n=this.params.showClearButton)!=null?n:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});this.unmountReactRoot=e.renderReactRoot($i(r,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var XB=w(require("react"));d();var ku=w(require("react"));var Mxt={position:"absolute",left:0,top:0,right:0,bottom:0},Nxt=R(v({},Mxt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Lxt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},T7=ku.forwardRef((o,e)=>{var l;let t=ku.useRef(null),r=()=>{var u;(u=t.current)==null||u.focus()},[n,i]=ko(o,"value",o.defaultValue,{onChange:u=>{var p,c;if(u===""||u==null)(p=o.onValueChange)==null||p.call(o,null);else{let m=typeof u=="string"?tg(u):new Date(u);(c=o.onValueChange)==null||c.call(o,m)}}});ku.useImperativeHandle(e,()=>({focus:r}));let a=cO(n,o.dateFormat),s=ku.useCallback(u=>{i(u.target.value)},[]);return ku.createElement("div",{style:Nxt},ku.createElement(TK.Provider,{value:{onHide:u=>{var p;(p=o.onStopEdit)==null||p.call(o,u)},onShow:()=>{},showClearButton:(l=o.showClearButton)!=null?l:!0}},ku.createElement(Vt,{type:"date",value:a,onChange:s,style:Lxt,ref:t})))});var em=require("react");function bNe(o){return o.eventKey===me.BACKSPACE||o.eventKey===me.DELETE}function ANe(o){return bNe(o)?"":o.value}var P7={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},xNe=({newValue:o,oldValue:e,defaultParser:t})=>(typeof e=="string"||e==null)&&t?t(o):o,RNe=(0,em.forwardRef)((o,e)=>{var u;let[t]=(0,em.useState)(()=>ANe(o)),r=(0,em.useRef)(t),n=o.column.getColDef().valueParser,i=typeof n=="function"?n:xNe,a=o.api.__adaptable,s=(0,em.useRef)(null);(0,em.useImperativeHandle)(e,()=>({focusIn(){var p;(p=s.current)==null||p.focus()},getValue(){return r.current}}));let l=XB.createElement(T7,{defaultValue:t,dateFormat:a.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:p=>{let c=isNaN(+p);if(i){let m=R(v({},o),{oldValue:o.value,newValue:p,defaultParser:f=>{var C,y;let g=(y=(C=a.adaptableOptions.userInterfaceOptions)==null?void 0:C.dateInputOptions)==null?void 0:y.dateFormat;return g?Bi(f,{Pattern:g}):f}});r.current=i(m)}else r.current=c?null:p;c||requestAnimationFrame(()=>{o.stopEditing()})},showClearButton:(u=o.showClearButton)!=null?u:!0,onStopEdit:p=>{p==="Escape"?o.api.stopEditing(!0):o.stopEditing()},ref:p=>{s.current=p,p==null||p.focus()}});return XB.createElement("div",{style:P7},$i(l,a))}),fP=class{constructor(){this.valueParser=xNe}init(e){this.value=ANe(e);let{valueParser:t}=e.column.getColDef();this.params=e,typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(P7).forEach(r=>{this.el.style[r]=P7[r]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var n;let e=this.getAdaptableInstance(this.params),t=bNe(this.params)?"":this.params.value,r=XB.createElement(T7,{defaultValue:t,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=R(v({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:l=>{var p,c;let u=(c=(p=e.adaptableOptions.userInterfaceOptions)==null?void 0:p.dateInputOptions)==null?void 0:c.dateFormat;return u?Bi(l,{Pattern:u}):l}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(n=this.params.showClearButton)!=null?n:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});this.unmountReactRoot=e.renderReactRoot($i(r,e),this.el)}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var wNe=1683893995240;d();var ENe="AdaptableStatusPanel";d();var ZB=w(require("react"));var TNe=(o,e,t)=>e.variant==="react"?r=>{let n=$i(ZB.createElement(o,{params:r,adaptableApi:e.api,context:t}),e);return ZB.createElement("div",{className:"ab-StatusBar",ref:i=>{i&&(i.parentElement.style.display="flex")}},n)}:class{init(n){this.params=n,this.eGui=document.createElement("div"),this.eGui.classList.add("ab-StatusBar"),this.render()}render(){let n={params:this.params,adaptableApi:e.api,context:t},i=$i(ZB.createElement(o,n),e);this.unmountReactRoot=e.renderReactRoot(i,this.eGui)}getGui(){return this.eGui}destroy(){var n;(n=this.unmountReactRoot)==null||n.call(this)}};d();var yh=w(require("react"));var PNe=w(re());var INe=o=>{var s;let e=Dt(l=>l),t=jv(e),r=ne(),n=at(),i=t.find(l=>l.Key===o.context.Key),a=Dt(l=>{var u;return(u=l==null?void 0:l.Grid)==null?void 0:u.SettingPanelModuleMenuItems});return yh.createElement(PNe.Flex,{className:"ab-StatusBar-Panel","data-id":o.context.Key},(s=i==null?void 0:i.StatusBarPanels)==null?void 0:s.map(l=>{var f,g,C,y,b,S;let u=r.ModuleService.getModuleById(l);if(!u)return yh.createElement(yh.Fragment,{key:l});if(!u.isModuleAvailable())return yh.createElement(yh.Fragment,{key:l});let p=(y=(C=(g=(f=u.getViewProperties)==null?void 0:f.call(u))==null?void 0:g.getStatusBarPanelProps)==null?void 0:C.call(g))!=null?y:{},c=u.moduleInfo,m=(b=p.onAction)!=null?b:()=>{let A=a.find(x=>x.module===l);A!=null&&A.reduxAction&&n(A.reduxAction)};return yh.createElement(TA,R(v({"data-name":l},p),{tooltip:c.FriendlyName,onAction:m,icon:(S=p.icon)!=null?S:c.Glyph,key:l}))}))};d();var JB=class{constructor(e){this.adaptableApi=e;let t=this.adaptableApi.internalApi.getAdaptableInstance();t.adaptableOptions.actionOptions.actionRowButtonOptions.autoHandle&&t.api.eventApi.on("ActionRowSubmitted",r=>this.autoHandleActionRowButtons(r))}autoHandleActionRowButtons(e){let{adaptableApi:t}=e;if(e.type==="rowEdited"){let{rowNode:r,formData:n}=e,i=v(v({},r.data),n);t.gridApi.updateGridData([i])}if(e.type==="rowDeleted"){let{rowNode:r}=e,n=r.data;t.gridApi.deleteGridData([n])}if(e.type==="rowCreated"){let{formData:r}=e,n=t.internalApi.getAdaptableInstance().adaptableOptions.actionOptions.actionRowButtonOptions.setPrimaryKeyValue,i=typeof n=="function"?n({rowData:r,adaptableApi:t}):v({},r),a={addIndex:0};t.gridApi.addGridData([i],a)}}};d();var eG=w(require("react-dom")),FNe=console.error,kxt=(o,e)=>(eG.render(o,e),()=>{eG.unmountComponentAtNode(e)});function DNe(){console.error=(o,...e)=>{if(!(o&&typeof o=="string"&&(o.includes("Warning: ReactDOM.render is no longer supported in React 18.")||o.includes("Warning: Attempted to synchronously unmount a root while React was already rendering"))))return FNe.call(console,o,...e)}}function ONe(){console.error=FNe}var I7=(o,e,t)=>{t&&DNe();let r=kxt(o,e);return t&&ONe(),()=>{t&&DNe(),r(),t&&ONe()}};d();var tG=class{constructor(e){this.api=e}onChartModelChange(e,t,r){let n=this.api.chartingApi.getChartDefinitions(),i=e.find(s=>s.chartId===r.chartId),a=n.find(s=>s.Model.chartId===r.chartId);switch(t){case N.EVENT_CHART_CREATED:let s=r;if(!n.some(u=>u.Model.chartId===s.chartId)){let u=e.find(p=>p.chartId===s.chartId);this.saveNewChart(u)}break;case N.EVENT_CHART_OPTIONS_CHANGED:case N.EVENT_CHART_RANGE_SELECTION_CHANGED:if(!a)break;let l=R(v({},a),{Model:i});this.api.chartingApi.editChartDefinition(l);break}this.api.internalApi.dispatchReduxAction(qie(e)),this.emitAdaptableChartDefinitonChange()}emitAdaptableChartDefinitonChange(){let t={chartingOpenState:this.api.chartingApi.getChartingOpenState(),adaptableApi:this.api};this.api.eventApi.emit("ChartChanged",t)}saveNewChart(e){var n,i;let r=(i=((n=this.api.optionsApi.getChartingOptions())!=null?n:{}).saveStrategy)!=null?i:"manual";if(r!=="none")if(r==="manual"){let a={alertType:"generic",header:"Save chart",message:"Do you want to save this Chart?",alertDefinition:R(v({},Ke.CreateEmptyAlertDefinition()),{MessageType:"Info",AlertProperties:{DisplayNotification:!0,NotificationDuration:"always"},AlertForm:{Buttons:[{Label:"Save",Action:s=>{let l=s.formData.name||e.chartId;this.api.chartingApi.addChartDefinition(Ke.CreateEmptyChartDefinition({Name:l,Model:e}))},ButtonStyle:{tone:"info",variant:"raised"}},{Label:"Dismiss",ButtonStyle:{tone:"neutral",variant:"raised"}}],fields:[{name:"name",label:"Name",fieldType:"text"}]}})};this.api.alertApi.showAdaptableAlert(a)}else r==="auto"&&this.api.chartingApi.addChartDefinition(Ke.CreateEmptyChartDefinition({Name:e.chartId,Model:e}))}destroy(){this.api=null}};d();var oG=class{constructor(e){this.unsubscribe=()=>{};this.onThemeChanged=()=>{let e=this.api.themeApi.getCurrentThemeObject();this.applyNewThemeVariables(e),this.showMissingThemeFiles(e)};var t;this.api=e,this.subscribe(),this.styleSheetObject||(this.styleSheetObject=new CSSStyleSheet,document.adoptedStyleSheets=[...(t=document.adoptedStyleSheets)!=null?t:[],this.styleSheetObject])}subscribe(){let e=this.api.eventApi.on("ThemeChanged",this.onThemeChanged),t=this.api.eventApi.on("ThemeEdited",this.onThemeChanged);this.unsubscribe=()=>{e(),t()}}applyNewThemeVariables(e){let t=e.CSSVariables;if(!t||Object.keys(t).length===0)return;let r=`html.${this.api.themeApi.internalApi.getThemeClassName(e.Name)} {
|
|
570
|
+
justify-content: center;`,this.eGui.appendChild(r),this.value=e.value}getGui(){return this.eGui}getValue(){return this.value}};d();d();var yMe=w(require("react"));var vMe=()=>yMe.createElement(CV,{gap:0,buttonsPaddingY:0});var FB=class extends mt{constructor(e){super(dl,hz,"track-changes","DataChangeHistoryPopup","Provides an overview of all previous changes, giving the possibility to undo specific changes",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{t.trigger!=="undo"&&t.trigger!=="aggChange"&&this.shouldLogDataChange(t)&&this.api.internalApi.dispatchReduxAction(Wie(t))})}isModuleAvailable(){let e=super.isModuleAvailable(),t=this.api.internalApi.getAdaptableInstance().isAgGridModulePresent(He.ClientSideRowModelModule);return e&&!t&&this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ${He.ClientSideRowModelModule}`),e&&t}getPopupMaxWidth(){return 1e3}hasNamedQueryReferences(){return!1}shouldLogDataChange(e){return this.api.internalApi.getState().System.DataChangeHistory.currentMode!=="ACTIVE"?!1:this.api.optionsApi.getDataChangeHistoryOptions().showDataChange?this.api.optionsApi.getDataChangeHistoryOptions().showDataChange(e):!0}getViewProperties(){return{getStatusBarPanelProps:()=>({triggerActionOnWrapperClick:!1,content:vMe})}}};d();d();var SMe=o=>({name:"Duration",values:[o.FlashDuration]});d();var Mu=w(require("react")),NA=require("react"),iP=w(re());d();var Bo=w(require("react")),bMe=require("react"),mh=w(re());var AMe=o=>Bo.createElement(Bo.Fragment,null,Bo.createElement(mh.Text,{fontSize:2},o.FlashDuration==="always"?Bo.createElement(Bo.Fragment,null,"Flashing is never removed"):Bo.createElement(Bo.Fragment,null,"Flashing is removed after ",Bo.createElement(yi,null,o.FlashDuration)," ","milliseconds"))),xMe=o=>{var u,p,c,m,f,g,C;let{data:e}=Ee();e=e!=null?e:o.flashingCell;let t=y=>{o.onChange(R(v({},e),{FlashDuration:y}))},r=(u=e.FlashDuration)!=null?u:500,n=Bo.useRef(typeof r=="number"?r:500),i=(0,bMe.useRef)(null),a=yl(r,r);Bo.useEffect(()=>{var y;a==="always"&&r!=a&&((y=i.current)==null||y.focus())},[r,a]);let s=y=>{t(y==="number"?n.current:"always")},l=(y,b)=>{var A;let S=(A=e.FlashTarget)!=null?A:[];typeof S=="string"&&(S=[S]),Array.isArray(S)&&(b?S=[...S,y]:S=S.filter(x=>y!=x)),o.onChange(R(v({},e),{FlashTarget:S}))};return Bo.createElement(mh.Flex,{height:"100%",flexDirection:"column","data-name":"plus-minus-column-settings"},Bo.createElement(K,{autoFocus:!1,padding:2},Bo.createElement(K.Tab,null,"Flashing Cell Settings"),Bo.createElement(K.Content,null,Bo.createElement(Ie,null,Bo.createElement(Z,{label:"Duration Type"},Bo.createElement(_e,{"data-name":"duration-type-always",mr:3,checked:r=="always",tabIndex:-1,onChange:()=>s("always")},"Always"),Bo.createElement(_e,{"data-name":"duration-type-number",checked:r!=="always",tabIndex:-1,onChange:()=>s("number")},"Limited (ms)")),Bo.createElement(Z,{label:""},r!=="always"&&Bo.createElement(mh.Flex,{flexDirection:"row",alignItems:"baseline"},Bo.createElement(mh.Text,{fontSize:2,mr:2},"After"),Bo.createElement(We,{"data-name":"duration-input",readOnly:o.readOnly,type:"text",name:"value",ref:i,mt:2,mr:1,value:r,onChange:y=>{let b=y.target.value;t(isNaN(Number(b))?500:Number(b))}}),Bo.createElement(mh.Text,{fontSize:2},"milliseconds")),r==="always"&&Bo.createElement(mh.Text,{height:43,fontSize:3},"Persists the flashing style indeterminately - can be removed manually")),Bo.createElement(Z,{label:"Flash Target"},Bo.createElement(ye,{"data-name":"flashing-target",onChange:y=>l("cell",y),mr:3,checked:(e==null?void 0:e.FlashTarget)==="cell"||((c=(p=e==null?void 0:e.FlashTarget)==null?void 0:p.includes)==null?void 0:c.call(p,"cell")),tabIndex:-1},"Cell"),Bo.createElement(ye,{"data-name":"flashing-target-row",mr:3,onChange:y=>l("row",y),checked:(e==null?void 0:e.FlashTarget)==="row"||((f=(m=e==null?void 0:e.FlashTarget)==null?void 0:m.includes)==null?void 0:f.call(m,"row")),tabIndex:-1},"Row"),Bo.createElement(ye,{"data-name":"flashing-target-aggFuncCell",onChange:y=>l("aggFuncCell",y),checked:(e==null?void 0:e.FlashTarget)==="aggFuncCell"||((C=(g=e==null?void 0:e.FlashTarget)==null?void 0:g.includes)==null?void 0:C.call(g,"aggFuncCell")),tabIndex:-1},"Aggregated Function Cell"))))))};d();var On=w(require("react"));var RMe=o=>{var r;let{api:{flashingCellApi:e}}=Ee(),t=(r=o.FlashTarget)!=null?r:e.getFlashingCellFlashTarget(o);return On.createElement(nA,{data:o,renderPredicate:n=>On.createElement(On.Fragment,null,"Flash ",On.createElement(yi,null,t)," - value condition"," ",On.createElement(yi,null,n)),renderQueryExpression:n=>On.createElement(On.Fragment,null,"Flash ",On.createElement(yi,null,t)," when"," ",On.createElement("b",null,On.createElement(yi,null,n)))})},wMe=o=>{let{data:e,api:t,moduleInfo:r}=Ee(),n=t.flashingCellApi.getFlashingCellPredicateDefsForScope(e.Scope);return On.createElement(Bf,{module:r.ModuleName,defaultPredicateId:"Any",data:e,predicateDefs:n,getPredicateDefsForColId:i=>t.flashingCellApi.getFlashingCellPredicateDefsForScope({ColumnIds:[i]}),onChange:o.onChange,showAggregation:!1,showObservable:!1,showBoolean:!0,showPredicate:!0,descriptions:{selectPredicate:"Select an Flashing Cell Rule - to be applied when data changes",useBooleanQuery:On.createElement(On.Fragment,null,"Use an BooleanQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"),useObservableQuery:On.createElement(On.Fragment,null,"Use an ObservableQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression"),useAggregationQuery:On.createElement(On.Fragment,null,"Use an AggregatedBooleanQuery if ",On.createElement("i",null,"Scope")," is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")}})};d();var ai=w(require("react")),_B=w(re());var m7=ai.createElement(_B.Text,{fontSize:2,style:{display:"inline-block"}},"Change style"),EMe=o=>{var r,n,i;let{data:e,api:t}=Ee();return e=e!=null?e:o.flashingAlert,ai.createElement(ai.Fragment,null,ai.createElement(K,{defaultValue:"up"},ai.createElement(K.Tab,{value:"up"},"Up ",m7),ai.createElement(K.Content,{value:"up"},ai.createElement(fu,{headless:!0,api:t,Style:(r=e.UpChangeStyle)!=null?r:{},UpdateStyle:a=>o.onStyleChange("UpChangeStyle",a)})),ai.createElement(K.Tab,{value:"down"},"Down ",m7),ai.createElement(K.Content,{value:"down"},ai.createElement(fu,{headless:!0,api:t,Style:(n=e.DownChangeStyle)!=null?n:{},UpdateStyle:a=>o.onStyleChange("DownChangeStyle",a)})),ai.createElement(K.Tab,{value:"neutral"},"Neutral ",m7),ai.createElement(K.Content,{value:"neutral"},ai.createElement(fu,{headless:!0,api:t,Style:(i=e.NeutralChangeStyle)!=null?i:{},UpdateStyle:a=>o.onStyleChange("NeutralChangeStyle",a)}))))},dxt=o=>{let r=o,{data:e}=r,t=ze(r,["data"]);return ai.createElement(_B.Box,v({},t),ai.createElement(Dl,{styleObject:o.data.UpChangeStyle},"Up change style ",o.data.UpChangeStyle?"":" - no style"),ai.createElement(Dl,{mt:2,styleObject:o.data.DownChangeStyle},"Down change style ",o.data.DownChangeStyle?"":" - no style"),ai.createElement(Dl,{mt:2,styleObject:o.data.NeutralChangeStyle},"Neutral change style ",o.data.NeutralChangeStyle?"":" - no style"))},TMe=o=>ai.createElement(dxt,{data:o});d();var f7=w(require("react")),PMe=w(re());var IMe=o=>{let{data:e,api:t}=Ee();return f7.createElement(PMe.Flex,{flexDirection:"column",style:{height:"100%"},padding:2},f7.createElement(xu,{descriptions:{rowScope:"Changes anywhere in the row will trigger an Flashing Cell",columnScope:"Changes in selected columns will trigger an Flashing Cell"},scope:e.Scope,updateScope:r=>{let n=R(v({},e),{Scope:r});n.Rule.Predicates&&(n.Rule={Predicates:[{PredicateId:"Any"}]}),o.onChange(n)}}))};d();var DMe=(o,e,t)=>{var n,i;if(!((i=(n=o.Rule)==null?void 0:n.Predicates)!=null&&i.length)&&!o.Rule.BooleanExpression)return"No Rule defined for Flashing Cell";let r=Gf(o,e,t);if(typeof r=="string")return r;if(t.namedQuery!=!1){let a=e.queryApi.isValidNamedQueryName(t.namedQuery);if(!a.valid)return a.message}return!0};var OMe=o=>{let{api:e}=ne(),[t,r]=(0,NA.useState)(()=>{var u,p;let l=o.data?Zt(o.data):Ke.CreateEmptyFlashingCellDefinition();return l=e.flashingCellApi.internalApi.mergeFlashingCellDefinitionWithDefaults(l),!l.Rule.BooleanExpression&&!((p=(u=l.Rule)==null?void 0:u.Predicates)!=null&&p.length)&&(l.Rule.BooleanExpression=""),l}),n=l=>u=>{r(p=>(p=R(v({},p),{[l]:u}),p))},i={DownChangeStyle:(0,NA.useCallback)(n("DownChangeStyle"),[]),UpChangeStyle:(0,NA.useCallback)(n("UpChangeStyle"),[]),NeutralChangeStyle:(0,NA.useCallback)(n("NeutralChangeStyle"),[])},a=at(),s=()=>{o.data?a(hg(t)):a(fg(t)),o.onFinishWizard(t)};return Mu.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:s,sections:[{details:"Specify which data changes should trigger Cell Flashing",isValid:Ip,render:()=>Mu.createElement(IMe,{onChange:r}),renderSummary:BV,title:"Scope"},{details:"Build the Rules for when Cells should Flash",isValid:DMe,render:()=>Mu.createElement(wMe,{onChange:r}),renderSummary:RMe,title:"Rule"},{details:"Select the Duration of the Flash",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(xMe,{onChange:r})),renderSummary:AMe,title:"Settings"},{details:"Choose the Flashing Styles",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(EMe,{onStyleChange:(l,u)=>{i[l](u)}})),renderSummary:TMe,title:"Flash Styles"},{details:"Select Flashing Cell Tags",title:"Tags",isVisible:(l,u)=>u.internalApi.shouldDisplayTagSections(),render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{details:"Review the Flashing Cell Rule",render:()=>Mu.createElement(iP.Box,{padding:2},Mu.createElement(Or,null)),title:"Summary"}]})};d();var FMe=o=>({name:"Target",values:Array.isArray(o.FlashTarget)?o.FlashTarget:[o.FlashTarget]});d();d();var aP=w(require("react")),_Me=w(re());var MMe=o=>{let r=o,{data:e}=r,t=ze(r,["data"]);return aP.default.createElement(_Me.Flex,v({flexDirection:"row"},t),aP.default.createElement(Dl,{"data-value":"up-style",mr:1,flex:1,styleObject:o.data.UpChangeStyle},"Up ",o.data.UpChangeStyle?"":" - no style"),aP.default.createElement(Dl,{"data-value":"down-style",mr:1,flex:1,styleObject:o.data.DownChangeStyle},"Down",o.data.DownChangeStyle?"":" - no style"),aP.default.createElement(Dl,{"data-value":"neutral-style",flex:1,styleObject:o.data.NeutralChangeStyle},"Neutral ",o.data.NeutralChangeStyle?"":" - no style"))};var NMe=()=>({name:"Flash Styles",label:"Change Style",view:MMe});var MB=class extends mt{constructor(e){super(lg,lz,"flashing-cell","FlashingAlert","Flash cells when they change",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{if(t.trigger!=="undo"){if(this.api.optionsApi.getAlertOptions().dataChangeDetectionPolicy==="formattedValue"){let{oldValue:r,newValue:n,rowNode:i}=t,a=t.column.columnId,s=this.api.gridApi.getDisplayValueFromRawValue(i,a,r),l=this.api.gridApi.getDisplayValueFromRawValue(i,a,n);if(s===l)return}this.handleCellDataChanged(t)}})}updateOldConfig(){this.updateFlashingCellSingleToMultiplePredicates()}updateFlashingCellSingleToMultiplePredicates(){this.api.flashingCellApi.getFlashingCellDefinitions().forEach(t=>{if(t.Rule&&"Predicate"in t.Rule){let r=Zt(t);PA(r.Rule),this.api.flashingCellApi.editFlashingCellDefinition(r)}})}getModuleAdaptableObjects(e){return this.api.flashingCellApi.getFlashingCellDefinitions(e)}getExplicitlyReferencedColumnIds(e){let t=this.api.queryLanguageApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryLanguageApi.getColumnsFromExpression(t):this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(r=>r.columnId):[]}getReferencedNamedQueryNames(e){let t=this.api.queryLanguageApi.getAdaptableQueryExpression(e.Rule);return t?this.api.queryApi.internalApi.getReferencedNamedQueryNames(t):[]}addColumnMenuItems(e){if(e&&this.isModuleEditable()&&!this.api.columnApi.isCalculatedColumn(e.columnId)){let r=this.api.flashingCellApi.getFlashingCellDefinitions().find(n=>this.api.scopeApi.isColumnInScope(e,n.Scope));return r?[this.createColumnMenuItemReduxAction("Remove Flashing Cell",this.moduleInfo.Glyph,sj(r))]:[this.createColumnMenuItemReduxAction("Add Flashing Cell",this.moduleInfo.Glyph,fg({Scope:{ColumnIds:[e.columnId]},Rule:{Predicates:[{PredicateId:"Any"}]}}))]}}addContextMenuItems(e){let t=[];if(!e.isRowGroupColumn&&this.isModuleAvailable()&&e.adaptableColumn&&e.rowNode){let r=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue),n=this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(e.primaryKeyValue,e.adaptableColumn.columnId);r?(r.flashTarget==="row"||Array.isArray(r==null?void 0:r.flashTarget)&&r.flashTarget.includes("row"))&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Row",this.moduleInfo.Glyph,yR(r))):n&&n.flashTarget==="cell"&&t.push(this.createColumnMenuItemReduxAction("Clear Flashing Cell",this.moduleInfo.Glyph,yR(n)))}return t}handleCellDataChanged(e){let t=this.getFlashingCellDefinitionsForDataChange(e);qe.IsNotNullOrEmpty(t)&&this.showFlashingCellsForDefinitions(e,t)}showFlashingCellsForDefinitions(e,t=[]){let r=this.api.columnApi.getColumns().map(p=>p.columnId),n=e.column.dataType,i=n==="Number",a=i||n==="Date",s=!1,l=!1,u="neutral";if(a){let p=i?Number(e.newValue):e.newValue,c=i?Number(e.oldValue):e.oldValue;s=p>c,l=p<c,u=s?"up":l?"down":"neutral"}t.forEach(p=>{var g;let c=this.api.flashingCellApi.getFlashingCellFlashTarget(p),m={[e.column.columnId]:!0};(c==="row"||((g=c==null?void 0:c.includes)==null?void 0:g.call(c,"row")))&&r.forEach(C=>{m[C]=!0});let f=e.primaryKeyValue;this.api.flashingCellApi.showFlashingCell({rowPrimaryKey:f,flashingCellDefinition:p,cellDataChangedInfo:e,direction:u,flashTarget:c,flashColumnIds:m})})}isFlashingTargetOnlyAggChange(e){return e.FlashTarget==="aggFuncCell"?!0:Array.isArray(e.FlashTarget)&&e.FlashTarget.length===1&&e.FlashTarget.includes("aggFuncCell")}getFlashingCellDefinitionsForDataChange(e){let t=this.api.flashingCellApi.getActiveFlashingCellDefinitions(),r=!1,n=t.filter(a=>this.api.scopeApi.isColumnInScope(e.column,a.Scope)).filter(a=>!zv(a.Rule)),i=[];return qe.IsNotNullOrEmpty(n)&&n.forEach(a=>{if(!(e.trigger!=="aggChange"&&this.isFlashingTargetOnlyAggChange(a)))if(a.Rule.BooleanExpression){let s=a.Rule.BooleanExpression,l=e.rowNode;l||(l=this.api.gridApi.getRowNodeForPrimaryKey(e.primaryKeyValue)),this.api.queryLanguageApi.isValidBooleanExpression(s,this.moduleInfo.ModuleName,`Invalid Alert boolean expression '${s}'`)&&this.api.internalApi.getQueryLanguageService().evaluateBooleanExpression(s,this.moduleInfo.ModuleName,l)&&i.push(a)}else this.isAlertPredicateTriggered(a,e,r)&&i.push(a)}),i}isAlertPredicateTriggered(e,t,r=!1){var n;return this.api.predicateApi.handleColumnPredicates((n=e.Rule)==null?void 0:n.Predicates,{value:t.newValue,oldValue:t.oldValue,displayValue:null,node:t.rowNode,column:t.column},r)}getTeamSharingAction(){return{ModuleEntities:this.api.flashingCellApi.getFlashingCellDefinitions(),AddAction:fg,EditAction:hg}}toView(e){return{items:[R(v({},Ru(e.Scope,this.api)),{label:"Trigger"}),R(v({},sh(e.Rule,this.api)),{label:"Rule",name:"Rule"}),SMe(e),FMe(e),NMe(),ar(e,this.api)],abObject:e}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:hg,getSuspendAction:QO,getUnSuspendAction:YO,getSuspendAllAction:Zue,getUnSuspendAllAction:Jue,getDeleteAction:sj,getEditWizard:()=>OMe}}canBeAssociatedWithLayouts(){return!0}};d();var NB=class extends mt{constructor(e){let t=e.optionsApi.getSettingsPanelOptions().title;super(ug,t,"settings",null,"Manage all Adaptable Settings",e)}addColumnMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())]}addContextMenuItems(e){return[this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())]}addModuleMenuItem(e){if(this.isModuleAvailable())return this.createColumnMenuItemReduxAction("Open "+this.moduleInfo.FriendlyName,this.moduleInfo.Glyph,Qo())}};d();d();var sP=w(require("react"));var LMe=o=>{var l,u;let t=(l=ne().adaptableOptions)==null?void 0:l.chartingOptions,r=t==null?void 0:t.chartContainers,{isOpen:n,showChart:i,closeChart:a}=yV(o.data);if(n)return sP.createElement(X,{"data-name":"close-chart-button",onClick:a,variant:"text",tone:"error",icon:"visibility-off",tooltip:"Hide Chart"});if(!(r!=null&&r.length))return sP.createElement(X,{"data-name":"show-chart-button",onClick:()=>i(),variant:"text",tone:"success",icon:"visibility",tooltip:"Show Chart"});let s=[{label:(u=t.agGridContainerName)!=null?u:xv,onClick:()=>{i(null)}},...r?r==null?void 0:r.map(p=>({label:p.name,onClick:()=>i(p)})):[]];return sP.createElement(Fe,{"data-name":"show-chart-dropdown",variant:"text",columns:["label"],items:s},sP.createElement(X,{variant:"raised",tone:"success"},"Open"))};d();var Nu=w(require("react")),LB=w(re());d();var $c=w(require("react"));var kMe=w(fv());var VMe=o=>{let e=Dt(a=>$D(a.System)),[t,r]=$c.useState(null),n=ne(),i=$c.useRef(null);return $c.useEffect(()=>{if(!i.current)return;let a=n.api.chartingApi.showChartDefinition(o.chartDefinition,i.current);return r(a.chartId),a.chart,()=>{a.destroyChart()}},[i]),$c.useEffect(()=>{let a=e.find(s=>s.chartId==t);a&&!(0,kMe.default)(a,o.chartDefinition.Model)&&o.onChange(R(v({},o.chartDefinition),{Model:a}))},[e]),$c.createElement("div",{ref:i})};d();var Cs=w(require("react"));var BMe=(o,e)=>o.Name?e.chartingApi.getChartDefinitions().some(r=>r.Uuid!==o.Uuid&&r.Name===o.Name)?"There is already a chart with this name":!0:"Name is mandatory",GMe=o=>{let e=Cs.useCallback(l=>{o.onChange(R(v({},o.chartDefinition),{Name:l.target.value,Model:o.chartDefinition.Model}))},[o.chartDefinition]),t=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{unlinkChart:!o.chartDefinition.Model.unlinkChart})}))},[o.chartDefinition]),r=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{suppressChartRanges:!o.chartDefinition.Model.suppressChartRanges})}))},[o.chartDefinition]),i=["sum","min","max","count","avg","first","last"].map(l=>({label:l,onClick:()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{aggFunc:l})}))}})),a=o.chartDefinition.Model.aggFunc,s=Cs.useCallback(()=>{o.onChange(R(v({},o.chartDefinition),{Model:R(v({},o.chartDefinition.Model),{aggFunc:""})}))},[o.chartDefinition]);return Cs.createElement(Ie,null,Cs.createElement(Z,{label:"Name"},Cs.createElement(Vt,{onChange:e,value:o.chartDefinition.Name})),Cs.createElement(Z,{label:"Unlink Chart"},Cs.createElement(ye,{onClick:t,checked:o.chartDefinition.Model.unlinkChart})),Cs.createElement(Z,{label:"Suppress Chart Ranges"},Cs.createElement(ye,{onClick:r,checked:o.chartDefinition.Model.suppressChartRanges})),o.chartDefinition.Model.modelType==="range"&&typeof a!="function"&&Cs.createElement(Z,{label:"Agg Func"},Cs.createElement(Fe,{columns:["label"],items:i,onClear:s},a||"Select ")))};var HMe=o=>{let e=ne(),[t,r]=Nu.useState(()=>{var i,a;return(a=o.data)!=null?a:(i=o.popupParams)==null?void 0:i.value}),n=Nu.useCallback(()=>{e.api.chartingApi.editChartDefinition(t),o.onFinishWizard(t)},[t]);return Nu.createElement(dr,{defaultCurrentSectionName:o.defaultCurrentSectionName,moduleInfo:o.moduleInfo,data:t,onHide:o.onCloseWizard,onFinish:n,sections:[{title:"Settings",details:"Chart Settings",isValid:BMe,render:()=>Nu.createElement(LB.Box,{padding:2},Nu.createElement(GMe,{chartDefinition:t,onChange:r}))},{details:"Select Chart Tags",title:"Tags",isVisible:()=>e.api.internalApi.shouldDisplayTagSections(),render:()=>Nu.createElement(LB.Box,{padding:2},Nu.createElement(Fr,{onChange:r})),renderSummary:_r},"-",{title:"Preview Chart",details:"Chart Preview",render:()=>Nu.createElement(LB.Box,{p:2},Nu.createElement(VMe,{chartDefinition:t,onChange:r}))}]})};d();var lP=w(require("react"));var LA=w(re()),UMe=o=>{let t=ne().api.internalApi.getEntitlementService().getEntitlementAccessLevelForModule(ll),{chartSelector:r,containerSelector:n,chartButton:i,deleteButton:a,editButton:s}=vV({elementType:"Statusbar",accessLevel:t,size:"small"});return lP.createElement(LA.Flex,{width:"100%",alignItems:"center"},lP.createElement(LA.Box,null,r),n&&lP.createElement(LA.Box,{ml:1},n),lP.createElement(LA.Box,{ml:1},i,a,s))};var kB=class extends mt{constructor(e){super(ll,cz,"chart","ChartPopup","Create AG Grid Charts in order to see Adaptable Data visually",e)}updateOldConfig(){let t=this.getModuleAdaptableObjects().filter(r=>"model"in r||!("Name"in r)).map(r=>{let n=v({},r);return"model"in n&&(n.Model=r.model,delete n.model),"Name"in n||(n.Name=n.Model.chartId),n});t.length>0&&t.forEach(r=>this.api.chartingApi.editChartDefinition(r))}isModuleAvailable(){return this.api.chartingApi.isChartingEnabled()&&super.isModuleAvailable()}getModuleAdaptableObjects(){return this.api.chartingApi.getChartDefinitions()}toViewAll(){return this.getModuleAdaptableObjects().map(e=>this.toView(e))}toView(e){var t;return{items:[{name:"Name",values:[e.Name]},{name:"About",values:[`Chart Type: ${e.Model.chartType}`,e.Model.aggFunc&&`Aggregation Function: ${e.Model.aggFunc}`].filter(Boolean)},{name:"Settings",values:[`Unlink from data: ${e.Model.unlinkChart?"Yes":"No"}`,`Suppress Chart Ranges: ${e.Model.suppressChartRanges?"Yes":"No"}`]},{name:"Range",values:[`Row start index: ${e.Model.cellRange.rowStartIndex}`,`Row end index: ${e.Model.cellRange.rowEndIndex}`,e.Model.cellRange.columnStart&&`Column start: ${typeof e.Model.cellRange.columnStart=="string"?e.Model.cellRange.columnStart:e.Model.cellRange.columnStart.getColId()}`,e.Model.cellRange.columnEnd&&`Column start: ${typeof e.Model.cellRange.columnEnd=="string"?e.Model.cellRange.columnEnd:e.Model.cellRange.columnEnd.getColId()}`,((t=e.Model.cellRange.columns)==null?void 0:t.length)&&`Columns ${e.Model.cellRange.columns.map(r=>typeof r=="string"?r:r.getColId()).join(", ")}`].filter(Boolean)},ar(e,this.api)].filter(Boolean),abObject:e}}getViewProperties(){return{actions:[LMe],getEditWizard:()=>HMe,hideNewButton:!0,getDeleteAction:e=>SM(e.Name),emptyView:'To create a chart select a few cells and right click. Then select "Chart Range" from the context menu.',getStatusBarPanelProps:()=>({content:UMe,triggerActionOnWrapperClick:!1})}}};d();var WMe=w(gv());var zMe=(o,e,t)=>{if(!!o.PercentBarStyle)return class{init(n){if(!o.IncludeGroupedRows&&t.gridApi.isGroupRowNode(n.node))return;let i=t.styledColumnApi.internalApi.getNumericStyleMinValue(o,e,n.node,n.value),a=t.styledColumnApi.internalApi.getNumericStyleMaxValue(o,e,n.node,n.value),s=n.value;tr.objectNotExists(s)&&(s=0);let u=((0,WMe.default)(s,i,a)-i)/(a-i)*100,p,c=o.PercentBarStyle;if(c.ColumnComparison)p=c.ColumnComparison.Color;else{let m=t.styledColumnApi.internalApi.findRangeForColumn(c.CellRanges,e,c.RangeValueType,n.value);m&&(p=m.Color)}if(p){this.eGui=document.createElement("div"),this.eGui.className="ab-PercentBar__wrapper",this.eGui.style.height=c.CellText?"80%":"100%",this.eGui.style.display="flex",this.eGui.style.flexDirection="column",this.eGui.style.justifyContent="center";let m=document.createElement("div");m.className="ab-PercentBar__bar",m.style.background=c.BackColor,m.style.flex="1";let f=document.createElement("div");if(f.className="ab-PercentBar__barInside",f.style.background=p,f.style.height="100%",f.style.width=`${u.toFixed(0)}%`,m.append(f),this.eGui.append(m),c.CellText){let g=document.createElement("div");if(g.className="ab-PercentBar__text",g.style.lineHeight="1.2",c.CellText.includes("CellValue")){let C=t.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(e),y=t.formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(C,e,{node:n.node,value:s});if(y&&t.scopeApi.isColumnInNumericScope(e,y.Scope)){let b=y.DisplayFormat.Options;s=t.formatColumnApi.internalApi.getNumberFormattedValue(n.value,n.node,e,b)}else s=nz(s,{FractionDigits:2});g.innerText=s}c.CellText.includes("PercentageValue")&&(g.innerText+=` (${u.toFixed(0)}%)`),this.eGui.append(g)}}}getGui(){return this.eGui}refresh(n){return!1}}};d();var VB=class extends mt{constructor(e){super(mc,Bz,"statusbar","StatusBarPopup","Configure AdapTable Status Bar",e)}syncStateWithOptions(e){let t=this.api.statusBarApi.getAdaptableStatusBars(),r=e.map(n=>{let i=t.find(a=>a.Key===n.key);return i||(i={Key:n.key,StatusBarPanels:[]}),i});this.api.statusBarApi.setStatusBarPanels(r)}isModuleAvailable(){return super.isModuleAvailable()&&this.api.statusBarApi.getAgGridStatusPanels().length>0}};d();d();var qa=w(require("react")),lNe=require("react"),hh=w(re());d();var Fd=w(require("react")),BB=w(re());var jMe=o=>{let e=null;return o.GradientStyle?e="Gradient Column":o.PercentBarStyle?e="Percent Bar":o.CheckBoxStyle?e="Check Box":o.SparkLineStyle&&(e="Spark Line"),Fd.createElement(BB.Text,{pr:2,py:2},"Type ",Fd.createElement(Ge,null,e))},KMe=o=>{let{data:e}=Ee(),t=ne(),r=n=>{let i=v({},e);switch(delete i.GradientStyle,delete i.PercentBarStyle,delete i.CheckBoxStyle,delete i.SparkLineStyle,n){case"gradient":i.GradientStyle={};break;case"percent":i.PercentBarStyle={};break;case"checkbox":i.CheckBoxStyle=!0;break;case"sparkline":i.SparkLineStyle={options:{type:"line"}};break}i.ColumnId=null,o.onChange(i)};return Fd.createElement(BB.Flex,{height:"100%",flexDirection:"column","data-name":"styled-column-type"},Fd.createElement(K,{autoFocus:!1,padding:2},Fd.createElement(K.Tab,null,"Type"),Fd.createElement(K.Content,null,Fd.createElement(Mp,{text:"Gradient Column",description:"Colour each cell in a numeric column using a gradient value",checked:Boolean(e.GradientStyle),onClick:()=>r("gradient")}),Fd.createElement(Mp,{text:"Percent Bar",description:"Display a coloured bar where the width is based on the cell",checked:Boolean(e.PercentBarStyle),onClick:()=>r("percent")}),Fd.createElement(Mp,{text:"Check Box",description:"Display a checkbox (in a Boolean column)",checked:Boolean(e.CheckBoxStyle),onClick:()=>r("checkbox")}),t.api.styledColumnApi.canDisplaySparklines()&&Fd.createElement(Mp,{text:"Sparkline",description:"Render the column as a Sparkline",checked:Boolean(e.SparkLineStyle),onClick:()=>r("sparkline")}))))};d();var Xc=w(require("react")),QMe=w(re());var YMe=o=>{let{api:e}=Ee();return Xc.createElement(QMe.Text,{pr:2,py:2},"Styled Column column:"," ",Xc.createElement(Ge,null,o.ColumnId?e.columnApi.getFriendlyNameForColumnId(o.ColumnId):"No Column Selected"))},qMe=o=>o.ColumnId?!0:"You have to select a Column for Styled Column",$Me=o=>{let{data:e,api:t}=Ee(),r=Xc.useMemo(()=>{let i=e.CheckBoxStyle?t.columnApi.getBooleanColumns():e.SparkLineStyle?[...t.columnApi.getNumberArrayColumns(),...t.columnApi.getTupleNumberArrayColumns(),...t.columnApi.getObjectNumberArrayColumns()]:t.columnApi.getNumericColumns(),s=t.styledColumnApi.getStyledColumns().map(l=>l.Uuid===e.Uuid?null:l.ColumnId).filter(Boolean);return i.filter(l=>s.every(u=>l.columnId!==u))},[e]),n=i=>{let a=i[0],s=t.scopeApi.createCellColorRangesForScope({ColumnIds:[a]}),l=R(v({},e),{ColumnId:a});l.PercentBarStyle&&(l.PercentBarStyle=R(v({},l.PercentBarStyle),{CellRanges:s})),l.GradientStyle&&(l.GradientStyle=R(v({},l.GradientStyle),{CellRanges:s})),o.onChange(l)};return Xc.createElement(K,{style:{height:"100%"}},Xc.createElement(K.Tab,null,"Column"),Xc.createElement(K.Content,null,Xc.createElement(OC,{availableColumns:r,selected:e.ColumnId?[e.ColumnId]:[],singleSelect:!0,onChange:n,allowReorder:!1})))};d();d();var uo=w(require("react")),fh=w(re());d();var Kt=w(require("react")),_d=w(re());var h7=w(gv());var uP=class extends Kt.Component{constructor(e){super(e),this.state={rangesType:this.props.columnComparison?"ColumnComparison":"Standard"}}render(){var s,l;let e=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&!isNaN(Number(this.props.columnComparison.MinValue))?Number(this.props.columnComparison.MinValue):"",t=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&!isNaN(Number(this.props.columnComparison.MaxValue))?Number(this.props.columnComparison.MaxValue):"",r=this.props.columnComparison!=null&&this.props.columnComparison.MinValue!=null&&isNaN(Number(this.props.columnComparison.MinValue))?String(this.props.columnComparison.MinValue):void 0,n=this.props.columnComparison!=null&&this.props.columnComparison.MaxValue!=null&&isNaN(Number(this.props.columnComparison.MaxValue))?String(this.props.columnComparison.MaxValue):void 0,i=this.props.columnComparison!=null&&this.props.columnComparison.Color!=null?this.props.columnComparison.Color:void 0,a=((s=this.props.rangeValueType)!=null?s:"Number")==="Number";return Kt.createElement(Kt.Fragment,null,Kt.createElement(_d.Flex,{flexDirection:"row"},Kt.createElement(ye,{marginTop:3,checked:this.state.rangesType=="ColumnComparison",onChange:u=>this.onRangesTypeChanged(u)},"Use a Column Comparison")),this.state.rangesType=="Standard"&&Kt.createElement(K,{autoFocus:!1,marginTop:2},Kt.createElement(K.Tab,null,"Ranges"),Kt.createElement(K.Content,null,Kt.createElement(_d.Flex,{alignItems:"center",mb:2},Kt.createElement(_d.Text,{mr:3},"Range Type"),Kt.createElement(_e,{onChange:()=>this.handleRangeValueTypeChange("Number"),checked:a,mr:2},"Number"),Kt.createElement(_e,{onChange:()=>this.handleRangeValueTypeChange("Percentage"),checked:!a},"Percentage")),(l=this.props.ranges)==null?void 0:l.map((u,p,c)=>Kt.createElement(_d.Flex,{key:p,alignItems:"end",mb:2,"data-name":"percent-bar-range"},Kt.createElement(_d.Flex,{flexDirection:"column"},a&&p===0&&Kt.createElement(ye,{onClick:()=>this.setRangeColMin(u),checked:u.Min==="Col-Min",mt:0,mb:1,fontSize:3,disabled:this.props.disabled},"Col Min"),Kt.createElement(We,{type:typeof u.Min=="number"?"number":"text",disabled:this.props.disabled||u.Min==="Col-Min"||p===0&&!a,value:u.Min,onChange:m=>{let{value:f}=m.target;this.changeRangeMin(p,f)},mr:2})),Kt.createElement(_d.Flex,{flexDirection:"column"},a&&p===c.length-1&&Kt.createElement(ye,{mt:0,mb:1,onClick:()=>this.setRangeColMax(u),checked:u.Max==="Col-Max",fontSize:3,disabled:this.props.disabled},"Col Max"),Kt.createElement(We,{value:u.Max,type:typeof u.Max=="number"?"number":"text",disabled:this.props.disabled||u.Max==="Col-Max"||p===c.length-1&&!a,onChange:m=>{let{value:f}=m.target;this.changeRangeMax(p,f)},mr:2})),Kt.createElement(_d.Flex,{alignItems:"center",height:"100%"},Kt.createElement(Pn,{api:this.props.api,value:u.Color,onChange:m=>{this.changeRangeColor(p,m)},mr:2,height:33})),this.props.showRangeDirection&&Kt.createElement(ye,{disabled:this.props.disabled,checked:u.ReverseGradient&&u.ReverseGradient==!0,onChange:m=>this.changeRangeDirectionUp(p,m),ml:2},"Reverse Gradient"),Kt.createElement(X,{ml:2,mb:1,icon:"delete",disabled:this.props.disabled||this.props.ranges&&this.props.ranges.length==1,onClick:()=>this.removeRange(p)}))),Kt.createElement("div",null,Kt.createElement(X,{disabled:this.props.disabled,variant:"raised","data-name":"add",onClick:()=>this.addRange()},"Add New Range")))),this.state.rangesType=="ColumnComparison"&&Kt.createElement(K,{autoFocus:!1,marginTop:2},Kt.createElement(K.Tab,null,"Column Comparison"),Kt.createElement(K.Content,null,Kt.createElement(_d.Flex,{flexDirection:"column",key:"cc","data-name":"percent-bar-column-comparison"},Kt.createElement(_d.Text,{padding:2,fontSize:2},"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a"," ",this.props.api.internalApi.getCorrectEnglishVariant("Colour")," for the Bar."),Kt.createElement(Ie,{columns:["label","first","or","second"],sizes:["auto","auto","auto","1fr"]},Kt.createElement(Z,{label:"Min Value:",first:Kt.createElement(We,{disabled:this.props.disabled,type:"number",value:e,onChange:u=>{this.changeColumnComparisonMinValue(u)}}),or:"OR",second:Kt.createElement(BC,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[r],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMinColumnSelectedChanged(u),SelectionMode:"Single"})})," ",Kt.createElement(Z,{label:"Max Value:",first:Kt.createElement(We,{disabled:this.props.disabled,type:"number",value:t,onChange:u=>{this.changeColumnComparisonMaxValue(u)}}),or:"OR",second:Kt.createElement(BC,{disabled:this.props.disabled,style:{maxWidth:"15rem"},SelectedColumnIds:[n],ColumnList:this.props.api.columnApi.getNumericColumns(),onColumnChange:u=>this.onMaxColumnSelectedChanged(u),SelectionMode:"Single"})}),Kt.createElement(Z,{label:`Bar ${this.props.api.internalApi.getCorrectEnglishVariant("Colour")}`,first:Kt.createElement(Pn,{disabled:this.props.disabled,api:this.props.api,value:i,onChange:u=>{this.changeColumnComparisonColor(u)}})}))))))}onRangesTypeChanged(e){if(e){let t={Color:$t(vv),MinValue:void 0,MaxValue:void 0};this.setState({rangesType:"ColumnComparison"}),this.props.updateColumnComparison(t)}else{let t=this.props.api.scopeApi.createCellColorRangesForScope(this.props.scope);this.setState({rangesType:"Standard"}),this.props.updateRanges(t)}}handleRangeValueTypeChange(e){this.props.onRangeValueTypeChange(e)}changeRangeMin(e,t){let{ranges:r}=this.props,n=Number(t);this.props.rangeValueType==="Percentage"&&(n=(0,h7.default)(n,0,100)),r[e].Min=n,r[e-1]&&(r[e-1].Max=n),this.props.updateRanges(r)}changeRangeMax(e,t){let{ranges:r}=this.props,n=Number(t);this.props.rangeValueType==="Percentage"&&(n=(0,h7.default)(n,0,100)),r[e].Max=n,r[e+1]&&(r[e+1].Min=n),this.props.updateRanges(r)}changeRangeColor(e,t){let{ranges:r}=this.props;r[e].Color=t,this.props.updateRanges(r)}changeRangeDirectionUp(e,t){let{ranges:r}=this.props;r[e].ReverseGradient=t,this.props.updateRanges(r)}removeRange(e){let t=[...this.props.ranges];t.splice(e,1),this.props.rangeValueType==="Percentage"&&t.length===1&&(t[0]=R(v({},t[0]),{Max:100})),this.props.updateRanges(t)}setRangeColMin(e){let t=this.props.ranges.map(r=>{if(r===e){let n=r.Min==="Col-Min"?this.props.minMaxRangeValues.min:"Col-Min";return R(v({},r),{Min:n})}return r});this.props.updateRanges(t)}setRangeColMax(e){let t=this.props.ranges.map(r=>{if(r===e){let n=r.Max==="Col-Max"?this.props.minMaxRangeValues.max:"Col-Max";return R(v({},r),{Max:n})}return r});this.props.updateRanges(t)}addRange(){let e=this.props.ranges[this.props.ranges.length-1],t=e,r=null;e.Max==="Col-Max"?(r=this.props.minMaxRangeValues.max,t=R(v({},t),{Max:this.props.minMaxRangeValues.max})):r=e.Max;let n={Min:r,Max:e.Max,Color:$t(Qu)},i=[...this.props.ranges.slice(0,-1),t,n];this.props.updateRanges(i)}changeColumnComparisonMinValue(e){let t=e.target,{columnComparison:r}=this.props;r.MinValue=je.IsNotNullOrEmpty(t.value)?Number(t.value):void 0,this.props.updateColumnComparison(r)}onMinColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MinValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonMaxValue(e){let t=e.target,{columnComparison:r}=this.props;r.MaxValue=je.IsNotNullOrEmpty(t.value)?Number(t.value):void 0,this.props.updateColumnComparison(r)}onMaxColumnSelectedChanged(e){let{columnComparison:t}=this.props;t.MaxValue=e.length>0?e[0].columnId:void 0,this.props.updateColumnComparison(t)}changeColumnComparisonColor(e){let{columnComparison:t}=this.props;t.Color=e,this.props.updateColumnComparison(t)}};d();var HB=w(require("react")),UB=w(re());d();var dP=w(require("react")),kA=w(re()),XMe=o=>{let e="";return o&&o.includes("CellValue")&&(e+="20"),o&&o.includes("PercentageValue")&&(e+=" (50%)"),e.trim()},GB=o=>{let e=XMe(o.cellText),t=XMe(o.toolTipText);return dP.createElement(kA.Box,{title:t,flex:1},dP.createElement(kA.Flex,{height:e?8:18,backgroundColor:o.backgroundColor,flex:1},dP.createElement(kA.Box,{flexBasis:"50%",style:{background:o.barBackgroundColor}})),e&&dP.createElement(kA.Box,{fontSize:3},e))};var ZMe=o=>{let{api:e}=ne(),t=o.percentBarStyle.ColumnComparison;return HB.createElement(UB.Flex,{alignItems:"center",mr:3},HB.createElement(UB.Box,{flexBasis:120,mr:3},isNaN(Number(t.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MinValue))+"]":t.MinValue," ","to"," ",isNaN(Number(t.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(t.MaxValue))+"]":t.MaxValue," "),HB.createElement(GB,{backgroundColor:t.Color,barBackgroundColor:o.percentBarStyle.BackColor,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))};d();var hy=w(require("react")),g7=w(re());var JMe=o=>{let e="";return o.percentBarStyle.RangeValueType==="Percentage"&&(e="%"),hy.createElement(hy.Fragment,null,o.percentBarStyle.CellRanges.map((t,r)=>hy.createElement(g7.Flex,{key:r,alignItems:"stretch",mr:3,mb:2},hy.createElement(g7.Flex,{flexBasis:120,alignItems:"center",mr:3},t.Min,e," to ",t.Max,e," "),hy.createElement(GB,{backgroundColor:o.percentBarStyle.BackColor,barBackgroundColor:t.Color,cellText:o.percentBarStyle.CellText,toolTipText:o.percentBarStyle.ToolTipText}))))};var pxt=(o,e)=>{let t="";return e==="Percentage"&&(t="%"),o.map((r,n)=>uo.createElement(fh.Flex,{key:n,alignItems:"center",mr:3},uo.createElement(fh.Box,{mr:1},r.Min,t," to ",r.Max,t," "),uo.createElement(NC,{Style:{BackColor:r.Color,ForeColor:r.Color}})))},cxt=(o,e)=>uo.createElement(fh.Flex,{key:"cc",alignItems:"center",mr:3},uo.createElement(fh.Box,{mr:1},"Min Value:"," ",isNaN(Number(o.MinValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MinValue))+"]":o.MinValue," ",", Max Value:"," ",isNaN(Number(o.MaxValue))?"["+e.columnApi.getFriendlyNameForColumnId(String(o.MaxValue))+"]":o.MaxValue," "),uo.createElement(NC,{Style:{BackColor:o.Color,ForeColor:o.Color}})),WB=(o,e)=>{if(o.CheckBoxStyle)return uo.createElement(Ge,null,"Checkbox Style");if(o.GradientStyle){if(o.GradientStyle.CellRanges)return pxt(o.GradientStyle.CellRanges,o.GradientStyle.RangeValueType);if(o.GradientStyle.ColumnComparison)return cxt(o.GradientStyle.ColumnComparison,e)}if(o.PercentBarStyle){if(o.PercentBarStyle.ColumnComparison)return uo.createElement(ZMe,{percentBarStyle:o.PercentBarStyle});if(o.PercentBarStyle.CellRanges)return uo.createElement(JMe,{percentBarStyle:o.PercentBarStyle})}return uo.createElement(Ge,null,"No Styling Defined")},eNe=o=>{var b,S,A,x,E,T,I,D,P,O,M,B,_,L,U,V,j;let{data:e,api:t}=Ee(),r=uo.useMemo(()=>{let z=e.ColumnId;if(!z)return null;let W=t.columnApi.getColumnWithColumnId(z);return{min:t.styledColumnApi.internalApi.getMinValueForNumericColumn(W),max:t.styledColumnApi.internalApi.getMaxValueForNumericColumn(W)}},[e]),n={ColumnIds:[e.ColumnId]},i=z=>{let W=R(v({},e.GradientStyle),{CellRanges:z});o.onChange(R(v({},e),{GradientStyle:W}))},a=z=>{let W={ColumnComparison:z};o.onChange(R(v({},e),{GradientStyle:W}))},s=z=>{let W=R(v({},e.PercentBarStyle),{ColumnComparison:z});o.onChange(R(v({},e),{PercentBarStyle:W}))},l=z=>{let W=R(v({},e.PercentBarStyle),{CellRanges:z});o.onChange(R(v({},e),{PercentBarStyle:W}))},u=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.CellText?W.CellText.push("CellValue"):W.CellText=["CellValue"]:W.CellText&&W.CellText.includes("PercentageValue")?W.CellText=["PercentageValue"]:W.CellText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},p=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.CellText?W.CellText.push("PercentageValue"):W.CellText=["PercentageValue"]:W.CellText&&W.CellText.includes("CellValue")?W.CellText=["CellValue"]:W.CellText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},c=z=>{let W=e==null?void 0:e.PercentBarStyle;z?W.ToolTipText?W.ToolTipText.push("CellValue"):W.ToolTipText=["CellValue"]:W.ToolTipText&&W.ToolTipText.includes("PercentageValue")?W.ToolTipText=["PercentageValue"]:W.ToolTipText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},m=z=>{let W=e.PercentBarStyle;z?W.ToolTipText?W.ToolTipText.push("PercentageValue"):W.ToolTipText=["PercentageValue"]:W.ToolTipText&&W.ToolTipText.includes("CellValue")?W.ToolTipText=["CellValue"]:W.ToolTipText=[],o.onChange(R(v({},e),{PercentBarStyle:W}))},f=z=>{let W=e==null?void 0:e.PercentBarStyle;W.BackColor=z?$t(Qu):null,o.onChange(R(v({},e),{PercentBarStyle:W}))},g=z=>{let W=e.PercentBarStyle;W.BackColor=z,o.onChange(R(v({},e),{PercentBarStyle:W}))},C=uo.useCallback(z=>{let W=z==="Number"?t.scopeApi.createCellColorRangesForScope(n):[{Min:0,Max:100,Color:$t(Qu)}],ue=e,pe={CellRanges:W,RangeValueType:z};"GradientStyle"in ue?ue=R(v({},ue),{GradientStyle:v(v({},ue.GradientStyle),pe)}):ue=R(v({},ue),{PercentBarStyle:v(v({},ue.PercentBarStyle),pe)}),o.onChange(ue)},[e]),y=!e.ColumnId;return uo.createElement(fh.Box,null,e.CheckBoxStyle&&uo.createElement(K,null,uo.createElement(K.Tab,null,"Check Box Column"),uo.createElement(K.Content,null,uo.createElement(ye,{marginLeft:2,readOnly:!0,checked:!0},"Display Column As CheckBox"))),(e==null?void 0:e.GradientStyle)&&uo.createElement(uP,{disabled:!e.ColumnId,minMaxRangeValues:r,api:t,scope:n,showRangeDirection:!0,ranges:(b=e.GradientStyle)==null?void 0:b.CellRanges,rangeValueType:(S=e.GradientStyle)==null?void 0:S.RangeValueType,onRangeValueTypeChange:C,columnComparison:(A=e==null?void 0:e.GradientStyle)==null?void 0:A.ColumnComparison,updateRanges:z=>i(z),updateColumnComparison:z=>a(z)}),e.PercentBarStyle&&uo.createElement(uo.Fragment,null,uo.createElement(uP,{disabled:y,minMaxRangeValues:r,api:t,scope:n,showRangeDirection:!1,ranges:(x=e.PercentBarStyle)==null?void 0:x.CellRanges,rangeValueType:(E=e.PercentBarStyle)==null?void 0:E.RangeValueType,onRangeValueTypeChange:C,columnComparison:(T=e==null?void 0:e.PercentBarStyle)==null?void 0:T.ColumnComparison,updateRanges:z=>l(z),updateColumnComparison:z=>s(z)}),uo.createElement(Ie,{marginLeft:2,marginTop:2},uo.createElement(Z,{label:"Cell Display:"},uo.createElement(ye,{disabled:y,marginLeft:2,checked:(D=(I=e.PercentBarStyle)==null?void 0:I.CellText)==null?void 0:D.includes("CellValue"),onChange:z=>u(z)},"Cell Value")," ",uo.createElement(ye,{disabled:y,marginLeft:3,checked:(O=(P=e==null?void 0:e.PercentBarStyle)==null?void 0:P.CellText)==null?void 0:O.includes("PercentageValue"),onChange:z=>p(z)},"Percent Value"," ")," "),uo.createElement(Z,{label:"ToolTip Display:"},uo.createElement(ye,{disabled:y,marginLeft:2,checked:(B=(M=e==null?void 0:e.PercentBarStyle)==null?void 0:M.ToolTipText)==null?void 0:B.includes("CellValue"),onChange:z=>c(z)},"Cell Value")," ",uo.createElement(ye,{disabled:y,marginLeft:3,checked:(L=(_=e==null?void 0:e.PercentBarStyle)==null?void 0:_.ToolTipText)==null?void 0:L.includes("PercentageValue"),onChange:z=>m(z)},"Percent Value"," ")," "),uo.createElement(Z,{label:`Back ${t.internalApi.getCorrectEnglishVariant("Colour")}`},uo.createElement(fh.Flex,{alignItems:"center",marginLeft:2},uo.createElement(ye,{disabled:y,checked:!!((U=e.PercentBarStyle)!=null&&U.BackColor),onChange:z=>f(z),mr:2}),((V=e.PercentBarStyle)==null?void 0:V.BackColor)!==void 0&&uo.createElement(Pn,{disabled:y,api:t,value:(j=e.PercentBarStyle)==null?void 0:j.BackColor,onChange:z=>g(z)}))))),!e.ColumnId&&uo.createElement(is,{mt:2},"You need to select a column before styling."))};d();var Lu=w(require("react")),gy=w(re());var tNe=o=>Lu.createElement(gy.Box,{padding:2},Lu.createElement(gy.Text,{mt:3},"Include grouped rows ",Lu.createElement(Ge,null,o.IncludeGroupedRows?"yes":"no"))),oNe=o=>{let{data:e,api:t}=Ee(),r=n=>{o.onChange(R(v({},e),{IncludeGroupedRows:n}))};return Lu.createElement(K,null,Lu.createElement(K.Tab,null,"Format"),Lu.createElement(K.Content,null,Lu.createElement(gy.Flex,{flexDirection:"row"},Lu.createElement(Ie,null,Lu.createElement(Z,{label:"Include Grouped Rows:"},Lu.createElement(gy.Flex,{alignItems:"center",marginLeft:2},Lu.createElement(ye,{"data-name":"include-grouped-rows-checkbox",checked:e.IncludeGroupedRows,onChange:r,mr:2})))))))};d();var ve=w(require("react")),Cy=w(re());d();function C7(o,e,t){var r;return e.length===1?R(v({},o),{[e[0]]:t}):R(v({},o),{[e[0]]:C7((r=o==null?void 0:o[e[0]])!=null?r:{},e.slice(1),t)})}var mxt=o=>{var n,i,a,s,l,u,p,c,m,f,g,C,y,b,S,A,x,E,T,I,D,P,O,M,B,_,L,U,V,j,z,W;let{data:e,api:t}=Ee(),r=ve.useMemo(()=>[{label:"Number",value:"number",onClick:()=>o.onOptionChange(["axis","type"],"number")},{label:"Category",value:"category",onClick:()=>o.onOptionChange(["axis","type"],"category")},{label:"Time",value:"time",onClick:()=>o.onOptionChange(["axis","type"],"time")}],[e]);return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Padding"),ve.createElement(K.Tab,null,"Axis"),ve.createElement(K.Tab,null,"Highlight Style"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Top"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","top"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(i=(n=e.SparkLineStyle.options)==null?void 0:n.padding)==null?void 0:i.top})),ve.createElement(Z,{label:"Bottom"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","bottom"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(s=(a=e.SparkLineStyle.options)==null?void 0:a.padding)==null?void 0:s.bottom})),ve.createElement(Z,{label:"Left"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","left"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(u=(l=e.SparkLineStyle.options)==null?void 0:l.padding)==null?void 0:u.left})),ve.createElement(Z,{label:"Right"},ve.createElement(We,{onChange:ue=>{var pe;return o.onOptionChange(["padding","right"],(pe=ue.target.value)!=null?pe:0)},type:"number",value:(c=(p=e.SparkLineStyle.options)==null?void 0:p.padding)==null?void 0:c.right})))),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Axis Type"},ve.createElement(Fe,{columns:["label"],items:r},(f=(m=r.find(ue=>{var pe,ae,ie;return ue.value===((ie=(ae=(pe=e==null?void 0:e.SparkLineStyle)==null?void 0:pe.options)==null?void 0:ae.axis)==null?void 0:ie.type)}))==null?void 0:m.label)!=null?f:"Select Type")),ve.createElement(Z,{label:"Stroke Color"},ve.createElement(Pn,{api:t,value:(b=(y=(C=(g=e.SparkLineStyle)==null?void 0:g.options)==null?void 0:C.axis)==null?void 0:y.stroke)!=null?b:"#fff",onChange:ue=>o.onOptionChange(["axis","stroke"],ue)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(E=(x=(A=(S=e.SparkLineStyle)==null?void 0:S.options)==null?void 0:A.axis)==null?void 0:x.strokeWidth)!=null?E:0,onChange:ue=>o.onOptionChange(["axis","strokeWidth"],parseFloat(ue.target.value))})))),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Size"},ve.createElement(Vt,{type:"number",value:(D=(I=(T=e.SparkLineStyle)==null?void 0:T.options)==null?void 0:I.highlightStyle)==null?void 0:D.size,onChange:ue=>o.onOptionChange(["highlightStyle","size"],parseFloat(ue.target.value))})),ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(B=(M=(O=(P=e.SparkLineStyle)==null?void 0:P.options)==null?void 0:O.highlightStyle)==null?void 0:M.fill)!=null?B:"yellow",onChange:ue=>o.onOptionChange(["highlightStyle","fill"],ue)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(V=(U=(L=(_=e.SparkLineStyle)==null?void 0:_.options)==null?void 0:L.highlightStyle)==null?void 0:U.stroke)!=null?V:"silver",onChange:ue=>o.onOptionChange(["highlightStyle","stroke"],ue)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(W=(z=(j=e.SparkLineStyle)==null?void 0:j.options)==null?void 0:z.highlightStyle)==null?void 0:W.strokeWidth,onChange:ue=>o.onOptionChange(["highlightStyle","strokeWidth"],parseFloat(ue.target.value))})))))},nNe=o=>{var n,i,a,s,l,u,p,c,m,f;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(Ie,null,ve.createElement(Z,{label:"Enabled"},ve.createElement(ye,{checked:(i=(n=r==null?void 0:r.marker)==null?void 0:n.enabled)!=null?i:!0,onChange:g=>o.onOptionChange(["marker","enabled"],g)})),ve.createElement(Z,{label:"Size"},ve.createElement(Vt,{type:"number",value:(s=(a=r==null?void 0:r.marker)==null?void 0:a.size)!=null?s:0,onChange:g=>o.onOptionChange(["marker","size"],parseFloat(g.target.value))})),ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(u=(l=r==null?void 0:r.marker)==null?void 0:l.fill)!=null?u:"rgb(124, 181, 236)",onChange:g=>o.onOptionChange(["marker","fill"],g)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(c=(p=r==null?void 0:r.marker)==null?void 0:p.stroke)!=null?c:"rgb(124, 181, 236)",onChange:g=>o.onOptionChange(["marker","stroke"],g)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(f=(m=r==null?void 0:r.marker)==null?void 0:m.strokeWidth)!=null?f:1,onChange:g=>o.onOptionChange(["marker","strokeWidth"],parseFloat(g.target.value))})))},iNe=o=>{var n,i,a;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(Ie,null,ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(i=(n=r==null?void 0:r.line)==null?void 0:n.stroke)!=null?i:"rgb(124, 181, 236)",onChange:s=>o.onOptionChange(["line","stroke"],s)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(a=r==null?void 0:r.line)==null?void 0:a.strokeWidth,onChange:s=>o.onOptionChange(["line","strokeWidth"],parseFloat(s.target.value))})))},aNe=o=>{let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options,n=["dash","dashDot","dashDotDot","dot","longDash","longDashDot","longDashDotDot","shortDash","shortDashDot","shortDashDotDot","shortDot","solid"],i=["butt","round","square"],a=s=>{var p,c,m,f,g,C,y,b,S,A,x,E,T;let l=n.map(I=>({label:uD(I),value:I,onClick:()=>o.onOptionChange(["crosshairs",s,"lineDash"],I)})),u=i.map(I=>({label:uD(I),value:I,onClick:()=>o.onOptionChange(["crosshairs",s,"lineCap"],I)}));return ve.createElement(Ie,null,ve.createElement(Z,{label:"Show"},ve.createElement(ye,{checked:(m=(c=(p=r==null?void 0:r.crosshairs)==null?void 0:p[s])==null?void 0:c.enabled)!=null?m:!0,onChange:I=>o.onOptionChange(["crosshairs",s,"enabled"],I)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(C=(g=(f=r==null?void 0:r.crosshairs)==null?void 0:f[s])==null?void 0:g.stroke)!=null?C:"rgba(0,0,0, 0.54)",onChange:I=>o.onOptionChange(["crosshairs",s,"stroke"],I)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(S=(b=(y=r==null?void 0:r.crosshairs)==null?void 0:y[s])==null?void 0:b.strokeWidth)!=null?S:1,onChange:I=>o.onOptionChange(["crosshairs",s,"strokeWidth"],I.target.value)})),ve.createElement(Z,{label:"Line Dash"},ve.createElement(Fe,{columns:["label"],items:l},(x=(A=l.find(I=>{var D,P;return I.value===((P=(D=r==null?void 0:r.crosshairs)==null?void 0:D[s])==null?void 0:P.lineDash)}))==null?void 0:A.label)!=null?x:"Solid")),ve.createElement(Z,{label:"Line Cap"},ve.createElement(Fe,{columns:["label"],items:u},(T=(E=u.find(I=>{var D,P;return I.value===((P=(D=r==null?void 0:r.crosshairs)==null?void 0:D[s])==null?void 0:P.lineCap)}))==null?void 0:E.label)!=null?T:"Butt")))};return ve.createElement(Cy.Flex,null,ve.createElement(Cy.Box,{mr:3},ve.createElement(Cy.Box,null,"X Line"),a("xLine")),ve.createElement(Cy.Box,null,ve.createElement(Cy.Box,null,"Y Line"),a("yLine")))},fxt=o=>{var n;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Stroke"),ve.createElement(K.Tab,null,"Line"),ve.createElement(K.Tab,null,"Marker"),ve.createElement(K.Tab,null,"Cross Hairs"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(n=r==null?void 0:r.fill)!=null?n:"rgba(124, 181, 236, 0.25)",onChange:i=>o.onOptionChange(["fill"],i)})))),ve.createElement(K.Content,null,ve.createElement(iNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(nNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(aNe,{onOptionChange:o.onOptionChange})))},hxt=o=>ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Line"),ve.createElement(K.Tab,null,"Marker"),ve.createElement(K.Tab,null,"Cross Hairs"),ve.createElement(K.Content,null,ve.createElement(iNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(nNe,{onOptionChange:o.onOptionChange})),ve.createElement(K.Content,null,ve.createElement(aNe,{onOptionChange:o.onOptionChange}))),rNe=o=>{var n,i,a,s,l;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options;return ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"General"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Fill"},ve.createElement(Pn,{api:t,value:(n=r==null?void 0:r.fill)!=null?n:"rgb(124, 181, 236)",onChange:u=>o.onOptionChange(["fill"],u)})),ve.createElement(Z,{label:"Stroke"},ve.createElement(Pn,{api:t,value:(i=r==null?void 0:r.stroke)!=null?i:"silver",onChange:u=>o.onOptionChange(["stroke"],u)})),ve.createElement(Z,{label:"Stroke Width"},ve.createElement(Vt,{type:"number",value:(a=r==null?void 0:r.strokeWidth)!=null?a:1,onChange:u=>o.onOptionChange(["strokeWidth"],u.target.value)})),ve.createElement(Z,{label:"Padding Inner"},ve.createElement(Vt,{type:"number",value:(s=r==null?void 0:r.paddingInner)!=null?s:.1,onChange:u=>o.onOptionChange(["paddingInner"],u.target.value)})),ve.createElement(Z,{label:"Padding Outer"},ve.createElement(Vt,{type:"number",value:(l=r==null?void 0:r.paddingOuter)!=null?l:.2,onChange:u=>o.onOptionChange(["paddingOuter"],u.target.value)})))))},gxt=o=>{var a,s;let{data:e,api:t}=Ee(),r=e.SparkLineStyle.options,[n,i]=ve.useState("");return ve.useEffect(()=>{var l,u,p;try{let c=null,m=20,f=0;for(;!c||f<m;){let g=(l=t.gridApi.getRowNodeForIndex(f))==null?void 0:l.data,C=t.columnApi.getColumnWithColumnId(e.ColumnId);if((u=g==null?void 0:g[C==null?void 0:C.field])!=null&&u[0]){c=(p=g==null?void 0:g[C==null?void 0:C.field])==null?void 0:p[0];break}f++}if(c){let g=JSON.stringify(c,null,2).replace(/[{}",]/g,"");i(g)}}catch(c){t.logError("Error parsing sparkline data",c)}},[e]),ve.createElement(ve.Fragment,null,ve.createElement(Z,{label:"X Key"},ve.createElement(We,{onChange:l=>o.onOptionChange(["xKey"],l.target.value),value:(a=r.xKey)!=null?a:"x"})),ve.createElement(Z,{label:"Y Key"},ve.createElement(We,{onChange:l=>o.onOptionChange(["yKey"],l.target.value),value:(s=r.yKey)!=null?s:"y"})),n&&ve.createElement(Z,{label:"Preview"},ve.createElement(Ge,null,n)))},sNe=o=>{var s,l,u;let{data:e,api:t}=Ee(),r=ve.useCallback(p=>{let c=R(v({},e),{SparkLineStyle:R(v({},e.SparkLineStyle),{options:R(v({},e.SparkLineStyle.options),{type:p})})});o.onChange(c)},[e]),n=ve.useMemo(()=>[{label:"Line",value:"line",onClick:()=>r("line")},{label:"Area",value:"area",onClick:()=>r("area")},{label:"Column",value:"column",onClick:()=>r("column")},{label:"Bar",value:"bar",onClick:()=>r("bar")}],[e]),i=ve.useCallback((p,c)=>{var f;let m=C7((f=e.SparkLineStyle.options)!=null?f:{},p,c);o.onChange(R(v({},e),{SparkLineStyle:R(v({},e.SparkLineStyle),{options:m})}))},[e]),a=((s=t.columnApi.getColumnWithColumnId(e.ColumnId))==null?void 0:s.dataType)==="ObjectNumberArray";return ve.createElement(ve.Fragment,null,ve.createElement(K,{mb:2},ve.createElement(K.Tab,null,"Settings"),ve.createElement(K.Content,null,ve.createElement(Ie,null,ve.createElement(Z,{label:"Type"},ve.createElement(Fe,{columns:["label"],items:n},(u=(l=n.find(p=>{var c;return p.value===((c=e.SparkLineStyle.options)==null?void 0:c.type)}))==null?void 0:l.label)!=null?u:"Select Type")),a&&ve.createElement(gxt,{onOptionChange:i})))),ve.createElement(mxt,{onOptionChange:i}),(()=>{var p;switch((p=e.SparkLineStyle.options)==null?void 0:p.type){case"line":return ve.createElement(hxt,{onOptionChange:i});case"area":return ve.createElement(fxt,{onOptionChange:i});case"column":return ve.createElement(rNe,{onOptionChange:i});case"bar":return ve.createElement(rNe,{onOptionChange:i})}})())};var uNe=o=>{var p,c,m,f,g,C;let e=(c=o.data)!=null?c:(p=o.popupParams)==null?void 0:p.value,t=(g=(f=(m=o==null?void 0:o.popupParams)==null?void 0:m.config)==null?void 0:f.defaultCurrentSectionName)!=null?g:void 0,r=(C=o.defaultCurrentSectionName)!=null?C:t,[n,i]=(0,lNe.useState)(()=>{if(e)return Zt(e);let y=Ke.CreateEmptyStyledColumn();return y.GradientStyle={},y}),a=at(),s=()=>{var y;((y=o==null?void 0:o.popupParams)==null?void 0:y.action)==="New"||!e?a(dS(n)):a(dw(n)),o.onFinishWizard(n)},l=[{details:"Create the Style to apply",renderSummary:WB,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(eNe,{onChange:i})),title:"Style"},{details:"Apply additional Settings",renderSummary:tNe,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(oNe,{onChange:i})),title:"Settings"}],u=[{title:"Settings",render:()=>qa.createElement(hh.Box,{p:2},qa.createElement(sNe,{onChange:i}))}];return qa.createElement(dr,{defaultCurrentSectionName:r,moduleInfo:o.moduleInfo,data:n,onFinish:s,onHide:o.onCloseWizard,sections:[{details:"Select a Styled Column type",renderSummary:jMe,render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(KMe,{onChange:i})),title:"Type"},{isValid:qMe,renderSummary:YMe,details:"Select a Column where the Style will be applied",render:()=>qa.createElement(hh.Box,{padding:2,style:{height:"100%"}},qa.createElement($Me,{isNew:o.isNew,onChange:i})),title:"Column"},...n.SparkLineStyle?u:l,{details:"Select Format Column Tags",title:"Tags",isVisible:(y,b)=>b.internalApi.shouldDisplayTagSections(),render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(Fr,{onChange:i})),renderSummary:_r},"-",{title:"Summary",details:"Review your Styled Column",render:()=>qa.createElement(hh.Box,{padding:2},qa.createElement(Or,null))}]})};var zB=class extends mt{constructor(e){super(pc,Fz,"brush","StyledColumnPopup","Create a Special Column Style e.g Gradient or Percent Bar",e),this.api.internalApi.getDataService().on("CellDataChanged",t=>{let r=this.api.columnApi.getColumns().filter(n=>{let i=this.api.styledColumnApi.getCheckBoxStyleStyledColumn(n);return i&&!i.IsSuspended}).map(n=>n.columnId);r.includes(t.column.columnId)||this.api.internalApi.getAdaptableInstance().refreshCells(null,r,!0,!0)})}updateOldConfig(){let e=this.api.formatColumnApi.getFormatColumns().filter(r=>r.ColumnStyle);if(!e.length)return;this.api.logInfo(`Converting ${e.length} FormatColumns Styles to Styled Columns`,e),e.forEach(r=>{this.api.formatColumnApi.deleteFormatColumn(r)}),e.map(r=>"ColumnIds"in r.Scope?v(R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:r.Scope.ColumnIds[0]}),r.ColumnStyle):null).filter(Boolean).forEach(r=>this.api.styledColumnApi.addStyledColumn(r))}getModuleAdaptableObjects(e){return this.api.styledColumnApi.getStyledColumns(e)}getExplicitlyReferencedColumnIds(e){return this.api.scopeApi.scopeHasColumns(e.Scope)?this.api.scopeApi.getColumnsForScope(e.Scope).map(t=>t.columnId):[]}hasNamedQueryReferences(){return!1}addColumnMenuItems(e){let t=[],r={defaultCurrentSectionName:"Style"};if(e&&this.isModuleEditable()){if(this.api.columnApi.hasArrayDataType(e.columnId)&&e.IsReadOnly!==!0&&this.api.styledColumnApi.canDisplaySparklines()){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId),i=e.isSparkline&&Boolean(n);if(!(e.isSparkline&&!i)){i?n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId):n=R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:e.columnId,SparkLineStyle:{}});let a=i?"Edit ":"Create ",s={action:i?"Edit":"New",source:"ColumnMenu",value:n,config:r};t.push(this.createColumnMenuItemShowPopup(a+"Sparkline Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,s))}}if(!e.isSparkline){if(e.dataType==="Number"){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId),i=Boolean(n);if(!n){let l=this.api.scopeApi.createCellColorRangesForScope({ColumnIds:[e.columnId]});n=R(v({},Ke.CreateEmptyStyledColumn()),{ColumnId:e.columnId,GradientStyle:{CellRanges:l}})}n&&n.IsReadOnly&&n.IsReadOnly==!0&&(i=!1);let a=i?"Edit ":"Create ",s={action:i?"Edit":"New",source:"ColumnMenu",value:n,config:r};t.push(this.createColumnMenuItemShowPopup(a+"Styled Column",this.moduleInfo.Popup,this.moduleInfo.Glyph,s))}if(e.dataType=="Boolean"&&!this.api.columnApi.isFreeTextColumn(e.columnId)){let n=this.api.styledColumnApi.getStyledColumnForColumnId(e.columnId);n&&(n==null?void 0:n.CheckBoxStyle)?t.push(this.createColumnMenuItemClickFunction("Remove Checkbox","unchecked",()=>{this.api.styledColumnApi.deleteStyledColumn(n)})):t.push(this.createColumnMenuItemClickFunction("Show as Checkbox","checked",()=>{let a=Ke.CreateEmptyStyledColumn();this.api.styledColumnApi.addStyledColumn(R(v({},a),{ColumnId:e.columnId,CheckBoxStyle:!0}))}))}}}return t}getTeamSharingAction(){return{ModuleEntities:this.api.styledColumnApi.getStyledColumns(),AddAction:dS,EditAction:dw}}toView(e){let t=null;return e.GradientStyle?t="Gradient":e.PercentBarStyle?t="Percent Bar":e.CheckBoxStyle?t="Check Box":e.SparkLineStyle&&(t="Spark Line"),{abObject:e,items:[{name:"Type",values:[t]},{name:"Column",values:[this.api.columnApi.getFriendlyNameForColumnId(e.ColumnId)]},!e.SparkLineStyle&&{name:"Style",view:()=>WB(e,this.api)},{name:"Settings",values:[`Include grouped rows: ${e.IncludeGroupedRows?"Yes":"No"}`]},ar(e,this.api)].filter(Boolean)}}toViewAll(){return this.getModuleAdaptableObjects({includeLayoutNotAssociatedObjects:this.showLayoutNotAssociatedObjects()}).map(e=>this.toView(e))}getViewProperties(){return{getEditAction:dw,getDeleteAction:JF,getSuspendAction:e_,getUnSuspendAction:t_,getSuspendAllAction:Xpe,getUnSuspendAllAction:Zpe,getEditWizard(){return uNe}}}canBeAssociatedWithLayouts(){return!0}};var pP=WL(),jB=class{constructor(e,t){this.adaptable=e;this.gridOptions=t;this.initialAgGridColDefs={}}destroy(){this.adaptable=null,this.gridOptions=null}getAgGridLightThemeName(){return"ag-theme-balham"}getAgGridDarkThemeName(){return"ag-theme-balham-dark"}setUpModules(){let e=new Map,t=this.adaptable.api;return e.set(ul,new ZV(t)),e.set(xn,new KV(t)),e.set(lg,new MB(t)),e.set(ws,new QV(t)),e.set(an,new YV(t)),e.set(Za,new $V(t)),e.set(Gi,new XV(t)),e.set(dl,new FB(t)),e.set($u,new tB(t)),e.set(Bn,new rB(t)),e.set(Rn,new nB(t)),e.set(Gn,new iB(t)),e.set(ci,new aB(t)),e.set(Es,new fB(t)),e.set(sn,new hB(t)),e.set(gr,new yB(t)),e.set(Ja,new SB(t)),e.set(pl,new bB(t)),e.set(es,new RB(t)),e.set(Xu,new xB(t)),e.set(cc,new wB(t)),e.set(Ju,new PB(t)),e.set(cl,new DB(t)),e.set(Zu,new EB(t)),e.set(ed,new IB(t)),e.set(dc,new sB(t)),e.set(ug,new NB(t)),e.set(mc,new VB(t)),e.set(ll,new kB(t)),e.set(pc,new zB(t)),e}TrySetUpNodeIds(e){if(je.IsNullOrEmpty(this.adaptable.adaptableOptions.primaryKey))return!1;if(Jt.objectExists(this.gridOptions.getRowNodeId)||Jt.objectExists(this.gridOptions.getRowId))return!0;let t=this.adaptable.adaptableOptions.primaryKey;return e?this.gridOptions.getRowId=r=>(Jt.objectNotExists(r.data[t])&&(r.data[t]=yt()),r.data[t]):this.gridOptions.getRowId=r=>{var a;if(r.data[t])return r.data[t];let n=(a=r.parentKeys)!=null?a:[],i=Object.values(r.data);if(i.length)return[...n,i[0]].join("/")},!0}createCheckboxRendererComp(e,t){return CMe(e,t,this.adaptable.api)}createPercentBarRendererComp(e,t){return zMe(e,t,this.adaptable.api)}getCleanValue(e){if(typeof e=="string")return e;if(!(e==null||e=="null"||e==null||e=="undefined"))return String(e)||""}getRenderedValue(e,t){let r=e.cellRenderer;return typeof r=="string"?this.getCleanValue(t):r({value:t})||""}createAdaptableColumnFromAgGridColumn(e,t){let r=e.getColId(),n=e.getColDef(),i=this.adaptable.api.columnApi.isActionRowButtonColumn(r),a=this.adaptable.adaptableOptions.columnOptions.columnFriendlyName,s=typeof a=="function"?a({colId:r,agColumn:e}):null,l=s!=null?s:i?One:this.gridOptions.columnApi.getDisplayNameForColumn(e,"header");this.initialAgGridColDefs[r]||(this.initialAgGridColDefs[r]=v({},e.getUserProvidedColDef()));let u=r,p=this.adaptable.adaptableOptions.primaryKey,c=t==null?void 0:t[u],m=this.getColumnDataType(e,!1),f={Uuid:yt(),columnId:u,field:n.field,friendlyName:l,isPrimaryKey:u===p,dataType:m,visible:e.isVisible(),readOnly:this.isColumnReadonly(n),columnGroup:c,sortable:this.isColumnSortable(n),filterable:this.isColumnFilterable(n),groupable:this.isColumnGroupable(n),pivotable:this.isColumnPivotable(n),aggregatable:this.isColumnAggregetable(n),availableAggregationFunctions:null,aggregationFunction:null,moveable:this.isColumnMoveable(n),hideable:this.isColumnHideable(n),queryable:this.isColumnQueryable(n,u,l,m),exportable:this.isColumnExportable(n,u,l,m),isGrouped:this.isColumnGrouped(n),isFixed:this.isColumnFixed(n),pinned:this.getColumnPinnedPosition(n),isExcludedFromQuickSearch:!1,isSparkline:this.isColumnSparkline(n)};f.aggregatable&&(f.availableAggregationFunctions=this.getColumnAggregationFunctions(n),typeof n.aggFunc=="string"&&(f.aggregationFunction=n.aggFunc));let g=this.adaptable.adaptableOptions.searchOptions.excludeColumnFromQuickSearch;return g&&g(f)&&(f.isExcludedFromQuickSearch=!0),f}buildAdaptableToolPanelDef(){return{id:$h,toolPanel:Rne,labelDefault:xne,labelKey:"adaptable",iconKey:"menu",width:Xt.getAdaptableToolPanelWidth(),minWidth:Xt.getAdaptableToolPanelWidth()}}isSideBarDefObject(e){return Array.isArray(e==null?void 0:e.toolPanels)}mapToolPanelDefs(e=[]){return e.map(t=>t===$h?this.buildAdaptableToolPanelDef():t)}reselectSelectedCells(){let e=this.gridOptions.api.getCellRanges();if(qe.CorrectLength(e,1)){let t=e[0],r={rowStartIndex:t.startRow.rowIndex,rowEndIndex:t.endRow.rowIndex,columns:t.columns};this.gridOptions.api.clearRangeSelection(),this.gridOptions.api.addCellRange(r)}}fireSelectionChangedEvent(){let e={adaptableApi:this.adaptable.api,selectedCellInfo:this.adaptable.api.gridApi.getGridState().SelectedCellInfo,selectedRowInfo:this.adaptable.api.gridApi.getGridState().SelectedRowInfo};this.adaptable.api.eventApi.emit("SelectionChanged",e)}isColumnReadonly(e){return e&&typeof e.editable=="function"?!1:!e.editable}isColumnSortable(e){return e&&e.sortable!=null?e.sortable:!1}isColumnGroupable(e){return e&&e.enableRowGroup!=null?e.enableRowGroup:!1}isColumnPivotable(e){return e&&e.enablePivot!=null?e.enablePivot:!1}isColumnAggregetable(e){return e&&e.enableValue!=null?e.enableValue:!1}getColumnAggregationFunctions(e){return e.allowedAggFuncs||["sum","min","max","count","avg","first","last"]}isColumnMoveable(e){return!(!e||e.suppressMovable!=null&&e.suppressMovable==!0||this.isColumnFixed(e))}isColumnQueryable(e,t,r,n){if(!e||e.colId===ac)return!1;let i={columnId:t,friendlyName:r,dataType:n};return this.adaptable.api.queryLanguageApi.isColumnQueryable(i)}isColumnExportable(e,t,r,n){if(!e||e.colId===ac)return!1;let i={columnId:t,friendlyName:r,dataType:n};return this.adaptable.api.exportApi.isColumnExportable(i)}isColumnHideable(e){return!(!e||e.lockVisible!=null&&e.lockVisible==!0)}isColumnFilterable(e){return e!=null&&e.filter!=null&&e.filter!=!1}getColumnPinnedPosition(e){return e.pinned?e.pinned==="left"||e.pinned===!0?"left":"right":!1}isColumnFixed(e){return e?e.lockPosition!=null&&e.lockPosition==!0||e.lockPinned!=null&&e.lockPinned==!0:!1}isColumnGrouped(e){return e?e.rowGroup!=null&&e.rowGroup==!0||e.rowGroupIndex!=null:!1}isColumnSparkline(e){return(e==null?void 0:e.cellRenderer)==="agSparklineCellRenderer"}getColumnDataType(e,t=!0){if(!e)return this.adaptable.logger.warn("column is undefined returning String for Type"),"String";let r="Unknown",n=this.adaptable.api.columnApi.getColumnWithColumnId(e.getId(),t);if(n&&n.dataType!="Unknown")return n.dataType;let i=e.getColDef().type;if(i&&(Array.isArray(i)?i.forEach(u=>{r=="Unknown"&&(r=this.getAbColDefValue(u))}):r=this.getAbColDefValue(i),r!="Unknown"))return r;let a=this.gridOptions.api.getModel();if(a==null)return this.adaptable.logger.warn(`No model so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";let s=a.getRow(0);if(s==null)return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";if(s.group){let u=s.childrenAfterGroup;if(qe.IsNullOrEmpty(u))return this.adaptable.logger.warn(`No data in grid so returning type "Unknown" for Column: "${e.getColId()}"`),"Unknown";s=u[0]}let l=this.gridOptions.api.getValue(e,s);if(l instanceof Date)r="Date";else if(Array.isArray(l)&&l.length&&typeof l[0]=="number")r="Unknown";else switch(typeof l){case"string":r="String";break;case"number":r="Number";break;case"boolean":r="Boolean";break;case"object":r="Object";break;default:break}return this.adaptable.logger.warn(`No defined type for column '${e.getColId()}'. Defaulting to type of first value: ${r}`),r}getAbColDefValue(e){if(e=="numericColumn")return"Number";if(e.startsWith("abColDef"))switch(e){case"abColDefNumber":return"Number";case"abColDefString":return"String";case"abColDefBoolean":return"Boolean";case"abColDefDate":return"Date";case"abColDefObject":return"Object";case"abColDefNumberArray":return"NumberArray";case"abColDefTupleNumberArray":return"TupleNumberArray";case"abColDefObjectNumberArray":return"ObjectNumberArray";default:return"Unknown"}return"Unknown"}getAgGridDataType(e){if(!e)return"abColDefString";switch(e){case"Boolean":return"abColDefBoolean";case"Date":return"abColDefDate";case"Number":return"abColDefNumber";case"Object":return"abColDefObject";case"String":return"abColDefString";case"NumberArray":return"abColDefNumberArray";case"TupleNumberArray":return"abColDefTupleNumberArray";case"ObjectNumberArray":return"abColDefObjectNumberArray";default:return"abColDefCustom"}}checkShouldClearExistingFiltersOrSearches(){this.adaptable.adaptableOptions.filterOptions.clearFiltersOnStartUp&&qe.IsNotNullOrEmpty(this.adaptable.api.filterApi.getColumnFilters())&&(this.adaptable.logger.warn('Clearing existing Column Filters as "clearFiltersOnStartUp" is true'),this.adaptable.api.filterApi.clearColumnFilters()),this.adaptable.adaptableOptions.searchOptions.clearSearchesOnStartUp&&(je.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText)||je.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery())||qe.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.getDataSets()))&&(this.adaptable.logger.warn('Clearing existing Searches as "clearSearchesOnStartUp" is true'),this.adaptable.api.quickSearchApi.clearQuickSearch(),this.adaptable.api.queryApi.clearCurrentQuery(),this.adaptable.api.dataSetApi.clearCurrentDataSet())}runAdaptableGroupComparerFunction(){let e=this.adaptable;return function(r){let{nodeA:n,nodeB:i}=r,a=e.getFirstGroupedColumn();if(a){let s=e.getActiveColumnComparator(a.columnId,e.api.customSortApi.getCustomSortForColumn(a.columnId),e.api.customSortApi.internalApi.getCustomSortComparer(a));if(s)return s(n.key,i.key);if(e.api.layoutApi.getCurrentLayoutColumnSort(a.columnId)==="Desc")return n.key>i.key?-1:1}return n.key==i.key?0:n.key<i.key?-1:1}}getCurrentIPPStyle(){let e=document.querySelectorAll(".ag-header-cell").item(0),t=document.querySelector(".ag-header"),r=t?window.getComputedStyle(t,null):null,n=document.querySelector(".ag-row-even"),i=n?window.getComputedStyle(n,null):null,a=document.querySelector(".ag-row-odd"),s=a?window.getComputedStyle(a,null):{backgroundColor:"#fff"};return{Header:{headerColor:pP(r.color).toHexString(),headerBackColor:pP(r.backgroundColor).toHexString(),headerFontFamily:r.fontFamily,headerFontSize:r.fontSize,headerFontStyle:r.fontStyle,headerFontWeight:r.fontWeight,height:Number(r.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-header-cell[col-id='${l.columnId}']`),p=window.getComputedStyle(u||e,null);return{columnFriendlyName:l.friendlyName,width:Number(p.width.replace("px","")),textAlign:p.textAlign}})},Row:{color:pP(i.color).toHexString(),backColor:pP(i.backgroundColor).toHexString(),altBackColor:pP(s.backgroundColor).toHexString(),fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle,fontWeight:i.fontWeight,height:Number(i.height.replace("px","")),Columns:this.adaptable.api.columnApi.getColumns().map(l=>{let u=document.querySelector(`.ag-cell[col-id='${l.columnId}']`),p=window.getComputedStyle(u||n,null);return{columnFriendlyName:l.friendlyName,width:Number(p.width.replace("px","")),textAlign:p.textAlign}})}}}};d();var y7=w(c7());var KB=class{constructor(e,t){this.adaptable=e;this.gridOptions=t}destroy(){this.adaptable=null,this.gridOptions=null}buildColumnMenu(e,t){let r=e.column.getColId(),n=[],i=[],a=[];n.push(...this.createAgGridColumnMenuItems(t,e));let s=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,l=s==null||s!==!1;l&&n.push("separator");let u=this.adaptable.api.columnApi.getColumnWithColumnId(r),p=this.createColumnMenuContextObject(u,e.column);if(p.isRowGroupColumn){let m=this.createGroupedColumnMenuItem();m&&i.push(m)}l&&i.push(...this.createAdaptableColumnMenuItems(u,p)),a.push(...this.createUserColumnMenuItems(p));let c={aggrid:n,adaptable:i,user:a};return(0,y7.default)(this.adaptable.adaptableOptions.menuOptions.columnMenuOrder.map(m=>c[m]))}buildContextMenu(e,t){this.adaptable.setSelectedCells();let r=[],n=[],i=[],a=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu,s=a==null||a!==!1,l=this.adaptable.adaptableOptions.menuOptions.contextMenuItems,u=qe.IsNotNullOrEmpty(l),p=this.createAgGridContextMenuItems(t,e);p!=null&&p.length&&(r.push(...p),(s||u)&&r.push("separator"));let c=[],m=e.column;if(m){let g=this.adaptable.api.columnApi.getColumnWithColumnId(m.getColId()),C=this.createContextMenuContextObject(e,g),y=this.createAdaptableContextMenuItems(C);qe.IsNotNullOrEmpty(y)&&c.push(...y),qe.IsNotNullOrEmpty(c)&&s&&n.push(...this.createAgGridAdaptableContextMenuItems(c,C)),u&&i.push(...this.createAgGridUserContextMenuItems(l,C))}let f={aggrid:r,adaptable:n,user:i};return(0,y7.default)(this.adaptable.adaptableOptions.menuOptions.contextMenuOrder.map(g=>f[g]))}createRemoveGroupsMenuItem(e){return{name:e.label,action:e.onClick?e.onClick:()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction),icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"})}}createAgGridMenuDefFromAdaptableMenu(e){let t=qe.IsNotNullOrEmpty(e.subItems)?e.subItems.map(r=>this.createAgGridMenuDefFromAdaptableMenu(r)):void 0;return{name:e.label,action:e.onClick?e.onClick:e.reduxAction?()=>this.adaptable.api.internalApi.dispatchReduxAction(e.reduxAction):void 0,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),subMenu:t}}createAgGridColumnMenuDefFromUserMenu(e,t){let r=e.onClick,n=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserColumnMenuItem(e,t),action:()=>r?r(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:n,subMenu:qe.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridColumnMenuDefFromUserMenu(i,t))}}createAgGridContextMenuDefFromUserMenu(e,t){let r=e.onClick,n=e.disabled&&e.disabled(t);return{name:this.getLabelFromUserContextMenuItem(e,t),action:()=>r?r(t):null,icon:this.mapAdaptableIconToAgGridIcon(e.icon,{fill:"var(--ab-color-text-on-primary)"}),disabled:n,subMenu:qe.IsNullOrEmpty(e.subMenuItems)?void 0:e.subMenuItems.map(i=>this.createAgGridContextMenuDefFromUserMenu(i,t))}}mapAdaptableIconToAgGridIcon(e,t){return Ac(e)?e.element:DCe(e,{fill:"var(--ab-color-text-on-primary)"})}createAdaptableColumnMenuItemFromUserMenu(e,t){let r=e.onClick;return{label:this.getLabelFromUserColumnMenuItem(e,t),reduxAction:null,onClick:()=>r?r(t):null,isVisible:!0,icon:e.icon}}createAgGridColumnMenuItems(e,t){return e?e(t):t.defaultItems.slice(0)}createGroupedColumnMenuItem(){if(this.adaptable.adaptableOptions.menuOptions.showUngroupColumnMenuItem){let t={label:this.gridOptions.columnApi.getRowGroupColumns().length==1?"Ungroup Column":"Ungroup All",onClick:()=>this.gridOptions.columnApi.setRowGroupColumns([]),isVisible:!0,icon:{name:"undo"}};return this.createAgGridMenuDefFromAdaptableMenu(t)}}createAdaptableColumnMenuItems(e,t){let r=[];return this.getAdaptableMenuItemsColumnHeader(e,t).forEach(i=>{let a=this.createAgGridMenuDefFromAdaptableMenu(i);r.push(a)}),r}createUserColumnMenuItems(e){let t=[],r=this.getUserMenuItemsColumnHeader(e);return qe.IsNotNullOrEmpty(r)&&r.forEach(n=>{let i=this.createAgGridColumnMenuDefFromUserMenu(n,e);t.push(i)}),t}createColumnMenuContextObject(e,t){return{adaptableColumn:e,agGridColumn:t,adaptableApi:this.adaptable.api,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(t.getColId())}}createContextMenuContextObject(e,t){let r=!1,n=!1,i=!1,a;t&&(a=this.adaptable.getGridCellFromRowNode(e.node,t.columnId));let s=this.adaptable.api.gridApi.getSelectedCellInfo();a&&s&&(n=s.gridCells.find(p=>p!=null&&p.column==a.column&&p.primaryKeyValue==a.primaryKeyValue)!=null,n&&(r=qe.CorrectLength(s.columns,1)));let l=this.adaptable.api.gridApi.getSelectedRowInfo();return l&&(i=l.gridRows.find(p=>p!=null&&p.primaryKeyValue==a.primaryKeyValue)!=null),{isSelectedCell:n,isSelectedRow:i,gridCell:a,adaptableColumn:t,agGridColumn:e.column,rowNode:e.node,isGroupedNode:e.node?e.node.group:!1,isSingleSelectedColumn:r,isSingleSelectedCell:n&&(s==null?void 0:s.gridCells.length)==1,primaryKeyValue:a?a.primaryKeyValue:void 0,adaptableApi:this.adaptable.api,selectedCellInfo:s,selectedRowInfo:l,isRowGroupColumn:this.adaptable.api.columnApi.isAutoRowGroupColumn(e.column.getColId())}}createAgGridContextMenuItems(e,t){return e?e(t).slice(0):t.defaultItems?t.defaultItems.slice(0):[]}createAdaptableContextMenuItems(e){let t=[];return this.adaptable.adaptableModules.forEach(r=>{let n=r.addContextMenuItems(e);n&&t.push(...n)}),this.adaptable._emitSync("CreateAdaptableContextMenuItems",{items:t,menuContext:e}),t}createAgGridAdaptableContextMenuItems(e,t){let r=[],n=this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;return(n==null||n!==!1)&&e.forEach(i=>{if(i){let a=!0;if(n!=null&&typeof n=="function"&&(a=n(i,t)),a){let s=this.createAgGridMenuDefFromAdaptableMenu(i);r.push(s)}}}),r}createAgGridUserContextMenuItems(e,t){let r=[];return e.filter(n=>!!n).filter(n=>n.hidden?!n.hidden(t):!0).forEach(n=>{let i=this.createAgGridContextMenuDefFromUserMenu(n,t);r.push(i)}),r}getAdaptableMenuItemsColumnHeader(e,t){let r=[],n=this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu,i=n==null||n!==!1;return this.adaptable.adaptableModules.forEach(a=>{let s=a.addColumnMenuItems(e);s&&(i?s.forEach(l=>{if(l){let u=!0;n!=null&&typeof n=="function"&&(u=n(l,t)),u&&r.push(l)}}):r.push(...s))}),r}getLabelFromUserColumnMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getLabelFromUserContextMenuItem(e,t){return typeof e.label=="function"?e.label(t):e.label}getUserMenuItemsColumnHeader(e){var t,r;return(r=(t=this.adaptable.adaptableOptions.menuOptions)==null?void 0:t.columnMenuItems)==null?void 0:r.filter(n=>n.hidden?!n.hidden(e):!0)}buildStandaloneColumnHeader(e){let t=this.adaptable.api.columnApi.internalApi.getAgGridColumnForAdaptableColumn(e.columnId),r=this.createColumnMenuContextObject(e,t),n=[];n.push(...this.getAdaptableMenuItemsColumnHeader(e,r));let i=this.getUserMenuItemsColumnHeader(r);return qe.IsNotNullOrEmpty(i)&&i.forEach(a=>{let s=this.createAdaptableColumnMenuItemFromUserMenu(a,r);n.push(s)}),n}};d();var mNe=w(require("react")),VA=require("react");d();var Xo=w(require("react"));d();var yy=w(require("react"));d();var dNe=w(require("react"));var pNe=w(re());var Cxt="ab-ListGroup",yxt=o=>{let r=o,{className:e}=r,t=ze(r,["className"]);return dNe.createElement(pNe.Box,R(v({},t),{className:Me(e,Cxt)}))},cNe=yxt;var QB=class extends yy.Component{constructor(e){super(e),this.state={}}render(){let e=this.props.MenuItems.map((t,r)=>yy.createElement(Sk,{key:r,onClick:()=>this.onClick(t)},t.icon&&yy.createElement(fi,{icon:t.icon}),t.label));return yy.createElement("div",{style:vxt},yy.createElement(cNe,null,e))}onClick(e){this.props.onMenuItemClick(e)}},vxt={overflowY:"auto",overflowX:"hidden",height:"450px",marginBottom:"0"};d();var ys=w(require("react")),Zc=w(re());var YB=class extends ys.Component{render(){let e=ys.createElement(Zc.Flex,{alignItems:"center",flexDirection:"row",style:{width:"100%"}},this.props.IsAlwaysFilter?ys.createElement(Zc.Flex,{flex:6,marginRight:2},"Filter"):ys.createElement(Zc.Flex,{flex:6,flexDirection:"column"},ys.createElement(Zc.Flex,null,ys.createElement(Zc.Flex,{flex:6},ys.createElement(_e,{value:"Menu",checked:this.props.ColumnMenuTab=="Menu",onChange:()=>this.onSelectMenu()},"Menu")),ys.createElement(Zc.Flex,{flex:6},ys.createElement(_e,{value:"Filter",checked:this.props.ColumnMenuTab=="Filter",onChange:()=>this.onSelectFilter()},"Filter")))),this.props.clearFilterButton&&this.props.ColumnMenuTab=="Filter"&&this.props.clearFilterButton,this.props.saveButton&&this.props.ColumnMenuTab=="Filter"&&this.props.saveButton);return ys.createElement(Zc.Flex,{flexDirection:"column"},ys.createElement(Io,{className:"ab-FilterFormPanel",header:e,headerProps:{padding:1},style:R(v({},this.props.style),{flex:1}),bodyProps:{padding:0,style:{maxHeight:"50vh"}},bodyScroll:!0,borderRadius:0,border:"none"},this.props.children),this.props.autoApplyFilter?null:ys.createElement(Zc.Flex,{flex:"none",flexDirection:"row",padding:1,justifyContent:"flex-end"},ys.createElement(X,{variant:"raised",tone:"accent",disabled:this.props.applyFilterButtonDisabled,onClick:()=>this.onApplyFilterClicked()},"Apply Filter")))}onApplyFilterClicked(){this.props.onFilterApplied()}onSelectMenu(){this.props.ColumnMenuTabChanged("Menu")}onSelectFilter(){this.props.ColumnMenuTabChanged("Filter")}};var vy=w(re());d();var gh=(o,e)=>typeof e=="function"?e(o):e;var bxt={width:"100%",minWidth:150},Ch=class extends Xo.Component{constructor(t){super(t);this._isMounted=!1;this.handleFilterChange=t=>{this.state.suppressClientSideFilter&&this.loadPermittedValues(t)};this._isMounted=!0;let r=Ch.createColumnFilterFromProps(this.props);this.state={columnFilters:t.columnFilters,distinctColumnValues:[],isDistinctColumnValuesLoading:!1,showTab:!0,selectedTab:"Filter",editedColumnFilter:r,currentTab:Ch.getCurrentTab(r),suppressClientSideFilter:!1}}static createColumnFilterFromProps(t){let r=t.columnFilters.find(n=>n.ColumnId==t.currentColumn.columnId);if(!r){let n=t.api.optionsApi.getFilterOptions();if(n.defaultFilterFormTab=="Values")return eo.CreateColumnFilter(t.currentColumn.columnId,"Values",[]);if(t.currentColumn.dataType==="Number")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultNumericColumnFilter),[""]);if(t.currentColumn.dataType==="String")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultStringColumnFilter),[""]);if(t.currentColumn.dataType==="Date")return eo.CreateColumnFilter(t.currentColumn.columnId,gh(t.currentColumn,n.defaultDateColumnFilter),[""]);if(t.currentColumn.dataType==="Boolean")return eo.CreateColumnFilter(t.currentColumn.columnId,"BooleanToggle",["all"])}return r}static getCurrentTab(t){return t&&t.Predicate&&t.Predicate.PredicateId&&t.Predicate.PredicateId!="Values"?"predicates":"values"}static getDerivedStateFromProps(t,r){let i=t.api.optionsApi.getFilterOptions().autoApplyFilter?Ch.createColumnFilterFromProps(t):r.editedColumnFilter,a=r.columnFilters,s=!1;return t.columnFilters!==a&&(a=t.columnFilters,s=!0),{editedColumnFilter:i,columnFilters:a,currentTab:s||!r.currentTab?Ch.getCurrentTab(i):r.currentTab}}componentWillUnmount(){this._isMounted=!1}componentDidMount(){this.props.currentColumn.dataType!="Boolean"&&this.loadPermittedValues()}async loadPermittedValues(t=""){let{values:r,suppressClientSideFilter:n}=await tA(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId,t,this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly),()=>this._isMounted&&this.setState({isDistinctColumnValuesLoading:!0}));this._isMounted&&this.setState({distinctColumnValues:r,isDistinctColumnValuesLoading:!1,suppressClientSideFilter:n})}render(){var p,c;let t=this.isFilterable(),r=this.props.api.optionsApi.getFilterOptions(),n=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn).filter(m=>!m.onlyQuickFilter),i=((c=(p=this.state.editedColumnFilter)==null?void 0:p.Predicate)==null?void 0:c.PredicateId)==="Values"?this.state.editedColumnFilter.Predicate.Inputs:[],a=tr.objectNotExists(this.state.editedColumnFilter)||tr.objectNotExists(this.state.editedColumnFilter.Predicate)||tr.objectNotExists(this.state.editedColumnFilter.Predicate.PredicateId),s=Xo.createElement(xA,{onClick:()=>this.onCloseForm(),tooltip:null,accessLevel:"Full"}),l=Xo.createElement(vd,{onClick:()=>this.onClearFilter(),disabled:a,tooltip:null,accessLevel:"Full",showText:!0,showIcon:!1}),u=!!r.useAgGridFilterFormStyle;return Xo.createElement("div",{className:"ab-FilterForm","data-name":"filter-form"},je.IsNullOrEmpty(t)?Xo.createElement(YB,{style:bxt,ColumnMenuTab:this.state.selectedTab,ColumnMenuTabChanged:m=>this.onSelectTab(m),IsAlwaysFilter:this.props.embedColumnMenu,clearFilterButton:l,closeButton:s,showCloseButton:this.props.showCloseButton,autoApplyFilter:!!r.autoApplyFilter,useAgGridStyle:u,applyFilterButtonDisabled:a,onFilterApplied:()=>this.onFilterApplied()},this.state.selectedTab=="Menu"?Xo.createElement(QB,{MenuItems:this.props.api.gridApi.internalApi.buildStandaloneColumnHeader(this.props.currentColumn),onMenuItemClick:m=>this.onMenuItemClick(m)}):Xo.createElement(Xo.Fragment,null,this.state.showTab&&Xo.createElement(Xo.Fragment,null,Xo.createElement(_e,{"data-name":"values",flex:1,marginLeft:1,checked:this.state.currentTab=="values",onChange:()=>this.setState({currentTab:"values"})},Xo.createElement(vy.Flex,{fontSize:"var( --ab-font-size-2)"},"Column Values")),Xo.createElement(_e,{"data-name":"predicates",marginLeft:2,flex:1,checked:this.state.currentTab=="predicates",onChange:()=>this.setState({currentTab:"predicates"})},Xo.createElement(vy.Flex,{fontSize:"var( --ab-font-size-2)"},"Filters"))),this.state.currentTab==="values"&&Xo.createElement(oA,{disabled:this.isFilterDisabled(),suppressClientSideFilter:this.state.suppressClientSideFilter,isLoading:this.state.isDistinctColumnValuesLoading,onFilterChange:this.handleFilterChange,currentColumn:this.props.currentColumn,columns:this.props.columns,columnDistinctValues:this.state.distinctColumnValues,dataType:this.props.currentColumn.dataType,uiSelectedColumnValues:i,useAgGridStyle:u,onColumnValueSelectedChange:m=>this.onColumnValuesChange(m)}),this.state.currentTab==="predicates"&&Xo.createElement(Xo.Fragment,null," ",this.state.showTab&&Xo.createElement("hr",null),n.filter(m=>m.id!=="Values"&&m.id!=="ExcludeValues").map((m,f)=>this.renderColumnPredicate(m,f))))):Xo.createElement(Ot,null,t))}renderColumnPredicate(t,r){var a;let{editedColumnFilter:n}=this.state,i=((a=n==null?void 0:n.Predicate)==null?void 0:a.PredicateId)===t.id;return Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate",key:r,flexDirection:"column"},Xo.createElement(_e,{"data-name":t.id,disabled:this.isFilterDisabled(),fontSize:"var(--ab-font-size-2)",margin:1,flex:1,checked:i,onChange:()=>this.selectColumnPredicate(t)},t.label),Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate_inputs",flexDirection:"column",flex:0,marginLeft:3,marginRight:2},i&&this.renderPredicateInput(t,n)))}renderPredicateInput(t,r){var n;return(t==null?void 0:t.id)==="BooleanToggle"?Xo.createElement(vy.Flex,{className:"ab-FilterForm__predicate-input",flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center"},Xo.createElement(ye,{disabled:this.isFilterDisabled(),checked:r.Predicate.Inputs[0]==="true"?!0:r.Predicate.Inputs[0]==="false"?!1:null,onChange:i=>{let a=r.Predicate.Inputs[0]==="false"&&i===!0?"all":i===!0?"true":"false";this.changeColumnPredicateInput(a,0)}})):(n=t.inputs)==null?void 0:n.map((i,a)=>Xo.createElement(vy.Flex,{key:a,flexDirection:"row"},Xo.createElement(Vt,{disabled:this.isFilterDisabled(),type:i.type,autoFocus:a===0,value:r.Predicate.Inputs[a],onChange:s=>this.changeColumnPredicateInput(s.target.value,a),mb:1,flex:1,fontSize:2})))}isFilterDisabled(){var t;return Boolean((t=this.state.editedColumnFilter)==null?void 0:t.IsSuspended)}isFilterable(){return this.props.currentColumn.filterable?"":"Column is not filterable"}onSelectTab(t){this.setState({selectedTab:t})}onColumnValuesChange(t){let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:"Values",Inputs:t},this.setState({editedColumnFilter:r}),this.persistFilter()}persistFilter(){let{editedColumnFilter:t}=this.state;t.Predicate===void 0||t.Predicate.PredicateId==="Values"&&t.Predicate.Inputs.length===0?(this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId),this.onCloseForm()):this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(t)}onClearFilter(){let{editedColumnFilter:t}=this.state;t.Predicate=void 0,this.setState({editedColumnFilter:t}),this.persistFilter()}onFilterApplied(){this.props.onAddColumnFilter(this.state.editedColumnFilter),this.props.onHideFilterForm()}onCloseForm(){this.props.onHideFilterForm()}onMenuItemClick(t){t.reduxAction&&this.props.onMenuItemClick(t.reduxAction),t.onClick&&t.onClick(),this.props.onHideFilterForm()}selectColumnPredicate(t){var n;let{editedColumnFilter:r}=this.state;r.Predicate={PredicateId:t.id,Inputs:((n=t.inputs)!=null?n:[]).map(i=>{var a;return(a=i.defaultValue)!=null?a:""})},this.setState({editedColumnFilter:r}),this.persistFilter()}changeColumnPredicateInput(t,r){let{editedColumnFilter:n}=this.state;n.Predicate.Inputs[r]=t,this.setState({editedColumnFilter:n}),this.props.api.optionsApi.getFilterOptions().autoApplyFilter&&this.props.onSetColumnFilter(n)}};function Axt(o,e){return{currentColumn:e.currentColumn,columns:o.Grid.Columns,columnFilters:Im(o),showCloseButton:e.showCloseButton}}function xxt(o){return{onMenuItemClick:e=>o(e),onClearColumnFilter:e=>o(od(e)),onAddColumnFilter:e=>o(Tm(e)),onEditColumnFilter:e=>o(Jv(e)),onSetColumnFilter:e=>o(cF(e)),onHideFilterForm:()=>o(Kie())}}var Rxt=ot(Axt,xxt)(Ch),v7=o=>$i(Xo.createElement(Rxt,{api:o.Adaptable.api,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu,showCloseButton:o.ShowCloseButton}),o.Adaptable);var fNe=o=>{function e(n){return o.isDestroyed?!1:o.api.filterApi.getColumnFilters().findIndex(i=>i.ColumnId==n)>-1}function t(n,i){return{Column:o.api.columnApi.getColumnWithColumnId(n),Adaptable:o,ShowCloseButton:i}}function r(n){return"filter_"+n+"_"+o.adaptableOptions.adaptableId}return o.variant==="react"?(0,VA.forwardRef)(function(i,a){let[s,l]=(0,VA.useState)(null),u=i.column.getId(),p=o.api.columnApi.getColumnWithColumnId(u);return(0,VA.useImperativeHandle)(a,()=>({isFilterActive:()=>e(u),afterGuiAttached:c=>{var g;let m=(g=c==null?void 0:c.hidePopup)!=null?g:null,f=t(u,!!m);o.hideFilterFormPopup=m,l(f)},getModel:()=>{},setModel:()=>{},doesFilterPass:()=>!0})),!p||!s?null:mNe.createElement("div",{id:r(u)},v7(s))}):class{init(i){this.params=i,this.column=i.column,this.filterContainer=document.createElement("div"),this.filterContainer.id=r(this.params.column.getColId())}doesFilterPass(i){return!0}isFilterActive(){return e(this.params.column.getColId())}getModel(){}setModel(i){}getGui(){return this.filterContainer}afterGuiAttached(i){var s,l;if((s=this.unmountReactRoot)==null||s.call(this),o.api.columnApi.getColumnWithColumnId(this.column.getColId())){let u=(l=i==null?void 0:i.hidePopup)!=null?l:null,p=t(this.column.getColId(),!!u);o.hideFilterFormPopup=u,this.unmountReactRoot=o.renderReactRoot(v7(p),this.filterContainer)}}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var gNe=w(require("react")),qB=require("react");d();var hn=w(require("react")),b7=w(pv());var cP=w(re());d();var Aa=w(require("react")),BA=require("react");d();var S7=w(re());var hNe=o=>{let{api:e}=o,t=(0,BA.useRef)(!1),r=Aa.useRef(null),[n,i]=Aa.useState({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),[a,s]=Aa.useState(!1),[l,u]=Aa.useState(""),[p,c]=Aa.useState({counter:0}),[m,f]=Aa.useState(null),g=I=>{var P;let{columnFilter:D}=o;D.Predicate={PredicateId:D.Predicate.PredicateId,Inputs:I},(P=e.optionsApi.getFilterOptions())!=null&&P.autoApplyFilter?o.updateColumnFilter(D):f(D)};(0,BA.useEffect)(()=>{if(p.counter===0)return;let I=!1;return s(!0),e.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(o.columnFilter.ColumnId,l,e.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly).then(D=>{I||(i(R(v({},D),{dataLoadIsComplete:!0})),s(!1))}),()=>{I=!0}},[p]);let C=(0,BA.useCallback)(I=>{I?c(R(v({},p),{counter:p.counter+1})):(i({values:[],suppressClientSideFilter:!1,dataLoadIsComplete:!1}),u(""))},[p,n]),y=n.dataLoadIsComplete&&De.IsNullOrEmptyOrContainsSingleEmptyValue(n.values),b=()=>Aa.createElement(X,{disabled:!0,style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"}},"No Column Values");if(De.IsNullOrEmpty(o.columnFilter.Predicate.Inputs)&&y)return b();let S=I=>{u(I),n.suppressClientSideFilter&&c(R(v({},p),{counter:p.counter+1}))},A="mouseenter";o.quickFilterValuesTrigger==="click"&&(A="click");let x=o.columnFilter.Predicate.PredicateId==="Values"?"Select Values":"Exclude Values";o.columnFilter.Predicate.Inputs.length&&(x=o.columnFilter.Predicate.Inputs.map(I=>{var P,O;let D=(O=(P=n.values)==null?void 0:P.find(M=>I instanceof Date?or(I,M.value):M.value===I))==null?void 0:O.label;return D!=null?D:I}).join(", "));let E=o.api.optionsApi.getAdaptableOptions().filterOptions.quickFilterValuesWidth,T=I=>E==="auto"?Math.max(180,I):typeof E=="number"?E:null;return Aa.createElement(Na,{showEvent:A,hideEvent:"mouseleave",hideDelay:300,ref:I=>{r.current=I,o.registerValuesDropdownApi(I)},onVisibleChange:I=>{t.current!==I&&(t.current=I,C(I))},render:({targetWidth:I})=>{var D;return Aa.createElement(S7.Flex,{onMouseEnter:()=>{A==="click"&&requestAnimationFrame(()=>{var P;(P=r.current)==null||P.show()})},"data-name":"quick-filter-form",flexDirection:"column",style:{fontSize:"var(--ab-font-size-2)",border:"1px solid var(--ab-color-primarydark)",background:"var(--ab-color-defaultbackground)",zIndex:1e3,width:T(I)}},Aa.createElement(S7.Flex,{m:2},Aa.createElement(X,{onClick:()=>o.clearColumnFilter()},"Clear Filter"),((D=e.optionsApi.getFilterOptions())==null?void 0:D.autoApplyFilter)==!1&&Aa.createElement(X,{ml:2,onClick:()=>{m&&o.updateColumnFilter(m)}},"Apply Filter")),Aa.createElement(oA,{disabled:o.isFilterDisabled,suppressClientSideFilter:n.suppressClientSideFilter,isLoading:a,onFilterChange:S,currentColumn:o.currentColumn,columns:[],columnDistinctValues:n.values,dataType:o.currentColumn.dataType,uiSelectedColumnValues:o.columnFilter.Predicate.Inputs.filter(P=>P!==""),useAgGridStyle:!0,onColumnValueSelectedChange:P=>g(P)}))}},Aa.createElement(X,{"data-name":"Select Values",style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",borderRadius:0,borderLeftWidth:0,borderColor:"var(--ab-color-primarydark)"},disabled:o.isFilterDisabled||y},x))};var A7=class extends hn.Component{constructor(t){super(t);this.shouldOpenValuesDropdown=!1;this._isMounted=!1;this.debouncedAddFilter=(0,b7.default)(t=>this.props.onAddColumnFilter(t),this.props.quickFilterDebounce);this.debouncedEditFilter=(0,b7.default)(t=>this.props.onEditColumnFilter(t),this.props.quickFilterDebounce);this._isMounted=!0,this.state={transientColumnFilter:t.columnFilter}}static getDerivedStateFromProps(t,r){return R(v({},r),{transientColumnFilter:t.columnFilter})}componentWillUnmount(){this._isMounted=!1}isFilterDisabled(){return Boolean(this.props.columnFilter.IsSuspended)}render(){let{transientColumnFilter:t}=this.state,r=this.props.api.filterApi.getFilterPredicateDefsForColumn(this.props.currentColumn),n=this.props.api.predicateApi.getPredicateDefById(t==null?void 0:t.Predicate.PredicateId);if(!this.props.currentColumn||!this.props.currentColumn.filterable)return null;let i="mouseenter",a="mouseleave";this.props.quickFilterTrigger==="click"&&(i="click",a="blur");let s=!0,l=this.props.api.optionsApi.getFilterOptions().hideQuickFilterDropdown;l&&(s=!l(this.props.currentColumn));let u=!0,p=this.props.api.optionsApi.getFilterOptions().hideQuickFilterInput;return p&&(u=!p(this.props.currentColumn)),hn.createElement(hn.Fragment,null,s&&hn.createElement(Na,{className:"ab-QuickFilter",showEvent:i,hideEvent:a,preventPortalEventPropagation:i==="click",targetOffset:10,hideDelay:300,"data-name":"quick-filter-overlay",render:()=>hn.createElement(cP.Flex,{className:"ab-QuickFilter__dropdown",flexDirection:"column","data-name":"quick-filter",fontSize:2},(t==null?void 0:t.Predicate.PredicateId)&&hn.createElement(X,{p:2,variant:"text",onClick:()=>this.clearFilter()},hn.createElement("span",{style:{width:20,marginRight:10}},hn.createElement(Lt,{name:"delete"})),"Clear"),r.map(c=>hn.createElement(X,{"data-name":t.Predicate.PredicateId,disabled:this.isFilterDisabled(),key:c.id,p:2,variant:"text",tone:(t==null?void 0:t.Predicate.PredicateId)===c.id?"info":"none",onClick:()=>this.selectColumnPredicate(c.id)},hn.createElement("span",{style:{width:20,marginRight:10}},this.renderPredicateIcon(c)),c.label)))},hn.createElement(X,{"data-name":t.Predicate.PredicateId,style:{borderRadius:0,borderColor:"var(--ab-color-primarydark)"}},this.renderPredicateIcon(n))),u&&this.renderLabel(t,n),u&&this.renderPredicateInput(n,t))}renderLabel(t,r){return this.hasValuesPredicate(t==null?void 0:t.Predicate)?hn.createElement(hNe,{api:this.props.api,currentColumn:this.props.currentColumn,isFilterDisabled:this.isFilterDisabled(),columnFilter:t,clearColumnFilter:()=>this.clearFilter(),updateColumnFilter:n=>this.updateFilter(n),registerValuesDropdownApi:n=>{n&&this.shouldOpenValuesDropdown&&(n.show(),this.shouldOpenValuesDropdown=!1)},quickFilterValuesTrigger:this.props.quickFilterValuesTrigger}):r&&(r==null?void 0:r.inputs)===void 0&&hn.createElement(cP.Box,{color:this.isFilterDisabled()?void 0:"var(--ab-color-text-on-primary)",disabled:this.isFilterDisabled(),p:1,alignSelf:"center"},r.label)}renderPredicateIcon(t){if(!t||!t.icon)return hn.createElement(Lt,{name:"filter"});if("text"in t.icon)return hn.createElement("span",null,t.icon.text);if(PCe(t.icon))return hn.createElement(fi,{icon:t.icon})}renderPredicateInput(t,r){var n;return(t==null?void 0:t.id)==="BooleanToggle"?hn.createElement(cP.Flex,{flexDirection:"row",flex:1,justifyContent:"center",alignItems:"center",style:{position:"absolute",left:0,right:0,bottom:0,top:0}},hn.createElement(ye,{disabled:this.isFilterDisabled(),checked:r.Predicate.Inputs[0]==="checked"?!0:r.Predicate.Inputs[0]==="unchecked"?!1:null,onChange:i=>{let a=r.Predicate.Inputs[0]==="unchecked"&&i===!0?"all":i===!0?"checked":"unchecked";this.changeColumnPredicateInput(a,0)}})):(n=t==null?void 0:t.inputs)==null?void 0:n.map((i,a)=>{var s,l;return hn.createElement(Vt,{disabled:this.isFilterDisabled(),key:a,type:i.type==="number"?"text":i.type,autoFocus:!1,value:(l=(s=r.Predicate.Inputs)==null?void 0:s[a])!=null?l:"",onChange:u=>this.changeColumnPredicateInput(u.target.value,a),onKeyDownCapture:u=>{u.nativeEvent.key==="Escape"&&(u.nativeEvent.preventDefault(),u.nativeEvent.stopPropagation(),this.clearFilter())},style:{width:"100%",padding:"var(--ab-space-1)",borderRadius:0,borderLeftWidth:0}})})}onColumnValuesChange(t){var n;let r=v({},this.props.columnFilter);r.Predicate={PredicateId:r.Predicate.PredicateId,Inputs:t},(n=this.props.api.optionsApi.getFilterOptions())!=null&&n.autoApplyFilter?this.updateFilter(r):this.setState({transientColumnFilter:r})}selectColumnPredicate(t){var i;let r=v({},this.props.columnFilter),n=this.props.api.predicateApi.getPredicateDefById(t);r.Predicate={PredicateId:t,Inputs:((i=n.inputs)!=null?i:[]).map(a=>{var s;return(s=a.defaultValue)!=null?s:""})},this.updateFilter(r),(t==="Values"||t==="ExcludeValues")&&(this.shouldOpenValuesDropdown=!0)}updateFilter(t){this.setState({transientColumnFilter:t}),t.Uuid?this.debouncedEditFilter(t):this.debouncedAddFilter(t)}changeColumnPredicateInput(t,r){let n=this.getPredicateIdForShortcutValue(t);if(n)this.selectColumnPredicate(n);else{let i=v({},this.props.columnFilter);i.Predicate.Inputs=i.Predicate.Inputs||[],i.Predicate.Inputs[r]=t,this.updateFilter(i)}}getPredicateIdForShortcutValue(t){var r;return(r=this.props.api.filterApi.internalApi.findPredicateDefByShortcut(t,this.props.currentColumn))==null?void 0:r.id}clearFilter(){let t=v({},this.props.columnFilter);this.props.api.filterApi.clearColumnFilterForColumn(t.ColumnId)}hasValuesPredicate(t){return this.props.api.predicateApi.internalApi.hasPredicateValues(t)}};function wxt(o,e){let t=Im(o).find(n=>n.ColumnId==e.currentColumn.columnId);if(t)return t;let r=e.api.optionsApi.getFilterOptions();return!t&&e.currentColumn.dataType==="Number"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultNumericColumnFilter),[""]):!t&&e.currentColumn.dataType==="String"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultStringColumnFilter),[""]):!t&&e.currentColumn.dataType==="Date"?eo.CreateColumnFilter(e.currentColumn.columnId,gh(e.currentColumn,r.defaultDateColumnFilter),[""]):!t&&e.currentColumn.dataType==="Boolean"?eo.CreateColumnFilter(e.currentColumn.columnId,"BooleanToggle",["all"]):eo.CreateColumnFilter(e.currentColumn.columnId,null,null)}function Ext(o,e){return{currentColumn:e.currentColumn,columnFilter:wxt(o,e)}}function Txt(o){return{onAddColumnFilter:e=>o(Tm(e)),onEditColumnFilter:e=>o(Jv(e))}}var Pxt=ot(Ext,Txt)(A7),x7=o=>{var e,t,r;return $i(hn.createElement(Pxt,{api:o.Adaptable.api,quickFilterTrigger:(e=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:e.quickFilterTrigger,quickFilterValuesTrigger:(t=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:t.quickFilterValuesTrigger,quickFilterDebounce:(r=o.Adaptable.adaptableOptions.filterOptions)==null?void 0:r.quickFilterDebounce,currentColumn:o.Column,teamSharingActivated:!1,embedColumnMenu:o.Adaptable.embedColumnMenu}),o.Adaptable)};var R7={overflow:"hidden",minWidth:"0",height:"100%",display:"flex",alignItems:"stretch",position:"relative"},CNe=o=>{function e(n){return`floatingFilter_${n}_${o.adaptableOptions.adaptableId}`}function t(n){return{Column:o.api.columnApi.getColumnWithColumnId(n),Adaptable:o,ShowCloseButton:!1}}function r(n){n&&(n.parentElement.style.overflow="visible",n.parentElement.parentElement.style.padding="var(--ab-space-1)")}return o.variant==="react"?(0,qB.forwardRef)(function(i,a){let s=i.column.getId(),l=o.api.columnApi.getColumnWithColumnId(s);return(0,qB.useImperativeHandle)(a,()=>({onParentModelChanged(){}})),l?gNe.createElement("div",{ref:r,id:e(s),style:R7},x7(t(s))):null}):class{onParentModelChanged(i,a){}afterGuiAttached(){r(this.filterContainer)}init(i){let a=i.column.getColId();if(this.filterContainer=document.createElement("div"),this.filterContainer.id=e(a),Object.keys(R7).forEach(l=>{this.filterContainer.style[l]=R7[l]}),o.api.columnApi.getColumnWithColumnId(a)){let l=t(a);this.unmountReactRoot=o.renderReactRoot(x7(l),this.filterContainer)}}getGui(){return this.filterContainer}destroy(){var i;(i=this.unmountReactRoot)==null||i.call(this),this.filterContainer=null}}};d();var $B=w(require("react"));d();var Gl=w(require("react"));var Ixt={position:"absolute",left:0,top:0,right:0,bottom:0},Dxt=R(v({},Ixt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Oxt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},w7=Gl.forwardRef(function(e,t){var l;let r=Gl.useRef(null),n=()=>{var u;(u=r.current)==null||u.focus()},[i,a]=ko(e,"value",e.defaultValue,{onChange:u=>{var p;u!==""&&u==Number(u)&&(u=Number(u)),(p=e.onValueChange)==null||p.call(e,u)}});Gl.useImperativeHandle(t,()=>({focus:n,setValue:a}));let s=e.showClearButton&&e.emptyValue!=null&&i!=e.emptyValue;return Gl.createElement("div",{style:Dxt,onKeyDown:u=>{u.key==="Tab"&&s&&document.activeElement===r.current&&u.stopPropagation()}},Gl.createElement("input",{type:(l=e.type)!=null?l:"number",value:i,onChange:Gl.useCallback(u=>{a(u.target.value)},[]),style:Oxt,ref:r}),s?Gl.createElement("div",{style:{display:"inline-block",marginRight:"var(--ab-space-1)",marginLeft:"var(--ab-space-1)"},onClick:u=>{e.emptyValue!=null&&(a(e.emptyValue),u.stopPropagation(),n())},onKeyDown:u=>{e.emptyValue!=null&&u.key==="Enter"&&(a(e.emptyValue),u.stopPropagation(),n())}},Gl.createElement(Lt,{size:18,name:"clear",tabIndex:0})):null)});var Jc=require("react");function Fxt(o){return o.eventKey===me.BACKSPACE||o.eventKey===me.DELETE}function _xt(o){return["0","1","2","3","4","5","6","7","8","9"].includes(o)}function yNe(o){return Fxt(o)?"":o.charPress&&_xt(o.charPress)?o.charPress:o.value}var vNe=({newValue:o,oldValue:e})=>o,E7={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},SNe=(0,Jc.forwardRef)((o,e)=>{var m,f;let[t]=(0,Jc.useState)(()=>yNe(o)),r=(0,Jc.useRef)(t),n=o.column.getColId(),i=o.api.__adaptable,a=o.column.getColDef().valueParser,s=typeof a=="function"?a:vNe;function l(g){g=s?s(R(v({},o),{oldValue:o.value,newValue:g})):g,r.current=g}let u=(0,Jc.useRef)(null);(0,Jc.useImperativeHandle)(e,()=>({focusIn(){var g;(g=u.current)==null||g.focus()},getValue(){return r.current}}));let p=$B.createElement(w7,{defaultValue:t,showClearButton:(m=o.showClearButton)!=null?m:!0,emptyValue:(f=o.emptyValue)!=null?f:"",onValueChange:l,ref:g=>{u.current=g,g==null||g.focus()}});function c(g){i._emit("CellEditorKeyDown",{keyDownEvent:g,cellValue:r.current,columnId:n,updateValueCallback:C=>{u.current.setValue(C)}})}return $B.createElement("div",{style:E7,onKeyDown:c},$i(p,i))}),mP=class{constructor(){this.valueParser=vNe;this.onValueChange=e=>{this.value=this.valueParser?this.valueParser(R(v({},this.params),{oldValue:this.params.value,newValue:e})):e}}init(e){this.value=yNe(e),this.params=e,this.columnId=e.column.getColId();let{valueParser:t}=e.column.getColDef();typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(E7).forEach(r=>{this.el.style[r]=E7[r]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}afterGuiAttached(){var n,i;let e=this.params.api.__adaptable,t=this.value,r=$B.createElement(w7,{defaultValue:t,showClearButton:(n=this.params.showClearButton)!=null?n:!0,emptyValue:(i=this.params.emptyValue)!=null?i:"",onValueChange:this.onValueChange,ref:a=>{this.editor=a,a==null||a.focus()}});this.unmountReactRoot=e.renderReactRoot($i(r,e),this.el),this.getGui().addEventListener("keydown",a=>{e._emit("CellEditorKeyDown",{keyDownEvent:a,cellValue:this.value,columnId:this.columnId,updateValueCallback:s=>{this.editor.setValue(s)}})})}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var XB=w(require("react"));d();var ku=w(require("react"));var Mxt={position:"absolute",left:0,top:0,right:0,bottom:0},Nxt=R(v({},Mxt),{boxSizing:"border-box",display:"flex",flexDirection:"row",alignItems:"center"}),Lxt={position:"relative",background:"transparent",boxSizing:"border-box",minWidth:0,outline:"none",width:"100%",border:"none"},T7=ku.forwardRef((o,e)=>{var l;let t=ku.useRef(null),r=()=>{var u;(u=t.current)==null||u.focus()},[n,i]=ko(o,"value",o.defaultValue,{onChange:u=>{var p,c;if(u===""||u==null)(p=o.onValueChange)==null||p.call(o,null);else{let m=typeof u=="string"?tg(u):new Date(u);(c=o.onValueChange)==null||c.call(o,m)}}});ku.useImperativeHandle(e,()=>({focus:r}));let a=cO(n,o.dateFormat),s=ku.useCallback(u=>{i(u.target.value)},[]);return ku.createElement("div",{style:Nxt},ku.createElement(TK.Provider,{value:{onHide:u=>{var p;(p=o.onStopEdit)==null||p.call(o,u)},onShow:()=>{},showClearButton:(l=o.showClearButton)!=null?l:!0}},ku.createElement(Vt,{type:"date",value:a,onChange:s,style:Lxt,ref:t})))});var em=require("react");function bNe(o){return o.eventKey===me.BACKSPACE||o.eventKey===me.DELETE}function ANe(o){return bNe(o)?"":o.value}var P7={position:"absolute",top:"0px",left:"0px",right:"0px",bottom:"0px"},xNe=({newValue:o,oldValue:e,defaultParser:t})=>(typeof e=="string"||e==null)&&t?t(o):o,RNe=(0,em.forwardRef)((o,e)=>{var u;let[t]=(0,em.useState)(()=>ANe(o)),r=(0,em.useRef)(t),n=o.column.getColDef().valueParser,i=typeof n=="function"?n:xNe,a=o.api.__adaptable,s=(0,em.useRef)(null);(0,em.useImperativeHandle)(e,()=>({focusIn(){var p;(p=s.current)==null||p.focus()},getValue(){return r.current}}));let l=XB.createElement(T7,{defaultValue:t,dateFormat:a.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:p=>{let c=isNaN(+p);if(i){let m=R(v({},o),{oldValue:o.value,newValue:p,defaultParser:f=>{var C,y;let g=(y=(C=a.adaptableOptions.userInterfaceOptions)==null?void 0:C.dateInputOptions)==null?void 0:y.dateFormat;return g?Bi(f,{Pattern:g}):f}});r.current=i(m)}else r.current=c?null:p;c||requestAnimationFrame(()=>{o.stopEditing()})},showClearButton:(u=o.showClearButton)!=null?u:!0,onStopEdit:p=>{p==="Escape"?o.api.stopEditing(!0):o.stopEditing()},ref:p=>{s.current=p,p==null||p.focus()}});return XB.createElement("div",{style:P7},$i(l,a))}),fP=class{constructor(){this.valueParser=xNe}init(e){this.value=ANe(e);let{valueParser:t}=e.column.getColDef();this.params=e,typeof t=="function"&&(this.valueParser=t),this.el=document.createElement("div"),Object.keys(P7).forEach(r=>{this.el.style[r]=P7[r]})}getGui(){return this.el}getValue(){return this.value}focusIn(){var e;(e=this.editor)==null||e.focus()}focusOut(){}getAdaptableInstance(e){return e.api.__adaptable}afterGuiAttached(){var n;let e=this.getAdaptableInstance(this.params),t=bNe(this.params)?"":this.params.value,r=XB.createElement(T7,{defaultValue:t,dateFormat:e.adaptableOptions.userInterfaceOptions.dateInputOptions.dateFormat,onValueChange:i=>{let a=isNaN(+i);if(this.valueParser){let s=R(v({},this.params),{oldValue:this.params.value,newValue:i,defaultParser:l=>{var p,c;let u=(c=(p=e.adaptableOptions.userInterfaceOptions)==null?void 0:p.dateInputOptions)==null?void 0:c.dateFormat;return u?Bi(l,{Pattern:u}):l}});this.value=this.valueParser(s)}else this.value=a?null:i;a||requestAnimationFrame(()=>{this.params.stopEditing()})},showClearButton:(n=this.params.showClearButton)!=null?n:!0,onStopEdit:i=>{i==="Escape"?this.params.api.stopEditing(!0):this.params.stopEditing()},ref:i=>{this.editor=i,i==null||i.focus()}});this.unmountReactRoot=e.renderReactRoot($i(r,e),this.el)}destroy(){var e;(e=this.unmountReactRoot)==null||e.call(this)}};d();var wNe=1683896553708;d();var ENe="AdaptableStatusPanel";d();var ZB=w(require("react"));var TNe=(o,e,t)=>e.variant==="react"?r=>{let n=$i(ZB.createElement(o,{params:r,adaptableApi:e.api,context:t}),e);return ZB.createElement("div",{className:"ab-StatusBar",ref:i=>{i&&(i.parentElement.style.display="flex")}},n)}:class{init(n){this.params=n,this.eGui=document.createElement("div"),this.eGui.classList.add("ab-StatusBar"),this.render()}render(){let n={params:this.params,adaptableApi:e.api,context:t},i=$i(ZB.createElement(o,n),e);this.unmountReactRoot=e.renderReactRoot(i,this.eGui)}getGui(){return this.eGui}destroy(){var n;(n=this.unmountReactRoot)==null||n.call(this)}};d();var yh=w(require("react"));var PNe=w(re());var INe=o=>{var s;let e=Dt(l=>l),t=jv(e),r=ne(),n=at(),i=t.find(l=>l.Key===o.context.Key),a=Dt(l=>{var u;return(u=l==null?void 0:l.Grid)==null?void 0:u.SettingPanelModuleMenuItems});return yh.createElement(PNe.Flex,{className:"ab-StatusBar-Panel","data-id":o.context.Key},(s=i==null?void 0:i.StatusBarPanels)==null?void 0:s.map(l=>{var f,g,C,y,b,S;let u=r.ModuleService.getModuleById(l);if(!u)return yh.createElement(yh.Fragment,{key:l});if(!u.isModuleAvailable())return yh.createElement(yh.Fragment,{key:l});let p=(y=(C=(g=(f=u.getViewProperties)==null?void 0:f.call(u))==null?void 0:g.getStatusBarPanelProps)==null?void 0:C.call(g))!=null?y:{},c=u.moduleInfo,m=(b=p.onAction)!=null?b:()=>{let A=a.find(x=>x.module===l);A!=null&&A.reduxAction&&n(A.reduxAction)};return yh.createElement(TA,R(v({"data-name":l},p),{tooltip:c.FriendlyName,onAction:m,icon:(S=p.icon)!=null?S:c.Glyph,key:l}))}))};d();var JB=class{constructor(e){this.adaptableApi=e;let t=this.adaptableApi.internalApi.getAdaptableInstance();t.adaptableOptions.actionOptions.actionRowButtonOptions.autoHandle&&t.api.eventApi.on("ActionRowSubmitted",r=>this.autoHandleActionRowButtons(r))}autoHandleActionRowButtons(e){let{adaptableApi:t}=e;if(e.type==="rowEdited"){let{rowNode:r,formData:n}=e,i=v(v({},r.data),n);t.gridApi.updateGridData([i])}if(e.type==="rowDeleted"){let{rowNode:r}=e,n=r.data;t.gridApi.deleteGridData([n])}if(e.type==="rowCreated"){let{formData:r}=e,n=t.internalApi.getAdaptableInstance().adaptableOptions.actionOptions.actionRowButtonOptions.setPrimaryKeyValue,i=typeof n=="function"?n({rowData:r,adaptableApi:t}):v({},r),a={addIndex:0};t.gridApi.addGridData([i],a)}}};d();var eG=w(require("react-dom")),FNe=console.error,kxt=(o,e)=>(eG.render(o,e),()=>{eG.unmountComponentAtNode(e)});function DNe(){console.error=(o,...e)=>{if(!(o&&typeof o=="string"&&(o.includes("Warning: ReactDOM.render is no longer supported in React 18.")||o.includes("Warning: Attempted to synchronously unmount a root while React was already rendering"))))return FNe.call(console,o,...e)}}function ONe(){console.error=FNe}var I7=(o,e,t)=>{t&&DNe();let r=kxt(o,e);return t&&ONe(),()=>{t&&DNe(),r(),t&&ONe()}};d();var tG=class{constructor(e){this.api=e}onChartModelChange(e,t,r){let n=this.api.chartingApi.getChartDefinitions(),i=e.find(s=>s.chartId===r.chartId),a=n.find(s=>s.Model.chartId===r.chartId);switch(t){case N.EVENT_CHART_CREATED:let s=r;if(!n.some(u=>u.Model.chartId===s.chartId)){let u=e.find(p=>p.chartId===s.chartId);this.saveNewChart(u)}break;case N.EVENT_CHART_OPTIONS_CHANGED:case N.EVENT_CHART_RANGE_SELECTION_CHANGED:if(!a)break;let l=R(v({},a),{Model:i});this.api.chartingApi.editChartDefinition(l);break}this.api.internalApi.dispatchReduxAction(qie(e)),this.emitAdaptableChartDefinitonChange()}emitAdaptableChartDefinitonChange(){let t={chartingOpenState:this.api.chartingApi.getChartingOpenState(),adaptableApi:this.api};this.api.eventApi.emit("ChartChanged",t)}saveNewChart(e){var n,i;let r=(i=((n=this.api.optionsApi.getChartingOptions())!=null?n:{}).saveStrategy)!=null?i:"manual";if(r!=="none")if(r==="manual"){let a={alertType:"generic",header:"Save chart",message:"Do you want to save this Chart?",alertDefinition:R(v({},Ke.CreateEmptyAlertDefinition()),{MessageType:"Info",AlertProperties:{DisplayNotification:!0,NotificationDuration:"always"},AlertForm:{Buttons:[{Label:"Save",Action:s=>{let l=s.formData.name||e.chartId;this.api.chartingApi.addChartDefinition(Ke.CreateEmptyChartDefinition({Name:l,Model:e}))},ButtonStyle:{tone:"info",variant:"raised"}},{Label:"Dismiss",ButtonStyle:{tone:"neutral",variant:"raised"}}],fields:[{name:"name",label:"Name",fieldType:"text"}]}})};this.api.alertApi.showAdaptableAlert(a)}else r==="auto"&&this.api.chartingApi.addChartDefinition(Ke.CreateEmptyChartDefinition({Name:e.chartId,Model:e}))}destroy(){this.api=null}};d();var oG=class{constructor(e){this.unsubscribe=()=>{};this.onThemeChanged=()=>{let e=this.api.themeApi.getCurrentThemeObject();this.applyNewThemeVariables(e),this.showMissingThemeFiles(e)};var t;this.api=e,this.subscribe(),this.styleSheetObject||(this.styleSheetObject=new CSSStyleSheet,document.adoptedStyleSheets=[...(t=document.adoptedStyleSheets)!=null?t:[],this.styleSheetObject])}subscribe(){let e=this.api.eventApi.on("ThemeChanged",this.onThemeChanged),t=this.api.eventApi.on("ThemeEdited",this.onThemeChanged);this.unsubscribe=()=>{e(),t()}}applyNewThemeVariables(e){let t=e.CSSVariables;if(!t||Object.keys(t).length===0)return;let r=`html.${this.api.themeApi.internalApi.getThemeClassName(e.Name)} {
|
|
571
571
|
--ab-theme-loaded: ab--theme-${e.Name};
|
|
572
572
|
`;for(let[n,i]of Object.entries(t))n.includes("--")&&(r+=`${n}: ${i};`);r+="}",this.styleSheetObject.replaceSync(r)}destroy(){this.api=null,this.unsubscribe(),document.adoptedStyleSheets=[...document.adoptedStyleSheets].filter(e=>e!==this.styleSheetObject)}showMissingThemeFiles(e){if(e.Source==="User")return;let t=e.Name,n=this.api.internalApi.getAdaptableInstance().logger,i=document.documentElement,a=getComputedStyle(i),[s,l]=["--ab-loaded","--ab-theme-loaded"].map(u=>{let p=a.getPropertyValue(u);return typeof p=="string"&&p.trim&&(p=p.trim()),p});s!=="777"&&n.consoleError('Please import Adaptable styles from "@adaptabletools/adaptable/index.css"'),l!==t&&n.consoleWarn(`Theme "${t}" doesn't seem to be loaded! Make sure you import the css file for the "${t}" theme!
|
|
573
573
|
|