Files
proelements/assets/js/packages/editor-controls-extended/editor-controls-extended.min.js
proelements b499583e5a v3.35.0
2026-02-16 11:44:35 +02:00

65 lines
25 KiB
JavaScript

!function(){"use strict";var e={d:function(t,n){for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{AttributesControl:function(){return f},CssEditor:function(){return Re},DisplayConditionsControl:function(){return C},conditionGroupPropTypeUtil:function(){return O},displayConditionsPropTypeUtil:function(){return b},getIsLicenseExpired:function(){return l},licenseApi:function(){return c}});var n=window.elementorV2.editorControls,r=window.elementorV2.httpClient;const o="elementor-pro/v1/license/tier-features",i="elementor-pro/v1/license/get-license-status";let a=[],u=null;async function c(e){if(a.includes(e))return!0;try{const e=await(0,r.httpService)().get(o);a=e.data?.features||[]}catch{}return a.includes(e)}async function l(e=!1){try{if(null===u||e){const e=await(0,r.httpService)().get(i);u=!!e.data?.isExpired}}catch{}return!!u}var s=window.React,d=window.wp.i18n;const f=(0,n.createControl)((()=>s.createElement(n.KeyValueControl,{keyName:(0,d.__)("Name","elementor-pro"),valueName:(0,d.__)("Value","elementor-pro"),regexKey:"^[a-zA-Z0-9_-]*$",validationErrorMessage:(0,d.__)("Names can only use letters, numbers, dashes (-) and underscores (_).","elementor-pro"),getHelperText:(e,t)=>t&&!e?{keyHelper:(0,d.__)("Empty attribute names aren't valid and won't render on the page.","elementor-pro")}:{},escapeHtml:!0})));var p=window.elementorV2.icons,g=window.elementorV2.ui,m=window.elementorV2.editorProps,h=window.elementorV2.schema;const y=h.z.any().nullable(),b=(0,m.createPropUtils)("display-conditions",h.z.array(y));const v=(0,d.__)("Display Conditions","elementor-pro");async function w(){return new Promise(((e,t)=>{window.dispatchEvent(new CustomEvent("elementor/display-conditions/set-cache-notice-status",{detail:{resolve:e,reject:t}}))}))}const C=(0,n.createControl)((({disabled:e=!1})=>{const{setValue:t,value:r}=(0,n.useBoundProp)(b),[o,i]=(0,s.useState)(!1),a=!!r?.length,u=e=>t(function(e){if(!Array.isArray(e)||!e?.length)return null;const t=e.filter((e=>!!e?.length)).map((e=>({$$type:"condition-group",value:e.map((e=>m.stringPropTypeUtil.create(JSON.stringify(e))))})));return t.length?t:null}(JSON.parse(e??"[]"))),c=()=>function(e){const t=e,n=t?.map((e=>e.value.map((e=>JSON.parse(m.stringPropTypeUtil.extract(e)??"[]")))))??null;return function(e){return!!e?.length&&!Array.isArray(e?.[0])}(r=n)?[r]:r;var r}(r)??[],l=()=>{i(!1),window.dispatchEvent(new CustomEvent("elementor/display-conditions/close"))},d=c();return s.createElement(s.Fragment,null,s.createElement(g.Stack,{direction:"row",spacing:2,sx:{justifyContent:"flex-end",alignItems:"center"}},e&&s.createElement(g.Chip,{icon:s.createElement(p.CrownFilledIcon,{fontSize:"tiny"}),size:"tiny",color:"promotion",variant:"standard",sx:{width:"20px","& .MuiChip-label":{display:"none"}}}),s.createElement(g.Tooltip,{title:v,placement:"top"},s.createElement(g.Box,{sx:{cursor:e?"not-allowed":"pointer",display:"inline-flex"}},s.createElement(g.ToggleButton,{value:JSON.stringify(d),size:"tiny",variant:"outline","aria-pressed":a,"aria-expanded":o,selected:a,"aria-haspopup":"dialog","aria-label":v,onClick:()=>{i(!0),window.dispatchEvent(new CustomEvent("elementor/display-conditions/open",{detail:{props:{getControlValue:c,setControlValue:u,onClose:l,setCacheNoticeStatus:w}}}))},disabled:e,sx:{pointerEvents:e?"none":"auto"},"data-behavior":"display-conditions"},s.createElement(p.SitemapIcon,{fontSize:"tiny"}))))))})),E=h.z.any().nullable(),O=(0,m.createPropUtils)("condition-group",h.z.array(E));function M(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){M(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function N(e){return function t(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return t.apply(n,[].concat(o,r))}}}function R(e){return{}.toString.call(e).includes("Object")}function T(e){return"function"==typeof e}var V=N((function(e,t){throw new Error(e[t]||e.default)}))({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),D=function(e,t){return R(t)||V("changeType"),Object.keys(t).some((function(t){return n=e,r=t,!Object.prototype.hasOwnProperty.call(n,r);var n,r}))&&V("changeField"),t},I=function(e){T(e)||V("selectorType")},_=function(e){T(e)||R(e)||V("handlerType"),R(e)&&Object.values(e).some((function(e){return!T(e)}))&&V("handlersType")},z=function(e){var t;e||V("initialIsRequired"),R(e)||V("initialType"),t=e,Object.keys(t).length||V("initialContent")};function A(e,t){return T(t)?t(e.current):t}function B(e,t){return e.current=k(k({},e.current),t),t}function F(e,t,n){return T(t)?t(e.current):Object.keys(n).forEach((function(n){var r;return null===(r=t[n])||void 0===r?void 0:r.call(t,e.current[n])})),n}var U,q,H={create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};z(e),_(t);var n={current:e},r=N(F)(n,t),o=N(B)(n),i=N(D)(e),a=N(A)(n);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return I(e),e(n.current)},function(e){!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight((function(e,t){return t(e)}),e)}}(r,o,i,a)(e)}]}},W=H,$={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},K=(U=function(e,t){throw new Error(e[t]||e.default)},function e(){for(var t=this,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return r.length>=U.length?U.apply(this,r):function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return e.apply(t,[].concat(r,o))}})($),J={config:function(e){return e||K("configIsRequired"),t=e,{}.toString.call(t).includes("Object")||K("configType"),e.urls?(console.warn($.deprecation),{paths:{vs:e.urls.monacoBase}}):e;var t}},Y=function e(t,n){return Object.keys(n).forEach((function(r){n[r]instanceof Object&&t[r]&&Object.assign(n[r],e(t[r],n[r]))})),x(x({},t),n)},G={type:"cancelation",msg:"operation is manually canceled"},Q=function(e){var t=!1,n=new Promise((function(n,r){e.then((function(e){return t?r(G):n(e)})),e.catch(r)}));return n.cancel=function(){return t=!0},n},Z=function(e){if(Array.isArray(e))return e}(q=W.create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}))||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var t=[],n=!0,r=!1,o=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(t.push(i.value),2!==t.length);n=!0);}catch(e){r=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(r)throw o}}return t}}(q)||function(e){if(e){if("string"==typeof e)return L(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?L(e,2):void 0}}(q)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),X=Z[0],ee=Z[1];function te(e){return document.body.appendChild(e)}function ne(e){var t,n,r=X((function(e){return{config:e.config,reject:e.reject}})),o=(t="".concat(r.config.paths.vs,"/loader.js"),n=document.createElement("script"),t&&(n.src=t),n);return o.onload=function(){return e()},o.onerror=r.reject,o}function re(){var e=X((function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}})),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],(function(t){oe(t),e.resolve(t)}),(function(t){e.reject(t)}))}function oe(e){X().monaco||ee({monaco:e})}var ie=new Promise((function(e,t){return ee({resolve:e,reject:t})})),ae={config:function(e){var t=J.config(e),n=t.monaco,r=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,["monaco"]);ee((function(e){return{config:Y(e.config,r),monaco:n}}))},init:function(){var e=X((function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}}));if(!e.isInitialized){if(ee({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Q(ie);if(window.monaco&&window.monaco.editor)return oe(window.monaco),e.resolve(window.monaco),Q(ie);!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduceRight((function(e,t){return t(e)}),e)}}(te,ne)(re)}return Q(ie)},__getMonacoInstance:function(){return X((function(e){return e.monaco}))}},ue=ae,ce={display:"flex",position:"relative",textAlign:"initial"},le={width:"100%"},se={display:"none"},de={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},fe=function({children:e}){return s.createElement("div",{style:de.container},e)},pe=(0,s.memo)((function({width:e,height:t,isEditorReady:n,loading:r,_ref:o,className:i,wrapperProps:a}){return s.createElement("section",{style:{...ce,width:e,height:t},...a},!n&&s.createElement(fe,null,r),s.createElement("div",{ref:o,style:{...le,...!n&&se},className:i}))})),ge=function(e){(0,s.useEffect)(e,[])},me=function(e,t,n=!0){let r=(0,s.useRef)(!0);(0,s.useEffect)(r.current||!n?()=>{r.current=!1}:e,t)};function he(){}function ye(e,t,n,r){return function(e,t){return e.editor.getModel(be(e,t))}(e,r)||function(e,t,n,r){return e.editor.createModel(t,n,r?be(e,r):void 0)}(e,t,n,r)}function be(e,t){return e.Uri.parse(t)}(0,s.memo)((function({original:e,modified:t,language:n,originalLanguage:r,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:a,keepCurrentOriginalModel:u=!1,keepCurrentModifiedModel:c=!1,theme:l="light",loading:d="Loading...",options:f={},height:p="100%",width:g="100%",className:m,wrapperProps:h={},beforeMount:y=he,onMount:b=he}){let[v,w]=(0,s.useState)(!1),[C,E]=(0,s.useState)(!0),O=(0,s.useRef)(null),M=(0,s.useRef)(null),j=(0,s.useRef)(null),x=(0,s.useRef)(b),L=(0,s.useRef)(y),S=(0,s.useRef)(!1);ge((()=>{let e=ue.init();return e.then((e=>(M.current=e)&&E(!1))).catch((e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e))),()=>O.current?function(){let e=O.current?.getModel();u||e?.original?.dispose(),c||e?.modified?.dispose(),O.current?.dispose()}():e.cancel()})),me((()=>{if(O.current&&M.current){let t=O.current.getOriginalEditor(),o=ye(M.current,e||"",r||n||"text",i||"");o!==t.getModel()&&t.setModel(o)}}),[i],v),me((()=>{if(O.current&&M.current){let e=O.current.getModifiedEditor(),r=ye(M.current,t||"",o||n||"text",a||"");r!==e.getModel()&&e.setModel(r)}}),[a],v),me((()=>{let e=O.current.getModifiedEditor();e.getOption(M.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())}),[t],v),me((()=>{O.current?.getModel()?.original.setValue(e||"")}),[e],v),me((()=>{let{original:e,modified:t}=O.current.getModel();M.current.editor.setModelLanguage(e,r||n||"text"),M.current.editor.setModelLanguage(t,o||n||"text")}),[n,r,o],v),me((()=>{M.current?.editor.setTheme(l)}),[l],v),me((()=>{O.current?.updateOptions(f)}),[f],v);let P=(0,s.useCallback)((()=>{if(!M.current)return;L.current(M.current);let u=ye(M.current,e||"",r||n||"text",i||""),c=ye(M.current,t||"",o||n||"text",a||"");O.current?.setModel({original:u,modified:c})}),[n,t,o,e,r,i,a]),k=(0,s.useCallback)((()=>{!S.current&&j.current&&(O.current=M.current.editor.createDiffEditor(j.current,{automaticLayout:!0,...f}),P(),M.current?.editor.setTheme(l),w(!0),S.current=!0)}),[f,l,P]);return(0,s.useEffect)((()=>{v&&x.current(O.current,M.current)}),[v]),(0,s.useEffect)((()=>{!C&&!v&&k()}),[C,v,k]),s.createElement(pe,{width:g,height:p,isEditorReady:v,loading:d,_ref:j,className:m,wrapperProps:h})}));var ve=new Map,we=(0,s.memo)((function({defaultValue:e,defaultLanguage:t,defaultPath:n,value:r,language:o,path:i,theme:a="light",line:u,loading:c="Loading...",options:l={},overrideServices:d={},saveViewState:f=!0,keepCurrentModel:p=!1,width:g="100%",height:m="100%",className:h,wrapperProps:y={},beforeMount:b=he,onMount:v=he,onChange:w,onValidate:C=he}){let[E,O]=(0,s.useState)(!1),[M,j]=(0,s.useState)(!0),x=(0,s.useRef)(null),L=(0,s.useRef)(null),S=(0,s.useRef)(null),P=(0,s.useRef)(v),k=(0,s.useRef)(b),N=(0,s.useRef)(),R=(0,s.useRef)(r),T=function(e){let t=(0,s.useRef)();return(0,s.useEffect)((()=>{t.current=e}),[e]),t.current}(i),V=(0,s.useRef)(!1),D=(0,s.useRef)(!1);ge((()=>{let e=ue.init();return e.then((e=>(x.current=e)&&j(!1))).catch((e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e))),()=>L.current?(N.current?.dispose(),p?f&&ve.set(i,L.current.saveViewState()):L.current.getModel()?.dispose(),void L.current.dispose()):e.cancel()})),me((()=>{let a=ye(x.current,e||r||"",t||o||"",i||n||"");a!==L.current?.getModel()&&(f&&ve.set(T,L.current?.saveViewState()),L.current?.setModel(a),f&&L.current?.restoreViewState(ve.get(i)))}),[i],E),me((()=>{L.current?.updateOptions(l)}),[l],E),me((()=>{!L.current||void 0===r||(L.current.getOption(x.current.editor.EditorOption.readOnly)?L.current.setValue(r):r!==L.current.getValue()&&(D.current=!0,L.current.executeEdits("",[{range:L.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),L.current.pushUndoStop(),D.current=!1))}),[r],E),me((()=>{let e=L.current?.getModel();e&&o&&x.current?.editor.setModelLanguage(e,o)}),[o],E),me((()=>{void 0!==u&&L.current?.revealLine(u)}),[u],E),me((()=>{x.current?.editor.setTheme(a)}),[a],E);let I=(0,s.useCallback)((()=>{if(S.current&&x.current&&!V.current){k.current(x.current);let c=i||n,s=ye(x.current,r||e||"",t||o||"",c||"");L.current=x.current?.editor.create(S.current,{model:s,automaticLayout:!0,...l},d),f&&L.current.restoreViewState(ve.get(c)),x.current.editor.setTheme(a),void 0!==u&&L.current.revealLine(u),O(!0),V.current=!0}}),[e,t,n,r,o,i,l,d,f,a,u]);return(0,s.useEffect)((()=>{E&&P.current(L.current,x.current)}),[E]),(0,s.useEffect)((()=>{!M&&!E&&I()}),[M,E,I]),R.current=r,(0,s.useEffect)((()=>{E&&w&&(N.current?.dispose(),N.current=L.current?.onDidChangeModelContent((e=>{D.current||w(L.current.getValue(),e)})))}),[E,w]),(0,s.useEffect)((()=>{if(E){let e=x.current.editor.onDidChangeMarkers((e=>{let t=L.current.getModel()?.uri;if(t&&e.find((e=>e.path===t.path))){let e=x.current.editor.getModelMarkers({resource:t});C?.(e)}}));return()=>{e?.dispose()}}return()=>{}}),[E,C]),s.createElement(pe,{width:g,height:m,isEditorReady:E,loading:c,_ref:S,className:h,wrapperProps:y})}));const Ce=(0,g.styled)(g.Box)`
border: 1px solid var( --e-a-border-color );
border-radius: 8px;
padding: 4px;
position: relative;
height: 200px;
.monaco-editor .suggest-widget {
width: 220px !important;
max-width: 220px !important;
z-index: 1001;
}
.visual-content-dimmed {
opacity: 0.6;
color: #aaa !important;
pointer-events: none;
}
.monaco-editor {
.margin-view-overlays > div:nth-of-type( 1 ) .cldr.codicon.codicon-folding-expanded {
visibility: hidden;
}
.monaco-scrollable-element {
> .scrollbar {
width: 6px !important;
> .slider {
width: 6px !important;
}
}
}
}
`,Ee=(0,g.styled)(g.Button)`
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 6px;
cursor: ns-resize;
background: transparent;
border: none;
padding: 0;
&:hover {
background: rgba( 0, 0, 0, 0.05 );
}
&:active {
background: rgba( 0, 0, 0, 0.1 );
}
&::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate( -50%, -50% );
width: 30px;
height: 2px;
background: var( --e-a-border-color );
border-radius: 1px;
}
`,Oe={pseudoState:{pattern:"^\\s*[&]{0,1}\\s*(?::hover|:active|:focus)",regex:!0,message:(0,d.__)("The use of pseudo-states is not permitted. Instead, switch to the desired pseudo state and add your custom code there.","elementor-pro")},mediaQuery:{pattern:"@media\\s+[^{]*\\b(?:min-width|max-width|width)\\b",regex:!0,message:(0,d.__)("The use of @media width queries is not permitted. Instead, switch to the desired breakpoint and add your custom code there.","elementor-pro")}};function Me(e,t,n){const r=e.getModel();if(!r)return!0;const o=[];return Object.entries(Oe).forEach((([e,i])=>{!1!==n?.rules?.[e]&&r.findMatches(i.pattern,!0,i.regex??!1,!0,null,!0).forEach((e=>{o.push({severity:t.MarkerSeverity.Error,message:i.message,startLineNumber:e.range.startLineNumber,startColumn:e.range.startColumn,endLineNumber:e.range.endLineNumber,endColumn:e.range.endColumn,source:"custom-css-rules"})}))})),t.editor.setModelMarkers(r,"custom-css-rules",o),0===o.length}const je=({onResize:e,containerRef:t,onHeightChange:n})=>{const r=s.useCallback((r=>{const o=t.current;if(!o)return;const i=o.getBoundingClientRect(),a=Math.max(100,r.clientY-i.top);n?.(a),e(a)}),[t,e,n]),o=s.useCallback((()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",o)}),[r]),i=s.useCallback((e=>{e.preventDefault(),e.stopPropagation(),document.addEventListener("mousemove",r),document.addEventListener("mouseup",o)}),[r,o]);return s.useEffect((()=>()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",o)}),[r,o]),s.createElement(Ee,{onMouseDown:i,"aria-label":"Resize editor height",title:"Drag to resize editor height"})},xe=(e,t)=>{const n=e.createDecorationsCollection(),r=t.getLineCount(),o=[];o.push({range:{startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:t.getLineContent(1).length+1},options:{inlineClassName:"visual-content-dimmed",isWholeLine:!1}}),r>1&&o.push({range:{startLineNumber:r,startColumn:1,endLineNumber:r,endColumn:t.getLineContent(r).length+1},options:{inlineClassName:"visual-content-dimmed",isWholeLine:!1}}),n.set(o)},Le=(e,t)=>e.startLineNumber===t.startLineNumber&&e.endLineNumber===t.endLineNumber&&e.startColumn===t.startColumn&&e.endColumn===t.endColumn,Se=e=>!!e&&e.startsWith("element.style {")&&e.endsWith("}"),Pe=e=>{const t=e.trim();return`element.style {\n${t?" "+t.replace(/\n/g,"\n ")+"\n":" \n"}}`},ke=e=>{const t=e.split("\n");return t.length<2?"":t.slice(1,-1).map((e=>e.replace(/^ {2}/,""))).join("\n")},Ne=(e,t,n,r,o)=>(i,a)=>{e.current=i,t.current=a,(e=>{const t=e.getModel();t&&(xe(e,t),t.onDidChangeContent((()=>{xe(e,t)})),(e=>{const t=e.getModel();t&&e.onDidChangeCursorPosition((n=>{const r=t.getLineCount(),o=n.position;1===o.lineNumber?e.setPosition({lineNumber:2,column:1}):o.lineNumber===r&&e.setPosition({lineNumber:r-1,column:t.getLineContent(r-1).length+1})}))})(e),(e=>{const t=e.pushEditOperations;e.pushEditOperations=(n,r,o)=>{const i=e.getLineCount(),a=e.getFullModelRange(),u=r.filter((e=>{const t=e.range,n=1===t.startLineNumber||1===t.endLineNumber||t.startLineNumber===i||t.endLineNumber===i;return!!(n&&Le(t,a)&&Se(e.text))||!n}));return t.call(e,n,u,o)}})(t))})(i),Me(i,a,o);const u=i.getModel()?.getValue()??"",c=ke(u);n(c),a.editor.onDidChangeMarkers((()=>{!function(e,t){const n=e.getModel();if(!n)return;const r=t.editor.getModelMarkers({resource:n.uri}),o=r.filter((e=>1!==e.startLineNumber)).filter((e=>"custom-css-rules"!==e.source));o.length!==r.length&&t.editor.setModelMarkers(n,"css",o)}(i,a),r(function(e,t){const n=e.getModel();return!n||0===t.editor.getModelMarkers({resource:n.uri}).filter((e=>e.severity===t.MarkerSeverity.Error)).length}(i,a))})),i.setPosition({lineNumber:2,column:(i.getModel()?.getLineContent(2).length??0)+1}),function(e){if("function"!=typeof e.getDomNode)return;const t=e.getDomNode()?.querySelector(".margin-view-overlays"),n=e=>{const n=e;if(0!==n.button)return;const r=n.target,o=t?.children[0];(r===o||r.parentElement===o)&&(e.preventDefault(),e.stopPropagation())};t?.addEventListener("mousedown",n),e.onDidDispose((()=>{t?.removeEventListener("mousedown",n)}))}(i),i.addCommand(a.KeyMod.CtrlCmd|a.KeyCode.KeyA,(()=>{const e=i.getModel();if(!e)return;const t=e.getFullModelRange(),n=t.endLineNumber-1;let r=e.getLineLastNonWhitespaceColumn(n);0===r&&(r=e.getLineMaxColumn(n)),i.setSelection(new a.Selection(t.startLineNumber+1,t.startColumn,n,r))}))},Re=({value:e,onChange:t,syntaxRuleOptions:r,readOnly:o=!1})=>{const i=(0,g.useTheme)(),a=(0,s.useRef)(null),u=(0,s.useRef)(null),c=(0,s.useRef)(null),l=(0,s.useRef)(null),[f,p]=(0,s.useState)(""!==e.trim()),[m,h]=(0,s.useState)(!0),[y,b]=(0,s.useState)(0);!function(e,n){const r=(0,s.useRef)(!1);(0,s.useEffect)((()=>{r.current?(()=>{const e=u.current?.getModel()?.getValue()??"",n=ke(e);p(!n.trim()),t(n,m)})():r.current=!0}),n)}(0,[y,m]);const v=(0,s.useCallback)((e=>{p(""!==e.trim())}),[]),w=(0,s.useCallback)((()=>{u.current?.layout()}),[]),C=(0,s.useCallback)((e=>{a.current&&(a.current.style.height=`${e}px`)}),[]),E=Ne(u,c,v,h,r);return(0,s.useEffect)((()=>{const e=l;return()=>{const t=e.current;t&&clearTimeout(t)}}),[]),s.createElement(n.FloatingActionsBar,{actions:f?[s.createElement(n.ClearIconButton,{key:"clear",tooltipText:(0,d.__)("Clear","elementor-pro"),onClick:()=>u.current?.getModel()?.setValue(Pe(""))})]:[]},s.createElement(g.Box,null,s.createElement(Ce,{ref:a},s.createElement(we,{height:"100%",language:"css",theme:"dark"===i.palette.mode?"vs-dark":"vs",value:Pe(e),onMount:E,onChange:()=>{u.current&&c.current&&(Me(u?.current,c.current,r),l.current&&clearTimeout(l.current),l.current=setTimeout((()=>{b((e=>e+1))}),500))},options:{lineNumbers:"on",lineNumbersMinChars:3,folding:!0,minimap:{enabled:!1},fontFamily:"Roboto, Arial, Helvetica, Verdana, sans-serif",fontSize:12,renderLineHighlight:"none",hideCursorInOverviewRuler:!0,overviewRulerBorder:!1,fixedOverflowWidgets:!0,suggestFontSize:10,suggestLineHeight:14,stickyScroll:{enabled:!1},lineDecorationsWidth:2,wordWrap:"on",scrollBeyondLastLine:!1,readOnly:o}}),s.createElement(je,{onResize:w,containerRef:a,onHeightChange:C}))))};!async function(){const e=await l();await c("transitions")&&function(e=!1){n.transitionProperties&&0!==n.transitionProperties.length&&(n.transitionProperties.forEach((t=>{t.properties.forEach((t=>{"all"!==t.value&&(t.isDisabled=e)}))})),n.transitionsItemsList.splice(0,n.transitionsItemsList.length,...n.transitionProperties.map((e=>({label:e.label,items:e.properties.map((e=>e.label))})))))}(e)}(),(window.elementorV2=window.elementorV2||{}).editorControlsExtended=t}(),window.elementorV2.editorControlsExtended?.init?.();