@openmfp/webcomponents 0.18.5 → 0.18.7

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.
@@ -138,5 +138,5 @@ design guidelines, please use the \`ui5-button\` component.
138
138
  design guidelines, please use the \`ui5-button\` component.
139
139
  **Note:** When the slot is not present, a built-in delete button will be displayed.`,since:"1.9.0"}],this.elementRef=M(U1),this.injector=M(n0)}get element(){return this.elementRef.nativeElement}ngAfterViewInit(){let t=this.element,i=["text","additionalText","icon","disabled","loading","loadingDelay","accessibleName","tooltip","checked","accessibilityAttributes","type","navigated","highlight","selected"];for(let r of i){let n=r.replace(/-./g,s=>s[1].toUpperCase());this[n]&&typeof this[n]=="function"&&u5(this.injector,()=>{H0(()=>{let s=this[n]();t&&(t[r]=s)})})}let o=["ui5BeforeOpen","ui5Open","ui5BeforeClose","ui5Close","ui5Check","ui5DetailClick"];for(let r of o){let n=r.replace("ui5","").replace(/([A-Z])/g,"-$1").toLowerCase().substring(1);this[r]&&typeof this[r].emit=="function"&&t.addEventListener&&t.addEventListener(n,s=>{this[r].emit(s)})}}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=J1({type:e,selectors:[["ui5-menu-item"],["","ui5-menu-item",""]],inputs:{text:[1,"text"],additionalText:[1,"additionalText"],icon:[1,"icon"],disabled:[1,"disabled"],loading:[1,"loading"],loadingDelay:[1,"loadingDelay"],accessibleName:[1,"accessibleName"],tooltip:[1,"tooltip"],checked:[1,"checked"],accessibilityAttributes:[1,"accessibilityAttributes"],type:[1,"type"],navigated:[1,"navigated"],highlight:[1,"highlight"],selected:[1,"selected"]},outputs:{ui5BeforeOpen:"ui5BeforeOpen",ui5Open:"ui5Open",ui5BeforeClose:"ui5BeforeClose",ui5Close:"ui5Close",ui5Check:"ui5Check",ui5DetailClick:"ui5DetailClick"},exportAs:["ui5MenuItem"],ngContentSelectors:OD,decls:1,vars:0,template:function(t,i){t&1&&(L0(),C0(0))},encapsulation:2,changeDetection:0})}}return e})(),PD=["*"],FD=(()=>{class e{constructor(){this.elementRef=M(U1),this.injector=M(n0)}get element(){return this.elementRef.nativeElement}ngAfterViewInit(){let t=this.element}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=J1({type:e,selectors:[["ui5-menu-separator"],["","ui5-menu-separator",""]],exportAs:["ui5MenuSeparator"],ngContentSelectors:PD,decls:1,vars:0,template:function(t,i){t&1&&(L0(),C0(0))},encapsulation:2,changeDetection:0})}}return e})(),UD="action-settings",qD="M0 7c0-.292.094-.531.281-.719A.973.973 0 0 1 1 6h.813a2.68 2.68 0 0 1 .171-.484c.073-.157.151-.318.235-.485l-.594-.562a1.043 1.043 0 0 1-.281-.719c0-.27.093-.5.281-.688l1.438-1.437a.935.935 0 0 1 .687-.281c.292 0 .531.093.719.281l.562.594c.167-.084.328-.162.485-.235A2.68 2.68 0 0 1 6 1.813V1c0-.292.094-.531.281-.719A.973.973 0 0 1 7 0h2c.292 0 .531.094.719.281A.973.973 0 0 1 10 1v.813c.167.062.328.125.484.187.157.063.308.135.454.219l.593-.594a.974.974 0 0 1 .719-.281c.27 0 .5.093.688.281l1.437 1.438a.935.935 0 0 1 .281.687c0 .27-.094.51-.281.719l-.594.593c.167.271.292.584.375.938H15c.292 0 .531.094.719.281A.973.973 0 0 1 16 7v2a.973.973 0 0 1-.281.719A.974.974 0 0 1 15 10h-.844a3.68 3.68 0 0 1-.375.938l.594.593c.188.209.281.448.281.719 0 .27-.094.5-.281.688l-1.438 1.437a.935.935 0 0 1-.687.281.974.974 0 0 1-.719-.281l-.594-.594a3.62 3.62 0 0 1-.453.219 22.56 22.56 0 0 1-.484.188V15a.974.974 0 0 1-.281.719A.973.973 0 0 1 9 16H7a.973.973 0 0 1-.719-.281A.974.974 0 0 1 6 15v-.813a2.683 2.683 0 0 1-.484-.171 19.641 19.641 0 0 1-.485-.235l-.562.594a.973.973 0 0 1-.719.281.94.94 0 0 1-.688-.281l-1.437-1.438a.935.935 0 0 1-.281-.687c0-.27.093-.51.281-.719l.594-.562a20.151 20.151 0 0 1-.235-.485A2.68 2.68 0 0 1 1.813 10H1a.973.973 0 0 1-.719-.281A.973.973 0 0 1 0 9V7Zm1 0v2h1.531c.063.208.12.39.172.547.052.156.11.307.172.453.063.167.14.338.234.516.094.177.204.39.329.64L2.343 12.25l1.406 1.406 1.094-1.094c.354.209.708.386 1.062.532.354.146.719.27 1.094.375V15h2v-1.563c.208-.062.39-.12.547-.171.156-.053.307-.1.453-.141.167-.083.344-.167.531-.25a8.68 8.68 0 0 0 .625-.313l1.094 1.094 1.406-1.406-1.094-1.125c.188-.354.35-.703.485-1.047s.265-.703.39-1.078H15V7h-1.563a9.505 9.505 0 0 0-.874-2.125l1.093-1.125-1.406-1.406-1.094 1.094a7.478 7.478 0 0 0-1.047-.516A9.907 9.907 0 0 0 9 2.562V1H7v1.531l-.516.172c-.156.052-.317.11-.484.172l-.563.25a5.519 5.519 0 0 0-.593.313L3.75 2.343 2.344 3.75l1.094 1.094A12.821 12.821 0 0 0 2.53 7H1Zm4.219 0 .093-.281a3.48 3.48 0 0 1 .22-.375c.083-.125.176-.24.28-.344.209-.208.396-.37.563-.484A3.49 3.49 0 0 1 7 5.187a3.55 3.55 0 0 1 1-.156c.354 0 .688.063 1 .188l.281.093.375.25c.125.084.24.178.344.282a.559.559 0 0 1 .156.156c.271.25.469.583.594 1 .125.313.188.646.188 1s-.063.688-.188 1a2.41 2.41 0 0 1-.594 1 .56.56 0 0 1-.156.156 2.25 2.25 0 0 1-.344.281l-.375.25-.281.094a2.665 2.665 0 0 1-1 .188 3.55 3.55 0 0 1-1-.156 3.454 3.454 0 0 1-.625-.329A4.164 4.164 0 0 1 5.812 10a2.249 2.249 0 0 1-.28-.344 3.496 3.496 0 0 1-.22-.375L5.22 9a2.667 2.667 0 0 1-.188-1c0-.354.063-.688.188-1Zm.812 1c0 .354.089.682.266.984A1.9 1.9 0 0 0 7 9.688c.292.187.625.28 1 .28.125 0 .292-.02.5-.062a2.42 2.42 0 0 0 .656-.328c.188-.135.354-.328.5-.578.188-.292.281-.625.281-1 0-.396-.093-.73-.28-1a1.843 1.843 0 0 0-.5-.578 2.42 2.42 0 0 0-.657-.328A2.69 2.69 0 0 0 8 6.03c-.375 0-.708.094-1 .282a1.897 1.897 0 0 0-.703.703c-.177.302-.266.63-.266.984Z",jD=!1,WD=fa,GD="0 0 16 16",$D="SAP-icons-v4",KD="@ui5/webcomponents-icons";L(UD,{pathData:qD,ltr:jD,viewBox:GD,accData:WD,collection:$D,packageName:KD});var XD="action-settings",YD="M8.549 0a1.757 1.757 0 0 1 1.568 1.49l.121.805a.251.251 0 0 0 .123.18l1.238.715a.252.252 0 0 0 .217.017l.755-.298a1.75 1.75 0 0 1 2.156.754v.001l.387.673a1.75 1.75 0 0 1-.423 2.244l-.617.49a.251.251 0 0 0-.094.196v1.465c0 .076.035.148.094.196l.616.49c.677.54.858 1.495.425 2.245l-.387.673h-.001a1.75 1.75 0 0 1-2.155.755l-.757-.298a.251.251 0 0 0-.217.016l-1.238.715a.251.251 0 0 0-.122.18l-.12.806A1.75 1.75 0 0 1 8.387 16H7.61a1.75 1.75 0 0 1-1.698-1.333l-.16-1.013a.25.25 0 0 0-.122-.18l-1.184-.684a.251.251 0 0 0-.216-.016l-.803.317a1.75 1.75 0 0 1-2.156-.754l-.387-.675-.001.001a1.753 1.753 0 0 1 .425-2.244l.695-.555A.25.25 0 0 0 2.1 8.67V7.33a.25.25 0 0 0-.095-.195L1.31 6.58a1.753 1.753 0 0 1-.425-2.244l.388-.674a1.75 1.75 0 0 1 2.156-.754l.802.317c.07.027.15.02.216-.017l1.185-.685a.25.25 0 0 0 .122-.18l.16-1.011A1.75 1.75 0 0 1 7.611 0h.938Zm-.982 1.504a.25.25 0 0 0-.19.164l-.14.9a1.75 1.75 0 0 1-.855 1.255l-1.185.685a1.752 1.752 0 0 1-1.516.113l-.803-.315a.25.25 0 0 0-.307.107l-.388.673a.253.253 0 0 0 .06.321l.696.555c.416.332.66.835.66 1.368v1.34a1.75 1.75 0 0 1-.66 1.368l-.695.555a.251.251 0 0 0-.061.321l.387.674a.25.25 0 0 0 .308.107l.802-.315a1.752 1.752 0 0 1 1.517.112l1.185.685c.461.266.775.729.854 1.256l.14.9a.25.25 0 0 0 .235.168h.777a.25.25 0 0 0 .246-.213l.121-.806a1.75 1.75 0 0 1 .855-1.255l1.238-.716a1.751 1.751 0 0 1 1.516-.114l.757.298c.1.04.213.01.28-.07l.415-.71a.25.25 0 0 0-.06-.321l-.617-.492a1.751 1.751 0 0 1-.66-1.369V7.267c0-.533.244-1.037.66-1.369l.616-.49a.25.25 0 0 0 .06-.321l-.387-.675a.249.249 0 0 0-.307-.106l-.758.297a1.75 1.75 0 0 1-1.515-.114L9.61 3.773a1.75 1.75 0 0 1-.855-1.255l-.121-.805a.25.25 0 0 0-.201-.21h-.866ZM8 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z",QD=!1,JD=fa,eR="0 0 16 16",tR="SAP-icons-v5",aR="@ui5/webcomponents-icons";L(XD,{pathData:YD,ltr:QD,viewBox:eR,accData:JD,collection:tR,packageName:aR});var iR="menu2",oR="M1 4.01a.96.96 0 0 1-.703-.298A.969.969 0 0 1 0 3.005c0-.293.099-.534.297-.722A.985.985 0 0 1 1 2h14a.97.97 0 0 1 .719.283.981.981 0 0 1 .281.722.996.996 0 0 1-.281.707.944.944 0 0 1-.719.298H1Zm0 4.995c-.27 0-.505-.1-.703-.298A.969.969 0 0 1 0 8c0-.293.099-.534.297-.723A.985.985 0 0 1 1 6.995h14a.97.97 0 0 1 .719.282c.187.189.281.43.281.723a.996.996 0 0 1-.281.707.944.944 0 0 1-.719.298H1ZM1 14c-.27 0-.505-.1-.703-.298A.969.969 0 0 1 0 12.995c0-.293.099-.534.297-.723A.986.986 0 0 1 1 11.99h14c.292 0 .531.095.719.283.187.189.281.43.281.723a.996.996 0 0 1-.281.707A.945.945 0 0 1 15 14H1Z",rR=!1,nR="0 0 16 16",sR="SAP-icons-v4",cR="@ui5/webcomponents-icons";L(iR,{pathData:oR,ltr:rR,viewBox:nR,collection:sR,packageName:cR});var lR="menu2",hR="M15.25 12.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Zm0-5.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Zm0-5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Z",dR=!1,uR="0 0 16 16",_R="SAP-icons-v5",pR="@ui5/webcomponents-icons";L(lR,{pathData:hR,ltr:dR,viewBox:uR,collection:_R,packageName:pR});var I0={alwaysShowResizeHandle:"mobile",animate:!0,auto:!0,cellHeight:"auto",cellHeightThrottle:100,cellHeightUnit:"px",column:12,draggable:{handle:".grid-stack-item-content",appendTo:"body",scroll:!0},handle:".grid-stack-item-content",itemClass:"grid-stack-item",margin:10,marginUnit:"px",maxRow:0,minRow:0,placeholderClass:"grid-stack-placeholder",placeholderText:"",removableOptions:{accept:"grid-stack-item",decline:"grid-stack-non-removable"},resizable:{handles:"se"},rtl:"auto"},H=class{},l5=typeof window<"u"&&typeof document<"u"&&("ontouchstart"in document||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0&&window.matchMedia("(any-pointer: coarse)").matches||navigator.msMaxTouchPoints>0),D0=class{};function p4(e,a){e.touches.length>1||(e.cancelable&&e.preventDefault(),f.simulateMouseEvent(e.changedTouches[0],a))}function op(e,a){e.cancelable&&e.preventDefault(),f.simulateMouseEvent(e,a)}function v4(e){D0.touchHandled||(D0.touchHandled=!0,p4(e,"mousedown"))}function m4(e){D0.touchHandled&&p4(e,"mousemove")}function f4(e){if(!D0.touchHandled)return;D0.pointerLeaveTimeout&&(window.clearTimeout(D0.pointerLeaveTimeout),delete D0.pointerLeaveTimeout);let a=!!H.dragElement;p4(e,"mouseup"),a||p4(e,"click"),D0.touchHandled=!1}function g4(e){e.pointerType!=="mouse"&&e.target.releasePointerCapture(e.pointerId)}function El(e){H.dragElement&&e.pointerType!=="mouse"&&op(e,"mouseenter")}function Il(e){H.dragElement&&e.pointerType!=="mouse"&&(D0.pointerLeaveTimeout=window.setTimeout(()=>{delete D0.pointerLeaveTimeout,op(e,"mouseleave")},10))}var vR=(()=>{class e{constructor(t,i,o){this.host=t,this.dir=i,this.option=o,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){if(this.option.element)try{this.el=this.option.element instanceof HTMLElement?this.option.element:this.host.querySelector(this.option.element)}catch(t){this.option.element=void 0,console.error("Query for resizeable handle failed, falling back",t)}return this.el||(this.el=document.createElement("div"),this.host.appendChild(this.el)),this.el.classList.add("ui-resizable-handle"),this.el.classList.add(`${e.prefix}${this.dir}`),this.el.addEventListener("mousedown",this._mouseDown),l5&&(this.el.addEventListener("touchstart",v4),this.el.addEventListener("pointerdown",g4)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),l5&&(this.el.removeEventListener("touchstart",v4),this.el.removeEventListener("pointerdown",g4)),this.option.element||this.host.removeChild(this.el),this}_mouseDown(t){this.mouseDownEvent=t,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),l5&&(this.el.addEventListener("touchmove",m4),this.el.addEventListener("touchend",f4)),t.stopPropagation(),t.preventDefault()}_mouseMove(t){let i=this.mouseDownEvent;this.moving?this._triggerEvent("move",t):Math.abs(t.x-i.x)+Math.abs(t.y-i.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",t),document.addEventListener("keydown",this._keyEvent)),t.stopPropagation()}_mouseUp(t){this.moving&&(this._triggerEvent("stop",t),document.removeEventListener("keydown",this._keyEvent)),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),l5&&(this.el.removeEventListener("touchmove",m4),this.el.removeEventListener("touchend",f4)),delete this.moving,delete this.mouseDownEvent,t.stopPropagation(),t.preventDefault()}_keyEvent(t){t.key==="Escape"&&(this.host.gridstackNode?.grid?.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(t,i){let o=this.option;return o[t]&&o[t](i),this}}return e.prefix="ui-resizable-",e})(),l9=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(e,a){this._eventRegister[e]=a}off(e){delete this._eventRegister[e]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){this._eventRegister={}}triggerEvent(e,a){if(!this.disabled&&this._eventRegister[e])return this._eventRegister[e](a)}},mR=(()=>{class e extends l9{constructor(t,i={}){super(),this.el=t,this.option=i,this.rectScale={x:1,y:1},this._ui=()=>{let o=this.el.parentElement.getBoundingClientRect(),r={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},n=this.temporalRect||r;return{position:{left:this.option.rtl?(o.right-n.right)*this.rectScale.x:(n.left-o.left)*this.rectScale.x,top:(n.top-o.top)*this.rectScale.y},size:{width:n.width*this.rectScale.x,height:n.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(!!this.option.autoHide),this._setupHandlers()}on(t,i){super.on(t,i)}off(t){super.off(t)}enable(){super.enable(),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(!!this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(t){let i=t.handles&&t.handles!==this.option.handles,o=t.autoHide&&t.autoHide!==this.option.autoHide;return Object.assign(this.option,t),i&&(this._removeHandlers(),this._setupHandlers()),o&&this._setupAutoHide(!!this.option.autoHide),this}_setupAutoHide(t){return t?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut),H.overResizeElement===this&&delete H.overResizeElement),this}_mouseOver(t){H.overResizeElement||H.dragElement||(H.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(t){H.overResizeElement===this&&(delete H.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){return this.handlers=(this.option.handles??"se").split(",").map(t=>t.trim()).map(t=>new vR(this.el,t,{element:this.option.element,start:i=>this._resizeStart(i),stop:i=>this._resizeStop(i),move:i=>this._resizing(i,t)})),this}_resizeStart(t){this.sizeToContent=f.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=f.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=t,this._setupHelper(),this._applyChange();let i=f.initEvent(t,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(i,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",i),this}_resizing(t,i){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(t,i),this._applyChange();let o=f.initEvent(t,{type:"resize",target:this.el});return o.resizeDir=i,o.hasMovedX=this.option.rtl?i.includes("e"):i.includes("w"),o.hasMovedY=i.includes("n"),this.option.resize&&this.option.resize(o,this._ui()),this.triggerEvent("resize",o),this}_resizeStop(t){let i=f.initEvent(t,{type:"resizestop",target:this.el});return this._cleanHelper(),this.option.stop&&this.option.stop(i),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",i),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=e._originStyleProp.map(o=>this.el.style[o]);let t=this.el.parentElement;this.parentOriginStylePosition=t.style.position;let i=f.getValuesFromTransformedElement(t);return this.rectScale={x:i.xScale,y:i.yScale},getComputedStyle(t).position.match(/static/)&&(t.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return e._originStyleProp.forEach((t,i)=>{this.el.style[t]=this.elOriginStyleVal[i]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(t,i){let o=this.startEvent,r={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},n=t.clientX-o.clientX,s=this.sizeToContent?0:t.clientY-o.clientY,c=!1,l=!1,d=this.option.rtl;!d&&i.indexOf("e")>-1?r.width+=n:d&&i.indexOf("w")>-1?r.width-=n:!d&&i.indexOf("w")>-1?(r.width-=n,r.left+=n,c=!0):d&&i.indexOf("e")>-1&&(r.width+=n,r.right+=n,c=!0),i.indexOf("s")>-1?r.height+=s:i.indexOf("n")>-1&&(r.height-=s,r.top+=s,l=!0);let h=this._constrainSize(r.width,r.height,c,l);return Math.round(r.width)!==Math.round(h.width)&&(!d&&i.indexOf("w")>-1?r.left+=r.width-h.width:d&&i.indexOf("e")>-1&&(r.right-=r.width-h.width),r.width=h.width),Math.round(r.height)!==Math.round(h.height)&&(i.indexOf("n")>-1&&(r.top+=r.height-h.height),r.height=h.height),r}_constrainSize(t,i,o,r){let n=this.option,s=(o?n.maxWidthMoveLeft:n.maxWidth)||Number.MAX_SAFE_INTEGER,c=(n.minWidth??0)/this.rectScale.x||t,l=(r?n.maxHeightMoveUp:n.maxHeight)||Number.MAX_SAFE_INTEGER,d=(n.minHeight??0)/this.rectScale.y||i,h=Math.min(s,Math.max(c,t)),_=Math.min(l,Math.max(d,i));return{width:h,height:_}}_applyChange(){let t={left:0,right:0,top:0,width:0,height:0};if(this.el.style.position==="absolute"){let o=this.el.parentElement,{left:r,right:n,top:s}=o.getBoundingClientRect();t={left:r,right:n,top:s,width:0,height:0}}if(!this.temporalRect)return this;let i=t;return Object.entries(this.temporalRect).forEach(([o,r])=>{if(this.option.rtl?o==="left":o==="right")return;let n=o==="width"||o==="left"||o==="right"?this.rectScale.x:o==="height"||o==="top"?this.rectScale.y:1,s;o==="right"?s=(t.right-r)*this.rectScale.x+"px":s=(r-i[o])*n+"px",this.el.style[o]=s}),this}_removeHandlers(){return this.handlers.forEach(t=>t.destroy()),delete this.handlers,this}}return e._originStyleProp=["width","height","position","left","right","top","opacity","zIndex"],e})(),fR='input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle',gR=(()=>{class e extends l9{constructor(t,i={}){super(),this.el=t,this.option=i,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},this._autoScrollTick=()=>{let n=this.helper,s=this._autoScrollContainer;if(!n||!s){this._stopScrolling();return}let c=this._getClipping(n,s);if(c===0){this._stopScrolling();return}if(!this._autoScrollMaxSpeed){let u=window.innerHeight||document.documentElement.clientHeight;this._autoScrollMaxSpeed=Math.max(u/150,4)}let l=Math.abs(c),d=Math.min(l*.5,this._autoScrollMaxSpeed),h=c>0?d:-d,_=s.scrollTop;if(s.scrollTop+=h,s.scrollTop===_){this._stopScrolling();return}this.dragging&&this.lastDrag&&(this._dragFollow(this.lastDrag),this._callDrag(this.lastDrag)),this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick)};let o=i?.handle?.substring(1),r=t.gridstackNode;this.dragEls=!o||t.classList.contains(o)?[t]:r?.subGrid?[t.querySelector(i.handle)||t]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[t]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}getAllHandles(){return Array.from(this.el.querySelectorAll(this.option.handle)).filter(t=>{if(!(t instanceof HTMLElement))return!1;let i=t.closest(".grid-stack-item");return i===this.el||!i})}on(t,i){super.on(t,i)}off(t){super.off(t)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(t=>{t.addEventListener("mousedown",this._mouseDown),l5&&(t.addEventListener("touchstart",v4),t.addEventListener("pointerdown",g4))}),this.el.classList.remove("ui-draggable-disabled"))}disable(t=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(i=>{i.removeEventListener("mousedown",this._mouseDown),l5&&(i.removeEventListener("touchstart",v4),i.removeEventListener("pointerdown",g4))}),t||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.option,super.destroy()}updateOption(t){return Object.assign(this.option,t),this}refreshHandles(){let t=this.disabled;t||this.disable(!0);let i=this.option?.handle?.substring(1),o=this.el.gridstackNode;this.dragEls=!i||this.el.classList.contains(i)?[this.el]:o?.subGrid?[this.el.querySelector(this.option.handle)||this.el]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[this.el]),t||this.enable()}_mouseDown(t){return t.isTrusted&&(D0.touchHandled&&(D0.touchHandled=!1),H.mouseHandled&&t.timeStamp!==H.mouseHandledTimeStamp&&delete H.mouseHandled),H.mouseHandled||t.button!==0||!this.dragEls.find(i=>i===t.target)&&t.target.closest(fR)||this.option.cancel&&t.target.closest(this.option.cancel)||(this.mouseDownEvent=t,delete this.dragging,delete H.dragElement,delete H.dropElement,delete this._autoScrollMaxSpeed,delete this._autoScrollContainer,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),l5&&t.currentTarget&&(t.currentTarget.addEventListener("touchmove",m4),t.currentTarget.addEventListener("touchend",f4)),t.preventDefault(),document.activeElement&&document.activeElement.blur(),H.mouseHandled=!0,H.mouseHandledTimeStamp=t.timeStamp),!0}_callDrag(t){if(!this.dragging)return;let i=f.initEvent(t,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(i,this.ui()),this.triggerEvent("drag",i)}_mouseMove(t){let i=this.mouseDownEvent;if(this.lastDrag=t,this.dragging)if(this._dragFollow(t),H.pauseDrag){let o=Number.isInteger(H.pauseDrag)?H.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(t),o)}else this._callDrag(t);else if(Math.abs(t.x-i.x)+Math.abs(t.y-i.y)>3){this.dragging=!0,H.dragElement=this;let o=this.el.gridstackNode?.grid;o?H.dropElement=o.el.ddElement?.ddDroppable:delete H.dropElement,this.helper=this._createHelper(),this._setupHelperContainmentStyle(),this.dragTransform=f.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(t,this.el,this.helperContainment),this._setupHelperStyle(t);let r=f.initEvent(t,{target:this.el,type:"dragstart"});this.option.start&&this.option.start(r,this.ui()),this.triggerEvent("dragstart",r),document.addEventListener("keydown",this._keyEvent)}return!0}_mouseUp(t){if(this._stopScrolling(),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),l5&&t.currentTarget&&(t.currentTarget.removeEventListener("touchmove",m4,!0),t.currentTarget.removeEventListener("touchend",f4,!0)),this.dragging){delete this.dragging,delete this.el.gridstackNode?._origRotate,document.removeEventListener("keydown",this._keyEvent),H.dropElement?.el===this.el.parentElement&&delete H.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper&&this.helper!==this.el&&this.helper.remove(),this._removeHelperStyle();let i=f.initEvent(t,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(i),this.triggerEvent("dragstop",i),H.dropElement&&H.dropElement.drop(t)}delete this.helper,delete this.mouseDownEvent,delete H.dragElement,delete H.dropElement,delete H.mouseHandled,delete H.mouseHandledTimeStamp,t.preventDefault()}_keyEvent(t){let i=this.el.gridstackNode,o=i?.grid||H.dropElement?.el?.gridstack;if(t.key==="Escape")i&&i._origRotate&&(i._orig=i._origRotate,delete i._origRotate),o?.cancelDrag(),this._mouseUp(this.mouseDownEvent);else if(i&&o&&(t.key==="r"||t.key==="R")){if(!f.canBeRotated(i))return;i._origRotate=i._origRotate||Z({},i._orig),delete i._moving,o.setAnimation(!1).rotate(i.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetX}).setAnimation(),i._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,i.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+"px",this.helper.style.height=this.dragOffset.height+"px",f.swap(i._orig,"w","h"),delete i._rect,this._mouseMove(this.lastDrag)}}_createHelper(){let t=this.el;return typeof this.option.helper=="function"?t=this.option.helper(this.el):this.option.helper==="clone"&&(t=f.cloneNode(this.el)),t.parentElement||f.appendTo(t,this.option.appendTo==="parent"?this.el.parentElement:this.option.appendTo??"body"),this.dragElementOriginStyle=e.originStyleProp.map(i=>this.el.style[i]),t}_setupHelperStyle(t){this.helper.classList.add("ui-draggable-dragging"),this.el.gridstackNode?.grid?.el.classList.add("grid-stack-dragging");let i=this.helper.style;return i.pointerEvents="none",i.width=this.dragOffset.width+"px",i.height=this.dragOffset.height+"px",i.willChange="left, right, top",i.position="fixed",this._dragFollow(t),i.transition="none",setTimeout(()=>{this.helper&&(i.transition=null)},0),this}_removeHelperStyle(){if(this.helper.classList.remove("ui-draggable-dragging"),(this.el._gridstackNodeOrig||this.el.gridstackNode)?.grid?.el.classList.remove("grid-stack-dragging"),!this.helper?.gridstackNode?._isAboutToRemove&&this.dragElementOriginStyle){let t=this.helper,i=this.dragElementOriginStyle,o=e.originStyleProp.indexOf("transition"),r=i[o]||null;t.style.transition=i[o]="none";let n=t.style;e.originStyleProp.forEach((s,c)=>n[s]=i[c]||null),setTimeout(()=>t.style.transition=r||"",50)}return delete this.dragElementOriginStyle,this}_dragFollow(t){let i=this.helper.style,o=this.dragOffset;this.option.rtl?(i.right=(window.innerWidth-t.clientX+o.offsetX)*this.dragTransform.xScale+"px",i.left&&(i.left="")):(i.left=(t.clientX+o.offsetX)*this.dragTransform.xScale+"px",i.right&&(i.right="")),i.top=(t.clientY+o.offsetTop)*this.dragTransform.yScale+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!=="fixed"&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(t,i,o){let r=0,n=0;o&&(r=this.dragTransform.xOffset,n=this.dragTransform.yOffset);let s=i.getBoundingClientRect(),c=this.option.rtl?s.right:s.left,l=this.option.rtl?t.clientX-s.right+r:-t.clientX+s.left-r;return{x:c,top:s.top,offsetX:l,offsetTop:-t.clientY+s.top-n,width:s.width*this.dragTransform.xScale,height:s.height*this.dragTransform.yScale}}updateScrollPosition(t){this._autoScrollContainer=f.getScrollElement(t),this._getClipping(this.helper,this._autoScrollContainer)===0?this._stopScrolling():this._autoScrollAnimId||(this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick))}_getClipping(t,i){let o=t.getBoundingClientRect(),r=i.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight;if(o.bottom<r.top||o.top>r.bottom)return 0;let s=o.bottom-Math.min(r.bottom,n),c=o.top-Math.max(r.top,0);return c<0?c:s>0?s:0}_stopScrolling(){this._autoScrollAnimId&&(cancelAnimationFrame(this._autoScrollAnimId),delete this._autoScrollAnimId)}ui(){let t=this.el.parentElement.getBoundingClientRect(),i=this.helper.getBoundingClientRect(),o=this.option.rtl?(t.right-i.right)*this.dragTransform.xScale:(i.left-t.left)*this.dragTransform.xScale;return{position:{top:(i.top-t.top)*this.dragTransform.yScale,left:o}}}}return e.originStyleProp=["width","height","transform","transform-origin","transition","pointerEvents","position","left","right","top","minWidth","willChange"],e})(),bR=class extends l9{constructor(e,a={}){super(),this.el=e,this.option=a,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.eventEl=this.el.closest(".grid-stack-item")||this.el,this.enable(),this._setupAccept()}on(e,a){super.on(e,a)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.eventEl.addEventListener("mouseenter",this._mouseEnter),this.eventEl.addEventListener("mouseleave",this._mouseLeave),l5&&(this.eventEl.addEventListener("pointerenter",El),this.eventEl.addEventListener("pointerleave",Il)))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove("ui-droppable"),e||this.el.classList.add("ui-droppable-disabled"),this.eventEl.removeEventListener("mouseenter",this._mouseEnter),this.eventEl.removeEventListener("mouseleave",this._mouseLeave),l5&&(this.eventEl.removeEventListener("pointerenter",El),this.eventEl.removeEventListener("pointerleave",Il)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(e){return Object.assign(this.option,e),this._setupAccept(),this}_mouseEnter(e){if(!H.dragElement||D0.touchHandled&&e.isTrusted||!this._canDrop(H.dragElement.el))return;e.preventDefault(),e.stopPropagation(),H.dragElement._stopScrolling(),H.dropElement&&H.dropElement!==this&&H.dropElement._mouseLeave(e,!0),H.dropElement=this;let a=f.initEvent(e,{target:this.el,type:"dropover"});this.option.over&&this.option.over(a,this._ui(H.dragElement)),this.triggerEvent("dropover",a),this.el.classList.add("ui-droppable-over")}_mouseLeave(e,a=!1){if(!H.dragElement||H.dropElement!==this)return;e.preventDefault(),e.stopPropagation(),a&&H.dragElement._stopScrolling();let t=f.initEvent(e,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(t,this._ui(H.dragElement)),this.triggerEvent("dropout",t),H.dropElement===this&&(delete H.dropElement,!a)){let i,o=this.el.parentElement;for(;!i&&o;)i=o.ddElement?.ddDroppable,o=o.parentElement;i&&i._mouseEnter(e)}}drop(e){e.preventDefault();let a=f.initEvent(e,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(a,this._ui(H.dragElement)),this.triggerEvent("drop",a)}_canDrop(e){return e&&(!this.accept||this.accept(e))}_setupAccept(){return this.option.accept?(typeof this.option.accept=="string"?this.accept=e=>e.classList.contains(this.option.accept)||e.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(e){return Z({draggable:e.el},e.ui())}},AR=class rp{static init(a){return a.ddElement||(a.ddElement=new rp(a)),a.ddElement}constructor(a){this.el=a}on(a,t){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(a)>-1?this.ddDraggable.on(a,t):this.ddDroppable&&["drop","dropover","dropout"].indexOf(a)>-1?this.ddDroppable.on(a,t):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(a)>-1&&this.ddResizable.on(a,t),this}off(a){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(a)>-1?this.ddDraggable.off(a):this.ddDroppable&&["drop","dropover","dropout"].indexOf(a)>-1?this.ddDroppable.off(a):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(a)>-1&&this.ddResizable.off(a),this}setupDraggable(a){return this.ddDraggable?this.ddDraggable.updateOption(a):this.ddDraggable=new gR(this.el,a),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(a){return this.ddResizable?this.ddResizable.updateOption(a):this.ddResizable=new mR(this.el,a),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(a){return this.ddDroppable?this.ddDroppable.updateOption(a):this.ddDroppable=new bR(this.el,a),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}},wR=class{resizable(e,a,t,i){return this._getDDElements(e,typeof a=="string"?a:void 0).forEach(o=>{if(a==="disable"||a==="enable")o.ddResizable&&o.ddResizable[a]();else if(a==="destroy")o.ddResizable&&o.cleanResizable();else if(a==="option")o.setupResizable({[t]:i});else{let r=o.el.gridstackNode.grid,n=o.el.getAttribute("gs-resize-handles")||r.opts.resizable.handles||"e,s,se";n==="all"&&(n="n,e,s,w,se,sw,ne,nw");let s=!r.opts.alwaysShowResizeHandle,c=a;o.setupResizable(N(Z({},r.opts.resizable),{handles:n,autoHide:s,start:c.start,stop:c.stop,resize:c.resize,rtl:c.rtl}))}}),this}draggable(e,a,t,i){return this._getDDElements(e,typeof a=="string"?a:void 0).forEach(o=>{if(a==="disable"||a==="enable")o.ddDraggable&&o.ddDraggable[a]();else if(a==="destroy")o.ddDraggable&&o.cleanDraggable();else if(a==="option")o.setupDraggable({[t]:i});else{let r=o.el.gridstackNode.grid,n=a;o.setupDraggable(N(Z({},r.opts.draggable),{start:n.start,stop:n.stop,drag:n.drag,rtl:n.rtl}))}}),this}dragIn(e,a){return this._getDDElements(e).forEach(t=>t.setupDraggable(a)),this}droppable(e,a,t,i){if(typeof a!="string"){let r=a;typeof r.accept=="function"&&!r._accept&&(r._accept=r.accept,r.accept=n=>r._accept(n))}let o=typeof a=="string"?a:void 0;return this._getDDElements(e,o).forEach(r=>{a==="disable"||a==="enable"?r.ddDroppable&&r.ddDroppable[a]():a==="destroy"?r.ddDroppable&&r.cleanDroppable():a==="option"?r.setupDroppable({[t]:i}):r.setupDroppable(a)}),this}isDroppable(e){return!!(e?.ddElement?.ddDroppable&&!e.ddElement.ddDroppable.disabled)}isDraggable(e){return!!(e?.ddElement?.ddDraggable&&!e.ddElement.ddDraggable.disabled)}isResizable(e){return!!(e?.ddElement?.ddResizable&&!e.ddElement.ddResizable.disabled)}on(e,a,t){return this._getDDElements(e).forEach(i=>i.on(a,o=>{t(o,H.dragElement?H.dragElement.el:o.target,H.dragElement?H.dragElement.helper:void 0)})),this}off(e,a){return this._getDDElements(e).forEach(t=>t.off(a)),this}_getDDElements(e,a){let t=e.gridstack||a!=="destroy"&&a!=="disable",i=f.getElements(e);return i.length?i.map(o=>o.ddElement||(t?AR.init(o):null)).filter(o=>!!o):[]}},A0=new wR,ee=(()=>{class e{static init(t={},i=".grid-stack"){if(typeof document>"u")return null;let o=e.getGridElement(i);return o?(o.gridstack||(o.gridstack=new e(o,f.cloneDeep(t))),o.gridstack):(console.error(typeof i=="string"?'GridStack.initAll() no grid was found with selector "'+i+`" - element missing or wrong selector ?
140
140
  Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:"GridStack.init() no grid element was passed."),null)}static initAll(t={},i=".grid-stack"){let o=[];return typeof document>"u"||(e.getGridElements(i).forEach(r=>{r.gridstack||(r.gridstack=new e(r,f.cloneDeep(t))),o.push(r.gridstack)}),o.length===0&&console.error('GridStack.initAll() no grid was found with selector "'+i+`" - element missing or wrong selector ?
141
- Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),o}static addGrid(t,i={}){if(!t)return null;let o=t;if(o.gridstack){let r=o.gridstack;return i&&(r.opts=Z(Z({},r.opts),i)),i.children!==void 0&&r.load(i.children),r}return(!t.classList.contains("grid-stack")||e.addRemoveCB)&&(e.addRemoveCB?o=e.addRemoveCB(t,i,!0,!0):o=f.createDiv(["grid-stack",i.class],t)),e.init(i,o)}static registerEngine(t){e.engineClass=t}get placeholder(){if(!this._placeholder){this._placeholder=f.createDiv([this.opts.placeholderClass,I0.itemClass,this.opts.itemClass]);let t=f.createDiv(["placeholder-content"],this._placeholder);this.opts.placeholderText&&(t.textContent=this.opts.placeholderText)}return this._placeholder}constructor(t,i={}){this.el=t,this.opts=i,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},t.gridstack=this,this.opts=i=i||{},t.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),i.row&&(i.minRow=i.maxRow=i.row,delete i.row);let o=f.toNumber(t.getAttribute("gs-row"));i.column==="auto"&&delete i.column,i.alwaysShowResizeHandle!==void 0&&(i._alwaysShowResizeHandle=i.alwaysShowResizeHandle);let r=i.columnOpts;if(r){let l=r.breakpoints;!r.columnWidth&&!l?.length?delete i.columnOpts:(r.columnMax=r.columnMax||12,l.length>1&&l.sort((d,h)=>(h.w||0)-(d.w||0)))}let n=N(Z({},f.cloneDeep(I0)),{column:f.toNumber(t.getAttribute("gs-column"))||I0.column,minRow:o||f.toNumber(t.getAttribute("gs-min-row"))||I0.minRow,maxRow:o||f.toNumber(t.getAttribute("gs-max-row"))||I0.maxRow,staticGrid:f.toBool(t.getAttribute("gs-static"))||I0.staticGrid,sizeToContent:f.toBool(t.getAttribute("gs-size-to-content"))||void 0,draggable:{handle:(i.handleClass?"."+i.handleClass:i.handle?i.handle:"")||I0.draggable.handle},removableOptions:{accept:i.itemClass||I0.removableOptions.accept,decline:I0.removableOptions.decline}});t.getAttribute("gs-animate")&&(n.animate=f.toBool(t.getAttribute("gs-animate"))),i=f.defaults(i,n),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(i),i.rtl==="auto"&&(i.rtl=t.style.direction==="rtl"),i.rtl&&this.el.classList.add("grid-stack-rtl");let s=this.el.closest("."+I0.itemClass)?.gridstackNode;if(s&&(s.subGrid=this,this.parentGridNode=s,this.el.classList.add("grid-stack-nested"),s.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=i.cellHeight==="auto",this._isAutoCellHeight||i.cellHeight==="initial")this.cellHeight(void 0);else{typeof i.cellHeight=="number"&&i.cellHeightUnit&&i.cellHeightUnit!==I0.cellHeightUnit&&(i.cellHeight=i.cellHeight+i.cellHeightUnit,delete i.cellHeightUnit);let l=i.cellHeight;delete i.cellHeight,this.cellHeight(l)}i.alwaysShowResizeHandle==="mobile"&&(i.alwaysShowResizeHandle=l5),this._setStaticClass();let c=i.engineClass||e.engineClass||ai;if(this.engine=new c({column:this.getColumn(),float:i.float,maxRow:i.maxRow,onChange:l=>{l.forEach(d=>{let h=d.el;h&&(d._removeDOM?(h&&h.remove(),delete d._removeDOM):this._writePosAttr(h,d))}),this._updateContainerHeight()}}),i.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(l=>this._prepareElement(l)),delete this.engine._loading,this.batchUpdate(!1)),i.children){let l=i.children;delete i.children,l.length&&this.load(l)}this.setAnimation(),i.subGridDynamic&&!H.pauseDrag&&(H.pauseDrag=!0),i.draggable?.pause!==void 0&&(H.pauseDrag=i.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(t=this.opts){this.el.classList.add("gs-"+t.column),typeof t.column=="number"&&this.el.style.setProperty("--gs-column-width",`${100/t.column}%`)}addWidget(t){if(!t)return;if(typeof t=="string"){console.error("V11: GridStack.addWidget() does not support string anymore. see #2736");return}if(t.ELEMENT_NODE)return console.error("V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()"),this.makeWidget(t);let i,o=t;if(o.grid=this,o.el?i=o.el:e.addRemoveCB?i=e.addRemoveCB(this.el,t,!0,!1):i=this.createWidgetDivs(o),!i)return;if(o=i.gridstackNode,o&&i.parentElement===this.el&&this.engine.nodes.find(n=>n._id===o._id))return i;let r=this._readAttr(i);return f.defaults(t,r),this.engine.prepareNode(t),this.el.appendChild(i),this.makeWidget(i,t),i}createWidgetDivs(t){let i=f.createDiv(["grid-stack-item",this.opts.itemClass]),o=f.createDiv(["grid-stack-item-content"],i);return f.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([r])=>{r.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,e.renderCB(o,t),t.grid?.prepareDragDrop(t.el))}),window.setTimeout(()=>t.visibleObservable?.observe(i))):e.renderCB(o,t),i}makeSubGrid(t,i,o,r=!0){let n=t.gridstackNode;if(n||(n=this.makeWidget(t).gridstackNode),n.subGrid?.el)return n.subGrid;let s,c=this;for(;c&&!s;)s=c.opts?.subGridOpts,c=c.parentGridNode?.grid;i=f.cloneDeep(Z(Z(N(Z({},this.opts),{id:void 0,children:void 0,column:"auto",columnOpts:void 0,layout:"list",subGridOpts:void 0}),s||{}),i||n.subGridOpts||{})),n.subGridOpts=i;let l=!1;i.column==="auto"&&(l=!0,i.column=Math.max(n.w||1,o?.w||1),delete i.columnOpts);let d=n.el.querySelector(".grid-stack-item-content"),h,_;if(r&&(this._removeDD(n.el),_=N(Z({},n),{x:0,y:0}),f.removeInternalForSave(_),delete _.subGridOpts,n.content&&(_.content=n.content,delete n.content),e.addRemoveCB?h=e.addRemoveCB(this.el,_,!0,!1)||void 0:(h=f.createDiv(["grid-stack-item"]),h.appendChild(d),d=f.createDiv(["grid-stack-item-content"],n.el)),this.prepareDragDrop(n.el)),o){let v=l?i.column:n.w,b=n.h+o.h,C=n.el.style;C.transition="none",this.update(n.el,{w:v,h:b}),setTimeout(()=>C.transition="")}let u=n.subGrid=e.addGrid(d,i)||void 0;return o?._moving&&(u._isTemp=!0),l&&(u._autoColumn=!0),r&&u.makeWidget(h,_),o&&(o._moving?window.setTimeout(()=>f.simulateMouseEvent(o._event,"mouseenter",u.el),0):u.makeWidget(n.el,n)),this.resizeToContentCheck(!1,n),u}removeAsSubGrid(t){let i=this.parentGridNode?.grid;if(i&&(i.batchUpdate(),i.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(o=>{o.x=(o.x??0)+(this.parentGridNode.x??0),o.y=(o.y??0)+(this.parentGridNode.y??0),this._removeDD(o.el),o.el.remove(),delete o.el.gridstackNode,i.makeWidget(o.el,o)}),i.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,t)){let o=t.el?.gridstackNode;o&&o!==t&&(o._temporaryRemoved=!0),window.setTimeout(()=>{let r=H.dragElement?.lastDrag||t._event;r&&f.simulateMouseEvent(r,"mouseenter",i.el)},0)}}save(t=!0,i=!1,o=e.saveCB,r){let n=this.engine.save(t,o,r);if(n.forEach(s=>{if(t&&s.el&&!s.subGrid&&!o){let c=s.el.querySelector(".grid-stack-item-content");s.content=c?.innerHTML,s.content||delete s.content}else if(!t&&!o&&delete s.content,s.subGrid?.el){let c=s.w||s.subGrid.getColumn(),l=s.subGrid.save(t,i,o,c);s.subGridOpts=i?l:{children:l},delete s.subGrid}delete s.el}),i){let s=f.cloneDeep(this.opts);s.marginBottom===s.marginTop&&s.marginRight===s.marginLeft&&s.marginTop===s.marginRight&&(s.margin=s.marginTop,delete s.marginTop,delete s.marginRight,delete s.marginBottom,delete s.marginLeft),s.rtl===(this.el.style.direction==="rtl")&&(s.rtl="auto"),this._isAutoCellHeight&&(s.cellHeight="auto"),this._autoColumn&&(s.column="auto");let c=s._alwaysShowResizeHandle;return delete s._alwaysShowResizeHandle,c!==void 0?s.alwaysShowResizeHandle=c:delete s.alwaysShowResizeHandle,f.removeInternalAndSame(s,I0),s.children=n,s}return n}load(t,i=e.addRemoveCB||!0){t.forEach(h=>{h.w=h.w||h.minW||1,h.h=h.h||h.minH||1}),t=f.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let o=0;t.forEach(h=>{o=Math.max(o,(h.x||0)+h.w)}),o>this.engine.defaultColumn&&(this.engine.defaultColumn=o);let r=this.getColumn();o>r&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(o,r,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,o,!0));let n=e.addRemoveCB;typeof i=="function"&&(e.addRemoveCB=i);let s=[];this.batchUpdate();let c=!this.engine.nodes.length,l=c&&this.opts.animate;l&&this.setAnimation(!1),!c&&i&&[...this.engine.nodes].forEach(h=>{h.id&&(f.find(t,h.id)||(e.addRemoveCB&&e.addRemoveCB(this.el,h,!1,!1),s.push(h),this.removeWidget(h.el,!0,!1)))}),this.engine._loading=!0;let d=[];return this.engine.nodes=this.engine.nodes.filter(h=>h.id&&f.find(t,h.id)?(d.push(h),!1):!0),t.forEach(h=>{let _=h.id?f.find(d,h.id):void 0;if(_){if(f.shouldSizeToContent(_)&&(h.h=_.h),this.engine.nodeBoundFix(h),(h.autoPosition||h.x===void 0||h.y===void 0)&&(h.w=h.w||_.w,h.h=h.h||_.h,this.engine.findEmptyPosition(h)),this.engine.nodes.push(_),f.samePos(_,h)&&this.engine.nodes.length>1&&(this.moveNode(_,N(Z({},h),{forceCollide:!0})),f.copyPos(h,_)),this.update(_.el,h),h.subGridOpts?.children){let u=_.el.querySelector(".grid-stack");u&&u.gridstack&&u.gridstack.load(h.subGridOpts.children)}}else i&&this.addWidget(h)}),delete this.engine._loading,this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,n?e.addRemoveCB=n:delete e.addRemoveCB,l&&this.setAnimation(!0,!0),this}batchUpdate(t=!0){return this.engine.batchUpdate(t),t||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!t||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let i=this.el.querySelector("."+this.opts.itemClass);if(i){let r=f.toNumber(i.getAttribute("gs-h"))||1;return Math.round(i.offsetHeight/r)}let o=parseInt(this.el.getAttribute("gs-current-row")||"0");return o?Math.round(this.el.getBoundingClientRect().height/o):this.opts.cellHeight}cellHeight(t){if(t!==void 0&&this._isAutoCellHeight!==(t==="auto")&&(this._isAutoCellHeight=t==="auto",this._updateResizeEvent()),(t==="initial"||t==="auto")&&(t=void 0),t===void 0){let o=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+o}let i=f.parseHeight(t);return this.opts.cellHeightUnit===i.unit&&this.opts.cellHeight===i.h?this:(this.opts.cellHeightUnit=i.unit,this.opts.cellHeight=i.h,this.el.style.setProperty("--gs-cell-height",`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(t=!1){return t&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let t=this.opts.columnOpts;if(!t||!t.columnWidth&&!t.breakpoints?.length)return!1;let i=this.getColumn(),o=i,r=this._widthOrContainer(!0);if(t.columnWidth)o=Math.min(Math.round(r/t.columnWidth)||1,t.columnMax);else{o=t.columnMax;let n=0;for(;n<t.breakpoints.length&&r<=t.breakpoints[n].w;)o=t.breakpoints[n++].c||i}if(o!==i){let n=t.breakpoints?.find(s=>s.c===o);return this.column(o,n?.layout||t.layout),!0}return!1}compact(t="compact",i=!0){return this.engine.compact(t,i),this._triggerChangeEvent(),this}column(t,i="moveScale"){if(!t||t<1||this.opts.column===t)return this;let o=this.getColumn();return this.opts.column=t,this.engine?(this.engine.column=t,this.el.classList.remove("gs-"+o),this._updateColumnVar(),this.engine.columnChanged(o,t,i),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=i,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(t=>t.matches("."+this.opts.itemClass)&&!t.matches("."+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(t=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),t?this.el.parentNode.removeChild(this.el):(this.removeAll(t),this.el.removeAttribute("gs-current-row")),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(t){return this.opts.float!==t&&(this.opts.float=this.engine.float=t,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(t,i=!1){let o=this.el.getBoundingClientRect(),r;i?r={top:o.top+document.documentElement.scrollTop,left:o.left}:r={top:this.el.offsetTop,left:this.el.offsetLeft};let n=t.left-r.left,s=t.top-r.top,c=o.width/this.getColumn(),l=o.height/parseInt(this.el.getAttribute("gs-current-row")||"0");return{x:Math.floor(n/c),y:Math.floor(s/l)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(t,i,o,r){return this.engine.isAreaEmpty(t,i,o,r)}makeWidget(t,i){let o=e.getElement(t);if(!o||o.gridstackNode)return o;o.parentElement||this.el.appendChild(o),this._prepareElement(o,!0,i);let r=o.gridstackNode;this._updateContainerHeight(),r.subGridOpts&&this.makeSubGrid(o,r.subGridOpts,void 0,!1);let n=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(n=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),n&&delete this._ignoreLayoutsNodeChange,o}on(t,i){return t.indexOf(" ")!==-1?(t.split(" ").forEach(o=>this.on(o,i)),this):(t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable"?(t==="enable"||t==="disable"?this._gsEventHandler[t]=o=>i(o):this._gsEventHandler[t]=o=>{o.detail&&i(o,o.detail)},this.el.addEventListener(t,this._gsEventHandler[t])):t==="drag"||t==="dragstart"||t==="dragstop"||t==="resizestart"||t==="resize"||t==="resizestop"||t==="dropped"||t==="resizecontent"?this._gsEventHandler[t]=i:console.error("GridStack.on("+t+") event not supported"),this)}off(t){return t.indexOf(" ")!==-1?(t.split(" ").forEach(i=>this.off(i)),this):((t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable")&&this._gsEventHandler[t]&&this.el.removeEventListener(t,this._gsEventHandler[t]),delete this._gsEventHandler[t],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(t=>this.off(t)),this}removeWidget(t,i=!0,o=!0){return t?(e.getElements(t).forEach(r=>{if(r.parentElement&&r.parentElement!==this.el)return;let n=r.gridstackNode;n||(n=this.engine.nodes.find(s=>r===s.el)),n&&(i&&e.addRemoveCB&&e.addRemoveCB(this.el,n,!1,!1),delete r.gridstackNode,this._removeDD(r),this.engine.removeNode(n,i,o),i&&r.parentElement&&r.remove())}),o&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error("Error: GridStack.removeWidget(undefined) called"),this)}removeAll(t=!0,i=!0){return this.engine.nodes.forEach(o=>{t&&e.addRemoveCB&&e.addRemoveCB(this.el,o,!1,!1),delete o.el.gridstackNode,this.opts.staticGrid||this._removeDD(o.el)}),this.engine.removeAll(t,i),i&&this._triggerRemoveEvent(),this}setAnimation(t=this.opts.animate,i){return i?setTimeout(()=>{this.opts&&this.setAnimation(t)}):t?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this.opts.animate=t,this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(t,i=!0,o=!0){return!!this.opts.staticGrid===t?this:(t?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(r=>{this.prepareDragDrop(r.el),r.subGrid&&o&&r.subGrid.setStatic(t,i,o)}),i&&this._setStaticClass(),this)}updateOptions(t){let i=this.opts;if(t===i)return this;if(t.acceptWidgets!==void 0&&(i.acceptWidgets=t.acceptWidgets,this._setupAcceptWidget()),t.animate!==void 0&&this.setAnimation(t.animate),t.cellHeight&&this.cellHeight(t.cellHeight),t.class!==void 0&&t.class!==i.class&&(i.class&&this.el.classList.remove(i.class),t.class&&this.el.classList.add(t.class)),t.columnOpts){let o=!!this.opts.columnOpts;this.opts.columnOpts=t.columnOpts,o!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else t.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof t.column=="number"&&this.column(t.column);return t.margin!==void 0&&this.margin(t.margin),t.staticGrid!==void 0&&this.setStatic(t.staticGrid),t.disableDrag!==void 0&&!t.staticGrid&&this.enableMove(!t.disableDrag),t.disableResize!==void 0&&!t.staticGrid&&this.enableResize(!t.disableResize),t.float!==void 0&&this.float(t.float),t.row!==void 0?(i.minRow=i.maxRow=this.engine.maxRow=i.row=t.row,this._updateContainerHeight(),this.engine.getRow()>t.row&&this.compact()):(t.minRow!==void 0&&(i.minRow=t.minRow,this._updateContainerHeight()),t.maxRow!==void 0&&(i.maxRow=this.engine.maxRow=t.maxRow,this.engine.getRow()>t.maxRow&&this.compact())),t.lazyLoad!==void 0&&(i.lazyLoad=t.lazyLoad),t.children?.length&&this.load(t.children),this}update(t,i){return e.getElements(t).forEach(o=>{let r=o?.gridstackNode;if(!r)return;let n=Z(Z({},f.copyPos({},r)),f.cloneDeep(i));this.engine.nodeBoundFix(n),delete n.autoPosition;let s=["x","y","w","h"],c,l=n,d=r;if(s.some(u=>l[u]!==void 0&&l[u]!==d[u])){c={};let u=c;s.forEach(v=>{u[v]=l[v]!==void 0?l[v]:d[v],delete l[v]})}if(!c&&(n.minW||n.minH||n.maxW||n.maxH)&&(c={}),n.content!==void 0){let u=o.querySelector(".grid-stack-item-content");u&&u.textContent!==n.content&&(r.content=n.content,e.renderCB(u,n),r.subGrid?.el&&(u.appendChild(r.subGrid.el),r.subGrid._updateContainerHeight())),delete n.content}let h=!1,_=!1;for(let u in l)u[0]!=="_"&&d[u]!==l[u]&&(d[u]=l[u],h=!0,_=_||!this.opts.staticGrid&&(u==="noResize"||u==="noMove"||u==="locked"));if(f.sanitizeMinMax(r),c){let u=c.w!==void 0&&c.w!==r.w;this.moveNode(r,c),u&&r.subGrid?r.subGrid.onResize(this.hasAnimationCSS()?r.w:void 0):this.resizeToContentCheck(u,r),delete r._orig}(c||h)&&this._writeAttr(o,r),_&&this.prepareDragDrop(r.el),e.updateCB&&e.updateCB(r)}),this}moveNode(t,i){let o=t._updating;o||this.engine.cleanNodes().beginUpdate(t),this.engine.moveNode(t,i),this._updateContainerHeight(),o||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(t){if(!t||(t.classList.remove("size-to-content-max"),!t.clientHeight))return;let i=t.gridstackNode;if(!i)return;let o=i.grid;if(!o||t.parentElement!==o.el)return;let r=o.getCellHeight(!0);if(!r)return;let n=i.h?i.h*r:t.clientHeight,s=null;if(i.resizeToContentParent&&(s=t.querySelector(i.resizeToContentParent)),s||(s=t.querySelector(e.resizeToContentParent)),!s)return;let c=t.clientHeight-s.clientHeight,l=i.h?i.h*r-c:s.clientHeight,d;if(i.subGrid){d=i.subGrid.getRow()*i.subGrid.getCellHeight(!0);let u=i.subGrid.el.getBoundingClientRect(),v=t.getBoundingClientRect();d+=u.top-v.top}else{if(i.subGridOpts?.children?.length)return;{let u=s.firstElementChild;if(!u){console.error(`Error: GridStack.resizeToContent() widget id:${i.id} '${e.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}d=u.getBoundingClientRect().height||l}}if(l===d)return;n+=d-l;let h=Math.ceil(n/r),_=Number.isInteger(i.sizeToContent)?i.sizeToContent:0;_&&h>_&&(h=_,t.classList.add("size-to-content-max")),i.minH&&h<i.minH?h=i.minH:i.maxH&&h>i.maxH&&(h=i.maxH),h!==i.h&&(o._ignoreLayoutsNodeChange=!0,o.moveNode(i,{h}),delete o._ignoreLayoutsNodeChange)}resizeToContentCBCheck(t){e.resizeToContentCB?e.resizeToContentCB(t):this.resizeToContent(t)}rotate(t,i){return e.getElements(t).forEach(o=>{let r=o.gridstackNode;if(!r||!f.canBeRotated(r))return;let n={w:r.h,h:r.w,minH:r.minW,minW:r.minH,maxH:r.maxW,maxW:r.maxH};if(i){let l=i.left>0?Math.floor(i.left/this.cellWidth()):0,d=i.top>0?Math.floor(i.top/this.opts.cellHeight):0;n.x=r.x+l-(r.h-(d+1)),n.y=r.y+d-l}let s=n;Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l]});let c=r._orig;this.update(o,n),r._orig=c}),this}margin(t){if(!(typeof t=="string"&&t.split(" ").length>1)){let i=f.parseHeight(t);if(this.opts.marginUnit===i.unit&&this.opts.margin===i.h)return this}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(t){return this.engine.willItFit(t)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let t=this.engine.getDirtyNodes(!0);return t&&t.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(t),this._triggerEvent("change",t)),this.engine.saveInitial(),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(i=>{delete i._dirty});let t=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",t)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let t=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",t)}return this}_triggerEvent(t,i){let o=i?new CustomEvent(t,{bubbles:!1,detail:i}):new Event(t),r=this;for(;r.parentGridNode;)r=r.parentGridNode.grid;return r.el.dispatchEvent(o),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let t=this.parentGridNode,i=this.getRow()+this._extraDragRow,o=this.opts.cellHeight,r=this.opts.cellHeightUnit;if(!o)return this;if(!t&&!this.opts.minRow){let n=f.parseHeight(getComputedStyle(this.el).minHeight);if(n.h>0&&n.unit===r){let s=Math.floor(n.h/o);i<s&&(i=s)}}return this.el.setAttribute("gs-current-row",String(i)),this.el.style.removeProperty("min-height"),this.el.style.removeProperty("height"),i&&(this.el.style[t?"minHeight":"height"]=i*o+r),t&&f.shouldSizeToContent(t)&&t.grid.resizeToContentCBCheck(t.el),this}_prepareElement(t,i=!1,o){o=o||this._readAttr(t),t.gridstackNode=o,o.el=t,o.grid=this,o=this.engine.addNode(o,i),this._writeAttr(t,o),t.classList.add(I0.itemClass,this.opts.itemClass);let r=f.shouldSizeToContent(o);return r?t.classList.add("size-to-content"):t.classList.remove("size-to-content"),r&&this.resizeToContentCheck(!1,o),(!f.lazyLoad(o)||!o.visibleObservable)&&this.prepareDragDrop(o.el),this}_writePosAttr(t,i){if(!i._moving&&!i._resizing||this._placeholder===t){let o=this.opts.rtl?"right":"left",r=t.style;r.top=i.y?i.y===1?"var(--gs-cell-height)":`calc(${i.y} * var(--gs-cell-height))`:null,r[o]=i.x?i.x===1?"var(--gs-column-width)":`calc(${i.x} * var(--gs-column-width))`:null,r.width=i.w>1?`calc(${i.w} * var(--gs-column-width))`:null,r.height=i.h>1?`calc(${i.h} * var(--gs-cell-height))`:null}return t.setAttribute("gs-x",String(i.x??0)),t.setAttribute("gs-y",String(i.y??0)),i.w>1?t.setAttribute("gs-w",String(i.w)):t.removeAttribute("gs-w"),i.h>1?t.setAttribute("gs-h",String(i.h)):t.removeAttribute("gs-h"),this}_writeAttr(t,i){if(!i)return this;this._writePosAttr(t,i);let o={noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",sizeToContent:"gs-size-to-content"},r=i,n=o;for(let s in n)r[s]?t.setAttribute(n[s],String(r[s])):t.removeAttribute(n[s]);return this}_readAttr(t,i=!0){let o={};o.x=f.toNumber(t.getAttribute("gs-x")),o.y=f.toNumber(t.getAttribute("gs-y")),o.w=f.toNumber(t.getAttribute("gs-w")),o.h=f.toNumber(t.getAttribute("gs-h")),o.autoPosition=f.toBool(t.getAttribute("gs-auto-position")),o.noResize=f.toBool(t.getAttribute("gs-no-resize")),o.noMove=f.toBool(t.getAttribute("gs-no-move")),o.locked=f.toBool(t.getAttribute("gs-locked"));let r=t.getAttribute("gs-size-to-content");r&&(r==="true"||r==="false"?o.sizeToContent=f.toBool(r):o.sizeToContent=parseInt(r,10)),o.id=t.getAttribute("gs-id")??void 0,o.maxW=f.toNumber(t.getAttribute("gs-max-w")),o.minW=f.toNumber(t.getAttribute("gs-min-w")),o.maxH=f.toNumber(t.getAttribute("gs-max-h")),o.minH=f.toNumber(t.getAttribute("gs-min-h")),i&&(o.w===1&&t.removeAttribute("gs-w"),o.h===1&&t.removeAttribute("gs-h"),o.maxW&&t.removeAttribute("gs-max-w"),o.minW&&t.removeAttribute("gs-min-w"),o.maxH&&t.removeAttribute("gs-max-h"),o.minH&&t.removeAttribute("gs-min-h"));let n=o;for(let s in n)o.hasOwnProperty(s)&&!n[s]&&n[s]!==0&&s!=="sizeToContent"&&delete n[s];return o}_setStaticClass(){let t=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...t),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...t),this.el.removeAttribute("gs-static")),this}onResize(t=this.el?.clientWidth){if(!t)return this;if(this.prevWidth===t)return this;this.prevWidth=t,this.batchUpdate();let i=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||"list"),i=!0):i=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(o=>{o.subGrid&&o.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(i),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(t=!1,i){if(!this.engine)return;if(t&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,i),this.animationDelay);return}if(i)f.shouldSizeToContent(i)&&this.resizeToContentCBCheck(i.el);else if(this.engine.nodes.some(r=>f.shouldSizeToContent(r))){let r=[...this.engine.nodes];this.batchUpdate(),r.forEach(n=>{f.shouldSizeToContent(n)&&this.resizeToContentCBCheck(n.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let o=this._gsEventHandler.resizecontent;o&&o(new Event("resizecontent"),i?[i]:this.engine.nodes)}_updateResizeEvent(t=!1){let i=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(o=>o.sizeToContent));return!t&&i&&!this.resizeObserver?(this._sizeThrottle=f.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(t||!i)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(t=".grid-stack-item"){return f.getElement(t)}static getElements(t=".grid-stack-item"){return f.getElements(t)}static getGridElement(t){return e.getElement(t)}static getGridElements(t){return f.getElements(t)}_initMargin(){let t={h:0,unit:"px"},i=0,o=[];typeof this.opts.margin=="string"&&(o=this.opts.margin.split(" ")),o.length===2?(this.opts.marginTop=this.opts.marginBottom=o[0],this.opts.marginLeft=this.opts.marginRight=o[1]):o.length===4?(this.opts.marginTop=o[0],this.opts.marginRight=o[1],this.opts.marginBottom=o[2],this.opts.marginLeft=o[3]):(t=f.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,i=this.opts.margin=t.h);let r=["marginTop","marginRight","marginBottom","marginLeft"],n=this.opts;r.forEach(c=>{n[c]===void 0?n[c]=i:(t=f.parseHeight(n[c]),n[c]=t.h,delete this.opts.margin)}),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let s=this.el.style;return s.setProperty("--gs-item-margin-top",`${this.opts.marginTop}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-bottom",`${this.opts.marginBottom}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-right",`${this.opts.marginRight}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-left",`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return A0}static setupDragIn(t,i,o,r=document){i?.pause!==void 0&&(H.pauseDrag=i.pause),i=Z({appendTo:"body",helper:"clone"},i||{}),(typeof t=="string"?f.getElements(t,r):t).forEach((n,s)=>{A0.isDraggable(n)||A0.dragIn(n,i),o?.[s]&&(n.gridstackNode=o[s])})}movable(t,i){return this.opts.staticGrid?this:(e.getElements(t).forEach(o=>{let r=o.gridstackNode;r&&(i?delete r.noMove:r.noMove=!0,this.prepareDragDrop(r.el))}),this)}resizable(t,i){return this.opts.staticGrid?this:(e.getElements(t).forEach(o=>{let r=o.gridstackNode;r&&(i?delete r.noResize:r.noResize=!0,this.prepareDragDrop(r.el))}),this)}disable(t=!0){return this.opts.staticGrid?this:(this.enableMove(!1,t),this.enableResize(!1,t),this._triggerEvent("disable"),this)}enable(t=!0){return this.opts.staticGrid?this:(this.enableMove(!0,t),this.enableResize(!0,t),this._triggerEvent("enable"),this)}enableMove(t,i=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(o=>{this.prepareDragDrop(o.el),o.subGrid&&i&&o.subGrid.enableMove(t,i)}),this)}enableResize(t,i=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(o=>{this.prepareDragDrop(o.el),o.subGrid&&i&&o.subGrid.enableResize(t,i)}),this)}cancelDrag(){let t=H.dragElement?.el;if(t?._gridstackNodeOrig){let o=t._gridstackNodeOrig,r=o.grid,n=this._placeholder?.gridstackNode;n&&(n._isAboutToRemove=!0,this.engine.removeNode(n)),this.engine.restoreInitial(),t.gridstackNode=o,delete t._gridstackNodeOrig,delete H.dropElement,r&&(r.engine.addNode(o,!1),r.engine.restoreInitial());return}let i=this._placeholder?.gridstackNode;i&&(i._isExternal?(i._isAboutToRemove=!0,this.engine.removeNode(i)):i._isAboutToRemove&&e._itemRemoving(i.el,!1),this.engine.restoreInitial())}_removeDD(t){return A0.draggable(t,"destroy").resizable(t,"destroy"),t.gridstackNode&&delete t.gridstackNode._initDD,delete t.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return A0.droppable(this.el,"destroy"),this;let t,i,o=(r,n,s)=>{s=s||n;let c=s.gridstackNode;if(!c)return;if(!c.grid?.el){s.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let u=s.getBoundingClientRect();s.style.left=u.x+(this.dragTransform.xScale-1)*(r.clientX-u.x)/this.dragTransform.xScale+"px",s.style.top=u.y+(this.dragTransform.yScale-1)*(r.clientY-u.y)/this.dragTransform.yScale+"px",s.style.transformOrigin="0px 0px"}let{top:l,left:d}=s.getBoundingClientRect(),h=this.el.getBoundingClientRect();d-=h.left,l-=h.top;let _={position:{top:l*this.dragTransform.xScale,left:d*this.dragTransform.yScale}};if(c._temporaryRemoved){if(c.x=Math.max(0,Math.round(d/i)),c.y=Math.max(0,Math.round(l/t)),delete c.autoPosition,this.engine.nodeBoundFix(c),!this.engine.willItFit(c)){if(c.autoPosition=!0,!this.engine.willItFit(c)){A0.off(n,"drag");return}c._willFitPos&&(f.copyPos(c,c._willFitPos),delete c._willFitPos)}this._onStartMoving(s,r,_,c,i,t)}else this._dragOrResize(s,r,_,c,i,t)};return A0.droppable(this.el,{accept:r=>{let n=r.gridstackNode||this._readAttr(r,!1);if(n?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let s=!0;if(typeof this.opts.acceptWidgets=="function")s=this.opts.acceptWidgets(r);else{let c=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;s=r.matches(c)}if(s&&n&&this.opts.maxRow){let c={w:n.w,h:n.h,minW:n.minW,minH:n.minH};s=this.engine.willItFit(c)}return s}}).on(this.el,"dropover",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;if(c?.grid===this&&!c._temporaryRemoved)return!1;if(c?._sidebarOrig&&(c.w=c._sidebarOrig.w,c.h=c._sidebarOrig.h),c?.grid&&c.grid!==this&&!c._temporaryRemoved&&c.grid._leave(n,s),s=s||n,i=this.cellWidth(),t=this.getCellHeight(!0),!c){let h=s.getAttribute("data-gs-widget")||s.getAttribute("gridstacknode");if(h){try{c=JSON.parse(h)}catch{console.error("Gridstack dropover: Bad JSON format: ",h)}s.removeAttribute("data-gs-widget"),s.removeAttribute("gridstacknode")}c||(c=this._readAttr(s)),c._sidebarOrig={w:c.w,h:c.h}}c.grid||(c.el||(c=Z({},c)),c._isExternal=!0,s.gridstackNode=c);let l=c.w||Math.round(s.offsetWidth/i)||1,d=c.h||Math.round(s.offsetHeight/t)||1;return c.grid&&c.grid!==this?(n._gridstackNodeOrig||(n._gridstackNodeOrig=c),n.gridstackNode=c=N(Z({},c),{w:l,h:d,grid:this}),delete c.x,delete c.y,this.engine.cleanupNode(c).nodeBoundFix(c),c._initDD=c._isExternal=c._temporaryRemoved=!0):(c.w=l,c.h=d,c._temporaryRemoved=!0),e._itemRemoving(c.el,!1),A0.on(n,"drag",o),o(r,n,s),!1}).on(this.el,"dropout",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;return c&&(!c.grid||c.grid===this)&&(this._leave(n,s),this._isTemp&&this.removeAsSubGrid(c)),!1}).on(this.el,"drop",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;if(c?.grid===this&&!c._isExternal)return!1;let l=!!this.placeholder.parentElement,d=n!==s;this.placeholder.remove(),delete this.placeholder.gridstackNode,l&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let h=n._gridstackNodeOrig;if(delete n._gridstackNodeOrig,l&&h?.grid&&h.grid!==this){let u=h.grid;u.engine.removeNodeFromLayoutCache(h),u.engine.removedNodes.push(h),u._triggerRemoveEvent()._triggerChangeEvent(),u.parentGridNode&&!u.engine.nodes.length&&u.opts.subGridDynamic&&u.removeAsSubGrid()}if(!c||(l&&(this.engine.cleanupNode(c),c.grid=this),delete c.grid?._isTemp,A0.off(n,"drag"),s&&s!==n?(s.remove(),n=s):n.remove(),this._removeDD(n),!l))return!1;let _=c.subGrid?.el?.gridstack;return f.copyPos(c,this._readAttr(this.placeholder)),f.removePositioningStyles(n),d&&(c.content||c.subGridOpts||e.addRemoveCB)?(delete c.el,n=this.addWidget(c)||n):(this._prepareElement(n,!0,c),this.el.appendChild(n),this.resizeToContentCheck(!1,c),_&&(_.parentGridNode=c),this._updateContainerHeight()),this.engine.addedNodes.push(c),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(N(Z({},r),{type:"dropped"}),h&&h.grid?h:void 0,c),!1}),this}static _itemRemoving(t,i){if(!t)return;let o=t?t.gridstackNode:void 0;!o?.grid||t.classList.contains(o.grid.opts.removableOptions.decline)||(i?o._isAboutToRemove=!0:delete o._isAboutToRemove,i?t.classList.add("grid-stack-item-removing"):t.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let t=document.querySelector(this.opts.removable);return t?(!this.opts.staticGrid&&!A0.isDroppable(t)&&A0.droppable(t,this.opts.removableOptions).on(t,"dropover",(i,o)=>e._itemRemoving(o,!0)).on(t,"dropout",(i,o)=>e._itemRemoving(o,!1)),this):this}refreshDragHandles(t){return e.getElements(t).forEach(i=>{i.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(t,i=!1){let o=t?.gridstackNode;if(!o)return this;let r=o.noMove||this.opts.disableDrag,n=o.noResize||this.opts.disableResize,s=this.opts.staticGrid||r&&n;if((i||s)&&(o._initDD&&(this._removeDD(t),delete o._initDD),s))return t.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!o._initDD){let c,l,d=(u,v)=>{this.triggerEvent(u,u.target),c=this.cellWidth(),l=this.getCellHeight(!0),this._onStartMoving(t,u,v,o,c,l)},h=(u,v)=>{this._dragOrResize(t,u,v,o,c,l)},_=u=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete o._moving,delete o._resizing,delete o._event,delete o._lastTried;let v=o.w!==o._orig.w,b=u.target;if(!(!b.gridstackNode||b.gridstackNode.grid!==this)){if(o.el=b,o._isAboutToRemove){let C=t.gridstackNode.grid;C._gsEventHandler[u.type]&&C._gsEventHandler[u.type](u,b),C.engine.nodes.push(o),C.removeWidget(t,!0,!0)}else f.removePositioningStyles(b),o._temporaryRemoved?(this._writePosAttr(b,o),this.engine.addNode(o)):this._writePosAttr(b,o),this.triggerEvent(u,b);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),u.type==="resizestop"&&(Number.isInteger(o.sizeToContent)&&(o.sizeToContent=o.h),this.resizeToContentCheck(v,o))}};A0.draggable(t,{start:d,stop:_,drag:h,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}).resizable(t,{start:d,stop:_,resize:h,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}),o._initDD=!0}return A0.draggable(t,r?"disable":"enable").resizable(t,n?"disable":"enable"),this}_onStartMoving(t,i,o,r,n,s){if(this.engine.cleanNodes().beginUpdate(r),this._writePosAttr(this.placeholder,r),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=r,r.grid?.el)this.dragTransform=f.getValuesFromTransformedElement(t);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let c=this.placeholder.closest(".grid-stack");this.dragTransform=f.getValuesFromTransformedElement(c)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(r.el=this.placeholder,r._lastUiPosition=o.position,r._prevYPix=o.position.top,r._moving=i.type==="dragstart",r._resizing=i.type==="resizestart",delete r._lastTried,i.type==="dropover"&&r._temporaryRemoved&&(this.engine.addNode(r),r._moving=!0),this.engine.cacheRects(n,s,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),i.type==="resizestart"){let c=this.getColumn()-r.x,l=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-r.y;A0.resizable(t,"option","minWidth",n*Math.min(r.minW||1,c)).resizable(t,"option","minHeight",s*Math.min(r.minH||1,l)).resizable(t,"option","maxWidth",n*Math.min(r.maxW||Number.MAX_SAFE_INTEGER,c)).resizable(t,"option","maxWidthMoveLeft",n*Math.min(r.maxW||Number.MAX_SAFE_INTEGER,r.x+r.w)).resizable(t,"option","maxHeight",s*Math.min(r.maxH||Number.MAX_SAFE_INTEGER,l)).resizable(t,"option","maxHeightMoveUp",s*Math.min(r.maxH||Number.MAX_SAFE_INTEGER,r.y+r.h))}}_dragOrResize(t,i,o,r,n,s){let c=Z({},r._orig),l=!1,d=this.opts.marginLeft,h=this.opts.marginRight,_=this.opts.marginTop,u=this.opts.marginBottom,v=Math.round(s*.1),b=Math.round(n*.1);if(d=Math.min(d,b),h=Math.min(h,b),_=Math.min(_,v),u=Math.min(u,v),i.type==="drag"){if(r._temporaryRemoved)return;r._prevYPix=o.position.top,this.opts.draggable.scroll!==!1&&H.dragElement?.updateScrollPosition(this.el);let A=o.position.left+(o.position.left>r._lastUiPosition.left?-h:d),x=o.position.top+(o.position.top>r._lastUiPosition.top?-u:_);c.x=Math.round(A/n),c.y=Math.round(x/s);let k=this._extraDragRow;if(this.engine.collide(r,c)){let T=this.getRow(),f1=Math.max(0,c.y+r.h-T);this.opts.maxRow&&T+f1>this.opts.maxRow&&(f1=Math.max(0,this.opts.maxRow-T)),this._extraDragRow=f1}else this._extraDragRow=0;if(this._extraDragRow!==k&&this._updateContainerHeight(),r.x===c.x&&r.y===c.y)return}else if(i.type==="resize"){if((c.x??0)<0||(f.updateScrollResize(i,t,s),c.w=Math.round((o.size.width-d)/n),c.h=Math.round((o.size.height-_)/s),r.w===c.w&&r.h===c.h)||r._lastTried&&r._lastTried.w===c.w&&r._lastTried.h===c.h)return;if(i.hasMovedX){let A=o.position.left+d;c.x=Math.round(A/n)}if(i.hasMovedY){let A=o.position.top+_;c.y=Math.round(A/s)}l=!0}r._event=i,r._lastTried=c;let C={x:o.position.left+d,y:o.position.top+_,w:(o.size?o.size.width:r.w*n)-d-h,h:(o.size?o.size.height:r.h*s)-_-u};if(this.engine.moveNodeCheck(r,N(Z({},c),{cellWidth:n,cellHeight:s,rect:C,resizing:l}))){r._lastUiPosition=o.position,this.engine.cacheRects(n,s,_,h,u,d),delete r._skipDown,l&&r.subGrid&&r.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let A=i.target;r._sidebarOrig||this._writePosAttr(A,r),this.triggerEvent(i,A)}}triggerEvent(t,i){let o=this;for(;o.parentGridNode;)o=o.parentGridNode.grid;o._gsEventHandler[t.type]&&o._gsEventHandler[t.type](t,i)}_leave(t,i){i=i||t;let o=i.gridstackNode;if(!o||(i.style.transform=i.style.transformOrigin="",A0.off(t,"drag"),o._temporaryRemoved))return;o._temporaryRemoved=!0,this.engine.removeNode(o),o.el=o._isExternal&&i?i:t;let r=o._sidebarOrig;o._isExternal&&this.engine.cleanupNode(o),o._sidebarOrig=r,this.opts.removable===!0&&e._itemRemoving(t,!0),t._gridstackNodeOrig?(t.gridstackNode=t._gridstackNodeOrig,delete t._gridstackNodeOrig):o._isExternal&&this.engine.restoreInitial()}}return e.renderCB=(a,t)=>{a&&t?.content&&(a.textContent=t.content)},e.resizeToContentParent=".grid-stack-item-content",e.Utils=f,e.Engine=ai,e.GDRev="13.0.1",e})(),np=["container"],ZR=["*"];function CR(e,a){}var xR=["*",[["","empty-content",""]]],yR=["*","[empty-content]"];function MR(e,a){e&1&&C0(0,1,["*ngIf","isEmpty"])}function HR(e,a){}var h9=(()=>{class e{constructor(t){this.elementRef=t,this.el._gridItemComp=this}set options(t){let i=this.el.gridstackNode?.grid;i?i.update(this.el,t):this._options=N(Z({},t),{el:this.el})}get options(){return this.el.gridstackNode||this._options||{el:this.el}}get el(){return this.elementRef.nativeElement}clearOptions(){delete this._options}ngOnDestroy(){this.clearOptions(),delete this.childWidget,delete this.el._gridItemComp,delete this.container,delete this.ref}}return e.\u0275fac=function(a){return new(a||e)(ue(U1))},e.\u0275cmp=J1({type:e,selectors:[["gridstack-item"]],viewQuery:function(a,t){if(a&1&&i9(np,7,T2),a&2){let i;E8(i=I8())&&(t.container=i.first)}},inputs:{options:"options"},ngContentSelectors:ZR,decls:5,vars:1,consts:[["container",""],[1,"grid-stack-item-content"]],template:function(a,t){a&1&&(L0(),n_(0,"div",1),a_(1,CR,0,0,"ng-template",null,0,H_),C0(3),Z1(4),s_()),a&2&&(B(4),T3(" ",t.options.content," "))},styles:["[_nghost-%COMP%]{display:block}"]}),e})(),ii=(()=>{class e{constructor(t){this.elementRef=t,this.addedCB=new k1,this.changeCB=new k1,this.disableCB=new k1,this.dragCB=new k1,this.dragStartCB=new k1,this.dragStopCB=new k1,this.droppedCB=new k1,this.enableCB=new k1,this.removedCB=new k1,this.resizeCB=new k1,this.resizeStartCB=new k1,this.resizeStopCB=new k1,ee.addRemoveCB||(ee.addRemoveCB=BR),ee.saveCB||(ee.saveCB=kR),ee.updateCB||(ee.updateCB=LR),this.el._gridComp=this}set options(t){this._grid?this._grid.updateOptions(t):this._options=t}get options(){return this._grid?.opts||this._options||{}}get el(){return this.elementRef.nativeElement}get grid(){return this._grid}static registerComponents(t){t.forEach(i=>e.componentMap[e.getSelector(i)]=i)}static getSelector(t){return T_(t).selector}ngOnInit(){this.loaded=!!this.options?.children?.length,this._grid=ee.init(this._options,this.el),delete this._options,this.checkEmpty()}ngAfterContentInit(){this._sub=this.gridstackItems?.changes.subscribe(()=>this.updateAll()),this.loaded||this.updateAll(),this.hookEvents(this.grid)}ngOnDestroy(){this.unhookEvents(this._grid),this._sub?.unsubscribe(),this._grid?.destroy(),delete this._grid,delete this.el._gridComp,delete this.container,delete this.ref}updateAll(){if(!this.grid)return;let t=[];this.gridstackItems?.forEach(i=>{t.push(i.options),i.clearOptions()}),this.grid.load(t)}checkEmpty(){this.grid&&(this.isEmpty=!this.grid.engine.nodes.length)}hookEvents(t){t&&(t.parentGridNode||t.on("added",(i,o)=>{(o[0].grid?.el._gridComp||this).checkEmpty(),this.addedCB.emit({event:i,nodes:o})}).on("change",(i,o)=>this.changeCB.emit({event:i,nodes:o})).on("disable",i=>this.disableCB.emit({event:i})).on("drag",(i,o)=>this.dragCB.emit({event:i,el:o})).on("dragstart",(i,o)=>this.dragStartCB.emit({event:i,el:o})).on("dragstop",(i,o)=>this.dragStopCB.emit({event:i,el:o})).on("dropped",(i,o,r)=>this.droppedCB.emit({event:i,previousNode:o,newNode:r})).on("enable",i=>this.enableCB.emit({event:i})).on("removed",(i,o)=>{(o[0].grid?.el._gridComp||this).checkEmpty(),this.removedCB.emit({event:i,nodes:o})}).on("resize",(i,o)=>this.resizeCB.emit({event:i,el:o})).on("resizestart",(i,o)=>this.resizeStartCB.emit({event:i,el:o})).on("resizestop",(i,o)=>this.resizeStopCB.emit({event:i,el:o})))}unhookEvents(t){t&&(t.parentGridNode||t.off("added change disable drag dragstart dragstop dropped enable removed resize resizestart resizestop"))}}return e.componentMap={},e.\u0275fac=function(a){return new(a||e)(ue(U1))},e.\u0275cmp=J1({type:e,selectors:[["gridstack"]],contentQueries:function(a,t,i){if(a&1&&l_(i,h9,4),a&2){let o;E8(o=I8())&&(t.gridstackItems=o)}},viewQuery:function(a,t){if(a&1&&i9(np,7,T2),a&2){let i;E8(i=I8())&&(t.container=i.first)}},inputs:{options:"options",isEmpty:"isEmpty"},outputs:{addedCB:"addedCB",changeCB:"changeCB",disableCB:"disableCB",dragCB:"dragCB",dragStartCB:"dragStartCB",dragStopCB:"dragStopCB",droppedCB:"droppedCB",enableCB:"enableCB",removedCB:"removedCB",resizeCB:"resizeCB",resizeStartCB:"resizeStartCB",resizeStopCB:"resizeStopCB"},ngContentSelectors:yR,decls:4,vars:1,consts:[["container",""],[4,"ngIf"]],template:function(a,t){a&1&&(L0(xR),t_(0,MR,1,0,"ng-content",1)(1,HR,0,0,"ng-template",null,0,H_),C0(3)),a&2&&J("ngIf",t.isEmpty)},dependencies:[SL],styles:["[_nghost-%COMP%]{display:block}"]}),e})();function BR(e,a,t,i){if(t){if(!e)return;if(i){let o=e.parentElement?._gridItemComp;if(!o)return;let r=(o.childWidget?.container||o.container)?.createComponent(ii),n=r?.instance;return n?(n.ref=r,n.options=a,n.el):void 0}else{let o=e._gridComp?.container?.createComponent(h9),r=o?.instance;if(!r)return;r.ref=o;let n=a.component,s=n?ii.componentMap[n]:void 0;if(s){let c=()=>{let l=r.container?.createComponent(s),d=l?.instance;d&&typeof d.serialize=="function"&&typeof d.deserialize=="function"&&(r.childWidget=d,d._compRef=l,d.deserialize(a))};a.lazyLoad||a.grid?.opts?.lazyLoad&&a.lazyLoad!==!1?a.visibleObservable||(a.visibleObservable=new IntersectionObserver(([l])=>{l.isIntersecting&&(a.visibleObservable?.disconnect(),delete a.visibleObservable,c(),a.grid?.refreshDragHandles(r.el))}),window.setTimeout(()=>a.visibleObservable?.observe(r.el))):(c(),a.grid?.refreshDragHandles(r.el))}return r.el}}else if(i){let o=a.el?._gridComp;o?.ref?o.ref.destroy():o?.ngOnDestroy()}else{let o=a.el?._gridItemComp;o?.ref?o.ref.destroy():o?.ngOnDestroy()}}function kR(e,a){let t=e.el?._gridItemComp;if(t){let o=t.childWidget?.serialize();o&&(a.props=o);return}let i=e.el?._gridComp}function LR(e){let a=e,t=e.el?._gridItemComp;t?.childWidget&&a.props&&t.childWidget.deserialize(a)}var VR=["grid"],SR=["editCardsBtn"],TR=[[["","slot","dashboard-subheader"]]],ER=["[slot=dashboard-subheader]"],zl=(e,a)=>a.id,sp=(e,a)=>a.action;function IR(e,a){if(e&1&&(S(0,"ui5-title",8),_5(1,"span",23),D()),e&2){let t=P();B(),J("innerHTML",t.safeTitle(),Qd)}}function zR(e,a){if(e&1&&(S(0,"div",9),_5(1,"ui5-icon",24),S(2,"span",25),Z1(3),D()()),e&2){let t=P();B(),J("accessibleName",t.i18n.getTranslation(t.i18nKeys.UNSAVED_CHANGES)),B(2),L1(t.i18n.getTranslation(t.i18nKeys.UNSAVED_CHANGES))}}function DR(e,a){if(e&1&&(S(0,"ui5-title",10),_5(1,"span",26),D()),e&2){let t=P();B(),J("innerHTML",t.safeDescription(),Qd)}}function RR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",27,1),r1("click",function(){K1(t);let i=P();return X1(i.openCardPanel())}),Z1(2),D()}if(e&2){let t=P();J("accessibleName",t.editCardsButton().text||t.editCardsButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_CARDS))("design",t.editCardsButton().design)("icon",t.editCardsButton().icon)("tooltip",t.editCardsButton().tooltip),B(2),L1(t.editCardsButton().text)}}function OR(e,a){e&1&&_5(0,"ui5-menu-separator")}function NR(e,a){if(e&1&&(_5(0,"ui5-menu-item",31),w0(1,OR,1,0,"ui5-menu-separator")),e&2){let t=P(2);J("icon",t.editViewButton().icon)("text",t.editViewButton().text||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW)),B(),Z0(t.customActions().length?1:-1)}}function PR(e,a){if(e&1&&_5(0,"ui5-menu-item",30),e&2){let t=a.$implicit;J("icon",t.icon??"")("text",t.text??""),d5("data-action",t.action)("data-testid","dashboard-action-"+t.action)}}function FR(e,a){if(e&1&&_5(0,"ui5-menu-separator")(1,"ui5-menu-item",31),e&2){let t=P(2);B(),J("icon",t.editViewButton().icon)("text",t.editViewButton().text||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))}}function UR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",28,2),r1("click",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.update(o=>!o))}),D(),S(2,"ui5-menu",29),r1("ui5Close",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.set(!1))})("ui5ItemClick",function(i){K1(t);let o=P();return X1(o.onMenuItemClick(i.detail.item.dataset.action,i))})("ui5Open",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.set(!0))}),w0(3,NR,2,3),a7(4,PR,1,4,"ui5-menu-item",30,sp),w0(6,FR,2,2),D()}if(e&2){let t=wk(1),i=P();J("accessibleName",i.i18n.getTranslation(i.i18nKeys.ACTIONS))("tooltip",i.i18n.getTranslation(i.i18nKeys.ACTIONS)),B(2),J("open",i.toolbarMenuOpen())("opener",t.element),B(),Z0(i.config().editButtonFirst&&i.config().editable?3:-1),B(),i7(i.customActions()),B(2),Z0(!i.config().editButtonFirst&&i.config().editable?6:-1)}}function qR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",34),r1("click",function(){K1(t);let i=P(2);return X1(i.enterEditMode())}),Z1(1),D()}if(e&2){let t=P(2);J("accessibleName",t.editViewButton().text||t.editViewButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))("design",t.editViewButton().design)("icon",t.editViewButton().icon)("tooltip",t.editViewButton().tooltip),B(),L1(t.editViewButton().text)}}function jR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",35),r1("click",function(i){let o=K1(t).$implicit,r=P(2);return X1(r.actionButtonClick.emit({event:i,action:o}))}),Z1(1),D()}if(e&2){let t=a.$implicit;J("accessibleName",t.text||t.tooltip||t.action)("design",t.design??"Default")("endIcon",t==null?null:t.endIcon)("icon",t.icon??"")("tooltip",t.tooltip??""),d5("data-testid","dashboard-action-"+t.action),B(),L1(t.text)}}function WR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",34),r1("click",function(){K1(t);let i=P(2);return X1(i.enterEditMode())}),Z1(1),D()}if(e&2){let t=P(2);J("accessibleName",t.editViewButton().text||t.editViewButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))("design",t.editViewButton().design)("icon",t.editViewButton().icon)("tooltip",t.editViewButton().tooltip),B(),L1(t.editViewButton().text)}}function GR(e,a){if(e&1&&(w0(0,qR,2,5,"ui5-button",32),a7(1,jR,2,7,"ui5-button",33,sp),w0(3,WR,2,5,"ui5-button",32)),e&2){let t=P();Z0(t.config().editButtonFirst&&t.config().editable?0:-1),B(),i7(t.customActions()),B(2),Z0(!t.config().editButtonFirst&&t.config().editable?3:-1)}}function $R(e,a){if(e&1){let t=Q0();S(0,"mfp-dashboard-section",36),r1("removeCard",function(i){K1(t);let o=P();return X1(o.removeCard(i))})("removeSection",function(){let i=K1(t).$implicit,o=P();return X1(o.removeSection(i.id))}),D()}if(e&2){let t=a.$implicit,i=P();J("cards",i.sectionCards()(t.id))("editMode",i.editMode())("section",t)}}function KR(e,a){if(e&1&&_5(0,"div",37),e&2){let t=P();v_(t.dragOriginStyle())}}function XR(e,a){if(e&1){let t=Q0();S(0,"gridstack-item",18)(1,"mfp-dashboard-card",38),r1("removeCard",function(){let i=K1(t).$implicit,o=P();return X1(o.removeCard(i.id))}),D()()}if(e&2){let t=a.$implicit,i=P();J("options",t),B(),J("card",t)("editMode",i.editMode())}}function YR(e,a){if(e&1){let t=Q0();S(0,"div",19)(1,"ui5-button",39),r1("click",function(){K1(t);let i=P();return X1(i.saveEdit())}),Z1(2),D(),S(3,"ui5-button",40),r1("click",function(){K1(t);let i=P();return X1(i.cancelEdit())}),Z1(4),D()()}if(e&2){let t=P();B(2),L1(t.i18n.getTranslation(t.i18nKeys.SAVE)),B(2),L1(t.i18n.getTranslation(t.i18nKeys.CANCEL))}}document.body.classList.add("ui5-content-density-compact");var QR=class oi{static registerAngularComponents(a){Dz(a)}hostEl=M(U1);injector=M(n0);sanitizer=M(F_);i18n=M(me);config=w.required();sections=pl([]);cards=pl([]);availableCards=w([]);language=w("en");saved=O();actionButtonClick=O();unsavedChangesChange=O();i18nKeys=B2;gridDirty=z0(!1);isXLPage=z0(!0);editMode=z0(!1);compactToolbar=z0(!1);toolbarMenuOpen=z0(!1);cardDialogOpen=z0(!1);discardDialogOpen=z0(!1);unsavedNavDialogOpen=z0(!1);backgroundImageHeight=z0(null);dragOriginStyle=z0(null);hasUnsavedChanges=_0(()=>this.editMode()?this.gridDirty()?!0:JSON.stringify(this.sections())!==this.sectionsSnapshotJson||JSON.stringify(this.cards())!==this.cardsSnapshotJson:!1);safeTitle=_0(()=>{let a=this.sanitizer.sanitize(w5.HTML,this.config().title)??"";return this.sanitizer.bypassSecurityTrustHtml(a)});safeDescription=_0(()=>{let a=this.config().description;if(!a)return null;let t=this.sanitizer.sanitize(w5.HTML,a)??"";return this.sanitizer.bypassSecurityTrustHtml(t)});engineProfile=_0(()=>this.config().zFlow?Tl.zFlow:Tl.default);gridStackEngine=_0(()=>this.engineProfile().engineClass);gridBreakpoints=_0(()=>[...this.engineProfile().breakpoints]);columnVars=_0(()=>{let[a,t,i,o]=this.engineProfile().sectionColumns;return{"--dashboard-cols-sm":a,"--dashboard-cols-md":t,"--dashboard-cols-lg":i,"--dashboard-cols-xl":o}});customActions=_0(()=>this.config().customActions??[]);addedCardsIds=_0(()=>new Set(this.cards().map(a=>a.id)));editViewButton=_0(()=>Z({icon:"action-settings",design:"Transparent",tooltip:this.i18n.getTranslation(B2.EDIT_VIEW),text:""},this.config().buttonsSettings?.editViewButton));editCardsButton=_0(()=>Z({icon:"",design:"Default",tooltip:"",text:this.i18n.getTranslation(B2.EDIT_CARDS)},this.config().buttonsSettings?.editCardsButton));sectionCards=_0(()=>{let a=this.cards();return t=>a.filter(i=>i.sectionId===t)});looseCards=eL(()=>{let a=this.cards().filter(i=>!i.sectionId),t=this.config().zFlow?.cardHeight;return!this.engineProfile().fixedCardHeight||t===void 0?a:a.map(i=>N(Z({},i),{h:t,maxH:t,minH:t}))});gridOptions=_0(()=>({cellHeight:10,sizeToContent:!0,disableResize:!this.editMode(),disableDrag:!this.editMode(),marginBottom:0,marginLeft:0,marginRight:0,engineClass:this.gridStackEngine(),columnOpts:{breakpoints:this.gridBreakpoints()}}));sectionsSnapshotJson="";cardsSnapshotJson="";sectionsSnapshot=[];cardsSnapshot=[];gridStack=O8.required("grid");addCardBtn=O8("editCardsBtn");resizeObserver;cardsPosition=new Map;pendingNavigation=null;beforeUnloadHandler=a=>{this.hasUnsavedChanges()&&(a.preventDefault(),a.returnValue="")};constructor(){H0(()=>{this.unsavedChangesChange.emit(this.hasUnsavedChanges())}),H0(()=>{this.i18n.language.set(this.language())}),H0(a=>{let t=this.config().backgroundImageUrl;if(this.backgroundImageHeight.set(null),!t)return;let i=new Image;i.onload=()=>{this.backgroundImageHeight.set(i.naturalHeight)},i.src=t,a(()=>{i.onload=null})})}ngOnInit(){this.resizeObserver=new ResizeObserver(a=>{let t=a[0]?.contentRect.width??0;this.compactToolbar.set(t<726),this.changeCardSettingsForXlPage(t)}),this.resizeObserver.observe(this.hostEl.nativeElement),window.addEventListener("beforeunload",this.beforeUnloadHandler)}ngOnDestroy(){this.resizeObserver?.disconnect(),window.removeEventListener("beforeunload",this.beforeUnloadHandler)}onMenuItemClick(a,t){if(a==="edit-view"){this.enterEditMode();return}let i=this.customActions().find(o=>o.action===a);i&&this.actionButtonClick.emit({event:t,action:i})}enterEditMode(){this.updateCardsPositions(),this.sectionsSnapshot=[...this.sections()],this.cardsSnapshot=[...this.cards()],this.sectionsSnapshotJson=JSON.stringify(this.sections()),this.cardsSnapshotJson=JSON.stringify(this.cards()),this.gridDirty.set(!1),this.editMode.set(!0),Oa(()=>{this.addCardBtn()?.element.focus()},{injector:this.injector})}saveEdit(){this.updateCardsPositions();let a=this.cards().map(t=>{let i=this.cardsPosition.get(t.id);return N(Z({},t),{x:i?.x,y:i?.y,w:i?.w??t.w,h:i?.h??t.h})});this.gridDirty.set(!1),this.editMode.set(!1),this.cards.set(a),this.saved.emit({sections:this.sections(),cards:a})}cancelEdit(){if(this.hasUnsavedChanges()){this.discardDialogOpen.set(!0);return}this.discardEdit()}confirmDiscard(){this.discardDialogOpen.set(!1),this.discardEdit()}cancelDiscard(){this.discardDialogOpen.set(!1)}requestNavigation(a){return this.hasUnsavedChanges()?(this.pendingNavigation=a,this.unsavedNavDialogOpen.set(!0),!1):(a(),!0)}onUnsavedNavSave(){this.unsavedNavDialogOpen.set(!1),this.saveEdit(),this.runPendingNavigation()}onUnsavedNavDiscard(){this.unsavedNavDialogOpen.set(!1),this.discardEdit(),this.runPendingNavigation()}onUnsavedNavCancel(){this.unsavedNavDialogOpen.set(!1),this.pendingNavigation=null}runPendingNavigation(){let a=this.pendingNavigation;this.pendingNavigation=null,a?.()}discardEdit(){this.sections.set(this.sectionsSnapshot),this.cards.set(this.cardsSnapshot.map(a=>{let t=this.cardsPosition.get(a.id);return N(Z({},a),{x:t?.x,y:t?.y})})),this.cardDialogOpen.set(!1),this.gridDirty.set(!1),this.editMode.set(!1)}removeSection(a){this.sections.update(t=>t.filter(i=>i.id!==a)),this.cards.update(t=>t.filter(i=>i.sectionId!==a))}removeCard(a){let t=this.looseCards().some(i=>i.id===a);this.cardsPosition.delete(a),this.cards.update(i=>i.filter(o=>o.id!==a)),t&&Oa(()=>{this.gridStack().grid?.compact("compact",!1)},{injector:this.injector})}openCardPanel(){this.cardDialogOpen.set(!0)}closeCardPanel(){this.cardDialogOpen.set(!1)}onCardsEdited(a){this.cards.update(t=>[...t.filter(i=>!a.removed.includes(i.id)),...a.added.map(i=>Z({},i))]),this.closeCardPanel()}onDragStart(a){if(this.getZFlowEngine()?.syncZFlowOrderFromLayout(),!this.engineProfile().renderOriginPosition)return;let t=a.el,i=this.gridStack().el.getBoundingClientRect(),o=t.getBoundingClientRect();this.dragOriginStyle.set({top:`${o.top-i.top}px`,left:`${o.left-i.left}px`,width:`${o.width}px`,height:`${o.height}px`})}onDragStop(){this.getZFlowEngine()?.commitZFlowLayout(),this.dragOriginStyle.set(null)}onGridChange(){this.editMode()&&this.gridDirty.set(!0)}saveCardsPosition(a){a.forEach(t=>{t.id&&this.cardsPosition.set(t.id,{x:t.x,y:t.y,w:t.w,h:t.h})})}updateCardsPositions(){let a=this.gridStack().gridstackItems?.toArray().map(t=>t.options);a&&this.saveCardsPosition(a)}getZFlowEngine(){let a=this.gridStack().grid?.engine;return a instanceof ip?a:null}updateCardsForBreakpoint(a){this.getZFlowEngine()?.syncZFlowOrderFromLayout(),this.cards.set(this.cards().map(a)),Oa(()=>{this.getZFlowEngine()?.commitZFlowLayout()},{injector:this.injector})}changeCardSettingsForXlPage(a){this.engineProfile().xlWidthSwap&&(a>=Sz?this.isXLPage()||(this.isXLPage.set(!0),this.updateCardsForBreakpoint(t=>N(Z({},t),{w:t.w===4?3:t.w,maxW:t.maxW===4?3:t.maxW}))):this.isXLPage()&&(this.isXLPage.set(!1),this.updateCardsForBreakpoint(t=>N(Z({},t),{w:t.w===3?4:t.w,maxW:t.maxW===3?4:t.maxW}))))}static \u0275fac=function(a){return new(a||oi)};static \u0275cmp=J1({type:oi,selectors:[["mfp-dashboard"]],viewQuery:function(a,t){a&1&&o9(t.gridStack,VR,5)(t.addCardBtn,SR,5),a&2&&h_(2)},hostVars:4,hostBindings:function(a,t){a&2&&pe("background-image",t.config().backgroundImageUrl?"url("+t.config().backgroundImageUrl+")":null)("background-size",t.backgroundImageHeight()?"100% "+t.backgroundImageHeight()+"px":"100% auto")},inputs:{config:[1,"config"],sections:[1,"sections"],cards:[1,"cards"],availableCards:[1,"availableCards"],language:[1,"language"]},outputs:{sections:"sectionsChange",cards:"cardsChange",saved:"saved",actionButtonClick:"actionButtonClick",unsavedChangesChange:"unsavedChangesChange"},features:[M_([me])],ngContentSelectors:ER,decls:26,vars:18,consts:[["grid",""],["editCardsBtn",""],["menuBtn",""],["data-testid","dashboard",1,"mfp-dashboard"],[1,"mfp-dashboard__topbar"],[1,"mfp-dashboard__topbar-row"],[1,"mfp-dashboard__header"],[1,"mfp-dashboard__title-row"],["data-testid","dashboard-title","level","H3","size","H3","wrapping-type","Normal"],["role","status",1,"mfp-dashboard__unsaved-changes"],["data-testid","dashboard-description","level","H5","size","H5","wrapping-type","Normal"],[1,"mfp-dashboard__toolbar"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"accessibleName","design","icon","tooltip"],[1,"mfp-dashboard__subheader"],[1,"mfp-sections-container"],[3,"cards","editMode","section"],["data-testid","dashboard-grid",3,"addedCB","changeCB","dragStartCB","dragStopCB","removedCB","options"],[1,"mfp-dashboard__drag-origin-placeholder",3,"style"],[3,"options"],[1,"mfp-dashboard__edit-bar"],[3,"cancelled","confirm","addedCardsIds","availableCards","open"],[3,"cancelled","confirm","open"],[3,"cancelled","discard","save","open"],[3,"innerHTML"],["name","user-edit",1,"mfp-dashboard__unsaved-changes-icon",3,"accessibleName"],[1,"mfp-dashboard__unsaved-changes-text"],[1,"mfp-dashboard__description",3,"innerHTML"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"click","accessibleName","design","icon","tooltip"],["data-testid","dashboard-toolbar-menu-btn","design","Transparent","icon","menu2",3,"click","accessibleName","tooltip"],["data-testid","dashboard-toolbar-menu",3,"ui5Close","ui5ItemClick","ui5Open","open","opener"],[3,"icon","text"],["data-action","edit-view","data-testid","dashboard-action-edit-view",3,"icon","text"],["data-testid","dashboard-edit-view-btn",3,"accessibleName","design","icon","tooltip"],[3,"accessibleName","design","endIcon","icon","tooltip"],["data-testid","dashboard-edit-view-btn",3,"click","accessibleName","design","icon","tooltip"],[3,"click","accessibleName","design","endIcon","icon","tooltip"],[3,"removeCard","removeSection","cards","editMode","section"],[1,"mfp-dashboard__drag-origin-placeholder"],[3,"removeCard","card","editMode"],["data-testid","dashboard-save-btn","design","Emphasized",3,"click"],["data-testid","dashboard-cancel-btn","design","Transparent",3,"click"]],template:function(a,t){a&1&&(L0(TR),S(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),w0(5,IR,2,1,"ui5-title",8),w0(6,zR,4,2,"div",9),D(),w0(7,DR,2,1,"ui5-title",10),D(),S(8,"div",11),w0(9,RR,3,5,"ui5-button",12)(10,UR,7,6)(11,GR,4,2),D()(),S(12,"div",13),C0(13),D()(),S(14,"div",14),a7(15,$R,1,3,"mfp-dashboard-section",15,zl),D(),S(17,"gridstack",16,0),r1("addedCB",function(){return t.onGridChange()})("changeCB",function(){return t.onGridChange()})("dragStartCB",function(i){return t.onDragStart(i)})("dragStopCB",function(){return t.onDragStop()})("removedCB",function(){return t.onGridChange()}),w0(19,KR,1,2,"div",17),a7(20,XR,2,3,"gridstack-item",18,zl),D()(),w0(22,YR,5,2,"div",19),S(23,"mfp-edit-cards-dialog",20),r1("cancelled",function(){return t.closeCardPanel()})("confirm",function(i){return t.onCardsEdited(i)}),D(),S(24,"mfp-discard-changes-dialog",21),r1("cancelled",function(){return t.cancelDiscard()})("confirm",function(){return t.confirmDiscard()}),D(),S(25,"mfp-unsaved-changes-dialog",22),r1("cancelled",function(){return t.onUnsavedNavCancel()})("discard",function(){return t.onUnsavedNavDiscard()})("save",function(){return t.onUnsavedNavSave()}),D()),a&2&&(v_(t.columnVars()),f3("edit",t.editMode()),B(5),Z0(t.config().title?5:-1),B(),Z0(t.hasUnsavedChanges()?6:-1),B(),Z0(t.config().description?7:-1),B(2),Z0(t.editMode()?9:t.compactToolbar()?10:11),B(6),i7(t.sections()),B(2),f3("zflow-dragging",!!t.dragOriginStyle()),J("options",t.gridOptions()),B(2),Z0(t.dragOriginStyle()?19:-1),B(),i7(t.looseCards()),B(2),Z0(t.editMode()?22:-1),B(),J("addedCardsIds",t.addedCardsIds())("availableCards",t.availableCards())("open",t.cardDialogOpen()),B(),J("open",t.discardDialogOpen()),B(),J("open",t.unsavedNavDialogOpen()))},dependencies:[ii,h9,Xz,AD,MD,yD,J_,g7,U_,RD,ND,FD,R4],styles:[`.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;z-index:100}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center;z-index:101}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.grid-stack-placeholder{z-index:2;pointer-events:none}.grid-stack-placeholder .placeholder-content{border-radius:16px;height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;background:var(--sapContent_Selected_Hover_Background, #E3F0FF);border:1px solid var(--sapContent_DragAndDropActiveColor, #0064D9);z-index:2!important}mfp-dashboard,mfp-wc-dashboard{display:block;flex:1;margin:0;padding:0;min-height:100%;background:var(--sapShellColor, #354a5e);background-size:100% auto;background-position:top center;background-repeat:no-repeat;background-attachment:local}.mfp-dashboard{padding:calc(var(--sapShell_Space_XL, 3rem) - 10px);container-type:inline-size;container-name:mfp-dashboard}.mfp-dashboard.edit{padding-bottom:60px}.mfp-sections-container{display:grid;grid-auto-rows:auto;align-content:start;gap:1rem;grid-template-columns:repeat(var(--dashboard-cols-xl, 14),1fr)}@container mfp-dashboard (max-width: 599px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-sm, 1),1fr)}}@container mfp-dashboard (min-width: 600px) and (max-width: 1023px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-md, 8),1fr)}}@container mfp-dashboard (min-width: 1024px) and (max-width: 1439px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-lg, 12),1fr)}}.mfp-dashboard__topbar{grid-column:1/-1;align-self:start;display:flex;flex-direction:column;gap:1rem;padding-bottom:3rem;width:100%;min-width:0}.mfp-dashboard__topbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 10px}.mfp-dashboard__header{display:flex;flex-direction:column;gap:.25rem}.mfp-dashboard__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mfp-dashboard__unsaved-changes{display:inline-flex;align-items:center;gap:.375rem}.mfp-dashboard__unsaved-changes-icon{width:16px;height:16px;color:var(--sapContent_MarkerIconColor)}.mfp-dashboard__unsaved-changes-text{color:var(--sapContent_LabelColor);text-shadow:0 0 2px var(--sapContent_ContrastTextShadow, #fff);font-family:var(--sapFontFamily);font-size:var(--sapFontSize, 14px);font-style:normal;font-weight:400;line-height:normal}.mfp-dashboard__description{font-weight:400;font-family:var(--sapFontFamily)}.mfp-dashboard__description b,.mfp-dashboard__description strong{font-family:var(--sapFontBoldFamily)}.mfp-dashboard__toolbar{flex-shrink:0;display:flex;gap:.5rem}.mfp-dashboard__subheader{display:flex;align-items:center;gap:1rem}.mfp-dashboard__edit-bar{position:fixed;bottom:20px;left:16px;right:16px;z-index:1000;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:7px 16px;background:var(--sapPageFooter_Background, white);border-radius:var(--sapElement_BorderCornerRadius, 12px);box-shadow:0 0 0 1px #2235487a,0 2px 8px #2235484d;box-sizing:border-box;overflow:hidden}@media screen and (min-width:0px)and (max-width:599px){.mfp-dashboard{padding:calc(var(--sapShell_Space_S, 1rem) - 10px)}}@media screen and (min-width:600px)and (max-width:1023px){.mfp-dashboard{padding:calc(var(--sapShell_Space_M, 2rem) - 10px)}}@media screen and (min-width:1024px)and (max-width:1439px){.mfp-dashboard{padding:calc(var(--sapShell_Space_L, 2rem) - 10px)}}.grid-stack.grid-stack-dragging,.grid-stack.grid-stack-dragging *{cursor:grabbing!important}.mfp-dashboard__drag-origin-placeholder{position:absolute;pointer-events:none;z-index:1}.mfp-dashboard__drag-origin-placeholder:before{content:"";height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;position:absolute;background:var(--sapNeutralColor, #6a6d75);border-radius:16px;opacity:.3}gridstack{position:relative}.grid-stack:has(.ui-resizable-resizing),.grid-stack:has(.ui-resizable-resizing) *{cursor:nwse-resize!important}.grid-stack-item>.ui-resizable-handle{background-image:none!important}
141
+ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),o}static addGrid(t,i={}){if(!t)return null;let o=t;if(o.gridstack){let r=o.gridstack;return i&&(r.opts=Z(Z({},r.opts),i)),i.children!==void 0&&r.load(i.children),r}return(!t.classList.contains("grid-stack")||e.addRemoveCB)&&(e.addRemoveCB?o=e.addRemoveCB(t,i,!0,!0):o=f.createDiv(["grid-stack",i.class],t)),e.init(i,o)}static registerEngine(t){e.engineClass=t}get placeholder(){if(!this._placeholder){this._placeholder=f.createDiv([this.opts.placeholderClass,I0.itemClass,this.opts.itemClass]);let t=f.createDiv(["placeholder-content"],this._placeholder);this.opts.placeholderText&&(t.textContent=this.opts.placeholderText)}return this._placeholder}constructor(t,i={}){this.el=t,this.opts=i,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},t.gridstack=this,this.opts=i=i||{},t.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),i.row&&(i.minRow=i.maxRow=i.row,delete i.row);let o=f.toNumber(t.getAttribute("gs-row"));i.column==="auto"&&delete i.column,i.alwaysShowResizeHandle!==void 0&&(i._alwaysShowResizeHandle=i.alwaysShowResizeHandle);let r=i.columnOpts;if(r){let l=r.breakpoints;!r.columnWidth&&!l?.length?delete i.columnOpts:l&&l.length>1?(l.sort((d,h)=>(h.w||0)-(d.w||0)),delete r.columnWidth):r.columnMax=r.columnMax||12}let n=N(Z({},f.cloneDeep(I0)),{column:f.toNumber(t.getAttribute("gs-column"))||I0.column,minRow:o||f.toNumber(t.getAttribute("gs-min-row"))||I0.minRow,maxRow:o||f.toNumber(t.getAttribute("gs-max-row"))||I0.maxRow,staticGrid:f.toBool(t.getAttribute("gs-static"))||I0.staticGrid,sizeToContent:f.toBool(t.getAttribute("gs-size-to-content"))||void 0,draggable:{handle:(i.handleClass?"."+i.handleClass:i.handle?i.handle:"")||I0.draggable.handle},removableOptions:{accept:i.itemClass||I0.removableOptions.accept,decline:I0.removableOptions.decline}});t.getAttribute("gs-animate")&&(n.animate=f.toBool(t.getAttribute("gs-animate"))),i=f.defaults(i,n),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(i),i.rtl==="auto"&&(i.rtl=t.style.direction==="rtl"),i.rtl&&this.el.classList.add("grid-stack-rtl");let s=this.el.closest("."+I0.itemClass)?.gridstackNode;if(s&&(s.subGrid=this,this.parentGridNode=s,this.el.classList.add("grid-stack-nested"),s.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=i.cellHeight==="auto",this._isAutoCellHeight||i.cellHeight==="initial")this.cellHeight(void 0);else{typeof i.cellHeight=="number"&&i.cellHeightUnit&&i.cellHeightUnit!==I0.cellHeightUnit&&(i.cellHeight=i.cellHeight+i.cellHeightUnit,delete i.cellHeightUnit);let l=i.cellHeight;delete i.cellHeight,this.cellHeight(l)}i.alwaysShowResizeHandle==="mobile"&&(i.alwaysShowResizeHandle=l5),this._setStaticClass();let c=i.engineClass||e.engineClass||ai;if(this.engine=new c({column:this.getColumn(),float:i.float,maxRow:i.maxRow,onChange:l=>{l.forEach(d=>{let h=d.el;h&&(d._removeDOM?(h&&h.remove(),delete d._removeDOM):this._writePosAttr(h,d))}),this._updateContainerHeight()}}),i.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(l=>this._prepareElement(l)),delete this.engine._loading,this.batchUpdate(!1)),i.children){let l=i.children;delete i.children,l.length&&this.load(l)}this.setAnimation(),i.subGridDynamic&&!H.pauseDrag&&(H.pauseDrag=!0),i.draggable?.pause!==void 0&&(H.pauseDrag=i.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(t=this.opts){this.el.classList.add("gs-"+t.column),typeof t.column=="number"&&this.el.style.setProperty("--gs-column-width",`${100/t.column}%`)}addWidget(t){if(!t)return;if(typeof t=="string"){console.error("V11: GridStack.addWidget() does not support string anymore. see #2736");return}if(t.ELEMENT_NODE)return console.error("V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()"),this.makeWidget(t);let i,o=t;if(o.grid=this,o.el?i=o.el:e.addRemoveCB?i=e.addRemoveCB(this.el,t,!0,!1):i=this.createWidgetDivs(o),!i)return;if(o=i.gridstackNode,o&&i.parentElement===this.el&&this.engine.nodes.find(n=>n._id===o._id))return i;let r=this._readAttr(i);return f.defaults(t,r),this.engine.prepareNode(t),this.el.appendChild(i),this.makeWidget(i,t),i}createWidgetDivs(t){let i=f.createDiv(["grid-stack-item",this.opts.itemClass]),o=f.createDiv(["grid-stack-item-content"],i);return f.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([r])=>{r.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,e.renderCB(o,t),t.grid?.prepareDragDrop(t.el))}),window.setTimeout(()=>t.visibleObservable?.observe(i))):e.renderCB(o,t),i}makeSubGrid(t,i,o,r=!0){let n=t.gridstackNode;if(n||(n=this.makeWidget(t).gridstackNode),n.subGrid?.el)return n.subGrid;let s,c=this;for(;c&&!s;)s=c.opts?.subGridOpts,c=c.parentGridNode?.grid;i=f.cloneDeep(Z(Z(N(Z({},this.opts),{id:void 0,children:void 0,column:"auto",columnOpts:void 0,layout:"list",subGridOpts:void 0}),s||{}),i||n.subGridOpts||{})),n.subGridOpts=i;let l=!1;i.column==="auto"&&(l=!0,i.column=Math.max(n.w||1,o?.w||1),delete i.columnOpts);let d=n.el.querySelector(".grid-stack-item-content"),h,_;if(r&&(this._removeDD(n.el),_=N(Z({},n),{x:0,y:0}),f.removeInternalForSave(_),delete _.subGridOpts,n.content&&(_.content=n.content,delete n.content),e.addRemoveCB?h=e.addRemoveCB(this.el,_,!0,!1)||void 0:(h=f.createDiv(["grid-stack-item"]),h.appendChild(d),d=f.createDiv(["grid-stack-item-content"],n.el)),this.prepareDragDrop(n.el)),o){let v=l?i.column:n.w,b=n.h+o.h,C=n.el.style;C.transition="none",this.update(n.el,{w:v,h:b}),setTimeout(()=>C.transition="")}let u=n.subGrid=e.addGrid(d,i)||void 0;return o?._moving&&(u._isTemp=!0),l&&(u._autoColumn=!0),r&&u.makeWidget(h,_),o&&(o._moving?window.setTimeout(()=>f.simulateMouseEvent(o._event,"mouseenter",u.el),0):u.makeWidget(n.el,n)),this.resizeToContentCheck(!1,n),u}removeAsSubGrid(t){let i=this.parentGridNode?.grid;if(i&&(i.batchUpdate(),i.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(o=>{o.x=(o.x??0)+(this.parentGridNode.x??0),o.y=(o.y??0)+(this.parentGridNode.y??0),this._removeDD(o.el),o.el.remove(),delete o.el.gridstackNode,i.makeWidget(o.el,o)}),i.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,t)){let o=t.el?.gridstackNode;o&&o!==t&&(o._temporaryRemoved=!0),window.setTimeout(()=>{let r=H.dragElement?.lastDrag||t._event;r&&f.simulateMouseEvent(r,"mouseenter",i.el)},0)}}save(t=!0,i=!1,o=e.saveCB,r){let n=this.engine.save(t,o,r);if(n.forEach(s=>{if(t&&s.el&&!s.subGrid&&!o){let c=s.el.querySelector(".grid-stack-item-content");s.content=c?.innerHTML,s.content||delete s.content}else if(!t&&!o&&delete s.content,s.subGrid?.el){let c=s.w||s.subGrid.getColumn(),l=s.subGrid.save(t,i,o,c);s.subGridOpts=i?l:{children:l},delete s.subGrid}delete s.el}),i){let s=f.cloneDeep(this.opts);s.marginBottom===s.marginTop&&s.marginRight===s.marginLeft&&s.marginTop===s.marginRight&&(s.margin=s.marginTop,delete s.marginTop,delete s.marginRight,delete s.marginBottom,delete s.marginLeft),s.rtl===(this.el.style.direction==="rtl")&&(s.rtl="auto"),this._isAutoCellHeight&&(s.cellHeight="auto"),this._autoColumn&&(s.column="auto");let c=s._alwaysShowResizeHandle;return delete s._alwaysShowResizeHandle,c!==void 0?s.alwaysShowResizeHandle=c:delete s.alwaysShowResizeHandle,f.removeInternalAndSame(s,I0),s.children=n,s}return n}load(t,i=e.addRemoveCB||!0){t.forEach(h=>{h.w=h.w||h.minW||1,h.h=h.h||h.minH||1}),t=f.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let o=0;t.forEach(h=>{o=Math.max(o,(h.x||0)+h.w)}),o>this.engine.defaultColumn&&(this.engine.defaultColumn=o);let r=this.getColumn();o>r&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(o,r,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,o,!0));let n=e.addRemoveCB;typeof i=="function"&&(e.addRemoveCB=i);let s=[];this.batchUpdate();let c=!this.engine.nodes.length,l=c&&this.opts.animate;l&&this.setAnimation(!1),!c&&i&&[...this.engine.nodes].forEach(h=>{h.id&&(f.find(t,h.id)||(e.addRemoveCB&&e.addRemoveCB(this.el,h,!1,!1),s.push(h),this.removeWidget(h.el,!0,!1)))}),this.engine._loading=!0;let d=[];return this.engine.nodes=this.engine.nodes.filter(h=>h.id&&f.find(t,h.id)?(d.push(h),!1):!0),t.forEach(h=>{let _=h.id?f.find(d,h.id):void 0;if(_){if(f.shouldSizeToContent(_)&&(h.h=_.h),this.engine.nodeBoundFix(h),(h.autoPosition||h.x===void 0||h.y===void 0)&&(h.w=h.w||_.w,h.h=h.h||_.h,this.engine.findEmptyPosition(h)),this.engine.nodes.push(_),f.samePos(_,h)&&this.engine.nodes.length>1&&(this.moveNode(_,N(Z({},h),{forceCollide:!0})),f.copyPos(h,_)),this.update(_.el,h),h.subGridOpts?.children){let u=_.el.querySelector(".grid-stack");u&&u.gridstack&&u.gridstack.load(h.subGridOpts.children)}}else i&&this.addWidget(h)}),delete this.engine._loading,this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,n?e.addRemoveCB=n:delete e.addRemoveCB,l&&this.setAnimation(!0,!0),this}batchUpdate(t=!0){return this.engine.batchUpdate(t),t||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!t||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let i=this.el.querySelector("."+this.opts.itemClass);if(i){let r=f.toNumber(i.getAttribute("gs-h"))||1;return Math.round(i.offsetHeight/r)}let o=parseInt(this.el.getAttribute("gs-current-row")||"0");return o?Math.round(this.el.getBoundingClientRect().height/o):this.opts.cellHeight}cellHeight(t){if(t!==void 0&&this._isAutoCellHeight!==(t==="auto")&&(this._isAutoCellHeight=t==="auto",this._updateResizeEvent()),(t==="initial"||t==="auto")&&(t=void 0),t===void 0){let o=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+o}let i=f.parseHeight(t);return this.opts.cellHeightUnit===i.unit&&this.opts.cellHeight===i.h?this:(this.opts.cellHeightUnit=i.unit,this.opts.cellHeight=i.h,this.el.style.setProperty("--gs-cell-height",`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(t=!1){return t&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let t=this.opts.columnOpts;if(!t||!t.columnWidth&&!t.breakpoints?.length)return!1;let i=this.getColumn(),o=i,r=this._widthOrContainer(!0);if(t.columnWidth)o=Math.min(Math.round(r/t.columnWidth)||1,t.columnMax);else{o=t.columnMax;let n=0;for(;n<t.breakpoints.length&&r<=t.breakpoints[n].w;)o=t.breakpoints[n++].c||i}if(o!==i){let n=t.breakpoints?.find(s=>s.c===o);return this.column(o,n?.layout||t.layout),!0}return!1}compact(t="compact",i=!0){return this.engine.compact(t,i),this._triggerChangeEvent(),this}column(t,i="moveScale"){if(!t||t<1||this.opts.column===t)return this;let o=this.getColumn();return this.opts.column=t,this.engine?(this.engine.column=t,this.el.classList.remove("gs-"+o),this._updateColumnVar(),this.engine.columnChanged(o,t,i),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=i,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(t=>t.matches("."+this.opts.itemClass)&&!t.matches("."+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(t=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),t?this.el.parentNode.removeChild(this.el):(this.removeAll(t),this.el.removeAttribute("gs-current-row")),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(t){return this.opts.float!==t&&(this.opts.float=this.engine.float=t,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(t,i=!1){let o=this.el.getBoundingClientRect(),r;i?r={top:o.top+document.documentElement.scrollTop,left:o.left}:r={top:this.el.offsetTop,left:this.el.offsetLeft};let n=t.left-r.left,s=t.top-r.top,c=o.width/this.getColumn(),l=o.height/parseInt(this.el.getAttribute("gs-current-row")||"0");return{x:Math.floor(n/c),y:Math.floor(s/l)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(t,i,o,r){return this.engine.isAreaEmpty(t,i,o,r)}makeWidget(t,i){let o=e.getElement(t);if(!o||o.gridstackNode)return o;o.parentElement||this.el.appendChild(o),this._prepareElement(o,!0,i);let r=o.gridstackNode;this._updateContainerHeight(),r.subGridOpts&&this.makeSubGrid(o,r.subGridOpts,void 0,!1);let n=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(n=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),n&&delete this._ignoreLayoutsNodeChange,o}on(t,i){return t.indexOf(" ")!==-1?(t.split(" ").forEach(o=>this.on(o,i)),this):(t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable"?(t==="enable"||t==="disable"?this._gsEventHandler[t]=o=>i(o):this._gsEventHandler[t]=o=>{o.detail&&i(o,o.detail)},this.el.addEventListener(t,this._gsEventHandler[t])):t==="drag"||t==="dragstart"||t==="dragstop"||t==="resizestart"||t==="resize"||t==="resizestop"||t==="dropped"||t==="resizecontent"?this._gsEventHandler[t]=i:console.error("GridStack.on("+t+") event not supported"),this)}off(t){return t.indexOf(" ")!==-1?(t.split(" ").forEach(i=>this.off(i)),this):((t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable")&&this._gsEventHandler[t]&&this.el.removeEventListener(t,this._gsEventHandler[t]),delete this._gsEventHandler[t],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(t=>this.off(t)),this}removeWidget(t,i=!0,o=!0){return t?(e.getElements(t).forEach(r=>{if(r.parentElement&&r.parentElement!==this.el)return;let n=r.gridstackNode;n||(n=this.engine.nodes.find(s=>r===s.el)),n&&(i&&e.addRemoveCB&&e.addRemoveCB(this.el,n,!1,!1),delete r.gridstackNode,this._removeDD(r),this.engine.removeNode(n,i,o),i&&r.parentElement&&r.remove())}),o&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error("Error: GridStack.removeWidget(undefined) called"),this)}removeAll(t=!0,i=!0){return this.engine.nodes.forEach(o=>{t&&e.addRemoveCB&&e.addRemoveCB(this.el,o,!1,!1),delete o.el.gridstackNode,this.opts.staticGrid||this._removeDD(o.el)}),this.engine.removeAll(t,i),i&&this._triggerRemoveEvent(),this}setAnimation(t=this.opts.animate,i){return i?setTimeout(()=>{this.opts&&this.setAnimation(t)}):t?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this.opts.animate=t,this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(t,i=!0,o=!0){return!!this.opts.staticGrid===t?this:(t?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(r=>{this.prepareDragDrop(r.el),r.subGrid&&o&&r.subGrid.setStatic(t,i,o)}),i&&this._setStaticClass(),this)}updateOptions(t){let i=this.opts;if(t===i)return this;if(t.acceptWidgets!==void 0&&(i.acceptWidgets=t.acceptWidgets,this._setupAcceptWidget()),t.animate!==void 0&&this.setAnimation(t.animate),t.cellHeight&&this.cellHeight(t.cellHeight),t.class!==void 0&&t.class!==i.class&&(i.class&&this.el.classList.remove(i.class),t.class&&this.el.classList.add(t.class)),t.columnOpts){let o=!!this.opts.columnOpts;this.opts.columnOpts=t.columnOpts,o!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else t.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof t.column=="number"&&this.column(t.column);return t.margin!==void 0&&this.margin(t.margin),t.staticGrid!==void 0&&this.setStatic(t.staticGrid),t.disableDrag!==void 0&&!t.staticGrid&&this.enableMove(!t.disableDrag),t.disableResize!==void 0&&!t.staticGrid&&this.enableResize(!t.disableResize),t.float!==void 0&&this.float(t.float),t.row!==void 0?(i.minRow=i.maxRow=this.engine.maxRow=i.row=t.row,this._updateContainerHeight(),this.engine.getRow()>t.row&&this.compact()):(t.minRow!==void 0&&(i.minRow=t.minRow,this._updateContainerHeight()),t.maxRow!==void 0&&(i.maxRow=this.engine.maxRow=t.maxRow,this.engine.getRow()>t.maxRow&&this.compact())),t.lazyLoad!==void 0&&(i.lazyLoad=t.lazyLoad),t.children?.length&&this.load(t.children),this}update(t,i){return e.getElements(t).forEach(o=>{let r=o?.gridstackNode;if(!r)return;let n=Z(Z({},f.copyPos({},r)),f.cloneDeep(i));this.engine.nodeBoundFix(n),delete n.autoPosition;let s=["x","y","w","h"],c,l=n,d=r;if(s.some(u=>l[u]!==void 0&&l[u]!==d[u])){c={};let u=c;s.forEach(v=>{u[v]=l[v]!==void 0?l[v]:d[v],delete l[v]})}if(!c&&(n.minW||n.minH||n.maxW||n.maxH)&&(c={}),n.content!==void 0){let u=o.querySelector(".grid-stack-item-content");u&&u.textContent!==n.content&&(r.content=n.content,e.renderCB(u,n),r.subGrid?.el&&(u.appendChild(r.subGrid.el),r.subGrid._updateContainerHeight())),delete n.content}let h=!1,_=!1;for(let u in l)u[0]!=="_"&&d[u]!==l[u]&&(d[u]=l[u],h=!0,_=_||!this.opts.staticGrid&&(u==="noResize"||u==="noMove"||u==="locked"));if(f.sanitizeMinMax(r),c){let u=c.w!==void 0&&c.w!==r.w;this.moveNode(r,c),u&&r.subGrid?r.subGrid.onResize(this.hasAnimationCSS()?r.w:void 0):this.resizeToContentCheck(u,r),delete r._orig}(c||h)&&this._writeAttr(o,r),_&&this.prepareDragDrop(r.el),e.updateCB&&e.updateCB(r)}),this}moveNode(t,i){let o=t._updating;o||this.engine.cleanNodes().beginUpdate(t),this.engine.moveNode(t,i),this._updateContainerHeight(),o||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(t){if(!t||(t.classList.remove("size-to-content-max"),!t.clientHeight))return;let i=t.gridstackNode;if(!i)return;let o=i.grid;if(!o||t.parentElement!==o.el)return;let r=o.getCellHeight(!0);if(!r)return;let n=i.h?i.h*r:t.clientHeight,s=null;if(i.resizeToContentParent&&(s=t.querySelector(i.resizeToContentParent)),s||(s=t.querySelector(e.resizeToContentParent)),!s)return;let c=t.clientHeight-s.clientHeight,l=i.h?i.h*r-c:s.clientHeight,d;if(i.subGrid){d=i.subGrid.getRow()*i.subGrid.getCellHeight(!0);let u=i.subGrid.el.getBoundingClientRect(),v=t.getBoundingClientRect();d+=u.top-v.top}else{if(i.subGridOpts?.children?.length)return;{let u=s.firstElementChild;if(!u){console.error(`Error: GridStack.resizeToContent() widget id:${i.id} '${e.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}d=u.getBoundingClientRect().height||l}}if(l===d)return;n+=d-l;let h=Math.ceil(n/r),_=Number.isInteger(i.sizeToContent)?i.sizeToContent:0;_&&h>_&&(h=_,t.classList.add("size-to-content-max")),i.minH&&h<i.minH?h=i.minH:i.maxH&&h>i.maxH&&(h=i.maxH),h!==i.h&&(o._ignoreLayoutsNodeChange=!0,o.moveNode(i,{h}),delete o._ignoreLayoutsNodeChange)}resizeToContentCBCheck(t){e.resizeToContentCB?e.resizeToContentCB(t):this.resizeToContent(t)}rotate(t,i){return e.getElements(t).forEach(o=>{let r=o.gridstackNode;if(!r||!f.canBeRotated(r))return;let n={w:r.h,h:r.w,minH:r.minW,minW:r.minH,maxH:r.maxW,maxW:r.maxH};if(i){let l=i.left>0?Math.floor(i.left/this.cellWidth()):0,d=i.top>0?Math.floor(i.top/this.opts.cellHeight):0;n.x=r.x+l-(r.h-(d+1)),n.y=r.y+d-l}let s=n;Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l]});let c=r._orig;this.update(o,n),r._orig=c}),this}margin(t){if(!(typeof t=="string"&&t.split(" ").length>1)){let i=f.parseHeight(t);if(this.opts.marginUnit===i.unit&&this.opts.margin===i.h)return this}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(t){return this.engine.willItFit(t)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let t=this.engine.getDirtyNodes(!0);return t&&t.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(t),this._triggerEvent("change",t)),this.engine.saveInitial(),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(i=>{delete i._dirty});let t=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",t)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let t=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",t)}return this}_triggerEvent(t,i){let o=i?new CustomEvent(t,{bubbles:!1,detail:i}):new Event(t),r=this;for(;r.parentGridNode;)r=r.parentGridNode.grid;return r.el.dispatchEvent(o),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let t=this.parentGridNode,i=this.getRow()+this._extraDragRow,o=this.opts.cellHeight,r=this.opts.cellHeightUnit;if(!o)return this;if(!t&&!this.opts.minRow){let n=f.parseHeight(getComputedStyle(this.el).minHeight);if(n.h>0&&n.unit===r){let s=Math.floor(n.h/o);i<s&&(i=s)}}return this.el.setAttribute("gs-current-row",String(i)),this.el.style.removeProperty("min-height"),this.el.style.removeProperty("height"),i&&(this.el.style[t?"minHeight":"height"]=i*o+r),t&&f.shouldSizeToContent(t)&&t.grid.resizeToContentCBCheck(t.el),this}_prepareElement(t,i=!1,o){o=o||this._readAttr(t),t.gridstackNode=o,o.el=t,o.grid=this,o=this.engine.addNode(o,i),this._writeAttr(t,o),t.classList.add(I0.itemClass,this.opts.itemClass);let r=f.shouldSizeToContent(o);return r?t.classList.add("size-to-content"):t.classList.remove("size-to-content"),r&&this.resizeToContentCheck(!1,o),(!f.lazyLoad(o)||!o.visibleObservable)&&this.prepareDragDrop(o.el),this}_writePosAttr(t,i){if(!i._moving&&!i._resizing||this._placeholder===t){let o=this.opts.rtl?"right":"left",r=t.style;r.top=i.y?i.y===1?"var(--gs-cell-height)":`calc(${i.y} * var(--gs-cell-height))`:null,r[o]=i.x?i.x===1?"var(--gs-column-width)":`calc(${i.x} * var(--gs-column-width))`:null,r.width=i.w>1?`calc(${i.w} * var(--gs-column-width))`:null,r.height=i.h>1?`calc(${i.h} * var(--gs-cell-height))`:null}return t.setAttribute("gs-x",String(i.x??0)),t.setAttribute("gs-y",String(i.y??0)),i.w>1?t.setAttribute("gs-w",String(i.w)):t.removeAttribute("gs-w"),i.h>1?t.setAttribute("gs-h",String(i.h)):t.removeAttribute("gs-h"),this}_writeAttr(t,i){if(!i)return this;this._writePosAttr(t,i);let o={noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",sizeToContent:"gs-size-to-content"},r=i,n=o;for(let s in n)r[s]?t.setAttribute(n[s],String(r[s])):t.removeAttribute(n[s]);return this}_readAttr(t,i=!0){let o={};o.x=f.toNumber(t.getAttribute("gs-x")),o.y=f.toNumber(t.getAttribute("gs-y")),o.w=f.toNumber(t.getAttribute("gs-w")),o.h=f.toNumber(t.getAttribute("gs-h")),o.autoPosition=f.toBool(t.getAttribute("gs-auto-position")),o.noResize=f.toBool(t.getAttribute("gs-no-resize")),o.noMove=f.toBool(t.getAttribute("gs-no-move")),o.locked=f.toBool(t.getAttribute("gs-locked"));let r=t.getAttribute("gs-size-to-content");r&&(r==="true"||r==="false"?o.sizeToContent=f.toBool(r):o.sizeToContent=parseInt(r,10)),o.id=t.getAttribute("gs-id")??void 0,o.maxW=f.toNumber(t.getAttribute("gs-max-w")),o.minW=f.toNumber(t.getAttribute("gs-min-w")),o.maxH=f.toNumber(t.getAttribute("gs-max-h")),o.minH=f.toNumber(t.getAttribute("gs-min-h")),i&&(o.w===1&&t.removeAttribute("gs-w"),o.h===1&&t.removeAttribute("gs-h"),o.maxW&&t.removeAttribute("gs-max-w"),o.minW&&t.removeAttribute("gs-min-w"),o.maxH&&t.removeAttribute("gs-max-h"),o.minH&&t.removeAttribute("gs-min-h"));let n=o;for(let s in n)o.hasOwnProperty(s)&&!n[s]&&n[s]!==0&&s!=="sizeToContent"&&delete n[s];return o}_setStaticClass(){let t=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...t),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...t),this.el.removeAttribute("gs-static")),this}onResize(t=this.el?.clientWidth){if(!t)return this;if(this.prevWidth===t)return this;this.prevWidth=t,this.batchUpdate();let i=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||"list"),i=!0):i=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(o=>{o.subGrid&&o.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(i),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(t=!1,i){if(!this.engine)return;if(t&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,i),this.animationDelay);return}if(i)f.shouldSizeToContent(i)&&this.resizeToContentCBCheck(i.el);else if(this.engine.nodes.some(r=>f.shouldSizeToContent(r))){let r=[...this.engine.nodes];this.batchUpdate(),r.forEach(n=>{f.shouldSizeToContent(n)&&this.resizeToContentCBCheck(n.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let o=this._gsEventHandler.resizecontent;o&&o(new Event("resizecontent"),i?[i]:this.engine.nodes)}_updateResizeEvent(t=!1){let i=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(o=>o.sizeToContent));return!t&&i&&!this.resizeObserver?(this._sizeThrottle=f.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(t||!i)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(t=".grid-stack-item"){return f.getElement(t)}static getElements(t=".grid-stack-item"){return f.getElements(t)}static getGridElement(t){return e.getElement(t)}static getGridElements(t){return f.getElements(t)}_initMargin(){let t={h:0,unit:"px"},i=0,o=[];typeof this.opts.margin=="string"&&(o=this.opts.margin.split(" ")),o.length===2?(this.opts.marginTop=this.opts.marginBottom=o[0],this.opts.marginLeft=this.opts.marginRight=o[1]):o.length===4?(this.opts.marginTop=o[0],this.opts.marginRight=o[1],this.opts.marginBottom=o[2],this.opts.marginLeft=o[3]):(t=f.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,i=this.opts.margin=t.h);let r=["marginTop","marginRight","marginBottom","marginLeft"],n=this.opts;r.forEach(c=>{n[c]===void 0?n[c]=i:(t=f.parseHeight(n[c]),n[c]=t.h,delete this.opts.margin)}),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let s=this.el.style;return s.setProperty("--gs-item-margin-top",`${this.opts.marginTop}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-bottom",`${this.opts.marginBottom}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-right",`${this.opts.marginRight}${this.opts.marginUnit}`),s.setProperty("--gs-item-margin-left",`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return A0}static setupDragIn(t,i,o,r=document){i?.pause!==void 0&&(H.pauseDrag=i.pause),i=Z({appendTo:"body",helper:"clone"},i||{}),(typeof t=="string"?f.getElements(t,r):t).forEach((n,s)=>{A0.isDraggable(n)||A0.dragIn(n,i),o?.[s]&&(n.gridstackNode=o[s])})}movable(t,i){return this.opts.staticGrid?this:(e.getElements(t).forEach(o=>{let r=o.gridstackNode;r&&(i?delete r.noMove:r.noMove=!0,this.prepareDragDrop(r.el))}),this)}resizable(t,i){return this.opts.staticGrid?this:(e.getElements(t).forEach(o=>{let r=o.gridstackNode;r&&(i?delete r.noResize:r.noResize=!0,this.prepareDragDrop(r.el))}),this)}disable(t=!0){return this.opts.staticGrid?this:(this.enableMove(!1,t),this.enableResize(!1,t),this._triggerEvent("disable"),this)}enable(t=!0){return this.opts.staticGrid?this:(this.enableMove(!0,t),this.enableResize(!0,t),this._triggerEvent("enable"),this)}enableMove(t,i=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(o=>{this.prepareDragDrop(o.el),o.subGrid&&i&&o.subGrid.enableMove(t,i)}),this)}enableResize(t,i=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(o=>{this.prepareDragDrop(o.el),o.subGrid&&i&&o.subGrid.enableResize(t,i)}),this)}cancelDrag(){let t=H.dragElement?.el;if(t?._gridstackNodeOrig){let o=t._gridstackNodeOrig,r=o.grid,n=this._placeholder?.gridstackNode;n&&(n._isAboutToRemove=!0,this.engine.removeNode(n)),this.engine.restoreInitial(),t.gridstackNode=o,delete t._gridstackNodeOrig,delete H.dropElement,r&&(r.engine.addNode(o,!1),r.engine.restoreInitial());return}let i=this._placeholder?.gridstackNode;i&&(i._isExternal?(i._isAboutToRemove=!0,this.engine.removeNode(i)):i._isAboutToRemove&&e._itemRemoving(i.el,!1),this.engine.restoreInitial())}_removeDD(t){return A0.draggable(t,"destroy").resizable(t,"destroy"),t.gridstackNode&&delete t.gridstackNode._initDD,delete t.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return A0.droppable(this.el,"destroy"),this;let t,i,o=(r,n,s)=>{s=s||n;let c=s.gridstackNode;if(!c)return;if(!c.grid?.el){s.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let u=s.getBoundingClientRect();s.style.left=u.x+(this.dragTransform.xScale-1)*(r.clientX-u.x)/this.dragTransform.xScale+"px",s.style.top=u.y+(this.dragTransform.yScale-1)*(r.clientY-u.y)/this.dragTransform.yScale+"px",s.style.transformOrigin="0px 0px"}let{top:l,left:d}=s.getBoundingClientRect(),h=this.el.getBoundingClientRect();d-=h.left,l-=h.top;let _={position:{top:l*this.dragTransform.xScale,left:d*this.dragTransform.yScale}};if(c._temporaryRemoved){if(c.x=Math.max(0,Math.round(d/i)),c.y=Math.max(0,Math.round(l/t)),delete c.autoPosition,this.engine.nodeBoundFix(c),!this.engine.willItFit(c)){if(c.autoPosition=!0,!this.engine.willItFit(c)){A0.off(n,"drag");return}c._willFitPos&&(f.copyPos(c,c._willFitPos),delete c._willFitPos)}this._onStartMoving(s,r,_,c,i,t)}else this._dragOrResize(s,r,_,c,i,t)};return A0.droppable(this.el,{accept:r=>{let n=r.gridstackNode||this._readAttr(r,!1);if(n?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let s=!0;if(typeof this.opts.acceptWidgets=="function")s=this.opts.acceptWidgets(r);else{let c=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;s=r.matches(c)}if(s&&n&&this.opts.maxRow){let c={w:n.w,h:n.h,minW:n.minW,minH:n.minH};s=this.engine.willItFit(c)}return s}}).on(this.el,"dropover",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;if(c?.grid===this&&!c._temporaryRemoved)return!1;if(c?._sidebarOrig&&(c.w=c._sidebarOrig.w,c.h=c._sidebarOrig.h),c?.grid&&c.grid!==this&&!c._temporaryRemoved&&c.grid._leave(n,s),s=s||n,i=this.cellWidth(),t=this.getCellHeight(!0),!c){let h=s.getAttribute("data-gs-widget")||s.getAttribute("gridstacknode");if(h){try{c=JSON.parse(h)}catch{console.error("Gridstack dropover: Bad JSON format: ",h)}s.removeAttribute("data-gs-widget"),s.removeAttribute("gridstacknode")}c||(c=this._readAttr(s)),c._sidebarOrig={w:c.w,h:c.h}}c.grid||(c.el||(c=Z({},c)),c._isExternal=!0,s.gridstackNode=c);let l=c.w||Math.round(s.offsetWidth/i)||1,d=c.h||Math.round(s.offsetHeight/t)||1;return c.grid&&c.grid!==this?(n._gridstackNodeOrig||(n._gridstackNodeOrig=c),n.gridstackNode=c=N(Z({},c),{w:l,h:d,grid:this}),delete c.x,delete c.y,this.engine.cleanupNode(c).nodeBoundFix(c),c._initDD=c._isExternal=c._temporaryRemoved=!0):(c.w=l,c.h=d,c._temporaryRemoved=!0),e._itemRemoving(c.el,!1),A0.on(n,"drag",o),o(r,n,s),!1}).on(this.el,"dropout",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;return c&&(!c.grid||c.grid===this)&&(this._leave(n,s),this._isTemp&&this.removeAsSubGrid(c)),!1}).on(this.el,"drop",(r,n,s)=>{let c=s?.gridstackNode||n.gridstackNode;if(c?.grid===this&&!c._isExternal)return!1;let l=!!this.placeholder.parentElement,d=n!==s;this.placeholder.remove(),delete this.placeholder.gridstackNode,l&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let h=n._gridstackNodeOrig;if(delete n._gridstackNodeOrig,l&&h?.grid&&h.grid!==this){let u=h.grid;u.engine.removeNodeFromLayoutCache(h),u.engine.removedNodes.push(h),u._triggerRemoveEvent()._triggerChangeEvent(),u.parentGridNode&&!u.engine.nodes.length&&u.opts.subGridDynamic&&u.removeAsSubGrid()}if(!c||(l&&(this.engine.cleanupNode(c),c.grid=this),delete c.grid?._isTemp,A0.off(n,"drag"),s&&s!==n?(s.remove(),n=s):n.remove(),this._removeDD(n),!l))return!1;let _=c.subGrid?.el?.gridstack;return f.copyPos(c,this._readAttr(this.placeholder)),f.removePositioningStyles(n),d&&(c.content||c.subGridOpts||e.addRemoveCB)?(delete c.el,n=this.addWidget(c)||n):(this._prepareElement(n,!0,c),this.el.appendChild(n),this.resizeToContentCheck(!1,c),_&&(_.parentGridNode=c),this._updateContainerHeight()),this.engine.addedNodes.push(c),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(N(Z({},r),{type:"dropped"}),h&&h.grid?h:void 0,c),!1}),this}static _itemRemoving(t,i){if(!t)return;let o=t?t.gridstackNode:void 0;!o?.grid||t.classList.contains(o.grid.opts.removableOptions.decline)||(i?o._isAboutToRemove=!0:delete o._isAboutToRemove,i?t.classList.add("grid-stack-item-removing"):t.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let t=document.querySelector(this.opts.removable);return t?(!this.opts.staticGrid&&!A0.isDroppable(t)&&A0.droppable(t,this.opts.removableOptions).on(t,"dropover",(i,o)=>e._itemRemoving(o,!0)).on(t,"dropout",(i,o)=>e._itemRemoving(o,!1)),this):this}refreshDragHandles(t){return e.getElements(t).forEach(i=>{i.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(t,i=!1){let o=t?.gridstackNode;if(!o)return this;let r=o.noMove||this.opts.disableDrag,n=o.noResize||this.opts.disableResize,s=this.opts.staticGrid||r&&n;if((i||s)&&(o._initDD&&(this._removeDD(t),delete o._initDD),s))return t.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!o._initDD){let c,l,d=(u,v)=>{this.triggerEvent(u,u.target),c=this.cellWidth(),l=this.getCellHeight(!0),this._onStartMoving(t,u,v,o,c,l)},h=(u,v)=>{this._dragOrResize(t,u,v,o,c,l)},_=u=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete o._moving,delete o._resizing,delete o._event,delete o._lastTried;let v=o.w!==o._orig.w,b=u.target;if(!(!b.gridstackNode||b.gridstackNode.grid!==this)){if(o.el=b,o._isAboutToRemove){let C=t.gridstackNode.grid;C._gsEventHandler[u.type]&&C._gsEventHandler[u.type](u,b),C.engine.nodes.push(o),C.removeWidget(t,!0,!0)}else f.removePositioningStyles(b),o._temporaryRemoved?(this._writePosAttr(b,o),this.engine.addNode(o)):this._writePosAttr(b,o),this.triggerEvent(u,b);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),u.type==="resizestop"&&(Number.isInteger(o.sizeToContent)&&(o.sizeToContent=o.h),this.resizeToContentCheck(v,o))}};A0.draggable(t,{start:d,stop:_,drag:h,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}).resizable(t,{start:d,stop:_,resize:h,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}),o._initDD=!0}return A0.draggable(t,r?"disable":"enable").resizable(t,n?"disable":"enable"),this}_onStartMoving(t,i,o,r,n,s){if(this.engine.cleanNodes().beginUpdate(r),this._writePosAttr(this.placeholder,r),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=r,r.grid?.el)this.dragTransform=f.getValuesFromTransformedElement(t);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let c=this.placeholder.closest(".grid-stack");this.dragTransform=f.getValuesFromTransformedElement(c)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(r.el=this.placeholder,r._lastUiPosition=o.position,r._prevYPix=o.position.top,r._moving=i.type==="dragstart",r._resizing=i.type==="resizestart",delete r._lastTried,i.type==="dropover"&&r._temporaryRemoved&&(this.engine.addNode(r),r._moving=!0),this.engine.cacheRects(n,s,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),i.type==="resizestart"){let c=this.getColumn()-r.x,l=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-r.y;A0.resizable(t,"option","minWidth",n*Math.min(r.minW||1,c)).resizable(t,"option","minHeight",s*Math.min(r.minH||1,l)).resizable(t,"option","maxWidth",n*Math.min(r.maxW||Number.MAX_SAFE_INTEGER,c)).resizable(t,"option","maxWidthMoveLeft",n*Math.min(r.maxW||Number.MAX_SAFE_INTEGER,r.x+r.w)).resizable(t,"option","maxHeight",s*Math.min(r.maxH||Number.MAX_SAFE_INTEGER,l)).resizable(t,"option","maxHeightMoveUp",s*Math.min(r.maxH||Number.MAX_SAFE_INTEGER,r.y+r.h))}}_dragOrResize(t,i,o,r,n,s){let c=Z({},r._orig),l=!1,d=this.opts.marginLeft,h=this.opts.marginRight,_=this.opts.marginTop,u=this.opts.marginBottom,v=Math.round(s*.1),b=Math.round(n*.1);if(d=Math.min(d,b),h=Math.min(h,b),_=Math.min(_,v),u=Math.min(u,v),i.type==="drag"){if(r._temporaryRemoved)return;r._prevYPix=o.position.top,this.opts.draggable.scroll!==!1&&H.dragElement?.updateScrollPosition(this.el);let A=o.position.left+(o.position.left>r._lastUiPosition.left?-h:d),x=o.position.top+(o.position.top>r._lastUiPosition.top?-u:_);c.x=Math.round(A/n),c.y=Math.round(x/s);let k=this._extraDragRow;if(this.engine.collide(r,c)){let T=this.getRow(),f1=Math.max(0,c.y+r.h-T);this.opts.maxRow&&T+f1>this.opts.maxRow&&(f1=Math.max(0,this.opts.maxRow-T)),this._extraDragRow=f1}else this._extraDragRow=0;if(this._extraDragRow!==k&&this._updateContainerHeight(),r.x===c.x&&r.y===c.y)return}else if(i.type==="resize"){if((c.x??0)<0||(f.updateScrollResize(i,t,s),c.w=Math.round((o.size.width-d)/n),c.h=Math.round((o.size.height-_)/s),r.w===c.w&&r.h===c.h)||r._lastTried&&r._lastTried.w===c.w&&r._lastTried.h===c.h)return;if(i.hasMovedX){let A=o.position.left+d;c.x=Math.round(A/n)}if(i.hasMovedY){let A=o.position.top+_;c.y=Math.round(A/s)}l=!0}r._event=i,r._lastTried=c;let C={x:o.position.left+d,y:o.position.top+_,w:(o.size?o.size.width:r.w*n)-d-h,h:(o.size?o.size.height:r.h*s)-_-u};if(this.engine.moveNodeCheck(r,N(Z({},c),{cellWidth:n,cellHeight:s,rect:C,resizing:l}))){r._lastUiPosition=o.position,this.engine.cacheRects(n,s,_,h,u,d),delete r._skipDown,l&&r.subGrid&&r.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let A=i.target;r._sidebarOrig||this._writePosAttr(A,r),this.triggerEvent(i,A)}}triggerEvent(t,i){let o=this;for(;o.parentGridNode;)o=o.parentGridNode.grid;o._gsEventHandler[t.type]&&o._gsEventHandler[t.type](t,i)}_leave(t,i){i=i||t;let o=i.gridstackNode;if(!o||(i.style.transform=i.style.transformOrigin="",A0.off(t,"drag"),o._temporaryRemoved))return;o._temporaryRemoved=!0,this.engine.removeNode(o),o.el=o._isExternal&&i?i:t;let r=o._sidebarOrig;o._isExternal&&this.engine.cleanupNode(o),o._sidebarOrig=r,this.opts.removable===!0&&e._itemRemoving(t,!0),t._gridstackNodeOrig?(t.gridstackNode=t._gridstackNodeOrig,delete t._gridstackNodeOrig):o._isExternal&&this.engine.restoreInitial()}}return e.renderCB=(a,t)=>{a&&t?.content&&(a.textContent=t.content)},e.resizeToContentParent=".grid-stack-item-content",e.Utils=f,e.Engine=ai,e.GDRev="13.0.1",e})(),np=["container"],ZR=["*"];function CR(e,a){}var xR=["*",[["","empty-content",""]]],yR=["*","[empty-content]"];function MR(e,a){e&1&&C0(0,1,["*ngIf","isEmpty"])}function HR(e,a){}var h9=(()=>{class e{constructor(t){this.elementRef=t,this.el._gridItemComp=this}set options(t){let i=this.el.gridstackNode?.grid;i?i.update(this.el,t):this._options=N(Z({},t),{el:this.el})}get options(){return this.el.gridstackNode||this._options||{el:this.el}}get el(){return this.elementRef.nativeElement}clearOptions(){delete this._options}ngOnDestroy(){this.clearOptions(),delete this.childWidget,delete this.el._gridItemComp,delete this.container,delete this.ref}}return e.\u0275fac=function(a){return new(a||e)(ue(U1))},e.\u0275cmp=J1({type:e,selectors:[["gridstack-item"]],viewQuery:function(a,t){if(a&1&&i9(np,7,T2),a&2){let i;E8(i=I8())&&(t.container=i.first)}},inputs:{options:"options"},ngContentSelectors:ZR,decls:5,vars:1,consts:[["container",""],[1,"grid-stack-item-content"]],template:function(a,t){a&1&&(L0(),n_(0,"div",1),a_(1,CR,0,0,"ng-template",null,0,H_),C0(3),Z1(4),s_()),a&2&&(B(4),T3(" ",t.options.content," "))},styles:["[_nghost-%COMP%]{display:block}"]}),e})(),ii=(()=>{class e{constructor(t){this.elementRef=t,this.addedCB=new k1,this.changeCB=new k1,this.disableCB=new k1,this.dragCB=new k1,this.dragStartCB=new k1,this.dragStopCB=new k1,this.droppedCB=new k1,this.enableCB=new k1,this.removedCB=new k1,this.resizeCB=new k1,this.resizeStartCB=new k1,this.resizeStopCB=new k1,ee.addRemoveCB||(ee.addRemoveCB=BR),ee.saveCB||(ee.saveCB=kR),ee.updateCB||(ee.updateCB=LR),this.el._gridComp=this}set options(t){this._grid?this._grid.updateOptions(t):this._options=t}get options(){return this._grid?.opts||this._options||{}}get el(){return this.elementRef.nativeElement}get grid(){return this._grid}static registerComponents(t){t.forEach(i=>e.componentMap[e.getSelector(i)]=i)}static getSelector(t){return T_(t).selector}ngOnInit(){this.loaded=!!this.options?.children?.length,this._grid=ee.init(this._options,this.el),delete this._options,this.checkEmpty()}ngAfterContentInit(){this._sub=this.gridstackItems?.changes.subscribe(()=>this.updateAll()),this.loaded||this.updateAll(),this.hookEvents(this.grid)}ngOnDestroy(){this.unhookEvents(this._grid),this._sub?.unsubscribe(),this._grid?.destroy(),delete this._grid,delete this.el._gridComp,delete this.container,delete this.ref}updateAll(){if(!this.grid)return;let t=[];this.gridstackItems?.forEach(i=>{t.push(i.options),i.clearOptions()}),this.grid.load(t)}checkEmpty(){this.grid&&(this.isEmpty=!this.grid.engine.nodes.length)}hookEvents(t){t&&(t.parentGridNode||t.on("added",(i,o)=>{(o[0].grid?.el._gridComp||this).checkEmpty(),this.addedCB.emit({event:i,nodes:o})}).on("change",(i,o)=>this.changeCB.emit({event:i,nodes:o})).on("disable",i=>this.disableCB.emit({event:i})).on("drag",(i,o)=>this.dragCB.emit({event:i,el:o})).on("dragstart",(i,o)=>this.dragStartCB.emit({event:i,el:o})).on("dragstop",(i,o)=>this.dragStopCB.emit({event:i,el:o})).on("dropped",(i,o,r)=>this.droppedCB.emit({event:i,previousNode:o,newNode:r})).on("enable",i=>this.enableCB.emit({event:i})).on("removed",(i,o)=>{(o[0].grid?.el._gridComp||this).checkEmpty(),this.removedCB.emit({event:i,nodes:o})}).on("resize",(i,o)=>this.resizeCB.emit({event:i,el:o})).on("resizestart",(i,o)=>this.resizeStartCB.emit({event:i,el:o})).on("resizestop",(i,o)=>this.resizeStopCB.emit({event:i,el:o})))}unhookEvents(t){t&&(t.parentGridNode||t.off("added change disable drag dragstart dragstop dropped enable removed resize resizestart resizestop"))}}return e.componentMap={},e.\u0275fac=function(a){return new(a||e)(ue(U1))},e.\u0275cmp=J1({type:e,selectors:[["gridstack"]],contentQueries:function(a,t,i){if(a&1&&l_(i,h9,4),a&2){let o;E8(o=I8())&&(t.gridstackItems=o)}},viewQuery:function(a,t){if(a&1&&i9(np,7,T2),a&2){let i;E8(i=I8())&&(t.container=i.first)}},inputs:{options:"options",isEmpty:"isEmpty"},outputs:{addedCB:"addedCB",changeCB:"changeCB",disableCB:"disableCB",dragCB:"dragCB",dragStartCB:"dragStartCB",dragStopCB:"dragStopCB",droppedCB:"droppedCB",enableCB:"enableCB",removedCB:"removedCB",resizeCB:"resizeCB",resizeStartCB:"resizeStartCB",resizeStopCB:"resizeStopCB"},ngContentSelectors:yR,decls:4,vars:1,consts:[["container",""],[4,"ngIf"]],template:function(a,t){a&1&&(L0(xR),t_(0,MR,1,0,"ng-content",1)(1,HR,0,0,"ng-template",null,0,H_),C0(3)),a&2&&J("ngIf",t.isEmpty)},dependencies:[SL],styles:["[_nghost-%COMP%]{display:block}"]}),e})();function BR(e,a,t,i){if(t){if(!e)return;if(i){let o=e.parentElement?._gridItemComp;if(!o)return;let r=(o.childWidget?.container||o.container)?.createComponent(ii),n=r?.instance;return n?(n.ref=r,n.options=a,n.el):void 0}else{let o=e._gridComp?.container?.createComponent(h9),r=o?.instance;if(!r)return;r.ref=o;let n=a.component,s=n?ii.componentMap[n]:void 0;if(s){let c=()=>{let l=r.container?.createComponent(s),d=l?.instance;d&&typeof d.serialize=="function"&&typeof d.deserialize=="function"&&(r.childWidget=d,d._compRef=l,d.deserialize(a))};a.lazyLoad||a.grid?.opts?.lazyLoad&&a.lazyLoad!==!1?a.visibleObservable||(a.visibleObservable=new IntersectionObserver(([l])=>{l.isIntersecting&&(a.visibleObservable?.disconnect(),delete a.visibleObservable,c(),a.grid?.refreshDragHandles(r.el))}),window.setTimeout(()=>a.visibleObservable?.observe(r.el))):(c(),a.grid?.refreshDragHandles(r.el))}return r.el}}else if(i){let o=a.el?._gridComp;o?.ref?o.ref.destroy():o?.ngOnDestroy()}else{let o=a.el?._gridItemComp;o?.ref?o.ref.destroy():o?.ngOnDestroy()}}function kR(e,a){let t=e.el?._gridItemComp;if(t){let o=t.childWidget?.serialize();o&&(a.props=o);return}let i=e.el?._gridComp}function LR(e){let a=e,t=e.el?._gridItemComp;t?.childWidget&&a.props&&t.childWidget.deserialize(a)}var VR=["grid"],SR=["editCardsBtn"],TR=[[["","slot","dashboard-subheader"]]],ER=["[slot=dashboard-subheader]"],zl=(e,a)=>a.id,sp=(e,a)=>a.action;function IR(e,a){if(e&1&&(S(0,"ui5-title",8),_5(1,"span",23),D()),e&2){let t=P();B(),J("innerHTML",t.safeTitle(),Qd)}}function zR(e,a){if(e&1&&(S(0,"div",9),_5(1,"ui5-icon",24),S(2,"span",25),Z1(3),D()()),e&2){let t=P();B(),J("accessibleName",t.i18n.getTranslation(t.i18nKeys.UNSAVED_CHANGES)),B(2),L1(t.i18n.getTranslation(t.i18nKeys.UNSAVED_CHANGES))}}function DR(e,a){if(e&1&&(S(0,"ui5-title",10),_5(1,"span",26),D()),e&2){let t=P();B(),J("innerHTML",t.safeDescription(),Qd)}}function RR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",27,1),r1("click",function(){K1(t);let i=P();return X1(i.openCardPanel())}),Z1(2),D()}if(e&2){let t=P();J("accessibleName",t.editCardsButton().text||t.editCardsButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_CARDS))("design",t.editCardsButton().design)("icon",t.editCardsButton().icon)("tooltip",t.editCardsButton().tooltip),B(2),L1(t.editCardsButton().text)}}function OR(e,a){e&1&&_5(0,"ui5-menu-separator")}function NR(e,a){if(e&1&&(_5(0,"ui5-menu-item",31),w0(1,OR,1,0,"ui5-menu-separator")),e&2){let t=P(2);J("icon",t.editViewButton().icon)("text",t.editViewButton().text||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW)),B(),Z0(t.customActions().length?1:-1)}}function PR(e,a){if(e&1&&_5(0,"ui5-menu-item",30),e&2){let t=a.$implicit;J("icon",t.icon??"")("text",t.text??""),d5("data-action",t.action)("data-testid","dashboard-action-"+t.action)}}function FR(e,a){if(e&1&&_5(0,"ui5-menu-separator")(1,"ui5-menu-item",31),e&2){let t=P(2);B(),J("icon",t.editViewButton().icon)("text",t.editViewButton().text||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))}}function UR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",28,2),r1("click",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.update(o=>!o))}),D(),S(2,"ui5-menu",29),r1("ui5Close",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.set(!1))})("ui5ItemClick",function(i){K1(t);let o=P();return X1(o.onMenuItemClick(i.detail.item.dataset.action,i))})("ui5Open",function(){K1(t);let i=P();return X1(i.toolbarMenuOpen.set(!0))}),w0(3,NR,2,3),a7(4,PR,1,4,"ui5-menu-item",30,sp),w0(6,FR,2,2),D()}if(e&2){let t=wk(1),i=P();J("accessibleName",i.i18n.getTranslation(i.i18nKeys.ACTIONS))("tooltip",i.i18n.getTranslation(i.i18nKeys.ACTIONS)),B(2),J("open",i.toolbarMenuOpen())("opener",t.element),B(),Z0(i.config().editButtonFirst&&i.config().editable?3:-1),B(),i7(i.customActions()),B(2),Z0(!i.config().editButtonFirst&&i.config().editable?6:-1)}}function qR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",34),r1("click",function(){K1(t);let i=P(2);return X1(i.enterEditMode())}),Z1(1),D()}if(e&2){let t=P(2);J("accessibleName",t.editViewButton().text||t.editViewButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))("design",t.editViewButton().design)("icon",t.editViewButton().icon)("tooltip",t.editViewButton().tooltip),B(),L1(t.editViewButton().text)}}function jR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",35),r1("click",function(i){let o=K1(t).$implicit,r=P(2);return X1(r.actionButtonClick.emit({event:i,action:o}))}),Z1(1),D()}if(e&2){let t=a.$implicit;J("accessibleName",t.text||t.tooltip||t.action)("design",t.design??"Default")("endIcon",t==null?null:t.endIcon)("icon",t.icon??"")("tooltip",t.tooltip??""),d5("data-testid","dashboard-action-"+t.action),B(),L1(t.text)}}function WR(e,a){if(e&1){let t=Q0();S(0,"ui5-button",34),r1("click",function(){K1(t);let i=P(2);return X1(i.enterEditMode())}),Z1(1),D()}if(e&2){let t=P(2);J("accessibleName",t.editViewButton().text||t.editViewButton().tooltip||t.i18n.getTranslation(t.i18nKeys.EDIT_VIEW))("design",t.editViewButton().design)("icon",t.editViewButton().icon)("tooltip",t.editViewButton().tooltip),B(),L1(t.editViewButton().text)}}function GR(e,a){if(e&1&&(w0(0,qR,2,5,"ui5-button",32),a7(1,jR,2,7,"ui5-button",33,sp),w0(3,WR,2,5,"ui5-button",32)),e&2){let t=P();Z0(t.config().editButtonFirst&&t.config().editable?0:-1),B(),i7(t.customActions()),B(2),Z0(!t.config().editButtonFirst&&t.config().editable?3:-1)}}function $R(e,a){if(e&1){let t=Q0();S(0,"mfp-dashboard-section",36),r1("removeCard",function(i){K1(t);let o=P();return X1(o.removeCard(i))})("removeSection",function(){let i=K1(t).$implicit,o=P();return X1(o.removeSection(i.id))}),D()}if(e&2){let t=a.$implicit,i=P();J("cards",i.sectionCards()(t.id))("editMode",i.editMode())("section",t)}}function KR(e,a){if(e&1&&_5(0,"div",37),e&2){let t=P();v_(t.dragOriginStyle())}}function XR(e,a){if(e&1){let t=Q0();S(0,"gridstack-item",18)(1,"mfp-dashboard-card",38),r1("removeCard",function(){let i=K1(t).$implicit,o=P();return X1(o.removeCard(i.id))}),D()()}if(e&2){let t=a.$implicit,i=P();J("options",t),B(),J("card",t)("editMode",i.editMode())}}function YR(e,a){if(e&1){let t=Q0();S(0,"div",19)(1,"ui5-button",39),r1("click",function(){K1(t);let i=P();return X1(i.saveEdit())}),Z1(2),D(),S(3,"ui5-button",40),r1("click",function(){K1(t);let i=P();return X1(i.cancelEdit())}),Z1(4),D()()}if(e&2){let t=P();B(2),L1(t.i18n.getTranslation(t.i18nKeys.SAVE)),B(2),L1(t.i18n.getTranslation(t.i18nKeys.CANCEL))}}document.body.classList.add("ui5-content-density-compact");var QR=class oi{static registerAngularComponents(a){Dz(a)}hostEl=M(U1);injector=M(n0);sanitizer=M(F_);i18n=M(me);config=w.required();sections=pl([]);cards=pl([]);availableCards=w([]);language=w("en");saved=O();actionButtonClick=O();unsavedChangesChange=O();i18nKeys=B2;gridDirty=z0(!1);isXLPage=z0(!0);editMode=z0(!1);compactToolbar=z0(!1);toolbarMenuOpen=z0(!1);cardDialogOpen=z0(!1);discardDialogOpen=z0(!1);unsavedNavDialogOpen=z0(!1);backgroundImageHeight=z0(null);dragOriginStyle=z0(null);hasUnsavedChanges=_0(()=>this.editMode()?this.gridDirty()?!0:JSON.stringify(this.sections())!==this.sectionsSnapshotJson||JSON.stringify(this.cards())!==this.cardsSnapshotJson:!1);safeTitle=_0(()=>{let a=this.sanitizer.sanitize(w5.HTML,this.config().title)??"";return this.sanitizer.bypassSecurityTrustHtml(a)});safeDescription=_0(()=>{let a=this.config().description;if(!a)return null;let t=this.sanitizer.sanitize(w5.HTML,a)??"";return this.sanitizer.bypassSecurityTrustHtml(t)});engineProfile=_0(()=>this.config().zFlow?Tl.zFlow:Tl.default);gridStackEngine=_0(()=>this.engineProfile().engineClass);gridBreakpoints=_0(()=>[...this.engineProfile().breakpoints]);columnVars=_0(()=>{let[a,t,i,o]=this.engineProfile().sectionColumns;return{"--dashboard-cols-sm":a,"--dashboard-cols-md":t,"--dashboard-cols-lg":i,"--dashboard-cols-xl":o}});customActions=_0(()=>this.config().customActions??[]);addedCardsIds=_0(()=>new Set(this.cards().map(a=>a.id)));editViewButton=_0(()=>Z({icon:"action-settings",design:"Transparent",tooltip:this.i18n.getTranslation(B2.EDIT_VIEW),text:""},this.config().buttonsSettings?.editViewButton));editCardsButton=_0(()=>Z({icon:"",design:"Default",tooltip:"",text:this.i18n.getTranslation(B2.EDIT_CARDS)},this.config().buttonsSettings?.editCardsButton));sectionCards=_0(()=>{let a=this.cards();return t=>a.filter(i=>i.sectionId===t)});looseCards=eL(()=>{let a=this.cards().filter(i=>!i.sectionId),t=this.config().zFlow?.cardHeight;return!this.engineProfile().fixedCardHeight||t===void 0?a:a.map(i=>N(Z({},i),{h:t,maxH:t,minH:t}))});gridOptions=_0(()=>({cellHeight:10,sizeToContent:!0,disableResize:!this.editMode(),disableDrag:!this.editMode(),marginBottom:0,marginLeft:0,marginRight:0,engineClass:this.gridStackEngine(),columnOpts:{breakpoints:this.gridBreakpoints()}}));sectionsSnapshotJson="";cardsSnapshotJson="";sectionsSnapshot=[];cardsSnapshot=[];gridStack=O8.required("grid");addCardBtn=O8("editCardsBtn");resizeObserver;cardsPosition=new Map;pendingNavigation=null;beforeUnloadHandler=a=>{this.hasUnsavedChanges()&&(a.preventDefault(),a.returnValue="")};constructor(){H0(()=>{this.unsavedChangesChange.emit(this.hasUnsavedChanges())}),H0(()=>{this.i18n.language.set(this.language())}),H0(a=>{let t=this.config().backgroundImageUrl;if(this.backgroundImageHeight.set(null),!t)return;let i=new Image;i.onload=()=>{this.backgroundImageHeight.set(i.naturalHeight)},i.src=t,a(()=>{i.onload=null})})}ngOnInit(){this.resizeObserver=new ResizeObserver(a=>{let t=a[0]?.contentRect.width??0;this.compactToolbar.set(t<726),this.changeCardSettingsForXlPage(t)}),this.resizeObserver.observe(this.hostEl.nativeElement),window.addEventListener("beforeunload",this.beforeUnloadHandler)}ngOnDestroy(){this.resizeObserver?.disconnect(),window.removeEventListener("beforeunload",this.beforeUnloadHandler)}onMenuItemClick(a,t){if(a==="edit-view"){this.enterEditMode();return}let i=this.customActions().find(o=>o.action===a);i&&this.actionButtonClick.emit({event:t,action:i})}enterEditMode(){this.updateCardsPositions(),this.sectionsSnapshot=[...this.sections()],this.cardsSnapshot=[...this.cards()],this.sectionsSnapshotJson=JSON.stringify(this.sections()),this.cardsSnapshotJson=JSON.stringify(this.cards()),this.gridDirty.set(!1),this.editMode.set(!0),Oa(()=>{this.addCardBtn()?.element.focus()},{injector:this.injector})}saveEdit(){this.updateCardsPositions();let a=this.cards().map(t=>{let i=this.cardsPosition.get(t.id);return N(Z({},t),{x:i?.x,y:i?.y,w:i?.w??t.w,h:i?.h??t.h})});this.gridDirty.set(!1),this.editMode.set(!1),this.cards.set(a),this.saved.emit({sections:this.sections(),cards:a})}cancelEdit(){if(this.hasUnsavedChanges()){this.discardDialogOpen.set(!0);return}this.discardEdit()}confirmDiscard(){this.discardDialogOpen.set(!1),this.discardEdit()}cancelDiscard(){this.discardDialogOpen.set(!1)}requestNavigation(a){return this.hasUnsavedChanges()?(this.pendingNavigation=a,this.unsavedNavDialogOpen.set(!0),!1):(a(),!0)}onUnsavedNavSave(){this.unsavedNavDialogOpen.set(!1),this.saveEdit(),this.runPendingNavigation()}onUnsavedNavDiscard(){this.unsavedNavDialogOpen.set(!1),this.discardEdit(),this.runPendingNavigation()}onUnsavedNavCancel(){this.unsavedNavDialogOpen.set(!1),this.pendingNavigation=null}runPendingNavigation(){let a=this.pendingNavigation;this.pendingNavigation=null,a?.()}discardEdit(){this.sections.set(this.sectionsSnapshot),this.cards.set(this.cardsSnapshot.map(a=>{let t=this.cardsPosition.get(a.id);return N(Z({},a),{x:t?.x,y:t?.y})})),this.cardDialogOpen.set(!1),this.gridDirty.set(!1),this.editMode.set(!1)}removeSection(a){this.sections.update(t=>t.filter(i=>i.id!==a)),this.cards.update(t=>t.filter(i=>i.sectionId!==a))}removeCard(a){let t=this.looseCards().some(i=>i.id===a);this.cardsPosition.delete(a),this.cards.update(i=>i.filter(o=>o.id!==a)),t&&Oa(()=>{this.gridStack().grid?.compact("compact",!1)},{injector:this.injector})}openCardPanel(){this.cardDialogOpen.set(!0)}closeCardPanel(){this.cardDialogOpen.set(!1)}onCardsEdited(a){this.cards.update(t=>[...t.filter(i=>!a.removed.includes(i.id)),...a.added.map(i=>Z({},i))]),this.closeCardPanel()}onDragStart(a){if(this.getZFlowEngine()?.syncZFlowOrderFromLayout(),!this.engineProfile().renderOriginPosition)return;let t=a.el,i=this.gridStack().el.getBoundingClientRect(),o=t.getBoundingClientRect();this.dragOriginStyle.set({top:`${o.top-i.top}px`,left:`${o.left-i.left}px`,width:`${o.width}px`,height:`${o.height}px`})}onDragStop(){this.getZFlowEngine()?.commitZFlowLayout(),this.dragOriginStyle.set(null)}onGridChange(){this.editMode()&&this.gridDirty.set(!0)}saveCardsPosition(a){a.forEach(t=>{t.id&&this.cardsPosition.set(t.id,{x:t.x,y:t.y,w:t.w,h:t.h})})}updateCardsPositions(){let a=this.gridStack().gridstackItems?.toArray().map(t=>t.options);a&&this.saveCardsPosition(a)}getZFlowEngine(){let a=this.gridStack().grid?.engine;return a instanceof ip?a:null}updateCardsForBreakpoint(a){this.getZFlowEngine()?.syncZFlowOrderFromLayout(),this.cards.set(this.cards().map(a)),Oa(()=>{this.getZFlowEngine()?.commitZFlowLayout()},{injector:this.injector})}changeCardSettingsForXlPage(a){this.engineProfile().xlWidthSwap&&(a>=Sz?this.isXLPage()||(this.isXLPage.set(!0),this.updateCardsForBreakpoint(t=>N(Z({},t),{w:t.w===4?3:t.w,maxW:t.maxW===4?3:t.maxW}))):this.isXLPage()&&(this.isXLPage.set(!1),this.updateCardsForBreakpoint(t=>N(Z({},t),{w:t.w===3?4:t.w,maxW:t.maxW===3?4:t.maxW}))))}static \u0275fac=function(a){return new(a||oi)};static \u0275cmp=J1({type:oi,selectors:[["mfp-dashboard"]],viewQuery:function(a,t){a&1&&o9(t.gridStack,VR,5)(t.addCardBtn,SR,5),a&2&&h_(2)},hostVars:4,hostBindings:function(a,t){a&2&&pe("background-image",t.config().backgroundImageUrl?"url("+t.config().backgroundImageUrl+")":null)("background-size",t.backgroundImageHeight()?"100% "+t.backgroundImageHeight()+"px":"100% auto")},inputs:{config:[1,"config"],sections:[1,"sections"],cards:[1,"cards"],availableCards:[1,"availableCards"],language:[1,"language"]},outputs:{sections:"sectionsChange",cards:"cardsChange",saved:"saved",actionButtonClick:"actionButtonClick",unsavedChangesChange:"unsavedChangesChange"},features:[M_([me])],ngContentSelectors:ER,decls:26,vars:18,consts:[["grid",""],["editCardsBtn",""],["menuBtn",""],["data-testid","dashboard",1,"mfp-dashboard"],[1,"mfp-dashboard__topbar"],[1,"mfp-dashboard__topbar-row"],[1,"mfp-dashboard__header"],[1,"mfp-dashboard__title-row"],["data-testid","dashboard-title","level","H3","size","H3","wrapping-type","Normal"],["role","status",1,"mfp-dashboard__unsaved-changes"],["data-testid","dashboard-description","level","H5","size","H5","wrapping-type","Normal"],[1,"mfp-dashboard__toolbar"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"accessibleName","design","icon","tooltip"],[1,"mfp-dashboard__subheader"],[1,"mfp-sections-container"],[3,"cards","editMode","section"],["data-testid","dashboard-grid",3,"addedCB","changeCB","dragStartCB","dragStopCB","removedCB","options"],[1,"mfp-dashboard__drag-origin-placeholder",3,"style"],[3,"options"],[1,"mfp-dashboard__edit-bar"],[3,"cancelled","confirm","addedCardsIds","availableCards","open"],[3,"cancelled","confirm","open"],[3,"cancelled","discard","save","open"],[3,"innerHTML"],["name","user-edit",1,"mfp-dashboard__unsaved-changes-icon",3,"accessibleName"],[1,"mfp-dashboard__unsaved-changes-text"],[1,"mfp-dashboard__description",3,"innerHTML"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"click","accessibleName","design","icon","tooltip"],["data-testid","dashboard-toolbar-menu-btn","design","Transparent","icon","menu2",3,"click","accessibleName","tooltip"],["data-testid","dashboard-toolbar-menu",3,"ui5Close","ui5ItemClick","ui5Open","open","opener"],[3,"icon","text"],["data-action","edit-view","data-testid","dashboard-action-edit-view",3,"icon","text"],["data-testid","dashboard-edit-view-btn",3,"accessibleName","design","icon","tooltip"],[3,"accessibleName","design","endIcon","icon","tooltip"],["data-testid","dashboard-edit-view-btn",3,"click","accessibleName","design","icon","tooltip"],[3,"click","accessibleName","design","endIcon","icon","tooltip"],[3,"removeCard","removeSection","cards","editMode","section"],[1,"mfp-dashboard__drag-origin-placeholder"],[3,"removeCard","card","editMode"],["data-testid","dashboard-save-btn","design","Emphasized",3,"click"],["data-testid","dashboard-cancel-btn","design","Transparent",3,"click"]],template:function(a,t){a&1&&(L0(TR),S(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),w0(5,IR,2,1,"ui5-title",8),w0(6,zR,4,2,"div",9),D(),w0(7,DR,2,1,"ui5-title",10),D(),S(8,"div",11),w0(9,RR,3,5,"ui5-button",12)(10,UR,7,6)(11,GR,4,2),D()(),S(12,"div",13),C0(13),D()(),S(14,"div",14),a7(15,$R,1,3,"mfp-dashboard-section",15,zl),D(),S(17,"gridstack",16,0),r1("addedCB",function(){return t.onGridChange()})("changeCB",function(){return t.onGridChange()})("dragStartCB",function(i){return t.onDragStart(i)})("dragStopCB",function(){return t.onDragStop()})("removedCB",function(){return t.onGridChange()}),w0(19,KR,1,2,"div",17),a7(20,XR,2,3,"gridstack-item",18,zl),D()(),w0(22,YR,5,2,"div",19),S(23,"mfp-edit-cards-dialog",20),r1("cancelled",function(){return t.closeCardPanel()})("confirm",function(i){return t.onCardsEdited(i)}),D(),S(24,"mfp-discard-changes-dialog",21),r1("cancelled",function(){return t.cancelDiscard()})("confirm",function(){return t.confirmDiscard()}),D(),S(25,"mfp-unsaved-changes-dialog",22),r1("cancelled",function(){return t.onUnsavedNavCancel()})("discard",function(){return t.onUnsavedNavDiscard()})("save",function(){return t.onUnsavedNavSave()}),D()),a&2&&(v_(t.columnVars()),f3("edit",t.editMode()),B(5),Z0(t.config().title?5:-1),B(),Z0(t.hasUnsavedChanges()?6:-1),B(),Z0(t.config().description?7:-1),B(2),Z0(t.editMode()?9:t.compactToolbar()?10:11),B(6),i7(t.sections()),B(2),f3("zflow-dragging",!!t.dragOriginStyle()),J("options",t.gridOptions()),B(2),Z0(t.dragOriginStyle()?19:-1),B(),i7(t.looseCards()),B(2),Z0(t.editMode()?22:-1),B(),J("addedCardsIds",t.addedCardsIds())("availableCards",t.availableCards())("open",t.cardDialogOpen()),B(),J("open",t.discardDialogOpen()),B(),J("open",t.unsavedNavDialogOpen()))},dependencies:[ii,h9,Xz,AD,MD,yD,J_,g7,U_,RD,ND,FD,R4],styles:[`.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;z-index:100}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center;z-index:101}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.grid-stack-placeholder{z-index:2;pointer-events:none}.grid-stack-placeholder .placeholder-content{border-radius:16px;height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;background:var(--sapContent_Selected_Hover_Background, #E3F0FF);border:1px solid var(--sapContent_DragAndDropActiveColor, #0064D9);z-index:2!important}mfp-dashboard,mfp-wc-dashboard{display:block;flex:1;margin:0;padding:0;min-height:100%;background:var(--sapShellColor, #354a5e);background-size:100% auto;background-position:top center;background-repeat:no-repeat;background-attachment:local}.mfp-dashboard{padding:calc(var(--sapShell_Space_XL, 3rem) - 10px);container-type:inline-size;container-name:mfp-dashboard}.mfp-dashboard.edit{padding-bottom:60px}.mfp-sections-container{display:grid;grid-auto-rows:auto;align-content:start;gap:1rem;grid-template-columns:repeat(var(--dashboard-cols-xl, 14),1fr)}@container mfp-dashboard (max-width: 599px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-sm, 1),1fr)}}@container mfp-dashboard (min-width: 600px) and (max-width: 1023px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-md, 8),1fr)}}@container mfp-dashboard (min-width: 1024px) and (max-width: 1439px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-lg, 12),1fr)}}.mfp-dashboard__topbar{grid-column:1/-1;align-self:start;display:flex;flex-direction:column;gap:1rem;padding-bottom:3rem;width:100%;min-width:0}.mfp-dashboard__topbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 10px}.mfp-dashboard__header{display:flex;flex-direction:column;gap:.25rem}.mfp-dashboard__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mfp-dashboard__unsaved-changes{display:inline-flex;align-items:center;gap:.375rem}.mfp-dashboard__unsaved-changes-icon{width:16px;height:16px;color:var(--sapContent_MarkerIconColor)}.mfp-dashboard__unsaved-changes-text{color:var(--sapContent_LabelColor);text-shadow:0 0 2px var(--sapContent_ContrastTextShadow, #fff);font-family:var(--sapFontFamily);font-size:var(--sapFontSize, 14px);font-style:normal;font-weight:400;line-height:normal}.mfp-dashboard__description{font-weight:400;font-family:var(--sapFontFamily)}.mfp-dashboard__description b,.mfp-dashboard__description strong{font-family:var(--sapFontBoldFamily)}.mfp-dashboard__toolbar{flex-shrink:0;display:flex;gap:.5rem}.mfp-dashboard__subheader{display:flex;align-items:center;gap:1rem}.mfp-dashboard__edit-bar{position:fixed;bottom:20px;left:16px;right:16px;z-index:1000;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:7px 16px;background:var(--sapPageFooter_Background, white);border-radius:var(--sapElement_BorderCornerRadius, 12px);box-shadow:0 0 0 1px #2235487a,0 2px 8px #2235484d;box-sizing:border-box;overflow:hidden}@media screen and (min-width:0px)and (max-width:599px){.mfp-dashboard{padding:calc(var(--sapShell_Space_S, 1rem) - 10px)}}@media screen and (min-width:600px)and (max-width:1023px){.mfp-dashboard{padding:calc(var(--sapShell_Space_M, 2rem) - 10px)}}@media screen and (min-width:1024px)and (max-width:1439px){.mfp-dashboard{padding:calc(var(--sapShell_Space_L, 2rem) - 10px)}}.grid-stack.grid-stack-dragging,.grid-stack.grid-stack-dragging *{cursor:grabbing!important}.mfp-dashboard__drag-origin-placeholder{position:absolute;pointer-events:none;z-index:1}.mfp-dashboard__drag-origin-placeholder:before{content:"";height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;position:absolute;background:var(--sapNeutralColor, #6a6d75);border-radius:16px;opacity:.3}gridstack{position:relative}.grid-stack:has(.ui-resizable-resizing),.grid-stack:has(.ui-resizable-resizing) *{cursor:nwse-resize!important}.grid-stack-item>.ui-resizable-handle{background-image:none!important}
142
142
  `],encapsulation:2})};ko("mfp");(async()=>{let e=await YL(),a=kL(QR,{injector:e.injector});Object.defineProperty(a.prototype,"requestNavigation",{value(t){let i=this.ngElementStrategy?.componentRef?.instance;return i?i.requestNavigation(t):(t(),!0)},configurable:!0,writable:!0}),customElements.define("mfp-wc-dashboard",a)})();
@@ -570,5 +570,5 @@ design guidelines, please use the \`ui5-button\` component.
570
570
  design guidelines, please use the \`ui5-button\` component.
571
571
  **Note:** When the slot is not present, a built-in delete button will be displayed.`,since:"1.9.0"}],this.elementRef=ne(gt),this.injector=ne(xt)}get element(){return this.elementRef.nativeElement}ngAfterViewInit(){let i=this.element,o=["text","additionalText","icon","disabled","loading","loadingDelay","accessibleName","tooltip","checked","accessibilityAttributes","type","navigated","highlight","selected"];for(let n of o){let c=n.replace(/-./g,d=>d[1].toUpperCase());this[c]&&typeof this[c]=="function"&&g1(this.injector,()=>{At(()=>{let d=this[c]();i&&(i[n]=d)})})}let a=["ui5BeforeOpen","ui5Open","ui5BeforeClose","ui5Close","ui5Check","ui5DetailClick"];for(let n of a){let c=n.replace("ui5","").replace(/([A-Z])/g,"-$1").toLowerCase().substring(1);this[n]&&typeof this[n].emit=="function"&&i.addEventListener&&i.addEventListener(c,d=>{this[n].emit(d)})}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=Ye({type:e,selectors:[["ui5-menu-item"],["","ui5-menu-item",""]],inputs:{text:[1,"text"],additionalText:[1,"additionalText"],icon:[1,"icon"],disabled:[1,"disabled"],loading:[1,"loading"],loadingDelay:[1,"loadingDelay"],accessibleName:[1,"accessibleName"],tooltip:[1,"tooltip"],checked:[1,"checked"],accessibilityAttributes:[1,"accessibilityAttributes"],type:[1,"type"],navigated:[1,"navigated"],highlight:[1,"highlight"],selected:[1,"selected"]},outputs:{ui5BeforeOpen:"ui5BeforeOpen",ui5Open:"ui5Open",ui5BeforeClose:"ui5BeforeClose",ui5Close:"ui5Close",ui5Check:"ui5Check",ui5DetailClick:"ui5DetailClick"},exportAs:["ui5MenuItem"],ngContentSelectors:vde,decls:1,vars:0,template:function(i,o){i&1&&(Yt(),Wt(0))},encapsulation:2,changeDetection:0})}}return e})(),gde=["*"],fde=(()=>{class e{constructor(){this.elementRef=ne(gt),this.injector=ne(xt)}get element(){return this.elementRef.nativeElement}ngAfterViewInit(){let i=this.element}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=Ye({type:e,selectors:[["ui5-menu-separator"],["","ui5-menu-separator",""]],exportAs:["ui5MenuSeparator"],ngContentSelectors:gde,decls:1,vars:0,template:function(i,o){i&1&&(Yt(),Wt(0))},encapsulation:2,changeDetection:0})}}return e})(),bde="action-settings",Cde="M0 7c0-.292.094-.531.281-.719A.973.973 0 0 1 1 6h.813a2.68 2.68 0 0 1 .171-.484c.073-.157.151-.318.235-.485l-.594-.562a1.043 1.043 0 0 1-.281-.719c0-.27.093-.5.281-.688l1.438-1.437a.935.935 0 0 1 .687-.281c.292 0 .531.093.719.281l.562.594c.167-.084.328-.162.485-.235A2.68 2.68 0 0 1 6 1.813V1c0-.292.094-.531.281-.719A.973.973 0 0 1 7 0h2c.292 0 .531.094.719.281A.973.973 0 0 1 10 1v.813c.167.062.328.125.484.187.157.063.308.135.454.219l.593-.594a.974.974 0 0 1 .719-.281c.27 0 .5.093.688.281l1.437 1.438a.935.935 0 0 1 .281.687c0 .27-.094.51-.281.719l-.594.593c.167.271.292.584.375.938H15c.292 0 .531.094.719.281A.973.973 0 0 1 16 7v2a.973.973 0 0 1-.281.719A.974.974 0 0 1 15 10h-.844a3.68 3.68 0 0 1-.375.938l.594.593c.188.209.281.448.281.719 0 .27-.094.5-.281.688l-1.438 1.437a.935.935 0 0 1-.687.281.974.974 0 0 1-.719-.281l-.594-.594a3.62 3.62 0 0 1-.453.219 22.56 22.56 0 0 1-.484.188V15a.974.974 0 0 1-.281.719A.973.973 0 0 1 9 16H7a.973.973 0 0 1-.719-.281A.974.974 0 0 1 6 15v-.813a2.683 2.683 0 0 1-.484-.171 19.641 19.641 0 0 1-.485-.235l-.562.594a.973.973 0 0 1-.719.281.94.94 0 0 1-.688-.281l-1.437-1.438a.935.935 0 0 1-.281-.687c0-.27.093-.51.281-.719l.594-.562a20.151 20.151 0 0 1-.235-.485A2.68 2.68 0 0 1 1.813 10H1a.973.973 0 0 1-.719-.281A.973.973 0 0 1 0 9V7Zm1 0v2h1.531c.063.208.12.39.172.547.052.156.11.307.172.453.063.167.14.338.234.516.094.177.204.39.329.64L2.343 12.25l1.406 1.406 1.094-1.094c.354.209.708.386 1.062.532.354.146.719.27 1.094.375V15h2v-1.563c.208-.062.39-.12.547-.171.156-.053.307-.1.453-.141.167-.083.344-.167.531-.25a8.68 8.68 0 0 0 .625-.313l1.094 1.094 1.406-1.406-1.094-1.125c.188-.354.35-.703.485-1.047s.265-.703.39-1.078H15V7h-1.563a9.505 9.505 0 0 0-.874-2.125l1.093-1.125-1.406-1.406-1.094 1.094a7.478 7.478 0 0 0-1.047-.516A9.907 9.907 0 0 0 9 2.562V1H7v1.531l-.516.172c-.156.052-.317.11-.484.172l-.563.25a5.519 5.519 0 0 0-.593.313L3.75 2.343 2.344 3.75l1.094 1.094A12.821 12.821 0 0 0 2.53 7H1Zm4.219 0 .093-.281a3.48 3.48 0 0 1 .22-.375c.083-.125.176-.24.28-.344.209-.208.396-.37.563-.484A3.49 3.49 0 0 1 7 5.187a3.55 3.55 0 0 1 1-.156c.354 0 .688.063 1 .188l.281.093.375.25c.125.084.24.178.344.282a.559.559 0 0 1 .156.156c.271.25.469.583.594 1 .125.313.188.646.188 1s-.063.688-.188 1a2.41 2.41 0 0 1-.594 1 .56.56 0 0 1-.156.156 2.25 2.25 0 0 1-.344.281l-.375.25-.281.094a2.665 2.665 0 0 1-1 .188 3.55 3.55 0 0 1-1-.156 3.454 3.454 0 0 1-.625-.329A4.164 4.164 0 0 1 5.812 10a2.249 2.249 0 0 1-.28-.344 3.496 3.496 0 0 1-.22-.375L5.22 9a2.667 2.667 0 0 1-.188-1c0-.354.063-.688.188-1Zm.812 1c0 .354.089.682.266.984A1.9 1.9 0 0 0 7 9.688c.292.187.625.28 1 .28.125 0 .292-.02.5-.062a2.42 2.42 0 0 0 .656-.328c.188-.135.354-.328.5-.578.188-.292.281-.625.281-1 0-.396-.093-.73-.28-1a1.843 1.843 0 0 0-.5-.578 2.42 2.42 0 0 0-.657-.328A2.69 2.69 0 0 0 8 6.03c-.375 0-.708.094-1 .282a1.897 1.897 0 0 0-.703.703c-.177.302-.266.63-.266.984Z",wde=!1,yde=wh,Ade="0 0 16 16",xde="SAP-icons-v4",Sde="@ui5/webcomponents-icons";ee(bde,{pathData:Cde,ltr:wde,viewBox:Ade,accData:yde,collection:xde,packageName:Sde});var Ide="action-settings",Tde="M8.549 0a1.757 1.757 0 0 1 1.568 1.49l.121.805a.251.251 0 0 0 .123.18l1.238.715a.252.252 0 0 0 .217.017l.755-.298a1.75 1.75 0 0 1 2.156.754v.001l.387.673a1.75 1.75 0 0 1-.423 2.244l-.617.49a.251.251 0 0 0-.094.196v1.465c0 .076.035.148.094.196l.616.49c.677.54.858 1.495.425 2.245l-.387.673h-.001a1.75 1.75 0 0 1-2.155.755l-.757-.298a.251.251 0 0 0-.217.016l-1.238.715a.251.251 0 0 0-.122.18l-.12.806A1.75 1.75 0 0 1 8.387 16H7.61a1.75 1.75 0 0 1-1.698-1.333l-.16-1.013a.25.25 0 0 0-.122-.18l-1.184-.684a.251.251 0 0 0-.216-.016l-.803.317a1.75 1.75 0 0 1-2.156-.754l-.387-.675-.001.001a1.753 1.753 0 0 1 .425-2.244l.695-.555A.25.25 0 0 0 2.1 8.67V7.33a.25.25 0 0 0-.095-.195L1.31 6.58a1.753 1.753 0 0 1-.425-2.244l.388-.674a1.75 1.75 0 0 1 2.156-.754l.802.317c.07.027.15.02.216-.017l1.185-.685a.25.25 0 0 0 .122-.18l.16-1.011A1.75 1.75 0 0 1 7.611 0h.938Zm-.982 1.504a.25.25 0 0 0-.19.164l-.14.9a1.75 1.75 0 0 1-.855 1.255l-1.185.685a1.752 1.752 0 0 1-1.516.113l-.803-.315a.25.25 0 0 0-.307.107l-.388.673a.253.253 0 0 0 .06.321l.696.555c.416.332.66.835.66 1.368v1.34a1.75 1.75 0 0 1-.66 1.368l-.695.555a.251.251 0 0 0-.061.321l.387.674a.25.25 0 0 0 .308.107l.802-.315a1.752 1.752 0 0 1 1.517.112l1.185.685c.461.266.775.729.854 1.256l.14.9a.25.25 0 0 0 .235.168h.777a.25.25 0 0 0 .246-.213l.121-.806a1.75 1.75 0 0 1 .855-1.255l1.238-.716a1.751 1.751 0 0 1 1.516-.114l.757.298c.1.04.213.01.28-.07l.415-.71a.25.25 0 0 0-.06-.321l-.617-.492a1.751 1.751 0 0 1-.66-1.369V7.267c0-.533.244-1.037.66-1.369l.616-.49a.25.25 0 0 0 .06-.321l-.387-.675a.249.249 0 0 0-.307-.106l-.758.297a1.75 1.75 0 0 1-1.515-.114L9.61 3.773a1.75 1.75 0 0 1-.855-1.255l-.121-.805a.25.25 0 0 0-.201-.21h-.866ZM8 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z",Bde=!1,Mde=wh,Ede="0 0 16 16",kde="SAP-icons-v5",Zde="@ui5/webcomponents-icons";ee(Ide,{pathData:Tde,ltr:Bde,viewBox:Ede,accData:Mde,collection:kde,packageName:Zde});var Lde="menu2",Hde="M1 4.01a.96.96 0 0 1-.703-.298A.969.969 0 0 1 0 3.005c0-.293.099-.534.297-.722A.985.985 0 0 1 1 2h14a.97.97 0 0 1 .719.283.981.981 0 0 1 .281.722.996.996 0 0 1-.281.707.944.944 0 0 1-.719.298H1Zm0 4.995c-.27 0-.505-.1-.703-.298A.969.969 0 0 1 0 8c0-.293.099-.534.297-.723A.985.985 0 0 1 1 6.995h14a.97.97 0 0 1 .719.282c.187.189.281.43.281.723a.996.996 0 0 1-.281.707.944.944 0 0 1-.719.298H1ZM1 14c-.27 0-.505-.1-.703-.298A.969.969 0 0 1 0 12.995c0-.293.099-.534.297-.723A.986.986 0 0 1 1 11.99h14c.292 0 .531.095.719.283.187.189.281.43.281.723a.996.996 0 0 1-.281.707A.945.945 0 0 1 15 14H1Z",Dde=!1,Ode="0 0 16 16",Rde="SAP-icons-v4",Nde="@ui5/webcomponents-icons";ee(Lde,{pathData:Hde,ltr:Dde,viewBox:Ode,collection:Rde,packageName:Nde});var Vde="menu2",Pde="M15.25 12.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Zm0-5.5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Zm0-5a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1 0-1.5h14.5Z",zde=!1,Fde="0 0 16 16",Ude="SAP-icons-v5",jde="@ui5/webcomponents-icons";ee(Vde,{pathData:Pde,ltr:zde,viewBox:Fde,collection:Ude,packageName:jde});var n5={alwaysShowResizeHandle:"mobile",animate:!0,auto:!0,cellHeight:"auto",cellHeightThrottle:100,cellHeightUnit:"px",column:12,draggable:{handle:".grid-stack-item-content",appendTo:"body",scroll:!0},handle:".grid-stack-item-content",itemClass:"grid-stack-item",margin:10,marginUnit:"px",maxRow:0,minRow:0,placeholderClass:"grid-stack-placeholder",placeholderText:"",removableOptions:{accept:"grid-stack-item",decline:"grid-stack-non-removable"},resizable:{handles:"se"},rtl:"auto"},Oe=class{},po=typeof window<"u"&&typeof document<"u"&&("ontouchstart"in document||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0&&window.matchMedia("(any-pointer: coarse)").matches||navigator.msMaxTouchPoints>0),l5=class{};function Sc(e,t){e.touches.length>1||(e.cancelable&&e.preventDefault(),K.simulateMouseEvent(e.changedTouches[0],t))}function jE(e,t){e.cancelable&&e.preventDefault(),K.simulateMouseEvent(e,t)}function Ic(e){l5.touchHandled||(l5.touchHandled=!0,Sc(e,"mousedown"))}function Tc(e){l5.touchHandled&&Sc(e,"mousemove")}function Bc(e){if(!l5.touchHandled)return;l5.pointerLeaveTimeout&&(window.clearTimeout(l5.pointerLeaveTimeout),delete l5.pointerLeaveTimeout);let t=!!Oe.dragElement;Sc(e,"mouseup"),t||Sc(e,"click"),l5.touchHandled=!1}function Mc(e){e.pointerType!=="mouse"&&e.target.releasePointerCapture(e.pointerId)}function yx(e){Oe.dragElement&&e.pointerType!=="mouse"&&jE(e,"mouseenter")}function Ax(e){Oe.dragElement&&e.pointerType!=="mouse"&&(l5.pointerLeaveTimeout=window.setTimeout(()=>{delete l5.pointerLeaveTimeout,jE(e,"mouseleave")},10))}var Wde=(()=>{class e{constructor(i,o,a){this.host=i,this.dir=o,this.option=a,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){if(this.option.element)try{this.el=this.option.element instanceof HTMLElement?this.option.element:this.host.querySelector(this.option.element)}catch(i){this.option.element=void 0,console.error("Query for resizeable handle failed, falling back",i)}return this.el||(this.el=document.createElement("div"),this.host.appendChild(this.el)),this.el.classList.add("ui-resizable-handle"),this.el.classList.add(`${e.prefix}${this.dir}`),this.el.addEventListener("mousedown",this._mouseDown),po&&(this.el.addEventListener("touchstart",Ic),this.el.addEventListener("pointerdown",Mc)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),po&&(this.el.removeEventListener("touchstart",Ic),this.el.removeEventListener("pointerdown",Mc)),this.option.element||this.host.removeChild(this.el),this}_mouseDown(i){this.mouseDownEvent=i,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),po&&(this.el.addEventListener("touchmove",Tc),this.el.addEventListener("touchend",Bc)),i.stopPropagation(),i.preventDefault()}_mouseMove(i){let o=this.mouseDownEvent;this.moving?this._triggerEvent("move",i):Math.abs(i.x-o.x)+Math.abs(i.y-o.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",i),document.addEventListener("keydown",this._keyEvent)),i.stopPropagation()}_mouseUp(i){this.moving&&(this._triggerEvent("stop",i),document.removeEventListener("keydown",this._keyEvent)),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),po&&(this.el.removeEventListener("touchmove",Tc),this.el.removeEventListener("touchend",Bc)),delete this.moving,delete this.mouseDownEvent,i.stopPropagation(),i.preventDefault()}_keyEvent(i){i.key==="Escape"&&(this.host.gridstackNode?.grid?.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(i,o){let a=this.option;return a[i]&&a[i](o),this}}return e.prefix="ui-resizable-",e})(),_v=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(e,t){this._eventRegister[e]=t}off(e){delete this._eventRegister[e]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){this._eventRegister={}}triggerEvent(e,t){if(!this.disabled&&this._eventRegister[e])return this._eventRegister[e](t)}},Gde=(()=>{class e extends _v{constructor(i,o={}){super(),this.el=i,this.option=o,this.rectScale={x:1,y:1},this._ui=()=>{let a=this.el.parentElement.getBoundingClientRect(),n={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},c=this.temporalRect||n;return{position:{left:this.option.rtl?(a.right-c.right)*this.rectScale.x:(c.left-a.left)*this.rectScale.x,top:(c.top-a.top)*this.rectScale.y},size:{width:c.width*this.rectScale.x,height:c.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(!!this.option.autoHide),this._setupHandlers()}on(i,o){super.on(i,o)}off(i){super.off(i)}enable(){super.enable(),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(!!this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(i){let o=i.handles&&i.handles!==this.option.handles,a=i.autoHide&&i.autoHide!==this.option.autoHide;return Object.assign(this.option,i),o&&(this._removeHandlers(),this._setupHandlers()),a&&this._setupAutoHide(!!this.option.autoHide),this}_setupAutoHide(i){return i?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut),Oe.overResizeElement===this&&delete Oe.overResizeElement),this}_mouseOver(i){Oe.overResizeElement||Oe.dragElement||(Oe.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(i){Oe.overResizeElement===this&&(delete Oe.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){return this.handlers=(this.option.handles??"se").split(",").map(i=>i.trim()).map(i=>new Wde(this.el,i,{element:this.option.element,start:o=>this._resizeStart(o),stop:o=>this._resizeStop(o),move:o=>this._resizing(o,i)})),this}_resizeStart(i){this.sizeToContent=K.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=K.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=i,this._setupHelper(),this._applyChange();let o=K.initEvent(i,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(o,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",o),this}_resizing(i,o){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(i,o),this._applyChange();let a=K.initEvent(i,{type:"resize",target:this.el});return a.resizeDir=o,a.hasMovedX=this.option.rtl?o.includes("e"):o.includes("w"),a.hasMovedY=o.includes("n"),this.option.resize&&this.option.resize(a,this._ui()),this.triggerEvent("resize",a),this}_resizeStop(i){let o=K.initEvent(i,{type:"resizestop",target:this.el});return this._cleanHelper(),this.option.stop&&this.option.stop(o),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",o),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=e._originStyleProp.map(a=>this.el.style[a]);let i=this.el.parentElement;this.parentOriginStylePosition=i.style.position;let o=K.getValuesFromTransformedElement(i);return this.rectScale={x:o.xScale,y:o.yScale},getComputedStyle(i).position.match(/static/)&&(i.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return e._originStyleProp.forEach((i,o)=>{this.el.style[i]=this.elOriginStyleVal[o]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(i,o){let a=this.startEvent,n={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},c=i.clientX-a.clientX,d=this.sizeToContent?0:i.clientY-a.clientY,v=!1,b=!1,x=this.option.rtl;!x&&o.indexOf("e")>-1?n.width+=c:x&&o.indexOf("w")>-1?n.width-=c:!x&&o.indexOf("w")>-1?(n.width-=c,n.left+=c,v=!0):x&&o.indexOf("e")>-1&&(n.width+=c,n.right+=c,v=!0),o.indexOf("s")>-1?n.height+=d:o.indexOf("n")>-1&&(n.height-=d,n.top+=d,b=!0);let w=this._constrainSize(n.width,n.height,v,b);return Math.round(n.width)!==Math.round(w.width)&&(!x&&o.indexOf("w")>-1?n.left+=n.width-w.width:x&&o.indexOf("e")>-1&&(n.right-=n.width-w.width),n.width=w.width),Math.round(n.height)!==Math.round(w.height)&&(o.indexOf("n")>-1&&(n.top+=n.height-w.height),n.height=w.height),n}_constrainSize(i,o,a,n){let c=this.option,d=(a?c.maxWidthMoveLeft:c.maxWidth)||Number.MAX_SAFE_INTEGER,v=(c.minWidth??0)/this.rectScale.x||i,b=(n?c.maxHeightMoveUp:c.maxHeight)||Number.MAX_SAFE_INTEGER,x=(c.minHeight??0)/this.rectScale.y||o,w=Math.min(d,Math.max(v,i)),B=Math.min(b,Math.max(x,o));return{width:w,height:B}}_applyChange(){let i={left:0,right:0,top:0,width:0,height:0};if(this.el.style.position==="absolute"){let a=this.el.parentElement,{left:n,right:c,top:d}=a.getBoundingClientRect();i={left:n,right:c,top:d,width:0,height:0}}if(!this.temporalRect)return this;let o=i;return Object.entries(this.temporalRect).forEach(([a,n])=>{if(this.option.rtl?a==="left":a==="right")return;let c=a==="width"||a==="left"||a==="right"?this.rectScale.x:a==="height"||a==="top"?this.rectScale.y:1,d;a==="right"?d=(i.right-n)*this.rectScale.x+"px":d=(n-o[a])*c+"px",this.el.style[a]=d}),this}_removeHandlers(){return this.handlers.forEach(i=>i.destroy()),delete this.handlers,this}}return e._originStyleProp=["width","height","position","left","right","top","opacity","zIndex"],e})(),qde='input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle',$de=(()=>{class e extends _v{constructor(i,o={}){super(),this.el=i,this.option=o,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},this._autoScrollTick=()=>{let c=this.helper,d=this._autoScrollContainer;if(!c||!d){this._stopScrolling();return}let v=this._getClipping(c,d);if(v===0){this._stopScrolling();return}if(!this._autoScrollMaxSpeed){let S=window.innerHeight||document.documentElement.clientHeight;this._autoScrollMaxSpeed=Math.max(S/150,4)}let b=Math.abs(v),x=Math.min(b*.5,this._autoScrollMaxSpeed),w=v>0?x:-x,B=d.scrollTop;if(d.scrollTop+=w,d.scrollTop===B){this._stopScrolling();return}this.dragging&&this.lastDrag&&(this._dragFollow(this.lastDrag),this._callDrag(this.lastDrag)),this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick)};let a=o?.handle?.substring(1),n=i.gridstackNode;this.dragEls=!a||i.classList.contains(a)?[i]:n?.subGrid?[i.querySelector(o.handle)||i]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[i]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}getAllHandles(){return Array.from(this.el.querySelectorAll(this.option.handle)).filter(i=>{if(!(i instanceof HTMLElement))return!1;let o=i.closest(".grid-stack-item");return o===this.el||!o})}on(i,o){super.on(i,o)}off(i){super.off(i)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(i=>{i.addEventListener("mousedown",this._mouseDown),po&&(i.addEventListener("touchstart",Ic),i.addEventListener("pointerdown",Mc))}),this.el.classList.remove("ui-draggable-disabled"))}disable(i=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(o=>{o.removeEventListener("mousedown",this._mouseDown),po&&(o.removeEventListener("touchstart",Ic),o.removeEventListener("pointerdown",Mc))}),i||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.option,super.destroy()}updateOption(i){return Object.assign(this.option,i),this}refreshHandles(){let i=this.disabled;i||this.disable(!0);let o=this.option?.handle?.substring(1),a=this.el.gridstackNode;this.dragEls=!o||this.el.classList.contains(o)?[this.el]:a?.subGrid?[this.el.querySelector(this.option.handle)||this.el]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[this.el]),i||this.enable()}_mouseDown(i){return i.isTrusted&&(l5.touchHandled&&(l5.touchHandled=!1),Oe.mouseHandled&&i.timeStamp!==Oe.mouseHandledTimeStamp&&delete Oe.mouseHandled),Oe.mouseHandled||i.button!==0||!this.dragEls.find(o=>o===i.target)&&i.target.closest(qde)||this.option.cancel&&i.target.closest(this.option.cancel)||(this.mouseDownEvent=i,delete this.dragging,delete Oe.dragElement,delete Oe.dropElement,delete this._autoScrollMaxSpeed,delete this._autoScrollContainer,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),po&&i.currentTarget&&(i.currentTarget.addEventListener("touchmove",Tc),i.currentTarget.addEventListener("touchend",Bc)),i.preventDefault(),document.activeElement&&document.activeElement.blur(),Oe.mouseHandled=!0,Oe.mouseHandledTimeStamp=i.timeStamp),!0}_callDrag(i){if(!this.dragging)return;let o=K.initEvent(i,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(o,this.ui()),this.triggerEvent("drag",o)}_mouseMove(i){let o=this.mouseDownEvent;if(this.lastDrag=i,this.dragging)if(this._dragFollow(i),Oe.pauseDrag){let a=Number.isInteger(Oe.pauseDrag)?Oe.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(i),a)}else this._callDrag(i);else if(Math.abs(i.x-o.x)+Math.abs(i.y-o.y)>3){this.dragging=!0,Oe.dragElement=this;let a=this.el.gridstackNode?.grid;a?Oe.dropElement=a.el.ddElement?.ddDroppable:delete Oe.dropElement,this.helper=this._createHelper(),this._setupHelperContainmentStyle(),this.dragTransform=K.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(i,this.el,this.helperContainment),this._setupHelperStyle(i);let n=K.initEvent(i,{target:this.el,type:"dragstart"});this.option.start&&this.option.start(n,this.ui()),this.triggerEvent("dragstart",n),document.addEventListener("keydown",this._keyEvent)}return!0}_mouseUp(i){if(this._stopScrolling(),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),po&&i.currentTarget&&(i.currentTarget.removeEventListener("touchmove",Tc,!0),i.currentTarget.removeEventListener("touchend",Bc,!0)),this.dragging){delete this.dragging,delete this.el.gridstackNode?._origRotate,document.removeEventListener("keydown",this._keyEvent),Oe.dropElement?.el===this.el.parentElement&&delete Oe.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper&&this.helper!==this.el&&this.helper.remove(),this._removeHelperStyle();let o=K.initEvent(i,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(o),this.triggerEvent("dragstop",o),Oe.dropElement&&Oe.dropElement.drop(i)}delete this.helper,delete this.mouseDownEvent,delete Oe.dragElement,delete Oe.dropElement,delete Oe.mouseHandled,delete Oe.mouseHandledTimeStamp,i.preventDefault()}_keyEvent(i){let o=this.el.gridstackNode,a=o?.grid||Oe.dropElement?.el?.gridstack;if(i.key==="Escape")o&&o._origRotate&&(o._orig=o._origRotate,delete o._origRotate),a?.cancelDrag(),this._mouseUp(this.mouseDownEvent);else if(o&&a&&(i.key==="r"||i.key==="R")){if(!K.canBeRotated(o))return;o._origRotate=o._origRotate||Y({},o._orig),delete o._moving,a.setAnimation(!1).rotate(o.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetX}).setAnimation(),o._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,o.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+"px",this.helper.style.height=this.dragOffset.height+"px",K.swap(o._orig,"w","h"),delete o._rect,this._mouseMove(this.lastDrag)}}_createHelper(){let i=this.el;return typeof this.option.helper=="function"?i=this.option.helper(this.el):this.option.helper==="clone"&&(i=K.cloneNode(this.el)),i.parentElement||K.appendTo(i,this.option.appendTo==="parent"?this.el.parentElement:this.option.appendTo??"body"),this.dragElementOriginStyle=e.originStyleProp.map(o=>this.el.style[o]),i}_setupHelperStyle(i){this.helper.classList.add("ui-draggable-dragging"),this.el.gridstackNode?.grid?.el.classList.add("grid-stack-dragging");let o=this.helper.style;return o.pointerEvents="none",o.width=this.dragOffset.width+"px",o.height=this.dragOffset.height+"px",o.willChange="left, right, top",o.position="fixed",this._dragFollow(i),o.transition="none",setTimeout(()=>{this.helper&&(o.transition=null)},0),this}_removeHelperStyle(){if(this.helper.classList.remove("ui-draggable-dragging"),(this.el._gridstackNodeOrig||this.el.gridstackNode)?.grid?.el.classList.remove("grid-stack-dragging"),!this.helper?.gridstackNode?._isAboutToRemove&&this.dragElementOriginStyle){let i=this.helper,o=this.dragElementOriginStyle,a=e.originStyleProp.indexOf("transition"),n=o[a]||null;i.style.transition=o[a]="none";let c=i.style;e.originStyleProp.forEach((d,v)=>c[d]=o[v]||null),setTimeout(()=>i.style.transition=n||"",50)}return delete this.dragElementOriginStyle,this}_dragFollow(i){let o=this.helper.style,a=this.dragOffset;this.option.rtl?(o.right=(window.innerWidth-i.clientX+a.offsetX)*this.dragTransform.xScale+"px",o.left&&(o.left="")):(o.left=(i.clientX+a.offsetX)*this.dragTransform.xScale+"px",o.right&&(o.right="")),o.top=(i.clientY+a.offsetTop)*this.dragTransform.yScale+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!=="fixed"&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(i,o,a){let n=0,c=0;a&&(n=this.dragTransform.xOffset,c=this.dragTransform.yOffset);let d=o.getBoundingClientRect(),v=this.option.rtl?d.right:d.left,b=this.option.rtl?i.clientX-d.right+n:-i.clientX+d.left-n;return{x:v,top:d.top,offsetX:b,offsetTop:-i.clientY+d.top-c,width:d.width*this.dragTransform.xScale,height:d.height*this.dragTransform.yScale}}updateScrollPosition(i){this._autoScrollContainer=K.getScrollElement(i),this._getClipping(this.helper,this._autoScrollContainer)===0?this._stopScrolling():this._autoScrollAnimId||(this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick))}_getClipping(i,o){let a=i.getBoundingClientRect(),n=o.getBoundingClientRect(),c=window.innerHeight||document.documentElement.clientHeight;if(a.bottom<n.top||a.top>n.bottom)return 0;let d=a.bottom-Math.min(n.bottom,c),v=a.top-Math.max(n.top,0);return v<0?v:d>0?d:0}_stopScrolling(){this._autoScrollAnimId&&(cancelAnimationFrame(this._autoScrollAnimId),delete this._autoScrollAnimId)}ui(){let i=this.el.parentElement.getBoundingClientRect(),o=this.helper.getBoundingClientRect(),a=this.option.rtl?(i.right-o.right)*this.dragTransform.xScale:(o.left-i.left)*this.dragTransform.xScale;return{position:{top:(o.top-i.top)*this.dragTransform.yScale,left:a}}}}return e.originStyleProp=["width","height","transform","transform-origin","transition","pointerEvents","position","left","right","top","minWidth","willChange"],e})(),Xde=class extends _v{constructor(e,t={}){super(),this.el=e,this.option=t,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.eventEl=this.el.closest(".grid-stack-item")||this.el,this.enable(),this._setupAccept()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.eventEl.addEventListener("mouseenter",this._mouseEnter),this.eventEl.addEventListener("mouseleave",this._mouseLeave),po&&(this.eventEl.addEventListener("pointerenter",yx),this.eventEl.addEventListener("pointerleave",Ax)))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove("ui-droppable"),e||this.el.classList.add("ui-droppable-disabled"),this.eventEl.removeEventListener("mouseenter",this._mouseEnter),this.eventEl.removeEventListener("mouseleave",this._mouseLeave),po&&(this.eventEl.removeEventListener("pointerenter",yx),this.eventEl.removeEventListener("pointerleave",Ax)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(e){return Object.assign(this.option,e),this._setupAccept(),this}_mouseEnter(e){if(!Oe.dragElement||l5.touchHandled&&e.isTrusted||!this._canDrop(Oe.dragElement.el))return;e.preventDefault(),e.stopPropagation(),Oe.dragElement._stopScrolling(),Oe.dropElement&&Oe.dropElement!==this&&Oe.dropElement._mouseLeave(e,!0),Oe.dropElement=this;let t=K.initEvent(e,{target:this.el,type:"dropover"});this.option.over&&this.option.over(t,this._ui(Oe.dragElement)),this.triggerEvent("dropover",t),this.el.classList.add("ui-droppable-over")}_mouseLeave(e,t=!1){if(!Oe.dragElement||Oe.dropElement!==this)return;e.preventDefault(),e.stopPropagation(),t&&Oe.dragElement._stopScrolling();let i=K.initEvent(e,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(i,this._ui(Oe.dragElement)),this.triggerEvent("dropout",i),Oe.dropElement===this&&(delete Oe.dropElement,!t)){let o,a=this.el.parentElement;for(;!o&&a;)o=a.ddElement?.ddDroppable,a=a.parentElement;o&&o._mouseEnter(e)}}drop(e){e.preventDefault();let t=K.initEvent(e,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(t,this._ui(Oe.dragElement)),this.triggerEvent("drop",t)}_canDrop(e){return e&&(!this.accept||this.accept(e))}_setupAccept(){return this.option.accept?(typeof this.option.accept=="string"?this.accept=e=>e.classList.contains(this.option.accept)||e.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(e){return Y({draggable:e.el},e.ui())}},Kde=class WE{static init(t){return t.ddElement||(t.ddElement=new WE(t)),t.ddElement}constructor(t){this.el=t}on(t,i){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(t)>-1?this.ddDraggable.on(t,i):this.ddDroppable&&["drop","dropover","dropout"].indexOf(t)>-1?this.ddDroppable.on(t,i):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(t)>-1&&this.ddResizable.on(t,i),this}off(t){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(t)>-1?this.ddDraggable.off(t):this.ddDroppable&&["drop","dropover","dropout"].indexOf(t)>-1?this.ddDroppable.off(t):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(t)>-1&&this.ddResizable.off(t),this}setupDraggable(t){return this.ddDraggable?this.ddDraggable.updateOption(t):this.ddDraggable=new $de(this.el,t),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(t){return this.ddResizable?this.ddResizable.updateOption(t):this.ddResizable=new Gde(this.el,t),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(t){return this.ddDroppable?this.ddDroppable.updateOption(t):this.ddDroppable=new Xde(this.el,t),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}},Yde=class{resizable(e,t,i,o){return this._getDDElements(e,typeof t=="string"?t:void 0).forEach(a=>{if(t==="disable"||t==="enable")a.ddResizable&&a.ddResizable[t]();else if(t==="destroy")a.ddResizable&&a.cleanResizable();else if(t==="option")a.setupResizable({[i]:o});else{let n=a.el.gridstackNode.grid,c=a.el.getAttribute("gs-resize-handles")||n.opts.resizable.handles||"e,s,se";c==="all"&&(c="n,e,s,w,se,sw,ne,nw");let d=!n.opts.alwaysShowResizeHandle,v=t;a.setupResizable(He(Y({},n.opts.resizable),{handles:c,autoHide:d,start:v.start,stop:v.stop,resize:v.resize,rtl:v.rtl}))}}),this}draggable(e,t,i,o){return this._getDDElements(e,typeof t=="string"?t:void 0).forEach(a=>{if(t==="disable"||t==="enable")a.ddDraggable&&a.ddDraggable[t]();else if(t==="destroy")a.ddDraggable&&a.cleanDraggable();else if(t==="option")a.setupDraggable({[i]:o});else{let n=a.el.gridstackNode.grid,c=t;a.setupDraggable(He(Y({},n.opts.draggable),{start:c.start,stop:c.stop,drag:c.drag,rtl:c.rtl}))}}),this}dragIn(e,t){return this._getDDElements(e).forEach(i=>i.setupDraggable(t)),this}droppable(e,t,i,o){if(typeof t!="string"){let n=t;typeof n.accept=="function"&&!n._accept&&(n._accept=n.accept,n.accept=c=>n._accept(c))}let a=typeof t=="string"?t:void 0;return this._getDDElements(e,a).forEach(n=>{t==="disable"||t==="enable"?n.ddDroppable&&n.ddDroppable[t]():t==="destroy"?n.ddDroppable&&n.cleanDroppable():t==="option"?n.setupDroppable({[i]:o}):n.setupDroppable(t)}),this}isDroppable(e){return!!(e?.ddElement?.ddDroppable&&!e.ddElement.ddDroppable.disabled)}isDraggable(e){return!!(e?.ddElement?.ddDraggable&&!e.ddElement.ddDraggable.disabled)}isResizable(e){return!!(e?.ddElement?.ddResizable&&!e.ddElement.ddResizable.disabled)}on(e,t,i){return this._getDDElements(e).forEach(o=>o.on(t,a=>{i(a,Oe.dragElement?Oe.dragElement.el:a.target,Oe.dragElement?Oe.dragElement.helper:void 0)})),this}off(e,t){return this._getDDElements(e).forEach(i=>i.off(t)),this}_getDDElements(e,t){let i=e.gridstack||t!=="destroy"&&t!=="disable",o=K.getElements(e);return o.length?o.map(a=>a.ddElement||(i?Kde.init(a):null)).filter(a=>!!a):[]}},xi=new Yde,Kr=(()=>{class e{static init(i={},o=".grid-stack"){if(typeof document>"u")return null;let a=e.getGridElement(o);return a?(a.gridstack||(a.gridstack=new e(a,K.cloneDeep(i))),a.gridstack):(console.error(typeof o=="string"?'GridStack.initAll() no grid was found with selector "'+o+`" - element missing or wrong selector ?
572
572
  Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:"GridStack.init() no grid element was passed."),null)}static initAll(i={},o=".grid-stack"){let a=[];return typeof document>"u"||(e.getGridElements(o).forEach(n=>{n.gridstack||(n.gridstack=new e(n,K.cloneDeep(i))),a.push(n.gridstack)}),a.length===0&&console.error('GridStack.initAll() no grid was found with selector "'+o+`" - element missing or wrong selector ?
573
- Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),a}static addGrid(i,o={}){if(!i)return null;let a=i;if(a.gridstack){let n=a.gridstack;return o&&(n.opts=Y(Y({},n.opts),o)),o.children!==void 0&&n.load(o.children),n}return(!i.classList.contains("grid-stack")||e.addRemoveCB)&&(e.addRemoveCB?a=e.addRemoveCB(i,o,!0,!0):a=K.createDiv(["grid-stack",o.class],i)),e.init(o,a)}static registerEngine(i){e.engineClass=i}get placeholder(){if(!this._placeholder){this._placeholder=K.createDiv([this.opts.placeholderClass,n5.itemClass,this.opts.itemClass]);let i=K.createDiv(["placeholder-content"],this._placeholder);this.opts.placeholderText&&(i.textContent=this.opts.placeholderText)}return this._placeholder}constructor(i,o={}){this.el=i,this.opts=o,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},i.gridstack=this,this.opts=o=o||{},i.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),o.row&&(o.minRow=o.maxRow=o.row,delete o.row);let a=K.toNumber(i.getAttribute("gs-row"));o.column==="auto"&&delete o.column,o.alwaysShowResizeHandle!==void 0&&(o._alwaysShowResizeHandle=o.alwaysShowResizeHandle);let n=o.columnOpts;if(n){let b=n.breakpoints;!n.columnWidth&&!b?.length?delete o.columnOpts:(n.columnMax=n.columnMax||12,b.length>1&&b.sort((x,w)=>(w.w||0)-(x.w||0)))}let c=He(Y({},K.cloneDeep(n5)),{column:K.toNumber(i.getAttribute("gs-column"))||n5.column,minRow:a||K.toNumber(i.getAttribute("gs-min-row"))||n5.minRow,maxRow:a||K.toNumber(i.getAttribute("gs-max-row"))||n5.maxRow,staticGrid:K.toBool(i.getAttribute("gs-static"))||n5.staticGrid,sizeToContent:K.toBool(i.getAttribute("gs-size-to-content"))||void 0,draggable:{handle:(o.handleClass?"."+o.handleClass:o.handle?o.handle:"")||n5.draggable.handle},removableOptions:{accept:o.itemClass||n5.removableOptions.accept,decline:n5.removableOptions.decline}});i.getAttribute("gs-animate")&&(c.animate=K.toBool(i.getAttribute("gs-animate"))),o=K.defaults(o,c),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(o),o.rtl==="auto"&&(o.rtl=i.style.direction==="rtl"),o.rtl&&this.el.classList.add("grid-stack-rtl");let d=this.el.closest("."+n5.itemClass)?.gridstackNode;if(d&&(d.subGrid=this,this.parentGridNode=d,this.el.classList.add("grid-stack-nested"),d.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=o.cellHeight==="auto",this._isAutoCellHeight||o.cellHeight==="initial")this.cellHeight(void 0);else{typeof o.cellHeight=="number"&&o.cellHeightUnit&&o.cellHeightUnit!==n5.cellHeightUnit&&(o.cellHeight=o.cellHeight+o.cellHeightUnit,delete o.cellHeightUnit);let b=o.cellHeight;delete o.cellHeight,this.cellHeight(b)}o.alwaysShowResizeHandle==="mobile"&&(o.alwaysShowResizeHandle=po),this._setStaticClass();let v=o.engineClass||e.engineClass||bp;if(this.engine=new v({column:this.getColumn(),float:o.float,maxRow:o.maxRow,onChange:b=>{b.forEach(x=>{let w=x.el;w&&(x._removeDOM?(w&&w.remove(),delete x._removeDOM):this._writePosAttr(w,x))}),this._updateContainerHeight()}}),o.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(b=>this._prepareElement(b)),delete this.engine._loading,this.batchUpdate(!1)),o.children){let b=o.children;delete o.children,b.length&&this.load(b)}this.setAnimation(),o.subGridDynamic&&!Oe.pauseDrag&&(Oe.pauseDrag=!0),o.draggable?.pause!==void 0&&(Oe.pauseDrag=o.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(i=this.opts){this.el.classList.add("gs-"+i.column),typeof i.column=="number"&&this.el.style.setProperty("--gs-column-width",`${100/i.column}%`)}addWidget(i){if(!i)return;if(typeof i=="string"){console.error("V11: GridStack.addWidget() does not support string anymore. see #2736");return}if(i.ELEMENT_NODE)return console.error("V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()"),this.makeWidget(i);let o,a=i;if(a.grid=this,a.el?o=a.el:e.addRemoveCB?o=e.addRemoveCB(this.el,i,!0,!1):o=this.createWidgetDivs(a),!o)return;if(a=o.gridstackNode,a&&o.parentElement===this.el&&this.engine.nodes.find(c=>c._id===a._id))return o;let n=this._readAttr(o);return K.defaults(i,n),this.engine.prepareNode(i),this.el.appendChild(o),this.makeWidget(o,i),o}createWidgetDivs(i){let o=K.createDiv(["grid-stack-item",this.opts.itemClass]),a=K.createDiv(["grid-stack-item-content"],o);return K.lazyLoad(i)?i.visibleObservable||(i.visibleObservable=new IntersectionObserver(([n])=>{n.isIntersecting&&(i.visibleObservable?.disconnect(),delete i.visibleObservable,e.renderCB(a,i),i.grid?.prepareDragDrop(i.el))}),window.setTimeout(()=>i.visibleObservable?.observe(o))):e.renderCB(a,i),o}makeSubGrid(i,o,a,n=!0){let c=i.gridstackNode;if(c||(c=this.makeWidget(i).gridstackNode),c.subGrid?.el)return c.subGrid;let d,v=this;for(;v&&!d;)d=v.opts?.subGridOpts,v=v.parentGridNode?.grid;o=K.cloneDeep(Y(Y(He(Y({},this.opts),{id:void 0,children:void 0,column:"auto",columnOpts:void 0,layout:"list",subGridOpts:void 0}),d||{}),o||c.subGridOpts||{})),c.subGridOpts=o;let b=!1;o.column==="auto"&&(b=!0,o.column=Math.max(c.w||1,a?.w||1),delete o.columnOpts);let x=c.el.querySelector(".grid-stack-item-content"),w,B;if(n&&(this._removeDD(c.el),B=He(Y({},c),{x:0,y:0}),K.removeInternalForSave(B),delete B.subGridOpts,c.content&&(B.content=c.content,delete c.content),e.addRemoveCB?w=e.addRemoveCB(this.el,B,!0,!1)||void 0:(w=K.createDiv(["grid-stack-item"]),w.appendChild(x),x=K.createDiv(["grid-stack-item-content"],c.el)),this.prepareDragDrop(c.el)),a){let D=b?o.column:c.w,j=c.h+a.h,re=c.el.style;re.transition="none",this.update(c.el,{w:D,h:j}),setTimeout(()=>re.transition="")}let S=c.subGrid=e.addGrid(x,o)||void 0;return a?._moving&&(S._isTemp=!0),b&&(S._autoColumn=!0),n&&S.makeWidget(w,B),a&&(a._moving?window.setTimeout(()=>K.simulateMouseEvent(a._event,"mouseenter",S.el),0):S.makeWidget(c.el,c)),this.resizeToContentCheck(!1,c),S}removeAsSubGrid(i){let o=this.parentGridNode?.grid;if(o&&(o.batchUpdate(),o.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(a=>{a.x=(a.x??0)+(this.parentGridNode.x??0),a.y=(a.y??0)+(this.parentGridNode.y??0),this._removeDD(a.el),a.el.remove(),delete a.el.gridstackNode,o.makeWidget(a.el,a)}),o.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,i)){let a=i.el?.gridstackNode;a&&a!==i&&(a._temporaryRemoved=!0),window.setTimeout(()=>{let n=Oe.dragElement?.lastDrag||i._event;n&&K.simulateMouseEvent(n,"mouseenter",o.el)},0)}}save(i=!0,o=!1,a=e.saveCB,n){let c=this.engine.save(i,a,n);if(c.forEach(d=>{if(i&&d.el&&!d.subGrid&&!a){let v=d.el.querySelector(".grid-stack-item-content");d.content=v?.innerHTML,d.content||delete d.content}else if(!i&&!a&&delete d.content,d.subGrid?.el){let v=d.w||d.subGrid.getColumn(),b=d.subGrid.save(i,o,a,v);d.subGridOpts=o?b:{children:b},delete d.subGrid}delete d.el}),o){let d=K.cloneDeep(this.opts);d.marginBottom===d.marginTop&&d.marginRight===d.marginLeft&&d.marginTop===d.marginRight&&(d.margin=d.marginTop,delete d.marginTop,delete d.marginRight,delete d.marginBottom,delete d.marginLeft),d.rtl===(this.el.style.direction==="rtl")&&(d.rtl="auto"),this._isAutoCellHeight&&(d.cellHeight="auto"),this._autoColumn&&(d.column="auto");let v=d._alwaysShowResizeHandle;return delete d._alwaysShowResizeHandle,v!==void 0?d.alwaysShowResizeHandle=v:delete d.alwaysShowResizeHandle,K.removeInternalAndSame(d,n5),d.children=c,d}return c}load(i,o=e.addRemoveCB||!0){i.forEach(w=>{w.w=w.w||w.minW||1,w.h=w.h||w.minH||1}),i=K.sort(i),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let a=0;i.forEach(w=>{a=Math.max(a,(w.x||0)+w.w)}),a>this.engine.defaultColumn&&(this.engine.defaultColumn=a);let n=this.getColumn();a>n&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=i,this.engine.columnChanged(a,n,this.responseLayout),i=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(i,a,!0));let c=e.addRemoveCB;typeof o=="function"&&(e.addRemoveCB=o);let d=[];this.batchUpdate();let v=!this.engine.nodes.length,b=v&&this.opts.animate;b&&this.setAnimation(!1),!v&&o&&[...this.engine.nodes].forEach(w=>{w.id&&(K.find(i,w.id)||(e.addRemoveCB&&e.addRemoveCB(this.el,w,!1,!1),d.push(w),this.removeWidget(w.el,!0,!1)))}),this.engine._loading=!0;let x=[];return this.engine.nodes=this.engine.nodes.filter(w=>w.id&&K.find(i,w.id)?(x.push(w),!1):!0),i.forEach(w=>{let B=w.id?K.find(x,w.id):void 0;if(B){if(K.shouldSizeToContent(B)&&(w.h=B.h),this.engine.nodeBoundFix(w),(w.autoPosition||w.x===void 0||w.y===void 0)&&(w.w=w.w||B.w,w.h=w.h||B.h,this.engine.findEmptyPosition(w)),this.engine.nodes.push(B),K.samePos(B,w)&&this.engine.nodes.length>1&&(this.moveNode(B,He(Y({},w),{forceCollide:!0})),K.copyPos(w,B)),this.update(B.el,w),w.subGridOpts?.children){let S=B.el.querySelector(".grid-stack");S&&S.gridstack&&S.gridstack.load(w.subGridOpts.children)}}else o&&this.addWidget(w)}),delete this.engine._loading,this.engine.removedNodes=d,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,c?e.addRemoveCB=c:delete e.addRemoveCB,b&&this.setAnimation(!0,!0),this}batchUpdate(i=!0){return this.engine.batchUpdate(i),i||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(i=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!i||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let o=this.el.querySelector("."+this.opts.itemClass);if(o){let n=K.toNumber(o.getAttribute("gs-h"))||1;return Math.round(o.offsetHeight/n)}let a=parseInt(this.el.getAttribute("gs-current-row")||"0");return a?Math.round(this.el.getBoundingClientRect().height/a):this.opts.cellHeight}cellHeight(i){if(i!==void 0&&this._isAutoCellHeight!==(i==="auto")&&(this._isAutoCellHeight=i==="auto",this._updateResizeEvent()),(i==="initial"||i==="auto")&&(i=void 0),i===void 0){let a=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;i=this.cellWidth()+a}let o=K.parseHeight(i);return this.opts.cellHeightUnit===o.unit&&this.opts.cellHeight===o.h?this:(this.opts.cellHeightUnit=o.unit,this.opts.cellHeight=o.h,this.el.style.setProperty("--gs-cell-height",`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(i=!1){return i&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let i=this.opts.columnOpts;if(!i||!i.columnWidth&&!i.breakpoints?.length)return!1;let o=this.getColumn(),a=o,n=this._widthOrContainer(!0);if(i.columnWidth)a=Math.min(Math.round(n/i.columnWidth)||1,i.columnMax);else{a=i.columnMax;let c=0;for(;c<i.breakpoints.length&&n<=i.breakpoints[c].w;)a=i.breakpoints[c++].c||o}if(a!==o){let c=i.breakpoints?.find(d=>d.c===a);return this.column(a,c?.layout||i.layout),!0}return!1}compact(i="compact",o=!0){return this.engine.compact(i,o),this._triggerChangeEvent(),this}column(i,o="moveScale"){if(!i||i<1||this.opts.column===i)return this;let a=this.getColumn();return this.opts.column=i,this.engine?(this.engine.column=i,this.el.classList.remove("gs-"+a),this._updateColumnVar(),this.engine.columnChanged(a,i,o),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=o,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(i=>i.matches("."+this.opts.itemClass)&&!i.matches("."+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(i=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),i?this.el.parentNode.removeChild(this.el):(this.removeAll(i),this.el.removeAttribute("gs-current-row")),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(i){return this.opts.float!==i&&(this.opts.float=this.engine.float=i,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(i,o=!1){let a=this.el.getBoundingClientRect(),n;o?n={top:a.top+document.documentElement.scrollTop,left:a.left}:n={top:this.el.offsetTop,left:this.el.offsetLeft};let c=i.left-n.left,d=i.top-n.top,v=a.width/this.getColumn(),b=a.height/parseInt(this.el.getAttribute("gs-current-row")||"0");return{x:Math.floor(c/v),y:Math.floor(d/b)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(i,o,a,n){return this.engine.isAreaEmpty(i,o,a,n)}makeWidget(i,o){let a=e.getElement(i);if(!a||a.gridstackNode)return a;a.parentElement||this.el.appendChild(a),this._prepareElement(a,!0,o);let n=a.gridstackNode;this._updateContainerHeight(),n.subGridOpts&&this.makeSubGrid(a,n.subGridOpts,void 0,!1);let c=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(c=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),c&&delete this._ignoreLayoutsNodeChange,a}on(i,o){return i.indexOf(" ")!==-1?(i.split(" ").forEach(a=>this.on(a,o)),this):(i==="change"||i==="added"||i==="removed"||i==="enable"||i==="disable"?(i==="enable"||i==="disable"?this._gsEventHandler[i]=a=>o(a):this._gsEventHandler[i]=a=>{a.detail&&o(a,a.detail)},this.el.addEventListener(i,this._gsEventHandler[i])):i==="drag"||i==="dragstart"||i==="dragstop"||i==="resizestart"||i==="resize"||i==="resizestop"||i==="dropped"||i==="resizecontent"?this._gsEventHandler[i]=o:console.error("GridStack.on("+i+") event not supported"),this)}off(i){return i.indexOf(" ")!==-1?(i.split(" ").forEach(o=>this.off(o)),this):((i==="change"||i==="added"||i==="removed"||i==="enable"||i==="disable")&&this._gsEventHandler[i]&&this.el.removeEventListener(i,this._gsEventHandler[i]),delete this._gsEventHandler[i],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(i=>this.off(i)),this}removeWidget(i,o=!0,a=!0){return i?(e.getElements(i).forEach(n=>{if(n.parentElement&&n.parentElement!==this.el)return;let c=n.gridstackNode;c||(c=this.engine.nodes.find(d=>n===d.el)),c&&(o&&e.addRemoveCB&&e.addRemoveCB(this.el,c,!1,!1),delete n.gridstackNode,this._removeDD(n),this.engine.removeNode(c,o,a),o&&n.parentElement&&n.remove())}),a&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error("Error: GridStack.removeWidget(undefined) called"),this)}removeAll(i=!0,o=!0){return this.engine.nodes.forEach(a=>{i&&e.addRemoveCB&&e.addRemoveCB(this.el,a,!1,!1),delete a.el.gridstackNode,this.opts.staticGrid||this._removeDD(a.el)}),this.engine.removeAll(i,o),o&&this._triggerRemoveEvent(),this}setAnimation(i=this.opts.animate,o){return o?setTimeout(()=>{this.opts&&this.setAnimation(i)}):i?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this.opts.animate=i,this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(i,o=!0,a=!0){return!!this.opts.staticGrid===i?this:(i?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&a&&n.subGrid.setStatic(i,o,a)}),o&&this._setStaticClass(),this)}updateOptions(i){let o=this.opts;if(i===o)return this;if(i.acceptWidgets!==void 0&&(o.acceptWidgets=i.acceptWidgets,this._setupAcceptWidget()),i.animate!==void 0&&this.setAnimation(i.animate),i.cellHeight&&this.cellHeight(i.cellHeight),i.class!==void 0&&i.class!==o.class&&(o.class&&this.el.classList.remove(o.class),i.class&&this.el.classList.add(i.class)),i.columnOpts){let a=!!this.opts.columnOpts;this.opts.columnOpts=i.columnOpts,a!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else i.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof i.column=="number"&&this.column(i.column);return i.margin!==void 0&&this.margin(i.margin),i.staticGrid!==void 0&&this.setStatic(i.staticGrid),i.disableDrag!==void 0&&!i.staticGrid&&this.enableMove(!i.disableDrag),i.disableResize!==void 0&&!i.staticGrid&&this.enableResize(!i.disableResize),i.float!==void 0&&this.float(i.float),i.row!==void 0?(o.minRow=o.maxRow=this.engine.maxRow=o.row=i.row,this._updateContainerHeight(),this.engine.getRow()>i.row&&this.compact()):(i.minRow!==void 0&&(o.minRow=i.minRow,this._updateContainerHeight()),i.maxRow!==void 0&&(o.maxRow=this.engine.maxRow=i.maxRow,this.engine.getRow()>i.maxRow&&this.compact())),i.lazyLoad!==void 0&&(o.lazyLoad=i.lazyLoad),i.children?.length&&this.load(i.children),this}update(i,o){return e.getElements(i).forEach(a=>{let n=a?.gridstackNode;if(!n)return;let c=Y(Y({},K.copyPos({},n)),K.cloneDeep(o));this.engine.nodeBoundFix(c),delete c.autoPosition;let d=["x","y","w","h"],v,b=c,x=n;if(d.some(S=>b[S]!==void 0&&b[S]!==x[S])){v={};let S=v;d.forEach(D=>{S[D]=b[D]!==void 0?b[D]:x[D],delete b[D]})}if(!v&&(c.minW||c.minH||c.maxW||c.maxH)&&(v={}),c.content!==void 0){let S=a.querySelector(".grid-stack-item-content");S&&S.textContent!==c.content&&(n.content=c.content,e.renderCB(S,c),n.subGrid?.el&&(S.appendChild(n.subGrid.el),n.subGrid._updateContainerHeight())),delete c.content}let w=!1,B=!1;for(let S in b)S[0]!=="_"&&x[S]!==b[S]&&(x[S]=b[S],w=!0,B=B||!this.opts.staticGrid&&(S==="noResize"||S==="noMove"||S==="locked"));if(K.sanitizeMinMax(n),v){let S=v.w!==void 0&&v.w!==n.w;this.moveNode(n,v),S&&n.subGrid?n.subGrid.onResize(this.hasAnimationCSS()?n.w:void 0):this.resizeToContentCheck(S,n),delete n._orig}(v||w)&&this._writeAttr(a,n),B&&this.prepareDragDrop(n.el),e.updateCB&&e.updateCB(n)}),this}moveNode(i,o){let a=i._updating;a||this.engine.cleanNodes().beginUpdate(i),this.engine.moveNode(i,o),this._updateContainerHeight(),a||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(i){if(!i||(i.classList.remove("size-to-content-max"),!i.clientHeight))return;let o=i.gridstackNode;if(!o)return;let a=o.grid;if(!a||i.parentElement!==a.el)return;let n=a.getCellHeight(!0);if(!n)return;let c=o.h?o.h*n:i.clientHeight,d=null;if(o.resizeToContentParent&&(d=i.querySelector(o.resizeToContentParent)),d||(d=i.querySelector(e.resizeToContentParent)),!d)return;let v=i.clientHeight-d.clientHeight,b=o.h?o.h*n-v:d.clientHeight,x;if(o.subGrid){x=o.subGrid.getRow()*o.subGrid.getCellHeight(!0);let S=o.subGrid.el.getBoundingClientRect(),D=i.getBoundingClientRect();x+=S.top-D.top}else{if(o.subGridOpts?.children?.length)return;{let S=d.firstElementChild;if(!S){console.error(`Error: GridStack.resizeToContent() widget id:${o.id} '${e.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}x=S.getBoundingClientRect().height||b}}if(b===x)return;c+=x-b;let w=Math.ceil(c/n),B=Number.isInteger(o.sizeToContent)?o.sizeToContent:0;B&&w>B&&(w=B,i.classList.add("size-to-content-max")),o.minH&&w<o.minH?w=o.minH:o.maxH&&w>o.maxH&&(w=o.maxH),w!==o.h&&(a._ignoreLayoutsNodeChange=!0,a.moveNode(o,{h:w}),delete a._ignoreLayoutsNodeChange)}resizeToContentCBCheck(i){e.resizeToContentCB?e.resizeToContentCB(i):this.resizeToContent(i)}rotate(i,o){return e.getElements(i).forEach(a=>{let n=a.gridstackNode;if(!n||!K.canBeRotated(n))return;let c={w:n.h,h:n.w,minH:n.minW,minW:n.minH,maxH:n.maxW,maxW:n.maxH};if(o){let b=o.left>0?Math.floor(o.left/this.cellWidth()):0,x=o.top>0?Math.floor(o.top/this.opts.cellHeight):0;c.x=n.x+b-(n.h-(x+1)),c.y=n.y+x-b}let d=c;Object.keys(d).forEach(b=>{d[b]===void 0&&delete d[b]});let v=n._orig;this.update(a,c),n._orig=v}),this}margin(i){if(!(typeof i=="string"&&i.split(" ").length>1)){let o=K.parseHeight(i);if(this.opts.marginUnit===o.unit&&this.opts.margin===o.h)return this}return this.opts.margin=i,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(i){return this.engine.willItFit(i)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let i=this.engine.getDirtyNodes(!0);return i&&i.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(i),this._triggerEvent("change",i)),this.engine.saveInitial(),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(o=>{delete o._dirty});let i=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",i)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let i=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",i)}return this}_triggerEvent(i,o){let a=o?new CustomEvent(i,{bubbles:!1,detail:o}):new Event(i),n=this;for(;n.parentGridNode;)n=n.parentGridNode.grid;return n.el.dispatchEvent(a),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let i=this.parentGridNode,o=this.getRow()+this._extraDragRow,a=this.opts.cellHeight,n=this.opts.cellHeightUnit;if(!a)return this;if(!i&&!this.opts.minRow){let c=K.parseHeight(getComputedStyle(this.el).minHeight);if(c.h>0&&c.unit===n){let d=Math.floor(c.h/a);o<d&&(o=d)}}return this.el.setAttribute("gs-current-row",String(o)),this.el.style.removeProperty("min-height"),this.el.style.removeProperty("height"),o&&(this.el.style[i?"minHeight":"height"]=o*a+n),i&&K.shouldSizeToContent(i)&&i.grid.resizeToContentCBCheck(i.el),this}_prepareElement(i,o=!1,a){a=a||this._readAttr(i),i.gridstackNode=a,a.el=i,a.grid=this,a=this.engine.addNode(a,o),this._writeAttr(i,a),i.classList.add(n5.itemClass,this.opts.itemClass);let n=K.shouldSizeToContent(a);return n?i.classList.add("size-to-content"):i.classList.remove("size-to-content"),n&&this.resizeToContentCheck(!1,a),(!K.lazyLoad(a)||!a.visibleObservable)&&this.prepareDragDrop(a.el),this}_writePosAttr(i,o){if(!o._moving&&!o._resizing||this._placeholder===i){let a=this.opts.rtl?"right":"left",n=i.style;n.top=o.y?o.y===1?"var(--gs-cell-height)":`calc(${o.y} * var(--gs-cell-height))`:null,n[a]=o.x?o.x===1?"var(--gs-column-width)":`calc(${o.x} * var(--gs-column-width))`:null,n.width=o.w>1?`calc(${o.w} * var(--gs-column-width))`:null,n.height=o.h>1?`calc(${o.h} * var(--gs-cell-height))`:null}return i.setAttribute("gs-x",String(o.x??0)),i.setAttribute("gs-y",String(o.y??0)),o.w>1?i.setAttribute("gs-w",String(o.w)):i.removeAttribute("gs-w"),o.h>1?i.setAttribute("gs-h",String(o.h)):i.removeAttribute("gs-h"),this}_writeAttr(i,o){if(!o)return this;this._writePosAttr(i,o);let a={noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",sizeToContent:"gs-size-to-content"},n=o,c=a;for(let d in c)n[d]?i.setAttribute(c[d],String(n[d])):i.removeAttribute(c[d]);return this}_readAttr(i,o=!0){let a={};a.x=K.toNumber(i.getAttribute("gs-x")),a.y=K.toNumber(i.getAttribute("gs-y")),a.w=K.toNumber(i.getAttribute("gs-w")),a.h=K.toNumber(i.getAttribute("gs-h")),a.autoPosition=K.toBool(i.getAttribute("gs-auto-position")),a.noResize=K.toBool(i.getAttribute("gs-no-resize")),a.noMove=K.toBool(i.getAttribute("gs-no-move")),a.locked=K.toBool(i.getAttribute("gs-locked"));let n=i.getAttribute("gs-size-to-content");n&&(n==="true"||n==="false"?a.sizeToContent=K.toBool(n):a.sizeToContent=parseInt(n,10)),a.id=i.getAttribute("gs-id")??void 0,a.maxW=K.toNumber(i.getAttribute("gs-max-w")),a.minW=K.toNumber(i.getAttribute("gs-min-w")),a.maxH=K.toNumber(i.getAttribute("gs-max-h")),a.minH=K.toNumber(i.getAttribute("gs-min-h")),o&&(a.w===1&&i.removeAttribute("gs-w"),a.h===1&&i.removeAttribute("gs-h"),a.maxW&&i.removeAttribute("gs-max-w"),a.minW&&i.removeAttribute("gs-min-w"),a.maxH&&i.removeAttribute("gs-max-h"),a.minH&&i.removeAttribute("gs-min-h"));let c=a;for(let d in c)a.hasOwnProperty(d)&&!c[d]&&c[d]!==0&&d!=="sizeToContent"&&delete c[d];return a}_setStaticClass(){let i=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...i),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...i),this.el.removeAttribute("gs-static")),this}onResize(i=this.el?.clientWidth){if(!i)return this;if(this.prevWidth===i)return this;this.prevWidth=i,this.batchUpdate();let o=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||"list"),o=!0):o=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(a=>{a.subGrid&&a.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(o),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(i=!1,o){if(!this.engine)return;if(i&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,o),this.animationDelay);return}if(o)K.shouldSizeToContent(o)&&this.resizeToContentCBCheck(o.el);else if(this.engine.nodes.some(n=>K.shouldSizeToContent(n))){let n=[...this.engine.nodes];this.batchUpdate(),n.forEach(c=>{K.shouldSizeToContent(c)&&this.resizeToContentCBCheck(c.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let a=this._gsEventHandler.resizecontent;a&&a(new Event("resizecontent"),o?[o]:this.engine.nodes)}_updateResizeEvent(i=!1){let o=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(a=>a.sizeToContent));return!i&&o&&!this.resizeObserver?(this._sizeThrottle=K.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(i||!o)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(i=".grid-stack-item"){return K.getElement(i)}static getElements(i=".grid-stack-item"){return K.getElements(i)}static getGridElement(i){return e.getElement(i)}static getGridElements(i){return K.getElements(i)}_initMargin(){let i={h:0,unit:"px"},o=0,a=[];typeof this.opts.margin=="string"&&(a=this.opts.margin.split(" ")),a.length===2?(this.opts.marginTop=this.opts.marginBottom=a[0],this.opts.marginLeft=this.opts.marginRight=a[1]):a.length===4?(this.opts.marginTop=a[0],this.opts.marginRight=a[1],this.opts.marginBottom=a[2],this.opts.marginLeft=a[3]):(i=K.parseHeight(this.opts.margin),this.opts.marginUnit=i.unit,o=this.opts.margin=i.h);let n=["marginTop","marginRight","marginBottom","marginLeft"],c=this.opts;n.forEach(v=>{c[v]===void 0?c[v]=o:(i=K.parseHeight(c[v]),c[v]=i.h,delete this.opts.margin)}),this.opts.marginUnit=i.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let d=this.el.style;return d.setProperty("--gs-item-margin-top",`${this.opts.marginTop}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-bottom",`${this.opts.marginBottom}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-right",`${this.opts.marginRight}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-left",`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return xi}static setupDragIn(i,o,a,n=document){o?.pause!==void 0&&(Oe.pauseDrag=o.pause),o=Y({appendTo:"body",helper:"clone"},o||{}),(typeof i=="string"?K.getElements(i,n):i).forEach((c,d)=>{xi.isDraggable(c)||xi.dragIn(c,o),a?.[d]&&(c.gridstackNode=a[d])})}movable(i,o){return this.opts.staticGrid?this:(e.getElements(i).forEach(a=>{let n=a.gridstackNode;n&&(o?delete n.noMove:n.noMove=!0,this.prepareDragDrop(n.el))}),this)}resizable(i,o){return this.opts.staticGrid?this:(e.getElements(i).forEach(a=>{let n=a.gridstackNode;n&&(o?delete n.noResize:n.noResize=!0,this.prepareDragDrop(n.el))}),this)}disable(i=!0){return this.opts.staticGrid?this:(this.enableMove(!1,i),this.enableResize(!1,i),this._triggerEvent("disable"),this)}enable(i=!0){return this.opts.staticGrid?this:(this.enableMove(!0,i),this.enableResize(!0,i),this._triggerEvent("enable"),this)}enableMove(i,o=!0){return this.opts.staticGrid?this:(i?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(a=>{this.prepareDragDrop(a.el),a.subGrid&&o&&a.subGrid.enableMove(i,o)}),this)}enableResize(i,o=!0){return this.opts.staticGrid?this:(i?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(a=>{this.prepareDragDrop(a.el),a.subGrid&&o&&a.subGrid.enableResize(i,o)}),this)}cancelDrag(){let i=Oe.dragElement?.el;if(i?._gridstackNodeOrig){let a=i._gridstackNodeOrig,n=a.grid,c=this._placeholder?.gridstackNode;c&&(c._isAboutToRemove=!0,this.engine.removeNode(c)),this.engine.restoreInitial(),i.gridstackNode=a,delete i._gridstackNodeOrig,delete Oe.dropElement,n&&(n.engine.addNode(a,!1),n.engine.restoreInitial());return}let o=this._placeholder?.gridstackNode;o&&(o._isExternal?(o._isAboutToRemove=!0,this.engine.removeNode(o)):o._isAboutToRemove&&e._itemRemoving(o.el,!1),this.engine.restoreInitial())}_removeDD(i){return xi.draggable(i,"destroy").resizable(i,"destroy"),i.gridstackNode&&delete i.gridstackNode._initDD,delete i.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return xi.droppable(this.el,"destroy"),this;let i,o,a=(n,c,d)=>{d=d||c;let v=d.gridstackNode;if(!v)return;if(!v.grid?.el){d.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let S=d.getBoundingClientRect();d.style.left=S.x+(this.dragTransform.xScale-1)*(n.clientX-S.x)/this.dragTransform.xScale+"px",d.style.top=S.y+(this.dragTransform.yScale-1)*(n.clientY-S.y)/this.dragTransform.yScale+"px",d.style.transformOrigin="0px 0px"}let{top:b,left:x}=d.getBoundingClientRect(),w=this.el.getBoundingClientRect();x-=w.left,b-=w.top;let B={position:{top:b*this.dragTransform.xScale,left:x*this.dragTransform.yScale}};if(v._temporaryRemoved){if(v.x=Math.max(0,Math.round(x/o)),v.y=Math.max(0,Math.round(b/i)),delete v.autoPosition,this.engine.nodeBoundFix(v),!this.engine.willItFit(v)){if(v.autoPosition=!0,!this.engine.willItFit(v)){xi.off(c,"drag");return}v._willFitPos&&(K.copyPos(v,v._willFitPos),delete v._willFitPos)}this._onStartMoving(d,n,B,v,o,i)}else this._dragOrResize(d,n,B,v,o,i)};return xi.droppable(this.el,{accept:n=>{let c=n.gridstackNode||this._readAttr(n,!1);if(c?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let d=!0;if(typeof this.opts.acceptWidgets=="function")d=this.opts.acceptWidgets(n);else{let v=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;d=n.matches(v)}if(d&&c&&this.opts.maxRow){let v={w:c.w,h:c.h,minW:c.minW,minH:c.minH};d=this.engine.willItFit(v)}return d}}).on(this.el,"dropover",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;if(v?.grid===this&&!v._temporaryRemoved)return!1;if(v?._sidebarOrig&&(v.w=v._sidebarOrig.w,v.h=v._sidebarOrig.h),v?.grid&&v.grid!==this&&!v._temporaryRemoved&&v.grid._leave(c,d),d=d||c,o=this.cellWidth(),i=this.getCellHeight(!0),!v){let w=d.getAttribute("data-gs-widget")||d.getAttribute("gridstacknode");if(w){try{v=JSON.parse(w)}catch{console.error("Gridstack dropover: Bad JSON format: ",w)}d.removeAttribute("data-gs-widget"),d.removeAttribute("gridstacknode")}v||(v=this._readAttr(d)),v._sidebarOrig={w:v.w,h:v.h}}v.grid||(v.el||(v=Y({},v)),v._isExternal=!0,d.gridstackNode=v);let b=v.w||Math.round(d.offsetWidth/o)||1,x=v.h||Math.round(d.offsetHeight/i)||1;return v.grid&&v.grid!==this?(c._gridstackNodeOrig||(c._gridstackNodeOrig=v),c.gridstackNode=v=He(Y({},v),{w:b,h:x,grid:this}),delete v.x,delete v.y,this.engine.cleanupNode(v).nodeBoundFix(v),v._initDD=v._isExternal=v._temporaryRemoved=!0):(v.w=b,v.h=x,v._temporaryRemoved=!0),e._itemRemoving(v.el,!1),xi.on(c,"drag",a),a(n,c,d),!1}).on(this.el,"dropout",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;return v&&(!v.grid||v.grid===this)&&(this._leave(c,d),this._isTemp&&this.removeAsSubGrid(v)),!1}).on(this.el,"drop",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;if(v?.grid===this&&!v._isExternal)return!1;let b=!!this.placeholder.parentElement,x=c!==d;this.placeholder.remove(),delete this.placeholder.gridstackNode,b&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let w=c._gridstackNodeOrig;if(delete c._gridstackNodeOrig,b&&w?.grid&&w.grid!==this){let S=w.grid;S.engine.removeNodeFromLayoutCache(w),S.engine.removedNodes.push(w),S._triggerRemoveEvent()._triggerChangeEvent(),S.parentGridNode&&!S.engine.nodes.length&&S.opts.subGridDynamic&&S.removeAsSubGrid()}if(!v||(b&&(this.engine.cleanupNode(v),v.grid=this),delete v.grid?._isTemp,xi.off(c,"drag"),d&&d!==c?(d.remove(),c=d):c.remove(),this._removeDD(c),!b))return!1;let B=v.subGrid?.el?.gridstack;return K.copyPos(v,this._readAttr(this.placeholder)),K.removePositioningStyles(c),x&&(v.content||v.subGridOpts||e.addRemoveCB)?(delete v.el,c=this.addWidget(v)||c):(this._prepareElement(c,!0,v),this.el.appendChild(c),this.resizeToContentCheck(!1,v),B&&(B.parentGridNode=v),this._updateContainerHeight()),this.engine.addedNodes.push(v),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(He(Y({},n),{type:"dropped"}),w&&w.grid?w:void 0,v),!1}),this}static _itemRemoving(i,o){if(!i)return;let a=i?i.gridstackNode:void 0;!a?.grid||i.classList.contains(a.grid.opts.removableOptions.decline)||(o?a._isAboutToRemove=!0:delete a._isAboutToRemove,o?i.classList.add("grid-stack-item-removing"):i.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let i=document.querySelector(this.opts.removable);return i?(!this.opts.staticGrid&&!xi.isDroppable(i)&&xi.droppable(i,this.opts.removableOptions).on(i,"dropover",(o,a)=>e._itemRemoving(a,!0)).on(i,"dropout",(o,a)=>e._itemRemoving(a,!1)),this):this}refreshDragHandles(i){return e.getElements(i).forEach(o=>{o.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(i,o=!1){let a=i?.gridstackNode;if(!a)return this;let n=a.noMove||this.opts.disableDrag,c=a.noResize||this.opts.disableResize,d=this.opts.staticGrid||n&&c;if((o||d)&&(a._initDD&&(this._removeDD(i),delete a._initDD),d))return i.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!a._initDD){let v,b,x=(S,D)=>{this.triggerEvent(S,S.target),v=this.cellWidth(),b=this.getCellHeight(!0),this._onStartMoving(i,S,D,a,v,b)},w=(S,D)=>{this._dragOrResize(i,S,D,a,v,b)},B=S=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete a._moving,delete a._resizing,delete a._event,delete a._lastTried;let D=a.w!==a._orig.w,j=S.target;if(!(!j.gridstackNode||j.gridstackNode.grid!==this)){if(a.el=j,a._isAboutToRemove){let re=i.gridstackNode.grid;re._gsEventHandler[S.type]&&re._gsEventHandler[S.type](S,j),re.engine.nodes.push(a),re.removeWidget(i,!0,!0)}else K.removePositioningStyles(j),a._temporaryRemoved?(this._writePosAttr(j,a),this.engine.addNode(a)):this._writePosAttr(j,a),this.triggerEvent(S,j);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),S.type==="resizestop"&&(Number.isInteger(a.sizeToContent)&&(a.sizeToContent=a.h),this.resizeToContentCheck(D,a))}};xi.draggable(i,{start:x,stop:B,drag:w,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}).resizable(i,{start:x,stop:B,resize:w,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}),a._initDD=!0}return xi.draggable(i,n?"disable":"enable").resizable(i,c?"disable":"enable"),this}_onStartMoving(i,o,a,n,c,d){if(this.engine.cleanNodes().beginUpdate(n),this._writePosAttr(this.placeholder,n),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=n,n.grid?.el)this.dragTransform=K.getValuesFromTransformedElement(i);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let v=this.placeholder.closest(".grid-stack");this.dragTransform=K.getValuesFromTransformedElement(v)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(n.el=this.placeholder,n._lastUiPosition=a.position,n._prevYPix=a.position.top,n._moving=o.type==="dragstart",n._resizing=o.type==="resizestart",delete n._lastTried,o.type==="dropover"&&n._temporaryRemoved&&(this.engine.addNode(n),n._moving=!0),this.engine.cacheRects(c,d,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),o.type==="resizestart"){let v=this.getColumn()-n.x,b=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-n.y;xi.resizable(i,"option","minWidth",c*Math.min(n.minW||1,v)).resizable(i,"option","minHeight",d*Math.min(n.minH||1,b)).resizable(i,"option","maxWidth",c*Math.min(n.maxW||Number.MAX_SAFE_INTEGER,v)).resizable(i,"option","maxWidthMoveLeft",c*Math.min(n.maxW||Number.MAX_SAFE_INTEGER,n.x+n.w)).resizable(i,"option","maxHeight",d*Math.min(n.maxH||Number.MAX_SAFE_INTEGER,b)).resizable(i,"option","maxHeightMoveUp",d*Math.min(n.maxH||Number.MAX_SAFE_INTEGER,n.y+n.h))}}_dragOrResize(i,o,a,n,c,d){let v=Y({},n._orig),b=!1,x=this.opts.marginLeft,w=this.opts.marginRight,B=this.opts.marginTop,S=this.opts.marginBottom,D=Math.round(d*.1),j=Math.round(c*.1);if(x=Math.min(x,j),w=Math.min(w,j),B=Math.min(B,D),S=Math.min(S,D),o.type==="drag"){if(n._temporaryRemoved)return;n._prevYPix=a.position.top,this.opts.draggable.scroll!==!1&&Oe.dragElement?.updateScrollPosition(this.el);let V=a.position.left+(a.position.left>n._lastUiPosition.left?-w:x),ce=a.position.top+(a.position.top>n._lastUiPosition.top?-S:B);v.x=Math.round(V/c),v.y=Math.round(ce/d);let de=this._extraDragRow;if(this.engine.collide(n,v)){let be=this.getRow(),ie=Math.max(0,v.y+n.h-be);this.opts.maxRow&&be+ie>this.opts.maxRow&&(ie=Math.max(0,this.opts.maxRow-be)),this._extraDragRow=ie}else this._extraDragRow=0;if(this._extraDragRow!==de&&this._updateContainerHeight(),n.x===v.x&&n.y===v.y)return}else if(o.type==="resize"){if((v.x??0)<0||(K.updateScrollResize(o,i,d),v.w=Math.round((a.size.width-x)/c),v.h=Math.round((a.size.height-B)/d),n.w===v.w&&n.h===v.h)||n._lastTried&&n._lastTried.w===v.w&&n._lastTried.h===v.h)return;if(o.hasMovedX){let V=a.position.left+x;v.x=Math.round(V/c)}if(o.hasMovedY){let V=a.position.top+B;v.y=Math.round(V/d)}b=!0}n._event=o,n._lastTried=v;let re={x:a.position.left+x,y:a.position.top+B,w:(a.size?a.size.width:n.w*c)-x-w,h:(a.size?a.size.height:n.h*d)-B-S};if(this.engine.moveNodeCheck(n,He(Y({},v),{cellWidth:c,cellHeight:d,rect:re,resizing:b}))){n._lastUiPosition=a.position,this.engine.cacheRects(c,d,B,w,S,x),delete n._skipDown,b&&n.subGrid&&n.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let V=o.target;n._sidebarOrig||this._writePosAttr(V,n),this.triggerEvent(o,V)}}triggerEvent(i,o){let a=this;for(;a.parentGridNode;)a=a.parentGridNode.grid;a._gsEventHandler[i.type]&&a._gsEventHandler[i.type](i,o)}_leave(i,o){o=o||i;let a=o.gridstackNode;if(!a||(o.style.transform=o.style.transformOrigin="",xi.off(i,"drag"),a._temporaryRemoved))return;a._temporaryRemoved=!0,this.engine.removeNode(a),a.el=a._isExternal&&o?o:i;let n=a._sidebarOrig;a._isExternal&&this.engine.cleanupNode(a),a._sidebarOrig=n,this.opts.removable===!0&&e._itemRemoving(i,!0),i._gridstackNodeOrig?(i.gridstackNode=i._gridstackNodeOrig,delete i._gridstackNodeOrig):a._isExternal&&this.engine.restoreInitial()}}return e.renderCB=(t,i)=>{t&&i?.content&&(t.textContent=i.content)},e.resizeToContentParent=".grid-stack-item-content",e.Utils=K,e.Engine=bp,e.GDRev="13.0.1",e})(),GE=["container"],Qde=["*"];function Jde(e,t){}var eue=["*",[["","empty-content",""]]],tue=["*","[empty-content]"];function iue(e,t){e&1&&Wt(0,1,["*ngIf","isEmpty"])}function oue(e,t){}var vv=(()=>{class e{constructor(i){this.elementRef=i,this.el._gridItemComp=this}set options(i){let o=this.el.gridstackNode?.grid;o?o.update(this.el,i):this._options=He(Y({},i),{el:this.el})}get options(){return this.el.gridstackNode||this._options||{el:this.el}}get el(){return this.elementRef.nativeElement}clearOptions(){delete this._options}ngOnDestroy(){this.clearOptions(),delete this.childWidget,delete this.el._gridItemComp,delete this.container,delete this.ref}}return e.\u0275fac=function(t){return new(t||e)(N1(gt))},e.\u0275cmp=Ye({type:e,selectors:[["gridstack-item"]],viewQuery:function(t,i){if(t&1&&B_(GE,7,tr),t&2){let o;gu(o=fu())&&(i.container=o.first)}},inputs:{options:"options"},ngContentSelectors:Qde,decls:5,vars:1,consts:[["container",""],[1,"grid-stack-item-content"]],template:function(t,i){t&1&&(Yt(),I_(0,"div",1),KT(1,Jde,0,0,"ng-template",null,0,gB),Wt(3),Se(4),T_()),t&2&&(P(4),t0(" ",i.options.content," "))},styles:["[_nghost-%COMP%]{display:block}"]}),e})(),Cp=(()=>{class e{constructor(i){this.elementRef=i,this.addedCB=new x1,this.changeCB=new x1,this.disableCB=new x1,this.dragCB=new x1,this.dragStartCB=new x1,this.dragStopCB=new x1,this.droppedCB=new x1,this.enableCB=new x1,this.removedCB=new x1,this.resizeCB=new x1,this.resizeStartCB=new x1,this.resizeStopCB=new x1,Kr.addRemoveCB||(Kr.addRemoveCB=aue),Kr.saveCB||(Kr.saveCB=rue),Kr.updateCB||(Kr.updateCB=nue),this.el._gridComp=this}set options(i){this._grid?this._grid.updateOptions(i):this._options=i}get options(){return this._grid?.opts||this._options||{}}get el(){return this.elementRef.nativeElement}get grid(){return this._grid}static registerComponents(i){i.forEach(o=>e.componentMap[e.getSelector(o)]=o)}static getSelector(i){return AB(i).selector}ngOnInit(){this.loaded=!!this.options?.children?.length,this._grid=Kr.init(this._options,this.el),delete this._options,this.checkEmpty()}ngAfterContentInit(){this._sub=this.gridstackItems?.changes.subscribe(()=>this.updateAll()),this.loaded||this.updateAll(),this.hookEvents(this.grid)}ngOnDestroy(){this.unhookEvents(this._grid),this._sub?.unsubscribe(),this._grid?.destroy(),delete this._grid,delete this.el._gridComp,delete this.container,delete this.ref}updateAll(){if(!this.grid)return;let i=[];this.gridstackItems?.forEach(o=>{i.push(o.options),o.clearOptions()}),this.grid.load(i)}checkEmpty(){this.grid&&(this.isEmpty=!this.grid.engine.nodes.length)}hookEvents(i){i&&(i.parentGridNode||i.on("added",(o,a)=>{(a[0].grid?.el._gridComp||this).checkEmpty(),this.addedCB.emit({event:o,nodes:a})}).on("change",(o,a)=>this.changeCB.emit({event:o,nodes:a})).on("disable",o=>this.disableCB.emit({event:o})).on("drag",(o,a)=>this.dragCB.emit({event:o,el:a})).on("dragstart",(o,a)=>this.dragStartCB.emit({event:o,el:a})).on("dragstop",(o,a)=>this.dragStopCB.emit({event:o,el:a})).on("dropped",(o,a,n)=>this.droppedCB.emit({event:o,previousNode:a,newNode:n})).on("enable",o=>this.enableCB.emit({event:o})).on("removed",(o,a)=>{(a[0].grid?.el._gridComp||this).checkEmpty(),this.removedCB.emit({event:o,nodes:a})}).on("resize",(o,a)=>this.resizeCB.emit({event:o,el:a})).on("resizestart",(o,a)=>this.resizeStartCB.emit({event:o,el:a})).on("resizestop",(o,a)=>this.resizeStopCB.emit({event:o,el:a})))}unhookEvents(i){i&&(i.parentGridNode||i.off("added change disable drag dragstart dragstop dropped enable removed resize resizestart resizestop"))}}return e.componentMap={},e.\u0275fac=function(t){return new(t||e)(N1(gt))},e.\u0275cmp=Ye({type:e,selectors:[["gridstack"]],contentQueries:function(t,i,o){if(t&1&&eB(o,vv,4),t&2){let a;gu(a=fu())&&(i.gridstackItems=a)}},viewQuery:function(t,i){if(t&1&&B_(GE,7,tr),t&2){let o;gu(o=fu())&&(i.container=o.first)}},inputs:{options:"options",isEmpty:"isEmpty"},outputs:{addedCB:"addedCB",changeCB:"changeCB",disableCB:"disableCB",dragCB:"dragCB",dragStartCB:"dragStartCB",dragStopCB:"dragStopCB",droppedCB:"droppedCB",enableCB:"enableCB",removedCB:"removedCB",resizeCB:"resizeCB",resizeStartCB:"resizeStartCB",resizeStopCB:"resizeStopCB"},ngContentSelectors:tue,decls:4,vars:1,consts:[["container",""],[4,"ngIf"]],template:function(t,i){t&1&&(Yt(eue),XT(0,iue,1,0,"ng-content",1)(1,oue,0,0,"ng-template",null,0,gB),Wt(3)),t&2&&me("ngIf",i.isEmpty)},dependencies:[J$],styles:["[_nghost-%COMP%]{display:block}"]}),e})();function aue(e,t,i,o){if(i){if(!e)return;if(o){let a=e.parentElement?._gridItemComp;if(!a)return;let n=(a.childWidget?.container||a.container)?.createComponent(Cp),c=n?.instance;return c?(c.ref=n,c.options=t,c.el):void 0}else{let a=e._gridComp?.container?.createComponent(vv),n=a?.instance;if(!n)return;n.ref=a;let c=t.component,d=c?Cp.componentMap[c]:void 0;if(d){let v=()=>{let b=n.container?.createComponent(d),x=b?.instance;x&&typeof x.serialize=="function"&&typeof x.deserialize=="function"&&(n.childWidget=x,x._compRef=b,x.deserialize(t))};t.lazyLoad||t.grid?.opts?.lazyLoad&&t.lazyLoad!==!1?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([b])=>{b.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,v(),t.grid?.refreshDragHandles(n.el))}),window.setTimeout(()=>t.visibleObservable?.observe(n.el))):(v(),t.grid?.refreshDragHandles(n.el))}return n.el}}else if(o){let a=t.el?._gridComp;a?.ref?a.ref.destroy():a?.ngOnDestroy()}else{let a=t.el?._gridItemComp;a?.ref?a.ref.destroy():a?.ngOnDestroy()}}function rue(e,t){let i=e.el?._gridItemComp;if(i){let a=i.childWidget?.serialize();a&&(t.props=a);return}let o=e.el?._gridComp}function nue(e){let t=e,i=e.el?._gridItemComp;i?.childWidget&&t.props&&i.childWidget.deserialize(t)}var sue=["grid"],lue=["editCardsBtn"],cue=[[["","slot","dashboard-subheader"]]],hue=["[slot=dashboard-subheader]"],xx=(e,t)=>t.id,qE=(e,t)=>t.action;function due(e,t){if(e&1&&(G(0,"ui5-title",8),r1(1,"span",23),X()),e&2){let i=U();P(),me("innerHTML",i.safeTitle(),WI)}}function uue(e,t){if(e&1&&(G(0,"div",9),r1(1,"ui5-icon",24),G(2,"span",25),Se(3),X()()),e&2){let i=U();P(),me("accessibleName",i.i18n.getTranslation(i.i18nKeys.UNSAVED_CHANGES)),P(2),nt(i.i18n.getTranslation(i.i18nKeys.UNSAVED_CHANGES))}}function pue(e,t){if(e&1&&(G(0,"ui5-title",10),r1(1,"span",26),X()),e&2){let i=U();P(),me("innerHTML",i.safeDescription(),WI)}}function _ue(e,t){if(e&1){let i=ut();G(0,"ui5-button",27,1),ye("click",function(){Ze(i);let o=U();return Le(o.openCardPanel())}),Se(2),X()}if(e&2){let i=U();me("accessibleName",i.editCardsButton().text||i.editCardsButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_CARDS))("design",i.editCardsButton().design)("icon",i.editCardsButton().icon)("tooltip",i.editCardsButton().tooltip),P(2),nt(i.editCardsButton().text)}}function vue(e,t){e&1&&r1(0,"ui5-menu-separator")}function mue(e,t){if(e&1&&(r1(0,"ui5-menu-item",31),$e(1,vue,1,0,"ui5-menu-separator")),e&2){let i=U(2);me("icon",i.editViewButton().icon)("text",i.editViewButton().text||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW)),P(),Xe(i.customActions().length?1:-1)}}function gue(e,t){if(e&1&&r1(0,"ui5-menu-item",30),e&2){let i=t.$implicit;me("icon",i.icon??"")("text",i.text??""),st("data-action",i.action)("data-testid","dashboard-action-"+i.action)}}function fue(e,t){if(e&1&&r1(0,"ui5-menu-separator")(1,"ui5-menu-item",31),e&2){let i=U(2);P(),me("icon",i.editViewButton().icon)("text",i.editViewButton().text||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))}}function bue(e,t){if(e&1){let i=ut();G(0,"ui5-button",28,2),ye("click",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.update(a=>!a))}),X(),G(2,"ui5-menu",29),ye("ui5Close",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.set(!1))})("ui5ItemClick",function(o){Ze(i);let a=U();return Le(a.onMenuItemClick(o.detail.item.dataset.action,o))})("ui5Open",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.set(!0))}),$e(3,mue,2,3),z0(4,gue,1,4,"ui5-menu-item",30,qE),$e(6,fue,2,2),X()}if(e&2){let i=E_(1),o=U();me("accessibleName",o.i18n.getTranslation(o.i18nKeys.ACTIONS))("tooltip",o.i18n.getTranslation(o.i18nKeys.ACTIONS)),P(2),me("open",o.toolbarMenuOpen())("opener",i.element),P(),Xe(o.config().editButtonFirst&&o.config().editable?3:-1),P(),F0(o.customActions()),P(2),Xe(!o.config().editButtonFirst&&o.config().editable?6:-1)}}function Cue(e,t){if(e&1){let i=ut();G(0,"ui5-button",34),ye("click",function(){Ze(i);let o=U(2);return Le(o.enterEditMode())}),Se(1),X()}if(e&2){let i=U(2);me("accessibleName",i.editViewButton().text||i.editViewButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))("design",i.editViewButton().design)("icon",i.editViewButton().icon)("tooltip",i.editViewButton().tooltip),P(),nt(i.editViewButton().text)}}function wue(e,t){if(e&1){let i=ut();G(0,"ui5-button",35),ye("click",function(o){let a=Ze(i).$implicit,n=U(2);return Le(n.actionButtonClick.emit({event:o,action:a}))}),Se(1),X()}if(e&2){let i=t.$implicit;me("accessibleName",i.text||i.tooltip||i.action)("design",i.design??"Default")("endIcon",i==null?null:i.endIcon)("icon",i.icon??"")("tooltip",i.tooltip??""),st("data-testid","dashboard-action-"+i.action),P(),nt(i.text)}}function yue(e,t){if(e&1){let i=ut();G(0,"ui5-button",34),ye("click",function(){Ze(i);let o=U(2);return Le(o.enterEditMode())}),Se(1),X()}if(e&2){let i=U(2);me("accessibleName",i.editViewButton().text||i.editViewButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))("design",i.editViewButton().design)("icon",i.editViewButton().icon)("tooltip",i.editViewButton().tooltip),P(),nt(i.editViewButton().text)}}function Aue(e,t){if(e&1&&($e(0,Cue,2,5,"ui5-button",32),z0(1,wue,2,7,"ui5-button",33,qE),$e(3,yue,2,5,"ui5-button",32)),e&2){let i=U();Xe(i.config().editButtonFirst&&i.config().editable?0:-1),P(),F0(i.customActions()),P(2),Xe(!i.config().editButtonFirst&&i.config().editable?3:-1)}}function xue(e,t){if(e&1){let i=ut();G(0,"mfp-dashboard-section",36),ye("removeCard",function(o){Ze(i);let a=U();return Le(a.removeCard(o))})("removeSection",function(){let o=Ze(i).$implicit,a=U();return Le(a.removeSection(o.id))}),X()}if(e&2){let i=t.$implicit,o=U();me("cards",o.sectionCards()(i.id))("editMode",o.editMode())("section",i)}}function Sue(e,t){if(e&1&&r1(0,"div",37),e&2){let i=U();k_(i.dragOriginStyle())}}function Iue(e,t){if(e&1){let i=ut();G(0,"gridstack-item",18)(1,"mfp-dashboard-card",38),ye("removeCard",function(){let o=Ze(i).$implicit,a=U();return Le(a.removeCard(o.id))}),X()()}if(e&2){let i=t.$implicit,o=U();me("options",i),P(),me("card",i)("editMode",o.editMode())}}function Tue(e,t){if(e&1){let i=ut();G(0,"div",19)(1,"ui5-button",39),ye("click",function(){Ze(i);let o=U();return Le(o.saveEdit())}),Se(2),X(),G(3,"ui5-button",40),ye("click",function(){Ze(i);let o=U();return Le(o.cancelEdit())}),Se(4),X()()}if(e&2){let i=U();P(2),nt(i.i18n.getTranslation(i.i18nKeys.SAVE)),P(2),nt(i.i18n.getTranslation(i.i18nKeys.CANCEL))}}document.body.classList.add("ui5-content-density-compact");var Npe=class wp{static registerAngularComponents(t){phe(t)}hostEl=ne(gt);injector=ne(xt);sanitizer=ne(kB);i18n=ne(In);config=Z.required();sections=dA([]);cards=dA([]);availableCards=Z([]);language=Z("en");saved=ve();actionButtonClick=ve();unsavedChangesChange=ve();i18nKeys=Y2;gridDirty=Nt(!1);isXLPage=Nt(!0);editMode=Nt(!1);compactToolbar=Nt(!1);toolbarMenuOpen=Nt(!1);cardDialogOpen=Nt(!1);discardDialogOpen=Nt(!1);unsavedNavDialogOpen=Nt(!1);backgroundImageHeight=Nt(null);dragOriginStyle=Nt(null);hasUnsavedChanges=Ee(()=>this.editMode()?this.gridDirty()?!0:JSON.stringify(this.sections())!==this.sectionsSnapshotJson||JSON.stringify(this.cards())!==this.cardsSnapshotJson:!1);safeTitle=Ee(()=>{let t=this.sanitizer.sanitize(ho.HTML,this.config().title)??"";return this.sanitizer.bypassSecurityTrustHtml(t)});safeDescription=Ee(()=>{let t=this.config().description;if(!t)return null;let i=this.sanitizer.sanitize(ho.HTML,t)??"";return this.sanitizer.bypassSecurityTrustHtml(i)});engineProfile=Ee(()=>this.config().zFlow?wx.zFlow:wx.default);gridStackEngine=Ee(()=>this.engineProfile().engineClass);gridBreakpoints=Ee(()=>[...this.engineProfile().breakpoints]);columnVars=Ee(()=>{let[t,i,o,a]=this.engineProfile().sectionColumns;return{"--dashboard-cols-sm":t,"--dashboard-cols-md":i,"--dashboard-cols-lg":o,"--dashboard-cols-xl":a}});customActions=Ee(()=>this.config().customActions??[]);addedCardsIds=Ee(()=>new Set(this.cards().map(t=>t.id)));editViewButton=Ee(()=>Y({icon:"action-settings",design:"Transparent",tooltip:this.i18n.getTranslation(Y2.EDIT_VIEW),text:""},this.config().buttonsSettings?.editViewButton));editCardsButton=Ee(()=>Y({icon:"",design:"Default",tooltip:"",text:this.i18n.getTranslation(Y2.EDIT_CARDS)},this.config().buttonsSettings?.editCardsButton));sectionCards=Ee(()=>{let t=this.cards();return i=>t.filter(o=>o.sectionId===i)});looseCards=yu(()=>{let t=this.cards().filter(o=>!o.sectionId),i=this.config().zFlow?.cardHeight;return!this.engineProfile().fixedCardHeight||i===void 0?t:t.map(o=>He(Y({},o),{h:i,maxH:i,minH:i}))});gridOptions=Ee(()=>({cellHeight:10,sizeToContent:!0,disableResize:!this.editMode(),disableDrag:!this.editMode(),marginBottom:0,marginLeft:0,marginRight:0,engineClass:this.gridStackEngine(),columnOpts:{breakpoints:this.gridBreakpoints()}}));sectionsSnapshotJson="";cardsSnapshotJson="";sectionsSnapshot=[];cardsSnapshot=[];gridStack=cc.required("grid");addCardBtn=cc("editCardsBtn");resizeObserver;cardsPosition=new Map;pendingNavigation=null;beforeUnloadHandler=t=>{this.hasUnsavedChanges()&&(t.preventDefault(),t.returnValue="")};constructor(){At(()=>{this.unsavedChangesChange.emit(this.hasUnsavedChanges())}),At(()=>{this.i18n.language.set(this.language())}),At(t=>{let i=this.config().backgroundImageUrl;if(this.backgroundImageHeight.set(null),!i)return;let o=new Image;o.onload=()=>{this.backgroundImageHeight.set(o.naturalHeight)},o.src=i,t(()=>{o.onload=null})})}ngOnInit(){this.resizeObserver=new ResizeObserver(t=>{let i=t[0]?.contentRect.width??0;this.compactToolbar.set(i<726),this.changeCardSettingsForXlPage(i)}),this.resizeObserver.observe(this.hostEl.nativeElement),window.addEventListener("beforeunload",this.beforeUnloadHandler)}ngOnDestroy(){this.resizeObserver?.disconnect(),window.removeEventListener("beforeunload",this.beforeUnloadHandler)}onMenuItemClick(t,i){if(t==="edit-view"){this.enterEditMode();return}let o=this.customActions().find(a=>a.action===t);o&&this.actionButtonClick.emit({event:i,action:o})}enterEditMode(){this.updateCardsPositions(),this.sectionsSnapshot=[...this.sections()],this.cardsSnapshot=[...this.cards()],this.sectionsSnapshotJson=JSON.stringify(this.sections()),this.cardsSnapshotJson=JSON.stringify(this.cards()),this.gridDirty.set(!1),this.editMode.set(!0),k3(()=>{this.addCardBtn()?.element.focus()},{injector:this.injector})}saveEdit(){this.updateCardsPositions();let t=this.cards().map(i=>{let o=this.cardsPosition.get(i.id);return He(Y({},i),{x:o?.x,y:o?.y,w:o?.w??i.w,h:o?.h??i.h})});this.gridDirty.set(!1),this.editMode.set(!1),this.cards.set(t),this.saved.emit({sections:this.sections(),cards:t})}cancelEdit(){if(this.hasUnsavedChanges()){this.discardDialogOpen.set(!0);return}this.discardEdit()}confirmDiscard(){this.discardDialogOpen.set(!1),this.discardEdit()}cancelDiscard(){this.discardDialogOpen.set(!1)}requestNavigation(t){return this.hasUnsavedChanges()?(this.pendingNavigation=t,this.unsavedNavDialogOpen.set(!0),!1):(t(),!0)}onUnsavedNavSave(){this.unsavedNavDialogOpen.set(!1),this.saveEdit(),this.runPendingNavigation()}onUnsavedNavDiscard(){this.unsavedNavDialogOpen.set(!1),this.discardEdit(),this.runPendingNavigation()}onUnsavedNavCancel(){this.unsavedNavDialogOpen.set(!1),this.pendingNavigation=null}runPendingNavigation(){let t=this.pendingNavigation;this.pendingNavigation=null,t?.()}discardEdit(){this.sections.set(this.sectionsSnapshot),this.cards.set(this.cardsSnapshot.map(t=>{let i=this.cardsPosition.get(t.id);return He(Y({},t),{x:i?.x,y:i?.y})})),this.cardDialogOpen.set(!1),this.gridDirty.set(!1),this.editMode.set(!1)}removeSection(t){this.sections.update(i=>i.filter(o=>o.id!==t)),this.cards.update(i=>i.filter(o=>o.sectionId!==t))}removeCard(t){let i=this.looseCards().some(o=>o.id===t);this.cardsPosition.delete(t),this.cards.update(o=>o.filter(a=>a.id!==t)),i&&k3(()=>{this.gridStack().grid?.compact("compact",!1)},{injector:this.injector})}openCardPanel(){this.cardDialogOpen.set(!0)}closeCardPanel(){this.cardDialogOpen.set(!1)}onCardsEdited(t){this.cards.update(i=>[...i.filter(o=>!t.removed.includes(o.id)),...t.added.map(o=>Y({},o))]),this.closeCardPanel()}onDragStart(t){if(this.getZFlowEngine()?.syncZFlowOrderFromLayout(),!this.engineProfile().renderOriginPosition)return;let i=t.el,o=this.gridStack().el.getBoundingClientRect(),a=i.getBoundingClientRect();this.dragOriginStyle.set({top:`${a.top-o.top}px`,left:`${a.left-o.left}px`,width:`${a.width}px`,height:`${a.height}px`})}onDragStop(){this.getZFlowEngine()?.commitZFlowLayout(),this.dragOriginStyle.set(null)}onGridChange(){this.editMode()&&this.gridDirty.set(!0)}saveCardsPosition(t){t.forEach(i=>{i.id&&this.cardsPosition.set(i.id,{x:i.x,y:i.y,w:i.w,h:i.h})})}updateCardsPositions(){let t=this.gridStack().gridstackItems?.toArray().map(i=>i.options);t&&this.saveCardsPosition(t)}getZFlowEngine(){let t=this.gridStack().grid?.engine;return t instanceof UE?t:null}updateCardsForBreakpoint(t){this.getZFlowEngine()?.syncZFlowOrderFromLayout(),this.cards.set(this.cards().map(t)),k3(()=>{this.getZFlowEngine()?.commitZFlowLayout()},{injector:this.injector})}changeCardSettingsForXlPage(t){this.engineProfile().xlWidthSwap&&(t>=lhe?this.isXLPage()||(this.isXLPage.set(!0),this.updateCardsForBreakpoint(i=>He(Y({},i),{w:i.w===4?3:i.w,maxW:i.maxW===4?3:i.maxW}))):this.isXLPage()&&(this.isXLPage.set(!1),this.updateCardsForBreakpoint(i=>He(Y({},i),{w:i.w===3?4:i.w,maxW:i.maxW===3?4:i.maxW}))))}static \u0275fac=function(t){return new(t||wp)};static \u0275cmp=Ye({type:wp,selectors:[["mfp-dashboard"]],viewQuery:function(t,i){t&1&&Gc(i.gridStack,sue,5)(i.addCardBtn,lue,5),t&2&&M_(2)},hostVars:4,hostBindings:function(t,i){t&2&&qo("background-image",i.config().backgroundImageUrl?"url("+i.config().backgroundImageUrl+")":null)("background-size",i.backgroundImageHeight()?"100% "+i.backgroundImageHeight()+"px":"100% auto")},inputs:{config:[1,"config"],sections:[1,"sections"],cards:[1,"cards"],availableCards:[1,"availableCards"],language:[1,"language"]},outputs:{sections:"sectionsChange",cards:"cardsChange",saved:"saved",actionButtonClick:"actionButtonClick",unsavedChangesChange:"unsavedChangesChange"},features:[_l([In])],ngContentSelectors:hue,decls:26,vars:18,consts:[["grid",""],["editCardsBtn",""],["menuBtn",""],["data-testid","dashboard",1,"mfp-dashboard"],[1,"mfp-dashboard__topbar"],[1,"mfp-dashboard__topbar-row"],[1,"mfp-dashboard__header"],[1,"mfp-dashboard__title-row"],["data-testid","dashboard-title","level","H3","size","H3","wrapping-type","Normal"],["role","status",1,"mfp-dashboard__unsaved-changes"],["data-testid","dashboard-description","level","H5","size","H5","wrapping-type","Normal"],[1,"mfp-dashboard__toolbar"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"accessibleName","design","icon","tooltip"],[1,"mfp-dashboard__subheader"],[1,"mfp-sections-container"],[3,"cards","editMode","section"],["data-testid","dashboard-grid",3,"addedCB","changeCB","dragStartCB","dragStopCB","removedCB","options"],[1,"mfp-dashboard__drag-origin-placeholder",3,"style"],[3,"options"],[1,"mfp-dashboard__edit-bar"],[3,"cancelled","confirm","addedCardsIds","availableCards","open"],[3,"cancelled","confirm","open"],[3,"cancelled","discard","save","open"],[3,"innerHTML"],["name","user-edit",1,"mfp-dashboard__unsaved-changes-icon",3,"accessibleName"],[1,"mfp-dashboard__unsaved-changes-text"],[1,"mfp-dashboard__description",3,"innerHTML"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"click","accessibleName","design","icon","tooltip"],["data-testid","dashboard-toolbar-menu-btn","design","Transparent","icon","menu2",3,"click","accessibleName","tooltip"],["data-testid","dashboard-toolbar-menu",3,"ui5Close","ui5ItemClick","ui5Open","open","opener"],[3,"icon","text"],["data-action","edit-view","data-testid","dashboard-action-edit-view",3,"icon","text"],["data-testid","dashboard-edit-view-btn",3,"accessibleName","design","icon","tooltip"],[3,"accessibleName","design","endIcon","icon","tooltip"],["data-testid","dashboard-edit-view-btn",3,"click","accessibleName","design","icon","tooltip"],[3,"click","accessibleName","design","endIcon","icon","tooltip"],[3,"removeCard","removeSection","cards","editMode","section"],[1,"mfp-dashboard__drag-origin-placeholder"],[3,"removeCard","card","editMode"],["data-testid","dashboard-save-btn","design","Emphasized",3,"click"],["data-testid","dashboard-cancel-btn","design","Transparent",3,"click"]],template:function(t,i){t&1&&(Yt(cue),G(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),$e(5,due,2,1,"ui5-title",8),$e(6,uue,4,2,"div",9),X(),$e(7,pue,2,1,"ui5-title",10),X(),G(8,"div",11),$e(9,_ue,3,5,"ui5-button",12)(10,bue,7,6)(11,Aue,4,2),X()(),G(12,"div",13),Wt(13),X()(),G(14,"div",14),z0(15,xue,1,3,"mfp-dashboard-section",15,xx),X(),G(17,"gridstack",16,0),ye("addedCB",function(){return i.onGridChange()})("changeCB",function(){return i.onGridChange()})("dragStartCB",function(o){return i.onDragStart(o)})("dragStopCB",function(){return i.onDragStop()})("removedCB",function(){return i.onGridChange()}),$e(19,Sue,1,2,"div",17),z0(20,Iue,2,3,"gridstack-item",18,xx),X()(),$e(22,Tue,5,2,"div",19),G(23,"mfp-edit-cards-dialog",20),ye("cancelled",function(){return i.closeCardPanel()})("confirm",function(o){return i.onCardsEdited(o)}),X(),G(24,"mfp-discard-changes-dialog",21),ye("cancelled",function(){return i.cancelDiscard()})("confirm",function(){return i.confirmDiscard()}),X(),G(25,"mfp-unsaved-changes-dialog",22),ye("cancelled",function(){return i.onUnsavedNavCancel()})("discard",function(){return i.onUnsavedNavDiscard()})("save",function(){return i.onUnsavedNavSave()}),X()),t&2&&(k_(i.columnVars()),h5("edit",i.editMode()),P(5),Xe(i.config().title?5:-1),P(),Xe(i.hasUnsavedChanges()?6:-1),P(),Xe(i.config().description?7:-1),P(2),Xe(i.editMode()?9:i.compactToolbar()?10:11),P(6),F0(i.sections()),P(2),h5("zflow-dragging",!!i.dragOriginStyle()),me("options",i.gridOptions()),P(2),Xe(i.dragOriginStyle()?19:-1),P(),F0(i.looseCards()),P(2),Xe(i.editMode()?22:-1),P(),me("addedCardsIds",i.addedCardsIds())("availableCards",i.availableCards())("open",i.cardDialogOpen()),P(),me("open",i.discardDialogOpen()),P(),me("open",i.unsavedNavDialogOpen()))},dependencies:[Cp,vv,Ihe,Khe,ide,tde,VE,aa,r2,_de,mde,fde,Al],styles:[`.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;z-index:100}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center;z-index:101}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.grid-stack-placeholder{z-index:2;pointer-events:none}.grid-stack-placeholder .placeholder-content{border-radius:16px;height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;background:var(--sapContent_Selected_Hover_Background, #E3F0FF);border:1px solid var(--sapContent_DragAndDropActiveColor, #0064D9);z-index:2!important}mfp-dashboard,mfp-wc-dashboard{display:block;flex:1;margin:0;padding:0;min-height:100%;background:var(--sapShellColor, #354a5e);background-size:100% auto;background-position:top center;background-repeat:no-repeat;background-attachment:local}.mfp-dashboard{padding:calc(var(--sapShell_Space_XL, 3rem) - 10px);container-type:inline-size;container-name:mfp-dashboard}.mfp-dashboard.edit{padding-bottom:60px}.mfp-sections-container{display:grid;grid-auto-rows:auto;align-content:start;gap:1rem;grid-template-columns:repeat(var(--dashboard-cols-xl, 14),1fr)}@container mfp-dashboard (max-width: 599px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-sm, 1),1fr)}}@container mfp-dashboard (min-width: 600px) and (max-width: 1023px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-md, 8),1fr)}}@container mfp-dashboard (min-width: 1024px) and (max-width: 1439px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-lg, 12),1fr)}}.mfp-dashboard__topbar{grid-column:1/-1;align-self:start;display:flex;flex-direction:column;gap:1rem;padding-bottom:3rem;width:100%;min-width:0}.mfp-dashboard__topbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 10px}.mfp-dashboard__header{display:flex;flex-direction:column;gap:.25rem}.mfp-dashboard__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mfp-dashboard__unsaved-changes{display:inline-flex;align-items:center;gap:.375rem}.mfp-dashboard__unsaved-changes-icon{width:16px;height:16px;color:var(--sapContent_MarkerIconColor)}.mfp-dashboard__unsaved-changes-text{color:var(--sapContent_LabelColor);text-shadow:0 0 2px var(--sapContent_ContrastTextShadow, #fff);font-family:var(--sapFontFamily);font-size:var(--sapFontSize, 14px);font-style:normal;font-weight:400;line-height:normal}.mfp-dashboard__description{font-weight:400;font-family:var(--sapFontFamily)}.mfp-dashboard__description b,.mfp-dashboard__description strong{font-family:var(--sapFontBoldFamily)}.mfp-dashboard__toolbar{flex-shrink:0;display:flex;gap:.5rem}.mfp-dashboard__subheader{display:flex;align-items:center;gap:1rem}.mfp-dashboard__edit-bar{position:fixed;bottom:20px;left:16px;right:16px;z-index:1000;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:7px 16px;background:var(--sapPageFooter_Background, white);border-radius:var(--sapElement_BorderCornerRadius, 12px);box-shadow:0 0 0 1px #2235487a,0 2px 8px #2235484d;box-sizing:border-box;overflow:hidden}@media screen and (min-width:0px)and (max-width:599px){.mfp-dashboard{padding:calc(var(--sapShell_Space_S, 1rem) - 10px)}}@media screen and (min-width:600px)and (max-width:1023px){.mfp-dashboard{padding:calc(var(--sapShell_Space_M, 2rem) - 10px)}}@media screen and (min-width:1024px)and (max-width:1439px){.mfp-dashboard{padding:calc(var(--sapShell_Space_L, 2rem) - 10px)}}.grid-stack.grid-stack-dragging,.grid-stack.grid-stack-dragging *{cursor:grabbing!important}.mfp-dashboard__drag-origin-placeholder{position:absolute;pointer-events:none;z-index:1}.mfp-dashboard__drag-origin-placeholder:before{content:"";height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;position:absolute;background:var(--sapNeutralColor, #6a6d75);border-radius:16px;opacity:.3}gridstack{position:relative}.grid-stack:has(.ui-resizable-resizing),.grid-stack:has(.ui-resizable-resizing) *{cursor:nwse-resize!important}.grid-stack-item>.ui-resizable-handle{background-image:none!important}
573
+ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),a}static addGrid(i,o={}){if(!i)return null;let a=i;if(a.gridstack){let n=a.gridstack;return o&&(n.opts=Y(Y({},n.opts),o)),o.children!==void 0&&n.load(o.children),n}return(!i.classList.contains("grid-stack")||e.addRemoveCB)&&(e.addRemoveCB?a=e.addRemoveCB(i,o,!0,!0):a=K.createDiv(["grid-stack",o.class],i)),e.init(o,a)}static registerEngine(i){e.engineClass=i}get placeholder(){if(!this._placeholder){this._placeholder=K.createDiv([this.opts.placeholderClass,n5.itemClass,this.opts.itemClass]);let i=K.createDiv(["placeholder-content"],this._placeholder);this.opts.placeholderText&&(i.textContent=this.opts.placeholderText)}return this._placeholder}constructor(i,o={}){this.el=i,this.opts=o,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},i.gridstack=this,this.opts=o=o||{},i.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),o.row&&(o.minRow=o.maxRow=o.row,delete o.row);let a=K.toNumber(i.getAttribute("gs-row"));o.column==="auto"&&delete o.column,o.alwaysShowResizeHandle!==void 0&&(o._alwaysShowResizeHandle=o.alwaysShowResizeHandle);let n=o.columnOpts;if(n){let b=n.breakpoints;!n.columnWidth&&!b?.length?delete o.columnOpts:b&&b.length>1?(b.sort((x,w)=>(w.w||0)-(x.w||0)),delete n.columnWidth):n.columnMax=n.columnMax||12}let c=He(Y({},K.cloneDeep(n5)),{column:K.toNumber(i.getAttribute("gs-column"))||n5.column,minRow:a||K.toNumber(i.getAttribute("gs-min-row"))||n5.minRow,maxRow:a||K.toNumber(i.getAttribute("gs-max-row"))||n5.maxRow,staticGrid:K.toBool(i.getAttribute("gs-static"))||n5.staticGrid,sizeToContent:K.toBool(i.getAttribute("gs-size-to-content"))||void 0,draggable:{handle:(o.handleClass?"."+o.handleClass:o.handle?o.handle:"")||n5.draggable.handle},removableOptions:{accept:o.itemClass||n5.removableOptions.accept,decline:n5.removableOptions.decline}});i.getAttribute("gs-animate")&&(c.animate=K.toBool(i.getAttribute("gs-animate"))),o=K.defaults(o,c),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(o),o.rtl==="auto"&&(o.rtl=i.style.direction==="rtl"),o.rtl&&this.el.classList.add("grid-stack-rtl");let d=this.el.closest("."+n5.itemClass)?.gridstackNode;if(d&&(d.subGrid=this,this.parentGridNode=d,this.el.classList.add("grid-stack-nested"),d.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=o.cellHeight==="auto",this._isAutoCellHeight||o.cellHeight==="initial")this.cellHeight(void 0);else{typeof o.cellHeight=="number"&&o.cellHeightUnit&&o.cellHeightUnit!==n5.cellHeightUnit&&(o.cellHeight=o.cellHeight+o.cellHeightUnit,delete o.cellHeightUnit);let b=o.cellHeight;delete o.cellHeight,this.cellHeight(b)}o.alwaysShowResizeHandle==="mobile"&&(o.alwaysShowResizeHandle=po),this._setStaticClass();let v=o.engineClass||e.engineClass||bp;if(this.engine=new v({column:this.getColumn(),float:o.float,maxRow:o.maxRow,onChange:b=>{b.forEach(x=>{let w=x.el;w&&(x._removeDOM?(w&&w.remove(),delete x._removeDOM):this._writePosAttr(w,x))}),this._updateContainerHeight()}}),o.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(b=>this._prepareElement(b)),delete this.engine._loading,this.batchUpdate(!1)),o.children){let b=o.children;delete o.children,b.length&&this.load(b)}this.setAnimation(),o.subGridDynamic&&!Oe.pauseDrag&&(Oe.pauseDrag=!0),o.draggable?.pause!==void 0&&(Oe.pauseDrag=o.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(i=this.opts){this.el.classList.add("gs-"+i.column),typeof i.column=="number"&&this.el.style.setProperty("--gs-column-width",`${100/i.column}%`)}addWidget(i){if(!i)return;if(typeof i=="string"){console.error("V11: GridStack.addWidget() does not support string anymore. see #2736");return}if(i.ELEMENT_NODE)return console.error("V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()"),this.makeWidget(i);let o,a=i;if(a.grid=this,a.el?o=a.el:e.addRemoveCB?o=e.addRemoveCB(this.el,i,!0,!1):o=this.createWidgetDivs(a),!o)return;if(a=o.gridstackNode,a&&o.parentElement===this.el&&this.engine.nodes.find(c=>c._id===a._id))return o;let n=this._readAttr(o);return K.defaults(i,n),this.engine.prepareNode(i),this.el.appendChild(o),this.makeWidget(o,i),o}createWidgetDivs(i){let o=K.createDiv(["grid-stack-item",this.opts.itemClass]),a=K.createDiv(["grid-stack-item-content"],o);return K.lazyLoad(i)?i.visibleObservable||(i.visibleObservable=new IntersectionObserver(([n])=>{n.isIntersecting&&(i.visibleObservable?.disconnect(),delete i.visibleObservable,e.renderCB(a,i),i.grid?.prepareDragDrop(i.el))}),window.setTimeout(()=>i.visibleObservable?.observe(o))):e.renderCB(a,i),o}makeSubGrid(i,o,a,n=!0){let c=i.gridstackNode;if(c||(c=this.makeWidget(i).gridstackNode),c.subGrid?.el)return c.subGrid;let d,v=this;for(;v&&!d;)d=v.opts?.subGridOpts,v=v.parentGridNode?.grid;o=K.cloneDeep(Y(Y(He(Y({},this.opts),{id:void 0,children:void 0,column:"auto",columnOpts:void 0,layout:"list",subGridOpts:void 0}),d||{}),o||c.subGridOpts||{})),c.subGridOpts=o;let b=!1;o.column==="auto"&&(b=!0,o.column=Math.max(c.w||1,a?.w||1),delete o.columnOpts);let x=c.el.querySelector(".grid-stack-item-content"),w,B;if(n&&(this._removeDD(c.el),B=He(Y({},c),{x:0,y:0}),K.removeInternalForSave(B),delete B.subGridOpts,c.content&&(B.content=c.content,delete c.content),e.addRemoveCB?w=e.addRemoveCB(this.el,B,!0,!1)||void 0:(w=K.createDiv(["grid-stack-item"]),w.appendChild(x),x=K.createDiv(["grid-stack-item-content"],c.el)),this.prepareDragDrop(c.el)),a){let D=b?o.column:c.w,j=c.h+a.h,re=c.el.style;re.transition="none",this.update(c.el,{w:D,h:j}),setTimeout(()=>re.transition="")}let S=c.subGrid=e.addGrid(x,o)||void 0;return a?._moving&&(S._isTemp=!0),b&&(S._autoColumn=!0),n&&S.makeWidget(w,B),a&&(a._moving?window.setTimeout(()=>K.simulateMouseEvent(a._event,"mouseenter",S.el),0):S.makeWidget(c.el,c)),this.resizeToContentCheck(!1,c),S}removeAsSubGrid(i){let o=this.parentGridNode?.grid;if(o&&(o.batchUpdate(),o.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(a=>{a.x=(a.x??0)+(this.parentGridNode.x??0),a.y=(a.y??0)+(this.parentGridNode.y??0),this._removeDD(a.el),a.el.remove(),delete a.el.gridstackNode,o.makeWidget(a.el,a)}),o.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,i)){let a=i.el?.gridstackNode;a&&a!==i&&(a._temporaryRemoved=!0),window.setTimeout(()=>{let n=Oe.dragElement?.lastDrag||i._event;n&&K.simulateMouseEvent(n,"mouseenter",o.el)},0)}}save(i=!0,o=!1,a=e.saveCB,n){let c=this.engine.save(i,a,n);if(c.forEach(d=>{if(i&&d.el&&!d.subGrid&&!a){let v=d.el.querySelector(".grid-stack-item-content");d.content=v?.innerHTML,d.content||delete d.content}else if(!i&&!a&&delete d.content,d.subGrid?.el){let v=d.w||d.subGrid.getColumn(),b=d.subGrid.save(i,o,a,v);d.subGridOpts=o?b:{children:b},delete d.subGrid}delete d.el}),o){let d=K.cloneDeep(this.opts);d.marginBottom===d.marginTop&&d.marginRight===d.marginLeft&&d.marginTop===d.marginRight&&(d.margin=d.marginTop,delete d.marginTop,delete d.marginRight,delete d.marginBottom,delete d.marginLeft),d.rtl===(this.el.style.direction==="rtl")&&(d.rtl="auto"),this._isAutoCellHeight&&(d.cellHeight="auto"),this._autoColumn&&(d.column="auto");let v=d._alwaysShowResizeHandle;return delete d._alwaysShowResizeHandle,v!==void 0?d.alwaysShowResizeHandle=v:delete d.alwaysShowResizeHandle,K.removeInternalAndSame(d,n5),d.children=c,d}return c}load(i,o=e.addRemoveCB||!0){i.forEach(w=>{w.w=w.w||w.minW||1,w.h=w.h||w.minH||1}),i=K.sort(i),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let a=0;i.forEach(w=>{a=Math.max(a,(w.x||0)+w.w)}),a>this.engine.defaultColumn&&(this.engine.defaultColumn=a);let n=this.getColumn();a>n&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=i,this.engine.columnChanged(a,n,this.responseLayout),i=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(i,a,!0));let c=e.addRemoveCB;typeof o=="function"&&(e.addRemoveCB=o);let d=[];this.batchUpdate();let v=!this.engine.nodes.length,b=v&&this.opts.animate;b&&this.setAnimation(!1),!v&&o&&[...this.engine.nodes].forEach(w=>{w.id&&(K.find(i,w.id)||(e.addRemoveCB&&e.addRemoveCB(this.el,w,!1,!1),d.push(w),this.removeWidget(w.el,!0,!1)))}),this.engine._loading=!0;let x=[];return this.engine.nodes=this.engine.nodes.filter(w=>w.id&&K.find(i,w.id)?(x.push(w),!1):!0),i.forEach(w=>{let B=w.id?K.find(x,w.id):void 0;if(B){if(K.shouldSizeToContent(B)&&(w.h=B.h),this.engine.nodeBoundFix(w),(w.autoPosition||w.x===void 0||w.y===void 0)&&(w.w=w.w||B.w,w.h=w.h||B.h,this.engine.findEmptyPosition(w)),this.engine.nodes.push(B),K.samePos(B,w)&&this.engine.nodes.length>1&&(this.moveNode(B,He(Y({},w),{forceCollide:!0})),K.copyPos(w,B)),this.update(B.el,w),w.subGridOpts?.children){let S=B.el.querySelector(".grid-stack");S&&S.gridstack&&S.gridstack.load(w.subGridOpts.children)}}else o&&this.addWidget(w)}),delete this.engine._loading,this.engine.removedNodes=d,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,c?e.addRemoveCB=c:delete e.addRemoveCB,b&&this.setAnimation(!0,!0),this}batchUpdate(i=!0){return this.engine.batchUpdate(i),i||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(i=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!i||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let o=this.el.querySelector("."+this.opts.itemClass);if(o){let n=K.toNumber(o.getAttribute("gs-h"))||1;return Math.round(o.offsetHeight/n)}let a=parseInt(this.el.getAttribute("gs-current-row")||"0");return a?Math.round(this.el.getBoundingClientRect().height/a):this.opts.cellHeight}cellHeight(i){if(i!==void 0&&this._isAutoCellHeight!==(i==="auto")&&(this._isAutoCellHeight=i==="auto",this._updateResizeEvent()),(i==="initial"||i==="auto")&&(i=void 0),i===void 0){let a=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;i=this.cellWidth()+a}let o=K.parseHeight(i);return this.opts.cellHeightUnit===o.unit&&this.opts.cellHeight===o.h?this:(this.opts.cellHeightUnit=o.unit,this.opts.cellHeight=o.h,this.el.style.setProperty("--gs-cell-height",`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(i=!1){return i&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let i=this.opts.columnOpts;if(!i||!i.columnWidth&&!i.breakpoints?.length)return!1;let o=this.getColumn(),a=o,n=this._widthOrContainer(!0);if(i.columnWidth)a=Math.min(Math.round(n/i.columnWidth)||1,i.columnMax);else{a=i.columnMax;let c=0;for(;c<i.breakpoints.length&&n<=i.breakpoints[c].w;)a=i.breakpoints[c++].c||o}if(a!==o){let c=i.breakpoints?.find(d=>d.c===a);return this.column(a,c?.layout||i.layout),!0}return!1}compact(i="compact",o=!0){return this.engine.compact(i,o),this._triggerChangeEvent(),this}column(i,o="moveScale"){if(!i||i<1||this.opts.column===i)return this;let a=this.getColumn();return this.opts.column=i,this.engine?(this.engine.column=i,this.el.classList.remove("gs-"+a),this._updateColumnVar(),this.engine.columnChanged(a,i,o),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=o,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(i=>i.matches("."+this.opts.itemClass)&&!i.matches("."+this.opts.placeholderClass))}isIgnoreChangeCB(){return!!this._ignoreLayoutsNodeChange}destroy(i=!0){return this.el?(this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),i?this.el.parentNode.removeChild(this.el):(this.removeAll(i),this.el.removeAttribute("gs-current-row")),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this):this}float(i){return this.opts.float!==i&&(this.opts.float=this.engine.float=i,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(i,o=!1){let a=this.el.getBoundingClientRect(),n;o?n={top:a.top+document.documentElement.scrollTop,left:a.left}:n={top:this.el.offsetTop,left:this.el.offsetLeft};let c=i.left-n.left,d=i.top-n.top,v=a.width/this.getColumn(),b=a.height/parseInt(this.el.getAttribute("gs-current-row")||"0");return{x:Math.floor(c/v),y:Math.floor(d/b)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(i,o,a,n){return this.engine.isAreaEmpty(i,o,a,n)}makeWidget(i,o){let a=e.getElement(i);if(!a||a.gridstackNode)return a;a.parentElement||this.el.appendChild(a),this._prepareElement(a,!0,o);let n=a.gridstackNode;this._updateContainerHeight(),n.subGridOpts&&this.makeSubGrid(a,n.subGridOpts,void 0,!1);let c=!1;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(c=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),c&&delete this._ignoreLayoutsNodeChange,a}on(i,o){return i.indexOf(" ")!==-1?(i.split(" ").forEach(a=>this.on(a,o)),this):(i==="change"||i==="added"||i==="removed"||i==="enable"||i==="disable"?(i==="enable"||i==="disable"?this._gsEventHandler[i]=a=>o(a):this._gsEventHandler[i]=a=>{a.detail&&o(a,a.detail)},this.el.addEventListener(i,this._gsEventHandler[i])):i==="drag"||i==="dragstart"||i==="dragstop"||i==="resizestart"||i==="resize"||i==="resizestop"||i==="dropped"||i==="resizecontent"?this._gsEventHandler[i]=o:console.error("GridStack.on("+i+") event not supported"),this)}off(i){return i.indexOf(" ")!==-1?(i.split(" ").forEach(o=>this.off(o)),this):((i==="change"||i==="added"||i==="removed"||i==="enable"||i==="disable")&&this._gsEventHandler[i]&&this.el.removeEventListener(i,this._gsEventHandler[i]),delete this._gsEventHandler[i],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(i=>this.off(i)),this}removeWidget(i,o=!0,a=!0){return i?(e.getElements(i).forEach(n=>{if(n.parentElement&&n.parentElement!==this.el)return;let c=n.gridstackNode;c||(c=this.engine.nodes.find(d=>n===d.el)),c&&(o&&e.addRemoveCB&&e.addRemoveCB(this.el,c,!1,!1),delete n.gridstackNode,this._removeDD(n),this.engine.removeNode(c,o,a),o&&n.parentElement&&n.remove())}),a&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error("Error: GridStack.removeWidget(undefined) called"),this)}removeAll(i=!0,o=!0){return this.engine.nodes.forEach(a=>{i&&e.addRemoveCB&&e.addRemoveCB(this.el,a,!1,!1),delete a.el.gridstackNode,this.opts.staticGrid||this._removeDD(a.el)}),this.engine.removeAll(i,o),o&&this._triggerRemoveEvent(),this}setAnimation(i=this.opts.animate,o){return o?setTimeout(()=>{this.opts&&this.setAnimation(i)}):i?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this.opts.animate=i,this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(i,o=!0,a=!0){return!!this.opts.staticGrid===i?this:(i?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&a&&n.subGrid.setStatic(i,o,a)}),o&&this._setStaticClass(),this)}updateOptions(i){let o=this.opts;if(i===o)return this;if(i.acceptWidgets!==void 0&&(o.acceptWidgets=i.acceptWidgets,this._setupAcceptWidget()),i.animate!==void 0&&this.setAnimation(i.animate),i.cellHeight&&this.cellHeight(i.cellHeight),i.class!==void 0&&i.class!==o.class&&(o.class&&this.el.classList.remove(o.class),i.class&&this.el.classList.add(i.class)),i.columnOpts){let a=!!this.opts.columnOpts;this.opts.columnOpts=i.columnOpts,a!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else i.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof i.column=="number"&&this.column(i.column);return i.margin!==void 0&&this.margin(i.margin),i.staticGrid!==void 0&&this.setStatic(i.staticGrid),i.disableDrag!==void 0&&!i.staticGrid&&this.enableMove(!i.disableDrag),i.disableResize!==void 0&&!i.staticGrid&&this.enableResize(!i.disableResize),i.float!==void 0&&this.float(i.float),i.row!==void 0?(o.minRow=o.maxRow=this.engine.maxRow=o.row=i.row,this._updateContainerHeight(),this.engine.getRow()>i.row&&this.compact()):(i.minRow!==void 0&&(o.minRow=i.minRow,this._updateContainerHeight()),i.maxRow!==void 0&&(o.maxRow=this.engine.maxRow=i.maxRow,this.engine.getRow()>i.maxRow&&this.compact())),i.lazyLoad!==void 0&&(o.lazyLoad=i.lazyLoad),i.children?.length&&this.load(i.children),this}update(i,o){return e.getElements(i).forEach(a=>{let n=a?.gridstackNode;if(!n)return;let c=Y(Y({},K.copyPos({},n)),K.cloneDeep(o));this.engine.nodeBoundFix(c),delete c.autoPosition;let d=["x","y","w","h"],v,b=c,x=n;if(d.some(S=>b[S]!==void 0&&b[S]!==x[S])){v={};let S=v;d.forEach(D=>{S[D]=b[D]!==void 0?b[D]:x[D],delete b[D]})}if(!v&&(c.minW||c.minH||c.maxW||c.maxH)&&(v={}),c.content!==void 0){let S=a.querySelector(".grid-stack-item-content");S&&S.textContent!==c.content&&(n.content=c.content,e.renderCB(S,c),n.subGrid?.el&&(S.appendChild(n.subGrid.el),n.subGrid._updateContainerHeight())),delete c.content}let w=!1,B=!1;for(let S in b)S[0]!=="_"&&x[S]!==b[S]&&(x[S]=b[S],w=!0,B=B||!this.opts.staticGrid&&(S==="noResize"||S==="noMove"||S==="locked"));if(K.sanitizeMinMax(n),v){let S=v.w!==void 0&&v.w!==n.w;this.moveNode(n,v),S&&n.subGrid?n.subGrid.onResize(this.hasAnimationCSS()?n.w:void 0):this.resizeToContentCheck(S,n),delete n._orig}(v||w)&&this._writeAttr(a,n),B&&this.prepareDragDrop(n.el),e.updateCB&&e.updateCB(n)}),this}moveNode(i,o){let a=i._updating;a||this.engine.cleanNodes().beginUpdate(i),this.engine.moveNode(i,o),this._updateContainerHeight(),a||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(i){if(!i||(i.classList.remove("size-to-content-max"),!i.clientHeight))return;let o=i.gridstackNode;if(!o)return;let a=o.grid;if(!a||i.parentElement!==a.el)return;let n=a.getCellHeight(!0);if(!n)return;let c=o.h?o.h*n:i.clientHeight,d=null;if(o.resizeToContentParent&&(d=i.querySelector(o.resizeToContentParent)),d||(d=i.querySelector(e.resizeToContentParent)),!d)return;let v=i.clientHeight-d.clientHeight,b=o.h?o.h*n-v:d.clientHeight,x;if(o.subGrid){x=o.subGrid.getRow()*o.subGrid.getCellHeight(!0);let S=o.subGrid.el.getBoundingClientRect(),D=i.getBoundingClientRect();x+=S.top-D.top}else{if(o.subGridOpts?.children?.length)return;{let S=d.firstElementChild;if(!S){console.error(`Error: GridStack.resizeToContent() widget id:${o.id} '${e.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}x=S.getBoundingClientRect().height||b}}if(b===x)return;c+=x-b;let w=Math.ceil(c/n),B=Number.isInteger(o.sizeToContent)?o.sizeToContent:0;B&&w>B&&(w=B,i.classList.add("size-to-content-max")),o.minH&&w<o.minH?w=o.minH:o.maxH&&w>o.maxH&&(w=o.maxH),w!==o.h&&(a._ignoreLayoutsNodeChange=!0,a.moveNode(o,{h:w}),delete a._ignoreLayoutsNodeChange)}resizeToContentCBCheck(i){e.resizeToContentCB?e.resizeToContentCB(i):this.resizeToContent(i)}rotate(i,o){return e.getElements(i).forEach(a=>{let n=a.gridstackNode;if(!n||!K.canBeRotated(n))return;let c={w:n.h,h:n.w,minH:n.minW,minW:n.minH,maxH:n.maxW,maxW:n.maxH};if(o){let b=o.left>0?Math.floor(o.left/this.cellWidth()):0,x=o.top>0?Math.floor(o.top/this.opts.cellHeight):0;c.x=n.x+b-(n.h-(x+1)),c.y=n.y+x-b}let d=c;Object.keys(d).forEach(b=>{d[b]===void 0&&delete d[b]});let v=n._orig;this.update(a,c),n._orig=v}),this}margin(i){if(!(typeof i=="string"&&i.split(" ").length>1)){let o=K.parseHeight(i);if(this.opts.marginUnit===o.unit&&this.opts.margin===o.h)return this}return this.opts.margin=i,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(i){return this.engine.willItFit(i)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let i=this.engine.getDirtyNodes(!0);return i&&i.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(i),this._triggerEvent("change",i)),this.engine.saveInitial(),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(o=>{delete o._dirty});let i=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",i)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let i=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",i)}return this}_triggerEvent(i,o){let a=o?new CustomEvent(i,{bubbles:!1,detail:o}):new Event(i),n=this;for(;n.parentGridNode;)n=n.parentGridNode.grid;return n.el.dispatchEvent(a),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let i=this.parentGridNode,o=this.getRow()+this._extraDragRow,a=this.opts.cellHeight,n=this.opts.cellHeightUnit;if(!a)return this;if(!i&&!this.opts.minRow){let c=K.parseHeight(getComputedStyle(this.el).minHeight);if(c.h>0&&c.unit===n){let d=Math.floor(c.h/a);o<d&&(o=d)}}return this.el.setAttribute("gs-current-row",String(o)),this.el.style.removeProperty("min-height"),this.el.style.removeProperty("height"),o&&(this.el.style[i?"minHeight":"height"]=o*a+n),i&&K.shouldSizeToContent(i)&&i.grid.resizeToContentCBCheck(i.el),this}_prepareElement(i,o=!1,a){a=a||this._readAttr(i),i.gridstackNode=a,a.el=i,a.grid=this,a=this.engine.addNode(a,o),this._writeAttr(i,a),i.classList.add(n5.itemClass,this.opts.itemClass);let n=K.shouldSizeToContent(a);return n?i.classList.add("size-to-content"):i.classList.remove("size-to-content"),n&&this.resizeToContentCheck(!1,a),(!K.lazyLoad(a)||!a.visibleObservable)&&this.prepareDragDrop(a.el),this}_writePosAttr(i,o){if(!o._moving&&!o._resizing||this._placeholder===i){let a=this.opts.rtl?"right":"left",n=i.style;n.top=o.y?o.y===1?"var(--gs-cell-height)":`calc(${o.y} * var(--gs-cell-height))`:null,n[a]=o.x?o.x===1?"var(--gs-column-width)":`calc(${o.x} * var(--gs-column-width))`:null,n.width=o.w>1?`calc(${o.w} * var(--gs-column-width))`:null,n.height=o.h>1?`calc(${o.h} * var(--gs-cell-height))`:null}return i.setAttribute("gs-x",String(o.x??0)),i.setAttribute("gs-y",String(o.y??0)),o.w>1?i.setAttribute("gs-w",String(o.w)):i.removeAttribute("gs-w"),o.h>1?i.setAttribute("gs-h",String(o.h)):i.removeAttribute("gs-h"),this}_writeAttr(i,o){if(!o)return this;this._writePosAttr(i,o);let a={noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",sizeToContent:"gs-size-to-content"},n=o,c=a;for(let d in c)n[d]?i.setAttribute(c[d],String(n[d])):i.removeAttribute(c[d]);return this}_readAttr(i,o=!0){let a={};a.x=K.toNumber(i.getAttribute("gs-x")),a.y=K.toNumber(i.getAttribute("gs-y")),a.w=K.toNumber(i.getAttribute("gs-w")),a.h=K.toNumber(i.getAttribute("gs-h")),a.autoPosition=K.toBool(i.getAttribute("gs-auto-position")),a.noResize=K.toBool(i.getAttribute("gs-no-resize")),a.noMove=K.toBool(i.getAttribute("gs-no-move")),a.locked=K.toBool(i.getAttribute("gs-locked"));let n=i.getAttribute("gs-size-to-content");n&&(n==="true"||n==="false"?a.sizeToContent=K.toBool(n):a.sizeToContent=parseInt(n,10)),a.id=i.getAttribute("gs-id")??void 0,a.maxW=K.toNumber(i.getAttribute("gs-max-w")),a.minW=K.toNumber(i.getAttribute("gs-min-w")),a.maxH=K.toNumber(i.getAttribute("gs-max-h")),a.minH=K.toNumber(i.getAttribute("gs-min-h")),o&&(a.w===1&&i.removeAttribute("gs-w"),a.h===1&&i.removeAttribute("gs-h"),a.maxW&&i.removeAttribute("gs-max-w"),a.minW&&i.removeAttribute("gs-min-w"),a.maxH&&i.removeAttribute("gs-max-h"),a.minH&&i.removeAttribute("gs-min-h"));let c=a;for(let d in c)a.hasOwnProperty(d)&&!c[d]&&c[d]!==0&&d!=="sizeToContent"&&delete c[d];return a}_setStaticClass(){let i=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...i),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...i),this.el.removeAttribute("gs-static")),this}onResize(i=this.el?.clientWidth){if(!i)return this;if(this.prevWidth===i)return this;this.prevWidth=i,this.batchUpdate();let o=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||"list"),o=!0):o=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(a=>{a.subGrid&&a.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(o),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(i=!1,o){if(!this.engine)return;if(i&&this.hasAnimationCSS()){setTimeout(()=>this.resizeToContentCheck(!1,o),this.animationDelay);return}if(o)K.shouldSizeToContent(o)&&this.resizeToContentCBCheck(o.el);else if(this.engine.nodes.some(n=>K.shouldSizeToContent(n))){let n=[...this.engine.nodes];this.batchUpdate(),n.forEach(c=>{K.shouldSizeToContent(c)&&this.resizeToContentCBCheck(c.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}let a=this._gsEventHandler.resizecontent;a&&a(new Event("resizecontent"),o?[o]:this.engine.nodes)}_updateResizeEvent(i=!1){let o=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(a=>a.sizeToContent));return!i&&o&&!this.resizeObserver?(this._sizeThrottle=K.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(i||!o)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(i=".grid-stack-item"){return K.getElement(i)}static getElements(i=".grid-stack-item"){return K.getElements(i)}static getGridElement(i){return e.getElement(i)}static getGridElements(i){return K.getElements(i)}_initMargin(){let i={h:0,unit:"px"},o=0,a=[];typeof this.opts.margin=="string"&&(a=this.opts.margin.split(" ")),a.length===2?(this.opts.marginTop=this.opts.marginBottom=a[0],this.opts.marginLeft=this.opts.marginRight=a[1]):a.length===4?(this.opts.marginTop=a[0],this.opts.marginRight=a[1],this.opts.marginBottom=a[2],this.opts.marginLeft=a[3]):(i=K.parseHeight(this.opts.margin),this.opts.marginUnit=i.unit,o=this.opts.margin=i.h);let n=["marginTop","marginRight","marginBottom","marginLeft"],c=this.opts;n.forEach(v=>{c[v]===void 0?c[v]=o:(i=K.parseHeight(c[v]),c[v]=i.h,delete this.opts.margin)}),this.opts.marginUnit=i.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let d=this.el.style;return d.setProperty("--gs-item-margin-top",`${this.opts.marginTop}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-bottom",`${this.opts.marginBottom}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-right",`${this.opts.marginRight}${this.opts.marginUnit}`),d.setProperty("--gs-item-margin-left",`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return xi}static setupDragIn(i,o,a,n=document){o?.pause!==void 0&&(Oe.pauseDrag=o.pause),o=Y({appendTo:"body",helper:"clone"},o||{}),(typeof i=="string"?K.getElements(i,n):i).forEach((c,d)=>{xi.isDraggable(c)||xi.dragIn(c,o),a?.[d]&&(c.gridstackNode=a[d])})}movable(i,o){return this.opts.staticGrid?this:(e.getElements(i).forEach(a=>{let n=a.gridstackNode;n&&(o?delete n.noMove:n.noMove=!0,this.prepareDragDrop(n.el))}),this)}resizable(i,o){return this.opts.staticGrid?this:(e.getElements(i).forEach(a=>{let n=a.gridstackNode;n&&(o?delete n.noResize:n.noResize=!0,this.prepareDragDrop(n.el))}),this)}disable(i=!0){return this.opts.staticGrid?this:(this.enableMove(!1,i),this.enableResize(!1,i),this._triggerEvent("disable"),this)}enable(i=!0){return this.opts.staticGrid?this:(this.enableMove(!0,i),this.enableResize(!0,i),this._triggerEvent("enable"),this)}enableMove(i,o=!0){return this.opts.staticGrid?this:(i?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(a=>{this.prepareDragDrop(a.el),a.subGrid&&o&&a.subGrid.enableMove(i,o)}),this)}enableResize(i,o=!0){return this.opts.staticGrid?this:(i?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(a=>{this.prepareDragDrop(a.el),a.subGrid&&o&&a.subGrid.enableResize(i,o)}),this)}cancelDrag(){let i=Oe.dragElement?.el;if(i?._gridstackNodeOrig){let a=i._gridstackNodeOrig,n=a.grid,c=this._placeholder?.gridstackNode;c&&(c._isAboutToRemove=!0,this.engine.removeNode(c)),this.engine.restoreInitial(),i.gridstackNode=a,delete i._gridstackNodeOrig,delete Oe.dropElement,n&&(n.engine.addNode(a,!1),n.engine.restoreInitial());return}let o=this._placeholder?.gridstackNode;o&&(o._isExternal?(o._isAboutToRemove=!0,this.engine.removeNode(o)):o._isAboutToRemove&&e._itemRemoving(o.el,!1),this.engine.restoreInitial())}_removeDD(i){return xi.draggable(i,"destroy").resizable(i,"destroy"),i.gridstackNode&&delete i.gridstackNode._initDD,delete i.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return xi.droppable(this.el,"destroy"),this;let i,o,a=(n,c,d)=>{d=d||c;let v=d.gridstackNode;if(!v)return;if(!v.grid?.el){d.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let S=d.getBoundingClientRect();d.style.left=S.x+(this.dragTransform.xScale-1)*(n.clientX-S.x)/this.dragTransform.xScale+"px",d.style.top=S.y+(this.dragTransform.yScale-1)*(n.clientY-S.y)/this.dragTransform.yScale+"px",d.style.transformOrigin="0px 0px"}let{top:b,left:x}=d.getBoundingClientRect(),w=this.el.getBoundingClientRect();x-=w.left,b-=w.top;let B={position:{top:b*this.dragTransform.xScale,left:x*this.dragTransform.yScale}};if(v._temporaryRemoved){if(v.x=Math.max(0,Math.round(x/o)),v.y=Math.max(0,Math.round(b/i)),delete v.autoPosition,this.engine.nodeBoundFix(v),!this.engine.willItFit(v)){if(v.autoPosition=!0,!this.engine.willItFit(v)){xi.off(c,"drag");return}v._willFitPos&&(K.copyPos(v,v._willFitPos),delete v._willFitPos)}this._onStartMoving(d,n,B,v,o,i)}else this._dragOrResize(d,n,B,v,o,i)};return xi.droppable(this.el,{accept:n=>{let c=n.gridstackNode||this._readAttr(n,!1);if(c?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let d=!0;if(typeof this.opts.acceptWidgets=="function")d=this.opts.acceptWidgets(n);else{let v=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;d=n.matches(v)}if(d&&c&&this.opts.maxRow){let v={w:c.w,h:c.h,minW:c.minW,minH:c.minH};d=this.engine.willItFit(v)}return d}}).on(this.el,"dropover",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;if(v?.grid===this&&!v._temporaryRemoved)return!1;if(v?._sidebarOrig&&(v.w=v._sidebarOrig.w,v.h=v._sidebarOrig.h),v?.grid&&v.grid!==this&&!v._temporaryRemoved&&v.grid._leave(c,d),d=d||c,o=this.cellWidth(),i=this.getCellHeight(!0),!v){let w=d.getAttribute("data-gs-widget")||d.getAttribute("gridstacknode");if(w){try{v=JSON.parse(w)}catch{console.error("Gridstack dropover: Bad JSON format: ",w)}d.removeAttribute("data-gs-widget"),d.removeAttribute("gridstacknode")}v||(v=this._readAttr(d)),v._sidebarOrig={w:v.w,h:v.h}}v.grid||(v.el||(v=Y({},v)),v._isExternal=!0,d.gridstackNode=v);let b=v.w||Math.round(d.offsetWidth/o)||1,x=v.h||Math.round(d.offsetHeight/i)||1;return v.grid&&v.grid!==this?(c._gridstackNodeOrig||(c._gridstackNodeOrig=v),c.gridstackNode=v=He(Y({},v),{w:b,h:x,grid:this}),delete v.x,delete v.y,this.engine.cleanupNode(v).nodeBoundFix(v),v._initDD=v._isExternal=v._temporaryRemoved=!0):(v.w=b,v.h=x,v._temporaryRemoved=!0),e._itemRemoving(v.el,!1),xi.on(c,"drag",a),a(n,c,d),!1}).on(this.el,"dropout",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;return v&&(!v.grid||v.grid===this)&&(this._leave(c,d),this._isTemp&&this.removeAsSubGrid(v)),!1}).on(this.el,"drop",(n,c,d)=>{let v=d?.gridstackNode||c.gridstackNode;if(v?.grid===this&&!v._isExternal)return!1;let b=!!this.placeholder.parentElement,x=c!==d;this.placeholder.remove(),delete this.placeholder.gridstackNode,b&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let w=c._gridstackNodeOrig;if(delete c._gridstackNodeOrig,b&&w?.grid&&w.grid!==this){let S=w.grid;S.engine.removeNodeFromLayoutCache(w),S.engine.removedNodes.push(w),S._triggerRemoveEvent()._triggerChangeEvent(),S.parentGridNode&&!S.engine.nodes.length&&S.opts.subGridDynamic&&S.removeAsSubGrid()}if(!v||(b&&(this.engine.cleanupNode(v),v.grid=this),delete v.grid?._isTemp,xi.off(c,"drag"),d&&d!==c?(d.remove(),c=d):c.remove(),this._removeDD(c),!b))return!1;let B=v.subGrid?.el?.gridstack;return K.copyPos(v,this._readAttr(this.placeholder)),K.removePositioningStyles(c),x&&(v.content||v.subGridOpts||e.addRemoveCB)?(delete v.el,c=this.addWidget(v)||c):(this._prepareElement(c,!0,v),this.el.appendChild(c),this.resizeToContentCheck(!1,v),B&&(B.parentGridNode=v),this._updateContainerHeight()),this.engine.addedNodes.push(v),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(He(Y({},n),{type:"dropped"}),w&&w.grid?w:void 0,v),!1}),this}static _itemRemoving(i,o){if(!i)return;let a=i?i.gridstackNode:void 0;!a?.grid||i.classList.contains(a.grid.opts.removableOptions.decline)||(o?a._isAboutToRemove=!0:delete a._isAboutToRemove,o?i.classList.add("grid-stack-item-removing"):i.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let i=document.querySelector(this.opts.removable);return i?(!this.opts.staticGrid&&!xi.isDroppable(i)&&xi.droppable(i,this.opts.removableOptions).on(i,"dropover",(o,a)=>e._itemRemoving(a,!0)).on(i,"dropout",(o,a)=>e._itemRemoving(a,!1)),this):this}refreshDragHandles(i){return e.getElements(i).forEach(o=>{o.ddElement?.ddDraggable?.refreshHandles()}),this}prepareDragDrop(i,o=!1){let a=i?.gridstackNode;if(!a)return this;let n=a.noMove||this.opts.disableDrag,c=a.noResize||this.opts.disableResize,d=this.opts.staticGrid||n&&c;if((o||d)&&(a._initDD&&(this._removeDD(i),delete a._initDD),d))return i.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!a._initDD){let v,b,x=(S,D)=>{this.triggerEvent(S,S.target),v=this.cellWidth(),b=this.getCellHeight(!0),this._onStartMoving(i,S,D,a,v,b)},w=(S,D)=>{this._dragOrResize(i,S,D,a,v,b)},B=S=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete a._moving,delete a._resizing,delete a._event,delete a._lastTried;let D=a.w!==a._orig.w,j=S.target;if(!(!j.gridstackNode||j.gridstackNode.grid!==this)){if(a.el=j,a._isAboutToRemove){let re=i.gridstackNode.grid;re._gsEventHandler[S.type]&&re._gsEventHandler[S.type](S,j),re.engine.nodes.push(a),re.removeWidget(i,!0,!0)}else K.removePositioningStyles(j),a._temporaryRemoved?(this._writePosAttr(j,a),this.engine.addNode(a)):this._writePosAttr(j,a),this.triggerEvent(S,j);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),S.type==="resizestop"&&(Number.isInteger(a.sizeToContent)&&(a.sizeToContent=a.h),this.resizeToContentCheck(D,a))}};xi.draggable(i,{start:x,stop:B,drag:w,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}).resizable(i,{start:x,stop:B,resize:w,rtl:this.opts.rtl==="auto"?void 0:this.opts.rtl}),a._initDD=!0}return xi.draggable(i,n?"disable":"enable").resizable(i,c?"disable":"enable"),this}_onStartMoving(i,o,a,n,c,d){if(this.engine.cleanNodes().beginUpdate(n),this._writePosAttr(this.placeholder,n),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=n,n.grid?.el)this.dragTransform=K.getValuesFromTransformedElement(i);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let v=this.placeholder.closest(".grid-stack");this.dragTransform=K.getValuesFromTransformedElement(v)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(n.el=this.placeholder,n._lastUiPosition=a.position,n._prevYPix=a.position.top,n._moving=o.type==="dragstart",n._resizing=o.type==="resizestart",delete n._lastTried,o.type==="dropover"&&n._temporaryRemoved&&(this.engine.addNode(n),n._moving=!0),this.engine.cacheRects(c,d,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),o.type==="resizestart"){let v=this.getColumn()-n.x,b=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-n.y;xi.resizable(i,"option","minWidth",c*Math.min(n.minW||1,v)).resizable(i,"option","minHeight",d*Math.min(n.minH||1,b)).resizable(i,"option","maxWidth",c*Math.min(n.maxW||Number.MAX_SAFE_INTEGER,v)).resizable(i,"option","maxWidthMoveLeft",c*Math.min(n.maxW||Number.MAX_SAFE_INTEGER,n.x+n.w)).resizable(i,"option","maxHeight",d*Math.min(n.maxH||Number.MAX_SAFE_INTEGER,b)).resizable(i,"option","maxHeightMoveUp",d*Math.min(n.maxH||Number.MAX_SAFE_INTEGER,n.y+n.h))}}_dragOrResize(i,o,a,n,c,d){let v=Y({},n._orig),b=!1,x=this.opts.marginLeft,w=this.opts.marginRight,B=this.opts.marginTop,S=this.opts.marginBottom,D=Math.round(d*.1),j=Math.round(c*.1);if(x=Math.min(x,j),w=Math.min(w,j),B=Math.min(B,D),S=Math.min(S,D),o.type==="drag"){if(n._temporaryRemoved)return;n._prevYPix=a.position.top,this.opts.draggable.scroll!==!1&&Oe.dragElement?.updateScrollPosition(this.el);let V=a.position.left+(a.position.left>n._lastUiPosition.left?-w:x),ce=a.position.top+(a.position.top>n._lastUiPosition.top?-S:B);v.x=Math.round(V/c),v.y=Math.round(ce/d);let de=this._extraDragRow;if(this.engine.collide(n,v)){let be=this.getRow(),ie=Math.max(0,v.y+n.h-be);this.opts.maxRow&&be+ie>this.opts.maxRow&&(ie=Math.max(0,this.opts.maxRow-be)),this._extraDragRow=ie}else this._extraDragRow=0;if(this._extraDragRow!==de&&this._updateContainerHeight(),n.x===v.x&&n.y===v.y)return}else if(o.type==="resize"){if((v.x??0)<0||(K.updateScrollResize(o,i,d),v.w=Math.round((a.size.width-x)/c),v.h=Math.round((a.size.height-B)/d),n.w===v.w&&n.h===v.h)||n._lastTried&&n._lastTried.w===v.w&&n._lastTried.h===v.h)return;if(o.hasMovedX){let V=a.position.left+x;v.x=Math.round(V/c)}if(o.hasMovedY){let V=a.position.top+B;v.y=Math.round(V/d)}b=!0}n._event=o,n._lastTried=v;let re={x:a.position.left+x,y:a.position.top+B,w:(a.size?a.size.width:n.w*c)-x-w,h:(a.size?a.size.height:n.h*d)-B-S};if(this.engine.moveNodeCheck(n,He(Y({},v),{cellWidth:c,cellHeight:d,rect:re,resizing:b}))){n._lastUiPosition=a.position,this.engine.cacheRects(c,d,B,w,S,x),delete n._skipDown,b&&n.subGrid&&n.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let V=o.target;n._sidebarOrig||this._writePosAttr(V,n),this.triggerEvent(o,V)}}triggerEvent(i,o){let a=this;for(;a.parentGridNode;)a=a.parentGridNode.grid;a._gsEventHandler[i.type]&&a._gsEventHandler[i.type](i,o)}_leave(i,o){o=o||i;let a=o.gridstackNode;if(!a||(o.style.transform=o.style.transformOrigin="",xi.off(i,"drag"),a._temporaryRemoved))return;a._temporaryRemoved=!0,this.engine.removeNode(a),a.el=a._isExternal&&o?o:i;let n=a._sidebarOrig;a._isExternal&&this.engine.cleanupNode(a),a._sidebarOrig=n,this.opts.removable===!0&&e._itemRemoving(i,!0),i._gridstackNodeOrig?(i.gridstackNode=i._gridstackNodeOrig,delete i._gridstackNodeOrig):a._isExternal&&this.engine.restoreInitial()}}return e.renderCB=(t,i)=>{t&&i?.content&&(t.textContent=i.content)},e.resizeToContentParent=".grid-stack-item-content",e.Utils=K,e.Engine=bp,e.GDRev="13.0.1",e})(),GE=["container"],Qde=["*"];function Jde(e,t){}var eue=["*",[["","empty-content",""]]],tue=["*","[empty-content]"];function iue(e,t){e&1&&Wt(0,1,["*ngIf","isEmpty"])}function oue(e,t){}var vv=(()=>{class e{constructor(i){this.elementRef=i,this.el._gridItemComp=this}set options(i){let o=this.el.gridstackNode?.grid;o?o.update(this.el,i):this._options=He(Y({},i),{el:this.el})}get options(){return this.el.gridstackNode||this._options||{el:this.el}}get el(){return this.elementRef.nativeElement}clearOptions(){delete this._options}ngOnDestroy(){this.clearOptions(),delete this.childWidget,delete this.el._gridItemComp,delete this.container,delete this.ref}}return e.\u0275fac=function(t){return new(t||e)(N1(gt))},e.\u0275cmp=Ye({type:e,selectors:[["gridstack-item"]],viewQuery:function(t,i){if(t&1&&B_(GE,7,tr),t&2){let o;gu(o=fu())&&(i.container=o.first)}},inputs:{options:"options"},ngContentSelectors:Qde,decls:5,vars:1,consts:[["container",""],[1,"grid-stack-item-content"]],template:function(t,i){t&1&&(Yt(),I_(0,"div",1),KT(1,Jde,0,0,"ng-template",null,0,gB),Wt(3),Se(4),T_()),t&2&&(P(4),t0(" ",i.options.content," "))},styles:["[_nghost-%COMP%]{display:block}"]}),e})(),Cp=(()=>{class e{constructor(i){this.elementRef=i,this.addedCB=new x1,this.changeCB=new x1,this.disableCB=new x1,this.dragCB=new x1,this.dragStartCB=new x1,this.dragStopCB=new x1,this.droppedCB=new x1,this.enableCB=new x1,this.removedCB=new x1,this.resizeCB=new x1,this.resizeStartCB=new x1,this.resizeStopCB=new x1,Kr.addRemoveCB||(Kr.addRemoveCB=aue),Kr.saveCB||(Kr.saveCB=rue),Kr.updateCB||(Kr.updateCB=nue),this.el._gridComp=this}set options(i){this._grid?this._grid.updateOptions(i):this._options=i}get options(){return this._grid?.opts||this._options||{}}get el(){return this.elementRef.nativeElement}get grid(){return this._grid}static registerComponents(i){i.forEach(o=>e.componentMap[e.getSelector(o)]=o)}static getSelector(i){return AB(i).selector}ngOnInit(){this.loaded=!!this.options?.children?.length,this._grid=Kr.init(this._options,this.el),delete this._options,this.checkEmpty()}ngAfterContentInit(){this._sub=this.gridstackItems?.changes.subscribe(()=>this.updateAll()),this.loaded||this.updateAll(),this.hookEvents(this.grid)}ngOnDestroy(){this.unhookEvents(this._grid),this._sub?.unsubscribe(),this._grid?.destroy(),delete this._grid,delete this.el._gridComp,delete this.container,delete this.ref}updateAll(){if(!this.grid)return;let i=[];this.gridstackItems?.forEach(o=>{i.push(o.options),o.clearOptions()}),this.grid.load(i)}checkEmpty(){this.grid&&(this.isEmpty=!this.grid.engine.nodes.length)}hookEvents(i){i&&(i.parentGridNode||i.on("added",(o,a)=>{(a[0].grid?.el._gridComp||this).checkEmpty(),this.addedCB.emit({event:o,nodes:a})}).on("change",(o,a)=>this.changeCB.emit({event:o,nodes:a})).on("disable",o=>this.disableCB.emit({event:o})).on("drag",(o,a)=>this.dragCB.emit({event:o,el:a})).on("dragstart",(o,a)=>this.dragStartCB.emit({event:o,el:a})).on("dragstop",(o,a)=>this.dragStopCB.emit({event:o,el:a})).on("dropped",(o,a,n)=>this.droppedCB.emit({event:o,previousNode:a,newNode:n})).on("enable",o=>this.enableCB.emit({event:o})).on("removed",(o,a)=>{(a[0].grid?.el._gridComp||this).checkEmpty(),this.removedCB.emit({event:o,nodes:a})}).on("resize",(o,a)=>this.resizeCB.emit({event:o,el:a})).on("resizestart",(o,a)=>this.resizeStartCB.emit({event:o,el:a})).on("resizestop",(o,a)=>this.resizeStopCB.emit({event:o,el:a})))}unhookEvents(i){i&&(i.parentGridNode||i.off("added change disable drag dragstart dragstop dropped enable removed resize resizestart resizestop"))}}return e.componentMap={},e.\u0275fac=function(t){return new(t||e)(N1(gt))},e.\u0275cmp=Ye({type:e,selectors:[["gridstack"]],contentQueries:function(t,i,o){if(t&1&&eB(o,vv,4),t&2){let a;gu(a=fu())&&(i.gridstackItems=a)}},viewQuery:function(t,i){if(t&1&&B_(GE,7,tr),t&2){let o;gu(o=fu())&&(i.container=o.first)}},inputs:{options:"options",isEmpty:"isEmpty"},outputs:{addedCB:"addedCB",changeCB:"changeCB",disableCB:"disableCB",dragCB:"dragCB",dragStartCB:"dragStartCB",dragStopCB:"dragStopCB",droppedCB:"droppedCB",enableCB:"enableCB",removedCB:"removedCB",resizeCB:"resizeCB",resizeStartCB:"resizeStartCB",resizeStopCB:"resizeStopCB"},ngContentSelectors:tue,decls:4,vars:1,consts:[["container",""],[4,"ngIf"]],template:function(t,i){t&1&&(Yt(eue),XT(0,iue,1,0,"ng-content",1)(1,oue,0,0,"ng-template",null,0,gB),Wt(3)),t&2&&me("ngIf",i.isEmpty)},dependencies:[J$],styles:["[_nghost-%COMP%]{display:block}"]}),e})();function aue(e,t,i,o){if(i){if(!e)return;if(o){let a=e.parentElement?._gridItemComp;if(!a)return;let n=(a.childWidget?.container||a.container)?.createComponent(Cp),c=n?.instance;return c?(c.ref=n,c.options=t,c.el):void 0}else{let a=e._gridComp?.container?.createComponent(vv),n=a?.instance;if(!n)return;n.ref=a;let c=t.component,d=c?Cp.componentMap[c]:void 0;if(d){let v=()=>{let b=n.container?.createComponent(d),x=b?.instance;x&&typeof x.serialize=="function"&&typeof x.deserialize=="function"&&(n.childWidget=x,x._compRef=b,x.deserialize(t))};t.lazyLoad||t.grid?.opts?.lazyLoad&&t.lazyLoad!==!1?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([b])=>{b.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,v(),t.grid?.refreshDragHandles(n.el))}),window.setTimeout(()=>t.visibleObservable?.observe(n.el))):(v(),t.grid?.refreshDragHandles(n.el))}return n.el}}else if(o){let a=t.el?._gridComp;a?.ref?a.ref.destroy():a?.ngOnDestroy()}else{let a=t.el?._gridItemComp;a?.ref?a.ref.destroy():a?.ngOnDestroy()}}function rue(e,t){let i=e.el?._gridItemComp;if(i){let a=i.childWidget?.serialize();a&&(t.props=a);return}let o=e.el?._gridComp}function nue(e){let t=e,i=e.el?._gridItemComp;i?.childWidget&&t.props&&i.childWidget.deserialize(t)}var sue=["grid"],lue=["editCardsBtn"],cue=[[["","slot","dashboard-subheader"]]],hue=["[slot=dashboard-subheader]"],xx=(e,t)=>t.id,qE=(e,t)=>t.action;function due(e,t){if(e&1&&(G(0,"ui5-title",8),r1(1,"span",23),X()),e&2){let i=U();P(),me("innerHTML",i.safeTitle(),WI)}}function uue(e,t){if(e&1&&(G(0,"div",9),r1(1,"ui5-icon",24),G(2,"span",25),Se(3),X()()),e&2){let i=U();P(),me("accessibleName",i.i18n.getTranslation(i.i18nKeys.UNSAVED_CHANGES)),P(2),nt(i.i18n.getTranslation(i.i18nKeys.UNSAVED_CHANGES))}}function pue(e,t){if(e&1&&(G(0,"ui5-title",10),r1(1,"span",26),X()),e&2){let i=U();P(),me("innerHTML",i.safeDescription(),WI)}}function _ue(e,t){if(e&1){let i=ut();G(0,"ui5-button",27,1),ye("click",function(){Ze(i);let o=U();return Le(o.openCardPanel())}),Se(2),X()}if(e&2){let i=U();me("accessibleName",i.editCardsButton().text||i.editCardsButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_CARDS))("design",i.editCardsButton().design)("icon",i.editCardsButton().icon)("tooltip",i.editCardsButton().tooltip),P(2),nt(i.editCardsButton().text)}}function vue(e,t){e&1&&r1(0,"ui5-menu-separator")}function mue(e,t){if(e&1&&(r1(0,"ui5-menu-item",31),$e(1,vue,1,0,"ui5-menu-separator")),e&2){let i=U(2);me("icon",i.editViewButton().icon)("text",i.editViewButton().text||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW)),P(),Xe(i.customActions().length?1:-1)}}function gue(e,t){if(e&1&&r1(0,"ui5-menu-item",30),e&2){let i=t.$implicit;me("icon",i.icon??"")("text",i.text??""),st("data-action",i.action)("data-testid","dashboard-action-"+i.action)}}function fue(e,t){if(e&1&&r1(0,"ui5-menu-separator")(1,"ui5-menu-item",31),e&2){let i=U(2);P(),me("icon",i.editViewButton().icon)("text",i.editViewButton().text||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))}}function bue(e,t){if(e&1){let i=ut();G(0,"ui5-button",28,2),ye("click",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.update(a=>!a))}),X(),G(2,"ui5-menu",29),ye("ui5Close",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.set(!1))})("ui5ItemClick",function(o){Ze(i);let a=U();return Le(a.onMenuItemClick(o.detail.item.dataset.action,o))})("ui5Open",function(){Ze(i);let o=U();return Le(o.toolbarMenuOpen.set(!0))}),$e(3,mue,2,3),z0(4,gue,1,4,"ui5-menu-item",30,qE),$e(6,fue,2,2),X()}if(e&2){let i=E_(1),o=U();me("accessibleName",o.i18n.getTranslation(o.i18nKeys.ACTIONS))("tooltip",o.i18n.getTranslation(o.i18nKeys.ACTIONS)),P(2),me("open",o.toolbarMenuOpen())("opener",i.element),P(),Xe(o.config().editButtonFirst&&o.config().editable?3:-1),P(),F0(o.customActions()),P(2),Xe(!o.config().editButtonFirst&&o.config().editable?6:-1)}}function Cue(e,t){if(e&1){let i=ut();G(0,"ui5-button",34),ye("click",function(){Ze(i);let o=U(2);return Le(o.enterEditMode())}),Se(1),X()}if(e&2){let i=U(2);me("accessibleName",i.editViewButton().text||i.editViewButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))("design",i.editViewButton().design)("icon",i.editViewButton().icon)("tooltip",i.editViewButton().tooltip),P(),nt(i.editViewButton().text)}}function wue(e,t){if(e&1){let i=ut();G(0,"ui5-button",35),ye("click",function(o){let a=Ze(i).$implicit,n=U(2);return Le(n.actionButtonClick.emit({event:o,action:a}))}),Se(1),X()}if(e&2){let i=t.$implicit;me("accessibleName",i.text||i.tooltip||i.action)("design",i.design??"Default")("endIcon",i==null?null:i.endIcon)("icon",i.icon??"")("tooltip",i.tooltip??""),st("data-testid","dashboard-action-"+i.action),P(),nt(i.text)}}function yue(e,t){if(e&1){let i=ut();G(0,"ui5-button",34),ye("click",function(){Ze(i);let o=U(2);return Le(o.enterEditMode())}),Se(1),X()}if(e&2){let i=U(2);me("accessibleName",i.editViewButton().text||i.editViewButton().tooltip||i.i18n.getTranslation(i.i18nKeys.EDIT_VIEW))("design",i.editViewButton().design)("icon",i.editViewButton().icon)("tooltip",i.editViewButton().tooltip),P(),nt(i.editViewButton().text)}}function Aue(e,t){if(e&1&&($e(0,Cue,2,5,"ui5-button",32),z0(1,wue,2,7,"ui5-button",33,qE),$e(3,yue,2,5,"ui5-button",32)),e&2){let i=U();Xe(i.config().editButtonFirst&&i.config().editable?0:-1),P(),F0(i.customActions()),P(2),Xe(!i.config().editButtonFirst&&i.config().editable?3:-1)}}function xue(e,t){if(e&1){let i=ut();G(0,"mfp-dashboard-section",36),ye("removeCard",function(o){Ze(i);let a=U();return Le(a.removeCard(o))})("removeSection",function(){let o=Ze(i).$implicit,a=U();return Le(a.removeSection(o.id))}),X()}if(e&2){let i=t.$implicit,o=U();me("cards",o.sectionCards()(i.id))("editMode",o.editMode())("section",i)}}function Sue(e,t){if(e&1&&r1(0,"div",37),e&2){let i=U();k_(i.dragOriginStyle())}}function Iue(e,t){if(e&1){let i=ut();G(0,"gridstack-item",18)(1,"mfp-dashboard-card",38),ye("removeCard",function(){let o=Ze(i).$implicit,a=U();return Le(a.removeCard(o.id))}),X()()}if(e&2){let i=t.$implicit,o=U();me("options",i),P(),me("card",i)("editMode",o.editMode())}}function Tue(e,t){if(e&1){let i=ut();G(0,"div",19)(1,"ui5-button",39),ye("click",function(){Ze(i);let o=U();return Le(o.saveEdit())}),Se(2),X(),G(3,"ui5-button",40),ye("click",function(){Ze(i);let o=U();return Le(o.cancelEdit())}),Se(4),X()()}if(e&2){let i=U();P(2),nt(i.i18n.getTranslation(i.i18nKeys.SAVE)),P(2),nt(i.i18n.getTranslation(i.i18nKeys.CANCEL))}}document.body.classList.add("ui5-content-density-compact");var Npe=class wp{static registerAngularComponents(t){phe(t)}hostEl=ne(gt);injector=ne(xt);sanitizer=ne(kB);i18n=ne(In);config=Z.required();sections=dA([]);cards=dA([]);availableCards=Z([]);language=Z("en");saved=ve();actionButtonClick=ve();unsavedChangesChange=ve();i18nKeys=Y2;gridDirty=Nt(!1);isXLPage=Nt(!0);editMode=Nt(!1);compactToolbar=Nt(!1);toolbarMenuOpen=Nt(!1);cardDialogOpen=Nt(!1);discardDialogOpen=Nt(!1);unsavedNavDialogOpen=Nt(!1);backgroundImageHeight=Nt(null);dragOriginStyle=Nt(null);hasUnsavedChanges=Ee(()=>this.editMode()?this.gridDirty()?!0:JSON.stringify(this.sections())!==this.sectionsSnapshotJson||JSON.stringify(this.cards())!==this.cardsSnapshotJson:!1);safeTitle=Ee(()=>{let t=this.sanitizer.sanitize(ho.HTML,this.config().title)??"";return this.sanitizer.bypassSecurityTrustHtml(t)});safeDescription=Ee(()=>{let t=this.config().description;if(!t)return null;let i=this.sanitizer.sanitize(ho.HTML,t)??"";return this.sanitizer.bypassSecurityTrustHtml(i)});engineProfile=Ee(()=>this.config().zFlow?wx.zFlow:wx.default);gridStackEngine=Ee(()=>this.engineProfile().engineClass);gridBreakpoints=Ee(()=>[...this.engineProfile().breakpoints]);columnVars=Ee(()=>{let[t,i,o,a]=this.engineProfile().sectionColumns;return{"--dashboard-cols-sm":t,"--dashboard-cols-md":i,"--dashboard-cols-lg":o,"--dashboard-cols-xl":a}});customActions=Ee(()=>this.config().customActions??[]);addedCardsIds=Ee(()=>new Set(this.cards().map(t=>t.id)));editViewButton=Ee(()=>Y({icon:"action-settings",design:"Transparent",tooltip:this.i18n.getTranslation(Y2.EDIT_VIEW),text:""},this.config().buttonsSettings?.editViewButton));editCardsButton=Ee(()=>Y({icon:"",design:"Default",tooltip:"",text:this.i18n.getTranslation(Y2.EDIT_CARDS)},this.config().buttonsSettings?.editCardsButton));sectionCards=Ee(()=>{let t=this.cards();return i=>t.filter(o=>o.sectionId===i)});looseCards=yu(()=>{let t=this.cards().filter(o=>!o.sectionId),i=this.config().zFlow?.cardHeight;return!this.engineProfile().fixedCardHeight||i===void 0?t:t.map(o=>He(Y({},o),{h:i,maxH:i,minH:i}))});gridOptions=Ee(()=>({cellHeight:10,sizeToContent:!0,disableResize:!this.editMode(),disableDrag:!this.editMode(),marginBottom:0,marginLeft:0,marginRight:0,engineClass:this.gridStackEngine(),columnOpts:{breakpoints:this.gridBreakpoints()}}));sectionsSnapshotJson="";cardsSnapshotJson="";sectionsSnapshot=[];cardsSnapshot=[];gridStack=cc.required("grid");addCardBtn=cc("editCardsBtn");resizeObserver;cardsPosition=new Map;pendingNavigation=null;beforeUnloadHandler=t=>{this.hasUnsavedChanges()&&(t.preventDefault(),t.returnValue="")};constructor(){At(()=>{this.unsavedChangesChange.emit(this.hasUnsavedChanges())}),At(()=>{this.i18n.language.set(this.language())}),At(t=>{let i=this.config().backgroundImageUrl;if(this.backgroundImageHeight.set(null),!i)return;let o=new Image;o.onload=()=>{this.backgroundImageHeight.set(o.naturalHeight)},o.src=i,t(()=>{o.onload=null})})}ngOnInit(){this.resizeObserver=new ResizeObserver(t=>{let i=t[0]?.contentRect.width??0;this.compactToolbar.set(i<726),this.changeCardSettingsForXlPage(i)}),this.resizeObserver.observe(this.hostEl.nativeElement),window.addEventListener("beforeunload",this.beforeUnloadHandler)}ngOnDestroy(){this.resizeObserver?.disconnect(),window.removeEventListener("beforeunload",this.beforeUnloadHandler)}onMenuItemClick(t,i){if(t==="edit-view"){this.enterEditMode();return}let o=this.customActions().find(a=>a.action===t);o&&this.actionButtonClick.emit({event:i,action:o})}enterEditMode(){this.updateCardsPositions(),this.sectionsSnapshot=[...this.sections()],this.cardsSnapshot=[...this.cards()],this.sectionsSnapshotJson=JSON.stringify(this.sections()),this.cardsSnapshotJson=JSON.stringify(this.cards()),this.gridDirty.set(!1),this.editMode.set(!0),k3(()=>{this.addCardBtn()?.element.focus()},{injector:this.injector})}saveEdit(){this.updateCardsPositions();let t=this.cards().map(i=>{let o=this.cardsPosition.get(i.id);return He(Y({},i),{x:o?.x,y:o?.y,w:o?.w??i.w,h:o?.h??i.h})});this.gridDirty.set(!1),this.editMode.set(!1),this.cards.set(t),this.saved.emit({sections:this.sections(),cards:t})}cancelEdit(){if(this.hasUnsavedChanges()){this.discardDialogOpen.set(!0);return}this.discardEdit()}confirmDiscard(){this.discardDialogOpen.set(!1),this.discardEdit()}cancelDiscard(){this.discardDialogOpen.set(!1)}requestNavigation(t){return this.hasUnsavedChanges()?(this.pendingNavigation=t,this.unsavedNavDialogOpen.set(!0),!1):(t(),!0)}onUnsavedNavSave(){this.unsavedNavDialogOpen.set(!1),this.saveEdit(),this.runPendingNavigation()}onUnsavedNavDiscard(){this.unsavedNavDialogOpen.set(!1),this.discardEdit(),this.runPendingNavigation()}onUnsavedNavCancel(){this.unsavedNavDialogOpen.set(!1),this.pendingNavigation=null}runPendingNavigation(){let t=this.pendingNavigation;this.pendingNavigation=null,t?.()}discardEdit(){this.sections.set(this.sectionsSnapshot),this.cards.set(this.cardsSnapshot.map(t=>{let i=this.cardsPosition.get(t.id);return He(Y({},t),{x:i?.x,y:i?.y})})),this.cardDialogOpen.set(!1),this.gridDirty.set(!1),this.editMode.set(!1)}removeSection(t){this.sections.update(i=>i.filter(o=>o.id!==t)),this.cards.update(i=>i.filter(o=>o.sectionId!==t))}removeCard(t){let i=this.looseCards().some(o=>o.id===t);this.cardsPosition.delete(t),this.cards.update(o=>o.filter(a=>a.id!==t)),i&&k3(()=>{this.gridStack().grid?.compact("compact",!1)},{injector:this.injector})}openCardPanel(){this.cardDialogOpen.set(!0)}closeCardPanel(){this.cardDialogOpen.set(!1)}onCardsEdited(t){this.cards.update(i=>[...i.filter(o=>!t.removed.includes(o.id)),...t.added.map(o=>Y({},o))]),this.closeCardPanel()}onDragStart(t){if(this.getZFlowEngine()?.syncZFlowOrderFromLayout(),!this.engineProfile().renderOriginPosition)return;let i=t.el,o=this.gridStack().el.getBoundingClientRect(),a=i.getBoundingClientRect();this.dragOriginStyle.set({top:`${a.top-o.top}px`,left:`${a.left-o.left}px`,width:`${a.width}px`,height:`${a.height}px`})}onDragStop(){this.getZFlowEngine()?.commitZFlowLayout(),this.dragOriginStyle.set(null)}onGridChange(){this.editMode()&&this.gridDirty.set(!0)}saveCardsPosition(t){t.forEach(i=>{i.id&&this.cardsPosition.set(i.id,{x:i.x,y:i.y,w:i.w,h:i.h})})}updateCardsPositions(){let t=this.gridStack().gridstackItems?.toArray().map(i=>i.options);t&&this.saveCardsPosition(t)}getZFlowEngine(){let t=this.gridStack().grid?.engine;return t instanceof UE?t:null}updateCardsForBreakpoint(t){this.getZFlowEngine()?.syncZFlowOrderFromLayout(),this.cards.set(this.cards().map(t)),k3(()=>{this.getZFlowEngine()?.commitZFlowLayout()},{injector:this.injector})}changeCardSettingsForXlPage(t){this.engineProfile().xlWidthSwap&&(t>=lhe?this.isXLPage()||(this.isXLPage.set(!0),this.updateCardsForBreakpoint(i=>He(Y({},i),{w:i.w===4?3:i.w,maxW:i.maxW===4?3:i.maxW}))):this.isXLPage()&&(this.isXLPage.set(!1),this.updateCardsForBreakpoint(i=>He(Y({},i),{w:i.w===3?4:i.w,maxW:i.maxW===3?4:i.maxW}))))}static \u0275fac=function(t){return new(t||wp)};static \u0275cmp=Ye({type:wp,selectors:[["mfp-dashboard"]],viewQuery:function(t,i){t&1&&Gc(i.gridStack,sue,5)(i.addCardBtn,lue,5),t&2&&M_(2)},hostVars:4,hostBindings:function(t,i){t&2&&qo("background-image",i.config().backgroundImageUrl?"url("+i.config().backgroundImageUrl+")":null)("background-size",i.backgroundImageHeight()?"100% "+i.backgroundImageHeight()+"px":"100% auto")},inputs:{config:[1,"config"],sections:[1,"sections"],cards:[1,"cards"],availableCards:[1,"availableCards"],language:[1,"language"]},outputs:{sections:"sectionsChange",cards:"cardsChange",saved:"saved",actionButtonClick:"actionButtonClick",unsavedChangesChange:"unsavedChangesChange"},features:[_l([In])],ngContentSelectors:hue,decls:26,vars:18,consts:[["grid",""],["editCardsBtn",""],["menuBtn",""],["data-testid","dashboard",1,"mfp-dashboard"],[1,"mfp-dashboard__topbar"],[1,"mfp-dashboard__topbar-row"],[1,"mfp-dashboard__header"],[1,"mfp-dashboard__title-row"],["data-testid","dashboard-title","level","H3","size","H3","wrapping-type","Normal"],["role","status",1,"mfp-dashboard__unsaved-changes"],["data-testid","dashboard-description","level","H5","size","H5","wrapping-type","Normal"],[1,"mfp-dashboard__toolbar"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"accessibleName","design","icon","tooltip"],[1,"mfp-dashboard__subheader"],[1,"mfp-sections-container"],[3,"cards","editMode","section"],["data-testid","dashboard-grid",3,"addedCB","changeCB","dragStartCB","dragStopCB","removedCB","options"],[1,"mfp-dashboard__drag-origin-placeholder",3,"style"],[3,"options"],[1,"mfp-dashboard__edit-bar"],[3,"cancelled","confirm","addedCardsIds","availableCards","open"],[3,"cancelled","confirm","open"],[3,"cancelled","discard","save","open"],[3,"innerHTML"],["name","user-edit",1,"mfp-dashboard__unsaved-changes-icon",3,"accessibleName"],[1,"mfp-dashboard__unsaved-changes-text"],[1,"mfp-dashboard__description",3,"innerHTML"],["data-testid","dashboard-edit-cards-btn","id","edit-cards-btn",3,"click","accessibleName","design","icon","tooltip"],["data-testid","dashboard-toolbar-menu-btn","design","Transparent","icon","menu2",3,"click","accessibleName","tooltip"],["data-testid","dashboard-toolbar-menu",3,"ui5Close","ui5ItemClick","ui5Open","open","opener"],[3,"icon","text"],["data-action","edit-view","data-testid","dashboard-action-edit-view",3,"icon","text"],["data-testid","dashboard-edit-view-btn",3,"accessibleName","design","icon","tooltip"],[3,"accessibleName","design","endIcon","icon","tooltip"],["data-testid","dashboard-edit-view-btn",3,"click","accessibleName","design","icon","tooltip"],[3,"click","accessibleName","design","endIcon","icon","tooltip"],[3,"removeCard","removeSection","cards","editMode","section"],[1,"mfp-dashboard__drag-origin-placeholder"],[3,"removeCard","card","editMode"],["data-testid","dashboard-save-btn","design","Emphasized",3,"click"],["data-testid","dashboard-cancel-btn","design","Transparent",3,"click"]],template:function(t,i){t&1&&(Yt(cue),G(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),$e(5,due,2,1,"ui5-title",8),$e(6,uue,4,2,"div",9),X(),$e(7,pue,2,1,"ui5-title",10),X(),G(8,"div",11),$e(9,_ue,3,5,"ui5-button",12)(10,bue,7,6)(11,Aue,4,2),X()(),G(12,"div",13),Wt(13),X()(),G(14,"div",14),z0(15,xue,1,3,"mfp-dashboard-section",15,xx),X(),G(17,"gridstack",16,0),ye("addedCB",function(){return i.onGridChange()})("changeCB",function(){return i.onGridChange()})("dragStartCB",function(o){return i.onDragStart(o)})("dragStopCB",function(){return i.onDragStop()})("removedCB",function(){return i.onGridChange()}),$e(19,Sue,1,2,"div",17),z0(20,Iue,2,3,"gridstack-item",18,xx),X()(),$e(22,Tue,5,2,"div",19),G(23,"mfp-edit-cards-dialog",20),ye("cancelled",function(){return i.closeCardPanel()})("confirm",function(o){return i.onCardsEdited(o)}),X(),G(24,"mfp-discard-changes-dialog",21),ye("cancelled",function(){return i.cancelDiscard()})("confirm",function(){return i.confirmDiscard()}),X(),G(25,"mfp-unsaved-changes-dialog",22),ye("cancelled",function(){return i.onUnsavedNavCancel()})("discard",function(){return i.onUnsavedNavDiscard()})("save",function(){return i.onUnsavedNavSave()}),X()),t&2&&(k_(i.columnVars()),h5("edit",i.editMode()),P(5),Xe(i.config().title?5:-1),P(),Xe(i.hasUnsavedChanges()?6:-1),P(),Xe(i.config().description?7:-1),P(2),Xe(i.editMode()?9:i.compactToolbar()?10:11),P(6),F0(i.sections()),P(2),h5("zflow-dragging",!!i.dragOriginStyle()),me("options",i.gridOptions()),P(2),Xe(i.dragOriginStyle()?19:-1),P(),F0(i.looseCards()),P(2),Xe(i.editMode()?22:-1),P(),me("addedCardsIds",i.addedCardsIds())("availableCards",i.availableCards())("open",i.cardDialogOpen()),P(),me("open",i.discardDialogOpen()),P(),me("open",i.unsavedNavDialogOpen()))},dependencies:[Cp,vv,Ihe,Khe,ide,tde,VE,aa,r2,_de,mde,fde,Al],styles:[`.grid-stack{position:relative}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;z-index:100}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center;z-index:101}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.grid-stack-placeholder{z-index:2;pointer-events:none}.grid-stack-placeholder .placeholder-content{border-radius:16px;height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;background:var(--sapContent_Selected_Hover_Background, #E3F0FF);border:1px solid var(--sapContent_DragAndDropActiveColor, #0064D9);z-index:2!important}mfp-dashboard,mfp-wc-dashboard{display:block;flex:1;margin:0;padding:0;min-height:100%;background:var(--sapShellColor, #354a5e);background-size:100% auto;background-position:top center;background-repeat:no-repeat;background-attachment:local}.mfp-dashboard{padding:calc(var(--sapShell_Space_XL, 3rem) - 10px);container-type:inline-size;container-name:mfp-dashboard}.mfp-dashboard.edit{padding-bottom:60px}.mfp-sections-container{display:grid;grid-auto-rows:auto;align-content:start;gap:1rem;grid-template-columns:repeat(var(--dashboard-cols-xl, 14),1fr)}@container mfp-dashboard (max-width: 599px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-sm, 1),1fr)}}@container mfp-dashboard (min-width: 600px) and (max-width: 1023px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-md, 8),1fr)}}@container mfp-dashboard (min-width: 1024px) and (max-width: 1439px){.mfp-sections-container{grid-template-columns:repeat(var(--dashboard-cols-lg, 12),1fr)}}.mfp-dashboard__topbar{grid-column:1/-1;align-self:start;display:flex;flex-direction:column;gap:1rem;padding-bottom:3rem;width:100%;min-width:0}.mfp-dashboard__topbar-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0 10px}.mfp-dashboard__header{display:flex;flex-direction:column;gap:.25rem}.mfp-dashboard__title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mfp-dashboard__unsaved-changes{display:inline-flex;align-items:center;gap:.375rem}.mfp-dashboard__unsaved-changes-icon{width:16px;height:16px;color:var(--sapContent_MarkerIconColor)}.mfp-dashboard__unsaved-changes-text{color:var(--sapContent_LabelColor);text-shadow:0 0 2px var(--sapContent_ContrastTextShadow, #fff);font-family:var(--sapFontFamily);font-size:var(--sapFontSize, 14px);font-style:normal;font-weight:400;line-height:normal}.mfp-dashboard__description{font-weight:400;font-family:var(--sapFontFamily)}.mfp-dashboard__description b,.mfp-dashboard__description strong{font-family:var(--sapFontBoldFamily)}.mfp-dashboard__toolbar{flex-shrink:0;display:flex;gap:.5rem}.mfp-dashboard__subheader{display:flex;align-items:center;gap:1rem}.mfp-dashboard__edit-bar{position:fixed;bottom:20px;left:16px;right:16px;z-index:1000;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:7px 16px;background:var(--sapPageFooter_Background, white);border-radius:var(--sapElement_BorderCornerRadius, 12px);box-shadow:0 0 0 1px #2235487a,0 2px 8px #2235484d;box-sizing:border-box;overflow:hidden}@media screen and (min-width:0px)and (max-width:599px){.mfp-dashboard{padding:calc(var(--sapShell_Space_S, 1rem) - 10px)}}@media screen and (min-width:600px)and (max-width:1023px){.mfp-dashboard{padding:calc(var(--sapShell_Space_M, 2rem) - 10px)}}@media screen and (min-width:1024px)and (max-width:1439px){.mfp-dashboard{padding:calc(var(--sapShell_Space_L, 2rem) - 10px)}}.grid-stack.grid-stack-dragging,.grid-stack.grid-stack-dragging *{cursor:grabbing!important}.mfp-dashboard__drag-origin-placeholder{position:absolute;pointer-events:none;z-index:1}.mfp-dashboard__drag-origin-placeholder:before{content:"";height:calc(100% - 30px);top:calc(var(--gs-item-margin-top) * 2 - 2px)!important;width:calc(100% - 19px);left:8px!important;position:absolute;background:var(--sapNeutralColor, #6a6d75);border-radius:16px;opacity:.3}gridstack{position:relative}.grid-stack:has(.ui-resizable-resizing),.grid-stack:has(.ui-resizable-resizing) *{cursor:nwse-resize!important}.grid-stack-item>.ui-resizable-handle{background-image:none!important}
574
574
  `],encapsulation:2})};hg("mfp");(async()=>{let e=await fX(),t=n6(DE,{injector:e.injector});customElements.define("mfp-wc-declarative-table",t);let i=n6(pv,{injector:e.injector});class o extends i{submit(){this.ngElementStrategy.componentRef?.instance.submit()}clear(){this.ngElementStrategy.componentRef?.instance.clear()}}customElements.define("mfp-wc-declarative-form",o);let a=n6(nhe,{injector:e.injector});class n extends a{closeCreateDialog(){this.componentInstance()?.closeCreateDialog()}closeEditDialog(){this.componentInstance()?.closeEditDialog()}closeDeleteDialog(){this.componentInstance()?.closeDeleteDialog()}componentInstance(){return this.ngElementStrategy.componentRef?.instance}}customElements.define("mfp-wc-declarative-table-card",n);let c=n6(N$,{injector:e.injector});customElements.define("mfp-wc-visited-service-card",c)})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmfp/webcomponents",
3
- "version": "0.18.5",
3
+ "version": "0.18.7",
4
4
  "description": "OpenMFP web components bundle",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {