{"version":3,"file":"shelf-category-search-ba379b2e.js","sources":["../../../client/src/javascripts/customer_pages/_shelf-category/mobile-sort-option.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-sort.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-delivery-option-filter.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-delivery-option-filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/option-sorter.js","../../../client/src/javascripts/customer_pages/_shelf-category/standard-filter-options.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-filter.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/types/delivery-option-type.js","../../../client/src/javascripts/customer_pages/_shelf-category/previewable-delivery-options.jsx","../../../node_modules/react-pageflip/node_modules/react/cjs/react.production.min.js","../../../node_modules/react-pageflip/node_modules/react/index.js","../../../node_modules/page-flip/dist/js/page-flip.browser.js","../../../node_modules/react-pageflip/main.js","../../../client/src/javascripts/customer_pages/_shelf-category/photobook-preview.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/types/modal-content-type.js","../../../client/src/javascripts/customer_pages/_shelf-category/photobook-modal.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/previewable-products.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/products.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/no-results.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/mobile-filters-full-screen.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/generate-query-string.js","../../../client/src/javascripts/customer_pages/_shelf-category/delivery-option-filter.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/delivery-option-filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/color-filter-options.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/image-filter-options.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/filter.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/clear-filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/search.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/sort.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/favourited_filters.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/selected-option-button.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/selected-options.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/modal-header.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/modal.jsx","../../../client/src/javascripts/customer_pages/_shelf-category/shelf-category-search.jsx"],"sourcesContent":["import createReactClass from 'create-react-class';\n'use strict';\n\n// Import Libraries\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport genericHelpers from '../_utils/generic-helpers';\nimport DecapitalisedTitle from '../_utils/decapitalised-title';\n// -----------------------------------------------------------\n//  MobileSortOption\n// -----------------------------------------------------------\n\nconst MobileSortOption = ({value, title, onChange, selected}) => {\n  const [selectedState, setSelectedState] = useState(false);\n\n  useEffect(() => {\n    setSelectedState(selected);\n  }, []);\n\n  const handleClick = (e) => {\n    e.preventDefault();\n    onChange(value);\n  };\n\n  return (\n    <li className='options-list-names'>\n      <div\n      className={classNames(\n        'fancy-checkbox-button mr-2 d-flex',\n        'text-unstyled',\n        {\n          selected: selected,\n        }\n      )}>\n        <input type=\"radio\"\n          id={title}\n          name='sort'\n          className={classNames(\n            'mr-2',\n            {\n              selected: selected,\n            }\n          )}\n          onChange={handleClick}\n          value={value}\n          checked={selected}\n          aria-label={title}/>\n        <label htmlFor={title} className='m-0'>\n          {title}\n        </label>\n      </div>\n    </li>\n  );\n};\n\nexport default MobileSortOption;\n","'use strict';\n\n// Import Libraries\nimport React, { useEffect, useState } from 'react';\n\nimport classNames from 'classnames';\nimport screenAndStyle from '../_utils/screen-and-style';\n// Import JSX Modules\nimport MobileSortOption from './mobile-sort-option';\n// -----------------------------------------------------------\n//  MobileSort\n// -----------------------------------------------------------\nconst MobileSort = ({value, onChange}) => {\n  const [collapsed, setCollapsed] = useState(false);\n\n  useEffect(() => {\n    if (screenAndStyle.isBootstrapXS()) {\n      setCollapsed(true)\n    }\n  }, []);\n\n  const toggleCollapse = () => {\n    setCollapsed(prevState => !prevState);\n  };\n  const options = [{\n    value: 'best-sellers',\n    title: 'Best sellers'\n  },{\n    value: 'price-low-to-high',\n    title: 'Price: low to high'\n  },{\n    value: 'price-high-to-low',\n    title: 'Price: high to low'\n  },{\n    value: 'new',\n    title: 'New'\n  },{\n    value: 'featured',\n    title: 'Featured'\n  }];\n\n  const title = options.reduce((memo, option) => {\n    return option.value == value ? option.title : memo;\n  }, '');\n\n  const renderOptions = () => {\n    if (collapsed) {\n      return null;\n    }\n\n    return (\n      <div>\n        <ul className=\"list-unstyled\">\n        {\n          options.map((option, i) => {\n            return <MobileSortOption { ...option }\n                                      key={`${i}${value === option.value}`}\n                                      selected={ value === option.value }\n                                      onChange={ onChange } />\n          })\n        }\n        </ul>\n      </div>\n    );\n  };\n\n  return (\n    <section className={ classNames('accordion-entry accordion-entry-mobile-horizontal-padding', { collapsed: collapsed }) }>\n      <button\n        className=\"p-2 border-0 bg-white w-100 text-left\"\n        onClick={ toggleCollapse }\n        aria-label='Sort'\n        aria-expanded={!collapsed}\n        type='button'>\n        Sort\n      </button>\n      <span className={ classNames('list-selected-options-filters', {'d-none': !collapsed}) }>{ title }</span>\n      {renderOptions()}\n    </section>\n  );\n};\n\nexport default MobileSort;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// -----------------------------------------------------------\n//  MobileDeliveryOptionFilter\n// -----------------------------------------------------------\nconst MobileDeliveryOptionFilter = ({ optionkey, title, onToggle, selected, available }) => {\n  const [isSelected, setIsSelected] = useState(selected);\n  useEffect(() => {setIsSelected(selected) }, [selected])\n\n  const handleClick = (event) => {\n    event.preventDefault();\n    onToggle(optionkey);\n    setIsSelected(!isSelected)\n  };\n\n  return (\n      <li className=\"options-list-names\">\n        <div\n          className={classNames(\n            'no-capitalize text-unstyled d-flex',\n            {\n              selected: selected,\n              disabled: !available,\n            }\n          )}\n        >\n          <input type=\"radio\"\n            id={title}\n            className={classNames(\n              'mr-2 black-radio-button',\n              {\n                selected: selected,\n                disabled: !available,\n              }\n            )}\n            onChange={handleClick}\n            checked={selected}\n            aria-label={title}>\n          </input>\n          <label htmlFor={title} className='m-0'>\n            {title}\n          </label>\n        </div>\n      </li>\n  );\n};\n\nMobileDeliveryOptionFilter.propTypes = {\n  optionkey: PropTypes.number,\n  title: PropTypes.string,\n  onToggle: PropTypes.func,\n  selected: PropTypes.bool,\n  available: PropTypes.bool,\n};\n\nexport default MobileDeliveryOptionFilter;\n","'use strict';\n\n// Import Libraries\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\n// Import JSX Modules\nimport screenAndStyle from '../_utils/screen-and-style';\nimport MobileDeliveryOptionFilter from './mobile-delivery-option-filter';\nimport { builderDispatch, ShelfUI } from '../_utils/ui';\n\n// Import JS Modules\nimport translate from '../_utils/tools/translate';\n\n// -----------------------------------------------------------\n//  MobileDeliveryOptionFilters\n// -----------------------------------------------------------\nconst MobileDeliveryOptionFilters = ({ options, facets, selectedOptions }) => {\n\n  const [collapsed, setCollapsed] = useState(false);\n  const joinedSelectedOptions = (selectedOptions|| []).sort().join('')\n  const getSelectedOptions = () => {\n    const filterOptions = options.filter(option => selectedOptions.includes(option.key))\n    return filterOptions.map(item => item.title).join(', ');\n  }\n\n  const handleOptionSelected = options => {\n    if (checkOptions(options)) {\n      selectedOptions = []\n    } else {\n      if ((typeof options) === 'undefined'){\n        selectedOptions = []\n      } else {\n        selectedOptions = [options]\n      }\n    }\n    updateOptions(selectedOptions);\n  };\n\n  const toggleCollapse = () => {\n    setCollapsed(prevState => !prevState);\n  };\n\n  if (options.length <= 1) {\n    return null;\n  }\n\n  const facetKeys = (facets || []).map(facet => parseInt(facet.key));\n\n  const updateOptions = options => {\n    builderDispatch.delayedDispatch({\n      type: ShelfUI.DELIVERY_OPTION_SELECTED,\n      options: options,\n    });\n  };\n\n  const checkOptions = options => {\n    return selectedOptions.includes(options);\n  };\n\n  const renderOptions = () => {\n    if (collapsed) return null;\n\n    return (\n      <div>\n        <ul className=\"list-unstyled checkboxes\">\n          <MobileDeliveryOptionFilter\n            key={0}\n            title=\"Show all\"\n            OptionKey={[]}\n            available={true}\n            selected={!joinedSelectedOptions}\n            onToggle={handleOptionSelected}\n            newUi={true}\n          />\n          {\n            options.map((option, i) => {\n              const available = facetKeys.length ? facetKeys.some(facet => option.key === facet) : option.available;\n              const selected = selectedOptions.includes(option.key);\n              return <MobileDeliveryOptionFilter {...option}\n                key={`${i}-${selected ? 'selected' : 'unselected'}`}\n                optionkey={option.key}\n                available={available}\n                selected={selected}\n                onToggle={handleOptionSelected}\n              />;\n            })\n          }\n        </ul>\n      </div>\n    );\n  };\n  return (\n    <section className={classNames('accordion-entry accordion-entry-mobile-horizontal-padding filter-delivery-options', { collapsed: collapsed })}>\n      <button\n        className=\"p-2 border-0 bg-white w-100 text-left\"\n        onClick={toggleCollapse}\n        aria-label={`${translate('Shipping')} & ${translate('Pickup')}`}\n        aria-expanded={!collapsed}\n        type='button'\n      >\n        {translate('Shipping')} & {translate('Pickup')}\n      </button>\n      {renderOptions()}\n      {collapsed && getSelectedOptions()}\n    </section>\n  );\n};\n\nexport default MobileDeliveryOptionFilters;\n","// -----------------------------------------------------------\n//  OptionSorter\n// -----------------------------------------------------------\nconst OptionSorter = (function () {\n  function OptionSorter(options) {\n    this.options = options;\n  }\n\n  OptionSorter.prototype.sort = function () {\n    return this.options.sort(this.sortFuncFactory());\n  };\n\n  OptionSorter.prototype.sortFuncFactory = function () {\n    if (this.needPredefinedSort()) {\n      return this.predefinedSort;\n    }\n    if (this.needNumericSort()) {\n      return this.numericSort;\n    }\n    return this.titleSort;\n  };\n\n  OptionSorter.prototype.needPredefinedSort = function () {\n    for (let i = 0; i < this.options.length; i++) {\n      if (this.options[i].sort_order) {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  OptionSorter.prototype.needNumericSort = function () {\n    for (let i = 0; i < this.options.length; i++) {\n      if (!this.options[i].title.match(/^[0-9]/)) {\n        return false;\n      }\n    }\n    return true;\n  };\n\n  OptionSorter.prototype.predefinedSort = function (a, b) {\n    return a.sort_order - b.sort_order;\n  };\n\n  OptionSorter.prototype.numericSort = function (a, b) {\n    return parseInt(a.title) - parseInt(b.title);\n  };\n\n  OptionSorter.prototype.titleSort = function (a, b) {\n    if (a.title < b.title) return -1;\n    if (a.title > b.title) return 1;\n    return 0;\n  };\n\n  return OptionSorter;\n}());\n\nexport default OptionSorter;\n","'use strict';\n\n// Import Libraries\nimport React, { useRef }      from 'react';\nimport classNames from 'classnames';\n// Import JSX Modules\nimport OptionSorter from './option-sorter';\nimport AppleDeviceNameCapitaliser from '../_utils/apple-device-name-capitaliser';\nimport DecapitalisedTitle from '../_utils/decapitalised-title';\n\n// -----------------------------------------------------------\n//  StandardFilterOptions\n// -----------------------------------------------------------\nconst StandardFilterOptions = ({options, selected_options: selectedOptions, facets, onOptionSelected, newUi}) => {\n  return (\n    <ul className=\"list-unstyled checkboxes\" role=\"list\">\n      {\n        (new OptionSorter(options.filter(option => option.title))).sort().map(renderOption, this)\n      }\n    </ul>\n  );\n\n  function renderOption(option) {\n    const selected = selectedOptions.indexOf(option.title) > -1,\n          unavailable = (() => {\n            if (facets) {\n              return !facets.some(facet => facet.key === option.title);\n            }\n\n            return !option.available;\n          })();\n\n    const handleOptionSelected = (e) => {\n      e.preventDefault();\n      onOptionSelected(option.title);\n    };\n\n    if (unavailable & newUi) return null;\n    return (\n      <li key={ `${option.title}-${selected}` }\n        className={\n          classNames('options-list-names', {selected: selected, unavailable: unavailable})\n        }\n      >\n        <div\n          className={classNames(\n            'fancy-checkbox-button mr-2 d-flex text-unstyled'\n        )}>\n        <input type=\"checkbox\"\n          id={option.title}\n          className={classNames(\n            'mr-2',\n            {\n              selected: selected,\n              disabled: unavailable,\n            }\n          )}\n          onChange={handleOptionSelected}\n          checked={selected}\n          disabled={unavailable}\n          aria-label={option.title}>\n        </input>\n        <label htmlFor={option.title} className='m-0'>\n          <AppleDeviceNameCapitaliser>\n            <DecapitalisedTitle>{ option.title }</DecapitalisedTitle>\n          </AppleDeviceNameCapitaliser>\n        </label>\n        </div>\n      </li>\n    );\n  }\n};\n\nexport default StandardFilterOptions;\n","import createReactClass from 'create-react-class';\n'use strict';\n\n// Import Libraries\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\n// Import JSX Modules\nimport StandardFilterOptions from './standard-filter-options';\nimport DecapitalisedTitle from '../_utils/decapitalised-title';\nimport screenAndStyle from '../_utils/screen-and-style';\n// Import JS Modules\nimport genericHelpers from '../_utils/generic-helpers';\n\n// -----------------------------------------------------------\n//  MobileFilter\n// -----------------------------------------------------------\nconst MobileFilter = ({ facets, name, title, options, selectedOptions, onOptionSelected, ...props}) => {\n  const [collapsed, setCollapsed] = useState(false);\n\n  useEffect(() => {\n    if (screenAndStyle.isBootstrapXS()) {\n      setCollapsed(true)\n    }\n    if (selectedOptions && selectedOptions.length){\n      setCollapsed(true)\n    }\n  }, []);\n\n  const handleOptionSelected = (option) => {\n    onOptionSelected(name, option, props.multiselectable);\n  };\n  const handleClearSelected = () => {\n    onOptionSelected(name);\n  };\n  const selectOptionsList = () => {\n    return selectedOptions.map(function(option) {\n            return option.charAt(0).toUpperCase() + option.slice(1).toLowerCase();\n            }).join(', ');\n  }\n\n  const toggleCollapse = () => {\n    setCollapsed(prevState => !prevState);\n  };\n\n  const renderOptions = () => {\n    if (collapsed) {\n      return null;\n    }\n\n    return (\n      <div>\n        <StandardFilterOptions\n          options={options}\n          selected_options={selectedOptions}\n          facets={facets}\n          onOptionSelected={handleOptionSelected} \n        />\n        <button className={ classNames('btn btn-secondary btn-sm', {'d-none': !selectedOptions.length}) }\n                onClick={ handleClearSelected }>Clear\n        </button>\n      </div>\n    );\n  };\n\n  return (\n    <section className={ classNames('accordion-entry accordion-entry-mobile-horizontal-padding', { collapsed: collapsed }) }>\n      <button\n        className=\"p-2 border-0 bg-white w-100 text-left\"\n        onClick={ toggleCollapse }\n        aria-label={`${ genericHelpers.tidyTitleFilter(title) }`}\n        aria-expanded={!collapsed}\n        type='button'\n      >\n        <DecapitalisedTitle>{ genericHelpers.tidyTitleFilter(title) }</DecapitalisedTitle>\n      </button>\n        <span className={ classNames('list-selected-options-filters', {'d-none': !collapsed}) }>\n          { selectOptionsList() }\n        </span>\n      {renderOptions()}\n    </section>\n  );\n};\n\nexport default MobileFilter;\n","import createReactClass from 'create-react-class';\n'use strict';\n\n// Import Libraries\nimport React from 'react';\n// Import JSX Modules\nimport MobileSort from './mobile-sort';\nimport MobileDeliveryOptionFilters from './mobile-delivery-option-filters';\nimport MobileFilter from './mobile-filter';\n\n// -----------------------------------------------------------\n//  MobileFilters\n// -----------------------------------------------------------\nvar MobileFilters = createReactClass({\n  displayName: 'Filters',\n  render: function(){\n    return (\n      <aside className=\"filters border-radius mobile-filters-side\">\n        <MobileSort value={ this.props.sortValue }\n                    onChange={ this.props.onSortChange } />\n\n        <MobileDeliveryOptionFilters options={ this.props.delivery_options }\n                               facets={ (this.props.facets || {})['faceted_delivery_options'] }\n                               selectedOptions={ this.props.selected_delivery_options || [] }\n                               onOptionSelected={ this.props.onDeliveryOptionSelected }/>\n        {\n          this.props.filters.map(function(filter){\n            var facets = (this.props.facets || {})['filter_' + filter.key];\n\n            return <MobileFilter { ...filter }\n                                 facets={ facets }\n                                 key={ filter.key }\n                                 name={ filter.key }\n                                 title={ filter.label }\n                                 options={ filter.options }\n                                 selectedOptions={ this.props.selected_filters[filter.key] || [] }\n                                 onOptionSelected={ this.props.onFilterOptionSelected } />;\n          }, this)\n        }\n      </aside>\n    );\n  }\n});\n\nexport default MobileFilters;\n","import PropTypes from 'prop-types';\n\nconst deliveryOptionType = PropTypes.shape({\n  key: PropTypes.number,\n  type: PropTypes.string,\n  timescale: PropTypes.string,\n  time_hours: PropTypes.number,\n  title: PropTypes.string,\n  analytics_id: PropTypes.string,\n  code: PropTypes.string,\n});\n\nexport default deliveryOptionType;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport DeliveryOptionIcon from '../_utils/_delivery-options/delivery-option-icon';\nimport deliveryOptionType from './types/delivery-option-type';\n\nconst PreviewableDeliveryOptions = ({\n  deliveryOptions,\n  deliveryOptionKeys,\n}) => {\n  return (\n    <div className=\"delivery-options-list\">\n      {(deliveryOptions || []).map((option) => {\n        const available = (deliveryOptionKeys || []).includes(option.key);\n        const unavailable = !available;\n\n        return (\n          <div\n            key={option.key}\n            className={classNames('delivery-option', {\n              available,\n              unavailable,\n            })}\n            data-test-id=\"delivery-option\">\n            <DeliveryOptionIcon option={option} />\n          </div>\n        );\n      })}\n    </div>\n  );\n};\n\nPreviewableDeliveryOptions.propTypes = {\n  deliveryOptions: PropTypes.arrayOf(deliveryOptionType),\n  deliveryOptionKeys: PropTypes.arrayOf(PropTypes.number),\n};\n\nPreviewableDeliveryOptions.defaultProps = {\n  deliveryOptions: null,\n  deliveryOptionKeys: null,\n};\n\nexport default PreviewableDeliveryOptions;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e)}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++)}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a))}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b)}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};exports.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nexports.Component=F;exports.Fragment=r;exports.Profiler=u;exports.PureComponent=H;exports.StrictMode=t;exports.Suspense=y;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nexports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};exports.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:x,render:a}};exports.isValidElement=O;\nexports.lazy=function(a){return{$$typeof:A,_ctor:a,_status:-1,_result:null}};exports.memo=function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}};exports.useCallback=function(a,b){return Z().useCallback(a,b)};exports.useContext=function(a,b){return Z().useContext(a,b)};exports.useDebugValue=function(){};exports.useEffect=function(a,b){return Z().useEffect(a,b)};exports.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nexports.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};exports.useMemo=function(a,b){return Z().useMemo(a,b)};exports.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};exports.useRef=function(a){return Z().useRef(a)};exports.useState=function(a){return Z().useState(a)};exports.version=\"16.14.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=t||self).St={})}(this,(function(t){\"use strict\";class e{constructor(t,e){this.state={angle:0,area:[],position:{x:0,y:0},hardAngle:0,hardDrawingAngle:0},this.createdDensity=e,this.nowDrawingDensity=this.createdDensity,this.render=t}setDensity(t){this.createdDensity=t,this.nowDrawingDensity=t}setDrawingDensity(t){this.nowDrawingDensity=t}setPosition(t){this.state.position=t}setAngle(t){this.state.angle=t}setArea(t){this.state.area=t}setHardDrawingAngle(t){this.state.hardDrawingAngle=t}setHardAngle(t){this.state.hardAngle=t,this.state.hardDrawingAngle=t}setOrientation(t){this.orientation=t}getDrawingDensity(){return this.nowDrawingDensity}getDensity(){return this.createdDensity}getHardAngle(){return this.state.hardAngle}}class i extends e{constructor(t,e,i){super(t,i),this.image=null,this.isLoad=!1,this.loadingAngle=0,this.image=new Image,this.image.src=e}draw(t){const e=this.render.getContext(),i=this.render.convertToGlobal(this.state.position),s=this.render.getRect().pageWidth,n=this.render.getRect().height;e.save(),e.translate(i.x,i.y),e.beginPath();for(let t of this.state.area)null!==t&&(t=this.render.convertToGlobal(t),e.lineTo(t.x-i.x,t.y-i.y));e.rotate(this.state.angle),e.clip(),this.isLoad?e.drawImage(this.image,0,0,s,n):this.drawLoader(e,{x:0,y:0},s,n),e.restore()}simpleDraw(t){const e=this.render.getRect(),i=this.render.getContext(),s=e.pageWidth,n=e.height,h=1===t?e.left+e.pageWidth:e.left,r=e.top;this.isLoad?i.drawImage(this.image,h,r,s,n):this.drawLoader(i,{x:h,y:r},s,n)}drawLoader(t,e,i,s){t.beginPath(),t.strokeStyle=\"rgb(200, 200, 200)\",t.fillStyle=\"rgb(255, 255, 255)\",t.lineWidth=1,t.rect(e.x+1,e.y+1,i-1,s-1),t.stroke(),t.fill();const n={x:e.x+i/2,y:e.y+s/2};t.beginPath(),t.lineWidth=10,t.arc(n.x,n.y,20,this.loadingAngle,3*Math.PI/2+this.loadingAngle),t.stroke(),t.closePath(),this.loadingAngle+=.07,this.loadingAngle>=2*Math.PI&&(this.loadingAngle=0)}load(){this.isLoad||(this.image.onload=()=>{this.isLoad=!0})}newTemporaryCopy(){return this}getTemporaryCopy(){return this}hideTemporaryCopy(){}}class s{constructor(t,e){this.pages=[],this.currentPageIndex=0,this.currentSpreadIndex=0,this.landscapeSpread=[],this.portraitSpread=[],this.render=e,this.app=t,this.currentPageIndex=0,this.isShowCover=this.app.getSettings().showCover}destroy(){this.pages=[]}createSpread(){this.landscapeSpread=[],this.portraitSpread=[];for(let t=0;t<this.pages.length;t++)this.portraitSpread.push([t]);let t=0;this.isShowCover&&(this.pages[0].setDensity(\"hard\"),this.landscapeSpread.push([t]),t++);for(let e=t;e<this.pages.length;e+=2)e<this.pages.length-1?this.landscapeSpread.push([e,e+1]):(this.landscapeSpread.push([e]),this.pages[e].setDensity(\"hard\"))}getSpread(){return\"landscape\"===this.render.getOrientation()?this.landscapeSpread:this.portraitSpread}getSpreadIndexByPage(t){const e=this.getSpread();for(let i=0;i<e.length;i++)if(t===e[i][0]||t===e[i][1])return i;return null}getPageCount(){return this.pages.length}getPages(){return this.pages}getPage(t){if(t>=0&&t<this.pages.length)return this.pages[t];throw new Error(\"Invalid page number\")}nextBy(t){const e=this.pages.indexOf(t);return e<this.pages.length-1?this.pages[e+1]:null}prevBy(t){const e=this.pages.indexOf(t);return e>0?this.pages[e-1]:null}getFlippingPage(t){const e=this.currentSpreadIndex;if(\"portrait\"===this.render.getOrientation())return 0===t?this.pages[e].newTemporaryCopy():this.pages[e-1];{const i=0===t?this.getSpread()[e+1]:this.getSpread()[e-1];return 1===i.length||0===t?this.pages[i[0]]:this.pages[i[1]]}}getBottomPage(t){const e=this.currentSpreadIndex;if(\"portrait\"===this.render.getOrientation())return 0===t?this.pages[e+1]:this.pages[e-1];{const i=0===t?this.getSpread()[e+1]:this.getSpread()[e-1];return 1===i.length?this.pages[i[0]]:0===t?this.pages[i[1]]:this.pages[i[0]]}}showNext(){this.currentSpreadIndex<this.getSpread().length&&(this.currentSpreadIndex++,this.showSpread())}showPrev(){this.currentSpreadIndex>0&&(this.currentSpreadIndex--,this.showSpread())}getCurrentPageIndex(){return this.currentPageIndex}show(t=null){if(null===t&&(t=this.currentPageIndex),t<0||t>=this.pages.length)return;const e=this.getSpreadIndexByPage(t);null!==e&&(this.currentSpreadIndex=e,this.showSpread())}getCurrentSpreadIndex(){return this.currentSpreadIndex}setCurrentSpreadIndex(t){if(!(t>=0&&t<this.getSpread().length))throw new Error(\"Invalid page\");this.currentSpreadIndex=t}showSpread(){const t=this.getSpread()[this.currentSpreadIndex];2===t.length?(this.render.setLeftPage(this.pages[t[0]]),this.render.setRightPage(this.pages[t[1]])):\"landscape\"===this.render.getOrientation()&&t[0]===this.pages.length-1?(this.render.setLeftPage(this.pages[t[0]]),this.render.setRightPage(null)):(this.render.setLeftPage(null),this.render.setRightPage(this.pages[t[0]])),this.currentPageIndex=t[0],this.app.updatePageIndex(this.currentPageIndex)}}class n extends s{constructor(t,e,i){super(t,e),this.imagesHref=i}load(){for(const t of this.imagesHref){const e=new i(this.render,t,\"soft\");e.load(),this.pages.push(e)}this.createSpread()}}class h{static GetDistanceBetweenTwoPoint(t,e){return null===t||null===e?1/0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}static GetSegmentLength(t){return h.GetDistanceBetweenTwoPoint(t[0],t[1])}static GetAngleBetweenTwoLine(t,e){const i=t[0].y-t[1].y,s=e[0].y-e[1].y,n=t[1].x-t[0].x,h=e[1].x-e[0].x;return Math.acos((i*s+n*h)/(Math.sqrt(i*i+n*n)*Math.sqrt(s*s+h*h)))}static PointInRect(t,e){return null===e?null:e.x>=t.left&&e.x<=t.width+t.left&&e.y>=t.top&&e.y<=t.top+t.height?e:null}static GetRotatedPoint(t,e,i){return{x:t.x*Math.cos(i)+t.y*Math.sin(i)+e.x,y:t.y*Math.cos(i)-t.x*Math.sin(i)+e.y}}static LimitPointToCircle(t,e,i){if(h.GetDistanceBetweenTwoPoint(t,i)<=e)return i;const s=t.x,n=t.y,r=i.x,o=i.y;let a=Math.sqrt(Math.pow(e,2)*Math.pow(s-r,2)/(Math.pow(s-r,2)+Math.pow(n-o,2)))+s;i.x<0&&(a*=-1);let g=(a-s)*(n-o)/(s-r)+n;return s-r+n===0&&(g=e),{x:a,y:g}}static GetIntersectBetweenTwoSegment(t,e,i){return h.PointInRect(t,h.GetIntersectBeetwenTwoLine(e,i))}static GetIntersectBeetwenTwoLine(t,e){const i=t[0].y-t[1].y,s=e[0].y-e[1].y,n=t[1].x-t[0].x,h=e[1].x-e[0].x,r=t[0].x*t[1].y-t[1].x*t[0].y,o=e[0].x*e[1].y-e[1].x*e[0].y,a=i*o-s*r,g=n*o-h*r,l=-(r*h-o*n)/(i*h-s*n),d=-(i*o-s*r)/(i*h-s*n);if(isFinite(l)&&isFinite(d))return{x:l,y:d};if(Math.abs(a-g)<.1)throw new Error(\"Segment included\");return null}static GetCordsFromTwoPoint(t,e){const i=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y),n=Math.max(i,s),h=[t];function r(t,e,i,s,n){return e>t?t+n*(i/s):e<t?t-n*(i/s):t}for(let o=1;o<=n;o+=1)h.push({x:r(t.x,e.x,i,n,o),y:r(t.y,e.y,s,n,o)});return h}}class r extends e{constructor(t,e,i){super(t,i),this.copiedElement=null,this.temporaryCopy=null,this.isLoad=!1,this.element=e,this.element.classList.add(\"stf__item\"),this.element.classList.add(\"--\"+i)}newTemporaryCopy(){return\"hard\"===this.nowDrawingDensity?this:(null===this.temporaryCopy&&(this.copiedElement=this.element.cloneNode(!0),this.element.parentElement.appendChild(this.copiedElement),this.temporaryCopy=new r(this.render,this.copiedElement,this.nowDrawingDensity)),this.getTemporaryCopy())}getTemporaryCopy(){return this.temporaryCopy}hideTemporaryCopy(){null!==this.temporaryCopy&&(this.copiedElement.remove(),this.copiedElement=null,this.temporaryCopy=null)}draw(t){const e=t||this.nowDrawingDensity,i=this.render.convertToGlobal(this.state.position),s=this.render.getRect().pageWidth,n=this.render.getRect().height;this.element.classList.remove(\"--simple\");const h=`\\n            display: block;\\n            z-index: ${this.element.style.zIndex};\\n            left: 0;\\n            top: 0;\\n            width: ${s}px;\\n            height: ${n}px;\\n        `;\"hard\"===e?this.drawHard(h):this.drawSoft(i,h)}drawHard(t=\"\"){const e=this.render.getRect().left+this.render.getRect().width/2,i=this.state.hardDrawingAngle,s=t+\"\\n                backface-visibility: hidden;\\n                -webkit-backface-visibility: hidden;\\n                clip-path: none;\\n                -webkit-clip-path: none;\\n            \"+(0===this.orientation?`transform-origin: ${this.render.getRect().pageWidth}px 0; \\n                   transform: translate3d(0, 0, 0) rotateY(${i}deg);`:`transform-origin: 0 0; \\n                   transform: translate3d(${e}px, 0, 0) rotateY(${i}deg);`);this.element.style.cssText=s}drawSoft(t,e=\"\"){let i=\"polygon( \";for(const t of this.state.area)if(null!==t){let e=1===this.render.getDirection()?{x:-t.x+this.state.position.x,y:t.y-this.state.position.y}:{x:t.x-this.state.position.x,y:t.y-this.state.position.y};e=h.GetRotatedPoint(e,{x:0,y:0},this.state.angle),i+=e.x+\"px \"+e.y+\"px, \"}i=i.slice(0,-2),i+=\")\";const s=e+`transform-origin: 0 0; clip-path: ${i}; -webkit-clip-path: ${i};`+(this.render.isSafari()&&0===this.state.angle?`transform: translate(${t.x}px, ${t.y}px);`:`transform: translate3d(${t.x}px, ${t.y}px, 0) rotate(${this.state.angle}rad);`);this.element.style.cssText=s}simpleDraw(t){const e=this.render.getRect(),i=e.pageWidth,s=e.height,n=1===t?e.left+e.pageWidth:e.left,h=e.top;this.element.classList.add(\"--simple\"),this.element.style.cssText=`\\n            position: absolute; \\n            display: block; \\n            height: ${s}px; \\n            left: ${n}px; \\n            top: ${h}px; \\n            width: ${i}px; \\n            z-index: ${this.render.getSettings().startZIndex+1};`}getElement(){return this.element}load(){this.isLoad=!0}setOrientation(t){super.setOrientation(t),this.element.classList.remove(\"--left\",\"--right\"),this.element.classList.add(1===t?\"--right\":\"--left\")}setDrawingDensity(t){this.element.classList.remove(\"--soft\",\"--hard\"),this.element.classList.add(\"--\"+t),super.setDrawingDensity(t)}}class o extends s{constructor(t,e,i,s){super(t,e),this.element=i,this.pagesElement=s}load(){for(const t of this.pagesElement){const e=new r(this.render,t,\"hard\"===t.dataset.density?\"hard\":\"soft\");e.load(),this.pages.push(e)}this.createSpread()}}class a{constructor(t,e,i,s){this.direction=t,this.corner=e,this.topIntersectPoint=null,this.sideIntersectPoint=null,this.bottomIntersectPoint=null,this.pageWidth=parseInt(i,10),this.pageHeight=parseInt(s,10)}calc(t){try{return this.position=this.calcAngleAndPosition(t),this.calculateIntersectPoint(this.position),!0}catch(t){return!1}}getFlippingClipArea(){const t=[];let e=!1;return t.push(this.rect.topLeft),t.push(this.topIntersectPoint),null===this.sideIntersectPoint?e=!0:(t.push(this.sideIntersectPoint),null===this.bottomIntersectPoint&&(e=!1)),t.push(this.bottomIntersectPoint),(e||\"bottom\"===this.corner)&&t.push(this.rect.bottomLeft),t}getBottomClipArea(){const t=[];return t.push(this.topIntersectPoint),\"top\"===this.corner?t.push({x:this.pageWidth,y:0}):(null!==this.topIntersectPoint&&t.push({x:this.pageWidth,y:0}),t.push({x:this.pageWidth,y:this.pageHeight})),null!==this.sideIntersectPoint?h.GetDistanceBetweenTwoPoint(this.sideIntersectPoint,this.topIntersectPoint)>=10&&t.push(this.sideIntersectPoint):\"top\"===this.corner&&t.push({x:this.pageWidth,y:this.pageHeight}),t.push(this.bottomIntersectPoint),t.push(this.topIntersectPoint),t}getAngle(){return 0===this.direction?-this.angle:this.angle}getRect(){return this.rect}getPosition(){return this.position}getActiveCorner(){return 0===this.direction?this.rect.topLeft:this.rect.topRight}getDirection(){return this.direction}getFlippingProgress(){return Math.abs((this.position.x-this.pageWidth)/(2*this.pageWidth)*100)}getCorner(){return this.corner}getBottomPagePosition(){return 1===this.direction?{x:this.pageWidth,y:0}:{x:0,y:0}}getShadowStartPoint(){return\"top\"===this.corner?this.topIntersectPoint:null!==this.sideIntersectPoint?this.sideIntersectPoint:this.topIntersectPoint}getShadowAngle(){const t=h.GetAngleBetweenTwoLine(this.getSegmentToShadowLine(),[{x:0,y:0},{x:this.pageWidth,y:0}]);return 0===this.direction?t:Math.PI-t}calcAngleAndPosition(t){let e=t;if(this.updateAngleAndGeometry(e),e=\"top\"===this.corner?this.checkPositionAtCenterLine(e,{x:0,y:0},{x:0,y:this.pageHeight}):this.checkPositionAtCenterLine(e,{x:0,y:this.pageHeight},{x:0,y:0}),Math.abs(e.x-this.pageWidth)<1&&Math.abs(e.y)<1)throw new Error(\"Point is too small\");return e}updateAngleAndGeometry(t){this.angle=this.calculateAngle(t),this.rect=this.getPageRect(t)}calculateAngle(t){const e=this.pageWidth-t.x+1,i=\"bottom\"===this.corner?this.pageHeight-t.y:t.y;let s=2*Math.acos(e/Math.sqrt(i*i+e*e));i<0&&(s=-s);const n=Math.PI-s;if(!isFinite(s)||n>=0&&n<.003)throw new Error(\"The G point is too small\");return\"bottom\"===this.corner&&(s=-s),s}getPageRect(t){return\"top\"===this.corner?this.getRectFromBasePoint([{x:0,y:0},{x:this.pageWidth,y:0},{x:0,y:this.pageHeight},{x:this.pageWidth,y:this.pageHeight}],t):this.getRectFromBasePoint([{x:0,y:-this.pageHeight},{x:this.pageWidth,y:-this.pageHeight},{x:0,y:0},{x:this.pageWidth,y:0}],t)}getRectFromBasePoint(t,e){return{topLeft:this.getRotatedPoint(t[0],e),topRight:this.getRotatedPoint(t[1],e),bottomLeft:this.getRotatedPoint(t[2],e),bottomRight:this.getRotatedPoint(t[3],e)}}getRotatedPoint(t,e){return{x:t.x*Math.cos(this.angle)+t.y*Math.sin(this.angle)+e.x,y:t.y*Math.cos(this.angle)-t.x*Math.sin(this.angle)+e.y}}calculateIntersectPoint(t){const e={left:-1,top:-1,width:this.pageWidth+2,height:this.pageHeight+2};\"top\"===this.corner?(this.topIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[t,this.rect.topRight],[{x:0,y:0},{x:this.pageWidth,y:0}]),this.sideIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[t,this.rect.bottomLeft],[{x:this.pageWidth,y:0},{x:this.pageWidth,y:this.pageHeight}]),this.bottomIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[this.rect.bottomLeft,this.rect.bottomRight],[{x:0,y:this.pageHeight},{x:this.pageWidth,y:this.pageHeight}])):(this.topIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[this.rect.topLeft,this.rect.topRight],[{x:0,y:0},{x:this.pageWidth,y:0}]),this.sideIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[t,this.rect.topLeft],[{x:this.pageWidth,y:0},{x:this.pageWidth,y:this.pageHeight}]),this.bottomIntersectPoint=h.GetIntersectBetweenTwoSegment(e,[this.rect.bottomLeft,this.rect.bottomRight],[{x:0,y:this.pageHeight},{x:this.pageWidth,y:this.pageHeight}]))}checkPositionAtCenterLine(t,e,i){let s=t;const n=h.LimitPointToCircle(e,this.pageWidth,s);s!==n&&(s=n,this.updateAngleAndGeometry(s));const r=Math.sqrt(Math.pow(this.pageWidth,2)+Math.pow(this.pageHeight,2));let o=this.rect.bottomRight,a=this.rect.topLeft;if(\"bottom\"===this.corner&&(o=this.rect.topRight,a=this.rect.bottomLeft),o.x<=0){const t=h.LimitPointToCircle(i,r,a);t!==s&&(s=t,this.updateAngleAndGeometry(s))}return s}getSegmentToShadowLine(){const t=this.getShadowStartPoint();return[t,t!==this.sideIntersectPoint&&null!==this.sideIntersectPoint?this.sideIntersectPoint:this.bottomIntersectPoint]}}class g{constructor(t,e){this.flippingPage=null,this.bottomPage=null,this.calc=null,this.state=\"read\",this.render=t,this.app=e}fold(t){this.setState(\"user_fold\"),null===this.calc&&this.start(t),this.do(this.render.convertToPage(t))}flip(t){if(this.app.getSettings().disableFlipByClick&&!this.isPointOnCorners(t))return;if(null!==this.calc&&this.render.finishAnimation(),!this.start(t))return;const e=this.getBoundsRect();this.setState(\"flipping\");const i=e.height/10,s=\"bottom\"===this.calc.getCorner()?e.height-i:i,n=\"bottom\"===this.calc.getCorner()?e.height:0;this.calc.calc({x:e.pageWidth-i,y:s}),this.animateFlippingTo({x:e.pageWidth-i,y:s},{x:-e.pageWidth,y:n},!0)}start(t){this.reset();const e=this.render.convertToBook(t),i=this.getBoundsRect(),s=this.getDirectionByPoint(e),n=e.y>=i.height/2?\"bottom\":\"top\";if(!this.checkDirection(s))return!1;try{if(this.flippingPage=this.app.getPageCollection().getFlippingPage(s),this.bottomPage=this.app.getPageCollection().getBottomPage(s),\"landscape\"===this.render.getOrientation())if(1===s){const t=this.app.getPageCollection().nextBy(this.flippingPage);null!==t&&this.flippingPage.getDensity()!==t.getDensity()&&(this.flippingPage.setDrawingDensity(\"hard\"),t.setDrawingDensity(\"hard\"))}else{const t=this.app.getPageCollection().prevBy(this.flippingPage);null!==t&&this.flippingPage.getDensity()!==t.getDensity()&&(this.flippingPage.setDrawingDensity(\"hard\"),t.setDrawingDensity(\"hard\"))}return this.render.setDirection(s),this.calc=new a(s,n,i.pageWidth.toString(10),i.height.toString(10)),!0}catch(t){return!1}}do(t){if(null!==this.calc&&this.calc.calc(t)){const t=this.calc.getFlippingProgress();this.bottomPage.setArea(this.calc.getBottomClipArea()),this.bottomPage.setPosition(this.calc.getBottomPagePosition()),this.bottomPage.setAngle(0),this.bottomPage.setHardAngle(0),this.flippingPage.setArea(this.calc.getFlippingClipArea()),this.flippingPage.setPosition(this.calc.getActiveCorner()),this.flippingPage.setAngle(this.calc.getAngle()),0===this.calc.getDirection()?this.flippingPage.setHardAngle(90*(200-2*t)/100):this.flippingPage.setHardAngle(-90*(200-2*t)/100),this.render.setPageRect(this.calc.getRect()),this.render.setBottomPage(this.bottomPage),this.render.setFlippingPage(this.flippingPage),this.render.setShadowData(this.calc.getShadowStartPoint(),this.calc.getShadowAngle(),t,this.calc.getDirection())}}flipToPage(t,e){const i=this.app.getPageCollection().getCurrentSpreadIndex(),s=this.app.getPageCollection().getSpreadIndexByPage(t);try{s>i&&(this.app.getPageCollection().setCurrentSpreadIndex(s-1),this.flipNext(e)),s<i&&(this.app.getPageCollection().setCurrentSpreadIndex(s+1),this.flipPrev(e))}catch(t){}}flipNext(t){this.flip({x:this.render.getRect().left+2*this.render.getRect().pageWidth-10,y:\"top\"===t?1:this.render.getRect().height-2})}flipPrev(t){this.flip({x:10,y:\"top\"===t?1:this.render.getRect().height-2})}stopMove(){if(null===this.calc)return;const t=this.calc.getPosition(),e=this.getBoundsRect(),i=\"bottom\"===this.calc.getCorner()?e.height:0;t.x<=0?this.animateFlippingTo(t,{x:-e.pageWidth,y:i},!0):this.animateFlippingTo(t,{x:e.pageWidth,y:i},!1)}showCorner(t){if(!this.checkState(\"read\",\"fold_corner\"))return;const e=this.getBoundsRect(),i=e.pageWidth;if(this.isPointOnCorners(t))if(null===this.calc){if(!this.start(t))return;this.setState(\"fold_corner\"),this.calc.calc({x:i-1,y:1});const s=50,n=\"bottom\"===this.calc.getCorner()?e.height-1:1,h=\"bottom\"===this.calc.getCorner()?e.height-s:s;this.animateFlippingTo({x:i-1,y:n},{x:i-s,y:h},!1,!1)}else this.do(this.render.convertToPage(t));else this.setState(\"read\"),this.render.finishAnimation(),this.stopMove()}animateFlippingTo(t,e,i,s=!0){const n=h.GetCordsFromTwoPoint(t,e),r=[];for(const t of n)r.push(()=>this.do(t));const o=this.getAnimationDuration(n.length);this.render.startAnimation(r,o,()=>{this.calc&&(i&&(1===this.calc.getDirection()?this.app.turnToPrevPage():this.app.turnToNextPage()),s&&(this.render.setBottomPage(null),this.render.setFlippingPage(null),this.render.clearShadow(),this.setState(\"read\"),this.reset()))})}getCalculation(){return this.calc}getState(){return this.state}setState(t){this.state!==t&&(this.app.updateState(t),this.state=t)}getDirectionByPoint(t){const e=this.getBoundsRect();if(\"portrait\"===this.render.getOrientation()){if(t.x-e.pageWidth<=e.width/5)return 1}else if(t.x<e.width/2)return 1;return 0}getAnimationDuration(t){const e=this.app.getSettings().flippingTime;return t>=1e3?e:t/1e3*e}checkDirection(t){return 0===t?this.app.getCurrentPageIndex()<this.app.getPageCount()-1:this.app.getCurrentPageIndex()>=1}reset(){this.calc=null,this.flippingPage=null,this.bottomPage=null}getBoundsRect(){return this.render.getRect()}checkState(...t){for(const e of t)if(this.state===e)return!0;return!1}isPointOnCorners(t){const e=this.getBoundsRect(),i=e.pageWidth,s=Math.sqrt(Math.pow(i,2)+Math.pow(e.height,2))/5,n=this.render.convertToBook(t);return n.x>0&&n.y>0&&n.x<e.width&&n.y<e.height&&(n.x<s||n.x>e.width-s)&&(n.y<s||n.y>e.height-s)}}class l{constructor(t,e){this.leftPage=null,this.rightPage=null,this.flippingPage=null,this.bottomPage=null,this.direction=null,this.orientation=null,this.shadow=null,this.animation=null,this.pageRect=null,this.boundsRect=null,this.timer=0,this.safari=!1,this.setting=e,this.app=t;const i=new RegExp(\"Version\\\\/[\\\\d\\\\.]+.*Safari/\");this.safari=null!==i.exec(window.navigator.userAgent)}render(t){if(null!==this.animation){const e=Math.round((t-this.animation.startedAt)/this.animation.durationFrame);e<this.animation.frames.length?this.animation.frames[e]():(this.animation.onAnimateEnd(),this.animation=null)}this.timer=t,this.drawFrame()}start(){this.update();const t=e=>{this.render(e),requestAnimationFrame(t)};requestAnimationFrame(t)}startAnimation(t,e,i){this.finishAnimation(),this.animation={frames:t,duration:e,durationFrame:e/t.length,onAnimateEnd:i,startedAt:this.timer}}finishAnimation(){null!==this.animation&&(this.animation.frames[this.animation.frames.length-1](),null!==this.animation.onAnimateEnd&&this.animation.onAnimateEnd()),this.animation=null}update(){this.boundsRect=null;const t=this.calculateBoundsRect();this.orientation!==t&&(this.orientation=t,this.app.updateOrientation(t))}calculateBoundsRect(){let t=\"landscape\";const e=this.getBlockWidth(),i=e/2,s=this.getBlockHeight()/2,n=this.setting.width/this.setting.height;let h=this.setting.width,r=this.setting.height,o=i-h;return\"stretch\"===this.setting.size?(e<2*this.setting.minWidth&&this.app.getSettings().usePortrait&&(t=\"portrait\"),h=\"portrait\"===t?this.getBlockWidth():this.getBlockWidth()/2,h>this.setting.maxWidth&&(h=this.setting.maxWidth),r=h/n,r>this.getBlockHeight()&&(r=this.getBlockHeight(),h=r*n),o=\"portrait\"===t?i-h/2-h:i-h):e<2*h&&this.app.getSettings().usePortrait&&(t=\"portrait\",o=i-h/2-h),this.boundsRect={left:o,top:s-r/2,width:2*h,height:r,pageWidth:h},t}setShadowData(t,e,i,s){if(!this.app.getSettings().drawShadow)return;const n=100*this.getSettings().maxShadowOpacity;this.shadow={pos:t,angle:e,width:3*this.getRect().pageWidth/4*i/100,opacity:(100-i)*n/100/100,direction:s,progress:2*i}}clearShadow(){this.shadow=null}getBlockWidth(){return this.app.getUI().getDistElement().offsetWidth}getBlockHeight(){return this.app.getUI().getDistElement().offsetHeight}getDirection(){return this.direction}getRect(){return null===this.boundsRect&&this.calculateBoundsRect(),this.boundsRect}getSettings(){return this.app.getSettings()}getOrientation(){return this.orientation}setPageRect(t){this.pageRect=t}setDirection(t){this.direction=t}setRightPage(t){null!==t&&t.setOrientation(1),this.rightPage=t}setLeftPage(t){null!==t&&t.setOrientation(0),this.leftPage=t}setBottomPage(t){null!==t&&t.setOrientation(1===this.direction?0:1),this.bottomPage=t}setFlippingPage(t){null!==t&&t.setOrientation(0===this.direction&&\"portrait\"!==this.orientation?0:1),this.flippingPage=t}convertToBook(t){const e=this.getRect();return{x:t.x-e.left,y:t.y-e.top}}isSafari(){return this.safari}convertToPage(t,e){e||(e=this.direction);const i=this.getRect();return{x:0===e?t.x-i.left-i.width/2:i.width/2-t.x+i.left,y:t.y-i.top}}convertToGlobal(t,e){if(e||(e=this.direction),null==t)return null;const i=this.getRect();return{x:0===e?t.x+i.left+i.width/2:i.width/2-t.x+i.left,y:t.y+i.top}}convertRectToGlobal(t,e){return e||(e=this.direction),{topLeft:this.convertToGlobal(t.topLeft,e),topRight:this.convertToGlobal(t.topRight,e),bottomLeft:this.convertToGlobal(t.bottomLeft,e),bottomRight:this.convertToGlobal(t.bottomRight,e)}}}class d extends l{constructor(t,e,i){super(t,e),this.canvas=i,this.ctx=i.getContext(\"2d\")}getContext(){return this.ctx}reload(){}drawFrame(){this.clear(),\"portrait\"!==this.orientation&&null!=this.leftPage&&this.leftPage.simpleDraw(0),null!=this.rightPage&&this.rightPage.simpleDraw(1),null!=this.bottomPage&&this.bottomPage.draw(),this.drawBookShadow(),null!=this.flippingPage&&this.flippingPage.draw(),null!=this.shadow&&(this.drawOuterShadow(),this.drawInnerShadow());const t=this.getRect();\"portrait\"===this.orientation&&(this.ctx.beginPath(),this.ctx.rect(t.left+t.pageWidth,t.top,t.width,t.height),this.ctx.clip())}drawBookShadow(){const t=this.getRect();this.ctx.save(),this.ctx.beginPath();const e=t.width/20;this.ctx.rect(t.left,t.top,t.width,t.height);const i={x:t.left+t.width/2-e/2,y:0};this.ctx.translate(i.x,i.y);const s=this.ctx.createLinearGradient(0,0,e,0);s.addColorStop(0,\"rgba(0, 0, 0, 0)\"),s.addColorStop(.4,\"rgba(0, 0, 0, 0.2)\"),s.addColorStop(.49,\"rgba(0, 0, 0, 0.1)\"),s.addColorStop(.5,\"rgba(0, 0, 0, 0.5)\"),s.addColorStop(.51,\"rgba(0, 0, 0, 0.4)\"),s.addColorStop(1,\"rgba(0, 0, 0, 0)\"),this.ctx.clip(),this.ctx.fillStyle=s,this.ctx.fillRect(0,0,e,2*t.height),this.ctx.restore()}drawOuterShadow(){const t=this.getRect();this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(t.left,t.top,t.width,t.height);const e=this.convertToGlobal({x:this.shadow.pos.x,y:this.shadow.pos.y});this.ctx.translate(e.x,e.y),this.ctx.rotate(Math.PI+this.shadow.angle+Math.PI/2);const i=this.ctx.createLinearGradient(0,0,this.shadow.width,0);0===this.shadow.direction?(this.ctx.translate(0,-100),i.addColorStop(0,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\"),i.addColorStop(1,\"rgba(0, 0, 0, 0)\")):(this.ctx.translate(-this.shadow.width,-100),i.addColorStop(0,\"rgba(0, 0, 0, 0)\"),i.addColorStop(1,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\")),this.ctx.clip(),this.ctx.fillStyle=i,this.ctx.fillRect(0,0,this.shadow.width,2*t.height),this.ctx.restore()}drawInnerShadow(){const t=this.getRect();this.ctx.save(),this.ctx.beginPath();const e=this.convertToGlobal({x:this.shadow.pos.x,y:this.shadow.pos.y}),i=this.convertRectToGlobal(this.pageRect);this.ctx.moveTo(i.topLeft.x,i.topLeft.y),this.ctx.lineTo(i.topRight.x,i.topRight.y),this.ctx.lineTo(i.bottomRight.x,i.bottomRight.y),this.ctx.lineTo(i.bottomLeft.x,i.bottomLeft.y),this.ctx.translate(e.x,e.y),this.ctx.rotate(Math.PI+this.shadow.angle+Math.PI/2);const s=3*this.shadow.width/4,n=this.ctx.createLinearGradient(0,0,s,0);0===this.shadow.direction?(this.ctx.translate(-s,-100),n.addColorStop(1,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\"),n.addColorStop(.9,\"rgba(0, 0, 0, 0.05)\"),n.addColorStop(.7,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\"),n.addColorStop(0,\"rgba(0, 0, 0, 0)\")):(this.ctx.translate(0,-100),n.addColorStop(0,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\"),n.addColorStop(.1,\"rgba(0, 0, 0, 0.05)\"),n.addColorStop(.3,\"rgba(0, 0, 0, \"+this.shadow.opacity+\")\"),n.addColorStop(1,\"rgba(0, 0, 0, 0)\")),this.ctx.clip(),this.ctx.fillStyle=n,this.ctx.fillRect(0,0,s,2*t.height),this.ctx.restore()}clear(){this.ctx.fillStyle=\"white\",this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height)}}class p{constructor(t,e,i){this.touchPoint=null,this.swipeTimeout=250,this.onResize=()=>{this.update()},this.onMouseDown=t=>{if(this.checkTarget(t.target)){const e=this.getMousePos(t.clientX,t.clientY);this.app.startUserTouch(e),t.preventDefault()}},this.onTouchStart=t=>{if(this.checkTarget(t.target)&&t.changedTouches.length>0){const e=t.changedTouches[0],i=this.getMousePos(e.clientX,e.clientY);this.touchPoint={point:i,time:Date.now()},setTimeout(()=>{null!==this.touchPoint&&this.app.startUserTouch(i)},this.swipeTimeout),this.app.getSettings().mobileScrollSupport||t.preventDefault()}},this.onMouseUp=t=>{const e=this.getMousePos(t.clientX,t.clientY);this.app.userStop(e)},this.onMouseMove=t=>{const e=this.getMousePos(t.clientX,t.clientY);this.app.userMove(e,!1)},this.onTouchMove=t=>{if(t.changedTouches.length>0){const e=t.changedTouches[0],i=this.getMousePos(e.clientX,e.clientY);this.app.getSettings().mobileScrollSupport?(null!==this.touchPoint&&(Math.abs(this.touchPoint.point.x-i.x)>10||\"read\"!==this.app.getState())&&t.cancelable&&this.app.userMove(i,!0),\"read\"!==this.app.getState()&&t.preventDefault()):this.app.userMove(i,!0)}},this.onTouchEnd=t=>{if(t.changedTouches.length>0){const e=t.changedTouches[0],i=this.getMousePos(e.clientX,e.clientY);let s=!1;if(null!==this.touchPoint){const t=i.x-this.touchPoint.point.x,e=Math.abs(i.y-this.touchPoint.point.y);Math.abs(t)>this.swipeDistance&&e<2*this.swipeDistance&&Date.now()-this.touchPoint.time<this.swipeTimeout&&(t>0?this.app.flipPrev(this.touchPoint.point.y<this.app.getRender().getRect().height/2?\"top\":\"bottom\"):this.app.flipNext(this.touchPoint.point.y<this.app.getRender().getRect().height/2?\"top\":\"bottom\"),s=!0),this.touchPoint=null}this.app.userStop(i,s)}},this.parentElement=t,t.classList.add(\"stf__parent\"),t.insertAdjacentHTML(\"afterbegin\",'<div class=\"stf__wrapper\"></div>'),this.wrapper=t.querySelector(\".stf__wrapper\"),this.app=e;const s=this.app.getSettings().usePortrait?1:2;t.style.minWidth=i.minWidth*s+\"px\",t.style.minHeight=i.minHeight+\"px\",\"fixed\"===i.size&&(t.style.minWidth=i.width*s+\"px\",t.style.minHeight=i.height+\"px\"),i.autoSize&&(t.style.width=\"100%\",t.style.maxWidth=2*i.maxWidth+\"px\"),t.style.display=\"block\",window.addEventListener(\"resize\",this.onResize,!1),this.swipeDistance=i.swipeDistance}destroy(){this.app.getSettings().useMouseEvents&&this.removeHandlers(),this.distElement.remove(),this.wrapper.remove()}getDistElement(){return this.distElement}getWrapper(){return this.wrapper}setOrientationStyle(t){this.wrapper.classList.remove(\"--portrait\",\"--landscape\"),\"portrait\"===t?(this.app.getSettings().autoSize&&(this.wrapper.style.paddingBottom=this.app.getSettings().height/this.app.getSettings().width*100+\"%\"),this.wrapper.classList.add(\"--portrait\")):(this.app.getSettings().autoSize&&(this.wrapper.style.paddingBottom=this.app.getSettings().height/(2*this.app.getSettings().width)*100+\"%\"),this.wrapper.classList.add(\"--landscape\")),this.update()}removeHandlers(){window.removeEventListener(\"resize\",this.onResize),this.distElement.removeEventListener(\"mousedown\",this.onMouseDown),this.distElement.removeEventListener(\"touchstart\",this.onTouchStart),window.removeEventListener(\"mousemove\",this.onMouseMove),window.removeEventListener(\"touchmove\",this.onTouchMove),window.removeEventListener(\"mouseup\",this.onMouseUp),window.removeEventListener(\"touchend\",this.onTouchEnd)}setHandlers(){window.addEventListener(\"resize\",this.onResize,!1),this.app.getSettings().useMouseEvents&&(this.distElement.addEventListener(\"mousedown\",this.onMouseDown),this.distElement.addEventListener(\"touchstart\",this.onTouchStart),window.addEventListener(\"mousemove\",this.onMouseMove),window.addEventListener(\"touchmove\",this.onTouchMove,{passive:!this.app.getSettings().mobileScrollSupport}),window.addEventListener(\"mouseup\",this.onMouseUp),window.addEventListener(\"touchend\",this.onTouchEnd))}getMousePos(t,e){const i=this.distElement.getBoundingClientRect();return{x:t-i.left,y:e-i.top}}checkTarget(t){return!this.app.getSettings().clickEventForward||![\"a\",\"button\"].includes(t.tagName.toLowerCase())}}class c extends p{constructor(t,e,i,s){super(t,e,i),this.wrapper.insertAdjacentHTML(\"afterbegin\",'<div class=\"stf__block\"></div>'),this.distElement=t.querySelector(\".stf__block\"),this.items=s;for(const t of s)this.distElement.appendChild(t);this.setHandlers()}clear(){for(const t of this.items)this.parentElement.appendChild(t)}updateItems(t){this.removeHandlers(),this.distElement.innerHTML=\"\";for(const e of t)this.distElement.appendChild(e);this.items=t,this.setHandlers()}update(){this.app.getRender().update()}}class u extends p{constructor(t,e,i){super(t,e,i),this.wrapper.innerHTML='<canvas class=\"stf__canvas\"></canvas>',this.canvas=t.querySelectorAll(\"canvas\")[0],this.distElement=this.canvas,this.resizeCanvas(),this.setHandlers()}resizeCanvas(){const t=getComputedStyle(this.canvas),e=parseInt(t.getPropertyValue(\"width\"),10),i=parseInt(t.getPropertyValue(\"height\"),10);this.canvas.width=e,this.canvas.height=i}getCanvas(){return this.canvas}update(){this.resizeCanvas(),this.app.getRender().update()}}class w extends l{constructor(t,e,i){super(t,e),this.outerShadow=null,this.innerShadow=null,this.hardShadow=null,this.hardInnerShadow=null,this.element=i,this.createShadows()}createShadows(){this.element.insertAdjacentHTML(\"beforeend\",'<div class=\"stf__outerShadow\"></div>\\n             <div class=\"stf__innerShadow\"></div>\\n             <div class=\"stf__hardShadow\"></div>\\n             <div class=\"stf__hardInnerShadow\"></div>'),this.outerShadow=this.element.querySelector(\".stf__outerShadow\"),this.innerShadow=this.element.querySelector(\".stf__innerShadow\"),this.hardShadow=this.element.querySelector(\".stf__hardShadow\"),this.hardInnerShadow=this.element.querySelector(\".stf__hardInnerShadow\")}clearShadow(){super.clearShadow(),this.outerShadow.style.cssText=\"display: none\",this.innerShadow.style.cssText=\"display: none\",this.hardShadow.style.cssText=\"display: none\",this.hardInnerShadow.style.cssText=\"display: none\"}reload(){this.element.querySelector(\".stf__outerShadow\")||this.createShadows()}drawHardInnerShadow(){const t=this.getRect(),e=this.shadow.progress>100?200-this.shadow.progress:this.shadow.progress;let i=(100-e)*(2.5*t.pageWidth)/100+20;i>t.pageWidth&&(i=t.pageWidth);let s=`\\n            display: block;\\n            z-index: ${(this.getSettings().startZIndex+5).toString(10)};\\n            width: ${i}px;\\n            height: ${t.height}px;\\n            background: linear-gradient(to right,\\n                rgba(0, 0, 0, ${this.shadow.opacity*e/100}) 5%,\\n                rgba(0, 0, 0, 0) 100%);\\n            left: ${t.left+t.width/2}px;\\n            transform-origin: 0 0;\\n        `;s+=0===this.getDirection()&&this.shadow.progress>100||1===this.getDirection()&&this.shadow.progress<=100?\"transform: translate3d(0, 0, 0);\":\"transform: translate3d(0, 0, 0) rotateY(180deg);\",this.hardInnerShadow.style.cssText=s}drawHardOuterShadow(){const t=this.getRect();let e=(100-(this.shadow.progress>100?200-this.shadow.progress:this.shadow.progress))*(2.5*t.pageWidth)/100+20;e>t.pageWidth&&(e=t.pageWidth);let i=`\\n            display: block;\\n            z-index: ${(this.getSettings().startZIndex+4).toString(10)};\\n            width: ${e}px;\\n            height: ${t.height}px;\\n            background: linear-gradient(to left, rgba(0, 0, 0, ${this.shadow.opacity}) 5%, rgba(0, 0, 0, 0) 100%);\\n            left: ${t.left+t.width/2}px;\\n            transform-origin: 0 0;\\n        `;i+=0===this.getDirection()&&this.shadow.progress>100||1===this.getDirection()&&this.shadow.progress<=100?\"transform: translate3d(0, 0, 0) rotateY(180deg);\":\"transform: translate3d(0, 0, 0);\",this.hardShadow.style.cssText=i}drawInnerShadow(){const t=this.getRect(),e=3*this.shadow.width/4,i=0===this.getDirection()?e:0,s=0===this.getDirection()?\"to left\":\"to right\",n=this.convertToGlobal(this.shadow.pos),r=this.shadow.angle+3*Math.PI/2,o=[this.pageRect.topLeft,this.pageRect.topRight,this.pageRect.bottomRight,this.pageRect.bottomLeft];let a=\"polygon( \";for(const t of o){let e=1===this.getDirection()?{x:-t.x+this.shadow.pos.x,y:t.y-this.shadow.pos.y}:{x:t.x-this.shadow.pos.x,y:t.y-this.shadow.pos.y};e=h.GetRotatedPoint(e,{x:i,y:100},r),a+=e.x+\"px \"+e.y+\"px, \"}a=a.slice(0,-2),a+=\")\";const g=`\\n            display: block;\\n            z-index: ${(this.getSettings().startZIndex+10).toString(10)};\\n            width: ${e}px;\\n            height: ${2*t.height}px;\\n            background: linear-gradient(${s},\\n                rgba(0, 0, 0, ${this.shadow.opacity}) 5%,\\n                rgba(0, 0, 0, 0.05) 15%,\\n                rgba(0, 0, 0, ${this.shadow.opacity}) 35%,\\n                rgba(0, 0, 0, 0) 100%);\\n            transform-origin: ${i}px 100px;\\n            transform: translate3d(${n.x-i}px, ${n.y-100}px, 0) rotate(${r}rad);\\n            clip-path: ${a};\\n            -webkit-clip-path: ${a};\\n        `;this.innerShadow.style.cssText=g}drawOuterShadow(){const t=this.getRect(),e=this.convertToGlobal({x:this.shadow.pos.x,y:this.shadow.pos.y}),i=this.shadow.angle+3*Math.PI/2,s=1===this.getDirection()?this.shadow.width:0,n=0===this.getDirection()?\"to right\":\"to left\",r=[{x:0,y:0},{x:t.pageWidth,y:0},{x:t.pageWidth,y:t.height},{x:0,y:t.height}];let o=\"polygon( \";for(const t of r)if(null!==t){let e=1===this.getDirection()?{x:-t.x+this.shadow.pos.x,y:t.y-this.shadow.pos.y}:{x:t.x-this.shadow.pos.x,y:t.y-this.shadow.pos.y};e=h.GetRotatedPoint(e,{x:s,y:100},i),o+=e.x+\"px \"+e.y+\"px, \"}o=o.slice(0,-2),o+=\")\";const a=`\\n            display: block;\\n            z-index: ${(this.getSettings().startZIndex+10).toString(10)};\\n            width: ${this.shadow.width}px;\\n            height: ${2*t.height}px;\\n            background: linear-gradient(${n}, rgba(0, 0, 0, ${this.shadow.opacity}), rgba(0, 0, 0, 0));\\n            transform-origin: ${s}px 100px;\\n            transform: translate3d(${e.x-s}px, ${e.y-100}px, 0) rotate(${i}rad);\\n            clip-path: ${o};\\n            -webkit-clip-path: ${o};\\n        `;this.outerShadow.style.cssText=a}drawLeftPage(){\"portrait\"!==this.orientation&&null!==this.leftPage&&(1===this.direction&&null!==this.flippingPage&&\"hard\"===this.flippingPage.getDrawingDensity()?(this.leftPage.getElement().style.zIndex=(this.getSettings().startZIndex+5).toString(10),this.leftPage.setHardDrawingAngle(180+this.flippingPage.getHardAngle()),this.leftPage.draw(this.flippingPage.getDrawingDensity())):this.leftPage.simpleDraw(0))}drawRightPage(){null!==this.rightPage&&(0===this.direction&&null!==this.flippingPage&&\"hard\"===this.flippingPage.getDrawingDensity()?(this.rightPage.getElement().style.zIndex=(this.getSettings().startZIndex+5).toString(10),this.rightPage.setHardDrawingAngle(180+this.flippingPage.getHardAngle()),this.rightPage.draw(this.flippingPage.getDrawingDensity())):this.rightPage.simpleDraw(1))}drawBottomPage(){if(null===this.bottomPage)return;const t=null!=this.flippingPage?this.flippingPage.getDrawingDensity():null;\"portrait\"===this.orientation&&1===this.direction||(this.bottomPage.getElement().style.zIndex=(this.getSettings().startZIndex+3).toString(10),this.bottomPage.draw(t))}drawFrame(){this.clear(),this.drawLeftPage(),this.drawRightPage(),this.drawBottomPage(),null!=this.flippingPage&&(this.flippingPage.getElement().style.zIndex=(this.getSettings().startZIndex+5).toString(10),this.flippingPage.draw()),null!=this.shadow&&null!==this.flippingPage&&(\"soft\"===this.flippingPage.getDrawingDensity()?(this.drawOuterShadow(),this.drawInnerShadow()):(this.drawHardOuterShadow(),this.drawHardInnerShadow()))}clear(){for(const t of this.app.getPageCollection().getPages())t!==this.leftPage&&t!==this.rightPage&&t!==this.flippingPage&&t!==this.bottomPage&&(t.getElement().style.cssText=\"display: none\"),t.getTemporaryCopy()!==this.flippingPage&&t.hideTemporaryCopy()}update(){super.update(),null!==this.rightPage&&this.rightPage.setOrientation(1),null!==this.leftPage&&this.leftPage.setOrientation(0)}}class x{constructor(){this._default={startPage:0,size:\"fixed\",width:0,height:0,minWidth:0,maxWidth:0,minHeight:0,maxHeight:0,drawShadow:!0,flippingTime:1e3,usePortrait:!0,startZIndex:0,autoSize:!0,maxShadowOpacity:1,showCover:!1,mobileScrollSupport:!0,swipeDistance:30,clickEventForward:!0,useMouseEvents:!0,showPageCorners:!0,disableFlipByClick:!1}}getSettings(t){const e=this._default;if(Object.assign(e,t),\"stretch\"!==e.size&&\"fixed\"!==e.size)throw new Error('Invalid size type. Available only \"fixed\" and \"stretch\" value');if(e.width<=0||e.height<=0)throw new Error(\"Invalid width or height\");if(e.flippingTime<=0)throw new Error(\"Invalid flipping time\");return\"stretch\"===e.size?(e.minWidth<=0&&(e.minWidth=100),e.maxWidth<e.minWidth&&(e.maxWidth=2e3),e.minHeight<=0&&(e.minHeight=100),e.maxHeight<e.minHeight&&(e.maxHeight=2e3)):(e.minWidth=e.width,e.maxWidth=e.width,e.minHeight=e.height,e.maxHeight=e.height),e}}!function(t,e){void 0===e&&(e={});var i=e.insertAt;if(t&&\"undefined\"!=typeof document){var s=document.head||document.getElementsByTagName(\"head\")[0],n=document.createElement(\"style\");n.type=\"text/css\",\"top\"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}(\".stf__parent {\\n  position: relative;\\n  display: block;\\n  box-sizing: border-box;\\n  transform: translateZ(0);\\n\\n  -ms-touch-action: pan-y;\\n  touch-action: pan-y;\\n}\\n\\n.sft__wrapper {\\n  position: relative;\\n  width: 100%;\\n  box-sizing: border-box;\\n}\\n\\n.stf__parent canvas {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  left: 0;\\n  top: 0;\\n}\\n\\n.stf__block {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  box-sizing: border-box;\\n  perspective: 2000px;\\n}\\n\\n.stf__item {\\n  display: none;\\n  position: absolute;\\n  transform-style: preserve-3d;\\n}\\n\\n.stf__outerShadow {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\\n\\n.stf__innerShadow {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\\n\\n.stf__hardShadow {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\\n\\n.stf__hardInnerShadow {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\");t.PageFlip=class extends class{constructor(){this.events=new Map}on(t,e){return this.events.has(t)?this.events.get(t).push(e):this.events.set(t,[e]),this}off(t){this.events.delete(t)}trigger(t,e,i=null){if(this.events.has(t))for(const s of this.events.get(t))s({data:i,object:e})}}{constructor(t,e){super(),this.isUserTouch=!1,this.isUserMove=!1,this.setting=null,this.pages=null,this.setting=(new x).getSettings(e),this.block=t}destroy(){this.ui.destroy(),this.block.remove()}update(){this.render.update(),this.pages.show()}loadFromImages(t){this.ui=new u(this.block,this,this.setting);const e=this.ui.getCanvas();this.render=new d(this,this.setting,e),this.flipController=new g(this.render,this),this.pages=new n(this,this.render,t),this.pages.load(),this.render.start(),this.pages.show(this.setting.startPage),setTimeout(()=>{this.ui.update(),this.trigger(\"init\",this,{page:this.setting.startPage,mode:this.render.getOrientation()})},1)}loadFromHTML(t){this.ui=new c(this.block,this,this.setting,t),this.render=new w(this,this.setting,this.ui.getDistElement()),this.flipController=new g(this.render,this),this.pages=new o(this,this.render,this.ui.getDistElement(),t),this.pages.load(),this.render.start(),this.pages.show(this.setting.startPage),setTimeout(()=>{this.ui.update(),this.trigger(\"init\",this,{page:this.setting.startPage,mode:this.render.getOrientation()})},1)}updateFromImages(t){const e=this.pages.getCurrentPageIndex();this.pages.destroy(),this.pages=new n(this,this.render,t),this.pages.load(),this.pages.show(e),this.trigger(\"update\",this,{page:e,mode:this.render.getOrientation()})}updateFromHtml(t){const e=this.pages.getCurrentPageIndex();this.pages.destroy(),this.pages=new o(this,this.render,this.ui.getDistElement(),t),this.pages.load(),this.ui.updateItems(t),this.render.reload(),this.pages.show(e),this.trigger(\"update\",this,{page:e,mode:this.render.getOrientation()})}clear(){this.pages.destroy(),this.ui.clear()}turnToPrevPage(){this.pages.showPrev()}turnToNextPage(){this.pages.showNext()}turnToPage(t){this.pages.show(t)}flipNext(t=\"top\"){this.flipController.flipNext(t)}flipPrev(t=\"top\"){this.flipController.flipPrev(t)}flip(t,e=\"top\"){this.flipController.flipToPage(t,e)}updateState(t){this.trigger(\"changeState\",this,t)}updatePageIndex(t){this.trigger(\"flip\",this,t)}updateOrientation(t){this.ui.setOrientationStyle(t),this.update(),this.trigger(\"changeOrientation\",this,t)}getPageCount(){return this.pages.getPageCount()}getCurrentPageIndex(){return this.pages.getCurrentPageIndex()}getPage(t){return this.pages.getPage(t)}getRender(){return this.render}getFlipController(){return this.flipController}getOrientation(){return this.render.getOrientation()}getBoundsRect(){return this.render.getRect()}getSettings(){return this.setting}getUI(){return this.ui}getState(){return this.flipController.getState()}getPageCollection(){return this.pages}startUserTouch(t){this.mousePosition=t,this.isUserTouch=!0,this.isUserMove=!1}userMove(t,e){this.isUserTouch||e||!this.setting.showPageCorners?this.isUserTouch&&h.GetDistanceBetweenTwoPoint(this.mousePosition,t)>5&&(this.isUserMove=!0,this.flipController.fold(t)):this.flipController.showCorner(t)}userStop(t,e=!1){this.isUserTouch&&(this.isUserTouch=!1,e||(this.isUserMove?this.flipController.stopMove():this.flipController.flip(t)))}},Object.defineProperty(t,\"__esModule\",{value:!0})}));\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('page-flip')) :\n  typeof define === 'function' && define.amd ? define(['react', 'page-flip'], factory) :\n  (global = global || self, global.HTMLFlipBook = factory(global.React, global.pageFlip));\n}(this, (function (React, pageFlip) { 'use strict';\n\n  React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n  class HTMLFlipBook extends React.Component {\n    componentDidMount() {\n      this.pageFlip = new pageFlip.PageFlip(this.el, this.props);\n\n      this.pageFlip.loadFromHTML(this.childRef);\n      this.setHandlers();\n    }\n\n    setHandlers() {\n      if (this.props.onFlip)\n        this.pageFlip.on(\"flip\", (e) => this.props.onFlip(e));\n\n      if (this.props.onChangeOrientation)\n        this.pageFlip.on(\"changeOrientation\", (e) =>\n          this.props.onChangeOrientation(e)\n        );\n\n      if (this.props.onChangeState)\n        this.pageFlip.on(\"changeState\", (e) => this.props.onChangeState(e));\n\n      if (this.props.onInit)\n        this.pageFlip.on(\"init\", (e) => this.props.onInit(e));\n\n      if (this.props.onUpdate)\n        this.pageFlip.on(\"update\", (e) => this.props.onUpdate(e));\n    }\n\n    componentWillUnmount() {\n      this.pageFlip.destroy();\n      this.pageFlip = null;\n    }\n\n    componentDidUpdate(prevProps) {\n      if (prevProps.children !== this.props.children) {\n        this.pageFlip.off(\"flip\");\n        this.pageFlip.off(\"changeOrientation\");\n        this.pageFlip.off(\"changeState\");\n        this.pageFlip.off(\"init\");\n        this.pageFlip.off(\"update\");\n\n        this.pageFlip.updateFromHtml(this.childRef);\n        this.setHandlers();\n      }\n    }\n\n    getPageFlip() {\n      return this.pageFlip;\n    }\n\n    render() {\n      this.childRef = [];\n\n      const childWithRef = React.Children.map(this.props.children, (child) => {\n        return React.cloneElement(child, {\n          ref: (dom) => {\n            if (dom) this.childRef.push(dom);\n          },\n        });\n      });\n\n      return React.createElement(\n        \"div\",\n        {\n          ref: (el) => (this.el = el),\n          className: this.props.className,\n          style: this.props.style,\n        },\n        childWithRef\n      );\n    }\n  }\n\n  return HTMLFlipBook;\n\n})));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport HTMLFlipBook from 'react-pageflip';\n\nconst getHeightAndWidth = orientation => {\n  switch (orientation) {\n    case 'portrait':\n      return { width: 230, height: 300 };\n    case 'square':\n      return { width: 300, height: 300 };\n    default:\n      return { width: 300, height: 230 };\n  }\n};\n\nconst PhotobookPreview = props => {\n  const { previewImages, orientation } = props;\n  const [, ...previewsExceptFirstPage] = previewImages || [];\n  const { width, height } = getHeightAndWidth(orientation);\n\n  return (\n    <HTMLFlipBook\n      id=\"photobook\"\n      width={width}\n      height={height}\n      size=\"stretch\"\n      minWidth={width}\n      maxWidth={600}\n      minHeight={height}\n      maxHeight={600}\n      showCover\n      maxShadowOpacity={0.5}>\n      {previewsExceptFirstPage.map(image => (\n        <div key={image}>\n          <img\n            alt=\"photobook-preview-page\"\n            src={image}\n            style={{ width: '100%', height: 'auto' }}\n          />\n        </div>\n      ))}\n    </HTMLFlipBook>\n  );\n};\n\nPhotobookPreview.propTypes = {\n  previewImages: PropTypes.arrayOf(PropTypes.string),\n  orientation: PropTypes.oneOf(['landscape', 'portrait', 'square']),\n};\n\nPhotobookPreview.defaultProps = {\n  previewImages: null,\n  orientation: null,\n};\n\nexport default PhotobookPreview;\n","import PropTypes from 'prop-types';\nimport wasPriceType from '../../_utils/types/was-price-type';\n\nconst modalContentType = PropTypes.shape({\n  themeTitle: PropTypes.string,\n  url: PropTypes.string,\n  deliveryOptionKeys: PropTypes.arrayOf(PropTypes.number),\n  previewImages: PropTypes.arrayOf(PropTypes.string),\n  priceInfo: PropTypes.shape({\n    price: PropTypes.number,\n    price_range: PropTypes.arrayOf(PropTypes.number),\n    set_size: PropTypes.number,\n    was_price: wasPriceType,\n  }),\n});\n\nexport default modalContentType;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from '../_utils/modal';\nimport ProductPrice from '../_utils/product-price';\nimport PreviewableDeliveryOptions from './previewable-delivery-options';\nimport PhotobookPreview from './photobook-preview';\nimport modalContentType from './types/modal-content-type';\nimport deliveryOptionType from './types/delivery-option-type';\n\nconst PhotobookModal = props => {\n  const { handleModalClose, open, modalContent, deliveryOptions } = props;\n\n  return (\n    <Modal\n      open={open}\n      close\n      turnOffBackgroundClose\n      onClose={handleModalClose}\n      maxWidth={720}\n      actions={\n        <div\n          className=\"photobook_modal\"\n          data-test-id=\"shelf-category-products-modal\">\n          <div className=\"container\">\n            <h2 data-test-id=\"photobook-modal-title\">\n              {modalContent.themeTitle}\n            </h2>\n            <hr />\n            <div\n              data-test-id=\"photobook-preview\"\n              className={`photobook_modal_image ${modalContent.orientation}`}>\n              <div className=\"photobook_modal_image_container\">\n                <PhotobookPreview\n                  previewImages={modalContent.previewImages}\n                  orientation={modalContent.orientation}\n                />\n              </div>\n              <span data-test-id=\"photobook-modal-hint\">\n                Click or drag pages to preview this design\n              </span>\n            </div>\n          </div>\n          <div className=\"photobook_modal_body\">\n            <PreviewableDeliveryOptions\n              deliveryOptions={deliveryOptions}\n              deliveryOptionKeys={modalContent.deliveryOptionKeys}\n            />\n            <div className=\"photobook_modal_button\">\n              <ProductPrice {...modalContent.priceInfo} />\n              <button\n                type=\"button\"\n                onClick={e => {\n                  e.preventDefault();\n                  window.location.assign(modalContent.url);\n                }}\n                data-test-id=\"select-grouped-category-button\"\n                className=\"btn btn-primary btn-lg\">\n                Select\n              </button>\n            </div>\n          </div>\n        </div>\n      }\n    />\n  );\n};\n\nPhotobookModal.propTypes = {\n  handleModalClose: PropTypes.func.isRequired,\n  modalContent: modalContentType.isRequired,\n  open: PropTypes.bool.isRequired,\n  deliveryOptions: PropTypes.arrayOf(deliveryOptionType).isRequired,\n};\n\nexport default PhotobookModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport PhotobookModal from './photobook-modal';\nimport productType from './types/product-type';\nimport preSelectionsType from './types/pre-selections-type';\nimport modalContentType from './types/modal-content-type';\nimport deliveryOptionType from './types/delivery-option-type';\nimport NewProduct from '../_utils/new-product';\n\nconst PreviewableProducts = ({\n  products,\n  modalOpen,\n  modalContent,\n  preSelections,\n  favourites,\n  roundOption,\n  handleProductOnClick,\n  handleModalContent,\n  handleModalClose,\n  deliveryOptions,\n  showThumbnailImages,\n  productsWithMultipleVariants,\n  selectedDeliveryOptions\n}) => {\n  const getSizeAndCover = productTitle => {\n    const [size, coverFirstWord, coverSecondWord] = productTitle.split(' ');\n    return { size, coverFirstWord, coverSecondWord };\n  };\n\n  const showPreviewImages = product => {\n    const { coverFirstWord, coverSecondWord } = getSizeAndCover(product.title);\n    const isPremium =\n      /premium/i.test(coverFirstWord) || /premium/i.test(coverSecondWord);\n    const hasPreviewImages =\n      product.preview_images && product.preview_images.length;\n\n    return !isPremium && hasPreviewImages;\n  };\n\n  return (\n    <div className=\"row\">\n      {products.map(product => {\n        return showPreviewImages(product) ? (\n          <NewProduct\n            key={product.id + product.theme_name}\n            {...product}\n            preSelections={preSelections}\n            favourites={favourites}\n            roundOption={roundOption}\n            showThumbnailImages={showThumbnailImages}\n            handleOnClick={handleProductOnClick}\n            handleModalContent={handleModalContent}\n            productsWithMultipleVariants={productsWithMultipleVariants}\n            selectedDeliveryOptions={selectedDeliveryOptions}\n          />\n        ) : (\n          <NewProduct\n            key={product.id + product.theme_name}\n            {...product}\n            preSelections={preSelections}\n            favourites={favourites}\n            roundOption={roundOption}\n            showThumbnailImages={showThumbnailImages}\n            productsWithMultipleVariants={productsWithMultipleVariants}\n            selectedDeliveryOptions={selectedDeliveryOptions}\n          />\n        );\n      })}\n      <PhotobookModal\n        open={modalOpen}\n        handleModalClose={handleModalClose}\n        modalContent={modalContent}\n        deliveryOptions={deliveryOptions}\n      />\n    </div>\n  );\n};\n\nPreviewableProducts.propTypes = {\n  favourites: PropTypes.arrayOf(PropTypes.string),\n  modalOpen: PropTypes.bool.isRequired,\n  modalContent: modalContentType.isRequired,\n  preSelections: preSelectionsType.isRequired,\n  products: PropTypes.arrayOf(productType).isRequired,\n  roundOption: PropTypes.bool.isRequired,\n  handleProductOnClick: PropTypes.func.isRequired,\n  handleModalContent: PropTypes.func.isRequired,\n  handleModalClose: PropTypes.func.isRequired,\n  deliveryOptions: PropTypes.arrayOf(deliveryOptionType).isRequired,\n  selectedDeliveryOptions: PropTypes.string\n};\n\nPreviewableProducts.defaultProps = {\n  favourites: null,\n};\n\nexport default PreviewableProducts;\n","// Import Libraries\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// Import JSX Modules\nimport PreviewableProducts from './previewable-products';\nimport GenericProducts from './generic-products';\nimport productType from './types/product-type';\nimport deliveryOptionType from './types/delivery-option-type';\n\nclass Products extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      modalOpen: false,\n      modalContent: {},\n    };\n  }\n\n  handleModalClose = () => this.setState({ modalOpen: false });\n\n  handleProductOnClick = e => {\n    const { previewInModal } = this.props;\n\n    if (previewInModal) {\n      e.preventDefault();\n      this.setState({ modalOpen: true });\n    }\n  };\n\n  handleModalContent = modalContent => {\n    this.setState({ modalContent });\n  };\n\n  render() {\n    const {\n      deliveryOptions,\n      favourites,\n      isMobileFilterOpen,\n      preSelections,\n      previewInModal,\n      products,\n      roundOption,\n      showThumbnailImages,\n      selectedDeliveryOptions\n    } = this.props;\n\n    const { modalOpen, modalContent } = this.state;\n    const productsWithMultipleVariants = products.filter(product => product.variants && product.variants.length > 1).length > 0\n    return (\n      <section\n        className={classNames('products', {\n          'd-none': isMobileFilterOpen,\n        })}\n        aria-label=\"products\">\n        {previewInModal ? (\n          <PreviewableProducts\n            products={products}\n            preSelections={preSelections}\n            favourites={favourites}\n            roundOption={roundOption}\n            modalOpen={modalOpen}\n            modalContent={modalContent}\n            handleProductOnClick={this.handleProductOnClick}\n            handleModalContent={this.handleModalContent}\n            handleModalClose={this.handleModalClose}\n            deliveryOptions={deliveryOptions}\n            showThumbnailImages={showThumbnailImages}\n            productsWithMultipleVariants={productsWithMultipleVariants}\n            selectedDeliveryOptions={selectedDeliveryOptions}\n          />\n        ) : (\n          <GenericProducts\n            products={products}\n            preSelections={preSelections}\n            favourites={favourites}\n            roundOption={roundOption}\n            showThumbnailImages={showThumbnailImages}\n            productsWithMultipleVariants={productsWithMultipleVariants}\n            selectedDeliveryOptions={selectedDeliveryOptions}\n          />\n        )}\n      </section>\n    );\n  }\n}\n\nProducts.propTypes = {\n  favourites: PropTypes.arrayOf(PropTypes.string),\n  isMobileFilterOpen: PropTypes.bool,\n  preSelections: PropTypes.shape({\n    page: PropTypes.number,\n    search: PropTypes.string,\n    showMobileFiltersFullScreen: PropTypes.bool,\n    sort: PropTypes.string,\n  }).isRequired,\n  products: PropTypes.arrayOf(productType).isRequired,\n  roundOption: PropTypes.bool.isRequired,\n  previewInModal: PropTypes.bool,\n  deliveryOptions: PropTypes.arrayOf(deliveryOptionType),\n  selectedDeliveryOptions: PropTypes.string\n};\n\nProducts.defaultProps = {\n  favourites: null,\n  isMobileFilterOpen: null,\n  previewInModal: false,\n  deliveryOptions: null\n};\n\nexport default Products;\n","import createReactClass from 'create-react-class';\n('use strict');\n\n// Import Libraries\nimport React from 'react';\n\n// -----------------------------------------------------------\n//  NoResults\n// -----------------------------------------------------------\nvar NoResults = createReactClass({\n  render: function() {\n    return (\n      <div className=\"no-results\">\n        <div className=\"noresult\">\n          <div className=\"no-result-image\"></div>\n          <h2>We couldn't find a match</h2>\n          <p>Let's clear your filters and start over.</p>\n        </div>\n        <button\n          className=\"btn btn-primary btn-lg\"\n          onClick={this.props.onClearAllFilters}>\n          {' '}\n          Clear filters\n        </button>\n      </div>\n    );\n  },\n});\n\nexport default NoResults;\n","import createReactClass from 'create-react-class';\n'use strict';\n\n// Import Libraries\nimport React from 'react';\nimport FocusTrap from 'focus-trap-react';\n\n// -----------------------------------------------------------\n//  MobileFiltersFullScreen\n// -----------------------------------------------------------\nvar MobileFiltersFullScreen = createReactClass({\n  displayName: 'Mobile Filters Full Screen',\n\n  handleResetClick: function() {\n    this.props.onClearAllFilters();\n  },\n\n  handleDoneClick: function() {\n    this.props.onDoneClick();\n  },\n\n  render: function() {\n    return (\n      <FocusTrap active={ this.props.showMobileFiltersFullScreen } focusTrapOptions={{ returnFocusOnDeactivate: true }}>\n        <div className=\"mobile-filters\">\n          <header>\n            <div className=\"row\">\n              <div className=\"col reset-container\">\n                <button className=\"btn-secondary btn\" onClick={this.handleResetClick}>Reset</button>\n              </div>\n              <div className=\"col done-container\">\n                <button className=\"btn-primary btn\" onClick={this.handleDoneClick}>Done</button>\n              </div>\n            </div>\n          </header>\n          <main>\n            {this.props.children}\n          </main>\n        </div>\n      </FocusTrap>\n   );\n  }\n});\n\nexport default MobileFiltersFullScreen;\n","function* paramsGenerator({\n  filters,\n  search,\n  delivery_options: deliveryOptions = [],\n  sort,\n  page,\n  favouritesFiltered,\n}) {\n  for (const key in filters) {\n    if (filters[key].length === 0) continue;\n\n    yield [key, filters[key]];\n  }\n\n  if (search) yield ['search', search];\n\n  if (deliveryOptions.length) yield ['delivery-options', deliveryOptions];\n\n  if (sort !== 'best-sellers') yield ['_sort', sort];\n\n  if (page !== 1) yield ['_page', page];\n\n  if (favouritesFiltered) yield ['favourited', favouritesFiltered];\n}\n\nfunction generateQueryString(state) {\n  const paramsIterator = paramsGenerator(state);\n\n  return Array.from(paramsIterator)\n    .map(([key, value]) => {\n      return (\n        // eslint-disable-next-line prefer-template\n        encodeURIComponent(key) +\n        '=' +\n        []\n          .concat(value)\n          .map(v => encodeURIComponent(v))\n          .join(encodeURIComponent('|'))\n      );\n    })\n    .join('&');\n}\n\nexport default generateQueryString;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport genericHelpers from '../_utils/generic-helpers';\n\nfunction DeliveryOptionFilter({\n  selected,\n  available,\n  onToggle,\n  title,\n  optionKey,\n  unavailable\n}) {\n\n  const handleClick = e => {\n    e.preventDefault();\n    onToggle(optionKey)\n  };\n  return (\n    <li\n      className={classNames('options-list-names', {\n        selected: selected,\n        unavailable: unavailable,\n      })}\n      key={title}>\n      <div\n        className={classNames(\n          'mr-2 d-flex',\n          'text-unstyled',\n          {\n            selected: selected,\n            disabled: !available,\n          }\n        )}>\n        <label htmlFor={title} className='m-0'>\n          <input type=\"radio\"\n            id={title}\n            className={classNames(\n              'mr-2 black-radio-button',\n              {\n                selected: selected,\n                disabled: !available,\n              }\n            )}\n            onChange={handleClick}\n            checked={selected}\n            aria-label={title}>\n          </input>\n          {genericHelpers.tidyTitleFilter(title)}\n        </label>\n      </div>\n    </li>\n  );\n}\n\nDeliveryOptionFilter.propTypes = {\n  selected: PropTypes.bool,\n  available: PropTypes.bool,\n  unavailable: PropTypes.bool,\n  onToggle: PropTypes.func,\n  title: PropTypes.string.isRequired,\n  optionKey: PropTypes.number,\n};\n\nexport default DeliveryOptionFilter;\n","'use strict';\nimport React, { useState, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport translate from '../_utils/tools/translate';\nimport { builderDispatch, ShelfUI } from '../_utils/ui';\nimport DeliveryOptionFilter from './delivery-option-filter';\n\nconst DeliveryOptionFilters = ({\n  selected_options: selectedOptions,\n  modal,\n  options,\n  facets: pFacets,\n  ariaLabel\n}) => {\n  const [collapsed, setCollapsed] = useState(true);\n  const componentRef = useRef(null);\n  const joinedSelectedOptions = selectedOptions.sort().join('')\n\n  if (options.length <= 1) return null;\n  useEffect(() => {\n    document.addEventListener('click', handleClick);\n    return () => window.removeEventListener('click', handleClick);\n  }, []);\n\n  const deliveryTitle = () => {\n    const selectOptionCount = selectedOptions.length;\n    return selectOptionCount > 0\n      ? `${translate('Delivery')} (${selectOptionCount})`\n      : translate('Delivery');\n  };\n\n  const handleCollapsedClicked = () => {\n    setCollapsed(prevState => !prevState);\n  };\n\n  const updateOptions = options => {\n    builderDispatch.delayedDispatch({\n      type: ShelfUI.DELIVERY_OPTION_SELECTED,\n      options: options,\n    });\n    handleCollapsedClicked();\n  };\n\n  const checkOptions = options => {\n    return selectedOptions.includes(options);\n  };\n\n  const handleOptionSelected = options => {\n    if (checkOptions(options)) {\n      selectedOptions = [] \n    } else {\n      if ((typeof options) === 'undefined'){\n        selectedOptions = []\n      } else {\n        selectedOptions = [options]\n      }\n    }\n    updateOptions(selectedOptions);\n  };\n\n  const handleClick = e => {\n    if (componentRef.current && !componentRef.current.contains(e.target)) {\n      setCollapsed(true);\n    }\n  };\n\n  const facets = (pFacets || []).map(facet => parseInt(facet.key));\n  return (\n    <li className={classNames('m-1', { 'mt-4 modal-li': modal })} ref={componentRef}>\n      <button\n        className={classNames('btn shelf-filter-dropdown-toggle', {\n          'selected-button': selectedOptions.length > 0,\n          'modal-button d-flex d-flex-row justify-content-between': modal,\n        })}\n        onClick={handleCollapsedClicked}\n        aria-label={ariaLabel}\n        aria-expanded={!collapsed}\n        role=\"button\"\n      >\n        {deliveryTitle()}\n        <i\n          className={classNames(\n            'fa ml-2',\n            collapsed ? 'fa-angle-down' : 'fa-angle-up',\n            { 'pull-left': modal }\n          )}></i>\n      </button>\n\n      <div\n        role=\"menu\"\n        aria-hidden={collapsed}\n        className={classNames('shelf-filter-dropdown px-4', {\n          'd-none': collapsed,\n          'py-3': !modal\n        })}>\n        <ul className=\"list-unstyled\" role=\"list\">\n          <DeliveryOptionFilter\n            key={0}\n            title=\"Show all\"\n            OptionKey={[]}\n            available={true}\n            selected={!joinedSelectedOptions}\n            onToggle={handleOptionSelected}\n            newUi={true}\n              />\n          {(options || []).map((option, i) => {\n            const available = facets.length\n              ? facets.some(facet => option.key !== facet)\n              : option.available;\n            return (\n              <DeliveryOptionFilter\n                {...option}\n                key={i}\n                optionKey={option.key}\n                available={available}\n                selected={checkOptions(option.key)}\n                onToggle={handleOptionSelected}\n                newUi={true}\n              />\n            );\n          })}\n        </ul>\n      </div>\n    </li>\n  );\n};\n\nDeliveryOptionFilters.propTypes = {\n  onClearAllFiltersClick: PropTypes.func,\n  options: PropTypes.array,\n  facets: PropTypes.array,\n  selected_otpions: PropTypes.array,\n  onClickedCollapsed: PropTypes.func,\n  collapsed: PropTypes.bool,\n  modal: PropTypes.bool,\n};\n\nexport default DeliveryOptionFilters;\n","'use strict';\n\n// Import Libraries\nimport React      from 'react';\nimport classNames from 'classnames';\n// Import class\nimport OptionSorter from './option-sorter';\n\n// -----------------------------------------------------------\n//  StandardFilterOptions\n// -----------------------------------------------------------\nconst ColorFilterOptions = ({options, selected_options: selectedOptions, facets, onOptionSelected, newUi}) => {\n  return (\n    <ul className=\"list-unstyled blob\">\n      {\n        (new OptionSorter(options.filter(option => option.title))).sort().map(renderOption, this)\n      }\n    </ul>\n  );\n\n  function renderOption(option) {\n    const selected = selectedOptions.indexOf(option.title) > -1,\n          unavailable = (() => {\n            if (facets) {\n              return !facets.some(facet => facet.key === option.title);\n            }\n\n            return !option.available;\n          })();\n\n    const handleOptionSelected = (e) => {\n      e.preventDefault();\n      onOptionSelected(option.title);\n    };\n\n    if (unavailable & newUi) return null;\n    return (\n      <li key={ option.title } className={ classNames('color-picker-option', {selected: selected, unavailable: unavailable}) }>\n        <a href='#' onClick={ handleOptionSelected } title={ option.title.toUpperCase() }\n          aria-label={option.title}\n          aria-checked={selected}\n          role='checkbox'>\n          <div className={classNames(option.title, 'color-preview')} style={ { background: option.title.replace(/ /g, '') } } />\n        </a>\n        <div className='color-description'>\n          { option.title }\n        </div>\n      </li>\n    );\n  }\n};\n\nexport default ColorFilterOptions;\n","'use strict';\n\n// Import Libraries\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// Import class\nimport OptionSorter from './option-sorter';\nimport AppleDeviceNameCapitaliser from '../_utils/apple-device-name-capitaliser';\n\n// -----------------------------------------------------------\n//  ImageFilterOptions\n// -----------------------------------------------------------\nconst ImageFilterOptions = ({\n  category,\n  options,\n  selected_options: selectedOptions,\n  facets,\n  onOptionSelected,\n  modal,\n  newUi,\n}) => {\n  return (\n    <ul className=\"list-unstyled blob image d-flex justify-content-centre align-item-centre flex-wrap\">\n      {new OptionSorter(options.filter(option => option.title))\n        .sort()\n        .map(renderOption, this)}\n    </ul>\n  );\n\n  function renderOption(option) {\n    const selected = selectedOptions.indexOf(option.title) > -1,\n      unavailable = (() => {\n        if (facets) {\n          return !facets.some(facet => facet.key === option.title);\n        }\n\n        return !option.available;\n      })();\n\n    const handleOptionSelected = e => {\n      e.preventDefault();\n      onOptionSelected(option.title);\n    };\n\n    if (unavailable & newUi) return null;\n    return (\n      <li\n        key={option.title}\n        className={classNames(\n          'dropdown-images',\n          { selected, unavailable },\n          { 'image-items': modal }\n        )}>\n        <a href=\"#\" onClick={handleOptionSelected}\n            className=\"image-caption\"\n            aria-label={option.title}\n            aria-checked={selected}\n            role='checkbox'>\n          <img\n            src={option.image}\n            className=\"img-fluid\"\n            alt={`${option.title} ${category}`.toLowerCase()}\n          />\n          <span className=\"option-description text-centre\">\n            <AppleDeviceNameCapitaliser>\n              {option.title}\n            </AppleDeviceNameCapitaliser>\n          </span>\n        </a>\n      </li>\n    );\n  }\n};\n\nImageFilterOptions.propTypes = {\n  category: PropTypes.string,\n  options: PropTypes.array,\n  selected_options: PropTypes.array,\n  facets: PropTypes.array,\n  onOptionSelected: PropTypes.func,\n  modal: PropTypes.bool,\n  newUi: PropTypes.bool,\n};\n\nexport default ImageFilterOptions;\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport genericHelpers from '../_utils/generic-helpers';\nimport { ShelfUI, builderDispatch } from '../_utils/ui';\nimport ColorFilterOptions from './color-filter-options';\nimport ImageFilterOptions from './image-filter-options';\nimport StandardFilterOptions from './standard-filter-options';\nimport DecapitalisedTitle from '../_utils/decapitalised-title';\n// -----------------------------------------------------------\n//  Filter\n// -----------------------------------------------------------\nfunction Filter({\n  filter_name,\n  multiselectable,\n  modal,\n  selected_options: selectedOptions,\n  name,\n  options,\n  title,\n  facets,\n  category,\n}) {\n  const [collapsed, setCollapsed] = useState(true);\n  const componentRef = useRef(null);\n\n  useEffect(() => {\n    window.addEventListener('click', handleClick);\n    return () => window.removeEventListener('click', handleClick);\n  }, []);\n\n  const handleClick = e => {\n    if (componentRef.current && !componentRef.current.contains(e.target)) {\n      setCollapsed(true);\n    }\n  };\n\n  const handleCollapsedClicked = () => {\n    setCollapsed(prevState => !prevState);\n  };\n\n  const handleOptionClick = option => {\n    builderDispatch.delayedDispatch({\n      type: ShelfUI.FILTER_SELECTED,\n      filter: filter_name,\n      option: option,\n      multiselectable: multiselectable,\n    });\n    if (!modal) setCollapsed(prevState => !prevState);\n  };\n\n  const filterTitle =\n    selectedOptions.length > 0 ? `${title} (${selectedOptions.length})` : title;\n  const isColor = () => {\n    return ['color', 'colour'].some(term => name === term);\n  }\n    \n  const isImage = () => {\n    const option = options[0];\n\n    return option && option.image;\n  };\n\n  const getOptions = () => {\n    if (isColor())\n      return (\n        <ColorFilterOptions\n          options={options}\n          selected_options={selectedOptions}\n          facets={facets}\n          onOptionSelected={handleOptionClick}\n          newUi={true}\n        />\n      );\n\n    if (isImage())\n      return (\n        <ImageFilterOptions\n          category={category}\n          options={options}\n          selected_options={selectedOptions}\n          facets={facets}\n          onOptionSelected={handleOptionClick}\n          newUi={true}\n        />\n      );\n\n    return (\n      <StandardFilterOptions\n        options={options}\n        selected_options={selectedOptions}\n        facets={facets}\n        onOptionSelected={handleOptionClick}\n        newUi={true}\n      />\n    );\n  };\n\n  return (\n    <li\n      className={classNames(\n        'm-1',\n        { 'modal-li': modal },\n        { 'selected-li': selectedOptions.length > 0 }\n      )}\n      ref={componentRef}>\n      <button\n        aria-expanded={!collapsed}\n        className={classNames('btn shelf-filter-dropdown-toggle', {\n          'selected-button': selectedOptions.length > 0,\n          'modal-button d-flex d-flex-row justify-content-between': modal,\n        })}\n        onClick={handleCollapsedClicked}>\n        <DecapitalisedTitle>\n          {genericHelpers.tidyTitleFilter(filterTitle)}\n        </DecapitalisedTitle>\n\n        <i\n          className={classNames(\n            'fa ml-2',\n            collapsed ? 'fa-angle-down' : 'fa-angle-up'\n          )}></i>\n      </button>\n      <div\n        role=\"menu\"\n        aria-hidden={collapsed}\n        aria-label={title}\n        className={classNames('shelf-filter-dropdown px-4', {\n          'd-none': collapsed,\n          'colour-menu': isColor(),\n          'image-filters-dropdown': isImage(),\n          'py-3': !modal,\n        })}>\n        {getOptions()}\n        {selectedOptions.length > 0 && (\n          <button\n            className={classNames('btn btn-link p-0', {\n              'clear-button': true,\n            })}\n            onClick={() => {\n              handleOptionClick(null);\n            }}>\n            Clear\n          </button>\n        )}\n      </div>\n    </li>\n  );\n}\n\nFilter.propTypes = {\n  filter_name: PropTypes.string,\n  name: PropTypes.string,\n  title: PropTypes.string,\n  options: PropTypes.array,\n  category: PropTypes.string,\n  facets: PropTypes.array,\n  selected_ptions: PropTypes.array,\n  modal: PropTypes.bool\n};\n\nFilter.defaultProps = {\n  modal: null\n};\n\nexport default Filter;\n","'use strict';\n\n// Import Libraries\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import JS Modules\nimport translate from '../_utils/tools/translate';\n\n// -----------------------------------------------------------\n//  ClearFilters\n// -----------------------------------------------------------\nconst ClearFilters = ({onClearAllFiltersClick}) => {\n  const handleCollapsedClicked = () => onClearAllFiltersClick();\n  return (\n    <li className=\"d-flex align-items-end mb-3\">\n      <a onClick={handleCollapsedClicked} className=\"clear-filter-menu\" tabIndex=\"0\">\n        {translate('Clear all')}\n      </a>\n    </li>\n  );\n};\n\nClearFilters.propTypese = {\n  onClearAllFiltersClick: PropTypes.func\n}\n\nexport default ClearFilters;\n","'use strict';\nimport React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { builderDispatch } from '../_utils/ui';\nimport Events from './flux-events';\n\n// -----------------------------------------------------------\n//  Search\n// -----------------------------------------------------------\nconst Search = ({ defaultTerm, categoryName, onChange }) => {\n  const searchRef = useRef(null);\n  useEffect(() => {\n    const builderDispatchToken = builderDispatch.register(payload => {\n      if (payload.type === Events.SEARCH_CLEARED) {\n        searchRef.current.value = '';\n      }\n    });\n\n    return () => {\n      builderDispatch.unregister(builderDispatchToken);\n    };\n  }, []);\n\n  const handleSubmit = e => {\n    e.preventDefault();\n    onChange(searchRef.current.value);\n  };\n\n  const handleClear = () => {\n    searchRef.current.value = '';\n    onChange('');\n  };\n\n  return (\n    <div>\n      <div className=\"ml-1 search-wrapper\">\n        <form\n          className=\"input-group search-group\"\n          onSubmit={handleSubmit}\n          id=\"search\">\n          <label htmlFor=\"search\" className=\"d-none\">Search</label>\n          <input\n            className=\"search-input p-3 h-100\"\n            ref={searchRef}\n            name=\"search\"\n            id=\"search\"\n            type=\"search\"\n            defaultValue={defaultTerm}\n            placeholder={`Search ${categoryName}`}\n            aria-label={`Search ${categoryName}`}\n          />\n          <button\n            className=\"btn fa fa-search p-2 h-100 search-button\"\n            type=\"submit\"\n            aria-label=\"search\"\n          />\n          <button\n            className={classNames('btn btn-link p-2 m-2', {\n              'clear-button': true,\n              'd-none': defaultTerm === '',\n            })}\n            onClick={handleClear}\n            aria-label=\"clear search\">\n            Clear Search\n          </button>\n        </form>\n      </div>\n    </div>\n  );\n};\n\nSearch.propTypes = {\n  defaultTerm: PropTypes.string,\n  onChange: PropTypes.func,\n  categoryName: PropTypes.string,\n};\n\nexport default Search;\n","('use strict');\n\n// Import Libraries\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// Import JSX Modules\nimport CustomUniversalSelect from '../_utils/custom-universal-select';\n\n// -----------------------------------------------------------\n//  Sort\n// -----------------------------------------------------------\n\nconst options = [{\n  value: 'best-sellers',\n  label: 'Best sellers'\n}, {\n  value: 'price-low-to-high',\n  label: 'Price: low to high'\n}, {\n  value: 'price-high-to-low',\n  label: 'Price: high to low'\n}, {\n  value: 'new',\n  label: 'New'\n}, {\n  value: 'featured',\n  label: 'Featured'\n}];\n\nconst Sort = ({ value, onChange }) => {\n  const ariaLabel = options.find(option => option.value === value)?.label || options[0].label;\n\n  return (\n    <form\n      className='form-inline sort move-left'>\n      <div className=\"form-group\">\n        <label htmlFor=\"sort-select\" aria-label={`Sort by ${ariaLabel}`}>\n          Sort by&nbsp;&nbsp;|\n        </label>\n          <CustomUniversalSelect\n            ariaLabel=\"Sort by\"\n            options={options}\n            value={value}\n            onChange={onChange}\n          />\n      </div>\n    </form>\n  );\n};\n\nSort.propTypes = {\n  value: PropTypes.string,\n  onChange: PropTypes.func,\n};\n\nexport default Sort;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n// Import JSX Modules\nimport DeliveryOptionFilters from './delivery-option-filters';\nimport Filter from './filter';\nimport ClearFilters from './clear-filters';\nimport Search from './search';\nimport classNames from 'classnames';\nimport Sort from './sort';\n\n// -----------------------------------------------------------\n//  Filters\n// -----------------------------------------------------------\nfunction Filters({\n  category,\n  default_search_term,\n  delivery_options,\n  facets,\n  favouriteFilters,\n  filters,\n  handleSortChange,\n  hideFilterModal,\n  onClearAllFilters,\n  onCollapseFilter,\n  onSearchChange,\n  selectedFiltersCount,\n  selected_delivery_options,\n  selected_filters,\n  sortBy,\n  totalProducts\n}) {\n  const getAllFiltersLabel = () => {\n    if (selectedFiltersCount > 0) {\n      return `(${selectedFiltersCount})`;\n    }\n  };\n\n  const handleClearAllFilters = () => {\n    onClearAllFilters();\n  };\n\n  const handleShowFilters = () => {\n    hideFilterModal();\n  };\n\n  return (\n    <div>\n      <div className=\"shelf-filters\">\n        <div className=\"d-none d-md-block bottom-border row m-0 menu-ribbon\">\n          <div className=\"col-lg-12\">\n            <div className=\"row\">\n              <div className=\"col-lg-12 p-0\">\n                <ul className=\"d-flex flex-wrap mt-3 list-unstyled\" role=\"list\">\n                  <button\n                    className={classNames('btn shelf-filter-dropdown-toggle m-1', {\n                      'has-option-selected': selectedFiltersCount > 0,\n                    })}\n                    onClick={handleShowFilters}>\n                    <i className=\"mr-2\">\n                      <svg\n                        className=\"filter-sandwich\"\n                        viewBox=\"0 0 16 14\"\n                        fill=\"currentColor\"\n                        xmlns=\"http://www.w3.org/2000/svg\">\n                        <path\n                          d=\"M0 1.1396C0 0.509259 0.510714 0 1.14286 0H14.8571C15.4893 0 16 0.509259 16 1.1396C16 1.76994 15.4893 2.2792 14.8571 2.2792H1.14286C0.510714 2.2792 0 1.76994 0 1.1396ZM0 6.83761C0 6.20726 0.510714 5.69801 1.14286 5.69801H14.8571C15.4893 5.69801 16 6.20726 16 6.83761C16 7.46795 15.4893 7.97721 14.8571 7.97721H1.14286C0.510714 7.97721 0 7.46795 0 6.83761ZM16 12.5356C16 13.166 15.4893 13.6752 14.8571 13.6752H1.14286C0.510714 13.6752 0 13.166 0 12.5356C0 11.9053 0.510714 11.396 1.14286 11.396H14.8571C15.4893 11.396 16 11.9053 16 12.5356Z\"\n                          fill=\"currentColor\"\n                        />\n                      </svg>\n                    </i>\n                    All Filters {getAllFiltersLabel()}\n                  </button>\n                  <DeliveryOptionFilters\n                    options={delivery_options}\n                    facets={(facets || {})['faceted_delivery_options']}\n                    selected_options={selected_delivery_options || []}\n                    filter_name=\"delivery_options\"\n                    onClickCollapsed={onCollapseFilter}\n                  />\n                  {filters.map(filter => {\n                    const { key } = filter;\n                    if ((facets || {})['filter_' + key].length == 0) {\n                      return null;\n                    }\n                    return (\n                      <Filter\n                        {...filter}\n                        key={key}\n                        name={key}\n                        title={filter.label}\n                        options={filter.options}\n                        category={category}\n                        facets={(facets || {})['filter_' + key]}\n                        selected_options={selected_filters[key] || []}\n                        filter_name={key}\n                      />\n                    );\n                  })}\n                  {favouriteFilters}\n                  {selectedFiltersCount > 0 && (\n                    <ClearFilters\n                      onClearAllFiltersClick={handleClearAllFilters}\n                    />\n                  )}\n                  <Sort\n                    value={sortBy}\n                    onChange={handleSortChange}\n                  />\n                </ul>\n              </div>\n            </div>\n          </div>\n        </div>\n        <div className=\"row mt-4 ml-1\">\n          <div className=\"d-none d-md-block\">\n            <h3 className=\"category-information ml-1 mb-2\">\n              {`${category} (${totalProducts})`}\n            </h3>\n          </div>\n        </div>\n        <div className=\"row d-none d-md-block horizontal-dropdown ml-1\">\n          <Search\n            defaultTerm={default_search_term}\n            onChange={onSearchChange}\n            categoryName={category}\n          />\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport default Filters;\n","import React from 'react';\nimport classNames from 'classnames';\nimport translate from '../_utils/tools/translate';\nimport PropTypes from 'prop-types';\n\nconst FavouritedFilters = ({\n  handleFavouritesFilterCheck,\n  favouritesFiltered,\n}) => {\n  return (\n    <div className=\"m-1\">\n      <button\n        className={classNames('btn favouritable shelf-filter-dropdown-toggle', {\n          'btn-selected': favouritesFiltered,\n        })}\n        onClick={handleFavouritesFilterCheck}\n        title={`See products with your ${translate('favourite')} design`}>\n        <i\n          className={\n            favouritesFiltered\n              ? 'selected fas fa-heart mr-2'\n              : 'far fa-heart mr-1 text-dark'\n          }\n        />\n        {`${translate('Favourites')}`}\n      </button>\n    </div>\n  );\n};\n\nFavouritedFilters.propTypes = {\n  handleFavouritesFilterCheck: PropTypes.func,\n  favouritesFilters: PropTypes.bool,\n};\n\nexport default FavouritedFilters;\n","'use strict';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\n\n// -----------------------------------------------------------\n//  SelectedOptionButton\n// -----------------------------------------------------------\nconst SelectedOptionButton = props => {\n  const handleClearClicked = (debounce(() => {\n    props.onClearClick(props.filterName, props.title, false);\n  }, 200));\n\n  return (\n    <div className=\"mx-1 my-1\">\n      <button className=\"btn bg-white btn-selection-option\" key={props.title}\n        role='button'\n        data-dismiss=\"modal\"\n        aria-label={`${props.title} Close`}\n        onClick={handleClearClicked}\n      >\n        {props.title}\n        <i\n          className=\"close-button skinny-icon close mt-1\"\n          aria-label=\"Close\"\n          onClick={handleClearClicked}></i>\n      </button>\n    </div>\n  );\n};\n\nSelectedOptionButton.propTypes = {\n  title: PropTypes.string,\n  onClearClick: PropTypes.func,\n  filterName: PropTypes.string,\n};\n\nexport default SelectedOptionButton;\n","'use strict';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport SelectedOptionButton from './selected-option-button';\nimport translate from '../_utils/tools/translate';\n\n// -----------------------------------------------------------\n//  SelectedOptions\n// -----------------------------------------------------------\nconst SelectedOptions = props => {\n  const handleClearClicked = (name, option) => {\n    props.onClearClick(name, option);\n  };\n\n  const handleClearDelivery = name => {\n    const { selectedDeliveryOptions, deliveryOptions, onDeliveryOptionClicked } = props;\n    const [selectedOption] = deliveryOptions.filter(\n      option => option.title === name\n    );\n    onDeliveryOptionClicked(selectedDeliveryOptions.filter(\n       option => selectedOption.key !== option\n    ))\n  };\n\n  const getDeliveryOptionNames = () => {\n    let delivery_option_names = [];\n    props.deliveryOptions.forEach(delivery => {\n      if (props.selectedDeliveryOptions.includes(delivery.key)) {\n        delivery_option_names.push(delivery.title);\n      }\n    });\n    return delivery_option_names;\n  };\n  const { onClearAllFilters } = props;\n  return (\n    <div className=\"mt-2\">\n      <div className=\"row ml-3 selected-filter-title d-flex flex-wrap justify-content-between mr-3\">\n        <div>Selected Filters</div>\n        <div>\n          <button onClick={onClearAllFilters} className=\"clear-filter-menu\">\n            {translate('Clear all')}\n          </button>\n        </div>\n      </div>\n      <div className=\"d-flex flex-wrap justify-content-start m-2 selected-options\">\n        {Object.entries(props.selectedFilters).map(\n          ([filter, arrayOfValues]) => {\n            return arrayOfValues.map(value => {\n              if (props.availableFilters.map(value => value.key.toLowerCase()).includes(filter.toLowerCase())) {\n                return (\n                  <SelectedOptionButton\n                    title={value}\n                    onClearClick={handleClearClicked}\n                    key={value}\n                    filterName={filter}\n                  />\n                );\n              }\n            });\n          }\n        )}\n        {getDeliveryOptionNames().map(value => {\n          return (\n            <SelectedOptionButton\n              title={value}\n              onClearClick={handleClearDelivery}\n              key={value}\n              filterName={value}\n            />\n          );\n        })}\n      </div>\n    </div>\n  );\n};\n\nSelectedOptions.propTypes = {\n  selectedDeliveryOptions: PropTypes.array,\n  selectedFilters: PropTypes.object,\n  availableFilters: PropTypes.array,\n  onClearClick: PropTypes.func,\n  showSelectedOptions: PropTypes.bool,\n  deliveryOptions: PropTypes.array,\n  onDeliveryOptionClicked: PropTypes.func,\n};\n\nexport default SelectedOptions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst ModalHeader = ({ clickModalFilterHide, isFilterSelected }) => {\n  return (\n    <div className=\"filters-modal-header\">\n      <div className=\"d-flex flex-wrap mt-2 list-unstyled justify-content-between\">\n          <div className=\"menu-icon ml-4\">\n            <i className=\"fa fa-bars\"></i>\n          </div>\n        <div>\n          <h5 className='mt-1 filter-text' id=\"All Filters\">All filters</h5>\n        </div>\n        <div>\n          <button\n            className=\"btn border-0 bg-white close-button skinny-icon close mt-2 align-left\"\n            type=\"button\"\n            data-dismiss=\"modal\"\n            aria-label=\"Close\"\n            onClick={clickModalFilterHide}></button>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nModalHeader.propTypes = {\n  isFilterSelected: PropTypes.bool,\n  clickModalFilterHide: PropTypes.func,\n};\n\nModalHeader.defaultProps = {\n  isFilterSelected: false,\n};\n\nexport default ModalHeader;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport FocusTrap from 'focus-trap-react';\nimport classNames from 'classnames';\nimport Filter from './filter';\nimport DeliveryOptionFilters from './delivery-option-filters';\nimport SelectedOptions from './selected-options';\nimport ModalHeader from './modal-header';\n\nconst Modal = ({\n  category,\n  delivery_options: deliveryOptions,\n  facets,\n  favouriteFilters,\n  filters,\n  handleModalFiltersHide,\n  hideModalFilters,\n  onClearAllFilters,\n  onDeliveryOptionSelected,\n  onFilterOptionSelected,\n  selectedDeliveryOptions,\n  selectedFilterCount,\n  selected_filters: selectedFilters,\n}) => {\n  return (\n    <FocusTrap active={!hideModalFilters} focusTrapOptions={{ initialFocus: \".close-button\", returnFocusOnDeactivate: true }}>\n      <div\n        role=\"dialog\"\n        aria-labelledby=\"All Filters\">\n        <div\n          className={classNames(\n            'modal-background d-flex align-items-center h-100 w-100 position-fixed',\n            { invisible: hideModalFilters }\n          )}\n          onClick={handleModalFiltersHide}\n        ></div>\n        <div\n          className={classNames('filter-modal', { 'd-none': hideModalFilters })}>\n          <ModalHeader\n            isFilterSelected={selectedFilterCount > 0}\n            clickModalFilterHide={handleModalFiltersHide}\n          />\n\n          <div className=\"filters-modal-body\">\n            {selectedFilterCount > 0 && (<SelectedOptions\n              selectedDeliveryOptions={selectedDeliveryOptions || []}\n              selectedFilters={selectedFilters}\n              availableFilters={filters}\n              onClearClick={onFilterOptionSelected}\n              showSelectedOptions={selectedFilters.length > 0}\n              deliveryOptions={deliveryOptions}\n              onDeliveryOptionClicked={onDeliveryOptionSelected}\n              selectedFilterCount={selectedFilterCount}\n              onClearAllFilters={onClearAllFilters}\n            />\n            )}\n            <ul className=\"ml-2 mt-3 list-unstyled menu-ul\">\n              <div>\n                <DeliveryOptionFilters\n                  options={deliveryOptions}\n                  facets={(facets || {})['faceted_delivery_options']}\n                  selected_options={selectedDeliveryOptions || []}\n                  filter_name=\"deliveryOptions\"\n                  modal={true}\n                />\n              </div>\n              {filters.map(filter => {\n                if ((facets || {})['filter_' + filter.key].length === 0) {\n                  return null;\n                }\n                return (\n                  <Filter\n                    {...filter}\n                    key={filter.key}\n                    name={filter.key}\n                    title={filter.label}\n                    options={filter.options}\n                    category={category}\n                    facets={(facets || {})['filter_' + filter.key]}\n                    selected_options={selectedFilters[filter.key] || []}\n                    filter_name={filter.key}\n                    modal={true}\n                  />\n                );\n              })}\n              {favouriteFilters}\n            </ul>\n          </div>\n          <div className=\"card-footer filters-modal-footer justify-content-center\">\n            <button\n              className=\"btn btn-pill btn-primary w-100 done-button\"\n              onClick={handleModalFiltersHide}>\n              Done\n            </button>\n          </div>\n        </div>\n      </div>\n    </FocusTrap>\n  );\n};\n\nModal.propTypes = {\n  hideModalFilters: PropTypes.bool,\n  handleModalFiltersHide: PropTypes.func,\n  filters: PropTypes.array,\n  facets: PropTypes.object,\n  selectedFilters: PropTypes.object,\n  deliveryOptions: PropTypes.array,\n  selectedDeliveryOptions: PropTypes.oneOfType([\n    PropTypes.array,\n    PropTypes.string,\n  ]),\n  sortValue: PropTypes.string,\n  onFilterOptionSelected: PropTypes.func,\n  onSortChange: PropTypes.func,\n  selectedFilterCount: PropTypes.number,\n  onDeliveryOptionSelected: PropTypes.func,\n};\n\nexport default Modal;\n","// Import Libraries\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport cloneDeep from 'lodash.clonedeep';\nimport { builderDispatch, WebUI, ShelfUI } from '../_utils/ui';\nimport Spinner from '../_utils/spinner';\nimport Breadcrumb from '../_utils/breadcrumb';\nimport Paginator from '../_utils/paginator';\nimport setCanonicalUrl from '../_utils/tools/canonical-url';\nimport Events from './flux-events';\nimport NUps from './n-ups';\nimport MobileFilters from './mobile-filters';\nimport Products from './products';\nimport NoResults from './no-results';\nimport MobileFiltersFullScreen from './mobile-filters-full-screen';\nimport generateQueryString from './generate-query-string';\nimport Filters from './filters';\nimport FavouritedFilters from './favourited_filters';\nimport Modal from './modal';\n\n// Shelf Category\nclass ShelfCategorySearch extends React.Component {\n  constructor(props) {\n    super(props);\n\n    const { start_state: startState = {} } = cloneDeep(this.props);\n\n    this.state = {\n      data: this.manipulateData(this.props),\n      sort: startState.sort || 'best-sellers',\n      page: startState.page || 1,\n      filters: startState.filters || {},\n      delivery_options: startState.delivery || [],\n      search: startState.search || '',\n      showMobileFiltersFullScreen: false,\n      favourites: [],\n      favouritesFiltered: startState.favourited,\n      hideModalFilters: true,\n      filterCount: this.updateFilterCount(\n        startState.filters,\n        startState.delivery\n      ),\n    };\n\n    this.handleGoToPage = this.handleGoToPage.bind(this);\n    this.handlePageNext = this.handlePageNext.bind(this);\n    this.handlePagePrevious = this.handlePagePrevious.bind(this);\n    this.handleFavouritesFilterClick = this.handleFavouritesFilterClick.bind(\n      this\n    );\n    this.handleFilterOptionSelected = this.handleFilterOptionSelected.bind(\n      this\n    );\n    this.handleFiltersReplace = this.handleFiltersReplace.bind(this);\n    this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n    this.handleDeliveryOptionSelected = this.handleDeliveryOptionSelected.bind(\n      this\n    );\n    this.handleSortChange = this.handleSortChange.bind(this);\n    this.handleSearchChange = this.handleSearchChange.bind(this);\n    this.handleMobileFiltersShow = this.handleMobileFiltersShow.bind(this);\n    this.handleMobileFiltersHide = this.handleMobileFiltersHide.bind(this);\n    this.handleFavourited = this.handleFavourited.bind(this);\n    this.handleFavouritesLoad = this.handleFavouritesLoad.bind(this);\n    this.handleModalFiltersShow = this.handleModalFiltersShow.bind(this);\n    this.handleModalFiltersHide = this.handleModalFiltersHide.bind(this);\n    this.handleFavouritesLoad();\n  }\n  componentDidMount() {\n    this.builderDispatchToken = builderDispatch.register(payload => {\n      switch (payload.type) {\n        case WebUI.LOGIN:\n          if (!payload.previous_basket_contents) {\n            this.handleFavouritesLoad();\n          }\n          break;\n        case WebUI.CART_MERGED:\n          this.handleFavouritesLoad();\n          break;\n        case Events.FAVOURITED:\n          this.handleFavourited(payload.designCode);\n          break;\n        case ShelfUI.FILTER_SELECTED:\n          this.handleFilterOptionSelected(\n            payload.filter,\n            payload.option,\n            payload.multiselectable\n          );\n          break;\n        case ShelfUI.DELIVERY_OPTION_SELECTED:\n          this.handleDeliveryOptionSelected(payload.options);\n          break;\n        default:\n      }\n    });\n\n    this.previousQueryString = generateQueryString(this.state);\n    const { canonical_url_parameters: canonicalUrlParameters } = this.props;\n\n    setCanonicalUrl(window, canonicalUrlParameters);\n\n    window.addEventListener('popstate', this.reloadPage);\n  }\n  UNSAFE_componentWillUpdate(nextProps, nextState) {\n    this.loadData(nextState);\n  }\n\n  componentDidUpdate() {\n    if (typeof window === 'undefined') return;\n\n    if (window.history) {\n      const { noUrlRewrite } = this.props;\n      (function fn() {\n        if (noUrlRewrite || this.noUrlRewriteThisTime) {\n          this.noUrlRewriteThisTime = false;\n          return;\n        }\n\n        const {\n          filters,\n          search,\n          delivery_options: deliveryOptions,\n          sort,\n          page,\n          favouritesFiltered,\n        } = this.state;\n        const params = {};\n\n        let paramsString = '';\n\n        for (const key in filters) {\n          if (filters[key].length === 0) continue;\n\n          params[key] = filters[key].map(f => encodeURIComponent(f)).join('|');\n        }\n\n        if (search) params.search = encodeURIComponent(search);\n\n        if (deliveryOptions && deliveryOptions.length) {\n          params['delivery-options'] = deliveryOptions.join(\n            encodeURIComponent('|')\n          );\n        }\n\n        if (sort !== 'best-sellers') params._sort = sort; // eslint-disable-line no-underscore-dangle\n\n        if (favouritesFiltered) params.favourited = 'true';\n\n        if (page !== 1) params._page = page; // eslint-disable-line no-underscore-dangle\n\n        for (const key in params) {\n          if (paramsString.length) {\n            paramsString += '&';\n          }\n\n          paramsString += `${encodeURIComponent(key)}=${params[key]}`;\n        }\n\n        if (this.lastPushedHistory === paramsString) return;\n\n        this.lastPushedHistory = paramsString;\n\n        if (paramsString) {\n          paramsString = `?${paramsString}`;\n        }\n\n        window.history.pushState(\n          {\n            filters: cloneDeep(filters),\n            search,\n            delivery_options: deliveryOptions,\n            sort,\n            favouritesFiltered,\n            page,\n          },\n          '',\n          window.location.origin + window.location.pathname + paramsString\n        );\n      }.call(this));\n    }\n    const { canonical_url_parameters: canonicalUrlParameters } = this.props;\n\n    setCanonicalUrl(window, canonicalUrlParameters);\n  }\n\n  componentWillUnmount() {\n    window.removeEventListener('popstate', this.reloadPage);\n  }\n\n  reloadPage() {\n    window.location.reload();\n  }\n\n  handleGoToPage(page) {\n    this.setState({\n      page,\n    });\n  }\n\n  handlePageNext() {\n    this.setState(({ page }) => ({\n      page: page + 1,\n    }));\n  }\n\n  handlePagePrevious() {\n    const { page } = this.state;\n    if (page > 1) {\n      this.setState({\n        page: page - 1,\n      });\n    }\n  }\n\n  handleFavouritesFilterClick() {\n    this.setState(state => {\n      return {\n        favouritesFiltered: !state.favouritesFiltered,\n        page: 1,\n      };\n    });\n  }\n\n  handleFilterOptionSelected(filter, option, multiFlag) {\n    let multiselectable = multiFlag;\n    if (typeof multiselectable === 'undefined') {\n      multiselectable = true;\n    }\n\n    const { filters: updatedFilters, delivery_options } = this.state;\n    updatedFilters[filter] = updatedFilters[filter]\n      ? updatedFilters[filter]\n      : [];\n\n    if (option) {\n      // remove or add\n      const index = updatedFilters[filter].indexOf(option);\n      if (index > -1) {\n        updatedFilters[filter].splice(index, 1);\n      } else {\n        // if not multi selectable can only include one item at a time\n        if (!multiselectable) updatedFilters[filter] = [];\n\n        updatedFilters[filter].push(option);\n\n        builderDispatch.delayedDispatch({\n          type: Events.OMNI_FILTER_SELECTED,\n          filter,\n          option,\n        });\n      }\n    } else {\n      // clear all\n      updatedFilters[filter] = [];\n      builderDispatch.delayedDispatch({\n        type: Events.OMNI_FILTER_CLEARED,\n        filter,\n        option,\n      });\n    }\n\n    this.setState({\n      filters: updatedFilters,\n      page: 1,\n      filterCount: this.updateFilterCount(updatedFilters, delivery_options),\n    });\n  }\n\n  handleFiltersReplace(filters) {\n    this.setState({\n      filters,\n      page: 1,\n    });\n  }\n\n  handleClearAllFilters() {\n    this.setState({\n      filters: {},\n      delivery_options: '',\n      favouritesFiltered: false,\n      search: '',\n      page: 1,\n      sort: 'best-sellers',\n      filterCount: 0,\n    });\n  }\n\n  handleDeliveryOptionSelected(options) {\n    this.setState({\n      delivery_options: options,\n      page: 1,\n      filterCount: this.updateFilterCount(this.state.filters, options),\n    });\n\n    const { data } = this.state;\n    const selectedOptions = (options || []).sort().join('');\n    const title = data.delivery_options.reduce((memo, option) => {\n      return option.key === selectedOptions\n        ? option.title\n        : memo;\n    }, 'Show all');\n\n    builderDispatch.delayedDispatch({\n      type: Events.FILTER_SELECTED,\n      filter: 'Delivery Option',\n      option: title,\n    });\n  }\n\n  updateFilterCount(filters = [], delivery_options = []) {\n    const {\n      category: { filters: availableFilters },\n    } = this.props;\n    let count = 0;\n    Object.entries(filters).map(([filter, arrayOfValues]) => {\n      if (\n        availableFilters\n          .map(value => value.key.toLowerCase())\n          .includes(filter.toLowerCase())\n      ) {\n        if (arrayOfValues.length > 0) {\n          count += arrayOfValues.length;\n        }\n      }\n    });\n    if (delivery_options && delivery_options.length > 0) {\n      count = count + delivery_options.length\n    }\n    return count;\n  }\n\n  handleSortChange(option) {\n    this.setState({\n      sort: option,\n      page: 1,\n    });\n  }\n\n  handleSearchChange(value) {\n    const { search } = this.state;\n    if (value === search) return;\n\n    this.justSearched = true;\n\n    this.setState({\n      search: value,\n      page: 1,\n    });\n  }\n\n  handleMobileFiltersShow() {\n    this.setState({ showMobileFiltersFullScreen: true });\n  }\n\n  handleMobileFiltersHide() {\n    this.setState({ showMobileFiltersFullScreen: false });\n  }\n\n  handleModalFiltersShow() {\n    this.setState({ hideModalFilters: false });\n  }\n\n  handleModalFiltersHide() {\n    this.setState({ hideModalFilters: true });\n  }\n\n  handleFavourited(designCode) {\n    const { favourites } = this.state;\n    const index = favourites.indexOf(designCode);\n\n    if (index === -1) {\n      favourites.push(designCode);\n    } else {\n      favourites.splice(index, 1);\n    }\n\n    this.setState({ favourites });\n  }\n\n  handleFavouritesLoad() {\n    if (typeof App === 'undefined' || !App.order.logged_in()) return;\n\n    fetch('/favourites', {\n      credentials: 'same-origin',\n    })\n      .then(response => response.json())\n      .then(favourites => {\n        this.setState({\n          favourites,\n        });\n      })\n      .catch(() => { });\n  }\n\n  manipulateData(props) {\n    const { data: stateData } = this.state || {};\n    const data = cloneDeep(props.category || stateData);\n    const {\n      products: { products, total },\n    } = props;\n\n    function normalizeDeliveryOptions(options) {\n      return (options ||[]).map(option => ({\n        title: option.mobile_title,\n        key: option.key\n      }));\n    }\n\n    if (props.category) {\n      data.delivery_options = normalizeDeliveryOptions(data.delivery_options);\n    }\n\n    data.products_total = total;\n    data.products = products;\n    data.facets = props.facets;\n\n    return data;\n  }\n\n  loadData(state) {\n    const queryString = generateQueryString(state);\n\n    if (this.previousQueryString === queryString) {\n      return;\n    }\n    const { data } = this.state;\n\n    this.setState({ loadingContent: true }, () => {\n      const url = `/prism_category/${data.path}/data.json?${queryString}`;\n\n      $.get(url, responseData => {\n        this.setState(\n          {\n            data: this.manipulateData(responseData),\n            loadingContent: false,\n          },\n          () => {\n            ReactDOM.findDOMNode(this).scrollIntoView();\n          }\n        );\n      });\n    });\n\n    this.previousQueryString = queryString;\n  }\n\n  roundOptionActive() {\n    let foundActiveRoundOption = false;\n    let roundedCornersOption;\n    let filter;\n\n    const { filters, data } = this.state;\n\n    for (const selectedFilterKey in filters) {\n      // The option get activated if is the only option active for the filter.\n      // No worth to even try to calculate it if more than one option\n      // in the filter is active\n      if (filters[selectedFilterKey].length !== 1) {\n        continue;\n      }\n\n      roundedCornersOption = null;\n\n      for (const index in data.filters) {\n        filter = data.filters[index];\n\n        if (\n          filter.key === selectedFilterKey &&\n          !!filter.rounded_corners_option\n        ) {\n          roundedCornersOption = filter.rounded_corners_option;\n          break;\n        }\n      }\n\n      if (\n        !!roundedCornersOption &&\n        filters[selectedFilterKey][0] === roundedCornersOption\n      ) {\n        foundActiveRoundOption = true;\n        break;\n      }\n    }\n\n    return foundActiveRoundOption;\n  }\n\n  shouldShowNups() {\n    const { data, filters } = this.state;\n    if (!data.n_ups || data.n_ups.length === 0) {\n      return false;\n    }\n\n    for (const key in filters) {\n      if ((filters[key] || []).length) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  allCategoryTitles() {\n    const categoryTitles = ((this.data || {}).products || []).reduce(\n      (memo, product) => {\n        const updatedMemo = { ...memo };\n        updatedMemo[product.category_title] = 1;\n        return updatedMemo;\n      },\n      {}\n    );\n\n    return Object.keys(categoryTitles).sort();\n  }\n\n  render() {\n    let totalPageCount;\n    let $paginator;\n    let $productPreviews;\n    let $spinner;\n    let $favouritedFilter = '';\n\n    const {\n      loadingContent,\n      showMobileFiltersFullScreen,\n      data,\n      favourites,\n      filters,\n      page,\n      favouritesFiltered,\n      search,\n      delivery_options: deliveryOptions,\n      sort,\n    } = this.state;\n\n    const {\n      preview_in_modal: previewInModal,\n      category,\n      products_per_page: productsPerPage,\n      show_thumbnail_images: showThumbnailImages,\n    } = this.props;\n\n    if (loadingContent && !showMobileFiltersFullScreen) {\n      $spinner = <Spinner />;\n    }\n\n    if (!loadingContent) {\n      if (data.products.length) {\n        $productPreviews = (\n           <Products\n            products={data.products}\n            roundOption={this.roundOptionActive()}\n            favourites={favourites}\n            preSelections={filters}\n            previewInModal={previewInModal}\n            deliveryOptions={category.delivery_options}\n            showThumbnailImages={showThumbnailImages}\n            selectedDeliveryOptions={(deliveryOptions || []).join('|')}\n          />\n        );\n      } else {\n        $productPreviews = (\n          <NoResults onClearAllFilters={this.handleClearAllFilters} />\n        );\n      }\n\n      totalPageCount = Math.ceil(data.products_total / productsPerPage);\n\n      if (totalPageCount > 1) {\n        $paginator = (\n          <Paginator\n            page={parseInt(page)}\n            totalPageCount={totalPageCount}\n            scrollTarget=\"#product-shelf-content\"\n            onPageNext={this.handlePageNext}\n            onPagePrevious={this.handlePagePrevious}\n            onGoToPage={this.handleGoToPage}\n          />\n        );\n      }\n\n      if (typeof App !== 'undefined' && App.order.logged_in()) {\n        $favouritedFilter = (\n          <FavouritedFilters\n            handleFavouritesFilterCheck={this.handleFavouritesFilterClick}\n            favouritesFiltered={favouritesFiltered}\n          />\n        );\n      }\n\n      if (this.justSearched) {\n        this.justSearched = false;\n\n        builderDispatch.dispatch({\n          type: search ? Events.SEARCH_SELECTED : Events.SEARCH_CLEARED,\n          option: search,\n          succeeded: data.products.length > 0,\n        });\n      }\n    }\n\n    const shouldShowNups = this.shouldShowNups();\n\n    return (\n      <div className=\"product-shelf-search\">\n        {$spinner}\n        <div className=\"row showing-sort-refine-container d-md-none\">\n          <div className=\"showing col-8\">\n            {data.products.length} of {data.products_total}{' '}\n            {data.products_total > 1 ? 'designs' : 'design'}\n          </div>\n          <div className=\"sort-refine col-4\">\n            <button\n              type=\"button\"\n              className=\"btn btn-link p-0\"\n              onClick={this.handleMobileFiltersShow}>\n              Sort &amp; Refine\n            </button>\n          </div>\n        </div>\n\n        <div>\n          <div className=\"row\">\n            <div className=\"col\">\n              <Breadcrumb segments={data.breadcrumbs} />\n            </div>\n          </div>\n\n          <div\n            className=\"d-none d-md-block category-description top-border\"\n            dangerouslySetInnerHTML={{ __html: data.description }}\n          />\n          <div className={classNames({ 'd-none': !shouldShowNups })}>\n            <NUps\n              collection={data.n_ups}\n              onUrlFiltersChange={this.handleFiltersReplace}\n            />\n          </div>\n       <Filters\n            filters={data.filters.slice(0, 3)}\n            facets={data.facets}\n            category={data.title}\n            selected_filters={filters}\n            delivery_options={data.delivery_options}\n            selected_delivery_options={deliveryOptions}\n            default_search_term={search}\n            onFilterOptionSelected={this.handleFilterOptionSelected}\n            hideFilterModal={this.handleModalFiltersShow}\n            onSearchChange={this.handleSearchChange}\n            totalProducts={data.products_total}\n            showingProducts={data.products.length}\n            handleSortChange={this.handleSortChange}\n            favouriteFilters={$favouritedFilter}\n            onClearAllFilters={this.handleClearAllFilters}\n            selectedFiltersCount={this.state.filterCount}\n            sortBy={sort}\n          />\n          {$productPreviews}\n          {$paginator}\n        </div>\n\n        <div\n          className={classNames(\n            showMobileFiltersFullScreen ? 'd-block' : 'd-none'\n          )}>\n          <MobileFiltersFullScreen\n            showMobileFiltersFullScreen={showMobileFiltersFullScreen}\n            onDoneClick={this.handleMobileFiltersHide}\n            onClearAllFilters={this.handleClearAllFilters}>\n            <MobileFilters\n              filters={data.filters}\n              facets={data.facets}\n              selected_filters={filters}\n              delivery_options={data.delivery_options}\n              selected_delivery_options={deliveryOptions}\n              sortValue={sort}\n              onFilterOptionSelected={this.handleFilterOptionSelected}\n              onSortChange={this.handleSortChange}\n            />\n          </MobileFiltersFullScreen>\n        </div>\n        <Modal\n          delivery_options={data.delivery_options}\n          facets={data.facets}\n          filters={data.filters}\n          handleModalFiltersHide={this.handleModalFiltersHide}\n          hideModalFilters={this.state.hideModalFilters}\n          onClearAllFilters={this.handleClearAllFilters}\n          onDeliveryOptionSelected={this.handleDeliveryOptionSelected}\n          onFilterOptionSelected={this.handleFilterOptionSelected}\n          onSortChange={this.handleSortChange}\n          selectedDeliveryOptions={deliveryOptions}\n          selectedFilterCount={this.state.filterCount}\n          selected_filters={filters}\n          sortValue={sort}\n        />\n      </div>\n    );\n  }\n}\n\nShelfCategorySearch.displayName = 'Shelf';\n\nShelfCategorySearch.propTypes = {\n  noUrlRewrite: PropTypes.bool,\n  preview_in_modal: PropTypes.bool.isRequired,\n  category: PropTypes.shape({}),\n  canonical_url_parameters: PropTypes.arrayOf(PropTypes.string),\n  show_thumbnail_images: PropTypes.bool,\n};\n\nShelfCategorySearch.defaultProps = {\n  noUrlRewrite: null,\n  category: null,\n  canonical_url_parameters: [],\n  show_thumbnail_images: null,\n};\n\nexport default ShelfCategorySearch;\n"],"names":["MobileSortOption","value","title","onChange","selected","selectedState","setSelectedState","useState","useEffect","handleClick","e","React","classNames","MobileSort","collapsed","setCollapsed","screenAndStyle","toggleCollapse","prevState","options","memo","option","renderOptions","i","MobileDeliveryOptionFilter","optionkey","onToggle","available","isSelected","setIsSelected","event","PropTypes","MobileDeliveryOptionFilters","facets","selectedOptions","joinedSelectedOptions","getSelectedOptions","item","handleOptionSelected","checkOptions","updateOptions","facetKeys","facet","builderDispatch","ShelfUI","translate","OptionSorter","a","b","StandardFilterOptions","onOptionSelected","newUi","renderOption","unavailable","AppleDeviceNameCapitaliser","DecapitalisedTitle","MobileFilter","name","props","handleClearSelected","selectOptionsList","genericHelpers","MobileFilters","createReactClass","filter","deliveryOptionType","PreviewableDeliveryOptions","deliveryOptions","deliveryOptionKeys","DeliveryOptionIcon","l","require$$0","p","q","r","t","u","v","w","x","y","z","A","B","C","c","D","E","F","G","H","I","J","K","L","M","d","g","k","f","h","m","N","O","escape","P","Q","R","S","T","U","V","W","aa","X","Y","Z","ba","react_production_min","reactModule","exports","this","s","n","o","global","factory","module","require$$1","pageFlip","HTMLFlipBook","prevProps","childWithRef","child","dom","el","getHeightAndWidth","orientation","PhotobookPreview","previewImages","previewsExceptFirstPage","width","height","image","modalContentType","wasPriceType","PhotobookModal","handleModalClose","open","modalContent","Modal","ProductPrice","PreviewableProducts","products","modalOpen","preSelections","favourites","roundOption","handleProductOnClick","handleModalContent","showThumbnailImages","productsWithMultipleVariants","selectedDeliveryOptions","getSizeAndCover","productTitle","size","coverFirstWord","coverSecondWord","showPreviewImages","product","isPremium","hasPreviewImages","NewProduct","preSelectionsType","productType","Products","__publicField","previewInModal","isMobileFilterOpen","GenericProducts","NoResults","MobileFiltersFullScreen","FocusTrap","paramsGenerator","filters","search","sort","page","favouritesFiltered","key","generateQueryString","state","paramsIterator","DeliveryOptionFilter","optionKey","DeliveryOptionFilters","modal","pFacets","ariaLabel","componentRef","useRef","deliveryTitle","selectOptionCount","handleCollapsedClicked","ColorFilterOptions","ImageFilterOptions","category","Filter","filter_name","multiselectable","handleOptionClick","filterTitle","isColor","term","isImage","getOptions","ClearFilters","onClearAllFiltersClick","Search","defaultTerm","categoryName","searchRef","builderDispatchToken","payload","Events","handleSubmit","handleClear","Sort","_a","CustomUniversalSelect","Filters","default_search_term","delivery_options","favouriteFilters","handleSortChange","hideFilterModal","onClearAllFilters","onCollapseFilter","onSearchChange","selectedFiltersCount","selected_delivery_options","selected_filters","sortBy","totalProducts","getAllFiltersLabel","handleClearAllFilters","handleShowFilters","FavouritedFilters","handleFavouritesFilterCheck","SelectedOptionButton","handleClearClicked","debounce","SelectedOptions","handleClearDelivery","onDeliveryOptionClicked","selectedOption","getDeliveryOptionNames","delivery_option_names","delivery","arrayOfValues","ModalHeader","clickModalFilterHide","isFilterSelected","handleModalFiltersHide","hideModalFilters","onDeliveryOptionSelected","onFilterOptionSelected","selectedFilterCount","selectedFilters","ShelfCategorySearch","startState","cloneDeep","WebUI","canonicalUrlParameters","setCanonicalUrl","nextProps","nextState","noUrlRewrite","params","paramsString","multiFlag","updatedFilters","index","data","availableFilters","count","designCode","response","stateData","total","normalizeDeliveryOptions","queryString","url","responseData","ReactDOM","foundActiveRoundOption","roundedCornersOption","selectedFilterKey","categoryTitles","updatedMemo","totalPageCount","$paginator","$productPreviews","$spinner","$favouritedFilter","loadingContent","showMobileFiltersFullScreen","productsPerPage","Spinner","Paginator","shouldShowNups","Breadcrumb","NUps"],"mappings":"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","x_google_ignoreList":[10,11,12,13]}