viewerjs 1.12.0 → 1.14.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/README.md +261 -39
- package/dist/viewer.common.js +750 -205
- package/dist/viewer.css +111 -2
- package/dist/viewer.esm.js +750 -205
- package/dist/viewer.js +750 -205
- package/dist/viewer.min.css +3 -3
- package/dist/viewer.min.js +3 -3
- package/package.json +6 -7
- package/src/css/viewer.css +107 -1
- package/src/css/viewer.scss +107 -1
- package/src/js/constants.js +6 -0
- package/src/js/defaults.js +62 -5
- package/src/js/events.js +31 -4
- package/src/js/handlers.js +232 -10
- package/src/js/methods.js +280 -138
- package/src/js/others.js +60 -6
- package/src/js/render.js +87 -15
- package/src/js/template.js +13 -6
- package/src/js/utilities.js +95 -12
- package/src/js/viewer.js +99 -11
- package/types/index.d.ts +116 -16
package/types/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
declare namespace Viewer {
|
|
2
2
|
export type Visibility = 0 | 1 | 2 | 3 | 4;
|
|
3
3
|
export type ToolbarButtonSize = 'small' | 'medium' | 'large';
|
|
4
|
+
export type WheelModifierKey = 'ctrl' | 'shift' | 'alt' | 'meta' | (string & {});
|
|
4
5
|
export type EventHandler<T extends Event = CustomEvent> = (event: T) => void;
|
|
5
6
|
export type Filter = (this: Viewer, image: HTMLImageElement) => boolean;
|
|
6
7
|
export type TitleRenderer = (this: Viewer, image: HTMLImageElement, imageData: Record<string, any>) => string;
|
|
7
8
|
export type ImageURLResolver = (this: Viewer, image: HTMLImageElement) => string;
|
|
9
|
+
export type ZoomRatio = number | ((this: Viewer, image: HTMLImageElement, imageData: Record<string, any>) => number);
|
|
8
10
|
export type ToolbarButtonClick = (this: Viewer, event: Event) => void;
|
|
9
11
|
export type ToolbarOption = boolean | Visibility | ToolbarButtonSize | ToolbarButtonOptions | undefined;
|
|
10
12
|
|
|
@@ -29,6 +31,44 @@ declare namespace Viewer {
|
|
|
29
31
|
[x: string]: ToolbarOption;
|
|
30
32
|
}
|
|
31
33
|
|
|
34
|
+
export interface NavigationButtonOptions {
|
|
35
|
+
show?: boolean | Visibility;
|
|
36
|
+
size?: ToolbarButtonSize;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type NavigationOption = boolean | Visibility | NavigationButtonOptions | undefined;
|
|
40
|
+
|
|
41
|
+
export interface NavbarOptions {
|
|
42
|
+
visibleItemCount?: number;
|
|
43
|
+
show?: boolean | Visibility;
|
|
44
|
+
size?: ToolbarButtonSize;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type NavbarOption = boolean | Visibility | ToolbarButtonSize | NavbarOptions | undefined;
|
|
48
|
+
|
|
49
|
+
export interface NavigationOptions {
|
|
50
|
+
next?: NavigationOption;
|
|
51
|
+
prev?: NavigationOption;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface TransitionOptions {
|
|
55
|
+
hide?: boolean;
|
|
56
|
+
move?: boolean;
|
|
57
|
+
play?: boolean;
|
|
58
|
+
rotate?: boolean;
|
|
59
|
+
scale?: boolean;
|
|
60
|
+
show?: boolean;
|
|
61
|
+
tooltip?: boolean;
|
|
62
|
+
view?: boolean;
|
|
63
|
+
zoom?: boolean;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface MagnifierOptions {
|
|
67
|
+
size?: number;
|
|
68
|
+
zoomRatio?: number;
|
|
69
|
+
opacity?: number;
|
|
70
|
+
}
|
|
71
|
+
|
|
32
72
|
export interface Pivot {
|
|
33
73
|
x: number;
|
|
34
74
|
y: number;
|
|
@@ -49,6 +89,7 @@ declare namespace Viewer {
|
|
|
49
89
|
export interface RotateEventData {
|
|
50
90
|
degree: number;
|
|
51
91
|
oldDegree: number;
|
|
92
|
+
originalEvent: Event | null;
|
|
52
93
|
}
|
|
53
94
|
|
|
54
95
|
export interface RotateEvent extends CustomEvent<RotateEventData> {}
|
|
@@ -60,12 +101,61 @@ declare namespace Viewer {
|
|
|
60
101
|
scaleY: number;
|
|
61
102
|
oldScaleX: number;
|
|
62
103
|
oldScaleY: number;
|
|
104
|
+
originalEvent: Event | null;
|
|
63
105
|
}
|
|
64
106
|
|
|
65
107
|
export interface ScaleEvent extends CustomEvent<ScaleEventData> {}
|
|
66
108
|
|
|
67
109
|
export interface ScaledEvent extends CustomEvent<ScaleEventData> {}
|
|
68
110
|
|
|
111
|
+
export interface ViewEventData {
|
|
112
|
+
image: HTMLImageElement;
|
|
113
|
+
index: number;
|
|
114
|
+
originalImage: HTMLImageElement;
|
|
115
|
+
originalEvent: Event | null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface ViewEvent extends CustomEvent<ViewEventData> {}
|
|
119
|
+
|
|
120
|
+
export interface ViewedEvent extends CustomEvent<ViewEventData> {}
|
|
121
|
+
|
|
122
|
+
export interface ShowEventData {
|
|
123
|
+
originalEvent: Event | null;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface ShowEvent extends CustomEvent<ShowEventData> {}
|
|
127
|
+
|
|
128
|
+
export interface ShownEvent extends CustomEvent<ShowEventData> {}
|
|
129
|
+
|
|
130
|
+
export interface HideEventData {
|
|
131
|
+
originalEvent: Event | null;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface HideEvent extends CustomEvent<HideEventData> {}
|
|
135
|
+
|
|
136
|
+
export interface HiddenEvent extends CustomEvent<HideEventData> {}
|
|
137
|
+
|
|
138
|
+
export interface PlayEventData {
|
|
139
|
+
originalEvent: Event | null;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface PlayEvent extends CustomEvent<PlayEventData> {}
|
|
143
|
+
|
|
144
|
+
export interface PlayingEventData {
|
|
145
|
+
image: HTMLImageElement;
|
|
146
|
+
index: number;
|
|
147
|
+
originalImage: HTMLImageElement;
|
|
148
|
+
originalEvent: Event | null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface PlayingEvent extends CustomEvent<PlayingEventData> {}
|
|
152
|
+
|
|
153
|
+
export interface StopEventData {
|
|
154
|
+
originalEvent: Event | null;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface StopEvent extends CustomEvent<StopEventData> {}
|
|
158
|
+
|
|
69
159
|
export interface ZoomEventData {
|
|
70
160
|
ratio: number;
|
|
71
161
|
oldRatio: number;
|
|
@@ -84,49 +174,58 @@ declare namespace Viewer {
|
|
|
84
174
|
filter?: Filter | null;
|
|
85
175
|
fullscreen?: boolean | FullscreenOptions;
|
|
86
176
|
focus?: boolean;
|
|
87
|
-
hidden?: EventHandler
|
|
88
|
-
hide?: EventHandler
|
|
177
|
+
hidden?: EventHandler<HiddenEvent>;
|
|
178
|
+
hide?: EventHandler<HideEvent>;
|
|
89
179
|
inheritedAttributes?: string[];
|
|
90
180
|
initialCoverage?: number;
|
|
91
181
|
initialViewIndex?: number;
|
|
92
182
|
inline?: boolean;
|
|
183
|
+
autoplay?: boolean;
|
|
93
184
|
interval?: number;
|
|
94
185
|
keyboard?: boolean;
|
|
95
186
|
loading?: boolean;
|
|
96
187
|
loop?: boolean;
|
|
97
|
-
|
|
188
|
+
magnifier?: boolean | MagnifierOptions;
|
|
189
|
+
maxZoomRatio?: ZoomRatio;
|
|
98
190
|
minHeight?: number;
|
|
99
191
|
minWidth?: number;
|
|
100
|
-
minZoomRatio?:
|
|
192
|
+
minZoomRatio?: ZoomRatio;
|
|
101
193
|
movable?: boolean;
|
|
102
194
|
move?: EventHandler<MoveEvent>;
|
|
103
195
|
moved?: EventHandler<MovedEvent>;
|
|
104
|
-
navbar?:
|
|
105
|
-
|
|
196
|
+
navbar?: NavbarOption;
|
|
197
|
+
navigation?: boolean | Visibility | NavigationOptions;
|
|
198
|
+
play?: EventHandler<PlayEvent>;
|
|
199
|
+
playing?: EventHandler<PlayingEvent>;
|
|
200
|
+
preload?: boolean;
|
|
106
201
|
ready?: EventHandler;
|
|
107
202
|
rotatable?: boolean;
|
|
203
|
+
rotateOnGesture?: boolean;
|
|
204
|
+
rotateOnTouch?: boolean;
|
|
108
205
|
rotate?: EventHandler<RotateEvent>;
|
|
109
206
|
rotated?: EventHandler<RotatedEvent>;
|
|
110
207
|
scalable?: boolean;
|
|
111
208
|
scale?: EventHandler<ScaleEvent>;
|
|
112
209
|
scaled?: EventHandler<ScaledEvent>;
|
|
113
|
-
show?: EventHandler
|
|
114
|
-
shown?: EventHandler
|
|
210
|
+
show?: EventHandler<ShowEvent>;
|
|
211
|
+
shown?: EventHandler<ShownEvent>;
|
|
115
212
|
slideOnTouch?: boolean;
|
|
116
|
-
|
|
213
|
+
slideOnWheel?: boolean | WheelModifierKey;
|
|
214
|
+
stop?: EventHandler<StopEvent>;
|
|
117
215
|
title?: boolean | Visibility | TitleRenderer | [Visibility, TitleRenderer] | null;
|
|
118
216
|
toggleOnDblclick?: boolean;
|
|
119
217
|
toolbar?: boolean | Visibility | ToolbarOptions;
|
|
120
218
|
tooltip?: boolean;
|
|
121
|
-
transition?: boolean;
|
|
219
|
+
transition?: boolean | TransitionOptions;
|
|
122
220
|
url?: string | ImageURLResolver;
|
|
123
|
-
view?: EventHandler
|
|
124
|
-
viewed?: EventHandler
|
|
221
|
+
view?: EventHandler<ViewEvent>;
|
|
222
|
+
viewed?: EventHandler<ViewedEvent>;
|
|
125
223
|
zIndex?: number;
|
|
126
224
|
zIndexInline?: number;
|
|
127
225
|
zoom?: EventHandler<ZoomEvent>;
|
|
226
|
+
zoomOnGesture?: boolean;
|
|
128
227
|
zoomOnTouch?: boolean;
|
|
129
|
-
zoomOnWheel?: boolean;
|
|
228
|
+
zoomOnWheel?: boolean | WheelModifierKey;
|
|
130
229
|
zoomRatio?: number;
|
|
131
230
|
zoomable?: boolean;
|
|
132
231
|
zoomed?: EventHandler<ZoomedEvent>;
|
|
@@ -134,7 +233,7 @@ declare namespace Viewer {
|
|
|
134
233
|
}
|
|
135
234
|
|
|
136
235
|
declare class Viewer {
|
|
137
|
-
constructor(element: HTMLElement, options?: Viewer.Options);
|
|
236
|
+
constructor(element: HTMLElement | ShadowRoot, options?: Viewer.Options);
|
|
138
237
|
destroy(): Viewer;
|
|
139
238
|
exit(): Viewer;
|
|
140
239
|
full(): Viewer;
|
|
@@ -154,12 +253,13 @@ declare class Viewer {
|
|
|
154
253
|
stop(): Viewer;
|
|
155
254
|
toggle(): Viewer;
|
|
156
255
|
tooltip(): Viewer;
|
|
157
|
-
update(): Viewer;
|
|
256
|
+
update(options?: Viewer.Options): Viewer;
|
|
158
257
|
view(index?: number): Viewer;
|
|
159
258
|
zoom(ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot): Viewer;
|
|
160
259
|
zoomTo(ratio: number, hasTooltip?: boolean, pivot?: Viewer.Pivot): Viewer;
|
|
161
|
-
static
|
|
260
|
+
static create(element: HTMLElement | ShadowRoot, options?: Viewer.Options): Viewer;
|
|
162
261
|
static setDefaults(options: Viewer.Options): void;
|
|
262
|
+
static noConflict(): Viewer;
|
|
163
263
|
}
|
|
164
264
|
|
|
165
265
|
declare module 'viewerjs' {
|