{"version":3,"file":"default/js/experience/assets/imageComparer.js","mappings":";;;;;;AAAA;;AAEa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,IAAI;;AAElB;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,CAAC","sources":["webpack://sfra-startup-kit/./cartridges/app_core_page_designer/cartridge/client/default/js/experience/assets/imageComparer.js"],"sourcesContent":["/* eslint-env jquery */\n\n\"use strict\";\n\nconst initImageComparer = () => {\n const currentScriptTag = document.getElementById(\"image-comparer-api\");\n\n if (!currentScriptTag) {\n const tag = document.createElement(\"script\"), firstScriptTag = document.getElementsByTagName(\"script\")[0];\n\n tag.id = \"image-comparer-api\";\n tag.src = \"https://unpkg.com/image-compare-viewer/dist/image-compare-viewer.min.js\";\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n }\n\n const currentStylesheetTag = document.getElementById(\"image-comparer-styles\");\n\n if (!currentStylesheetTag) {\n const tag = document.createElement(\"link\"), firstScriptTag = document.getElementsByTagName(\"link\")[0];\n\n tag.id = \"image-comparer-api\";\n tag.rel = \"stylesheet\";\n tag.href = \"https://unpkg.com/image-compare-viewer/dist/image-compare-viewer.min.css\";\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n }\n};\n\n(function () {\n initImageComparer();\n\n $(\".image-compare\").each(async (_, element) => {\n const $imageComparer = $(element);\n const firstLabel = $imageComparer.data(\"first-label\") || \"\";\n const secondLabel = $imageComparer.data(\"second-label\") || \"\";\n\n const options = {\n\n // UI Theme Defaults\n\n controlColor: \"#FFFFFF\",\n controlShadow: true,\n addCircle: true,\n addCircleBlur: true,\n\n // Label Defaults\n\n showLabels: firstLabel && secondLabel ? true : false,\n labelOptions: firstLabel && secondLabel ? {\n before: firstLabel,\n after: secondLabel,\n onHover: false\n } : {},\n\n // Smoothing\n\n smoothing: true,\n smoothingAmount: 100,\n\n // Other options\n\n hoverStart: false,\n verticalMode: false,\n startingPoint: 50,\n fluidMode: false\n };\n\n //The script of the library may not be loaded at the time of this code execution, so we try to await for it in case of error.\n let ableToCreate = false;\n let tries = 0;\n\n while (tries < 5 && !ableToCreate) {\n try {\n new window.ImageCompare(element, options).mount();\n ableToCreate = true;\n return;\n } catch (e) {\n await new Promise(resolve => setTimeout(resolve, 1000));\n tries++;\n }\n }\n\n if (!ableToCreate) {\n throw new Error(\"Not able to mount the Image comparer, the package may have been removed.\");\n }\n });\n})();\n"],"names":[],"sourceRoot":""}