JezK
Edit File: editor-default-styles.min.js
(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),__copyProps=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},__toESM=(n,r,a)=>(a=n==null?{}:e(i(n)),__copyProps(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),o=__toESM(__commonJSMin(((e,t)=>{var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},__copyProps=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!s.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(o=i(t,c))||o.enumerable});return e},__toESM=(e,t,i)=>(i=e==null?{}:n(o(e)),__copyProps(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)),__toCommonJS=e=>__copyProps(r({},`__esModule`,{value:!0}),e),c={};__export(c,{DefaultStylesTabEmbedded:()=>DefaultStylesTabEmbedded,init:()=>init}),t.exports=__toCommonJS(c);var l=__toESM(globalThis.React),u=globalThis.React,d=globalThis.elementorV2.editorControls,f=globalThis.elementorV2.editorEditingPanel,p=globalThis.elementorV2.editorResponsive,m=globalThis.elementorV2.editorStylesRepository,h=globalThis.elementorV2.editorUi,g=globalThis.elementorV2.menus,_=globalThis.elementorV2.query,v=globalThis.elementorV2.session,y=globalThis.elementorV2.store,b=globalThis.elementorV2.ui,x=globalThis.wp.i18n,getElementorConfig=()=>window.elementor?.config??{},getAllowedDefaultStyleTags=()=>{let e=getElementorConfig().atomic?.default_styles?.allowed_tags;return e?.length?e:[]},getDefaultActiveTag=e=>e.includes(`h1`)?`h1`:e[0]??``,isAllowedDefaultStyleTag=(e,t=getAllowedDefaultStyleTags())=>t.includes(e),S=globalThis.elementorV2.editorStylesRepository,C=globalThis.elementorV2.store,w=globalThis.wp.i18n,T=`manage_options`,getCapabilities=()=>({update:T,create:T,delete:T,updateProps:T}),E=globalThis.elementorV2.editorStyles,D=globalThis.elementorV2.store,O=(0,D.__createSlice)({name:`defaultStyles`,initialState:{data:{},initialData:{},isDirty:!1},reducers:{load(e,{payload:{data:t}}){let n=Array.isArray(t)?{}:t;e.initialData=structuredClone(n),e.data=structuredClone(n),e.isDirty=!1},update(e,{payload:t}){e.data[t.style.id]={...e.data[t.style.id],...t.style},e.isDirty=!0},updateProps(e,{payload:t}){let n=e.data[t.id]??{id:t.id,label:t.id,type:`class`,variants:[]},r=(0,E.getVariantByMeta)(n,t.meta),i=(`custom_css`in t?t.custom_css:r?.custom_css)??null;if(i=i?.raw?i:null,r){let e=JSON.parse(JSON.stringify(t.props));(t.mode??`merge`)===`replace`?r.props=e:r.props={...r.props,...e},r.custom_css=i}else n.variants.push({meta:t.meta,props:t.props,custom_css:i});e.data[t.id]=n,e.isDirty=!0},reset(e){e.data=e.initialData,e.isDirty=!1},commit(e){e.initialData=e.data,e.isDirty=!1},deleteTag(e,{payload:t}){delete e.data[t],e.isDirty=!0}}}),k=(0,D.__createSelector)(e=>e.defaultStyles.data,e=>e),A=(0,D.__createSelector)(e=>e.defaultStyles.isDirty,e=>e),j=(0,D.__createSelector)(e=>e.defaultStyles.initialData,e=>e);(0,D.__createSelector)([k,(e,t)=>t],(e,t)=>e[t]);var M=`default-styles`,N=`e-default-`,resolveCssName=e=>`${N}${e}`,placeholderDefinition=e=>({id:e,label:e,type:`class`,variants:[]}),asClassDefinition=e=>({...e,type:`class`}),P=(0,S.createStylesProvider)({key:M,priority:15,labels:{singular:(0,w.__)(`tag`,`elementor`),plural:(0,w.__)(`tags`,`elementor`)},subscribe:e=>subscribeWithStates(e),capabilities:getCapabilities(),actions:{all:()=>getAllowedDefaultStyleTags().map(e=>{let t=k((0,C.__getState)())[e];return t?asClassDefinition(t):placeholderDefinition(e)}),get:e=>{let t=k((0,C.__getState)())[e];return t?asClassDefinition(t):placeholderDefinition(e)},resolveCssName,update:e=>{(0,C.__dispatch)(O.actions.update({style:e}))},delete:e=>{(0,C.__dispatch)(O.actions.deleteTag(e))},updateProps:e=>{(0,C.__dispatch)(O.actions.updateProps({id:e.id,meta:e.meta,props:e.props,mode:e.mode}))},updateCustomCss:e=>{(0,C.__dispatch)(O.actions.updateProps({id:e.id,meta:e.meta,custom_css:e.custom_css,props:{}}))}}}),subscribeWithStates=e=>{let t=k((0,C.__getState)());return(0,C.__subscribeWithSelector)(e=>k(e),n=>{e(t,n),t=n})},F=globalThis.elementorV2.store,I=globalThis.elementorV2.utils,L=globalThis.elementorV2.httpClient,R=`/default-styles`,z=`elementor/v1`,B={all:()=>(0,L.httpService)().get(`${z}${R}`),put:(e,t)=>(0,L.httpService)().put(`${z}${R}/${e}`,{type:`class`,variants:t}),delete:e=>(0,L.httpService)().delete(`${z}${R}/${e}`)};function getChangedTags(e){let t=k(e),n=j(e),r=[];return Object.keys(t).forEach(e=>{let i=t[e],a=n[e];(!a||(0,I.hash)(i)!==(0,I.hash)(a))&&r.push(e)}),Object.keys(n).forEach(e=>{t[e]||r.push(e)}),r}async function saveDefaultStyles(){let e=(0,F.__getState)();if(!A(e))return;let t=k(e),n=getChangedTags(e);await Promise.all(n.map(async e=>{let n=t[e];if(!n||n.variants.length===0){await B.delete(e);return}await B.put(e,n.variants)})),(0,F.__dispatch)(O.actions.commit())}var V=__toESM(globalThis.React),H=globalThis.React,U=globalThis.elementorV2.icons,W=globalThis.elementorV2.ui,G=globalThis.wp.i18n,K=__toESM(globalThis.React),q=globalThis.elementorV2.editorEditingPanel,J=globalThis.elementorV2.ui;function TagStateMenu({popupState:e,anchorEl:t,activeState:n,onSelectState:r}){return K.createElement(J.Menu,{MenuListProps:{dense:!0,sx:{minWidth:`160px`}},...(0,J.bindMenu)(e),anchorEl:t,anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{horizontal:`left`,vertical:-4},disableAutoFocusItem:!0},K.createElement(q.PseudoStateMenuItems,{states:q.DEFAULT_PSEUDO_STATES,activeState:n,onSelectState:r,onClose:e.close}))}var Y=`tiny`;function TagChip({label:e,chipProps:t,activeState:n,onSelectState:r}){let i=(0,W.usePopupState)({variant:`popover`,popupId:`tag-state-menu`}),[a,o]=(0,H.useState)(null),{onDelete:s,...c}=t,l=!!n;return V.createElement(V.Fragment,null,V.createElement(W.UnstableChipGroup,{ref:o,...c,"aria-label":`Edit ${e}`,role:`group`,sx:e=>({"&.MuiChipGroup-root.MuiAutocomplete-tag":{margin:e.spacing(.125)}})},V.createElement(W.Chip,{size:Y,label:e,variant:l?`standard`:`filled`,shape:`rounded`,color:`default`,onClick:()=>{l&&r(null)},sx:e=>({lineHeight:1,borderRadius:`${e.shape.borderRadius*.75}px`})}),V.createElement(W.Chip,{icon:l?void 0:V.createElement(U.DotsVerticalIcon,{fontSize:`tiny`}),size:Y,label:l?V.createElement(W.Stack,{direction:`row`,gap:.5,alignItems:`center`},V.createElement(W.Typography,{variant:`inherit`},n),V.createElement(U.DotsVerticalIcon,{fontSize:`tiny`})):void 0,variant:`filled`,shape:`rounded`,color:`default`,...(0,W.bindTrigger)(i),"aria-label":(0,G.__)(`Open tag state menu`,`elementor`),sx:e=>({borderRadius:`${e.shape.borderRadius*.75}px`,paddingRight:0,...l?{}:{paddingLeft:0},".MuiChip-label":l?{paddingRight:0}:{padding:0}})})),V.createElement(TagStateMenu,{popupState:i,anchorEl:a,activeState:n,onSelectState:r}))}var{useMenuItems:ee}=g.controlActionsMenu,te=`default-styles-editor-shim`,ne=`__default_styles_classes__`,X=`default-styles-tag-selector`,Z=`default-styles/last-active-tag`;function readStoredActiveTag(e){let t=(0,v.getSessionStorageItem)(Z);return t&&isAllowedDefaultStyleTag(t,e)?t:getDefaultActiveTag(e)}function toTagChip(e){return{label:e,value:e,fixed:!0}}var re={id:te,type:`default-style`},ie={key:`default-style`,controls:[],propsSchema:{},title:(0,x.__)(`Default Style`,`elementor`)};function DefaultStylesTabEmbedded({onRequestClose:e,onExposeCloseAttempt:t}){let n=(0,u.useMemo)(()=>getAllowedDefaultStyleTags(),[]),r=(0,u.useMemo)(()=>n.map(e=>({label:e,value:e})),[n]),[i,a]=(0,u.useState)(()=>readStoredActiveTag(n)),[o,s]=(0,u.useState)(null),c=(0,p.useActiveBreakpoint)(),g=ee().default,_=(0,d.getControlReplacements)(),S=(0,y.__useSelector)(A),{mutateAsync:C,isPending:w}=useSave(),{open:T,close:E,isOpen:D}=(0,h.useDialog)(),{userCan:k}=(0,m.useUserStylesCapability)(),j=k(M).updateProps,setSelectedTag=e=>{a(e),(0,v.setSessionStorageItem)(Z,e)},N=(0,u.useCallback)(()=>{if(j&&S){T();return}e()},[j,S,e,T]);(0,u.useEffect)(()=>{if(t)return t(()=>N()),()=>t(null)},[t,N]),usePreventUnload(j&&S);let handleTagSelect=(e,t,n)=>{t!==`selectOption`||!n.value||(setSelectedTag(n.value),s(null))},resetAndClosePanel=()=>{(0,y.__dispatch)(O.actions.reset()),E(),e()},handleSaveAndContinue=async()=>{try{await C()}catch{return}E(),e()};return l.createElement(b.ErrorBoundary,{fallback:null},l.createElement(h.ThemeProvider,null,l.createElement(d.ControlActionsProvider,{items:g},l.createElement(d.ControlReplacementsProvider,{replacements:_},l.createElement(b.Stack,{sx:{flex:1,minHeight:0,overflow:`hidden`,display:`flex`,flexDirection:`column`}},l.createElement(b.Box,{sx:{flex:1,minHeight:0,overflow:`auto`}},l.createElement(b.Stack,{sx:{px:2,pt:1,gap:1}},l.createElement(b.FormControl,{fullWidth:!0,size:`small`},l.createElement(b.FormLabel,{htmlFor:X,size:`small`,sx:{mb:1}},(0,x.__)(`Tag`,`elementor`)),l.createElement(f.CreatableAutocomplete,{id:X,size:`tiny`,placeholder:(0,x.__)(`Type tag name`,`elementor`),options:r,selected:[toTagChip(i)],onSelect:handleTagSelect,renderTags:(e,t)=>e.map((e,n)=>l.createElement(TagChip,{key:e.value??e.label,label:e.label,chipProps:t({index:n}),activeState:o,onSelectState:s}))}))),l.createElement(f.ElementProvider,{element:re,elementType:ie,settings:{}},l.createElement(f.ClassesPropProvider,{prop:ne},l.createElement(f.StyleProvider,{meta:{breakpoint:c,state:o},id:i,setId:()=>{},setMetaState:s},l.createElement(v.SessionStorageProvider,{prefix:i},l.createElement(f.StyleInheritanceProvider,null,l.createElement(f.SectionsList,null,l.createElement(f.StyleSections,null),l.createElement(f.StyleTabSlot,null)),l.createElement(b.Box,{sx:{height:`150px`}}))))))),j?l.createElement(b.Box,{sx:{flexShrink:0,px:2,py:1.5}},l.createElement(b.Button,{fullWidth:!0,size:`small`,color:`global`,variant:`contained`,onClick:()=>void C(),disabled:!S,loading:w},(0,x.__)(`Save changes`,`elementor`))):null))),j&&D&&l.createElement(h.SaveChangesDialog,null,l.createElement(h.SaveChangesDialog.Title,{onClose:E},(0,x.__)(`You have unsaved changes`,`elementor`)),l.createElement(h.SaveChangesDialog.Content,null,l.createElement(h.SaveChangesDialog.ContentText,null,(0,x.__)(`You have unsaved changes in Default Styles.`,`elementor`)),l.createElement(h.SaveChangesDialog.ContentText,null,(0,x.__)(`To avoid losing your updates, save your changes before leaving.`,`elementor`))),l.createElement(h.SaveChangesDialog.Actions,{actions:{discard:{label:(0,x.__)(`Discard`,`elementor`),action:resetAndClosePanel},confirm:{label:(0,x.__)(`Save & Continue`,`elementor`),action:handleSaveAndContinue}}}))))}function useSave(){return(0,_.useMutation)({mutationFn:()=>saveDefaultStyles()})}function usePreventUnload(e){(0,u.useEffect)(()=>{let handleBeforeUnload=t=>{e&&t.preventDefault()};return window.addEventListener(`beforeunload`,handleBeforeUnload),()=>{window.removeEventListener(`beforeunload`,handleBeforeUnload)}},[e])}var ae=globalThis.elementorV2.editor,oe=globalThis.elementorV2.editorEditingPanel,se=globalThis.elementorV2.editorStylesRepository,ce=globalThis.elementorV2.store,le=globalThis.React,Q=globalThis.elementorV2.editorV1Adapters,$=globalThis.elementorV2.store,ue=globalThis.elementorV2.store;async function loadDefaultStyles(){try{let e=(await B.all()).data.data;(0,ue.__dispatch)(O.actions.load({data:e}))}catch{}}var de=`panel/v2`;function PopulateStore(){return(0,le.useEffect)(()=>(loadDefaultStyles(),(0,Q.registerDataHook)(`after`,`editor/documents/attach-preview`,async()=>{A((0,$.__getState)())||await loadDefaultStyles()}),(0,Q.__privateListenTo)((0,Q.routeCloseEvent)(de),()=>{A((0,$.__getState)())||loadDefaultStyles()})),[]),null}function init(){(0,ce.__registerSlice)(O),(0,oe.registerElementPanelDefaults)(`default-style`,{defaultTab:`style`,defaultSectionsExpanded:{style:[]}}),se.stylesRepository.register(P),(0,ae.injectIntoLogic)({id:`default-styles-populate-store`,component:PopulateStore})}0&&(t.exports={DefaultStylesTabEmbedded,init})}))());(window.elementorV2=window.elementorV2||{}).editorDefaultStyles=o})(),window.elementorV2.editorDefaultStyles?.init?.();