/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/
packages
/
editor-styles-repository
/
Upload File
HOME
/*! For license information please see editor-styles-repository.js.LICENSE.txt */ !function(){"use strict";var e={"./packages/packages/core/editor-styles-repository/src/errors.ts":function(e,t,r){r.r(t),r.d(t,{ActiveDocumentMustExistError:function(){return i},InvalidElementsStyleProviderMetaError:function(){return o}});var s=r("@elementor/utils");const o=(0,s.createError)({code:"invalid_elements_style_provider_meta",message:"Invalid elements style provider meta."}),i=(0,s.createError)({code:"active_document_must_exist",message:"Active document must exist."})},"./packages/packages/core/editor-styles-repository/src/hooks/use-get-styles-repository-create-action.ts":function(e,t,r){r.r(t),r.d(t,{useGetStylesRepositoryCreateAction:function(){return useGetStylesRepositoryCreateAction}});var s=r("react"),o=r("./packages/packages/core/editor-styles-repository/src/styles-repository.ts"),i=r("./packages/packages/core/editor-styles-repository/src/hooks/use-user-styles-capability.ts");function useGetStylesRepositoryCreateAction(){const{userCan:e}=(0,i.useUserStylesCapability)();return(0,s.useMemo)(()=>{const t=o.stylesRepository.getProviders().map(t=>t.actions.create&&e(t.getKey()).create?[t,t.actions.create]:null).filter(Boolean);if(1===t.length)return t[0];if(0===t.length)return null;throw new Error("Multiple providers with create action found in styles repository.")},[])}},"./packages/packages/core/editor-styles-repository/src/hooks/use-providers.ts":function(e,t,r){r.r(t),r.d(t,{useProviders:function(){return useProviders}});var s=r("react"),o=r("./packages/packages/core/editor-styles-repository/src/styles-repository.ts");function useProviders(){const[,e]=(0,s.useReducer)(e=>!e,!1);return(0,s.useEffect)(()=>o.stylesRepository.subscribe(e),[]),o.stylesRepository.getProviders()}},"./packages/packages/core/editor-styles-repository/src/hooks/use-user-styles-capability.ts":function(e,t,r){r.r(t),r.d(t,{useUserStylesCapability:function(){return useUserStylesCapability}});var s=r("@elementor/editor-current-user"),o=r("./packages/packages/core/editor-styles-repository/src/styles-repository.ts");const i={create:!0,delete:!0,update:!0,updateProps:!0},useUserStylesCapability=()=>{const{capabilities:e}=(0,s.useCurrentUserCapabilities)();return{userCan:t=>{const r=o.stylesRepository.getProviderByKey(t);return r?.capabilities?Object.entries(r.capabilities).reduce((t,[r,s])=>({...t,[r]:e?.includes(s)??!0}),i):i}}}},"./packages/packages/core/editor-styles-repository/src/init.ts":function(e,t,r){r.r(t),r.d(t,{init:function(){return init}});var s=r("./packages/packages/core/editor-styles-repository/src/providers/document-elements-styles-provider.ts"),o=r("./packages/packages/core/editor-styles-repository/src/providers/element-base-styles-provider.ts"),i=r("./packages/packages/core/editor-styles-repository/src/styles-repository.ts");function init(){i.stylesRepository.register(s.documentElementsStylesProvider),i.stylesRepository.register(o.elementBaseStylesProvider)}},"./packages/packages/core/editor-styles-repository/src/providers/document-elements-styles-provider.ts":function(e,t,r){r.r(t),r.d(t,{ELEMENTS_STYLES_PROVIDER_KEY_PREFIX:function(){return n},ELEMENTS_STYLES_RESERVED_LABEL:function(){return c},documentElementsStylesProvider:function(){return l}});var s=r("@elementor/editor-elements"),o=r("@elementor/editor-v1-adapters"),i=r("./packages/packages/core/editor-styles-repository/src/errors.ts"),a=r("./packages/packages/core/editor-styles-repository/src/utils/create-styles-provider.ts");const n="document-elements-",c="local",l=(0,a.createStylesProvider)({key:()=>{const e=(0,s.getCurrentDocumentId)();if(!e)throw new i.ActiveDocumentMustExistError;return`${n}${e}`},priority:50,subscribe:e=>(0,o.__privateListenTo)(s.styleRerenderEvents,()=>e()),actions:{all:(e={})=>{let t=(0,s.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 i.InvalidElementsStyleProviderMetaError({context:{meta:t}});return((0,s.getElementStyles)(t.elementId)??{})[e]??null},updateProps:(e,t={})=>{if(!isValidElementsMeta(t))throw new i.InvalidElementsStyleProviderMetaError({context:{meta:t}});(0,s.updateElementStyle)({elementId:t.elementId,styleId:e.id,meta:e.meta,props:e.props})},updateCustomCss:(e,t={})=>{if(!isValidElementsMeta(t))throw new i.InvalidElementsStyleProviderMetaError({context:{meta:t}});(0,s.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&&"string"==typeof e.elementId&&!!e.elementId}},"./packages/packages/core/editor-styles-repository/src/providers/element-base-styles-provider.ts":function(e,t,r){r.r(t),r.d(t,{ELEMENTS_BASE_STYLES_PROVIDER_KEY:function(){return i},elementBaseStylesProvider:function(){return a}});var s=r("@elementor/editor-elements"),o=r("./packages/packages/core/editor-styles-repository/src/utils/create-styles-provider.ts");const i="element-base-styles",a=(0,o.createStylesProvider)({key:i,actions:{all(){const e=(0,s.getWidgetsCache)();return Object.values(e??{}).flatMap(e=>Object.values(e.base_styles??{}))},get(e){return this.all().find(t=>t.id===e)??null}}})},"./packages/packages/core/editor-styles-repository/src/styles-repository.ts":function(e,t,r){r.r(t),r.d(t,{stylesRepository:function(){return s}});const s=(0,r("./packages/packages/core/editor-styles-repository/src/utils/create-styles-repository.ts").createStylesRepository)()},"./packages/packages/core/editor-styles-repository/src/types.ts":function(e,t,r){r.r(t)},"./packages/packages/core/editor-styles-repository/src/utils/create-styles-provider.ts":function(e,t,r){r.r(t),r.d(t,{createStylesProvider:function(){return createStylesProvider}});const s=1e4,o=10;function createStylesProvider({key:e,priority:t=o,limit:r=s,subscribe:i=()=>()=>{},labels:a,actions:n,capabilities:c}){return{getKey:"string"==typeof e?()=>e:e,priority:t,limit:r,capabilities:c,subscribe:i,labels:{singular:a?.singular??null,plural:a?.plural??null},actions:{all:n.all,get:n.get,resolveCssName:n.resolveCssName??(e=>e),create:n.create,delete:n.delete,update:n.update,updateProps:n.updateProps,updateCustomCss:n.updateCustomCss,tracking:n.tracking}}}},"./packages/packages/core/editor-styles-repository/src/utils/create-styles-repository.ts":function(e,t,r){r.r(t),r.d(t,{createStylesRepository:function(){return createStylesRepository}});const createStylesRepository=()=>{const e=[],getProviders=()=>e.slice(0).sort((e,t)=>e.priority>t.priority?-1:1);return{all:(e={})=>getProviders().flatMap(t=>t.actions.all(e)),register:t=>{e.push(t)},subscribe:t=>{const r=e.map(e=>e.subscribe(t));return()=>{r.forEach(e=>e())}},getProviders:getProviders,getProviderByKey:t=>e.find(e=>e.getKey()===t)}}},"./packages/packages/core/editor-styles-repository/src/utils/is-elements-styles-provider.ts":function(e,t,r){r.r(t),r.d(t,{isElementsStylesProvider:function(){return isElementsStylesProvider}});var s=r("./packages/packages/core/editor-styles-repository/src/providers/document-elements-styles-provider.ts");function isElementsStylesProvider(e){return new RegExp(`^${s.ELEMENTS_STYLES_PROVIDER_KEY_PREFIX}\\d+$`).test(e)}},"./packages/packages/core/editor-styles-repository/src/utils/validate-style-label.ts":function(e,t,r){r.r(t),r.d(t,{validateStyleLabel:function(){return validateStyleLabel}});var s=r("@elementor/schema"),o=r("@wordpress/i18n"),i=r("./packages/packages/core/editor-styles-repository/src/providers/document-elements-styles-provider.ts"),a=r("./packages/packages/core/editor-styles-repository/src/styles-repository.ts");const n=["container"],c=s.z.string().max(50,(0,o.__)("Class name is too long. Please keep it under 50 characters.","elementor")).regex(/^(|[^0-9].*)$/,(0,o.__)("Class names must start with a letter.","elementor")).regex(/^\S*$/,(0,o.__)("Class names can’t contain spaces.","elementor")).regex(/^(|[a-zA-Z0-9_-]+)$/,(0,o.__)("Class names can only use letters, numbers, dashes (-), and underscores (_).","elementor")).regex(/^(?!--).*/,(0,o.__)("Double hyphens are reserved for custom properties.","elementor")).regex(/^(?!-[0-9])/,(0,o.__)("Class names can’t start with a hyphen followed by a number.","elementor")).refine(e=>!n.includes(e),{message:(0,o.__)("This name is reserved and can’t be used. Try something more specific.","elementor")});function validateStyleLabel(e,t){const r=new Set([i.ELEMENTS_STYLES_RESERVED_LABEL,...a.stylesRepository.all().map(e=>e.label.toLowerCase())]),s=["create","rename"].includes(t),n=c.refine(e=>!(s&&e.length<2),{message:(0,o.__)("Class name is too short. Use at least 2 characters.","elementor")}).refine(e=>!(s&&r.has(e)),{message:(0,o.__)("This class name already exists. Please choose a unique name.","elementor")}).safeParse(e.toLowerCase());return n.success?{isValid:!0,errorMessage:null}:{isValid:!1,errorMessage:n.error.format()._errors[0]}}},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-elements":function(e){e.exports=window.elementorV2.editorElements},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/schema":function(e){e.exports=window.elementorV2.schema},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,__webpack_require__),o.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){__webpack_require__.r(r),__webpack_require__.d(r,{ELEMENTS_BASE_STYLES_PROVIDER_KEY:function(){return c.ELEMENTS_BASE_STYLES_PROVIDER_KEY},ELEMENTS_STYLES_PROVIDER_KEY_PREFIX:function(){return l.ELEMENTS_STYLES_PROVIDER_KEY_PREFIX},ELEMENTS_STYLES_RESERVED_LABEL:function(){return l.ELEMENTS_STYLES_RESERVED_LABEL},createStylesProvider:function(){return a.createStylesProvider},init:function(){return p.init},isElementsStylesProvider:function(){return n.isElementsStylesProvider},stylesRepository:function(){return e.stylesRepository},useGetStylesRepositoryCreateAction:function(){return s.useGetStylesRepositoryCreateAction},useProviders:function(){return t.useProviders},useUserStylesCapability:function(){return o.useUserStylesCapability},validateStyleLabel:function(){return i.validateStyleLabel}});__webpack_require__("./packages/packages/core/editor-styles-repository/src/types.ts");var e=__webpack_require__("./packages/packages/core/editor-styles-repository/src/styles-repository.ts"),t=__webpack_require__("./packages/packages/core/editor-styles-repository/src/hooks/use-providers.ts"),s=__webpack_require__("./packages/packages/core/editor-styles-repository/src/hooks/use-get-styles-repository-create-action.ts"),o=__webpack_require__("./packages/packages/core/editor-styles-repository/src/hooks/use-user-styles-capability.ts"),i=__webpack_require__("./packages/packages/core/editor-styles-repository/src/utils/validate-style-label.ts"),a=__webpack_require__("./packages/packages/core/editor-styles-repository/src/utils/create-styles-provider.ts"),n=__webpack_require__("./packages/packages/core/editor-styles-repository/src/utils/is-elements-styles-provider.ts"),c=__webpack_require__("./packages/packages/core/editor-styles-repository/src/providers/element-base-styles-provider.ts"),l=__webpack_require__("./packages/packages/core/editor-styles-repository/src/providers/document-elements-styles-provider.ts"),p=__webpack_require__("./packages/packages/core/editor-styles-repository/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorStylesRepository=r}(),window.elementorV2.editorStylesRepository?.init?.(); //# sourceMappingURL=editor-styles-repository.js.map