homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
3 lines • 200 kB
JavaScript
import{a as xt}from"./chunk-5K67D3UD.js";import{a as Wi}from"./chunk-JJ5JEAFW.js";import{a as Ti}from"./chunk-ZHD5CT2Q.js";import{b as Ui,c as Ni}from"./chunk-KXWBSG5F.js";import{a as bt}from"./chunk-4IBV7BRV.js";import"./chunk-ZJFU36MA.js";import{a as yn,c as ki}from"./chunk-RBTY27L3.js";import"./chunk-A2ANF3NM.js";import{a as vt,b as Bi,c as zi}from"./chunk-M2PKINKL.js";import"./chunk-V7JOHLGY.js";import{a as Mi}from"./chunk-CWNUGQTB.js";import{a as Vi}from"./chunk-HKSUEG7C.js";import{a as Li}from"./chunk-JV663RTB.js";import"./chunk-NHCHC3LD.js";import"./chunk-ZIPKQJZO.js";import"./chunk-M5NPMQ5Y.js";import{a as K}from"./chunk-GXCQWWJO.js";import"./chunk-NAG4LCT2.js";import{b as Ei,v as ft,w as Ct,y as _t,z as Si}from"./chunk-CG4JSQF7.js";import"./chunk-B5QIREVT.js";import"./chunk-EP2NVMBU.js";import"./chunk-CUY6HWWM.js";import"./chunk-3AI6EKM7.js";import"./chunk-2KV2L7HE.js";import"./chunk-IKTVH6LN.js";import"./chunk-4G2XYXT5.js";import"./chunk-T43PZS3N.js";import"./chunk-7KZ77E2Z.js";import"./chunk-QLNGMKWW.js";import"./chunk-DYYSQPHA.js";import"./chunk-AIIMV7FR.js";import"./chunk-KNS7MZUM.js";import"./chunk-YAKFETOG.js";import"./chunk-3L64227F.js";import"./chunk-NVSGHRYE.js";import"./chunk-ZECOZYXL.js";import"./chunk-EJLAU4L4.js";import"./chunk-OIP5BJMA.js";import"./chunk-KWIPHOFZ.js";import"./chunk-F5JHUVM3.js";import"./chunk-YBQFZBC5.js";import"./chunk-KPZK4T3G.js";import{a as Di,e as ve}from"./chunk-LJL67BO5.js";import"./chunk-MW7EO4UO.js";import"./chunk-GLG55EVH.js";import"./chunk-M4XHMFKM.js";import{a as $i,b as Pi,c as Ri}from"./chunk-KQ74KW75.js";import"./chunk-BHEY3G3X.js";import{a as Oe}from"./chunk-YMS6PENN.js";import{s as Te,t as ut}from"./chunk-YATM6BZO.js";import{f as mi}from"./chunk-ODMFCOQJ.js";import{a as R}from"./chunk-XPK2EQJA.js";import{b as pi,c as Ne}from"./chunk-2GN26TCR.js";import{C as gt,D as Ii,b as hi,c as pt,e as ht,j as gi,l as ui,n as fi,o as Ci,q as _i,t as xi,u as vi,w as bi,x as wi,y as yi}from"./chunk-ORSKS7BY.js";import{a as wn,b as J}from"./chunk-4NRNA47I.js";import{C as ge,D as B,F as Le,H as Ue,I as ke,d as ci,f as at,g as lt,h as dt,j as Se,r as ct,w as mt}from"./chunk-QCMOCU6Q.js";import{$b as Lt,Ab as f,Ac as li,Bb as zt,Cb as fe,D as ii,Db as Z,Dc as m,Eb as ee,Ec as p,F as Re,Fb as W,Fc as Y,Gb as d,Hb as l,I as tt,Ib as b,Jb as _,Kb as x,Kc as di,Lb as q,Lc as Ge,Oc as rt,Pc as F,Q as it,Qc as ie,R as qe,S as $t,Sb as T,Sc as $e,Ta as Bt,Tb as Ce,Ua as ot,Xa as Xe,Xb as D,Ya as s,Yb as te,Zb as h,_b as Vt,aa as v,d as me,ea as nt,eb as oi,ec as pe,fc as he,ga as E,gb as st,ha as S,hc as _e,i as Dt,ic as $,jc as xe,ka as ni,kc as a,lb as De,lc as C,ma as j,mb as M,mc as I,n as se,nc as ue,o as ei,oc as Ut,pa as Pt,rb as Ve,rc as re,sa as y,sc as ae,tc as le,va as Rt,w as ti,wb as si,x as Ee,xa as Be,xb as z,yc as ri,za as ze,zb as u,zc as ai}from"./chunk-ZMC752RO.js";import"./chunk-HHSHX5JT.js";import"./chunk-3ZMAXAHP.js";import"./chunk-DHLHKSWH.js";import"./chunk-M7FRJSLH.js";import"./chunk-MHY7DWGU.js";import"./chunk-CNG3C27N.js";import{a as L,b as G,d as Kt,e as bn,g as Zt,h as O}from"./chunk-B4AJQJMI.js";var vn=bn((mm,Nr)=>{Nr.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 qi=["*"];function In(o,n){if(o&1&&b(0,"div",0),o&2){let e=n.$index,i=h();W("ngStyle",i.gridRenderer.getGridColumnStyle(e))}}function En(o,n){if(o&1&&b(0,"div",1),o&2){let e=n.$index,i=h();W("ngStyle",i.gridRenderer.getGridRowStyle(e))}}function Sn(o,n){if(o&1){let e=T();_(0,"div",8),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function kn(o,n){if(o&1){let e=T();_(0,"div",9),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function Tn(o,n){if(o&1){let e=T();_(0,"div",10),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function Mn(o,n){if(o&1){let e=T();_(0,"div",11),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function Wn(o,n){if(o&1){let e=T();_(0,"div",12),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function Dn(o,n){if(o&1){let e=T();_(0,"div",13),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function $n(o,n){if(o&1){let e=T();_(0,"div",14),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}function Pn(o,n){if(o&1){let e=T();_(0,"div",15),te("mousedown",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))})("touchstart",function(t){E(e);let r=h();return S(r.resize.dragStartDelay(t))}),x()}}var V=(function(o){return o.Fit="fit",o.ScrollVertical="scrollVertical",o.ScrollHorizontal="scrollHorizontal",o.Fixed="fixed",o.VerticalFixed="verticalFixed",o.HorizontalFixed="horizontalFixed",o})(V||{}),Xi=(function(o){return o.Always="always",o.OnDragAndResize="onDrag&Resize",o.None="none",o})(Xi||{}),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||{}),ne=(function(o){return o.LTR="ltr",o.RTL="rtl",o})(ne||{}),Ot=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 i=!1;this.gridster.grid.forEach(t=>{t.$item().compactEnabled!==!1&&this.moveTillCollision(t.$item(),n,e)&&(i=!0,t.item()[n]=t.$item()[n],t.itemChanged())}),i&&this.checkCompact()}moveTillCollision(n,e,i){return n[e]+=i,this.gridster.checkCollision(n)?(n[e]-=i,!1):(this.moveTillCollision(n,e,i),!0)}checkCompactGrid(){let n=this.gridster.grid.filter(r=>r.$item().compactEnabled!==!1).sort((r,c)=>r.$item().y!==c.$item().y?r.$item().y-c.$item().y:r.$item().x-c.$item().x),e=0,i=0,t=0;n.forEach(r=>{let c=r.$item();i+c.cols>this.gridster.columns&&(e=t,i=0,t=e);let g=c.x,k=c.y;c.x=i,c.y=e,(g!==c.x||k!==c.y)&&(r.item().x=c.x,r.item().y=c.y,r.itemChanged()),i+=c.cols,t=Math.max(t,e+c.rows)})}moveToGridPosition(n){let e=0,i=0,t=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();i+g.cols>this.gridster.columns&&(e=t,i=0,t=e),e<g.y+g.rows&&e+n.rows>g.y&&i<g.x+g.cols&&i+n.cols>g.x?(i=g.x+g.cols,e=g.y,t=Math.max(t,e+g.rows)):(i+=g.cols,t=Math.max(t,e+g.rows))}i+n.cols>this.gridster.columns&&(e=t,i=0),n.x=i,n.y=e}},Oi={gridType:V.Fit,scale:1,fixedColWidth:250,fixedRowHeight:250,keepFixedHeightInMobile:!1,keepFixedWidthInMobile:!1,setGridSize:!1,compactType:N.None,mobileBreakpoint:640,useBodyForBreakpoint:!1,allowMultiLayer:!1,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:!0,outerMarginTop:null,outerMarginRight:null,outerMarginBottom:null,outerMarginLeft:null,useTransformPositioning:!0,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:!1,enableEmptyCellContextMenu:!1,enableEmptyCellDrop:!1,enableEmptyCellDrag:!1,enableOccupiedCellDrop:!1,emptyCellClickCallback:void 0,emptyCellContextMenuCallback:void 0,emptyCellDropCallback:void 0,emptyCellDragCallback:void 0,emptyCellDragMaxCols:50,emptyCellDragMaxRows:50,ignoreMarginInRow:!1,draggable:{delayStart:0,enabled:!1,ignoreContentClass:"gridster-item-content",ignoreContent:!1,dragHandleClass:"drag-handler",stop:void 0,start:void 0,dropOverItems:!1,dropOverItemsCallback:void 0},resizable:{delayStart:0,enabled:!1,handles:{s:!0,e:!0,n:!0,w:!0,se:!0,ne:!0,sw:!0,nw:!0},stop:void 0,start:void 0},swap:!0,swapWhileDragging:!1,pushItems:!1,disablePushOnDrag:!1,disablePushOnResize:!1,pushDirections:{north:!0,east:!0,south:!0,west:!0},pushResizeItems:!1,displayGrid:Xi.OnDragAndResize,disableWindowResize:!1,disableWarnings:!1,scrollToNewItems:!1,disableScrollHorizontal:!1,disableScrollVertical:!1,enableBoundaryControl:!1,disableAutoPositionOnConflict:!1,dirType:ne.LTR},oe=class o{static merge(n,e,i){for(let t in e)e[t]!==void 0&&i.hasOwnProperty(t)&&(typeof e[t]=="object"?(t in n||(n[t]={}),n[t]=o.merge(n[t],e[t],i[t])):n[t]=e[t]);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 i=n.$options();if(i.draggable.ignoreContent){if(!o.checkDragHandleClass(e.target,e.currentTarget,i.draggable.dragHandleClass,i.draggable.ignoreContentClass))return!0}else if(o.checkContentClass(e.target,e.currentTarget,i.draggable.ignoreContentClass))return!0;return!1}static checkContentClassForEmptyCellClickEvent(n,e){let i=n.$options();return o.checkContentClass(e.target,e.currentTarget,i.draggable.ignoreContentClass)||o.checkContentClass(e.target,e.currentTarget,i.draggable.dragHandleClass)}static checkDragHandleClass(n,e,i,t){if(!n||n===e)return!1;if(n.hasAttribute("class")){let r=n.getAttribute("class").split(" ");if(r.indexOf(i)>-1)return!0;if(r.indexOf(t)>-1)return!1}return o.checkDragHandleClass(n.parentNode,e,i,t)}static checkContentClass(n,e,i){return!n||n===e?!1:n.hasAttribute("class")&&n.getAttribute("class").split(" ").indexOf(i)>-1?!0:o.checkContentClass(n.parentNode,e,i)}static compareItems(n,e){return n.y>e.y?-1:n.y<e.y?1:n.x>e.x?-1:1}},Ht=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||oe.checkContentClassForEmptyCellClickEvent(this.gridster,n))return;let e=this.getValidItemFromEvent(n);if(!e)return;let i=this.gridster.options();i.emptyCellClickCallback&&i.emptyCellClickCallback(n,e),this.gridster.cdRef.markForCheck()};emptyCellContextMenuCb=n=>{if(this.gridster.movingItem||oe.checkContentClassForEmptyCellClickEvent(this.gridster,n))return;n.preventDefault(),n.stopPropagation();let e=this.getValidItemFromEvent(n);if(!e)return;let i=this.gridster.options();i.emptyCellContextMenuCallback&&i.emptyCellContextMenuCallback(n,e),this.gridster.cdRef.markForCheck()};emptyCellDragDrop=n=>{let e=this.getValidItemFromEvent(n);if(!e)return;let i=this.gridster.options();i.emptyCellDropCallback&&i.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(oe.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 i=this.gridster.options();i.emptyCellDragCallback&&this.gridster.movingItem&&i.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 i=this.gridster.options().scale;return i?(n.clientX-e.left)/i+this.gridster.el.scrollLeft-this.gridster.gridRenderer.getLeftMargin():n.clientX+this.gridster.el.scrollLeft-e.left-this.gridster.gridRenderer.getLeftMargin()}getPixelsY(n,e){let i=this.gridster.options().scale;return i?(n.clientY-e.top)/i+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(),oe.checkTouchEvent(n);let i=this.gridster.el.getBoundingClientRect(),t=this.getPixelsX(n,i),r=this.getPixelsY(n,i),c=this.gridster.$options(),g={x:this.gridster.pixelsToPositionX(t,Math.floor,!0),y:this.gridster.pixelsToPositionY(r,Math.floor,!0),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}},Nt=(()=>{class o{el=v(ze).nativeElement;gridster=v(kt);renderer=v(st);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(i){return new(i||o)};static \u0275cmp=M({type:o,selectors:[["gridster-preview"]],decls:0,vars:0,template:function(i,t){},styles:[`gridster-preview{position:absolute;display:none;background:#00000026}
`],encapsulation:2,changeDetection:0})}return o})(),Ft=class{gridster;lastGridColumnStyles={};lastGridRowStyles={};constructor(n){this.gridster=n}updateItem(n,e,i){let t=this.gridster.$options();if(this.gridster.mobile)this.clearCellPosition(i,n),t.keepFixedHeightInMobile?i.setStyle(n,"height",(e.rows-1)*t.margin+e.rows*t.fixedRowHeight+"px"):i.setStyle(n,"height",e.rows*this.gridster.curWidth/e.cols+"px"),t.keepFixedWidthInMobile?i.setStyle(n,"width",t.fixedColWidth+"px"):i.setStyle(n,"width",""),i.setStyle(n,"margin-bottom",t.margin+"px"),i.setStyle(n,ne.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-t.margin,k=this.gridster.curRowHeight*e.rows-t.margin;this.setCellPosition(i,n,r,c),i.setStyle(n,"width",g+"px"),i.setStyle(n,"height",k+"px");let w=null,P=null;t.outerMargin&&(this.gridster.rows===e.rows+e.y&&(t.outerMarginBottom!==null?w=t.outerMarginBottom+"px":w=t.margin+"px"),this.gridster.columns===e.cols+e.x&&(t.outerMarginBottom!==null?P=t.outerMarginRight+"px":P=t.margin+"px")),i.setStyle(n,"margin-bottom",w),i.setStyle(n,t.dirType===ne.LTR?"margin-right":"margin-left",P)}}updateGridster(){let n=this.gridster.$options(),e="",i="",t="",r="";if(n.gridType===V.Fit)e=V.Fit,i=V.ScrollVertical,t=V.ScrollHorizontal,r=V.Fixed;else if(n.gridType===V.ScrollVertical)this.gridster.curRowHeight=this.gridster.curColWidth*n.rowHeightRatio,e=V.ScrollVertical,i=V.Fit,t=V.ScrollHorizontal,r=V.Fixed;else if(n.gridType===V.ScrollHorizontal){let c=n.rowHeightRatio,g=c>=1?c:c+1;this.gridster.curColWidth=this.gridster.curRowHeight*g,e=V.ScrollHorizontal,i=V.Fit,t=V.ScrollVertical,r=V.Fixed}else n.gridType===V.Fixed?(this.gridster.curColWidth=n.fixedColWidth+(n.ignoreMarginInRow?0:n.margin),this.gridster.curRowHeight=n.fixedRowHeight+(n.ignoreMarginInRow?0:n.margin),e=V.Fixed,i=V.Fit,t=V.ScrollVertical,r=V.ScrollHorizontal):n.gridType===V.VerticalFixed?(this.gridster.curRowHeight=n.fixedRowHeight+(n.ignoreMarginInRow?0:n.margin),e=V.ScrollVertical,i=V.Fit,t=V.ScrollHorizontal,r=V.Fixed):n.gridType===V.HorizontalFixed&&(this.gridster.curColWidth=n.fixedColWidth+(n.ignoreMarginInRow?0:n.margin),e=V.ScrollHorizontal,i=V.Fit,t=V.ScrollVertical,r=V.Fixed);this.gridster.mobile||n.setGridSize&&n.gridType!==V.Fit?this.gridster.renderer.removeClass(this.gridster.el,e):this.gridster.renderer.addClass(this.gridster.el,e),this.gridster.renderer.removeClass(this.gridster.el,i),this.gridster.renderer.removeClass(this.gridster.el,t),this.gridster.renderer.removeClass(this.gridster.el,r)}getGridColumnStyle(n){let e=this.gridster.$options().margin,i={left:this.gridster.curColWidth*n,width:this.gridster.curColWidth-e,height:this.gridster.gridRows.length*this.gridster.curRowHeight-e,style:{}};i.style=G(L({},this.getLeftPosition(i.left)),{width:i.width+"px",height:i.height+"px"});let t=this.lastGridColumnStyles[n];return t&&t.left===i.left&&t.width===i.width&&t.height===i.height?t.style:(this.lastGridColumnStyles[n]=i,i.style)}getGridRowStyle(n){let e=this.gridster.$options().margin,i={top:this.gridster.curRowHeight*n,width:this.gridster.gridColumns.length*this.gridster.curColWidth+e,height:this.gridster.curRowHeight-e,style:{}};i.style=G(L({},this.getTopPosition(i.top)),{width:i.width+"px",height:i.height+"px"});let t=this.lastGridRowStyles[n];return t&&t.top===i.top&&t.width===i.width&&t.height===i.height?t.style:(this.lastGridRowStyles[n]=i,i.style)}getLeftPosition(n){let e=this.gridster.$options(),i=e.dirType===ne.RTL?-n:n;return e.useTransformPositioning?{transform:"translateX("+i+"px)"}:{left:this.getLeftMargin()+i+"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,i,t){let r=this.gridster.$options(),c=r.dirType===ne.RTL?-i:i;if(r.useTransformPositioning){let g="translate3d("+c+"px, "+t+"px, 0)";n.setStyle(e,"transform",g)}else n.setStyle(e,"left",this.getLeftMargin()+c+"px"),n.setStyle(e,"top",this.getTopMargin()+t+"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}},kt=(()=>{class o{renderer=v(st);cdRef=v($e);zone=v(Pt);elRef=v(ze);api={calculateLayout:()=>this.calculateLayout(),resize:()=>this.onResize(),getNextPossiblePosition:(e,i)=>this.getNextPossiblePosition(e,i),getFirstPossiblePosition:e=>this.getFirstPossiblePosition(e),getLastPossiblePosition:e=>this.getLastPossiblePosition(e),getItemComponent:e=>this.getItemComponent(e)};gridsterPreview=ie.required(Nt);options=F.required();$options=Ge(()=>oe.merge(JSON.parse(JSON.stringify(Oi)),this.options(),Oi));movingItem;el=this.elRef.nativeElement;mobile=!1;curWidth=0;curHeight=0;grid=[];columns=0;rows=0;curColWidth=0;curRowHeight=0;gridColumns=[];gridRows=[];windowResize;dragInProgress=!1;emptyCell=new Ht(this);compact=new Ot(this);gridRenderer=new Ft(this);calculateLayout$=new me;resize$=new me;destroy$=new me;constructor(){Rt(()=>{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,i){let t=e.cols===1?0:1,r=i.cols===1?0:1,c=e.rows===1?0:1,g=i.rows===1?0:1;return e.x+t<i.x+i.cols&&e.x+e.cols>i.x+r&&e.y+c<i.y+i.rows&&e.y+e.rows>i.y+g}checkCollisionTwoItems(e,i){if(!(e.x<i.x+i.cols&&e.x+e.cols>i.x&&e.y<i.y+i.rows&&e.y+e.rows>i.y))return!1;if(!this.$options().allowMultiLayer)return!0;let r=this.$options().defaultLayerIndex,c=e.layerIndex===void 0?r:e.layerIndex,g=i.layerIndex===void 0?r:i.layerIndex;return c===g}ngOnInit(){let e=this.options();e.initCallback&&e.initCallback(this,this.api),this.calculateLayout$.pipe(Re(0),qe(this.destroy$)).subscribe(()=>this.calculateLayout()),this.resize$.pipe(it(()=>ti(100)),qe(this.destroy$)).subscribe(()=>this.resize())}resize(){let e,i;this.$options().gridType==="fit"&&!this.mobile?(i=this.el.offsetWidth,e=this.el.offsetHeight):(i=this.el.clientWidth,e=this.el.clientHeight),(i!==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,i=this.el.offsetWidth,t=this.el.scrollWidth,r=this.el.clientHeight,c=this.el.offsetHeight,g=this.el.scrollHeight,k=e<i&&g>c&&g-c<i-e,w=r<c&&t>i&&t-i<c-r;return k?!1:!w}checkIfMobile(){let e=this.$options();return e.useBodyForBreakpoint?e.mobileBreakpoint>document.body.clientWidth:e.mobileBreakpoint>this.curWidth}setGridSize(){let e=this.el,i,t,r=this.$options();r.setGridSize||r.gridType===V.Fit&&!this.mobile?(i=e.offsetWidth,t=e.offsetHeight):(i=e.clientWidth,t=e.clientHeight),this.curWidth=i,this.curHeight=t}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(),i=e.minRows,t=e.minCols;for(let r=this.grid.length-1;r>=0;r--){let c=this.grid[r];if(!c.notPlaced){let g=c.$item();i=Math.max(i,g.y+g.rows),t=Math.max(t,g.x+g.cols)}}if(i+=e.addEmptyRowsCount,this.columns!==t||this.rows!==i){this.columns=t,this.rows=i;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 i=-e.margin;e.outerMarginLeft!==null?(i+=e.outerMarginLeft,this.renderer.setStyle(this.el,"padding-left",e.outerMarginLeft+"px")):(i+=e.margin,this.renderer.setStyle(this.el,"padding-left",e.margin+"px")),e.outerMarginRight!==null?(i+=e.outerMarginRight,this.renderer.setStyle(this.el,"padding-right",e.outerMarginRight+"px")):(i+=e.margin,this.renderer.setStyle(this.el,"padding-right",e.margin+"px")),this.curColWidth=(this.curWidth-i)/this.columns;let t=-e.margin;e.outerMarginTop!==null?(t+=e.outerMarginTop,this.renderer.setStyle(this.el,"padding-top",e.outerMarginTop+"px")):(t+=e.margin,this.renderer.setStyle(this.el,"padding-top",e.margin+"px")),e.outerMarginBottom!==null?(t+=e.outerMarginBottom,this.renderer.setStyle(this.el,"padding-bottom",e.outerMarginBottom+"px")):(t+=e.margin,this.renderer.setStyle(this.el,"padding-bottom",e.margin+"px")),this.curRowHeight=(this.curHeight-t)/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 i=this.grid.length-1;i>=0;i--){let t=this.grid[i];t.setSize(),t.drag.toggle(),t.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 i=e.$item(),t=e.item(),r=this.$options();i.cols===void 0&&(i.cols=r.defaultItemCols,t.cols=i.cols,e.itemChanged()),i.rows===void 0&&(i.rows=r.defaultItemRows,t.rows=i.rows,e.itemChanged()),i.x===-1||i.y===-1?this.autoPositionItem(e):this.checkCollision(i)&&(r.disableWarnings||(e.notPlaced=!0,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=!0:this.autoPositionItem(e)),this.grid.push(e),this.calculateLayout$.next()}removeItem(e){this.grid.splice(this.grid.indexOf(e),1),this.calculateLayout$.next();let i=this.options();i.itemRemovedCallback&&i.itemRemovedCallback(e.item(),e),this.movingItem&&this.movingItem===e.$item()&&(this.movingItem=null,this.previewStyle())}checkCollision(e,i){let t=!1,r=this.options();if(r.itemValidateCallback&&(t=!r.itemValidateCallback(e)),!t&&this.checkGridCollision(e,i)&&(t=!0),!t){let c=this.findItemWithItem(e);c&&(t=c)}return t}checkGridCollision(e,i=!1){let t=this.$options(),r=e.y>-1&&e.x>-1,c=e.cols+e.x<=t.maxCols,g=e.rows+e.y<=t.maxRows,k=e.maxItemCols===void 0?t.maxItemCols:e.maxItemCols,w=e.minItemCols===void 0?t.minItemCols:e.minItemCols,P=e.maxItemRows===void 0?t.maxItemRows:e.maxItemRows,A=e.minItemRows===void 0?t.minItemRows:e.minItemRows,X=e.cols<=k&&e.cols>=w,U=e.rows<=P&&e.rows>=A,H=!0;if(i){let je=e.itemAspectRatio||t.itemAspectRatio;je&&(H=e.cols/e.rows===je)}let we=e.minItemArea===void 0?t.minItemArea:e.minItemArea,ye=e.maxItemArea===void 0?t.maxItemArea:e.maxItemArea,Ie=e.cols*e.rows,Pe=we<=Ie,We=ye>=Ie;return!(r&&c&&g&&H&&X&&U&&Pe&&We)}findItemWithItem(e){for(let i=0;i<this.grid.length;i++){let t=this.grid[i];if(t.$item()!==e&&this.checkCollisionTwoItems(t.$item(),e))return t}return!1}findItemsWithItem(e){let i=[];for(let t=0;t<this.grid.length;t++){let r=this.grid[t];r.$item()!==e&&this.checkCollisionTwoItems(r.$item(),e)&&i.push(r)}return i}autoPositionItem(e){this.getNextPossiblePosition(e.$item())?(e.notPlaced=!1,e.item().x=e.$item().x,e.item().y=e.$item().y,e.itemChanged()):(e.notPlaced=!0,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,i={})=>{let t=this.$options();e.cols===-1&&(e.cols=t.defaultItemCols),e.rows===-1&&(e.rows=t.defaultItemRows),this.setGridDimensions();for(let k=i.y||0;k<this.rows;k++){e.y=k;for(let w=i.x||0;w<this.columns;w++)if(e.x=w,!this.checkCollision(e))return!0}let r=t.maxRows>=this.rows+e.rows,c=t.maxCols>=this.columns+e.cols;return!(this.rows<=this.columns&&r)&&c?(e.x=this.columns,e.y=0,!0):r?(e.y=this.rows,e.x=0,!0):!1};getFirstPossiblePosition=e=>{let i=Object.assign({},e);return this.getNextPossiblePosition(i),i};getLastPossiblePosition=e=>{let i={y:0,x:0};i=this.grid.reduce((r,c)=>{let g=c.$item(),k={y:g.y+g.rows-1,x:g.x+g.cols-1};return oe.compareItems(r,k)===1?k:r},i);let t=Object.assign({},e);return this.getNextPossiblePosition(t,i),t};pixelsToPositionX(e,i,t){let r=i(e/this.curColWidth);return t?r:Math.max(r,0)}pixelsToPositionY(e,i,t){let r=i(e/this.curRowHeight);return t?r:Math.max(r,0)}positionXToPixels(e){return e*this.curColWidth}positionYToPixels(e){return e*this.curRowHeight}getItemComponent(e){return this.grid.find(i=>i.item()===e)}checkCollisionForSwaping(e){let i=!1,t=this.options();if(t.itemValidateCallback&&(i=!t.itemValidateCallback(e)),!i&&this.checkGridCollision(e)&&(i=!0),!i){let r=this.findItemWithItemForSwapping(e);r&&(i=r)}return i}findItemWithItemForSwapping(e){for(let i=this.grid.length-1;i>-1;i--){let t=this.grid[i];if(t.$item()!==e&&o.checkCollisionTwoItemsForSwaping(t.$item(),e))return t}return!1}previewStyle(e=!1){let i=this.gridsterPreview();this.movingItem?(this.compact&&e&&this.compact.checkCompactItem(this.movingItem),i.previewStyle(this.movingItem)):i.previewStyle(null)}static getNewArrayLength(e,i,t){let r=Math.max(e,Math.floor(i/t));return r<0?0:Number.isFinite(r)?Math.floor(r):0}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=M({type:o,selectors:[["gridster"]],viewQuery:function(i,t){i&1&&pe(t.gridsterPreview,Nt,5),i&2&&he()},inputs:{options:[1,"options"]},ngContentSelectors:qi,decls:6,vars:0,consts:[[1,"gridster-column",3,"ngStyle"],[1,"gridster-row",3,"ngStyle"],[1,"gridster-preview"]],template:function(i,t){i&1&&(Vt(),Z(0,In,1,1,"div",0,zt),Z(2,En,1,1,"div",1,zt),Lt(4),b(5,"gridster-preview",2)),i&2&&(ee(t.gridColumns),s(2),ee(t.gridRows))},dependencies:[ci,Nt],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,changeDetection:0})}return o})(),wt=class{gridsterItem;fromSouth="fromSouth";fromNorth="fromNorth";fromEast="fromEast";fromWest="fromWest";pushedItems=[];pushedItemsTemp=[];pushedItemsTempPath=[];pushedItemsPath=[];gridster;pushedItemsOrder;tryPattern={fromEast:[this.tryWest,this.trySouth,this.tryNorth,this.tryEast],fromWest:[this.tryEast,this.trySouth,this.tryNorth,this.tryWest],fromNorth:[this.trySouth,this.tryEast,this.tryWest,this.tryNorth],fromSouth:[this.tryNorth,this.tryEast,this.tryWest,this.trySouth]};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 i=this.push(this.gridsterItem,n);return i||this.restoreTempItems(),this.pushedItemsOrder=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],i}else return!1}restoreTempItems(){let n=this.pushedItemsTemp.length-1;for(;n>-1;n--)this.removeFromTempPushed(this.pushedItemsTemp[n])}restoreItems(){let n=0,e=this.pushedItems.length,i;for(;n<e;n++)i=this.pushedItems[n],i.$item().x=i.item().x||0,i.$item().y=i.item().y||0,i.setSize();this.pushedItems=[],this.pushedItemsPath=[]}setPushedItems(){let n=0,e=this.pushedItems.length,i;for(;n<e;n++)i=this.pushedItems[n],i.checkItemChanges(i.$item(),i.item());this.pushedItems=[],this.pushedItemsPath=[]}checkPushBack(){let n=this.pushedItems.length-1,e=!1;for(;n>-1;n--)this.checkPushedItem(this.pushedItems[n],n)&&(e=!0);e&&this.checkPushBack()}push(n,e){if(this.iteration>100)return console.warn("max iteration reached"),!1;if(this.gridster.checkGridCollision(n.$item())||e==="")return!1;let i=this.gridster.findItemsWithItem(n.$item()),t=e===this.fromNorth||e===this.fromWest;i.sort((w,P)=>t?P.$item().y-w.$item().y||P.$item().x-w.$item().x:w.$item().y-P.$item().y||w.$item().x-P.$item().x);let r=0,c,g=!0,k=[];for(;r<i.length;r++){if(c=i[r],c===this.gridsterItem)continue;if(!c.canBeDragged()){g=!1;break}let w=this.pushedItemsTemp.indexOf(c);if(w>-1&&this.pushedItemsTempPath[w].length>10){g=!1;break}if(this.tryPattern[e][0].call(this,c,n))this.pushedItemsOrder.push(c),k.push(c);else if(this.tryPattern[e][1].call(this,c,n))this.pushedItemsOrder.push(c),k.push(c);else if(this.tryPattern[e][2].call(this,c,n))this.pushedItemsOrder.push(c),k.push(c);else if(this.tryPattern[e][3].call(this,c,n))this.pushedItemsOrder.push(c),k.push(c);else{g=!1;break}}if(!g&&(r=this.pushedItemsOrder.lastIndexOf(k[0]),r>-1)){let w=this.pushedItemsOrder.length-1;for(;w>=r;w--)c=this.pushedItemsOrder[w],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),!0):(this.removeFromTempPushed(n),!1)):!1}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),!0):(this.removeFromTempPushed(n),!1)):!1}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),!0):(this.removeFromTempPushed(n),!1)):!1}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),!0):(this.removeFromTempPushed(n),!1)):!1}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),i=this.pushedItemsTempPath[e].pop();i&&(n.$item().x=i.x,n.$item().y=i.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 i=this.pushedItemsPath[e],t=i.length-2,r,c,g,k=!1;for(;t>-1;t--)r=i[t],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(),i.splice(t+1,i.length-t-1),k=!0);return i.length<2&&this.removeFromPushed(e),k}},Ye,yt,Gi=40,ce,Qe,be,Ze=!1,Tt=!1,Mt=!1,et=!1,Je,Ke=null,It=0,Et=0,Hi=1/0,Fi=1/0,Me,St;window.requestAnimationFrame&&window.cancelAnimationFrame?(Me=window.requestAnimationFrame,St=window.cancelAnimationFrame):(Me=o=>setTimeout(()=>o(Date.now()),50),St=o=>clearTimeout(o));function Yi(o,n,e,i,t,r,c,g,k,w){let P=o.$options();Ye=P.scrollSensitivity,yt=P.scrollSpeed,ce=o.el,Qe=k,be=w;let A=ce.offsetWidth,X=ce.offsetHeight,U=ce.scrollLeft,H=ce.scrollTop,{clientX:we,clientY:ye}=r;if(It=we,Et=ye,!P.disableScrollVertical){let Ie=e-H;X+H-e-t<Ye?(Vn(),!(Qe&&be&&!be.south)&&!et&&Ai(1,g,o)):H>0&&Ie<Ye?(zn(),!(Qe&&be&&!be.north)&&!Mt&&Ai(-1,g,o)):c.clientY!==ye&&Fe()}if(!P.disableScrollHorizontal){let Ie=U+A-n-i,Pe=n-U,We=P.dirType===ne.RTL;Ie<=Ye?(Bn(),!(Qe&&be&&!be.east)&&!Ze&&ji(1,g,o,We)):U>0&&Pe<Ye?(Rn(),!(Qe&&be&&!be.west)&&!Tt&&ji(-1,g,o,We)):c.clientX!==we&&He()}}function Ai(o,n,e){if(o>0){et=!0;let r=e.$options();Fi=r.maxRows*e.curRowHeight+r.margin-e.el.offsetHeight}else Mt=!0;let i,t=r=>{if(i===void 0){i=r,Ke=Me(t);return}if(!ce||o===-1&&ce.scrollTop-yt<0){Fe();return}let c=(r-i)/Gi;i=r;let g=o*Math.round(yt*c);if(et&&ce.scrollTop+g>Fi){Fe();return}ce.scrollTop+=g,Et+=g,n({clientX:It,clientY:Et}),Ke=Me(t)};Ke=Me(t)}function ji(o,n,e,i){if(o>0){Ze=!0;let c=e.$options();Hi=c.maxCols*e.curColWidth+c.margin-e.el.offsetWidth}else Tt=!0;let t,r=c=>{if(t===void 0){t=c,Je=Me(r);return}if(!ce){He();return}let g=(c-t)/Gi;t=c;let k=o*Math.round(yt*g),w=i?-k:k;if(Ze&&ce.scrollLeft+w>Hi){He();return}ce.scrollLeft+=w,It+=w,n({clientX:It,clientY:Et}),Je=Me(r)};Je=Me(r)}function Qi(){He(),Fe(),ce=null}function He(){Je!==null&&St(Je),Ze=!1,Tt=!1}function Fe(){Ke!==null&&St(Ke),Mt=!1,et=!1}function Rn(){Ze&&He()}function Bn(){Tt&&He()}function zn(){et&&Fe()}function Vn(){Mt&&Fe()}var At=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(),i=n.x,t=n.y;n.x=e.x||0,n.y=e.y||0,this.gridster.checkCollision(n)?(n.x=i,n.y=t):(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(),i=n.item(),t;if(this.gridster.$options().swapWhileDragging?t=this.gridster.checkCollisionForSwaping(e):t=this.gridster.checkCollision(e),t&&t!==!0&&t.canBeDragged()){let r=t,c=r.$item(),g=e.x,k=c.x,w=c.y,P=e.y,A=g-k,X=P-w;c.x=i.x-A,c.y=i.y-X,e.x=r.item().x+A,e.y=r.item().y+X,this.gridster.checkCollision(c)||this.gridster.checkCollision(e)?(e.x=g,e.y=P,c.x=k,c.y=w):(r.setSize(),this.swapedItem=r,this.gridster.$options().swapWhileDragging&&(this.gridsterItem.checkItemChanges(this.gridsterItem.$item(),this.gridsterItem.item()),this.setSwapItem()))}}},Ln="gridster-item-resizable-handler",de=(function(o){return o.UP="UP",o.DOWN="DOWN",o.LEFT="LEFT",o.RIGHT="RIGHT",o})(de||{}),jt=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=!1;constructor(n,e,i,t){this.gridsterItem=n,this.gridster=e,this.zone=i,this.cdRef=t}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(!0),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(),i=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.margin=i.margin,this.outerMarginTop=i.outerMarginTop,this.outerMarginRight=i.outerMarginRight,this.outerMarginBottom=i.outerMarginBottom,this.outerMarginLeft=i.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,i.dirType===ne.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(!0),this.push=new wt(this.gridsterItem),this.swap=new At(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid(),this.path.push({x:this.gridsterItem.item().x||0,y:this.gridsterItem.item().y||0})}dragMove=n=>{n.stopPropagation(),n.preventDefault(),oe.checkTouchEvent(n);let e=this.getDirections(n);this.gridster.$options().enableBoundaryControl&&(e.includes(de.UP)&&this.gridsterItem.el.getBoundingClientRect().top<this.gridster.el.getBoundingClientRect().top+(this.outerMarginTop??this.margin)&&(e=e.filter(t=>t!=de.UP),n=new MouseEvent(n.type,{clientX:n.clientX,clientY:this.lastMouse.clientY})),e.includes(de.LEFT)&&this.gridsterItem.el.getBoundingClientRect().left<this.gridster.el.getBoundingClientRect().left+(this.outerMarginLeft??this.margin)&&(e=e.filter(t=>t!=de.LEFT),n=new MouseEvent(n.type,{clientX:this.lastMouse.clientX,clientY:n.clientY})),e.includes(de.RIGHT)&&this.gridsterItem.el.getBoundingClientRect().right>this.gridster.el.getBoundingClientRect().right-(this.outerMarginRight??this.margin)&&(e=e.filter(t=>t!=de.RIGHT),n=new MouseEvent(n.type,{clientX:this.lastMouse.clientX,clientY:n.clientY})),e.includes(de.DOWN)&&this.gridsterItem.el.getBoundingClientRect().bottom>this.gridster.el.getBoundingClientRect().bottom-(this.out