@blcklab/freedom 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +240 -0
- package/dist/index.cjs +798 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +791 -0
- package/dist/index.js.map +1 -0
- package/dist/manager.cjs +94 -0
- package/dist/manager.cjs.map +1 -0
- package/dist/manager.d.cts +6 -0
- package/dist/manager.d.ts +6 -0
- package/dist/manager.js +91 -0
- package/dist/manager.js.map +1 -0
- package/dist/snap.cjs +34 -0
- package/dist/snap.cjs.map +1 -0
- package/dist/snap.d.cts +10 -0
- package/dist/snap.d.ts +10 -0
- package/dist/snap.js +32 -0
- package/dist/snap.js.map +1 -0
- package/dist/types-tH0wv_P8.d.cts +121 -0
- package/dist/types-tH0wv_P8.d.ts +121 -0
- package/dist/window.cjs +788 -0
- package/dist/window.cjs.map +1 -0
- package/dist/window.d.cts +6 -0
- package/dist/window.d.ts +6 -0
- package/dist/window.js +785 -0
- package/dist/window.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
interface Point {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
}
|
|
5
|
+
interface Size {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
interface Rect extends Point, Size {
|
|
10
|
+
}
|
|
11
|
+
interface Bounds {
|
|
12
|
+
minX: number;
|
|
13
|
+
minY: number;
|
|
14
|
+
maxX: number;
|
|
15
|
+
maxY: number;
|
|
16
|
+
}
|
|
17
|
+
type BoundsOption = 'none' | 'viewport' | 'parent' | Rect;
|
|
18
|
+
type ResizeHandle = 'n' | 's' | 'e' | 'w' | 'nw' | 'ne' | 'sw' | 'se';
|
|
19
|
+
type InitialPosition = Point | 'center';
|
|
20
|
+
type PositioningMode = 'absolute' | 'fixed' | 'relative';
|
|
21
|
+
interface DragEventData {
|
|
22
|
+
position: Point;
|
|
23
|
+
delta: Point;
|
|
24
|
+
pointerEvent: PointerEvent;
|
|
25
|
+
}
|
|
26
|
+
interface ResizeEventData {
|
|
27
|
+
size: Size;
|
|
28
|
+
position: Point;
|
|
29
|
+
handle: ResizeHandle;
|
|
30
|
+
pointerEvent: PointerEvent;
|
|
31
|
+
}
|
|
32
|
+
interface WindowEventMap {
|
|
33
|
+
dragstart: DragEventData;
|
|
34
|
+
drag: DragEventData;
|
|
35
|
+
dragend: DragEventData;
|
|
36
|
+
resizestart: ResizeEventData;
|
|
37
|
+
resize: ResizeEventData;
|
|
38
|
+
resizeend: ResizeEventData;
|
|
39
|
+
focus: undefined;
|
|
40
|
+
blur: undefined;
|
|
41
|
+
destroy: undefined;
|
|
42
|
+
}
|
|
43
|
+
interface ManagerEventMap {
|
|
44
|
+
register: FreedomWindow;
|
|
45
|
+
unregister: FreedomWindow;
|
|
46
|
+
focus: FreedomWindow;
|
|
47
|
+
blur: FreedomWindow;
|
|
48
|
+
}
|
|
49
|
+
interface FreedomPlugin {
|
|
50
|
+
readonly name: string;
|
|
51
|
+
onInit?(ctx: PluginContext): void;
|
|
52
|
+
onDrag?(data: DragEventData, ctx: PluginContext): Point | void;
|
|
53
|
+
onResize?(data: ResizeEventData, ctx: PluginContext): {
|
|
54
|
+
position: Point;
|
|
55
|
+
size: Size;
|
|
56
|
+
} | void;
|
|
57
|
+
onDestroy?(ctx: PluginContext): void;
|
|
58
|
+
}
|
|
59
|
+
interface PluginContext {
|
|
60
|
+
readonly window: FreedomWindow;
|
|
61
|
+
readonly element: HTMLElement;
|
|
62
|
+
}
|
|
63
|
+
interface FreedomWindowOptions {
|
|
64
|
+
id?: string;
|
|
65
|
+
initialPosition?: InitialPosition;
|
|
66
|
+
initialSize?: Size;
|
|
67
|
+
positioning?: PositioningMode;
|
|
68
|
+
autoReveal?: boolean;
|
|
69
|
+
minWidth?: number;
|
|
70
|
+
minHeight?: number;
|
|
71
|
+
maxWidth?: number;
|
|
72
|
+
maxHeight?: number;
|
|
73
|
+
draggable?: boolean;
|
|
74
|
+
resizable?: boolean | ResizeHandle[];
|
|
75
|
+
dragHandle?: string | HTMLElement | null;
|
|
76
|
+
bounds?: BoundsOption;
|
|
77
|
+
zIndex?: number;
|
|
78
|
+
plugins?: FreedomPlugin[];
|
|
79
|
+
onDragStart?(data: DragEventData): void;
|
|
80
|
+
onDrag?(data: DragEventData): void;
|
|
81
|
+
onDragEnd?(data: DragEventData): void;
|
|
82
|
+
onResizeStart?(data: ResizeEventData): void;
|
|
83
|
+
onResize?(data: ResizeEventData): void;
|
|
84
|
+
onResizeEnd?(data: ResizeEventData): void;
|
|
85
|
+
onFocus?(): void;
|
|
86
|
+
onBlur?(): void;
|
|
87
|
+
}
|
|
88
|
+
interface FreedomWindow {
|
|
89
|
+
readonly id: string;
|
|
90
|
+
readonly element: HTMLElement;
|
|
91
|
+
getPosition(): Point;
|
|
92
|
+
getSize(): Size;
|
|
93
|
+
setPosition(point: Point): void;
|
|
94
|
+
setSize(size: Size): void;
|
|
95
|
+
focus(): void;
|
|
96
|
+
blur(): void;
|
|
97
|
+
isFocused(): boolean;
|
|
98
|
+
setZIndex(zIndex: number): void;
|
|
99
|
+
getZIndex(): number;
|
|
100
|
+
enableDrag(): void;
|
|
101
|
+
disableDrag(): void;
|
|
102
|
+
enableResize(handles?: ResizeHandle[]): void;
|
|
103
|
+
disableResize(): void;
|
|
104
|
+
destroy(): void;
|
|
105
|
+
on<K extends keyof WindowEventMap>(event: K, handler: (data: WindowEventMap[K]) => void): () => void;
|
|
106
|
+
}
|
|
107
|
+
interface FreedomManagerOptions {
|
|
108
|
+
baseZIndex?: number;
|
|
109
|
+
}
|
|
110
|
+
interface FreedomManager {
|
|
111
|
+
register(win: FreedomWindow): void;
|
|
112
|
+
unregister(win: FreedomWindow): void;
|
|
113
|
+
focus(win: FreedomWindow): void;
|
|
114
|
+
bringToFront(win: FreedomWindow): void;
|
|
115
|
+
getFocused(): FreedomWindow | null;
|
|
116
|
+
list(): FreedomWindow[];
|
|
117
|
+
on<K extends keyof ManagerEventMap>(event: K, handler: (data: ManagerEventMap[K]) => void): () => void;
|
|
118
|
+
destroy(): void;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export type { Bounds as B, DragEventData as D, FreedomManager as F, InitialPosition as I, ManagerEventMap as M, PluginContext as P, Rect as R, Size as S, WindowEventMap as W, BoundsOption as a, FreedomManagerOptions as b, FreedomPlugin as c, FreedomWindow as d, FreedomWindowOptions as e, Point as f, PositioningMode as g, ResizeEventData as h, ResizeHandle as i };
|