OwlCyberSecurity - MANAGER
Edit File: add-to-cart-with-options.js
(()=>{var e,t,o,r={558:(e,t,o)=>{"use strict";o.r(t);var r=o(1609),n=o(498);const i=window.wp.plugins;var s=o(2294);const c=window.wp.blocks,l=window.wp.data,a=window.wc.wcTypes;class d{constructor(){(0,s.A)(this,"blocks",new Map),(0,s.A)(this,"currentTemplateId",void 0),(0,s.A)(this,"initialized",!1),(0,s.A)(this,"attemptedRegisteredBlocks",new Set),this.initializeSubscriptions()}static getInstance(){return d.instance||(d.instance=new d),d.instance}parseTemplateId(e){const t=(0,a.isNumber)(e)?void 0:e;return null==t?void 0:t.split("//")[1]}initializeSubscriptions(){if(this.initialized)return;const e=(0,l.subscribe)((()=>{const t=(0,l.select)("core/edit-site"),o=(0,l.select)("core/edit-post");if(t||o)if(t){const o=t.getEditedPostId();e(),this.currentTemplateId="string"==typeof o?this.parseTemplateId(o):void 0,(0,l.subscribe)((()=>{const e=this.currentTemplateId;this.currentTemplateId=this.parseTemplateId(t.getEditedPostId()),e!==this.currentTemplateId&&this.handleTemplateChange(e)}),"core/edit-site"),this.initialized=!0}else o&&(e(),this.blocks.forEach((e=>{if(e.isAvailableOnPostEditor){const t=e.variationName||e.blockName;this.hasAttemptedRegistration(t)||this.registerBlock(e)}})),this.initialized=!0)}))}handleTemplateChange(e){var t;((null===(t=this.currentTemplateId)||void 0===t?void 0:t.includes("single-product"))||(null==e?void 0:e.includes("single-product")))&&this.blocks.forEach((e=>{this.unregisterBlock(e),this.registerBlock(e)}))}hasAttemptedRegistration(e){return this.attemptedRegisteredBlocks.has(e)}unregisterBlock(e){const{blockName:t,isVariationBlock:o,variationName:r}=e;try{o&&r?((0,c.unregisterBlockVariation)(t,r),this.attemptedRegisteredBlocks.delete(r)):((0,c.unregisterBlockType)(t),this.attemptedRegisteredBlocks.delete(t))}catch(e){console.debug(`Failed to unregister block ${t}:`,e)}}registerBlock(e){const{blockName:t,settings:o,isVariationBlock:r,variationName:n,isAvailableOnPostEditor:i}=e;try{const e=n||t;if(this.hasAttemptedRegistration(e))return;const d=(0,l.select)("core/edit-site");if(!d&&!i)return;if(r)(0,c.registerBlockVariation)(t,o);else{var s;const e=(0,a.isEmpty)(null==o?void 0:o.ancestor)?["woocommerce/single-product"]:null==o?void 0:o.ancestor,r=d&&(null===(s=this.currentTemplateId)||void 0===s?void 0:s.includes("single-product"));(0,c.registerBlockType)(t,{...o,ancestor:r?void 0:e})}this.attemptedRegisteredBlocks.add(e)}catch(e){console.error(`Failed to register block ${t}:`,e)}}registerBlockConfig(e){const t=e.variationName||e.blockName;this.blocks.set(t,e),this.registerBlock(e)}}(0,s.A)(d,"instance",void 0);var u=o(7723);const p=window.wp.components;var m=o(4922),w=o.n(m);w()("wc-admin:tracks:stats");const g=w()("wc-admin:tracks");function h(e,t){if(g("recordevent %s %o","wcadmin_"+e,t,{_tqk:window._tkq,shouldRecord:!!window._tkq&&!!window.wcTracks&&!!window.wcTracks.isEnabled}),!window.wcTracks||"function"!=typeof window.wcTracks.recordEvent)return!1;window.wcTracks.recordEvent(e,t)}const k=window.wp.editor,b="woocommerce/product-type-template-state",v="SWITCH_PRODUCT_TYPE",y="SET_PRODUCT_TYPES",f="REGISTER_LISTENER",_="UNREGISTER_LISTENER",E=window.wc.wcSettings,T=(0,E.getSetting)("productTypes",{});var B;const P=Object.keys(T).map((e=>({slug:e,label:T[e]}))),C={productTypes:{list:P,current:null===(B=P[0])||void 0===B?void 0:B.slug},listeners:[]},S={switchProductType:e=>({type:v,current:e}),setProductTypes:e=>({type:y,productTypes:e}),registerListener:e=>({type:f,listener:e}),unregisterListener:e=>({type:_,listener:e})},I=(0,l.createReduxStore)(b,{reducer:(e=C,t)=>{switch(t.type){case y:return{...e,productTypes:{...e.productTypes,list:t.productTypes||[]}};case v:return{...e,productTypes:{...e.productTypes,current:t.current}};case f:return{...e,listeners:[...e.listeners,t.listener||""]};case _:return{...e,listeners:e.listeners.filter((e=>e!==t.listener))};default:return e}},actions:S,selectors:{getProductTypes:e=>e.productTypes.list,getCurrentProductType:e=>e.productTypes.list.find((t=>t.slug===e.productTypes.current)),getRegisteredListeners:e=>e.listeners}});function O(){const{productTypes:e,current:t,registeredListeners:o}=(0,l.useSelect)((e=>{const{getProductTypes:t,getCurrentProductType:o,getRegisteredListeners:r}=e(I);return{productTypes:t(),current:o(),registeredListeners:r()}}),[]),{switchProductType:r,registerListener:n,unregisterListener:i}=(0,l.useDispatch)(I);return{productTypes:e,current:t,set:r,registeredListeners:o,registerListener:n,unregisterListener:i}}function x(){const{productTypes:e,current:t,set:o}=O();return(0,r.createElement)(p.SelectControl,{label:(0,u.__)("Type switcher","woocommerce"),value:null==t?void 0:t.slug,options:e.map((e=>({label:e.label,value:e.slug}))),onChange:e=>{o(e),h("blocks_add_to_cart_with_options_product_type_switched",{context:"inspector",from:null==t?void 0:t.slug,to:e})},help:(0,u.__)("Switch product type to see how the template adapts to each one.","woocommerce")})}(0,l.select)(b)||(0,l.register)(I);const N=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":{},"usesContext":["postId"],"textdomain":"woocommerce","supports":{"interactivity":true},"apiVersion":3,"$schema":"https://schemas.wp.org/trunk/block.json"}');var R=o(6087);o(6455);const A=({numberOfLines:e=1,tag:t="div",maxWidth:o="100%"})=>{const n=Array.from({length:e},((e,t)=>(0,r.createElement)("span",{className:"wc-block-components-skeleton-text-line","aria-hidden":"true",key:t})));return(0,r.createElement)(t,{className:"wc-block-components-skeleton",style:{maxWidth:o}},n)},L=window.wc.wcBlocksSharedContext,j=window.wp.blockEditor;var D=o(5573);const z=(0,r.createElement)(D.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"}));function M(){const{current:e,productTypes:t,set:o}=O(),{product:n}=(0,L.useProductDataContext)();return null!=n&&n.id||(null==t?void 0:t.length)<2?null:(0,r.createElement)(p.ToolbarGroup,null,(0,r.createElement)(p.ToolbarDropdownMenu,{icon:(0,r.createElement)(p.Icon,{icon:z}),text:(null==e?void 0:e.label)||(0,u.__)("Switch product type","woocommerce"),label:(0,u.__)("Switch product type","woocommerce"),value:null==e?void 0:e.slug,controls:t.map((t=>({title:t.label,onClick:()=>{o(t.slug),(null==e?void 0:e.slug)!==t.slug&&h("blocks_add_to_cart_with_options_product_type_switched",{context:"toolbar",from:null==e?void 0:e.slug,to:t.slug})}})))}))}var V=o(851);function $({children:e,className:t,actionLabel:o,onActionClick:n,...i}){return(0,r.createElement)(p.Notice,{...i,className:(0,V.$)("wc-block-editor-components-upgrade-downgrade-notice",t),actions:[{label:o,onClick:n,noDefaultClasses:!0,variant:"link"}]},(0,r.createElement)("div",{className:"wc-block-editor-components-upgrade-downgrade-notice__text"},e))}o(2615);const q=({blocks:e,findCondition:t})=>{for(const o of e){if(t(o))return o;if(o.innerBlocks){const e=q({blocks:o.innerBlocks,findCondition:t});if(e)return e}}},W=({blockClientId:e})=>{const t=(0,u.__)("Switch back to the classic Add to Cart with Options block.","woocommerce"),o=(0,u.__)("Switch back","woocommerce");return(0,r.createElement)($,{isDismissible:!1,actionLabel:o,onActionClick:async()=>{const t=await(e=>{var t;const o=(0,l.select)("core/block-editor").getBlocks(),r=q({blocks:o,findCondition:t=>t.name===N.name&&t.clientId===e});if(!r)return!1;const n=q({blocks:o,findCondition:e=>"woocommerce/add-to-cart-with-options-quantity-selector"===e.name}),i=(0,c.createBlock)("woocommerce/add-to-cart-form",{quantitySelectorStyle:(null==n||null===(t=n.attributes)||void 0===t?void 0:t.quantitySelectorStyle)||"input"});return(0,l.dispatch)("core/block-editor").replaceBlock(r.clientId,i),!0})(e);t&&h("blocks_add_to_cart_with_options_migration",{transform_to:"legacy"})}},t)},F=window.wp.coreData,G=({blockProps:e,templatePartId:t})=>{const[o,n,i]=(0,F.useEntityBlockEditor)("postType","wp_template_part",{id:t}),{isLoading:s}=(0,l.useSelect)((e=>{const{hasFinishedResolution:o}=e(F.store);return{isLoading:!(t&&o("getEditedEntityRecord",["postType","wp_template_part",t]))}}),[t]),c=(0,j.useInnerBlocksProps)(e,{value:o,onInput:n,onChange:i,renderAppender:()=>s||0!==o.length?null:j.InnerBlocks.ButtonBlockAppender});return s?(0,r.createElement)("div",{...e},(0,r.createElement)(p.Spinner,null)):(0,r.createElement)("div",{...c})},J=({productType:e})=>{const{templatePartId:t}=(0,l.useSelect)((t=>{var o;const{getCurrentTheme:r,getEditedEntityRecord:n,hasFinishedResolution:i}=t(F.store),s=null===(o=r())||void 0===o?void 0:o.stylesheet;if(!s)return{templatePartId:null};const c=`${e}-product-add-to-cart-with-options`,l=`${s}//${c}`,a=`woocommerce/woocommerce//${c}`,d=["postType","wp_template_part",l],u=l?n(...d):null;return{templatePartId:!l||!i("getEditedEntityRecord",d)||u&&0!==Object.keys(u).length?l:a}}),[e]),o=(0,j.useBlockProps)();return t?(0,r.createElement)(G,{blockProps:o,templatePartId:t}):(0,r.createElement)("div",{...o},(0,r.createElement)(p.Spinner,null))};o(657);const U=e=>{const{product:t}=(0,L.useProductDataContext)(),o=(0,j.useBlockProps)(),n=null==o?void 0:o.id,{current:i,registerListener:s,unregisterListener:c}=O();(0,R.useEffect)((()=>(s(n),()=>{c(n)})),[n,s,c]);const l=0===t.id?null==i?void 0:i.slug:t.type,a=l&&["simple","variable","external","grouped"].includes(l);return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(j.InspectorControls,null,(0,r.createElement)(W,{blockClientId:null==e?void 0:e.clientId})),(0,r.createElement)(j.BlockControls,null,(0,r.createElement)(M,null)),a?(0,r.createElement)(J,{productType:l}):(0,r.createElement)("div",{...o},(0,r.createElement)("div",{className:"wp-block-woocommerce-add-to-cart-with-options__skeleton-wrapper"},(0,r.createElement)(A,{numberOfLines:3})),(0,r.createElement)(p.Disabled,null,(0,r.createElement)("button",{className:`alt wp-element-button ${l}_add_to_cart_button`},(0,u.__)("Add to cart","woocommerce")))))},H=(0,E.getSettingWithCoercion)("isBlockifiedAddToCart",!1,a.isBoolean),Y=(0,E.getSetting)("isBlockTheme"),K=(()=>{const{experimentalBlocksEnabled:e}=(0,E.getSetting)("wcBlocksConfig",{experimentalBlocksEnabled:!1});return e})()&&H&&Y;if(o(4690),K){const e="document-settings-template-selector-pane";(0,i.getPlugin)(e)||(0,i.registerPlugin)(e,{render:function(){const{slug:e,type:t}=(0,l.useSelect)((e=>{const{slug:t,type:o}=e("core/editor").getCurrentPost();return{slug:t,type:o}}),[]),{registeredListeners:o}=O();return"wp_template"===t&&"single-product"===e&&o.length>0?(0,r.createElement)(k.PluginDocumentSettingPanel,{name:"woocommerce/product-type-selector",title:(0,u.__)("Product Type","woocommerce")},(0,r.createElement)(x,null)):null}}),(e=>{const t=e.name;if(!t)return void console.error("registerProductBlockType: Block name is required for registration");const o=(({name:e,...t})=>t)(e),{isVariationBlock:r,variationName:n,isAvailableOnPostEditor:i,...s}={...o,...{isAvailableOnPostEditor:!0}||{}},c={blockName:t,settings:{...s},isVariationBlock:null!=r&&r,variationName:null!=n?n:void 0,isAvailableOnPostEditor:null!=i&&i};d.getInstance().registerBlockConfig(c)})({...N,icon:{src:({size:e})=>(0,r.createElement)("span",{className:"wp-block-woocommerce-add-to-cart-with-options__block-icon",style:{height:e,width:e}},n.A)},edit:U,save:()=>null,ancestor:["woocommerce/single-product"]})}},6455:()=>{},657:()=>{},4690:()=>{},2615:()=>{},1609:e=>{"use strict";e.exports=window.React},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}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e].call(o.exports,o,o.exports,i),o.exports}i.m=r,e=[],i.O=(t,o,r,n)=>{if(!o){var s=1/0;for(d=0;d<e.length;d++){for(var[o,r,n]=e[d],c=!0,l=0;l<o.length;l++)(!1&n||s>=n)&&Object.keys(i.O).every((e=>i.O[e](o[l])))?o.splice(l--,1):(c=!1,n<s&&(s=n));if(c){e.splice(d--,1);var a=r();void 0!==a&&(t=a)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[o,r,n]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},o=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.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 n=Object.create(null);i.r(n);var s={};t=t||[null,o({}),o([]),o(o)];for(var c=2&r&&e;"object"==typeof c&&!~t.indexOf(c);c=o(c))Object.getOwnPropertyNames(c).forEach((t=>s[t]=()=>e[t]));return s.default=()=>e,i.d(n,s),n},i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=7435,(()=>{var e={7435:0};i.O.j=t=>0===e[t];var t=(t,o)=>{var r,n,[s,c,l]=o,a=0;if(s.some((t=>0!==e[t]))){for(r in c)i.o(c,r)&&(i.m[r]=c[r]);if(l)var d=l(i)}for(t&&t(o);a<s.length;a++)n=s[a],i.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return i.O(d)},o=self.webpackChunkwebpackWcBlocksMainJsonp=self.webpackChunkwebpackWcBlocksMainJsonp||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var s=i.O(void 0,[94],(()=>i(558)));s=i.O(s),((this.wc=this.wc||{}).blocks=this.wc.blocks||{})["add-to-cart-with-options"]=s})();