{"version":3,"sources":["webpack:///./scripts/Components/LoadMore/styles|lazy|/^\\.\\/.*\\.scss$/|groupOptions: {}|namespace object","webpack:///./scripts/Components/ProgressBar/styles|lazy|/^\\.\\/.*\\.scss$/|groupOptions: {}|namespace object","webpack:///./scripts/Components/LoadingDots.js","webpack:///./scripts/Containers/withReactiveStyleBuyButton.js","webpack:///./scripts/Components/LoadMore/LoadMoreButton.js","webpack:///./scripts/Components/ProgressBar/ProgressBar.js","webpack:///./scripts/Containers/LoadMoreProductsContainer.js","webpack:///./scripts/Components/ProductsView/ProductsViewGallery.js","webpack:///./scripts/Components/ProductsView/ProductsViewList.js","webpack:///./scripts/Components/ProductsView/ProductsView.js","webpack:///./scripts/Components/ProductCard/ProductListItem.js","webpack:///./scripts/Components/ProductsView/ProductsViewTableGallery.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","size","color","React","className","StateStyles","global","ThemeName","WrappedComponent","props","skip","take","identifier","type","onLoaded","onClick","loadProducts","isLoading","setIsLoading","useState","disabled","async","translate","url","URL","window","location","res","post","search","json","stylePrefix","Component","constructor","super","this","state","stateClass","startTime","onNeutralState","setState","onLoadingState","Date","now","onCompleteState","success","changeState","autoReset","setTimeout","resetTimeout","loadingDuration","minimumLoadingTime","onButtonClick","params","data","onSuccess","err","onError","render","_extends","progress","max","wrapperStyle","fillStyle","style","width","Math","min","productsWrapper","useSelector","productsView","products","pagination","pageSize","totalProducts","totalCount","dispatch","useDispatch","useEffect","href","searchParams","set","length","history","replaceState","document","title","notAllLoaded","LoadMoreButton","receiveProductsWrapper","result","ProgressBar","toLowerCase","product","ProductCard","key","fieldId","quantityFieldId","uniqueId","cardClassName","LIST_TYPE_TABLE","LIST_TYPE_GALLERY","ProductsView","listType","categorySystemId","brandSystemId","pageSystemId","LoadingDots","ProductsViewTableGallery","totalHits","ProductsViewList","ProductsViewGallery","LoadMoreProductsContainer","ProductPrice","price","currentPriceFormatted","basePriceFormatted","itemProp","content","currency","ProductTags","tags","tag","i","name","images","reactTierPriceItems","basePrice","erpId","packSize","isInStock","hasLowStock","stockStatusDescription","showBuyButton","showQuantityField","useVariantUrl","hasTierPrices","variantsPickerViewModel","showPackButton","selectedVariant","setSelectedVariant","onVariantSelect","variant","image","selectedId","selectedIsInStock","selectedHasLowStock","selectedStockStatusDescription","selectedQuantityFieldId","selectedErpId","selectedPackSize","disabledBuyButton","itemScope","itemType","src","hasPrice","ProductStock","StackedPricesLink","articleNumber","clsx","VariantsPicker","onSelect","classPrefix","BuyButtonPack","cssClass","label","value","BuyButton","ProductListItem"],"mappings":"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","file":"5250.d6dda1191fadbbcfcd49.js","sourcesContent":["var map = {\n\t\"./alf.scss\": [\n\t\t19618,\n\t\t9618\n\t],\n\t\"./main.scss\": [\n\t\t37960,\n\t\t7960\n\t],\n\t\"./oh-poppy.scss\": [\n\t\t57406,\n\t\t7406\n\t],\n\t\"./vincent.scss\": [\n\t\t77851,\n\t\t7851\n\t],\n\t\"./wtg.scss\": [\n\t\t56662,\n\t\t6662\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 41867;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./alf.scss\": [\n\t\t48507,\n\t\t8507\n\t],\n\t\"./main.scss\": [\n\t\t45843,\n\t\t5843\n\t],\n\t\"./oh-poppy.scss\": [\n\t\t88612,\n\t\t8612\n\t],\n\t\"./vincent.scss\": [\n\t\t93916,\n\t\t3916\n\t],\n\t\"./wtg.scss\": [\n\t\t69078,\n\t\t9078\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 7071;\nmodule.exports = webpackAsyncContext;","import React from 'react';\n\nexport default ({ size, color }) => {\n return (\n \n
\n
\n
\n \n );\n};\n","import React, { Component } from 'react';\n\nconst StateStyles = {\n LOADING: '--loading',\n SUCCESS: '--success',\n ERROR: '--error',\n};\n\n/**\n * Represents a HOC which wraps a BuyButton or ReorderButton and applies diffrent styles to it\n * depending on its click state.\n * @param {*} WrappedComponent The button component.\n * @param {*} onClick The button's onClick event.\n * @param {*} stylePrefix The style prefix to append state's modifiers. For\n * example, 'button' will result as 'button--loading'.\n *\n * Some available props that the HOC component supports:\n * autoReset : it is true by default. Not its value, but the behaviour is like that. Unless people set it as false, by default, button is always reset to neutral state after the request is completed.\n * resetTimeout: Number milisecond after the complete state, the style of button will be reset. If don't set, it is 2000\n * minimumLoadingTime: Mininum milisecond to display the loading state. If don't set, it is 1000\n * onSuccess: callback if onClick method returns data\n * onError: callback if onClick method throws an exception\n */\nexport default function withReactiveStyleBuyButton(\n WrappedComponent,\n onClick,\n stylePrefix\n) {\n return class extends Component {\n constructor(props) {\n super(props);\n this.state = {\n stateClass: '',\n startTime: 0,\n };\n }\n\n onNeutralState() {\n this.setState({\n stateClass: '',\n startTime: 0,\n });\n }\n\n onLoadingState() {\n this.setState({\n stateClass: `${stylePrefix}${StateStyles.LOADING}`,\n startTime: Date.now(),\n });\n }\n\n onCompleteState(success) {\n const changeState = () => {\n this.setState({\n stateClass: `${stylePrefix}${\n success ? StateStyles.SUCCESS : StateStyles.ERROR\n }`,\n });\n // if `autoReset` is true, which is default, the style will be changed\n // to neutral after a `resetTimeout` amount of time (2 seconds by default).\n this.props.autoReset !== false &&\n setTimeout(() => {\n this.onNeutralState();\n }, this.props.resetTimeout || 2000);\n };\n\n const loadingDuration = Date.now() - this.state.startTime;\n const minimumLoadingTime = this.props.minimumLoadingTime || 1000;\n // ensure the loading indicator is displayed at least a `minimumLoadingTime`\n // amount of time before changing it to Success or Error.\n if (loadingDuration >= minimumLoadingTime) {\n changeState();\n } else {\n setTimeout(() => {\n changeState();\n }, minimumLoadingTime - loadingDuration);\n }\n }\n\n async onButtonClick(params) {\n try {\n this.onLoadingState();\n const data = await onClick(params);\n if (data) {\n this.onCompleteState(true);\n this.props.onSuccess(data);\n } else {\n this.onNeutralState();\n }\n } catch (err) {\n this.onCompleteState(false);\n this.props.onError(err);\n }\n }\n\n render() {\n return (\n \n this.onButtonClick(params)}\n {...this.props}\n />\n \n );\n }\n };\n}\n","import React, { useState } from 'react';\nimport withReactiveStyleBuyButton from '../../Containers/withReactiveStyleBuyButton';\nimport { post } from '../../Services/http';\nimport { translate } from '../../Services/translation';\nimport(`./styles/${global.ThemeName}.scss`);\n\nconst LoadMoreButton = (props) => {\n const {\n skip,\n take,\n identifier,\n type,\n onLoaded,\n onClick: loadProducts,\n } = props;\n const [isLoading, setIsLoading] = useState(false);\n\n const onClick = async () => {\n if (isLoading) return;\n setIsLoading(true);\n await loadProducts({ identifier, skip, take, type, onLoaded });\n setIsLoading(false);\n };\n\n return (\n \n );\n};\n\nconst loadMore = async ({ identifier, skip, take, type, onLoaded }) => {\n try {\n const url = new URL(window.location);\n const res = await post(`/api/loadmore/${type}${url.search}`, {\n identifier,\n skip,\n take,\n });\n\n onLoaded(await res.json());\n } catch {}\n};\n\nexport default withReactiveStyleBuyButton(\n LoadMoreButton,\n loadMore,\n 'btn-state'\n);\n","import React from 'react';\nimport(`./styles/${global.ThemeName}.scss`);\n\nexport default ({ progress, max, wrapperStyle, fillStyle }) => (\n
\n
\n \n);\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { receiveProductsWrapper } from '../Actions/LoadMore.action';\nimport LoadMoreButton from '../Components/LoadMore/LoadMoreButton';\nimport ProgressBar from '../Components/ProgressBar/ProgressBar';\nimport { translate } from '../Services/translation';\n\nexport default (props) => {\n const { productsWrapper } = useSelector((state) => state.productsView);\n const { products, pagination } = productsWrapper;\n const pageSize = pagination.pageSize;\n const totalProducts = pagination.totalCount;\n\n const dispatch = useDispatch();\n\n const onLoaded = (res) => {\n dispatch(\n receiveProductsWrapper({\n ...res.result.productsWrapper,\n products: [...products, ...res.result.productsWrapper.products],\n })\n );\n };\n\n useEffect(() => {\n const url = new URL(location.href);\n url.searchParams.set('products', products?.length ?? pageSize);\n window.history.replaceState(null, document.title, url);\n }, [products, pageSize]);\n\n var notAllLoaded =\n totalProducts != products.length && totalProducts > pageSize;\n\n return (\n <>\n {notAllLoaded && (\n \n )}\n \n
\n \n {products.length < totalProducts ? products.length : totalProducts}\n {' '}\n {translate('global.of').toLowerCase()} {totalProducts}{' '}\n {translate('global.products').toLowerCase()}\n
\n \n );\n};\n","import React, { useCallback } from 'react';\nimport { translate } from '../../Services/translation';\nimport { uniqueId } from 'lodash';\nimport ProductCard from '../ProductCard/ProductCard';\n\nconst ProductsViewGallery = (props) => {\n const { products } = props;\n const getFieldId = () => uniqueId();\n\n return products?.length > 0 ? (\n
\n {products.map((product) => (\n \n ))}\n
\n ) : null;\n};\n\nexport default ProductsViewGallery;\n","import React, { useCallback } from 'react';\nimport { translate } from '../../Services/translation';\nimport { uniqueId } from 'lodash';\nimport ProductCard from '../ProductCard/ProductCard';\n\nconst ProductsViewList = (props) => {\n const { products, cardClassName, className } = props;\n\n const getFieldId = () => uniqueId();\n\n return products?.length > 0 ? (\n
\n {products.map((product) => (\n \n ))}\n
\n ) : null;\n};\n\nexport default ProductsViewList;\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport LoadMoreProductsContainer from '../../Containers/LoadMoreProductsContainer';\nimport LoadingDots from '../LoadingDots';\nimport ProductsViewGallery from './ProductsViewGallery';\nimport ProductsViewList from './ProductsViewList';\nimport ProductsViewTableGallery from './ProductsViewTableGallery';\n\nexport const LIST_TYPE_TABLE = 'table';\nexport const LIST_TYPE_LIST = 'list';\nexport const LIST_TYPE_GALLERY = 'gallery';\n\nconst ProductsView = () => {\n const {\n productsWrapper,\n listType = LIST_TYPE_GALLERY,\n isLoading,\n } = useSelector((state) => state.productsView);\n const {\n products,\n pagination,\n categorySystemId,\n brandSystemId,\n pageSystemId,\n } = productsWrapper;\n const type = brandSystemId\n ? 'brand'\n : categorySystemId\n ? 'category'\n : pageSystemId\n ? 'page'\n : 'search';\n\n return (\n <>\n \n {isLoading && }\n {listType == LIST_TYPE_TABLE && (\n \n )}\n {listType == LIST_TYPE_LIST && }\n {listType == LIST_TYPE_GALLERY && (\n \n )}\n \n
\n \n
\n \n );\n};\n\nexport default ProductsView;\n","import React, { useState } from 'react';\nimport { translate } from '../../Services/translation';\nimport BuyButtonPack from '../BuyButtonPack/BuyButtonPack';\nimport BuyButton from '../BuyButton';\nimport StackedPricesLink from '../StackedPrices/StackedPricesLink';\nimport ProductStock from './ProductStock';\nimport VariantsPicker from './ProductCardVariantsPicker';\nimport clsx from 'clsx';\n\nconst ProductPrice = ({\n price,\n currentPriceFormatted,\n basePriceFormatted,\n className,\n}) => {\n return (\n
\n {currentPriceFormatted}\n {basePriceFormatted && (\n \n {translate('product.baseprice-prefix')}{' '}\n \n {basePriceFormatted}\n \n \n )}\n \n \n
\n );\n};\n\nconst ProductTags = ({ className, tags, id }) => {\n return tags.length > 0 ? (\n
\n {tags.map((tag, i) => (\n \n {translate('product.tag-' + tag)}\n \n ))}\n
\n ) : (\n ''\n );\n};\n\nconst ProductListItem = (props) => {\n const {\n name,\n url,\n images,\n price,\n reactTierPriceItems,\n basePrice,\n basePriceFormatted,\n currentPriceFormatted,\n id,\n erpId,\n packSize,\n tags,\n isInStock,\n hasLowStock,\n stockStatusDescription,\n showBuyButton,\n showQuantityField,\n useVariantUrl,\n type,\n fieldId,\n hasTierPrices,\n variantsPickerViewModel,\n } = props;\n const showPackButton = showBuyButton && showQuantityField && useVariantUrl;\n const [selectedVariant, setSelectedVariant] = useState();\n const onVariantSelect = (variant) => {\n setSelectedVariant(variant);\n };\n\n const image =\n images && images.length > 0\n ? images[0]\n : '/ui/images/placeholder-image.png';\n\n const selectedId = selectedVariant?.id ?? id;\n const selectedIsInStock = selectedVariant?.isInStock ?? isInStock;\n const selectedHasLowStock = selectedVariant?.hasLowStock ?? hasLowStock;\n const selectedStockStatusDescription =\n selectedVariant?.stockStatusDescription ?? stockStatusDescription;\n const selectedQuantityFieldId = selectedVariant?.quantityFieldId ?? fieldId;\n const selectedErpId = selectedVariant?.erpId ?? erpId;\n const selectedPackSize = selectedVariant?.packSize ?? packSize;\n const disabledBuyButton = variantsPickerViewModel && !selectedVariant;\n\n return (\n \n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n {name}\n
\n
\n {selectedErpId}\n {selectedPackSize > 1 && (\n \n {selectedPackSize +\n ' ' +\n translate('product.packsize-postfix')}\n \n )}\n
\n {price.hasPrice && (\n \n )}\n
\n\n \n
\n
\n
\n \n \n\n
\n {hasTierPrices && }\n
\n
\n
\n
\n {price.hasPrice && (\n \n )}\n\n {showBuyButton && price.hasPrice && (\n <>\n {showPackButton ? (\n \n {variantsPickerViewModel && (\n \n )}\n \n
\n ) : (\n \n \n {variantsPickerViewModel && (\n \n )}\n \n
\n )}\n \n )}\n \n \n
\n \n );\n};\n\nexport default ProductListItem;\n","import React from 'react';\nimport { uniqueId } from 'lodash';\nimport ProductListItem from '../ProductCard/ProductListItem';\n\nconst ProductsViewTableGallery = (props) => {\n const { products } = props;\n const getFieldId = () => uniqueId();\n\n return products?.length > 0 ? (\n
\n
\n {products.map((product) =>\n \n )}\n
\n
\n ) : null;\n};\n\nexport default ProductsViewTableGallery;\n"],"sourceRoot":""}