homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
3 lines • 235 kB
JavaScript
import {b}from'./chunk-C3ETAMH_.js';import {L}from'./chunk-MWxClZxO.js';import {J}from'./chunk-mlYa-JJm.js';import {W as We,M as Me,n as nn$1}from'./chunk-D6tmoFhC.js';import {P as P$1}from'./chunk-MBL0f7eL.js';import {R as Ri}from'./chunk-DMIeeBQR.js';import'./chunk-B6VUt1El.js';import {l as le,p as pM,R as Re$1}from'./chunk-5l8EBl04.js';import'./chunk-A2dLPk2u.js';import'./chunk-CG3i5q02.js';import {N as N$2}from'./chunk-DBaXd1B9.js';import {p}from'./chunk-b_mHvpXA.js';import {Z}from'./chunk-BwPN3JEB.js';import'./chunk-CCTcrEQI.js';import {g,n as ne,ag as we,a as ae,ah as si,al as M,z as zt,a1 as M0,a2 as bf,W,aF as $$1,A as An$1,a5 as x,a4 as w,E,ai as ty,aG as A,F as Fn$1,J as Ja,av as fe,aH as X,X as I3,aI as $i,H as Hf,aJ as Uf,aK as ws$1,aL as Lr$1,aM as Dt$1,c as Eo$1,p as pe,ab as B,ay as Qe$1,am as Ii,aN as lc,aO as oe,B as BH,an as PH,ao as ei,aP as Is$1,aQ as LH,aR as se$1,aS as oe$1,a3 as TD,aT as id,aU as _n$1,$,S as Se,aj as D,Z as m,aV as St$1,aW as u8,aX as Yt$1,aY as Q,aZ as sv,a_ as Ln,a$ as bS,b0 as wT,b1 as dT,b2 as uT,b3 as CT,o as dy,b4 as fT,y as ie,M as Ey,P as ST,u as Re,O as Oe,w as Kt$1,k as K8,az as ke,s as At$1,t as f_,aA as Je$1,aB as _i,aC as Dr$1,N as Ny,G as h_,a6 as vr$1,I as Rt$1,b5 as Ue,b6 as qc,K as Kn$1,b7 as Xn$1,b8 as Yn$1,Y as Ye$1,b9 as dn$1,ba as Mt$1,bb as Vt,e as Hn$1,bc as Ht,bd as Gt$1,be as ln$1,bf as gh,bg as AS,m as La,R as Rd,q as rc,D as ly,aD as bi,bh as gr$1,bi as pr$1,x as Cy,bj as Y,bk as g_,bl as NS,bm as kS,bn as Xa,i as Jn$1,d as zn$1,L as Ln$1,C as Cn$1,_ as _n$2,bo as xy,bp as MS,bq as pw,br as fn$1,bs as mn,ar as Dt$2,aw as Qt$1,U as ye$1,a8 as nc,a9 as Go$1,aa as Wo$1,bt as Fy,Q as KC,bu as ky,T as JC,a7 as s_,bv as lT,bw as a_,bx as c_,ax as Wg,by as t_,V as Ha,at as MT,bz as Ay}from'./main-ONDCASUV.js';import'./chunk-BtxeAJ3m.js';import {p as pr$2}from'./chunk-vqqeWC6a.js';import {x as x$1,N as N$1,P,g as g$1,D as D$1}from'./chunk-BWu8OGjA.js';import {d as dr$1}from'./chunk-KTYlT6lA.js';import'./chunk-DL7vVfE4.js';import'./chunk-Cy08K-Mh.js';import'./chunk-C8ZPrgbC.js';import'./chunk-doMANZyQ.js';import'./chunk-B2HnQlJt.js';import'./chunk-b3up2ArD.js';import'./chunk-7svcfPtx.js';import'./chunk-WUyBXYN7.js';import'./chunk-C4ubcADd.js';import'./chunk-QDhEG-Xh.js';import'./chunk-BidAOGy6.js';import'./chunk-lMjhVFUB.js';import'./chunk-CzRg8YX8.js';import'./chunk-DAyV9xsz.js';import'./chunk-B41tnDbB.js';import'./chunk-DqdSMBKI.js';import'./chunk-DoPE3N3z.js';import'./chunk-D-E7ed-H.js';import'./chunk-Ds4JiOhb.js';import'./chunk-BaKTdomc.js';import'./chunk-CSWVRWgN.js';import'./chunk-u2FneiiB.js';import'./chunk-DuKttKIp.js';import'./chunk-CgMQTfWL.js';import'./chunk-BC_vNxU2.js';import'./chunk-C-jJI3wF.js';import'./chunk-C3fDPXbF.js';import'./chunk-B09onH1d.js';import'./chunk-DIIPo35n.js';import'./chunk-BVt7fy49.js';import'./chunk-DcTLbPux.js';var Pn=B((Zm,ba)=>{ba.exports=[{component:"UpdateInfoWidgetComponent",x:0,y:0,cols:4,rows:6,mobileOrder:10,hidePort:!0,hideOnMobile:!1,draggable:!0},{component:"BridgesWidgetComponent",x:15,y:0,cols:5,rows:12,mobileOrder:35,hideOnMobile:!1,draggable:!0},{component:"CpuWidgetComponent",x:4,y:0,cols:5,rows:3,mobileOrder:40,hideOnMobile:!1,draggable:!0,refreshInterval:10,historyItems:60},{component:"MemoryWidgetComponent",x:4,y:3,cols:5,rows:3,mobileOrder:50,hideOnMobile:!1,draggable:!0,refreshInterval:10,historyItems:60},{component:"NetworkWidgetComponent",x:4,y:6,cols:5,rows:3,mobileOrder:55,hideOnMobile:!1,draggable:!0,refreshInterval:10,historyItems:60,networkInterface:"en0"},{component:"UptimeWidgetComponent",x:4,y:9,cols:5,rows:3,mobileOrder:60,hideOnMobile:!1,draggable:!0},{component:"SystemInfoWidgetComponent",x:9,y:0,cols:6,rows:12,mobileOrder:70,hideOnMobile:!1,draggable:!0},{component:"MatterQrcodeWidgetComponent",x:0,y:12,cols:4,rows:6,mobileOrder:100,hideOnMobile:!1,draggable:!0},{x:0,y:6,component:"HapQrcodeWidgetComponent",cols:4,rows:6,mobileOrder:100,draggable:!0},{component:"HomebridgeLogsWidgetComponent",x:4,y:12,cols:16,rows:6,mobileOrder:1e3,hideOnMobile:!0,draggable:!0}];});var on=["*"];function zn(o,n){if(o&1&&dy(0,"div",0),o&2){let e=n.$index,t=ye$1();ly("ngStyle",t.gridRenderer.getGridColumnStyle(e));}}function Vn(o,n){if(o&1&&dy(0,"div",1),o&2){let e=n.$index,t=ye$1();ly("ngStyle",t.gridRenderer.getGridRowStyle(e));}}function On(o,n){if(o&1){let e=nc();ke(0,"div",8),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function Hn(o,n){if(o&1){let e=nc();ke(0,"div",9),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function Nn(o,n){if(o&1){let e=nc();ke(0,"div",10),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function Un(o,n){if(o&1){let e=nc();ke(0,"div",11),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function Fn(o,n){if(o&1){let e=nc();ke(0,"div",12),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function An(o,n){if(o&1){let e=nc();ke(0,"div",13),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function jn(o,n){if(o&1){let e=nc();ke(0,"div",14),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}function qn(o,n){if(o&1){let e=nc();ke(0,"div",15),_i("mousedown",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))})("touchstart",function(i){Go$1(e);let r=ye$1();return Wo$1(r.resize.dragStartDelay(i))}),Je$1();}}var z=(function(o){return o.Fit="fit",o.ScrollVertical="scrollVertical",o.ScrollHorizontal="scrollHorizontal",o.Fixed="fixed",o.VerticalFixed="verticalFixed",o.HorizontalFixed="horizontalFixed",o})(z||{}),sn=(function(o){return o.Always="always",o.OnDragAndResize="onDrag&Resize",o.None="none",o})(sn||{}),N=(function(o){return o.None="none",o.CompactUp="compactUp",o.CompactLeft="compactLeft",o.CompactUpAndLeft="compactUp&Left",o.CompactLeftAndUp="compactLeft&Up",o.CompactRight="compactRight",o.CompactUpAndRight="compactUp&Right",o.CompactRightAndUp="compactRight&Up",o.CompactDown="compactDown",o.CompactDownAndLeft="compactDown&Left",o.CompactLeftAndDown="compactLeft&Down",o.CompactDownAndRight="compactDown&Right",o.CompactRightAndDown="compactRight&Down",o.CompactGrid="compactGrid",o})(N||{}),se=(function(o){return o.LTR="ltr",o.RTL="rtl",o})(se||{}),jt=class{gridster;constructor(n){this.gridster=n;}destroy(){this.gridster=null;}checkCompact(){let n=this.gridster.$options();n.compactType!==N.None&&(n.compactType===N.CompactUp?this.checkCompactMovement("y",-1):n.compactType===N.CompactLeft?this.checkCompactMovement("x",-1):n.compactType===N.CompactUpAndLeft?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",-1)):n.compactType===N.CompactLeftAndUp?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",-1)):n.compactType===N.CompactRight?this.checkCompactMovement("x",1):n.compactType===N.CompactUpAndRight?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",1)):n.compactType===N.CompactRightAndUp?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",-1)):n.compactType===N.CompactDown?this.checkCompactMovement("y",1):n.compactType===N.CompactDownAndLeft?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",-1)):n.compactType===N.CompactDownAndRight?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",1)):n.compactType===N.CompactLeftAndDown?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",1)):n.compactType===N.CompactRightAndDown?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",1)):n.compactType===N.CompactGrid&&this.checkCompactGrid());}checkCompactItem(n){let e=this.gridster.$options();e.compactType!==N.None&&(e.compactType===N.CompactUp?this.moveTillCollision(n,"y",-1):e.compactType===N.CompactLeft?this.moveTillCollision(n,"x",-1):e.compactType===N.CompactUpAndLeft?(this.moveTillCollision(n,"y",-1),this.moveTillCollision(n,"x",-1)):e.compactType===N.CompactLeftAndUp?(this.moveTillCollision(n,"x",-1),this.moveTillCollision(n,"y",-1)):e.compactType===N.CompactUpAndRight?(this.moveTillCollision(n,"y",-1),this.moveTillCollision(n,"x",1)):e.compactType===N.CompactDown?this.moveTillCollision(n,"y",1):e.compactType===N.CompactDownAndLeft?(this.moveTillCollision(n,"y",1),this.moveTillCollision(n,"x",-1)):e.compactType===N.CompactLeftAndDown?(this.moveTillCollision(n,"x",-1),this.moveTillCollision(n,"y",1)):e.compactType===N.CompactDownAndRight?(this.moveTillCollision(n,"y",1),this.moveTillCollision(n,"x",1)):e.compactType===N.CompactRightAndDown?(this.moveTillCollision(n,"x",1),this.moveTillCollision(n,"y",1)):e.compactType===N.CompactGrid&&this.moveToGridPosition(n));}checkCompactMovement(n,e){let t=false;this.gridster.grid.forEach(i=>{i.$item().compactEnabled!==false&&this.moveTillCollision(i.$item(),n,e)&&(t=true,i.item()[n]=i.$item()[n],i.itemChanged());}),t&&this.checkCompact();}moveTillCollision(n,e,t){return n[e]+=t,this.gridster.checkCollision(n)?(n[e]-=t,false):(this.moveTillCollision(n,e,t),true)}checkCompactGrid(){let n=this.gridster.grid.filter(r=>r.$item().compactEnabled!==false).sort((r,c)=>r.$item().y!==c.$item().y?r.$item().y-c.$item().y:r.$item().x-c.$item().x),e=0,t=0,i=0;n.forEach(r=>{let c=r.$item();t+c.cols>this.gridster.columns&&(e=i,t=0,i=e);let g=c.x,T=c.y;c.x=t,c.y=e,(g!==c.x||T!==c.y)&&(r.item().x=c.x,r.item().y=c.y,r.itemChanged()),t+=c.cols,i=Math.max(i,e+c.rows);});}moveToGridPosition(n){let e=0,t=0,i=0,r=this.gridster.grid.filter(c=>c.$item()!==n).sort((c,g)=>c.$item().y!==g.$item().y?c.$item().y-g.$item().y:c.$item().x-g.$item().x);for(let c of r){let g=c.$item();t+g.cols>this.gridster.columns&&(e=i,t=0,i=e),e<g.y+g.rows&&e+n.rows>g.y&&t<g.x+g.cols&&t+n.cols>g.x?(t=g.x+g.cols,e=g.y,i=Math.max(i,e+g.rows)):(t+=g.cols,i=Math.max(i,e+g.rows));}t+n.cols>this.gridster.columns&&(e=i,t=0),n.x=t,n.y=e;}},Ki={gridType:z.Fit,scale:1,fixedColWidth:250,fixedRowHeight:250,keepFixedHeightInMobile:false,keepFixedWidthInMobile:false,setGridSize:false,compactType:N.None,mobileBreakpoint:640,useBodyForBreakpoint:false,allowMultiLayer:false,defaultLayerIndex:0,maxLayerIndex:2,baseLayerIndex:1,minCols:1,maxCols:100,minRows:1,maxRows:100,defaultItemCols:1,defaultItemRows:1,itemAspectRatio:null,maxItemCols:50,maxItemRows:50,minItemCols:1,minItemRows:1,minItemArea:1,maxItemArea:2500,addEmptyRowsCount:0,rowHeightRatio:1,margin:10,outerMargin:true,outerMarginTop:null,outerMarginRight:null,outerMarginBottom:null,outerMarginLeft:null,useTransformPositioning:true,scrollSensitivity:10,scrollSpeed:20,initCallback:void 0,destroyCallback:void 0,gridSizeChangedCallback:void 0,itemChangeCallback:void 0,itemResizeCallback:void 0,itemInitCallback:void 0,itemRemovedCallback:void 0,itemValidateCallback:void 0,enableEmptyCellClick:false,enableEmptyCellContextMenu:false,enableEmptyCellDrop:false,enableEmptyCellDrag:false,enableOccupiedCellDrop:false,emptyCellClickCallback:void 0,emptyCellContextMenuCallback:void 0,emptyCellDropCallback:void 0,emptyCellDragCallback:void 0,emptyCellDragMaxCols:50,emptyCellDragMaxRows:50,ignoreMarginInRow:false,draggable:{delayStart:0,enabled:false,ignoreContentClass:"gridster-item-content",ignoreContent:false,dragHandleClass:"drag-handler",stop:void 0,start:void 0,dropOverItems:false,dropOverItemsCallback:void 0},resizable:{delayStart:0,enabled:false,handles:{s:true,e:true,n:true,w:true,se:true,ne:true,sw:true,nw:true},stop:void 0,start:void 0},swap:true,swapWhileDragging:false,pushItems:false,disablePushOnDrag:false,disablePushOnResize:false,pushDirections:{north:true,east:true,south:true,west:true},pushResizeItems:false,displayGrid:sn.OnDragAndResize,disableWindowResize:false,disableWarnings:false,scrollToNewItems:false,disableScrollHorizontal:false,disableScrollVertical:false,enableBoundaryControl:false,disableAutoPositionOnConflict:false,dirType:se.LTR},re=class o{static merge(n,e,t){for(let i in e)e[i]!==void 0&&t.hasOwnProperty(i)&&(typeof e[i]=="object"?(i in n||(n[i]={}),n[i]=o.merge(n[i],e[i],t[i])):n[i]=e[i]);return n}static checkTouchEvent(n){n.clientX===void 0&&n.touches&&(n.touches&&n.touches.length?(n.clientX=n.touches[0].clientX,n.clientY=n.touches[0].clientY):n.changedTouches&&n.changedTouches.length&&(n.clientX=n.changedTouches[0].clientX,n.clientY=n.changedTouches[0].clientY));}static checkContentClassForEvent(n,e){let t=n.$options();if(t.draggable.ignoreContent){if(!o.checkDragHandleClass(e.target,e.currentTarget,t.draggable.dragHandleClass,t.draggable.ignoreContentClass))return true}else if(o.checkContentClass(e.target,e.currentTarget,t.draggable.ignoreContentClass))return true;return false}static checkContentClassForEmptyCellClickEvent(n,e){let t=n.$options();return o.checkContentClass(e.target,e.currentTarget,t.draggable.ignoreContentClass)||o.checkContentClass(e.target,e.currentTarget,t.draggable.dragHandleClass)}static checkDragHandleClass(n,e,t,i){if(!n||n===e)return false;if(n.hasAttribute("class")){let r=n.getAttribute("class").split(" ");if(r.indexOf(t)>-1)return true;if(r.indexOf(i)>-1)return false}return o.checkDragHandleClass(n.parentNode,e,t,i)}static checkContentClass(n,e,t){return !n||n===e?false:n.hasAttribute("class")&&n.getAttribute("class").split(" ").indexOf(t)>-1?true:o.checkContentClass(n.parentNode,e,t)}static compareItems(n,e){return n.y>e.y?-1:n.y<e.y?1:n.x>e.x?-1:1}},qt=class{gridster;initialItem;removeEmptyCellClickListenerFn;removeEmptyCellTouchendListenerFn;removeEmptyCellContextMenuListenerFn;removeEmptyCellDropListenerFn;removeEmptyCellMousedownListenerFn;removeEmptyCellTouchstartListenerFn;removeWindowMousemoveListenerFn;removeWindowTouchmoveListenerFn;removeWindowMouseupListenerFn;removeWindowTouchendListenerFn;removeEmptyCellDragoverListenerFn;removeDocumentDragendListenerFn;constructor(n){this.gridster=n;}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(),this.gridster.movingItem=null,this.initialItem=this.gridster=null,this.removeDocumentDragendListenerFn&&(this.removeDocumentDragendListenerFn(),this.removeDocumentDragendListenerFn=null);}updateOptions(){let n=this.gridster.options(),e=this.gridster.$options();e.enableEmptyCellClick&&!this.removeEmptyCellClickListenerFn&&n.emptyCellClickCallback?(this.removeEmptyCellClickListenerFn=this.gridster.renderer.listen(this.gridster.el,"click",this.emptyCellClickCb),this.removeEmptyCellTouchendListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchend",this.emptyCellClickCb)):!e.enableEmptyCellClick&&this.removeEmptyCellClickListenerFn&&this.removeEmptyCellTouchendListenerFn&&(this.removeEmptyCellClickListenerFn(),this.removeEmptyCellTouchendListenerFn(),this.removeEmptyCellClickListenerFn=null,this.removeEmptyCellTouchendListenerFn=null),e.enableEmptyCellContextMenu&&!this.removeEmptyCellContextMenuListenerFn&&n.emptyCellContextMenuCallback?this.removeEmptyCellContextMenuListenerFn=this.gridster.renderer.listen(this.gridster.el,"contextmenu",this.emptyCellContextMenuCb):!e.enableEmptyCellContextMenu&&this.removeEmptyCellContextMenuListenerFn&&(this.removeEmptyCellContextMenuListenerFn(),this.removeEmptyCellContextMenuListenerFn=null),e.enableEmptyCellDrop&&!this.removeEmptyCellDropListenerFn&&n.emptyCellDropCallback?(this.removeEmptyCellDropListenerFn=this.gridster.renderer.listen(this.gridster.el,"drop",this.emptyCellDragDrop),this.gridster.zone.runOutsideAngular(()=>{this.removeEmptyCellDragoverListenerFn=this.gridster.renderer.listen(this.gridster.el,"dragover",this.emptyCellDragOver);}),this.removeDocumentDragendListenerFn=this.gridster.renderer.listen("document","dragend",()=>{this.gridster.movingItem=null,this.gridster.previewStyle();})):!e.enableEmptyCellDrop&&this.removeEmptyCellDropListenerFn&&this.removeEmptyCellDragoverListenerFn&&this.removeDocumentDragendListenerFn&&(this.removeEmptyCellDropListenerFn(),this.removeEmptyCellDragoverListenerFn(),this.removeDocumentDragendListenerFn(),this.removeEmptyCellDragoverListenerFn=null,this.removeEmptyCellDropListenerFn=null,this.removeDocumentDragendListenerFn=null),e.enableEmptyCellDrag&&!this.removeEmptyCellMousedownListenerFn&&n.emptyCellDragCallback?(this.removeEmptyCellMousedownListenerFn=this.gridster.renderer.listen(this.gridster.el,"mousedown",this.emptyCellMouseDown),this.removeEmptyCellTouchstartListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchstart",this.emptyCellMouseDown)):!e.enableEmptyCellDrag&&this.removeEmptyCellMousedownListenerFn&&this.removeEmptyCellTouchstartListenerFn&&(this.removeEmptyCellMousedownListenerFn(),this.removeEmptyCellTouchstartListenerFn(),this.removeEmptyCellMousedownListenerFn=null,this.removeEmptyCellTouchstartListenerFn=null);}emptyCellClickCb=n=>{if(!this.gridster||this.gridster.movingItem||re.checkContentClassForEmptyCellClickEvent(this.gridster,n))return;let e=this.getValidItemFromEvent(n);if(!e)return;let t=this.gridster.options();t.emptyCellClickCallback&&t.emptyCellClickCallback(n,e),this.gridster.cdRef.markForCheck();};emptyCellContextMenuCb=n=>{if(this.gridster.movingItem||re.checkContentClassForEmptyCellClickEvent(this.gridster,n))return;n.preventDefault(),n.stopPropagation();let e=this.getValidItemFromEvent(n);if(!e)return;let t=this.gridster.options();t.emptyCellContextMenuCallback&&t.emptyCellContextMenuCallback(n,e),this.gridster.cdRef.markForCheck();};emptyCellDragDrop=n=>{let e=this.getValidItemFromEvent(n);if(!e)return;let t=this.gridster.options();t.emptyCellDropCallback&&t.emptyCellDropCallback(n,e),this.gridster.cdRef.markForCheck();};emptyCellDragOver=n=>{n.preventDefault(),n.stopPropagation();let e=this.getValidItemFromEvent(n);e?(n.dataTransfer&&(n.dataTransfer.dropEffect="move"),this.gridster.movingItem=e):(n.dataTransfer&&(n.dataTransfer.dropEffect="none"),this.gridster.movingItem=null),this.gridster.previewStyle();};emptyCellMouseDown=n=>{if(re.checkContentClassForEmptyCellClickEvent(this.gridster,n))return;n.preventDefault(),n.stopPropagation();let e=this.getValidItemFromEvent(n);!e||n.buttons!==1&&!(n instanceof TouchEvent)||(this.initialItem=e,this.gridster.movingItem=e,this.gridster.previewStyle(),this.gridster.zone.runOutsideAngular(()=>{this.removeWindowMousemoveListenerFn=this.gridster.renderer.listen("window","mousemove",this.emptyCellMouseMove),this.removeWindowTouchmoveListenerFn=this.gridster.renderer.listen("window","touchmove",this.emptyCellMouseMove);}),this.removeWindowMouseupListenerFn=this.gridster.renderer.listen("window","mouseup",this.emptyCellMouseUp),this.removeWindowTouchendListenerFn=this.gridster.renderer.listen("window","touchend",this.emptyCellMouseUp));};emptyCellMouseMove=n=>{n.preventDefault(),n.stopPropagation();let e=this.getValidItemFromEvent(n,this.initialItem);e&&(this.gridster.movingItem=e,this.gridster.previewStyle());};emptyCellMouseUp=n=>{this.removeWindowMousemoveListenerFn(),this.removeWindowTouchmoveListenerFn(),this.removeWindowMouseupListenerFn(),this.removeWindowTouchendListenerFn();let e=this.getValidItemFromEvent(n,this.initialItem);e&&(this.gridster.movingItem=e);let t=this.gridster.options();t.emptyCellDragCallback&&this.gridster.movingItem&&t.emptyCellDragCallback(n,this.gridster.movingItem),setTimeout(()=>{this.initialItem=null,this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle());}),this.gridster.cdRef.markForCheck();};getPixelsX(n,e){let t=this.gridster.options().scale;return t?(n.clientX-e.left)/t+this.gridster.el.scrollLeft-this.gridster.gridRenderer.getLeftMargin():n.clientX+this.gridster.el.scrollLeft-e.left-this.gridster.gridRenderer.getLeftMargin()}getPixelsY(n,e){let t=this.gridster.options().scale;return t?(n.clientY-e.top)/t+this.gridster.el.scrollTop-this.gridster.gridRenderer.getTopMargin():n.clientY+this.gridster.el.scrollTop-e.top-this.gridster.gridRenderer.getTopMargin()}getValidItemFromEvent(n,e){n.preventDefault(),n.stopPropagation(),re.checkTouchEvent(n);let t=this.gridster.el.getBoundingClientRect(),i=this.getPixelsX(n,t),r=this.getPixelsY(n,t),c=this.gridster.$options(),g={x:this.gridster.pixelsToPositionX(i,Math.floor,true),y:this.gridster.pixelsToPositionY(r,Math.floor,true),cols:c.defaultItemCols,rows:c.defaultItemRows};if(e&&(g.cols=Math.min(Math.abs(e.x-g.x)+1,c.emptyCellDragMaxCols),g.rows=Math.min(Math.abs(e.y-g.y)+1,c.emptyCellDragMaxRows),e.x<g.x?g.x=e.x:e.x-g.x>c.emptyCellDragMaxCols-1&&(g.x=this.gridster.movingItem?this.gridster.movingItem.x:0),e.y<g.y?g.y=e.y:e.y-g.y>c.emptyCellDragMaxRows-1&&(g.y=this.gridster.movingItem?this.gridster.movingItem.y:0)),!(!c.enableOccupiedCellDrop&&this.gridster.checkCollision(g)))return g}},At=(()=>{class o{el=g(Qe$1).nativeElement;gridster=g($t);renderer=g(Ii);previewStyle(e){e?(this.renderer.setStyle(this.el,"display","block"),this.gridster.gridRenderer.updateItem(this.el,e,this.renderer)):this.renderer.setStyle(this.el,"display","");}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Ja({type:o,selectors:[["gridster-preview"]],decls:0,vars:0,template:function(t,i){},styles:[`gridster-preview{position:absolute;display:none;background:#00000026}
`],encapsulation:2})}return o})(),Xt=class{gridster;lastGridColumnStyles={};lastGridRowStyles={};constructor(n){this.gridster=n;}updateItem(n,e,t){let i=this.gridster.$options();if(this.gridster.mobile)this.clearCellPosition(t,n),i.keepFixedHeightInMobile?t.setStyle(n,"height",(e.rows-1)*i.margin+e.rows*i.fixedRowHeight+"px"):t.setStyle(n,"height",e.rows*this.gridster.curWidth/e.cols+"px"),i.keepFixedWidthInMobile?t.setStyle(n,"width",i.fixedColWidth+"px"):t.setStyle(n,"width",""),t.setStyle(n,"margin-bottom",i.margin+"px"),t.setStyle(n,se.LTR?"margin-right":"margin-left","");else {let r=Math.round(this.gridster.curColWidth*e.x),c=Math.round(this.gridster.curRowHeight*e.y),g=this.gridster.curColWidth*e.cols-i.margin,T=this.gridster.curRowHeight*e.rows-i.margin;this.setCellPosition(t,n,r,c),t.setStyle(n,"width",g+"px"),t.setStyle(n,"height",T+"px");let S=null,P=null;i.outerMargin&&(this.gridster.rows===e.rows+e.y&&(i.outerMarginBottom!==null?S=i.outerMarginBottom+"px":S=i.margin+"px"),this.gridster.columns===e.cols+e.x&&(i.outerMarginBottom!==null?P=i.outerMarginRight+"px":P=i.margin+"px")),t.setStyle(n,"margin-bottom",S),t.setStyle(n,i.dirType===se.LTR?"margin-right":"margin-left",P);}}updateGridster(){let n=this.gridster.$options(),e="",t="",i="",r="";if(n.gridType===z.Fit)e=z.Fit,t=z.ScrollVertical,i=z.ScrollHorizontal,r=z.Fixed;else if(n.gridType===z.ScrollVertical)this.gridster.curRowHeight=this.gridster.curColWidth*n.rowHeightRatio,e=z.ScrollVertical,t=z.Fit,i=z.ScrollHorizontal,r=z.Fixed;else if(n.gridType===z.ScrollHorizontal){let c=n.rowHeightRatio,g=c>=1?c:c+1;this.gridster.curColWidth=this.gridster.curRowHeight*g,e=z.ScrollHorizontal,t=z.Fit,i=z.ScrollVertical,r=z.Fixed;}else n.gridType===z.Fixed?(this.gridster.curColWidth=n.fixedColWidth+(n.ignoreMarginInRow?0:n.margin),this.gridster.curRowHeight=n.fixedRowHeight+(n.ignoreMarginInRow?0:n.margin),e=z.Fixed,t=z.Fit,i=z.ScrollVertical,r=z.ScrollHorizontal):n.gridType===z.VerticalFixed?(this.gridster.curRowHeight=n.fixedRowHeight+(n.ignoreMarginInRow?0:n.margin),e=z.ScrollVertical,t=z.Fit,i=z.ScrollHorizontal,r=z.Fixed):n.gridType===z.HorizontalFixed&&(this.gridster.curColWidth=n.fixedColWidth+(n.ignoreMarginInRow?0:n.margin),e=z.ScrollHorizontal,t=z.Fit,i=z.ScrollVertical,r=z.Fixed);this.gridster.mobile||n.setGridSize&&n.gridType!==z.Fit?this.gridster.renderer.removeClass(this.gridster.el,e):this.gridster.renderer.addClass(this.gridster.el,e),this.gridster.renderer.removeClass(this.gridster.el,t),this.gridster.renderer.removeClass(this.gridster.el,i),this.gridster.renderer.removeClass(this.gridster.el,r);}getGridColumnStyle(n){let e=this.gridster.$options().margin,t={left:this.gridster.curColWidth*n,width:this.gridster.curColWidth-e,height:this.gridster.gridRows.length*this.gridster.curRowHeight-e,style:{}};t.style=x(w({},this.getLeftPosition(t.left)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridColumnStyles[n];return i&&i.left===t.left&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridColumnStyles[n]=t,t.style)}getGridRowStyle(n){let e=this.gridster.$options().margin,t={top:this.gridster.curRowHeight*n,width:this.gridster.gridColumns.length*this.gridster.curColWidth+e,height:this.gridster.curRowHeight-e,style:{}};t.style=x(w({},this.getTopPosition(t.top)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridRowStyles[n];return i&&i.top===t.top&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridRowStyles[n]=t,t.style)}getLeftPosition(n){let e=this.gridster.$options(),t=e.dirType===se.RTL?-n:n;return e.useTransformPositioning?{transform:"translateX("+t+"px)"}:{left:this.getLeftMargin()+t+"px"}}getTopPosition(n){return this.gridster.$options().useTransformPositioning?{transform:"translateY("+n+"px)"}:{top:this.getTopMargin()+n+"px"}}clearCellPosition(n,e){this.gridster.$options().useTransformPositioning?n.setStyle(e,"transform",""):(n.setStyle(e,"top",""),n.setStyle(e,"left",""));}setCellPosition(n,e,t,i){let r=this.gridster.$options(),c=r.dirType===se.RTL?-t:t;if(r.useTransformPositioning){let g="translate3d("+c+"px, "+i+"px, 0)";n.setStyle(e,"transform",g);}else n.setStyle(e,"left",this.getLeftMargin()+c+"px"),n.setStyle(e,"top",this.getTopMargin()+i+"px");}getLeftMargin(){let n=this.gridster.$options();return n.outerMargin?n.outerMarginLeft!==null?n.outerMarginLeft:n.margin:0}getTopMargin(){let n=this.gridster.$options();return n.outerMargin?n.outerMarginTop!==null?n.outerMarginTop:n.margin:0}},$t=(()=>{class o{renderer=g(Ii);cdRef=g(lc);zone=g(oe);elRef=g(Qe$1);api={calculateLayout:()=>this.calculateLayout(),resize:()=>this.onResize(),getNextPossiblePosition:(e,t)=>this.getNextPossiblePosition(e,t),getFirstPossiblePosition:e=>this.getFirstPossiblePosition(e),getLastPossiblePosition:e=>this.getLastPossiblePosition(e),getItemComponent:e=>this.getItemComponent(e)};gridsterPreview=BH.required(At);options=PH.required();$options=X(()=>re.merge(JSON.parse(JSON.stringify(Ki)),this.options(),Ki));movingItem;el=this.elRef.nativeElement;mobile=false;curWidth=0;curHeight=0;grid=[];columns=0;rows=0;curColWidth=0;curRowHeight=0;gridColumns=[];gridRows=[];windowResize;dragInProgress=false;emptyCell=new qt(this);compact=new jt(this);gridRenderer=new Xt(this);calculateLayout$=new $$1;resize$=new $$1;destroy$=new $$1;constructor(){ei(()=>{let e=this.$options();!e.disableWindowResize&&!this.windowResize?this.windowResize=this.renderer.listen("window","resize",this.onResize):e.disableWindowResize&&this.windowResize&&(this.windowResize(),this.windowResize=null),this.emptyCell.updateOptions(),this.columns=e.minCols,this.rows=e.minRows+e.addEmptyRowsCount,this.setGridSize(),this.calculateLayout();});}static checkCollisionTwoItemsForSwaping(e,t){let i=e.cols===1?0:1,r=t.cols===1?0:1,c=e.rows===1?0:1,g=t.rows===1?0:1;return e.x+i<t.x+t.cols&&e.x+e.cols>t.x+r&&e.y+c<t.y+t.rows&&e.y+e.rows>t.y+g}checkCollisionTwoItems(e,t){if(!(e.x<t.x+t.cols&&e.x+e.cols>t.x&&e.y<t.y+t.rows&&e.y+e.rows>t.y))return false;if(!this.$options().allowMultiLayer)return true;let r=this.$options().defaultLayerIndex,c=e.layerIndex===void 0?r:e.layerIndex,g=t.layerIndex===void 0?r:t.layerIndex;return c===g}ngOnInit(){let e=this.options();e.initCallback&&e.initCallback(this,this.api),this.calculateLayout$.pipe(Hf(0),Is$1(this.destroy$)).subscribe(()=>this.calculateLayout()),this.resize$.pipe(Lr$1(()=>Ln(100)),Is$1(this.destroy$)).subscribe(()=>this.resize());}resize(){let e,t;this.$options().gridType==="fit"&&!this.mobile?(t=this.el.offsetWidth,e=this.el.offsetHeight):(t=this.el.clientWidth,e=this.el.clientHeight),(t!==this.curWidth||e!==this.curHeight)&&this.checkIfToResize()&&this.onResize();}ngOnDestroy(){this.destroy$.next(),this.windowResize&&this.windowResize();let e=this.options();e&&e.destroyCallback&&e.destroyCallback(this),this.emptyCell.destroy(),this.emptyCell=null,this.compact.destroy(),this.compact=null;}onResize=()=>{this.el.clientWidth&&(this.$options().setGridSize&&(this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.setGridSize(),this.calculateLayout());};checkIfToResize(){let e=this.el.clientWidth,t=this.el.offsetWidth,i=this.el.scrollWidth,r=this.el.clientHeight,c=this.el.offsetHeight,g=this.el.scrollHeight,T=e<t&&g>c&&g-c<t-e,S=r<c&&i>t&&i-t<c-r;return T?false:!S}checkIfMobile(){let e=this.$options();return e.useBodyForBreakpoint?e.mobileBreakpoint>document.body.clientWidth:e.mobileBreakpoint>this.curWidth}setGridSize(){let e=this.el,t,i,r=this.$options();r.setGridSize||r.gridType===z.Fit&&!this.mobile?(t=e.offsetWidth,i=e.offsetHeight):(t=e.clientWidth,i=e.clientHeight),this.curWidth=t,this.curHeight=i;}setGridDimensions(){this.setGridSize(),!this.mobile&&this.checkIfMobile()?(this.mobile=!this.mobile,this.renderer.addClass(this.el,"mobile")):this.mobile&&!this.checkIfMobile()&&(this.mobile=!this.mobile,this.renderer.removeClass(this.el,"mobile"));let e=this.$options(),t=e.minRows,i=e.minCols;for(let r=this.grid.length-1;r>=0;r--){let c=this.grid[r];if(!c.notPlaced){let g=c.$item();t=Math.max(t,g.y+g.rows),i=Math.max(i,g.x+g.cols);}}if(t+=e.addEmptyRowsCount,this.columns!==i||this.rows!==t){this.columns=i,this.rows=t;let r=this.options();r.gridSizeChangedCallback&&r.gridSizeChangedCallback(this);}}calculateLayout(){this.compact&&this.compact.checkCompact(),this.setGridDimensions();let e=this.$options();if(e.outerMargin){let t=-e.margin;e.outerMarginLeft!==null?(t+=e.outerMarginLeft,this.renderer.setStyle(this.el,"padding-left",e.outerMarginLeft+"px")):(t+=e.margin,this.renderer.setStyle(this.el,"padding-left",e.margin+"px")),e.outerMarginRight!==null?(t+=e.outerMarginRight,this.renderer.setStyle(this.el,"padding-right",e.outerMarginRight+"px")):(t+=e.margin,this.renderer.setStyle(this.el,"padding-right",e.margin+"px")),this.curColWidth=(this.curWidth-t)/this.columns;let i=-e.margin;e.outerMarginTop!==null?(i+=e.outerMarginTop,this.renderer.setStyle(this.el,"padding-top",e.outerMarginTop+"px")):(i+=e.margin,this.renderer.setStyle(this.el,"padding-top",e.margin+"px")),e.outerMarginBottom!==null?(i+=e.outerMarginBottom,this.renderer.setStyle(this.el,"padding-bottom",e.outerMarginBottom+"px")):(i+=e.margin,this.renderer.setStyle(this.el,"padding-bottom",e.margin+"px")),this.curRowHeight=(this.curHeight-i)/this.rows*e.rowHeightRatio;}else this.curColWidth=(this.curWidth+e.margin)/this.columns,this.curRowHeight=(this.curHeight+e.margin)/this.rows*e.rowHeightRatio,this.renderer.setStyle(this.el,"padding-left","0px"),this.renderer.setStyle(this.el,"padding-right","0px"),this.renderer.setStyle(this.el,"padding-top","0px"),this.renderer.setStyle(this.el,"padding-bottom","0px");this.gridRenderer.updateGridster(),e.setGridSize?(this.renderer.addClass(this.el,"gridSize"),this.mobile||(this.renderer.setStyle(this.el,"width",this.columns*this.curColWidth+e.margin+"px"),this.renderer.setStyle(this.el,"height",this.rows*this.curRowHeight+e.margin+"px"))):(this.renderer.removeClass(this.el,"gridSize"),this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.updateGrid();for(let t=this.grid.length-1;t>=0;t--){let i=this.grid[t];i.setSize(),i.drag.toggle(),i.resize.toggle();}this.resize$.next();}updateGrid(){let e=this.$options();e.displayGrid==="always"&&!this.mobile?this.renderer.addClass(this.el,"display-grid"):e.displayGrid==="onDrag&Resize"&&this.dragInProgress?this.renderer.addClass(this.el,"display-grid"):(e.displayGrid==="none"||!this.dragInProgress||this.mobile)&&this.renderer.removeClass(this.el,"display-grid"),this.setGridDimensions(),this.gridColumns.length=o.getNewArrayLength(this.columns,this.curWidth,this.curColWidth),this.gridRows.length=o.getNewArrayLength(this.rows,this.curHeight,this.curRowHeight),this.cdRef.markForCheck();}addItem(e){let t=e.$item(),i=e.item(),r=this.$options();t.cols===void 0&&(t.cols=r.defaultItemCols,i.cols=t.cols,e.itemChanged()),t.rows===void 0&&(t.rows=r.defaultItemRows,i.rows=t.rows,e.itemChanged()),t.x===-1||t.y===-1?this.autoPositionItem(e):this.checkCollision(t)&&(r.disableWarnings||(e.notPlaced=true,console.warn("Can't be placed in the bounds of the dashboard, trying to auto position!/n"+JSON.stringify(e.item,["cols","rows","x","y"]))),r.disableAutoPositionOnConflict?e.notPlaced=true:this.autoPositionItem(e)),this.grid.push(e),this.calculateLayout$.next();}removeItem(e){this.grid.splice(this.grid.indexOf(e),1),this.calculateLayout$.next();let t=this.options();t.itemRemovedCallback&&t.itemRemovedCallback(e.item(),e),this.movingItem&&this.movingItem===e.$item()&&(this.movingItem=null,this.previewStyle());}checkCollision(e,t){let i=false,r=this.options();if(r.itemValidateCallback&&(i=!r.itemValidateCallback(e)),!i&&this.checkGridCollision(e,t)&&(i=true),!i){let c=this.findItemWithItem(e);c&&(i=c);}return i}checkGridCollision(e,t=false){let i=this.$options(),r=e.y>-1&&e.x>-1,c=e.cols+e.x<=i.maxCols,g=e.rows+e.y<=i.maxRows,T=e.maxItemCols===void 0?i.maxItemCols:e.maxItemCols,S=e.minItemCols===void 0?i.minItemCols:e.minItemCols,P=e.maxItemRows===void 0?i.maxItemRows:e.maxItemRows,G=e.minItemRows===void 0?i.minItemRows:e.minItemRows,ee=e.cols<=T&&e.cols>=S,H=e.rows<=P&&e.rows>=G,A=true;if(t){let Ke=e.itemAspectRatio||i.itemAspectRatio;Ke&&(A=e.cols/e.rows===Ke);}let Ie=e.minItemArea===void 0?i.minItemArea:e.minItemArea,Ee=e.maxItemArea===void 0?i.maxItemArea:e.maxItemArea,Se=e.cols*e.rows,He=Ie<=Se,Le=Ee>=Se;return !(r&&c&&g&&A&&ee&&H&&He&&Le)}findItemWithItem(e){for(let t=0;t<this.grid.length;t++){let i=this.grid[t];if(i.$item()!==e&&this.checkCollisionTwoItems(i.$item(),e))return i}return false}findItemsWithItem(e){let t=[];for(let i=0;i<this.grid.length;i++){let r=this.grid[i];r.$item()!==e&&this.checkCollisionTwoItems(r.$item(),e)&&t.push(r);}return t}autoPositionItem(e){this.getNextPossiblePosition(e.$item())?(e.notPlaced=false,e.item().x=e.$item().x,e.item().y=e.$item().y,e.itemChanged()):(e.notPlaced=true,this.$options().disableWarnings||console.warn("Can't be placed in the bounds of the dashboard!/n"+JSON.stringify(e.item,["cols","rows","x","y"])));}getNextPossiblePosition=(e,t={})=>{let i=this.$options();e.cols===-1&&(e.cols=i.defaultItemCols),e.rows===-1&&(e.rows=i.defaultItemRows),this.setGridDimensions();for(let T=t.y||0;T<this.rows;T++){e.y=T;for(let S=t.x||0;S<this.columns;S++)if(e.x=S,!this.checkCollision(e))return true}let r=i.maxRows>=this.rows+e.rows,c=i.maxCols>=this.columns+e.cols;return !(this.rows<=this.columns&&r)&&c?(e.x=this.columns,e.y=0,true):r?(e.y=this.rows,e.x=0,true):false};getFirstPossiblePosition=e=>{let t=Object.assign({},e);return this.getNextPossiblePosition(t),t};getLastPossiblePosition=e=>{let t={y:0,x:0};t=this.grid.reduce((r,c)=>{let g=c.$item(),T={y:g.y+g.rows-1,x:g.x+g.cols-1};return re.compareItems(r,T)===1?T:r},t);let i=Object.assign({},e);return this.getNextPossiblePosition(i,t),i};pixelsToPositionX(e,t,i){let r=t(e/this.curColWidth);return i?r:Math.max(r,0)}pixelsToPositionY(e,t,i){let r=t(e/this.curRowHeight);return i?r:Math.max(r,0)}positionXToPixels(e){return e*this.curColWidth}positionYToPixels(e){return e*this.curRowHeight}getItemComponent(e){return this.grid.find(t=>t.item()===e)}checkCollisionForSwaping(e){let t=false,i=this.options();if(i.itemValidateCallback&&(t=!i.itemValidateCallback(e)),!t&&this.checkGridCollision(e)&&(t=true),!t){let r=this.findItemWithItemForSwapping(e);r&&(t=r);}return t}findItemWithItemForSwapping(e){for(let t=this.grid.length-1;t>-1;t--){let i=this.grid[t];if(i.$item()!==e&&o.checkCollisionTwoItemsForSwaping(i.$item(),e))return i}return false}previewStyle(e=false){let t=this.gridsterPreview();this.movingItem?(this.compact&&e&&this.compact.checkCompactItem(this.movingItem),t.previewStyle(this.movingItem)):t.previewStyle(null);}static getNewArrayLength(e,t,i){let r=Math.max(e,Math.floor(t/i));return r<0?0:Number.isFinite(r)?Math.floor(r):0}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Ja({type:o,selectors:[["gridster"]],viewQuery:function(t,i){t&1&&Ey(i.gridsterPreview,At,5),t&2&&ST();},inputs:{options:[1,"options"]},ngContentSelectors:on,decls:6,vars:0,consts:[[1,"gridster-column",3,"ngStyle"],[1,"gridster-row",3,"ngStyle"],[1,"gridster-preview"]],template:function(t,i){t&1&&(wT(),dT(0,zn,1,1,"div",0,uT),dT(2,Vn,1,1,"div",1,uT),CT(4),dy(5,"gridster-preview",2)),t&2&&(fT(i.gridColumns),ie(2),fT(i.gridRows));},dependencies:[bS,At],styles:[`gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:transform .3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}
`],encapsulation:2})}return o})(),St=class{gridsterItem;fromSouth="fromSouth";fromNorth="fromNorth";fromEast="fromEast";fromWest="fromWest";pushedItems=[];pushedItemsTemp=[];pushedItemsTempPath=[];pushedItemsPath=[];gridster;pushedItemsOrder;tryPattern={fromEast:[this.tryWest,this.trySouth,this.tryNorth],fromWest:[this.tryEast,this.trySouth,this.tryNorth],fromNorth:[this.trySouth,this.tryEast,this.tryWest],fromSouth:[this.tryNorth,this.tryEast,this.tryWest]};iteration=0;constructor(n){this.gridsterItem=n,this.gridster=n.gridster;}destroy(){this.gridster=this.gridsterItem=null;}pushItems(n,e){if(this.gridster.$options().pushItems&&!e){this.pushedItemsOrder=[],this.iteration=0;let t=this.push(this.gridsterItem,n);return t||this.restoreTempItems(),this.pushedItemsOrder=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],t}else return false}restoreTempItems(){let n=this.pushedItemsTemp.length-1;for(;n>-1;n--)this.removeFromTempPushed(this.pushedItemsTemp[n]);}restoreItems(){let n=0,e=this.pushedItems.length,t;for(;n<e;n++)t=this.pushedItems[n],t.$item().x=t.item().x||0,t.$item().y=t.item().y||0,t.setSize();this.pushedItems=[],this.pushedItemsPath=[];}setPushedItems(){let n=0,e=this.pushedItems.length,t;for(;n<e;n++)t=this.pushedItems[n],t.checkItemChanges(t.$item(),t.item());this.pushedItems=[],this.pushedItemsPath=[];}checkPushBack(){let n=this.pushedItems.length-1,e=false;for(;n>-1;n--)this.checkPushedItem(this.pushedItems[n],n)&&(e=true);e&&this.checkPushBack();}push(n,e){if(this.iteration>100)return console.warn("max iteration reached"),false;if(this.gridster.checkGridCollision(n.$item())||e==="")return false;let t=this.gridster.findItemsWithItem(n.$item()),i=e===this.fromNorth||e===this.fromWest;t.sort((S,P)=>i?P.$item().y-S.$item().y||P.$item().x-S.$item().x:S.$item().y-P.$item().y||S.$item().x-P.$item().x);let r=0,c,g=true,T=[];for(;r<t.length;r++){if(c=t[r],c===this.gridsterItem)continue;if(!c.canBeDragged()){g=false;break}let S=this.pushedItemsTemp.indexOf(c);if(S>-1&&this.pushedItemsTempPath[S].length>10){g=false;break}if(this.tryPattern[e][0].call(this,c,n))this.pushedItemsOrder.push(c),T.push(c);else if(this.tryPattern[e][1].call(this,c,n))this.pushedItemsOrder.push(c),T.push(c);else if(this.tryPattern[e][2].call(this,c,n))this.pushedItemsOrder.push(c),T.push(c);else {g=false;break}}if(!g&&(r=this.pushedItemsOrder.lastIndexOf(T[0]),r>-1)){let S=this.pushedItemsOrder.length-1;for(;S>=r;S--)c=this.pushedItemsOrder[S],this.pushedItemsOrder.pop(),this.removeFromTempPushed(c),this.removeFromPushedItem(c);}return this.iteration++,g}trySouth(n,e){return this.gridster.$options().pushDirections.south?(this.addToTempPushed(n),n.$item().y=e.$item().y+e.$item().rows,this.push(n,this.fromNorth)?(n.setSize(),this.addToPushed(n),true):(this.removeFromTempPushed(n),false)):false}tryNorth(n,e){return this.gridster.$options().pushDirections.north?(this.addToTempPushed(n),n.$item().y=e.$item().y-n.$item().rows,this.push(n,this.fromSouth)?(n.setSize(),this.addToPushed(n),true):(this.removeFromTempPushed(n),false)):false}tryEast(n,e){return this.gridster.$options().pushDirections.east?(this.addToTempPushed(n),n.$item().x=e.$item().x+e.$item().cols,this.push(n,this.fromWest)?(n.setSize(),this.addToPushed(n),true):(this.removeFromTempPushed(n),false)):false}tryWest(n,e){return this.gridster.$options().pushDirections.west?(this.addToTempPushed(n),n.$item().x=e.$item().x-n.$item().cols,this.push(n,this.fromEast)?(n.setSize(),this.addToPushed(n),true):(this.removeFromTempPushed(n),false)):false}addToTempPushed(n){let e=this.pushedItemsTemp.indexOf(n);e===-1&&(e=this.pushedItemsTemp.push(n)-1,this.pushedItemsTempPath[e]=[]),this.pushedItemsTempPath[e].push({x:n.$item().x,y:n.$item().y});}removeFromTempPushed(n){let e=this.pushedItemsTemp.indexOf(n),t=this.pushedItemsTempPath[e].pop();t&&(n.$item().x=t.x,n.$item().y=t.y,n.setSize(),this.pushedItemsTempPath[e].length||(this.pushedItemsTemp.splice(e,1),this.pushedItemsTempPath.splice(e,1)));}addToPushed(n){if(this.pushedItems.indexOf(n)<0)this.pushedItems.push(n),this.pushedItemsPath.push([{x:n.item().x||0,y:n.item().y||0},{x:n.$item().x,y:n.$item().y}]);else {let e=this.pushedItems.indexOf(n);this.pushedItemsPath[e].push({x:n.$item().x,y:n.$item().y});}}removeFromPushed(n){n>-1&&(this.pushedItems.splice(n,1),this.pushedItemsPath.splice(n,1));}removeFromPushedItem(n){let e=this.pushedItems.indexOf(n);e>-1&&(this.pushedItemsPath[e].pop(),this.pushedItemsPath.length||(this.pushedItems.splice(e,1),this.pushedItemsPath.splice(e,1)));}checkPushedItem(n,e){let t=this.pushedItemsPath[e],i=t.length-2,r,c,g,T=false;for(;i>-1;i--)r=t[i],c=n.$item().x,g=n.$item().y,n.$item().x=r.x,n.$item().y=r.y,this.gridster.findItemWithItem(n.$item())?(n.$item().x=c,n.$item().y=g):(n.setSize(),t.splice(i+1,t.length-i-1),T=true);return t.length<2&&this.removeFromPushed(e),T}},it,Tt,rn=40,ge,nt,ye,rt=false,Dt=false,Pt=false,at=false,ot,st=null,Mt=0,kt=0,Zi=1/0,en=1/0,Be,Wt;window.requestAnimationFrame&&window.cancelAnimationFrame?(Be=window.requestAnimationFrame,Wt=window.cancelAnimationFrame):(Be=o=>setTimeout(()=>o(Date.now()),50),Wt=o=>clearTimeout(o));function an(o,n,e,t,i,r,c,g,T,S){let P=o.$options();it=P.scrollSensitivity,Tt=P.scrollSpeed,ge=o.el,nt=T,ye=S;let G=ge.offsetWidth,ee=ge.offsetHeight,H=ge.scrollLeft,A=ge.scrollTop,{clientX:Ie,clientY:Ee}=r;if(Mt=Ie,kt=Ee,!P.disableScrollVertical){let Se=e-A;ee+A-e-i<it?(Qn(),!(nt&&ye&&!ye.south)&&!at&&tn(1,g,o)):A>0&&Se<it?(Yn(),!(nt&&ye&&!ye.north)&&!Pt&&tn(-1,g,o)):c.clientY!==Ee&&Qe();}if(!P.disableScrollHorizontal){let Se=H+G-n-t,He=n-H,Le=P.dirType===se.RTL;Se<=it?(Gn(),!(nt&&ye&&!ye.east)&&!rt&&nn(1,g,o,Le)):H>0&&He<it?(Xn(),!(nt&&ye&&!ye.west)&&!Dt&&nn(-1,g,o,Le)):c.clientX!==Ie&&Ye();}}function tn(o,n,e){if(o>0){at=true;let r=e.$options();en=r.maxRows*e.curRowHeight+r.margin-e.el.offsetHeight;}else Pt=true;let t,i=r=>{if(t===void 0){t=r,st=Be(i);return}if(!ge||o===-1&&ge.scrollTop-Tt<0){Qe();return}let c=(r-t)/rn;t=r;let g=o*Math.round(Tt*c);if(at&&ge.scrollTop+g>en){Qe();return}ge.scrollTop+=g,kt+=g,n({clientX:Mt,clientY:kt}),st=Be(i);};st=Be(i);}function nn(o,n,e,t){if(o>0){rt=true;let c=e.$options();Zi=c.maxCols*e.curColWidth+c.margin-e.el.offsetWidth;}else Dt=true;let i,r=c=>{if(i===void 0){i=c,ot=Be(r);return}if(!ge){Ye();return}let g=(c-i)/rn;i=c;let T=o*Math.round(Tt*g),S=t?-T:T;if(rt&&ge.scrollLeft+S>Zi){Ye();return}ge.scrollLeft+=S,Mt+=S,n({clientX:Mt,clientY:kt}),ot=Be(r);};ot=Be(r);}function ln(){Ye(),Qe(),ge=null;}function Ye(){ot!==null&&Wt(ot),rt=false,Dt=false;}function Qe(){st!==null&&Wt(st),Pt=false,at=false;}function Xn(){rt&&Ye();}function Gn(){Dt&&Ye();}function Yn(){at&&Qe();}function Qn(){Pt&&Qe();}var Gt=class{gridsterItem;swapedItem;gridster;constructor(n){this.gridsterItem=n,this.gridster=n.gridster;}destroy(){this.gridster=this.gridsterItem=this.swapedItem=null;}swapItems(){this.gridster.$options().swap&&(this.checkSwapBack(),this.checkSwap(this.gridsterItem));}checkSwapBack(){if(this.swapedItem){let n=this.swapedItem.$item(),e=this.swapedItem.item(),t=n.x,i=n.y;n.x=e.x||0,n.y=e.y||0,this.gridster.checkCollision(n)?(n.x=t,n.y=i):(this.swapedItem.setSize(),this.gridsterItem.$item().x=this.gridsterItem.item().x||0,this.gridsterItem.$item().y=this.gridsterItem.item().y||0,this.swapedItem=void 0);}}restoreSwapItem(){if(this.swapedItem){let n=this.swapedItem.$item(),e=this.swapedItem.item();n.x=e.x||0,n.y=e.y||0,this.swapedItem.setSize(),this.swapedItem=void 0;}}setSwapItem(){this.swapedItem&&(this.swapedItem.checkItemChanges(this.swapedItem.$item(),this.swapedItem.item()),this.swapedItem=void 0);}checkSwap(n){let e=n.$item(),t=n.item(),i;if(this.gridster.$options().swapWhileDragging?i=this.gridster.checkCollisionForSwaping(e):i=this.gridster.checkCollision(e),i&&i!==true&&i.canBeDragged()){let r=i,c=r.$item(),g=e.x,T=c.x,S=c.y,P=e.y,G=g-T,ee=P-S;c.x=t.x-G,c.y=t.y-ee,e.x=r.item().x+G,e.y=r.item().y+ee,this.gridster.checkCollision(c)||this.gridster.checkCollision(e)?(e.x=g,e.y=P,c.x=T,c.y=S):(r.setSize(),this.swapedItem=r,this.gridster.$options().swapWhileDragging&&(this.gridsterItem.checkItemChanges(this.gridsterItem.$item(),this.gridsterItem.item()),this.setSwapItem()));}}},Jn="gridster-item-resizable-handler",he=(function(o){return o.UP="UP",o.DOWN="DOWN",o.LEFT="LEFT",o.RIGHT="RIGHT",o})(he||{}),Yt=class{gridsterItem;gridster;zone;cdRef;lastMouse={clientX:0,clientY:0};offsetLeft;offsetTop;margin;outerMarginTop;outerMarginRight;outerMarginBottom;outerMarginLeft;diffTop;diffLeft;originalClientX;originalClientY;top;left;height;width;positionX;positionY;positionXBackup;positionYBackup;enabled;mousemove;mouseup;mouseleave;cancelOnBlur;touchmove;touchend;touchcancel;mousedown;touchstart;push;swap;path=[];collision=false;constructor(n,e,t,i){this.gridsterItem=n,this.gridster=e,this.zone=t,this.cdRef=i;}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(true),this.gridsterItem=this.gridster=this.collision=null,this.mousedown&&(this.mousedown(),this.touchstart());}dragStart(n){if(n.which&&n.which!==1||this.gridster.dragInProgress)return;let e=this.gridster.options(),t=this.gridster.$options();e.draggable&&e.draggable.start&&e.draggable.start(this.gridsterItem.item(),this.gridsterItem,n),n.stopPropagation(),n.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove);}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-moving"),this.gridsterItem.isMoving.set(true),this.margin=t.margin,this.outerMarginTop=t.outerMarginTop,this.outerMarginRight=t.outerMarginRight,this.outerMarginBottom=t.outerMarginBottom,this.outerMarginLeft=t.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.left=this.gridsterItem.left-this.margin,this.top=this.gridsterItem.top-this.margin,this.originalClientX=n.clientX,this.originalClientY=n.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,t.dirType===se.RTL?this.diffLeft=n.clientX-this.gridster.el.scrollWidth+this.gridsterItem.left:this.diffLeft=n.clientX+this.offsetLeft-this.margin-this.left,this.diffTop=n.clientY+this.offsetTop-this.margin-this.top,this.gridster.movingItem=this.gridsterItem.$item(),this.gridster.previewStyle(true),this.push=new St(this.gridsterItem),this.swap=new Gt(this.gridsterItem),this.gridster.dragInProgress=true,this.gridster.updateGrid(),this.path.push({x:this.gridsterItem.item().x||0,y:this.gridsterItem.item().y||0});}dragMove=n=>{n.stopPropagation(),n.preventDefault(),re.checkTouchEvent(n);let e=this.getDirections(n);this.gridster.$options().enableBoundaryControl&&(e.includes(he.UP)&&this.gridsterItem.el.getBoundingClientRect().top<this.gridster.el.getBoundingClientRect().top+(this.outerMarginTop??this.margin)&&(e=e.filter(i=>i!=he.UP),n=new MouseEvent(n.type,{clientX:n.clientX,clientY:this.lastMouse.clientY})),e.includes(he.LEFT)&&this.gridsterItem.el.getBoundingClientRect().left<this.gridster.el.getBoundingClientRect().left+(this.outerMarginLeft??this.margin)&&(e=e.filter(i=>i!=he.LEFT),n=new MouseEvent(n.type,{clientX:this.lastMouse.clientX,clientY:n.clientY})),e.includes(he.RIGHT)&&this.gridsterItem.el.getBoundingClientRect().right>this.gridster.el.getBoundingClientRect().right