@covet-pics/covet-pics-widget 0.146.2 → 0.146.3
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 +3 -3
- package/dist/cjs/covet-pics-widget.cjs.entry.js.map +1 -1
- package/dist/collection/components/covet-pics-widget/covet-pics-widget.js +3 -3
- package/dist/collection/components/covet-pics-widget/covet-pics-widget.js.map +1 -1
- package/dist/collection/components/covet-pics-widget/test/covet-pics-widget.spec.js +16 -1
- package/dist/collection/components/covet-pics-widget/test/covet-pics-widget.spec.js.map +1 -1
- package/dist/collection/components/covet-pics-widget/test/test-gallery-data.js +167 -0
- package/dist/collection/components/covet-pics-widget/test/test-gallery-data.js.map +1 -1
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-f7c679f5.entry.js → p-56c53e24.entry.js} +2 -2
- package/dist/covet-pics-widget/{p-f7c679f5.entry.js.map → p-56c53e24.entry.js.map} +1 -1
- package/dist/covet-pics-widget/{p-8d708be4.system.entry.js → p-ae5f293f.system.entry.js} +2 -2
- package/dist/covet-pics-widget/{p-8d708be4.system.entry.js.map → p-ae5f293f.system.entry.js.map} +1 -1
- package/dist/covet-pics-widget/p-b3c02339.system.js +1 -1
- package/dist/esm/covet-pics-widget.entry.js +3 -3
- 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/dist/types/components/covet-pics-widget/test/test-gallery-data.d.ts +164 -0
- package/package.json +1 -1
|
@@ -1070,6 +1070,9 @@ const CovetPicsWidget = class {
|
|
|
1070
1070
|
return false;
|
|
1071
1071
|
this.appStore.dispatch(setSettings(json.settings));
|
|
1072
1072
|
this.minNumberOfPhotos = json.settings.min_number_of_photos;
|
|
1073
|
+
this.loader.data.settings.display_type === "highlight"
|
|
1074
|
+
? this.items = [...json.items]
|
|
1075
|
+
: this.items = [...this.getItemsWithUpload(json.items)];
|
|
1073
1076
|
this.hideElementsIfEmpty();
|
|
1074
1077
|
if (!this.fontsLoaded) {
|
|
1075
1078
|
this.loadFont();
|
|
@@ -1083,9 +1086,6 @@ const CovetPicsWidget = class {
|
|
|
1083
1086
|
if (this.hasEnoughPhotos) {
|
|
1084
1087
|
storeUtils.sendBeacon(this.appState, "gallery_view");
|
|
1085
1088
|
}
|
|
1086
|
-
this.loader.data.settings.display_type === "highlight"
|
|
1087
|
-
? this.items = [...json.items]
|
|
1088
|
-
: this.items = [...this.getItemsWithUpload(json.items)];
|
|
1089
1089
|
this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver
|
|
1090
1090
|
this.isLoading = false;
|
|
1091
1091
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"covet-pics-widget.entry.cjs.js","mappings":"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","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","h","Host"],"sources":["src/services/gallery-loader-service.ts","node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","node_modules/@juggle/resize-observer/lib/utils/freeze.js","node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","node_modules/@juggle/resize-observer/lib/utils/element.js","node_modules/@juggle/resize-observer/lib/utils/global.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","node_modules/@juggle/resize-observer/lib/utils/process.js","node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","node_modules/@juggle/resize-observer/lib/utils/scheduler.js","node_modules/@juggle/resize-observer/lib/ResizeObservation.js","node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","node_modules/@juggle/resize-observer/lib/ResizeObserver.js","src/store/widgetId.ts","src/store/url.ts","src/store/size.ts","src/store/preview.ts","src/store/analytics.ts","src/store/settings.ts","src/store/reducer.ts","src/store/configureStore.ts","src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + encodeURIComponent(f)));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items);\n\n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n data.settings = { ...data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null\n },\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n },\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\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;","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_animation_duration: 1,\n item_animation_type: \"hover-animation-1\",\n item_hover_background_opacity: 80,\n item_hover_border_color: \"#C1ACAC\",\n item_hover_color_from: \"#000000\", // check default value\n item_hover_color_to: \"#000000\", // check default value\n item_hover_disabled: false,\n item_hover_icon: false,\n item_label_color: \"#FFFFFF\",\n item_label_font_size: 15,\n item_label_font_style: \"Normal\",\n item_label_text: \"SHOP THIS LOOK\",\n item_mobile_padding: 0,\n item_open_link: false,\n item_padding: 1,\n item_style: \"standard\",\n item_without_product_label_text: \"SEE MORE\",\n load_more_border_width: 4,\n load_more_button_color: \"#000000\",\n load_more_button_style: \"btn_style_1\",\n load_more_font_size: 14,\n load_more_font_style: \"bold\",\n load_more_padding: 6,\n load_more_text: \"MORE\",\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n multiple_filter_enabled: false,\n padding: 0,\n pagination: \"button\", // TODO strange name of settings\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_disable_modal: false,\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n primary_color: \"#222222\", // TODO check this value\n secondary_color: \"#BFBFBF\",\n select_label_caption: \"Select\",\n show_header: false,\n show_price: true,\n show_price_in_popup: true,\n show_review: true,\n slideshow_autoplay: 0, // // TODO check this value\n slideshow_load_more: true, // TODO check this value\n slideshow_mobile_photos_per_row: 2, // TODO check this value\n slideshow_photos_per_row: 4, // TODO check this value\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;","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewHoverMode, setPreviewMode, setPreviewPopupMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n})\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler() {\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 private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.appStore.dispatch(setPreviewHoverMode(hoverPreview));\n this.appStore.dispatch(setPreviewPopupMode(popupPreview));\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.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\") {\n \n if (this.el.getAttribute(\"data-product\") !== null) {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n } else if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n }\n\n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") { this.shop = uri.hostname; }\n this.loader.shopDomain = this.shop;\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n this.isLoading = true;\n\n const json = await this.loader.fetchItems();\n\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.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.loader.data.settings.display_type === \"highlight\"\n ? this.items = [...json.items]\n : this.items = [...this.getItemsWithUpload(json.items)];\n\n \n this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver\n \n this.isLoading = false;\n return true;\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.items.length === 0) return false;\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n const uploadItem = { \n source: \"upload_widget\", \n imageUrl: this.appState.settings.customer_widget_cover !== null ? this.appState.settings.customer_widget_cover : undefined\n };\n items.splice(uploadIndex, 0, uploadItem);\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n shared-item-id={this.sharedItemId}\n 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 appStore={this.appStore}\n loader={this.loader}>\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 render() {\n if (!this.isLoading && this.hasEnoughPhotos) {\n const displayType = this.loader.data.settings.display_type;\n if (displayType === \"upload-standalone\") return this.renderUploadStandalone(); // case render only upload widget\n if (displayType === \"slider\") return this.renderSliderGallery();\n if (displayType === \"highlight\") return this.renderHighlighted();\n return this.renderGridGallery();\n }\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"covet-pics-widget.entry.cjs.js","mappings":"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","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","h","Host"],"sources":["src/services/gallery-loader-service.ts","node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","node_modules/@juggle/resize-observer/lib/utils/freeze.js","node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","node_modules/@juggle/resize-observer/lib/utils/element.js","node_modules/@juggle/resize-observer/lib/utils/global.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","node_modules/@juggle/resize-observer/lib/utils/process.js","node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","node_modules/@juggle/resize-observer/lib/utils/scheduler.js","node_modules/@juggle/resize-observer/lib/ResizeObservation.js","node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","node_modules/@juggle/resize-observer/lib/ResizeObserver.js","src/store/widgetId.ts","src/store/url.ts","src/store/size.ts","src/store/preview.ts","src/store/analytics.ts","src/store/settings.ts","src/store/reducer.ts","src/store/configureStore.ts","src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + encodeURIComponent(f)));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items);\n\n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n data.settings = { ...data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null\n },\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n },\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\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;","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_animation_duration: 1,\n item_animation_type: \"hover-animation-1\",\n item_hover_background_opacity: 80,\n item_hover_border_color: \"#C1ACAC\",\n item_hover_color_from: \"#000000\", // check default value\n item_hover_color_to: \"#000000\", // check default value\n item_hover_disabled: false,\n item_hover_icon: false,\n item_label_color: \"#FFFFFF\",\n item_label_font_size: 15,\n item_label_font_style: \"Normal\",\n item_label_text: \"SHOP THIS LOOK\",\n item_mobile_padding: 0,\n item_open_link: false,\n item_padding: 1,\n item_style: \"standard\",\n item_without_product_label_text: \"SEE MORE\",\n load_more_border_width: 4,\n load_more_button_color: \"#000000\",\n load_more_button_style: \"btn_style_1\",\n load_more_font_size: 14,\n load_more_font_style: \"bold\",\n load_more_padding: 6,\n load_more_text: \"MORE\",\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n multiple_filter_enabled: false,\n padding: 0,\n pagination: \"button\", // TODO strange name of settings\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_disable_modal: false,\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n primary_color: \"#222222\", // TODO check this value\n secondary_color: \"#BFBFBF\",\n select_label_caption: \"Select\",\n show_header: false,\n show_price: true,\n show_price_in_popup: true,\n show_review: true,\n slideshow_autoplay: 0, // // TODO check this value\n slideshow_load_more: true, // TODO check this value\n slideshow_mobile_photos_per_row: 2, // TODO check this value\n slideshow_photos_per_row: 4, // TODO check this value\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;","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewHoverMode, setPreviewMode, setPreviewPopupMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n})\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler() {\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 private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.appStore.dispatch(setPreviewHoverMode(hoverPreview));\n this.appStore.dispatch(setPreviewPopupMode(popupPreview));\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.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\") {\n \n if (this.el.getAttribute(\"data-product\") !== null) {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n } else if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n }\n\n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") { this.shop = uri.hostname; }\n this.loader.shopDomain = this.shop;\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n this.isLoading = true;\n\n const json = await this.loader.fetchItems();\n\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 \n this.isLoading = false;\n return true;\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.items.length === 0) return false;\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n const uploadItem = { \n source: \"upload_widget\", \n imageUrl: this.appState.settings.customer_widget_cover !== null ? this.appState.settings.customer_widget_cover : undefined\n };\n items.splice(uploadIndex, 0, uploadItem);\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n shared-item-id={this.sharedItemId}\n 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 appStore={this.appStore}\n loader={this.loader}>\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 render() {\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}
|
|
@@ -151,6 +151,9 @@ export class CovetPicsWidget {
|
|
|
151
151
|
return false;
|
|
152
152
|
this.appStore.dispatch(setSettings(json.settings));
|
|
153
153
|
this.minNumberOfPhotos = json.settings.min_number_of_photos;
|
|
154
|
+
this.loader.data.settings.display_type === "highlight"
|
|
155
|
+
? this.items = [...json.items]
|
|
156
|
+
: this.items = [...this.getItemsWithUpload(json.items)];
|
|
154
157
|
this.hideElementsIfEmpty();
|
|
155
158
|
if (!this.fontsLoaded) {
|
|
156
159
|
this.loadFont();
|
|
@@ -164,9 +167,6 @@ export class CovetPicsWidget {
|
|
|
164
167
|
if (this.hasEnoughPhotos) {
|
|
165
168
|
sendBeacon(this.appState, "gallery_view");
|
|
166
169
|
}
|
|
167
|
-
this.loader.data.settings.display_type === "highlight"
|
|
168
|
-
? this.items = [...json.items]
|
|
169
|
-
: this.items = [...this.getItemsWithUpload(json.items)];
|
|
170
170
|
this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver
|
|
171
171
|
this.isLoading = false;
|
|
172
172
|
return true;
|