@redot-src/glare 1.0.0
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/LICENSE +21 -0
- package/README.md +80 -0
- package/dist/defaults.d.ts +5 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/fullscreen.d.ts +14 -0
- package/dist/fullscreen.d.ts.map +1 -0
- package/dist/gestures.d.ts +24 -0
- package/dist/gestures.d.ts.map +1 -0
- package/dist/glare.css +1 -0
- package/dist/glare.esm.js +1339 -0
- package/dist/glare.esm.js.map +1 -0
- package/dist/glare.js +28 -0
- package/dist/glare.js.map +1 -0
- package/dist/hash.d.ts +20 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/icons.d.ts +15 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/instance.d.ts +103 -0
- package/dist/instance.d.ts.map +1 -0
- package/dist/media.d.ts +5 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/share.d.ts +13 -0
- package/dist/share.d.ts.map +1 -0
- package/dist/slideshow.d.ts +19 -0
- package/dist/slideshow.d.ts.map +1 -0
- package/dist/thumbs.d.ts +17 -0
- package/dist/thumbs.d.ts.map +1 -0
- package/dist/types.d.ts +237 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +31 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/wheel.d.ts +11 -0
- package/dist/wheel.d.ts.map +1 -0
- package/package.json +75 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
export type ContentType = 'image' | 'video' | 'iframe' | 'inline' | 'ajax' | 'html';
|
|
2
|
+
export type AnimationEffect = false | 'fade' | 'zoom' | 'zoom-in-out' | 'slide' | 'circular' | 'tube' | 'rotate';
|
|
3
|
+
export type TransitionEffect = false | 'fade' | 'slide' | 'circular' | 'tube' | 'zoom-in-out' | 'rotate';
|
|
4
|
+
export type ClickAction = false | 'close' | 'next' | 'nextOrClose' | 'toggleControls' | 'zoom' | ((current: SlideItem, event: Event) => ClickAction | void);
|
|
5
|
+
export type ToolbarButton = 'zoom' | 'slideshow' | 'thumbs' | 'close' | 'download' | 'share' | 'fullscreen' | string;
|
|
6
|
+
export interface MediaProvider {
|
|
7
|
+
matcher: RegExp;
|
|
8
|
+
type?: ContentType | 'iframe' | 'image';
|
|
9
|
+
url?: string | ((match: RegExpMatchArray, url: string) => string);
|
|
10
|
+
thumb?: string | ((match: RegExpMatchArray, url: string) => string);
|
|
11
|
+
params?: Record<string, string | number | boolean>;
|
|
12
|
+
paramPlace?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface SlideSource {
|
|
15
|
+
src?: string;
|
|
16
|
+
type?: ContentType;
|
|
17
|
+
width?: number | string;
|
|
18
|
+
height?: number | string;
|
|
19
|
+
caption?: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
thumb?: string;
|
|
22
|
+
alt?: string;
|
|
23
|
+
downloadSrc?: string;
|
|
24
|
+
html?: string;
|
|
25
|
+
content?: string | HTMLElement;
|
|
26
|
+
poster?: string;
|
|
27
|
+
format?: string;
|
|
28
|
+
preload?: boolean;
|
|
29
|
+
autoStart?: boolean;
|
|
30
|
+
opts?: Partial<GlareOptions>;
|
|
31
|
+
$trigger?: HTMLElement | null;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
export interface SlideItem extends SlideSource {
|
|
35
|
+
index: number;
|
|
36
|
+
type: ContentType;
|
|
37
|
+
src: string;
|
|
38
|
+
contentEl?: HTMLElement | null;
|
|
39
|
+
$content?: HTMLElement | null;
|
|
40
|
+
$slide?: HTMLElement | null;
|
|
41
|
+
$image?: HTMLImageElement | null;
|
|
42
|
+
isLoaded?: boolean;
|
|
43
|
+
isComplete?: boolean;
|
|
44
|
+
isError?: boolean;
|
|
45
|
+
hasError?: boolean;
|
|
46
|
+
pos?: number;
|
|
47
|
+
width?: number | string;
|
|
48
|
+
height?: number | string;
|
|
49
|
+
contentWidth?: number;
|
|
50
|
+
contentHeight?: number;
|
|
51
|
+
scaleX?: number;
|
|
52
|
+
scaleY?: number;
|
|
53
|
+
canZoomIn?: boolean;
|
|
54
|
+
canZoomOut?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface TouchOptions {
|
|
57
|
+
vertical?: boolean;
|
|
58
|
+
momentum?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface ImageOptions {
|
|
61
|
+
preload?: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface AjaxOptions {
|
|
64
|
+
settings?: RequestInit & {
|
|
65
|
+
data?: Record<string, string>;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export interface IframeOptions {
|
|
69
|
+
preload?: boolean;
|
|
70
|
+
css?: Partial<CSSStyleDeclaration>;
|
|
71
|
+
attr?: Record<string, string>;
|
|
72
|
+
tpl?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface VideoOptions {
|
|
75
|
+
tpl?: string;
|
|
76
|
+
format?: string;
|
|
77
|
+
autoStart?: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface ThumbsOptions {
|
|
80
|
+
autoStart?: boolean;
|
|
81
|
+
hideOnClose?: boolean;
|
|
82
|
+
parentEl?: string | HTMLElement;
|
|
83
|
+
axis?: 'x' | 'y';
|
|
84
|
+
}
|
|
85
|
+
export interface SlideshowOptions {
|
|
86
|
+
autoStart?: boolean;
|
|
87
|
+
speed?: number;
|
|
88
|
+
}
|
|
89
|
+
export interface FullscreenOptions {
|
|
90
|
+
autoStart?: boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface ShareOptions {
|
|
93
|
+
url?: string | ((item: SlideItem) => string);
|
|
94
|
+
tpl?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface HashOptions {
|
|
97
|
+
enabled?: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface I18nDict {
|
|
100
|
+
CLOSE: string;
|
|
101
|
+
NEXT: string;
|
|
102
|
+
PREV: string;
|
|
103
|
+
ERROR: string;
|
|
104
|
+
PLAY_START: string;
|
|
105
|
+
PLAY_STOP: string;
|
|
106
|
+
FULL_SCREEN: string;
|
|
107
|
+
THUMBS: string;
|
|
108
|
+
DOWNLOAD: string;
|
|
109
|
+
SHARE: string;
|
|
110
|
+
ZOOM: string;
|
|
111
|
+
}
|
|
112
|
+
export type EventName = 'onInit' | 'beforeLoad' | 'afterLoad' | 'beforeShow' | 'afterShow' | 'beforeClose' | 'afterClose' | 'onActivate' | 'onDeactivate' | 'onUpdate' | 'onReveal' | 'onDestroy';
|
|
113
|
+
export type EventHandler = (instance: GlareInstance, current?: SlideItem, ...args: unknown[]) => unknown;
|
|
114
|
+
export interface GlareOptions {
|
|
115
|
+
closeExisting?: boolean;
|
|
116
|
+
loop?: boolean;
|
|
117
|
+
gutter?: number;
|
|
118
|
+
keyboard?: boolean;
|
|
119
|
+
preventCaptionOverlap?: boolean;
|
|
120
|
+
arrows?: boolean;
|
|
121
|
+
infobar?: boolean;
|
|
122
|
+
smallBtn?: boolean | 'auto';
|
|
123
|
+
toolbar?: boolean | 'auto';
|
|
124
|
+
buttons?: ToolbarButton[];
|
|
125
|
+
idleTime?: number | false;
|
|
126
|
+
protect?: boolean;
|
|
127
|
+
modal?: boolean;
|
|
128
|
+
image?: ImageOptions;
|
|
129
|
+
ajax?: AjaxOptions;
|
|
130
|
+
iframe?: IframeOptions;
|
|
131
|
+
video?: VideoOptions;
|
|
132
|
+
defaultType?: ContentType;
|
|
133
|
+
animationEffect?: AnimationEffect;
|
|
134
|
+
animationDuration?: number;
|
|
135
|
+
zoomOpacity?: boolean | 'auto';
|
|
136
|
+
transitionEffect?: TransitionEffect;
|
|
137
|
+
transitionDuration?: number;
|
|
138
|
+
slideClass?: string;
|
|
139
|
+
baseClass?: string;
|
|
140
|
+
parentEl?: string | HTMLElement;
|
|
141
|
+
hideScrollbar?: boolean;
|
|
142
|
+
autoFocus?: boolean;
|
|
143
|
+
backFocus?: boolean;
|
|
144
|
+
trapFocus?: boolean;
|
|
145
|
+
fullScreen?: FullscreenOptions | boolean;
|
|
146
|
+
touch?: TouchOptions | false;
|
|
147
|
+
hash?: HashOptions | boolean | null;
|
|
148
|
+
media?: Record<string, MediaProvider>;
|
|
149
|
+
slideShow?: SlideshowOptions | boolean;
|
|
150
|
+
thumbs?: ThumbsOptions | boolean;
|
|
151
|
+
share?: ShareOptions | boolean;
|
|
152
|
+
wheel?: boolean | 'auto' | 'slide';
|
|
153
|
+
clickContent?: ClickAction;
|
|
154
|
+
clickSlide?: ClickAction;
|
|
155
|
+
clickOutside?: ClickAction;
|
|
156
|
+
dblclickContent?: ClickAction;
|
|
157
|
+
dblclickSlide?: ClickAction;
|
|
158
|
+
dblclickOutside?: ClickAction;
|
|
159
|
+
mobile?: Partial<GlareOptions>;
|
|
160
|
+
lang?: string;
|
|
161
|
+
i18n?: Record<string, Partial<I18nDict>>;
|
|
162
|
+
caption?: string | ((instance: GlareInstance, current: SlideItem) => string);
|
|
163
|
+
onInit?: EventHandler;
|
|
164
|
+
beforeLoad?: EventHandler;
|
|
165
|
+
afterLoad?: EventHandler;
|
|
166
|
+
beforeShow?: EventHandler;
|
|
167
|
+
afterShow?: EventHandler;
|
|
168
|
+
beforeClose?: EventHandler;
|
|
169
|
+
afterClose?: EventHandler;
|
|
170
|
+
onActivate?: EventHandler;
|
|
171
|
+
onDeactivate?: EventHandler;
|
|
172
|
+
onUpdate?: EventHandler;
|
|
173
|
+
btnTpl?: Partial<Record<string, string>>;
|
|
174
|
+
spinnerTpl?: string;
|
|
175
|
+
errorTpl?: string;
|
|
176
|
+
baseTpl?: string;
|
|
177
|
+
[key: string]: unknown;
|
|
178
|
+
}
|
|
179
|
+
export interface GlareInstance {
|
|
180
|
+
id: number;
|
|
181
|
+
group: SlideItem[];
|
|
182
|
+
opts: GlareOptions;
|
|
183
|
+
current: SlideItem | null;
|
|
184
|
+
currIndex: number;
|
|
185
|
+
prevIndex: number;
|
|
186
|
+
isActive: boolean;
|
|
187
|
+
isClosing: boolean;
|
|
188
|
+
isAnimating: boolean;
|
|
189
|
+
$refs: {
|
|
190
|
+
container: HTMLElement | null;
|
|
191
|
+
stage: HTMLElement | null;
|
|
192
|
+
bg: HTMLElement | null;
|
|
193
|
+
inner: HTMLElement | null;
|
|
194
|
+
caption: HTMLElement | null;
|
|
195
|
+
toolbar: HTMLElement | null;
|
|
196
|
+
infobar: HTMLElement | null;
|
|
197
|
+
navigation: HTMLElement | null;
|
|
198
|
+
};
|
|
199
|
+
open: (index?: number) => void;
|
|
200
|
+
close: (event?: Event | null, duration?: number) => void;
|
|
201
|
+
next: (duration?: number) => void;
|
|
202
|
+
previous: (duration?: number) => void;
|
|
203
|
+
prev: (duration?: number) => void;
|
|
204
|
+
jumpTo: (index: number, duration?: number) => void;
|
|
205
|
+
scaleToFit: (duration?: number) => void;
|
|
206
|
+
scaleToActual: (x?: number, y?: number, duration?: number) => void;
|
|
207
|
+
update: () => void;
|
|
208
|
+
focus: () => void;
|
|
209
|
+
toggleControls: (force?: boolean) => void;
|
|
210
|
+
isIdle: boolean;
|
|
211
|
+
SlideShow?: {
|
|
212
|
+
start: () => void;
|
|
213
|
+
stop: () => void;
|
|
214
|
+
toggle: () => void;
|
|
215
|
+
isActive: () => boolean;
|
|
216
|
+
};
|
|
217
|
+
Thumbs?: {
|
|
218
|
+
show: () => void;
|
|
219
|
+
hide: () => void;
|
|
220
|
+
toggle: () => void;
|
|
221
|
+
focus: (index?: number) => void;
|
|
222
|
+
isActive: boolean;
|
|
223
|
+
};
|
|
224
|
+
FullScreen?: {
|
|
225
|
+
request: () => void;
|
|
226
|
+
exit: () => void;
|
|
227
|
+
toggle: () => void;
|
|
228
|
+
isFullscreen: () => boolean;
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
export interface BoundGroup {
|
|
232
|
+
selector: string;
|
|
233
|
+
options: GlareOptions;
|
|
234
|
+
elements: HTMLElement[];
|
|
235
|
+
destroy: () => void;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,CAAA;AAEV,MAAM,MAAM,eAAe,GACvB,KAAK,GACL,MAAM,GACN,MAAM,GACN,aAAa,GACb,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,CAAA;AAEZ,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,MAAM,GACN,OAAO,GACP,UAAU,GACV,MAAM,GACN,aAAa,GACb,QAAQ,CAAA;AAEZ,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,OAAO,GACP,MAAM,GACN,aAAa,GACb,gBAAgB,GAChB,MAAM,GACN,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,WAAW,GAAG,IAAI,CAAC,CAAA;AAE9D,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,OAAO,GACP,YAAY,GACZ,MAAM,CAAA;AAEV,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAC3D;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC/B,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,UAAU,GACV,UAAU,GACV,WAAW,CAAA;AAEf,MAAM,MAAM,YAAY,GAAG,CACzB,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,SAAS,EACnB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,OAAO,CAAA;AAEZ,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAA;IACxC,KAAK,CAAC,EAAE,YAAY,GAAG,KAAK,CAAA;IAC5B,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAA;IACtC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAA;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAA;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IAClC,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,YAAY,CAAC,EAAE,WAAW,CAAA;IAC1B,eAAe,CAAC,EAAE,WAAW,CAAA;IAC7B,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,eAAe,CAAC,EAAE,WAAW,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IAC5E,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE;QACL,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;QAC7B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;QACzB,EAAE,EAAE,WAAW,GAAG,IAAI,CAAA;QACtB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;QAC3B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;QAC3B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;QAC3B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAA;KAC/B,CAAA;IACD,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClE,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,IAAI,EAAE,MAAM,IAAI,CAAA;QAChB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAA;KACxB,CAAA;IACD,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,IAAI,CAAA;QAChB,IAAI,EAAE,MAAM,IAAI,CAAA;QAChB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;QAC/B,QAAQ,EAAE,OAAO,CAAA;KAClB,CAAA;IACD,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,MAAM,IAAI,CAAA;QACnB,IAAI,EAAE,MAAM,IAAI,CAAA;QAChB,MAAM,EAAE,MAAM,IAAI,CAAA;QAClB,YAAY,EAAE,MAAM,OAAO,CAAA;KAC5B,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
2
|
+
export declare function deepMerge<T extends Record<string, unknown>>(target: T, ...sources: Array<Partial<T> | Record<string, unknown> | undefined | null | false>): T;
|
|
3
|
+
export declare function $(selector: string, context?: ParentNode): HTMLElement | null;
|
|
4
|
+
export declare function $$(selector: string, context?: ParentNode): HTMLElement[];
|
|
5
|
+
export declare function createEl<K extends keyof HTMLElementTagNameMap>(tag: K, className?: string, html?: string): HTMLElementTagNameMap[K];
|
|
6
|
+
export declare function setAttributes(el: HTMLElement, attrs: Record<string, string | number | boolean | null | undefined>): void;
|
|
7
|
+
export declare function on<K extends keyof HTMLElementEventMap>(el: EventTarget, type: K, handler: (event: HTMLElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): () => void;
|
|
8
|
+
export declare function on(el: EventTarget, type: string, handler: EventListener, options?: boolean | AddEventListenerOptions): () => void;
|
|
9
|
+
export declare function once(el: EventTarget, type: string, handler: EventListener, options?: boolean | AddEventListenerOptions): () => void;
|
|
10
|
+
export declare function css(el: HTMLElement, styles: Partial<CSSStyleDeclaration> | Record<string, string | number | null>): void;
|
|
11
|
+
export declare function kebab(str: string): string;
|
|
12
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
13
|
+
export declare function isMobile(): boolean;
|
|
14
|
+
export declare function getScrollbarWidth(): number;
|
|
15
|
+
export declare function lockScroll(lock: boolean): void;
|
|
16
|
+
export declare function translate(template: string, dict: Record<string, string>): string;
|
|
17
|
+
export declare function getOffset(el: HTMLElement): DOMRect;
|
|
18
|
+
export declare function getCenter(el: HTMLElement): {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
export declare function requestAnimFrame(cb: FrameRequestCallback): number;
|
|
23
|
+
export declare function nextFrame(cb: () => void): void;
|
|
24
|
+
export declare function parseDataOptions(el: HTMLElement): Record<string, unknown>;
|
|
25
|
+
export declare function getAttr(el: HTMLElement, names: string[]): string | null;
|
|
26
|
+
export declare function toArray<T>(value: T | T[] | null | undefined): T[];
|
|
27
|
+
export declare function uniqueId(prefix?: string): string;
|
|
28
|
+
export declare function prefersReducedMotion(): boolean;
|
|
29
|
+
export declare function loadImage(src: string): Promise<HTMLImageElement>;
|
|
30
|
+
export declare function buildQuery(params: Record<string, string | number | boolean>): string;
|
|
31
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/wheel.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GlareInstance } from './types';
|
|
2
|
+
export declare class WheelNav {
|
|
3
|
+
private instance;
|
|
4
|
+
private mode;
|
|
5
|
+
private cleanups;
|
|
6
|
+
private locked;
|
|
7
|
+
constructor(instance: GlareInstance, mode: boolean | 'auto' | 'slide');
|
|
8
|
+
init(stage: HTMLElement): void;
|
|
9
|
+
destroy(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=wheel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel.d.ts","sourceRoot":"","sources":["../src/wheel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAQ;gBAEV,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO;IAKrE,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgC9B,OAAO,IAAI,IAAI;CAIhB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@redot-src/glare",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Modern, touch-enabled, fully customizable lightbox for the web — zero dependencies.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Glare Contributors",
|
|
8
|
+
"homepage": "https://redot-src.github.io/glare/",
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/redot-src/glare.git"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/redot-src/glare/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"lightbox",
|
|
21
|
+
"gallery",
|
|
22
|
+
"modal",
|
|
23
|
+
"zoom",
|
|
24
|
+
"image",
|
|
25
|
+
"video",
|
|
26
|
+
"touch",
|
|
27
|
+
"responsive",
|
|
28
|
+
"typescript",
|
|
29
|
+
"vanilla"
|
|
30
|
+
],
|
|
31
|
+
"main": "./dist/glare.js",
|
|
32
|
+
"module": "./dist/glare.esm.js",
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"unpkg": "./dist/glare.js",
|
|
35
|
+
"jsdelivr": "./dist/glare.js",
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"import": "./dist/glare.esm.js",
|
|
40
|
+
"require": "./dist/glare.js",
|
|
41
|
+
"default": "./dist/glare.esm.js"
|
|
42
|
+
},
|
|
43
|
+
"./style.css": "./dist/glare.css",
|
|
44
|
+
"./dist/glare.css": "./dist/glare.css",
|
|
45
|
+
"./dist/glare.js": "./dist/glare.js",
|
|
46
|
+
"./dist/glare.esm.js": "./dist/glare.esm.js"
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"dist",
|
|
50
|
+
"LICENSE",
|
|
51
|
+
"README.md"
|
|
52
|
+
],
|
|
53
|
+
"sideEffects": [
|
|
54
|
+
"**/*.css"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"dev": "vite",
|
|
58
|
+
"build": "tsc --noEmit && vite build && tsc -p tsconfig.build.json",
|
|
59
|
+
"preview": "vite preview",
|
|
60
|
+
"demo:build": "vite build --config vite.demo.config.ts",
|
|
61
|
+
"docs:dev": "vitepress dev docs",
|
|
62
|
+
"docs:build": "vitepress build docs",
|
|
63
|
+
"docs:preview": "vitepress preview docs",
|
|
64
|
+
"pages:build": "npm run docs:build && npm run demo:build",
|
|
65
|
+
"typecheck": "tsc --noEmit",
|
|
66
|
+
"prepublishOnly": "npm run build"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@types/node": "^26.5.1",
|
|
70
|
+
"typescript": "^5.9.2",
|
|
71
|
+
"vite": "^7.1.5",
|
|
72
|
+
"vitepress": "^1.6.4",
|
|
73
|
+
"vue": "^3.5.21"
|
|
74
|
+
}
|
|
75
|
+
}
|