{"version":3,"file":"script.js","mappings":"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","sources":["webpack://social-feed-block/external var \"React\"","webpack://social-feed-block/external var \"ReactDOM\"","webpack://social-feed-block/./src/GalleryHeader.js","webpack://social-feed-block/./src/Gallery.js","webpack://social-feed-block/./src/utils/function.js","webpack://social-feed-block/./src/utils/links.js","webpack://social-feed-block/./src/services.js","webpack://social-feed-block/../Components/utils/getCSS.js","webpack://social-feed-block/./src/Style.js","webpack://social-feed-block/./src/script.js"],"sourcesContent":["var __WEBPACK_NAMESPACE_OBJECT__ = React;","var __WEBPACK_NAMESPACE_OBJECT__ = ReactDOM;","const GalleryHeader = ({ userName, attributes }) => {\r\n\tconst { isProfile, profileImg, isFollowBtn } = attributes;\r\n\r\n\tconst link = `https://www.instagram.com/${userName}/`;\r\n\r\n\treturn isProfile || isFollowBtn ? <div className='galleryHeader'>\r\n\t\t{isProfile && <div className='headerLeft'>\r\n\t\t\t<figure className='profileImg'>\r\n\t\t\t\t<a href={link} target='_blank' rel='noreferrer'><img src={profileImg} alt={userName} /></a>\r\n\t\t\t</figure>\r\n\r\n\t\t\t<h3 className='userName'><a href={link} target='_blank' rel='noreferrer'>@{userName}</a></h3>\r\n\t\t</div>}\r\n\r\n\t\t{isFollowBtn && <div className='headerRight'>\r\n\t\t\t<a className='followBtn' href={link} target='_blank' rel='noreferrer'>Follow On Instagram</a>\r\n\t\t</div>}\r\n\t</div> : null;\r\n}\r\nexport default GalleryHeader;","import { truncate } from './utils/function';\r\n\r\nconst Gallery = ({ media, attributes, pageNumber, setPageNumber }) => {\r\n\tconst { itemVisible, isLink, isLinkNewTab, isCaption, captionLength, isLoadMore, columns, imgHoverEffect, captionStyle } = attributes;\r\n\r\n\treturn <>\r\n\t\t<div className={`ifbGallery columns-${columns.desktop} columns-tablet-${columns.tablet} columns-mobile-${columns.mobile}`}>\r\n\t\t\t{media?.length && media.slice(0, itemVisible * pageNumber).map((data, index) => {\r\n\t\t\t\tconst { id, media_type, media_url, caption, permalink } = data; // timestamp present in data\r\n\r\n\t\t\t\t// const galleryCarousel = useRef(null);\r\n\t\t\t\t// const slidePrev = useRef(null);\r\n\t\t\t\t// const slideNext = useRef(null);\r\n\r\n\t\t\t\t// useEffect(() => {\r\n\t\t\t\t// \tif (galleryCarousel.current && slidePrev.current && slideNext.current) {\r\n\t\t\t\t// \t\tnew Swiper(galleryCarousel.current, {\r\n\t\t\t\t// \t\t\tspeed: 400,\r\n\t\t\t\t// \t\t\tslidesPerView: 1,\r\n\t\t\t\t// \t\t\tspaceBetween: 0,\r\n\t\t\t\t// \t\t\tnavigation: {\r\n\t\t\t\t// \t\t\t\tprevEl: slidePrev.current,\r\n\t\t\t\t// \t\t\t\tnextEl: slideNext.current,\r\n\t\t\t\t// \t\t\t}\r\n\t\t\t\t// \t\t});\r\n\t\t\t\t// \t}\r\n\t\t\t\t// }, [galleryCarousel.current, slidePrev.current, slideNext.current]);\r\n\r\n\t\t\t\tconst imageEl = <figure className={`galleryFigure ${imgHoverEffect}`}>\r\n\t\t\t\t\t<img src={'VIDEO' === media_type ? data.thumbnail_url : media_url} alt={caption} />\r\n\r\n\t\t\t\t\t{isCaption ? <figcaption className={captionStyle}><p>{truncate(caption, captionLength)}</p></figcaption> : ''}\r\n\t\t\t\t</figure>\r\n\r\n\t\t\t\treturn <div key={id} className='galleryItem' id={`galleryItem-${index}`}>\r\n\t\t\t\t\t{isLink ? <a href={permalink} target={isLinkNewTab ? '_blank' : '_self'} rel='noreferrer'>{imageEl}</a> : imageEl}\r\n\t\t\t\t\t{/* {isCaption ? <div className={`caption ${captionStyle}`}><p>{truncate(caption, captionLength)}</p></div> : null} */}\r\n\r\n\t\t\t\t\t{/* {'IMAGE' === media_type && <img src={media_url} alt={caption} />}\r\n\r\n\t\t\t\t\t{'VIDEO' === media_type && <video controls poster={data.thumbnail_url}>\r\n\t\t\t\t\t\t<source src={media_url} />\r\n\t\t\t\t\t</video>}\r\n\r\n\t\t\t\t\t{'CAROUSEL_ALBUM' === media_type && <div className='galleryCarousel' ref={galleryCarousel}>\r\n\t\t\t\t\t\t<div className='swiper-wrapper'>\r\n\t\t\t\t\t\t\t{data.children.data.map(child => <div className='swiper-slide' key={child.id}>\r\n\t\t\t\t\t\t\t\t{child?.thumbnail_url ?\r\n\t\t\t\t\t\t\t\t\t<video controls poster={child.thumbnail_url}>\r\n\t\t\t\t\t\t\t\t\t\t<source src={child.media_url} />\r\n\t\t\t\t\t\t\t\t\t</video> :\r\n\t\t\t\t\t\t\t\t\t<img src={child.media_url} alt={caption.split(' ').slice(0, 12).join(' ')} />}\r\n\t\t\t\t\t\t\t</div>)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className='swiper-button-prev' ref={slidePrev}>\r\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"><path d=\"M14.71 15.88L10.83 12l3.88-3.88c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.39.39-1.03 0-1.42z\" /></svg>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div className='swiper-button-next' ref={slideNext}>\r\n\t\t\t\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"><path d=\"M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z\" /></svg>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>} */}\r\n\t\t\t\t</div>;\r\n\t\t\t})}\r\n\t\t</div>\r\n\r\n\t\t{isLoadMore && <div className={`loadMore ${media?.length > itemVisible * pageNumber ? 'visible' : 'hidden'}`}>\r\n\t\t\t<button onClick={() => setPageNumber(pageNumber + 1)}>Load More</button>\r\n\t\t</div>}\r\n\t</>;\r\n}\r\nexport default Gallery;","export const isEmptyObject = obj => obj && Object.keys(obj).length === 0 && obj.constructor === Object;\r\n\r\nexport const hasObjProperty = (obj, property) => Object.prototype.hasOwnProperty.call(obj, property);\r\n\r\nexport const truncate = (text = '', length) => text.length > length ? `${text.slice(0, length)}...` : text","const graphIGUrl = 'https://graph.instagram.com';\r\n\r\nconst personalUserFields = 'account_type,id,media_count,username';\r\n\r\nconst personalMediaFields = 'caption,id,is_shared_to_feed,media_type,media_url,permalink,thumbnail_url,timestamp,username,children{id,media_type,media_url,permalink,thumbnail_url,timestamp}';\r\n\r\nexport const getUserURL = (accessToken) => `${graphIGUrl}/me?fields=${personalUserFields}&access_token=${accessToken}`;\r\n\r\nexport const getMediaURL = (accessToken, limit = 200) => `${graphIGUrl}/me/media?fields=${personalMediaFields}&limit=${limit}&access_token=${accessToken}`;","import { getMediaURL, getUserURL } from './utils/links';\r\n\r\nexport const fetchUser = async token => {\r\n\tconst user = await fetch(getUserURL(token)).then(res => res.json());\r\n\r\n\treturn user;\r\n}\r\n\r\nexport const fetchUserData = async token => {\r\n\tconst data = await fetch(getMediaURL(token)).then(res => res.json());\r\n\r\n\treturn {\r\n\t\tmedia: data.data,\r\n\t\tpage: data.paging.cursors\r\n\t}\r\n}\r\n\r\nexport const fetchUserWithData = async token => {\r\n\tconst user = await fetch(getUserURL(token)).then(res => res.json());\r\n\r\n\tconst data = await fetch(getMediaURL(token)).then(res => res.json());\r\n\r\n\treturn {\r\n\t\tuser,\r\n\t\tuserData: {\r\n\t\t\t[user.username]: {\r\n\t\t\t\tmedia: data.data,\r\n\t\t\t\tpage: data.paging.cursors\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// return {\r\n\t// \t[user.username]: {\r\n\t// \t\tmedia: data.data,\r\n\t// \t\tpage: data.paging.cursors\r\n\t// \t}\r\n\t// };\r\n}\r\n\r\nexport const setLocalWithExpiry = (key, value, ms) => {\r\n\tconst now = new Date().getTime();\r\n\r\n\tconst localData = localStorage.getItem(key);\r\n\tconst existingData = localData ? JSON.parse(decodeURIComponent(escape(atob(localData)))) : '';\r\n\r\n\tif (!existingData || existingData?.expiry <= now) {\r\n\t\tconst item = {\r\n\t\t\tvalue,\r\n\t\t\texpiry: now + ms,\r\n\t\t}\r\n\t\tlocalStorage.setItem(key, btoa(unescape(encodeURIComponent(JSON.stringify(item)))));\r\n\t}\r\n}\r\nexport const remLocal = (key) => {\r\n\tlocalStorage.removeItem(key);\r\n}\r\nexport const getLocalWithExpiry = (key) => {\r\n\tconst now = new Date().getTime();\r\n\r\n\tconst localData = localStorage.getItem(key);\r\n\tconst data = localData ? JSON.parse(decodeURIComponent(escape(atob(localData)))) : '';\r\n\r\n\treturn data && data?.expiry >= now ? data?.value : null;\r\n}","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 { getBackgroundCSS, getBorderCSS, getSpaceCSS, getTypoCSS } from '../../Components/utils/getCSS';\r\n\r\nconst Style = ({ attributes, clientId }) => {\r\n\tconst { columnGap, rowGap, background, padding, border, captionBG, captionTypo, captionColor } = attributes;\r\n\r\n\tconst feedSl = `#ifbInstagramFeed-${clientId} .ifbInstagramFeed`;\r\n\tconst galleryItemSl = `${feedSl} .galleryItem`;\r\n\r\n\treturn <style dangerouslySetInnerHTML={{\r\n\t\t__html: `\r\n\t\t${getTypoCSS('', captionTypo)?.googleFontLink}\r\n\t\t${getTypoCSS(`${galleryItemSl} figcaption p`, captionTypo)?.styles}\r\n\r\n\t\t${feedSl}{\r\n\t\t\t${getBackgroundCSS(background)}\r\n\t\t\tpadding: ${getSpaceCSS(padding)};\r\n\t\t\t${getBorderCSS(border)}\r\n\t\t}\r\n\t\t${feedSl} .galleryHeader{\r\n\t\t\tmargin-bottom: ${rowGap};\r\n\t\t}\r\n\t\t${feedSl} .ifbGallery{\r\n\t\t\tgrid-gap: ${rowGap} ${columnGap};\r\n\t\t}\r\n\t\t${galleryItemSl} figcaption{\r\n\t\t\t${getBackgroundCSS(captionBG)}\r\n\t\t}\r\n\t\t${galleryItemSl} figcaption p{\r\n\t\t\tcolor: ${captionColor};\r\n\t\t}\r\n\t\t`.replace(/\\s+/g, ' ')\r\n\t}} />\r\n}\r\nexport default Style;","import { useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nconst $ = jQuery;\r\n\r\nimport './style.scss';\r\nimport GalleryHeader from './GalleryHeader';\r\nimport Gallery from './Gallery';\r\nimport { fetchUserWithData, setLocalWithExpiry, getLocalWithExpiry } from './services';\r\nimport Style from './Style';\r\nimport { hasObjProperty } from './utils/function';\r\n\r\nconst timeToMs = (time, period) => {\r\n\tconst minuteMS = 60000;\r\n\r\n\tswitch (period) {\r\n\t\tcase 'minutes':\r\n\t\t\treturn minuteMS * time;\r\n\t\tcase 'hours':\r\n\t\t\treturn 60 * minuteMS * time;\r\n\t\tcase 'days':\r\n\t\t\treturn 1440 * minuteMS * time;\r\n\t\tcase 'months':\r\n\t\t\treturn 43200 * minuteMS * time;\r\n\t\tcase 'years':\r\n\t\t\treturn 525600 * minuteMS * time;\r\n\t}\r\n}\r\n\r\n// All Instagram Feed\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tconst allInstagramFeed = document.querySelectorAll('.wp-block-ifb-instagram');\r\n\tallInstagramFeed.forEach(instagramFeed => {\r\n\t\tconst attributes = JSON.parse(instagramFeed.dataset.attributes);\r\n\t\tconst { cId, accessToken = [] } = attributes;\r\n\r\n\t\trender(accessToken[0] ? <div className='ifbInstagramFeed'>\r\n\t\t\t<Style attributes={attributes} clientId={cId} />\r\n\r\n\t\t\t<GalleryRender attributes={attributes} />\r\n\t\t</div> : <></>, instagramFeed);\r\n\r\n\t\tinstagramFeed?.removeAttribute('data-attributes');\r\n\t});\r\n});\r\n\r\n// GalleryRender\r\nconst GalleryRender = ({ attributes }) => {\r\n\tconst { cId, accessToken, cacheTime, cacheTimePeriod } = attributes;\r\n\r\n\tconst [users, setUsers] = useState(getLocalWithExpiry(`ifbData-${cId}`)?.users || []);\r\n\tconst [usersData, setUsersData] = useState(getLocalWithExpiry(`ifbData-${cId}`)?.usersData || {});\r\n\tconst [pageNumber, setPageNumber] = useState(1);\r\n\r\n\tconst userName = users?.length ? users[0]?.username : '';\r\n\tconst userData = userName && usersData && hasObjProperty(usersData, userName) ? usersData[userName] : {};\r\n\r\n\t// useEffect(() => {\r\n\t// \ttoken && fetchUser(token).then(data => {\r\n\t// \t\t!users?.length && setUsers([data]);\r\n\t// \t});\r\n\t// }, [token]);\r\n\r\n\t// useEffect(() => {\r\n\t// \ttoken && userName && fetchUserData(token, userName).then(data => {\r\n\t// \t\t$.isEmptyObject(userData) && setUsersData({ [userName]: data });\r\n\t// \t});\r\n\t// }, [token, userName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet usersHolder = [];\r\n\t\tlet usersDataHolder = {};\r\n\r\n\t\taccessToken?.length && accessToken.map(token => {\r\n\t\t\t// accessToken?.length !== users?.length && fetchUser(token).then(data => {\r\n\t\t\t// \tusersHolder.push(data);\r\n\t\t\t// \tsetUsers(usersHolder);\r\n\t\t\t// });\r\n\r\n\t\t\taccessToken?.length !== Object.keys(usersData)?.length && fetchUserWithData(token).then(data => {\r\n\t\t\t\tusersHolder.push(data.user);\r\n\t\t\t\tusersDataHolder = { ...usersDataHolder, ...data.userData }\r\n\r\n\t\t\t\tsetUsers(usersHolder);\r\n\t\t\t\tsetUsersData(usersDataHolder);\r\n\t\t\t});\r\n\t\t});\r\n\t}, [accessToken]);\r\n\r\n\tuseEffect(() => {\r\n\t\tusers?.length && !$.isEmptyObject(usersData) && setLocalWithExpiry(`ifbData-${cId}`, {\r\n\t\t\tusers,\r\n\t\t\tusersData\r\n\t\t}, timeToMs(cacheTime, cacheTimePeriod));\r\n\t}, [users, usersData]);\r\n\r\n\treturn !$.isEmptyObject(usersData) ? <>\r\n\t\t<GalleryHeader userName={userName} attributes={attributes} />\r\n\r\n\t\t<Gallery media={userData.media} attributes={attributes} pageNumber={pageNumber} setPageNumber={setPageNumber} />\r\n\t</> : '';\r\n}"],"names":["React","ReactDOM","userName","attributes","isProfile","profileImg","isFollowBtn","link","className","href","target","rel","src","alt","media","pageNumber","setPageNumber","itemVisible","isLink","isLinkNewTab","isCaption","captionLength","isLoadMore","columns","imgHoverEffect","captionStyle","desktop","tablet","mobile","length","slice","map","data","index","id","media_type","media_url","caption","permalink","imageEl","thumbnail_url","text","truncate","key","onClick","graphIGUrl","personalMediaFields","getMediaURL","accessToken","limit","fetchUserWithData","token","fetch","then","res","json","user","userData","username","page","paging","cursors","getLocalWithExpiry","now","Date","getTime","localData","localStorage","getItem","JSON","parse","decodeURIComponent","escape","atob","expiry","value","getBackgroundCSS","bg","isSolid","isGradient","isImage","type","color","gradient","image","position","attachment","repeat","size","overlayColor","styles","url","getBorderCSS","border","width","style","side","radius","borderSideCheck","s","bSide","toLowerCase","includes","noWidth","borderCSS","join","getTypoCSS","selector","typo","isFamily","fontFamily","fontCategory","fontVariant","fontWeight","isUploadFont","fontSize","fontStyle","textTransform","textDecoration","lineHeight","letterSpace","generateCss","cssProperty","isEmptyFamily","desktopFontSize","tabletFontSize","mobileFontSize","linkQuery","replace","split","googleFontLink","trim","space","vertical","horizontal","top","right","bottom","left","clientId","columnGap","rowGap","background","padding","captionBG","captionTypo","captionColor","feedSl","galleryItemSl","dangerouslySetInnerHTML","__html","$","jQuery","document","addEventListener","querySelectorAll","forEach","instagramFeed","dataset","cId","render","GalleryRender","removeAttribute","obj","property","cacheTime","cacheTimePeriod","useState","users","setUsers","usersData","setUsersData","Object","prototype","hasOwnProperty","call","useEffect","usersHolder","usersDataHolder","keys","push","isEmptyObject","ms","existingData","item","setItem","btoa","unescape","encodeURIComponent","stringify","setLocalWithExpiry","time","period","minuteMS","timeToMs"],"sourceRoot":""}