| 1 |
import{b as h,j as t}from"./chunks/BlockEditorTranslator.js?ver=1.5.2";import{u as A,S as T}from"./chunks/SingleProductContext.js?ver=1.5.2";import{i as M}from"./chunks/Icons.js?ver=1.5.2";import{u as q}from"./chunks/ProductContext.js?ver=1.5.2";import{P as z}from"./chunks/ProductContainerContext.js?ver=1.5.2";const{useBlockProps:D}=wp.blockEditor,_=window.fluent_cart_product_image_data,F=_.placeholder_image,H={title:_.title,description:_.description,icon:{src:M},category:"fluent-cart",edit:()=>{var o,i;const s=D(),e=A(),r=e==null?void 0:e.currentImage,a=e==null?void 0:e.product,n=(r==null?void 0:r.url)||((i=(o=a==null?void 0:a.detail)==null?void 0:o.featured_media)==null?void 0:i.url)||F,l=(r==null?void 0:r.title)||(a==null?void 0:a.post_title)||h("Product Image");return t.jsx("div",{...s,children:t.jsx("img",{src:n,alt:l,className:"w-full aspect-square object-cover rounded-md"})})},save(){return null},supports:{html:!1,align:["left","center","right","wide","full"],__experimentalBorder:{color:!0,radius:!0,style:!0,width:!0},spacing:{margin:!0,padding:!0},shadow:!0,__experimentalFilter:{duotone:!0}},usesContext:["fluent-cart/query_type","fluent-cart/carousel_settings","fluent-cart/current_image","fluent-cart/image_index"]},{InnerBlocks:L,useBlockProps:b,useInnerBlocksProps:O,__experimentalUseBlockPreview:R}=wp.blockEditor,U=R||null,{useContext:V,useEffect:W,useState:K,useMemo:G,memo:J}=wp.element,{useSelect:Q}=wp.data;var P,N;const X=((P=window.fluent_cart_product_image_data)==null?void 0:P.placeholder_image)||((N=window.fluent_cart_block_editor_asset)==null?void 0:N.placeholder_image)||"",Y=()=>{const s=O({className:"fct-media-carousel-slide"},{__unstableDisableLayoutClassNames:!0});return t.jsx("div",{...s})},Z=({blocks:s,blockContextId:e,isHidden:r,setActiveBlockContextId:a})=>{const n=U({blocks:s,props:{className:"fct-media-carousel-slide"}}),l=()=>{a(e)},o={display:r?"none":void 0};return t.jsx("div",{...n,tabIndex:0,role:"button",onClick:l,onKeyPress:l,style:o})},ee=J(Z),te=({displayTemplate:s,blocks:e,imageIndex:r,setActiveBlockContextId:a})=>t.jsxs(t.Fragment,{children:[s?t.jsx(Y,{}):null,t.jsx(ee,{blocks:e,blockContextId:r,setActiveBlockContextId:a,isHidden:s})]}),se=s=>{var n,l;if(!s)return[];const e=[];return(Array.isArray((l=(n=s==null?void 0:s.detail)==null?void 0:n.gallery_image)==null?void 0:l.meta_value)?s.detail.gallery_image.meta_value:[]).forEach(o=>{o!=null&&o.url&&e.push(o)}),((s==null?void 0:s.variants)||[]).forEach(o=>{var p;(Array.isArray((p=o==null?void 0:o.media)==null?void 0:p.meta_value)?o.media.meta_value:[]).forEach(c=>{c!=null&&c.url&&e.push(c)})}),e.length||e.push({id:"placeholder",url:X,title:"Product Image"}),e},re={attributes:{wp_client_id:{type:"string",default:""},last_changed:{type:"string",default:""}},edit:s=>{var j;const{attributes:e,setAttributes:r,clientId:a,context:n}=s,l=V(z)||{},{simulateLoading:o,simulateNoResults:i}=l,c=b({className:"fct-shop-app-preview-wrap "+(o||i?"hide":"")});W(()=>{r({last_changed:new Date().toISOString()}),!e.wp_client_id&&r({wp_client_id:a})},[a,e.wp_client_id,r]);const m=q(),g=((j=m==null?void 0:m.products)==null?void 0:j[0])||null,f=n["fluent-cart/carousel_settings"]||{},v=Math.max(1,Number((f==null?void 0:f.slidesToShow)||3)),B=G(()=>se(g),[g]),x=Q(u=>u("core/block-editor").getBlock(a),[a]),E=(x==null?void 0:x.innerBlocks)||[],[C,S]=K(0),k=B.slice(0,v);return t.jsx("div",{...c,children:t.jsx("div",{className:"fct-product-loop-editor",style:{display:"grid",gridTemplateColumns:`repeat(${Math.min(v,k.length||1)}, 1fr)`,gap:"12px"},children:k.map((u,d)=>{const $=d===(C??0);return t.jsx(T,{value:{product:g,currentImage:u,imageIndex:d},children:t.jsx("div",{className:"fluent-cart-product-loop fct-product-block-editor-product-card",children:t.jsx(te,{displayTemplate:$,blocks:E,imageIndex:d,setActiveBlockContextId:S})})},u.id||d)})})})},save:s=>{const e=b.save();return t.jsx("div",{...e,className:"fluent-cart-product-loop fct-product-block-editor-product-card",children:t.jsx(L.Content,{})})},supports:{align:["wide","full"],html:!1},usesContext:["fluent-cart/query_type","fluent-cart/carousel_settings","fluent-cart/product_id","fluent-cart/variation_ids","fluent-cart/has_controls","fluent-cart/has_pagination"]},{useBlockProps:ae}=wp.blockEditor,{useContext:fe}=wp.element,oe={edit:({context:s})=>{const r=(s["fluent-cart/carousel_settings"]||{}).arrows!=="no",a=ae({className:"fct-carousel-controls-editor"});return r?t.jsxs("div",{...a,children:[t.jsx("button",{className:"editor-carousel-nav prev","aria-hidden":"true",children:"‹"}),t.jsx("button",{className:"editor-carousel-nav next","aria-hidden":"true",children:"›"})]}):t.jsx("div",{...a,style:{opacity:.5}})},save:()=>null,supports:{html:!1},usesContext:["fluent-cart/carousel_settings"]},{useBlockProps:ne}=wp.blockEditor,le={edit:({context:s})=>{const e=s["fluent-cart/carousel_settings"]||{},r=e.pagination!=="no",a=e.paginationType||"bullets",n=ne({className:"fct-carousel-pagination-editor"});if(!r)return t.jsx("div",{...n,style:{opacity:.5}});const l=()=>{switch(a){case"fraction":return t.jsxs("div",{className:"editor-carousel-pagination editor-carousel-pagination--fraction",children:[t.jsx("span",{className:"fraction-current",style:{fontSize:"18px",fontWeight:"700",color:"#111827"},children:"1"}),t.jsx("span",{style:{margin:"0 8px",fontSize:"14px",color:"#6b7280"},children:"—"}),t.jsx("span",{className:"fraction-total",style:{fontSize:"14px",fontWeight:"400",color:"#9ca3af"},children:"5"})]});case"progress":return t.jsx("div",{className:"editor-carousel-pagination editor-carousel-pagination--progress",children:t.jsx("div",{className:"progress-bar",style:{width:"40%"}})});case"segmented":return t.jsxs("div",{className:"editor-carousel-pagination editor-carousel-pagination--segmented",children:[t.jsx("div",{className:"progress-segment is-completed"}),t.jsx("div",{className:"progress-segment is-active"}),t.jsx("div",{className:"progress-segment"}),t.jsx("div",{className:"progress-segment"}),t.jsx("div",{className:"progress-segment"}),t.jsx("span",{className:"segment-counter",children:"1 / 5"})]});case"bullets":default:return t.jsxs("div",{className:"editor-carousel-pagination",children:[t.jsx("span",{className:"editor-carousel-dot is-active"}),t.jsx("span",{className:"editor-carousel-dot"}),t.jsx("span",{className:"editor-carousel-dot"})]})}};return t.jsx("div",{...n,children:l()})},save:()=>null,supports:{html:!1},usesContext:["fluent-cart/carousel_settings"]},{registerBlockType:I}=wp.blocks,ce=window.fluent_cart_media_carousel_inner_blocks,{InnerBlocks:w,useBlockProps:y}=wp.blockEditor,ie={ProductImageBlockEditor:H,MediaCarouselLoopBlock:re,CarouselControlsBlock:oe,CarouselPaginationBlock:le};ce.blocks.forEach(s=>{const e=ie[s.component],r=[];s.parent&&r.push(...s.parent),e!=null&&e.parent&&r.push(...e.parent),I(s.slug,{apiVersion:3,category:"product-elements",title:s.title,name:s.slug,icon:s.icon||null,parent:r.length>0?r:null,edit:(e==null?void 0:e.edit)||(()=>h("No edit found")),save:(e==null?void 0:e.save)||(()=>null),supports:(e==null?void 0:e.supports)||{},usesContext:(e==null?void 0:e.usesContext)||[],attributes:(e==null?void 0:e.attributes)||{}})});I("fluent-cart/product-paginator",{apiVersion:3,title:h("Paginator"),icon:"screenoptions",parent:["fluent-cart/media_carousel","core/column"],category:"layout",attributes:{},edit:s=>{const e=y({className:"fluent-cart-product-paginator"});return t.jsx("div",{...e,children:t.jsx("div",{children:t.jsx(w,{allowedBlocks:["core/paragraph"]})})})},save:s=>{const e=y.save();return t.jsx("div",{...e,className:"fluent-cart-product-paginator",children:t.jsx(w.Content,{})})},usesContext:["fluent-cart/query_type","fluent-cart/carousel_settings","fluent-cart/product_id","fluent-cart/variation_ids","fluent-cart/has_controls","fluent-cart/has_pagination"]}); |