vistaview 0.7.8 → 0.10.9

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.
Files changed (164) hide show
  1. package/README.md +276 -97
  2. package/dist/extensions/dailymotion-video.d.ts +2 -0
  3. package/dist/extensions/dailymotion-video.js +80 -0
  4. package/dist/extensions/dailymotion-video.umd.js +1 -0
  5. package/dist/extensions/download.d.ts +2 -0
  6. package/dist/extensions/download.js +35 -0
  7. package/dist/extensions/download.umd.js +1 -0
  8. package/dist/extensions/google-maps.d.ts +2 -0
  9. package/dist/extensions/google-maps.js +94 -0
  10. package/dist/extensions/google-maps.umd.js +1 -0
  11. package/dist/extensions/image-story.d.ts +2 -0
  12. package/dist/extensions/image-story.js +621 -0
  13. package/dist/extensions/image-story.umd.js +2 -0
  14. package/dist/extensions/logger.d.ts +2 -0
  15. package/dist/extensions/logger.js +23 -0
  16. package/dist/extensions/logger.umd.js +1 -0
  17. package/dist/extensions/mapbox.d.ts +2 -0
  18. package/dist/extensions/mapbox.js +124 -0
  19. package/dist/extensions/mapbox.umd.js +1 -0
  20. package/dist/extensions/openstreetmap.d.ts +2 -0
  21. package/dist/extensions/openstreetmap.js +125 -0
  22. package/dist/extensions/openstreetmap.umd.js +1 -0
  23. package/dist/extensions/streamable-video.d.ts +2 -0
  24. package/dist/extensions/streamable-video.js +76 -0
  25. package/dist/extensions/streamable-video.umd.js +1 -0
  26. package/dist/extensions/vidyard-video.d.ts +2 -0
  27. package/dist/extensions/vidyard-video.js +80 -0
  28. package/dist/extensions/vidyard-video.umd.js +1 -0
  29. package/dist/extensions/vimeo-video.d.ts +2 -0
  30. package/dist/extensions/vimeo-video.js +76 -0
  31. package/dist/extensions/vimeo-video.umd.js +1 -0
  32. package/dist/extensions/wistia-video.d.ts +2 -0
  33. package/dist/extensions/wistia-video.js +85 -0
  34. package/dist/extensions/wistia-video.umd.js +1 -0
  35. package/dist/extensions/youtube-video.d.ts +2 -0
  36. package/dist/extensions/youtube-video.js +88 -0
  37. package/dist/extensions/youtube-video.umd.js +1 -0
  38. package/dist/lib/components.d.ts +1 -3
  39. package/dist/lib/components.d.ts.map +1 -1
  40. package/dist/lib/defaults/image-setup.d.ts +3 -0
  41. package/dist/lib/defaults/image-setup.d.ts.map +1 -0
  42. package/dist/lib/defaults/init.d.ts.map +1 -1
  43. package/dist/lib/defaults/open.d.ts +3 -0
  44. package/dist/lib/defaults/open.d.ts.map +1 -0
  45. package/dist/lib/defaults/options.d.ts.map +1 -1
  46. package/dist/lib/defaults/transition.d.ts +1 -1
  47. package/dist/lib/defaults/transition.d.ts.map +1 -1
  48. package/dist/lib/extensions/dailymotion-video.d.ts +34 -0
  49. package/dist/lib/extensions/dailymotion-video.d.ts.map +1 -0
  50. package/dist/lib/extensions/download.d.ts +3 -0
  51. package/dist/lib/extensions/download.d.ts.map +1 -0
  52. package/dist/lib/extensions/google-maps.d.ts +49 -0
  53. package/dist/lib/extensions/google-maps.d.ts.map +1 -0
  54. package/dist/lib/extensions/image-story.d.ts +12 -0
  55. package/dist/lib/extensions/image-story.d.ts.map +1 -0
  56. package/dist/lib/extensions/logger.d.ts +3 -0
  57. package/dist/lib/extensions/logger.d.ts.map +1 -0
  58. package/dist/lib/extensions/mapbox.d.ts +53 -0
  59. package/dist/lib/extensions/mapbox.d.ts.map +1 -0
  60. package/dist/lib/extensions/openstreetmap.d.ts +51 -0
  61. package/dist/lib/extensions/openstreetmap.d.ts.map +1 -0
  62. package/dist/lib/extensions/streamable-video.d.ts +32 -0
  63. package/dist/lib/extensions/streamable-video.d.ts.map +1 -0
  64. package/dist/lib/extensions/vidyard-video.d.ts +33 -0
  65. package/dist/lib/extensions/vidyard-video.d.ts.map +1 -0
  66. package/dist/lib/extensions/vimeo-video.d.ts +36 -0
  67. package/dist/lib/extensions/vimeo-video.d.ts.map +1 -0
  68. package/dist/lib/extensions/wistia-video.d.ts +34 -0
  69. package/dist/lib/extensions/wistia-video.d.ts.map +1 -0
  70. package/dist/lib/extensions/youtube-video.d.ts +38 -0
  71. package/dist/lib/extensions/youtube-video.d.ts.map +1 -0
  72. package/dist/lib/main.d.ts +2 -2
  73. package/dist/lib/main.d.ts.map +1 -1
  74. package/dist/lib/types.d.ts +134 -42
  75. package/dist/lib/types.d.ts.map +1 -1
  76. package/dist/lib/utils/get-fitted-size.d.ts +5 -0
  77. package/dist/lib/utils/get-fitted-size.d.ts.map +1 -0
  78. package/dist/lib/utils/get-full-size-dim.d.ts +5 -0
  79. package/dist/lib/utils/get-full-size-dim.d.ts.map +1 -0
  80. package/dist/lib/utils/get-style.d.ts +5 -0
  81. package/dist/lib/utils/get-style.d.ts.map +1 -0
  82. package/dist/lib/utils/index.d.ts +3 -0
  83. package/dist/lib/utils/index.d.ts.map +1 -0
  84. package/dist/lib/utils/is-not-zero-css.d.ts +2 -0
  85. package/dist/lib/utils/is-not-zero-css.d.ts.map +1 -0
  86. package/dist/lib/utils/parse-element.d.ts +3 -0
  87. package/dist/lib/utils/parse-element.d.ts.map +1 -0
  88. package/dist/lib/vista-box.d.ts +107 -0
  89. package/dist/lib/vista-box.d.ts.map +1 -0
  90. package/dist/lib/vista-hires-transition.d.ts +32 -0
  91. package/dist/lib/vista-hires-transition.d.ts.map +1 -0
  92. package/dist/lib/vista-image-event.d.ts +23 -0
  93. package/dist/lib/vista-image-event.d.ts.map +1 -0
  94. package/dist/lib/vista-image.d.ts +33 -0
  95. package/dist/lib/vista-image.d.ts.map +1 -0
  96. package/dist/lib/{pointers.d.ts → vista-pointers.d.ts} +1 -1
  97. package/dist/lib/vista-pointers.d.ts.map +1 -0
  98. package/dist/lib/vista-state.d.ts +18 -0
  99. package/dist/lib/vista-state.d.ts.map +1 -0
  100. package/dist/lib/vista-view.d.ts +25 -28
  101. package/dist/lib/vista-view.d.ts.map +1 -1
  102. package/dist/react.d.ts +9 -9
  103. package/dist/react.d.ts.map +1 -1
  104. package/dist/react.js +59 -49
  105. package/dist/solid.d.ts +8 -11
  106. package/dist/solid.d.ts.map +1 -1
  107. package/dist/solid.js +28 -32
  108. package/dist/style.css +1 -1
  109. package/dist/styles/autumn-amber.css +1 -0
  110. package/dist/styles/autumn-amber.d.ts +1 -0
  111. package/dist/styles/cotton-candy.css +1 -0
  112. package/dist/styles/cotton-candy.d.ts +1 -0
  113. package/dist/styles/dark-rounded.css +1 -1
  114. package/dist/styles/ember-glow.css +1 -0
  115. package/dist/styles/ember-glow.d.ts +1 -0
  116. package/dist/styles/extensions/image-story.css +1 -0
  117. package/dist/styles/extensions/image-story.d.ts +1 -0
  118. package/dist/styles/forest-moss.css +1 -0
  119. package/dist/styles/forest-moss.d.ts +1 -0
  120. package/dist/styles/green-lake.css +1 -0
  121. package/dist/styles/green-lake.d.ts +1 -0
  122. package/dist/styles/ice-crystal.css +1 -0
  123. package/dist/styles/ice-crystal.d.ts +1 -0
  124. package/dist/styles/lavender-fields.css +1 -0
  125. package/dist/styles/lavender-fields.d.ts +1 -0
  126. package/dist/styles/midnight-gold.css +1 -0
  127. package/dist/styles/midnight-gold.d.ts +1 -0
  128. package/dist/styles/midnight-ocean.css +1 -0
  129. package/dist/styles/midnight-ocean.d.ts +1 -0
  130. package/dist/styles/mint-chocolate.css +1 -0
  131. package/dist/styles/mint-chocolate.d.ts +1 -0
  132. package/dist/styles/neon-nights.css +1 -0
  133. package/dist/styles/neon-nights.d.ts +1 -0
  134. package/dist/styles/paper-light.css +1 -0
  135. package/dist/styles/paper-light.d.ts +1 -0
  136. package/dist/styles/retro-arcade.css +1 -0
  137. package/dist/styles/retro-arcade.d.ts +1 -0
  138. package/dist/styles/soft-neutral.css +1 -0
  139. package/dist/styles/soft-neutral.d.ts +1 -0
  140. package/dist/styles/stark-minimal.css +1 -0
  141. package/dist/styles/stark-minimal.d.ts +1 -0
  142. package/dist/styles/strawberry.css +1 -0
  143. package/dist/styles/strawberry.d.ts +1 -0
  144. package/dist/svelte.d.ts +11 -2
  145. package/dist/svelte.d.ts.map +1 -1
  146. package/dist/svelte.js +36 -14
  147. package/dist/vista-box-CQvGrjln.js +318 -0
  148. package/dist/vistaview.d.ts +9 -2
  149. package/dist/vistaview.d.ts.map +1 -1
  150. package/dist/vistaview.js +719 -686
  151. package/dist/vistaview.umd.js +14 -7
  152. package/dist/vue.d.ts +28 -9
  153. package/dist/vue.d.ts.map +1 -1
  154. package/dist/vue.js +43 -24
  155. package/package.json +8 -3
  156. package/dist/lib/defaults/setup.d.ts +0 -3
  157. package/dist/lib/defaults/setup.d.ts.map +0 -1
  158. package/dist/lib/errors.d.ts +0 -4
  159. package/dist/lib/errors.d.ts.map +0 -1
  160. package/dist/lib/image-state.d.ts +0 -40
  161. package/dist/lib/image-state.d.ts.map +0 -1
  162. package/dist/lib/pointers.d.ts.map +0 -1
  163. package/dist/lib/utils.d.ts +0 -27
  164. package/dist/lib/utils.d.ts.map +0 -1
@@ -0,0 +1,318 @@
1
+ var W = Object.defineProperty;
2
+ var _ = (d, t, i) => t in d ? W(d, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : d[t] = i;
3
+ var a = (d, t, i) => _(d, typeof t != "symbol" ? t + "" : t, i);
4
+ class m {
5
+ static ease(t, i, n) {
6
+ const h = i - t, e = t + h * 0.2;
7
+ return Math.abs(h) < n ? i : e;
8
+ }
9
+ static play(t, i, n) {
10
+ if (n()) {
11
+ requestAnimationFrame(() => {
12
+ this.play(t, i, n);
13
+ });
14
+ return;
15
+ }
16
+ this.map.get(t) && (t.element.classList.contains("vvw--load-cancelled") || requestAnimationFrame(() => {
17
+ var o, c, g, u, w, y, p, x, v, S;
18
+ const h = this.map.get(t);
19
+ if (!h || !t.element || t.element.classList.contains("vvw--load-cancelled")) return;
20
+ const { current: e, target: s, log: l } = h;
21
+ let r = {};
22
+ s.width !== void 0 && (r.width = this.ease(e._width, s.width, 1)), s.height !== void 0 && (r.height = this.ease(e._height, s.height, 1)), ((o = s.transform) == null ? void 0 : o.x) !== void 0 && (r.transform = r.transform || {}, r.transform.x = this.ease(e._transform.x, s.transform.x, 1)), ((c = s.transform) == null ? void 0 : c.y) !== void 0 && (r.transform = r.transform || {}, r.transform.y = this.ease(e._transform.y, s.transform.y, 1)), ((g = s.transform) == null ? void 0 : g.scale) !== void 0 && (r.transform = r.transform || {}, r.transform.scale = this.ease(e._transform.scale, s.transform.scale, 5e-3)), ((u = s.translate) == null ? void 0 : u.x) !== void 0 && (r.translate = r.translate || {}, r.translate.x = this.ease(e._translate.x, s.translate.x, 1)), ((w = s.translate) == null ? void 0 : w.y) !== void 0 && (r.translate = r.translate || {}, r.translate.y = this.ease(e._translate.y, s.translate.y, 1)), r.width !== void 0 && (e.width = r.width), r.height !== void 0 && (e.height = r.height), r.translate && (e.translate = { ...e.translate, ...r.translate }), r.transform && (e.transform = { ...e.transform, ...r.transform }), (s.width === void 0 || e._width === s.width) && (s.height === void 0 || e._height === s.height) && (((y = s.transform) == null ? void 0 : y.x) === void 0 || e._transform.x === s.transform.x) && (((p = s.transform) == null ? void 0 : p.y) === void 0 || e._transform.y === s.transform.y) && (((x = s.transform) == null ? void 0 : x.scale) === void 0 || e._transform.scale === s.transform.scale) && (((v = s.translate) == null ? void 0 : v.x) === void 0 || e._translate.x === s.translate.x) && (((S = s.translate) == null ? void 0 : S.y) === void 0 || e._translate.y === s.translate.y) ? (this.map.delete(t), i()) : (this.map.set(t, { current: e, target: s, log: l }), this.play(t, i, n));
23
+ }));
24
+ }
25
+ static stop(t) {
26
+ const i = this.map.get(t);
27
+ return this.map.delete(t), i;
28
+ }
29
+ static start({
30
+ vistaImage: t,
31
+ target: i,
32
+ onComplete: n,
33
+ shouldWait: h
34
+ }) {
35
+ this.stop(t), this.map.set(t, {
36
+ current: t.state,
37
+ target: i
38
+ }), this.play(t, n, h);
39
+ }
40
+ }
41
+ a(m, "map", /* @__PURE__ */ new Map());
42
+ function b(d) {
43
+ const i = window.getComputedStyle(d).objectFit || "", { width: n, height: h } = d.getBoundingClientRect(), e = d.naturalWidth, s = d.naturalHeight;
44
+ if (!i)
45
+ return { width: n, height: h };
46
+ if (!e || !s)
47
+ return { width: n, height: h };
48
+ const l = e / s, r = n / h;
49
+ switch (i) {
50
+ case "fill":
51
+ return { width: n, height: h };
52
+ case "none":
53
+ return { width: e, height: s };
54
+ case "contain":
55
+ return l > r ? { width: n, height: n / l } : { width: h * l, height: h };
56
+ case "cover":
57
+ return l < r ? { width: n, height: n / l } : { width: h * l, height: h };
58
+ case "scale-down": {
59
+ const f = { width: e, height: s }, o = l > r ? { width: n, height: n / l } : { width: h * l, height: h };
60
+ return o.width <= f.width && o.height <= f.height ? o : f;
61
+ }
62
+ }
63
+ return { width: n, height: h };
64
+ }
65
+ class L {
66
+ constructor(t) {
67
+ a(this, "state");
68
+ a(this, "parsedSrcSet");
69
+ a(this, "isReady", !1);
70
+ a(this, "isThrowing", !1);
71
+ a(this, "thumb", null);
72
+ a(this, "pos");
73
+ a(this, "index");
74
+ a(this, "config");
75
+ a(this, "origin");
76
+ a(this, "initH", 0);
77
+ a(this, "initW", 0);
78
+ a(this, "fullH", 0);
79
+ a(this, "fullW", 0);
80
+ a(this, "maxW", 0);
81
+ a(this, "minW", 0);
82
+ a(this, "defaultWH", 200);
83
+ a(this, "isZoomedIn", !1);
84
+ a(this, "isCancelled", !1);
85
+ a(this, "isLoadedResolved", null);
86
+ a(this, "isLoadedRejected", null);
87
+ a(this, "isLoaded", new Promise((t, i) => {
88
+ this.isLoadedResolved = t, this.isLoadedRejected = i;
89
+ }));
90
+ a(this, "replacement", null);
91
+ a(this, "originalParent", null);
92
+ a(this, "originalNextSibling", null);
93
+ a(this, "originalStyle", "");
94
+ a(this, "thumbImage", null);
95
+ a(this, "fittedSize", null);
96
+ a(this, "maxZoomLevel");
97
+ a(this, "vistaView");
98
+ a(this, "transitionState", null);
99
+ a(this, "transitionShouldWait", () => !1);
100
+ a(this, "initPointerCenter", { x: 0, y: 0 });
101
+ a(this, "onScale");
102
+ var n;
103
+ this.state = this.createState(), this.pos = t.pos, this.index = t.index, this.config = t.elm.config, this.parsedSrcSet = t.elm.parsedSrcSet, this.origin = t.elm.origin, this.maxZoomLevel = t.maxZoomLevel, this.vistaView = t.vistaView, this.onScale = t.onScale, t.transitionState && (this.transitionState = t.transitionState), t.transitionShouldWait && (this.transitionShouldWait = t.transitionShouldWait), this.initPointerCenter = {
104
+ x: window.innerWidth / 2,
105
+ y: window.innerHeight / 2
106
+ };
107
+ const i = this.pos === 0 ? (n = this.origin) == null ? void 0 : n.image : null;
108
+ if (this.originalParent = (i == null ? void 0 : i.parentElement) || null, this.originalNextSibling = (i == null ? void 0 : i.nextSibling) || null, i && this.originalParent) {
109
+ this.originalStyle = i.style.cssText, this.thumbImage = i;
110
+ const h = i.cloneNode(!0);
111
+ this.originalParent.insertBefore(h, i), this.replacement = h, this.thumb = document.createElement("div"), this.thumb.classList.add("vvw-img-lo");
112
+ const { width: e, height: s } = this.thumbImage ? b(this.thumbImage) : { width: 0, height: 0 };
113
+ this.fittedSize = { width: e, height: s }, this.thumb.appendChild(i), i.style.width = "100%", i.style.height = "100%", i.style.objectFit = this.origin.objectFit;
114
+ }
115
+ }
116
+ createState() {
117
+ const t = this;
118
+ return {
119
+ _t: this,
120
+ _width: 0,
121
+ _height: 0,
122
+ _transform: { x: 0, y: 0, scale: 1 },
123
+ _translate: { x: 0, y: 0 },
124
+ _lessThanMinWidth: !1,
125
+ get width() {
126
+ return this._width;
127
+ },
128
+ set width(i) {
129
+ this._width = i, t.onWidthChange(i);
130
+ },
131
+ get height() {
132
+ return this._height;
133
+ },
134
+ set height(i) {
135
+ this._height = i, t.onHeightChange(i);
136
+ },
137
+ get transform() {
138
+ return this._transform;
139
+ },
140
+ set transform(i) {
141
+ this._transform = i, t.onTransformChange(i);
142
+ },
143
+ get translate() {
144
+ return this._translate;
145
+ },
146
+ set translate(i) {
147
+ this._translate = i, t.onTranslateChange(i);
148
+ },
149
+ get lessThanMinWidth() {
150
+ return this._lessThanMinWidth;
151
+ },
152
+ set lessThanMinWidth(i) {
153
+ this._lessThanMinWidth = i, t.onLessThanMinWidthChange(i);
154
+ }
155
+ };
156
+ }
157
+ onLessThanMinWidthChange(t) {
158
+ t ? this.element.style.opacity = "0.5" : this.element.style.opacity = "";
159
+ }
160
+ onTranslateChange(t) {
161
+ this.element.style.translate = `calc(-50% + ${t.x}px) calc(-50% + ${t.y}px)`;
162
+ }
163
+ onTransformChange(t) {
164
+ const i = `translate3d(${t.x}px, ${t.y}px, 0px) scale3d(${t.scale}, ${t.scale}, 1)`;
165
+ this.element.style.transform = i;
166
+ }
167
+ onWidthChange(t) {
168
+ this.element.style.width = `${t}px`;
169
+ }
170
+ onHeightChange(t) {
171
+ this.element.style.height = `${t}px`;
172
+ }
173
+ onImageReady() {
174
+ }
175
+ animateZoom(t, i) {
176
+ }
177
+ scaleMove(t, i, n) {
178
+ }
179
+ momentumThrow(t) {
180
+ return () => {
181
+ };
182
+ }
183
+ async init() {
184
+ await this.isLoaded;
185
+ const t = this.element;
186
+ this.transitionState && this.transitionState.current.width && this.transitionState.current.height ? (this.state.width = this.transitionState.current.width, this.state.height = this.transitionState.current.height) : t.classList.contains("vvw--loaded") || (this.state.width = this.initW, this.state.height = this.initH);
187
+ const i = () => {
188
+ this.isCancelled || m.start({
189
+ vistaImage: this,
190
+ target: {
191
+ width: this.fullW,
192
+ height: this.fullH
193
+ },
194
+ onComplete: () => {
195
+ this.isCancelled || (this.isReady = !0, t.classList.add("vvw--ready"), this.onImageReady());
196
+ },
197
+ shouldWait: this.transitionShouldWait
198
+ });
199
+ };
200
+ this.pos < -1 || this.pos > 1 ? (this.state.width = this.fullW, this.state.height = this.fullH, t.classList.add("vvw--loaded"), t.classList.add("vvw--ready"), this.isReady = !0) : t.classList.contains("vvw--loaded") ? t.classList.contains("vvw--ready") ? (this.isReady = !0, this.onImageReady()) : i() : (t.classList.add("vvw--loaded"), setTimeout(() => {
201
+ this.isCancelled || i();
202
+ }, 333));
203
+ }
204
+ getFullSizeDim() {
205
+ const { width: t, height: i } = this.thumb.getBoundingClientRect(), n = t / i;
206
+ let h = window.innerWidth, e = window.innerHeight;
207
+ return n > window.innerWidth / window.innerHeight ? e = h / n : h = e * n, { width: h, height: e };
208
+ }
209
+ setSizes(t = {}) {
210
+ var l, r, f;
211
+ const { stableSize: i = !0, initDimension: n } = t;
212
+ if (!this.origin) return;
213
+ const h = this.thumb;
214
+ let e = { width: this.defaultWH, height: this.defaultWH, top: 0, left: 0 };
215
+ if (h) {
216
+ e = (((l = this.origin) == null ? void 0 : l.anchor) || this.replacement).getBoundingClientRect();
217
+ const o = h.style;
218
+ o.width = e.width + "px", o.height = e.height + "px", o.top = "50%", o.left = "50%", o.translate = "-50% -50%", o.position = "fixed", o.objectFit = this.origin.objectFit, o.borderRadius = this.origin.borderRadius;
219
+ const c = Math.min(Math.max(e.left, -e.width), window.innerWidth + e.width) - window.innerWidth / 2 + e.width / 2, g = Math.min(Math.max(e.top, -e.height), window.innerHeight + e.height) - window.innerHeight / 2 + e.height / 2;
220
+ o.setProperty("--vvw-init-radius", o.borderRadius), o.setProperty("--vvw-pulse-radius", `calc(1.3 * ${o.borderRadius})`), o.setProperty("--vvw-init-x", `${c}px`), o.setProperty("--vvw-init-y", `${g}px`), n && (o.setProperty("--vvw-current-x", `${c}px`), o.setProperty("--vvw-current-y", `${g}px`));
221
+ }
222
+ if (!n) {
223
+ const { width: o, height: c } = this.thumbImage ? b(this.thumbImage) : { width: 0, height: 0 };
224
+ this.fittedSize = { width: o, height: c };
225
+ }
226
+ const s = this.element;
227
+ if (this.initW = Math.min(((r = this.fittedSize) == null ? void 0 : r.width) ?? 0, e.width), this.initH = Math.min(((f = this.fittedSize) == null ? void 0 : f.height) ?? 0, e.height), s.style.setProperty("--vvw-init-w", this.initW + "px"), s.style.setProperty("--vvw-init-h", this.initH + "px"), s.style.setProperty("--vvw-init-radius", this.origin.borderRadius), s.style.objectFit = "cover", !n) {
228
+ if (this.isReady && !this.isCancelled) {
229
+ const { width: o, height: c } = this.getFullSizeDim();
230
+ this.fullH = c, this.fullW = o, this.minW = this.fullW * 0.5;
231
+ }
232
+ !this.isZoomedIn && i && this.normalize();
233
+ }
234
+ }
235
+ normalize() {
236
+ this.state.transform = { x: 0, y: 0, scale: 1 }, this.state.translate = {
237
+ x: 0,
238
+ y: 0
239
+ }, this.state.width = this.fullW, this.state.height = this.fullH, this.isZoomedIn = !1;
240
+ }
241
+ getFromParsedSrcSet(t) {
242
+ if (!this.parsedSrcSet || this.parsedSrcSet.length === 0)
243
+ return null;
244
+ const i = t * (window.devicePixelRatio || 1);
245
+ let n = this.parsedSrcSet[this.parsedSrcSet.length - 1];
246
+ for (const h of this.parsedSrcSet)
247
+ if (h.width >= i) {
248
+ n = h;
249
+ break;
250
+ }
251
+ return n.src;
252
+ }
253
+ prepareClose() {
254
+ m.stop(this), this.setFinalTransform();
255
+ }
256
+ cancelPendingLoad() {
257
+ var t;
258
+ this.isCancelled = !0, (t = this.element) == null || t.classList.add("vvw--load-cancelled");
259
+ }
260
+ // Used by: VistaImageEvent
261
+ setInitialCenter(t) {
262
+ this.initPointerCenter = t;
263
+ }
264
+ destroy() {
265
+ var t, i;
266
+ this.originalParent && this.thumbImage && (this.thumbImage.style.cssText = this.originalStyle, this.originalNextSibling ? this.originalParent.insertBefore(this.thumbImage, this.originalNextSibling) : this.originalParent.appendChild(this.thumbImage)), this.originalParent = null, this.originalNextSibling = null, this.originalStyle = "", this.thumbImage = null, this.replacement && (this.replacement.remove(), this.replacement = null), (t = this.thumb) == null || t.remove(), (i = this.element) == null || i.remove(), this.thumb = null, this.origin = void 0, this.config = { src: "", alt: "" };
267
+ }
268
+ cloneStyleFrom(t, i) {
269
+ t != null && t.element && (i && (this.transitionState = i || null), t.element.classList.contains("vvw--loaded") && (this.element.classList.add("vvw--loaded"), this.state.width = t.state.width, this.state.height = t.state.height), t.element.classList.contains("vvw--ready") && this.element.classList.add("vvw--ready"));
270
+ }
271
+ toObject() {
272
+ return structuredClone({
273
+ config: {
274
+ src: this.config.src,
275
+ alt: this.config.alt,
276
+ srcSet: this.config.srcSet
277
+ },
278
+ origin: this.origin ? {
279
+ src: this.origin.src,
280
+ srcSet: this.origin.srcSet,
281
+ borderRadius: this.origin.borderRadius,
282
+ objectFit: this.origin.objectFit
283
+ } : null,
284
+ parsedSrcSet: this.parsedSrcSet,
285
+ element: "src" in this.element ? this.element.src : this.element.toString(),
286
+ thumb: void 0,
287
+ index: this.index,
288
+ pos: this.pos,
289
+ state: {
290
+ width: this.state._width,
291
+ height: this.state._height,
292
+ transform: this.state._transform,
293
+ translate: this.state._translate
294
+ }
295
+ });
296
+ }
297
+ // Used by: VistaImageEvent
298
+ setFinalTransform(t = {}) {
299
+ const { propagateEvent: i = !0 } = t;
300
+ if (this.isReady) {
301
+ if (this.state.translate.x += this.state.transform.x, this.state.translate.y += this.state.transform.y, this.state.width *= this.state.transform.scale, this.state.height *= this.state.transform.scale, Math.abs(this.state.width - this.fullW) < 1 && (this.state.width = this.fullW, this.state.height = this.fullH), Math.abs(this.state.translate.x) < 1 && (this.state.translate.x = 0), Math.abs(this.state.translate.y) < 1 && (this.state.translate.y = 0), this.state.translate = { ...this.state.translate }, this.state.transform = { x: 0, y: 0, scale: 1 }, i) {
302
+ const n = this.toObject();
303
+ this.vistaView.options.onContentChange && this.vistaView.options.onContentChange(n, this.vistaView), this.vistaView.state.extensions.forEach((h) => {
304
+ h.onContentChange && h.onContentChange(n, this.vistaView);
305
+ });
306
+ }
307
+ return {
308
+ close: !0,
309
+ cancel: () => {
310
+ }
311
+ };
312
+ }
313
+ }
314
+ }
315
+ export {
316
+ L as V,
317
+ m as a
318
+ };
@@ -1,9 +1,16 @@
1
1
  export type * from './lib/types';
2
2
  export { vistaView } from './lib/main';
3
+ export { VistaImageEvent } from './lib/vista-image-event';
4
+ export { VistaHiresTransition } from './lib/vista-hires-transition';
5
+ export { VistaBox } from './lib/vista-box';
6
+ export { VistaImage } from './lib/vista-image';
7
+ export { VistaPointers } from './lib/vista-pointers';
8
+ export { VistaState } from './lib/vista-state';
9
+ export { VistaView } from './lib/vista-view';
3
10
  export { DefaultOptions } from './lib/defaults/options';
4
- export { setup } from './lib/defaults/setup';
11
+ export { imageSetup } from './lib/defaults/image-setup';
5
12
  export { init } from './lib/defaults/init';
13
+ export { open } from './lib/defaults/open';
6
14
  export { close } from './lib/defaults/close';
7
15
  export { transition } from './lib/defaults/transition';
8
- export { vistaViewDownload } from './lib/components';
9
16
  //# sourceMappingURL=vistaview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vistaview.d.ts","sourceRoot":"","sources":["../src/vistaview.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"vistaview.d.ts","sourceRoot":"","sources":["../src/vistaview.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}