1(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{59:(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"default",function(){return StaticRecentlyViewed});var jquery__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2),jquery__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__),flickity__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6),flickity__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(flickity__WEBPACK_IMPORTED_MODULE_1__),rimg_shopify__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7);function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(iter){if(Symbol.iterator in Object(iter)||Object.prototype.toString.call(iter)==="[object Arguments]")return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){for(var i=0,arr2=new Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}var StaticRecentlyViewed=(function(){function StaticRecentlyViewed2(section){var _this=this;_classCallCheck(this,StaticRecentlyViewed2),this.namespace="pxu",this.maxRecentlyViewed=30,this.maxStorageTime=720*3600,this.version=1,this.storageKey="".concat(this.namespace,"-recentlyViewed-").concat(this.version),this.$el=jquery__WEBPACK_IMPORTED_MODULE_0___default()(section.el),this.time=section.data.time,this.flickity=null,this.recentlyViewed=section.data.recently_viewed_info,this.cardSettings=section.data.product_card_settings,this.recentlyViewed&&this.time&&(this.recentlyViewed.timestamp=Math.round(new Date().getTime()/1e3)),this.slideImageLoaded=this._onSlideImageLoaded.bind(this);var recentlyViewed=[];if(this.time){recentlyViewed=this._getRecentlyViewed(),this.recentlyViewed&&(this.removeRecentlyViewed(this.recentlyViewed.handle,recentlyViewed),recentlyViewed.push(this.recentlyViewed));var promises=this._setRecentlyViewed(recentlyViewed);jquery__WEBPACK_IMPORTED_MODULE_0___default.a.when.apply(jquery__WEBPACK_IMPORTED_MODULE_0___default.a,_toConsumableArray(promises)).done(function(){if(recentlyViewed.length){var cardsMarkup=_this._getRecentlyViewedCards(),cardsData=_this._getRecentlyViewed();_this.$el.find("[data-recently-viewed-container]").append(cardsMarkup),cardsData.forEach(function(productData){var timestamp=_this.timeSince(productData.timestamp);jquery__WEBPACK_IMPORTED_MODULE_0___default()("[data-product-handle=".concat(productData.handle,"]")).prepend(timestamp)}),rimg_shopify__WEBPACK_IMPORTED_MODULE_2__.a.watch(_this.$el[0]),_this.$carousel=_this.$el.find(".product-recently-viewed--content"),_this.slides=".product-recently-viewed-card",_this.$carousel.find(_this.slides).length>1&&_this._initSlider()}else _this.$el.find(".product-recently-viewed--section").addClass("hide")})}else this.recentlyViewed&&(recentlyViewed.push(this.recentlyViewed),this._setRecentlyViewed(recentlyViewed)),this.$el.find(".product-recently-viewed--section").addClass("hide");this.bindEvents()}return _createClass(StaticRecentlyViewed2,[{key:"bindEvents",value:function(){var _this2=this;this.$el.on("click","[data-remove-recently-viewed]",function(event){var $target=jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget),handle=$target.closest("[data-product-handle]").data("product-handle"),recentlyViewed=_this2._getRecentlyViewed();_this2.removeRecentlyViewed(handle,recentlyViewed),_this2._setRecentlyViewed(recentlyViewed),$target.parents("[data-recently-viewed-card]").addClass("hide-card"),$target.parents("[data-recently-viewed-card]").nextAll().addClass("move-card"),setTimeout(function(){var index=$target.parents("[data-recently-viewed-card]").index();index!==0&&index--,$target.parents("[data-recently-viewed-card]").nextAll().removeClass("move-card"),$target.parents("[data-recently-viewed-card]").length&&_this2.flickity.remove($target.parents("[data-recently-viewed-card]")),_this2.flickity.selectCell(index)},500)}),this.$el.on("click","[data-clear-recently-viewed]",function(){_this2.clearRecentlyViewed()})}},{key:"timeSince",value:function(timestamp){var now=Math.round(new Date().getTime()/1e3),secondsPast=now-timestamp;if(secondsPast<60){var secondsAgo=parseInt(secondsPast,10);return secondsAgo===1?"".concat(secondsAgo," ").concat(this.time.second," ").concat(this.time.ago):"".concat(secondsAgo," ").concat(this.time.seconds," ").concat(this.time.ago)}if(secondsPast<3600){var minutesAgo=parseInt(secondsPast/60,10);return minutesAgo===1?"".concat(minutesAgo," ").concat(this.time.minute," ").concat(this.time.ago):"".concat(minutesAgo," ").concat(this.time.minutes," ").concat(this.time.ago)}if(secondsPast<=86400){var hoursAgo=parseInt(secondsPast/3600,10);return hoursAgo===1?"".concat(hoursAgo," ").concat(this.time.hour," ").concat(this.time.ago):"".concat(hoursAgo," ").concat(this.time.hours," ").concat(this.time.ago)}var date=new Date(timestamp*1e3),currentDate=new Date(now*1e3),day=date.getDate(),month=date.toDateString().match(/ [a-zA-Z]*/)[0].replace(" ",""),year=date.getFullYear()===currentDate.getFullYear()?"":", ".concat(date.getFullYear());return"".concat(month," ").concat(day," ").concat(year)}},{key:"removeRecentlyViewed",value:function(handle,recentlyViewed){for(var i=0;i<recentlyViewed.length;i++)recentlyViewed[i].handle===handle&&recentlyViewed.splice(i,1);this._setRecentlyViewed(recentlyViewed);var cards=sessionStorage.getItem(this.storageKey)?JSON.parse(sessionStorage.getItem(this.storageKey)):{};delete cards[handle],sessionStorage.setItem(this.storageKey,JSON.stringify(cards)),recentlyViewed.length===0&&this.$el.find(".product-recently-viewed--section").addClass("hide"),this.$carousel&&this.$carousel[0].removeEventListener("rimg:load",this.slideImageLoaded)}},{key:"clearRecentlyViewed",value:function(){localStorage.removeItem(this.storageKey),sessionStorage.removeItem(this.storageKey),this.$el.find("[data-recently-viewed-card]").remove(),this.$el.find(".product-recently-viewed--section").addClass("hide")}},{key:"_onSlideImageLoaded",value:function(){this.flickity.resize()}},{key:"_initSlider",value:function(){this.flickityOptions={autoPlay:0,accessibility:!0,cellAlign:"left",cellSelector:this.slides,groupCells:!0,pageDots:!1,contain:!0,arrowShape:{x0:10,x1:60,y1:50,x2:65,y2:45,x3:20}},this.flickity=new flickity__WEBPACK_IMPORTED_MODULE_1___default.a(this.$carousel[0],this.flickityOptions),this.$carousel[0].addEventListener("rimg:load",this.slideImageLoaded)}},{key:"_setRecentlyViewed",value:function(productData){var _this3=this,now=Math.floor(Date.now()/1e3),minStorageTimestamp=now-this.maxStorageTime,filteredData=productData.filter(function(item){return item.timestamp>minStorageTimestamp});if(filteredData.length>this.maxRecentlyViewed){var removeCount=filteredData.length-this.maxRecentlyViewed;filteredData.splice(0,removeCount)}
1try{localStorage.setItem(this.storageKey,JSON.stringify(filteredData))}catch(error){console.warn(error)}try{var handles=filteredData?filteredData.map(function(x){return x.handle}):[],storedCards=sessionStorage.getItem(this.storageKey)?JSON.parse(sessionStorage.getItem(this.storageKey)):{};storedCards.cardSettings&&Object.keys(storedCards.cardSettings).forEach(function(key){storedCards.cardSettings[key]!==_this3.cardSettings[key]&&(storedCards={},sessionStorage.removeItem(_this3.storageKey))}),storedCards.cardSettings=this.cardSettings;var promises=handles.map(function(handle){if(storedCards[handle])return null;var fetchUrl="/products/".concat(handle,"?view=_recently-viewed");return jquery__WEBPACK_IMPORTED_MODULE_0___default.a.get(fetchUrl).catch(function(error){return console.error("Error:",error)}).then(function(response){if(response){storedCards[handle]=response;try{sessionStorage.setItem(_this3.storageKey,JSON.stringify(storedCards))}catch(error){console.warn(error)}}})});return promises}catch(error){return console.warn(error),!1}}},{key:"_getRecentlyViewed",value:function(){try{var recentlyViewed=localStorage.getItem(this.storageKey)?JSON.parse(localStorage.getItem(this.storageKey)):[];return recentlyViewed}catch(error){return console.warn(error),[]}}},{key:"_getRecentlyViewedCards",value:function(){for(var cards=sessionStorage.getItem(this.storageKey)?JSON.parse(sessionStorage.getItem(this.storageKey)):{},orderedItems=localStorage.getItem(this.storageKey)?JSON.parse(localStorage.getItem(this.storageKey)):{},markup=[],i=orderedItems.length-1;i>=0;i--){var cardKey=orderedItems[i].handle,domParser=new DOMParser,card=domParser.parseFromString(cards[cardKey],"text/html");card.querySelector(".productgrid--item")&&markup.push(cards[cardKey])}return markup.join("")}}]),StaticRecentlyViewed2})()})}]); 2//# sourceMappingURL=/cdn/shop/t/53/assets/StaticRecentlyViewed.bundle.js.map?v=106072872584162271891683583116
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.