{"version":3,"file":"js/974-c350030b72721ee5a38d.chunk.js","mappings":"qIAEA,UACEA,EAAAA,EAAAA,YAAU,KACRC,OAAOC,SAAS,EAAG,EAAE,GACpB,IAEI,K,yICoBT,MApBuBC,EAAGC,KAAIC,WAAUC,eACtCC,EAAAA,cAACC,EAAAA,EAAK,CACJC,SAAWC,EAAAA,GACXL,SAAWA,EACXC,UAAYA,EACZK,UAAYC,EAAAA,IAEZL,EAAAA,cAACM,EAAAA,EAAI,CACHT,GAAKA,EACLU,OAAK,KCFX,MATkBC,KAChB,MAAM,MAAEC,GAAUC,EAAAA,EAAYC,MAAMjB,OAAOkB,SAASC,QACpD,OAAOC,EAAAA,EAAAA,UAAQ,IACbL,EACET,EAAAA,cAACJ,EAAc,CAACC,GAAKkB,SAASN,EAAO,IAAMV,WAAYiB,EAAAA,EAAAA,QACrD,MACH,CAACP,GAAO,C,+KC4Bb,MAhCcQ,EACZpB,KACAqB,UACAC,OACAC,WACAC,cACAC,cAEAtB,EAAAA,cAAA,OACEI,UAAYmB,EAAAA,IAEZvB,EAAAA,cAAA,OAAKwB,0BAAwB,GAC3BxB,EAAAA,cAACyB,EAAAA,EAAQ,CAAC5B,GAAKA,EAAK6B,KAAOR,GAAW,OAASd,UAAYmB,EAAAA,KAC3DvB,EAAAA,cAAC2B,EAAAA,EAAK,CACJR,KAAOA,EACPE,YAAcA,EACdD,SAAWA,KAGbE,G,WClBN,MAAMM,EAAeC,GAAMC,WAAWD,GAAGE,QAAQ,GAU3CC,EAAiBnC,IACrB,MAAM,SAAEoC,EAAQ,OAAEpB,GAAWnB,OAAOkB,SACpC,IAAIsB,EAAkBD,EACtB,MAAME,EAAUzC,OAAO0C,cAAcC,SAASC,OAC1CL,EAASM,UAAU,EAAGJ,KAAazC,OAAO0C,cAAcC,WAC1DH,EAAkBD,EAASM,UAAUJ,IAEvC,IAAIK,EAAe9B,EAAAA,EAAYC,MAAME,GACjChB,EACF2C,EAAe,IAAKA,EAAc/B,MAAOZ,UAElC2C,EAAa/B,MAGtB,MAAO,GAAIyB,KADIxB,EAAAA,EAAY+B,UAAUD,IACI,EAE9BxB,EAAuBA,IAAMgB,EAAc,MAE3CU,EAAqB7C,GAAOmC,EAAcnC,GAoHvD,MAlHa8C,EACXC,OACAC,QACAC,aACA3B,OACA4B,aACAC,WACAC,WACAC,SACAC,WACAC,aACAC,aACAC,gBACAzD,KACA0D,oBACAC,uBAEA,MAAMC,EAAcP,EA7CFQ,EAACR,EAAQC,KAC3B,MAAMC,EAAaF,EAAS,CAACtB,EAAYsB,EAAO,KAAO,KAIvD,OAHKA,GAAU,IAAI,IACjBE,EAAWO,KAAK/B,EAAYsB,EAAO,KAE9BE,EAAaA,EAAWQ,KAAK/B,GAAM,GAAIsB,IAAatB,MAAMgC,KAAK,OAAS,IAAI,EAwCtDH,CAAYR,EAAQC,GAAY,KAAOC,EAC9DU,EAAab,EAAWjD,EAAAA,cAAA,KAAGI,UAAU,mBAAsB,KAC3D2D,EAAahB,EAAa,YAAaA,KAAgBC,IAAc,KAMrEgB,EAASD,EACb/D,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IAAiB,OAEhCjE,EAAAA,cAAA,YAAM,SAEJA,EAAAA,cAACkE,EAAAA,GAAI,CAACC,GAAKJ,GACPjB,KAKR9C,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IAAiB,OAEhCjE,EAAAA,cAAA,YAAM,SAEF8C,IAKFsB,EAA+B,kBAAVvB,EACzB7C,EAAAA,cAACkE,EAAAA,GAAI,CAACC,GAAKhD,EAAOf,UAAY6D,EAAAA,GAAcpB,MAAQD,GAAQC,GAAQ,OAElE7C,EAAAA,cAAA,YACI8D,EACAjB,IAGJA,EAIEwB,EAAMhB,GAAcA,EAAWxD,GACnCG,EAAAA,cAACiB,EAAWoC,EAERE,IAAsBC,GACpBxD,EAAAA,cAAA,UAAQ0B,KAAK,SAAStB,UAAY6D,EAAAA,GAAmBK,QANrCC,IAAMhB,EAAkB1D,IAOtCG,EAAAA,cAACwE,EAAAA,EAAG,MACJxE,EAAAA,cAAA,YAAM,oBAKZ,KAEEyE,EAAKnB,EAAgB,KACzBtD,EAAAA,cAACkE,EAAAA,GAAI,CAACC,GAAKzB,EAAkB7C,GAAMO,UAAY6D,EAAAA,IAAgB,cAKjE,OACEjE,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IACfjE,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IACbG,EACAJ,EACFhE,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IAAiB,OAEhCjE,EAAAA,cAAA,YACIyD,KAIRzD,EAAAA,cAAA,OAAKI,UAAY6D,EAAAA,IACbI,GAEFI,EACE,C,sGC1EV,IAhD4BC,EAAGrD,cAAasD,eAAcC,gBACxD,MAAOC,EAAUC,IAAeC,EAAAA,EAAAA,YAAWJ,IACpCK,EAAmBC,IAAwBF,EAAAA,EAAAA,UAAS1D,IAE3D5B,EAAAA,EAAAA,YAAU,KACRwF,EAAqB5D,EAAY,GAChC,CAACA,KAEJ5B,EAAAA,EAAAA,YAAU,KACJmF,IACFM,EAAAA,EAAAA,MAAyBC,MAAKC,GAAOH,EAAqBG,EAAI/D,eAAcgE,OAAM,QACpF,GACC,CAACT,EAAWvD,EAAa3B,OAAOkB,SAASO,OAE5C,MAAMmE,GAASxE,EAAAA,EAAAA,UAAQ,IACjB6D,EAAqB,KACrBE,EAEA7E,EAAAA,cAAA,UAAQ0B,KAAK,SAAStB,UAAYmB,EAAAA,GAAmB+C,QAAUA,IAAMQ,GAAY,IAAS,gBAI5F9E,EAAAA,cAAA,UAAQ0B,KAAK,SAAStB,UAAYmB,EAAAA,GAAmB+C,QAAUA,IAAMQ,GAAY,IAAQ,kBAI1F,CAACD,EAAUF,IAEd,OAAKK,EAGHhF,EAAAA,cAAA,OAAKI,UAAYmF,EAAAA,IACfvF,EAAAA,cAAA,OAAKI,UAAYoF,IAAWjE,EAAAA,GAAqB,CAAE,CAACA,EAAAA,KAAoBsD,KACtE7E,EAAAA,cAACyF,EAAAA,EAAa,KACVT,GAEFM,IARuB,IAUvB,C,yeC7CNI,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uB,iECWT,MAhBiBC,EAAGC,OAAMC,cACxBvG,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKI,UAAYoF,IAAWjE,EAAqB,CAAE,CAACA,GAAmBgF,KACrEvG,EAAAA,cAACyF,EAAAA,EAAa,KACVa,IAGNtG,EAAAA,cAAA,OAAKI,UAAYmB,K,WCErB,MAAMiF,EAAQ,CACZC,KAAM,EACNC,KAAM,EACNrF,YAAa,GAGTsF,EAAiBA,EAAGC,WAAaA,EAAQC,OAAOD,GAAS,KAUlDE,EAAaA,CAACC,EAAcC,EAAMC,EAAKC,GAAgB,KAClE,MAAM,KACJC,EAAI,GAAEtH,EAAE,SAAEuB,EAAQ,MAAEyB,EAAK,GAAEuE,EAAE,KAAEjG,EAAI,eAAEkG,EAAc,KAAEC,EAAI,WAAEC,EAAU,YAAEC,EAAW,OAAEC,EAAM,WAC1F1E,EAAU,SAAEC,GACVgE,EACEU,EAAM,GAAIP,KAAUtH,IACpB8H,EAAQpG,EAAQ,GAAI4F,KAAUF,EAAM,KAC1C,IAAI7D,EACJ,GAAI8D,EAAe,CACjB,MAAQN,MAAOgB,GAAcJ,EAC7BK,IAAAA,OAAeJ,GACfrE,EAAayE,IAAQD,GAAWE,OAAOC,EAAAA,GACzC,KAAO,CACL,MAAMC,EArBUC,GAAGC,UAAStB,QAAOa,aACrC,MAAMO,EAAYrB,EAAe,CAAEuB,UAAStB,UAI5C,OAHIoB,GAAaP,GACfI,IAAAA,OAAeJ,GAEVO,EAAYH,IAAQG,GAAWF,OAAOC,EAAAA,IAAU,IAAI,EAgBvCE,CAAYjB,GAC9B5D,EAAsB,SAAT+D,EAAkB,SAAUa,IAAeA,CAC1D,CACA,MAAMG,EAAY,CAChBtF,QACAC,WAAYsE,EACZjG,KAAMmG,EACNlE,aACAvD,GAAI0H,EACJxE,aACAC,WACAK,WAAY,CACVxD,GAAI0H,EACJpG,OACAC,WACAC,YAAagG,EACbnG,QAAkB,SAATiG,EAAkB,OAAS,QAEtC7D,cAAyB,SAAT6D,GAGL,iBAATA,IACFgB,EAAUtF,MAAQ,GAAIA,mBACtBsF,EAAU9E,WAAa,KACvB8E,EAAU7E,eAAgB,GAS5B,MAAO,CAACkD,EAAMW,GACZnH,EAAAA,cAAA,MAAI0H,IAAMA,EAAMtH,UAAYoF,IAAW4C,EAAAA,GAAkB7G,EAAcoG,IACrE3H,EAAAA,cAAA,OAAKI,UAAYgI,EAAAA,IACfpI,EAAAA,cAACkE,EAAAA,GAAI,CAACC,GAAKmD,EAAOlH,UAAYgI,EAAAA,GAAqBvF,MAAQA,EAAQyB,QATzDA,KACD,SAAT6C,GAAmBJ,GAAgBE,IACrCoB,EAAAA,EAAAA,IAAsBrB,EAAML,EAAgBI,EAAcE,EAC5D,GAOMjH,EAAAA,cAAA,OACEsI,IAAMzF,EACN0F,IAAMnH,MAIZpB,EAAAA,cAAC2C,EAAAA,GAAUwF,IAEb,EAgEJ,MAxCmBK,EACjB5F,OAAMvB,cAAaoH,eAAcC,kBAAiBC,wBAAuBC,QAAO/I,UAEhFJ,EAAAA,EAAAA,YAAU,MACRoJ,EAAAA,EAAAA,IAAuB,CAAEhJ,KAAI+I,QAAOX,YAAatB,GAAiB,GACjE,CAAC9G,IAEJ,MAAMiJ,EAAMH,EACV3I,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKuI,IAAMG,EAAkBJ,IAAM1F,EAAOxC,UAAYmB,IACtDvB,EAAAA,cAAA,OAAKuI,IAAMI,EAAwBL,IAAM1F,EAAOxC,UAAYmB,KAG9DvB,EAAAA,cAAA,OAAKuI,IAAMG,EAAkBJ,IAAM1F,EAAOxC,UAAYmB,IAGxD,OACEvB,EAAAA,cAAA,OAAKI,UAAYmB,GACfvB,EAAAA,cAAA,UAAM4C,GACJA,EAAO5C,EAAAA,cAAC+I,EAAAA,EAAW,CAACC,SAAS,WAAWC,QAAQ,aAAavB,IAAM9E,IAAY,KAC/EkG,EACF9I,EAAAA,cAACqG,EAAQ,CAACC,KAAOjF,IACjBrB,EAAAA,cAACQ,EAAAA,EAAS,MACVR,EAAAA,cAAA,MAAII,UAAYmF,EAAAA,IA5CF2D,EAACnC,EAAc6B,EAAOH,KACxC,MAAMrD,EAAM,GACZ,IAAI6B,EAAM,EAEV,MAAMkC,EAAKV,EACTzI,EAAAA,cAAA,MAAII,UAAYoF,IAAWjE,EAAcA,GAAoBmG,IAAI,QAC/D1H,EAAAA,cAACqG,EAAQ,CAACC,KAAOmC,KAEjB,KAUJ,OARAG,EAAMQ,SAAQpC,IACA,IAARC,GAAakC,GACf/D,EAAIzB,KAAKwF,GAEX,MAAOE,EAAKC,GAAKxC,EAAWC,EAAcC,EAAMC,GAChDA,GAAOoC,EACPjE,EAAIzB,KAAK2F,EAAE,IAENlE,CAAG,EA2BF8D,CAAYrJ,EAAI+I,EAAOH,IAEvB,C,0LCpFV,MA9C0Bc,EACxB1J,KAAI2J,OAAM5G,OAAM6G,UAASC,2BAA0BC,OAEnDlK,EAAAA,EAAAA,YAAU,KACHgK,GAAY7G,GACf8G,EAAsBF,EACxB,GACC,KAEH/J,EAAAA,EAAAA,YAAU,MACHgK,GAAW5J,GAAM+C,IACpBgH,EAAAA,EAAAA,IAAW,kBAAmB,CAAE,gBAAiB/J,EAAI+C,QACvD,GACC,CACD/C,EAAI+C,EAAM6G,IAGRA,IAAY7G,EAEZ5C,EAAAA,cAAA,OAAKI,UAAYmF,EAAAA,IACfvF,EAAAA,cAAA,SAAG,QACHA,EAAAA,cAAC6J,EAAAA,EAAM,CAACC,QAAM,EAACC,QAAM,GAAC,yBACtB/J,EAAAA,cAACgK,EAAAA,EAAM,OAMXhK,EAAAA,cAAA,OAAKI,UAAYmF,EAAAA,IACfvF,EAAAA,cAAA,OAAKI,UAAYmF,EAAAA,IACfvF,EAAAA,cAACgK,EAAAA,EAAM,MACPhK,EAAAA,cAACwI,EAAAA,EAAUyB,OAAAC,OAAA,CAACrK,GAAKA,EAAK+C,KAAOA,GAAY+G,EAAI,CAAGjC,IAAM7H,KACtDG,EAAAA,cAAC0E,EAAAA,EAAmB,CAACE,WAAS,OChCtC,OAAeuF,EAAAA,EAAAA,KALSC,EAAGC,sBAAuBC,OAASC,QAAUf,aAAU,KACzEa,GAAqB,CAAC,GAAGb,GAC7BA,UAGsC,CAAEE,sBCNJF,GAAUgB,IAC9CA,EAAS,CAAE9I,KAAM+I,EAAAA,GAAUlB,kBAAkBmB,KAAMlB,UACnDmB,EAAAA,EAAAA,IAAyBnB,GAAMrE,MAAM6B,IACnCwD,EAAS,CAAE9I,KAAM+I,EAAAA,GAAUlB,kBAAkBqB,OAAQ5D,OAAMwC,QAAO,IACjEnE,OAAM,QAAS,GDEpB,CAAmEkE,E,gjBERnE,IACI5D,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBAELE,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLyE,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,uBACNC,EAAM,sB,iOCvBV,IAAI/F,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,uBACLC,EAAK,sB","sources":["webpack://artfully-walls/./app/javascript/arts/components/Application/scroll.js","webpack://artfully-walls/./app/javascript/arts/components/QuickShopModal/index.js","webpack://artfully-walls/./app/javascript/arts/components/QuickShopModal/quick_shop.js","webpack://artfully-walls/./app/javascript/arts/components/WorkListItem/likes.js","webpack://artfully-walls/./app/javascript/arts/components/WorkListItem/info.js","webpack://artfully-walls/./app/javascript/arts/components/category/category_description.js","webpack://artfully-walls/./app/javascript/arts/components/collection_details/styles.module.scss?a4ee","webpack://artfully-walls/./app/javascript/arts/components/collection_details/subtitle.js","webpack://artfully-walls/./app/javascript/arts/components/collection_details/collection.js","webpack://artfully-walls/./app/javascript/arts/components/collection_details/collection_details.js","webpack://artfully-walls/./app/javascript/arts/components/collection_details/index.js","webpack://artfully-walls/./app/javascript/arts/actions/collection_details.js","webpack://artfully-walls/./app/javascript/arts/components/WorkListItem/styles.module.scss?d8d9","webpack://artfully-walls/./app/javascript/arts/components/category/styles.module.scss?215b"],"sourcesContent":["import { useEffect } from 'react';\n\nexport default () => {\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n return null;\n};\n","import React from 'react';\nimport T from 'prop-types';\nimport Modal from 'arts/components/Modal';\nimport Work from 'arts/components/Work';\nimport { MODAL_SELECTOR } from 'arts/config/constants';\nimport * as ModalClasses from '../Modal/styles.module.scss';\n\nconst QuickShopModal = ({ id, onCancel, cancelUrl }) => (\n \n \n \n);\n\nQuickShopModal.propTypes = {\n id: T.number.isRequired,\n onCancel: T.func,\n cancelUrl: T.string\n};\n\nexport default QuickShopModal;\n","import React, { useMemo } from 'react';\nimport queryString from 'query-string';\nimport { pathWithoutQuickShop } from '../WorkListItem/info';\nimport QuickShopModal from './index';\n\nconst QuickShop = () => {\n const { quick } = queryString.parse(window.location.search);\n return useMemo(() => (\n quick ? (\n \n ) : null\n ), [quick]);\n};\n\nexport default QuickShop;\n","import React from 'react';\nimport T from 'prop-types';\nimport PinIt from 'arts/components/Social/pin_it';\nimport Favorite from '../favorite';\n\nimport * as Classes from './styles.module.scss';\n\nconst Likes = ({\n id,\n favType,\n href,\n imageUrl,\n description,\n children\n}) => (\n \n
\n \n \n
\n { children }\n \n);\n\nLikes.propTypes = {\n id: T.number.isRequired,\n favType: T.string,\n href: T.string.isRequired,\n imageUrl: T.string.isRequired,\n description: T.string.isRequired,\n children: T.node\n};\n\nexport default Likes;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport queryString from 'query-string';\nimport * as classes from './styles.module.scss';\nimport Likes from './likes';\nimport Eye from '../Viewer/eye';\n\nconst formatPrice = (v) => parseFloat(v).toFixed(2);\n\nconst buildPrices = (prices, currency) => {\n const priceRange = prices ? [formatPrice(prices[0])] : null;\n if ((prices || [])[1]) {\n priceRange.push(formatPrice(prices[1]));\n }\n return priceRange ? priceRange.map((v) => `${ currency }${ v }`).join(' - ') : null;\n};\n\nconst quickShopPath = (id) => {\n const { pathname, search } = window.location;\n let updatedPathName = pathname;\n const baseLen = window.currentLocale.basename.length;\n if (pathname.substring(0, baseLen) === window.currentLocale.basename) {\n updatedPathName = pathname.substring(baseLen);\n }\n let parsedParams = queryString.parse(search);\n if (id) {\n parsedParams = { ...parsedParams, quick: id };\n } else {\n delete parsedParams.quick;\n }\n const params = queryString.stringify(parsedParams);\n return `${ updatedPathName }?${ params }`;\n};\nexport const pathWithoutQuickShop = () => quickShopPath(null);\n\nexport const pathWithQuickShop = (id) => quickShopPath(id);\n\nconst Info = ({\n name,\n title,\n authorName,\n href,\n authorSlug,\n authorId,\n isHidden,\n prices,\n currency,\n priceRange,\n likesProps,\n skipQuickShop,\n id,\n setMlBannerWorkId,\n skipMoreLikeThis\n}) => {\n const renderPrice = prices ? buildPrices(prices, currency || '$') : priceRange;\n const hiddenIcon = isHidden ? : null;\n const authorLink = authorSlug ? `/artists/${ authorSlug }-${ authorId }` : null;\n\n // const adminLink = window.hasELinks ? (\n // Admin\n // ) : null;\n\n const author = authorLink ? (\n
\n  \n \n By \n \n { authorName }\n \n \n
\n ) : (\n
\n  \n \n By \n { authorName }\n \n
\n );\n\n const renderTitle = typeof title === 'string' ? (\n \n  \n \n { hiddenIcon }\n { title }\n \n \n ) : title;\n\n const setMoreLikeThis = () => setMlBannerWorkId(id);\n\n const fav = likesProps && likesProps.id ? (\n \n {\n setMlBannerWorkId && !skipMoreLikeThis && (\n \n )\n }\n \n ) : null;\n\n const qs = skipQuickShop ? null : (\n \n Quick Shop\n \n );\n\n return (\n
\n
\n { renderTitle }\n { author }\n
\n  \n \n { renderPrice }\n \n
\n
\n
\n { fav }\n
\n { qs }\n
\n );\n};\n\nInfo.propTypes = {\n name: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n authorName: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n authorSlug: PropTypes.string,\n authorId: PropTypes.number,\n isHidden: PropTypes.bool,\n currency: PropTypes.string,\n prices: PropTypes.array,\n priceRange: PropTypes.string,\n likesProps: PropTypes.object,\n skipQuickShop: PropTypes.bool,\n id: PropTypes.number,\n setMlBannerWorkId: PropTypes.func,\n skipMoreLikeThis: PropTypes.bool\n};\n\nexport default Info;\n","import React, { useState, useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactMarkdown from 'react-markdown';\nimport { loadPageDescriptionApi } from 'arts/config/api';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport * as Classes from './styles.module.scss';\n\nconst CategoryDescription = ({ description, skipShowMore, loadadble }) => {\n const [showMore, setShowMore] = useState(!!skipShowMore);\n const [renderDescription, setRenderDescription] = useState(description);\n\n useEffect(() => {\n setRenderDescription(description);\n }, [description]);\n\n useEffect(() => {\n if (loadadble) {\n loadPageDescriptionApi().then(res => setRenderDescription(res.description)).catch(() => {});\n }\n }, [loadadble, description, window.location.href]);\n\n const button = useMemo(() => {\n if (skipShowMore) return null;\n if (showMore) {\n return (\n \n );\n }\n return (\n \n );\n }, [showMore, skipShowMore]);\n\n if (!renderDescription) return null;\n\n return (\n
\n
\n \n { renderDescription }\n \n { button }\n
\n
\n );\n};\n\nCategoryDescription.propTypes = {\n description: PropTypes.string,\n skipShowMore: PropTypes.bool,\n loadadble: PropTypes.bool\n};\n\nexport default CategoryDescription;\n","// extracted by mini-css-extract-plugin\nvar _1 = \"yaJ_kvSBbHOnXeiOClHw\";\nvar _2 = \"efHi1Gr_uE2HG9gOIHnk\";\nvar _3 = \"lBKCaVyIxxuKVcoh7jFv\";\nvar _4 = \"EanWV_9iQijJDmGM3ho8\";\nvar _5 = \"vNGAAnpzsD9xZ58OMbHJ\";\nvar _6 = \"BDDFfUS1YmEu7lUGX4ZV\";\nvar _7 = \"_IFiMN3b3oeGCDbhRT2x\";\nvar _8 = \"CaY73718EayeYlUuvjPJ\";\nvar _9 = \"uyChkfr_WyOjGeW995_H\";\nvar _a = \"R5NtD4GVfGfmnljf4t_F\";\nvar _b = \"BpuGR8WSQNwVzFK67GZc\";\nexport { _1 as \"coll2\", _2 as \"description\", _3 as \"divider\", _4 as \"img\", _5 as \"imgD\", _6 as \"imgM\", _7 as \"item\", _8 as \"itemText\", _9 as \"noCenter\", _a as \"wallC0\", _b as \"wallC1\" }\n","import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ReactMarkdown from 'react-markdown';\nimport * as Classes from './styles.module.scss';\n\nconst Subtitle = ({ text, noCenter }) => (\n <>\n
\n \n { text }\n \n
\n
\n \n);\n\nSubtitle.propTypes = {\n text: PropTypes.string,\n noCenter: PropTypes.bool\n};\n\nexport default Subtitle;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from 'react-router-dom';\nimport numeral from 'numeral';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport * as Classes from './styles.module.scss';\nimport * as ItemClasses from '../WorkListItem/styles.module.scss';\nimport Info from '../WorkListItem/info';\nimport GTMPageView from '../Application/data_layer';\nimport { FORMAT } from '../checkout_summary/checkout_summary';\nimport { onCollectionImpression, onCollectionItemClick } from '../../config/analytics';\nimport Subtitle from './subtitle';\nimport QuickShop from '../QuickShopModal/quick_shop';\n\nconst SIZES = {\n wall: 2,\n work: 1,\n description: 3\n};\n\nconst rawPriceByItem = ({ price }) => (price ? Number(price) : null);\n\nconst priceByItem = ({ details, price, locale }) => {\n const priceBase = rawPriceByItem({ details, price });\n if (priceBase && locale) {\n numeral.locale(locale);\n }\n return priceBase ? numeral(priceBase).format(FORMAT) : null;\n};\n\nexport const renderItem = (collectionId, item, pos, useExactPrice = false) => {\n const {\n kind, id, imageUrl, title, by, href, sharingCaption, path, storableId, workPicture, locale,\n authorSlug, authorId\n } = item;\n const key = `${ kind }-${ id }`;\n const klass = Classes[`${ kind }C${ pos % 3 }`];\n let priceRange;\n if (useExactPrice) {\n const { price: basePrice } = workPicture;\n numeral.locale(locale);\n priceRange = numeral(basePrice).format(FORMAT);\n } else {\n const priceBase = priceByItem(item);\n priceRange = kind === 'work' ? `From: ${ priceBase }` : priceBase;\n }\n const infoProps = {\n title,\n authorName: by,\n href: path,\n priceRange,\n id: storableId,\n authorSlug,\n authorId,\n likesProps: {\n id: storableId,\n href,\n imageUrl,\n description: sharingCaption,\n favType: kind === 'work' ? 'Work' : 'Wall'\n },\n skipQuickShop: (kind !== 'work')\n };\n\n if (kind === 'original_art') {\n infoProps.title = `${ title } (original art)`;\n infoProps.likesProps = null;\n infoProps.skipQuickShop = true;\n }\n\n const onClick = () => {\n if (kind === 'work' && collectionId && pos) {\n onCollectionItemClick(item, rawPriceByItem, collectionId, pos);\n }\n };\n\n return [SIZES[kind], (\n
  • \n
    \n \n \n \n
    \n \n
  • \n )];\n};\n\nconst mappedItems = (collectionId, items, description2) => {\n const res = [];\n let pos = 0;\n\n const d2 = description2 ? (\n
  • \n \n
  • \n ) : null;\n\n items.forEach(item => {\n if (pos === 9 && d2) {\n res.push(d2);\n }\n const [inc, i] = renderItem(collectionId, item, pos);\n pos += inc;\n res.push(i);\n });\n return res;\n};\n\nconst Collection = ({\n name, description, description2, bannerImageHref, mobileBannerImageHref, items, id\n}) => {\n useEffect(() => {\n onCollectionImpression({ id, items, priceByItem: rawPriceByItem });\n }, [id]);\n\n const img = mobileBannerImageHref ? (\n <>\n {\n {\n \n ) : (\n {\n );\n\n return (\n
    \n

    { name }

    \n { name ? : null }\n { img }\n \n \n
      \n { mappedItems(id, items, description2) }\n
    \n
    \n );\n};\n\nCollection.propTypes = {\n id: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n description2: PropTypes.string,\n bannerImageHref: PropTypes.string.isRequired,\n mobileBannerImageHref: PropTypes.string,\n items: PropTypes.array.isRequired\n};\n\nexport default Collection;\n","import React, { useEffect } from 'react';\nimport { Loader } from 'semantic-ui-react';\nimport PropTypes from 'prop-types';\nimport Scroll from '../Application/scroll';\nimport * as AppClasses from '../Application/styles.module.scss';\nimport Collection from './collection';\nimport { trackEvent } from '../../config/analytics';\nimport CategoryDescription from '../category/category_description';\n\nconst CollectionDetails = ({\n id, slug, name, loading, loadCollectionDetails, ...rest\n}) => {\n useEffect(() => {\n if (!loading && !name) {\n loadCollectionDetails(slug);\n }\n }, []);\n\n useEffect(() => {\n if (!loading && id && name) {\n trackEvent('collection page', { 'collection id': id, name });\n }\n }, [\n id, name, loading\n ]);\n\n if (loading || !name) {\n return (\n
    \n

     

    \n Loading collection...\n \n
    \n );\n }\n\n return (\n
    \n
    \n \n \n \n
    \n
    \n );\n};\n\nCollectionDetails.propTypes = {\n loadCollectionDetails: PropTypes.func.isRequired,\n id: PropTypes.number,\n slug: PropTypes.string.isRequired,\n name: PropTypes.string,\n loading: PropTypes.bool\n};\n\nexport default CollectionDetails;\n","import { connect } from 'react-redux';\nimport { loadCollectionDetails } from 'arts/actions/collection_details';\nimport CollectionDetails from './collection_details';\n\nconst mapStateToProps = ({ collectionDetails }, { match: { params: { slug } } }) => ({\n ...(collectionDetails || {})[slug],\n slug\n});\n\nexport default connect(mapStateToProps, { loadCollectionDetails })(CollectionDetails);\n","import Constants from 'arts/config/constants';\nimport { loadCollectionDetailsApi } from 'arts/config/api';\n\nexport const loadCollectionDetails = (slug) => (dispatch) => {\n dispatch({ type: Constants.CollectionDetails.LOAD, slug });\n loadCollectionDetailsApi(slug).then((item) => {\n dispatch({ type: Constants.CollectionDetails.LOADED, item, slug });\n }).catch(() => {});\n};\n","// extracted by mini-css-extract-plugin\nvar _1 = \"zPhUfrgfKwqSeWZKftGX\";\nvar _2 = \"Olhm6ebAk0aX7JX9IeGK\";\nvar _3 = \"Tu1a9rfSWGz_5yCzyziv\";\nvar _4 = \"RwiUYAbh8wp5ONGyF9_O\";\nvar _5 = \"Z3PGwpokGoo9lHRKiR0r\";\nvar _6 = \"LBBrgLTikHa3tmkv5ZjG\";\nvar _7 = \"CybSmn0iene5ZSVU790v\";\nvar _8 = \"xK4GvYYgUztKxk3Wfxfz\";\nvar _9 = \"DlvGsnp72vL5DV2to8ww\";\nvar _a = \"OE0ynsQP8plbGJPqxTee\";\nvar _b = \"_oa7vJtaqLaMgBspJa9T\";\nvar _c = \"RqK9TdHBmDxm0Z4eJJQY\";\nvar _d = \"tiSxFdJzDpZNal00QHYj\";\nvar _e = \"hgh_hmnkVqySvsEIzHoA\";\nvar _f = \"APFjMnMXiArJbCJHojXZ\";\nvar _10 = \"wmaL5LYJNzAWePuGzDH6\";\nvar _11 = \"OA41Q8VogUK5dcqp9pV0\";\nvar _12 = \"QxtTJoW7ufZfn8PhgivW\";\nvar _13 = \"J3bgVeVKNE8yO7_XzBni\";\nvar _14 = \"ER2YftfsoOnhcpK8DQyJ\";\nvar _15 = \"n6FXp76wo_19ILBDXcVD\";\nvar _16 = \"gFXGYw04EdXODCpWDSFW\";\nvar _17 = \"MLFge70HIwBe0Kk8A0D_\";\nvar _18 = \"J4d5lxqNQDB_I1ood3IJ\";\nexport { _1 as \"admin\", _2 as \"anchor\", _3 as \"art\", _4 as \"author\", _5 as \"close\", _6 as \"favorite\", _7 as \"hidden\", _8 as \"infoBase\", _9 as \"keeper\", _a as \"left\", _b as \"likes\", _c as \"loader\", _d as \"loading\", _e as \"moreBar\", _f as \"moreBarInitial\", _10 as \"moreLike\", _11 as \"o\", _12 as \"originalArt\", _13 as \"prices\", _14 as \"quick\", _15 as \"removeFavorite\", _16 as \"root\", _17 as \"share\", _18 as \"sold\" }\n","// extracted by mini-css-extract-plugin\nvar _1 = \"GnTxdLjaEAveUAPAK3Vg\";\nvar _2 = \"fHvf_erHDz6DUBG_TlfU\";\nvar _3 = \"SHYWF0Nt0E1U9D9FgA7L\";\nvar _4 = \"ZH_xP52rJyit3BsoOKMV\";\nvar _5 = \"hwtBvA5Gzgvnx6eDE27P\";\nvar _6 = \"Uctz7l38jJxS11gPk0E4\";\nvar _7 = \"wiVGqipIp7M28JdA_07g\";\nvar _8 = \"tGyt_x2fGxoqlBqCw7g1\";\nexport { _1 as \"description\", _2 as \"header\", _3 as \"headerText\", _4 as \"imgD\", _5 as \"imgM\", _6 as \"imgMHolder\", _7 as \"showLess\", _8 as \"showMore\" }\n"],"names":["useEffect","window","scrollTo","QuickShopModal","id","onCancel","cancelUrl","React","Modal","selector","MODAL_SELECTOR","className","ModalClasses","Work","modal","QuickShop","quick","queryString","parse","location","search","useMemo","parseInt","pathWithoutQuickShop","Likes","favType","href","imageUrl","description","children","Classes","suppressHydrationWarning","Favorite","type","PinIt","formatPrice","v","parseFloat","toFixed","quickShopPath","pathname","updatedPathName","baseLen","currentLocale","basename","length","substring","parsedParams","stringify","pathWithQuickShop","Info","name","title","authorName","authorSlug","authorId","isHidden","prices","currency","priceRange","likesProps","skipQuickShop","setMlBannerWorkId","skipMoreLikeThis","renderPrice","buildPrices","push","map","join","hiddenIcon","authorLink","author","classes","Link","to","renderTitle","fav","onClick","setMoreLikeThis","Eye","qs","CategoryDescription","skipShowMore","loadadble","showMore","setShowMore","useState","renderDescription","setRenderDescription","loadPageDescriptionApi","then","res","catch","button","AppClasses","classnames","ReactMarkdown","_1","_2","_3","_4","_5","_6","_7","_8","_9","_a","_b","Subtitle","text","noCenter","SIZES","wall","work","rawPriceByItem","price","Number","renderItem","collectionId","item","pos","useExactPrice","kind","by","sharingCaption","path","storableId","workPicture","locale","key","klass","basePrice","numeral","format","FORMAT","priceBase","priceByItem","details","infoProps","ItemClasses","onCollectionItemClick","alt","src","Collection","description2","bannerImageHref","mobileBannerImageHref","items","onCollectionImpression","img","GTMPageView","pageType","section","mappedItems","d2","forEach","inc","i","CollectionDetails","slug","loading","loadCollectionDetails","rest","trackEvent","Loader","active","inline","Scroll","Object","assign","connect","mapStateToProps","collectionDetails","match","params","dispatch","Constants","LOAD","loadCollectionDetailsApi","LOADED","_c","_d","_e","_f","_10","_11","_12","_13","_14","_15","_16","_17","_18"],"sourceRoot":""}