@covet-pics/covet-pics-widget 0.162.9 → 0.162.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/covet-pics-widget.cjs.entry.js +7 -2
- package/dist/cjs/covet-pics-widget.cjs.entry.js.map +1 -1
- package/dist/collection/store/settings.js +7 -2
- package/dist/collection/store/settings.js.map +1 -1
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-4c614276.system.entry.js → p-31bdaff6.system.entry.js} +2 -2
- package/dist/covet-pics-widget/p-31bdaff6.system.entry.js.map +1 -0
- package/dist/covet-pics-widget/p-3ee04256.system.js +1 -1
- package/dist/covet-pics-widget/{p-c0133d56.entry.js → p-b269a7d6.entry.js} +2 -2
- package/dist/covet-pics-widget/p-b269a7d6.entry.js.map +1 -0
- package/dist/esm/covet-pics-widget.entry.js +7 -2
- package/dist/esm/covet-pics-widget.entry.js.map +1 -1
- package/dist/esm-es5/covet-pics-widget.entry.js +1 -1
- package/dist/esm-es5/covet-pics-widget.entry.js.map +1 -1
- package/package.json +1 -1
- package/dist/covet-pics-widget/p-4c614276.system.entry.js.map +0 -1
- package/dist/covet-pics-widget/p-c0133d56.entry.js.map +0 -1
|
@@ -929,8 +929,13 @@ const slice = popup.createSlice({
|
|
|
929
929
|
initialState: settingsWithConvertedProperties(initialState),
|
|
930
930
|
reducers: {
|
|
931
931
|
setSettings: (settings, action) => {
|
|
932
|
-
|
|
933
|
-
|
|
932
|
+
const validBackendSettings = {};
|
|
933
|
+
Object.keys(action.payload).forEach(key => {
|
|
934
|
+
if (action.payload[key] !== undefined) {
|
|
935
|
+
validBackendSettings[key] = action.payload[key];
|
|
936
|
+
}
|
|
937
|
+
});
|
|
938
|
+
return settingsWithConvertedProperties(Object.assign(Object.assign({}, settings), validBackendSettings));
|
|
934
939
|
},
|
|
935
940
|
}
|
|
936
941
|
});
|
|
@@ -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","setPopupItems","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 if (this.previewSettings[\"settings\"] !== undefined) {\n data.settings = { ...data.settings, ...this._customSettings, ...this.previewSettings[\"settings\"] };\n } else {\n data.settings = { ...data.settings, ...this._customSettings };\n }\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_feed_show_caption: true,\n popup_feed_show_navigation_arrows: false,\n popup_feed_show_star_rating: true,\n popup_feed_sound_on: true,\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_style: \"standard\", // standard, feed\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_arrows_desktop_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_arrows_mobile_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_arrows_desktop_position: \"top\", // bottom, middle, top, none\n slideshow_arrows_mobile_position: \"top\", // bottom, middle, top, none\n slideshow_scrollbar_desktop_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_scrollbar_mobile_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_scrollbar_desktop_position: \"top\", // bottom, middle, top\n slideshow_scrollbar_mobile_position: \"top\", // bottom, middle, top\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 slideshow_desktop_pagination_style: \"none\", // none, dots, animated-dots, line\n slideshow_mobile_pagination_style: \"dots\", // none, dots, animated-dots, line\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;","@import \"covet-pics-vars.scss\";\n\n:host {\n font-family: var(--covet-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 min-height: var(--covet-widget-min-height);\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\";\nimport { setPopupItems } from \"../../store/popup\";\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 /**\n * Lazy load widget\n */\n @Prop() lazyLoad: boolean = false;\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 private intersectionObserver: IntersectionObserver;\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 @Listen(\"popupFreeflowNextPage\", { target: 'document' }) // TODO refactor this event name\n async nextPageHandlerFreeflow(event) {\n if (event.detail.embedId === this.appState.widgetId.embedId) { // TODO check correct checking widget ID on case multiple widgets on page\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n this.appStore.dispatch(setPopupItems(this.items));\n }\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.removeModals();\n\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 if (this.lazyLoad) {\n this.setupLazyLoading();\n } else {\n this.initApp();\n }\n }\n\n private setupLazyLoading() {\n\n \n this.el.style.setProperty(\"--covet-widget-min-height\", \"5px\");\n this.intersectionObserver = this.observeElementVisibility(this.el, () => {\n this.initApp();\n this.widgetResizeObserver();\n this.el.style.setProperty(\"--covet-widget-min-height\", \"0\");\n });\n }\n\n componentDidLoad() {\n if (!this.lazyLoad) {\n this.widgetResizeObserver();\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n }\n }\n\n private observeElementVisibility(el: HTMLElement, callback: () => void): IntersectionObserver {\n const observer = new IntersectionObserver(entries => {\n if (entries.length > 0 && entries[0].isIntersecting) {\n callback();\n observer.unobserve(el);\n }\n });\n observer.observe(el);\n return observer;\n }\n\n private initApp() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n private widgetResizeObserver() {\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 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 removeModals() {\n const modalsSelector = [\"covet-pics-upload\", \"covet-pics-popup\", \"covet-pics-popup-freeflow\"];\n modalsSelector.forEach(selector => {\n const modal = document.querySelector(`${selector}`);\n if (modal !== null) {\n modal.remove();\n }\n });\n }\n\n private async findAndLoadSharedItemId(): Promise<string> {\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-internal-font-family\"] = `${this.appState.settings.font_family}`;\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","setPopupItems","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 if (this.previewSettings[\"settings\"] !== undefined) {\n data.settings = { ...data.settings, ...this._customSettings, ...this.previewSettings[\"settings\"] };\n } else {\n data.settings = { ...data.settings, ...this._customSettings };\n }\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_feed_show_caption: true,\n popup_feed_show_navigation_arrows: false,\n popup_feed_show_star_rating: true,\n popup_feed_sound_on: true,\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_style: \"standard\", // standard, feed\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_arrows_desktop_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_arrows_mobile_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_arrows_desktop_position: \"top\", // bottom, middle, top, none\n slideshow_arrows_mobile_position: \"top\", // bottom, middle, top, none\n slideshow_scrollbar_desktop_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_scrollbar_mobile_align: \"start\", // (top, bottom) start, end, center, stretch / (middle) inside, outside\n slideshow_scrollbar_desktop_position: \"top\", // bottom, middle, top\n slideshow_scrollbar_mobile_position: \"top\", // bottom, middle, top\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 slideshow_desktop_pagination_style: \"none\", // none, dots, animated-dots, line\n slideshow_mobile_pagination_style: \"dots\", // none, dots, animated-dots, line\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 const validBackendSettings = {};\n Object.keys(action.payload).forEach(key => {\n if (action.payload[key] !== undefined) {\n validBackendSettings[key] = action.payload[key];\n }\n });\n return settingsWithConvertedProperties({...settings, ...validBackendSettings});\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;","@import \"covet-pics-vars.scss\";\n\n:host {\n font-family: var(--covet-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 min-height: var(--covet-widget-min-height);\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\";\nimport { setPopupItems } from \"../../store/popup\";\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 /**\n * Lazy load widget\n */\n @Prop() lazyLoad: boolean = false;\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 private intersectionObserver: IntersectionObserver;\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 @Listen(\"popupFreeflowNextPage\", { target: 'document' }) // TODO refactor this event name\n async nextPageHandlerFreeflow(event) {\n if (event.detail.embedId === this.appState.widgetId.embedId) { // TODO check correct checking widget ID on case multiple widgets on page\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n this.appStore.dispatch(setPopupItems(this.items));\n }\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.removeModals();\n\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 if (this.lazyLoad) {\n this.setupLazyLoading();\n } else {\n this.initApp();\n }\n }\n\n private setupLazyLoading() {\n\n \n this.el.style.setProperty(\"--covet-widget-min-height\", \"5px\");\n this.intersectionObserver = this.observeElementVisibility(this.el, () => {\n this.initApp();\n this.widgetResizeObserver();\n this.el.style.setProperty(\"--covet-widget-min-height\", \"0\");\n });\n }\n\n componentDidLoad() {\n if (!this.lazyLoad) {\n this.widgetResizeObserver();\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n }\n }\n\n private observeElementVisibility(el: HTMLElement, callback: () => void): IntersectionObserver {\n const observer = new IntersectionObserver(entries => {\n if (entries.length > 0 && entries[0].isIntersecting) {\n callback();\n observer.unobserve(el);\n }\n });\n observer.observe(el);\n return observer;\n }\n\n private initApp() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n private widgetResizeObserver() {\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 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 removeModals() {\n const modalsSelector = [\"covet-pics-upload\", \"covet-pics-popup\", \"covet-pics-popup-freeflow\"];\n modalsSelector.forEach(selector => {\n const modal = document.querySelector(`${selector}`);\n if (modal !== null) {\n modal.remove();\n }\n });\n }\n\n private async findAndLoadSharedItemId(): Promise<string> {\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-internal-font-family\"] = `${this.appState.settings.font_family}`;\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}
|
|
@@ -161,8 +161,13 @@ const slice = createSlice({
|
|
|
161
161
|
initialState: settingsWithConvertedProperties(initialState),
|
|
162
162
|
reducers: {
|
|
163
163
|
setSettings: (settings, action) => {
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
const validBackendSettings = {};
|
|
165
|
+
Object.keys(action.payload).forEach(key => {
|
|
166
|
+
if (action.payload[key] !== undefined) {
|
|
167
|
+
validBackendSettings[key] = action.payload[key];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return settingsWithConvertedProperties(Object.assign(Object.assign({}, settings), validBackendSettings));
|
|
166
171
|
},
|
|
167
172
|
}
|
|
168
173
|
});
|