{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/recently-viewed-product.js?view=ajax_recently_viewed"],
  "sourcesContent": ["/**\n * Cookie plugin\n *\n * Copyright (c) 2006 Klaus Hartl (stilbuero.de)\n * Dual licensed under the MIT and GPL licenses:\n * http://www.opensource.org/licenses/mit-license.php\n * http://www.gnu.org/licenses/gpl.html\n *\n */\n\njQuery.cookie=function(b,j,m){if(typeof j!=\"undefined\"){m=m||{};if(j===null){j=\"\";m.expires=-1}var e=\"\";if(m.expires&&(typeof m.expires==\"number\"||m.expires.toUTCString)){var f;if(typeof m.expires==\"number\"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e=\"; expires=\"+f.toUTCString()}var l=m.path?\"; path=\"+(m.path):\"\";var g=m.domain?\"; domain=\"+(m.domain):\"\";var a=m.secure?\"; secure\":\"\";document.cookie=[b,\"=\",encodeURIComponent(j),e,l,g,a].join(\"\")}else{var d=null;if(document.cookie&&document.cookie!=\"\"){var k=document.cookie.split(\";\");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+\"=\")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};\n\n/**\n * Module to show Recently Viewed Products\n *\n * Copyright (c) 2014 Caroline Schnapp (11heavens.com)\n * Dual licensed under the MIT and GPL licenses:\n * http://www.opensource.org/licenses/mit-license.php\n * http://www.gnu.org/licenses/gpl.html\n *\n */\n\nShopify.Products = (function() {\n    var config = {\n        howManyToShow: 3,\n        howManyToStoreInMemory: 10,\n        wrapperId: 'recently-viewed-products',\n        templateId: 'recently-viewed-product-template',\n        layout: 'slider',\n        swipe: true,\n        media: 'adapt',\n        onComplete: null\n    };\n    var productHandleQueue = [];\n    var wrapper = null;\n    var template = null;\n    var shown = 0;\n    var cookie = {\n        configuration: {\n            expires: 90,\n            path: '/',\n            domain: window.location.hostname\n        },\n        name: 'shopify_recently_viewed',\n        write: function(recentlyViewed) {\n            jQuery.cookie(this.name, recentlyViewed.join(' '), this.configuration);\n        },\n        read: function() {\n            var recentlyViewed = [];\n            var cookieValue = jQuery.cookie(this.name);\n            if (cookieValue !== null) {\n                recentlyViewed = cookieValue.split(' ');\n            }\n            return recentlyViewed;\n        },\n        destroy: function() {\n            jQuery.cookie(this.name, null, this.configuration);\n        },\n        remove: function(productHandle) {\n            var recentlyViewed = this.read();\n            var position = jQuery.inArray(productHandle, recentlyViewed);\n            if (position !== -1) {\n                recentlyViewed.splice(position, 1);\n                this.write(recentlyViewed);\n            }\n        }\n    };\n\n    var finalize = function() {\n        var items = wrapper.find('.item')\n        if (items.length <= 2) $('#recently-viewed-products-list').addClass('center')\n        \n        wrapper.show();\n        // If we have a callback.\n        if (config.onComplete) {\n            try {\n                config.onComplete();\n            } catch (error) {}\n        }\n    };\n\n    var moveAlong = function() {\n        if (productHandleQueue.length && shown < config.howManyToShow) {\n            var url = window.routes.root + '/products/' + productHandleQueue[0] + '?view=ajax_recently_viewed';\n\n            jQuery.ajax({\n                type: 'get',\n                url: url,\n                cache: false,\n                success: function(product) {\n                    wrapper.append(product);\n                    productHandleQueue.shift();\n                    shown++;\n                    moveAlong();\n                },\n                error: function() {\n                    cookie.remove(productHandleQueue[0]);\n                    productHandleQueue.shift();\n                    moveAlong();\n                }\n            });\n        } else {\n            finalize();\n        }\n    };\n\n    var doAlong = function() {\n        if (productHandleQueue.length) {\n            var url = window.routes.root + '/collections/all';\n\n            $.ajax({\n                type: 'get',\n                url: url,\n                cache: false,\n                data: {\n                    view: 'ajax_recently_viewed',\n                    constraint: `limit=${productHandleQueue.length}+layout=${config.layout}+imageRatio=${config.media}+swipe=${config.swipe}+sectionId=recently-viewed+list_handle=` + encodeURIComponent(productHandleQueue)\n                },\n                beforeSend: function () {},\n                success: function (data) {\n                    const recentlyViewedRow = $('.halo-recently-viewed-block .recentlyViewed-row');\n                    recentlyViewedRow.empty();\n                    wrapper.append(data);\n                },  \n                error: function (xhr, text) {\n                    alert($.parseJSON(xhr.responseText).description);\n                },\n                complete: function () {\n                    if(config.layout == 'slider'){\n                        var wrapper = $('.halo-recently-viewed-block'),\n                            productGrid = wrapper.find('.products-carousel'),\n                            itemToShow = productGrid.data('item-to-show'),\n                            itemDots = productGrid.data('item-dots'),\n                            itemDotsMb = productGrid.data('item-dots-mb'),\n                            itemArrows = productGrid.data('item-arrows'),\n                            itemArrowsMb = productGrid.data('item-arrows-mb');\n\n                        if(productGrid.length > 0) {\n                            if(productGrid.not('.slick-initialized')) {\n                                productGrid.slick({\n                                    mobileFirst: true,\n                                    adaptiveHeight: true,\n                                    vertical: false,\n                                    infinite: true,\n                                    slidesToShow: 1,\n                                    slidesToScroll: 1,\n                                    arrows: itemArrowsMb,\n                                    dots: itemDotsMb,\n                                    nextArrow: window.arrows.icon_next,\n                                    prevArrow: window.arrows.icon_prev,\n                                    rtl: window.rtl_slick,\n                                    responsive: \n                                    [\n                                        {\n                                            breakpoint: 1599,\n                                            settings: {\n                                                arrows: itemArrows,\n                                                dots: itemDots,\n                                                get slidesToShow() {\n                                                    if(itemToShow !== undefined && itemToShow !== null && itemToShow !== ''){\n                                                        return this.slidesToShow = itemToShow;\n                                                    } else {\n                                                        return this.slidesToShow = 1;\n                                                    }\n                                                },\n                                                get slidesToScroll() {\n                                                    if(itemToShow !== undefined && itemToShow !== null && itemToShow !== ''){\n                                                        return this.slidesToScroll = itemToShow;\n                                                    } else {\n                                                        return this.slidesToScroll = 1;\n                                                    }\n                                                }\n                                            }\n                                        },\n                                        {\n                                            breakpoint: 1024,\n                                            settings: {\n                                                arrows: itemArrows,\n                                                dots: itemDots,\n                                                get slidesToShow() {\n                                                    if(itemToShow !== undefined && itemToShow !== null && itemToShow !== ''){\n                                                        if(itemToShow == 5){\n                                                            return this.slidesToShow = itemToShow - 1;\n                                                        } else {\n                                                            return this.slidesToShow = itemToShow;\n                                                        }\n                                                    } else {\n                                                        return this.slidesToShow = 1;\n                                                    }\n                                                },\n                                                get slidesToScroll() {\n                                                    if(itemToShow !== undefined && itemToShow !== null && itemToShow !== ''){\n                                                        if(itemToShow == 5){\n                                                            return this.slidesToScroll = itemToShow - 1;\n                                                        } else {\n                                                            return this.slidesToScroll = itemToShow;\n                                                        }\n                                                    } else {\n                                                        return this.slidesToScroll = 1;\n                                                    }\n                                                }\n                                            }\n                                        },\n                                        {\n                                            breakpoint: 991,\n                                            settings: {\n                                                arrows: itemArrowsMb,\n                                                dots: itemDotsMb,\n                                                slidesToShow: 4,\n                                                slidesToScroll: 4\n                                            }\n                                        },\n                                        {\n                                            breakpoint: 767,\n                                            settings: {\n                                                arrows: itemArrowsMb,\n                                                dots: itemDotsMb,\n                                                slidesToShow: 3,\n                                                slidesToScroll: 3\n                                            }\n                                        },\n                                        {\n                                            breakpoint: 320,\n                                            settings: {\n                                                arrows: itemArrowsMb,\n                                                dots: itemDotsMb,\n                                                slidesToShow: 2,\n                                                slidesToScroll: 2\n                                            }\n                                        }\n                                    ]\n                                });\n                            }\n                        }\n                    }\n                }\n            });\n        }\n    };\n\n    return {\n        resizeImage: function(src, size) {\n            if (size == null) {\n                return src;\n            }\n\n            if (size == 'master') {\n                return src.replace(/http(s)?:/, \"\");\n            }\n\n            var match = src.match(/\\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\\?v=\\d+)?/i);\n\n            if (match != null) {\n                var prefix = src.split(match[0]);\n                var suffix = match[0];\n\n                return (prefix[0] + \"_\" + size + suffix).replace(/http(s)?:/, \"\")\n            } else {\n                return null;\n            }\n        },\n\n        showRecentlyViewed: function(params) {\n            var params = params || {};\n\n            // Update defaults.\n            jQuery.extend(config, params);\n\n            // Read cookie.\n            productHandleQueue = cookie.read();\n\n            // Template and element where to insert.\n            template = config.templateId;\n            wrapper = jQuery('#' + config.wrapperId);\n\n            // How many products to show.\n            config.howManyToShow = Math.min(productHandleQueue.length, config.howManyToShow);\n\n            // If we have any to show.\n            if (config.howManyToShow && wrapper.length) {\n                // Getting each product with an Ajax call and rendering it on the page.\n                if (template == 'recently-viewed-product-popup'){\n                    moveAlong();\n                } else {\n                    doAlong();\n                }\n            }\n        },\n\n        getConfig: function() {\n            return config;\n        },\n\n        clearList: function() {\n            cookie.destroy();\n        },\n\n        recordRecentlyViewed: function(params) {\n            var params = params || {};\n\n            // Update defaults.\n            jQuery.extend(config, params);\n\n            // Read cookie.\n            var recentlyViewed = cookie.read();\n\n            // If we are on a product page.\n            if (window.location.pathname.indexOf('/products/') !== -1) {\n                // What is the product handle on this page.\n                var productHandle = window.location.pathname.match(/\\/products\\/([a-z0-9\\-]+)/)[1];\n                // In what position is that product in memory.\n                var position = jQuery.inArray(productHandle, recentlyViewed);\n                // If not in memory.\n                if (position === -1) {\n                    // Add product at the start of the list.\n                    recentlyViewed.unshift(productHandle);\n                    // Only keep what we need.\n                    recentlyViewed = recentlyViewed.splice(0, config.howManyToStoreInMemory);\n                } else {\n                    // Remove the product and place it at start of list.\n                    recentlyViewed.splice(position, 1);\n                    recentlyViewed.unshift(productHandle);\n                }\n\n                // Update cookie.\n                cookie.write(recentlyViewed);\n            }\n        }\n    };\n})();"],
  "mappings": "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",
  "names": ["wrapper"]
}
