| 1 |
(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,n=window.wp.i18n,l=window.wp.data,o=window.wp.plugins,a=window.wp.element,r=window.wp.blocks,c=window.wp.components,s=window.wp.blockEditor,i=window.wp.notices,d=window.wp.apiFetch;var b=e.n(d);const u=window.wp.url,p=window.wp.coreData,m=()=>(0,l.useSelect)((e=>e(p.store).canUser("update","settings")),[]),_=window.lodash,k={edit:(0,n.__)("Edit","content-blocks-builder"),editItem:(0,n.__)("Edit %s","content-blocks-builder"),save:(0,n.__)("Save","content-blocks-builder"),cancel:(0,n.__)("Cancel","content-blocks-builder"),delete:(0,n.__)("Delete","content-blocks-builder"),closeModal:(0,n.__)("Close modal","content-blocks-builder"),name:(0,n.__)("Name","content-blocks-builder"),label:(0,n.__)("Label","content-blocks-builder"),block:(0,n.__)("block","content-blocks-builder"),variation:(0,n.__)("variation","content-blocks-builder"),defaultVariation:(0,n.__)("default variation","content-blocks-builder"),pattern:(0,n.__)("pattern","content-blocks-builder"),blocks:(0,n.__)("Blocks","content-blocks-builder"),variations:(0,n.__)("Variations","content-blocks-builder"),patterns:(0,n.__)("Patterns","content-blocks-builder")};function w({modalTitle:e,title:n,titleHelp:l,setIsModalOpen:o,onSubmit:r=_.noop,onCancel:s=_.noop,className:i}){const[d,b]=(0,a.useState)(n),u=()=>{o(!1),b(""),s()};return(0,t.createElement)(c.Modal,{title:e,closeLabel:k.closeModal,onRequestClose:()=>u(),overlayClassName:"reusable-blocks-menu-items__convert-modal",className:i},(0,t.createElement)("form",{onSubmit:e=>{e.preventDefault(),r(d),u()}},(0,t.createElement)(c.TextControl,{label:k.name,value:d,onChange:b,help:l,className:"title-input"}),(0,t.createElement)(c.Flex,{className:"reusable-blocks-menu-items__convert-modal-actions",justify:"flex-end"},(0,t.createElement)(c.FlexItem,null,(0,t.createElement)(c.Button,{variant:"secondary",onClick:()=>u()},k.cancel)),(0,t.createElement)(c.FlexItem,null,(0,t.createElement)(c.Button,{variant:"primary",type:"submit",disabled:!d},k.save)))))}(0,o.registerPlugin)("boldblocks-create-block-pattern",{render:()=>{const{getBlocksByClientId:e,getBlockName:o}=(0,l.useSelect)((e=>e(s.store)),[]),{createSuccessNotice:d}=(0,l.useDispatch)(i.store),[m,_]=(0,a.useState)({isModalOpen:!1,clientIds:[]}),{isModalOpen:g,clientIds:h}=m;if(!(0,l.useSelect)((e=>e(p.store).canUser("update","settings")),[]))return null;const E=(0,n.__)("Create block pattern","content-blocks-builder");return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(s.BlockSettingsMenuControls,null,(({selectedClientIds:e})=>e?.length>0&&((e,t)=>{var n;if(!e?.length)return!1;const l=t(e[0]),o=(0,r.getBlockSupport)(l,"boldblocks"),a=o&&null!==(n=o.layoutType)&&void 0!==n?n:"";return!["gridItem","carouselItem","accordionItem","vstackItem"].includes(a)})(e,o)?(0,t.createElement)(c.MenuItem,{label:E,icon:"plus-alt2",onClick:()=>_({isModalOpen:!0,clientIds:e})},E):null)),g&&(0,t.createElement)(w,{modalTitle:E,title:(0,n.__)("CBB - A new pattern","content-blocks-builder"),titleHelp:(0,n.__)("You could name your pattern with a prefix that indicates it is a white label, such as ‘Awesome Project - Hero’.","content-blocks-builder"),setIsModalOpen:e=>_({...m,isModalOpen:e}),onSubmit:t=>{(({title:t,clientIds:l})=>{const o=e(l),a=(0,r.serialize)(o);b()({path:"wp/v2/boldblocks-patterns",method:"POST",data:{title:t,content:a,status:"publish"}}).then((e=>{var t;d("The new pattern has been created!",{type:"snackbar",actions:[{label:(0,n.sprintf)(k.editItem,k.pattern),url:(t=e.id,(0,u.addQueryArgs)(`post.php?post=${t}&action=edit`))}]})}))})({title:t,clientIds:h})},className:"cbb-block-modal"}))}});const g=window.wp.editor,h=window.wp.hooks,E="boldblocks_pattern",v=({href:e,label:l=(0,n.__)("Learn more","content-blocks-builder")})=>(0,t.createElement)(c.ExternalLink,{href:e},l);(0,o.registerPlugin)("boldblocks-pattern-meta",{render:()=>{const{getCurrentPostType:e}=(0,l.useSelect)((e=>e(g.store)),[]),[o,r]=(0,a.useState)(!0),[s,i]=(0,a.useState)([]);if(e()!==E)return null;(0,a.useEffect)((()=>{b()({path:"boldblocks/v1/getPatternCategories"}).then((e=>{i(e),r(!1)}))}),[]);const[d,_]=(0,p.useEntityProp)("postType",E,"meta"),k=e=>t=>{_({...d,[e]:t})},{boldblocks_pattern_categories:w=[],boldblocks_pattern_description:C="",boldblocks_pattern_disabled_inserter:f=!1}=d,S=(0,n.__)("Pattern settings","content-blocks-builder"),y=(0,t.createElement)(t.Fragment,null,(0,t.createElement)(c.TextareaControl,{label:(0,n.__)("Pattern description","content-blocks-builder"),value:C,onChange:k("boldblocks_pattern_description"),rows:4}),(0,t.createElement)(c.ToggleControl,{checked:f,label:(0,n.__)("Don't show this pattern in the inserter","content-blocks-builder"),onChange:k("boldblocks_pattern_disabled_inserter")}),(0,t.createElement)(c.BaseControl,{label:(0,n.__)("Select pattern categories","content-blocks-builder")}),s.length?(0,t.createElement)(t.Fragment,null,s.filter((({name:e})=>"cbb"!==e)).map((({name:e,label:n})=>(0,t.createElement)(c.CheckboxControl,{key:e,label:n,checked:w.find((({name:t})=>t===e)),onChange:t=>{let l=[];l=t?[...w,{name:e,label:n}]:w.filter((({name:t})=>t!==e)),k("boldblocks_pattern_categories")(l)}}))),m&&(0,t.createElement)("p",null,(0,t.createElement)(v,{href:(0,u.addQueryArgs)("edit.php?post_type=boldblocks_block&page=cbb-settings&tab=general"),label:(0,n.__)("Manage custom categories","content-blocks-builder")}))):(0,t.createElement)(t.Fragment,null,o&&(0,t.createElement)(c.Spinner,null)),(0,h.applyFilters)("boldblocks.patternSettings.additionalSettings",null,{meta:d,setMeta:_}));return(0,t.createElement)(t.Fragment,null,(0,t.createElement)(g.PluginDocumentSettingPanel,{name:"content-block-settings",title:S,initialOpen:!0},y),(0,t.createElement)(g.PluginSidebarMoreMenuItem,{target:"pattern-settings"},S),(0,t.createElement)(g.PluginSidebar,{name:"pattern-settings",title:S},(0,t.createElement)(c.PanelBody,null,y)))}})})(); |