@covet-pics/covet-pics-widget 0.167.3 → 0.167.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/covet-pics-crop-text.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-direct-buy_7.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-gallery-grid_3.cjs.entry.js +75 -12
- package/dist/cjs/covet-pics-gallery-header_6.cjs.entry.js +20 -8
- package/dist/cjs/covet-pics-highlighted-hotspots_2.cjs.entry.js +38 -10
- package/dist/cjs/covet-pics-popup-freeflow-carousel_2.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-post.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-star-rating.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-widget.cjs.entry.js +1 -1
- package/dist/cjs/covet-pics-widget.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-D6jnnS7Q.js → utils-0FQ28Vfg.js} +5 -0
- package/dist/collection/components/covet-pics-gallery-grid/covet-pics-gallery-grid.js +28 -4
- package/dist/collection/components/covet-pics-gallery-item/covet-pics-gallery-item.js +9 -3
- package/dist/collection/components/covet-pics-gallery-item-detail/covet-pics-gallery-item-detail.js +10 -4
- package/dist/collection/components/covet-pics-gallery-slider/covet-pics-gallery-slider.js +34 -7
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted-page.js +38 -9
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted.js +35 -3
- package/dist/collection/utils/utils.js +4 -0
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-343a9287.entry.js → p-2636098a.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-46b2512c.entry.js → p-309600e2.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-5d9ddd55.entry.js → p-40055ed4.entry.js} +3 -3
- package/dist/covet-pics-widget/{p-fefed130.entry.js → p-49fe4508.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-aceb8cc8.entry.js → p-5624938d.entry.js} +1 -1
- package/dist/covet-pics-widget/p-802afafc.entry.js +28 -0
- package/dist/covet-pics-widget/p-8e246791.entry.js +4 -0
- package/dist/covet-pics-widget/{p-CADUxYKc.js → p-BODOgEuN.js} +1 -1
- package/dist/covet-pics-widget/{p-b83ceda6.entry.js → p-b6eb92eb.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-4a786875.entry.js → p-cb32cd08.entry.js} +1 -1
- package/dist/esm/covet-pics-crop-text.entry.js +1 -1
- package/dist/esm/covet-pics-direct-buy_7.entry.js +1 -1
- package/dist/esm/covet-pics-gallery-grid_3.entry.js +75 -12
- package/dist/esm/covet-pics-gallery-header_6.entry.js +20 -8
- package/dist/esm/covet-pics-highlighted-hotspots_2.entry.js +38 -10
- package/dist/esm/covet-pics-popup-freeflow-carousel_2.entry.js +1 -1
- package/dist/esm/covet-pics-post.entry.js +1 -1
- package/dist/esm/covet-pics-star-rating.entry.js +1 -1
- package/dist/esm/covet-pics-widget.entry.js +1 -1
- package/dist/esm/covet-pics-widget.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-CADUxYKc.js → utils-BODOgEuN.js} +5 -1
- package/dist/types/components/covet-pics-gallery-grid/covet-pics-gallery-grid.d.ts +5 -1
- package/dist/types/components/covet-pics-gallery-slider/covet-pics-gallery-slider.d.ts +5 -0
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted-page.d.ts +5 -0
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted.d.ts +5 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/package.json +1 -2
- package/dist/covet-pics-widget/p-1fd39db4.entry.js +0 -28
- package/dist/covet-pics-widget/p-2d979ee6.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright by Space Squirrel Ltd.
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,c as e,h as i,H as o,g as s}from"./p-C-mGosc6.js";import{B as r,s as n,f as h}from"./p-CADUxYKc.js";import{c as a,a as l,p as d,b as c,s as u}from"./p-B68hw7d9.js";import{m as _,s as p}from"./p-BJA1jk-5.js";import{s as m}from"./p-CP5h6CHJ.js";import{g as f,s as b}from"./p-Mc-D_Wnh.js";import{g}from"./p-C5ofYrUT.js";class v{constructor(t,e){this.page=0,this.isLoading=!1,this.totalPages=1,this.previewSettings={},this.previewHoverMode=!1,this.previewPopupMode=!1,this.previewMode=!1,this.sortType="",this._customSettings={},this._selectedFilters=[],this._environment="production","boolean"==typeof e&&(this.previewMode=e),"string"==typeof t&&Object.keys(r).includes(t)&&(this._environment=t)}get baseUrl(){return r[this._environment]}get galleryType(){return this.productHandle?"product_gallery":"standard_gallery"}setCustomSettings(t){return this._customSettings=Object.assign({},t),Object.keys(this._customSettings).forEach((t=>null===this._customSettings[t]?delete this._customSettings[t]:this._customSettings[t])),this._customSettings}setSelectedFilters(t){return this._selectedFilters=[...t]}standardGalleryUrl(){return"/api/v1/embed/:id".replace(":id",this.embedId)}productGalleryUrl(){return"/api/v1/shop/:shop/product/:handle".replace(":shop",this.shopDomain).replace(":handle",this.productHandle)}galleryUrl(){if("testing"===this._environment)return"http://localhost:3000/embed";let t=this.baseUrl;return t+=this.productHandle?this.productGalleryUrl():this.standardGalleryUrl(),this.previewMode&&(t+="/preview"),""!==this.sortType&&(t+=`?sort_by=${this.sortType}`),t}resetPagination(){this.page=0,this.totalPages=1}async fetchItems(){if(this.isLoading||this.page>=this.totalPages)return;this.isLoading=!0,this.page+=1;let t=this.galleryUrl();const e=[];this.page>1&&e.push(`page=${this.page}`),this._selectedFilters.length>0&&(this.previewMode?this.previewSettings.filters=this._selectedFilters:this._selectedFilters.forEach((t=>e.push(encodeURIComponent("filters[]")+"="+encodeURIComponent(t))))),e.length>0&&(t+=`?${e.join("&")}`);const i=await fetch(t,this.fetchOptions);if(!i.ok)throw new Error(`${i.status}`);const o=await i.json();return o.items=this.getItemsWithLocaleLinks(o.items),this.data=Object.assign({},o),this.data.settings=Object.assign(Object.assign({},this.data.settings),this._customSettings),o.settings=void 0!==this.previewSettings.settings?Object.assign(Object.assign(Object.assign({},o.settings),this._customSettings),this.previewSettings.settings):Object.assign(Object.assign({},o.settings),this._customSettings),this.totalPages=o.total_pages,this.galleryId=o.gallery_id,this.shopId=o.shop_id,this.isLoading=!1,o}getItemsWithLocaleLinks(t){return t.forEach((t=>(t.links&&t.links.length>0&&t.links.forEach((t=>(t.link=(t=>{const e=window.location.hostname;let i=t;const o=window.Shopify;return void 0!==o&&o.routes&&o.routes.root&&"/"!==o.routes.root?i.replace(`${e}/`,`${e}${o.routes.root}`):i})(t.link),t))),t))),t}get fetchOptions(){const t={},e={},i=Object.keys(this.previewSettings);return this.previewMode&&(e.method="POST",e.headers={"Content-Type":"application/json"},i.length>0&&(i.forEach((e=>{const i=e.replace(/^(gallery_embed\[)/,"").replace(/\]$/,"");t[i]=this.previewSettings[e]})),e.body=JSON.stringify(t))),e}}var w,y=[],O="ResizeObserver loop completed with undelivered notifications.";!function(t){t.BORDER_BOX="border-box",t.CONTENT_BOX="content-box",t.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(w||(w={}));var S,x=function(t){return Object.freeze(t)},k=function(t,e){this.inlineSize=t,this.blockSize=e,x(this)},E=function(){function t(t,e,i,o){return this.x=t,this.y=e,this.width=i,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,x(this)}return t.prototype.toJSON=function(){var t=this;return{x:t.x,y:t.y,top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t}(),I=function(t){return t instanceof SVGElement&&"getBBox"in t},z=function(t){if(I(t)){var e=t.getBBox();return!e.width&&!e.height}return!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},C=function(t){var e;if(t instanceof Element)return!0;var i=null===(e=null==t?void 0:t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(i&&t instanceof i.Element)},j="undefined"!=typeof window?window:{},F=new WeakMap,P=/auto|scroll/,U=/^tb|vertical/,M=/msie|trident/i.test(j.navigator&&j.navigator.userAgent),R=function(t){return parseFloat(t||"0")},D=function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=!1),new k((i?e:t)||0,(i?t:e)||0)},H=x({devicePixelContentBoxSize:D(),borderBoxSize:D(),contentBoxSize:D(),contentRect:new E(0,0,0,0)}),T=function(t,e){if(void 0===e&&(e=!1),F.has(t)&&!e)return F.get(t);if(z(t))return F.set(t,H),H;var i=getComputedStyle(t),o=I(t)&&t.ownerSVGElement&&t.getBBox(),s=!M&&"border-box"===i.boxSizing,r=U.test(i.writingMode||""),n=!o&&P.test(i.overflowY||""),h=!o&&P.test(i.overflowX||""),a=o?0:R(i.paddingTop),l=o?0:R(i.paddingRight),d=o?0:R(i.paddingBottom),c=o?0:R(i.paddingLeft),u=o?0:R(i.borderTopWidth),_=o?0:R(i.borderRightWidth),p=o?0:R(i.borderBottomWidth),m=c+l,f=a+d,b=(o?0:R(i.borderLeftWidth))+_,g=u+p,v=h?t.offsetHeight-g-t.clientHeight:0,w=n?t.offsetWidth-b-t.clientWidth:0,y=s?m+b:0,O=s?f+g:0,S=o?o.width:R(i.width)-y-w,k=o?o.height:R(i.height)-O-v,C=S+m+w+b,j=k+f+v+g,T=x({devicePixelContentBoxSize:D(Math.round(S*devicePixelRatio),Math.round(k*devicePixelRatio),r),borderBoxSize:D(C,j,r),contentBoxSize:D(S,k,r),contentRect:new E(c,a,S,k)});return F.set(t,T),T},A=function(t,e,i){var o=T(t,i),s=o.borderBoxSize,r=o.contentBoxSize,n=o.devicePixelContentBoxSize;switch(e){case w.DEVICE_PIXEL_CONTENT_BOX:return n;case w.BORDER_BOX:return s;default:return r}},B=function(t){var e=T(t);this.target=t,this.contentRect=e.contentRect,this.borderBoxSize=x([e.borderBoxSize]),this.contentBoxSize=x([e.contentBoxSize]),this.devicePixelContentBoxSize=x([e.devicePixelContentBoxSize])},W=function(t){if(z(t))return 1/0;for(var e=0,i=t.parentNode;i;)e+=1,i=i.parentNode;return e},$=function(){var t=1/0,e=[];y.forEach((function(i){if(0!==i.activeTargets.length){var o=[];i.activeTargets.forEach((function(e){var i=new B(e.target),s=W(e.target);o.push(i),e.lastReportedSize=A(e.target,e.observedBox),s<t&&(t=s)})),e.push((function(){i.callback.call(i.observer,o,i.observer)})),i.activeTargets.splice(0,i.activeTargets.length)}}));for(var i=0,o=e;i<o.length;i++)(0,o[i])();return t},G=function(t){y.forEach((function(e){e.activeTargets.splice(0,e.activeTargets.length),e.skippedTargets.splice(0,e.skippedTargets.length),e.observationTargets.forEach((function(i){i.isActive()&&(W(i.target)>t?e.activeTargets.push(i):e.skippedTargets.push(i))}))}))},L=[],V=0,q={attributes:!0,characterData:!0,childList:!0,subtree:!0},N=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],J=function(t){return void 0===t&&(t=0),Date.now()+t},Y=!1,K=new(function(){function t(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return t.prototype.run=function(t){var e=this;if(void 0===t&&(t=250),!Y){Y=!0;var i,o=J(t);i=function(){var i=!1;try{i=function(){var t,e=0;for(G(e);y.some((function(t){return t.activeTargets.length>0}));)e=$(),G(e);return y.some((function(t){return t.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?t=new ErrorEvent("error",{message:O}):((t=document.createEvent("Event")).initEvent("error",!1,!1),t.message=O),window.dispatchEvent(t)),e>0}()}finally{if(Y=!1,t=o-J(),!V)return;i?e.run(1e3):t>0?e.run(t):e.start()}},function(t){if(!S){var e=0,i=document.createTextNode("");new MutationObserver((function(){return L.splice(0).forEach((function(t){return t()}))})).observe(i,{characterData:!0}),S=function(){i.textContent="".concat(e?e--:e++)}}L.push(t),S()}((function(){requestAnimationFrame(i)}))}},t.prototype.schedule=function(){this.stop(),this.run()},t.prototype.observe=function(){var t=this,e=function(){return t.observer&&t.observer.observe(document.body,q)};document.body?e():j.addEventListener("DOMContentLoaded",e)},t.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),N.forEach((function(e){return j.addEventListener(e,t.listener,!0)})))},t.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),N.forEach((function(e){return j.removeEventListener(e,t.listener,!0)})),this.stopped=!0)},t}()),Z=function(t){!V&&t>0&&K.start(),!(V+=t)&&K.stop()},Q=function(){function t(t,e){this.target=t,this.observedBox=e||w.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var t,e=A(this.target,this.observedBox,!0);return I(t=this.target)||function(t){switch(t.tagName){case"INPUT":if("image"!==t.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(t)||"inline"!==getComputedStyle(t).display||(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},t}(),X=function(t,e){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=e},tt=new WeakMap,et=function(t,e){for(var i=0;i<t.length;i+=1)if(t[i].target===e)return i;return-1},it=function(){function t(){}return t.connect=function(t,e){var i=new X(t,e);tt.set(t,i)},t.observe=function(t,e,i){var o=tt.get(t),s=0===o.observationTargets.length;et(o.observationTargets,e)<0&&(s&&y.push(o),o.observationTargets.push(new Q(e,i&&i.box)),Z(1),K.schedule())},t.unobserve=function(t,e){var i=tt.get(t),o=et(i.observationTargets,e);o>=0&&(1===i.observationTargets.length&&y.splice(y.indexOf(i),1),i.observationTargets.splice(o,1),Z(-1))},t.disconnect=function(t){var e=this,i=tt.get(t);i.observationTargets.slice().forEach((function(i){return e.unobserve(t,i.target)})),i.activeTargets.splice(0,i.activeTargets.length)},t}(),ot=function(){function t(t){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof t)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");it.connect(this,t)}return t.prototype.observe=function(t,e){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!C(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");it.observe(this,t,e)},t.prototype.unobserve=function(t){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!C(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");it.unobserve(this,t)},t.prototype.disconnect=function(){it.disconnect(this)},t.toString=function(){return"function ResizeObserver () { [polyfill code] }"},t}();const st=a({name:"widgetId",initialState:{embedId:null,productHandle:null,shopDomain:null,galleryId:null,shopId:null,photoRequestId:null},reducers:{widgetIdUpdated:(t,e)=>{const{embedId:i,productHandle:o,shopDomain:s,photoRequestId:r}=e.payload;t.embedId=i,t.productHandle=o,t.shopDomain=s,t.photoRequestId=r},widgetGalleryIdUpdated:(t,e)=>{t.galleryId=e.payload},widgetShopIdUpdated:(t,e)=>{t.shopId=e.payload}}}),{widgetIdUpdated:rt,widgetGalleryIdUpdated:nt,widgetShopIdUpdated:ht}=st.actions;var at=st.reducer;const lt={production:"https://app.covet.pics",development:"http://localhost:3000",staging:"https://covetstaging.spacesquirrel.net",testing:"http://localhost:3000/testing_db"},dt=a({name:"url",initialState:{baseUrl:"",environment:"",baseBeaconsUrl:""},reducers:{setEnvironment:(t,e)=>{const i=e.payload;return t.environment="string"==typeof i&&Object.keys(lt).includes(i)?i:"production",t.baseUrl=lt[t.environment],t.baseBeaconsUrl=`${lt[t.environment]}/api/v1/beacons/`,t}}}),{setEnvironment:ct}=dt.actions;var ut=dt.reducer;const _t=a({name:"size",initialState:{widgetWidth:320,windowHeight:600,isDesktopScreen:!0},reducers:{widgetWidthUpdated:(t,e)=>{t.widgetWidth=e.payload,t.isDesktopScreen=e.payload>=800},windowHeightUpdated:(t,e)=>{t.windowHeight=e.payload}}}),{widgetWidthUpdated:pt,windowHeightUpdated:mt}=_t.actions;var ft=_t.reducer;const bt=a({name:"preview",initialState:{hoverMode:!1,popupMode:!1,mode:!1},reducers:{setPreviewHoverMode:(t,e)=>{t.hoverMode=e.payload},setPreviewPopupMode:(t,e)=>{t.popupMode=e.payload},setPreviewMode:(t,e)=>{t.mode=e.payload}}}),{setPreviewHoverMode:gt,setPreviewPopupMode:vt,setPreviewMode:wt}=bt.actions;var yt=bt.reducer;const Ot=a({name:"analytics",initialState:!1,reducers:{setAnalytics:(t,e)=>e.payload}}),{setAnalytics:St}=Ot.actions;var xt=Ot.reducer;const kt=t=>(t._arrowsDesktopType=`arrows-${t.arrow_graphics_type.toString().replace("_","-")}`,t._arrowsDesktopSizeType=t.arrow_size.toString().replace("_arrow",""),t._arrowsDesktopPosition=t.desktop_arrow_position.toString().replace("sidebar_",""),t._arrowsMobileColorTheme=t.mobile_arrow_color_theme.toString().replace("mob_",""),t._arrowsMobilePosition=t.mobile_arrow_position.toString().replace("mob_",""),t._arrowsMobileType=t.mobile_arrow_graphics_type.toString().replace("mob_","arrows-").replace("_","-"),t._buyButtonStyle=t.popup_buy_button_style.replace("buy_btn_","").replace("_","-"),t._closeButtonType=t.close_button_type.toString().split("_").join("-"),t._closeButtonСolorTheme=`close-button-color-theme-${t.close_button_color_theme.toString().replace("_btn","")}`,t),Et=a({name:"settings",initialState:kt({add_to_cart_button_caption:"Add to cart",arrow_color_theme:"light",arrow_custom_box_color:"#000000",arrow_custom_color:"#d3d3d3",arrow_graphics_type:"type_1",arrow_size:"standard",arrow_size_custom:48,background_color:"#000000",close_button_color_theme:"dark_btn",close_button_custom_box_color:"#000000",close_button_custom_color:"#d3d3d3",close_button_position:"side",close_button_size:"standard",close_button_type:"btn_type_1",customer_photo_item_label:"Add Your Photo",customer_photo_item_position:null,customer_photo_upload_body:"We would love to see it in action",customer_photo_upload_button_selector:"",customer_photo_upload_complete_body:"Thank you for your awesome photo! You will see it on the site once it’s approved",customer_photo_upload_complete_close_label:"Close",customer_photo_upload_drop_files_label:"Drag & Drop photos here",customer_photo_upload_form_body_placeholder:"Say something about your image",customer_photo_upload_form_email_placeholder:"E-mail",customer_photo_upload_form_legal_message:"",customer_photo_upload_form_name_placeholder:"Nickname",customer_photo_upload_form_send_label:"Send",customer_photo_upload_form_uploading:"Uploading...",customer_photo_upload_title:"Show It off",customer_widget_cover:null,desktop_arrow_position:"middle",direct_add_to_cart:!0,display_type:"grid",font_family:"Source Sans Pro",gallery_highlight:!1,gallery_highlight_every:0,gallery_highlight_every_start:0,gallery_mobile_photos_per_row:2,gallery_photos_count:0,gallery_photos_per_row:4,header_show_average_rating:!0,header_show_breakdown:!0,header_show_sort:!0,header_type:"header-1",hide_branding:!1,hide_social_links:!1,highlight_hotspots_layout:"hotspot-tall",highlight_layout:"slider",highlight_products_layout:"layout-1",hotspots:{enabled:!1,background_color:"#000000",show_numbers:!1,text_color:"#ffffff"},item_reveal_content:"",item_animation_duration:1,item_animation_type:"hover-animation-1",item_hover_background_opacity:80,item_hover_border_color:"#C1ACAC",item_hover_color_from:"#000000",item_hover_color_to:"#000000",item_hover_disabled:!1,item_hover_icon:!1,item_label_color:"#FFFFFF",item_label_font_size:15,item_label_font_style:"Normal",item_label_text:"SHOP THIS LOOK",item_mobile_padding:0,item_open_link:!1,item_padding:1,item_style:"standard",item_without_product_label_text:"SEE MORE",load_more_border_width:4,load_more_button_color:"#000000",load_more_button_style:"btn_style_1",load_more_font_size:14,load_more_font_style:"bold",load_more_padding:6,load_more_text:"MORE",mobile_arrow_color_theme:"mob_light",mobile_arrow_custom_box_color:"#000000",mobile_arrow_custom_color:"#d3d3d3",mobile_arrow_graphics_type:"mob_type_1",mobile_arrow_position:"mob_top",money_format:"{{amount}}",multiple_filter_enabled:!1,padding:0,pagination:"button",popup_animation:!0,popup_background_color:"#000000",popup_background_opacity:80,popup_buy_button_background_color:"#444444",popup_buy_button_background_hover_color:"#000000",popup_buy_button_text_color:"#FFFFFF",popup_buy_button_text_hover_color:"#000000",popup_custom_link_label:"Visit",popup_disable_modal:!1,popup_feed_show_caption:!0,popup_feed_show_navigation_arrows:!1,popup_feed_show_star_rating:!0,popup_feed_sound_on:!0,popup_image_size:"responsive",popup_products_button_caption:"Buy Now",popup_products_title:"SHOP THIS LOOK",popup_products_title_disabled:!1,popup_style:"standard",popup_buy_button_style:"buy_btn_style_1",popup_products_view_type:"grid_view",price_label_caption:"Price",primary_color:"#222222",secondary_color:"#BFBFBF",select_label_caption:"Select",show_header:!1,show_price:!0,show_price_in_popup:!0,show_review:!0,slideshow_autoplay:0,slideshow_arrows_desktop_align:"start",slideshow_arrows_mobile_align:"start",slideshow_arrows_desktop_position:"top",slideshow_arrows_mobile_position:"top",slideshow_scrollbar_desktop_align:"start",slideshow_scrollbar_mobile_align:"start",slideshow_scrollbar_desktop_position:"top",slideshow_scrollbar_mobile_position:"top",slideshow_load_more:!0,slideshow_video_auto_play:!1,slideshow_mobile_photos_per_row:2,slideshow_photos_per_row:4,slideshow_crop_mode:!1,slideshow_style:"regular",slideshow_desktop_pagination_style:"none",slideshow_mobile_pagination_style:"dots",star_color:"#FCD02C",tags_color:"#86848A",tags_active_color:"#302F33",tags_font_size:12,tags_font_weight:"",tags_padding:0,tags_reset_button_text:"",tags_style:"style_1",tags_wrap:"scroll",upload_show_star_rating:!0}),reducers:{setSettings:(t,e)=>{const i={};return Object.keys(e.payload).forEach((t=>{void 0!==e.payload[t]&&(i[t]=e.payload[t])})),kt(Object.assign(Object.assign({},t),i))}}}),{setSettings:It}=Et.actions,zt=l({analytics:xt,size:ft,sort:p,url:ut,preview:yt,popup:d,modals:_,slider:m,widgetId:at,settings:Et.reducer}),Ct=class{constructor(i){t(this,i),this.updateUploadWidgetCover=e(this,"updateUploadWidgetCover",7),this.elementResize=e(this,"elementResize",7),this.previewMode=!1,this.lazyLoad=!1,this.isLoading=!0,this.items=[],this.fetchingError=null,this.fontsLoaded=!1,this.filters={}}async sortUpdatedHandler(t){this.loader.resetPagination(),this.loader.sortType=t.detail;const e=await this.loader.fetchItems();void 0!==e&&(this.items=[],this.items=[...this.getItemsWithUpload(e.items)])}async filtersUpdatedHandler(t){const e=t.detail.resetFilters;this.appState.preview.mode&&delete this.loader.previewSettings.filters;const i=()=>{Object.keys(this.filters).forEach((t=>this.filters[t]=!1)),this.loader.setSelectedFilters([])};if(e)i();else{const e=t.detail.filter;this.appState.settings.multiple_filter_enabled||this.filters[e]||i(),this.filters[e]=!this.filters[e]}const o=Object.keys(this.filters).filter((t=>this.filters[t]));this.loader.setSelectedFilters(o),this.loader.resetPagination();const s=await this.loader.fetchItems();void 0!==s&&(this.items=[],this.items=[...this.getItemsWithUpload(s.items)])}async nextPageHandler(){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items])}async nextPageHandlerFreeflow(t){if(t.detail.embedId===this.appState.widgetId.embedId){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items],this.appStore.dispatch(u(this.items)))}}async updateUploadWidgetCoverPreview(t){this.updateUploadWidgetCover.emit({image:t})}async updatePreviewSettings(t,e,i){this.removeModals(),this.loader.previewHoverMode=e,this.loader.previewPopupMode=i,this.appStore.dispatch(gt(e)),this.appStore.dispatch(vt(i)),this.fontsLoaded=!1,this.loader.previewSettings=Object.assign(Object.assign({},this.loader.previewSettings),t),this.loader.resetPagination(),this.loadData()}componentWillLoad(){this.lazyLoad?this.setupLazyLoading():this.initApp()}setupLazyLoading(){this.el.style.setProperty("--covet-widget-min-height","5px"),this.intersectionObserver=this.observeElementVisibility(this.el,(()=>{this.initApp(),this.widgetResizeObserver(),this.el.style.setProperty("--covet-widget-min-height","0")}))}componentDidLoad(){this.lazyLoad||this.widgetResizeObserver()}disconnectedCallback(){this.unsubscribe(),this.resizeObserver&&this.resizeObserver.disconnect(),this.intersectionObserver&&this.intersectionObserver.disconnect()}observeElementVisibility(t,e){const i=new IntersectionObserver((o=>{o.length>0&&o[0].isIntersecting&&(e(),i.unobserve(t))}));return i.observe(t),i}initApp(){this.initAppStore(),this.setupLoader(),this.loadData()}widgetResizeObserver(){this.resizeObserver=new ot((()=>{this.appState.size.windowHeight!==window.innerHeight&&this.appStore.dispatch(mt(window.innerHeight));const t=this.appState.size.widgetWidth!==this.el.getBoundingClientRect().width;this.isWidgetWrapExist()&&t&&(this.setWidgetWidth(),this.elementResize.emit())})),this.isWidgetWrapExist()&&this.resizeObserver.observe(this.el.parentElement)}initAppStore(){this.appStore=c({reducer:zt});const t=f(this.galleryEmbedId,this.shop,this.photoRequestId,this.el);this.appStore.dispatch(rt(t)),this.appStore.dispatch(ct(this.environment)),this.appStore.dispatch(wt(this.previewMode)),this.appState=this.appStore.getState(),this.unsubscribe=this.appStore.subscribe((()=>{this.appState=this.appStore.getState()})),this.setWidgetWidth()}setupLoader(){const t=window.location;if(this.loader=new v(this.environment,this.previewMode),"string"==typeof this.customSettings&&this.loader.setCustomSettings(JSON.parse(this.customSettings)),void 0===this.galleryEmbedId||0===this.galleryEmbedId){if(void 0!==this.shopifyProductId?this.loader.productHandle=`shopify/${this.shopifyProductId}`:null!==this.el.getAttribute("data-product")?this.loader.productHandle=this.el.getAttribute("data-product"):-1!==t.pathname.indexOf("/products/")&&(this.loader.productHandle=t.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1]),this.el.hasAttribute("data-shop")&&(this.shop=this.el.getAttribute("data-shop")),void 0===this.shop)return this.fetchingError="The Covet.pics gallery embed has not loaded due to a missing Embed ID. Please make sure to fill in the correct Embed ID",void(this.isLoading=!1);this.loader.shopDomain=this.shop}else this.loader.embedId=this.galleryEmbedId}async loadData(){if(null===this.fetchingError){this.isLoading=!0;try{const t=await this.loader.fetchItems();return this.appStore.dispatch(nt(this.loader.galleryId)),this.appStore.dispatch(ht(this.loader.shopId)),this.appStore.dispatch(St(!!this.loader.data.analytics&&this.loader.data.analytics)),void 0===t?!1:(this.appStore.dispatch(It(t.settings)),this.minNumberOfPhotos=t.settings.min_number_of_photos,this.items="highlight"===this.loader.data.settings.display_type?[...t.items]:[...this.getItemsWithUpload(t.items)],this.hideElementsIfEmpty(),this.fontsLoaded||this.loadFont(),this.hasEnoughPhotos&&g(this.appState)&&n("Covet.pics Gallery View","Covet.pics Gallery","Covet.pics Gallery View - "+this.galleryEmbedId),this.hasEnoughPhotos&&b(this.appState,"gallery_view"),this.sharedItemId=await this.findAndLoadSharedItemId(),this.initFilters(),this.isLoading=!1,!0)}catch(t){return"404"===t.message&&(this.fetchingError="The Covet.pics gallery embed has not loaded because the embed does not exist. Please verify that the correct Embed ID is being used"),this.isLoading=!1,this.fetchingError}}}removeModals(){["covet-pics-upload","covet-pics-popup","covet-pics-popup-freeflow"].forEach((t=>{const e=document.querySelector(`${t}`);null!==e&&e.remove()}))}async findAndLoadSharedItemId(){return new Promise((async t=>{if(this.loader.previewPopupMode){const e=this.items.find((t=>"upload_widget"!==t.source));return t(void 0!==e?e.id.toString():"none")}const e=h(this.loader.embedId,this.loader.galleryType);if(null===e)return t("none");if(-1!==this.items.findIndex((t=>t.id===parseInt(e))))return t(e.toString());const i=await this.loader.fetchItems();return void 0===i?t("none"):(this.items=[...this.items,...i.items],t(this.findAndLoadSharedItemId()))}))}setWidgetWidth(){const t=this.isWidgetWrapExist()?this.el.getBoundingClientRect().width:320;return this.appStore.dispatch(pt(t))}isWidgetWrapExist(){return void 0!==this.el.parentElement&&this.el.parentElement instanceof HTMLElement}get hasEnoughPhotos(){return 0!==this.items.length&&(null===this.minNumberOfPhotos||void 0!==this.loader&&void 0!==this.loader.data&&!(void 0!==this.loader.data.items&&this.loader.data.items.length<this.minNumberOfPhotos&&1===this.loader.page))}initFilters(){const t=this.loader.previewSettings.filters;this.loader.data.filters.list.forEach((t=>this.filters[t]=!1)),this.appState.preview.mode&&void 0!==t&&t.forEach((t=>this.filters[t]=!0))}loadFont(){if(this.loader.data.settings.font_family){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href","https://fonts.googleapis.com/css2?family="+this.loader.data.settings.font_family.split(" ").join("+")+":wght@300;400;600;700&display=swap"),document.head.appendChild(t)}this.fontsLoaded=!0}setWidgetCSSVariables(){let t={};return this.loader.data.settings.font_family&&""!==this.loader.data.settings.font_family&&(t["--covet-internal-font-family"]=`${this.appState.settings.font_family}`),t}getItemsWithUpload(t){return this.loader.data.settings.customer_photo_item_position?(t.splice(this.loader.data.settings.customer_photo_item_position-1,0,{source:"upload_widget",imageUrl:null!==this.appState.settings.customer_widget_cover?this.appState.settings.customer_widget_cover:void 0}),t):t}renderSliderGallery(){return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-slider",{items:this.items,"shared-item-id":this.sharedItemId,"slider-style":this.loader.data.settings.slideshow_style,appStore:this.appStore}))}renderGridGallery(){var t,e,s;return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-grid",{items:this.items,rating:null===(t=this.loader.data.reviews)||void 0===t?void 0:t.rating,"rating-count":null===(e=this.loader.data.reviews)||void 0===e?void 0:e.rating_count,"product-title":this.loader.data.product_title,breakdown:null===(s=this.loader.data.reviews)||void 0===s?void 0:s.breakdown,"filters-enabled":this.loader.data.filters.enabled,"shared-item-id":this.sharedItemId,filters:this.filters,"show-load-more":"button"===this.appState.settings.pagination&&!this.isLoading&&this.loader.totalPages>this.loader.page&&this.items.length>0,appStore:this.appStore}))}renderHighlighted(){return i(o,{style:this.setWidgetCSSVariables(),class:"highlighted"},i("covet-pics-highlighted",{numberOfPages:this.loader.data.items.length,items:this.loader.data.items,appStore:this.appStore}))}hideElementsIfEmpty(){let t=this.hideElements;t||(t=this.loader.data.settings.selector_to_hide);const e=this.loader.data.items;(void 0===e||0!==e.length)&&this.hasEnoughPhotos||""===t||document.querySelectorAll(t).forEach((t=>t.style.display="none"))}renderUploadStandalone(){return i("covet-pics-upload",{standalone:!0,appStore:this.appStore})}renderError(){return i(o,null,i("p",{class:"error-message"},this.fetchingError))}render(){if(!this.isLoading&&null!==this.fetchingError)return this.renderError();if(!this.isLoading&&this.hasEnoughPhotos){const t=this.loader.data.settings.display_type;return"upload-standalone"===t?this.renderUploadStandalone():"slider"===t?this.renderSliderGallery():"highlight"===t?this.renderHighlighted():this.renderGridGallery()}}get el(){return s(this)}};Ct.style=":host{--covet-font-family:var(--covet-custom-font-family, var(--covet-internal-font-family)), sans-serif}:host{font-family:var(--covet-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;min-height:var(--covet-widget-min-height)}:host .error-message{text-align:center;border:2px dashed;padding:20px}";export{Ct as covet_pics_widget}
|
|
4
|
+
import{r as t,c as e,h as i,H as o,g as s}from"./p-C-mGosc6.js";import{B as r,s as n,f as h}from"./p-BODOgEuN.js";import{c as a,a as l,p as d,b as c,s as u}from"./p-B68hw7d9.js";import{m as _,s as p}from"./p-BJA1jk-5.js";import{s as m}from"./p-CP5h6CHJ.js";import{g as f,s as b}from"./p-Mc-D_Wnh.js";import{g}from"./p-C5ofYrUT.js";class v{constructor(t,e){this.page=0,this.isLoading=!1,this.totalPages=1,this.previewSettings={},this.previewHoverMode=!1,this.previewPopupMode=!1,this.previewMode=!1,this.sortType="",this._customSettings={},this._selectedFilters=[],this._environment="production","boolean"==typeof e&&(this.previewMode=e),"string"==typeof t&&Object.keys(r).includes(t)&&(this._environment=t)}get baseUrl(){return r[this._environment]}get galleryType(){return this.productHandle?"product_gallery":"standard_gallery"}setCustomSettings(t){return this._customSettings=Object.assign({},t),Object.keys(this._customSettings).forEach((t=>null===this._customSettings[t]?delete this._customSettings[t]:this._customSettings[t])),this._customSettings}setSelectedFilters(t){return this._selectedFilters=[...t]}standardGalleryUrl(){return"/api/v1/embed/:id".replace(":id",this.embedId)}productGalleryUrl(){return"/api/v1/shop/:shop/product/:handle".replace(":shop",this.shopDomain).replace(":handle",this.productHandle)}galleryUrl(){if("testing"===this._environment)return"http://localhost:3000/embed";let t=this.baseUrl;return t+=this.productHandle?this.productGalleryUrl():this.standardGalleryUrl(),this.previewMode&&(t+="/preview"),""!==this.sortType&&(t+=`?sort_by=${this.sortType}`),t}resetPagination(){this.page=0,this.totalPages=1}async fetchItems(){if(this.isLoading||this.page>=this.totalPages)return;this.isLoading=!0,this.page+=1;let t=this.galleryUrl();const e=[];this.page>1&&e.push(`page=${this.page}`),this._selectedFilters.length>0&&(this.previewMode?this.previewSettings.filters=this._selectedFilters:this._selectedFilters.forEach((t=>e.push(encodeURIComponent("filters[]")+"="+encodeURIComponent(t))))),e.length>0&&(t+=`?${e.join("&")}`);const i=await fetch(t,this.fetchOptions);if(!i.ok)throw new Error(`${i.status}`);const o=await i.json();return o.items=this.getItemsWithLocaleLinks(o.items),this.data=Object.assign({},o),this.data.settings=Object.assign(Object.assign({},this.data.settings),this._customSettings),o.settings=void 0!==this.previewSettings.settings?Object.assign(Object.assign(Object.assign({},o.settings),this._customSettings),this.previewSettings.settings):Object.assign(Object.assign({},o.settings),this._customSettings),this.totalPages=o.total_pages,this.galleryId=o.gallery_id,this.shopId=o.shop_id,this.isLoading=!1,o}getItemsWithLocaleLinks(t){return t.forEach((t=>(t.links&&t.links.length>0&&t.links.forEach((t=>(t.link=(t=>{const e=window.location.hostname;let i=t;const o=window.Shopify;return void 0!==o&&o.routes&&o.routes.root&&"/"!==o.routes.root?i.replace(`${e}/`,`${e}${o.routes.root}`):i})(t.link),t))),t))),t}get fetchOptions(){const t={},e={},i=Object.keys(this.previewSettings);return this.previewMode&&(e.method="POST",e.headers={"Content-Type":"application/json"},i.length>0&&(i.forEach((e=>{const i=e.replace(/^(gallery_embed\[)/,"").replace(/\]$/,"");t[i]=this.previewSettings[e]})),e.body=JSON.stringify(t))),e}}var w,y=[],O="ResizeObserver loop completed with undelivered notifications.";!function(t){t.BORDER_BOX="border-box",t.CONTENT_BOX="content-box",t.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(w||(w={}));var S,x=function(t){return Object.freeze(t)},E=function(t,e){this.inlineSize=t,this.blockSize=e,x(this)},k=function(){function t(t,e,i,o){return this.x=t,this.y=e,this.width=i,this.height=o,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,x(this)}return t.prototype.toJSON=function(){var t=this;return{x:t.x,y:t.y,top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}},t.fromRect=function(e){return new t(e.x,e.y,e.width,e.height)},t}(),I=function(t){return t instanceof SVGElement&&"getBBox"in t},z=function(t){if(I(t)){var e=t.getBBox();return!e.width&&!e.height}return!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},j=function(t){var e;if(t instanceof Element)return!0;var i=null===(e=null==t?void 0:t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(i&&t instanceof i.Element)},C="undefined"!=typeof window?window:{},F=new WeakMap,P=/auto|scroll/,U=/^tb|vertical/,M=/msie|trident/i.test(C.navigator&&C.navigator.userAgent),R=function(t){return parseFloat(t||"0")},D=function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=!1),new E((i?e:t)||0,(i?t:e)||0)},B=x({devicePixelContentBoxSize:D(),borderBoxSize:D(),contentBoxSize:D(),contentRect:new k(0,0,0,0)}),H=function(t,e){if(void 0===e&&(e=!1),F.has(t)&&!e)return F.get(t);if(z(t))return F.set(t,B),B;var i=getComputedStyle(t),o=I(t)&&t.ownerSVGElement&&t.getBBox(),s=!M&&"border-box"===i.boxSizing,r=U.test(i.writingMode||""),n=!o&&P.test(i.overflowY||""),h=!o&&P.test(i.overflowX||""),a=o?0:R(i.paddingTop),l=o?0:R(i.paddingRight),d=o?0:R(i.paddingBottom),c=o?0:R(i.paddingLeft),u=o?0:R(i.borderTopWidth),_=o?0:R(i.borderRightWidth),p=o?0:R(i.borderBottomWidth),m=c+l,f=a+d,b=(o?0:R(i.borderLeftWidth))+_,g=u+p,v=h?t.offsetHeight-g-t.clientHeight:0,w=n?t.offsetWidth-b-t.clientWidth:0,y=s?m+b:0,O=s?f+g:0,S=o?o.width:R(i.width)-y-w,E=o?o.height:R(i.height)-O-v,j=S+m+w+b,C=E+f+v+g,H=x({devicePixelContentBoxSize:D(Math.round(S*devicePixelRatio),Math.round(E*devicePixelRatio),r),borderBoxSize:D(j,C,r),contentBoxSize:D(S,E,r),contentRect:new k(c,a,S,E)});return F.set(t,H),H},T=function(t,e,i){var o=H(t,i),s=o.borderBoxSize,r=o.contentBoxSize,n=o.devicePixelContentBoxSize;switch(e){case w.DEVICE_PIXEL_CONTENT_BOX:return n;case w.BORDER_BOX:return s;default:return r}},A=function(t){var e=H(t);this.target=t,this.contentRect=e.contentRect,this.borderBoxSize=x([e.borderBoxSize]),this.contentBoxSize=x([e.contentBoxSize]),this.devicePixelContentBoxSize=x([e.devicePixelContentBoxSize])},W=function(t){if(z(t))return 1/0;for(var e=0,i=t.parentNode;i;)e+=1,i=i.parentNode;return e},$=function(){var t=1/0,e=[];y.forEach((function(i){if(0!==i.activeTargets.length){var o=[];i.activeTargets.forEach((function(e){var i=new A(e.target),s=W(e.target);o.push(i),e.lastReportedSize=T(e.target,e.observedBox),s<t&&(t=s)})),e.push((function(){i.callback.call(i.observer,o,i.observer)})),i.activeTargets.splice(0,i.activeTargets.length)}}));for(var i=0,o=e;i<o.length;i++)(0,o[i])();return t},G=function(t){y.forEach((function(e){e.activeTargets.splice(0,e.activeTargets.length),e.skippedTargets.splice(0,e.skippedTargets.length),e.observationTargets.forEach((function(i){i.isActive()&&(W(i.target)>t?e.activeTargets.push(i):e.skippedTargets.push(i))}))}))},L=[],N=0,V={attributes:!0,characterData:!0,childList:!0,subtree:!0},q=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],J=function(t){return void 0===t&&(t=0),Date.now()+t},Y=!1,K=new(function(){function t(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return t.prototype.run=function(t){var e=this;if(void 0===t&&(t=250),!Y){Y=!0;var i,o=J(t);i=function(){var i=!1;try{i=function(){var t,e=0;for(G(e);y.some((function(t){return t.activeTargets.length>0}));)e=$(),G(e);return y.some((function(t){return t.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?t=new ErrorEvent("error",{message:O}):((t=document.createEvent("Event")).initEvent("error",!1,!1),t.message=O),window.dispatchEvent(t)),e>0}()}finally{if(Y=!1,t=o-J(),!N)return;i?e.run(1e3):t>0?e.run(t):e.start()}},function(t){if(!S){var e=0,i=document.createTextNode("");new MutationObserver((function(){return L.splice(0).forEach((function(t){return t()}))})).observe(i,{characterData:!0}),S=function(){i.textContent="".concat(e?e--:e++)}}L.push(t),S()}((function(){requestAnimationFrame(i)}))}},t.prototype.schedule=function(){this.stop(),this.run()},t.prototype.observe=function(){var t=this,e=function(){return t.observer&&t.observer.observe(document.body,V)};document.body?e():C.addEventListener("DOMContentLoaded",e)},t.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),q.forEach((function(e){return C.addEventListener(e,t.listener,!0)})))},t.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),q.forEach((function(e){return C.removeEventListener(e,t.listener,!0)})),this.stopped=!0)},t}()),Z=function(t){!N&&t>0&&K.start(),!(N+=t)&&K.stop()},Q=function(){function t(t,e){this.target=t,this.observedBox=e||w.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var t,e=T(this.target,this.observedBox,!0);return I(t=this.target)||function(t){switch(t.tagName){case"INPUT":if("image"!==t.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(t)||"inline"!==getComputedStyle(t).display||(this.lastReportedSize=e),this.lastReportedSize.inlineSize!==e.inlineSize||this.lastReportedSize.blockSize!==e.blockSize},t}(),X=function(t,e){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=e},tt=new WeakMap,et=function(t,e){for(var i=0;i<t.length;i+=1)if(t[i].target===e)return i;return-1},it=function(){function t(){}return t.connect=function(t,e){var i=new X(t,e);tt.set(t,i)},t.observe=function(t,e,i){var o=tt.get(t),s=0===o.observationTargets.length;et(o.observationTargets,e)<0&&(s&&y.push(o),o.observationTargets.push(new Q(e,i&&i.box)),Z(1),K.schedule())},t.unobserve=function(t,e){var i=tt.get(t),o=et(i.observationTargets,e);o>=0&&(1===i.observationTargets.length&&y.splice(y.indexOf(i),1),i.observationTargets.splice(o,1),Z(-1))},t.disconnect=function(t){var e=this,i=tt.get(t);i.observationTargets.slice().forEach((function(i){return e.unobserve(t,i.target)})),i.activeTargets.splice(0,i.activeTargets.length)},t}(),ot=function(){function t(t){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof t)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");it.connect(this,t)}return t.prototype.observe=function(t,e){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!j(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");it.observe(this,t,e)},t.prototype.unobserve=function(t){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!j(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");it.unobserve(this,t)},t.prototype.disconnect=function(){it.disconnect(this)},t.toString=function(){return"function ResizeObserver () { [polyfill code] }"},t}();const st=a({name:"widgetId",initialState:{embedId:null,productHandle:null,shopDomain:null,galleryId:null,shopId:null,photoRequestId:null},reducers:{widgetIdUpdated:(t,e)=>{const{embedId:i,productHandle:o,shopDomain:s,photoRequestId:r}=e.payload;t.embedId=i,t.productHandle=o,t.shopDomain=s,t.photoRequestId=r},widgetGalleryIdUpdated:(t,e)=>{t.galleryId=e.payload},widgetShopIdUpdated:(t,e)=>{t.shopId=e.payload}}}),{widgetIdUpdated:rt,widgetGalleryIdUpdated:nt,widgetShopIdUpdated:ht}=st.actions;var at=st.reducer;const lt={production:"https://app.covet.pics",development:"http://localhost:3000",staging:"https://covetstaging.spacesquirrel.net",testing:"http://localhost:3000/testing_db"},dt=a({name:"url",initialState:{baseUrl:"",environment:"",baseBeaconsUrl:""},reducers:{setEnvironment:(t,e)=>{const i=e.payload;return t.environment="string"==typeof i&&Object.keys(lt).includes(i)?i:"production",t.baseUrl=lt[t.environment],t.baseBeaconsUrl=`${lt[t.environment]}/api/v1/beacons/`,t}}}),{setEnvironment:ct}=dt.actions;var ut=dt.reducer;const _t=a({name:"size",initialState:{widgetWidth:320,windowHeight:600,isDesktopScreen:!0},reducers:{widgetWidthUpdated:(t,e)=>{t.widgetWidth=e.payload,t.isDesktopScreen=e.payload>=800},windowHeightUpdated:(t,e)=>{t.windowHeight=e.payload}}}),{widgetWidthUpdated:pt,windowHeightUpdated:mt}=_t.actions;var ft=_t.reducer;const bt=a({name:"preview",initialState:{hoverMode:!1,popupMode:!1,mode:!1},reducers:{setPreviewHoverMode:(t,e)=>{t.hoverMode=e.payload},setPreviewPopupMode:(t,e)=>{t.popupMode=e.payload},setPreviewMode:(t,e)=>{t.mode=e.payload}}}),{setPreviewHoverMode:gt,setPreviewPopupMode:vt,setPreviewMode:wt}=bt.actions;var yt=bt.reducer;const Ot=a({name:"analytics",initialState:!1,reducers:{setAnalytics:(t,e)=>e.payload}}),{setAnalytics:St}=Ot.actions;var xt=Ot.reducer;const Et=t=>(t._arrowsDesktopType=`arrows-${t.arrow_graphics_type.toString().replace("_","-")}`,t._arrowsDesktopSizeType=t.arrow_size.toString().replace("_arrow",""),t._arrowsDesktopPosition=t.desktop_arrow_position.toString().replace("sidebar_",""),t._arrowsMobileColorTheme=t.mobile_arrow_color_theme.toString().replace("mob_",""),t._arrowsMobilePosition=t.mobile_arrow_position.toString().replace("mob_",""),t._arrowsMobileType=t.mobile_arrow_graphics_type.toString().replace("mob_","arrows-").replace("_","-"),t._buyButtonStyle=t.popup_buy_button_style.replace("buy_btn_","").replace("_","-"),t._closeButtonType=t.close_button_type.toString().split("_").join("-"),t._closeButtonСolorTheme=`close-button-color-theme-${t.close_button_color_theme.toString().replace("_btn","")}`,t),kt=a({name:"settings",initialState:Et({add_to_cart_button_caption:"Add to cart",arrow_color_theme:"light",arrow_custom_box_color:"#000000",arrow_custom_color:"#d3d3d3",arrow_graphics_type:"type_1",arrow_size:"standard",arrow_size_custom:48,background_color:"#000000",close_button_color_theme:"dark_btn",close_button_custom_box_color:"#000000",close_button_custom_color:"#d3d3d3",close_button_position:"side",close_button_size:"standard",close_button_type:"btn_type_1",customer_photo_item_label:"Add Your Photo",customer_photo_item_position:null,customer_photo_upload_body:"We would love to see it in action",customer_photo_upload_button_selector:"",customer_photo_upload_complete_body:"Thank you for your awesome photo! You will see it on the site once it’s approved",customer_photo_upload_complete_close_label:"Close",customer_photo_upload_drop_files_label:"Drag & Drop photos here",customer_photo_upload_form_body_placeholder:"Say something about your image",customer_photo_upload_form_email_placeholder:"E-mail",customer_photo_upload_form_legal_message:"",customer_photo_upload_form_name_placeholder:"Nickname",customer_photo_upload_form_send_label:"Send",customer_photo_upload_form_uploading:"Uploading...",customer_photo_upload_title:"Show It off",customer_widget_cover:null,desktop_arrow_position:"middle",direct_add_to_cart:!0,display_type:"grid",font_family:"Source Sans Pro",gallery_highlight:!1,gallery_highlight_every:0,gallery_highlight_every_start:0,gallery_mobile_photos_per_row:2,gallery_photos_count:0,gallery_photos_per_row:4,header_show_average_rating:!0,header_show_breakdown:!0,header_show_sort:!0,header_type:"header-1",hide_branding:!1,hide_social_links:!1,highlight_hotspots_layout:"hotspot-tall",highlight_layout:"slider",highlight_products_layout:"layout-1",hotspots:{enabled:!1,background_color:"#000000",show_numbers:!1,text_color:"#ffffff"},item_reveal_content:"",item_animation_duration:1,item_animation_type:"hover-animation-1",item_hover_background_opacity:80,item_hover_border_color:"#C1ACAC",item_hover_color_from:"#000000",item_hover_color_to:"#000000",item_hover_disabled:!1,item_hover_icon:!1,item_label_color:"#FFFFFF",item_label_font_size:15,item_label_font_style:"Normal",item_label_text:"SHOP THIS LOOK",item_mobile_padding:0,item_open_link:!1,item_padding:1,item_style:"standard",item_without_product_label_text:"SEE MORE",load_more_border_width:4,load_more_button_color:"#000000",load_more_button_style:"btn_style_1",load_more_font_size:14,load_more_font_style:"bold",load_more_padding:6,load_more_text:"MORE",mobile_arrow_color_theme:"mob_light",mobile_arrow_custom_box_color:"#000000",mobile_arrow_custom_color:"#d3d3d3",mobile_arrow_graphics_type:"mob_type_1",mobile_arrow_position:"mob_top",money_format:"{{amount}}",multiple_filter_enabled:!1,padding:0,pagination:"button",popup_animation:!0,popup_background_color:"#000000",popup_background_opacity:80,popup_buy_button_background_color:"#444444",popup_buy_button_background_hover_color:"#000000",popup_buy_button_text_color:"#FFFFFF",popup_buy_button_text_hover_color:"#000000",popup_custom_link_label:"Visit",popup_disable_modal:!1,popup_feed_show_caption:!0,popup_feed_show_navigation_arrows:!1,popup_feed_show_star_rating:!0,popup_feed_sound_on:!0,popup_image_size:"responsive",popup_products_button_caption:"Buy Now",popup_products_title:"SHOP THIS LOOK",popup_products_title_disabled:!1,popup_style:"standard",popup_buy_button_style:"buy_btn_style_1",popup_products_view_type:"grid_view",price_label_caption:"Price",primary_color:"#222222",secondary_color:"#BFBFBF",select_label_caption:"Select",show_header:!1,show_price:!0,show_price_in_popup:!0,show_review:!0,slideshow_autoplay:0,slideshow_arrows_desktop_align:"start",slideshow_arrows_mobile_align:"start",slideshow_arrows_desktop_position:"top",slideshow_arrows_mobile_position:"top",slideshow_scrollbar_desktop_align:"start",slideshow_scrollbar_mobile_align:"start",slideshow_scrollbar_desktop_position:"top",slideshow_scrollbar_mobile_position:"top",slideshow_load_more:!0,slideshow_video_auto_play:!1,slideshow_mobile_photos_per_row:2,slideshow_photos_per_row:4,slideshow_crop_mode:!1,slideshow_style:"regular",slideshow_desktop_pagination_style:"none",slideshow_mobile_pagination_style:"dots",star_color:"#FCD02C",tags_color:"#86848A",tags_active_color:"#302F33",tags_font_size:12,tags_font_weight:"",tags_padding:0,tags_reset_button_text:"",tags_style:"style_1",tags_wrap:"scroll",upload_show_star_rating:!0}),reducers:{setSettings:(t,e)=>{const i={};return Object.keys(e.payload).forEach((t=>{void 0!==e.payload[t]&&(i[t]=e.payload[t])})),Et(Object.assign(Object.assign({},t),i))}}}),{setSettings:It}=kt.actions,zt=l({analytics:xt,size:ft,sort:p,url:ut,preview:yt,popup:d,modals:_,slider:m,widgetId:at,settings:kt.reducer}),jt=class{constructor(i){t(this,i),this.updateUploadWidgetCover=e(this,"updateUploadWidgetCover",7),this.elementResize=e(this,"elementResize",7),this.previewMode=!1,this.lazyLoad=!1,this.isLoading=!0,this.items=[],this.fetchingError=null,this.fontsLoaded=!1,this.filters={}}async sortUpdatedHandler(t){this.loader.resetPagination(),this.loader.sortType=t.detail;const e=await this.loader.fetchItems();void 0!==e&&(this.items=[],this.items=[...this.getItemsWithUpload(e.items)])}async filtersUpdatedHandler(t){const e=t.detail.resetFilters;this.appState.preview.mode&&delete this.loader.previewSettings.filters;const i=()=>{Object.keys(this.filters).forEach((t=>this.filters[t]=!1)),this.loader.setSelectedFilters([])};if(e)i();else{const e=t.detail.filter;this.appState.settings.multiple_filter_enabled||this.filters[e]||i(),this.filters[e]=!this.filters[e]}const o=Object.keys(this.filters).filter((t=>this.filters[t]));this.loader.setSelectedFilters(o),this.loader.resetPagination();const s=await this.loader.fetchItems();void 0!==s&&(this.items=[],this.items=[...this.getItemsWithUpload(s.items)])}async nextPageHandler(){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items])}async nextPageHandlerFreeflow(t){if(t.detail.embedId===this.appState.widgetId.embedId){const t=await this.loader.fetchItems();void 0!==t&&(this.items=[...this.items,...t.items],this.appStore.dispatch(u(this.items)))}}async updateUploadWidgetCoverPreview(t){this.updateUploadWidgetCover.emit({image:t})}async updatePreviewSettings(t,e,i){this.removeModals(),this.loader.previewHoverMode=e,this.loader.previewPopupMode=i,this.appStore.dispatch(gt(e)),this.appStore.dispatch(vt(i)),this.fontsLoaded=!1,this.loader.previewSettings=Object.assign(Object.assign({},this.loader.previewSettings),t),this.loader.resetPagination(),this.loadData()}componentWillLoad(){this.lazyLoad?this.setupLazyLoading():this.initApp()}setupLazyLoading(){this.el.style.setProperty("--covet-widget-min-height","5px"),this.intersectionObserver=this.observeElementVisibility(this.el,(()=>{this.initApp(),this.widgetResizeObserver(),this.el.style.setProperty("--covet-widget-min-height","0")}))}componentDidLoad(){this.lazyLoad||this.widgetResizeObserver()}disconnectedCallback(){this.unsubscribe(),this.resizeObserver&&this.resizeObserver.disconnect(),this.intersectionObserver&&this.intersectionObserver.disconnect()}observeElementVisibility(t,e){const i=new IntersectionObserver((o=>{o.length>0&&o[0].isIntersecting&&(e(),i.unobserve(t))}));return i.observe(t),i}initApp(){this.initAppStore(),this.setupLoader(),this.loadData()}widgetResizeObserver(){this.resizeObserver=new ot((()=>{this.appState.size.windowHeight!==window.innerHeight&&this.appStore.dispatch(mt(window.innerHeight));const t=this.appState.size.widgetWidth!==this.el.getBoundingClientRect().width;this.isWidgetWrapExist()&&t&&(this.setWidgetWidth(),this.elementResize.emit())})),this.isWidgetWrapExist()&&this.resizeObserver.observe(this.el.parentElement)}initAppStore(){this.appStore=c({reducer:zt});const t=f(this.galleryEmbedId,this.shop,this.photoRequestId,this.el);this.appStore.dispatch(rt(t)),this.appStore.dispatch(ct(this.environment)),this.appStore.dispatch(wt(this.previewMode)),this.appState=this.appStore.getState(),this.unsubscribe=this.appStore.subscribe((()=>{this.appState=this.appStore.getState()})),this.setWidgetWidth()}setupLoader(){const t=window.location;if(this.loader=new v(this.environment,this.previewMode),"string"==typeof this.customSettings&&this.loader.setCustomSettings(JSON.parse(this.customSettings)),void 0===this.galleryEmbedId||0===this.galleryEmbedId){if(void 0!==this.shopifyProductId?this.loader.productHandle=`shopify/${this.shopifyProductId}`:null!==this.el.getAttribute("data-product")?this.loader.productHandle=this.el.getAttribute("data-product"):-1!==t.pathname.indexOf("/products/")&&(this.loader.productHandle=t.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1]),this.el.hasAttribute("data-shop")&&(this.shop=this.el.getAttribute("data-shop")),void 0===this.shop)return this.fetchingError="The Covet.pics gallery embed has not loaded due to a missing Embed ID. Please make sure to fill in the correct Embed ID",void(this.isLoading=!1);this.loader.shopDomain=this.shop}else this.loader.embedId=this.galleryEmbedId}async loadData(){if(null===this.fetchingError){this.isLoading=!0;try{const t=await this.loader.fetchItems();return this.appStore.dispatch(nt(this.loader.galleryId)),this.appStore.dispatch(ht(this.loader.shopId)),this.appStore.dispatch(St(!!this.loader.data.analytics&&this.loader.data.analytics)),void 0===t?!1:(this.appStore.dispatch(It(t.settings)),this.minNumberOfPhotos=t.settings.min_number_of_photos,this.items="highlight"===this.loader.data.settings.display_type?[...t.items]:[...this.getItemsWithUpload(t.items)],this.hideElementsIfEmpty(),this.fontsLoaded||this.loadFont(),this.hasEnoughPhotos&&g(this.appState)&&n("Covet.pics Gallery View","Covet.pics Gallery","Covet.pics Gallery View - "+this.galleryEmbedId),this.hasEnoughPhotos&&b(this.appState,"gallery_view"),this.sharedItemId=await this.findAndLoadSharedItemId(),this.initFilters(),this.isLoading=!1,!0)}catch(t){return"404"===t.message&&(this.fetchingError="The Covet.pics gallery embed has not loaded because the embed does not exist. Please verify that the correct Embed ID is being used"),this.isLoading=!1,this.fetchingError}}}removeModals(){["covet-pics-upload","covet-pics-popup","covet-pics-popup-freeflow"].forEach((t=>{const e=document.querySelector(`${t}`);null!==e&&e.remove()}))}async findAndLoadSharedItemId(){return new Promise((async t=>{if(this.loader.previewPopupMode){const e=this.items.find((t=>"upload_widget"!==t.source));return t(void 0!==e?e.id.toString():"none")}const e=h(this.loader.embedId,this.loader.galleryType);if(null===e)return t("none");if(-1!==this.items.findIndex((t=>t.id===parseInt(e))))return t(e.toString());const i=await this.loader.fetchItems();return void 0===i?t("none"):(this.items=[...this.items,...i.items],t(this.findAndLoadSharedItemId()))}))}setWidgetWidth(){const t=this.isWidgetWrapExist()?this.el.getBoundingClientRect().width:320;return this.appStore.dispatch(pt(t))}isWidgetWrapExist(){return void 0!==this.el.parentElement&&this.el.parentElement instanceof HTMLElement}get hasEnoughPhotos(){return 0!==this.items.length&&(null===this.minNumberOfPhotos||void 0!==this.loader&&void 0!==this.loader.data&&!(void 0!==this.loader.data.items&&this.loader.data.items.length<this.minNumberOfPhotos&&1===this.loader.page))}initFilters(){const t=this.loader.previewSettings.filters;this.loader.data.filters.list.forEach((t=>this.filters[t]=!1)),this.appState.preview.mode&&void 0!==t&&t.forEach((t=>this.filters[t]=!0))}loadFont(){if(this.loader.data.settings.font_family){const t=document.createElement("link");t.setAttribute("rel","stylesheet"),t.setAttribute("href","https://fonts.googleapis.com/css2?family="+this.loader.data.settings.font_family.split(" ").join("+")+":wght@300;400;600;700&display=swap"),document.head.appendChild(t)}this.fontsLoaded=!0}setWidgetCSSVariables(){let t={};return this.loader.data.settings.font_family&&""!==this.loader.data.settings.font_family&&(t["--covet-internal-font-family"]=`${this.appState.settings.font_family}`),t}getItemsWithUpload(t){return this.loader.data.settings.customer_photo_item_position?(t.splice(this.loader.data.settings.customer_photo_item_position-1,0,{source:"upload_widget",imageUrl:null!==this.appState.settings.customer_widget_cover?this.appState.settings.customer_widget_cover:void 0}),t):t}renderSliderGallery(){return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-slider",{items:this.items,"shared-item-id":this.sharedItemId,"slider-style":this.loader.data.settings.slideshow_style,appStore:this.appStore}))}renderGridGallery(){var t,e,s;return i(o,{style:this.setWidgetCSSVariables(),class:"needsclick"},i("covet-pics-gallery-grid",{items:this.items,rating:null===(t=this.loader.data.reviews)||void 0===t?void 0:t.rating,"rating-count":null===(e=this.loader.data.reviews)||void 0===e?void 0:e.rating_count,"product-title":this.loader.data.product_title,breakdown:null===(s=this.loader.data.reviews)||void 0===s?void 0:s.breakdown,"filters-enabled":this.loader.data.filters.enabled,"shared-item-id":this.sharedItemId,filters:this.filters,"show-load-more":"button"===this.appState.settings.pagination&&!this.isLoading&&this.loader.totalPages>this.loader.page&&this.items.length>0,appStore:this.appStore}))}renderHighlighted(){return i(o,{style:this.setWidgetCSSVariables(),class:"highlighted"},i("covet-pics-highlighted",{numberOfPages:this.loader.data.items.length,items:this.loader.data.items,appStore:this.appStore}))}hideElementsIfEmpty(){let t=this.hideElements;t||(t=this.loader.data.settings.selector_to_hide);const e=this.loader.data.items;(void 0===e||0!==e.length)&&this.hasEnoughPhotos||""===t||document.querySelectorAll(t).forEach((t=>t.style.display="none"))}renderUploadStandalone(){return i("covet-pics-upload",{standalone:!0,appStore:this.appStore})}renderError(){return i(o,null,i("p",{class:"error-message"},this.fetchingError))}render(){if(!this.isLoading&&null!==this.fetchingError)return this.renderError();if(!this.isLoading&&this.hasEnoughPhotos){const t=this.loader.data.settings.display_type;return"upload-standalone"===t?this.renderUploadStandalone():"slider"===t?this.renderSliderGallery():"highlight"===t?this.renderHighlighted():this.renderGridGallery()}}get el(){return s(this)}};jt.style=":host{--covet-font-family:var(--covet-custom-font-family, var(--covet-internal-font-family)), sans-serif}:host{font-family:var(--covet-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;min-height:var(--covet-widget-min-height)}:host .error-message{text-align:center;border:2px dashed;padding:20px}";export{jt as covet_pics_widget}
|