27 lines
132 KiB
JavaScript
27 lines
132 KiB
JavaScript
|
|
var Lt=Object.create;var vt=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,Wt=Object.prototype.hasOwnProperty;var se=(o,e)=>()=>(e||o((e={exports:{}}).exports,e),e.exports);var Pt=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ht(e))!Wt.call(o,r)&&r!==t&&vt(o,r,{get:()=>e[r],enumerable:!(n=$t(e,r))||n.enumerable});return o};var ie=(o,e,t)=>(t=o!=null?Lt(Bt(o)):{},Pt(e||!o||!o.__esModule?vt(t,"default",{value:o,enumerable:!0}):t,o));var Et=se((rt,st)=>{(function(o,e){typeof rt=="object"&&typeof st<"u"?st.exports=e():typeof define=="function"&&define.amd?define(e):(o=typeof globalThis<"u"?globalThis:o||self).dayjs=e()})(rt,function(){"use strict";var o=1e3,e=6e4,t=36e5,n="millisecond",r="second",s="minute",i="hour",a="day",c="week",d="month",g="quarter",w="year",E="date",m="Invalid Date",u=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,D=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(S){var f=["th","st","nd","rd"],h=S%100;return"["+S+(f[(h-20)%10]||f[h]||f[0])+"]"}},k=function(S,f,h){var y=String(S);return!y||y.length>=f?S:""+Array(f+1-y.length).join(h)+S},l={s:k,z:function(S){var f=-S.utcOffset(),h=Math.abs(f),y=Math.floor(h/60),p=h%60;return(f<=0?"+":"-")+k(y,2,"0")+":"+k(p,2,"0")},m:function S(f,h){if(f.date()<h.date())return-S(h,f);var y=12*(h.year()-f.year())+(h.month()-f.month()),p=f.clone().add(y,d),T=h-p<0,M=f.clone().add(y+(T?-1:1),d);return+(-(y+(h-p)/(T?p-M:M-p))||0)},a:function(S){return S<0?Math.ceil(S)||0:Math.floor(S)},p:function(S){return{M:d,y:w,w:c,d:a,D:E,h:i,m:s,s:r,ms:n,Q:g}[S]||String(S||"").toLowerCase().replace(/s$/,"")},u:function(S){return S===void 0}},O="en",W={};W[O]=C;var P="$isDayjsObject",N=function(S){return S instanceof Y||!(!S||!S[P])},$=function S(f,h,y){var p;if(!f)return O;if(typeof f=="string"){var T=f.toLowerCase();W[T]&&(p=T),h&&(W[T]=h,p=T);var M=f.split("-");if(!p&&M.length>1)return S(M[0])}else{var R=f.name;W[R]=f,p=R}return!y&&p&&(O=p),p||!y&&O},x=function(S,f){if(N(S))return S.clone();var h=typeof f=="object"?f:{};return h.date=S,h.args=arguments,new Y(h)},A=l;A.l=$,A.i=N,A.w=function(S,f){return x(S,{locale:f.$L,utc:f.$u,x:f.$x,$offset:f.$offset})};var Y=function(){function S(h){this.$L=$(h.locale,null,!0),this.parse(h),this.$x=this.$x||h.x||{},this[P]=!0}var f=S.prototype;return f.parse=function(h){this.$d=function(y){var p=y.date,T=y.utc;if(p===null)return new Date(NaN);if(A.u(p))return new Date;if(p instanceof Date)return new Date(p);if(typeof p=="string"&&!/Z$/i.test(p)){var M=p.match(u);if(M){var R=M[2]-1||0,L=(M[7]||"0").substring(0,3);return T?new Date(Date.UTC(M[1],R,M[3]||1,M[4]||0,M[5]||0,M[6]||0,L)):new Date(M[1],R,M[3]||1,M[4]||0,M[5]||0,M[6]||0,L)}}return new Date(p)}(h),this.init()},f.init=function(){var h=this.$d;this.$y=h.getFullYear(),this.$M=h.getMonth(),this.$D=h.getDate(),this.$W=h.getDay(),this.$H=h.getHours(),this.$m=h.getMinutes(),this.$s=h.getSeconds(),this.$ms=h.getMilliseconds()},f.$utils=function(){return A},f.isValid=function(){return this.$d.toString()!==m},f.isSame=function(h,y){var p=x(h);return this.startOf(y)<=p&&p<=this.endOf(y)},f.isAfter=function(h,y){return x(h)<this.startOf(y)},f.isBefore=function(h,y){return this.endOf(y)<x(h)},f.$g=function(h,y,p){return A.u(h)?this[y]:this.set(p,h)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(h,y){var p=this,T=!!A.u(y)||y,M=A.p(h),R=function(j,_){var G=A.w(p.$u?Date.UTC(p.$y,_,j):new Date(p.$y,_,j),p);return T?G:G.endOf(a)},L=function(j,_){return A.w(p.toDate()[j].apply(p.toDate("s"),(T?[0,0,0,0]:[23,59,59,999]).slice(_)),p)},H=this.$W,F=this.$M,q=this.$D,ee="set"+(this.$u?"UTC":"");switch(M){case w:return T?R(1,0):R(31,11);case d:
|
||
|
|
Dependency path: ${t.join(" -> ")}`:"";super(`Token "${e}" is not bound or registered in the container.${n}`),this.name="BindingNotFoundError"}},he=class extends de{constructor(e){super(`Circular dependency detected: ${e.join(" -> ")}`),this.name="CircularDependencyError"}};var yt=new WeakMap;function Ft(o){let e=yt.get(o);if(e)return e;let t=o.toString(),n=t.match(/constructor\s*\(([^)]*)\)/)||t.match(/^[^(]*\(([^)]*)\)/);if(!n||!n[1])return[];let r=n[1].split(",").map(s=>s.trim()).filter(s=>s.length>0).map(s=>{let i=s.split(/[:=]/)[0].trim();return i=i.replace(/^((public|private|protected|readonly)\s+)+/,""),i.includes("{")||i.includes("[")?null:i}).filter(s=>s!==null);return yt.set(o,r),r}function _t(o,e,t){if(!t.map)throw new Error("AutoWire map strategy requires options.map to be defined");let n=Ft(o),r=[];for(let s of n){let i=t.map[s];if(i===void 0){if(t.strict)throw new Error(`Cannot resolve parameter "${s}" on ${o.name}. Not found in autowire map. Add it to the map: .autoWire({ map: { ${s}: ... } })`);r.push(void 0);continue}typeof i=="function"?r.push(i(e)):r.push(e.resolve(i))}return r}function Yt(o,e,t){if(!t.mapResolvers||t.mapResolvers.length===0)return[];let n=[];for(let r=0;r<t.mapResolvers.length;r++){let s=t.mapResolvers[r];s===void 0?n.push(void 0):typeof s=="function"?n.push(s(e)):n.push(e.resolve(s))}return n}function Je(o,e,t){let n={by:"paramName",strict:!1,...t};return n.mapResolvers&&n.mapResolvers.length>0?Yt(o,e,n):n.map&&Object.keys(n.map).length>0?_t(o,e,n):[]}var le=class{constructor(e,t){this.registrations=t,this.configs=[],this.defaultLifetime="singleton",this.pending=e}as(e){if(e&&typeof e=="object"&&"symbol"in e){let t={token:e,type:this.pending.type,value:this.pending.value,factory:this.pending.factory,constructor:this.pending.constructor,lifetime:this.defaultLifetime};return this.configs.push(t),this.registrations.push(t),this}else{let t={token:null,type:this.pending.type,value:this.pending.value,factory:this.pending.factory,constructor:this.pending.constructor,lifetime:this.defaultLifetime,interfaceType:e};return this.configs.push(t),this.registrations.push(t),this}}asDefaultInterface(e){return this.as("TInterface",e),this.asDefault()}asKeyedInterface(e,t){return this.as("TInterface",t),this.keyed(e)}asImplementedInterfaces(e){if(e.length===0)return this;if(this.configs.length>0){for(let n of this.configs)n.lifetime="singleton",n.additionalTokens=n.additionalTokens||[],n.additionalTokens.push(...e);return this}let t={token:e[0],type:this.pending.type,value:this.pending.value,factory:this.pending.factory,constructor:this.pending.constructor,lifetime:"singleton"};this.configs.push(t),this.registrations.push(t);for(let n=1;n<e.length;n++)t.additionalTokens=t.additionalTokens||[],t.additionalTokens.push(e[n]);return this}singleInstance(){for(let e of this.configs)e.lifetime="singleton";return this}instancePerRequest(){for(let e of this.configs)e.lifetime="per-request";return this}instancePerDependency(){for(let e of this.configs)e.lifetime="transient";return this}named(e){for(let t of this.configs)t.name=e;return this}keyed(e){for(let t of this.configs)t.key=e;return this}asDefault(){for(let e of this.configs)e.isDefault=!0;return this}ifNotRegistered(){for(let e of this.configs)e.ifNotRegistered=!0;return this}withParameters(e){for(let t of this.configs)t.parameterValues=e;return this}autoWire(e){for(let t of this.configs)t.autowireOptions=e||{by:"paramName",strict:!1};return this}},ge=class{constructor(e){this.baseContainer=e,this.registrations=[]}registerType(e){let t={type:"type",value:null,constructor:e};return new le(t,this.registrations)}registerInstance(e){let t={type:"instance",value:e,constructor:void 0};return new le(t,this.registrations)}register(e){let t={type:"factory",value:null,factory:e,constructor:void 0};return new le(t,this.registrations)}module(e){return e(this),this}resolveInterfaceTokens(e){for(let t of this.registrations)t.interfaceType!==void 0&&!t.token&&(t.token=e.interfaceToken(t.interfaceType))}identifyNonDefaultTokens(){let e=new Set;for(let t of this.regi
|
||
|
|
|
||
|
|
Solutions:
|
||
|
|
1. \u2B50 Use the NovaDI transformer (recommended):
|
||
|
|
- Add "@novadi/core/unplugin" to your build config
|
||
|
|
- Transformer automatically generates .autoWire() for all dependencies
|
||
|
|
|
||
|
|
2. Add manual autowiring:
|
||
|
|
.autoWire({ map: { /* param: resolver */ } })
|
||
|
|
|
||
|
|
3. Use a factory function:
|
||
|
|
.register((c) => new ${i}(...))
|
||
|
|
|
||
|
|
See docs: https://github.com/janus007/NovaDI#autowire`)}let s=()=>new t.constructor;e.bindFactory(t.token,s,n)}applyRegistration(e,t){let n={lifetime:t.lifetime};switch(t.type){case"instance":e.bindValue(t.token,t.value);break;case"factory":e.bindFactory(t.token,t.factory,n);break;case"type":this.applyTypeRegistration(e,t,n);break}}};function Vt(o){return o&&typeof o.dispose=="function"}var et=class{constructor(){this.resolvingStack=new Set,this.perRequestCache=new Map}isResolving(e){return this.resolvingStack.has(e)}enterResolve(e){this.resolvingStack.add(e)}exitResolve(e){this.resolvingStack.delete(e),this.path=void 0}getPath(){return this.path||(this.path=Array.from(this.resolvingStack).map(e=>e.toString())),[...this.path]}cachePerRequest(e,t){this.perRequestCache.set(e,t)}getPerRequest(e){return this.perRequestCache.get(e)}hasPerRequest(e){return this.perRequestCache.has(e)}reset(){this.resolvingStack.clear(),this.perRequestCache.clear(),this.path=void 0}},tt=class{constructor(){this.pool=[],this.maxSize=10}acquire(){let e=this.pool.pop();return e?(e.reset(),e):new et}release(e){this.pool.length<this.maxSize&&this.pool.push(e)}},ce=class o{constructor(e){this.bindings=new Map,this.singletonCache=new Map,this.singletonOrder=[],this.interfaceRegistry=new Map,this.interfaceTokenCache=new Map,this.fastTransientCache=new Map,this.ultraFastSingletonCache=new Map,this.parent=e}bindValue(e,t){this.bindings.set(e,{type:"value",lifetime:"singleton",value:t,constructor:void 0}),this.invalidateBindingCache()}bindFactory(e,t,n){this.bindings.set(e,{type:"factory",lifetime:n?.lifetime||"transient",factory:t,dependencies:n?.dependencies,constructor:void 0}),this.invalidateBindingCache()}bindClass(e,t,n){let r={type:"class",lifetime:n?.lifetime||"transient",constructor:t,dependencies:n?.dependencies};this.bindings.set(e,r),this.invalidateBindingCache(),r.lifetime==="transient"&&(!r.dependencies||r.dependencies.length===0)&&this.fastTransientCache.set(e,()=>new t)}resolve(e){let t=this.tryGetFromCaches(e);if(t!==void 0)return t;if(this.currentContext)return this.resolveWithContext(e,this.currentContext);let n=o.contextPool.acquire();this.currentContext=n;try{return this.resolveWithContext(e,n)}finally{this.currentContext=void 0,o.contextPool.release(n)}}resolveSingletonUnsafe(e){return this.ultraFastSingletonCache.get(e)??this.singletonCache.get(e)}resolveTransientSimple(e){let t=this.fastTransientCache.get(e);return t?t():this.resolve(e)}resolveBatch(e){let t=!!this.currentContext,n=this.currentContext||o.contextPool.acquire();t||(this.currentContext=n);try{return e.map(s=>{let i=this.tryGetFromCaches(s);return i!==void 0?i:this.resolveWithContext(s,n)})}finally{t||(this.currentContext=void 0,o.contextPool.release(n))}}async resolveAsync(e){if(this.currentContext)return this.resolveAsyncWithContext(e,this.currentContext);let t=o.contextPool.acquire();this.currentContext=t;try{return await this.resolveAsyncWithContext(e,t)}finally{this.currentContext=void 0,o.contextPool.release(t)}}tryGetFromCaches(e){let t=this.ultraFastSingletonCache.get(e);if(t!==void 0)return t;if(this.singletonCache.has(e)){let r=this.singletonCache.get(e);return this.ultraFastSingletonCache.set(e,r),r}let n=this.fastTransientCache.get(e);if(n)return n()}cacheInstance(e,t,n,r){n==="singleton"?(this.singletonCache.set(e,t),this.singletonOrder.push(e),this.ultraFastSingletonCache.set(e,t)):n==="per-request"&&r&&r.cachePerRequest(e,t)}validateAndGetBinding(e,t){if(t.isResolving(e))throw new he([...t.getPath(),e.toString()]);let n=this.getBinding(e);if(!n)throw new ue(e.toString(),t.getPath());return n}instantiateBindingSync(e,t,n){switch(e.type){case"value":return e.value;case"factory":let r=e.factory(this);if(r instanceof Promise)throw new Error(`Async factory detected for ${t.toString()}. Use resolveAsync() instead.`);return r;case"class":let i=(e.dependencies||[]).map(a=>this.resolveWithContext(a,n));return new e.constructor(...i);case"inline-class":return new e.constructor;default:throw new Error(`Unknown binding type: ${e.type}`)}}async instantiateBindingAsy
|
||
|
|
<swp-event-time data-duration="${r}">${n}</swp-event-time>
|
||
|
|
<swp-event-title>${this.title}</swp-event-title>
|
||
|
|
${this.description?`<swp-event-description>${this.description}</swp-event-description>`:""}
|
||
|
|
`}updateDisplay(){let e=this.querySelector("swp-event-time"),t=this.querySelector("swp-event-title"),n=this.querySelector("swp-event-description");if(e&&this.dataset.start&&this.dataset.end){let r=new Date(this.dataset.start),s=new Date(this.dataset.end),i=V.formatTimeRange(r,s);e.textContent=i;let a=(s.getTime()-r.getTime())/(1e3*60);e.setAttribute("data-duration",a.toString())}if(t&&this.dataset.title&&(t.textContent=this.dataset.title),this.dataset.description){if(n)n.textContent=this.dataset.description;else if(this.description){let r=document.createElement("swp-event-description");r.textContent=this.description,this.appendChild(r)}}else n&&n.remove()}calculateTimesFromPosition(e){let t=this.config.gridSettings,{hourHeight:n,dayStartHour:r,snapInterval:s}=t,i=parseInt(this.dataset.originalDuration||this.dataset.duration||"60"),a=e/n*60,c=r*60+a,d=Math.round(c/s)*s,g=d+i;return{startMinutes:d,endMinutes:g}}static fromCalendarEvent(e){let t=document.createElement("swp-event"),n=K.getInstance(),r=new U(n);return t.dataset.eventId=e.id,t.dataset.title=e.title,t.dataset.description=e.description||"",t.dataset.start=r.toUTC(e.start),t.dataset.end=r.toUTC(e.end),t.dataset.type=e.type,t.dataset.duration=e.metadata?.duration?.toString()||"60",t}static extractCalendarEventFromElement(e){return{id:e.dataset.eventId||"",title:e.dataset.title||"",description:e.dataset.description||void 0,start:new Date(e.dataset.start||""),end:new Date(e.dataset.end||""),type:e.dataset.type||"work",allDay:!1,syncStatus:"synced",metadata:{duration:e.dataset.duration}}}},oe=class extends Re{connectedCallback(){this.textContent||(this.textContent=this.dataset.title||"Untitled")}createClone(){let e=this.cloneNode(!0);return e.dataset.eventId=`clone-${this.eventId}`,e.style.pointerEvents="none",e.style.opacity="1",e}applyGridPositioning(e,t,n){let r=`${e} / ${t} / ${e+1} / ${n+1}`;this.style.gridArea=r}static fromCalendarEvent(e){let t=document.createElement("swp-allday-event"),n=K.getInstance(),r=new U(n);return t.dataset.eventId=e.id,t.dataset.title=e.title,t.dataset.start=r.toUTC(e.start),t.dataset.end=r.toUTC(e.end),t.dataset.type=e.type,t.dataset.allday="true",t.textContent=e.title,t}};customElements.define("swp-event",Q);customElements.define("swp-allday-event",oe);var be=class{constructor(e,t){this.mouseDownPosition={x:0,y:0},this.currentMousePosition={x:0,y:0},this.mouseOffset={x:0,y:0},this.currentColumn=null,this.previousColumn=null,this.originalSourceColumn=null,this.isDragStarted=!1,this.dragThreshold=5,this.scrollableContent=null,this.scrollDeltaY=0,this.lastScrollTop=0,this.isScrollCompensating=!1,this.dragAnimationId=null,this.targetY=0,this.currentY=0,this.targetColumn=null,this.eventBus=e,this.positionUtils=t,this.init()}init(){document.body.addEventListener("mousemove",this.handleMouseMove.bind(this)),document.body.addEventListener("mousedown",this.handleMouseDown.bind(this)),document.body.addEventListener("mouseup",this.handleMouseUp.bind(this));let e=document.querySelector("swp-calendar-container");e&&(e.addEventListener("mouseleave",()=>{this.originalElement&&this.isDragStarted&&this.cancelDrag()}),e.addEventListener("mouseenter",t=>{let n=t.target;n.closest("swp-calendar-header")?this.handleHeaderMouseEnter(t):n.closest("swp-day-column")&&this.handleColumnMouseEnter(t)},!0),e.addEventListener("mouseleave",t=>{t.target.closest("swp-calendar-header")&&this.handleHeaderMouseLeave(t)},!0)),B.updateColumnBoundsCache(),window.addEventListener("resize",()=>{B.updateColumnBoundsCache()}),this.eventBus.on("navigation:completed",()=>{B.updateColumnBoundsCache()}),this.eventBus.on(v.GRID_RENDERED,t=>{this.handleGridRendered(t)}),this.eventBus.on("edgescroll:started",()=>{this.isScrollCompensating=!0,this.scrollableContent&&(this.lastScrollTop=this.scrollableContent.scrollTop)}),this.eventBus.on("edgescroll:stopped",()=>{this.isScrollCompensating=!1}),this.eventBus.on("drag:mouseenter-header",()=>{this.scrollDeltaY=0,this.lastScrollTop=0}),this.eventBus.on("drag:mouseenter-column",()=>{this.scrollDeltaY=0,this.lastScrollTop=0})}handleGr
|
||
|
|
<svg width="12" height="8" viewBox="0 0 12 8">
|
||
|
|
<path d="M1 1.5L6 6.5L11 1.5" stroke="currentColor" stroke-width="2" fill="none"/>
|
||
|
|
</svg>
|
||
|
|
`,n.onclick=()=>this.toggleExpanded(),t.appendChild(n)):!e&&n?n.remove():n&&(n.classList.toggle("collapsed",!this.isExpanded),n.classList.toggle("expanded",this.isExpanded))}toggleExpanded(){this.isExpanded=!this.isExpanded,this.checkAndAnimateAllDayHeight(),document.querySelectorAll("swp-allday-container swp-allday-event.max-event-overflow-hide, swp-allday-container swp-allday-event.max-event-overflow-show").forEach(t=>{this.isExpanded?(t.classList.remove("max-event-overflow-hide"),t.classList.add("max-event-overflow-show")):(t.classList.remove("max-event-overflow-show"),t.classList.add("max-event-overflow-hide"))})}countEventsInColumn(e){return this.countEventsInColumnFromDOM(e.index)}updateOverflowIndicators(){let e=this.getAllDayContainer();if(!e)return;B.getColumns().forEach(n=>{let s=this.countEventsInColumn(n)-ne.MAX_COLLAPSED_ROWS;if(s>0){let i=e.querySelector(`.max-event-indicator[data-column="${n.index}"]`);if(i)i.innerHTML=`<span>+${s+1} more</span>`;else{let a=document.createElement("swp-allday-event");a.className="max-event-indicator",a.setAttribute("data-column",n.index.toString()),a.style.gridRow=ne.MAX_COLLAPSED_ROWS.toString(),a.style.gridColumn=n.index.toString(),a.innerHTML=`<span>+${s+1} more</span>`,a.onclick=c=>{c.stopPropagation(),this.toggleExpanded()},e.appendChild(a)}}})}clearOverflowIndicators(){let e=this.getAllDayContainer();e&&e.querySelectorAll(".max-event-indicator").forEach(t=>{t.remove()})}};var Oe=class{constructor(e,t){this.config=e,this.positionUtils=t,this.isResizing=!1,this.targetEl=null,this.startY=0,this.startDurationMin=0,this.animationId=null,this.currentHeight=0,this.targetHeight=0,this.pointerCaptured=!1,this.ANIMATION_SPEED=.35,this.Z_INDEX_RESIZING="1000",this.EVENT_REFRESH_THRESHOLD=.5,this.onMouseOver=r=>{let i=r.target.closest("swp-event");if(i&&!this.isResizing&&!i.querySelector(":scope > swp-resize-handle")){let a=this.createResizeHandle();i.appendChild(a)}},this.onPointerDown=r=>{let s=r.target.closest("swp-resize-handle");if(!s)return;let i=s.parentElement;this.startResizing(i,r)},this.onPointerMove=r=>{!this.isResizing||!this.targetEl||this.updateResizeHeight(r.clientY)},this.animate=()=>{if(!this.isResizing||!this.targetEl){this.animationId=null;return}let r=this.targetHeight-this.currentHeight;Math.abs(r)>this.EVENT_REFRESH_THRESHOLD?(this.currentHeight+=r*this.ANIMATION_SPEED,this.targetEl.updateHeight?.(this.currentHeight),this.animationId=requestAnimationFrame(this.animate)):this.finalizeAnimation()},this.onPointerUp=r=>{!this.isResizing||!this.targetEl||(this.cleanupAnimation(),this.snapToGrid(),this.emitResizeEndEvent(),this.cleanupResizing(r))};let n=this.config.gridSettings;this.snapMin=n.snapInterval,this.minDurationMin=this.snapMin}initialize(){this.attachGlobalListeners()}destroy(){this.removeEventListeners()}removeEventListeners(){let e=document.querySelector("swp-calendar-container");e&&e.removeEventListener("mouseover",this.onMouseOver,!0),document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerUp,!0)}createResizeHandle(){let e=document.createElement("swp-resize-handle");return e.setAttribute("aria-label","Resize event"),e.setAttribute("role","separator"),e}attachGlobalListeners(){let e=document.querySelector("swp-calendar-container");e&&e.addEventListener("mouseover",this.onMouseOver,!0),document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerUp,!0)}startResizing(e,t){this.targetEl=e,this.isResizing=!0,this.startY=t.clientY;let n=e.offsetHeight;this.startDurationMin=Math.max(this.minDurationMin,Math.round(this.positionUtils.pixelsToMinutes(n))),this.setZIndexForResizing(e),this.capturePointer(t),document.documentElement.classList.add("swp--resizing"),t.preventDefault()}setZIndexForResizing(e){let t=e.closest("swp-event-group")??e;this.prevZ=t.style.zIndex,t.style.zIndex=this.Z_INDEX_RESIZING}capt
|
||
|
|
<swp-day-name>${D}</swp-day-name>
|
||
|
|
<swp-day-date>${E.getDate()}</swp-day-date>
|
||
|
|
`,u.dataset.date=this.dateService.formatISODate(E),e.appendChild(u)})}};var _e=class{constructor(e,t){this.dateService=e,this.workHoursManager=t}render(e,t){let{currentWeek:n,config:r}=t,s=r.getWorkWeekSettings(),i=this.dateService.getWorkWeekDates(n,s.workDays),a=r.dateViewSettings;i.slice(0,a.weekDays).forEach(d=>{let g=document.createElement("swp-day-column");g.dataset.date=this.dateService.formatISODate(d),this.applyWorkHoursToColumn(g,d);let w=document.createElement("swp-events-layer");g.appendChild(w),e.appendChild(g)})}applyWorkHoursToColumn(e,t){let n=this.workHoursManager.getWorkHoursForDate(t);if(n==="off")e.dataset.workHours="off";else{let r=this.workHoursManager.calculateNonWorkHoursStyle(n);r&&(e.style.setProperty("--before-work-height",`${r.beforeWorkHeight}px`),e.style.setProperty("--after-work-top",`${r.afterWorkTop}px`))}}};var Ye=class{constructor(e,t,n,r,s){this.draggedClone=null,this.originalEvent=null,this.dateService=e,this.stackManager=t,this.layoutCoordinator=n,this.config=r,this.positionUtils=s}applyDragStyling(e){e.classList.add("dragging"),e.style.removeProperty("margin-left")}handleDragStart(e){if(this.originalEvent=e.originalElement,this.draggedClone=e.draggedClone,this.draggedClone&&e.columnBounds){this.applyDragStyling(this.draggedClone);let t=e.columnBounds.element.querySelector("swp-events-layer");if(t){t.appendChild(this.draggedClone);let n=this.originalEvent.getBoundingClientRect(),r=e.columnBounds.boundingClientRect,s=n.top-r.top;this.draggedClone.style.top=`${s}px`}}this.originalEvent.style.opacity="0.3",this.originalEvent.style.userSelect="none"}handleDragMove(e){let t=e.draggedClone,n=this.dateService.parseISO(e.columnBounds.date);t.updatePosition(n,e.snappedY)}handleColumnChange(e){let t=e.newColumn.element.querySelector("swp-events-layer");if(t&&e.draggedClone.parentElement!==t){t.appendChild(e.draggedClone);let n=parseFloat(e.draggedClone.style.top)||0,r=e.draggedClone,s=this.dateService.parseISO(e.newColumn.date);r.updatePosition(s,n)}}handleConvertAllDayToTimed(e){console.log("\u{1F3AF} DateEventRenderer: Converting all-day to timed event",{eventId:e.calendarEvent.id,targetColumn:e.targetColumn.date,snappedY:e.snappedY});let t=Q.fromCalendarEvent(e.calendarEvent),n=this.calculateEventPosition(e.calendarEvent);t.style.height=`${n.height-3}px`,t.style.left="2px",t.style.right="2px",t.style.width="auto",t.style.pointerEvents="none",this.applyDragStyling(t);let r=e.targetColumn.element.querySelector("swp-events-layer");e.draggedClone.remove(),e.replaceClone(t),r.appendChild(t)}handleDragEnd(e,t,n,r){if(!t||!e){console.warn("Missing draggedClone or originalElement");return}e.tagName==="SWP-EVENT"&&this.fadeOutAndRemove(e);let s=t.dataset.eventId;s&&s.startsWith("clone-")&&(t.dataset.eventId=s.replace("clone-","")),t.classList.remove("dragging"),t.style.pointerEvents="",this.draggedClone=null,this.originalEvent=null;let i=document.querySelector(`swp-event[data-event-id="clone-${s}"]`);i&&i.remove()}handleNavigationCompleted(){}fadeOutAndRemove(e){e.style.transition="opacity 0.3s ease-out",e.style.opacity="0",setTimeout(()=>{e.remove()},300)}renderEvents(e,t){let n=e.filter(s=>!s.allDay);this.getColumns(t).forEach(s=>{let i=this.getEventsForColumn(s,n),a=s.querySelector("swp-events-layer");a&&this.renderColumnEvents(i,a)})}renderSingleColumnEvents(e,t){let n=this.getEventsForColumn(e.element,t),r=e.element.querySelector("swp-events-layer");r&&this.renderColumnEvents(n,r)}renderColumnEvents(e,t){if(e.length===0)return;let n=this.layoutCoordinator.calculateColumnLayout(e);n.gridGroups.forEach(r=>{this.renderGridGroup(r,t)}),n.stackedEvents.forEach(r=>{let s=this.renderEvent(r.event);this.stackManager.applyStackLinkToElement(s,r.stackLink),this.stackManager.applyVisualStyling(s,r.stackLink.stackLevel),t.appendChild(s)})}renderGridGroup(e,t){let n=document.createElement("swp-event-group"),r=e.columns.length;n.classList.add(`cols-${r}`),n.classList.add(`stack-level-${e.stackLevel}`),n.style.top=`${e.position.top}px`;let s={stackLevel:e.stackLevel};this.stackManager.applyStackLinkToE
|