@covet-pics/covet-pics-widget 0.167.4 → 0.167.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/covet-pics-crop-text.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-direct-buy_7.cjs.entry.js +2 -2
- package/dist/cjs/covet-pics-gallery-grid_3.cjs.entry.js +75 -12
- package/dist/cjs/covet-pics-gallery-header_6.cjs.entry.js +20 -8
- package/dist/cjs/covet-pics-highlighted-hotspots_2.cjs.entry.js +38 -10
- package/dist/cjs/covet-pics-popup-freeflow-carousel_2.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-post.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-star-rating.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-widget.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-widget.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-D6jnnS7Q.js → utils-0FQ28Vfg.js} +5 -0
- package/dist/collection/components/covet-pics-gallery-grid/covet-pics-gallery-grid.js +28 -4
- package/dist/collection/components/covet-pics-gallery-item/covet-pics-gallery-item.js +9 -3
- package/dist/collection/components/covet-pics-gallery-item-detail/covet-pics-gallery-item-detail.js +10 -4
- package/dist/collection/components/covet-pics-gallery-slider/covet-pics-gallery-slider.js +34 -7
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted-page.js +38 -9
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted.js +35 -3
- package/dist/collection/components/covet-pics-popup-links/covet-gallery-popup-links.css +2 -1
- package/dist/collection/utils/utils.js +4 -0
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-46b2512c.entry.js → p-309600e2.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-5d9ddd55.entry.js → p-40055ed4.entry.js} +3 -3
- package/dist/covet-pics-widget/{p-fefed130.entry.js → p-49fe4508.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-aceb8cc8.entry.js → p-5624938d.entry.js} +1 -1
- package/dist/covet-pics-widget/p-802afafc.entry.js +28 -0
- package/dist/covet-pics-widget/p-8e246791.entry.js +4 -0
- package/dist/covet-pics-widget/{p-CADUxYKc.js → p-BODOgEuN.js} +1 -1
- package/dist/covet-pics-widget/{p-b83ceda6.entry.js → p-b6eb92eb.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-4a786875.entry.js → p-cb32cd08.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-343a9287.entry.js → p-f94cd032.entry.js} +1 -1
- package/dist/esm/covet-pics-crop-text.entry.js +1 -1
- package/dist/esm/covet-pics-direct-buy_7.entry.js +2 -2
- package/dist/esm/covet-pics-gallery-grid_3.entry.js +75 -12
- package/dist/esm/covet-pics-gallery-header_6.entry.js +20 -8
- package/dist/esm/covet-pics-highlighted-hotspots_2.entry.js +38 -10
- package/dist/esm/covet-pics-popup-freeflow-carousel_2.entry.js +1 -1
- package/dist/esm/covet-pics-post.entry.js +1 -1
- package/dist/esm/covet-pics-star-rating.entry.js +1 -1
- package/dist/esm/covet-pics-widget.entry.js +1 -1
- package/dist/esm/covet-pics-widget.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-CADUxYKc.js → utils-BODOgEuN.js} +5 -1
- package/dist/types/components/covet-pics-gallery-grid/covet-pics-gallery-grid.d.ts +5 -1
- package/dist/types/components/covet-pics-gallery-slider/covet-pics-gallery-slider.d.ts +5 -0
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted-page.d.ts +5 -0
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted.d.ts +5 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/package.json +1 -1
- package/dist/covet-pics-widget/p-1fd39db4.entry.js +0 -28
- package/dist/covet-pics-widget/p-2d979ee6.entry.js +0 -4
|
@@ -5,6 +5,7 @@ import { h, Host, Fragment } from "@stencil/core";
|
|
|
5
5
|
import Swiper from "swiper";
|
|
6
6
|
import { Navigation, Pagination, EffectFade, A11y } from "swiper/modules";
|
|
7
7
|
import { format } from "timeago.js";
|
|
8
|
+
import { buildEvent } from "../../utils/utils";
|
|
8
9
|
import { getUseAnalytics } from "../../store/getters";
|
|
9
10
|
import { sendToGoogleAnalytics } from "../../utils/utils";
|
|
10
11
|
import { sendBeacon } from "../../store/storeUtils";
|
|
@@ -43,6 +44,7 @@ export class CovetPicsHighlightedPage {
|
|
|
43
44
|
* active page index in slider layout (main slider)
|
|
44
45
|
*/
|
|
45
46
|
this.mainSliderIndex = 0;
|
|
47
|
+
this.isPageLoaded = false;
|
|
46
48
|
this.hideHotspots = false;
|
|
47
49
|
/**
|
|
48
50
|
* additional product slider
|
|
@@ -64,7 +66,20 @@ export class CovetPicsHighlightedPage {
|
|
|
64
66
|
e.currentTarget.parentNode.setAttribute("not-loaded", "");
|
|
65
67
|
e.currentTarget.removeAttribute("src");
|
|
66
68
|
}
|
|
67
|
-
|
|
69
|
+
e.currentTarget.parentNode.removeAttribute("is-loading");
|
|
70
|
+
if (!this.isPageLoaded) {
|
|
71
|
+
this.checkIsPageLoaded();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
this.mediaLoadedHandler = (e) => {
|
|
75
|
+
if (e.type === "error") {
|
|
76
|
+
e.currentTarget.closest(".thumbnail").setAttribute("not-loaded", "");
|
|
77
|
+
e.currentTarget.removeAttribute("src");
|
|
78
|
+
}
|
|
79
|
+
e.currentTarget.closest(".thumbnail").removeAttribute("is-loading");
|
|
80
|
+
if (!this.isPageLoaded) {
|
|
81
|
+
this.checkIsPageLoaded();
|
|
82
|
+
}
|
|
68
83
|
};
|
|
69
84
|
this.btnBuyClickHandler = (e) => {
|
|
70
85
|
return e.currentTarget.previousSibling.click();
|
|
@@ -99,6 +114,9 @@ export class CovetPicsHighlightedPage {
|
|
|
99
114
|
componentWillLoad() {
|
|
100
115
|
this.initStore();
|
|
101
116
|
}
|
|
117
|
+
componentDidRender() {
|
|
118
|
+
this.checkIsPageLoaded();
|
|
119
|
+
}
|
|
102
120
|
componentDidLoad() {
|
|
103
121
|
// lazy init for product slider inside slider layout (main slider)
|
|
104
122
|
if (this.pageIndex - 2 < this.mainSliderIndex && this.layout !== "row")
|
|
@@ -383,6 +401,16 @@ export class CovetPicsHighlightedPage {
|
|
|
383
401
|
? this.hideHotspots = false
|
|
384
402
|
: this.hideHotspots = true;
|
|
385
403
|
}
|
|
404
|
+
checkIsPageLoaded() {
|
|
405
|
+
if (this.isMediaLoaded()) {
|
|
406
|
+
this.isPageLoaded = true;
|
|
407
|
+
this.el.setAttribute("data-loaded", "true");
|
|
408
|
+
this.el.dispatchEvent(buildEvent("pageLoaded"));
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
isMediaLoaded() {
|
|
412
|
+
return !this.el.querySelector('.thumbnail[is-loading], .product .swiper-slide:not([aria-hidden="true"]) .img-wrap[is-loading]');
|
|
413
|
+
}
|
|
386
414
|
carouselImgAltTag(altTag, thumbnailAlt, idx, itemsLength) {
|
|
387
415
|
if (altTag && altTag !== null)
|
|
388
416
|
return altTag;
|
|
@@ -410,20 +438,21 @@ export class CovetPicsHighlightedPage {
|
|
|
410
438
|
const starOnly = this.caption === null && this.thumbnailLayout === "text";
|
|
411
439
|
const showReview = !hideCaption && ((this.appState.settings.show_review && this.thumbnailLayout !== "text") || this.thumbnailLayout === "text");
|
|
412
440
|
const showHotspotsInLayout = this.layout === "row" ? true : this.appState.settings.hotspots.enabled;
|
|
413
|
-
return (h("div", { class: `thumbnail ${this.layout} ${this.reverseClass} ${this.productsLayout}`, "is-loading": this.thumbnailLayout === "image" }, this.thumbnailLayout === "image" &&
|
|
441
|
+
return (h("div", { class: `thumbnail ${this.layout} ${this.reverseClass} ${this.productsLayout}`, "is-loading": this.thumbnailLayout === "image" || this.thumbnailLayout === "video" }, this.thumbnailLayout === "image" &&
|
|
414
442
|
h("img", { alt: this.thumbnailAlt, class: "img-cover", onLoad: this.imageLoadedHandler, onError: this.imageLoadedHandler, src: this.pageIndex - 2 < this.mainSliderIndex ? this.thumbnailUrl : null }), this.thumbnailLayout === "video" &&
|
|
415
|
-
h("div", { class: "thumbnail-video-wrap" }, h("video", { playsinline: true, loop: true, class: "thumbnail-video img-contain", poster: this.videoPoster, title: this.thumbnailAlt }, h("source", { src: this.videoUrl, type: "video/mp4" })), h("button", { type: "button", class: "thumbnail-video-play", onClick: this.playPauseVideoClickHandler }), h("button", { type: "button", class: "thumbnail-video-pause", onClick: this.playPauseVideoClickHandler })), showReview && this.renderReview(), starOnly && this.renderStarOnlyReview(), showHotspotsInLayout && this.layout !== "spotlight" &&
|
|
443
|
+
h("div", { class: "thumbnail-video-wrap" }, h("video", { playsinline: true, loop: true, class: "thumbnail-video img-contain", onCanPlay: this.mediaLoadedHandler, poster: this.videoPoster, title: this.thumbnailAlt }, h("source", { src: this.videoUrl, type: "video/mp4", onError: this.mediaLoadedHandler })), h("button", { type: "button", class: "thumbnail-video-play", onClick: this.playPauseVideoClickHandler }), h("button", { type: "button", class: "thumbnail-video-pause", onClick: this.playPauseVideoClickHandler })), showReview && this.renderReview(), starOnly && this.renderStarOnlyReview(), showHotspotsInLayout && this.layout !== "spotlight" &&
|
|
416
444
|
h("covet-pics-highlighted-hotspots", { links: this.productLinks, hoverHotspot: this.hoverHotspot, activeHotspot: this.activeProductIndex, thumbnailUrl: this.thumbnailUrl, isMobile: this.isMobile, productBaseImgAlt: this.productBaseImgAlt, pageId: this.pageId, appStore: this.appStore }), !this.appState.settings.hide_branding &&
|
|
417
445
|
h("a", { class: "covet-branding", href: `https://apps.shopify.com/covet-pics?utm_source=embed&utm_medium=highlight&utm_campaign=${location.host}`, target: "_blank", rel: "noopener", tabindex: "0", "aria-label": "Covet.pics logo link" })));
|
|
418
446
|
}
|
|
419
447
|
renderCarouselThumbnail() {
|
|
448
|
+
var _a;
|
|
420
449
|
const hideCaption = this.caption === null || this.caption.length === 0;
|
|
421
450
|
const showReview = !hideCaption && this.appState.settings.show_review && this.thumbnailLayout !== "text";
|
|
422
451
|
const showHotspotsInLayout = this.layout === "row" ? true : this.appState.settings.hotspots.enabled;
|
|
423
452
|
const showHotposts = showHotspotsInLayout && !this.hideHotspots && this.layout !== "spotlight";
|
|
424
|
-
return (h("div", { class: `thumbnail ${this.layout} ${this.reverseClass} ${this.productsLayout}
|
|
425
|
-
h("div", { class: "thumbnail-slide-wrap" }, h("img", { src: item.standard_resolution, alt: this.carouselImgAltTag(item.alt_tag, this.thumbnailAlt, idx, this.thumbnailCarouselImages.length), class: "img-cover", loading: "lazy" })), item.type === "video" &&
|
|
426
|
-
h("div", { class: "thumbnail-video-wrap" }, h("video", { playsinline: true, loop: true, class: "thumbnail-video img-contain" }, h("source", { src: item.standard_resolution, type: "video/mp4" })), h("button", { type: "button", class: "thumbnail-video-play", onClick: this.playPauseVideoClickHandler }), h("button", { type: "button", class: "thumbnail-video-pause", onClick: this.playPauseVideoClickHandler })))), showReview && this.renderReview())), showHotposts &&
|
|
453
|
+
return (h("div", { class: `thumbnail ${this.layout} ${this.reverseClass} ${this.productsLayout}`, "is-loading": ["image", "video"].includes((_a = this.thumbnailCarouselImages[0]) === null || _a === void 0 ? void 0 : _a.type) }, h("div", { class: "thumbnail-carousel swiper", role: "region" }, h("div", { class: "swiper-wrapper" }, this.thumbnailCarouselImages && this.thumbnailCarouselImages.map((item, idx) => h("div", { class: "swiper-slide" }, item.type === "image" &&
|
|
454
|
+
h("div", { class: "thumbnail-slide-wrap" }, h("img", { src: item.standard_resolution, alt: this.carouselImgAltTag(item.alt_tag, this.thumbnailAlt, idx, this.thumbnailCarouselImages.length), onLoad: this.mediaLoadedHandler, onError: this.mediaLoadedHandler, class: "img-cover", loading: "lazy" })), item.type === "video" &&
|
|
455
|
+
h("div", { class: "thumbnail-video-wrap" }, h("video", { playsinline: true, loop: true, class: "thumbnail-video img-contain", onCanPlay: this.mediaLoadedHandler }, h("source", { src: item.standard_resolution, type: "video/mp4", onError: this.mediaLoadedHandler })), h("button", { type: "button", class: "thumbnail-video-play", onClick: this.playPauseVideoClickHandler }), h("button", { type: "button", class: "thumbnail-video-pause", onClick: this.playPauseVideoClickHandler })))), showReview && this.renderReview())), showHotposts &&
|
|
427
456
|
h("covet-pics-highlighted-hotspots", { links: this.productLinks, hoverHotspot: this.hoverHotspot, activeHotspot: this.activeProductIndex, thumbnailUrl: this.thumbnailUrl, productBaseImgAlt: this.productBaseImgAlt, isMobile: this.isMobile, pageId: this.pageId, appStore: this.appStore }), h("div", { class: "thumbnail-pagination" }), !this.appState.settings.hide_branding &&
|
|
428
457
|
h("a", { class: "covet-branding", href: `https://apps.shopify.com/covet-pics?utm_source=embed&utm_medium=highlight&utm_campaign=${location.host}`, target: "_blank", rel: "noopener", tabindex: "0", "aria-label": "Covet.pics logo link" })));
|
|
429
458
|
}
|
|
@@ -488,9 +517,9 @@ export class CovetPicsHighlightedPage {
|
|
|
488
517
|
h("p", { class: `price mobile ${this.productsLayout} ${this.reverseClass}`, innerHTML: link.prices.price_label })), h("button", { class: `btn-buy mobile ${this.productsLayout} ${this.reverseClass}`, onClick: this.btnBuyClickHandler, "aria-label": this.appState.settings.popup_products_button_caption, type: "button" }, this.appState.settings.popup_products_button_caption))))))));
|
|
489
518
|
}
|
|
490
519
|
render() {
|
|
491
|
-
return (h(Host, { key: '
|
|
492
|
-
h("div", { key: '
|
|
493
|
-
h("div", { key: '
|
|
520
|
+
return (h(Host, { key: '166af67677f5cd939e56c226419007d0ae65b239', class: "page", role: "group", "aria-label": this.ariaLabel }, this.thumbnailLayout === "carousel" ? this.renderCarouselThumbnail() : this.renderStandardThumbnail(), this.layout !== "row" && !this.isMobile &&
|
|
521
|
+
h("div", { key: '2d7749bc616e66469245d25cc95223c1a68ba57b', class: `products ${this.layout} ${this.productsLayout} ${this.reverseClass}` }, this.productsLayout === "layout-2" ? this.renderBottomSlider() : this.renderSlider()), this.isMobile &&
|
|
522
|
+
h("div", { key: '792b599da4cd15b94083bbdf3cce221c5f3abf05', class: `products ${this.layout} ${this.productsLayout} ${this.reverseClass}` }, this.renderMobileSlider())));
|
|
494
523
|
}
|
|
495
524
|
static get is() { return "covet-pics-highlighted-page"; }
|
|
496
525
|
static get originalStyleUrls() {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright by Space Squirrel Ltd.
|
|
3
3
|
*/
|
|
4
4
|
import { h, Host } from "@stencil/core";
|
|
5
|
-
import { getDateFromTimestamp, getRandomId, getSize } from "../../utils/utils";
|
|
5
|
+
import { buildEvent, getDateFromTimestamp, getRandomId, getSize, isElInViewport } from "../../utils/utils";
|
|
6
6
|
export class CovetPicsHighlighted {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
@@ -16,6 +16,7 @@ export class CovetPicsHighlighted {
|
|
|
16
16
|
this.productLinks = [];
|
|
17
17
|
this.mainSliderIndex = 0;
|
|
18
18
|
this.mainSliderAnimatingSlides = [];
|
|
19
|
+
this.isGalleryLoaded = false;
|
|
19
20
|
this.nextTick = (fn) => {
|
|
20
21
|
window.requestAnimationFrame(() => {
|
|
21
22
|
window.requestAnimationFrame(fn);
|
|
@@ -38,6 +39,9 @@ export class CovetPicsHighlighted {
|
|
|
38
39
|
return this.mainSliderIndex;
|
|
39
40
|
};
|
|
40
41
|
}
|
|
42
|
+
handleItemLoaded() {
|
|
43
|
+
this.checkIsGalleryLoaded();
|
|
44
|
+
}
|
|
41
45
|
componentWillLoad() {
|
|
42
46
|
this.initStore();
|
|
43
47
|
this.pageSliderId = `covet-pics-highlighted-page-slider-${getRandomId(16)}`;
|
|
@@ -45,6 +49,7 @@ export class CovetPicsHighlighted {
|
|
|
45
49
|
componentDidLoad() {
|
|
46
50
|
if (this.layout === "slider" || this.layout === "spotlight")
|
|
47
51
|
this.initMainSlider();
|
|
52
|
+
this.checkIsGalleryLoaded();
|
|
48
53
|
}
|
|
49
54
|
componentDidRender() {
|
|
50
55
|
document.onkeydown = (e) => this.onSliderClickHandler(e);
|
|
@@ -117,6 +122,24 @@ export class CovetPicsHighlighted {
|
|
|
117
122
|
this.mainSliderAnimationLoop();
|
|
118
123
|
return showIntro();
|
|
119
124
|
}
|
|
125
|
+
checkIsGalleryLoaded() {
|
|
126
|
+
if (!this.isGalleryLoaded && this.isAllVisiblePagesLoaded()) {
|
|
127
|
+
this.isGalleryLoaded = true;
|
|
128
|
+
return this.emitGalleryLoadedEvent();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
isAllVisiblePagesLoaded() {
|
|
132
|
+
const pages = Array.from(this.el.querySelectorAll("covet-pics-highlighted-page"));
|
|
133
|
+
const pagesVisibleInViewport = this.layout === "slider" || this.layout === "spotlight"
|
|
134
|
+
? pages.slice(0, 1)
|
|
135
|
+
: pages.filter(el => isElInViewport(el));
|
|
136
|
+
const visiblePageNotLoaded = pagesVisibleInViewport.filter(el => !el.hasAttribute("data-loaded"));
|
|
137
|
+
return visiblePageNotLoaded.length === 0;
|
|
138
|
+
}
|
|
139
|
+
emitGalleryLoadedEvent() {
|
|
140
|
+
const galleryLoadedEvent = buildEvent("galleryLoaded:covetPics", { galleryId: this.appState.widgetId.galleryId, itemsCount: this.items.length });
|
|
141
|
+
document.dispatchEvent(galleryLoadedEvent);
|
|
142
|
+
}
|
|
120
143
|
thumbnailAltTag(itemType, altTag, caption, idx, itemsLength, createdTime) {
|
|
121
144
|
if (itemType === "video")
|
|
122
145
|
return altTag; // for video always show altTag even if null (video the title will be hidden)
|
|
@@ -235,8 +258,8 @@ export class CovetPicsHighlighted {
|
|
|
235
258
|
render() {
|
|
236
259
|
const showPagination = ((this.layout === "slider" && !this.isDesktopScreen) || this.layout === "spotlight")
|
|
237
260
|
&& this.items && this.items.length > 1;
|
|
238
|
-
return (h(Host, { key: '
|
|
239
|
-
h("span", { key: '
|
|
261
|
+
return (h(Host, { key: '8816ba295356e8e35ea126fff52633cd037c6aa4', class: this.layout, style: this.setCSSVariables(), onClick: (e) => !this.isDesktopScreen && this.layout === "row" ? this.isClickOutsideHotspot(e) : null, role: "region", "aria-label": "Page gallery", "aria-roledescription": `Gallery ${this.items.length} posts` }, this.renderMainLayout(), showPagination &&
|
|
262
|
+
h("span", { key: '243a5578019ac2010048f237435dc37b9e94b3fb', class: "page-pagination" }, `${this.mainSliderIndex + 1}/${this.items.length}`)));
|
|
240
263
|
}
|
|
241
264
|
static get is() { return "covet-pics-highlighted"; }
|
|
242
265
|
static get originalStyleUrls() {
|
|
@@ -331,4 +354,13 @@ export class CovetPicsHighlighted {
|
|
|
331
354
|
};
|
|
332
355
|
}
|
|
333
356
|
static get elementRef() { return "el"; }
|
|
357
|
+
static get listeners() {
|
|
358
|
+
return [{
|
|
359
|
+
"name": "pageLoaded",
|
|
360
|
+
"method": "handleItemLoaded",
|
|
361
|
+
"target": undefined,
|
|
362
|
+
"capture": false,
|
|
363
|
+
"passive": false
|
|
364
|
+
}];
|
|
365
|
+
}
|
|
334
366
|
}
|
|
@@ -147,6 +147,10 @@ export function getRandomId(size = 16) {
|
|
|
147
147
|
const randomChar = () => Math.round(16 * Math.random()).toString(16);
|
|
148
148
|
return "x".repeat(size).replace(/x/g, randomChar);
|
|
149
149
|
}
|
|
150
|
+
export function isElInViewport(el) {
|
|
151
|
+
const { top, bottom, left, right } = el.getBoundingClientRect();
|
|
152
|
+
return (top < window.innerHeight && left < window.innerWidth && bottom > 0 && right > 0);
|
|
153
|
+
}
|
|
150
154
|
export const BASE_API_URLS = {
|
|
151
155
|
"production": "https://app.covet.pics",
|
|
152
156
|
"development": "http://localhost:3000",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright by Space Squirrel Ltd.
|
|
3
3
|
*/
|
|
4
|
-
import{p as e,b as t}from"./p-C-mGosc6.js";export{s as setNonce}from"./p-C-mGosc6.js";import{g as i}from"./p-CWiAxP5O.js";(()=>{const t=import.meta.url,i={};return""!==t&&(i.resourcesUrl=new URL(".",t).href),e(i)})().then((async e=>(await i(),t([["p-
|
|
4
|
+
import{p as e,b as t}from"./p-C-mGosc6.js";export{s as setNonce}from"./p-C-mGosc6.js";import{g as i}from"./p-CWiAxP5O.js";(()=>{const t=import.meta.url,i={};return""!==t&&(i.resourcesUrl=new URL(".",t).href),e(i)})().then((async e=>(await i(),t([["p-49fe4508",[[1,"covet-pics-post",{postId:[2,"post-id"],environment:[1],item:[32],fetchingError:[32]}]]],["p-5624938d",[[0,"covet-pics-crop-text",{text:[1],textClass:[1,"text-class"],textColor:[1,"text-color"],ratio:[16],cropCSS:[32]}]]],["p-cb32cd08",[[1,"covet-pics-star-rating",{rating:[2],ratingCount:[2,"rating-count"],starColor:[1,"star-color"],emptyStarColor:[1,"empty-star-color"],starBorderColor:[1,"star-border-color"],starBorderWidth:[2,"star-border-width"],starSize:[2,"star-size"],spaceStars:[2,"space-stars"],spaceStarsText:[2,"space-stars-text"],showLabel:[4,"show-label"],label:[1]}]]],["p-8e246791",[[0,"covet-pics-highlighted-page",{thumbnailUrl:[1,"thumbnail-url"],thumbnailAlt:[1,"thumbnail-alt"],ariaLabel:[1,"aria-label"],thumbnailLayout:[1,"thumbnail-layout"],videoUrl:[1,"video-url"],videoPoster:[1,"video-poster"],thumbnailCarouselImages:[16,"thumbnail-carousel-images"],productLinks:[16,"product-links"],productBaseImgAlt:[1,"product-base-img-alt"],reverseClass:[1,"reverse-class"],isMobile:[4,"is-mobile"],pageIndex:[2,"page-index"],caption:[1],rating:[2],createdTime:[1,"created-time"],userName:[1,"user-name"],mainSliderIndex:[2,"main-slider-index"],pageId:[2,"page-id"],appStore:[16,"app-store"],hideHotspots:[32],activeProductIndex:[32],hoverHotspot:[32]},[[0,"changeActiveHotspot","onChangeActiveHotspot"]]],[0,"covet-pics-highlighted-hotspots",{links:[16],activeHotspot:[2,"active-hotspot"],thumbnailUrl:[1,"thumbnail-url"],hoverHotspot:[2,"hover-hotspot"],isMobile:[4,"is-mobile"],productBaseImgAlt:[1,"product-base-img-alt"],pageId:[2,"page-id"],appStore:[16,"app-store"]},null,{thumbnailUrl:["refreshHotspot"],activeHotspot:["activeHotspotHandler"]}]]],["p-b6eb92eb",[[0,"covet-pics-popup-freeflow-carousel",{item:[16],isEnabled:[4,"is-enabled"],dataLoaded:[1,"data-loaded"],sliderIndex:[32],videoPlay:[64],videoPause:[64],videoSoundOn:[64],videoSoundOff:[64],pauseAllVideos:[64]},null,{isEnabled:["enableSlider"],dataLoaded:["lazyLoadMedia"],sliderIndex:["updateSliderIndex"]}],[1,"covet-pics-popup-freeflow-links",{links:[16],itemCreatedTime:[1,"item-created-time"],isSliderEnabled:[4,"is-slider-enabled"]},null,{isSliderEnabled:["enableSlider"]}]]],["p-f94cd032",[[0,"covet-pics-popup-slide",{item:[16],showCaption:[4,"show-caption"],showStarRating:[4,"show-star-rating"],dataLoaded:[32],isPlaying:[32],isMuted:[32],carouselIndex:[32],videoProgress:[32],showCarouselVideoControls:[32],loadMedia:[64],videoPlay:[64],videoPause:[64],videoSoundOff:[64],videoSoundOn:[64]}],[1,"covet-pics-direct-buy",{product:[8],moneyFormat:[1,"money-format"],appStore:[16,"app-store"],selectedOptions:[32],settings:[32]}],[0,"covet-pics-hotspots",{links:[16],backgroundColor:[1,"background-color"],textColor:[1,"text-color"],showNumbers:[4,"show-numbers"]},[[0,"linkInactivate","linkInactivateHandler"],[0,"linkActivate","linkActivateHandler"]]],[0,"covet-pics-popup-links",{links:[16],greyBorderClass:[1,"grey-border-class"],itemCreatedTime:[1,"item-created-time"],appStore:[16,"app-store"],settings:[32]}],[0,"covet-pics-popup-review",{rating:[2],caption:[1],username:[1],itemType:[1,"item-type"],verified:[4],createdTime:[1,"created-time"],reviewCSS:[32]},null,{caption:["watchPropHandler"]}],[0,"covet-pics-popup-shared-links",{item:[16],galleryEmbedId:[2,"gallery-embed-id"],showShareLink:[32],copyLinkCopied:[32]}],[0,"covet-pics-popup-slider",{item:[16],getSwiperState:[64]}]]],["p-40055ed4",[[0,"covet-pics-gallery-header",{rating:[2],productTitle:[1,"product-title"],breakdown:[16],appStore:[16,"app-store"],showBreakdownDropdown:[32],showSortDropdown:[32],isDesktopScreen:[32]}],[1,"covet-pics-popup",{appStore:[16,"app-store"],item:[32],product:[32],directBuyIsOpen:[32],popupTabIndex:[32],settings:[32],isPreviousEnable:[32],isNextEnable:[32],openPopup:[64],closePopup:[64]},[[4,"addToCart:covetPics","addToCartHandler"],[16,"productLinkClicked","productLinkClickedHandler"]],{item:["itemChangedHandler"]}],[1,"covet-pics-popup-freeflow",{appStore:[16,"app-store"],settings:[32],items:[32],sliderIndex:[32],tabIndex:[32],openPopupFreeflow:[64],closePopupFreeflow:[64]},null,{sliderIndex:["updateSliderIndex"],items:["updateItems"]}],[0,"covet-pics-gallery-item",{altTag:[1,"alt-tag"],highlighted:[4],imageUrl:[1,"image-url"],rating:[2],itemWidth:[2,"item-width"],userName:[1,"user-name"],createdTime:[1,"created-time"],caption:[1],itemType:[1,"item-type"],imageHighResolutionUrl:[1,"image-high-resolution-url"],imageResponsiveSizes:[1,"image-responsive-sizes"],itemId:[1,"item-id"],itemSource:[1,"item-source"],links:[16],url:[1],videoUrl:[1,"video-url"],itemIndex:[2,"item-index"],itemSize:[1,"item-size"],appStore:[16,"app-store"],tabIndex:[32],sliderIndex:[32],showImageAsVideoPoster:[32]},[[10,"updateUploadWidgetCover","updateUploadWidgetCoverHandler"]],{sliderIndex:["autoPlayVideos"]}],[0,"covet-pics-gallery-item-detail",{altTag:[1,"alt-tag"],highlighted:[4],verified:[4],imageUrl:[1,"image-url"],imageHighResolutionUrl:[1,"image-high-resolution-url"],imageResponsiveSizes:[1,"image-responsive-sizes"],videoUrl:[1,"video-url"],itemId:[1,"item-id"],itemSource:[1,"item-source"],itemType:[1,"item-type"],links:[16],url:[1],rating:[2],userName:[1,"user-name"],caption:[1],createdTime:[1,"created-time"],itemIndex:[2,"item-index"],itemSize:[1,"item-size"],appStore:[16,"app-store"],tabIndex:[32],captionCSS:[32],reviewClass:[32],starOnlyClass:[32],highlightedClass:[32],sliderIndex:[32],showImageAsVideoPoster:[32]},[[10,"updateUploadWidgetCover","updateUploadWidgetCoverHandler"],[8,"elementResize","elementResizeHandler"]],{sliderIndex:["autoPlayVideos"]}],[1,"covet-pics-upload",{standalone:[4],appStore:[16,"app-store"],starRating:[32],isFormValid:[32],showFormWarning:[32],thumbnailLinks:[32],toShowLinks:[32],dropedImagesNumber:[32],isAnimating:[32],notificationMessage:[32],isNotificationActive:[32],widgetWidth:[32],uploadTabIndex:[32],openUpload:[64]}]]],["p-802afafc",[[0,"covet-pics-gallery-grid",{items:[16],breakdown:[16],productTitle:[1,"product-title"],rating:[2],filtersEnabled:[4,"filters-enabled"],filters:[16],showLoadMore:[4,"show-load-more"],appStore:[16,"app-store"],sharedItemId:[1,"shared-item-id"],showSort:[32],isGridDisabled:[32],isDesktopScreen:[32],itemSize:[32],isFilterModalShow:[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"],[9,"mousedown","handleClickOutside"],[0,"itemLoaded","handleItemLoaded"]],{items:["itemsChangeHandler"]}],[0,"covet-pics-gallery-slider",{items:[16],sharedItemId:[1,"shared-item-id"],sliderStyle:[1,"slider-style"],appStore:[16,"app-store"],itemSize:[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"],[0,"itemLoaded","handleItemLoaded"]],{items:["itemsChangeHandler"]}],[0,"covet-pics-highlighted",{numberOfPages:[2,"number-of-pages"],items:[16],appStore:[16,"app-store"],productLinks:[32],mainSliderIndex:[32],mainSliderAnimatingSlides:[32],windowHeight:[32],isDesktopScreen:[32]},[[0,"pageLoaded","handleItemLoaded"]]]]],["p-309600e2",[[1,"covet-pics-widget",{shop:[1],galleryEmbedId:[2,"gallery-embed-id"],shopifyProductId:[2,"shopify-product-id"],environment:[1],customSettings:[1,"custom-settings"],hideElements:[1,"hide-elements"],previewMode:[4,"preview-mode"],photoRequestId:[2,"photo-request-id"],lazyLoad:[4,"lazy-load"],isLoading:[32],minNumberOfPhotos:[32],items:[32],appStore:[32],fetchingError:[32],updateUploadWidgetCoverPreview:[64],updatePreviewSettings:[64]},[[0,"sortUpdated","sortUpdatedHandler"],[0,"filtersUpdated","filtersUpdatedHandler"],[0,"nextPage","nextPageHandler"],[4,"popupFreeflowNextPage","nextPageHandlerFreeflow"]]]]]],e))));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright by Space Squirrel Ltd.
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,c as e,h as i,H as o,g as s}from"./p-C-mGosc6.js";import{B as r,s as n,f as h}from"./p-CADUxYKc.js";import{c as a,a as l,p as d,b as c,s as u}from"./p-B68hw7d9.js";import{m as _,s as p}from"./p-BJA1jk-5.js";import{s as m}from"./p-CP5h6CHJ.js";import{g as f,s as b}from"./p-Mc-D_Wnh.js";import{g}from"./p-C5ofYrUT.js";class v{constructor(t,e){this.page=0,this.isLoading=!1,this.totalPages=1,this.previewSettings={},this.previewHoverMode=!1,this.previewPopupMode=!1,this.previewMode=!1,this.sortType="",this._customSettings={},this._selectedFilters=[],this._environment="production","boolean"==typeof e&&(this.previewMode=e),"string"==typeof t&&Object.keys(r).includes(t)&&(this._environment=t)}get baseUrl(){return r[this._environment]}get galleryType(){return this.productHandle?"product_gallery":"standard_gallery"}setCustomSettings(t){return this._customSettings=Object.assign({},t),Object.keys(this._customSettings).forEach((t=>null===this._customSettings[t]?delete this._customSettings[t]:this._customSettings[t])),this._customSettings}setSelectedFilters(t){return this._selectedFilters=[...t]}standardGalleryUrl(){return"/api/v1/embed/:id".replace(":id",this.embedId)}productGalleryUrl(){return"/api/v1/shop/:shop/product/:handle".replace(":shop",this.shopDomain).replace(":handle",this.productHandle)}galleryUrl(){if("testing"===this._environment)return"http://localhost:3000/embed";let t=this.baseUrl;return t+=this.productHandle?this.productGalleryUrl():this.standardGalleryUrl(),this.previewMode&&(t+="/preview"),""!==this.sortType&&(t+=`?sort_by=${this.sortType}`),t}resetPagination(){this.page=0,this.totalPages=1}async fetchItems(){if(this.isLoading||this.page>=this.totalPages)return;this.isLoading=!0,this.page+=1;let t=this.galleryUrl();const e=[];this.page>1&&e.push(`page=${this.page}`),this._selectedFilters.length>0&&(this.previewMode?this.previewSettings.filters=this._selectedFilters:this._selectedFilters.forEach((t=>e.push(encodeURIComponent("filters[]")+"="+encodeURIComponent(t))))),e.length>0&&(t+=`?${e.join("&")}`);const i=await fetch(t,this.fetchOptions);if(!i.ok)throw new Error(`${i.status}`);const o=await i.json();return o.items=this.getItemsWithLocaleLinks(o.items),this.data=Object.assign({},o),this.data.settings=Object.assign(Object.assign({},this.data.settings),this._customSettings),o.settings=void 0!==this.previewSettings.settings?Object.assign(Object.assign(Object.assign({},o.settings),this._customSettings),this.previewSettings.settings):Object.assign(Object.assign({},o.settings),this._customSettings),this.totalPages=o.total_pages,this.galleryId=o.gallery_id,this.shopId=o.shop_id,this.isLoading=!1,o}getItemsWithLocaleLinks(t){return t.forEach((t=>(t.links&&t.links.length>0&&t.links.forEach((t=>(t.link=(t=>{const e=window.location.hostname;let i=t;const o=window.Shopify;return void 0!==o&&o.routes&&o.routes.root&&"/"!==o.routes.root?i.replace(`${e}/`,`${e}${o.routes.root}`):i})(t.link),t))),t))),t}get fetchOptions(){const t={},e={},i=Object.keys(this.previewSettings);return this.previewMode&&(e.method="POST",e.headers={"Content-Type":"application/json"},i.length>0&&(i.forEach((e=>{const i=e.replace(/^(gallery_embed\[)/,"").replace(/\]$/,"");t[i]=this.previewSettings[e]})),e.body=JSON.stringify(t))),e}}var w,y=[],O="ResizeObserver loop completed with undelivered notifications.";!function(t){t.BORDER_BOX="border-box",t.CONTENT_BOX="content-box",t.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(w||(w={}));var S,x=function(t){return Object.freeze(t)},k=function(t,e){this.inlineSize=t,this.blockSize=e,x(this)},E=function(){function t(t,e,i,o){return this.x=t,this.y=e,this.width=i,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,x(this)}return t.prototype.toJSON=function(){var t=this;return{x:t.x,y:t.y,top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t}(),I=function(t){return t instanceof SVGElement&&"getBBox"in t},z=function(t){if(I(t)){var e=t.getBBox();return!e.width&&!e.height}return!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},C=function(t){var e;if(t instanceof Element)return!0;var i=null===(e=null==t?void 0:t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(i&&t instanceof i.Element)},j="undefined"!=typeof window?window:{},F=new WeakMap,P=/auto|scroll/,U=/^tb|vertical/,M=/msie|trident/i.test(j.navigator&&j.navigator.userAgent),R=function(t){return parseFloat(t||"0")},D=function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=!1),new k((i?e:t)||0,(i?t:e)||0)},H=x({devicePixelContentBoxSize:D(),borderBoxSize:D(),contentBoxSize:D(),contentRect:new E(0,0,0,0)}),T=function(t,e){if(void 0===e&&(e=!1),F.has(t)&&!e)return F.get(t);if(z(t))return F.set(t,H),H;var i=getComputedStyle(t),o=I(t)&&t.ownerSVGElement&&t.getBBox(),s=!M&&"border-box"===i.boxSizing,r=U.test(i.writingMode||""),n=!o&&P.test(i.overflowY||""),h=!o&&P.test(i.overflowX||""),a=o?0:R(i.paddingTop),l=o?0:R(i.paddingRight),d=o?0:R(i.paddingBottom),c=o?0:R(i.paddingLeft),u=o?0:R(i.borderTopWidth),_=o?0:R(i.borderRightWidth),p=o?0:R(i.borderBottomWidth),m=c+l,f=a+d,b=(o?0:R(i.borderLeftWidth))+_,g=u+p,v=h?t.offsetHeight-g-t.clientHeight:0,w=n?t.offsetWidth-b-t.clientWidth:0,y=s?m+b:0,O=s?f+g:0,S=o?o.width:R(i.width)-y-w,k=o?o.height:R(i.height)-O-v,C=S+m+w+b,j=k+f+v+g,T=x({devicePixelContentBoxSize:D(Math.round(S*devicePixelRatio),Math.round(k*devicePixelRatio),r),borderBoxSize:D(C,j,r),contentBoxSize:D(S,k,r),contentRect:new E(c,a,S,k)});return F.set(t,T),T},A=function(t,e,i){var o=T(t,i),s=o.borderBoxSize,r=o.contentBoxSize,n=o.devicePixelContentBoxSize;switch(e){case w.DEVICE_PIXEL_CONTENT_BOX:return n;case w.BORDER_BOX:return s;default:return r}},B=function(t){var e=T(t);this.target=t,this.contentRect=e.contentRect,this.borderBoxSize=x([e.borderBoxSize]),this.contentBoxSize=x([e.contentBoxSize]),this.devicePixelContentBoxSize=x([e.devicePixelContentBoxSize])},W=function(t){if(z(t))return 1/0;for(var e=0,i=t.parentNode;i;)e+=1,i=i.parentNode;return e},$=function(){var t=1/0,e=[];y.forEach((function(i){if(0!==i.activeTargets.length){var o=[];i.activeTargets.forEach((function(e){var i=new B(e.target),s=W(e.target);o.push(i),e.lastReportedSize=A(e.target,e.observedBox),s<t&&(t=s)})),e.push((function(){i.callback.call(i.observer,o,i.observer)})),i.activeTargets.splice(0,i.activeTargets.length)}}));for(var i=0,o=e;i<o.length;i++)(0,o[i])();return t},G=function(t){y.forEach((function(e){e.activeTargets.splice(0,e.activeTargets.length),e.skippedTargets.splice(0,e.skippedTargets.length),e.observationTargets.forEach((function(i){i.isActive()&&(W(i.target)>t?e.activeTargets.push(i):e.skippedTargets.push(i))}))}))},L=[],V=0,q={attributes:!0,characterData:!0,childList:!0,subtree:!0},N=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],J=function(t){return void 0===t&&(t=0),Date.now()+t},Y=!1,K=new(function(){function t(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return t.prototype.run=function(t){var e=this;if(void 0===t&&(t=250),!Y){Y=!0;var i,o=J(t);i=function(){var i=!1;try{i=function(){var t,e=0;for(G(e);y.some((function(t){return t.activeTargets.length>0}));)e=$(),G(e);return y.some((function(t){return t.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?t=new ErrorEvent("error",{message:O}):((t=document.createEvent("Event")).initEvent("error",!1,!1),t.message=O),window.dispatchEvent(t)),e>0}()}finally{if(Y=!1,t=o-J(),!V)return;i?e.run(1e3):t>0?e.run(t):e.start()}},function(t){if(!S){var e=0,i=document.createTextNode("");new MutationObserver((function(){return L.splice(0).forEach((function(t){return t()}))})).observe(i,{characterData:!0}),S=function(){i.textContent="".concat(e?e--:e++)}}L.push(t),S()}((function(){requestAnimationFrame(i)}))}},t.prototype.schedule=function(){this.stop(),this.run()},t.prototype.observe=function(){var t=this,e=function(){return t.observer&&t.observer.observe(document.body,q)};document.body?e():j.addEventListener("DOMContentLoaded",e)},t.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),N.forEach((function(e){return j.addEventListener(e,t.listener,!0)})))},t.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),N.forEach((function(e){return j.removeEventListener(e,t.listener,!0)})),this.stopped=!0)},t}()),Z=function(t){!V&&t>0&&K.start(),!(V+=t)&&K.stop()},Q=function(){function t(t,e){this.target=t,this.observedBox=e||w.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var t,e=A(this.target,this.observedBox,!0);return I(t=this.target)||function(t){switch(t.tagName){case"INPUT":if("image"!==t.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(t)||"inline"!==getComputedStyle(t).display||(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},t}(),X=function(t,e){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=e},tt=new WeakMap,et=function(t,e){for(var i=0;i<t.length;i+=1)if(t[i].target===e)return i;return-1},it=function(){function t(){}return t.connect=function(t,e){var i=new X(t,e);tt.set(t,i)},t.observe=function(t,e,i){var o=tt.get(t),s=0===o.observationTargets.length;et(o.observationTargets,e)<0&&(s&&y.push(o),o.observationTargets.push(new Q(e,i&&i.box)),Z(1),K.schedule())},t.unobserve=function(t,e){var i=tt.get(t),o=et(i.observationTargets,e);o>=0&&(1===i.observationTargets.length&&y.splice(y.indexOf(i),1),i.observationTargets.splice(o,1),Z(-1))},t.disconnect=function(t){var e=this,i=tt.get(t);i.observationTargets.slice().forEach((function(i){return e.unobserve(t,i.target)})),i.activeTargets.splice(0,i.activeTargets.length)},t}(),ot=function(){function t(t){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof t)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");it.connect(this,t)}return t.prototype.observe=function(t,e){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!C(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");it.observe(this,t,e)},t.prototype.unobserve=function(t){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!C(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");it.unobserve(this,t)},t.prototype.disconnect=function(){it.disconnect(this)},t.toString=function(){return"function ResizeObserver () { [polyfill code] }"},t}();const st=a({name:"widgetId",initialState:{embedId:null,productHandle:null,shopDomain:null,galleryId:null,shopId:null,photoRequestId:null},reducers:{widgetIdUpdated:(t,e)=>{const{embedId:i,productHandle:o,shopDomain:s,photoRequestId:r}=e.payload;t.embedId=i,t.productHandle=o,t.shopDomain=s,t.photoRequestId=r},widgetGalleryIdUpdated:(t,e)=>{t.galleryId=e.payload},widgetShopIdUpdated:(t,e)=>{t.shopId=e.payload}}}),{widgetIdUpdated:rt,widgetGalleryIdUpdated:nt,widgetShopIdUpdated:ht}=st.actions;var at=st.reducer;const lt={production:"https://app.covet.pics",development:"http://localhost:3000",staging:"https://covetstaging.spacesquirrel.net",testing:"http://localhost:3000/testing_db"},dt=a({name:"url",initialState:{baseUrl:"",environment:"",baseBeaconsUrl:""},reducers:{setEnvironment:(t,e)=>{const i=e.payload;return t.environment="string"==typeof i&&Object.keys(lt).includes(i)?i:"production",t.baseUrl=lt[t.environment],t.baseBeaconsUrl=`${lt[t.environment]}/api/v1/beacons/`,t}}}),{setEnvironment:ct}=dt.actions;var ut=dt.reducer;const _t=a({name:"size",initialState:{widgetWidth:320,windowHeight:600,isDesktopScreen:!0},reducers:{widgetWidthUpdated:(t,e)=>{t.widgetWidth=e.payload,t.isDesktopScreen=e.payload>=800},windowHeightUpdated:(t,e)=>{t.windowHeight=e.payload}}}),{widgetWidthUpdated:pt,windowHeightUpdated:mt}=_t.actions;var ft=_t.reducer;const bt=a({name:"preview",initialState:{hoverMode:!1,popupMode:!1,mode:!1},reducers:{setPreviewHoverMode:(t,e)=>{t.hoverMode=e.payload},setPreviewPopupMode:(t,e)=>{t.popupMode=e.payload},setPreviewMode:(t,e)=>{t.mode=e.payload}}}),{setPreviewHoverMode:gt,setPreviewPopupMode:vt,setPreviewMode:wt}=bt.actions;var yt=bt.reducer;const Ot=a({name:"analytics",initialState:!1,reducers:{setAnalytics:(t,e)=>e.payload}}),{setAnalytics:St}=Ot.actions;var xt=Ot.reducer;const kt=t=>(t._arrowsDesktopType=`arrows-${t.arrow_graphics_type.toString().replace("_","-")}`,t._arrowsDesktopSizeType=t.arrow_size.toString().replace("_arrow",""),t._arrowsDesktopPosition=t.desktop_arrow_position.toString().replace("sidebar_",""),t._arrowsMobileColorTheme=t.mobile_arrow_color_theme.toString().replace("mob_",""),t._arrowsMobilePosition=t.mobile_arrow_position.toString().replace("mob_",""),t._arrowsMobileType=t.mobile_arrow_graphics_type.toString().replace("mob_","arrows-").replace("_","-"),t._buyButtonStyle=t.popup_buy_button_style.replace("buy_btn_","").replace("_","-"),t._closeButtonType=t.close_button_type.toString().split("_").join("-"),t._closeButtonСolorTheme=`close-button-color-theme-${t.close_button_color_theme.toString().replace("_btn","")}`,t),Et=a({name:"settings",initialState:kt({add_to_cart_button_caption:"Add to cart",arrow_color_theme:"light",arrow_custom_box_color:"#000000",arrow_custom_color:"#d3d3d3",arrow_graphics_type:"type_1",arrow_size:"standard",arrow_size_custom:48,background_color:"#000000",close_button_color_theme:"dark_btn",close_button_custom_box_color:"#000000",close_button_custom_color:"#d3d3d3",close_button_position:"side",close_button_size:"standard",close_button_type:"btn_type_1",customer_photo_item_label:"Add Your Photo",customer_photo_item_position:null,customer_photo_upload_body:"We would love to see it in action",customer_photo_upload_button_selector:"",customer_photo_upload_complete_body:"Thank you for your awesome photo! You will see it on the site once it’s approved",customer_photo_upload_complete_close_label:"Close",customer_photo_upload_drop_files_label:"Drag & Drop photos here",customer_photo_upload_form_body_placeholder:"Say something about your image",customer_photo_upload_form_email_placeholder:"E-mail",customer_photo_upload_form_legal_message:"",customer_photo_upload_form_name_placeholder:"Nickname",customer_photo_upload_form_send_label:"Send",customer_photo_upload_form_uploading:"Uploading...",customer_photo_upload_title:"Show It off",customer_widget_cover:null,desktop_arrow_position:"middle",direct_add_to_cart:!0,display_type:"grid",font_family:"Source Sans Pro",gallery_highlight:!1,gallery_highlight_every:0,gallery_highlight_every_start:0,gallery_mobile_photos_per_row:2,gallery_photos_count:0,gallery_photos_per_row:4,header_show_average_rating:!0,header_show_breakdown:!0,header_show_sort:!0,header_type:"header-1",hide_branding:!1,hide_social_links:!1,highlight_hotspots_layout:"hotspot-tall",highlight_layout:"slider",highlight_products_layout:"layout-1",hotspots:{enabled:!1,background_color:"#000000",show_numbers:!1,text_color:"#ffffff"},item_reveal_content:"",item_animation_duration:1,item_animation_type:"hover-animation-1",item_hover_background_opacity:80,item_hover_border_color:"#C1ACAC",item_hover_color_from:"#000000",item_hover_color_to:"#000000",item_hover_disabled:!1,item_hover_icon:!1,item_label_color:"#FFFFFF",item_label_font_size:15,item_label_font_style:"Normal",item_label_text:"SHOP THIS LOOK",item_mobile_padding:0,item_open_link:!1,item_padding:1,item_style:"standard",item_without_product_label_text:"SEE MORE",load_more_border_width:4,load_more_button_color:"#000000",load_more_button_style:"btn_style_1",load_more_font_size:14,load_more_font_style:"bold",load_more_padding:6,load_more_text:"MORE",mobile_arrow_color_theme:"mob_light",mobile_arrow_custom_box_color:"#000000",mobile_arrow_custom_color:"#d3d3d3",mobile_arrow_graphics_type:"mob_type_1",mobile_arrow_position:"mob_top",money_format:"{{amount}}",multiple_filter_enabled:!1,padding:0,pagination:"button",popup_animation:!0,popup_background_color:"#000000",popup_background_opacity:80,popup_buy_button_background_color:"#444444",popup_buy_button_background_hover_color:"#000000",popup_buy_button_text_color:"#FFFFFF",popup_buy_button_text_hover_color:"#000000",popup_custom_link_label:"Visit",popup_disable_modal:!1,popup_feed_show_caption:!0,popup_feed_show_navigation_arrows:!1,popup_feed_show_star_rating:!0,popup_feed_sound_on:!0,popup_image_size:"responsive",popup_products_button_caption:"Buy Now",popup_products_title:"SHOP THIS LOOK",popup_products_title_disabled:!1,popup_style:"standard",popup_buy_button_style:"buy_btn_style_1",popup_products_view_type:"grid_view",price_label_caption:"Price",primary_color:"#222222",secondary_color:"#BFBFBF",select_label_caption:"Select",show_header:!1,show_price:!0,show_price_in_popup:!0,show_review:!0,slideshow_autoplay:0,slideshow_arrows_desktop_align:"start",slideshow_arrows_mobile_align:"start",slideshow_arrows_desktop_position:"top",slideshow_arrows_mobile_position:"top",slideshow_scrollbar_desktop_align:"start",slideshow_scrollbar_mobile_align:"start",slideshow_scrollbar_desktop_position:"top",slideshow_scrollbar_mobile_position:"top",slideshow_load_more:!0,slideshow_video_auto_play:!1,slideshow_mobile_photos_per_row:2,slideshow_photos_per_row:4,slideshow_crop_mode:!1,slideshow_style:"regular",slideshow_desktop_pagination_style:"none",slideshow_mobile_pagination_style:"dots",star_color:"#FCD02C",tags_color:"#86848A",tags_active_color:"#302F33",tags_font_size:12,tags_font_weight:"",tags_padding:0,tags_reset_button_text:"",tags_style:"style_1",tags_wrap:"scroll",upload_show_star_rating:!0}),reducers:{setSettings:(t,e)=>{const i={};return Object.keys(e.payload).forEach((t=>{void 0!==e.payload[t]&&(i[t]=e.payload[t])})),kt(Object.assign(Object.assign({},t),i))}}}),{setSettings:It}=Et.actions,zt=l({analytics:xt,size:ft,sort:p,url:ut,preview:yt,popup:d,modals:_,slider:m,widgetId:at,settings:Et.reducer}),Ct=class{constructor(i){t(this,i),this.updateUploadWidgetCover=e(this,"updateUploadWidgetCover",7),this.elementResize=e(this,"elementResize",7),this.previewMode=!1,this.lazyLoad=!1,this.isLoading=!0,this.items=[],this.fetchingError=null,this.fontsLoaded=!1,this.filters={}}async sortUpdatedHandler(t){this.loader.resetPagination(),this.loader.sortType=t.detail;const e=await this.loader.fetchItems();void 0!==e&&(this.items=[],this.items=[...this.getItemsWithUpload(e.items)])}async filtersUpdatedHandler(t){const e=t.detail.resetFilters;this.appState.preview.mode&&delete this.loader.previewSettings.filters;const i=()=>{Object.keys(this.filters).forEach((t=>this.filters[t]=!1)),this.loader.setSelectedFilters([])};if(e)i();else{const e=t.detail.filter;this.appState.settings.multiple_filter_enabled||this.filters[e]||i(),this.filters[e]=!this.filters[e]}const o=Object.keys(this.filters).filter((t=>this.filters[t]));this.loader.setSelectedFilters(o),this.loader.resetPagination();const s=await this.loader.fetchItems();void 0!==s&&(this.items=[],this.items=[...this.getItemsWithUpload(s.items)])}async nextPageHandler(){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items])}async nextPageHandlerFreeflow(t){if(t.detail.embedId===this.appState.widgetId.embedId){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items],this.appStore.dispatch(u(this.items)))}}async updateUploadWidgetCoverPreview(t){this.updateUploadWidgetCover.emit({image:t})}async updatePreviewSettings(t,e,i){this.removeModals(),this.loader.previewHoverMode=e,this.loader.previewPopupMode=i,this.appStore.dispatch(gt(e)),this.appStore.dispatch(vt(i)),this.fontsLoaded=!1,this.loader.previewSettings=Object.assign(Object.assign({},this.loader.previewSettings),t),this.loader.resetPagination(),this.loadData()}componentWillLoad(){this.lazyLoad?this.setupLazyLoading():this.initApp()}setupLazyLoading(){this.el.style.setProperty("--covet-widget-min-height","5px"),this.intersectionObserver=this.observeElementVisibility(this.el,(()=>{this.initApp(),this.widgetResizeObserver(),this.el.style.setProperty("--covet-widget-min-height","0")}))}componentDidLoad(){this.lazyLoad||this.widgetResizeObserver()}disconnectedCallback(){this.unsubscribe(),this.resizeObserver&&this.resizeObserver.disconnect(),this.intersectionObserver&&this.intersectionObserver.disconnect()}observeElementVisibility(t,e){const i=new IntersectionObserver((o=>{o.length>0&&o[0].isIntersecting&&(e(),i.unobserve(t))}));return i.observe(t),i}initApp(){this.initAppStore(),this.setupLoader(),this.loadData()}widgetResizeObserver(){this.resizeObserver=new ot((()=>{this.appState.size.windowHeight!==window.innerHeight&&this.appStore.dispatch(mt(window.innerHeight));const t=this.appState.size.widgetWidth!==this.el.getBoundingClientRect().width;this.isWidgetWrapExist()&&t&&(this.setWidgetWidth(),this.elementResize.emit())})),this.isWidgetWrapExist()&&this.resizeObserver.observe(this.el.parentElement)}initAppStore(){this.appStore=c({reducer:zt});const t=f(this.galleryEmbedId,this.shop,this.photoRequestId,this.el);this.appStore.dispatch(rt(t)),this.appStore.dispatch(ct(this.environment)),this.appStore.dispatch(wt(this.previewMode)),this.appState=this.appStore.getState(),this.unsubscribe=this.appStore.subscribe((()=>{this.appState=this.appStore.getState()})),this.setWidgetWidth()}setupLoader(){const t=window.location;if(this.loader=new v(this.environment,this.previewMode),"string"==typeof this.customSettings&&this.loader.setCustomSettings(JSON.parse(this.customSettings)),void 0===this.galleryEmbedId||0===this.galleryEmbedId){if(void 0!==this.shopifyProductId?this.loader.productHandle=`shopify/${this.shopifyProductId}`:null!==this.el.getAttribute("data-product")?this.loader.productHandle=this.el.getAttribute("data-product"):-1!==t.pathname.indexOf("/products/")&&(this.loader.productHandle=t.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1]),this.el.hasAttribute("data-shop")&&(this.shop=this.el.getAttribute("data-shop")),void 0===this.shop)return this.fetchingError="The Covet.pics gallery embed has not loaded due to a missing Embed ID. Please make sure to fill in the correct Embed ID",void(this.isLoading=!1);this.loader.shopDomain=this.shop}else this.loader.embedId=this.galleryEmbedId}async loadData(){if(null===this.fetchingError){this.isLoading=!0;try{const t=await this.loader.fetchItems();return this.appStore.dispatch(nt(this.loader.galleryId)),this.appStore.dispatch(ht(this.loader.shopId)),this.appStore.dispatch(St(!!this.loader.data.analytics&&this.loader.data.analytics)),void 0===t?!1:(this.appStore.dispatch(It(t.settings)),this.minNumberOfPhotos=t.settings.min_number_of_photos,this.items="highlight"===this.loader.data.settings.display_type?[...t.items]:[...this.getItemsWithUpload(t.items)],this.hideElementsIfEmpty(),this.fontsLoaded||this.loadFont(),this.hasEnoughPhotos&&g(this.appState)&&n("Covet.pics Gallery View","Covet.pics Gallery","Covet.pics Gallery View - "+this.galleryEmbedId),this.hasEnoughPhotos&&b(this.appState,"gallery_view"),this.sharedItemId=await this.findAndLoadSharedItemId(),this.initFilters(),this.isLoading=!1,!0)}catch(t){return"404"===t.message&&(this.fetchingError="The Covet.pics gallery embed has not loaded because the embed does not exist. Please verify that the correct Embed ID is being used"),this.isLoading=!1,this.fetchingError}}}removeModals(){["covet-pics-upload","covet-pics-popup","covet-pics-popup-freeflow"].forEach((t=>{const e=document.querySelector(`${t}`);null!==e&&e.remove()}))}async findAndLoadSharedItemId(){return new Promise((async t=>{if(this.loader.previewPopupMode){const e=this.items.find((t=>"upload_widget"!==t.source));return t(void 0!==e?e.id.toString():"none")}const e=h(this.loader.embedId,this.loader.galleryType);if(null===e)return t("none");if(-1!==this.items.findIndex((t=>t.id===parseInt(e))))return t(e.toString());const i=await this.loader.fetchItems();return void 0===i?t("none"):(this.items=[...this.items,...i.items],t(this.findAndLoadSharedItemId()))}))}setWidgetWidth(){const t=this.isWidgetWrapExist()?this.el.getBoundingClientRect().width:320;return this.appStore.dispatch(pt(t))}isWidgetWrapExist(){return void 0!==this.el.parentElement&&this.el.parentElement instanceof HTMLElement}get hasEnoughPhotos(){return 0!==this.items.length&&(null===this.minNumberOfPhotos||void 0!==this.loader&&void 0!==this.loader.data&&!(void 0!==this.loader.data.items&&this.loader.data.items.length<this.minNumberOfPhotos&&1===this.loader.page))}initFilters(){const t=this.loader.previewSettings.filters;this.loader.data.filters.list.forEach((t=>this.filters[t]=!1)),this.appState.preview.mode&&void 0!==t&&t.forEach((t=>this.filters[t]=!0))}loadFont(){if(this.loader.data.settings.font_family){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href","https://fonts.googleapis.com/css2?family="+this.loader.data.settings.font_family.split(" ").join("+")+":wght@300;400;600;700&display=swap"),document.head.appendChild(t)}this.fontsLoaded=!0}setWidgetCSSVariables(){let t={};return this.loader.data.settings.font_family&&""!==this.loader.data.settings.font_family&&(t["--covet-internal-font-family"]=`${this.appState.settings.font_family}`),t}getItemsWithUpload(t){return this.loader.data.settings.customer_photo_item_position?(t.splice(this.loader.data.settings.customer_photo_item_position-1,0,{source:"upload_widget",imageUrl:null!==this.appState.settings.customer_widget_cover?this.appState.settings.customer_widget_cover:void 0}),t):t}renderSliderGallery(){return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-slider",{items:this.items,"shared-item-id":this.sharedItemId,"slider-style":this.loader.data.settings.slideshow_style,appStore:this.appStore}))}renderGridGallery(){var t,e,s;return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-grid",{items:this.items,rating:null===(t=this.loader.data.reviews)||void 0===t?void 0:t.rating,"rating-count":null===(e=this.loader.data.reviews)||void 0===e?void 0:e.rating_count,"product-title":this.loader.data.product_title,breakdown:null===(s=this.loader.data.reviews)||void 0===s?void 0:s.breakdown,"filters-enabled":this.loader.data.filters.enabled,"shared-item-id":this.sharedItemId,filters:this.filters,"show-load-more":"button"===this.appState.settings.pagination&&!this.isLoading&&this.loader.totalPages>this.loader.page&&this.items.length>0,appStore:this.appStore}))}renderHighlighted(){return i(o,{style:this.setWidgetCSSVariables(),class:"highlighted"},i("covet-pics-highlighted",{numberOfPages:this.loader.data.items.length,items:this.loader.data.items,appStore:this.appStore}))}hideElementsIfEmpty(){let t=this.hideElements;t||(t=this.loader.data.settings.selector_to_hide);const e=this.loader.data.items;(void 0===e||0!==e.length)&&this.hasEnoughPhotos||""===t||document.querySelectorAll(t).forEach((t=>t.style.display="none"))}renderUploadStandalone(){return i("covet-pics-upload",{standalone:!0,appStore:this.appStore})}renderError(){return i(o,null,i("p",{class:"error-message"},this.fetchingError))}render(){if(!this.isLoading&&null!==this.fetchingError)return this.renderError();if(!this.isLoading&&this.hasEnoughPhotos){const t=this.loader.data.settings.display_type;return"upload-standalone"===t?this.renderUploadStandalone():"slider"===t?this.renderSliderGallery():"highlight"===t?this.renderHighlighted():this.renderGridGallery()}}get el(){return s(this)}};Ct.style=":host{--covet-font-family:var(--covet-custom-font-family, var(--covet-internal-font-family)), sans-serif}:host{font-family:var(--covet-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;min-height:var(--covet-widget-min-height)}:host .error-message{text-align:center;border:2px dashed;padding:20px}";export{Ct as covet_pics_widget}
|
|
4
|
+
import{r as t,c as e,h as i,H as o,g as s}from"./p-C-mGosc6.js";import{B as r,s as n,f as h}from"./p-BODOgEuN.js";import{c as a,a as l,p as d,b as c,s as u}from"./p-B68hw7d9.js";import{m as _,s as p}from"./p-BJA1jk-5.js";import{s as m}from"./p-CP5h6CHJ.js";import{g as f,s as b}from"./p-Mc-D_Wnh.js";import{g}from"./p-C5ofYrUT.js";class v{constructor(t,e){this.page=0,this.isLoading=!1,this.totalPages=1,this.previewSettings={},this.previewHoverMode=!1,this.previewPopupMode=!1,this.previewMode=!1,this.sortType="",this._customSettings={},this._selectedFilters=[],this._environment="production","boolean"==typeof e&&(this.previewMode=e),"string"==typeof t&&Object.keys(r).includes(t)&&(this._environment=t)}get baseUrl(){return r[this._environment]}get galleryType(){return this.productHandle?"product_gallery":"standard_gallery"}setCustomSettings(t){return this._customSettings=Object.assign({},t),Object.keys(this._customSettings).forEach((t=>null===this._customSettings[t]?delete this._customSettings[t]:this._customSettings[t])),this._customSettings}setSelectedFilters(t){return this._selectedFilters=[...t]}standardGalleryUrl(){return"/api/v1/embed/:id".replace(":id",this.embedId)}productGalleryUrl(){return"/api/v1/shop/:shop/product/:handle".replace(":shop",this.shopDomain).replace(":handle",this.productHandle)}galleryUrl(){if("testing"===this._environment)return"http://localhost:3000/embed";let t=this.baseUrl;return t+=this.productHandle?this.productGalleryUrl():this.standardGalleryUrl(),this.previewMode&&(t+="/preview"),""!==this.sortType&&(t+=`?sort_by=${this.sortType}`),t}resetPagination(){this.page=0,this.totalPages=1}async fetchItems(){if(this.isLoading||this.page>=this.totalPages)return;this.isLoading=!0,this.page+=1;let t=this.galleryUrl();const e=[];this.page>1&&e.push(`page=${this.page}`),this._selectedFilters.length>0&&(this.previewMode?this.previewSettings.filters=this._selectedFilters:this._selectedFilters.forEach((t=>e.push(encodeURIComponent("filters[]")+"="+encodeURIComponent(t))))),e.length>0&&(t+=`?${e.join("&")}`);const i=await fetch(t,this.fetchOptions);if(!i.ok)throw new Error(`${i.status}`);const o=await i.json();return o.items=this.getItemsWithLocaleLinks(o.items),this.data=Object.assign({},o),this.data.settings=Object.assign(Object.assign({},this.data.settings),this._customSettings),o.settings=void 0!==this.previewSettings.settings?Object.assign(Object.assign(Object.assign({},o.settings),this._customSettings),this.previewSettings.settings):Object.assign(Object.assign({},o.settings),this._customSettings),this.totalPages=o.total_pages,this.galleryId=o.gallery_id,this.shopId=o.shop_id,this.isLoading=!1,o}getItemsWithLocaleLinks(t){return t.forEach((t=>(t.links&&t.links.length>0&&t.links.forEach((t=>(t.link=(t=>{const e=window.location.hostname;let i=t;const o=window.Shopify;return void 0!==o&&o.routes&&o.routes.root&&"/"!==o.routes.root?i.replace(`${e}/`,`${e}${o.routes.root}`):i})(t.link),t))),t))),t}get fetchOptions(){const t={},e={},i=Object.keys(this.previewSettings);return this.previewMode&&(e.method="POST",e.headers={"Content-Type":"application/json"},i.length>0&&(i.forEach((e=>{const i=e.replace(/^(gallery_embed\[)/,"").replace(/\]$/,"");t[i]=this.previewSettings[e]})),e.body=JSON.stringify(t))),e}}var w,y=[],O="ResizeObserver loop completed with undelivered notifications.";!function(t){t.BORDER_BOX="border-box",t.CONTENT_BOX="content-box",t.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(w||(w={}));var S,x=function(t){return Object.freeze(t)},E=function(t,e){this.inlineSize=t,this.blockSize=e,x(this)},k=function(){function t(t,e,i,o){return this.x=t,this.y=e,this.width=i,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,x(this)}return t.prototype.toJSON=function(){var t=this;return{x:t.x,y:t.y,top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t}(),I=function(t){return t instanceof SVGElement&&"getBBox"in t},z=function(t){if(I(t)){var e=t.getBBox();return!e.width&&!e.height}return!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},j=function(t){var e;if(t instanceof Element)return!0;var i=null===(e=null==t?void 0:t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(i&&t instanceof i.Element)},C="undefined"!=typeof window?window:{},F=new WeakMap,P=/auto|scroll/,U=/^tb|vertical/,M=/msie|trident/i.test(C.navigator&&C.navigator.userAgent),R=function(t){return parseFloat(t||"0")},D=function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=!1),new E((i?e:t)||0,(i?t:e)||0)},B=x({devicePixelContentBoxSize:D(),borderBoxSize:D(),contentBoxSize:D(),contentRect:new k(0,0,0,0)}),H=function(t,e){if(void 0===e&&(e=!1),F.has(t)&&!e)return F.get(t);if(z(t))return F.set(t,B),B;var i=getComputedStyle(t),o=I(t)&&t.ownerSVGElement&&t.getBBox(),s=!M&&"border-box"===i.boxSizing,r=U.test(i.writingMode||""),n=!o&&P.test(i.overflowY||""),h=!o&&P.test(i.overflowX||""),a=o?0:R(i.paddingTop),l=o?0:R(i.paddingRight),d=o?0:R(i.paddingBottom),c=o?0:R(i.paddingLeft),u=o?0:R(i.borderTopWidth),_=o?0:R(i.borderRightWidth),p=o?0:R(i.borderBottomWidth),m=c+l,f=a+d,b=(o?0:R(i.borderLeftWidth))+_,g=u+p,v=h?t.offsetHeight-g-t.clientHeight:0,w=n?t.offsetWidth-b-t.clientWidth:0,y=s?m+b:0,O=s?f+g:0,S=o?o.width:R(i.width)-y-w,E=o?o.height:R(i.height)-O-v,j=S+m+w+b,C=E+f+v+g,H=x({devicePixelContentBoxSize:D(Math.round(S*devicePixelRatio),Math.round(E*devicePixelRatio),r),borderBoxSize:D(j,C,r),contentBoxSize:D(S,E,r),contentRect:new k(c,a,S,E)});return F.set(t,H),H},T=function(t,e,i){var o=H(t,i),s=o.borderBoxSize,r=o.contentBoxSize,n=o.devicePixelContentBoxSize;switch(e){case w.DEVICE_PIXEL_CONTENT_BOX:return n;case w.BORDER_BOX:return s;default:return r}},A=function(t){var e=H(t);this.target=t,this.contentRect=e.contentRect,this.borderBoxSize=x([e.borderBoxSize]),this.contentBoxSize=x([e.contentBoxSize]),this.devicePixelContentBoxSize=x([e.devicePixelContentBoxSize])},W=function(t){if(z(t))return 1/0;for(var e=0,i=t.parentNode;i;)e+=1,i=i.parentNode;return e},$=function(){var t=1/0,e=[];y.forEach((function(i){if(0!==i.activeTargets.length){var o=[];i.activeTargets.forEach((function(e){var i=new A(e.target),s=W(e.target);o.push(i),e.lastReportedSize=T(e.target,e.observedBox),s<t&&(t=s)})),e.push((function(){i.callback.call(i.observer,o,i.observer)})),i.activeTargets.splice(0,i.activeTargets.length)}}));for(var i=0,o=e;i<o.length;i++)(0,o[i])();return t},G=function(t){y.forEach((function(e){e.activeTargets.splice(0,e.activeTargets.length),e.skippedTargets.splice(0,e.skippedTargets.length),e.observationTargets.forEach((function(i){i.isActive()&&(W(i.target)>t?e.activeTargets.push(i):e.skippedTargets.push(i))}))}))},L=[],N=0,V={attributes:!0,characterData:!0,childList:!0,subtree:!0},q=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],J=function(t){return void 0===t&&(t=0),Date.now()+t},Y=!1,K=new(function(){function t(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return t.prototype.run=function(t){var e=this;if(void 0===t&&(t=250),!Y){Y=!0;var i,o=J(t);i=function(){var i=!1;try{i=function(){var t,e=0;for(G(e);y.some((function(t){return t.activeTargets.length>0}));)e=$(),G(e);return y.some((function(t){return t.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?t=new ErrorEvent("error",{message:O}):((t=document.createEvent("Event")).initEvent("error",!1,!1),t.message=O),window.dispatchEvent(t)),e>0}()}finally{if(Y=!1,t=o-J(),!N)return;i?e.run(1e3):t>0?e.run(t):e.start()}},function(t){if(!S){var e=0,i=document.createTextNode("");new MutationObserver((function(){return L.splice(0).forEach((function(t){return t()}))})).observe(i,{characterData:!0}),S=function(){i.textContent="".concat(e?e--:e++)}}L.push(t),S()}((function(){requestAnimationFrame(i)}))}},t.prototype.schedule=function(){this.stop(),this.run()},t.prototype.observe=function(){var t=this,e=function(){return t.observer&&t.observer.observe(document.body,V)};document.body?e():C.addEventListener("DOMContentLoaded",e)},t.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),q.forEach((function(e){return C.addEventListener(e,t.listener,!0)})))},t.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),q.forEach((function(e){return C.removeEventListener(e,t.listener,!0)})),this.stopped=!0)},t}()),Z=function(t){!N&&t>0&&K.start(),!(N+=t)&&K.stop()},Q=function(){function t(t,e){this.target=t,this.observedBox=e||w.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var t,e=T(this.target,this.observedBox,!0);return I(t=this.target)||function(t){switch(t.tagName){case"INPUT":if("image"!==t.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(t)||"inline"!==getComputedStyle(t).display||(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},t}(),X=function(t,e){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=e},tt=new WeakMap,et=function(t,e){for(var i=0;i<t.length;i+=1)if(t[i].target===e)return i;return-1},it=function(){function t(){}return t.connect=function(t,e){var i=new X(t,e);tt.set(t,i)},t.observe=function(t,e,i){var o=tt.get(t),s=0===o.observationTargets.length;et(o.observationTargets,e)<0&&(s&&y.push(o),o.observationTargets.push(new Q(e,i&&i.box)),Z(1),K.schedule())},t.unobserve=function(t,e){var i=tt.get(t),o=et(i.observationTargets,e);o>=0&&(1===i.observationTargets.length&&y.splice(y.indexOf(i),1),i.observationTargets.splice(o,1),Z(-1))},t.disconnect=function(t){var e=this,i=tt.get(t);i.observationTargets.slice().forEach((function(i){return e.unobserve(t,i.target)})),i.activeTargets.splice(0,i.activeTargets.length)},t}(),ot=function(){function t(t){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof t)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");it.connect(this,t)}return t.prototype.observe=function(t,e){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!j(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");it.observe(this,t,e)},t.prototype.unobserve=function(t){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!j(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");it.unobserve(this,t)},t.prototype.disconnect=function(){it.disconnect(this)},t.toString=function(){return"function ResizeObserver () { [polyfill code] }"},t}();const st=a({name:"widgetId",initialState:{embedId:null,productHandle:null,shopDomain:null,galleryId:null,shopId:null,photoRequestId:null},reducers:{widgetIdUpdated:(t,e)=>{const{embedId:i,productHandle:o,shopDomain:s,photoRequestId:r}=e.payload;t.embedId=i,t.productHandle=o,t.shopDomain=s,t.photoRequestId=r},widgetGalleryIdUpdated:(t,e)=>{t.galleryId=e.payload},widgetShopIdUpdated:(t,e)=>{t.shopId=e.payload}}}),{widgetIdUpdated:rt,widgetGalleryIdUpdated:nt,widgetShopIdUpdated:ht}=st.actions;var at=st.reducer;const lt={production:"https://app.covet.pics",development:"http://localhost:3000",staging:"https://covetstaging.spacesquirrel.net",testing:"http://localhost:3000/testing_db"},dt=a({name:"url",initialState:{baseUrl:"",environment:"",baseBeaconsUrl:""},reducers:{setEnvironment:(t,e)=>{const i=e.payload;return t.environment="string"==typeof i&&Object.keys(lt).includes(i)?i:"production",t.baseUrl=lt[t.environment],t.baseBeaconsUrl=`${lt[t.environment]}/api/v1/beacons/`,t}}}),{setEnvironment:ct}=dt.actions;var ut=dt.reducer;const _t=a({name:"size",initialState:{widgetWidth:320,windowHeight:600,isDesktopScreen:!0},reducers:{widgetWidthUpdated:(t,e)=>{t.widgetWidth=e.payload,t.isDesktopScreen=e.payload>=800},windowHeightUpdated:(t,e)=>{t.windowHeight=e.payload}}}),{widgetWidthUpdated:pt,windowHeightUpdated:mt}=_t.actions;var ft=_t.reducer;const bt=a({name:"preview",initialState:{hoverMode:!1,popupMode:!1,mode:!1},reducers:{setPreviewHoverMode:(t,e)=>{t.hoverMode=e.payload},setPreviewPopupMode:(t,e)=>{t.popupMode=e.payload},setPreviewMode:(t,e)=>{t.mode=e.payload}}}),{setPreviewHoverMode:gt,setPreviewPopupMode:vt,setPreviewMode:wt}=bt.actions;var yt=bt.reducer;const Ot=a({name:"analytics",initialState:!1,reducers:{setAnalytics:(t,e)=>e.payload}}),{setAnalytics:St}=Ot.actions;var xt=Ot.reducer;const Et=t=>(t._arrowsDesktopType=`arrows-${t.arrow_graphics_type.toString().replace("_","-")}`,t._arrowsDesktopSizeType=t.arrow_size.toString().replace("_arrow",""),t._arrowsDesktopPosition=t.desktop_arrow_position.toString().replace("sidebar_",""),t._arrowsMobileColorTheme=t.mobile_arrow_color_theme.toString().replace("mob_",""),t._arrowsMobilePosition=t.mobile_arrow_position.toString().replace("mob_",""),t._arrowsMobileType=t.mobile_arrow_graphics_type.toString().replace("mob_","arrows-").replace("_","-"),t._buyButtonStyle=t.popup_buy_button_style.replace("buy_btn_","").replace("_","-"),t._closeButtonType=t.close_button_type.toString().split("_").join("-"),t._closeButtonСolorTheme=`close-button-color-theme-${t.close_button_color_theme.toString().replace("_btn","")}`,t),kt=a({name:"settings",initialState:Et({add_to_cart_button_caption:"Add to cart",arrow_color_theme:"light",arrow_custom_box_color:"#000000",arrow_custom_color:"#d3d3d3",arrow_graphics_type:"type_1",arrow_size:"standard",arrow_size_custom:48,background_color:"#000000",close_button_color_theme:"dark_btn",close_button_custom_box_color:"#000000",close_button_custom_color:"#d3d3d3",close_button_position:"side",close_button_size:"standard",close_button_type:"btn_type_1",customer_photo_item_label:"Add Your Photo",customer_photo_item_position:null,customer_photo_upload_body:"We would love to see it in action",customer_photo_upload_button_selector:"",customer_photo_upload_complete_body:"Thank you for your awesome photo! You will see it on the site once it’s approved",customer_photo_upload_complete_close_label:"Close",customer_photo_upload_drop_files_label:"Drag & Drop photos here",customer_photo_upload_form_body_placeholder:"Say something about your image",customer_photo_upload_form_email_placeholder:"E-mail",customer_photo_upload_form_legal_message:"",customer_photo_upload_form_name_placeholder:"Nickname",customer_photo_upload_form_send_label:"Send",customer_photo_upload_form_uploading:"Uploading...",customer_photo_upload_title:"Show It off",customer_widget_cover:null,desktop_arrow_position:"middle",direct_add_to_cart:!0,display_type:"grid",font_family:"Source Sans Pro",gallery_highlight:!1,gallery_highlight_every:0,gallery_highlight_every_start:0,gallery_mobile_photos_per_row:2,gallery_photos_count:0,gallery_photos_per_row:4,header_show_average_rating:!0,header_show_breakdown:!0,header_show_sort:!0,header_type:"header-1",hide_branding:!1,hide_social_links:!1,highlight_hotspots_layout:"hotspot-tall",highlight_layout:"slider",highlight_products_layout:"layout-1",hotspots:{enabled:!1,background_color:"#000000",show_numbers:!1,text_color:"#ffffff"},item_reveal_content:"",item_animation_duration:1,item_animation_type:"hover-animation-1",item_hover_background_opacity:80,item_hover_border_color:"#C1ACAC",item_hover_color_from:"#000000",item_hover_color_to:"#000000",item_hover_disabled:!1,item_hover_icon:!1,item_label_color:"#FFFFFF",item_label_font_size:15,item_label_font_style:"Normal",item_label_text:"SHOP THIS LOOK",item_mobile_padding:0,item_open_link:!1,item_padding:1,item_style:"standard",item_without_product_label_text:"SEE MORE",load_more_border_width:4,load_more_button_color:"#000000",load_more_button_style:"btn_style_1",load_more_font_size:14,load_more_font_style:"bold",load_more_padding:6,load_more_text:"MORE",mobile_arrow_color_theme:"mob_light",mobile_arrow_custom_box_color:"#000000",mobile_arrow_custom_color:"#d3d3d3",mobile_arrow_graphics_type:"mob_type_1",mobile_arrow_position:"mob_top",money_format:"{{amount}}",multiple_filter_enabled:!1,padding:0,pagination:"button",popup_animation:!0,popup_background_color:"#000000",popup_background_opacity:80,popup_buy_button_background_color:"#444444",popup_buy_button_background_hover_color:"#000000",popup_buy_button_text_color:"#FFFFFF",popup_buy_button_text_hover_color:"#000000",popup_custom_link_label:"Visit",popup_disable_modal:!1,popup_feed_show_caption:!0,popup_feed_show_navigation_arrows:!1,popup_feed_show_star_rating:!0,popup_feed_sound_on:!0,popup_image_size:"responsive",popup_products_button_caption:"Buy Now",popup_products_title:"SHOP THIS LOOK",popup_products_title_disabled:!1,popup_style:"standard",popup_buy_button_style:"buy_btn_style_1",popup_products_view_type:"grid_view",price_label_caption:"Price",primary_color:"#222222",secondary_color:"#BFBFBF",select_label_caption:"Select",show_header:!1,show_price:!0,show_price_in_popup:!0,show_review:!0,slideshow_autoplay:0,slideshow_arrows_desktop_align:"start",slideshow_arrows_mobile_align:"start",slideshow_arrows_desktop_position:"top",slideshow_arrows_mobile_position:"top",slideshow_scrollbar_desktop_align:"start",slideshow_scrollbar_mobile_align:"start",slideshow_scrollbar_desktop_position:"top",slideshow_scrollbar_mobile_position:"top",slideshow_load_more:!0,slideshow_video_auto_play:!1,slideshow_mobile_photos_per_row:2,slideshow_photos_per_row:4,slideshow_crop_mode:!1,slideshow_style:"regular",slideshow_desktop_pagination_style:"none",slideshow_mobile_pagination_style:"dots",star_color:"#FCD02C",tags_color:"#86848A",tags_active_color:"#302F33",tags_font_size:12,tags_font_weight:"",tags_padding:0,tags_reset_button_text:"",tags_style:"style_1",tags_wrap:"scroll",upload_show_star_rating:!0}),reducers:{setSettings:(t,e)=>{const i={};return Object.keys(e.payload).forEach((t=>{void 0!==e.payload[t]&&(i[t]=e.payload[t])})),Et(Object.assign(Object.assign({},t),i))}}}),{setSettings:It}=kt.actions,zt=l({analytics:xt,size:ft,sort:p,url:ut,preview:yt,popup:d,modals:_,slider:m,widgetId:at,settings:kt.reducer}),jt=class{constructor(i){t(this,i),this.updateUploadWidgetCover=e(this,"updateUploadWidgetCover",7),this.elementResize=e(this,"elementResize",7),this.previewMode=!1,this.lazyLoad=!1,this.isLoading=!0,this.items=[],this.fetchingError=null,this.fontsLoaded=!1,this.filters={}}async sortUpdatedHandler(t){this.loader.resetPagination(),this.loader.sortType=t.detail;const e=await this.loader.fetchItems();void 0!==e&&(this.items=[],this.items=[...this.getItemsWithUpload(e.items)])}async filtersUpdatedHandler(t){const e=t.detail.resetFilters;this.appState.preview.mode&&delete this.loader.previewSettings.filters;const i=()=>{Object.keys(this.filters).forEach((t=>this.filters[t]=!1)),this.loader.setSelectedFilters([])};if(e)i();else{const e=t.detail.filter;this.appState.settings.multiple_filter_enabled||this.filters[e]||i(),this.filters[e]=!this.filters[e]}const o=Object.keys(this.filters).filter((t=>this.filters[t]));this.loader.setSelectedFilters(o),this.loader.resetPagination();const s=await this.loader.fetchItems();void 0!==s&&(this.items=[],this.items=[...this.getItemsWithUpload(s.items)])}async nextPageHandler(){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items])}async nextPageHandlerFreeflow(t){if(t.detail.embedId===this.appState.widgetId.embedId){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items],this.appStore.dispatch(u(this.items)))}}async updateUploadWidgetCoverPreview(t){this.updateUploadWidgetCover.emit({image:t})}async updatePreviewSettings(t,e,i){this.removeModals(),this.loader.previewHoverMode=e,this.loader.previewPopupMode=i,this.appStore.dispatch(gt(e)),this.appStore.dispatch(vt(i)),this.fontsLoaded=!1,this.loader.previewSettings=Object.assign(Object.assign({},this.loader.previewSettings),t),this.loader.resetPagination(),this.loadData()}componentWillLoad(){this.lazyLoad?this.setupLazyLoading():this.initApp()}setupLazyLoading(){this.el.style.setProperty("--covet-widget-min-height","5px"),this.intersectionObserver=this.observeElementVisibility(this.el,(()=>{this.initApp(),this.widgetResizeObserver(),this.el.style.setProperty("--covet-widget-min-height","0")}))}componentDidLoad(){this.lazyLoad||this.widgetResizeObserver()}disconnectedCallback(){this.unsubscribe(),this.resizeObserver&&this.resizeObserver.disconnect(),this.intersectionObserver&&this.intersectionObserver.disconnect()}observeElementVisibility(t,e){const i=new IntersectionObserver((o=>{o.length>0&&o[0].isIntersecting&&(e(),i.unobserve(t))}));return i.observe(t),i}initApp(){this.initAppStore(),this.setupLoader(),this.loadData()}widgetResizeObserver(){this.resizeObserver=new ot((()=>{this.appState.size.windowHeight!==window.innerHeight&&this.appStore.dispatch(mt(window.innerHeight));const t=this.appState.size.widgetWidth!==this.el.getBoundingClientRect().width;this.isWidgetWrapExist()&&t&&(this.setWidgetWidth(),this.elementResize.emit())})),this.isWidgetWrapExist()&&this.resizeObserver.observe(this.el.parentElement)}initAppStore(){this.appStore=c({reducer:zt});const t=f(this.galleryEmbedId,this.shop,this.photoRequestId,this.el);this.appStore.dispatch(rt(t)),this.appStore.dispatch(ct(this.environment)),this.appStore.dispatch(wt(this.previewMode)),this.appState=this.appStore.getState(),this.unsubscribe=this.appStore.subscribe((()=>{this.appState=this.appStore.getState()})),this.setWidgetWidth()}setupLoader(){const t=window.location;if(this.loader=new v(this.environment,this.previewMode),"string"==typeof this.customSettings&&this.loader.setCustomSettings(JSON.parse(this.customSettings)),void 0===this.galleryEmbedId||0===this.galleryEmbedId){if(void 0!==this.shopifyProductId?this.loader.productHandle=`shopify/${this.shopifyProductId}`:null!==this.el.getAttribute("data-product")?this.loader.productHandle=this.el.getAttribute("data-product"):-1!==t.pathname.indexOf("/products/")&&(this.loader.productHandle=t.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1]),this.el.hasAttribute("data-shop")&&(this.shop=this.el.getAttribute("data-shop")),void 0===this.shop)return this.fetchingError="The Covet.pics gallery embed has not loaded due to a missing Embed ID. Please make sure to fill in the correct Embed ID",void(this.isLoading=!1);this.loader.shopDomain=this.shop}else this.loader.embedId=this.galleryEmbedId}async loadData(){if(null===this.fetchingError){this.isLoading=!0;try{const t=await this.loader.fetchItems();return this.appStore.dispatch(nt(this.loader.galleryId)),this.appStore.dispatch(ht(this.loader.shopId)),this.appStore.dispatch(St(!!this.loader.data.analytics&&this.loader.data.analytics)),void 0===t?!1:(this.appStore.dispatch(It(t.settings)),this.minNumberOfPhotos=t.settings.min_number_of_photos,this.items="highlight"===this.loader.data.settings.display_type?[...t.items]:[...this.getItemsWithUpload(t.items)],this.hideElementsIfEmpty(),this.fontsLoaded||this.loadFont(),this.hasEnoughPhotos&&g(this.appState)&&n("Covet.pics Gallery View","Covet.pics Gallery","Covet.pics Gallery View - "+this.galleryEmbedId),this.hasEnoughPhotos&&b(this.appState,"gallery_view"),this.sharedItemId=await this.findAndLoadSharedItemId(),this.initFilters(),this.isLoading=!1,!0)}catch(t){return"404"===t.message&&(this.fetchingError="The Covet.pics gallery embed has not loaded because the embed does not exist. Please verify that the correct Embed ID is being used"),this.isLoading=!1,this.fetchingError}}}removeModals(){["covet-pics-upload","covet-pics-popup","covet-pics-popup-freeflow"].forEach((t=>{const e=document.querySelector(`${t}`);null!==e&&e.remove()}))}async findAndLoadSharedItemId(){return new Promise((async t=>{if(this.loader.previewPopupMode){const e=this.items.find((t=>"upload_widget"!==t.source));return t(void 0!==e?e.id.toString():"none")}const e=h(this.loader.embedId,this.loader.galleryType);if(null===e)return t("none");if(-1!==this.items.findIndex((t=>t.id===parseInt(e))))return t(e.toString());const i=await this.loader.fetchItems();return void 0===i?t("none"):(this.items=[...this.items,...i.items],t(this.findAndLoadSharedItemId()))}))}setWidgetWidth(){const t=this.isWidgetWrapExist()?this.el.getBoundingClientRect().width:320;return this.appStore.dispatch(pt(t))}isWidgetWrapExist(){return void 0!==this.el.parentElement&&this.el.parentElement instanceof HTMLElement}get hasEnoughPhotos(){return 0!==this.items.length&&(null===this.minNumberOfPhotos||void 0!==this.loader&&void 0!==this.loader.data&&!(void 0!==this.loader.data.items&&this.loader.data.items.length<this.minNumberOfPhotos&&1===this.loader.page))}initFilters(){const t=this.loader.previewSettings.filters;this.loader.data.filters.list.forEach((t=>this.filters[t]=!1)),this.appState.preview.mode&&void 0!==t&&t.forEach((t=>this.filters[t]=!0))}loadFont(){if(this.loader.data.settings.font_family){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href","https://fonts.googleapis.com/css2?family="+this.loader.data.settings.font_family.split(" ").join("+")+":wght@300;400;600;700&display=swap"),document.head.appendChild(t)}this.fontsLoaded=!0}setWidgetCSSVariables(){let t={};return this.loader.data.settings.font_family&&""!==this.loader.data.settings.font_family&&(t["--covet-internal-font-family"]=`${this.appState.settings.font_family}`),t}getItemsWithUpload(t){return this.loader.data.settings.customer_photo_item_position?(t.splice(this.loader.data.settings.customer_photo_item_position-1,0,{source:"upload_widget",imageUrl:null!==this.appState.settings.customer_widget_cover?this.appState.settings.customer_widget_cover:void 0}),t):t}renderSliderGallery(){return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-slider",{items:this.items,"shared-item-id":this.sharedItemId,"slider-style":this.loader.data.settings.slideshow_style,appStore:this.appStore}))}renderGridGallery(){var t,e,s;return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-grid",{items:this.items,rating:null===(t=this.loader.data.reviews)||void 0===t?void 0:t.rating,"rating-count":null===(e=this.loader.data.reviews)||void 0===e?void 0:e.rating_count,"product-title":this.loader.data.product_title,breakdown:null===(s=this.loader.data.reviews)||void 0===s?void 0:s.breakdown,"filters-enabled":this.loader.data.filters.enabled,"shared-item-id":this.sharedItemId,filters:this.filters,"show-load-more":"button"===this.appState.settings.pagination&&!this.isLoading&&this.loader.totalPages>this.loader.page&&this.items.length>0,appStore:this.appStore}))}renderHighlighted(){return i(o,{style:this.setWidgetCSSVariables(),class:"highlighted"},i("covet-pics-highlighted",{numberOfPages:this.loader.data.items.length,items:this.loader.data.items,appStore:this.appStore}))}hideElementsIfEmpty(){let t=this.hideElements;t||(t=this.loader.data.settings.selector_to_hide);const e=this.loader.data.items;(void 0===e||0!==e.length)&&this.hasEnoughPhotos||""===t||document.querySelectorAll(t).forEach((t=>t.style.display="none"))}renderUploadStandalone(){return i("covet-pics-upload",{standalone:!0,appStore:this.appStore})}renderError(){return i(o,null,i("p",{class:"error-message"},this.fetchingError))}render(){if(!this.isLoading&&null!==this.fetchingError)return this.renderError();if(!this.isLoading&&this.hasEnoughPhotos){const t=this.loader.data.settings.display_type;return"upload-standalone"===t?this.renderUploadStandalone():"slider"===t?this.renderSliderGallery():"highlight"===t?this.renderHighlighted():this.renderGridGallery()}}get el(){return s(this)}};jt.style=":host{--covet-font-family:var(--covet-custom-font-family, var(--covet-internal-font-family)), sans-serif}:host{font-family:var(--covet-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;min-height:var(--covet-widget-min-height)}:host .error-message{text-align:center;border:2px dashed;padding:20px}";export{jt as covet_pics_widget}
|