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

1 line
6.6 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,{init:function(){return j}});var n=window.elementorV2.editorProps,r=window.elementorV2.editorVariables,o=window.elementorV2.icons,i=window.React,u=window.elementorV2.ui;function a(e){const t=window.elementorCommonConfig?.version??"0.0",[n,r]=t.split(".").map(Number),[o,i]=e.split(".").map(Number);return n>o||n===o&&r>=i}const l="px",s="custom",c="auto",p=["px","%","em","rem","vw","vh",c,s],d=e=>{if(!e)return m(p);const t=f(e);return Array.isArray(t.available_units)&&0!==t.available_units.length?m(t.available_units):m(p)},f=e=>"union"===e?.kind?e.prop_types[n.sizePropTypeUtil.key].settings:{},m=e=>a("3.35")?e:e.filter((e=>e!==s));var y=window.elementorV2.schema;const v=(0,n.createPropUtils)("global-size-variable",y.z.string()),h="global-custom-size-variable",b=(e,t,n,r)=>{if(r&&r===h)return{size:e,unit:"custom"};if("string"!=typeof e)return"custom"===e?.unit?e:"auto"===e.unit?{size:null,unit:e.unit}:e;const o={size:null,unit:t??l},i=n??(()=>{const e=window;return e.elementor?.config?.supported_size_units??[]})();if("auto"===e)return i.includes(e)?{size:"",unit:e}:o;const u=e.match(/^(-?\d*\.?\d+)([a-z%]+)$/i);if(u){const e=parseFloat(u[1]),t=u[2];if(i.includes(t))return{size:e,unit:t}}return o},g=e=>""===e.trim()?null:Number(e),w=e=>{const{size:t,unit:n}=e;return n===c?"auto":null===t?"":(({size:e,unit:t})=>"auto"===t?"auto":"custom"===t?e:`${e??""}${t}`)(e)},z=["auto"];var P=window.elementorV2.editorUi,C=window.wp.i18n;function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},E.apply(null,arguments)}const x=({popupState:e,value:t,onChange:n,anchorRef:r})=>{const a=(0,i.useRef)(null),l=()=>{e.close()};(0,i.useEffect)((()=>{s()}),[]);const s=()=>requestAnimationFrame((()=>{a.current&&a.current.focus()}));return i.createElement(u.Popover,E({slotProps:{paper:{sx:{minWidth:"250px",width:r.current?.offsetWidth+"px",borderRadius:2}}},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},(0,u.bindPopover)(e),{onClose:l}),i.createElement(P.PopoverHeader,{title:(0,C.__)("CSS function","elementor-pro"),onClose:l,icon:i.createElement(o.MathFunctionIcon,{fontSize:"tiny"})}),i.createElement(u.TextField,{value:t??"",onChange:e=>n(e.target.value),size:"tiny",type:"text",fullWidth:!0,inputProps:{ref:a,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),l())}},sx:{pt:0,pr:1.5,pb:1.5,pl:1.5}}))},T=(0,i.forwardRef)((({value:e,onChange:t,onKeyUp:n,onKeyDown:r,type:o,InputProps:a,focused:l},s)=>i.createElement(u.TextField,{ref:s,size:"tiny",type:o,fullWidth:!0,value:e??"",onKeyUp:n,onKeyDown:r,onChange:e=>t(e.target.value),InputProps:a,sx:{input:{cursor:a.readOnly?"default !important":void 0}},focused:l})));function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k.apply(null,arguments)}const V={custom:i.createElement(o.MathFunctionIcon,{fontSize:"tiny"})},O={display:"flex",flexDirection:"column",justifyContent:"center"},S=({options:e,value:t,onClick:n,showPrimaryColor:r})=>{const o=(0,u.usePopupState)({variant:"popover",popupId:(0,i.useId)()});return i.createElement(i.Fragment,null,i.createElement(R,k({isPrimaryColor:r,size:"small"},(0,u.bindTrigger)(o)),V[t]??t),i.createElement(u.Menu,k({MenuListProps:{dense:!0}},(0,u.bindMenu)(o)),e.map(((t,r)=>i.createElement(P.MenuListItem,{key:t,onClick:()=>(t=>{n(e[t]),o.close()})(r),primaryTypographyProps:{variant:"caption",sx:{...O,lineHeight:"1"}},menuItemTextProps:{sx:O}},V[t]??t.toUpperCase())))))},R=(0,u.styled)(u.Button,{shouldForwardProp:e=>"isPrimaryColor"!==e})((({isPrimaryColor:e,theme:t})=>({color:e?t.palette.text.primary:t.palette.text.tertiary,font:"inherit",minWidth:"initial",textTransform:"uppercase"}))),U=["e","E","+","-"],F=({value:e,onChange:t,propType:n,onPropTypeKeyChange:r,propTypeKey:o,ref:a,onKeyDown:p})=>{const{anchorRef:m,setAnchorRef:y}=(e=>{const t=(0,i.useRef)(null),n=(0,i.useCallback)((n=>{t.current=e?.current??n}),[e]);return{anchorRef:t,setAnchorRef:n}})(a),P=(0,u.usePopupState)({variant:"popover"}),C=()=>{P.open(m?.current)},{currentValue:E,units:k,setSize:V,setUnit:O}=((e,t,n,r,o)=>{const u=(e=>e?f(e)?.default_unit??l:l)(r),a=d(r),p=b(e,u,a,o),[m,y]=(0,i.useState)(p);return(0,i.useEffect)((()=>{t(w(m))}),[m,t]),(0,i.useEffect)((()=>{m.unit===s&&n?.(m.unit)}),[]),{currentValue:m,units:a,setSize:e=>{y((t=>{const{unit:n}=t;return n===c?t:n===s?{...t,size:e}:{...t,size:g(e)}}))},setUnit:e=>{n(e),y((t=>({unit:e,size:e===c?null:t.size})))}}})(e,t,(e=>{e!==s&&o===h&&r?.(v.key),e===s&&(r?.(h),C())}),n,o),R=((e,t)=>{const n=(0,i.useRef)("");return(0,i.useCallback)((r=>{const{key:o}=r;if(!/^[a-zA-Z%]$/.test(o))return;r.preventDefault();const i=o.toLowerCase(),u=(n.current+i).slice(-3);n.current=u;const a=function(e,t){const n=t.filter((e=>!z.includes(e))),r=e[e.length-1];return n.find((t=>t.includes(e)))??n.find((e=>e.startsWith(r)))??n.find((e=>e.includes(r)))}(u,e);a&&t(a)}),[e,t])})(k,O),F=I(E.unit);return i.createElement(i.Fragment,null,i.createElement(T,{ref:y,type:F?"text":"number",value:E.size,onChange:V,onKeyUp:R,onKeyDown:e=>{U.includes(e.key)&&e.preventDefault(),p?.(e)},InputProps:{readOnly:F,onClick:e=>{const t=e.target;t instanceof Element&&t.closest("input")&&E.unit===s&&C()},endAdornment:i.createElement(u.InputAdornment,{position:"end"},i.createElement(S,{options:k,value:E.unit,onClick:O,showPrimaryColor:_(E.size)||E.unit===c}))}}),m?.current&&P.isOpen&&i.createElement(x,{popupState:P,anchorRef:m,value:E.size,onChange:V}))},I=e=>["auto","custom"].includes(e),_=e=>null!=e&&""!==e;function D(e,t){const n=d(e),{unit:r}=b(t.value);return n.includes(r)}const K=(e,t)=>b(e,void 0,void 0,t);function j(){const e={valueField:F,icon:o.ExpandDiagonalIcon,propTypeUtil:v,fallbackPropTypeUtil:n.sizePropTypeUtil,variableType:"size",valueTransformer:K};(0,r.registerVariableType)({...e,key:v.key,defaultValue:"0px",selectionFilter:(e,t)=>{const n=d(t);return e.filter((e=>{const{unit:t}=b(e.value);return n.includes(t)}))},isCompatible:D}),a("3.35")&&(0,r.registerVariableType)({...e,key:h,isCompatible:()=>!0})}(window.elementorV2=window.elementorV2||{}).editorVariablesExtended=t}(),window.elementorV2.editorVariablesExtended?.init?.();