@covet-pics/covet-pics-widget 0.154.1 → 0.154.2

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 (29) hide show
  1. package/dist/cjs/covet-pics-widget.cjs.entry.js +5 -1
  2. package/dist/cjs/covet-pics-widget.cjs.entry.js.map +1 -1
  3. package/dist/cjs/covet-pics-widget.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/components/covet-pics-widget/covet-pics-widget.js +22 -1
  6. package/dist/collection/components/covet-pics-widget/covet-pics-widget.js.map +1 -1
  7. package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
  8. package/dist/covet-pics-widget/covet-pics-widget.esm.js.map +1 -1
  9. package/dist/covet-pics-widget/{p-be59bac0.system.entry.js → p-3f303f8d.system.entry.js} +2 -2
  10. package/dist/covet-pics-widget/p-3f303f8d.system.entry.js.map +1 -0
  11. package/dist/covet-pics-widget/p-7884e86b.system.js +2 -2
  12. package/dist/covet-pics-widget/p-7884e86b.system.js.map +1 -1
  13. package/dist/covet-pics-widget/{p-2308dc9a.entry.js → p-9c4bffb5.entry.js} +2 -2
  14. package/dist/covet-pics-widget/p-9c4bffb5.entry.js.map +1 -0
  15. package/dist/esm/covet-pics-widget.entry.js +5 -1
  16. package/dist/esm/covet-pics-widget.entry.js.map +1 -1
  17. package/dist/esm/covet-pics-widget.js +1 -1
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm-es5/covet-pics-widget.entry.js +1 -1
  20. package/dist/esm-es5/covet-pics-widget.entry.js.map +1 -1
  21. package/dist/esm-es5/covet-pics-widget.js +2 -2
  22. package/dist/esm-es5/covet-pics-widget.js.map +1 -1
  23. package/dist/esm-es5/loader.js +1 -1
  24. package/dist/esm-es5/loader.js.map +1 -1
  25. package/dist/types/components/covet-pics-widget/covet-pics-widget.d.ts +4 -0
  26. package/dist/types/components.d.ts +8 -0
  27. package/package.json +1 -1
  28. package/dist/covet-pics-widget/p-2308dc9a.entry.js.map +0 -1
  29. package/dist/covet-pics-widget/p-be59bac0.system.entry.js.map +0 -1
@@ -948,6 +948,7 @@ const CovetPicsWidget = class {
948
948
  this.filters = {};
949
949
  this.shop = undefined;
950
950
  this.galleryEmbedId = undefined;
951
+ this.shopifyProductId = undefined;
951
952
  this.environment = undefined;
952
953
  this.customSettings = undefined;
953
954
  this.hideElements = undefined;
@@ -1067,7 +1068,10 @@ const CovetPicsWidget = class {
1067
1068
  this.loader.setCustomSettings(JSON.parse(this.customSettings));
1068
1069
  }
1069
1070
  if (typeof this.galleryEmbedId === "undefined" || this.galleryEmbedId === 0) {
1070
- if (this.el.getAttribute("data-product") !== null) {
1071
+ if (this.shopifyProductId !== undefined) {
1072
+ this.loader.productHandle = `shopify/${this.shopifyProductId}`;
1073
+ }
1074
+ else if (this.el.getAttribute("data-product") !== null) {
1071
1075
  this.loader.productHandle = this.el.getAttribute("data-product");
1072
1076
  }
1073
1077
  else if (uri.pathname.indexOf("/products/") !== -1) {
@@ -1 +1 @@
1
- {"file":"covet-pics-widget.entry.cjs.js","mappings":"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","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","h","Host"],"sources":["src/services/gallery-loader-service.ts","node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","node_modules/@juggle/resize-observer/lib/utils/freeze.js","node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","node_modules/@juggle/resize-observer/lib/utils/element.js","node_modules/@juggle/resize-observer/lib/utils/global.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","node_modules/@juggle/resize-observer/lib/utils/process.js","node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","node_modules/@juggle/resize-observer/lib/utils/scheduler.js","node_modules/@juggle/resize-observer/lib/ResizeObservation.js","node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","node_modules/@juggle/resize-observer/lib/ResizeObserver.js","src/store/widgetId.ts","src/store/url.ts","src/store/size.ts","src/store/preview.ts","src/store/analytics.ts","src/store/settings.ts","src/store/reducer.ts","src/store/configureStore.ts","src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + encodeURIComponent(f)));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items); \n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n data.settings = { ...data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null,\n photoRequestId: null\n },\n\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain, photoRequestId } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n widgetId.photoRequestId = photoRequestId;\n },\n\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\n },\n\n widgetShopIdUpdated: (widgetId, action) => {\n widgetId.shopId = action.payload;\n }\n }\n});\n\nexport const { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst BASE_API_URLS = {\n \"production\": \"https://app.covet.pics\",\n \"development\": \"http://localhost:3000\",\n \"staging\": \"https://covetstaging.spacesquirrel.net\",\n \"testing\": \"http://localhost:3000/testing_db\"\n};\n\nconst BEACONS_URL = \"/api/v1/beacons\";\n\nconst slice = createSlice({\n name: \"url\",\n initialState: {\n baseUrl: \"\",\n environment: \"\",\n baseBeaconsUrl: \"\"\n },\n reducers: {\n setEnvironment: (url, action) => {\n const env = action.payload;\n typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)\n ? url.environment = env\n : url.environment = \"production\";\n\n url.baseUrl = BASE_API_URLS[url.environment];\n url.baseBeaconsUrl = `${BASE_API_URLS[url.environment]}${BEACONS_URL}/`;\n\n return url;\n },\n }\n});\n\nexport const { setEnvironment } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"size\",\n initialState: {\n widgetWidth: 320,\n windowHeight: 600,\n isDesktopScreen: true // check default value and default width\n },\n reducers: {\n widgetWidthUpdated: (size, action) => {\n size.widgetWidth = action.payload;\n size.isDesktopScreen = action.payload >= 800;\n },\n windowHeightUpdated: (size, action) => {\n size.windowHeight = action.payload;\n },\n }\n});\n\nexport const { widgetWidthUpdated, windowHeightUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"preview\",\n initialState: {\n // settings: {},\n hoverMode: false,\n popupMode: false,\n mode: false\n },\n reducers: {\n setPreviewHoverMode: (preview, action) => {\n preview.hoverMode = action.payload;\n },\n setPreviewPopupMode: (preview, action) => {\n preview.popupMode = action.payload;\n },\n setPreviewMode: (preview, action) => {\n preview.mode = action.payload;\n }\n }\n});\n\nexport const { setPreviewHoverMode, setPreviewPopupMode, setPreviewMode } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"analytics\",\n initialState: false,\n reducers: {\n setAnalytics: (analytics, action) => {\n analytics = action.payload;\n return analytics;\n },\n }\n});\n\nexport const { setAnalytics } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\nimport { Settings } from \"../utils/types\";\n\nconst initialState: Settings = {\n add_to_cart_button_caption: \"Add to cart\",\n arrow_color_theme: \"light\",\n arrow_custom_box_color: \"#000000\",\n arrow_custom_color: \"#d3d3d3\",\n arrow_graphics_type: \"type_1\",\n arrow_size: \"standard\",\n arrow_size_custom: 48,\n background_color: \"#000000\", // check this value\n close_button_color_theme: \"dark_btn\", \n close_button_custom_box_color: \"#000000\",\n close_button_custom_color: \"#d3d3d3\",\n close_button_position: \"side\",\n close_button_size: \"standard\",\n close_button_type: \"btn_type_1\",\n customer_photo_item_label: \"Add Your Photo\",\n customer_photo_item_position: null, // number, default value null\n customer_photo_upload_body: \"We would love to see it in action\",\n customer_photo_upload_button_selector: \"\",\n customer_photo_upload_complete_body: \"Thank you for your awesome photo! You will see it on the site once it’s approved\",\n customer_photo_upload_complete_close_label: \"Close\",\n customer_photo_upload_drop_files_label: \"Drag & Drop photos here\",\n customer_photo_upload_form_body_placeholder: \"Say something about your image\",\n customer_photo_upload_form_email_placeholder: \"E-mail\",\n customer_photo_upload_form_legal_message: \"\",\n customer_photo_upload_form_name_placeholder: \"Nickname\",\n customer_photo_upload_form_send_label: \"Send\",\n customer_photo_upload_form_uploading: \"Uploading...\",\n customer_photo_upload_title: \"Show It off\",\n customer_widget_cover: null,\n desktop_arrow_position: \"middle\",\n direct_add_to_cart: true,\n display_type: \"grid\", // TODO check default value\n font_family: \"Source Sans Pro\",\n gallery_highlight: false,\n gallery_highlight_every: 0,\n gallery_highlight_every_start: 0,\n gallery_mobile_photos_per_row: 2,\n gallery_photos_count: 0,\n gallery_photos_per_row: 4,\n header_show_average_rating: true,\n header_show_breakdown: true, // TODO check default value\n header_show_sort: true,\n header_type: \"header-1\",\n hide_branding: false,\n hide_social_links: false,\n highlight_hotspots_layout: \"hotspot-tall\", // TODO BE, move hotspots layout to hotspots\n highlight_layout: \"slider\",\n highlight_products_layout: \"layout-1\",\n hotspots: {\n enabled: false,\n background_color: \"#000000\",\n show_numbers: false,\n text_color: \"#ffffff\" \n },\n item_reveal_content: \"\",\n item_animation_duration: 1,\n item_animation_type: \"hover-animation-1\",\n item_hover_background_opacity: 80,\n item_hover_border_color: \"#C1ACAC\",\n item_hover_color_from: \"#000000\", // check default value\n item_hover_color_to: \"#000000\", // check default value\n item_hover_disabled: false,\n item_hover_icon: false,\n item_label_color: \"#FFFFFF\",\n item_label_font_size: 15,\n item_label_font_style: \"Normal\",\n item_label_text: \"SHOP THIS LOOK\",\n item_mobile_padding: 0,\n item_open_link: false,\n item_padding: 1,\n item_style: \"standard\",\n item_without_product_label_text: \"SEE MORE\",\n load_more_border_width: 4,\n load_more_button_color: \"#000000\",\n load_more_button_style: \"btn_style_1\",\n load_more_font_size: 14,\n load_more_font_style: \"bold\",\n load_more_padding: 6,\n load_more_text: \"MORE\",\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n multiple_filter_enabled: false,\n padding: 0,\n pagination: \"button\", // TODO strange name of settings\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_disable_modal: false,\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n primary_color: \"#222222\", // TODO check this value\n secondary_color: \"#BFBFBF\",\n select_label_caption: \"Select\",\n show_header: false,\n show_price: true,\n show_price_in_popup: true,\n show_review: true,\n slideshow_autoplay: 0, // // TODO check this value\n slideshow_load_more: true, // TODO check this value\n slideshow_video_auto_play: false, \n slideshow_mobile_photos_per_row: 2, // TODO check this value\n slideshow_photos_per_row: 4, // TODO check this value\n slideshow_crop_mode: false, // slider crop mode, if user select 4 items and 5% space -> display ~ 3.8 slide\n slideshow_style: \"regular\",\n star_color: \"#FCD02C\", // TODO BE (rename vars to filter_) check this value\n tags_color: \"\", // TODO BE (rename vars to filter_), check default value\n tags_font_size: 12, // TODO BE (rename vars to filter_), check default value\n tags_font_weight: \"\", // TODO BE (rename vars to filter_)\n tags_padding: 0, // TODO BE (rename vars to filter_), check default value\n tags_reset_button_text: \"\" // TODO BE (rename vars to filter_), check default value \n};\n\n// converted properies based on BE settings\nconst settingsWithConvertedProperties = (settings: Settings): Settings => {\n settings._arrowsDesktopType = `arrows-${settings.arrow_graphics_type.toString().replace(\"_\", \"-\")}`;\n settings._arrowsDesktopSizeType = settings.arrow_size.toString().replace(\"_arrow\", \"\");\n settings._arrowsDesktopPosition = settings.desktop_arrow_position.toString().replace(\"sidebar_\", \"\");\n settings._arrowsMobileColorTheme = settings.mobile_arrow_color_theme.toString().replace(\"mob_\", \"\");\n settings._arrowsMobilePosition = settings.mobile_arrow_position.toString().replace(\"mob_\", \"\");\n settings._arrowsMobileType = settings.mobile_arrow_graphics_type.toString().replace(\"mob_\", \"arrows-\").replace(\"_\", \"-\");\n settings._buyButtonStyle = settings.popup_buy_button_style.replace(\"buy_btn_\", \"\").replace(\"_\", \"-\");\n settings._closeButtonType = settings.close_button_type.toString().split(\"_\").join(\"-\");\n settings._closeButtonСolorTheme = `close-button-color-theme-${settings.close_button_color_theme.toString().replace(\"_btn\", \"\")}`;\n return settings;\n};\n\nconst slice = createSlice({\n name: \"settings\",\n initialState: settingsWithConvertedProperties(initialState),\n reducers: {\n setSettings: (settings, action) => {\n settings = settingsWithConvertedProperties(action.payload);\n return settings;\n },\n }\n});\n\nexport const { setSettings } = slice.actions;\nexport default slice.reducer;\n","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n\n .error-message {\n text-align: center;\n border: 2px dashed;\n padding: 20px; \n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewHoverMode, setPreviewMode, setPreviewPopupMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n })\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n /**\n * Photo request ID\n */\n @Prop() photoRequestId: number;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n @State() fetchingError: string = null;\n private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n private filters: object = {};\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler(event) {\n const isResetFilters = event.detail.resetFilters;\n \n if (this.appState.preview.mode) { delete this.loader.previewSettings[\"filters\"]; } // TODO refactor this to action\n const clearFilters = () => {\n Object.keys(this.filters).forEach(f => this.filters[f] = false);\n this.loader.setSelectedFilters([]);\n };\n\n if (isResetFilters) {\n clearFilters();\n } else {\n const filter = event.detail.filter;\n if (!this.appState.settings.multiple_filter_enabled && !this.filters[filter]) { // toggle filter in both cases One filter and Multiple filters\n clearFilters();\n } \n this.filters[filter] = !this.filters[filter]; // toggle filter in both cases One filter and Multiple filters\n }\n \n const filtersSelected = Object.keys(this.filters).filter(f => this.filters[f]);\n this.loader.setSelectedFilters(filtersSelected);\n this.loader.resetPagination();\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"nextPage\")\n async nextPageHandler() {\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n }\n }\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.appStore.dispatch(setPreviewHoverMode(hoverPreview));\n this.appStore.dispatch(setPreviewPopupMode(popupPreview));\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.photoRequestId, this.el);\n this.appStore.dispatch(widgetIdUpdated(widgetIdParams));\n this.appStore.dispatch(setEnvironment(this.environment));\n this.appStore.dispatch(setPreviewMode(this.previewMode));\n this.appState = this.appStore.getState(); \n this.unsubscribe = this.appStore.subscribe(() => {\n this.appState = this.appStore.getState(); \n });\n this.setWidgetWidth();\n }\n\n private setupLoader() {\n const uri = window.location;\n\n this.loader = new GalleryLoaderService(this.environment, this.previewMode);\n\n if (typeof this.customSettings === \"string\") {\n this.loader.setCustomSettings(JSON.parse(this.customSettings));\n }\n\n if (typeof this.galleryEmbedId === \"undefined\" || this.galleryEmbedId === 0) {\n \n if (this.el.getAttribute(\"data-product\") !== null) {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n } else if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n }\n\n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") {\n 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\";\n this.isLoading = false;\n return;\n } else {\n this.loader.shopDomain = this.shop;\n }\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n if (this.fetchingError !== null) return;\n this.isLoading = true;\n try {\n const json = await this.loader.fetchItems();\n //TODO test set settings after call endpoint use loader\n this.appStore.dispatch(widgetGalleryIdUpdated(this.loader.galleryId));\n this.appStore.dispatch(widgetShopIdUpdated(this.loader.shopId));\n if (this.loader.data.analytics) {\n this.appStore.dispatch(setAnalytics(this.loader.data.analytics));\n } else {\n this.appStore.dispatch(setAnalytics(false));\n }\n //TODO test set settings after call endpoint use loader END\n if (typeof json === \"undefined\") return false;\n this.appStore.dispatch(setSettings(json.settings));\n this.minNumberOfPhotos = json.settings.min_number_of_photos;\n this.loader.data.settings.display_type === \"highlight\"\n ? this.items = [...json.items]\n : this.items = [...this.getItemsWithUpload(json.items)];\n\n this.hideElementsIfEmpty();\n if (!this.fontsLoaded) { this.loadFont(); }\n if (this.hasEnoughPhotos && getUseAnalytics(this.appState)) {\n const category = \"Covet.pics Gallery\";\n const action = \"Covet.pics Gallery View\";\n const label = \"Covet.pics Gallery View - \" + this.galleryEmbedId;\n sendToGoogleAnalytics(action, category, label);\n }\n\n if (this.hasEnoughPhotos) {\n sendBeacon(this.appState, \"gallery_view\");\n }\n \n this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver\n this.initFilters();\n \n this.isLoading = false;\n return true;\n } catch (err) {\n if (err.message === \"404\") {\n 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\";\n }\n this.isLoading = false;\n return this.fetchingError;\n }\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.items.length === 0) return false;\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private initFilters() {\n const previewFilters = this.loader.previewSettings[\"filters\"];\n\n this.loader.data.filters.list.forEach(f => this.filters[f] = false);\n\n // restore selected filters between preview reloads\n if (this.appState.preview.mode && typeof previewFilters !== \"undefined\") {\n previewFilters.forEach(activeFilter => this.filters[activeFilter] = true);\n }\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n const uploadItem = { \n source: \"upload_widget\", \n imageUrl: this.appState.settings.customer_widget_cover !== null ? this.appState.settings.customer_widget_cover : undefined\n };\n items.splice(uploadIndex, 0, uploadItem);\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n shared-item-id={this.sharedItemId}\n slider-style={this.loader.data.settings.slideshow_style}\n appStore={this.appStore}\n >\n </covet-pics-gallery-slider>\n </Host>\n );\n }\n\n private renderGridGallery() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-grid\n items={this.items}\n rating={this.loader.data.reviews?.rating}\n rating-count={this.loader.data.reviews?.rating_count}\n product-title={this.loader.data.product_title}\n breakdown={this.loader.data.reviews?.breakdown}\n filters-enabled={this.loader.data.filters.enabled}\n shared-item-id={this.sharedItemId}\n filters={this.filters}\n show-load-more={this.appState.settings.pagination === \"button\" && !this.isLoading && this.loader.totalPages > this.loader.page && this.items.length > 0}\n appStore={this.appStore}>\n </covet-pics-gallery-grid>\n </Host>\n );\n }\n\n private renderHighlighted() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"highlighted\">\n <covet-pics-highlighted\n numberOfPages={this.loader.data.items.length}\n items={this.loader.data.items}\n appStore={this.appStore}\n >\n </covet-pics-highlighted>\n </Host >\n );\n }\n\n private hideElementsIfEmpty() {\n let selector = this.hideElements;\n if (!selector) {\n selector = this.loader.data.settings.selector_to_hide;\n }\n const items = this.loader.data.items;\n const isEmpty = (typeof items !== \"undefined\" && items.length === 0) || !this.hasEnoughPhotos;\n\n if (isEmpty && selector !== \"\") {\n const nodes = document.querySelectorAll(selector) as NodeListOf<HTMLElement>;\n nodes.forEach(node => node.style.display = \"none\");\n }\n }\n\n private renderUploadStandalone() {\n return (\n <covet-pics-upload standalone={true} appStore={this.appStore}></covet-pics-upload>\n );\n }\n\n private renderError() {\n return (\n <Host>\n <p class=\"error-message\">{this.fetchingError}</p>\n </Host>\n );\n }\n\n render() {\n if (!this.isLoading && this.fetchingError !== null) return this.renderError();\n if (!this.isLoading && this.hasEnoughPhotos) {\n const displayType = this.loader.data.settings.display_type;\n if (displayType === \"upload-standalone\") return this.renderUploadStandalone(); // case render only upload widget\n if (displayType === \"slider\") return this.renderSliderGallery();\n if (displayType === \"highlight\") return this.renderHighlighted();\n return this.renderGridGallery();\n }\n }\n}\n"],"version":3}
1
+ {"file":"covet-pics-widget.entry.cjs.js","mappings":"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","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","h","Host"],"sources":["src/services/gallery-loader-service.ts","node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","node_modules/@juggle/resize-observer/lib/utils/freeze.js","node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","node_modules/@juggle/resize-observer/lib/utils/element.js","node_modules/@juggle/resize-observer/lib/utils/global.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","node_modules/@juggle/resize-observer/lib/utils/process.js","node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","node_modules/@juggle/resize-observer/lib/utils/scheduler.js","node_modules/@juggle/resize-observer/lib/ResizeObservation.js","node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","node_modules/@juggle/resize-observer/lib/ResizeObserver.js","src/store/widgetId.ts","src/store/url.ts","src/store/size.ts","src/store/preview.ts","src/store/analytics.ts","src/store/settings.ts","src/store/reducer.ts","src/store/configureStore.ts","src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + encodeURIComponent(f)));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n\n if (!response.ok) {\n throw new Error(`${response.status}`);\n }\n\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items); \n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n data.settings = { ...data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null,\n photoRequestId: null\n },\n\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain, photoRequestId } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n widgetId.photoRequestId = photoRequestId;\n },\n\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\n },\n\n widgetShopIdUpdated: (widgetId, action) => {\n widgetId.shopId = action.payload;\n }\n }\n});\n\nexport const { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst BASE_API_URLS = {\n \"production\": \"https://app.covet.pics\",\n \"development\": \"http://localhost:3000\",\n \"staging\": \"https://covetstaging.spacesquirrel.net\",\n \"testing\": \"http://localhost:3000/testing_db\"\n};\n\nconst BEACONS_URL = \"/api/v1/beacons\";\n\nconst slice = createSlice({\n name: \"url\",\n initialState: {\n baseUrl: \"\",\n environment: \"\",\n baseBeaconsUrl: \"\"\n },\n reducers: {\n setEnvironment: (url, action) => {\n const env = action.payload;\n typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)\n ? url.environment = env\n : url.environment = \"production\";\n\n url.baseUrl = BASE_API_URLS[url.environment];\n url.baseBeaconsUrl = `${BASE_API_URLS[url.environment]}${BEACONS_URL}/`;\n\n return url;\n },\n }\n});\n\nexport const { setEnvironment } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"size\",\n initialState: {\n widgetWidth: 320,\n windowHeight: 600,\n isDesktopScreen: true // check default value and default width\n },\n reducers: {\n widgetWidthUpdated: (size, action) => {\n size.widgetWidth = action.payload;\n size.isDesktopScreen = action.payload >= 800;\n },\n windowHeightUpdated: (size, action) => {\n size.windowHeight = action.payload;\n },\n }\n});\n\nexport const { widgetWidthUpdated, windowHeightUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"preview\",\n initialState: {\n // settings: {},\n hoverMode: false,\n popupMode: false,\n mode: false\n },\n reducers: {\n setPreviewHoverMode: (preview, action) => {\n preview.hoverMode = action.payload;\n },\n setPreviewPopupMode: (preview, action) => {\n preview.popupMode = action.payload;\n },\n setPreviewMode: (preview, action) => {\n preview.mode = action.payload;\n }\n }\n});\n\nexport const { setPreviewHoverMode, setPreviewPopupMode, setPreviewMode } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"analytics\",\n initialState: false,\n reducers: {\n setAnalytics: (analytics, action) => {\n analytics = action.payload;\n return analytics;\n },\n }\n});\n\nexport const { setAnalytics } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\nimport { Settings } from \"../utils/types\";\n\nconst initialState: Settings = {\n add_to_cart_button_caption: \"Add to cart\",\n arrow_color_theme: \"light\",\n arrow_custom_box_color: \"#000000\",\n arrow_custom_color: \"#d3d3d3\",\n arrow_graphics_type: \"type_1\",\n arrow_size: \"standard\",\n arrow_size_custom: 48,\n background_color: \"#000000\", // check this value\n close_button_color_theme: \"dark_btn\", \n close_button_custom_box_color: \"#000000\",\n close_button_custom_color: \"#d3d3d3\",\n close_button_position: \"side\",\n close_button_size: \"standard\",\n close_button_type: \"btn_type_1\",\n customer_photo_item_label: \"Add Your Photo\",\n customer_photo_item_position: null, // number, default value null\n customer_photo_upload_body: \"We would love to see it in action\",\n customer_photo_upload_button_selector: \"\",\n customer_photo_upload_complete_body: \"Thank you for your awesome photo! You will see it on the site once it’s approved\",\n customer_photo_upload_complete_close_label: \"Close\",\n customer_photo_upload_drop_files_label: \"Drag & Drop photos here\",\n customer_photo_upload_form_body_placeholder: \"Say something about your image\",\n customer_photo_upload_form_email_placeholder: \"E-mail\",\n customer_photo_upload_form_legal_message: \"\",\n customer_photo_upload_form_name_placeholder: \"Nickname\",\n customer_photo_upload_form_send_label: \"Send\",\n customer_photo_upload_form_uploading: \"Uploading...\",\n customer_photo_upload_title: \"Show It off\",\n customer_widget_cover: null,\n desktop_arrow_position: \"middle\",\n direct_add_to_cart: true,\n display_type: \"grid\", // TODO check default value\n font_family: \"Source Sans Pro\",\n gallery_highlight: false,\n gallery_highlight_every: 0,\n gallery_highlight_every_start: 0,\n gallery_mobile_photos_per_row: 2,\n gallery_photos_count: 0,\n gallery_photos_per_row: 4,\n header_show_average_rating: true,\n header_show_breakdown: true, // TODO check default value\n header_show_sort: true,\n header_type: \"header-1\",\n hide_branding: false,\n hide_social_links: false,\n highlight_hotspots_layout: \"hotspot-tall\", // TODO BE, move hotspots layout to hotspots\n highlight_layout: \"slider\",\n highlight_products_layout: \"layout-1\",\n hotspots: {\n enabled: false,\n background_color: \"#000000\",\n show_numbers: false,\n text_color: \"#ffffff\" \n },\n item_reveal_content: \"\",\n item_animation_duration: 1,\n item_animation_type: \"hover-animation-1\",\n item_hover_background_opacity: 80,\n item_hover_border_color: \"#C1ACAC\",\n item_hover_color_from: \"#000000\", // check default value\n item_hover_color_to: \"#000000\", // check default value\n item_hover_disabled: false,\n item_hover_icon: false,\n item_label_color: \"#FFFFFF\",\n item_label_font_size: 15,\n item_label_font_style: \"Normal\",\n item_label_text: \"SHOP THIS LOOK\",\n item_mobile_padding: 0,\n item_open_link: false,\n item_padding: 1,\n item_style: \"standard\",\n item_without_product_label_text: \"SEE MORE\",\n load_more_border_width: 4,\n load_more_button_color: \"#000000\",\n load_more_button_style: \"btn_style_1\",\n load_more_font_size: 14,\n load_more_font_style: \"bold\",\n load_more_padding: 6,\n load_more_text: \"MORE\",\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n multiple_filter_enabled: false,\n padding: 0,\n pagination: \"button\", // TODO strange name of settings\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_disable_modal: false,\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n primary_color: \"#222222\", // TODO check this value\n secondary_color: \"#BFBFBF\",\n select_label_caption: \"Select\",\n show_header: false,\n show_price: true,\n show_price_in_popup: true,\n show_review: true,\n slideshow_autoplay: 0, // // TODO check this value\n slideshow_load_more: true, // TODO check this value\n slideshow_video_auto_play: false, \n slideshow_mobile_photos_per_row: 2, // TODO check this value\n slideshow_photos_per_row: 4, // TODO check this value\n slideshow_crop_mode: false, // slider crop mode, if user select 4 items and 5% space -> display ~ 3.8 slide\n slideshow_style: \"regular\",\n star_color: \"#FCD02C\", // TODO BE (rename vars to filter_) check this value\n tags_color: \"\", // TODO BE (rename vars to filter_), check default value\n tags_font_size: 12, // TODO BE (rename vars to filter_), check default value\n tags_font_weight: \"\", // TODO BE (rename vars to filter_)\n tags_padding: 0, // TODO BE (rename vars to filter_), check default value\n tags_reset_button_text: \"\" // TODO BE (rename vars to filter_), check default value \n};\n\n// converted properies based on BE settings\nconst settingsWithConvertedProperties = (settings: Settings): Settings => {\n settings._arrowsDesktopType = `arrows-${settings.arrow_graphics_type.toString().replace(\"_\", \"-\")}`;\n settings._arrowsDesktopSizeType = settings.arrow_size.toString().replace(\"_arrow\", \"\");\n settings._arrowsDesktopPosition = settings.desktop_arrow_position.toString().replace(\"sidebar_\", \"\");\n settings._arrowsMobileColorTheme = settings.mobile_arrow_color_theme.toString().replace(\"mob_\", \"\");\n settings._arrowsMobilePosition = settings.mobile_arrow_position.toString().replace(\"mob_\", \"\");\n settings._arrowsMobileType = settings.mobile_arrow_graphics_type.toString().replace(\"mob_\", \"arrows-\").replace(\"_\", \"-\");\n settings._buyButtonStyle = settings.popup_buy_button_style.replace(\"buy_btn_\", \"\").replace(\"_\", \"-\");\n settings._closeButtonType = settings.close_button_type.toString().split(\"_\").join(\"-\");\n settings._closeButtonСolorTheme = `close-button-color-theme-${settings.close_button_color_theme.toString().replace(\"_btn\", \"\")}`;\n return settings;\n};\n\nconst slice = createSlice({\n name: \"settings\",\n initialState: settingsWithConvertedProperties(initialState),\n reducers: {\n setSettings: (settings, action) => {\n settings = settingsWithConvertedProperties(action.payload);\n return settings;\n },\n }\n});\n\nexport const { setSettings } = slice.actions;\nexport default slice.reducer;\n","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n\n .error-message {\n text-align: center;\n border: 2px dashed;\n padding: 20px; \n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewHoverMode, setPreviewMode, setPreviewPopupMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n })\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * product id in case product handle can be translated\n */\n @Prop() shopifyProductId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n /**\n * Photo request ID\n */\n @Prop() photoRequestId: number;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n @State() fetchingError: string = null;\n private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n private filters: object = {};\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler(event) {\n const isResetFilters = event.detail.resetFilters;\n \n if (this.appState.preview.mode) { delete this.loader.previewSettings[\"filters\"]; } // TODO refactor this to action\n const clearFilters = () => {\n Object.keys(this.filters).forEach(f => this.filters[f] = false);\n this.loader.setSelectedFilters([]);\n };\n\n if (isResetFilters) {\n clearFilters();\n } else {\n const filter = event.detail.filter;\n if (!this.appState.settings.multiple_filter_enabled && !this.filters[filter]) { // toggle filter in both cases One filter and Multiple filters\n clearFilters();\n } \n this.filters[filter] = !this.filters[filter]; // toggle filter in both cases One filter and Multiple filters\n }\n \n const filtersSelected = Object.keys(this.filters).filter(f => this.filters[f]);\n this.loader.setSelectedFilters(filtersSelected);\n this.loader.resetPagination();\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"nextPage\")\n async nextPageHandler() {\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n }\n }\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.appStore.dispatch(setPreviewHoverMode(hoverPreview));\n this.appStore.dispatch(setPreviewPopupMode(popupPreview));\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.photoRequestId, this.el);\n this.appStore.dispatch(widgetIdUpdated(widgetIdParams));\n this.appStore.dispatch(setEnvironment(this.environment));\n this.appStore.dispatch(setPreviewMode(this.previewMode));\n this.appState = this.appStore.getState(); \n this.unsubscribe = this.appStore.subscribe(() => {\n this.appState = this.appStore.getState(); \n });\n this.setWidgetWidth();\n }\n\n private setupLoader() {\n const uri = window.location;\n\n this.loader = new GalleryLoaderService(this.environment, this.previewMode);\n\n if (typeof this.customSettings === \"string\") {\n this.loader.setCustomSettings(JSON.parse(this.customSettings));\n }\n\n if (typeof this.galleryEmbedId === \"undefined\" || this.galleryEmbedId === 0) {\n\n if (this.shopifyProductId !== undefined) {\n this.loader.productHandle = `shopify/${this.shopifyProductId}`;\n } else if (this.el.getAttribute(\"data-product\") !== null) {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n } else if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n }\n \n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") {\n 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\";\n this.isLoading = false;\n return;\n } else {\n this.loader.shopDomain = this.shop;\n }\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n if (this.fetchingError !== null) return;\n this.isLoading = true;\n try {\n const json = await this.loader.fetchItems();\n //TODO test set settings after call endpoint use loader\n this.appStore.dispatch(widgetGalleryIdUpdated(this.loader.galleryId));\n this.appStore.dispatch(widgetShopIdUpdated(this.loader.shopId));\n if (this.loader.data.analytics) {\n this.appStore.dispatch(setAnalytics(this.loader.data.analytics));\n } else {\n this.appStore.dispatch(setAnalytics(false));\n }\n //TODO test set settings after call endpoint use loader END\n if (typeof json === \"undefined\") return false;\n this.appStore.dispatch(setSettings(json.settings));\n this.minNumberOfPhotos = json.settings.min_number_of_photos;\n this.loader.data.settings.display_type === \"highlight\"\n ? this.items = [...json.items]\n : this.items = [...this.getItemsWithUpload(json.items)];\n\n this.hideElementsIfEmpty();\n if (!this.fontsLoaded) { this.loadFont(); }\n if (this.hasEnoughPhotos && getUseAnalytics(this.appState)) {\n const category = \"Covet.pics Gallery\";\n const action = \"Covet.pics Gallery View\";\n const label = \"Covet.pics Gallery View - \" + this.galleryEmbedId;\n sendToGoogleAnalytics(action, category, label);\n }\n\n if (this.hasEnoughPhotos) {\n sendBeacon(this.appState, \"gallery_view\");\n }\n \n this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver\n this.initFilters();\n \n this.isLoading = false;\n return true;\n } catch (err) {\n if (err.message === \"404\") {\n 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\";\n }\n this.isLoading = false;\n return this.fetchingError;\n }\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.items.length === 0) return false;\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private initFilters() {\n const previewFilters = this.loader.previewSettings[\"filters\"];\n\n this.loader.data.filters.list.forEach(f => this.filters[f] = false);\n\n // restore selected filters between preview reloads\n if (this.appState.preview.mode && typeof previewFilters !== \"undefined\") {\n previewFilters.forEach(activeFilter => this.filters[activeFilter] = true);\n }\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n const uploadItem = { \n source: \"upload_widget\", \n imageUrl: this.appState.settings.customer_widget_cover !== null ? this.appState.settings.customer_widget_cover : undefined\n };\n items.splice(uploadIndex, 0, uploadItem);\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n shared-item-id={this.sharedItemId}\n slider-style={this.loader.data.settings.slideshow_style}\n appStore={this.appStore}\n >\n </covet-pics-gallery-slider>\n </Host>\n );\n }\n\n private renderGridGallery() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-grid\n items={this.items}\n rating={this.loader.data.reviews?.rating}\n rating-count={this.loader.data.reviews?.rating_count}\n product-title={this.loader.data.product_title}\n breakdown={this.loader.data.reviews?.breakdown}\n filters-enabled={this.loader.data.filters.enabled}\n shared-item-id={this.sharedItemId}\n filters={this.filters}\n show-load-more={this.appState.settings.pagination === \"button\" && !this.isLoading && this.loader.totalPages > this.loader.page && this.items.length > 0}\n appStore={this.appStore}>\n </covet-pics-gallery-grid>\n </Host>\n );\n }\n\n private renderHighlighted() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"highlighted\">\n <covet-pics-highlighted\n numberOfPages={this.loader.data.items.length}\n items={this.loader.data.items}\n appStore={this.appStore}\n >\n </covet-pics-highlighted>\n </Host >\n );\n }\n\n private hideElementsIfEmpty() {\n let selector = this.hideElements;\n if (!selector) {\n selector = this.loader.data.settings.selector_to_hide;\n }\n const items = this.loader.data.items;\n const isEmpty = (typeof items !== \"undefined\" && items.length === 0) || !this.hasEnoughPhotos;\n\n if (isEmpty && selector !== \"\") {\n const nodes = document.querySelectorAll(selector) as NodeListOf<HTMLElement>;\n nodes.forEach(node => node.style.display = \"none\");\n }\n }\n\n private renderUploadStandalone() {\n return (\n <covet-pics-upload standalone={true} appStore={this.appStore}></covet-pics-upload>\n );\n }\n\n private renderError() {\n return (\n <Host>\n <p class=\"error-message\">{this.fetchingError}</p>\n </Host>\n );\n }\n\n render() {\n if (!this.isLoading && this.fetchingError !== null) return this.renderError();\n if (!this.isLoading && this.hasEnoughPhotos) {\n const displayType = this.loader.data.settings.display_type;\n if (displayType === \"upload-standalone\") return this.renderUploadStandalone(); // case render only upload widget\n if (displayType === \"slider\") return this.renderSliderGallery();\n if (displayType === \"highlight\") return this.renderHighlighted();\n return this.renderGridGallery();\n }\n }\n}\n"],"version":3}
@@ -22,7 +22,7 @@ const patchBrowser = () => {
22
22
 
23
23
  patchBrowser().then(async (options) => {
24
24
  await appGlobals.globalScripts();
25
- return index.bootstrapLazy([["covet-pics-highlighted-hotspots_2.cjs",[[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],"productLinks":[16],"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],"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]},null,{"thumbnailUrl":["refreshHotspot"],"activeHotspot":["activeHotspotHandler"]}]]],["covet-pics-crop-text.cjs",[[0,"covet-pics-crop-text",{"text":[1],"textClass":[1,"text-class"],"textColor":[1,"text-color"],"ratio":[16],"cropCSS":[32]}]]],["covet-pics-star-rating.cjs",[[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]}]]],["covet-pics-direct-buy_6.cjs",[[1,"covet-pics-direct-buy",{"product":[8],"moneyFormat":[1,"money-format"],"appStore":[16],"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],"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]}]]],["covet-pics-gallery-header_5.cjs",[[0,"covet-pics-gallery-header",{"rating":[2],"productTitle":[1,"product-title"],"breakdown":[16],"appStore":[16],"showBreakdownDropdown":[32],"showSortDropdown":[32],"isDesktopScreen":[32]}],[1,"covet-pics-popup",{"appStore":[16],"item":[32],"product":[32],"directBuyIsOpen":[32],"popupTabIndex":[32],"settings":[32],"isPreviousEnable":[32],"openPopup":[64],"closePopup":[64]},[[4,"addToCart:covetPics","addToCartHandler"],[16,"productLinkClicked","productLinkClickedHandler"]],{"item":["itemChangedHandler"]}],[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],"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],"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],"starRating":[32],"isFormValid":[32],"showFormWarning":[32],"thumbnailLinks":[32],"toShowLinks":[32],"dropedImagesNumber":[32],"isAnimating":[32],"notificationMessage":[32],"isNotificationActive":[32],"widgetWidth":[32],"uploadTabIndex":[32],"openUpload":[64]}]]],["covet-pics-gallery-grid_3.cjs",[[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],"sharedItemId":[1,"shared-item-id"],"isLoading":[32],"showSort":[32],"isGridDisabled":[32],"isDesktopScreen":[32],"itemSize":[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"]],{"items":["itemsChangeHandler"]}],[0,"covet-pics-gallery-slider",{"items":[16],"sharedItemId":[1,"shared-item-id"],"sliderStyle":[1,"slider-style"],"appStore":[16],"itemSize":[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"]],{"items":["itemsChangeHandler"]}],[0,"covet-pics-highlighted",{"numberOfPages":[2,"number-of-pages"],"items":[16],"appStore":[16],"productLinks":[32],"mainSliderIndex":[32],"mainSliderAnimatingSlides":[32],"windowHeight":[32],"isDesktopScreen":[32]}]]],["covet-pics-widget.cjs",[[1,"covet-pics-widget",{"shop":[1],"galleryEmbedId":[2,"gallery-embed-id"],"environment":[1],"customSettings":[1,"custom-settings"],"hideElements":[1,"hide-elements"],"previewMode":[4,"preview-mode"],"photoRequestId":[2,"photo-request-id"],"isLoading":[32],"minNumberOfPhotos":[32],"items":[32],"appStore":[32],"fetchingError":[32],"updateUploadWidgetCoverPreview":[64],"updatePreviewSettings":[64]},[[0,"sortUpdated","sortUpdatedHandler"],[0,"filtersUpdated","filtersUpdatedHandler"],[0,"nextPage","nextPageHandler"]]]]],["covet-pics-gallery-item-caption.cjs",[[0,"covet-pics-gallery-item-caption",{"caption":[1],"captionClass":[1,"caption-class"],"itemStyle":[1,"item-style"],"layoutType":[1,"layout-type"],"reviewCSS":[32]},[[16,"sliderInit:covetPics","initSize"],[16,"sliderUpdate:covetPics","updateSize"]]]]]], options);
25
+ return index.bootstrapLazy([["covet-pics-highlighted-hotspots_2.cjs",[[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],"productLinks":[16],"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],"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]},null,{"thumbnailUrl":["refreshHotspot"],"activeHotspot":["activeHotspotHandler"]}]]],["covet-pics-crop-text.cjs",[[0,"covet-pics-crop-text",{"text":[1],"textClass":[1,"text-class"],"textColor":[1,"text-color"],"ratio":[16],"cropCSS":[32]}]]],["covet-pics-star-rating.cjs",[[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]}]]],["covet-pics-direct-buy_6.cjs",[[1,"covet-pics-direct-buy",{"product":[8],"moneyFormat":[1,"money-format"],"appStore":[16],"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],"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]}]]],["covet-pics-gallery-header_5.cjs",[[0,"covet-pics-gallery-header",{"rating":[2],"productTitle":[1,"product-title"],"breakdown":[16],"appStore":[16],"showBreakdownDropdown":[32],"showSortDropdown":[32],"isDesktopScreen":[32]}],[1,"covet-pics-popup",{"appStore":[16],"item":[32],"product":[32],"directBuyIsOpen":[32],"popupTabIndex":[32],"settings":[32],"isPreviousEnable":[32],"openPopup":[64],"closePopup":[64]},[[4,"addToCart:covetPics","addToCartHandler"],[16,"productLinkClicked","productLinkClickedHandler"]],{"item":["itemChangedHandler"]}],[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],"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],"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],"starRating":[32],"isFormValid":[32],"showFormWarning":[32],"thumbnailLinks":[32],"toShowLinks":[32],"dropedImagesNumber":[32],"isAnimating":[32],"notificationMessage":[32],"isNotificationActive":[32],"widgetWidth":[32],"uploadTabIndex":[32],"openUpload":[64]}]]],["covet-pics-gallery-grid_3.cjs",[[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],"sharedItemId":[1,"shared-item-id"],"isLoading":[32],"showSort":[32],"isGridDisabled":[32],"isDesktopScreen":[32],"itemSize":[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"]],{"items":["itemsChangeHandler"]}],[0,"covet-pics-gallery-slider",{"items":[16],"sharedItemId":[1,"shared-item-id"],"sliderStyle":[1,"slider-style"],"appStore":[16],"itemSize":[32]},[[0,"imageLoaded","imagesLoadedHandler"],[0,"itemClicked","itemClickedHandler"],[8,"previousPopupEvent","prevPopupHandler"],[8,"nextPopupEvent","nextPopupHandler"],[8,"elementResize","elementResizeHandler"]],{"items":["itemsChangeHandler"]}],[0,"covet-pics-highlighted",{"numberOfPages":[2,"number-of-pages"],"items":[16],"appStore":[16],"productLinks":[32],"mainSliderIndex":[32],"mainSliderAnimatingSlides":[32],"windowHeight":[32],"isDesktopScreen":[32]}]]],["covet-pics-widget.cjs",[[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"],"isLoading":[32],"minNumberOfPhotos":[32],"items":[32],"appStore":[32],"fetchingError":[32],"updateUploadWidgetCoverPreview":[64],"updatePreviewSettings":[64]},[[0,"sortUpdated","sortUpdatedHandler"],[0,"filtersUpdated","filtersUpdatedHandler"],[0,"nextPage","nextPageHandler"]]]]],["covet-pics-gallery-item-caption.cjs",[[0,"covet-pics-gallery-item-caption",{"caption":[1],"captionClass":[1,"caption-class"],"itemStyle":[1,"item-style"],"layoutType":[1,"layout-type"],"reviewCSS":[32]},[[16,"sliderInit:covetPics","initSize"],[16,"sliderUpdate:covetPics","updateSize"]]]]]], options);
26
26
  });
27
27
 
28
28
  exports.setNonce = index.setNonce;