PluginProbe
Elementor Website Builder – more than just a page builder / trunk
Elementor Website Builder – more than just a page builder vtrunk
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
elementor / assets / js / packages / editor-styles-repository / editor-styles-repository.min.js

editor-styles-repository.min.js in Elementor Website Builder – more than just a page builder trunk, at assets/js/packages/editor-styles-repository/editor-styles-repository.min.js

1 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (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.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},__toCommonJS=e=>__copyProps(n({},`__esModule`,{value:!0}),e),o={};__export(o,{ELEMENTS_BASE_STYLES_PROVIDER_KEY:()=>N,ELEMENTS_STYLES_PROVIDER_KEY_PREFIX:()=>x,ELEMENTS_STYLES_RESERVED_LABEL:()=>S,createStylesProvider:()=>createStylesProvider,init:()=>init,isElementsStylesProvider:()=>isElementsStylesProvider,stylesRepository:()=>s,useGetStylesRepositoryCreateAction:()=>useGetStylesRepositoryCreateAction,useProviders:()=>useProviders,useUserStylesCapability:()=>useUserStylesCapability,validateStyleLabel:()=>validateStyleLabel}),t.exports=__toCommonJS(o);var createStylesRepository=()=>{let e=[],getProviders=()=>e.slice(0).sort((e,t)=>e.priority>t.priority?-1:1),register=t=>{e.push(t)},all=(e={})=>getProviders().flatMap(t=>t.actions.all(e)),subscribe=t=>{let n=e.map(e=>e.subscribe(t));return()=>{n.forEach(e=>e())}},getProviderByKey=t=>e.find(e=>e.getKey()===t);return{all,register,subscribe,getProviders,getProviderByKey}},s=createStylesRepository(),c=globalThis.React;function useProviders(){let[,e]=(0,c.useReducer)(e=>!e,!1);return(0,c.useEffect)(()=>s.subscribe(e),[]),s.getProviders()}var l=globalThis.React,u=globalThis.elementorV2.editorCurrentUser,d={create:!0,delete:!0,update:!0,updateProps:!0},useUserStylesCapability=()=>{let{capabilities:e}=(0,u.useCurrentUserCapabilities)(),userCan=t=>{let n=s.getProviderByKey(t);return n?.capabilities?Object.entries(n.capabilities).reduce((t,[n,r])=>({...t,[n]:e?.includes(r)??!0}),d):d};return{userCan}};function useGetStylesRepositoryCreateAction(){let{userCan:e}=useUserStylesCapability();return(0,l.useMemo)(()=>{let t=s.getProviders().map(t=>!t.actions.create||!e(t.getKey()).create?null:[t,t.actions.create]).filter(Boolean);if(t.length===1)return t[0];if(t.length===0)return null;throw Error(`Multiple providers with create action found in styles repository.`)},[])}var f=globalThis.elementorV2.schema,p=globalThis.wp.i18n,m=globalThis.elementorV2.editorElements,h=globalThis.elementorV2.editorV1Adapters,g=globalThis.elementorV2.utils,_=(0,g.createError)({code:`invalid_elements_style_provider_meta`,message:`Invalid elements style provider meta.`}),v=(0,g.createError)({code:`active_document_must_exist`,message:`Active document must exist.`}),y=1e4,b=10;function createStylesProvider({key:e,priority:t=b,limit:n=y,subscribe:r=()=>()=>{},labels:i,actions:a,capabilities:o,isPregeneratedLink:s}){return{getKey:typeof e==`string`?()=>e:e,priority:t,limit:n,capabilities:o,subscribe:r,labels:{singular:i?.singular??null,plural:i?.plural??null},actions:{all:a.all,get:a.get,resolveCssName:a.resolveCssName??(e=>e),create:a.create,delete:a.delete,update:a.update,updateProps:a.updateProps,updateCustomCss:a.updateCustomCss,tracking:a.tracking},isPregeneratedLink:s}}var x=`document-elements-`,S=`local`,C=/^local-\d+-(preview|frontend)-[a-zA-Z_-]+-css$/,w=createStylesProvider({key:()=>{let e=(0,m.getCurrentDocumentId)();if(!e)throw new v;return`${x}${e}`},priority:50,isPregeneratedLink:({id:e})=>C.test(e),subscribe:e=>{let t=null,n=(0,h.__privateListenTo)(m.styleRerenderEvents,()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))});return()=>{t!==null&&(cancelAnimationFrame(t),t=null),n()}},actions:{all:(e={})=>{let t=(0,m.getElements)();return isValidElementsMeta(e)&&(t=t.filter(t=>t.id===e.elementId)),t.flatMap(e=>Object.values(e.model.get(`styles`)??{}))},get:(e,t={})=>{if(!isValidElementsMeta(t))throw new _({context:{meta:t}});return((0,m.getElementStyles)(t.elementId)??{})[e]??null},updateProps:(e,t={})=>{if(!isValidElementsMeta(t))throw new _({context:{meta:t}});(0,m.updateElementStyle)({elementId:t.elementId,styleId:e.id,meta:e.meta,props:e.props})},updateCustomCss:(e,t={})=>{if(!isValidElementsMeta(t))throw new _({context:{meta:t}});(0,m.updateElementStyle)({elementId:t.elementId,styleId:e.id,meta:e.meta,custom_css:e.custom_css.raw?e.custom_css:null,props:{}})}}});function isValidElementsMeta(e){return`elementId`in e&&typeof e.elementId==`string`&&!!e.elementId}var T=/^(|[^0-9].*)$/,E=/^\S*$/,D=/^(|[a-zA-Z0-9_-]+)$/,O=/^(?!--).*/,k=/^(?!-[0-9])/,A=[`container`],j=f.z.string().max(50,(0,p.__)(`Class name is too long. Please keep it under 50 characters.`,`elementor`)).regex(T,(0,p.__)(`Class names must start with a letter.`,`elementor`)).regex(E,(0,p.__)(`Class names can’t contain spaces.`,`elementor`)).regex(D,(0,p.__)(`Class names can only use letters, numbers, dashes (-), and underscores (_).`,`elementor`)).regex(O,(0,p.__)(`Double hyphens are reserved for custom properties.`,`elementor`)).regex(k,(0,p.__)(`Class names can’t start with a hyphen followed by a number.`,`elementor`)).refine(e=>!A.includes(e),{message:(0,p.__)(`This name is reserved and can’t be used. Try something more specific.`,`elementor`)});function validateStyleLabel(e,t){let n=new Set([S,...s.all().map(e=>e.label.toLowerCase())]),r=[`create`,`rename`].includes(t),i=j.refine(e=>!(r&&e.length<2),{message:(0,p.__)(`Class name is too short. Use at least 2 characters.`,`elementor`)}).refine(e=>!(r&&n.has(e)),{message:(0,p.__)(`This class name already exists. Please choose a unique name.`,`elementor`)}).safeParse(e.toLowerCase());return i.success?{isValid:!0,errorMessage:null}:{isValid:!1,errorMessage:i.error.format()._errors[0]}}function isElementsStylesProvider(e){return RegExp(`^${x}\\d+$`).test(e)}var M=globalThis.elementorV2.editorElements,N=`element-base-styles`,P=createStylesProvider({key:N,actions:{all(){let e=(0,M.getWidgetsCache)();return Object.values(e??{}).flatMap(e=>Object.values(e.base_styles??{}))},get(e){return this.all().find(t=>t.id===e)??null}}});function init(){s.register(w),s.register(P)}0&&(t.exports={ELEMENTS_BASE_STYLES_PROVIDER_KEY:N,ELEMENTS_STYLES_PROVIDER_KEY_PREFIX:x,ELEMENTS_STYLES_RESERVED_LABEL:S,createStylesProvider,init,isElementsStylesProvider,stylesRepository:s,useGetStylesRepositoryCreateAction,useProviders,useUserStylesCapability,validateStyleLabel})}))());(window.elementorV2=window.elementorV2||{}).editorStylesRepository=o})(),window.elementorV2.editorStylesRepository?.init?.();