Some ignored filles was missing

This commit is contained in:
Janus C. H. Knudsen 2026-02-03 00:02:25 +01:00
parent 7db22245e2
commit fd5ab6bc0d
268 changed files with 31970 additions and 4 deletions

View file

@ -0,0 +1,80 @@
/**
* SimpleEventOverlapManager - Clean, focused overlap management
* Eliminates complex state tracking in favor of direct DOM manipulation
*/
import { CalendarEvent } from '../types/CalendarTypes';
export declare enum OverlapType {
NONE = "none",
COLUMN_SHARING = "column_sharing",
STACKING = "stacking"
}
export interface OverlapGroup {
type: OverlapType;
events: CalendarEvent[];
position: {
top: number;
height: number;
};
}
export interface StackLink {
prev?: string;
next?: string;
stackLevel: number;
}
export declare class SimpleEventOverlapManager {
private static readonly STACKING_WIDTH_REDUCTION_PX;
/**
* Detect overlap type between two DOM elements - pixel-based logic
*/
resolveOverlapType(element1: HTMLElement, element2: HTMLElement): OverlapType;
/**
* Group overlapping elements - pixel-based algorithm
*/
groupOverlappingElements(elements: HTMLElement[]): HTMLElement[][];
/**
* Create flexbox container for column sharing - clean and simple
*/
createEventGroup(events: CalendarEvent[], position: {
top: number;
height: number;
}): HTMLElement;
/**
* Add event to flexbox group - simple relative positioning
*/
addToEventGroup(container: HTMLElement, eventElement: HTMLElement): void;
/**
* Create stacked event with data-attribute tracking
*/
createStackedEvent(eventElement: HTMLElement, underlyingElement: HTMLElement, stackLevel: number): void;
/**
* Remove stacked styling with proper stack re-linking
*/
removeStackedStyling(eventElement: HTMLElement): void;
/**
* Update stack levels for all events following a given event ID
*/
private updateSubsequentStackLevels;
/**
* Check if element is stacked - check both style and data-stack-link
*/
isStackedEvent(element: HTMLElement): boolean;
/**
* Remove event from group with proper cleanup
*/
removeFromEventGroup(container: HTMLElement, eventId: string): boolean;
/**
* Restack events in container - respects separate stack chains
*/
restackEventsInContainer(container: HTMLElement): void;
/**
* Utility methods - simple DOM traversal
*/
getEventGroup(eventElement: HTMLElement): HTMLElement | null;
isInEventGroup(element: HTMLElement): boolean;
/**
* Helper methods for data-attribute based stack tracking
*/
getStackLink(element: HTMLElement): StackLink | null;
private setStackLink;
private findElementById;
}