oont-contents/plugins/woocommerce/assets/client/blocks/add-to-cart-with-options.js
2025-02-10 13:57:45 +01:00

1 line
No EOL
6.6 KiB
JavaScript

(()=>{var e,t,o,r={2075:(e,t,o)=>{"use strict";o.r(t),o.d(t,{shouldRegisterBlock:()=>S});var r=o(1609),c=o(4997),n=o(7104),s=o(498),l=o(7143);const i=window.wc.wcSettings,u=window.wc.wcTypes,a=JSON.parse('{"name":"woocommerce/add-to-cart-with-options","version":"1.0.0","title":"Add to Cart with Options (Experimental)","description":"Create an \\"Add To Cart\\" composition by using blocks","category":"woocommerce-product-elements","attributes":{"isDescendentOfSingleProductBlock":{"type":"boolean","default":false}},"usesContext":["postId"],"textdomain":"woocommerce","supports":{"interactivity":true},"apiVersion":3,"$schema":"https://schemas.wp.org/trunk/block.json"}');var d=o(6087),p=o(4715),m=o(7723),w=o(6427);const f=({features:e})=>{const{isBlockifiedAddToCart:t}=e;if(!t)return null;const o=Object.keys(e).filter((t=>e[t]));return(0,r.createElement)(p.InspectorControls,null,(0,r.createElement)(w.PanelBody,{title:"Development"},(0,r.createElement)(w.Flex,{gap:3,direction:"column"},(0,r.createElement)(w.Notice,{status:"warning",isDismissible:!1},(0,m.__)("Development features enabled.","woocommerce")),o.map((e=>(0,r.createElement)(w.FlexItem,{key:e},e))))))};var y=o(5573);const g=(0,r.createElement)(y.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),(0,r.createElement)("path",{d:"M12 6a9.77 9.77 0 0 1 8.82 5.5C19.17 14.87 15.79 17 12 17s-7.17-2.13-8.82-5.5A9.77 9.77 0 0 1 12 6m0-2C7 4 2.73 7.11 1 11.5 2.73 15.89 7 19 12 19s9.27-3.11 11-7.5C21.27 7.11 17 4 12 4zm0 5a2.5 2.5 0 0 1 0 5 2.5 2.5 0 0 1 0-5m0-2c-2.48 0-4.5 2.02-4.5 4.5S9.52 16 12 16s4.5-2.02 4.5-4.5S14.48 7 12 7z"})),b=window.wc.wcBlocksSharedContext,k="SWITCH_PRODUCT_TYPE",v="SET_PRODUCT_TYPES",h={productTypes:{list:[],current:void 0}},T={switchProductType:e=>({type:k,current:e}),setProductTypes:e=>({type:v,productTypes:e})},P=(0,l.createReduxStore)("woocommerce/template-state",{reducer:(e=h,t)=>{switch(t.type){case v:return{...e,productTypes:{...e.productTypes,list:t.productTypes||[]}};case k:return{...e,productTypes:{...e.productTypes,current:t.current}};default:return e}},actions:T,selectors:{getProductTypes:e=>e.productTypes.list,getCurrentProductType:e=>e.productTypes.list.find((t=>t.slug===e.productTypes.current))}});function O(){const{productTypes:e,currentProductType:t}=(0,l.useSelect)((e=>{const{getProductTypes:t,getCurrentProductType:o}=e(P);return{productTypes:t(),currentProductType:o()}}),[]),{switchProductType:o}=(0,l.useDispatch)(P),{product:c}=(0,b.useProductDataContext)();return null!=c&&c.id||(null==e?void 0:e.length)<2?null:(0,r.createElement)(w.ToolbarGroup,null,(0,r.createElement)(w.ToolbarDropdownMenu,{icon:(0,r.createElement)(w.Icon,{icon:g}),text:(null==t?void 0:t.label)||(0,m.__)("Switch product type","woocommerce"),value:null==t?void 0:t.slug,controls:e.map((e=>({title:e.label,onClick:()=>o(e.slug)})))}))}const E=[["core/heading",{level:2,content:(0,m.__)("Add to Cart","woocommerce")}],["woocommerce/product-stock-indicator"],["woocommerce/add-to-cart-with-options-quantity-selector"],["woocommerce/product-button",{textAlign:"center",fontSize:"small"}]];o(4690);const x=(0,i.getSetting)("productTypes",{}),B=(0,i.getSettingWithCoercion)("isBlockifiedAddToCart",!1,u.isBoolean),S=(()=>{const{experimentalBlocksEnabled:e}=(0,i.getSetting)("wcBlocksConfig",{experimentalBlocksEnabled:!1});return e})()&&B;S&&((0,l.register)(P),(0,l.dispatch)(P).setProductTypes(Object.keys(x).map((e=>({slug:e,label:x[e]})))),(0,l.dispatch)(P).switchProductType("simple"),(0,c.registerBlockType)(a,{icon:(0,r.createElement)(n.A,{icon:s.A}),edit:e=>{const{setAttributes:t}=e,o=(0,p.useBlockProps)(),{isDescendentOfSingleProductBlock:c}=(({blockClientId:e})=>{const{isDescendentOfSingleProductBlock:t}=(0,l.useSelect)((t=>{const{getBlockParentsByBlockName:o}=t("core/block-editor");return{isDescendentOfSingleProductBlock:o(null==e?void 0:e.replace("block-",""),["woocommerce/single-product"]).length>0}}),[e]);return{isDescendentOfSingleProductBlock:t}})({blockClientId:null==o?void 0:o.id});return(0,d.useEffect)((()=>{t({isDescendentOfSingleProductBlock:c})}),[t,c]),(0,r.createElement)(r.Fragment,null,(0,r.createElement)(p.BlockControls,null,(0,r.createElement)(O,null)),(0,r.createElement)(f,{features:{isBlockifiedAddToCart:!0}}),(0,r.createElement)("div",{...o},(0,r.createElement)(p.InnerBlocks,{template:E})))},save:()=>{const e=p.useBlockProps.save(),t=p.useInnerBlocksProps.save(e);return(0,r.createElement)("div",{...t})}}))},4690:()=>{},1609:e=>{"use strict";e.exports=window.React},4715:e=>{"use strict";e.exports=window.wp.blockEditor},4997:e=>{"use strict";e.exports=window.wp.blocks},6427:e=>{"use strict";e.exports=window.wp.components},7143:e=>{"use strict";e.exports=window.wp.data},6087:e=>{"use strict";e.exports=window.wp.element},7723:e=>{"use strict";e.exports=window.wp.i18n},5573:e=>{"use strict";e.exports=window.wp.primitives}},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var o=c[e]={exports:{}};return r[e].call(o.exports,o,o.exports,n),o.exports}n.m=r,e=[],n.O=(t,o,r,c)=>{if(!o){var s=1/0;for(a=0;a<e.length;a++){for(var[o,r,c]=e[a],l=!0,i=0;i<o.length;i++)(!1&c||s>=c)&&Object.keys(n.O).every((e=>n.O[e](o[i])))?o.splice(i--,1):(l=!1,c<s&&(s=c));if(l){e.splice(a--,1);var u=r();void 0!==u&&(t=u)}}return t}c=c||0;for(var a=e.length;a>0&&e[a-1][2]>c;a--)e[a]=e[a-1];e[a]=[o,r,c]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},o=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);n.r(c);var s={};t=t||[null,o({}),o([]),o(o)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=o(l))Object.getOwnPropertyNames(l).forEach((t=>s[t]=()=>e[t]));return s.default=()=>e,n.d(c,s),c},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.j=7435,(()=>{var e={7435:0};n.O.j=t=>0===e[t];var t=(t,o)=>{var r,c,[s,l,i]=o,u=0;if(s.some((t=>0!==e[t]))){for(r in l)n.o(l,r)&&(n.m[r]=l[r]);if(i)var a=i(n)}for(t&&t(o);u<s.length;u++)c=s[u],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(a)},o=self.webpackChunkwebpackWcBlocksMainJsonp=self.webpackChunkwebpackWcBlocksMainJsonp||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var s=n.O(void 0,[94],(()=>n(2075)));s=n.O(s),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["add-to-cart-with-options"]=s})();