vistaview 0.3.4 → 0.3.6
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 +11 -15
- package/dist/lib/defaults.d.ts.map +1 -1
- package/dist/lib/types.d.ts +2 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/vista-view.d.ts +6 -0
- package/dist/lib/vista-view.d.ts.map +1 -1
- package/dist/vistaview.cjs +10 -10
- package/dist/vistaview.css +1 -1
- package/dist/vistaview.d.ts +2 -2
- package/dist/vistaview.d.ts.map +1 -1
- package/dist/vistaview.js +440 -363
- package/dist/vistaview.umd.js +10 -10
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -282,37 +282,33 @@ function Gallery() {
|
|
|
282
282
|
|
|
283
283
|
```
|
|
284
284
|
vite v6.4.1 building for production...
|
|
285
|
-
transforming...
|
|
286
285
|
✓ 10 modules transformed.
|
|
287
|
-
rendering chunks...
|
|
288
286
|
|
|
289
287
|
[vite:dts] Start generate declaration files...
|
|
290
|
-
|
|
291
|
-
dist/vistaview.css 9.25 kB │ gzip: 1.64 kB
|
|
288
|
+
dist/vistaview.css 9.76 kB │ gzip: 1.69 kB
|
|
292
289
|
dist/svelte.js 0.54 kB │ gzip: 0.27 kB
|
|
293
290
|
dist/solid.js 1.11 kB │ gzip: 0.52 kB
|
|
294
291
|
dist/vue.js 1.29 kB │ gzip: 0.56 kB
|
|
295
292
|
dist/react.js 1.54 kB │ gzip: 0.57 kB
|
|
296
|
-
dist/vistaview.js
|
|
297
|
-
[vite:dts] Declaration files built in
|
|
293
|
+
dist/vistaview.js 38.13 kB │ gzip: 9.48 kB
|
|
294
|
+
[vite:dts] Declaration files built in 650ms.
|
|
298
295
|
|
|
299
|
-
dist/vistaview.css 9.
|
|
296
|
+
dist/vistaview.css 9.76 kB │ gzip: 1.69 kB
|
|
300
297
|
dist/svelte.cjs 0.48 kB │ gzip: 0.29 kB
|
|
301
298
|
dist/solid.cjs 0.92 kB │ gzip: 0.50 kB
|
|
302
299
|
dist/vue.cjs 1.00 kB │ gzip: 0.51 kB
|
|
303
300
|
dist/react.cjs 1.25 kB │ gzip: 0.52 kB
|
|
304
|
-
dist/vistaview.cjs
|
|
305
|
-
✓ built in
|
|
301
|
+
dist/vistaview.cjs 30.30 kB │ gzip: 8.42 kB
|
|
302
|
+
✓ built in 771ms
|
|
306
303
|
vite v6.4.1 building for production...
|
|
307
|
-
transforming...
|
|
308
304
|
✓ 6 modules transformed.
|
|
309
|
-
rendering chunks...
|
|
310
305
|
|
|
311
306
|
[vite:dts] Start generate declaration files...
|
|
312
|
-
|
|
313
|
-
dist/vistaview.
|
|
314
|
-
|
|
315
|
-
|
|
307
|
+
dist/vistaview.css 9.76 kB │ gzip: 1.69 kB
|
|
308
|
+
dist/vistaview.umd.js 30.45 kB │ gzip: 8.53 kB
|
|
309
|
+
[vite:dts] Declaration files built in 654ms.
|
|
310
|
+
|
|
311
|
+
✓ built in 740ms
|
|
316
312
|
```
|
|
317
313
|
|
|
318
314
|
## License
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/lib/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/lib/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAkJ1D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAQ7D;AAMD,eAAO,MAAM,WAAW,GAAI,WAAW,SAAS,SAE/C,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,sBAsB1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,2BA2H/B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,sBAK1B,CAAC"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ export type VistaViewOptions = {
|
|
|
30
30
|
touchSpeedThreshold?: number;
|
|
31
31
|
preloads?: number;
|
|
32
32
|
keyboardListeners?: boolean;
|
|
33
|
+
arrowOnSmallScreens?: boolean;
|
|
33
34
|
controls?: {
|
|
34
35
|
topLeft?: (VistaViewDefaultControls | VistaViewCustomControl)[];
|
|
35
36
|
topRight?: (VistaViewDefaultControls | VistaViewCustomControl)[];
|
|
@@ -76,7 +77,7 @@ export type VistaViewData = {
|
|
|
76
77
|
isZoomed: HTMLImageElement | false;
|
|
77
78
|
options: VistaViewOptions;
|
|
78
79
|
};
|
|
79
|
-
export type VistaViewTransitionFunction = (params: VistaViewData) =>
|
|
80
|
+
export type VistaViewTransitionFunction = (params: VistaViewData, abortSignal: AbortSignal) => Promise<void>;
|
|
80
81
|
export type VistaViewSetupFunction = (params: VistaViewData) => void;
|
|
81
82
|
export type VistaViewCloseFunction = (vistaView: VistaView) => void;
|
|
82
83
|
export type VistaViewInitFunction = (vistaView: VistaView) => void;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;QAChE,QAAQ,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;QACjE,SAAS,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;QAClE,YAAY,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;QACrE,UAAU,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;QACnE,WAAW,CAAC,EAAE,CAAC,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;KACrE,CAAC;IAGF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAG1C,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,cAAc,GACd,QAAQ,GACR,SAAS,GACT,OAAO,GACP,aAAa,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,EAAE;QAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;IACvE,MAAM,EAAE;QAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;IACrF,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAClD,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,EAAE,CAAC;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,CACxC,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,WAAW,KACrB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC"}
|
package/dist/lib/vista-view.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { VistaViewCustomControl, VistaViewImage, VistaViewImageIndexed, VistaViewOptions } from './types';
|
|
2
|
+
export declare class VistaViewTransitionAbortedError extends Error {
|
|
3
|
+
constructor(message: string);
|
|
4
|
+
}
|
|
2
5
|
export declare const DefaultOptions: {
|
|
3
6
|
detectReducedMotion: boolean;
|
|
4
7
|
animationDurationBase: number;
|
|
@@ -7,6 +10,7 @@ export declare const DefaultOptions: {
|
|
|
7
10
|
touchSpeedThreshold: number;
|
|
8
11
|
preloads: number;
|
|
9
12
|
keyboardListeners: boolean;
|
|
13
|
+
arrowOnSmallScreens: boolean;
|
|
10
14
|
controls: VistaViewOptions["controls"];
|
|
11
15
|
};
|
|
12
16
|
export declare const GlobalVistaState: {
|
|
@@ -40,6 +44,7 @@ export declare class VistaView {
|
|
|
40
44
|
navActive: boolean;
|
|
41
45
|
isZoomed: HTMLImageElement | false;
|
|
42
46
|
private onClickElements;
|
|
47
|
+
private defaultOnClickHandler;
|
|
43
48
|
private onResizeHandler;
|
|
44
49
|
private onKeyDown;
|
|
45
50
|
private userSetup;
|
|
@@ -49,6 +54,7 @@ export declare class VistaView {
|
|
|
49
54
|
private onZoomedPointerDown;
|
|
50
55
|
private onZoomedPointerMove;
|
|
51
56
|
private onZoomedPointerUp;
|
|
57
|
+
private transitionAbortController;
|
|
52
58
|
constructor(elements: NodeListOf<HTMLElement> | VistaViewImage[], options?: VistaViewOptions);
|
|
53
59
|
private swap;
|
|
54
60
|
private setZoomed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vista-view.d.ts","sourceRoot":"","sources":["../../src/lib/vista-view.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"vista-view.d.ts","sourceRoot":"","sources":["../../src/lib/vista-view.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAIjB,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,cAAc;;;;;;;;;cAepB,gBAAgB,CAAC,UAAU,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE;IAAE,eAAe,EAAE,SAAS,GAAG,IAAI,CAAA;CAEjE,CAAC;AAEF,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,EAAE,CAAC;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY;gBACM,MAAM,GAAG,IAAI;oBACT,SAAS,GAAG,IAAI;;;;;qBAOvB,MAAM,GAAG,IAAI;qBALb,MAAM;aAWR;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE;MAG3C;IAEF,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IACnC,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAM;IAC/D,aAAa,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAQ;IACrD,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI,CAAQ;IAC7C,SAAS,UAAQ;IACjB,QAAQ,EAAE,gBAAgB,GAAG,KAAK,CAAS;IAE3C,OAAO,CAAC,eAAe,CAIrB;IACF,OAAO,CAAC,qBAAqB,CAAwD;IAErF,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,SAAS,CAA6C;IAE9D,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,QAAQ,CAAsC;IAEtD,OAAO,CAAC,mBAAmB,CAA4C;IACvE,OAAO,CAAC,mBAAmB,CAA4C;IACvE,OAAO,CAAC,iBAAiB,CAA4C;IAErE,OAAO,CAAC,yBAAyB,CAAgC;gBAErD,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB;YA2C9E,IAAI;IA8FlB,OAAO,CAAC,SAAS;IAiGjB,OAAO,CAAC,MAAM;IAsCd,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,2BAA2B;IAqCnC,OAAO,CAAC,UAAU;IAyFlB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,kBAAkB;IAqB1B,IAAI,CAAC,UAAU,GAAE,MAAU,GAAG,IAAI;IA6J5B,KAAK,CAAC,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqEvC,OAAO,IAAI,IAAI;IAWf,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAYnE,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAKZ,eAAe,IAAI,MAAM;CAG1B"}
|
package/dist/vistaview.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
style="${n?`object-fit:${n};`:""}${
|
|
1
|
+
"use strict";var N=Object.defineProperty;var U=(s,t,i)=>t in s?N(s,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):s[t]=i;var w=(s,t,i)=>U(s,typeof t!="symbol"?t+"":t,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function T(s){const t=getComputedStyle(s),i=s.getBoundingClientRect();return{objectFit:t.objectFit,borderRadius:t.borderRadius,objectPosition:t.objectPosition,overflow:t.overflow,top:i.top,left:i.left,width:i.width,height:i.height,naturalWidth:s.naturalWidth,naturalHeight:s.naturalHeight}}let A=null;function j(){return A||(window.trustedTypes||(window.trustedTypes={createPolicy:(s,t)=>t}),A=window.trustedTypes.createPolicy("vistaView-policy",{createHTML:s=>s,createScript:()=>{throw new Error("Not implemented")},createScriptURL:()=>{throw new Error("Not implemented")}}),A)}function O(s){const i=j().createHTML(s),n=document.createElement("template");n.innerHTML=i;const e=n.content;return n.remove(),e}function H(s){return s&&!/^0(px|%|r?em|vw|vh|vmin|vmax|cm|mm|in|pt|pc|ex|ch)?$/i.test(s.trim())&&s}function K(s){const i=window.getComputedStyle(s).objectFit||"",{width:n,height:e}=s.getBoundingClientRect(),a=s.naturalWidth,d=s.naturalHeight;if(!i)return{width:n,height:e};if(!a||!d)return{width:n,height:e};const o=a/d,l=n/e;switch(i){case"fill":return{width:n,height:e};case"none":return{width:a,height:d};case"contain":return o>l?{width:n,height:n/o}:{width:e*o,height:e};case"cover":return o<l?{width:n,height:n/o}:{width:e*o,height:e};case"scale-down":{const c={width:a,height:d},r=o>l?{width:n,height:n/o}:{width:e*o,height:e};return r.width<=c.width&&r.height<=c.height?r:c}}return{width:n,height:e}}function q(s){const t=window.innerWidth,i=window.innerHeight,n=s.naturalWidth,e=s.naturalHeight;if(!n||!e)throw console.error("Error",s),new Error("Image natural dimensions are zero");if(n<t&&e<i)return{width:n,height:e};const a=n/e,d=t/i;let o,l;return a>d?(o=t,l=t/a):(l=i,o=i*a),{width:o,height:l}}function k(s,t){const i=window.innerHeight,n=window.innerWidth,e=s,a=t,d=Math.max(0,(e-n)/2)+n/2,o=Math.max(0,(a-i)/2)+i/2,l=-d,c=-o;return{maxDiffX:d,minDiffY:c,maxDiffY:o,minDiffX:l}}const G='<svg viewBox="0 0 24 24"><path d="m15 18-6-6 6-6"/></svg>',J='<svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6"/></svg>',Q='<svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><line x1="21" x2="16.65" y1="21" y2="16.65"/><line x1="11" x2="11" y1="8" y2="14"/><line x1="8" x2="14" y1="11" y2="11"/></svg>',tt='<svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><line x1="21" x2="16.65" y1="21" y2="16.65"/><line x1="8" x2="14" y1="11" y2="11"/></svg>',et='<svg viewBox="0 0 24 24"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>',it='<svg viewBox="0 0 24 24"><path d="M12 15V3"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/></svg>';function V(){return{name:"download",icon:it,onClick:async s=>{var a;const t=await fetch(s.src),i=await t.blob(),n=t.url,e=document.createElement("a");e.href=URL.createObjectURL(i),e.download=((a=n.split("/").pop())==null?void 0:a.split("?")[0].split("#")[0])||"download",document.body.appendChild(e),e.click(),document.body.removeChild(e)}}}function nt(s){if(typeof s=="string")switch(s){case"zoomIn":return`<button class="vistaview-zoom-in-btn">${Q}</button>`;case"zoomOut":return`<button disabled class="vistaview-zoom-out-btn">${tt}</button>`;case"close":return`<button class="vistaview-close-btn">${et}</button>`;case"indexDisplay":return'<div class="vistaview-index-display"></div>';case"description":return'<div class="vistaview-description"></div>';default:return""}return`<button data-vistaview-custom-control="${s.name}">${s.icon}</button>`}function W(s,t){var r,h;const i=s.imageElm?getComputedStyle(s.imageElm):null,n=(i==null?void 0:i.objectFit)||"",e=((r=s.imageElm)==null?void 0:r.naturalWidth)||"",a=((h=s.imageElm)==null?void 0:h.naturalHeight)||"",d=(i==null?void 0:i.width)||"",o=(i==null?void 0:i.height)||"",l=document.createElement("div");l.className="vistaview-item",l.dataset.vistaviewPos=`${t!==void 0?t:""}`,l.dataset.vistaviewIndex=s.index.toString();const c=O(`<img class="vistaview-image-lowres"
|
|
2
|
+
style="${n?`object-fit:${n};`:""}${d?`width:${d};`:""}${o?`height:${o};`:""}"
|
|
3
3
|
src="${s.thumb||s.src}"
|
|
4
4
|
alt="${s.alt||""}"
|
|
5
|
-
${
|
|
6
|
-
${
|
|
5
|
+
${e?`width="${e}"`:""}
|
|
6
|
+
${a?`height="${a}"`:""}
|
|
7
7
|
/>
|
|
8
|
-
<img class="vistaview-image-highres" src="${s.src}" alt="${s.alt||""}" />`);return
|
|
8
|
+
<img class="vistaview-image-highres" src="${s.src}" alt="${s.alt||""}" />`);return l.appendChild(c),l}function st({controls:s,isReducedMotion:t}){const i=e=>e?e.map(nt).join(""):"";return O(`<div class="vistaview-root${t?" vistaview--reduced-motion":""}" id="vistaview-root">
|
|
9
9
|
<div class="vistaview-container">
|
|
10
10
|
<div class="vistaview-image-container"></div>
|
|
11
|
-
<div class="vistaview-top-bar vistaview-ui"><div>${
|
|
12
|
-
<div class="vistaview-bottom-bar vistaview-ui"><div>${
|
|
13
|
-
<div class="vistaview-prev-btn vistaview-ui"><button>${
|
|
14
|
-
<div class="vistaview-next-btn vistaview-ui"><button>${
|
|
11
|
+
<div class="vistaview-top-bar vistaview-ui"><div>${i(s==null?void 0:s.topLeft)}</div><div>${i(s==null?void 0:s.topCenter)}</div><div>${i(s==null?void 0:s.topRight)}</div></div>
|
|
12
|
+
<div class="vistaview-bottom-bar vistaview-ui"><div>${i(s==null?void 0:s.bottomLeft)}</div><div>${i(s==null?void 0:s.bottomCenter)}</div><div>${i(s==null?void 0:s.bottomRight)}</div></div>
|
|
13
|
+
<div class="vistaview-prev-btn vistaview-ui"><button>${G}</button></div>
|
|
14
|
+
<div class="vistaview-next-btn vistaview-ui"><button>${J}</button></div>
|
|
15
15
|
</div>
|
|
16
|
-
</div>`)}let S=null,$=null,M=null;function O(s){z(s);const t=s.imageContainerElm,e=s.elements.length;if(!t)return;let n=0,i=0,o=0,l=0,a=!1;S=r=>{r.preventDefault(),r.stopPropagation(),s.isZoomed===!1&&(a=!0,n=r.pageX,i=r.pageY,o=r.pageX,l=Date.now())},$=r=>{if(r.preventDefault(),r.stopPropagation(),s.isZoomed!==!1||!a)return;const h=r.pageX-n,c=r.pageY-i;o=r.pageX,t.style.setProperty("--vistaview-pointer-diff-x",`${h}px`),t.style.setProperty("--vistaview-pointer-diff-y",`${c}px`)},M=r=>{if(r.preventDefault(),r.stopPropagation(),s.isZoomed!==!1||!a)return;a=!1;const h=Array.from(t.querySelectorAll(".vistaview-item")),c=o-n,d=Date.now()-l,v=c/d,u=s.options.touchSpeedThreshold||.7,g=h.find(p=>p.dataset.vistaviewPos==="0"),m=Number(g.dataset.vistaviewIndex),E=s.isReducedMotion;function w(){h[0].removeEventListener("transitionend",w),t.style.removeProperty("--vistaview-pointer-diff-x"),t.style.removeProperty("--vistaview-pointer-diff-y"),h.forEach(p=>{p.style.transition="",p.style.translate=""})}function y(p){h.forEach(x=>{x.style.transition=`translate ${s.options.animationDurationBase*.5}ms ease-out`,x.style.translate=p})}v<-u||v>u?(h[0].addEventListener("transitionend",()=>{s.isReducedMotion=!0,w(),s.view(v<-u?(m+1)%e:(m-1+e)%e,{next:v<-u,prev:v>u}),s.isReducedMotion=E}),y(v<-u?"-100%":"100%")):(h[0].addEventListener("transitionend",w),y("0%"))},t.addEventListener("pointermove",$),t.addEventListener("pointerup",M),t.addEventListener("pointerdown",S)}function z(s){const t=s.imageContainerElm;t&&($&&t.removeEventListener("pointermove",$),M&&t.removeEventListener("pointerup",M),S&&t.removeEventListener("pointerdown",S))}const X=s=>{O(s)},V=({htmlElements:{to:s},index:{to:t},elements:e})=>{e instanceof NodeList&&t!==null&&(e.forEach(n=>n.style.opacity="1"),e[t].style.opacity="0"),s&&s.forEach(n=>{const i=Number(n.dataset.vistaviewPos);i!==0?(n.style.zIndex="1",n.style.left=100*i+"%"):n.style.zIndex="2"})},_=async({htmlElements:{from:s,to:t},images:{to:e},via:{next:n,prev:i},container:o,options:l,isReducedMotion:a})=>{if(!e)throw new Error("VistaView: images is null in defaultTransition()");if(a)return o.innerHTML="",t.forEach(h=>{o.appendChild(h)}),e[e.length===1?0:Math.floor(e.length/2)];const r=s.filter(h=>h.dataset.vistaviewPos==="0"||(n?h.dataset.vistaviewPos==="1":h.dataset.vistaviewPos==="-1"));return await new Promise(h=>{function c(){o.innerHTML="",t.forEach(d=>{o.appendChild(d)}),h(0)}r[r.length-1].addEventListener("transitionend",c),r.forEach(d=>{d.style.transition=`translate ${l.animationDurationBase*.5}ms ease-out`,d.style.translate=n?"-100%":i?"100%":"0%"})}),e[e.length===1?0:Math.floor(e.length/2)]},B=s=>{s.elements instanceof NodeList&&s.elements.forEach(t=>t.style.opacity="1"),z(s)},Z={detectReducedMotion:!0,animationDurationBase:333,zoomStep:500,maxZoomLevel:2,touchSpeedThreshold:.7,preloads:1,keyboardListeners:!0,controls:{topLeft:["indexDisplay"],topRight:["zoomIn","zoomOut",k(),"close"],bottomCenter:["description"]}},b={somethingOpened:null};class it{constructor(t,e){f(this,"options");f(this,"elements");f(this,"isReducedMotion");f(this,"currentIndex",{_value:null,_vistaView:null,_via:{next:!1,prev:!1},set value(t){var n;const e=this._value;this._value=t,(n=this._vistaView)==null||n.swap(e,this._value)},get value(){return this._value},get via(){return this._via},set via(t){this._via=t}});f(this,"rootElm",null);f(this,"imageContainerElm",null);f(this,"customControls",{});f(this,"currentImages",null);f(this,"currentItems",null);f(this,"navActive",!0);f(this,"isZoomed",!1);f(this,"onClickElements",[]);f(this,"onResizeHandler",null);f(this,"onKeyDown",null);f(this,"userSetup",V);f(this,"userTransition",_);f(this,"userClose",B);f(this,"userInit",X);f(this,"onZoomedPointerDown",null);f(this,"onZoomedPointerMove",null);f(this,"onZoomedPointerUp",null);this.elements=t,this.currentIndex._vistaView=this,this.options={...Z,...e||{},controls:{...Z.controls,...(e==null?void 0:e.controls)||{}}},this.options.initFunction&&(this.userInit=this.options.initFunction),this.options.transitionFunction&&(this.userTransition=this.options.transitionFunction),this.options.closeFunction&&(this.userClose=this.options.closeFunction),this.options.initFunction&&(this.userInit=this.options.initFunction),this.isReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches,this.elements instanceof NodeList&&this.elements.forEach((n,i)=>{this.onClickElements.push(o=>{o.preventDefault(),this.open(i)}),n.addEventListener("click",this.onClickElements[i])})}async swap(t,e){var h,c;if(!b.somethingOpened||t===e||t===null||this.elements.length===1)return;if(!this.imageContainerElm)throw new Error("VistaView: imageContainerElm is null in swap()");this.setIndexDisplay(),this.clearZoom();const{images:n,positions:i}=this.getCurrentIndexes(e),o=this.getImages(n),l=o.map((d,v)=>W(d,i[v]));l.forEach((d,v)=>{var m,E;const u=d.querySelector(".vistaview-image-highres"),g=o[v].imageElm;if(u.complete&&u.naturalWidth>0){const{width:w,height:y}=H(g);w&&y&&(u.style.setProperty("--vistaview-fitted-width",`${w}px`),u.style.setProperty("--vistaview-fitted-height",`${y}px`)),u.classList.add("vistaview-image-loaded"),(m=d.querySelector(".vistaview-image-lowres"))==null||m.classList.add("vistaview-image--hidden");const{width:p,height:x}=P(u);u.style.width=`${p}px`,u.style.height=`${x}px`,u.width=u.naturalWidth,u.height=u.naturalHeight,(E=u.parentElement)!=null&&E.matches('[data-vistaview-pos="0"]')&&this.updateZoomButtonsVisibility()}}),this.navActive=!1;const a={htmlElements:{from:this.currentItems,to:l},images:{from:this.currentImages,to:o},index:{from:t,to:e},via:this.currentIndex.via,container:this.imageContainerElm,elements:this.elements,isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userSetup(a);const r=await this.userTransition(a);this.navActive=!0,this.setInitialDimPos(r),this.currentImages=o,this.currentItems=l,this.loadImages(),this.setCurrentDescription(),(c=(h=this.options).onImageView)==null||c.call(h,a)}setZoomed(t){var e,n,i,o,l,a;if(this.isZoomed!==t){if(this.isZoomed){let r=this.isZoomed;if(r.classList.remove("vistaview-image--zooming"),this.onZoomedPointerDown&&((e=r.parentElement)==null||e.removeEventListener("pointerdown",this.onZoomedPointerDown),this.onZoomedPointerDown=null),this.onZoomedPointerMove&&((n=r.parentElement)==null||n.removeEventListener("pointermove",this.onZoomedPointerMove),this.onZoomedPointerMove=null),this.onZoomedPointerUp&&((i=r.parentElement)==null||i.removeEventListener("pointerup",this.onZoomedPointerUp),this.onZoomedPointerUp=null),r==null||r.style.removeProperty("--pointer-diff-x"),r==null||r.style.removeProperty("--pointer-diff-y"),setTimeout(()=>{r==null||r.classList.remove("vistaview-image--zooming")},500),this.isZoomed=!1,!t)return}if(t){this.isZoomed=t,t.classList.add("vistaview-image--zooming"),t==null||t.style.setProperty("--pointer-diff-x","0px"),t==null||t.style.setProperty("--pointer-diff-y","0px");let r=!1,h=0,c=0,d=0,v=0,u=0,g=0;this.onZoomedPointerDown=m=>{m.preventDefault(),m.stopPropagation(),r=!0,h=m.pageX,c=m.pageY,t.setPointerCapture(m.pointerId)},this.onZoomedPointerMove=m=>{if(!r)return;m.preventDefault(),u=m.pageX-h,g=m.pageY-c;const E=parseInt((t==null?void 0:t.dataset.vistaviewCurrentWidth)||"0"),w=parseInt((t==null?void 0:t.dataset.vistaviewCurrentHeight)||"0"),{maxDiffX:y,minDiffY:p,maxDiffY:x,minDiffX:I}=T(E,w),L=Math.min(y,Math.max(I,d+u)),C=Math.min(x,Math.max(p,v+g));u=L-d,g=C-v,t==null||t.style.setProperty("--pointer-diff-x",`${L}px`),t==null||t.style.setProperty("--pointer-diff-y",`${C}px`)},this.onZoomedPointerUp=m=>{r=!1,t.releasePointerCapture(m.pointerId),d+=u,v+=g,u=0,g=0},(o=t==null?void 0:t.parentElement)==null||o.addEventListener("pointerdown",this.onZoomedPointerDown),(l=t==null?void 0:t.parentElement)==null||l.addEventListener("pointermove",this.onZoomedPointerMove),(a=t==null?void 0:t.parentElement)==null||a.addEventListener("pointerup",this.onZoomedPointerUp);return}}}zoomIn(){var o,l,a,r,h;const t=(o=this.rootElm)==null?void 0:o.querySelector('[data-vistaview-pos="0"] .vistaview-image-highres'),e=t.width,n=t.height;t.dataset.vistaviewInitialWidth||(t.dataset.vistaviewInitialWidth=e.toString()),t.dataset.vistaviewInitialHeight||(t.dataset.vistaviewInitialHeight=n.toString()),this.setZoomed(t);const i=(t.naturalWidth||0)*this.options.maxZoomLevel;if(e&&i&&e<i){const c=Math.min(e+this.options.zoomStep,i);t.style.width=`${c}px`;const d=c/e*n;t.style.height=`${d}px`,(a=(l=this.rootElm)==null?void 0:l.querySelector("button.vistaview-zoom-out-btn"))==null||a.removeAttribute("disabled"),t.dataset.vistaviewCurrentWidth=c.toString(),t.dataset.vistaviewCurrentHeight=d.toString(),c===i&&((h=(r=this.rootElm)==null?void 0:r.querySelector("button.vistaview-zoom-in-btn"))==null||h.setAttribute("disabled","true"))}}zoomOut(){var l,a,r,h,c;const t=(l=this.rootElm)==null?void 0:l.querySelector('[data-vistaview-pos="0"] .vistaview-image-highres'),e=t.width,n=t.height,i=t.dataset.vistaviewInitialWidth?parseInt(t.dataset.vistaviewInitialWidth):0,o=d=>{d.target===t&&(t.classList.remove("vistaview-image--zooming-out"),t.removeEventListener("transitionend",o))};if(t.addEventListener("transitionend",o),t.classList.add("vistaview-image--zooming-out"),e&&i&&e>i){const d=Math.max(e-this.options.zoomStep,i);t.style.width=`${d}px`;const v=d/e*n;t.style.height=`${v}px`,(r=(a=this.rootElm)==null?void 0:a.querySelector("button.vistaview-zoom-in-btn"))==null||r.removeAttribute("disabled"),t.dataset.vistaviewCurrentWidth=d.toString(),t.dataset.vistaviewCurrentHeight=v.toString();const{maxDiffX:u,minDiffY:g,maxDiffY:m,minDiffX:E}=T(d,v);let w=parseInt((t==null?void 0:t.style.getPropertyValue("--pointer-diff-x").replace("px",""))||"0"),y=parseInt((t==null?void 0:t.style.getPropertyValue("--pointer-diff-y").replace("px",""))||"0");w=Math.min(u,Math.max(E,w)),y=Math.min(m,Math.max(g,y)),t==null||t.style.setProperty("--pointer-diff-x",`${w}px`),t==null||t.style.setProperty("--pointer-diff-y",`${y}px`),d===i&&((c=(h=this.rootElm)==null?void 0:h.querySelector("button.vistaview-zoom-out-btn"))==null||c.setAttribute("disabled","true"),t.removeAttribute("data-vistaview-current-width"),t.removeAttribute("data-vistaview-current-height"),t.removeAttribute("data-vistaview-initial-width"),t.removeAttribute("data-vistaview-initial-height"),this.setZoomed(!1))}}clearZoom(){}getImages(t){return t.map((e,n)=>{const i=this.elements[e];if(i instanceof HTMLElement){const o=i.querySelector("img"),l=i.getAttribute("href")||"",a=i.getAttribute("src")||"",r=i.dataset.vistaviewSrc||l||a||(o==null?void 0:o.src)||"",h=i.dataset.vistaviewAlt||i.getAttribute("alt")||(o==null?void 0:o.alt)||"",c=i.dataset.vistaviewThumb||(o==null?void 0:o.src)||l||a||"";return{index:t[n],src:r,alt:h,thumb:c,imageElm:i instanceof HTMLImageElement?i:o,anchorElm:i instanceof HTMLAnchorElement?i:void 0}}else return{index:t[n],...i}})}setInitialDimPos(t){if(!this.rootElm)return;const e=t.imageElm?A(t.imageElm):void 0,n=t.anchorElm?A(t.anchorElm):void 0,i=(n==null?void 0:n.width)||(e==null?void 0:e.width)||0,o=(n==null?void 0:n.height)||(e==null?void 0:e.height)||0,l=((n==null?void 0:n.left)||(e==null?void 0:e.left)||0)+i/2,a=((n==null?void 0:n.top)||(e==null?void 0:e.top)||0)+o/2;this.rootElm.style.setProperty("--vistaview-container-initial-width",i+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-height",o+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-top",a+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-left",l+"px"),this.rootElm.style.setProperty("--vistaview-image-border-radius",R(n==null?void 0:n.borderRadius)||R(e==null?void 0:e.borderRadius)||"0px")}updateZoomButtonsVisibility(){var i;const t=(i=this.rootElm)==null?void 0:i.querySelector('[data-vistaview-pos="0"] img.vistaview-image-highres');if(!t)return;const e=this;function n(){var c,d;const o=(c=e.rootElm)==null?void 0:c.querySelector("button.vistaview-zoom-in-btn"),l=(d=e.rootElm)==null?void 0:d.querySelector("button.vistaview-zoom-out-btn"),a=parseInt(t.style.width)||t.width,r=t.naturalWidth*e.options.maxZoomLevel,h=a<r&&r>0;o&&(o.style.display=h?"":"none"),l&&(l.style.display=h?"":"none")}t.complete&&t.naturalWidth>0?n():t.addEventListener("load",n)}loadImages(){if(!this.rootElm)return;this.rootElm.querySelectorAll(".vistaview-image-highres:not(.vistaview-image-loaded)").forEach((e,n)=>{const i=e,l=this.currentImages[n].imageElm,a={w:0,h:0};if(l){const{width:h,height:c}=H(l);a.w=Math.min(l.width,h),a.h=Math.min(l.height,c)}const r=(h=!1)=>()=>{var c;if(a.w&&a.h&&(i.style.width=`${a.w}px`,i.style.height=`${a.h}px`,i.style.setProperty("--vistaview-fitted-width",`${a.w}px`),i.style.setProperty("--vistaview-fitted-height",`${a.h}px`)),i.classList.add("vistaview-image-loaded"),i.width=i.naturalWidth,i.height=i.naturalHeight,h){const{width:d,height:v}=P(i);i.style.width=`${d}px`,i.style.height=`${v}px`}else setTimeout(()=>{const{width:d,height:v}=P(i);i.style.width=`${d}px`,i.style.height=`${v}px`},333);setTimeout(()=>{var d,v;(v=(d=i.parentElement)==null?void 0:d.querySelector(".vistaview-image-lowres"))==null||v.classList.add("vistaview-image--hidden")},500),(c=e.parentElement)!=null&&c.matches('[data-vistaview-pos="0"]')&&this.updateZoomButtonsVisibility()};i.complete&&i.naturalWidth>0?r(!0)():i.onload=r(!1)})}setIndexDisplay(){this.elements.length!==1&&(this.rootElm.querySelector(".vistaview-index-display").textContent=`${this.currentIndex.value+1} / ${this.elements.length}`)}setCurrentDescription(){this.rootElm.querySelector(".vistaview-description").textContent=(this.currentImages[1]||this.currentImages[0]).alt||""}getCurrentIndexes(t){const e=this.options.preloads,n=this.elements.length,i=n<1||!e?[t]:[...new Set([...Array.from({length:e},(l,a)=>((t-e+a)%n+n)%n),t,...Array.from({length:e},(l,a)=>(t+1+a)%n)])],o=n<1||!e?[0]:i.map((l,a)=>a-Math.floor(i.length/2));return{images:i,positions:o}}setKeyboardListeners(){this.onKeyDown=t=>{switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next();break;case"ArrowUp":t.preventDefault(),this.zoomIn();break;case"ArrowDown":t.preventDefault(),this.zoomOut();break;case"Escape":t.preventDefault(),this.close();break}},window.addEventListener("keydown",this.onKeyDown)}setResizeListeners(){this.onResizeHandler=()=>{var n;const t=this.currentImages[this.currentImages.length===1?0:Math.floor(this.currentImages.length/2)];this.setInitialDimPos(t);const e=(n=this.rootElm)==null?void 0:n.querySelectorAll(".vistaview-image-highres.vistaview-image-loaded");e==null||e.forEach(i=>{const o=i,{width:l,height:a}=P(o);o.classList.contains("vistaview-image--zooming")?(o.dataset.vistaviewInitialWidth=l.toString(),o.dataset.vistaviewInitialHeight=a.toString()):(o.style.width=`${l}px`,o.style.height=`${a}px`)})},window.addEventListener("resize",this.onResizeHandler)}open(t=0){var l,a,r,h,c,d,v,u,g,m,E,w,y;if(b.somethingOpened){console.error("VistaView: another instance is already opened. Returning.");return}if(b.somethingOpened=this,this.currentIndex._value=t,document.body.prepend(et({controls:this.options.controls,isReducedMotion:this.isReducedMotion})),this.rootElm=document.querySelector("#vistaview-root"),this.imageContainerElm=((l=this.rootElm)==null?void 0:l.querySelector(".vistaview-image-container"))||null,!this.rootElm||!this.imageContainerElm)throw b.somethingOpened=null,new Error("Failed to create VistaView element");const{images:e,positions:n}=this.getCurrentIndexes(t);this.currentImages=this.getImages(e);const i=this.currentImages.map((p,x)=>W(p,n[x]));this.currentItems=i;const o={htmlElements:{from:null,to:this.currentItems},images:{from:null,to:this.currentImages},index:{from:null,to:t},via:this.currentIndex.via,container:this.imageContainerElm,elements:this.elements,isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userSetup(o),this.imageContainerElm.innerHTML="",this.currentItems.forEach(p=>{this.imageContainerElm.appendChild(p)}),(a=this.rootElm.querySelector(".vistaview-close-btn"))==null||a.addEventListener("click",()=>this.close()),(r=this.rootElm.querySelector(".vistaview-zoom-in-btn"))==null||r.addEventListener("click",()=>this.zoomIn()),(h=this.rootElm.querySelector(".vistaview-zoom-out-btn"))==null||h.addEventListener("click",()=>this.zoomOut()),(c=this.rootElm.querySelector(".vistaview-prev-btn>button"))==null||c.addEventListener("click",()=>this.prev()),(d=this.rootElm.querySelector(".vistaview-next-btn>button"))==null||d.addEventListener("click",()=>this.next()),[...this.options.controls.topLeft||[],...this.options.controls.topRight||[],...this.options.controls.topCenter||[],...this.options.controls.bottomCenter||[],...this.options.controls.bottomLeft||[],...this.options.controls.bottomRight||[]].forEach(p=>{typeof p!="string"&&(this.customControls[p.name]=p)}),this.rootElm.querySelectorAll("button[data-vistaview-custom-control]").forEach(p=>{p.addEventListener("click",x=>{const I=this.customControls[x.currentTarget.dataset.vistaviewCustomControl],L=this.currentImages.find(C=>C.index===this.currentIndex.value);I&&L&&(I.onClick.constructor.name==="AsyncFunction"?(p.classList.add("vistaview-button--loading"),I.onClick(L).finally(()=>{p.classList.remove("vistaview-button--loading")})):I.onClick(L))})}),this.options.animationDurationBase&&this.rootElm.style.setProperty("--vistaview-animation-duration",`${this.options.animationDurationBase}`),this.options.initialZIndex!==void 0&&this.rootElm.style.setProperty("--vistaview-initial-z-index",`${this.options.initialZIndex}`),this.setInitialDimPos(this.currentImages[this.currentImages.length===1?0:Math.floor(this.currentImages.length/2)]),this.setResizeListeners(),this.options.keyboardListeners&&this.setKeyboardListeners(),this.elements.length===1&&((v=this.rootElm.querySelector(".vistaview-prev-btn"))==null||v.classList.add("vistaview-ui--none"),(u=this.rootElm.querySelector(".vistaview-next-btn"))==null||u.classList.add("vistaview-ui--none"),(g=this.rootElm.querySelector(".vistaview-index-display"))==null||g.classList.add("vistaview-ui--none")),this.rootElm&&this.rootElm.classList.add("vistaview--initialized"),this.loadImages(),this.setCurrentDescription(),this.setIndexDisplay(),this.userInit(this),(E=(m=this.options).onOpen)==null||E.call(m,o),(y=(w=this.options).onImageView)==null||y.call(w,o)}async close(t=!0){var n,i,o;if(b.somethingOpened!==this)return;t&&((n=this.rootElm)==null||n.classList.add("vistaview--closing"),await new Promise(l=>{var r;let a;(r=this.rootElm)==null||r.addEventListener("transitionend",h=>{h.currentTarget===this.rootElm&&(a&&clearTimeout(a),a=setTimeout(()=>{l()},333))})}));const e={htmlElements:{from:this.currentItems,to:null},images:{from:this.currentImages,to:null},index:{from:this.currentIndex.value,to:null},container:this.imageContainerElm,elements:this.elements,via:{prev:!1,next:!1},isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userClose(this),(o=(i=this.options).onClose)==null||o.call(i,e),document.body.removeChild(this.rootElm),this.currentIndex._value=null,this.currentIndex._via={next:!1,prev:!1},this.rootElm=null,this.imageContainerElm=null,this.currentImages=null,this.currentItems=null,this.navActive=!0,this.onResizeHandler&&(window.removeEventListener("resize",this.onResizeHandler),this.onResizeHandler=null),this.onKeyDown&&(window.removeEventListener("keydown",this.onKeyDown),this.onKeyDown=null),(this.onZoomedPointerDown||this.onZoomedPointerMove||this.onZoomedPointerUp)&&(this.setZoomed(!1),this.onZoomedPointerDown=null,this.onZoomedPointerMove=null,this.onZoomedPointerUp=null),b.somethingOpened=null}destroy(){this.close(!1),this.elements instanceof NodeList&&this.elements.forEach((t,e)=>{t.removeEventListener("click",this.onClickElements[e])})}view(t,e){b.somethingOpened===this&&this.navActive&&(t<0&&(t=this.elements.length-1),t>=this.elements.length&&(t=0),this.currentIndex.via=e||{next:!1,prev:!1},this.currentIndex.value=t)}next(){b.somethingOpened===this&&this.view(this.currentIndex.value+1,{next:!0,prev:!1})}prev(){b.somethingOpened===this&&this.view(this.currentIndex.value-1,{next:!1,prev:!0})}getCurrentIndex(){return b.somethingOpened===this?this.currentIndex.value:-1}}function nt(s){let t=null;if(typeof s=="string"?t=document.querySelectorAll(s):s instanceof NodeList&&(t=s),t)for(let e=0;e<t.length;e++){const n=t[e];if(!(n.dataset.vistaviewSrc||n.getAttribute("href")||n.getAttribute("src")||""))return`Element at index ${e} is missing 'src' / 'data-vistaview-src' / 'href' attribute.`}else{const e=s;for(let n=0;n<e.length;n++)if(!e[n].src)return`Element at index ${n} is missing 'src' attribute.`}return t||s}function st({elements:s,...t}){if(!s)throw new Error("No elements");let e=nt(s);if(typeof e=="string")return console.error(e),console.warn("VistaView: silently returning."),null;const n=new it(e,t);return{open:(i=0)=>n.open(i),close:()=>n.close(),next:()=>n.next(),prev:()=>n.prev(),destroy:()=>n.destroy(),getCurrentIndex:()=>n.getCurrentIndex(),view:i=>{n.view(i)}}}exports.DefaultOptions=Z;exports.defaultClose=B;exports.defaultInit=X;exports.defaultSetup=V;exports.defaultTransition=_;exports.removeTouchActions=z;exports.setTouchActions=O;exports.vistaView=st;exports.vistaViewDownload=k;
|
|
16
|
+
</div>`)}let P=null,$=null,M=null,Z=null;function X(s){R(s);const t=s.imageContainerElm,i=s.elements.length;if(!t)return;let n=0,e=0,a=0,d=0,o=null,l=0,c=!1;P=r=>{r.preventDefault(),r.stopPropagation(),s.isZoomed===!1&&(c=!0,n=r.pageX,e=r.pageY,a=r.pageX,d=r.pageY,l=Date.now(),o=null,t.setPointerCapture(r.pointerId))},$=r=>{if(r.preventDefault(),r.stopPropagation(),s.isZoomed!==!1||!c)return;const h=r.pageX-n,m=r.pageY-e;a=r.pageX,d=r.pageY,Math.abs(h)>=Math.abs(m)&&(o===null||o===!0)?(t.style.setProperty("--vistaview-pointer-diff-x",`${h}px`),o=!0):Math.abs(m)>Math.abs(h)&&(o===null||o===!1)&&(t.style.setProperty("--vistaview-pointer-diff-y",`${m}px`),o=!1)},Z=r=>{if(r.preventDefault(),r.stopPropagation(),t.releasePointerCapture(r.pointerId),s.isZoomed!==!1||!c)return;c=!1,o=null;const h=Array.from(t.querySelectorAll(".vistaview-item"));t.style.removeProperty("--vistaview-pointer-diff-x"),t.style.removeProperty("--vistaview-pointer-diff-y"),h.forEach(m=>{m.style.transition="",m.style.translate=""})},M=r=>{if(r.preventDefault(),r.stopPropagation(),t.releasePointerCapture(r.pointerId),s.isZoomed!==!1||!c)return;c=!1;const h=Array.from(t.querySelectorAll(".vistaview-item")),m=a-n,f=d-e,u=Date.now()-l,v=m/u,y=f/u,p=s.options.touchSpeedThreshold||.5,b=h.find(E=>E.dataset.vistaviewPos==="0"),x=Number(b.dataset.vistaviewIndex);function g(){h[0].removeEventListener("transitionend",g),t.style.removeProperty("--vistaview-pointer-diff-x"),t.style.removeProperty("--vistaview-pointer-diff-y"),h.forEach(E=>{E.style.transition="",E.style.translate=""})}function I(E="0%",L="0%"){h.forEach(S=>{S.style.transition=`translate ${s.options.animationDurationBase*.5}ms ease-out`,S.style.translate=`${E} ${L}`})}if(v<-p||v>p){let E=function(){h[0].removeEventListener("transitionend",E),setTimeout(()=>{const L=s.isReducedMotion;s.isReducedMotion=!0,g(),s.view(v<-p?(x+1)%i:(x-1+i)%i,{next:v<-p,prev:v>p}),s.isReducedMotion=L},100)};I(v<-p?"-100%":"100%"),h[0].addEventListener("transitionend",E)}else y<-p||y>p?(s.close(),I("0%","0%")):(h[0].addEventListener("transitionend",g),I("0%"))},t.addEventListener("pointermove",$),t.addEventListener("pointerup",M),t.addEventListener("pointerdown",P),t.addEventListener("pointercancel",Z)}function R(s){const t=s.imageContainerElm;t&&($&&t.removeEventListener("pointermove",$),M&&t.removeEventListener("pointerup",M),P&&t.removeEventListener("pointerdown",P),Z&&t.removeEventListener("pointercancel",Z))}const Y=s=>{X(s)},B=({htmlElements:{to:s},index:{to:t},elements:i})=>{i instanceof NodeList&&t!==null&&(i.forEach(n=>n.style.opacity="1"),i[t].style.opacity="0"),s&&s.forEach(n=>{const e=Number(n.dataset.vistaviewPos);e!==0?(n.style.zIndex="1",n.style.left=100*e+"%"):n.style.zIndex="2"})},_=async({htmlElements:{from:s,to:t},images:{to:i},via:{next:n,prev:e},options:a,isReducedMotion:d},o)=>{if(console.log("defaultTransition called"),!i)throw new Error("VistaView: images is null in defaultTransition()");const l=s.filter(c=>c.dataset.vistaviewPos==="0"||(n?c.dataset.vistaviewPos==="1":c.dataset.vistaviewPos==="-1"));if(d){console.log("reduced motion, no transition");return}await new Promise((c,r)=>{let h=0;if(o.aborted){console.log("transition aborted before start"),r(new D("Transition aborted"));return}const m=f=>{if(o.aborted){console.log("transition aborted before start"),r(new D("Transition aborted"));return}if(f.currentTarget.removeEventListener("transitionend",m),h++,h<l.length)return;const u=t==null?void 0:t.find(g=>g.dataset.vistaviewPos==="0"),v=u?Number(u.dataset.vistaviewIndex):0,y=l.find(g=>Number(g.dataset.vistaviewIndex)===v),p=y==null?void 0:y.querySelector(".vistaview-image-highres");if(!p){r(new Error("current image element not found"));return}if(!p.classList.contains("vistaview-image-loaded")){console.log("current image not loaded yet"),c(0);return}if(u==null||u.classList.add("vistaview-image-loaded"),p.classList.contains("vistaview-image-settled")){console.log("current image already settled"),u==null||u.classList.add("vistaview-image-settled"),c(0);return}let b=0;console.log("waiting for image to be settled...");const x=setInterval(()=>{if(o.aborted){console.log("transition aborted during wait"),clearInterval(x),r(new D("Transition aborted"));return}if(b++,b>a.animationDurationBase/20*1.5){console.log("timeout waiting for image to be settled"),clearInterval(x),c(0);return}p.classList.contains("vistaview-image-settled")&&(console.log("image settled"),u==null||u.classList.add("vistaview-image-settled"),clearInterval(x),c(0))},20)};l.forEach(f=>{f.style.transition=`translate ${a.animationDurationBase*.5}ms ease-out`,f.style.translate=n?"-100%":e?"100%":"0%",f.addEventListener("transitionend",m)})})},F=s=>{s.elements instanceof NodeList&&s.elements.forEach(t=>t.style.opacity="1"),R(s)};class D extends Error{constructor(t){super(t),this.name="VistaViewTransitionAbortedError"}}const z={detectReducedMotion:!0,animationDurationBase:333,zoomStep:500,maxZoomLevel:2,touchSpeedThreshold:.5,preloads:1,keyboardListeners:!0,arrowOnSmallScreens:!1,controls:{topLeft:["indexDisplay"],topRight:["zoomIn","zoomOut",V(),"close"],bottomCenter:["description"]}},C={somethingOpened:null};class ot{constructor(t,i){w(this,"options");w(this,"elements");w(this,"isReducedMotion");w(this,"currentIndex",{_value:null,_vistaView:null,_via:{next:!1,prev:!1},set value(t){var n;const i=this._value;this._value=t,(n=this._vistaView)==null||n.swap(i,this._value)},get value(){return this._value},get via(){return this._via},set via(t){this._via=t}});w(this,"rootElm",null);w(this,"imageContainerElm",null);w(this,"customControls",{});w(this,"currentImages",null);w(this,"currentItems",null);w(this,"navActive",!0);w(this,"isZoomed",!1);w(this,"onClickElements",t=>{t.preventDefault();const i=t.currentTarget;i.dataset.vistaviewIndex&&this.open(parseInt(i.dataset.vistaviewIndex))});w(this,"defaultOnClickHandler",t=>t.preventDefault());w(this,"onResizeHandler",null);w(this,"onKeyDown",null);w(this,"userSetup",B);w(this,"userTransition",_);w(this,"userClose",F);w(this,"userInit",Y);w(this,"onZoomedPointerDown",null);w(this,"onZoomedPointerMove",null);w(this,"onZoomedPointerUp",null);w(this,"transitionAbortController",null);this.elements=t,this.currentIndex._vistaView=this,this.options={...z,...i||{},controls:{...z.controls,...(i==null?void 0:i.controls)||{}}},this.options.initFunction&&(this.userInit=this.options.initFunction),this.options.transitionFunction&&(this.userTransition=this.options.transitionFunction),this.options.closeFunction&&(this.userClose=this.options.closeFunction),this.options.initFunction&&(this.userInit=this.options.initFunction),this.isReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches,this.elements instanceof NodeList&&this.elements.forEach((n,e)=>{n.dataset.vistaviewIndex=e.toString(),n.addEventListener("click",this.defaultOnClickHandler),n.addEventListener("pointerup",this.onClickElements)})}async swap(t,i){var l,c;if(!C.somethingOpened||t===i||t===null)return;if(console.log("Swapping from",t,"to",i),this.transitionAbortController&&this.transitionAbortController.abort(),!this.imageContainerElm)throw new Error("VistaView: imageContainerElm is null in swap()");this.setIndexDisplay(),this.clearZoom();const{images:n,positions:e}=this.getCurrentIndexes(i),a=this.getImages(n),d=a.map((r,h)=>W(r,e[h]));console.log("swap prepared");const o={htmlElements:{from:this.currentItems,to:d},images:{from:this.currentImages,to:a},index:{from:t,to:i},via:this.currentIndex.via,container:this.imageContainerElm,elements:this.elements,isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userSetup(o),this.transitionAbortController=new AbortController;try{await this.userTransition(o,this.transitionAbortController.signal)}catch(r){r instanceof D||console.error(r)}console.log("swap completed"),this.imageContainerElm.innerHTML="",d.forEach(r=>{const h=r.dataset.vistaviewPos,m=r.dataset.vistaviewIndex;if(h==="0"){const f=this.currentItems.find(y=>y.dataset.vistaviewIndex===m),u=r.querySelector(".vistaview-image-highres"),v=f==null?void 0:f.querySelector(".vistaview-image-highres");v&&(u.setAttribute("class",v.getAttribute("class")||""),u.setAttribute("style",v.getAttribute("style")||"")),this.imageContainerElm.appendChild(r)}else this.imageContainerElm.appendChild(r)}),this.setInitialDimPos(),this.currentImages=a,this.currentItems=d,this.loadImages(),this.setCurrentDescription(),this.updateZoomButtonsVisibility(),(c=(l=this.options).onImageView)==null||c.call(l,o)}setZoomed(t){var i,n,e,a,d,o;if(this.isZoomed!==t){if(this.isZoomed){let l=this.isZoomed;if(l.classList.remove("vistaview-image--zooming"),this.onZoomedPointerDown&&((i=l.parentElement)==null||i.removeEventListener("pointerdown",this.onZoomedPointerDown),this.onZoomedPointerDown=null),this.onZoomedPointerMove&&((n=l.parentElement)==null||n.removeEventListener("pointermove",this.onZoomedPointerMove),this.onZoomedPointerMove=null),this.onZoomedPointerUp&&((e=l.parentElement)==null||e.removeEventListener("pointerup",this.onZoomedPointerUp),this.onZoomedPointerUp=null),l==null||l.style.removeProperty("--pointer-diff-x"),l==null||l.style.removeProperty("--pointer-diff-y"),setTimeout(()=>{l==null||l.classList.remove("vistaview-image--zooming")},500),this.isZoomed=!1,!t)return}if(t){this.isZoomed=t,t.classList.add("vistaview-image--zooming"),t==null||t.style.setProperty("--pointer-diff-x","0px"),t==null||t.style.setProperty("--pointer-diff-y","0px");let l=!1,c=0,r=0,h=0,m=0,f=0,u=0;this.onZoomedPointerDown=v=>{v.preventDefault(),v.stopPropagation(),l=!0,c=v.pageX,r=v.pageY,t.setPointerCapture(v.pointerId)},this.onZoomedPointerMove=v=>{if(!l)return;v.preventDefault(),f=v.pageX-c,u=v.pageY-r;const y=parseInt((t==null?void 0:t.dataset.vistaviewCurrentWidth)||"0"),p=parseInt((t==null?void 0:t.dataset.vistaviewCurrentHeight)||"0"),{maxDiffX:b,minDiffY:x,maxDiffY:g,minDiffX:I}=k(y,p),E=Math.min(b,Math.max(I,h+f)),L=Math.min(g,Math.max(x,m+u));f=E-h,u=L-m,t==null||t.style.setProperty("--pointer-diff-x",`${E}px`),t==null||t.style.setProperty("--pointer-diff-y",`${L}px`)},this.onZoomedPointerUp=v=>{l=!1,t.releasePointerCapture(v.pointerId),h+=f,m+=u,f=0,u=0},(a=t==null?void 0:t.parentElement)==null||a.addEventListener("pointerdown",this.onZoomedPointerDown),(d=t==null?void 0:t.parentElement)==null||d.addEventListener("pointermove",this.onZoomedPointerMove),(o=t==null?void 0:t.parentElement)==null||o.addEventListener("pointerup",this.onZoomedPointerUp);return}}}zoomIn(){var a,d,o,l,c;const t=(a=this.rootElm)==null?void 0:a.querySelector('[data-vistaview-pos="0"] .vistaview-image-highres'),i=t.width,n=t.height;t.dataset.vistaviewInitialWidth||(t.dataset.vistaviewInitialWidth=i.toString()),t.dataset.vistaviewInitialHeight||(t.dataset.vistaviewInitialHeight=n.toString()),this.setZoomed(t);const e=(t.naturalWidth||0)*this.options.maxZoomLevel;if(i&&e&&i<e){const r=Math.min(i+this.options.zoomStep,e);t.style.width=`${r}px`;const h=r/i*n;t.style.height=`${h}px`,(o=(d=this.rootElm)==null?void 0:d.querySelector("button.vistaview-zoom-out-btn"))==null||o.removeAttribute("disabled"),t.dataset.vistaviewCurrentWidth=r.toString(),t.dataset.vistaviewCurrentHeight=h.toString(),r===e&&((c=(l=this.rootElm)==null?void 0:l.querySelector("button.vistaview-zoom-in-btn"))==null||c.setAttribute("disabled","true"))}}zoomOut(){var d,o,l,c,r;const t=(d=this.rootElm)==null?void 0:d.querySelector('[data-vistaview-pos="0"] .vistaview-image-highres'),i=t.width,n=t.height,e=t.dataset.vistaviewInitialWidth?parseInt(t.dataset.vistaviewInitialWidth):0,a=h=>{h.target===t&&(t.classList.remove("vistaview-image--zooming-out"),t.removeEventListener("transitionend",a))};if(t.addEventListener("transitionend",a),t.classList.add("vistaview-image--zooming-out"),i&&e&&i>e){const h=Math.max(i-this.options.zoomStep,e);t.style.width=`${h}px`;const m=h/i*n;t.style.height=`${m}px`,(l=(o=this.rootElm)==null?void 0:o.querySelector("button.vistaview-zoom-in-btn"))==null||l.removeAttribute("disabled"),t.dataset.vistaviewCurrentWidth=h.toString(),t.dataset.vistaviewCurrentHeight=m.toString();const{maxDiffX:f,minDiffY:u,maxDiffY:v,minDiffX:y}=k(h,m);let p=parseInt((t==null?void 0:t.style.getPropertyValue("--pointer-diff-x").replace("px",""))||"0"),b=parseInt((t==null?void 0:t.style.getPropertyValue("--pointer-diff-y").replace("px",""))||"0");p=Math.min(f,Math.max(y,p)),b=Math.min(v,Math.max(u,b)),t==null||t.style.setProperty("--pointer-diff-x",`${p}px`),t==null||t.style.setProperty("--pointer-diff-y",`${b}px`),h===e&&((r=(c=this.rootElm)==null?void 0:c.querySelector("button.vistaview-zoom-out-btn"))==null||r.setAttribute("disabled","true"),t.removeAttribute("data-vistaview-current-width"),t.removeAttribute("data-vistaview-current-height"),t.removeAttribute("data-vistaview-initial-width"),t.removeAttribute("data-vistaview-initial-height"),this.setZoomed(!1))}}clearZoom(){}getImages(t){return t.map((i,n)=>{const e=this.elements[i];if(e instanceof HTMLElement){const a=e.querySelector("img"),d=e.getAttribute("href")||"",o=e.getAttribute("src")||"",l=e.dataset.vistaviewSrc||d||o||(a==null?void 0:a.src)||"",c=e.dataset.vistaviewAlt||e.getAttribute("alt")||(a==null?void 0:a.alt)||"",r=e.dataset.vistaviewThumb||(a==null?void 0:a.src)||d||o||"";return{index:t[n],src:l,alt:c,thumb:r,imageElm:e instanceof HTMLImageElement?e:a,anchorElm:e instanceof HTMLAnchorElement?e:void 0}}else return{index:t[n],...e}})}setInitialDimPos(){var c,r;if(!this.rootElm)return;const t=(c=this.rootElm.querySelector('[data-vistaview-pos="0"]'))==null?void 0:c.dataset.vistaviewIndex,i=((r=this.currentImages)==null?void 0:r.find(h=>h.index===Number(t)))||null;if(!i)return;const n=i.imageElm?T(i.imageElm):void 0,e=i.anchorElm?T(i.anchorElm):void 0,a=(e==null?void 0:e.width)||(n==null?void 0:n.width)||0,d=(e==null?void 0:e.height)||(n==null?void 0:n.height)||0,o=((e==null?void 0:e.left)||(n==null?void 0:n.left)||0)+a/2,l=((e==null?void 0:e.top)||(n==null?void 0:n.top)||0)+d/2;this.rootElm.style.setProperty("--vistaview-container-initial-width",a+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-height",d+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-top",l+"px"),this.rootElm.style.setProperty("--vistaview-container-initial-left",o+"px"),this.rootElm.style.setProperty("--vistaview-image-border-radius",H(e==null?void 0:e.borderRadius)||H(n==null?void 0:n.borderRadius)||"0px")}updateZoomButtonsVisibility(){var e;const t=(e=this.rootElm)==null?void 0:e.querySelector('[data-vistaview-pos="0"] img.vistaview-image-highres');if(!t)return;const i=this;function n(){var r,h;const a=(r=i.rootElm)==null?void 0:r.querySelector("button.vistaview-zoom-in-btn"),d=(h=i.rootElm)==null?void 0:h.querySelector("button.vistaview-zoom-out-btn"),o=parseInt(t.style.width)||t.width,l=t.naturalWidth*i.options.maxZoomLevel,c=o<l&&l>0;a&&(a.style.display=c?"":"none"),d&&(d.style.display=c?"":"none")}t.complete&&t.naturalWidth>0?n():t.addEventListener("load",n)}loadImages(){if(!this.rootElm)return;this.rootElm.querySelectorAll(".vistaview-image-highres:not(.vistaview-image-loaded)").forEach((i,n)=>{const e=i,d=this.currentImages[n].imageElm,o={w:0,h:0};if(d){const{width:c,height:r}=K(d);o.w=Math.min(d.width,c),o.h=Math.min(d.height,r)}const l=()=>{var r;const c=()=>{var h;o.w&&o.h&&(e.style.width=`${o.w}px`,e.style.height=`${o.h}px`,e.style.setProperty("--vistaview-fitted-width",`${o.w}px`),e.style.setProperty("--vistaview-fitted-height",`${o.h}px`)),e.classList.add("vistaview-image-loaded"),e.width=e.naturalWidth,e.height=e.naturalHeight,setTimeout(()=>{var y,p;let m=0;const f=()=>{var b,x;m++,!(m<3)&&(e.removeEventListener("transitionend",f),(x=(b=e.parentElement)==null?void 0:b.querySelector(".vistaview-image-lowres"))==null||x.classList.add("vistaview-image--hidden"),e.classList.add("vistaview-image-settled"))};e.addEventListener("transitionend",f);const{width:u,height:v}=q(e);e.style.width=`${u}px`,e.style.height=`${v}px`,o.w&&o.h&&u===o.w&&v===o.h?((p=(y=e.parentElement)==null?void 0:y.querySelector(".vistaview-image-lowres"))==null||p.classList.add("vistaview-image--hidden"),e.classList.add("vistaview-image-settled")):(e.style.width=`${u}px`,e.style.height=`${v}px`)},100),(h=i.parentElement)!=null&&h.matches('[data-vistaview-pos="0"]')&&this.updateZoomButtonsVisibility()};if((r=this.rootElm)!=null&&r.classList.contains("vistaview--opened"))c();else{const h=setInterval(()=>{var m;(m=this.rootElm)!=null&&m.classList.contains("vistaview--opened")&&(clearInterval(h),c())},50)}};e.complete&&e.naturalWidth>0?l():e.onload=l})}setIndexDisplay(){this.elements.length!==1&&(this.rootElm.querySelector(".vistaview-index-display").textContent=`${this.currentIndex.value+1} / ${this.elements.length}`)}setCurrentDescription(){this.rootElm.querySelector(".vistaview-description").textContent=(this.currentImages[1]||this.currentImages[0]).alt||""}getCurrentIndexes(t){const i=this.options.preloads,n=this.elements.length,e=n<1||!i?[t]:[...new Set([...Array.from({length:i},(d,o)=>((t-i+o)%n+n)%n),t,...Array.from({length:i},(d,o)=>(t+1+o)%n)])],a=n<1||!i?[0]:e.map((d,o)=>o-Math.floor(e.length/2));return{images:e,positions:a}}setKeyboardListeners(){this.onKeyDown=t=>{switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next();break;case"ArrowUp":t.preventDefault(),this.zoomIn();break;case"ArrowDown":t.preventDefault(),this.zoomOut();break;case"Escape":t.preventDefault(),this.close();break}},window.addEventListener("keydown",this.onKeyDown)}setResizeListeners(){this.onResizeHandler=()=>{var i;this.setInitialDimPos();const t=(i=this.rootElm)==null?void 0:i.querySelectorAll(".vistaview-image-highres.vistaview-image-loaded");t==null||t.forEach(n=>{const e=n,{width:a,height:d}=q(e);e.classList.contains("vistaview-image--zooming")?(e.dataset.vistaviewInitialWidth=a.toString(),e.dataset.vistaviewInitialHeight=d.toString()):(e.style.width=`${a}px`,e.style.height=`${d}px`)})},window.addEventListener("resize",this.onResizeHandler)}open(t=0){var o,l,c,r,h,m,f,u,v,y,p,b,x;if(C.somethingOpened){console.error("VistaView: another instance is already opened. Returning.");return}if(C.somethingOpened=this,this.currentIndex._value=t,document.body.prepend(st({controls:this.options.controls,isReducedMotion:this.isReducedMotion})),this.rootElm=document.querySelector("#vistaview-root"),this.imageContainerElm=((o=this.rootElm)==null?void 0:o.querySelector(".vistaview-image-container"))||null,!this.rootElm||!this.imageContainerElm)throw C.somethingOpened=null,new Error("Failed to create VistaView element");this.options.arrowOnSmallScreens||this.rootElm.classList.add("vistaview-no-arrows-sm");const{images:i,positions:n}=this.getCurrentIndexes(t);this.currentImages=this.getImages(i);const e=this.currentImages.map((g,I)=>W(g,n[I]));this.currentItems=e;const a={htmlElements:{from:null,to:this.currentItems},images:{from:null,to:this.currentImages},index:{from:null,to:t},via:this.currentIndex.via,container:this.imageContainerElm,elements:this.elements,isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userSetup(a),this.imageContainerElm.innerHTML="",this.currentItems.forEach(g=>{this.imageContainerElm.appendChild(g)});let d=0;this.rootElm.addEventListener("animationend",g=>{var I;g.currentTarget===this.rootElm&&(d++,d>=2&&((I=this.rootElm)==null||I.classList.add("vistaview--opened")))}),(l=this.rootElm.querySelector(".vistaview-close-btn"))==null||l.addEventListener("click",()=>this.close()),(c=this.rootElm.querySelector(".vistaview-zoom-in-btn"))==null||c.addEventListener("click",()=>this.zoomIn()),(r=this.rootElm.querySelector(".vistaview-zoom-out-btn"))==null||r.addEventListener("click",()=>this.zoomOut()),(h=this.rootElm.querySelector(".vistaview-prev-btn>button"))==null||h.addEventListener("click",()=>this.prev()),(m=this.rootElm.querySelector(".vistaview-next-btn>button"))==null||m.addEventListener("click",()=>this.next()),[...this.options.controls.topLeft||[],...this.options.controls.topRight||[],...this.options.controls.topCenter||[],...this.options.controls.bottomCenter||[],...this.options.controls.bottomLeft||[],...this.options.controls.bottomRight||[]].forEach(g=>{typeof g!="string"&&(this.customControls[g.name]=g)}),this.rootElm.querySelectorAll("button[data-vistaview-custom-control]").forEach(g=>{g.addEventListener("click",I=>{const E=this.customControls[I.currentTarget.dataset.vistaviewCustomControl],L=this.currentImages.find(S=>S.index===this.currentIndex.value);E&&L&&(E.onClick.constructor.name==="AsyncFunction"?(g.classList.add("vistaview-button--loading"),E.onClick(L).finally(()=>{g.classList.remove("vistaview-button--loading")})):E.onClick(L))})}),this.options.animationDurationBase&&this.rootElm.style.setProperty("--vistaview-animation-duration",`${this.options.animationDurationBase}`),this.options.initialZIndex!==void 0&&this.rootElm.style.setProperty("--vistaview-initial-z-index",`${this.options.initialZIndex}`),this.setInitialDimPos(),this.setResizeListeners(),this.options.keyboardListeners&&this.setKeyboardListeners(),this.elements.length===1&&((f=this.rootElm.querySelector(".vistaview-prev-btn"))==null||f.classList.add("vistaview-ui--none"),(u=this.rootElm.querySelector(".vistaview-next-btn"))==null||u.classList.add("vistaview-ui--none"),(v=this.rootElm.querySelector(".vistaview-index-display"))==null||v.classList.add("vistaview-ui--none")),this.rootElm&&this.rootElm.classList.add("vistaview--initialized"),this.loadImages(),this.setCurrentDescription(),this.setIndexDisplay(),this.userInit(this),(p=(y=this.options).onOpen)==null||p.call(y,a),(x=(b=this.options).onImageView)==null||x.call(b,a)}async close(t=!0){var n,e,a;if(C.somethingOpened!==this)return;t&&((n=this.rootElm)==null||n.classList.add("vistaview--closing"),await new Promise(d=>{var l;let o;(l=this.rootElm)==null||l.addEventListener("transitionend",c=>{c.currentTarget===this.rootElm&&(o&&clearTimeout(o),o=setTimeout(()=>{d()},333))})}));const i={htmlElements:{from:this.currentItems,to:null},images:{from:this.currentImages,to:null},index:{from:this.currentIndex.value,to:null},container:this.imageContainerElm,elements:this.elements,via:{prev:!1,next:!1},isReducedMotion:this.isReducedMotion,navActive:this.navActive,isZoomed:this.isZoomed,options:this.options};this.userClose(this),(a=(e=this.options).onClose)==null||a.call(e,i),document.body.removeChild(this.rootElm),this.currentIndex._value=null,this.currentIndex._via={next:!1,prev:!1},this.rootElm=null,this.imageContainerElm=null,this.currentImages=null,this.currentItems=null,this.navActive=!0,this.onResizeHandler&&(window.removeEventListener("resize",this.onResizeHandler),this.onResizeHandler=null),this.onKeyDown&&(window.removeEventListener("keydown",this.onKeyDown),this.onKeyDown=null),(this.onZoomedPointerDown||this.onZoomedPointerMove||this.onZoomedPointerUp)&&(this.setZoomed(!1),this.onZoomedPointerDown=null,this.onZoomedPointerMove=null,this.onZoomedPointerUp=null),this.transitionAbortController&&(this.transitionAbortController.abort(),this.transitionAbortController=null),C.somethingOpened=null}destroy(){this.close(!1),this.elements instanceof NodeList&&this.elements.forEach(t=>{t.dataset.vistaviewIndex&&delete t.dataset.vistaviewIndex,t.removeEventListener("click",this.defaultOnClickHandler),t.removeEventListener("pointerup",this.onClickElements)})}view(t,i){C.somethingOpened===this&&this.navActive&&(t<0&&(t=this.elements.length-1),t>=this.elements.length&&(t=0),this.currentIndex.via=i||{next:!1,prev:!1},this.currentIndex.value=t)}next(){C.somethingOpened===this&&this.view(this.currentIndex.value+1,{next:!0,prev:!1})}prev(){C.somethingOpened===this&&this.view(this.currentIndex.value-1,{next:!1,prev:!0})}getCurrentIndex(){return C.somethingOpened===this?this.currentIndex.value:-1}}function rt(s){let t=null;if(typeof s=="string"?t=document.querySelectorAll(s):s instanceof NodeList&&(t=s),t)for(let i=0;i<t.length;i++){const n=t[i];if(!(n.dataset.vistaviewSrc||n.getAttribute("href")||n.getAttribute("src")||""))return`Element at index ${i} is missing 'src' / 'data-vistaview-src' / 'href' attribute.`}else{const i=s;for(let n=0;n<i.length;n++)if(!i[n].src)return`Element at index ${n} is missing 'src' attribute.`}return t||s}function at({elements:s,...t}){if(!s)throw new Error("No elements");let i=rt(s);if(typeof i=="string")return console.error(i),console.warn("VistaView: silently returning."),null;const n=new ot(i,t);return{open:(e=0)=>n.open(e),close:()=>n.close(),next:()=>n.next(),prev:()=>n.prev(),destroy:()=>n.destroy(),getCurrentIndex:()=>n.getCurrentIndex(),view:e=>{n.view(e)}}}exports.DefaultOptions=z;exports.VistaViewTransitionAbortedError=D;exports.defaultClose=F;exports.defaultInit=Y;exports.defaultSetup=B;exports.defaultTransition=_;exports.removeTouchActions=R;exports.setTouchActions=X;exports.vistaView=at;exports.vistaViewDownload=V;
|
package/dist/vistaview.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--vistaview-bg-color: #000000;--vistaview-text-color: #ffffff;--vistaview-background-blur: 10px;--vistaview-background-opacity: .8;--vistaview-initial-z-index: 1;--vistaview-destination-z-index: 2147483647;--vistaview-animation-duration: 333;--vistaview-center-x: 50%;--vistaview-center-y: 50%;--vistaview-container-initial-width: 0;--vistaview-container-initial-height: 0;--vistaview-container-initial-top: 0;--vistaview-container-initial-left: 0;--vistaview-image-border-radius: 0px;--vistaview-current-index: 0;--vistaview-number-elements: 0}@keyframes vistaview-pos-in{0%{top:var(--vistaview-container-initial-top);left:var(--vistaview-container-initial-left)}to{top:var(--vistaview-center-y);left:var(--vistaview-center-x)}}@keyframes vistaview-pos-out{0%{top:var(--vistaview-center-y);left:var(--vistaview-center-x)}to{top:var(--vistaview-container-initial-top);left:var(--vistaview-container-initial-left)}}@keyframes vistaview-anim-in{0%{width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);background:rgb(from var(--vistaview-bg-color) r g b / 0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:var(--vistaview-image-border-radius);z-index:var(--vistaview-initial-z-index)}50%{width:
|
|
1
|
+
:root{--vistaview-bg-color: #000000;--vistaview-text-color: #ffffff;--vistaview-background-blur: 10px;--vistaview-background-opacity: .8;--vistaview-initial-z-index: 1;--vistaview-destination-z-index: 2147483647;--vistaview-animation-duration: 333;--vistaview-center-x: 50%;--vistaview-center-y: 50%;--vistaview-container-initial-width: 0;--vistaview-container-initial-height: 0;--vistaview-container-initial-top: 0;--vistaview-container-initial-left: 0;--vistaview-image-border-radius: 0px;--vistaview-current-index: 0;--vistaview-number-elements: 0}@keyframes vistaview-pos-in{0%{top:var(--vistaview-container-initial-top);left:var(--vistaview-container-initial-left)}to{top:var(--vistaview-center-y);left:var(--vistaview-center-x)}}@keyframes vistaview-pos-out{0%{top:var(--vistaview-center-y);left:var(--vistaview-center-x)}to{top:var(--vistaview-container-initial-top);left:var(--vistaview-container-initial-left)}}@keyframes vistaview-anim-in{0%{width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);background:rgb(from var(--vistaview-bg-color) r g b / 0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:var(--vistaview-image-border-radius);z-index:var(--vistaview-initial-z-index)}50%{width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);background:rgb(from var(--vistaview-bg-color) r g b / 0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:0;z-index:var(--vistaview-initial-z-index)}to{z-index:var(--vistaview-destination-z-index);width:100%;height:100%;background:rgb(from var(--vistaview-bg-color) r g b / var(--vistaview-background-opacity));-webkit-backdrop-filter:blur(var(--vistaview-background-blur));backdrop-filter:blur(var(--vistaview-background-blur));border-radius:0}}@keyframes vistaview-anim-out{0%{z-index:var(--vistaview-destination-z-index);width:100%;height:100%;background:rgb(from var(--vistaview-bg-color) r g b / var(--vistaview-background-opacity));-webkit-backdrop-filter:blur(var(--vistaview-background-blur));backdrop-filter:blur(var(--vistaview-background-blur));border-radius:0}50%{width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);background:rgb(from var(--vistaview-bg-color) r g b / 0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:var(--vistaview-image-border-radius);z-index:var(--vistaview-initial-z-index)}to{width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);background:rgb(from var(--vistaview-bg-color) r g b / 0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:var(--vistaview-image-border-radius);z-index:var(--vistaview-initial-z-index)}}@keyframes vistaview-ui-anim-in{0%{opacity:0}50%{opacity:0}to{opacity:1}}@keyframes vistaview-ui-anim-out{0%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes vistaview-pulse{0%{opacity:1;border-radius:3px;scale:1}50%{opacity:.7;border-radius:7px;scale:.99}to{opacity:1;border-radius:3px;scale:1}}@keyframes vistaview-simple-pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.vistaview-root{position:fixed;display:none;isolation:isolate;overflow:hidden;translate:-50% -50%;width:var(--vistaview-container-initial-width);height:var(--vistaview-container-initial-height);top:var(--vistaview-container-initial-top);left:var(--vistaview-container-initial-left);border-radius:var(--vistaview-image-border-radius)}.vistaview-container{position:relative;width:100%;height:100%;overflow:hidden;box-sizing:border-box;margin:0;padding:0}.vistaview-image-container{--vistaview-pointer-diff-x: 0px;--vistaview-pointer-diff-y: 0px;position:relative;top:0;left:0;margin:0;padding:0;width:100%;height:100%;overflow:hidden;touch-action:none}.vistaview-item{position:absolute;width:100%;height:100%;top:0;left:0;margin:0;padding:0;translate:var(--vistaview-pointer-diff-x) var(--vistaview-pointer-diff-y)}.vistaview-item img.vistaview-image-lowres{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vistaview-item img.vistaview-image-lowres:has(+img.vistaview-image-loaded){animation:none}.vistaview-item img.vistaview-image-lowres.vistaview-image--hidden{opacity:0}.vistaview-item img.vistaview-image-highres{--pointer-diff-x: 0px;--pointer-diff-y: 0px;cursor:zoom-in;display:block;position:absolute;top:calc(50% + var(--pointer-diff-y));left:calc(50% + var(--pointer-diff-x));translate:-50% -50%;object-fit:cover;opacity:0;transition:width calc(var(--vistaview-animation-duration) * 1ms) ease calc(var(--vistaview-animation-duration) * .3ms),height calc(var(--vistaview-animation-duration) * 1ms) ease calc(var(--vistaview-animation-duration) * .3ms),opacity calc(var(--vistaview-animation-duration) * 1ms) ease 0ms;max-width:100%;max-height:100%}.vistaview-item img.vistaview-image-highres.vistaview-image--zooming{transition:width calc(var(--vistaview-animation-duration) * 1ms) ease 0s,height calc(var(--vistaview-animation-duration) * 1ms) ease 0s,opacity calc(var(--vistaview-animation-duration) * 1ms) ease 0s;max-width:unset;max-height:unset;cursor:grab}.vistaview-item img.vistaview-image-highres.vistaview-image--zooming:active{cursor:grabbing}.vistaview-item img.vistaview-image-highres.vistaview-image--zooming-out{transition:width calc(var(--vistaview-animation-duration) * 1ms) ease 0s,height calc(var(--vistaview-animation-duration) * 1ms) ease 0s,opacity calc(var(--vistaview-animation-duration) * 1ms) ease 0s,top .3s ease 0s,left .3s ease 0s}.vistaview-item img.vistaview-image-highres.vistaview-image-loaded{opacity:1}.vistaview-ui{opacity:0}.vistaview-ui button{background:none;color:inherit;border:none;font:inherit;cursor:pointer;outline:inherit;box-sizing:border-box;margin:0;padding:8px;border-radius:0;display:flex;align-items:center;justify-content:center;background-color:var(--vistaview-bg-color);color:var(--vistaview-text-color)}.vistaview-ui button:disabled{color:rgb(from var(--vistaview-text-color) r g b / .5);cursor:not-allowed}.vistaview-ui button:hover{background-color:hsl(from var(--vistaview-bg-color) h s calc(l + 20))}.vistaview-ui button:active{background-color:hsl(from var(--vistaview-bg-color) h s calc(l + 40))}.vistaview-ui button.vistaview-button--loading{animation:vistaview-simple-pulse .5s ease-in-out infinite}.vistaview-ui button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vistaview-ui.vistaview-prev-btn{position:absolute;top:50%;left:0;translate:0 -50%;display:flex;align-items:center;justify-content:center;z-index:2}.vistaview-ui.vistaview-next-btn{position:absolute;top:50%;right:0;translate:0 -50%;display:flex;align-items:center;justify-content:center;z-index:2}.vistaview-ui.vistaview-top-bar,.vistaview-ui.vistaview-bottom-bar{position:absolute;top:0;right:0;width:100%;z-index:2;display:flex;align-items:center;justify-content:space-between}.vistaview-ui.vistaview-top-bar>div,.vistaview-ui.vistaview-bottom-bar>div{display:flex}.vistaview-ui.vistaview-top-bar .vistaview-index-display,.vistaview-ui.vistaview-bottom-bar .vistaview-index-display{font-size:16px;padding:8px;background-color:var(--vistaview-bg-color);color:var(--vistaview-text-color)}.vistaview-ui.vistaview-top-bar .vistaview-description,.vistaview-ui.vistaview-bottom-bar .vistaview-description{font-size:14px;padding:8px 15px;background-color:var(--vistaview-bg-color);color:var(--vistaview-text-color);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vistaview-ui.vistaview-bottom-bar{bottom:0;top:unset}.vistaview-root.vistaview-no-arrows-sm .vistaview-ui.vistaview-prev-btn,.vistaview-root.vistaview-no-arrows-sm .vistaview-ui.vistaview-next-btn{display:none}@media screen and (min-width:768px){.vistaview-root.vistaview-no-arrows-sm .vistaview-ui.vistaview-prev-btn,.vistaview-root.vistaview-no-arrows-sm .vistaview-ui.vistaview-next-btn{display:flex}}.vistaview-root.vistaview--initialized{display:block;animation:vistaview-anim-in calc(var(--vistaview-animation-duration) * 1ms) ease-in forwards,vistaview-pos-in calc(var(--vistaview-animation-duration) * .6ms) ease-out forwards}.vistaview-root.vistaview--initialized .vistaview-ui{animation:vistaview-ui-anim-in calc(var(--vistaview-animation-duration) * 1ms) ease-out calc(var(--vistaview-animation-duration) * 1ms) forwards}.vistaview-root.vistaview--closing{animation:vistaview-pos-out calc(var(--vistaview-animation-duration) * .8ms) cubic-bezier(.7,-.4,.8,.6) forwards,vistaview-anim-out calc(var(--vistaview-animation-duration) * 1ms) ease-out forwards}.vistaview-root.vistaview--closing .vistaview-ui,.vistaview-root.vistaview--closing .vistaview-ui.vistaview-prev-btn,.vistaview-root.vistaview--closing .vistaview-ui.vistaview-next-btn{display:none}.vistaview-root.vistaview--closing img.vistaview-image-lowres{border-radius:var(--vistaview-image-border-radius)}.vistaview-root.vistaview--closing img.vistaview-image-lowres.vistaview-image--hidden{opacity:1}.vistaview-root.vistaview--closing img.vistaview-image-highres{width:var(--vistaview-fitted-width)!important;height:var(--vistaview-fitted-height)!important;transition:width calc(var(--vistaview-animation-duration) * .5ms) ease 0ms,height calc(var(--vistaview-animation-duration) * .5ms) ease 0ms,opacity calc(var(--vistaview-animation-duration) * .5ms) ease calc(var(--vistaview-animation-duration) * .5ms)}.vistaview-root.vistaview--closing img.vistaview-image-highres.vistaview-image-loaded{opacity:0}.vistaview--none{display:none!important}.vistaview--reduced-motion,.vistaview--reduced-motion *{--vistaview-animation-duration: 0;animation-name:none!important;animation-duration:0ms!important;transition-duration:0ms!important}
|
package/dist/vistaview.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DefaultOptions } from './lib/vista-view';
|
|
1
|
+
import { DefaultOptions, VistaViewTransitionAbortedError } from './lib/vista-view';
|
|
2
2
|
import { vistaViewDownload } from './lib/components';
|
|
3
3
|
import { setTouchActions, removeTouchActions, defaultClose, defaultInit, defaultSetup, defaultTransition } from './lib/defaults';
|
|
4
4
|
import { VistaViewImage, VistaViewOptions } from './lib/types';
|
|
5
5
|
export type * from './lib/types';
|
|
6
|
-
export { DefaultOptions, vistaViewDownload };
|
|
6
|
+
export { DefaultOptions, vistaViewDownload, VistaViewTransitionAbortedError };
|
|
7
7
|
export { setTouchActions, removeTouchActions, defaultClose, defaultInit, defaultSetup, defaultTransition, };
|
|
8
8
|
export type VistaViewParams = {
|
|
9
9
|
elements: string | NodeListOf<HTMLElement> | VistaViewImage[];
|
package/dist/vistaview.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vistaview.d.ts","sourceRoot":"","sources":["../src/vistaview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"vistaview.d.ts","sourceRoot":"","sources":["../src/vistaview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,aAAa,CAAC;AAErB,mBAAmB,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,EAAE,CAAC;CAC/D,GAAG,gBAAgB,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAmCF,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,eAAe,GAAG,kBAAkB,GAAG,IAAI,CAuB3F"}
|