vistaview 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -61
  3. package/{dist/lib/extensions/dailymotion-video.d.ts → extensions/dailymotion-video/dist/main.d.ts} +3 -3
  4. package/extensions/dailymotion-video/dist/main.d.ts.map +1 -0
  5. package/extensions/dailymotion-video/dist/main.js +72 -0
  6. package/extensions/dailymotion-video/dist/main.js.map +1 -0
  7. package/extensions/dailymotion-video/dist/main.test.d.ts +2 -0
  8. package/extensions/dailymotion-video/dist/main.test.d.ts.map +1 -0
  9. package/extensions/dailymotion-video/dist/main.umd.cjs +2 -0
  10. package/extensions/dailymotion-video/dist/main.umd.cjs.map +1 -0
  11. package/extensions/download/dist/main.d.ts +4 -0
  12. package/extensions/download/dist/main.d.ts.map +1 -0
  13. package/extensions/download/dist/main.js +42 -0
  14. package/extensions/download/dist/main.js.map +1 -0
  15. package/extensions/download/dist/main.test.d.ts +2 -0
  16. package/extensions/download/dist/main.test.d.ts.map +1 -0
  17. package/extensions/download/dist/main.umd.cjs +2 -0
  18. package/extensions/download/dist/main.umd.cjs.map +1 -0
  19. package/{dist/lib/extensions/google-maps.d.ts → extensions/google-maps/dist/main.d.ts} +3 -3
  20. package/extensions/google-maps/dist/main.d.ts.map +1 -0
  21. package/extensions/google-maps/dist/main.js +96 -0
  22. package/extensions/google-maps/dist/main.js.map +1 -0
  23. package/extensions/google-maps/dist/main.test.d.ts +2 -0
  24. package/extensions/google-maps/dist/main.test.d.ts.map +1 -0
  25. package/extensions/google-maps/dist/main.umd.cjs +2 -0
  26. package/extensions/google-maps/dist/main.umd.cjs.map +1 -0
  27. package/extensions/image-story/dist/main.d.ts +16 -0
  28. package/extensions/image-story/dist/main.d.ts.map +1 -0
  29. package/extensions/image-story/dist/main.js +600 -0
  30. package/extensions/image-story/dist/main.js.map +1 -0
  31. package/extensions/image-story/dist/main.test.d.ts +2 -0
  32. package/extensions/image-story/dist/main.test.d.ts.map +1 -0
  33. package/extensions/image-story/dist/main.umd.cjs +3 -0
  34. package/extensions/image-story/dist/main.umd.cjs.map +1 -0
  35. package/extensions/image-story/dist/style.css +1 -0
  36. package/extensions/logger/dist/main.d.ts +3 -0
  37. package/extensions/logger/dist/main.d.ts.map +1 -0
  38. package/extensions/logger/dist/main.js +23 -0
  39. package/extensions/logger/dist/main.js.map +1 -0
  40. package/extensions/logger/dist/main.test.d.ts +2 -0
  41. package/extensions/logger/dist/main.test.d.ts.map +1 -0
  42. package/extensions/logger/dist/main.umd.cjs +2 -0
  43. package/extensions/logger/dist/main.umd.cjs.map +1 -0
  44. package/{dist/lib/extensions/mapbox.d.ts → extensions/mapbox/dist/main.d.ts} +3 -3
  45. package/extensions/mapbox/dist/main.d.ts.map +1 -0
  46. package/extensions/mapbox/dist/main.js +114 -0
  47. package/extensions/mapbox/dist/main.js.map +1 -0
  48. package/extensions/mapbox/dist/main.test.d.ts +2 -0
  49. package/extensions/mapbox/dist/main.test.d.ts.map +1 -0
  50. package/extensions/mapbox/dist/main.umd.cjs +2 -0
  51. package/extensions/mapbox/dist/main.umd.cjs.map +1 -0
  52. package/{dist/lib/extensions/openstreetmap.d.ts → extensions/openstreetmap/dist/main.d.ts} +3 -3
  53. package/extensions/openstreetmap/dist/main.d.ts.map +1 -0
  54. package/extensions/openstreetmap/dist/main.js +114 -0
  55. package/extensions/openstreetmap/dist/main.js.map +1 -0
  56. package/extensions/openstreetmap/dist/main.test.d.ts +2 -0
  57. package/extensions/openstreetmap/dist/main.test.d.ts.map +1 -0
  58. package/extensions/openstreetmap/dist/main.umd.cjs +2 -0
  59. package/extensions/openstreetmap/dist/main.umd.cjs.map +1 -0
  60. package/{dist/lib/extensions/select-box.d.ts → extensions/select-box/dist/main.d.ts} +2 -2
  61. package/extensions/select-box/dist/main.d.ts.map +1 -0
  62. package/extensions/select-box/dist/main.js +25 -0
  63. package/extensions/select-box/dist/main.js.map +1 -0
  64. package/extensions/select-box/dist/main.umd.cjs +2 -0
  65. package/extensions/select-box/dist/main.umd.cjs.map +1 -0
  66. package/{dist/lib/extensions/streamable-video.d.ts → extensions/streamable-video/dist/main.d.ts} +3 -3
  67. package/extensions/streamable-video/dist/main.d.ts.map +1 -0
  68. package/extensions/streamable-video/dist/main.js +68 -0
  69. package/extensions/streamable-video/dist/main.js.map +1 -0
  70. package/extensions/streamable-video/dist/main.test.d.ts +2 -0
  71. package/extensions/streamable-video/dist/main.test.d.ts.map +1 -0
  72. package/extensions/streamable-video/dist/main.umd.cjs +2 -0
  73. package/extensions/streamable-video/dist/main.umd.cjs.map +1 -0
  74. package/{dist/lib/extensions/twitch-video.d.ts → extensions/twitch-video/dist/main.d.ts} +3 -3
  75. package/extensions/twitch-video/dist/main.d.ts.map +1 -0
  76. package/extensions/twitch-video/dist/main.js +81 -0
  77. package/extensions/twitch-video/dist/main.js.map +1 -0
  78. package/extensions/twitch-video/dist/main.umd.cjs +2 -0
  79. package/extensions/twitch-video/dist/main.umd.cjs.map +1 -0
  80. package/{dist/lib/extensions/vidyard-video.d.ts → extensions/vidyard-video/dist/main.d.ts} +3 -3
  81. package/extensions/vidyard-video/dist/main.d.ts.map +1 -0
  82. package/extensions/vidyard-video/dist/main.js +72 -0
  83. package/extensions/vidyard-video/dist/main.js.map +1 -0
  84. package/extensions/vidyard-video/dist/main.test.d.ts +2 -0
  85. package/extensions/vidyard-video/dist/main.test.d.ts.map +1 -0
  86. package/extensions/vidyard-video/dist/main.umd.cjs +2 -0
  87. package/extensions/vidyard-video/dist/main.umd.cjs.map +1 -0
  88. package/{dist/lib/extensions/vimeo-video.d.ts → extensions/vimeo-video/dist/main.d.ts} +3 -3
  89. package/extensions/vimeo-video/dist/main.d.ts.map +1 -0
  90. package/extensions/vimeo-video/dist/main.js +68 -0
  91. package/extensions/vimeo-video/dist/main.js.map +1 -0
  92. package/extensions/vimeo-video/dist/main.test.d.ts +2 -0
  93. package/extensions/vimeo-video/dist/main.test.d.ts.map +1 -0
  94. package/extensions/vimeo-video/dist/main.umd.cjs +2 -0
  95. package/extensions/vimeo-video/dist/main.umd.cjs.map +1 -0
  96. package/{dist/lib/extensions/wistia-video.d.ts → extensions/wistia-video/dist/main.d.ts} +3 -3
  97. package/extensions/wistia-video/dist/main.d.ts.map +1 -0
  98. package/extensions/wistia-video/dist/main.js +72 -0
  99. package/extensions/wistia-video/dist/main.js.map +1 -0
  100. package/extensions/wistia-video/dist/main.test.d.ts +2 -0
  101. package/extensions/wistia-video/dist/main.test.d.ts.map +1 -0
  102. package/extensions/wistia-video/dist/main.umd.cjs +2 -0
  103. package/extensions/wistia-video/dist/main.umd.cjs.map +1 -0
  104. package/{dist/lib/extensions/youtube-video.d.ts → extensions/youtube-video/dist/main.d.ts} +3 -3
  105. package/extensions/youtube-video/dist/main.d.ts.map +1 -0
  106. package/extensions/youtube-video/dist/main.js +80 -0
  107. package/extensions/youtube-video/dist/main.js.map +1 -0
  108. package/extensions/youtube-video/dist/main.test.d.ts +2 -0
  109. package/extensions/youtube-video/dist/main.test.d.ts.map +1 -0
  110. package/extensions/youtube-video/dist/main.umd.cjs +2 -0
  111. package/extensions/youtube-video/dist/main.umd.cjs.map +1 -0
  112. package/frameworks/react/dist/main.d.ts +3 -0
  113. package/frameworks/react/dist/main.es.js +51 -0
  114. package/frameworks/react/dist/main.es.js.map +1 -0
  115. package/frameworks/react/dist/test-setup.d.ts +1 -0
  116. package/frameworks/react/dist/use-vistaview.d.ts +2 -0
  117. package/frameworks/react/dist/vistaview.d.ts +13 -0
  118. package/frameworks/solid/dist/dev.js +77 -0
  119. package/frameworks/solid/dist/dev.jsx +72 -0
  120. package/frameworks/solid/dist/index.d.ts +18 -0
  121. package/frameworks/solid/dist/index.js +76 -0
  122. package/frameworks/solid/dist/index.jsx +71 -0
  123. package/frameworks/svelte/dist/VistaView.svelte +65 -0
  124. package/frameworks/svelte/dist/VistaView.svelte.d.ts +46 -0
  125. package/frameworks/svelte/dist/index.d.ts +3 -0
  126. package/frameworks/svelte/dist/index.js +2 -0
  127. package/frameworks/svelte/dist/types.d.ts +14 -0
  128. package/frameworks/svelte/dist/types.js +1 -0
  129. package/frameworks/svelte/dist/use-vistaview.d.ts +2 -0
  130. package/frameworks/svelte/dist/use-vistaview.js +24 -0
  131. package/frameworks/svelte/dist/use-vistaview.test.d.ts +1 -0
  132. package/frameworks/svelte/dist/use-vistaview.test.js +115 -0
  133. package/frameworks/vue/dist/main.es.js +95 -0
  134. package/frameworks/vue/dist/main.es.js.map +1 -0
  135. package/{dist → main/dist}/lib/components.d.ts +1 -2
  136. package/main/dist/lib/components.js +107 -0
  137. package/main/dist/lib/defaults/close.d.ts +2 -0
  138. package/main/dist/lib/defaults/close.js +4 -0
  139. package/main/dist/lib/defaults/image-setup.d.ts +3 -0
  140. package/main/dist/lib/defaults/image-setup.js +4 -0
  141. package/main/dist/lib/defaults/init.d.ts +2 -0
  142. package/main/dist/lib/defaults/init.js +97 -0
  143. package/main/dist/lib/defaults/open.d.ts +2 -0
  144. package/main/dist/lib/defaults/open.js +8 -0
  145. package/main/dist/lib/defaults/options.d.ts +2 -0
  146. package/main/dist/lib/defaults/options.js +15 -0
  147. package/{dist → main/dist}/lib/defaults/transition.d.ts +2 -3
  148. package/main/dist/lib/defaults/transition.js +40 -0
  149. package/{dist → main/dist}/lib/main.d.ts +1 -2
  150. package/main/dist/lib/main.js +66 -0
  151. package/{dist → main/dist}/lib/throttle.d.ts +0 -1
  152. package/main/dist/lib/throttle.js +21 -0
  153. package/{dist → main/dist}/lib/types.d.ts +4 -5
  154. package/main/dist/lib/types.js +1 -0
  155. package/{dist → main/dist}/lib/utils/get-fitted-size.d.ts +0 -1
  156. package/main/dist/lib/utils/get-fitted-size.js +53 -0
  157. package/{dist → main/dist}/lib/utils/get-full-size-dim.d.ts +0 -1
  158. package/main/dist/lib/utils/get-full-size-dim.js +35 -0
  159. package/{dist → main/dist}/lib/utils/get-style.d.ts +0 -1
  160. package/main/dist/lib/utils/get-style.js +19 -0
  161. package/{dist → main/dist}/lib/utils/index.d.ts +0 -1
  162. package/main/dist/lib/utils/index.js +7 -0
  163. package/{dist → main/dist}/lib/utils/is-not-zero-css.d.ts +0 -1
  164. package/main/dist/lib/utils/is-not-zero-css.js +3 -0
  165. package/{dist → main/dist}/lib/utils/parse-element.d.ts +1 -2
  166. package/main/dist/lib/utils/parse-element.js +67 -0
  167. package/{dist → main/dist}/lib/vista-box.d.ts +3 -4
  168. package/main/dist/lib/vista-box.js +466 -0
  169. package/{dist → main/dist}/lib/vista-hires-transition.d.ts +2 -3
  170. package/main/dist/lib/vista-hires-transition.js +108 -0
  171. package/{dist → main/dist}/lib/vista-image-event.d.ts +2 -3
  172. package/main/dist/lib/vista-image-event.js +166 -0
  173. package/{dist → main/dist}/lib/vista-image.d.ts +2 -3
  174. package/main/dist/lib/vista-image.js +274 -0
  175. package/{dist → main/dist}/lib/vista-pointers.d.ts +1 -2
  176. package/main/dist/lib/vista-pointers.js +163 -0
  177. package/{dist → main/dist}/lib/vista-state.d.ts +2 -3
  178. package/main/dist/lib/vista-state.js +15 -0
  179. package/{dist → main/dist}/lib/vista-view.d.ts +2 -3
  180. package/main/dist/lib/vista-view.js +576 -0
  181. package/main/dist/style.css +1 -0
  182. package/main/dist/styles/autumn-amber.css +1 -0
  183. package/main/dist/styles/cotton-candy.css +1 -0
  184. package/main/dist/styles/dark-rounded.css +1 -0
  185. package/main/dist/styles/ember-glow.css +1 -0
  186. package/main/dist/styles/forest-moss.css +1 -0
  187. package/main/dist/styles/green-lake.css +1 -0
  188. package/main/dist/styles/ice-crystal.css +1 -0
  189. package/main/dist/styles/lavender-fields.css +1 -0
  190. package/main/dist/styles/midnight-gold.css +1 -0
  191. package/main/dist/styles/midnight-ocean.css +1 -0
  192. package/main/dist/styles/mint-chocolate.css +1 -0
  193. package/main/dist/styles/neon-nights.css +1 -0
  194. package/main/dist/styles/paper-light.css +1 -0
  195. package/main/dist/styles/retro-arcade.css +1 -0
  196. package/main/dist/styles/soft-neutral.css +1 -0
  197. package/main/dist/styles/stark-minimal.css +1 -0
  198. package/main/dist/styles/strawberry.css +1 -0
  199. package/{dist → main/dist}/vistaview.d.ts +0 -1
  200. package/main/dist/vistaview.js +14 -0
  201. package/main/dist/vistaview.umd.js +18 -0
  202. package/package.json +122 -67
  203. package/dist/extensions/dailymotion-video.d.ts +0 -2
  204. package/dist/extensions/dailymotion-video.js +0 -80
  205. package/dist/extensions/dailymotion-video.umd.js +0 -1
  206. package/dist/extensions/download.d.ts +0 -2
  207. package/dist/extensions/download.js +0 -35
  208. package/dist/extensions/download.umd.js +0 -1
  209. package/dist/extensions/google-maps.d.ts +0 -2
  210. package/dist/extensions/google-maps.js +0 -96
  211. package/dist/extensions/google-maps.umd.js +0 -1
  212. package/dist/extensions/image-story.d.ts +0 -2
  213. package/dist/extensions/image-story.js +0 -621
  214. package/dist/extensions/image-story.umd.js +0 -2
  215. package/dist/extensions/logger.d.ts +0 -2
  216. package/dist/extensions/logger.js +0 -23
  217. package/dist/extensions/logger.umd.js +0 -1
  218. package/dist/extensions/mapbox.d.ts +0 -2
  219. package/dist/extensions/mapbox.js +0 -124
  220. package/dist/extensions/mapbox.umd.js +0 -1
  221. package/dist/extensions/openstreetmap.d.ts +0 -2
  222. package/dist/extensions/openstreetmap.js +0 -125
  223. package/dist/extensions/openstreetmap.umd.js +0 -1
  224. package/dist/extensions/select-box.d.ts +0 -2
  225. package/dist/extensions/select-box.js +0 -29
  226. package/dist/extensions/select-box.umd.js +0 -1
  227. package/dist/extensions/streamable-video.d.ts +0 -2
  228. package/dist/extensions/streamable-video.js +0 -76
  229. package/dist/extensions/streamable-video.umd.js +0 -1
  230. package/dist/extensions/twitch-video.d.ts +0 -2
  231. package/dist/extensions/twitch-video.js +0 -79
  232. package/dist/extensions/vidyard-video.d.ts +0 -2
  233. package/dist/extensions/vidyard-video.js +0 -80
  234. package/dist/extensions/vidyard-video.umd.js +0 -1
  235. package/dist/extensions/vimeo-video.d.ts +0 -2
  236. package/dist/extensions/vimeo-video.js +0 -76
  237. package/dist/extensions/vimeo-video.umd.js +0 -1
  238. package/dist/extensions/wistia-video.d.ts +0 -2
  239. package/dist/extensions/wistia-video.js +0 -85
  240. package/dist/extensions/wistia-video.umd.js +0 -1
  241. package/dist/extensions/youtube-video.d.ts +0 -2
  242. package/dist/extensions/youtube-video.js +0 -88
  243. package/dist/extensions/youtube-video.umd.js +0 -1
  244. package/dist/lib/components.d.ts.map +0 -1
  245. package/dist/lib/defaults/close.d.ts +0 -3
  246. package/dist/lib/defaults/close.d.ts.map +0 -1
  247. package/dist/lib/defaults/image-setup.d.ts +0 -4
  248. package/dist/lib/defaults/image-setup.d.ts.map +0 -1
  249. package/dist/lib/defaults/init.d.ts +0 -3
  250. package/dist/lib/defaults/init.d.ts.map +0 -1
  251. package/dist/lib/defaults/open.d.ts +0 -3
  252. package/dist/lib/defaults/open.d.ts.map +0 -1
  253. package/dist/lib/defaults/options.d.ts +0 -3
  254. package/dist/lib/defaults/options.d.ts.map +0 -1
  255. package/dist/lib/defaults/transition.d.ts.map +0 -1
  256. package/dist/lib/extensions/dailymotion-video.d.ts.map +0 -1
  257. package/dist/lib/extensions/download.d.ts +0 -3
  258. package/dist/lib/extensions/download.d.ts.map +0 -1
  259. package/dist/lib/extensions/google-maps.d.ts.map +0 -1
  260. package/dist/lib/extensions/image-story.d.ts +0 -12
  261. package/dist/lib/extensions/image-story.d.ts.map +0 -1
  262. package/dist/lib/extensions/logger.d.ts +0 -3
  263. package/dist/lib/extensions/logger.d.ts.map +0 -1
  264. package/dist/lib/extensions/mapbox.d.ts.map +0 -1
  265. package/dist/lib/extensions/openstreetmap.d.ts.map +0 -1
  266. package/dist/lib/extensions/select-box.d.ts.map +0 -1
  267. package/dist/lib/extensions/streamable-video.d.ts.map +0 -1
  268. package/dist/lib/extensions/twitch-video.d.ts.map +0 -1
  269. package/dist/lib/extensions/vidyard-video.d.ts.map +0 -1
  270. package/dist/lib/extensions/vimeo-video.d.ts.map +0 -1
  271. package/dist/lib/extensions/wistia-video.d.ts.map +0 -1
  272. package/dist/lib/extensions/youtube-video.d.ts.map +0 -1
  273. package/dist/lib/main.d.ts.map +0 -1
  274. package/dist/lib/throttle.d.ts.map +0 -1
  275. package/dist/lib/types.d.ts.map +0 -1
  276. package/dist/lib/utils/get-fitted-size.d.ts.map +0 -1
  277. package/dist/lib/utils/get-full-size-dim.d.ts.map +0 -1
  278. package/dist/lib/utils/get-style.d.ts.map +0 -1
  279. package/dist/lib/utils/index.d.ts.map +0 -1
  280. package/dist/lib/utils/is-not-zero-css.d.ts.map +0 -1
  281. package/dist/lib/utils/parse-element.d.ts.map +0 -1
  282. package/dist/lib/vista-box.d.ts.map +0 -1
  283. package/dist/lib/vista-hires-transition.d.ts.map +0 -1
  284. package/dist/lib/vista-image-event.d.ts.map +0 -1
  285. package/dist/lib/vista-image.d.ts.map +0 -1
  286. package/dist/lib/vista-pointers.d.ts.map +0 -1
  287. package/dist/lib/vista-state.d.ts.map +0 -1
  288. package/dist/lib/vista-view.d.ts.map +0 -1
  289. package/dist/react.d.ts +0 -11
  290. package/dist/react.d.ts.map +0 -1
  291. package/dist/react.js +0 -69
  292. package/dist/solid.d.ts +0 -3
  293. package/dist/solid.d.ts.map +0 -1
  294. package/dist/solid.js +0 -24
  295. package/dist/style.css +0 -1
  296. package/dist/style.d.ts +0 -1
  297. package/dist/styles/autumn-amber.css +0 -1
  298. package/dist/styles/autumn-amber.d.ts +0 -1
  299. package/dist/styles/cotton-candy.css +0 -1
  300. package/dist/styles/cotton-candy.d.ts +0 -1
  301. package/dist/styles/dark-rounded.css +0 -1
  302. package/dist/styles/dark-rounded.d.ts +0 -1
  303. package/dist/styles/ember-glow.css +0 -1
  304. package/dist/styles/ember-glow.d.ts +0 -1
  305. package/dist/styles/extensions/image-story.css +0 -1
  306. package/dist/styles/extensions/image-story.d.ts +0 -1
  307. package/dist/styles/forest-moss.css +0 -1
  308. package/dist/styles/forest-moss.d.ts +0 -1
  309. package/dist/styles/green-lake.css +0 -1
  310. package/dist/styles/green-lake.d.ts +0 -1
  311. package/dist/styles/ice-crystal.css +0 -1
  312. package/dist/styles/ice-crystal.d.ts +0 -1
  313. package/dist/styles/lavender-fields.css +0 -1
  314. package/dist/styles/lavender-fields.d.ts +0 -1
  315. package/dist/styles/midnight-gold.css +0 -1
  316. package/dist/styles/midnight-gold.d.ts +0 -1
  317. package/dist/styles/midnight-ocean.css +0 -1
  318. package/dist/styles/midnight-ocean.d.ts +0 -1
  319. package/dist/styles/mint-chocolate.css +0 -1
  320. package/dist/styles/mint-chocolate.d.ts +0 -1
  321. package/dist/styles/neon-nights.css +0 -1
  322. package/dist/styles/neon-nights.d.ts +0 -1
  323. package/dist/styles/paper-light.css +0 -1
  324. package/dist/styles/paper-light.d.ts +0 -1
  325. package/dist/styles/retro-arcade.css +0 -1
  326. package/dist/styles/retro-arcade.d.ts +0 -1
  327. package/dist/styles/soft-neutral.css +0 -1
  328. package/dist/styles/soft-neutral.d.ts +0 -1
  329. package/dist/styles/stark-minimal.css +0 -1
  330. package/dist/styles/stark-minimal.d.ts +0 -1
  331. package/dist/styles/strawberry.css +0 -1
  332. package/dist/styles/strawberry.d.ts +0 -1
  333. package/dist/svelte.d.ts +0 -3
  334. package/dist/svelte.d.ts.map +0 -1
  335. package/dist/svelte.js +0 -22
  336. package/dist/vista-box-zG6ZgBcI.js +0 -334
  337. package/dist/vistaview.d.ts.map +0 -1
  338. package/dist/vistaview.js +0 -1013
  339. package/dist/vistaview.umd.js +0 -18
  340. package/dist/vue.d.ts +0 -25
  341. package/dist/vue.d.ts.map +0 -1
  342. package/dist/vue.js +0 -79
@@ -1,18 +0,0 @@
1
- (function(d,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(d=typeof globalThis<"u"?globalThis:d||self,y(d.VistaView=d.VistaView||{}))})(this,(function(d){"use strict";var nt=Object.defineProperty;var st=(d,y,I)=>y in d?nt(d,y,{enumerable:!0,configurable:!0,writable:!0,value:I}):d[y]=I;var a=(d,y,I)=>st(d,typeof y!="symbol"?y+"":y,I);const y={animationDurationBase:333,maxZoomLevel:2,preloads:1,keyboardListeners:!0,arrowOnSmallScreens:!1,rapidLimit:222,controls:{topLeft:["indexDisplay"],topRight:["zoomIn","zoomOut","close"],bottomLeft:["description"]}},I='<svg viewBox="0 0 24 24"><path d="m15 18-6-6 6-6"/></svg>',k='<svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6"/></svg>',j='<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>',N='<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>',B='<svg viewBox="0 0 24 24"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>';let P=null;function Z(){return P||(window.trustedTypes||(window.trustedTypes={createPolicy:(o,t)=>t}),P=window.trustedTypes.createPolicy("vistaView-policy",{createHTML:o=>o,createScript:()=>{throw new Error("Not implemented")},createScriptURL:()=>{throw new Error("Not implemented")}}),P)}function U(o){const e=Z().createHTML(o),i=document.createElement("template");i.innerHTML=e;const n=i.content;return i.remove(),n}function X(o,t){if(typeof o=="string")switch(o){case"zoomIn":return`<div class="vvw-ui"><button aria-label="Zoom In" class="vvw-zoom-in">${j}</button></div>`;case"zoomOut":return`<div class="vvw-ui"><button aria-label="Zoom Out" disabled class="vvw-zoom-out">${N}</button></div>`;case"close":return`<div class="vvw-ui"><button aria-label="Close" class="vvw-close">${B}</button></div>`;case"indexDisplay":return'<div class="vvw-index vvw-ui" aria-hidden="true"></div>';case"description":return'<div class="vvw-desc vvw-ui" role="status" aria-live="polite" aria-atomic="true"></div>';default:const e=t[o];return e&&e.control?`<div class="vvw-ext vvw-ui" aria-label="${e.description||e.name}" data-vvw-control="${e.name}"></div>`:(console.warn(`Unknown control: ${o}. Will return empty string.`),"")}return""}function Y({controls:o,extensions:t}){const e={};t.forEach(s=>{e[s.name]=s});const i=s=>s?s.map(r=>X(r,e)).join(""):"",n=U(`<div class="vvw-root" id="vvw-root">
2
- <div class="vvw-container">
3
- <div class="vvw-bg"></div>
4
- <div class="vvw-image-container"></div>
5
- <div class="vvw-top-bar">
6
- <div>${i(o==null?void 0:o.topLeft)}</div>
7
- <div>${i(o==null?void 0:o.topCenter)}</div>
8
- <div>${i(o==null?void 0:o.topRight)}</div>
9
- </div>
10
- <div class="vvw-bottom-bar">
11
- <div>${i(o==null?void 0:o.bottomLeft)}</div>
12
- <div>${i(o==null?void 0:o.bottomCenter)}</div>
13
- <div>${i(o==null?void 0:o.bottomRight)}</div>
14
- </div>
15
- <div class="vvw-prev vvw-ui"><button aria-label="Previous">${I}</button></div>
16
- <div class="vvw-next vvw-ui"><button aria-label="Next">${k}</button></div>
17
- </div>
18
- </div>`);return[...(o==null?void 0:o.topLeft)||[],...(o==null?void 0:o.topCenter)||[],...(o==null?void 0:o.topRight)||[],...(o==null?void 0:o.bottomLeft)||[],...(o==null?void 0:o.bottomCenter)||[],...(o==null?void 0:o.bottomRight)||[]].forEach(s=>{const r=e[s];if(r&&r.control){const l=n.querySelector(`[data-vvw-control="${r.name}"]`),h=r.control();l&&h&&l.appendChild(h)}}),n}function W(o,t){}function R(o){K(o)}function K(o){let t={x:0,y:0},e={x:0,y:0},i=null;o.registerPointerListener(n=>{var s;if(!n.hasInternalExecution&&!(n.pointers.length>1)){if(n.event==="down"&&(t={x:n.pointer.x,y:n.pointer.y},e={x:n.pointer.x,y:n.pointer.y},(s=n.abortController)==null||s.abort()),n.event==="move"){e={x:n.pointer.x,y:n.pointer.y};const r=e.x-t.x,l=e.y-t.y;if(!i&&Math.abs(l)>Math.abs(r)||i==="y"){const h=l/window.innerHeight*100;o.imageContainer.style.transition="none",o.imageContainer.style.transform=`translateY(${h}vh)`,i="y"}else if(!i&&Math.abs(r)>Math.abs(l)||i==="x"&&n.state.elmLength>1){const h=r/window.innerWidth*100;o.imageContainer.style.transition="none",o.imageContainer.style.transform=`translateX(${h}vw)`,i="x"}}if(n.event==="up"||n.event==="cancel"){let r=function(l){var h;(h=o.imageContainer)==null||h.addEventListener("transitionend",function f(){var v;(v=o.imageContainer)==null||v.removeEventListener("transitionend",f),o.imageContainer.style.transition="",o.imageContainer.style.transform=""}),o.imageContainer.style.transition="transform 222ms ease",o.imageContainer.style.transform=l};if(i==="y"){const l=e.y-t.y;Math.abs(l)>144?(o.imageContainer.style.transition="transform 222ms ease",o.imageContainer.style.transform="translateY(0vh)",o.close()):r("translateY(0vh)")}if(i==="x"&&n.state.elmLength>1){const l=e.x-t.x;o.imageContainer.style.transition="",l>64?o.prev():l<-64?o.next():r("translateX(0vw)")}i=null,t={x:0,y:0},e={x:0,y:0}}}})}function z(o){const t=o.options.preloads;o.imageContainer.style.width=`${(t*2+1)*100}vw`,o.imageContainer.style.left=`-${t*100}vw`,o.imageContainer.style.display="flex"}function T(o){}function H({htmlElements:{to:o},index:{from:t,to:e}},i,n){const{imageContainer:s,options:r}=n,{isReducedMotion:l}=n.state;if(!(!o||i.aborted||l||!(Math.abs(e-t)===1||t===0&&e===n.state.elmLength-1||t===n.state.elmLength-1&&e===0)))return{cleanup:()=>{s.style.transition="",s.style.transform=""},transitionEnded:new Promise(f=>{s.addEventListener("transitionend",()=>{f()},{once:!0}),s.addEventListener("transitioncancel",()=>{i.aborted&&f()},{once:!0});const v=Math.round(r.animationDurationBase*100)/100,c=e===t+1||t===n.state.elmLength-1&&e===0?"translateX(-100vw)":"translateX(100vw)";s.style.transition=`transform ${v}ms ease`,s.style.transform=c})}}function D(o){const t=window.innerWidth,e=window.innerHeight,i=o.naturalWidth,n=o.naturalHeight;if(!i||!n)throw console.error("Error",o),new Error("Image natural dimensions are zero");if(i<t&&n<e)return{width:i,height:n};const s=i/n,r=t/e;let l,h;return s>r?(l=t,h=t/s):(h=e,l=e*s),{width:l,height:h}}class x{static ease(t,e,i){const n=e-t,s=t+n*.2;return Math.abs(n)<i?e:s}static play(t,e,i){if(i()){requestAnimationFrame(()=>{this.play(t,e,i)});return}this.map.get(t)&&(t.element.classList.contains("vvw--load-cancelled")||requestAnimationFrame(()=>{var v,c,u,g,p,m,w,b,E,S;const n=this.map.get(t);if(!n||!t.element||t.element.classList.contains("vvw--load-cancelled"))return;const{current:s,target:r,log:l}=n;let h={};r.width!==void 0&&(h.width=this.ease(s._width,r.width,1)),r.height!==void 0&&(h.height=this.ease(s._height,r.height,1)),((v=r.transform)==null?void 0:v.x)!==void 0&&(h.transform=h.transform||{},h.transform.x=this.ease(s._transform.x,r.transform.x,1)),((c=r.transform)==null?void 0:c.y)!==void 0&&(h.transform=h.transform||{},h.transform.y=this.ease(s._transform.y,r.transform.y,1)),((u=r.transform)==null?void 0:u.scale)!==void 0&&(h.transform=h.transform||{},h.transform.scale=this.ease(s._transform.scale,r.transform.scale,.005)),((g=r.translate)==null?void 0:g.x)!==void 0&&(h.translate=h.translate||{},h.translate.x=this.ease(s._translate.x,r.translate.x,1)),((p=r.translate)==null?void 0:p.y)!==void 0&&(h.translate=h.translate||{},h.translate.y=this.ease(s._translate.y,r.translate.y,1)),h.width!==void 0&&(s.width=h.width),h.height!==void 0&&(s.height=h.height),h.translate&&(s.translate={...s.translate,...h.translate}),h.transform&&(s.transform={...s.transform,...h.transform}),(r.width===void 0||s._width===r.width)&&(r.height===void 0||s._height===r.height)&&(((m=r.transform)==null?void 0:m.x)===void 0||s._transform.x===r.transform.x)&&(((w=r.transform)==null?void 0:w.y)===void 0||s._transform.y===r.transform.y)&&(((b=r.transform)==null?void 0:b.scale)===void 0||s._transform.scale===r.transform.scale)&&(((E=r.translate)==null?void 0:E.x)===void 0||s._translate.x===r.translate.x)&&(((S=r.translate)==null?void 0:S.y)===void 0||s._translate.y===r.translate.y)?(this.map.delete(t),e()):(this.map.set(t,{current:s,target:r,log:l}),this.play(t,e,i))}))}static stop(t){const e=this.map.get(t);return this.map.delete(t),e}static start({vistaImage:t,target:e,onComplete:i,shouldWait:n}){this.stop(t),this.map.set(t,{current:t.state,target:e}),this.play(t,i,n)}}a(x,"map",new Map);function M(o){const e=window.getComputedStyle(o).objectFit||"",{width:i,height:n}=o.getBoundingClientRect(),s=o.naturalWidth,r=o.naturalHeight;if(!e)return{width:i,height:n};if(!s||!r)return{width:i,height:n};const l=s/r,h=i/n;switch(e){case"fill":return{width:i,height:n};case"none":return{width:s,height:r};case"contain":return l>h?{width:i,height:i/l}:{width:n*l,height:n};case"cover":return l<h?{width:i,height:i/l}:{width:n*l,height:n};case"scale-down":{const f={width:s,height:r},v=l>h?{width:i,height:i/l}:{width:n*l,height:n};return v.width<=f.width&&v.height<=f.height?v:f}}return{width:i,height:n}}class F{constructor(t){a(this,"state");a(this,"parsedSrcSet");a(this,"isReady",!1);a(this,"isThrowing",!1);a(this,"thumb",null);a(this,"pos");a(this,"index");a(this,"config");a(this,"origin");a(this,"initH",0);a(this,"initW",0);a(this,"fullH",0);a(this,"fullW",0);a(this,"maxW",0);a(this,"minW",0);a(this,"defaultWH",200);a(this,"isZoomedIn",!1);a(this,"isCancelled",!1);a(this,"isLoadedResolved",null);a(this,"isLoadedRejected",null);a(this,"isLoaded",new Promise((t,e)=>{this.isLoadedResolved=t,this.isLoadedRejected=e}));a(this,"replacement",null);a(this,"originalParent",null);a(this,"originalNextSibling",null);a(this,"originalStyle","");a(this,"thumbImage",null);a(this,"originRect",{width:this.defaultWH,height:this.defaultWH,top:0,left:0});a(this,"fittedSize",null);a(this,"maxZoomLevel");a(this,"vistaView");a(this,"transitionState",null);a(this,"transitionShouldWait",()=>!1);a(this,"initPointerCenter",{x:0,y:0});a(this,"onScale");var i,n,s;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={x:window.innerWidth/2,y:window.innerHeight/2};const e=this.pos===0?(i=this.origin)==null?void 0:i.image:null;if(this.originalParent=(e==null?void 0:e.parentElement)||null,this.originalNextSibling=(e==null?void 0:e.nextSibling)||null,this.originRect=((s=((n=this.origin)==null?void 0:n.anchor)||e)==null?void 0:s.getBoundingClientRect())||{width:this.defaultWH,height:this.defaultWH,top:0,left:0},e&&this.originalParent){this.originalStyle=e.style.cssText,this.thumbImage=e;const r=e.cloneNode(!0);this.originalParent.insertBefore(r,e),this.replacement=r,this.thumb=document.createElement("div"),this.thumb.classList.add("vvw-img-lo");const{width:l,height:h}=this.thumbImage?M(this.thumbImage):{width:0,height:0};this.fittedSize={width:l,height:h},this.thumb.appendChild(e),e.style.width="100%",e.style.height="100%",e.style.objectFit=this.origin.objectFit}}createState(){const t=this;return{_t:this,_width:0,_height:0,_transform:{x:0,y:0,scale:1},_translate:{x:0,y:0},_lessThanMinWidth:!1,get width(){return this._width},set width(e){this._width=e,t.onWidthChange(e)},get height(){return this._height},set height(e){this._height=e,t.onHeightChange(e)},get transform(){return this._transform},set transform(e){this._transform=e,t.onTransformChange(e)},get translate(){return this._translate},set translate(e){this._translate=e,t.onTranslateChange(e)},get lessThanMinWidth(){return this._lessThanMinWidth},set lessThanMinWidth(e){this._lessThanMinWidth=e,t.onLessThanMinWidthChange(e)}}}onLessThanMinWidthChange(t){t?this.element.style.opacity="0.5":this.element.style.opacity=""}onTranslateChange(t){this.element.style.translate=`calc(-50% + ${t.x}px) calc(-50% + ${t.y}px)`}onTransformChange(t){const e=`translate3d(${t.x}px, ${t.y}px, 0px) scale3d(${t.scale}, ${t.scale}, 1)`;this.element.style.transform=e}onWidthChange(t){this.element.style.width=`${t}px`}onHeightChange(t){this.element.style.height=`${t}px`}onImageReady(){}animateZoom(t,e){}scaleMove(t,e,i){}momentumThrow(t){return()=>{}}async init(){await this.isLoaded;const t=this.element;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);const e=()=>{this.isCancelled||x.start({vistaImage:this,target:{width:this.fullW,height:this.fullH},onComplete:()=>{this.isCancelled||(this.isReady=!0,t.classList.add("vvw--ready"),this.onImageReady())},shouldWait:this.transitionShouldWait})};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()):e():(t.classList.add("vvw--loaded"),setTimeout(()=>{this.isCancelled||e()},333))}getFullSizeDim(){const{width:t,height:e}=this.thumb.getBoundingClientRect(),i=t/e;let n=window.innerWidth,s=window.innerHeight;return i>window.innerWidth/window.innerHeight?s=n/i:n=s*i,{width:n,height:s}}setSizes(t={}){var l,h,f,v;const{stableSize:e=!0,initDimension:i}=t;if(!this.origin)return;const n=this.thumb;i||(this.originRect=((h=((l=this.origin)==null?void 0:l.anchor)||this.replacement)==null?void 0:h.getBoundingClientRect())||{width:this.defaultWH,height:this.defaultWH,top:0,left:0});let s=this.originRect;if(n){const c=n.style;c.width=s.width+"px",c.height=s.height+"px",c.top="50%",c.left="50%",c.translate="-50% -50%",c.position="fixed",c.objectFit=this.origin.objectFit,c.borderRadius=this.origin.borderRadius;const u=Math.min(Math.max(s.left,-s.width),window.innerWidth+s.width)-window.innerWidth/2+s.width/2,g=Math.min(Math.max(s.top,-s.height),window.innerHeight+s.height)-window.innerHeight/2+s.height/2;c.setProperty("--vvw-init-radius",c.borderRadius),c.setProperty("--vvw-pulse-radius",`calc(1.3 * ${c.borderRadius})`),c.setProperty("--vvw-init-x",`${u}px`),c.setProperty("--vvw-init-y",`${g}px`),i&&(c.setProperty("--vvw-current-x",`${u}px`),c.setProperty("--vvw-current-y",`${g}px`))}if(!i){const{width:c,height:u}=this.thumbImage?M(this.thumbImage):{width:0,height:0};this.fittedSize={width:c,height:u}}const r=this.element;if(this.initW=Math.min(((f=this.fittedSize)==null?void 0:f.width)??0,s.width),this.initH=Math.min(((v=this.fittedSize)==null?void 0:v.height)??0,s.height),r.style.setProperty("--vvw-init-w",this.initW+"px"),r.style.setProperty("--vvw-init-h",this.initH+"px"),r.style.setProperty("--vvw-init-radius",this.origin.borderRadius),r.style.objectFit="cover",!i){if(this.isReady&&!this.isCancelled){const{width:c,height:u}=this.getFullSizeDim();this.fullH=u,this.fullW=c,this.minW=this.fullW*.5}!this.isZoomedIn&&e&&this.normalize()}}normalize(){this.state.transform={x:0,y:0,scale:1},this.state.translate={x:0,y:0},this.state.width=this.fullW,this.state.height=this.fullH,this.isZoomedIn=!1}getFromParsedSrcSet(t){if(!this.parsedSrcSet||this.parsedSrcSet.length===0)return null;const e=t*(window.devicePixelRatio||1);let i=this.parsedSrcSet[this.parsedSrcSet.length-1];for(const n of this.parsedSrcSet)if(n.width>=e){i=n;break}return i.src}prepareClose(){x.stop(this),this.setFinalTransform()}cancelPendingLoad(){var t;this.isCancelled=!0,(t=this.element)==null||t.classList.add("vvw--load-cancelled")}setInitialCenter(t){this.initPointerCenter=t}destroy(){var t,e;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(),(e=this.element)==null||e.remove(),this.thumb=null,this.origin=void 0,this.config={src:"",alt:""}}cloneStyleFrom(t,e){t!=null&&t.element&&(e&&(this.transitionState=e||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"))}toObject(){return structuredClone({config:{src:this.config.src,alt:this.config.alt,srcSet:this.config.srcSet},origin:this.origin?{src:this.origin.src,srcSet:this.origin.srcSet,borderRadius:this.origin.borderRadius,objectFit:this.origin.objectFit}:null,parsedSrcSet:this.parsedSrcSet,element:"src"in this.element?this.element.src:this.element.toString(),thumb:void 0,index:this.index,pos:this.pos,state:{width:this.state._width,height:this.state._height,transform:this.state._transform,translate:this.state._translate}})}setFinalTransform(t={}){const{propagateEvent:e=!0}=t;if(this.isReady){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},e){const i=this.toObject();this.vistaView.options.onContentChange&&this.vistaView.options.onContentChange(i,this.vistaView),this.vistaView.state.extensions.forEach(n=>{n.onContentChange&&n.onContentChange(i,this.vistaView)})}return{close:!0,cancel:()=>{}}}}}class O extends F{constructor(e){super(e);a(this,"element");a(this,"rect",null);a(this,"animateNormalizeTimeout",null);const i=document.createElement("img");i.alt=this.config.alt||"",i.classList.add("vvw-img-hi"),this.element=i,i.onerror=n=>{this.isLoadedRejected(n)},i.src=this.config.src,i.decode().then(()=>{this.onLoad()}).catch(n=>{this.isLoadedRejected(n)}),this.setSizes({stableSize:!1,initDimension:!0})}onWidthChange(e){super.onWidthChange(e);const i=this.getFromParsedSrcSet(e);if(i&&this.element.src!==i){const n=new Image;n.onload=()=>{n.decode().then(()=>{this.isCancelled||(this.element.src=i)})},n.src=i}}onLoad(){if(this.isCancelled)return;const e=this.element;e.width=e.naturalWidth,e.height=e.naturalHeight,this.maxW=e.naturalWidth*this.maxZoomLevel;const{width:i,height:n}=D(e);this.fullH=n,this.fullW=i,this.minW=this.fullW*.5,this.isLoadedResolved(!0)}getFullSizeDim(){return D(this.element)}normalize(){super.normalize();const e=this.element;e.style.objectFit="cover",e.style.borderRadius="0"}scaleMove(e,i,n=!1){if(!this.isReady||!this.element)return;this.rect||(this.rect=this.element.getBoundingClientRect()),i||(i=this.initPointerCenter);const s=this.rect.left+this.rect.width/2,r=this.rect.top+this.rect.height/2,l=this.initPointerCenter.x-s,h=this.initPointerCenter.y-r,f=l*(1-e),v=h*(1-e),c=i.x-this.initPointerCenter.x,u=i.y-this.initPointerCenter.y;n?x.start({vistaImage:this,target:{transform:{x:f+c,y:v+u,scale:e}},onComplete:()=>{this.setFinalTransform()},shouldWait:()=>!1}):this.state.transform={x:f+c,y:v+u,scale:e};const p=this.element.getBoundingClientRect().width*e;this.isZoomedIn=p>this.fullW,this.state.lessThanMinWidth=p<=this.minW,this.onScale({vistaImage:this,scale:p/this.fullW,isMax:p>=this.maxW,isMin:p<=this.fullW})}animateZoom(e,i){this.state.width*e<this.minW||this.scaleMove(e,i,!0)}momentumThrow(e){if(!this.isReady)return()=>{};if(!this.isThrowing)return this.setFinalTransform(),()=>{};if(Math.abs(e.x)<.1&&Math.abs(e.y)<.1){const n=this.element.getBoundingClientRect();return x.start({vistaImage:this,target:{transform:{x:n.right<window.innerWidth/2?this.state.transform.x+(window.innerWidth/2-n.right):n.left>window.innerWidth/2?this.state.transform.x-(n.left-window.innerWidth/2):this.state.transform.x,y:n.bottom<window.innerHeight/2?this.state.transform.y+(window.innerHeight/2-n.bottom):n.top>window.innerHeight/2?this.state.transform.y-(n.top-window.innerHeight/2):this.state.transform.y}},onComplete:()=>{this.isThrowing=!1,this.setFinalTransform()},shouldWait:()=>!1}),()=>{}}return requestAnimationFrame(()=>{if(!this.isThrowing)return this.momentumThrow({x:0,y:0});const i=this.element,n=this.state.transform;n.x+=e.x,n.y+=e.y;const s=i.getBoundingClientRect();n.x=n.x+e.x,n.y=n.y+e.y,s.right<window.innerWidth/2&&(n.x+=(window.innerWidth/2-s.right)*.1,e.x*=.7),s.left>window.innerWidth/2&&(n.x-=(s.left-window.innerWidth/2)*.1,e.x*=.7),s.bottom<window.innerHeight/2&&(n.y+=(window.innerHeight/2-s.bottom)*.1,e.y*=.7),s.top>window.innerHeight/2&&(n.y-=(s.top-window.innerHeight/2)*.1,e.y*=.7),this.state.transform=n,this.momentumThrow({x:e.x*.9,y:e.y*.9})}),()=>{x.stop(this),this.isThrowing=!1,this.setFinalTransform()}}animateNormalize(){this.animateNormalizeTimeout&&clearTimeout(this.animateNormalizeTimeout),this.animateNormalizeTimeout=setTimeout(()=>{x.start({vistaImage:this,target:{width:this.fullW,height:this.fullH,translate:{x:0,y:0},transform:{x:0,y:0,scale:1}},onComplete:()=>{this.setFinalTransform()},shouldWait:()=>!1})},50)}setFinalTransform(){if(!this.isReady)return;this.rect=null,super.setFinalTransform({propagateEvent:!1});const e=this.state.width<=this.minW;if(this.state.width>this.maxW)this.animateZoom(this.maxW/this.state.width);else if(!e&&this.state.width<this.fullW)this.animateNormalize();else if(this.pos===0){const i=this.toObject();this.vistaView.options.onContentChange&&this.vistaView.options.onContentChange(i,this.vistaView),this.vistaView.state.extensions.forEach(n=>{n.onContentChange&&n.onContentChange(i,this.vistaView)})}return{close:e,cancel:()=>x.stop(this)}}}class G{constructor(){a(this,"fiolast",{})}fio(t,e,i=50){const s=Date.now()-(this.fiolast[e]??0),r=()=>{this.fiolast[e]=Date.now(),t()};if(!this.fiolast[e]){r();return}s>=i&&r()}}class q{constructor(){a(this,"open",!1);a(this,"settled",!1);a(this,"closing",!1);a(this,"zoomedIn",!1);a(this,"children",{htmls:[],images:[]});a(this,"currentIndex",-1);a(this,"elmLength",0);a(this,"abortController",new AbortController);a(this,"isReducedMotion",!1);a(this,"extensions",new Set)}}function $(o){return o&&!/^0(px|%|r?em|vw|vh|vmin|vmax|cm|mm|in|pt|pc|ex|ch)?$/i.test(o.trim())&&o}function J(o){const t=o instanceof HTMLAnchorElement?o:null,e=o instanceof HTMLImageElement?o:t==null?void 0:t.querySelector("img"),i=t?getComputedStyle(t):null,n=e?getComputedStyle(e):null;let s="0px",r=n?n.objectFit:"contain";return i&&$(i.borderRadius)?s=i.borderRadius:n&&$(n.borderRadius)&&(s=n.borderRadius),{borderRadius:s,objectFit:r}}function Q(o){const t=o.split(",").map(i=>i.trim()),e=[];for(const i of t){const[n,s]=i.split(" ").map(r=>r.trim());if(n&&s&&s.endsWith("w")){const r=parseInt(s.slice(0,-1),10);isNaN(r)||e.push({src:n,width:r})}}return e}function tt(o){const t=o instanceof HTMLImageElement?o:o.querySelector("img"),e=o.dataset.vistaviewSrc||o.getAttribute("href")||o.getAttribute("src")||(t==null?void 0:t.getAttribute("src"))||"",i=o.dataset.vistaviewSrcset||o.getAttribute("srcset")||(t==null?void 0:t.getAttribute("srcset"))||"";if(!e&&!i)throw console.error("VistaView Error:",o),new Error("VistaView: Element must have href, src, or srcSet");const n=i?Q(i):void 0,s=J(o);return{config:{src:e,alt:o.dataset.vistaviewAlt||o.getAttribute("alt")||(t==null?void 0:t.getAttribute("alt"))||"",srcSet:i||void 0},parsedSrcSet:n!=null&&n.length?n:void 0,origin:{anchor:o instanceof HTMLAnchorElement?o:void 0,image:t,src:e,srcSet:i,borderRadius:s.borderRadius,objectFit:s.objectFit}}}class V{constructor({elm:t,listeners:e}){a(this,"pointers",[]);a(this,"elm");a(this,"listeners",[]);a(this,"lastPointerDownId",null);a(this,"removeLastPointer",()=>{if(this.pointers.length&&this.lastPointerDownId!==null){const t=this.pointers.findIndex(e=>e.id===this.lastPointerDownId);t!==-1&&this.pointers.splice(t,1)}});a(this,"onPointerDown",t=>{if(!this.listeners.length||t.button!==0)return;t.preventDefault(),this.lastPointerDownId=t.pointerId,window.addEventListener("contextmenu",this.removeLastPointer,{once:!0}),window.addEventListener("auxclick",this.removeLastPointer,{once:!0});let e={x:t.clientX,y:t.clientY,movementX:0,movementY:0,id:t.pointerId};this.pointers.push(e),this.listeners.forEach(i=>i({event:"down",pointer:e,pointers:this.pointers,lastPointerLen:this.pointers.length-1}))});a(this,"onPointerMove",t=>{if(!this.listeners.length)return;t.preventDefault();const e=this.pointers.find(i=>i.id===t.pointerId);e&&(e.movementX=t.movementX,e.movementY=t.movementY,e.x=t.clientX,e.y=t.clientY,this.listeners.forEach(i=>i({event:"move",pointer:e,pointers:this.pointers,lastPointerLen:this.pointers.length-1})))});a(this,"onPointerUp",t=>{if(!this.listeners.length||t.button!==0||(window.removeEventListener("contextmenu",this.removeLastPointer),window.removeEventListener("auxclick",this.removeLastPointer),t.target instanceof Node&&!this.elm.contains(t.target)&&t.target!==document.querySelector("html")&&t.target!==document))return;t.preventDefault();const e=this.pointers.findIndex(s=>s.id===t.pointerId);if(e===-1)return;const i=this.pointers[e];i.x=t.clientX,i.y=t.clientY;const n=this.pointers.length;this.pointers.splice(e,1),this.listeners.forEach(s=>s({event:"up",pointer:i,pointers:this.pointers,lastPointerLen:n}))});a(this,"onPointerCancel",t=>{if(!this.listeners.length||t.target instanceof Node&&!this.elm.contains(t.target)&&t.target!==document.querySelector("html")&&t.target!==document)return;t.preventDefault();const e=this.pointers.findIndex(s=>s.id===t.pointerId);if(e===-1)return;const i=this.pointers[e];i.x=t.clientX,i.y=t.clientY;const n=this.pointers.length;this.pointers.splice(e,1),this.listeners.forEach(s=>s({event:"cancel",pointer:i,pointers:this.pointers,lastPointerLen:n}))});this.elm=t??document,e&&(this.listeners=e),this.startListeners()}startListeners(){this.elm.addEventListener("pointerdown",this.onPointerDown),this.elm.addEventListener("pointermove",this.onPointerMove),document.addEventListener("pointerup",this.onPointerUp),document.addEventListener("pointercancel",this.onPointerCancel)}removeListeners(){this.elm.removeEventListener("pointerdown",this.onPointerDown),this.elm.removeEventListener("pointermove",this.onPointerMove),document.removeEventListener("pointerup",this.onPointerUp),document.removeEventListener("pointercancel",this.onPointerCancel),this.pointers=[]}addEventListener(t){this.listeners.push(t)}removeEventListener(t){this.listeners=this.listeners.filter(e=>e!==t)}getPointerDistance(t,e){const i=t.x-e.x,n=t.y-e.y;return Math.sqrt(i*i+n*n)}getCentroid(){if(this.pointers.length===0)return null;const t=this.pointers.reduce((e,i)=>(e.x+=i.x,e.y+=i.y,e),{x:0,y:0});return{x:t.x/this.pointers.length,y:t.y/this.pointers.length}}}class _{constructor(t){a(this,"pointers",null);a(this,"lastDistance",0);a(this,"pinchMode",!1);a(this,"lastPinchEndTime",0);a(this,"PINCH_COOLDOWN",111);a(this,"cancelMove",()=>{});a(this,"pointerListeners",[]);a(this,"vvw");a(this,"imageContainer",null);a(this,"isPinching",()=>this.pinchMode||performance.now()-this.lastPinchEndTime<this.PINCH_COOLDOWN);a(this,"internalPointerListener",t=>{const e=this.vvw.state.children.images.find(i=>i.pos===0);if(t.event==="down"){if(this.cancelMove(),this.vvw.state.zoomedIn&&t.pointers.length===1&&!this.isPinching()){const i=this.pointers.getCentroid();e.setInitialCenter(i)}if(t.pointers.length>=2){this.pinchMode=!0;const i=this.pointers.getCentroid();this.lastDistance=this.pointers.getPointerDistance(t.pointers[0],t.pointers[1]),e.setInitialCenter(i)}}else if(t.event==="move"){if(this.vvw.state.zoomedIn&&t.pointers.length===1&&t.lastPointerLen===0&&!this.isPinching()){const i=this.pointers.getCentroid();e.scaleMove(1,i)}if(t.pointers.length>=2&&this.pinchMode){const i=this.pointers.getCentroid(),n=this.pointers.getPointerDistance(t.pointers[0],t.pointers[1]);e.scaleMove(n/this.lastDistance,i)}}else if((t.event==="up"||t.event==="cancel")&&(this.pinchMode||this.vvw.state.zoomedIn))if(this.pinchMode){this.lastPinchEndTime=performance.now(),this.pinchMode=!1;const i=e.setFinalTransform();i!=null&&i.cancel&&(this.cancelMove=i.cancel),i!=null&&i.close&&requestAnimationFrame(()=>{this.vvw.close()})}else this.vvw.state.zoomedIn&&t.pointers.length===0&&!this.isPinching()&&(e.isThrowing=!0,this.cancelMove=e.momentumThrow({x:t.pointer.movementX,y:t.pointer.movementY}));this.pointerListeners.forEach(i=>i({...t,state:this.vvw.state,hasInternalExecution:this.vvw.state.zoomedIn||this.isPinching(),abortController:this.vvw.state.abortController}))});a(this,"onKeyDown",t=>{const e=this.vvw;switch(t.key){case"ArrowLeft":t.preventDefault(),e.prev();break;case"ArrowRight":t.preventDefault(),e.next();break;case"ArrowUp":t.preventDefault(),e.zoomIn();break;case"ArrowDown":t.preventDefault(),e.zoomOut();break;case"Escape":t.preventDefault(),e.close();break}});a(this,"onScroll",t=>{t.preventDefault();const e=this.vvw,i=this.vvw.state.children.images.find(s=>s.pos===0),n=t.deltaY;i.setInitialCenter({x:t.clientX,y:t.clientY}),n<0?e.zoomIn():n>0&&e.zoomOut()});a(this,"onResizeHandler",()=>{this.vvw.state.children.images.forEach(t=>{t.setSizes()})});this.vvw=t}registerPointerListener(t){this.pointerListeners.push(t)}start(t){this.vvw.options.keyboardListeners&&window.addEventListener("keydown",this.onKeyDown),this.imageContainer=t,this.imageContainer.addEventListener("wheel",this.onScroll,{passive:!1}),window.addEventListener("resize",this.onResizeHandler),this.pointers=new V({elm:t,listeners:[this.internalPointerListener]})}stop(){this.vvw.options.keyboardListeners&&window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("resize",this.onResizeHandler),this.imageContainer.removeEventListener("wheel",this.onScroll),this.pointers.removeListeners(),this.pointerListeners=[]}}const C={somethingOpened:null};class A{constructor(t,e={}){a(this,"options");a(this,"state",new q);a(this,"imageContainer",null);a(this,"externalPointerListener",[]);a(this,"elements");a(this,"eventHandlers",null);a(this,"imageSetupFunction",W);a(this,"initFunction",R);a(this,"openFunction",z);a(this,"closeFunction",T);a(this,"transitionFunction",H);a(this,"throttle",new G);a(this,"root",null);a(this,"onClickElements",t=>{t.preventDefault();const e=this.qsOrigin(this.elements),i=Array.prototype.indexOf.call(e,t.currentTarget);this.open(i)});a(this,"defaultOnClickHandler",t=>t.preventDefault());a(this,"lastSwapTime",0);a(this,"isRapidSwap",!1);a(this,"isRapidSwapRelease",0);a(this,"transitionCleanup",null);a(this,"tempDeactivatedUi",[]);a(this,"tempDeactivationRequestBy",null);a(this,"isZoomedIn",!1);var i;this.elements=t,this.options={...y,...e,controls:{...y.controls,...e.controls}},this.options.imageSetupFunction&&(this.imageSetupFunction=this.options.imageSetupFunction),this.options.closeFunction&&(this.closeFunction=this.options.closeFunction),this.options.initFunction&&(this.initFunction=this.options.initFunction),this.options.transitionFunction&&(this.transitionFunction=this.options.transitionFunction),(i=this.options.extensions)==null||i.forEach(n=>{this.state.extensions.add(n)}),this.state.isReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)").matches,this.reset(),this.initFunction(this)}reset(){if(typeof this.elements=="string"){const t=this.qsOrigin(this.elements);this.state.elmLength=t.length,t.forEach(e=>{const i=e;i.removeEventListener("click",this.defaultOnClickHandler),i.removeEventListener("pointerup",this.onClickElements),i.addEventListener("click",this.defaultOnClickHandler),i.addEventListener("pointerup",this.onClickElements)})}else this.state.elmLength=this.elements.length}qs(t){return this.root?this.root.querySelector(t):null}qsOrigin(t){return document.querySelectorAll(t)}registerPointerListener(t){this.externalPointerListener.push(t)}getChildElements(t,e){const i=[],n=[],s=typeof this.elements=="string"?this.qsOrigin(this.elements):this.elements;for(let r=-t;r<=t;r++){const l=(e+r+s.length)%s.length,h=s[l],v={elm:h instanceof HTMLElement?tt(h):{config:h,origin:void 0,parsedSrcSet:void 0},pos:r,index:l,vistaView:this,maxZoomLevel:this.options.maxZoomLevel,transitionShouldWait:()=>this.isRapidSwap,onScale:({vistaImage:p,isMin:m,isMax:w})=>{var b,E,S,L;p.index===this.state.currentIndex&&(this.state.zoomedIn=!m,m?(b=this.qs(".vvw-zoom-out"))==null||b.setAttribute("disabled","true"):(E=this.qs(".vvw-zoom-out"))==null||E.removeAttribute("disabled"),w?(S=this.qs(".vvw-zoom-in"))==null||S.setAttribute("disabled","true"):(L=this.qs(".vvw-zoom-in"))==null||L.removeAttribute("disabled"))}};let c=null;this.state.extensions.forEach(p=>{!c&&p.onInitializeImage&&(c=p.onInitializeImage(v))});const u=c??new O(v),g=document.createElement("div");g.className="vvw-item",g.dataset.vvwPos=`${r}`,g.dataset.vvwIdx=`${l}`,u.thumb&&g.appendChild(u.thumb),g.appendChild(u.element),i.push(u),n.push(g)}return{htmls:n,images:i}}async swap(t,e){var g,p;this.reactivateUi();const i=this.options.preloads||0,n=this.state.currentIndex,{htmls:s,images:r}=this.getChildElements(i,n),l=this.imageContainer,h=this.state.children,f={htmlElements:{from:h.htmls,to:s},images:{from:h.images,to:r},index:{from:t,to:this.state.currentIndex},via:e||{next:!1,prev:!1}};this.imageSetupFunction(f,this),this.state.zoomedIn=!1,(g=this.qs(".vvw-zoom-out"))==null||g.setAttribute("disabled","true"),(p=this.qs(".vvw-zoom-in"))==null||p.removeAttribute("disabled");const c=performance.now()-this.lastSwapTime<this.options.rapidLimit;this.isRapidSwap=c;const{images:u}=this.state.children;if(this.state.children={htmls:s,images:r},this.displayCurrentInfo(),c)u.forEach(m=>{m.cancelPendingLoad(),m.destroy()});else{const m=this.state.abortController.signal,w=this.transitionFunction(f,m,this);w&&(this.transitionCleanup=w.cleanup,await w.transitionEnded),this.lastSwapTime=performance.now(),u.forEach(L=>{L.cancelPendingLoad()});const b=u.find(L=>L.index===n),E=b?x.stop(b):void 0,S=r.find(L=>L.index===n);S&&b&&S.cloneStyleFrom(b,E),u.forEach(L=>{L.destroy()})}l.innerHTML="",this.transitionCleanup&&this.transitionCleanup(),s.forEach(m=>{l.appendChild(m)}),r.forEach(m=>{m.init()}),c?(this.isRapidSwapRelease&&clearTimeout(this.isRapidSwapRelease),this.isRapidSwapRelease=setTimeout(()=>{this.isRapidSwap=!1},333)):this.isRapidSwap=!1,this.options.onImageView&&this.options.onImageView(f,this),this.state.extensions.forEach(m=>{m.onImageView&&m.onImageView(f,this)})}displayCurrentInfo(){const t=this.state.currentIndex;typeof this.elements=="string"&&this.qsOrigin(this.elements).forEach((r,l)=>{r.style.opacity="",l===t&&(r.style.opacity="0")});const e=this.qs(".vvw-index"),i=`${t+1}`,n=`${this.state.elmLength}`;e&&(e.textContent=`${i} / ${n}`);const s=this.qs(".vvw-desc");if(s){const r=this.state.children.images.find(h=>h.index===t),l=(r==null?void 0:r.config.alt)||"";l?(s.textContent=l,s.setAttribute("aria-label",`Image ${i} of ${n}: ${l}`),s.style.opacity=""):(s.textContent="",s.setAttribute("aria-label",`Image ${i} of ${n}`),s.style.opacity="0")}}deactivateUi(t,e){t.forEach(i=>{var n,s;i==="zoomIn"?(n=this.qs(".vvw-zoom-in"))==null||n.setAttribute("disabled","true"):i==="zoomOut"&&((s=this.qs(".vvw-zoom-out"))==null||s.setAttribute("disabled","true")),this.tempDeactivatedUi.push(i)}),this.tempDeactivationRequestBy=e||null,this.state.extensions.forEach(i=>{i.onDeactivateUi&&i.onDeactivateUi(t,this.tempDeactivationRequestBy,this)})}reactivateUi(){this.tempDeactivatedUi.forEach(t=>{var e,i;t==="zoomIn"?(e=this.qs(".vvw-zoom-in"))==null||e.removeAttribute("disabled"):t==="zoomOut"&&((i=this.qs(".vvw-zoom-out"))==null||i.removeAttribute("disabled"))}),this.state.extensions.forEach(t=>{t.onReactivateUi&&t.onReactivateUi(this.tempDeactivatedUi,this.tempDeactivationRequestBy,this)}),this.tempDeactivatedUi=[],this.tempDeactivationRequestBy=null}open(t=0){var h,f,v,c,u,g,p;if(C.somethingOpened){console.warn("Another VistaView instance is already opened. Close it first before opening a new one.");return}C.somethingOpened=this,this.reset(),(t<0||t>=this.state.elmLength)&&(t=(t%this.state.elmLength+this.state.elmLength)%this.state.elmLength),this.state.currentIndex=t,document.body.style.overflow="hidden";const e=Y({controls:this.options.controls,extensions:this.state.extensions});if(document.body.append(e),this.root=document.body.querySelector("#vvw-root"),!this.root)throw new Error("Failed to setup VistaView root element.");this.imageContainer=this.qs(".vvw-image-container"),this.options.animationDurationBase&&this.root.style.setProperty("--vvw-anim-dur",`${this.options.animationDurationBase}`),this.options.initialZIndex!==void 0&&this.root.style.setProperty("--vvw-init-z",`${this.options.initialZIndex??0}`),this.options.arrowOnSmallScreens&&this.root.classList.add("vvw-arrow-sm");const i=this.options.preloads||0,n=t,{images:s,htmls:r}=this.getChildElements(i,n),l={htmlElements:{from:null,to:r},images:{from:null,to:s},index:{from:null,to:this.state.currentIndex},via:{next:!1,prev:!1}};this.imageSetupFunction(l,this),this.state.children={htmls:r,images:s},r.forEach(m=>{this.imageContainer.appendChild(m)}),s.forEach(m=>{m.init()}),(h=this.qs(".vvw-close"))==null||h.addEventListener("click",()=>this.close()),(f=this.qs(".vvw-zoom-in"))==null||f.addEventListener("click",()=>this.zoomIn()),(v=this.qs(".vvw-zoom-out"))==null||v.addEventListener("click",()=>this.zoomOut()),(c=this.qs(".vvw-prev>button"))==null||c.addEventListener("click",()=>this.prev()),(u=this.qs(".vvw-next>button"))==null||u.addEventListener("click",()=>this.next()),this.state.elmLength<2&&((g=this.qs(".vvw-prev"))==null||g.classList.add("vvw--hidden"),(p=this.qs(".vvw-next"))==null||p.classList.add("vvw--hidden")),this.openFunction(this),this.eventHandlers=new _(this),this.externalPointerListener.forEach(m=>{this.eventHandlers.registerPointerListener(m)}),this.eventHandlers.start(this.imageContainer),requestAnimationFrame(()=>{requestAnimationFrame(()=>{var m;(m=this.root)==null||m.addEventListener("transitionend",()=>{var w;(w=this.root)==null||w.classList.add("vvw--settled")},{once:!0}),this.root.classList.add("vvw--active"),this.displayCurrentInfo(),this.options.onOpen&&this.options.onOpen(this),this.options.onImageView&&this.options.onImageView(l,this),this.state.extensions.forEach(w=>{w.onOpen&&w.onOpen(this),w.onImageView&&w.onImageView(l,this)})})})}async close(t=!0){C.somethingOpened===this&&this.root&&(this.eventHandlers.stop(),this.eventHandlers=null,this.state.children.images.forEach(e=>{e.prepareClose()}),t?await new Promise(e=>{let n=0;this.root.addEventListener("transitionend",s=>{s.target===this.root&&(n++,n===2&&typeof this.elements=="string"&&(this.state.children.images.forEach(r=>{r.destroy()}),this.qsOrigin(this.elements).forEach(r=>{r.style.opacity=""})),n===3&&e(null))}),this.root.classList.add("vvw--closing")}):typeof this.elements=="string"&&(this.state.children.images.forEach(e=>{e.destroy()}),this.qsOrigin(this.elements).forEach(e=>{e.style.opacity=""})),this.root.remove(),this.root=null,this.imageContainer=null,this.state.children={htmls:[],images:[]},this.state.currentIndex=-1,this.state.children.images.forEach(e=>{e.destroy()}),document.body.style.overflow="",C.somethingOpened=null,this.closeFunction(this),this.options.onClose&&this.options.onClose(this),this.state.extensions.forEach(e=>{e.onClose&&e.onClose(this)}))}destroy(){this.close(!1),this.externalPointerListener=[],typeof this.elements=="string"&&this.qsOrigin(this.elements).forEach(t=>{t.removeAttribute("data-vista-idx"),t.removeEventListener("click",this.defaultOnClickHandler),t.removeEventListener("pointerup",this.onClickElements)})}next(){if(C.somethingOpened!==this){console.warn("This VistaView instance is not opened.");return}const t=(this.state.currentIndex+1)%this.state.elmLength;this.view(t,{next:!0,prev:!1})}prev(){if(C.somethingOpened!==this){console.warn("This VistaView instance is not opened.");return}const t=(this.state.currentIndex-1+this.state.elmLength)%this.state.elmLength;this.view(t,{next:!1,prev:!0})}view(t,e){if(C.somethingOpened!==this){console.warn("This VistaView instance is not opened.");return}if(this.state.elmLength<2)return;(t<0||t>=this.state.elmLength)&&(t=(t%this.state.elmLength+this.state.elmLength)%this.state.elmLength);const i=this.state.currentIndex;this.state.currentIndex=t;const n=this.state.abortController;n==null||n.abort(),this.state.abortController=new AbortController,this.swap(i,e)}zoomIn(){if(C.somethingOpened!==this){console.warn("This VistaView instance is not opened.");return}this.tempDeactivatedUi.includes("zoomIn")||this.throttle.fio(()=>{const t=this.state.children.images.find(e=>e.pos===0);t==null||t.animateZoom(1.68)},"zoom",222)}zoomOut(){if(C.somethingOpened!==this){console.warn("This VistaView instance is not opened.");return}this.tempDeactivatedUi.includes("zoomOut")||this.throttle.fio(()=>{const t=this.state.children.images.find(e=>e.pos===0);t==null||t.animateZoom(.68)},"zoom",222)}getCurrentIndex(){return this.state.currentIndex}}function et(o){let t=null;if(typeof o=="string"){if(t=document.querySelectorAll(o),t.length===0)return new Error("No elements found in node list.").toString();for(let e=0;e<t.length;e++){const i=t[e],n=i.tagName.toLowerCase();if(n!=="img"&&n!=="a")return new Error(`Invalid element at index ${e}: expected <img>, <a>, got <${n}>`);if(n==="a"&&!(i.querySelector("img")!==null))return new Error(`Invalid <a> element at index ${e}: must contain <img>`)}}else{const e=o;for(let i=0;i<e.length;i++)if(!e[i].src)return new Error(`Invalid image data at index ${i}: must have 'src'`)}return o}function it({elements:o,...t}){if(!o)return console.error(o),console.error("no elements provided"),console.warn("VistaView: silently returning."),null;let e=et(o);if(e instanceof Error)return console.error(e),console.warn("VistaView: silently returning."),null;const i=new A(e,t);return{open:(n=0)=>i.open(n),reset:()=>i.reset(),close:()=>i.close(),next:()=>i.next(),prev:()=>i.prev(),zoomIn:()=>i.zoomIn(),zoomOut:()=>i.zoomOut(),destroy:()=>i.destroy(),getCurrentIndex:()=>i.getCurrentIndex(),view:n=>{i.view(n)}}}d.DefaultOptions=y,d.VistaBox=F,d.VistaHiresTransition=x,d.VistaImage=O,d.VistaImageEvent=_,d.VistaPointers=V,d.VistaState=q,d.VistaView=A,d.close=T,d.imageSetup=W,d.init=R,d.open=z,d.transition=H,d.vistaView=it,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
package/dist/vue.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import { PropType } from 'vue';
2
- import { VistaParams, VistaInterface, VistaOpt } from './vistaview';
3
- export declare function useVistaView(options: VistaParams): VistaInterface;
4
- export interface VistaViewProps {
5
- selector?: string;
6
- options?: VistaOpt;
7
- }
8
- export declare const VistaView: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
9
- selector: {
10
- type: StringConstructor;
11
- default: string;
12
- };
13
- options: PropType<VistaOpt>;
14
- }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
15
- [key: string]: any;
16
- }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
17
- selector: {
18
- type: StringConstructor;
19
- default: string;
20
- };
21
- options: PropType<VistaOpt>;
22
- }>> & Readonly<{}>, {
23
- selector: string;
24
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
- //# sourceMappingURL=vue.d.ts.map
package/dist/vue.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE5F,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEzE,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAiCjE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,SAAS;;;;;aAQC,QAAQ,CAAC,QAAQ,CAAC;;;;;;;;aAAlB,QAAQ,CAAC,QAAQ,CAAC;;;4EAkDvC,CAAC"}
package/dist/vue.js DELETED
@@ -1,79 +0,0 @@
1
- import { defineComponent as V, ref as f, onMounted as y, watch as w, onUnmounted as g, h as p } from "vue";
2
- import { vistaView as l } from "./vistaview.js";
3
- function I(r) {
4
- let e = null;
5
- return y(() => {
6
- e = l(r);
7
- }), w(
8
- () => r,
9
- () => {
10
- e == null || e.destroy(), e = l(r);
11
- },
12
- { deep: !0 }
13
- ), g(() => {
14
- e == null || e.destroy(), e = null;
15
- }), {
16
- open: (u) => e == null ? void 0 : e.open(u),
17
- close: () => (e == null ? void 0 : e.close()) ?? Promise.resolve(),
18
- reset: () => e == null ? void 0 : e.reset(),
19
- next: () => e == null ? void 0 : e.next(),
20
- prev: () => e == null ? void 0 : e.prev(),
21
- zoomIn: () => e == null ? void 0 : e.zoomIn(),
22
- zoomOut: () => e == null ? void 0 : e.zoomOut(),
23
- getCurrentIndex: () => (e == null ? void 0 : e.getCurrentIndex()) ?? -1,
24
- view: (u) => e == null ? void 0 : e.view(u),
25
- destroy: () => e == null ? void 0 : e.destroy()
26
- };
27
- }
28
- const $ = V({
29
- name: "VistaView",
30
- inheritAttrs: !1,
31
- props: {
32
- selector: {
33
- type: String,
34
- default: "> a"
35
- },
36
- options: Object
37
- },
38
- setup(r, { slots: e, expose: u, attrs: v }) {
39
- const m = f(null), t = f(null), d = v.id || `vvw-gallery-${Math.random().toString(36).substr(2, 9)}`;
40
- return y(() => {
41
- m.value && (t.value = l({
42
- ...r.options,
43
- elements: `#${d} ${r.selector}`
44
- }));
45
- }), w(
46
- () => [r.options, r.selector, e.default],
47
- () => {
48
- var o;
49
- (o = t.value) == null || o.destroy(), t.value = l({
50
- ...r.options,
51
- elements: `#${d} ${r.selector}`
52
- });
53
- },
54
- { deep: !0 }
55
- ), g(() => {
56
- var o;
57
- (o = t.value) == null || o.destroy(), t.value = null;
58
- }), u({
59
- get instance() {
60
- return t.value;
61
- }
62
- }), () => {
63
- var o;
64
- return p(
65
- "div",
66
- {
67
- ref: m,
68
- ...v,
69
- id: d
70
- },
71
- (o = e.default) == null ? void 0 : o.call(e)
72
- );
73
- };
74
- }
75
- });
76
- export {
77
- $ as VistaView,
78
- I as useVistaView
79
- };