{"version":3,"file":"js/arts.bde52cb3-0a74de3cf422dcea3ea8.js","mappings":"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AK,EAACva,KAAK,cAAcnG,UAAYyf,KACjDphB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,YAAYnG,UAAY0f,KAC/CrhB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,mBAAmBnG,UAAY2f,KACtDthB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,mBAAmBnG,UAAY4f,KACtDvhB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,0BAA0BnG,UAAY6f,KAC7DxhB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,sBAAsBnG,UAAY6f,KACzDxhB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,2BAA2BnG,UAAY8f,KAC9DzhB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,uBAAuBnG,UAAY+f,KAE1D1hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,SAASnG,UAAYggB,KAC5C3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,cAAcnG,UAAYggB,KACjD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,gBAAgBnG,UAAYggB,KACnD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,cAAcnG,UAAYggB,KACjD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,oBAAoBnG,UAAYggB,KACvD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,oBAAoBnG,UAAYggB,KACvD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,iBAAiBnG,UAAYggB,KACpD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,iBAAiBnG,UAAYggB,KACpD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,gBAAgBnG,UAAYggB,KACnD3hB,EAAAA,cAACod,GAAU,CAACiF,OAAK,EAACva,KAAK,WAAWnG,UAAYggB,KAC9C3hB,EAAAA,cAACod,GAAU,CAACi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","sources":["webpack://artfully-walls/./app/javascript/arts/components/Application/data_layer.js","webpack://artfully-walls/./app/javascript/arts/components/checkout/guest_checkout.js","webpack://artfully-walls/./app/javascript/arts/components/collections/collection.js","webpack://artfully-walls/./app/javascript/arts/components/hp_promo/hp_promo_v2.js","webpack://artfully-walls/./app/javascript/arts/components/slider_arrows/index.js","webpack://artfully-walls/./app/javascript/arts/components/slider_arrows/styles.module.scss?372f","webpack://artfully-walls/./app/javascript/arts/components/subscribe_to_newsletter/subscribe_form.js","webpack://artfully-walls/./app/javascript/arts/components/subscribe_to_newsletter/thanks_popup.js","webpack://artfully-walls/./app/javascript/arts/components/wall_arts/index.js","webpack://artfully-walls/./app/javascript/arts/components/walls/grid_selection.js","webpack://artfully-walls/./app/javascript/arts/config/lib.js","webpack://artfully-walls/./app/javascript/arts/config/works_loader_actions.js","webpack://artfully-walls/./app/javascript/arts/reducers/artist/proptypes.js","webpack://artfully-walls/./app/javascript/arts/reducers/artist/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/product/proptypes.js","webpack://artfully-walls/./app/javascript/arts/reducers/product/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/selection/proptypes.js","webpack://artfully-walls/./app/javascript/arts/reducers/selection/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/utils.js","webpack://artfully-walls/./app/javascript/arts/reducers/work/proptypes.js","webpack://artfully-walls/./app/javascript/arts/reducers/work/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/works/proptypes.js","webpack://artfully-walls/./app/javascript/arts/reducers/works/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/expandable.js","webpack://artfully-walls/./app/javascript/arts/reducers/artists.js","webpack://artfully-walls/./app/javascript/arts/reducers/artistWorks/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/relatedWorks/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/productsList/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/art_filters/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/wall_filters.js","webpack://artfully-walls/./app/javascript/arts/reducers/original_art_filters.js","webpack://artfully-walls/./app/javascript/arts/reducers/artist_filters.js","webpack://artfully-walls/./app/javascript/arts/reducers/gift_card_balance/index.js","webpack://artfully-walls/./app/javascript/arts/reducers/similar_works.js","webpack://artfully-walls/./app/javascript/arts/reducers/favorites.js","webpack://artfully-walls/./app/javascript/arts/reducers/collections.js","webpack://artfully-walls/./app/javascript/arts/reducers/collection_details.js","webpack://artfully-walls/./app/javascript/arts/reducers/designer_picks.js","webpack://artfully-walls/./app/javascript/arts/reducers/gift_guides.js","webpack://artfully-walls/./app/javascript/arts/reducers/walls.js","webpack://artfully-walls/./app/javascript/arts/reducers/wall.js","webpack://artfully-walls/./app/javascript/arts/reducers/author_original_art.js","webpack://artfully-walls/./app/javascript/arts/reducers/original_arts.js","webpack://artfully-walls/./app/javascript/arts/reducers/original_art.js","webpack://artfully-walls/./app/javascript/arts/reducers/my_walls.js","webpack://artfully-walls/./app/javascript/arts/reducers/checkout_process.js","webpack://artfully-walls/./app/javascript/arts/reducers/mail_subscription.js","webpack://artfully-walls/./app/javascript/arts/reducers/apple_pay_session.js","webpack://artfully-walls/./app/javascript/arts/reducers/explore_art.js","webpack://artfully-walls/./app/javascript/arts/reducers/tapestries.js","webpack://artfully-walls/./app/javascript/arts/reducers/index.js","webpack://artfully-walls/./app/javascript/arts/config/store.js","webpack://artfully-walls/./app/javascript/arts/components/Application/async_route.js","webpack://artfully-walls/./app/javascript/arts/components/Application/visit_manager.js","webpack://artfully-walls/./app/javascript/arts/actions/mail_subscriptions.js","webpack://artfully-walls/./app/javascript/arts/components/subscribe_to_newsletter/subscribe_popup.js","webpack://artfully-walls/./app/javascript/arts/components/subscribe_popup_counters/subscribe_popup_counters.js","webpack://artfully-walls/./app/javascript/arts/components/subscribe_popup_counters/index.js","webpack://artfully-walls/./app/javascript/arts/components/Application/routes.js","webpack://artfully-walls/./app/javascript/arts/components/Application/search.module.scss?22b1","webpack://artfully-walls/./app/javascript/arts/components/Application/search_bar.js","webpack://artfully-walls/./app/javascript/arts/components/Application/search_icon.js","webpack://artfully-walls/./app/javascript/arts/components/Application/index.js","webpack://artfully-walls/./app/javascript/arts/index.js","webpack://artfully-walls/./app/javascript/arts/components/subscribe_to_newsletter/subscribe_to_newsletter_footer.js","webpack://artfully-walls/./app/javascript/shared/locale_selection/locale_selected.js","webpack://artfully-walls/./app/javascript/arts/components/footer/footer.js","webpack://artfully-walls/./app/javascript/arts/components/footer/styles.module.scss?53dc","webpack://artfully-walls/./app/javascript/arts/components/footer/smart_footer.js","webpack://artfully-walls/./app/javascript/arts/components/footer/index.js","webpack://artfully-walls/./app/javascript/arts/components/about/about.js","webpack://artfully-walls/./app/javascript/arts/components/about/smart_about.js","webpack://artfully-walls/./app/javascript/arts/components/about/index.js","webpack://artfully-walls/./app/javascript/arts/components/top_artists/artists.js","webpack://artfully-walls/./app/javascript/arts/components/top_artists/styles.module.scss?8d91","webpack://artfully-walls/./app/javascript/arts/components/top_artists/index.js","webpack://artfully-walls/./app/javascript/packs/arts.js","webpack://artfully-walls/./app/javascript/arts/components/checkout/styles.module.scss?74fb","webpack://artfully-walls/./app/javascript/arts/components/collections/styles.module.scss?35f3","webpack://artfully-walls/./app/javascript/arts/components/subscribe_to_newsletter/styles.module.scss?01d1","webpack://artfully-walls/./app/javascript/arts/components/walls/styles.module.scss?7b2e"],"sourcesContent":["import { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { scheduleProductView } from '../../config/api';\nimport { onWorkDetails } from '../../config/analytics';\n\nlet isSpaNav = false;\n\nexport const GtmDetails = ({ data }) => {\n useEffect(() => {\n scheduleProductView(onWorkDetails(data));\n }, []);\n return null;\n};\n\nconst GTMPageView = ({ pageType, section }) => {\n useEffect(() => {\n if (isSpaNav) {\n window.dataLayer.push({\n pageType,\n section,\n event: 'pageview',\n pagePath: window.location.href\n });\n }\n isSpaNav = true;\n }, [window.location.href]);\n return null;\n};\n\nGtmDetails.propTypes = {\n data: PropTypes.object\n};\n\nGTMPageView.propTypes = {\n pageType: PropTypes.string.isRequired,\n section: PropTypes.string\n};\n\nexport default GTMPageView;\n","/* eslint-disable jsx-a11y/label-has-for */\n/* eslint-disable jsx-a11y/label-has-associated-control */\nimport React, { useRef } from 'react';\nimport { createGuestUserApi } from 'arts/config/api';\nimport { Loader } from 'semantic-ui-react';\nimport classnames from 'classnames';\nimport {\n Formik, Form, Field, ErrorMessage\n} from 'formik';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport * as Classes from './styles.module.scss';\nimport { onUserNewletterSubscribed } from '../../config/analytics';\n\nexport const validateEmail = (value) => {\n let error = null;\n if (!value) {\n error = 'Required';\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)) {\n error = 'Invalid email address';\n }\n return error;\n};\n\nconst GuestCheckout = () => {\n const ref = useRef(null);\n\n const onSubmit = (values, { setSubmitting, setErrors }) => {\n const { email, subscribe } = values;\n createGuestUserApi({ email, subscribe }).then(({ errors, shaEmail, eventId }) => {\n if (shaEmail) {\n onUserNewletterSubscribed(shaEmail, eventId);\n }\n if (!ref.current) { return; }\n if (errors) {\n setErrors(errors);\n setSubmitting(false);\n return;\n }\n window.location.reload();\n }).catch(() => {\n setSubmitting(false);\n });\n setSubmitting(true);\n };\n\n const initialValues = {\n email: '',\n subscribe: window.currentLocale.currentLocale === 'en'\n };\n\n return (\n
\n \n {\n ({\n isSubmitting\n }) => (\n
\n

Checkout As Guest

\n

You may create an account at the end of the checkout process if desired.

\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n {\n isSubmitting ? (\n \n ) : (\n \n )\n }\n
\n\n
\n
\n To learn more about how we use your information, read our \n Privacy Policy\n  and \n Terms Of Use\n
\n
\n
\n )\n }\n \n
\n );\n};\n\nexport default GuestCheckout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport ReactMarkdown from 'react-markdown';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport * as Classes from './styles.module.scss';\n\nconst brokenDescription = (text) => (text || '').replace(/
/gi, '\\n');\n\nconst renderLink = (href, useRealLink, attrs, children) => {\n if (useRealLink) {\n return (\n \n { children }\n \n );\n }\n return (\n \n { children }\n \n );\n};\n\nconst Collection = ({\n name,\n slug,\n topMenuImage,\n description,\n actionLabel,\n collectionHref,\n useRealLink\n}) => {\n const href = collectionHref || `/collections/${ slug }`;\n return (\n
  • \n {\n topMenuImage ? (\n renderLink(href, useRealLink, { className: Classes.imgL }, (\n {\n ))) : null\n }\n

    \n { renderLink(href, useRealLink, {}, name) }\n

    \n
    \n \n { brokenDescription(description) }\n \n
    \n {\n renderLink(href, useRealLink, { className: AppClasses.actionButton }, actionLabel)\n }\n
  • \n );\n};\n\nCollection.propTypes = {\n name: PropTypes.string.isRequired,\n slug: PropTypes.string,\n id: PropTypes.number,\n collectionHref: PropTypes.string,\n topMenuImage: PropTypes.string,\n description: PropTypes.string,\n actionLabel: PropTypes.string.isRequired,\n useRealLink: PropTypes.bool\n};\n\nexport default Collection;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport AliceCarousel from 'react-alice-carousel';\nimport { handleDragStart } from 'arts/components/slider_arrows';\nimport left from './left.svg';\nimport right from './right.svg';\nimport { trackEvent } from '../../config/analytics';\n\nexport const renderPicture = ({ sources, img }, name) => (\n \n {\n sources.map(\n (item, index) => \n )\n }\n {\n \n);\n\nconst HpPromoV2 = ({ config }) => {\n const items = config.map((\n {\n id, href, name, img, svg\n }\n ) => (\n \n { renderPicture(img, name) }\n { renderPicture(svg, name) }\n \n ));\n\n const renderPrevButton = ({ isDisabled }) => {\n if (isDisabled) {\n return null;\n }\n return (\n \n );\n };\n\n const renderNextButton = ({ isDisabled }) => {\n if (isDisabled) {\n return null;\n }\n return (\n \n );\n };\n\n useEffect(() => {\n trackEvent('home page');\n }, []);\n\n return (\n \n { items }\n \n );\n};\n\nHpPromoV2.propTypes = {\n config: PropTypes.array.isRequired\n};\n\nexport default HpPromoV2;\n","import React from 'react';\nimport T from 'prop-types';\nimport * as Classes from './styles.module.scss';\n\nconst NextArrow = (props) => (\n \n);\nNextArrow.propTypes = {\n onClick: T.func\n};\n\nconst PrevArrow = (props) => (\n \n);\n\nPrevArrow.propTypes = {\n onClick: T.func\n};\n\n// eslint-disable-next-line react/prop-types\nconst renderPrevButton = ({ isDisabled }) => (isDisabled ? null : );\n\n// eslint-disable-next-line react/prop-types\nconst renderNextButton = ({ isDisabled }) => (isDisabled ? null : );\n\nexport const aliceSliderSettins = (useKeys = true) => ({\n disableDotsControls: true,\n disableSlideInfo: true,\n mouseTracking: true,\n autoWidth: true,\n renderPrevButton,\n renderNextButton,\n key: useKeys ? (new Date()).getTime() : null\n});\n\nexport const handleDragStart = (e) => e.preventDefault();\n","// extracted by mini-css-extract-plugin\nvar _1 = \"NgTv9UY0XllQm9rbzYf6\";\nvar _2 = \"U0lFWm5IMtaLnNRz_lgu NgTv9UY0XllQm9rbzYf6\";\nvar _3 = \"R9Jxm_bmEJ0HJpMTvT6G NgTv9UY0XllQm9rbzYf6\";\nexport { _1 as \"navButton\", _2 as \"nextButton\", _3 as \"prevButton\" }\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Loader } from 'semantic-ui-react';\nimport {\n Formik, Form, Field, ErrorMessage\n} from 'formik';\nimport { validateEmail } from '../checkout/guest_checkout';\nimport * as Classes from './styles.module.scss';\n\nconst SubscribeForm = ({ onSubmit }) => {\n const initialValues = { email: '' };\n\n return (\n
    \n \n {\n ({ isSubmitting }) => (\n
    \n \n \n {\n isSubmitting ? (\n \n ) : (\n \n )\n }\n \n )\n }\n
    \n
    \n );\n};\n\nSubscribeForm.propTypes = {\n onSubmit: PropTypes.func.isRequired\n};\n\nexport default SubscribeForm;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { MODAL_SELECTOR } from 'arts/config/constants';\nimport { trackEvent } from 'arts/config/analytics';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport Modal from '../Modal';\n\nconst ThanksPopup = ({ onCancel }) => {\n useEffect(() => {\n trackEvent('subscribe thanks');\n }, []);\n\n return (\n \n

    \n Thank you!\n

    \n

    \n You are now subscribed to get our latest news.\n

    \n
    \n
    \n \n
    \n \n );\n};\n\nThanksPopup.propTypes = {\n onCancel: PropTypes.func.isRequired\n};\n\nexport default ThanksPopup;\n","import React, { useEffect, useState } from 'react';\nimport { Loader } from 'semantic-ui-react';\nimport classnames from 'classnames';\nimport { request, toCamelCase } from 'arts/../shared/request';\nimport GTMPageView from '../Application/data_layer';\nimport { trackEvent } from '../../config/analytics';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport * as Classes from '../collections/styles.module.scss';\nimport Collection from '../collections/collection';\n\nexport const POPULAR_CATEGORIES = 'Popular Wall Art Categories';\n\nconst WallArts = () => {\n const [seoCategories, setSeoCategories] = useState(null);\n\n useEffect(() => {\n if (window.serializedCategories) {\n setSeoCategories(toCamelCase(window.serializedCategories));\n } else {\n request('/api/wall-art')\n .then((data) => {\n setSeoCategories(toCamelCase(data));\n }).catch(() => {});\n }\n }, []);\n\n useEffect(() => {\n if (seoCategories && seoCategories.length) {\n trackEvent(POPULAR_CATEGORIES.toLowerCase(), { 'items count': seoCategories.length });\n }\n }, [seoCategories && seoCategories.length]);\n\n const collection = !seoCategories ? (\n \n Loading, hold on for a sec...\n \n ) : (\n <>\n

    { POPULAR_CATEGORIES }

    \n
      \n {\n seoCategories.map((i) => (\n \n ))\n }\n
    \n \n );\n\n return (\n
    \n { seoCategories ? : null }\n
    \n { collection }\n
    \n
    \n\n );\n};\n\nexport default WallArts;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport classnames from 'classnames';\nimport queryString from 'query-string';\nimport * as Classes from './styles.module.scss';\nimport pageImage from './page.png';\nimport thumbnailImage from './thumbnail.png';\n\nexport const THUMB = 'thumb';\nexport const PAGE = 'page';\nexport const DEFAULT_GRID = THUMB;\nconst THUMBNAIL_VIEW = 'Thumbnail View';\nconst PAGE_VIEW = 'Page View';\n\nconst GridSelection = ({ params, path, grid }) => {\n const tLink = `${ path }?${ queryString.stringify({ ...params, as: THUMB }) }`;\n const pLink = `${ path }?${ queryString.stringify({ ...params, as: PAGE }) }`;\n\n return (\n
    \n \n {\n { THUMBNAIL_VIEW }\n \n \n {\n { PAGE_VIEW }\n \n
    \n );\n};\n\nGridSelection.propTypes = {\n params: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n grid: PropTypes.string.isRequired\n};\n\nexport default GridSelection;\n","export const humanSize = (landscape, w, h, joinWith) => {\n let sizes = [w, h];\n if (landscape && w < h) {\n sizes = [h, w];\n } else if (!landscape && w > h) {\n sizes = [h, w];\n }\n return sizes.join(joinWith);\n};\n\nexport const linkTo = (href) => {\n const hostname = `${ window.location.hostname }/`;\n const pos = (href || '').indexOf(hostname);\n if (pos === -1) {\n return href;\n }\n return href.substr(pos + hostname.length - 1);\n};\n\n// https://gist.github.com/felipenmoura/650e7e1292c1e7638bcf6c9f9aeb9dd5\n\nexport const scrollPageTo = (to, duration = 500) => {\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t, b, c, d) => {\n // eslint-disable-next-line no-param-reassign\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n // eslint-disable-next-line no-param-reassign\n t -= 1;\n return -c / 2 * (t * (t - 2) - 1) + b;\n };\n\n return new Promise((resolve, reject) => {\n const element = document.scrollingElement;\n\n if (typeof to === 'string') {\n // eslint-disable-next-line no-param-reassign\n to = document.querySelector(to) || reject();\n }\n if (typeof to !== 'number') {\n // eslint-disable-next-line no-param-reassign\n to = to.getBoundingClientRect().top + element.scrollTop;\n }\n\n const start = element.scrollTop,\n change = to - start,\n increment = 50;\n let currentTime = 0;\n\n const animateScroll = () => {\n currentTime += increment;\n const val = easeInOutQuad(currentTime, start, change, duration);\n element.scrollTop = val;\n if (currentTime < duration) {\n setTimeout(animateScroll, increment);\n } else {\n resolve();\n }\n };\n animateScroll();\n });\n};\n\nexport const wallPictureToPreview = (wp) => {\n const {\n workId,\n wallPictureId,\n landscape,\n isAvailable,\n title,\n workSizes,\n workHref,\n authorHref,\n authorName,\n prices, // - we will take it as is\n workSizeId,\n frameId,\n\n // all these is a part of Paper - we will take it as is\n paperId,\n paperHeight,\n paperWidth,\n printHeight,\n printWidth,\n paperMaterial,\n displayPaperWidth,\n displayPaperHeight,\n displayPrintWidth,\n displayPrintHeight,\n\n zoomPreviewUrl,\n noFramePreviewUrl,\n\n frameFinalFramedSize\n } = wp;\n\n const frameOption = (\n ((workSizes || [])[0] || {}).options || {}\n )[0] || {};\n\n return {\n workId,\n wallPictureId,\n landscape,\n isAvailable,\n title,\n frameOption,\n workHref,\n authorHref,\n authorName,\n prices,\n workSizeId,\n frameId,\n paperId,\n paperHeight,\n paperWidth,\n printHeight,\n printWidth,\n zoomPreviewUrl,\n noFramePreviewUrl,\n paperMaterial,\n frameFinalFramedSize,\n displayPaperWidth,\n displayPaperHeight,\n displayPrintWidth,\n displayPrintHeight\n };\n};\n","import Constants from 'arts/config/constants';\nimport { scrollPageTo } from 'arts/config/lib';\nimport createReducer from 'arts/config/create_reducer';\nimport { updateCollectionStoreItems } from 'arts/reducers/utils';\nimport deepEqual from 'deep-equal';\n\nconst PER_PAGE = 210;\nconst REQUEST_PAGE_SIZE = 70;\nconst REQUEST_COUNTS = parseInt(PER_PAGE / REQUEST_PAGE_SIZE, 10);\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n collection: [],\n page: 1,\n totalPages: -1\n});\n\nconst dispatchPagesLoaded = (page, responses, dispatch, constRoot) => {\n let collection = [];\n let totalPages = null;\n responses.forEach(r => {\n const [data, headers] = r;\n collection = [...collection, ...data];\n totalPages = totalPages || Math.ceil(parseInt(headers.get('X-total-Pages'), 10) / REQUEST_COUNTS);\n });\n dispatch({\n type: constRoot.FETCH_SUCCESS,\n data: collection,\n totalPages,\n page\n });\n};\n\nexport const buildFetchWorksPage = (\n constRoot, loadPageApi, reducerRoot\n) => (params) => (dispatch, getState) => {\n const { params: paramsAre } = getState()[reducerRoot];\n if (deepEqual(params, paramsAre)) {\n return;\n }\n\n const page = parseInt(params.page, 10) || 1;\n\n dispatch({ type: constRoot.FETCH, params });\n scrollPageTo(0, 250).then(() => {\n const rqs = [];\n for (let i = 0; i < REQUEST_COUNTS; i += 1) {\n const pageBase = (page - 1) * REQUEST_COUNTS;\n const paramsWithPage = {\n ...params,\n page: pageBase + i + 1,\n per: REQUEST_PAGE_SIZE\n };\n rqs.push(loadPageApi(paramsWithPage));\n }\n Promise.all(rqs).then(responses => {\n const { params: paramsWere } = getState()[reducerRoot];\n if (!deepEqual(params, paramsWere)) { return; }\n dispatchPagesLoaded(page, responses, dispatch, constRoot);\n }, errors => {\n dispatch({\n type: constRoot.FETCH_FAILURE,\n errors\n });\n });\n });\n};\n\nexport const buildWorksReducer = (constRoot) => createReducer(getDefaultState(), {\n [constRoot.FETCH](state, { params }) {\n return {\n ...state,\n error: null,\n loading: true,\n params\n };\n },\n\n [constRoot.FETCH_SUCCESS](state, { data, page, totalPages }) {\n return {\n ...state,\n loading: false,\n page,\n totalPages,\n collection: data\n };\n },\n\n [constRoot.FETCH_FAILURE](state, action) {\n return {\n ...state,\n loading: false,\n error: action.errors ? action.errors.message : ''\n };\n },\n\n [constRoot.RESET]() {\n return getDefaultState();\n },\n\n [Constants.WorkStoreItems.ADDED](state, { workId, storeItemId }) {\n return {\n ...state,\n collection: updateCollectionStoreItems(state.collection, workId, storeItemId)\n };\n },\n\n [Constants.WorkStoreItems.REMOVED](state, { workId }) {\n return {\n ...state,\n collection: updateCollectionStoreItems(state.collection, workId, null)\n };\n }\n});\n","import T from 'prop-types';\n\nexport const artistWorkShape = T.shape({\n id: T.number.isRequired,\n imageHeight: T.number.isRequired,\n imageWidth: T.number.isRequired,\n href: T.string.isRequired,\n title: T.string.isRequired,\n imgUrl: T.string.isRequired\n});\n\nexport const artistShape = T.shape({\n id: T.number,\n works: T.arrayOf(artistWorkShape)\n});\n\nexport const mayAlsoLikeShape = T.arrayOf(artistWorkShape);\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n works: []\n});\n\nconst artist = createReducer(getDefaultState(), {\n [Constants.Artist.FETCH](state) {\n return {\n ...state,\n error: null,\n loading: true\n };\n },\n\n [Constants.Artist.FETCH_FAILURE](state, action) {\n return {\n ...state,\n loading: false,\n error: action.error\n };\n },\n\n [Constants.Artist.FETCH_SUCCESS](state, action) {\n return {\n ...state,\n works: action.data.works,\n loading: false\n };\n },\n\n [Constants.Artist.RESET]() {\n return getDefaultState();\n }\n});\n\nexport default artist;\nexport * from './proptypes';\n","import T from 'prop-types';\n\nconst imageShape = T.shape({\n imageUrl: T.string,\n thumbUrl: T.string\n});\nconst imagesShape = T.arrayOf(imageShape);\n\nconst sectionShape = T.shape({\n id: T.number,\n name: T.string,\n content: T.string\n});\nconst sectionsShape = T.arrayOf(sectionShape);\n\nconst userShape = T.shape({\n id: T.number,\n name: T.string\n});\n\nconst productShape = T.shape({\n id: T.number,\n description: T.string,\n retailPrice: T.string,\n shippingPrice: T.string,\n title: T.string,\n images: imagesShape.isRequired,\n sections: sectionsShape.isRequired,\n user: userShape.isRequired\n});\n\nexport {\n productShape,\n userShape,\n sectionsShape,\n imageShape\n};\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport {\n toCamelCase\n} from 'arts/config/convertCase';\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n data: {\n id: null,\n images: [],\n sections: [],\n user: {}\n }\n});\n\nconst product = createReducer(getDefaultState(), {\n [Constants.Product.FETCH](state) {\n return {\n ...state,\n loading: true,\n data: {\n id: null,\n images: [],\n sections: [],\n user: {}\n }\n };\n },\n\n [Constants.Product.FETCH_FAILURE](state, action) {\n return {\n ...state,\n loading: false,\n error: action.error\n };\n },\n\n [Constants.Product.FETCH_SUCCESS](state, action) {\n return {\n ...state,\n loading: false,\n data: toCamelCase(action.data)\n };\n }\n});\n\nexport default product;\nexport * from './proptypes';\n","import T from 'prop-types';\n\nimport {\n frameShape\n} from 'arts/reducers/work';\n\nexport const selectionShape = T.shape({\n frame: frameShape\n});\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n frame: null,\n paper: null,\n otherImageUrl: null,\n nonGlare: false\n});\n\nconst selection = createReducer(getDefaultState(), {\n [Constants.Selection.RESET_OTHER](state) {\n return { ...state, otherImageUrl: null };\n },\n [Constants.Selection.SET_OTHER](state, { url }) {\n return {\n ...state,\n otherImageUrl: url\n };\n },\n [Constants.Selection.SET_NON_GLARE](state, { nonGlare }) {\n return {\n ...state,\n nonGlare\n };\n },\n [Constants.Selection.SET_FRAME](state, { paper, frame }) {\n return {\n ...state,\n paper,\n frame\n };\n },\n [Constants.Selection.RESET]() {\n return getDefaultState();\n }\n});\n\nexport default selection;\nexport * from './proptypes';\n","export const uniqCollection = (collection, batch) => {\n const res = [...collection];\n batch.forEach((w) => {\n if (!res.find((ew) => ew.id === w.id)) {\n res.push(w);\n }\n });\n return res;\n};\n\nconst splitCollection = (collection, id) => {\n const index = collection.findIndex((i) => i.id === id);\n if (index === -1) {\n return [collection, null, null];\n }\n const before = collection.slice(0, index);\n const after = collection.slice(index + 1);\n const item = collection[index];\n return [before, after, item];\n};\n\nexport const removeItemById = (collection, id) => {\n // eslint-disable-next-line no-unused-vars\n const [before, after, item] = splitCollection(collection, id);\n if (!after) {\n return before;\n }\n return [...before, ...after];\n};\n\nexport const updateCollectionStoreItems = (collection, id, storeItemId) => {\n const [before, after, item] = splitCollection(collection, id);\n if (!after) {\n return before;\n }\n const newItem = { ...item, storeItemId };\n return [...before, newItem, ...after];\n};\n","import T from 'prop-types';\n\nconst frameShape = T.shape({\n price: T.number.isRequired,\n frameName: T.string,\n frame: T.string,\n frameMat: T.number,\n frameWidth: T.number,\n frameHeight: T.number,\n frameThickness: T.number,\n imageUrl: T.string.isRequired,\n frameId: T.number,\n customFrame: T.bool,\n previewWidth: T.number.isRequired,\n previewHeight: T.number.isRequired,\n frameThumbUrl: T.string,\n framePreviewUrl: T.string,\n frameLargeImageUrl:T.string,\n frameFinalFramedSize: T.string,\n frameDisplayWidth: T.number,\n frameDisplayDepth: T.string,\n zoomPreviewUrl: T.string,\n frameCategory: T.string,\n warning: T.string\n});\n\nconst paperShape = T.shape({\n paperId: T.number.isRequired,\n paperMaterial: T.string.isRequired,\n paperWidth: T.number.isRequired,\n paperHeight: T.number.isRequired,\n displayPaperWidth: T.number.isRequired,\n displayPaperHeight: T.number.isRequired,\n displayPaperWidthNoMat:T.number,\n displayPaperHeightNoMat:T.number,\n available: T.bool,\n printWidth: T.number.isRequired,\n printHeight: T.number.isRequired,\n options: T.arrayOf(frameShape).isRequired,\n isHidden: T.bool,\n limitations: T.string\n});\n\nconst workShape = T.shape({\n id: T.number,\n authorName: T.string,\n title: T.string,\n imageUrl: T.string,\n description: T.string,\n zoomUrl: T.string,\n currency: T.string,\n prices: T.arrayOf(T.oneOfType([T.number, T.string])),\n aboutTheAuthor: T.string,\n authorId: T.number,\n aboutPrints: T.arrayOf(T.string),\n aboutPaper: T.arrayOf(T.string),\n secondPreviewUrl: T.string,\n workSizes: T.arrayOf(paperShape),\n landscape: T.bool,\n limitedEdition: T.bool,\n isStock: T.bool,\n firstPaper: T.shape({\n paperId: T.number.isRequired,\n paperMaterial: T.string.isRequired,\n paperWidth: T.number.isRequired,\n paperHeight: T.number.isRequired,\n available: T.bool,\n printWidth: T.number.isRequired,\n printHeight: T.number.isRequired\n }),\n subject: T.string,\n href: T.string,\n isHidden: T.bool,\n notAvailable: T.bool,\n allowStores: T.bool,\n storeItemId: T.number\n});\n\nconst thumbnailsShape = T.arrayOf(T.shape({\n type: T.string,\n url: T.string,\n selection: T.shape({\n frame: frameShape,\n paper: paperShape\n })\n}));\n\nexport {\n workShape,\n paperShape,\n frameShape,\n thumbnailsShape\n};\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst MAT_NAMES = {\n 0: 'fullBleed',\n 3: 'matte'\n};\n\nconst denormalize = ({ workSizes = [], ...rest }) => ({\n ...rest,\n workSizes: workSizes.map(paper => ({\n ...paper,\n options: paper && paper.options.map(frame => ({\n ...frame,\n matName: MAT_NAMES[frame.frameMat]\n }))\n })).filter(v => v.options)\n});\n\nconst findFrameById = (workSizes, frameId) => {\n for (let i = 0, l = workSizes.length; i < l; i += 1) {\n for (let f = 0, fl = workSizes[i].options.length; f < fl; f += 1) {\n const option = workSizes[i].options[f];\n if (option.frameId === frameId && option.zoomPreviewUrl) {\n return [workSizes[i], option];\n }\n }\n }\n return [null, null];\n};\n\nconst findAnyFrame = (workSizes, mat) => {\n for (let i = 0, l = workSizes.length; i < l; i += 1) {\n for (let f = 0, fl = workSizes[i].options.length; f < fl; f += 1) {\n const option = workSizes[i].options[f];\n if (option.frameMat === mat && option.zoomPreviewUrl) {\n return [workSizes[i], option];\n }\n }\n }\n return [null, null];\n};\n\nconst parseThumbnails = (data, previewFrame) => {\n const res = (previewFrame && previewFrame.isTapestry) ? [] : [{\n type: 'image',\n url: data.imageUrl\n }];\n\n let frame = null;\n let paper;\n if (data.workSizes && data.workSizes.length > 0) {\n if (res.length > 0) {\n res[0].selection = {\n paper: data.workSizes[0],\n frame: data.workSizes[0] && (data.workSizes[0].options || [])[0]\n };\n }\n if ((previewFrame || {}).frameId) {\n [paper, frame] = findFrameById(data.workSizes, previewFrame.frameId);\n }\n if (!frame) {\n [paper, frame] = findAnyFrame(data.workSizes, 3);\n }\n if (!frame) {\n [paper, frame] = findAnyFrame(data.workSizes, 0);\n }\n if (paper && frame) {\n res.push({ type: 'framed', url: frame.zoomPreviewUrl, selection: { paper, frame } });\n }\n }\n\n if (data.secondPreviewUrl) {\n res.push({\n type: 'second',\n url: data.secondPreviewUrl\n });\n }\n\n if (previewFrame && previewFrame.framePreviewUrl) {\n res.push({\n type: 'frame',\n url: previewFrame.framePreviewUrl\n });\n } else if (data.canvasPreviewUrl) {\n res.push({\n type: 'canvas',\n url: data.canvasPreviewUrl\n });\n }\n\n return res;\n};\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n data: {},\n thumbnails: []\n});\n\nconst work = createReducer(getDefaultState(), {\n [Constants.Work.FETCH](state, { id, detail }) {\n const partialData = denormalize(detail);\n return {\n ...state,\n id,\n loading: true,\n data: partialData,\n thumbnails: []\n };\n },\n\n [Constants.Work.FETCH_FAILURE](state, action) {\n return {\n ...state,\n loading: false,\n error: action.error\n };\n },\n\n [Constants.Work.FETCH_SUCCESS](state, action) {\n const data = denormalize(action.data);\n if (state.id !== data.id) { return state; }\n if (data.notAvailable && !data.isHidden) {\n return { ...state, loading: false, data: { ...state.data, notAvailable: true } };\n }\n return {\n loading: false,\n data,\n thumbnails: parseThumbnails(data)\n };\n },\n\n [Constants.WorkStoreItems.ADDED](state, { workId, storeItemId }) {\n if (state.data.id !== workId) { return state; }\n return {\n ...state,\n data: {\n ...state.data,\n storeItemId\n }\n };\n },\n\n [Constants.WorkStoreItems.REMOVED](state, { workId }) {\n if (state.data.id !== workId) { return state; }\n return {\n ...state,\n data: {\n ...state.data,\n storeItemId: null\n }\n };\n },\n\n [Constants.Selection.SET_FRAME](state, { frame }) {\n return { ...state, thumbnails: parseThumbnails(state.data, frame) };\n }\n\n});\n\nexport default work;\nexport * from './proptypes';\n","import T from 'prop-types';\n\nimport {\n workShape\n} from 'arts/reducers/work';\n\nconst worksShape = T.arrayOf(workShape);\n\nexport {\n worksShape\n};\n","import Constants from 'arts/config/constants';\nimport { buildWorksReducer } from 'arts/config/works_loader_actions';\n\nconst works = buildWorksReducer(Constants.Works);\n\nexport default works;\nexport * from './proptypes';\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n [Constants.Expandable.KEYS.additionalInfo]: false,\n [Constants.Expandable.KEYS.selectionDetails]: false,\n [Constants.Expandable.KEYS.prints]: false,\n [Constants.Expandable.KEYS.frames]: false,\n [Constants.Expandable.KEYS.shipping]: false\n});\n\nconst expandable = createReducer({\n ...getDefaultState(),\n [Constants.Expandable.KEYS.additionalInfo]: true\n}, {\n [Constants.Expandable.ACTIONS.expand](state, { key }) {\n return {\n ...getDefaultState(),\n [key]: true\n };\n }\n});\n\nexport default expandable;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { uniqCollection } from './utils';\n\nconst getDefaultState = () => ({\n loading: false,\n artists: [],\n hasMore: true,\n page: -1,\n params: {}\n});\n\nconst artistsReducer = createReducer(getDefaultState(), {\n [Constants.Artists.RESET]() {\n return getDefaultState();\n },\n [Constants.Artists.FETCH](state) {\n return {\n ...state,\n loading: true\n };\n },\n\n [Constants.Artists.FETCH_SUCCESS](state, { artists, page, params }) {\n return {\n ...state,\n loading: false,\n artists: uniqCollection(state.artists, artists),\n hasMore: artists.length > 0,\n page,\n params\n };\n }\n});\n\nexport default artistsReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n collection: [],\n artistInfo: {}\n});\n\nconst artistWorks = createReducer(getDefaultState(), {\n [Constants.ArtistInfo.FETCH](state, { id }) {\n return {\n ...state,\n error: null,\n artistInfo: { id }\n };\n },\n\n [Constants.ArtistInfo.FETCH_SUCCESS](state, { id, data }) {\n if (state.artistInfo.id === id) {\n return { ...state, artistInfo: { id, ...data } };\n }\n return state;\n },\n\n [Constants.ArtistWorks.FETCH](state, { id }) {\n if (id !== state.artistInfo.id) {\n return state;\n }\n return {\n ...state,\n collection: [],\n error: null\n };\n },\n\n [Constants.ArtistWorks.FETCH_SUCCESS](state, { id, data }) {\n if (id !== state.artistInfo.id) {\n return state;\n }\n return {\n ...state,\n collection: data,\n error: null\n };\n },\n\n [Constants.ArtistWorks.FETCH_FAILURE](state, { error, id }) {\n if (id !== state.artistInfo.id) {\n return state;\n }\n return {\n ...state,\n error: error.message,\n collection: []\n };\n }\n});\n\nexport default artistWorks;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n alsoLike: {\n error: null,\n data: []\n },\n recentlyView: {\n error: null,\n data: []\n }\n});\n\nconst relatedWorks = createReducer(getDefaultState(), {\n // ALSO LIKE\n [Constants.RelatedWorks.LOAD_ALSO_LIKE_START](state) {\n return {\n ...state,\n alsoLike: getDefaultState().alsoLike\n };\n },\n\n [Constants.RelatedWorks.LOAD_ALSO_LIKE_FAILURE](state, action) {\n return {\n ...state,\n alsoLike: {\n ...state.alsoLike,\n error: action.error\n }\n };\n },\n [Constants.RelatedWorks.LOAD_ALSO_LIKE_SUCCESS](state, action) {\n return {\n ...state,\n alsoLike: {\n ...state.alsoLike,\n data: action.data\n }\n };\n },\n // RECENTLY VIEW\n [Constants.RelatedWorks.LOAD_RECENTLY_VIEW_START](state) {\n return {\n ...state,\n recentlyView: {\n ...getDefaultState().recentlyView,\n ids: state.recentlyView.ids\n }\n };\n },\n\n [Constants.RelatedWorks.LOAD_RECENTLY_VIEW_FAILURE](state, action) {\n return {\n ...state,\n recentlyView: {\n ...state.recentlyView,\n error: action.error\n }\n };\n },\n [Constants.RelatedWorks.SET_RECENTLY_VIEWED](state, { ids }) {\n return {\n ...state,\n recentlyView: {\n ...state.recentlyView,\n ids\n }\n };\n },\n [Constants.RelatedWorks.LOAD_RECENTLY_VIEW_SUCCESS](state, action) {\n return {\n ...state,\n recentlyView: {\n ...state.recentlyView,\n data: action.data\n }\n };\n }\n});\n\nexport default relatedWorks;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport {\n toCamelCase\n} from 'arts/config/convertCase';\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n data: []\n});\n\nconst productsList = createReducer(getDefaultState(), {\n [Constants.ProductsList.FETCH](state) {\n return {\n ...state,\n loading: true,\n data: []\n };\n },\n\n [Constants.ProductsList.FETCH_FAILURE](state, action) {\n return {\n ...state,\n loading: false,\n error: action.error\n };\n },\n\n [Constants.ProductsList.FETCH_SUCCESS](state, action) {\n return {\n ...state,\n loading: false,\n data: toCamelCase(action.data)\n };\n }\n});\n\nexport default productsList;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n filters: null\n});\n\nconst artFilters = createReducer(getDefaultState(), {\n [Constants.ArtFilters.FETCH_SUCCESS](state, { filters }) {\n return { ...state, filters };\n }\n});\n\nexport default artFilters;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n filters: null\n});\n\nconst wallFilters = createReducer(getDefaultState(), {\n [Constants.WallFilters.FETCH_SUCCESS](state, { filters }) {\n return { ...state, filters };\n }\n});\n\nexport default wallFilters;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n filters: null\n});\n\nconst originalArtFilters = createReducer(getDefaultState(), {\n [Constants.OriginalArtFilters.FETCH_SUCCESS](state, { filters }) {\n return { ...state, filters };\n }\n});\n\nexport default originalArtFilters;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n filters: null\n});\n\nconst artistFilters = createReducer(getDefaultState(), {\n [Constants.ArtistFilters.FETCH_SUCCESS](state, { filters }) {\n return { ...state, filters };\n }\n});\n\nexport default artistFilters;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n error: null,\n loading: false,\n balance: null,\n loaded: false,\n giftCardNumber: null,\n showForm: true,\n locale: null\n});\n\nconst giftCardBalance = createReducer(getDefaultState(), {\n [Constants.GiftCardBalance.FETCH](state, { giftCardNumber }) {\n return {\n ...state, loaded: false, loading: true, giftCardNumber, showForm: false\n };\n },\n [Constants.GiftCardBalance.FETCH_SUCCESS](state, { balance, giftCardNumber, locale }) {\n if (giftCardNumber === state.giftCardNumber) {\n return {\n ...state, balance, loaded: true, loading: false, locale\n };\n }\n return { ...state };\n },\n [Constants.GiftCardBalance.FETCH_FAILURE](state, { error }) {\n return {\n ...state, loaded: true, loading: false, error\n };\n },\n [Constants.GiftCardBalance.CLEAR]() {\n return getDefaultState();\n }\n});\n\nexport default giftCardBalance;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n loading: false,\n items: []\n});\n\nconst similarWorks = createReducer(getDefaultState(), {\n [Constants.SimilarWorks.FETCH](state) {\n return {\n ...state,\n loading: true,\n items: []\n };\n },\n\n [Constants.SimilarWorks.FETCH_SUCCESS](state, { items }) {\n return {\n ...state,\n loading: false,\n items\n };\n }\n});\n\nexport default similarWorks;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n loading: false,\n loaded: false,\n Work: {},\n Wall: {},\n User: {}\n});\n\nconst parseFavorites = ({ favorites }) => {\n const res = {\n Work: {},\n Wall: {},\n User: {}\n };\n favorites.forEach((f) => {\n if (res[f.type]) {\n res[f.type][f.id] = f;\n }\n });\n return res;\n};\n\nconst addFavorite = (state, favorite) => ({\n ...state,\n [favorite.type]: {\n ...state[favorite.type],\n [favorite.id]: favorite\n }\n});\n\nconst removeFavorite = (state, favorite) => {\n const {\n [favorite.id]: _,\n ...rest\n } = state[favorite.type];\n\n return {\n ...state,\n [favorite.type]: rest\n };\n};\n\nconst favoritesReducer = createReducer(getDefaultState(), {\n [Constants.Favorites.LOAD]: () => ({\n ...getDefaultState(),\n loading: true\n }),\n [Constants.Favorites.LOADED]: (_, { favorites }) => ({\n loading: false,\n loaded: true,\n ...parseFavorites(favorites)\n }),\n [Constants.Favorites.ADD]: (state, { favorite }) => addFavorite(state, favorite),\n [Constants.Favorites.REMOVE]: (state, { favorite }) => removeFavorite(state, favorite)\n});\n\nexport default favoritesReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { toCamelCase } from '../../wall_builder/config/utils';\n\nconst getDefaultState = () => ({\n loading: false,\n items: toCamelCase(window.collections || [])\n});\n\nexport default createReducer(getDefaultState(), {\n [Constants.Collections.LOAD]: () => ({\n ...getDefaultState(),\n loading: true\n }),\n [Constants.Collections.LOADED]: (_, { items }) => ({\n loading: false,\n items\n })\n});\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { toCamelCase } from '../../wall_builder/config/utils';\n\nconst getDefaultState = () => {\n const details = window.collectionDetails || {};\n const res = {};\n Object.keys(details).forEach(slug => {\n res[slug] = toCamelCase(details[slug]);\n });\n return res;\n};\n\nexport default createReducer(getDefaultState(), {\n [Constants.CollectionDetails.LOAD]: (state, { slug }) => ({\n ...state,\n [slug]: {\n ...state[slug],\n loading: true\n }\n }),\n [Constants.CollectionDetails.LOADED]: (state, { item, slug }) => ({\n ...state,\n [slug]: item\n })\n});\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { toCamelCase } from '../../wall_builder/config/utils';\n\nconst getDefaultState = () => ({\n loading: false,\n items: toCamelCase(window.designer_picks || [])\n});\n\nexport default createReducer(getDefaultState(), {\n [Constants.DesignerPicks.LOAD]: () => ({\n ...getDefaultState(),\n loading: true\n }),\n [Constants.DesignerPicks.LOADED]: (_, { items }) => ({\n loading: false,\n items\n })\n});\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { toCamelCase } from '../../wall_builder/config/utils';\n\nconst getDefaultState = () => ({\n loading: false,\n items: toCamelCase(window.gifts_guides || [])\n});\n\nexport default createReducer(getDefaultState(), {\n [Constants.GiftGuides.LOAD]: () => ({\n ...getDefaultState(),\n loading: true\n }),\n [Constants.GiftGuides.LOADED]: (_, { items }) => ({\n loading: false,\n items\n })\n});\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { uniqCollection, updateCollectionStoreItems } from './utils';\n\nconst getDefaultState = () => ({\n loading: false,\n walls: [],\n hasMore: true,\n page: -1\n});\n\nconst wallsReducer = createReducer(getDefaultState(), {\n [Constants.Walls.FETCH](state) {\n return {\n ...state,\n loading: true\n };\n },\n\n [Constants.Walls.FETCH_SUCCESS](state, { walls, page, params }) {\n return {\n ...state,\n loading: false,\n walls: uniqCollection(state.walls, walls),\n hasMore: walls.length > 0,\n page,\n params\n };\n },\n\n [Constants.WallStoreItems.ADDED](state, { wallId, storeItemId }) {\n return {\n ...state,\n walls: updateCollectionStoreItems(state.walls, wallId, storeItemId)\n };\n },\n\n [Constants.WallStoreItems.REMOVED](state, { wallId }) {\n return {\n ...state,\n walls: updateCollectionStoreItems(state.walls, wallId, null)\n };\n },\n\n [Constants.Walls.RESET]() {\n return getDefaultState();\n }\n});\n\nexport default wallsReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({});\n\nconst wallFilters = createReducer(getDefaultState(), {\n [Constants.Wall.FETCH]: (state, { id, sharingToken }) => ({\n ...state,\n [sharingToken || id]: {\n loading: true,\n id,\n sharingToken\n }\n }),\n [Constants.Wall.FETCH_SUCCESS]: (state, { wall, sharingToken }) => ({\n ...state,\n [sharingToken || wall.id]: wall\n })\n\n});\n\nexport default wallFilters;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({});\n\nconst authorOriginalArtReducer = createReducer(getDefaultState(), {\n [Constants.AuthorOriginalArt.FETCH]: (state, { id }) => ({\n ...state,\n [id]: {\n id,\n loading: true,\n userOriginalArt: []\n }\n }),\n [Constants.AuthorOriginalArt.FETCH_SUCCESS]: (state, { id, userOriginalArt }) => ({\n ...state,\n [id]: {\n id,\n userOriginalArt\n }\n })\n\n});\n\nexport default authorOriginalArtReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { uniqCollection } from './utils';\nimport { onOriginalArtItems } from '../config/analytics';\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n collection: [],\n hasMore: true\n});\n\nconst originalArts = createReducer(getDefaultState(), {\n [Constants.OrginalArts.FETCH](state) {\n return {\n ...state,\n error: null,\n loading: true\n };\n },\n\n [Constants.OrginalArts.FETCH_SUCCESS](state, { collection, params }) {\n // we assume that fetched page has already been shown\n onOriginalArtItems(collection, 'category', 'original-art-center');\n return {\n ...state,\n loading: false,\n collection: uniqCollection(state.collection, collection),\n hasMore: collection.length > 0,\n params\n };\n },\n\n [Constants.OrginalArts.RESET]() {\n return getDefaultState();\n }\n});\n\nexport default originalArts;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({});\n\nconst originalArtReducer = createReducer(getDefaultState(), {\n [Constants.OriginalArt.FETCH]: (state, { id }) => ({\n ...state,\n [id]: {\n loading: true,\n id\n }\n }),\n [Constants.OriginalArt.FETCH_SUCCESS]: (state, { originalArt }) => ({\n ...state,\n [originalArt.id]: originalArt\n })\n\n});\n\nexport default originalArtReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\nimport { uniqCollection, removeItemById } from './utils';\n\nconst getDefaultState = () => ({\n loading: false,\n walls: [],\n hasMore: true,\n page: -1,\n deletingId: null\n});\n\nconst myWallsReducer = createReducer(getDefaultState(), {\n [Constants.MyWalls.FETCH](state) {\n return {\n ...state,\n loading: true\n };\n },\n\n [Constants.MyWalls.FETCH_SUCCESS](state, { walls, page }) {\n return {\n ...state,\n loading: false,\n walls: uniqCollection(state.walls, walls),\n hasMore: walls.length > 0,\n page\n };\n },\n\n [Constants.MyWalls.DELETE](state, { id }) {\n return {\n ...state,\n deletingId: id\n };\n },\n\n [Constants.MyWalls.DELETE_SUCCESS](state, { id }) {\n if (state.deletingId === id) {\n return {\n ...state,\n walls: removeItemById(state.walls, id),\n deletingId: null\n };\n }\n return state;\n },\n\n [Constants.MyWalls.DELETE_FAILURE](state, { id }) {\n if (state.deletingId === id) {\n return {\n ...state,\n deletingId: null\n };\n }\n return state;\n }\n});\n\nexport default myWallsReducer;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n status: 'select',\n method: null\n});\n\nconst checkoutProcess = createReducer(getDefaultState(), {\n [Constants.checkoutProcess.setMethod]: (state, { method }) => ({\n ...state,\n method\n }),\n [Constants.applePaySession.SUCCESS]: (state) => ({\n ...state,\n status: 'select'\n }),\n [Constants.checkoutProcess.process]: (state) => ({\n ...state,\n status: 'processing'\n }),\n [Constants.checkoutProcess.placementError]: (state, { error }) => ({\n ...state,\n status: 'error',\n error\n })\n});\n\nexport default checkoutProcess;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst mailSubscription = createReducer({ allow: window.allowNLetter }, {\n [Constants.MailSubscriptions.DISALLOW]: () => ({ allow: false })\n});\n\nexport default mailSubscription;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => null;\n\nconst applePaySession = createReducer(getDefaultState(), {\n [Constants.applePaySession.SUCCESS](_, { applePaySessionConfig }) {\n return applePaySessionConfig;\n }\n});\n\nexport default applePaySession;\n","import createReducer from 'arts/config/create_reducer';\nimport Constants from 'arts/config/constants';\n\nconst getDefaultState = () => ({\n loading: false,\n error: null,\n query: null,\n works: []\n});\n\nconst exploreArt = createReducer(getDefaultState(), {\n [Constants.ExploreArt.FETCH](state, { query }) {\n return {\n ...state,\n error: null,\n loading: true,\n works: [],\n query\n };\n },\n\n [Constants.ExploreArt.FETCH_FAILURE](state, { error }) {\n return {\n ...state,\n loading: false,\n error\n };\n },\n\n [Constants.ExploreArt.FETCH_SUCCESS](state, { works, query }) {\n if (state.query !== query) { return state; }\n return {\n ...state,\n loading: false,\n works\n };\n },\n\n [Constants.ExploreArt.RESET]() {\n return getDefaultState();\n }\n});\n\nexport default exploreArt;\n","import Constants from 'arts/config/constants';\nimport { buildWorksReducer } from 'arts/config/works_loader_actions';\n\nconst tapestries = buildWorksReducer(Constants.Tapestries);\n\nexport default tapestries;\n","import { combineReducers } from 'redux';\nimport work from './work';\nimport works from './works';\nimport selection from './selection';\nimport expandable from './expandable';\nimport artists from './artists';\nimport artist from './artist';\nimport artistWorks from './artistWorks';\nimport relatedWorks from './relatedWorks';\nimport product from './product';\nimport productsList from './productsList';\nimport artFilters from './art_filters';\nimport wallFilters from './wall_filters';\nimport originalArtFilters from './original_art_filters';\nimport artistFilters from './artist_filters';\nimport giftCardBalance from './gift_card_balance';\nimport similarWorks from './similar_works';\nimport favorites from './favorites';\nimport collections from './collections';\nimport collectionDetails from './collection_details';\nimport designerPicks from './designer_picks';\nimport giftGuides from './gift_guides';\nimport walls from './walls';\nimport wall from './wall';\nimport authorOriginalArt from './author_original_art';\nimport originalArts from './original_arts';\nimport originalArt from './original_art';\nimport myWalls from './my_walls';\nimport cartItems from './cart_items';\nimport checkoutProcess from './checkout_process';\nimport mailSubscription from './mail_subscription';\nimport applePaySession from './apple_pay_session';\nimport exploreArt from './explore_art';\nimport tapestries from './tapestries';\n\nexport default combineReducers({\n work,\n works,\n selection,\n artists,\n artist,\n expandable,\n relatedWorks,\n artistWorks,\n giftCardBalance,\n product,\n productsList,\n artFilters,\n wallFilters,\n originalArtFilters,\n artistFilters,\n similarWorks,\n favorites,\n collections,\n designerPicks,\n giftGuides,\n walls,\n wall,\n originalArts,\n originalArt,\n authorOriginalArt,\n myWalls,\n collectionDetails,\n cartItems,\n checkoutProcess,\n mailSubscription,\n applePaySession,\n exploreArt,\n tapestries\n});\n","/* eslint-disable import/no-import-module-exports */\nimport { createStore, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk';\nimport reducer from '../reducers';\n\nconst middleware = [\n thunk\n];\n\nif (process.env.NODE_ENV === 'development') {\n /* eslint-disable global-require */\n const { createLogger } = require('redux-logger');\n /* eslint-enable global-require */\n const logger = createLogger({ diff: true });\n middleware.push(logger);\n}\n\nexport const buildStore = () => {\n const store = createStore(\n reducer,\n undefined,\n applyMiddleware(...middleware)\n );\n // eslint-disable-next-line no-undef\n if (module.hot) {\n module.hot.accept(() => {\n /* eslint-disable global-require */\n const nextRootReducer = require('../reducers/index').default;\n /* eslint-enable global-require */\n store.replaceReducer(nextRootReducer);\n });\n }\n return store;\n};\n","import React, { Suspense, useState, useTransition } from 'react';\nimport PropTypes from 'prop-types';\nimport { Route } from 'react-router-dom';\nimport { Loader } from 'semantic-ui-react';\nimport * as AppClasses from './styles.module.scss';\n\nexport const LoadingComponent = () => (\n
    \n \n
    \n);\n\nconst AsyncRoute = ({ component: Component, ...rest }) => {\n const [isPending, startTransition] = useTransition();\n const [mounted, setMounted] = useState(false);\n\n // Use startTransition to avoid suspension during synchronous updates\n React.useEffect(() => {\n startTransition(() => {\n setMounted(true);\n });\n }, []);\n\n return (\n (\n }>\n { mounted && }\n \n )\n }\n />\n );\n};\n\nAsyncRoute.propTypes = {\n component: PropTypes.func.isRequired\n};\n\nexport default AsyncRoute;\n","import { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Cookies from 'js-cookie';\nimport { useLocation } from 'react-router-dom';\n\nconst VisitManager = ({ children }) => {\n const location = useLocation();\n const [visited, setVisited] = useState(false);\n const [visitsCount, setVisitsCount] = useState(parseInt(Cookies.get('vn') || 0, 10));\n\n useEffect(() => {\n if (visited) {\n Cookies.set('vn', visitsCount + 1, { expires: 3650, path: '/' });\n setVisitsCount(visitsCount + 1);\n }\n setVisited(true);\n }, [location]);\n\n const { pathname } = location;\n return children({ visitsCount, pathname });\n};\n\nVisitManager.propTypes = {\n children: PropTypes.func.isRequired\n};\n\nexport default VisitManager;\n","import Constants from 'arts/config/constants';\n\nexport const disallow = () => ({ type: Constants.MailSubscriptions.DISALLOW });\n","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { MODAL_SELECTOR } from 'arts/config/constants';\nimport { executeRecaptcha, subscribeToNewsletterApi } from 'arts/config/api';\nimport { trackEvent, onUserNewletterSubscribed } from 'arts/config/analytics';\nimport Modal from '../Modal';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport ThanksPopup from './thanks_popup';\nimport SubscribeForm from './subscribe_form';\nimport * as Classes from './styles.module.scss';\n\nconst SubscribePopup = ({ hidePopup, disallow, visitsCount }) => {\n const ref = useRef(null);\n const [isSubscribed, setSubscribed] = useState(false);\n\n useEffect(() => {\n trackEvent('subscribe popup', { visitsCount });\n }, []);\n\n const cancelPopup = () => {\n trackEvent('subscribe popup cancelled', { visitsCount });\n hidePopup();\n };\n\n if (isSubscribed) {\n return ;\n }\n\n const onSubmit = (values, { setSubmitting, setErrors }) => {\n const { email } = values;\n setSubmitting(true);\n executeRecaptcha('subscribe').then((token) => {\n subscribeToNewsletterApi(email, token).then(({ emailHash, email: newEmail, eventId }) => {\n if (!ref.current) { return; }\n setSubmitting(false);\n if (newEmail) {\n onUserNewletterSubscribed(emailHash, eventId);\n setSubscribed(true);\n } else {\n setErrors({ email: 'Invalid email address' });\n }\n }).catch(() => {\n if (!ref.current) { return; }\n setSubmitting(false);\n });\n });\n };\n\n return (\n \n

    \n Enjoy 15% Off\n

    \n

    \n your first purchase\n

    \n

    \n and get early access to sales & new arrivals\n

    \n
    \n
    \n \n
    \n \n );\n};\n\nSubscribePopup.propTypes = {\n hidePopup: PropTypes.func.isRequired,\n disallow: PropTypes.func.isRequired,\n visitsCount: PropTypes.number\n};\n\nexport default SubscribePopup;\n","import React, { useState, useEffect } from 'react';\nimport Cookies from 'js-cookie';\nimport PropTypes from 'prop-types';\nimport SubscribePopup from '../subscribe_to_newsletter/subscribe_popup';\n\nconst FIRST_SHOWN = 'npsf';\nconst SECOND_SHOWN = 'npss';\nconst SHOW_SECOND_AT = 5;\n\nconst CHECKOUT_PATHS = [\n /\\/promo$/,\n /\\/cart_items$/,\n /\\/my\\/order$/,\n /\\/ref\\//,\n /\\/my\\/address\\/edit$/,\n /\\/orders\\/\\d+\\/edit$/,\n /\\/orders\\/\\d+\\/payment\\/new$/,\n /\\/orders\\/\\d+\\/payment\\/edit$/,\n /\\/orders\\/\\d+\\/payment$/,\n /\\/orders\\/\\d+\\/thankyou$/\n];\n\nconst isCheckoutFlow = (pathname) => {\n let pos = 0;\n const cnt = CHECKOUT_PATHS.length;\n while (pos < cnt) {\n if (CHECKOUT_PATHS[pos].test(pathname)) {\n return true;\n }\n pos += 1;\n }\n return false;\n};\n\nconst SubscribePopupCounters = ({\n visitsCount, pathname, allowMailSubscription, disallow\n}) => {\n if (!allowMailSubscription) { return null; }\n const [doShow, setShow] = useState(false);\n\n const hidePopup = () => setShow(false);\n\n useEffect(() => {\n if (isCheckoutFlow(pathname)) { return; }\n const firstShownAt = parseInt(Cookies.get(FIRST_SHOWN) || 0, 10);\n if (!firstShownAt) {\n if (pathname === '/' || visitsCount > 2) {\n Cookies.set(FIRST_SHOWN, visitsCount, { expires: 3650, path: '/' });\n setShow(true);\n }\n } else {\n const secondShownAt = parseInt(Cookies.get(SECOND_SHOWN) || 0, 10);\n if (!secondShownAt && visitsCount >= firstShownAt + SHOW_SECOND_AT - 1) {\n Cookies.set(SECOND_SHOWN, visitsCount, { expires: 3650, path: '/' });\n setShow(true);\n }\n }\n }, [visitsCount]);\n\n if (!doShow) {\n return null;\n }\n\n return (\n \n );\n};\n\nSubscribePopupCounters.propTypes = {\n visitsCount: PropTypes.number.isRequired,\n pathname: PropTypes.string.isRequired,\n allowMailSubscription: PropTypes.bool.isRequired,\n disallow: PropTypes.func.isRequired\n};\n\nexport default SubscribePopupCounters;\n","import { connect } from 'react-redux';\nimport { disallow } from 'arts/actions/mail_subscriptions';\nimport SubscribePopupCounters from './subscribe_popup_counters';\n\nconst mapStateToProps = ({ mailSubscription }) => ({\n allowMailSubscription: mailSubscription.allow\n});\n\nexport default connect(mapStateToProps, { disallow })(SubscribePopupCounters);\n","import React from 'react';\n\nimport AsyncRoute from './async_route';\n\nimport * as Classes from './styles.module.scss';\nimport VisitManager from './visit_manager';\nimport SubscribePopupCounters from '../subscribe_popup_counters';\n\nconst QueryOrderStatus = React.lazy(() => import('../query_order_status/query_order_status'));\nconst ProductsList = React.lazy(() => import('arts/components/ProductsList'));\nconst Product = React.lazy(() => import('arts/components/Product'));\nconst MyWalls = React.lazy(() => import('arts/components/my_walls'));\nconst MyFavorites = React.lazy(() => import('arts/components/my_favorites'));\nconst Walls = React.lazy(() => import('arts/components/walls'));\nconst Wall = React.lazy(() => import('arts/components/wall'));\nconst PopularSearchCategories = React.lazy(() => import('arts/components/popular_search_categories'));\nconst WallArts = React.lazy(() => import('arts/components/wall_arts'));\nconst WallArt = React.lazy(() => import('arts/components/wall_art'));\nconst Category = React.lazy(() => import('arts/components/category'));\nconst Style = React.lazy(() => import('arts/components/category/style'));\nconst Color = React.lazy(() => import('arts/components/category/color'));\nconst Medium = React.lazy(() => import('arts/components/category/medium'));\nconst Orientation = React.lazy(() => import('arts/components/category/orientation'));\nconst Price = React.lazy(() => import('arts/components/category/price'));\nconst Size = React.lazy(() => import('arts/components/category/size'));\nconst NewArrivals = React.lazy(() => import('arts/components/new_arrivals'));\nconst WorksShow = React.lazy(() => import('arts/components/WorksShow'));\nconst FineArtPrints = React.lazy(() => import('arts/components/fine_art_prints'));\nconst Tapestries = React.lazy(() => import('../tapestries'));\nconst OriginalArt = React.lazy(() => import('../original_art'));\nconst OriginalArts = React.lazy(() => import('../original_arts'));\nconst GiftCards = React.lazy(() => import('arts/components/gift_cards/gift_cards'));\nconst GiftCard = React.lazy(() => import('arts/components/gift_cards/card/gift_card'));\nconst GiftCardBalance = React.lazy(() => import('arts/components/gift_cards/balance'));\nconst Artists = React.lazy(() => import('arts/components/artists'));\nconst ArtistWorks = React.lazy(() => import('arts/components/ArtistWorks'));\nconst Collections = React.lazy(() => import('arts/components/collections').then(module => ({ default: module.Collections })));\nconst DesignerPicks = React.lazy(() => import('arts/components/collections').then(module => ({ default: module.DesignerPicks })));\nconst GiftGuides = React.lazy(() => import('arts/components/collections').then(module => ({ default: module.GiftGuides })));\nconst Inspirations = React.lazy(() => import('arts/components/inspirations'));\nconst CollectionDetails = React.lazy(() => import('arts/components/collection_details'));\nconst ReviewCartItems = React.lazy(() => import('../checkout/review_cart_items'));\nconst SignInToCheckout = React.lazy(() => import('../checkout/sign_in_to_checkout'));\nconst EditAddresses = React.lazy(() => import('../checkout/edit_addresses'));\nconst EditOrder = React.lazy(() => import('../edit_order'));\nconst NewOrderPayment = React.lazy(() => import('../new_order_payment'));\nconst EditOrderPayment = React.lazy(() => import('../edit_order_payment'));\nconst ThankYou = React.lazy(() => import('../checkout/thank_you'));\nconst StaticPage = React.lazy(() => import('../static_page/static_page'));\nconst MyReferral = React.lazy(() => import('../my_referral'));\nconst PromoRewards = React.lazy(() => import('../my_referral/promo_rewards'));\nconst ReferralCode = React.lazy(() => import('../referral_code'));\nconst VisualSearch = React.lazy(() => import('../visual_search'));\nconst PromoSubscribe = React.lazy(() => import('../promo_subscribe'));\nconst Explore = React.lazy(() => import('../explore'));\nconst SearchQuery = React.lazy(() => import('../search_query'));\nconst Giveaway = React.lazy(() => import('../giveaway'));\n\nconst Routes = () => (\n <>\n \n {\n ({ visitsCount, pathname }) => (\n \n )\n }\n \n
    \n \n\n \n \n\n \n \n\n \n \n \n \n \n\n \n\n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n \n
    \n \n);\n\nexport default Routes;\n","// extracted by mini-css-extract-plugin\nvar _1 = \"Kpc7mLBKJv_vTN3blXwd\";\nvar _2 = \"atfioym8JZZJkjT1RBqc\";\nvar _3 = \"ZdO_FOqLxjcK2S4YQ7T_\";\nvar _4 = \"go4CqF9xYt2j3dLZigWw\";\nexport { _1 as \"cancel\", _2 as \"permSearch\", _3 as \"search\", _4 as \"searchContainer\" }\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactRouterPropTypes from 'react-router-prop-types';\nimport { Dropdown, Input } from 'semantic-ui-react';\nimport queryString from 'query-string';\nimport classnames from 'classnames';\nimport * as AppClasses from './styles.module.scss';\nimport * as Classes from './search.module.scss';\nimport { THUMB } from '../walls/grid_selection';\n\nconst WALLS = 'walls';\nconst WORKS = 'art-prints';\n\nconst OPTIONS = [\n { key: WORKS, text: 'Art', value: WORKS },\n { key: WALLS, text: 'Walls', value: WALLS }\n];\n\nconst SearchBar = ({ /* history */ isToggable }) => {\n const { query } = queryString.parse(window.location.search);\n const [kind, setKind] = useState(window.location.pathname.match(/^(\\/walls|\\/uk\\/walls)/) ? WALLS : WORKS);\n const [term, setTerm] = useState(query);\n const ref = createRef(null);\n\n const body = document.getElementsByTagName('body')[0];\n\n const onToggle = (e) => {\n e.preventDefault();\n body.classList.toggle('search-visible');\n if (ref.current) { ref.current.focus(); }\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n const newQuery = term ? term.trim() : '';\n\n if (!newQuery) {\n return;\n }\n\n const params = { query: newQuery };\n if (kind === WALLS) {\n params.as = THUMB;\n }\n // history.push();\n window.location.href = `${ window.currentLocale.basename }/${ kind }?${ queryString.stringify(params) }`;\n };\n\n const onChangeKind = (event, { value }) => setKind(value);\n\n const onChangeTerm = (event, { value }) => setTerm(value);\n\n const form = (\n
    \n \n }\n action={ { icon: 'search', 'aria-label': 'Search' } }\n />\n {\n isToggable ? (\n \n ) : null\n }\n \n );\n\n if (isToggable) {\n return (\n <>\n \n \n \n
    \n
    \n { form }\n
    \n
    \n \n );\n }\n\n return (\n
    \n { form }\n
    \n );\n};\n\nSearchBar.propTypes = {\n history: ReactRouterPropTypes.history.isRequired,\n isToggable: PropTypes.bool\n};\n\nexport default SearchBar;\n","import React, { useEffect } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport SearchBar from './search_bar';\n\nconst SearchIcon = (props) => {\n useEffect(() => {\n const ps = document.getElementById('permanent-search');\n if (ps) {\n const root = createRoot(ps);\n root.render();\n }\n const msi = document.getElementById('mobile-search-item');\n if (msi) {\n const root = createRoot(msi);\n root.render();\n }\n }, []);\n return null;\n};\nexport default SearchIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport { createBrowserHistory } from 'history';\nimport { Provider } from 'react-redux';\nimport Routes from './routes';\nimport SearchIcon from './search_icon';\nimport CartItemsPopup from '../cart_items_popup';\nimport LocaleSelection from '../../../shared/locale_selection';\nimport CookiesConsent from '../../../shared/cookies_consent';\n\nconst history = createBrowserHistory();\n\nconst Application = ({ store }) => (\n \n \n \n \n \n \n \n \n \n);\n\nApplication.propTypes = {\n store: PropTypes.object.isRequired\n};\n\nexport default Application;\n","// import '../vendor/semantic.min.css';\nimport React from 'react';\nimport 'intersection-observer';\nimport { buildStore } from 'arts/config/store';\nimport Application from 'arts/components/Application';\nimport 'react-day-picker/lib/style.css';\nimport 'react-alice-carousel/lib/alice-carousel.css';\nimport './semantic_custom.less';\n\nexport const store = buildStore();\nconst Arts = (props) => ;\n\nexport default Arts;\n","import React, { useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { executeRecaptcha, subscribeToNewsletterApi } from 'arts/config/api';\nimport SubscribeForm from './subscribe_form';\nimport ThanksPopup from './thanks_popup';\nimport * as Classes from './styles.module.scss';\nimport { onUserNewletterSubscribed } from '../../config/analytics';\n\nconst SubscribeToNewsletterFooter = ({ disallow }) => {\n if (window.location.pathname === '/promo') {\n return null;\n }\n const ref = useRef(null);\n const [thanks, setThanks] = useState(null);\n\n const onSubmit = (values, { setSubmitting, setErrors }) => {\n const { email } = values;\n setSubmitting(true);\n executeRecaptcha('subscribe').then((token) => {\n subscribeToNewsletterApi(email, token).then(({ emailHash, email: newEmail, eventId }) => {\n if (!ref.current) { return; }\n setSubmitting(false);\n if (newEmail) {\n onUserNewletterSubscribed(emailHash, eventId);\n setThanks(newEmail);\n } else {\n setErrors({ email: 'Invalid email address' });\n }\n }).catch(() => {\n if (!ref.current) { return; }\n setSubmitting(false);\n });\n });\n };\n\n if (thanks) {\n return ;\n }\n return (\n
    \n
    \n Save 15% off your purchase\n
    \n

    \n Sign up for our newsletter\n

    \n \n
    \n );\n};\n\nSubscribeToNewsletterFooter.propTypes = {\n disallow: PropTypes.func.isRequired\n};\n\nexport default SubscribeToNewsletterFooter;\n","/* eslint-disable react/jsx-one-expression-per-line */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React from 'react';\nimport Uk from './uk';\nimport Us from './us';\nimport * as Classes from './styles.module.scss';\nimport { SET_LOCALE } from './index';\n\nexport default () => {\n const [site, Img] = window.currentLocale.currentLocale === 'uk'\n ? ['UK', Uk]\n : ['US', Us];\n\n const onClick = (e) => {\n e.preventDefault();\n document.dispatchEvent(new CustomEvent(SET_LOCALE));\n };\n\n return (\n \n \n { site } \n site\n \n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport SubscribeToNewsletterFooter from '../subscribe_to_newsletter/subscribe_to_newsletter_footer';\nimport * as Classes from './styles.module.scss';\nimport LocaleSelected from '../../../shared/locale_selection/locale_selected';\nimport { POPULAR_CATEGORIES } from '../wall_arts/index';\n\nconst Footer = ({ allowMailSubscription, disallow }) => {\n const renderCopy = (\n
    \n
    \n \n ©\n { window.copyRightYear }\n  \n Artfully Walls ™\n \n All rights reserved.\n
    \n
    \n );\n\n const subscriptionForm = allowMailSubscription ? (\n
    \n
    \n \n
    \n { renderCopy }\n
    \n ) : renderCopy;\n\n return (\n \n );\n};\n\nFooter.propTypes = {\n allowMailSubscription: PropTypes.bool.isRequired,\n disallow: PropTypes.func.isRequired\n};\n\nexport default Footer;\n","// extracted by mini-css-extract-plugin\nvar _1 = \"O5wdhPFbhCreTmLWg6JA\";\nvar _2 = \"sbQ_7C8Det2WgBv4GdNw\";\nvar _3 = \"fTmipo2UAgT1uJg9RGow\";\nvar _4 = \"HerRv7g1wdrTn8DMjniE\";\nvar _5 = \"DuNJEREbZIhkiP8olgwy\";\nvar _6 = \"ycOrH8vYfQGXOkxcygmL\";\nexport { _1 as \"border\", _2 as \"copy\", _3 as \"footer\", _4 as \"menu\", _5 as \"share\", _6 as \"subscribe\" }\n","import { connect } from 'react-redux';\nimport { disallow } from 'arts/actions/mail_subscriptions';\nimport Footer from './footer';\n\nconst mapStateToProps = ({ mailSubscription }) => ({\n allowMailSubscription: mailSubscription.allow\n});\n\nexport default connect(mapStateToProps, { disallow })(Footer);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Provider } from 'react-redux';\nimport SmartFooter from './smart_footer';\n\nconst FooterApplication = ({ store }) => (\n \n \n \n);\n\nFooterApplication.propTypes = {\n store: PropTypes.object.isRequired\n};\n\nexport default FooterApplication;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport SubscribePopup from '../subscribe_to_newsletter/subscribe_popup';\n\nconst About = ({ allowMailSubscription, disallow }) => {\n const [doShow, setShow] = useState(false);\n\n const hidePopup = () => setShow(false);\n\n const popup = doShow ? : null;\n\n const onClick = (e) => {\n e.preventDefault();\n setShow(true);\n };\n\n const content = allowMailSubscription ? (\n
    \n Quality \n Hand-Picked Prints\n   /  Affordable Prices  /  Save 15% Off Your Purchase! \n Details\n { popup }\n
    \n ) : (\n
    \n Quality \n Hand-Picked Prints\n   /  \n Gallery Walls\n  to Inspire and Shop  /  Affordable Prices\n
    \n );\n return content;\n};\n\nAbout.propTypes = {\n allowMailSubscription: PropTypes.bool.isRequired,\n disallow: PropTypes.func.isRequired\n};\n\nexport default About;\n","import { connect } from 'react-redux';\nimport { disallow } from 'arts/actions/mail_subscriptions';\nimport About from './about';\n\nconst mapStateToProps = ({ mailSubscription }) => ({\n allowMailSubscription: mailSubscription.allow\n});\n\nexport default connect(mapStateToProps, { disallow })(About);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Provider } from 'react-redux';\nimport SmartAbount from './smart_about';\n\nconst AboutApplication = ({ store }) => (\n \n \n \n);\n\nAboutApplication.propTypes = {\n store: PropTypes.object.isRequired\n};\n\nexport default AboutApplication;\n","import React, { useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as Classes from './styles.module.scss';\n\nconst filterArtsists = (artists, letter) => artists.filter(a => a.letter === letter);\nconst letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\n\nconst Artists = ({ artists }) => {\n const [currentLetter, setCurrentLetter] = useState('A');\n const [currentArtists, setCurrentArtists] = useState(filterArtsists(artists, currentLetter));\n\n useEffect(() => { setCurrentArtists(filterArtsists(artists, currentLetter)); }, [currentLetter]);\n\n const renderArtists = useMemo(() => {\n if (currentArtists.length) {\n const gridTemplateRows = Math.max(16, Math.ceil(currentArtists.length / 4));\n return (\n
    \n {\n currentArtists.map(artist => (\n \n { artist.name }\n \n ))\n }\n
    \n );\n }\n return (\n

    \n No artists starting with the letter \n \n { currentLetter }\n \n  were found.\n

    \n );\n }, [currentArtists.length, currentLetter]);\n\n return (\n <>\n
    \n
    \n { currentLetter }\n
    \n
    \n {\n letters.map(letter => (letter === currentLetter ? null : (\n \n )))\n }\n
    \n
    \n
    \n { renderArtists }\n
    \n \n );\n};\n\nArtists.propTypes = {\n artists: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n letter: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired\n })).isRequired\n};\n\nexport default Artists;\n","// extracted by mini-css-extract-plugin\nvar _1 = \"J3GKKD4ru9hIpdpSL8Wj\";\nvar _2 = \"nwuDXQWJxVPvXItQtsTJ\";\nvar _3 = \"H0pyDFcML9j7_xzYxWzx\";\nvar _4 = \"wpKQPdhibqCkkEdbe_5c\";\nvar _5 = \"FkE2kKRfMiH05msYhJUc\";\nvar _6 = \"CIVL3LILBQz_gIe3oRiu\";\nvar _7 = \"utCmE34gYpvjOj9AYPZU\";\nexport { _1 as \"artists\", _2 as \"current\", _3 as \"letter\", _4 as \"letters\", _5 as \"loading\", _6 as \"names\", _7 as \"namesKeeper\" }\n","import React, { useState, useEffect, useMemo } from 'react';\nimport { Loader } from 'semantic-ui-react';\nimport { request } from 'arts/../shared/request';\nimport { useInView } from 'react-intersection-observer';\nimport Artists from './artists';\nimport * as Classes from './styles.module.scss';\n\nconst TopArtists = () => {\n const [artists, setArtists] = useState(null);\n const [appeared, setAppear] = useState(false);\n\n useEffect(() => {\n if (appeared) {\n request('/artists')\n .then(({ artists: newArtists }) => {\n setArtists(newArtists);\n }).catch(() => {});\n }\n }, [appeared]);\n\n const { ref } = useInView({\n triggerOnce: true,\n onChange: (inView) => {\n if (inView) {\n setAppear(true);\n }\n }\n });\n\n return useMemo(() => (\n artists ? (\n
    \n \n
    \n ) : (\n
    \n \n Loading Artists...\n \n
    \n )\n ), [artists && artists.length]);\n};\n\nexport default TopArtists;\n","import '@alwatr/polyfill-has-own';\nimport React from 'react';\nimport { createRoot, hydrateRoot } from 'react-dom/client';\nimport Arts, { store } from 'arts';\nimport Footer from 'arts/components/footer';\nimport About from 'arts/components/about';\nimport HpPromoV2 from 'arts/components/hp_promo/hp_promo_v2';\nimport TopArtists from 'arts/components/top_artists';\nimport * as Sentry from '@sentry/browser';\nimport { setupAnalytics } from 'arts/config/analytics';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n if (window.sentry_dsn) {\n Sentry.init({\n dsn: window.sentry_dsn,\n integrations: [Sentry.browserTracingIntegration],\n tracesSampleRate: 0,\n ignoreErrors: [\n 'Failed to fetch',\n 'Non-Error promise rejection captured with value: Object Not Found Matching Id:2',\n 'Can\\'t find variable: instantSearchSDKJSBridgeClearHighlight'\n ],\n ignoreUrls: [\n /cdn1\\.affirm\\.com/i,\n /www\\.paypal\\.com/i,\n /^chrome-extension:\\/\\//i,\n /graph\\.facebook\\.com/i,\n /connect\\.facebook\\.net\\/en_US\\/all\\.js/i,\n // Chrome extensions\n /extensions\\//i,\n /^chrome:\\/\\//i,\n /webappstoolbarba\\.texthelp\\.com\\//i,\n /affirm\\.com/i,\n /www\\.googletagmanager\\.com/i\n ],\n beforeSend: (event, hint) => {\n const error = hint.originalException;\n if (error && error.stack && error.stack.toString().includes('puppeteer')) {\n return null;\n }\n return event;\n }\n });\n window.Sentry = Sentry;\n }\n\n setupAnalytics();\n\n const hproot = document.getElementById('b-topwide');\n if (hproot) {\n const root = createRoot(hproot);\n root.render();\n }\n\n const rootElement = document.getElementById('client-application-root');\n if (rootElement) {\n if (rootElement.innerHTML.trim()) {\n window.hydrated = true;\n hydrateRoot(rootElement, );\n } else {\n const root = createRoot(rootElement);\n root.render();\n }\n }\n\n const footerEl = document.getElementById('footer');\n if (footerEl) {\n const root = createRoot(footerEl);\n root.render(