{"version":3,"file":"script.js","mappings":"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","sources":["webpack://image-compare/../block-directory/node_modules/react-dom/client.js","webpack://image-compare/external var \"ReactDOM\"","webpack://image-compare/webpack/bootstrap","webpack://image-compare/external var \"React\"","webpack://image-compare/../Components/utils/getCSS.js","webpack://image-compare/./src/Style.js","webpack://image-compare/./src/utils/functions.js","webpack://image-compare/./src/script.js"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","module.exports = ReactDOM;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var __WEBPACK_NAMESPACE_OBJECT__ = React;","export const getBackgroundCSS = (bg, isSolid = true, isGradient = true, isImage = true) => {\r\n\tconst { type = 'solid', color = '#000000b3', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)', image = {}, position = 'center center', attachment = 'initial', repeat = 'no-repeat', size = 'cover', overlayColor = '#000000b3' } = bg || {};\r\n\r\n\tconst styles = ('gradient' === type && isGradient) ? `background: ${gradient};` :\r\n\t\t('image' === type && isImage) ?\r\n\t\t\t`background: url(${image?.url});\r\n\t\t\t\tbackground-color: ${overlayColor};\r\n\t\t\t\tbackground-position: ${position};\r\n\t\t\t\tbackground-size: ${size};\r\n\t\t\t\tbackground-repeat: ${repeat};\r\n\t\t\t\tbackground-attachment: ${attachment};\r\n\t\t\t\tbackground-blend-mode: overlay;` :\r\n\t\t\tisSolid && `background: ${color};`;\r\n\r\n\treturn styles;\r\n} // PHP version in Stepped Content\r\n\r\nexport const getBorderCSS = (border) => {\r\n\tconst { width = '0px', style = 'solid', color = '#0000', side = 'all', radius = '0px' } = border || {};\r\n\r\n\tconst borderSideCheck = s => {\r\n\t\tconst bSide = side?.toLowerCase();\r\n\t\treturn bSide?.includes('all') || bSide?.includes(s);\r\n\t}\r\n\r\n\tconst noWidth = width === '0px' || !width;\r\n\tconst borderCSS = `${width} ${style} ${color}`;\r\n\r\n\tconst styles = `\r\n\t\t${noWidth ? '' : ['top', 'right', 'bottom', 'left'].map(side => borderSideCheck(side) ? `border-${side}: ${borderCSS};` : '').join('')}\r\n\t\t${!radius ? '' : `border-radius: ${radius};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getColorsCSS = (colors) => {\r\n\tconst { color = '#333', bgType = 'solid', bg = '#0000', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = colors || {};\r\n\r\n\tconst styles = `\r\n\t\t${color ? `color: ${color};` : ''}\r\n\t\t${gradient || bg ? `background: ${'gradient' === bgType ? gradient : bg};` : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getIconCSS = (icon, isSize = true, isColor = true) => {\r\n\tconst { fontSize = 16, colorType = 'solid', color = 'inherit', gradient = 'linear-gradient(135deg, #4527a4, #8344c5)' } = icon || {};\r\n\r\n\tconst colorCSS = 'gradient' === colorType ?\r\n\t\t`color: transparent; background-image: ${gradient}; -webkit-background-clip: text; background-clip: text;` :\r\n\t\t`color: ${color};`;\r\n\r\n\tconst styles = `\r\n\t\t${!fontSize || !isSize ? '' : `font-size: ${fontSize}px;`}\r\n\t\t${isColor ? colorCSS : ''}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getMultiShadowCSS = (value, type = 'box') => {\r\n\tlet styles = '';\r\n\r\n\tvalue?.map((item, index) => {\r\n\t\tconst { hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = item || {};\r\n\r\n\t\tconst inset = isInset ? 'inset' : '';\r\n\t\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\t\tconst isComa = index + 1 >= value.length ? '' : ', ';\r\n\r\n\t\tstyles += 'text' === type ? `${offsetBlur} ${color}${isComa}` : `${offsetBlur} ${spreed} ${color} ${inset}${isComa}`;\r\n\t});\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSeparatorCSS = (separator) => {\r\n\tconst { width = '50%', height = '2px', style = 'solid', color = '#bbb' } = separator || {};\r\n\r\n\tconst styles = `\r\n\t\twidth: ${width};\r\n\t\t${'0px' === height && '0em' === height && '0rem' === height ? '' : `border-top: ${height} ${style} ${color};`}\r\n\t`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getShadowCSS = (shadow) => {\r\n\tconst { type = 'box', hOffset = '0px', vOffset = '0px', blur = '0px', spreed = '0px', color = '#7090b0', isInset = false } = shadow || {};\r\n\r\n\tconst inset = isInset ? 'inset' : '';\r\n\tconst offsetBlur = `${hOffset} ${vOffset} ${blur}`;\r\n\r\n\tconst styles = 'text' === type ? `${offsetBlur} ${color}` : `${offsetBlur} ${spreed} ${color} ${inset}`;\r\n\r\n\treturn styles || 'none';\r\n}\r\n\r\nexport const getSpaceCSS = (space) => {\r\n\tconst { side = 2, vertical = '0px', horizontal = '0px', top = '0px', right = '0px', bottom = '0px', left = '0px' } = space || {};\r\n\r\n\tconst styles = 2 === side ? `${vertical} ${horizontal}` : `${top} ${right} ${bottom} ${left}`;\r\n\r\n\treturn styles;\r\n}\r\n\r\nexport const getTypoCSS = (selector, typo, isFamily = true) => {\r\n\tconst { fontFamily = 'Default', fontCategory = 'sans-serif', fontVariant = 400, fontWeight = 400, isUploadFont = true, fontSize = { desktop: 15, tablet: 15, mobile: 15 }, fontStyle = 'normal', textTransform = 'none', textDecoration = 'auto', lineHeight = '135%', letterSpace = '0px' } = typo || {};\r\n\r\n\tconst generateCss = (value, cssProperty) => !value ? '' : `${cssProperty}: ${value};`;\r\n\r\n\tconst isEmptyFamily = !isFamily || !fontFamily || 'Default' === fontFamily;\r\n\tconst desktopFontSize = fontSize?.desktop || fontSize;\r\n\tconst tabletFontSize = fontSize?.tablet || desktopFontSize;\r\n\tconst mobileFontSize = fontSize?.mobile || tabletFontSize;\r\n\r\n\tconst styles = `\r\n\t\t${isEmptyFamily ? '' : `font-family: '${fontFamily}', ${fontCategory};`}\r\n\t\t${generateCss(fontWeight, 'font-weight')}\r\n\t\t${`font-size: ${desktopFontSize}px;`}\r\n\t\t${generateCss(fontStyle, 'font-style')}\r\n\t\t${generateCss(textTransform, 'text-transform')}\r\n\t\t${generateCss(textDecoration, 'text-decoration')}\r\n\t\t${generateCss(lineHeight, 'line-height')}\r\n\t\t${generateCss(letterSpace, 'letter-spacing')}\r\n\t`;\r\n\r\n\t// Google font link\r\n\tconst linkQuery = !fontVariant || 400 === fontVariant ? '' : '400i' === fontVariant ? ':ital@1' : fontVariant?.includes('00i') ? `: ital, wght@1, ${fontVariant?.replace('00i', '00')} ` : `: wght@${fontVariant} `;\r\n\r\n\tconst link = isEmptyFamily ? '' : `https://fonts.googleapis.com/css2?family=${fontFamily?.split(' ').join('+')}${linkQuery.replace(/ /g, '')}&display=swap`;\r\n\r\n\treturn {\r\n\t\tgoogleFontLink: !isUploadFont || isEmptyFamily ? '' : `@import url(${link});`,\r\n\t\tstyles: `${selector}{\r\n\t\t\t${styles}\r\n\t\t}\r\n\t\t@media (max-width: 768px) {\r\n\t\t\t${selector}{\r\n\t\t\t\t${`font-size: ${tabletFontSize}px;`}\r\n\t\t\t}\r\n\t\t}\r\n\t\t@media (max-width: 576px) {\r\n\t\t\t${selector}{\r\n\t\t\t\t${`font-size: ${mobileFontSize}px;`}\r\n\t\t\t}\r\n\t\t}`.replace(/\\s+/g, ' ').trim()\r\n\t}\r\n}\r\n\r\nexport const getBoxCSS = (val = {}) => Object.values(val).join(' ');","import { getBorderCSS, getColorsCSS, getSpaceCSS, getTypoCSS } from '../../Components/utils/getCSS';\r\n\r\nconst Style = ({ attributes, clientId }) => {\r\n\tconst { alignment, width, border, labelTypo, labelColors, labelPadding, capTypo, capColors, capPadding } = attributes;\r\n\r\n\tconst mainSl = `#icbImageCompare-${clientId}`;\r\n\tconst imgCompareSl = `${mainSl} .icbImageCompare`;\r\n\r\n\treturn <style dangerouslySetInnerHTML={{\r\n\t\t__html: `\r\n\t\t${getTypoCSS('', labelTypo)?.googleFontLink}\r\n\t\t${getTypoCSS('', capTypo)?.googleFontLink}\r\n\t\t${getTypoCSS(`${imgCompareSl} .overlay`, labelTypo)?.styles}\r\n\t\t${getTypoCSS(`${imgCompareSl} .caption`, capTypo)?.styles}\r\n\r\n\t\t#icbImageCompare-${clientId}{\r\n\t\t\ttext-align: ${alignment};\r\n\t\t}\r\n\t\t${imgCompareSl}{\r\n\t\t\twidth: ${width};\r\n\t\t\t${getBorderCSS(border)};\r\n\t\t}\r\n\t\t${imgCompareSl} .overlay{\r\n\t\t\t${getColorsCSS(labelColors)}\r\n\t\t\tpadding: ${getSpaceCSS(labelPadding)};\r\n\t\t}\r\n\t\t${imgCompareSl} .caption{\r\n\t\t\t${getColorsCSS(capColors)}\r\n\t\t\tpadding: ${getSpaceCSS(capPadding)};\r\n\t\t}\r\n\t\t`.replace(/\\s+/g, ' ')\r\n\t}} />\r\n}\r\nexport default Style;","const $ = jQuery;\r\n\r\nexport const drags = (dragElement, resizeElement, container) => {\r\n\t// This creates a variable that detects if the user is using touch input instead of the mouse.\r\n\tlet touched = false;\r\n\twindow.addEventListener('touchstart', function () {\r\n\t\ttouched = true;\r\n\t});\r\n\twindow.addEventListener('touchend', function () {\r\n\t\ttouched = false;\r\n\t});\r\n\r\n\t// click the image and move the slider on interaction with the mouse or the touch input\r\n\tdragElement.on('mousedown touchstart', function (e) {\r\n\t\t//add classes to the elements - good for css animations if you need it to\r\n\t\tdragElement.addClass('icDraggable');\r\n\t\tresizeElement.addClass('icResizable');\r\n\t\t//create vars\r\n\t\tlet startX = e.pageX ? e.pageX : e.originalEvent.touches[0].pageX;\r\n\t\tlet dragWidth = dragElement.outerWidth();\r\n\t\tlet posX = dragElement.offset().left + dragWidth - startX;\r\n\t\tlet containerOffset = container.offset().left;\r\n\t\tlet containerWidth = container.outerWidth();\r\n\t\tlet minLeft = containerOffset + 10;\r\n\t\tlet maxLeft = containerOffset + containerWidth - dragWidth - 10;\r\n\r\n\t\t//add event listener on the divider element\r\n\t\tdragElement.parents().on('mousemove touchmove', function (e) {\r\n\t\t\t// if the user is not using touch input let do preventDefault to prevent the user from selecting the images as he moves the slider around.\r\n\t\t\tif (touched === false) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tlet moveX = e.pageX ? e.pageX : e.originalEvent?.touches?.[0].pageX;\r\n\t\t\tlet leftValue = moveX + posX - dragWidth;\r\n\r\n\t\t\t// stop the divider from going over the limits of the container\r\n\t\t\tif (leftValue < minLeft) {\r\n\t\t\t\tleftValue = minLeft;\r\n\t\t\t} else if (leftValue > maxLeft) {\r\n\t\t\t\tleftValue = maxLeft;\r\n\t\t\t}\r\n\r\n\t\t\tlet widthValue = (leftValue + dragWidth / 2 - containerOffset) * 100 / containerWidth + '%';\r\n\r\n\t\t\t$('.icDraggable').css('left', widthValue).on('mouseup touchend touchcancel', function () {\r\n\t\t\t\t$(this).removeClass('icDraggable');\r\n\t\t\t\tresizeElement.removeClass('icResizable');\r\n\t\t\t});\r\n\r\n\t\t\t$('.icResizable').css('width', widthValue);\r\n\r\n\t\t}).on('mouseup touchend touchcancel', function () {\r\n\t\t\tdragElement.removeClass('icDraggable');\r\n\t\t\tresizeElement.removeClass('icResizable');\r\n\t\t});\r\n\t}).on('mouseup touchend touchcancel', function () {\r\n\t\t// stop clicking the image and move the slider\r\n\t\tdragElement.removeClass('icDraggable');\r\n\t\tresizeElement.removeClass('icResizable');\r\n\t});\r\n}","import { useEffect, useRef } from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\nconst $ = jQuery;\r\n\r\nimport './style.scss';\r\nimport Style from './Style';\r\nimport { drags } from './utils/functions';\r\n\r\n// Image Compare\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tconst imgCompareEls = document.querySelectorAll('.wp-block-icb-image-compare');\r\n\timgCompareEls.forEach(imgCompareEl => {\r\n\t\tconst attributes = JSON.parse(imgCompareEl.dataset.attributes);\r\n\r\n\t\tcreateRoot(imgCompareEl).render(<>\r\n\t\t\t<Style attributes={attributes} clientId={attributes.cId} />\r\n\r\n\t\t\t<ImageCompare attributes={attributes} />\r\n\t\t</>);\r\n\r\n\t\timgCompareEl?.removeAttribute('data-attributes');\r\n\t});\r\n});\r\n\r\nconst ImageCompare = ({ attributes }) => {\r\n\tconst { beforeImg, afterImg, isLabel, beforeLabel, afterLabel, isCap, cap } = attributes;\r\n\r\n\tconst imgCompareRef = useRef(null);\r\n\tconst dividerRef = useRef(null);\r\n\tconst resizeRef = useRef(null);\r\n\tconst beforeImgRef = useRef(null);\r\n\r\n\tconst setImgWidth = width => {\r\n\t\tbeforeImgRef.current.style.width = width;\r\n\t\tbeforeImgRef.current.style.minWidth = width;\r\n\t}\r\n\r\n\t// Image Slider Scripts\r\n\tuseEffect(() => {\r\n\t\tconst compareEl = imgCompareRef.current\r\n\r\n\t\tconst handleResize = () => {\r\n\t\t\tconst imgCompareWidth = compareEl?.clientWidth;\r\n\r\n\t\t\tif (imgCompareWidth) {\r\n\t\t\t\tsetImgWidth(`${imgCompareWidth}px`);\r\n\t\t\t\tdrags($(dividerRef.current), $(resizeRef.current), $(compareEl));\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst observer = new ResizeObserver(handleResize);\r\n\r\n\t\tif (compareEl) {\r\n\t\t\tobserver.observe(compareEl);\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('resize', handleResize);\r\n\r\n\t\treturn () => {\r\n\t\t\tobserver.disconnect();\r\n\t\t\twindow.removeEventListener('resize', handleResize);\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn <div className='icbImageCompare' ref={imgCompareRef}>\r\n\t\t<div className='comparison-slider'>\r\n\t\t\t{isLabel && afterLabel && <div className='overlay afterLabel' dangerouslySetInnerHTML={{ __html: afterLabel }} />}\r\n\t\t\t<img className='afterImg' src={afterImg?.url} alt={afterImg?.alt} />\r\n\r\n\t\t\t<div className='resize' ref={resizeRef}>\r\n\t\t\t\t{isLabel && beforeLabel && <div className='overlay beforeLabel' dangerouslySetInnerHTML={{ __html: beforeLabel }} />}\r\n\t\t\t\t<img className='beforeImg' src={beforeImg?.url} alt={beforeImg?.alt} ref={beforeImgRef} />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className='divider' ref={dividerRef}></div>\r\n\t\t</div>\r\n\r\n\t\t{isCap && cap && <div className='caption' dangerouslySetInnerHTML={{ __html: cap }} />}\r\n\t</div>\r\n}"],"names":["m","exports","createRoot","hydrateRoot","module","ReactDOM","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","React","getBorderCSS","border","_ref2","_ref2$width","width","_ref2$style","style","_ref2$color","color","_ref2$side","side","_ref2$radius","radius","borderSideCheck","s","bSide","toLowerCase","includes","noWidth","borderCSS","concat","styles","map","join","getColorsCSS","colors","_ref3","_ref3$color","_ref3$bgType","bgType","_ref3$bg","bg","_ref3$gradient","gradient","getSpaceCSS","space","_ref8","_ref8$side","_ref8$vertical","vertical","_ref8$horizontal","horizontal","_ref8$top","top","_ref8$right","right","_ref8$bottom","bottom","_ref8$left","left","getTypoCSS","selector","typo","isFamily","arguments","length","_ref9","_ref9$fontFamily","fontFamily","_ref9$fontCategory","fontCategory","_ref9$fontVariant","fontVariant","_ref9$fontWeight","fontWeight","_ref9$isUploadFont","isUploadFont","_ref9$fontSize","fontSize","desktop","tablet","mobile","_ref9$fontStyle","fontStyle","_ref9$textTransform","textTransform","_ref9$textDecoration","textDecoration","_ref9$lineHeight","lineHeight","_ref9$letterSpace","letterSpace","generateCss","value","cssProperty","isEmptyFamily","desktopFontSize","tabletFontSize","mobileFontSize","linkQuery","replace","link","split","googleFontLink","trim","_ref","_getTypoCSS","_getTypoCSS2","_getTypoCSS3","_getTypoCSS4","attributes","clientId","alignment","labelTypo","labelColors","labelPadding","capTypo","capColors","capPadding","mainSl","imgCompareSl","createElement","dangerouslySetInnerHTML","__html","$","jQuery","document","addEventListener","querySelectorAll","forEach","imgCompareEl","JSON","parse","dataset","render","Fragment","Style","cId","ImageCompare","removeAttribute","beforeImg","afterImg","isLabel","beforeLabel","afterLabel","isCap","cap","imgCompareRef","useRef","dividerRef","resizeRef","beforeImgRef","useEffect","compareEl","current","handleResize","dragElement","resizeElement","container","touched","imgCompareWidth","clientWidth","minWidth","window","on","e","addClass","startX","pageX","originalEvent","touches","dragWidth","outerWidth","posX","offset","containerOffset","containerWidth","minLeft","maxLeft","parents","_e$originalEvent","preventDefault","leftValue","widthValue","css","this","removeClass","observer","ResizeObserver","observe","disconnect","removeEventListener","className","ref","src","url","alt"],"sourceRoot":""}