vistaview 0.2.1 → 0.3.3

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 CHANGED
@@ -18,16 +18,37 @@ A lightweight, modern image lightbox library for the web. Zero dependencies, fra
18
18
  npm install vistaview
19
19
  ```
20
20
 
21
+ ### Using CDN (UMD)
22
+
23
+ For quick prototyping or non-bundler environments, use the UMD build via CDN:
24
+
25
+ ```html
26
+ <!-- unpkg -->
27
+ <link rel="stylesheet" href="https://unpkg.com/vistaview/dist/vistaview.css" />
28
+ <script src="https://unpkg.com/vistaview/dist/vistaview.umd.js"></script>
29
+
30
+ <!-- or jsDelivr -->
31
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vistaview/dist/vistaview.css" />
32
+ <script src="https://cdn.jsdelivr.net/npm/vistaview/dist/vistaview.umd.js"></script>
33
+
34
+ <script>
35
+ // VistaView is available globally
36
+ VistaView.vistaView({
37
+ elements: '#gallery a',
38
+ });
39
+ </script>
40
+ ```
41
+
21
42
  ## Quick Start
22
43
 
23
44
  ### Using anchor elements (recommended)
24
45
 
25
46
  ```html
26
47
  <div id="gallery">
27
- <a href="/images/photo1-full.jpg" data-vistaview-width="1920" data-vistaview-height="1080">
48
+ <a href="/images/photo1-full.jpg">
28
49
  <img src="/images/photo1-thumb.jpg" alt="Photo 1" />
29
50
  </a>
30
- <a href="/images/photo2-full.jpg" data-vistaview-width="1280" data-vistaview-height="720">
51
+ <a href="/images/photo2-full.jpg">
31
52
  <img src="/images/photo2-thumb.jpg" alt="Photo 2" />
32
53
  </a>
33
54
  </div>
@@ -37,7 +58,7 @@ npm install vistaview
37
58
  import 'vistaview/style.css';
38
59
 
39
60
  vistaView({
40
- parent: document.getElementById('gallery'),
61
+ elements: '#gallery a',
41
62
  });
42
63
  </script>
43
64
  ```
@@ -46,13 +67,7 @@ npm install vistaview
46
67
 
47
68
  ```html
48
69
  <div id="gallery">
49
- <img
50
- src="/images/thumb1.jpg"
51
- data-vistaview-src="/images/full1.jpg"
52
- data-vistaview-width="1920"
53
- data-vistaview-height="1080"
54
- alt="Photo 1"
55
- />
70
+ <img src="/images/thumb1.jpg" data-vistaview-src="/images/full1.jpg" alt="Photo 1" />
56
71
  </div>
57
72
  ```
58
73
 
@@ -77,8 +92,8 @@ vistaView({
77
92
  ```js
78
93
  vistaView({
79
94
  elements: [
80
- { src: '/images/photo1.jpg', width: 1920, height: 1080, alt: 'Photo 1' },
81
- { src: '/images/photo2.jpg', width: 1280, height: 720, alt: 'Photo 2' },
95
+ { src: '/images/photo1.jpg', thumb: '/images/thumb1.jpg', alt: 'Photo 1' },
96
+ { src: '/images/photo2.jpg', thumb: '/images/thumb2.jpg', alt: 'Photo 2' },
82
97
  ],
83
98
  });
84
99
  ```
@@ -86,10 +101,11 @@ vistaView({
86
101
  ## Options
87
102
 
88
103
  ```ts
104
+ import { vistaView, vistaViewDownload } from 'vistaview'
105
+
89
106
  vistaView({
90
- // Required: specify either parent OR elements
91
- parent: HTMLElement, // Container element with images/anchors
92
- elements: string | NodeList | VistaViewImage[], // Selector, NodeList, or array of images
107
+ // Required: specify elements (string selector, NodeList, or array)
108
+ elements: string | NodeList | VistaViewImage[],
93
109
 
94
110
  // Optional configuration
95
111
  animationDurationBase: 333, // Base animation duration in ms (default: 333)
@@ -97,17 +113,30 @@ vistaView({
97
113
  detectReducedMotion: true, // Respect prefers-reduced-motion (default: true)
98
114
  zoomStep: 500, // Pixels to zoom per step (default: 500)
99
115
  maxZoomLevel: 2, // Maximum zoom multiplier (default: 2)
100
- touchSpeedThreshold: 1, // Swipe speed threshold for navigation (default: 1)
116
+ touchSpeedThreshold: 0.7, // Swipe speed threshold for navigation (default: 0.7)
117
+ preloads: 1, // Number of adjacent images to preload on each side (default: 1)
118
+ keyboardListeners: true, // Enable keyboard navigation (default: true)
101
119
 
102
120
  // Control placement (defaults shown)
103
121
  controls: {
104
122
  topLeft: ['indexDisplay'],
105
- topRight: ['zoomIn', 'zoomOut', getDownloadButton(), 'close'],
123
+ topRight: ['zoomIn', 'zoomOut', vistaViewDownload(), 'close'],
106
124
  topCenter: [],
107
125
  bottomLeft: [],
108
126
  bottomCenter: ['description'],
109
127
  bottomRight: [],
110
128
  },
129
+
130
+ // Events
131
+ onOpen: (data) => {}, // Called when lightbox opens
132
+ onClose: (data) => {}, // Called when lightbox closes
133
+ onImageView: (data) => {}, // Called when viewing an image (including on open)
134
+
135
+ // Custom behavior functions (advanced)
136
+ initFunction: (vistaView) => {}, // Custom initialization
137
+ setupFunction: (data) => {}, // Custom setup when navigating
138
+ transitionFunction: (data) => image, // Custom transition animation
139
+ closeFunction: (vistaView) => {}, // Custom cleanup on close
111
140
  });
112
141
  ```
113
142
 
@@ -118,7 +147,7 @@ vistaView({
118
147
  | `indexDisplay` | Shows current image index (e.g., "1 / 5") |
119
148
  | `zoomIn` | Zoom into the image |
120
149
  | `zoomOut` | Zoom out of the image |
121
- | `getDownloadButton()` | Download the current image |
150
+ | `vistaViewDownload()` | Download the current image |
122
151
  | `close` | Close the lightbox |
123
152
  | `description` | Shows the image alt text |
124
153
 
@@ -127,15 +156,15 @@ vistaView({
127
156
  Controls are merged with defaults—only the positions you specify are replaced. Provide an object with `name`, `icon`, and `onClick`:
128
157
 
129
158
  ```js
130
- import { vistaView, getDownloadButton } from 'vistaview';
159
+ import { vistaView, vistaViewDownload } from 'vistaview';
131
160
 
132
161
  vistaView({
133
- parent: document.getElementById('gallery'),
162
+ elements: '#gallery a',
134
163
  controls: {
135
164
  topRight: [
136
165
  'zoomIn',
137
166
  'zoomOut',
138
- getDownloadButton(), // Example: Built-in download helper
167
+ vistaViewDownload(), // Example: Built-in download helper
139
168
  {
140
169
  name: 'share',
141
170
  icon: '<svg>...</svg>',
@@ -149,6 +178,39 @@ vistaView({
149
178
  });
150
179
  ```
151
180
 
181
+ ## Exported Types & Functions
182
+
183
+ VistaView exports all types for TypeScript users, plus default behavior functions for customization:
184
+
185
+ ```ts
186
+ import {
187
+ vistaView,
188
+ vistaViewDownload,
189
+ DefaultOptions,
190
+ // Default behavior functions (can be used as starting points)
191
+ defaultInit,
192
+ defaultSetup,
193
+ defaultTransition,
194
+ defaultClose,
195
+ setTouchActions,
196
+ removeTouchActions,
197
+ } from 'vistaview';
198
+
199
+ import type {
200
+ VistaViewParams, // Full options including `elements`
201
+ VistaViewOptions, // Base options (without `elements`)
202
+ VistaViewImage, // Image object: { src, alt?, thumb? }
203
+ VistaViewImageIndexed, // Image with index and DOM references
204
+ VistaViewInterface, // Return type from vistaView()
205
+ VistaViewData, // Data passed to events/functions
206
+ VistaViewSetupFunction, // Type for setupFunction
207
+ VistaViewTransitionFunction, // Type for transitionFunction
208
+ VistaViewCloseFunction, // Type for closeFunction
209
+ VistaViewInitFunction, // Type for initFunction
210
+ VistaViewCustomControl, // Custom control definition
211
+ } from 'vistaview';
212
+ ```
213
+
152
214
  ## Styling
153
215
 
154
216
  VistaView uses CSS custom properties for easy theming:
@@ -165,13 +227,11 @@ VistaView uses CSS custom properties for easy theming:
165
227
 
166
228
  ## Data Attributes
167
229
 
168
- | Attribute | Description |
169
- | ------------------------- | ------------------------------------------ |
170
- | `data-vistaview-src` | Full-size image URL (for `<img>` elements) |
171
- | `data-vistaview-width` | Full-size image width in pixels |
172
- | `data-vistaview-height` | Full-size image height in pixels |
173
- | `data-vistaview-alt` | Alt text for the image |
174
- | `data-vistaview-smallsrc` | Thumbnail URL (optional) |
230
+ | Attribute | Description |
231
+ | ---------------------- | ------------------------------------------ |
232
+ | `data-vistaview-src` | Full-size image URL (for `<img>` elements) |
233
+ | `data-vistaview-alt` | Alt text for the image |
234
+ | `data-vistaview-thumb` | Thumbnail URL (optional) |
175
235
 
176
236
  ## Keyboard Navigation
177
237
 
@@ -191,22 +251,33 @@ VistaView works in all modern browsers (Chrome, Firefox, Safari, Edge).
191
251
 
192
252
  VistaView provides official bindings for popular frameworks:
193
253
 
194
- ```tsx
195
- // React
196
- import { useVistaView, VistaView } from 'vistaview/react';
254
+ - **React** — `useVistaView` hook and `<VistaView>` component
255
+ - **Vue 3** — `useVistaView` composable and `<VistaView>` component
256
+ - **Svelte** — `useVistaView` hook
257
+ - **Solid** — `useVistaView` hook and `<VistaView>` component
258
+ - **Angular** — Manual setup example
259
+ - **Vanilla JS** — Works out of the box
197
260
 
198
- // Vue
199
- import { useVistaView } from 'vistaview/vue';
261
+ 👉 **[See full framework integration guide](./framework-integration.md)**
200
262
 
201
- // Svelte
202
- import { useVistaView } from 'vistaview/svelte';
263
+ ### Quick Example (React)
203
264
 
204
- // Solid
205
- import { useVistaView } from 'vistaview/solid';
265
+ ```tsx
266
+ import { useVistaView } from 'vistaview/react';
267
+ import 'vistaview/style.css';
268
+
269
+ function Gallery() {
270
+ const { open, close, next, prev } = useVistaView({ elements: '#gallery a' });
271
+ return (
272
+ <div id="gallery">
273
+ <a href="/full.jpg">
274
+ <img src="/thumb.jpg" alt="Photo" />
275
+ </a>
276
+ </div>
277
+ );
278
+ }
206
279
  ```
207
280
 
208
- See [framework-integration.md](./framework-integration.md) for detailed examples.
209
-
210
281
  ## License
211
282
 
212
283
  MIT
@@ -1,4 +1,8 @@
1
- import { VistaViewCustomControl, VistaViewImage, VistaViewOptions } from './vista-view';
2
- export declare function getDownloadButton(): VistaViewCustomControl;
3
- export declare function vistaViewComponent(elements: VistaViewImage[], controls: VistaViewOptions['controls']): string;
1
+ import { VistaViewCustomControl, VistaViewImageIndexed, VistaViewOptions } from './types';
2
+ export declare function vistaViewDownload(): VistaViewCustomControl;
3
+ export declare function vistaViewItem(el: VistaViewImageIndexed, positionalIndex?: number): HTMLDivElement;
4
+ export declare function vistaViewComponent({ controls, isReducedMotion, }: {
5
+ controls: VistaViewOptions['controls'];
6
+ isReducedMotion: boolean;
7
+ }): DocumentFragment;
4
8
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/lib/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAUtB,wBAAgB,iBAAiB,IAAI,sBAAsB,CAa1D;AAsBD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GACrC,MAAM,CAyBR"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/lib/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAWjB,wBAAgB,iBAAiB,IAAI,sBAAsB,CAgB1D;AAsBD,wBAAgB,aAAa,CAAC,EAAE,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,CAuBjG;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,gBAAgB,CAiBnB"}
@@ -0,0 +1,9 @@
1
+ import { VistaViewCloseFunction, VistaViewSetupFunction, VistaViewTransitionFunction } from './types';
2
+ import { VistaView } from './vista-view';
3
+ export declare function setTouchActions(vistaView: VistaView): void;
4
+ export declare function removeTouchActions(vistaView: VistaView): void;
5
+ export declare const defaultInit: (vistaView: VistaView) => void;
6
+ export declare const defaultSetup: VistaViewSetupFunction;
7
+ export declare const defaultTransition: VistaViewTransitionFunction;
8
+ export declare const defaultClose: VistaViewCloseFunction;
9
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +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;AAQ9C,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAoG1D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAO7D;AAMD,eAAO,MAAM,WAAW,GAAI,WAAW,SAAS,SAE/C,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,sBAsB1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,2BAiD/B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,sBAK1B,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { VistaView } from './vista-view';
2
+ export type VistaViewElmProps = {
3
+ objectFit: string;
4
+ borderRadius: string;
5
+ objectPosition: string;
6
+ overflow: string;
7
+ top: number;
8
+ left: number;
9
+ width: number;
10
+ height: number;
11
+ naturalWidth?: number;
12
+ naturalHeight?: number;
13
+ };
14
+ export type VistaViewImage = {
15
+ src: string;
16
+ alt?: string;
17
+ thumb?: string;
18
+ };
19
+ export type VistaViewImageIndexed = {
20
+ index: number;
21
+ imageElm?: HTMLImageElement;
22
+ anchorElm?: HTMLAnchorElement;
23
+ } & VistaViewImage;
24
+ export type VistaViewOptions = {
25
+ animationDurationBase?: number;
26
+ initialZIndex?: number;
27
+ detectReducedMotion?: boolean;
28
+ zoomStep?: number;
29
+ maxZoomLevel?: number;
30
+ touchSpeedThreshold?: number;
31
+ preloads?: number;
32
+ keyboardListeners?: boolean;
33
+ controls?: {
34
+ topLeft?: (VistaViewDefaultControls | VistaViewCustomControl)[];
35
+ topRight?: (VistaViewDefaultControls | VistaViewCustomControl)[];
36
+ topCenter?: (VistaViewDefaultControls | VistaViewCustomControl)[];
37
+ bottomCenter?: (VistaViewDefaultControls | VistaViewCustomControl)[];
38
+ bottomLeft?: (VistaViewDefaultControls | VistaViewCustomControl)[];
39
+ bottomRight?: (VistaViewDefaultControls | VistaViewCustomControl)[];
40
+ };
41
+ onImageView?: (params: VistaViewData) => void;
42
+ onOpen?: (params: VistaViewData) => void;
43
+ onClose?: (params: VistaViewData) => void;
44
+ transitionFunction?: VistaViewTransitionFunction;
45
+ setupFunction?: VistaViewSetupFunction;
46
+ closeFunction?: VistaViewCloseFunction;
47
+ initFunction?: VistaViewInitFunction;
48
+ };
49
+ export type VistaViewDefaultControls = 'indexDisplay' | 'zoomIn' | 'zoomOut' | 'close' | 'description';
50
+ export type VistaViewCustomControl = {
51
+ name: string;
52
+ icon: string;
53
+ onClick: (v: VistaViewImageIndexed) => void | Promise<void>;
54
+ };
55
+ export type VistaViewData = {
56
+ htmlElements: {
57
+ from: HTMLElement[] | null;
58
+ to: HTMLElement[] | null;
59
+ };
60
+ images: {
61
+ from: VistaViewImageIndexed[] | null;
62
+ to: VistaViewImageIndexed[] | null;
63
+ };
64
+ index: {
65
+ from: number | null;
66
+ to: number | null;
67
+ };
68
+ via: {
69
+ next: boolean;
70
+ prev: boolean;
71
+ };
72
+ container: HTMLElement;
73
+ elements: NodeListOf<HTMLElement> | VistaViewImage[];
74
+ isReducedMotion: boolean;
75
+ navActive: boolean;
76
+ isZoomed: HTMLImageElement | false;
77
+ options: VistaViewOptions;
78
+ };
79
+ export type VistaViewTransitionFunction = (params: VistaViewData) => VistaViewImageIndexed | Promise<VistaViewImageIndexed>;
80
+ export type VistaViewSetupFunction = (params: VistaViewData) => void;
81
+ export type VistaViewCloseFunction = (vistaView: VistaView) => void;
82
+ export type VistaViewInitFunction = (vistaView: VistaView) => void;
83
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
- import { VistaViewElm } from './vista-view';
2
- export declare function getElmProperties(elm: HTMLElement): VistaViewElm;
1
+ import { VistaViewElmProps } from './types';
2
+ export declare function getElmProperties(elm: HTMLElement): VistaViewElmProps;
3
3
  export declare function createTrustedHtml(htmlString: string): DocumentFragment;
4
4
  export declare function isNotZeroCssValue(value?: string): false | string | undefined;
5
- export declare function getRenderedSize(image: HTMLImageElement): {
5
+ export declare function getFittedSize(img: HTMLImageElement): {
6
6
  width: number;
7
7
  height: number;
8
8
  };
9
- export declare function getFittedSize(img: HTMLImageElement): {
9
+ export declare function getFullSizeDim(img: HTMLImageElement): {
10
10
  width: number;
11
11
  height: number;
12
12
  };
13
- export declare function makeFullScreenContain(img: HTMLImageElement, setDataAttribute?: boolean): void;
14
13
  export declare function getMaxMinZoomLevels(currentWidth: number, currentHeight: number): {
15
14
  maxDiffX: number;
16
15
  minDiffY: number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAQ/D;AAyBD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAQtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAI5E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM1F;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CA8DA;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,GAAE,OAAe,QAwC7F;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAgBA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAepE;AAyBD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAQtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAI5E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CA8DA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAwCA;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAgBA"}
@@ -1,85 +1,76 @@
1
- export type VistaViewElm = {
2
- objectFit?: string;
3
- borderRadius?: string;
4
- objectPosition?: string;
5
- overflow?: string;
6
- };
7
- export type VistaViewImage = {
8
- src: string;
9
- width: number;
10
- height: number;
11
- alt?: string;
12
- smallSrc?: string;
13
- anchor?: HTMLAnchorElement;
14
- image?: HTMLImageElement;
15
- onClick?: (e: Event) => void;
16
- };
17
- export type VistaViewOptions = {
18
- animationDurationBase?: number;
19
- initialZIndex?: number;
20
- detectReducedMotion?: boolean;
21
- zoomStep?: number;
22
- maxZoomLevel?: number;
23
- touchSpeedThreshold?: number;
24
- controls?: {
25
- topLeft?: (VistaViewDefaultControls | VistaViewCustomControl)[];
26
- topRight?: (VistaViewDefaultControls | VistaViewCustomControl)[];
27
- topCenter?: (VistaViewDefaultControls | VistaViewCustomControl)[];
28
- bottomCenter?: (VistaViewDefaultControls | VistaViewCustomControl)[];
29
- bottomLeft?: (VistaViewDefaultControls | VistaViewCustomControl)[];
30
- bottomRight?: (VistaViewDefaultControls | VistaViewCustomControl)[];
31
- };
32
- };
33
- export type VistaViewDefaultControls = 'indexDisplay' | 'zoomIn' | 'zoomOut' | 'download' | 'close' | 'description';
34
- export type VistaViewCustomControl = {
35
- name: string;
36
- icon: string;
37
- onClick: (v: VistaViewImage) => void;
38
- };
1
+ import { VistaViewCustomControl, VistaViewImage, VistaViewImageIndexed, VistaViewOptions } from './types';
39
2
  export declare const DefaultOptions: {
40
3
  detectReducedMotion: boolean;
4
+ animationDurationBase: number;
41
5
  zoomStep: number;
42
6
  maxZoomLevel: number;
43
7
  touchSpeedThreshold: number;
8
+ preloads: number;
9
+ keyboardListeners: boolean;
44
10
  controls: VistaViewOptions["controls"];
45
11
  };
12
+ export declare const GlobalVistaState: {
13
+ somethingOpened: VistaView | null;
14
+ };
46
15
  export declare class VistaView {
47
- private options;
48
- private elements;
49
- private currentIndex;
50
- private currentDescription;
51
- private rootElement;
52
- private containerElement;
53
- private indexDisplayElement;
54
- private descriptionElement;
55
- private isActive;
56
- private isZoomed;
57
- private isReducedMotion;
58
- private setInitialProperties;
59
- private setFullScreenContain;
16
+ options: VistaViewOptions;
17
+ elements: NodeListOf<HTMLElement> | VistaViewImage[];
18
+ isReducedMotion: boolean;
19
+ currentIndex: {
20
+ _value: number | null;
21
+ _vistaView: VistaView | null;
22
+ _via: {
23
+ next: boolean;
24
+ prev: boolean;
25
+ };
26
+ get value(): number | null;
27
+ set value(v: number);
28
+ via: {
29
+ next: boolean;
30
+ prev: boolean;
31
+ };
32
+ };
33
+ rootElm: HTMLElement | null;
34
+ imageContainerElm: HTMLElement | null;
35
+ customControls: {
36
+ [key: string]: VistaViewCustomControl;
37
+ };
38
+ currentImages: VistaViewImageIndexed[] | null;
39
+ currentItems: HTMLDivElement[] | null;
40
+ navActive: boolean;
41
+ isZoomed: HTMLImageElement | false;
42
+ private onClickElements;
43
+ private onResizeHandler;
44
+ private onKeyDown;
45
+ private userSetup;
46
+ private userTransition;
47
+ private userClose;
48
+ private userInit;
60
49
  private onZoomedPointerDown;
61
50
  private onZoomedPointerMove;
62
51
  private onZoomedPointerUp;
63
- private onPointerDown;
64
- private onPointerMove;
65
- private onPointerUp;
66
- private onKeyDown;
67
- constructor(elements: VistaViewImage[], options?: VistaViewOptions);
52
+ constructor(elements: NodeListOf<HTMLElement> | VistaViewImage[], options?: VistaViewOptions);
53
+ private swap;
68
54
  private setZoomed;
69
- private setIndexDisplay;
70
- private setCurrentDescription;
71
- private getAnimationDurationBase;
72
- private updateZoomButtonsVisibility;
73
55
  private zoomIn;
74
56
  private zoomOut;
75
57
  private clearZoom;
76
- private resetImageOpacity;
77
- private setTouchActions;
78
- private removeTouchActions;
79
- open(index?: number): void;
80
- close(animate?: boolean): Promise<void>;
58
+ private getImages;
59
+ private setInitialDimPos;
60
+ private updateZoomButtonsVisibility;
61
+ private loadImages;
62
+ private setIndexDisplay;
63
+ private setCurrentDescription;
64
+ private getCurrentIndexes;
65
+ private setKeyboardListeners;
66
+ private setResizeListeners;
67
+ open(startIndex?: number): void;
68
+ close(wait?: boolean): Promise<void>;
81
69
  destroy(): void;
82
- view(index: number): void;
70
+ view(index: number, state?: {
71
+ next: boolean;
72
+ prev: boolean;
73
+ }): void;
83
74
  next(): void;
84
75
  prev(): void;
85
76
  getCurrentIndex(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"vista-view.d.ts","sourceRoot":"","sources":["../../src/lib/vista-view.ts"],"names":[],"mappings":"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"}
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;;;;;;;;cAcpB,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,CAAqC;IAE5D,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;gBAEzD,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB;YA6C9E,IAAI;IA+ElB,OAAO,CAAC,SAAS;IAiGjB,OAAO,CAAC,MAAM;IAsCd,OAAO,CAAC,OAAO;IA2Df,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,2BAA2B;IAqCnC,OAAO,CAAC,UAAU;IAkElB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,kBAAkB;IAyB1B,IAAI,CAAC,UAAU,GAAE,MAAU,GAAG,IAAI;IAkJ5B,KAAK,CAAC,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgEvC,OAAO,IAAI,IAAI;IASf,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/react.cjs CHANGED
@@ -1 +1 @@
1
- const e=require(`./vistaview-Xzefo28o.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r(n={}){let r=(0,t.useRef)(null),i=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(r.current)return i.current=e.t({parent:r.current,...n}),()=>{i.current?.destroy(),i.current=null}},[]),{ref:r,open:(0,t.useCallback)((e=0)=>i.current?.open(e),[]),close:(0,t.useCallback)(()=>i.current?.close(),[]),next:(0,t.useCallback)(()=>i.current?.next(),[]),prev:(0,t.useCallback)(()=>i.current?.prev(),[]),getCurrentIndex:(0,t.useCallback)(()=>i.current?.getCurrentIndex()??-1,[]),view:(0,t.useCallback)(e=>i.current?.view(e),[])}}function i({children:e,className:t,style:i,...a}){let{ref:o}=r(a);return(0,n.jsx)(`div`,{ref:o,className:t,style:i,children:e})}exports.VistaView=i,exports.useVistaView=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),l=require("./vistaview.cjs");function f(u){const r=t.useRef(null);return t.useEffect(()=>(r.current=l.vistaView(u),()=>{var e;(e=r.current)==null||e.destroy(),r.current=null}),[]),{open:t.useCallback((e=0)=>{var n;return(n=r.current)==null?void 0:n.open(e)},[]),close:t.useCallback(()=>{var e;return(e=r.current)==null?void 0:e.close()},[]),next:t.useCallback(()=>{var e;return(e=r.current)==null?void 0:e.next()},[]),prev:t.useCallback(()=>{var e;return(e=r.current)==null?void 0:e.prev()},[]),getCurrentIndex:t.useCallback(()=>{var e;return((e=r.current)==null?void 0:e.getCurrentIndex())??-1},[]),view:t.useCallback(e=>{var n;return(n=r.current)==null?void 0:n.view(e)},[])}}function w({children:u,className:r,style:e,selector:n,...a}){const s=t.useRef(null),c=t.useRef(null);return t.useEffect(()=>{if(s.current){if(!n)throw new Error("VistaView: selector is required");return c.current=l.vistaView({...a,elements:s.current.querySelectorAll(n)}),()=>{var i;(i=c.current)==null||i.destroy(),c.current=null}}},[]),o.jsx("div",{ref:s,className:r,style:e,children:u})}exports.VistaView=w;exports.useVistaView=f;
package/dist/react.d.ts CHANGED
@@ -1,8 +1,6 @@
1
- import { VistaViewOptions, VistaViewInterface, VistaViewImage } from './vistaview';
2
- export type { VistaViewOptions, VistaViewInterface, VistaViewImage };
3
- type UseVistaViewOptions = Omit<VistaViewOptions, 'parent'>;
1
+ import { VistaViewParams, VistaViewInterface, VistaViewImage } from './vistaview';
2
+ export type { VistaViewParams, VistaViewInterface, VistaViewImage };
4
3
  type UseVistaViewReturn = {
5
- ref: React.RefObject<HTMLDivElement | null>;
6
4
  open: (startIndex?: number) => void;
7
5
  close: () => void;
8
6
  next: () => void;
@@ -10,11 +8,12 @@ type UseVistaViewReturn = {
10
8
  getCurrentIndex: () => number;
11
9
  view: (index: number) => void;
12
10
  };
13
- export declare function useVistaView(options?: UseVistaViewOptions): UseVistaViewReturn;
14
- type VistaViewProps = UseVistaViewOptions & {
11
+ export declare function useVistaView(options: VistaViewParams): UseVistaViewReturn;
12
+ type VistaViewProps = VistaViewParams & {
15
13
  children: React.ReactNode;
16
14
  className?: string;
17
15
  style?: React.CSSProperties;
16
+ selector: string;
18
17
  };
19
- export declare function VistaView({ children, className, style, ...options }: VistaViewProps): React.ReactElement;
18
+ export declare function VistaView({ children, className, style, selector, ...options }: VistaViewProps): React.ReactElement;
20
19
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExF,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC;AAErE,KAAK,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAE5D,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,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,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CAsBlF;AAED,KAAK,cAAc,GAAG,mBAAmB,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,OAAO,EACX,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAOrC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC;AAEpE,KAAK,kBAAkB,GAAG;IACxB,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,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAmBzE;AAED,KAAK,cAAc,GAAG,eAAe,GAAG;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,OAAO,EACX,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAmBrC"}