PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / trunk
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments vtrunk
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks-next / build / blocks / product-list / index.js
surecart / packages / blocks-next / build / blocks / product-list Last commit date
block.json 1 year ago controller.php 3 weeks ago error.php 1 year ago index.asset.php 1 month ago index.js 1 month ago style-index-rtl.css 1 year ago style-index.css 1 year ago view.php 1 year ago
index.js
1 lines
1 !function(){"use strict";var e,t={7005:function(e,t,r){var n=r(1609),a=Symbol.for("react.element"),o=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,r){var n,s={},u=null,i=null;for(n in void 0!==r&&(u=""+r),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(i=t.ref),t)o.call(t,n)&&!l.hasOwnProperty(n)&&(s[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===s[n]&&(s[n]=t[n]);return{$$typeof:a,type:e,key:u,ref:i,props:s,_owner:c.current}}},9255:function(e,t,r){e.exports=r(7005)},7632:function(e,t,r){var n=window.wp.blocks,a=window.wp.primitives,o=r(9255),c=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z",fillRule:"evenodd",clipRule:"evenodd"})}),l=window.wp.data,s=window.wp.element,u=window.wp.blockEditor,i=window.wp.i18n,p=window.wp.components;const d=[["core/group",{layout:{type:"flex",justifyContent:"space-between"},style:{spacing:{margin:{bottom:"10px"}}}},[["core/group",{layout:{type:"flex",flexWrap:"nowrap"}},[["surecart/product-list-sort",{}],["surecart/product-list-filter",{}]]],["surecart/product-list-search",{style:{layout:{selfStretch:"fixed",flexSize:"250px"}}}]]],["core/group",{layout:{type:"flex",flexWrap:"nowrap"},style:{spacing:{margin:{bottom:"10px"}}}},[["surecart/product-list-filter-tags",{layout:{type:"flex",orientation:"vertical"}}]]],["surecart/product-template",{style:{spacing:{blockGap:"30px"}},layout:{type:"grid",columnCount:4}}],["surecart/product-pagination"],["surecart/product-list-no-products",{},[["core/paragraph",{placeholder:(0,i.__)("Add text or blocks that will display when a query returns no products.","surecart"),align:"center",content:(0,i.__)("No products found.","surecart")}]]]];var _=window.wp.compose,m=window.wp.coreData,f=window.wp.htmlEntities;const h=e=>{const t=(0,l.useSelect)((t=>{const{getTaxonomies:r,getPostType:n}=t(m.store);return n(e)?.taxonomies?.length>0?r({type:e,per_page:-1}):[]}),[e]);return(0,s.useMemo)((()=>t?.filter((e=>{let{visibility:t}=e;return!!t?.publicly_queryable}))),[t])};function g(e,t,r){const a=(0,l.useSelect)((e=>e(n.store).getActiveBlockVariation(r,t)?.name),[t]),o=`${r}/${a}`;return(0,l.useSelect)((t=>{if(!a)return!1;const{getBlockRootClientId:r,getPatternsByBlockTypes:n}=t(u.store),c=r(e);return n(o,c).length>0}),[e,a,o])?o:r}const y=(e,t)=>(0,l.useSelect)((r=>{const{getBlockRootClientId:n,getPatternsByBlockTypes:a}=r(u.store),o=n(e);return a(t,o)}),[t,e]),b={order:"asc",_fields:"id,name",context:"view"},v=(e,t)=>{const r=t?.id||e?.find((e=>e.name===t))?.id;if(r)return r;const n=t.toLocaleLowerCase();return e?.find((e=>e.name.toLocaleLowerCase()===n))?.id};function x(e){let{onChange:t,query:r}=e;const{postType:n,taxQuery:a}=r,o=h(n);return o&&0!==o.length?React.createElement(p.__experimentalVStack,{spacing:4},o.map((e=>{const r=a?.[e.slug]||[];return React.createElement(w,{key:e.slug,taxonomy:e,termIds:r,onChange:r=>t({taxQuery:{...a,[e.slug]:r}})})}))):null}function w(e){let{taxonomy:t,termIds:r,onChange:n}=e;const[a,o]=(0,s.useState)(""),[c,u]=(0,s.useState)([]),[i,d]=(0,s.useState)([]),h=(0,_.useDebounce)(o,250),{searchResults:g,searchHasResolved:y}=(0,l.useSelect)((e=>{const{getEntityRecords:n,hasFinishedResolution:o}=e(m.store),c=["taxonomy",t.slug,{...b,search:a,orderby:"name",exclude:r,per_page:20}];return{searchResults:n(...c),searchHasResolved:o("getEntityRecords",c)}}),[a,r]),x=(0,l.useSelect)((e=>{if(!r?.length)return[];const{getEntityRecords:n}=e(m.store);return n("taxonomy",t.slug,{...b,include:r,per_page:r.length})}),[r]);return(0,s.useEffect)((()=>{if(r?.length||u([]),!x?.length)return;const e=r.reduce(((e,t)=>{const r=x.find((e=>e.id===t));return r&&e.push({id:t,value:r.name}),e}),[]);u(e)}),[r,x]),(0,s.useEffect)((()=>{y&&d(g.map((e=>e.name)))}),[g,y]),React.createElement(p.FormTokenField,{label:t.name,placeholder:t?.labels?.search_items,value:c,onFocus:()=>{h(a)},onInputChange:h,suggestions:i,displayTransform:f.decodeEntities,onChange:e=>{const t=new Set;for(const r of e){const e=v(g,r);e&&t.add(e)}d([]),n(Array.from(t))},__experimentalShowHowTo:!1,__nextHasNoMarginBottom:!0,__experimentalExpandOnFocus:!0,__next40pxDefaultSize:!0})}function R(e){let{onChange:t,query:r}=e;const[n,a]=(0,s.useState)(r.search),o=(0,s.useCallback)((0,_.debounce)((()=>{r.search!==n&&t({search:n})}),250),[n,r.search]);return(0,s.useEffect)((()=>(o(),o.cancel)),[n,o]),React.createElement(p.TextControl,{label:(0,i.__)("Keyword","surecart"),value:n,onChange:a,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})}const k={order:"asc",_fields:"id,title",context:"view"},E=(e,t)=>{const r=t?.id||e?.find((e=>e?.title?.rendered===t))?.id;if(r)return r;const n=t.toLocaleLowerCase();return e?.find((e=>e?.title?.rendered.toLocaleLowerCase()===n))?.id};function S(e){let{query:{include:t},onChange:r}=e;const[n,a]=(0,s.useState)(""),[o,c]=(0,s.useState)([]),[u,d]=(0,s.useState)([]),h=(0,_.useDebounce)(a,250),{searchResults:g,searchHasResolved:y}=(0,l.useSelect)((e=>{const{getEntityRecords:r,hasFinishedResolution:a}=e(m.store),o=["postType","sc_product",{...k,search:n,orderby:"title",exclude:t,per_page:20}];return{searchResults:r(...o),searchHasResolved:a("getEntityRecords",o)}}),[n,t]),b=(0,l.useSelect)((e=>{if(!t?.length)return[];const{getEntityRecords:r}=e(m.store);return r("postType","sc_product",{...k,include:t,per_page:t.length})}),[t]);return(0,s.useEffect)((()=>{if(t?.length||c([]),!b?.length)return;const e=t.reduce(((e,t)=>{const r=b.find((e=>e.id===t));return r&&e.push({id:t,value:r?.title?.rendered}),e}),[]);c(e)}),[t,b]),(0,s.useEffect)((()=>{y&&d(g.map((e=>e?.title?.rendered)))}),[g,y]),React.createElement(p.FormTokenField,{label:(0,i.__)("Products","surecart"),value:o,onFocus:()=>{h(n)},onInputChange:h,suggestions:u,placeholder:(0,i.__)("Search for a product","surecart"),displayTransform:f.decodeEntities,onChange:e=>{const t=new Set;for(const r of e){const e=E(g,r);e&&t.add(e)}d([]),r({include:Array.from(t)})},__experimentalShowHowTo:!1,__nextHasNoMarginBottom:!0,__experimentalExpandOnFocus:!0,__next40pxDefaultSize:!0})}const C=[{label:(0,i.__)("Latest","surecart"),value:"date:desc"},{label:(0,i.__)("Oldest","surecart"),value:"date:asc"},{label:(0,i.__)("Alphabetical, A-Z","surecart"),value:"title:asc"},{label:(0,i.__)("Alphabetical, Z-A","surecart"),value:"title:desc"},{label:(0,i.__)("Price, low to high","surecart"),value:"price:asc"},{label:(0,i.__)("Price, high to low","surecart"),value:"price:desc"}];function P(e){let{onUpdateQuery:t,setAttributes:r,attributes:{type:n,query:a,query:{perPage:o,offset:c,taxQuery:l,order:s,orderBy:d}}}=e;const m=(0,_.useViewportMatch)("medium","<");return React.createElement(u.InspectorControls,null,React.createElement(p.PanelBody,{title:(0,i.__)("Attributes","surecart")},React.createElement(p.RangeControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,i.__)("Products Per Page","surecart"),value:o,onChange:e=>t({perPage:e}),step:1,min:1,max:40}),React.createElement(p.RangeControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,i.__)("Offset","surecart"),value:c,onChange:e=>t({offset:e}),step:1,min:0,max:100}),React.createElement(p.SelectControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,i.__)("Default Sorting","surecart"),options:C,value:`${d}:${s}`,onChange:e=>{const r=e?.split(":");t({order:r[1],orderBy:r[0]})}})),React.createElement(p.PanelBody,{title:(0,i.__)("Products","surecart")},React.createElement(p.SelectControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,i.__)("Products To Show","surecart"),value:n,options:[{value:"all",label:(0,i.__)("All Products","surecart")},{value:"featured",label:(0,i.__)("Featured Products","surecart")},{value:"custom",label:(0,i.__)("Hand Pick Products","surecart")}],onChange:e=>r({type:e})}),"custom"===n&&React.createElement(S,{onChange:t,query:a})),React.createElement(p.__experimentalToolsPanel,{className:"block-library-query-toolspanel__filters",label:(0,i.__)("Filters","surecart"),resetAll:()=>{t({author:"",parents:[],search:"",taxQuery:null})},dropdownMenuProps:m?{}:{popoverProps:{placement:"left-start",offset:259}}},React.createElement(p.__experimentalToolsPanelItem,{label:(0,i.__)("Taxonomies","surecart"),hasValue:()=>Object.values(l||{}).some((e=>!!e.length)),onDeselect:()=>t({taxQuery:null})},React.createElement(x,{onChange:t,query:a})),React.createElement(p.__experimentalToolsPanelItem,{hasValue:()=>!!a.search,label:(0,i.__)("Keyword","surecart"),onDeselect:()=>t({search:null})},React.createElement(R,{onChange:t,query:a}))))}var B=e=>{let{openPatternSelectionModal:t,name:r,clientId:n}=e;const a=!!y(n,r).length;return React.createElement(React.Fragment,null,a&&React.createElement(p.ToolbarGroup,{className:"wp-block-template-part__block-control-group"},React.createElement(p.ToolbarButton,{onClick:t},(0,i.__)("Replace","surecart"))))};function T(e){let{setAttributes:t,attributes:r,attributes:{limit:n,ids:a,query:o,query:{perPage:c,include:l}},name:i,clientId:p,openPatternSelectionModal:_}=e;const m=e=>{t({query:{...o,...e}})};(0,s.useEffect)((()=>{m({perPage:n||c,include:a?.length?a:l}),t({limit:null})}),[n,a]);const f=(0,u.useBlockProps)(),h=(0,u.useInnerBlocksProps)(f,{template:d});return React.createElement(React.Fragment,null,React.createElement(P,{attributes:r,setAttributes:t,onUpdateQuery:m}),React.createElement(u.BlockControls,null,React.createElement(B,{name:i,clientId:p,openPatternSelectionModal:_})),React.createElement("div",h))}const I=[["surecart/product-template",{style:{spacing:{blockGap:"30px"}},layout:{type:"grid",columnCount:4}}],["surecart/product-pagination"],["surecart/product-list-no-products",{},[["core/paragraph",{placeholder:(0,i.__)("Add text or blocks that will display when a query returns no products.","surecart"),align:"center",content:(0,i.__)("No products found.","surecart")}]]]];function O(e){let{attributes:t,clientId:r,name:a,openPatternSelectionModal:o}=e;const{replaceInnerBlocks:c}=(0,l.useDispatch)(u.store),s=(0,u.useBlockProps)(),d=g(r,t,a),{blockType:_,activeBlockVariation:m,hasPatterns:f}=(0,l.useSelect)((e=>{const{getActiveBlockVariation:o,getBlockType:c}=e(n.store),{getBlockRootClientId:l,getPatternsByBlockTypes:s}=e(u.store),i=l(r);return{blockType:c(a),activeBlockVariation:o(a,t),hasPatterns:!!s(d,i).length}}),[a,d,r,t]),h=m?.icon?.src||m?.icon||_?.icon?.src,y=m?.title||_?.title;return React.createElement("div",s,React.createElement(p.Placeholder,{icon:h,label:y,instructions:(0,i.__)("Choose a pattern for the product list or start with a basic layout.","surecart")},!!f&&React.createElement(p.Button,{variant:"primary",onClick:o},(0,i.__)("Choose","surecart")),React.createElement(p.Button,{variant:"secondary",onClick:()=>{c(r,(0,n.createBlocksFromInnerBlocksTemplate)(I),!1)}},(0,i.__)("Start basic","surecart"))))}function q(e){let{clientId:t,attributes:r,setIsPatternSelectionModalOpen:a,name:o}=e;const[c,d]=(0,s.useState)(""),{replaceBlock:m,selectBlock:f}=(0,l.useDispatch)(u.store),h=(0,s.useMemo)((()=>({previewPostType:"sc_product"})),["sc_product"]),b=g(t,r,o),v=y(t,b),x=(0,s.useMemo)((()=>function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!t)return e;const r=e.map((e=>[e,getPatternSearchRank(e,t)])).filter((e=>{let[,t]=e;return t>0}));return r.sort(((e,t)=>{let[,r]=e,[,n]=t;return n-r})),r.map((e=>{let[t]=e;return t}))}(v,c)),[v,c]),w=(0,_.useAsyncList)(x);return React.createElement(p.Modal,{overlayClassName:"block-library-query-pattern__selection-modal",title:(0,i.__)("Choose a pattern","surecart"),onRequestClose:()=>a(!1),isFullScreen:!0},React.createElement("div",{className:"block-library-query-pattern__selection-content"},React.createElement("div",{className:"block-library-query-pattern__selection-search"},React.createElement(p.SearchControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,onChange:d,value:c,label:(0,i.__)("Search for patterns","surecart"),placeholder:(0,i.__)("Search","surecart")})),React.createElement(u.BlockContextProvider,{value:h},React.createElement(u.__experimentalBlockPatternsList,{blockPatterns:x,shownPatterns:w,onClickPattern:(e,a)=>{const{newBlocks:c,queryClientIds:l}=((e,t,r)=>{const{namespace:a}=t,o=e.map((e=>(0,n.cloneBlock)(e))),c=[],l=[...o];for(;l.length>0;){const e=l.shift();e.name===r&&(a&&(e.attributes.namespace=a),c.push(e.clientId)),e.innerBlocks?.forEach((e=>{l.push(e)}))}return{newBlocks:o,queryClientIds:c}})(a,r,o);c[0]&&(c[0].attributes={...c[0].attributes,...r}),m(t,c),l[0]&&f(l[0])}}))))}function M(){return M=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},M.apply(null,arguments)}var N=JSON.parse('{"UU":"surecart/product-list"}');(0,n.registerBlockType)(N.UU,{icon:c,edit:e=>{const{clientId:t,attributes:r,name:n}=e,[a,o]=(0,s.useState)(!1),c=(0,l.useSelect)((e=>!!e(u.store).getBlocks(t).length),[t])?T:O;return React.createElement(React.Fragment,null,React.createElement(c,M({},e,{openPatternSelectionModal:()=>o(!0)})),a&&React.createElement(q,{clientId:t,attributes:r,setIsPatternSelectionModalOpen:o,name:n}))},save:function(){return React.createElement(u.InnerBlocks.Content,null)}})},1609:function(e){e.exports=window.React}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var o=r[e]={exports:{}};return t[e](o,o.exports,n),o.exports}n.m=t,e=[],n.O=function(t,r,a,o){if(!r){var c=1/0;for(i=0;i<e.length;i++){r=e[i][0],a=e[i][1],o=e[i][2];for(var l=!0,s=0;s<r.length;s++)(!1&o||c>=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[s])}))?r.splice(s--,1):(l=!1,o<c&&(c=o));if(l){e.splice(i--,1);var u=a();void 0!==u&&(t=u)}}return t}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[r,a,o]},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={1131:0,8307:0};n.O.j=function(t){return 0===e[t]};var t=function(t,r){var a,o,c=r[0],l=r[1],s=r[2],u=0;if(c.some((function(t){return 0!==e[t]}))){for(a in l)n.o(l,a)&&(n.m[a]=l[a]);if(s)var i=s(n)}for(t&&t(r);u<c.length;u++)o=c[u],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return n.O(i)},r=self.webpackChunk_surecart_blocks_next=self.webpackChunk_surecart_blocks_next||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))}();var a=n.O(void 0,[8307],(function(){return n(7632)}));a=n.O(a)}();