Files
proelements/assets/js/packages/editor-interactions-extended/editor-interactions-extended.min.js
T
proelements 872bc6fb57 v4.0.4
2026-05-04 11:47:14 +03:00

2 lines
18 KiB
JavaScript

!function(){"use strict";var e={d:function(t,n){for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},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 Ue}});var n=window.elementorV2.editorInteractions,l=window.elementorV2.licenseApi,r=window.React,o=window.elementorV2.editorUi,a=window.elementorV2.ui;const i="easeIn";function s({value:e=i,onChange:t}){const l=Object.entries(n.EASING_OPTIONS).map(([e,t])=>({key:e,label:t}));return r.createElement(a.Select,{onChange:e=>{t(e.target.value)},value:e,fullWidth:!0,displayEmpty:!0,size:"tiny"},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key},e.label)))}function c({value:e=i,onChange:t}){const l=Object.entries(n.EASING_OPTIONS).map(([e,t])=>({key:e,label:t,disabled:!n.BASE_EASINGS.includes(e)}));return r.createElement(a.Select,{onChange:e=>{n.BASE_EASINGS.includes(e.target.value)&&t(e.target.value)},value:e,fullWidth:!0,displayEmpty:!0,size:"tiny"},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key,disabled:e.disabled},e.label)))}function u({value:e,onChange:t}){const l=Object.entries(n.EFFECT_OPTIONS).map(([e,t])=>({key:e,label:t}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",value:e,onChange:e=>{t(e.target.value)}},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key},e.label)))}function m({value:e,onChange:t}){const l=Object.entries(n.EFFECT_OPTIONS).map(([e,t])=>({key:e,label:t,disabled:!n.BASE_EFFECTS.includes(e)}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",onChange:e=>{n.BASE_EFFECTS.includes(e.target.value)&&t(e.target.value)},value:e},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key,disabled:e.disabled},e.label)))}var p=window.elementorV2.editorControls;const d="%",b=15,f=85;function v({value:e,onChange:t,defaultValue:n}){const l=(0,r.useCallback)(e=>{t(null===e?d:String(e))},[t]),o=(e=>{const t=Number(e);return{size:null!=e&&""!==e&&e!==d&&Number.isFinite(t)?t:null,unit:d}})(e);return r.createElement(p.UnstableSizeField,{units:[d],value:o,onChange:e=>{const t=e.size;l("number"==typeof t&&Number.isFinite(t)?t:null)},onBlur:()=>{E(e)&&l(n)}})}const E=e=>null==e||""===e||e===d||"null"===e||"undefined"===e||!Number.isFinite(Number(e));function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},y.apply(null,arguments)}function g(e){return r.createElement(v,y({},e,{defaultValue:b}))}var S=window.elementorV2.editorProps;const I="%";function h({value:e,defaultValue:t}){const n=C(e??String(t));return r.createElement(p.UnstableSizeField,{units:[I],value:n,onChange:()=>{},disabled:!0})}const C=e=>S.sizePropTypeUtil.create({size:Number(e),unit:I}).value;function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},P.apply(null,arguments)}function O(e){return r.createElement(h,P({},e,{defaultValue:b}))}var w=window.wp.i18n;const k={viewport:(0,w.__)("Viewport","elementor-pro"),page:(0,w.__)("Page","elementor-pro")};function T({value:e,onChange:t}){const n=Object.entries(k).map(([e,t])=>({key:e,label:t}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",onChange:e=>t(e.target.value),value:e||"viewport"},n.map(({key:e,label:t})=>r.createElement(o.MenuListItem,{key:e,value:e},t)))}function _({value:e}){const t=Object.entries(k).map(([e,t])=>({key:e,label:t}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",onChange:()=>{},value:e,disabled:!0},t.map(({key:e,label:t})=>r.createElement(o.MenuListItem,{key:e,value:e},t)))}var z=window.elementorV2.icons;const N={loop:(0,w.__)("Infinite repeat","elementor-pro"),times:(0,w.__)("Enable number","elementor-pro")},x={loop:(0,w.__)("loop","elementor-pro"),times:(0,w.__)("times","elementor-pro")};function j({value:e,onChange:t}){const n=[{value:x.times,label:N.times,renderContent:({size:e})=>r.createElement(z.Number123Icon,{fontSize:e}),showTooltip:!0},{value:x.loop,label:N.loop,renderContent:({size:e})=>r.createElement(z.RepeatIcon,{fontSize:e}),showTooltip:!0}];return r.createElement(p.ToggleButtonGroupUi,{items:n,exclusive:!0,onChange:e=>t(e||""),value:e||""})}function V({value:e,onChange:t}){const n=[{value:x.times,label:N.times,disabled:e!==x.times,renderContent:({size:e})=>r.createElement(z.Number123Icon,{fontSize:e}),showTooltip:!0},{value:x.loop,label:N.loop,disabled:e!==x.loop,renderContent:({size:e})=>r.createElement(z.RepeatIcon,{fontSize:e}),showTooltip:!0}];return r.createElement(p.ToggleButtonGroupUi,{items:n,exclusive:!0,onChange:()=>t(""),value:e})}function U({value:e,onChange:t}){const l=[{value:!1,label:n.REPLAY_OPTIONS.no,renderContent:({size:e})=>r.createElement(z.MinusIcon,{fontSize:e})},{value:!0,label:n.REPLAY_OPTIONS.yes,renderContent:({size:e})=>r.createElement(z.CheckIcon,{fontSize:e})}];return r.createElement(p.ToggleButtonGroupUi,{items:l,exclusive:!0,onChange:t,value:e})}function A({value:e,onChange:t}){const l=[{value:!1,disabled:!1,label:n.REPLAY_OPTIONS.no,renderContent:({size:e})=>r.createElement(z.MinusIcon,{fontSize:e})},{value:!0,disabled:!0,label:n.REPLAY_OPTIONS.yes,renderContent:({size:e})=>r.createElement(z.CheckIcon,{fontSize:e})}];return r.createElement(p.ToggleButtonGroupUi,{items:l,exclusive:!0,onChange:t,value:e})}function R(){return R=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},R.apply(null,arguments)}function F(e){return r.createElement(v,R({},e,{defaultValue:f}))}function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},G.apply(null,arguments)}function L(e){return r.createElement(h,G({},e,{defaultValue:f}))}const M=1;function B({value:e,onChange:t}){return r.createElement(p.NumberInput,{size:"tiny",type:"number",fullWidth:!0,value:Number.isFinite(Number(e))?Number(e):"",onInput:e=>{const n=Number(e.target.value);t(Number.isFinite(n)?Math.max(M,Math.trunc(n)):M)},onBlur:()=>{(!Number.isFinite(Number(e))||Number(e)<M)&&t(M)},InputProps:{inputProps:{min:M,step:1}}})}function W({value:e}){return r.createElement(p.NumberInput,{size:"tiny",type:"number",fullWidth:!0,disabled:!0,value:Number.isFinite(Number(e))?Number(e):"",onInput:()=>{},InputProps:{inputProps:{min:1}}})}function Y({value:e,onChange:t}){const l=Object.entries(n.TRIGGER_OPTIONS).map(([e,t])=>({key:e,label:t}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",onChange:e=>t(e.target.value),value:e},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key},e.label)))}function D({value:e,onChange:t}){const l=Object.entries(n.TRIGGER_OPTIONS).map(([e,t])=>({key:e,label:t,disabled:!n.BASE_TRIGGERS.includes(e)}));return r.createElement(a.Select,{fullWidth:!0,displayEmpty:!0,size:"tiny",onChange:e=>t(e.target.value),value:e},l.map(e=>r.createElement(o.MenuListItem,{key:e.key,value:e.key,disabled:e.disabled},e.label)))}const X=(e,t)=>({$$type:e,value:t}),$=e=>S.sizePropTypeUtil.create({size:e,unit:"%"}),H=(e={})=>X("keyframe-stop-settings",e),Z=e=>X("keyframes",e),q=(e,t=H())=>X("keyframe-stop",{stop:$(e),settings:t}),J=H,K=e=>e?.value?.keyframes?.value??[],Q=e=>e.value.stop.value.size,ee=(e,t,n)=>{const l=((e,t)=>K(e).find(e=>Q(e)===t))(e,t);return l?((e,t)=>e.value.settings.value[t]??null)(l,n):null},te=(0,r.createContext)(null),ne=({children:e,value:t,onChange:n})=>{const[l,o]=(0,r.useState)(0);return r.createElement(te.Provider,{value:{value:t,setStopPosition:o,currentStopPosition:l,setValue:(e,r)=>{const o=((e,t,n)=>{const l=structuredClone(e),r=l.findIndex(e=>Q(e)===t);let o;if(-1!==r)o=((e,t)=>{const n=e.value.settings.value,l=J({...n,...t});return q(Q(e),l)})(l[r],n);else{const e=J(n);o=q(t,e)}return((e,t,n)=>{if(-1!==n)return e[n]=t,e;const l=e.findIndex(e=>Q(e)>Q(t));return-1===l?e.push(t):e.splice(l,0,t),e})(l,o,r)})(K(t),l,{[e]:r}),a=X("custom-effect",{keyframes:Z(o)});n(a)}}},e)};function le(e){const t=(0,r.useContext)(te);if(!t)throw new Error("useCustomEffect must be used within CustomEffectProvider");const{value:n,setValue:l,setStopPosition:o,currentStopPosition:a}=t;return e?{value:ee(n,a,e),setValue:t=>l(e,t),selectStop:o}:{selectStop:o}}const re=(0,r.createContext)(null),oe=({children:e})=>{const[t,n]=(0,r.useState)({}),[l,o]=(0,r.useState)(0),a=(0,r.useCallback)((e,t)=>{n(n=>({...n,[e]:t}))},[]);return r.createElement(re.Provider,{value:{openSections:t,scrollPosition:l,setScrollPosition:o,setSectionOpen:a}},e)};var ae=window.elementorV2.editorEditingPanel;const ie=({label:e,children:t})=>r.createElement(p.PopoverGridContainer,null,r.createElement(a.Grid,{item:!0,xs:6},r.createElement(p.ControlFormLabel,null,e)),r.createElement(a.Grid,{item:!0,xs:6},t)),se=({configs:e,units:t,value:n,defaultUnit:l,setValue:o,propTypeUtil:a})=>r.createElement(ae.SectionContent,null,e.map(({label:e,bind:i,startIcon:s})=>r.createElement(ie,{key:e,label:e},r.createElement(p.UnstableSizeField,{startIcon:s,units:t,value:n?.[i]?.value,defaultUnit:l,onChange:e=>((e,t)=>{const l=a.create({...n,[t]:S.sizePropTypeUtil.create(e)});o(l)})(e,i)})))),ce=["px","%","em","rem","vw"],ue=[{label:(0,w.__)("Move X","elementor-pro"),bind:"x",startIcon:r.createElement(z.ArrowRightIcon,{fontSize:"tiny"})},{label:(0,w.__)("Move Y","elementor-pro"),bind:"y",startIcon:r.createElement(z.ArrowDownSmallIcon,{fontSize:"tiny"})},{label:(0,w.__)("Move Z","elementor-pro"),bind:"z",startIcon:r.createElement(z.ArrowDownLeftIcon,{fontSize:"tiny"})}],me=()=>{const{value:e,setValue:t}=le("move");return r.createElement(se,{configs:ue,value:e?.value,propTypeUtil:S.moveTransformPropTypeUtil,setValue:t,units:ce,defaultUnit:"px"})},pe=["%"],de=()=>{const{value:e,setValue:t}=le("opacity");return r.createElement(ie,{label:(0,w.__)("Opacity","elementor-pro")},r.createElement(p.UnstableSizeField,{units:pe,defaultUnit:"%",value:e?.value,onChange:e=>{t(S.sizePropTypeUtil.create(e))}}))},be=["deg","rad","grad","turn"],fe=[{label:(0,w.__)("Rotate X","elementor-pro"),bind:"x",startIcon:r.createElement(z.Arrow360Icon,{fontSize:"tiny"})},{label:(0,w.__)("Rotate Y","elementor-pro"),bind:"y",startIcon:r.createElement(z.Arrow360Icon,{fontSize:"tiny",style:{transform:"scaleX(-1) rotate(-90deg)"}})},{label:(0,w.__)("Rotate Z","elementor-pro"),bind:"z",startIcon:r.createElement(z.RotateClockwiseIcon,{fontSize:"tiny"})}],ve=()=>{const{value:e,setValue:t}=le("rotate");return r.createElement(se,{configs:fe,value:e?.value,propTypeUtil:S.rotateTransformPropTypeUtil,setValue:t,units:be,defaultUnit:"deg"})},Ee=({value:e,onChange:t,startIcon:n,step:l,min:o,max:i})=>{const s=e?.value;return r.createElement(p.NumberInput,{size:"tiny",type:"number",fullWidth:!0,value:ye(s)?s:"",onInput:e=>{const n=""!==e.target.value?Number(e.target.value):null;t(S.numberPropTypeUtil.create(n))},inputProps:{step:l,min:o,max:i},InputProps:{startAdornment:n?r.createElement(a.InputAdornment,{position:"start"},n):void 0}})},ye=e=>null!=e&&!Number.isNaN(Number(e)),ge=[{label:(0,w.__)("Scale X","elementor-pro"),bind:"x",startIcon:r.createElement(z.ArrowRightIcon,{fontSize:"tiny"})},{label:(0,w.__)("Scale Y","elementor-pro"),bind:"y",startIcon:r.createElement(z.ArrowDownSmallIcon,{fontSize:"tiny"})}],Se=()=>{const{value:e,setValue:t}=le("scale"),n=e?.value;return r.createElement(ae.SectionContent,null,ge.map(({bind:e,label:l,startIcon:o})=>r.createElement(ie,{key:l,label:l},r.createElement(Ee,{step:.1,value:n?.[e],onChange:l=>((e,l)=>{t(S.scaleTransformPropTypeUtil.create({...n,[l]:e}))})(l,e),startIcon:o}))))},Ie=["deg","rad","grad","turn"],he=[{label:(0,w.__)("Skew X","elementor-pro"),bind:"x",startIcon:r.createElement(z.ArrowRightIcon,{fontSize:"tiny"})},{label:(0,w.__)("Skew Y","elementor-pro"),bind:"y",startIcon:r.createElement(z.ArrowLeftIcon,{fontSize:"tiny",style:{transform:"scaleX(-1) rotate(-90deg)"}})}],Ce=()=>{const{value:e,setValue:t}=le("skew");return r.createElement(se,{configs:he,value:e?.value,propTypeUtil:S.skewTransformPropTypeUtil,setValue:t,units:Ie,defaultUnit:"deg"})},Pe=({label:e,children:t})=>{const{isOpen:n,toggle:l}=(e=>{const t=(0,r.useContext)(re);if(!t)throw new Error("useSectionOpen must be used within SectionOpenProvider");const{openSections:n,setSectionOpen:l}=t,o=n[e]??!1,a=(0,r.useCallback)(()=>{l(e,!o)},[l,o,e]);return{isOpen:o,toggle:a}})(e),i=(0,r.useId)(),s=`label-${i}`,c=`content-${i}`;return r.createElement(r.Fragment,null,r.createElement(a.ListItemButton,{id:s,"aria-controls":c,"aria-label":`${e} section`,onClick:l,sx:{"&:hover":{backgroundColor:"transparent"},paddingInline:0}},r.createElement(a.Stack,{direction:"row",alignItems:"center",justifyItems:"start",flexGrow:1,gap:.5},r.createElement(a.ListItemText,{secondary:e,secondaryTypographyProps:{color:"text.primary",variant:"caption",fontWeight:"bold"},sx:{flexGrow:0,flexShrink:1,marginInlineEnd:1}})),r.createElement(o.CollapseIcon,{open:n,color:"secondary",fontSize:"tiny",sx:{ml:1}})),r.createElement(a.Collapse,{id:c,"aria-labelledby":s,in:n,timeout:"auto"},r.createElement(a.Stack,{gap:2.5,pb:2},r.createElement(ae.SectionContent,null,t))),r.createElement(a.Divider,null))},Oe=({stopPosition:e})=>{const t=(0,r.useRef)(null),{selectStop:n}=le(),{scrollPosition:l,setScrollPosition:o}=(()=>{const e=(0,r.useContext)(re);if(!e)throw new Error("useScrollPosition must be used within SectionOpenProvider");const{scrollPosition:t,setScrollPosition:n}=e;return{scrollPosition:t,setScrollPosition:n}})();(0,r.useEffect)(()=>{n(e)},[n,e]),(0,r.useEffect)(()=>{const e=t.current;e&&(e.scrollTop=l)},[l]);const i=(0,r.useCallback)(()=>{const e=t.current;e&&o(e.scrollTop)},[o]);return r.createElement(a.Stack,{p:1.5,ref:t,onScroll:i,sx:{maxHeight:245,overflowY:"auto"}},r.createElement(a.List,{disablePadding:!0,component:"div"},r.createElement(a.Stack,{pb:1.5},r.createElement(de,null)),r.createElement(a.Divider,null),r.createElement(Pe,{label:"Scale"},r.createElement(Se,null)),r.createElement(Pe,{label:"Move"},r.createElement(me,null)),r.createElement(Pe,{label:"Rotate"},r.createElement(ve,null)),r.createElement(Pe,{label:"Skew"},r.createElement(Ce,null))))};function we(){return we=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},we.apply(null,arguments)}const ke=()=>{const{getTabsProps:e,getTabProps:t,getTabPanelProps:n}=(0,a.useTabs)("from");return r.createElement(oe,null,r.createElement(a.Tabs,we({size:"small",variant:"fullWidth","aria-label":(0,w.__)("Custom Effect","elementor-pro")},e()),r.createElement(a.Tab,we({label:(0,w.__)("From","elementor-pro")},t("from"))),r.createElement(a.Tab,we({label:(0,w.__)("To","elementor-pro")},t("to")))),r.createElement(a.Divider,null),r.createElement(a.TabPanel,we({sx:{p:0}},n("from")),r.createElement(Oe,{key:"from",stopPosition:0})),r.createElement(a.TabPanel,we({sx:{p:0}},n("to")),r.createElement(Oe,{key:"to",stopPosition:100})))};function Te(){return Te=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},Te.apply(null,arguments)}const _e=(0,r.forwardRef)(({disabled:e=!1,onClick:t},n)=>{const l={},o=!Boolean(e);return o&&Object.assign(l,{"aria-haspopup":"dialog","aria-expanded":o,onClick:t}),r.createElement(a.ToggleButton,Te({ref:n,value:"custom",size:"tiny",disabled:e},l),r.createElement(z.PencilIcon,{fontSize:"tiny"}))}),ze=({justify:e,children:t})=>r.createElement(a.Stack,{direction:"row",justifyContent:e},t);function Ne(){return Ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},Ne.apply(null,arguments)}const xe=({autoOpen:e})=>{const[t,n]=(0,r.useState)(!!e),l=(0,a.usePopupState)({variant:"popover"}),i=(0,r.useRef)(null),{value:s,setValue:c}=le("opacity"),u=()=>{l.close(),n(!1),s||c(null)};return(0,r.useEffect)(()=>{t&&i.current&&l.open(i.current)},[t]),r.createElement(ze,{justify:"flex-end"},r.createElement(_e,{ref:i,onClick:()=>{l.open(i.current)},disabled:l.isOpen}),l.isOpen&&r.createElement(a.Popover,Ne({anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:50,horizontal:-25}},(0,a.bindPopover)(l),{onClose:u}),r.createElement(o.PopoverHeader,{icon:r.createElement(z.SwipeIcon,{fontSize:"tiny"}),title:(0,w.__)("Custom effect","elementor-pro"),onClose:u}),r.createElement(a.Divider,null),r.createElement(o.PopoverBody,{width:297,height:280},r.createElement(ke,null))))},je=({value:e,onChange:t})=>r.createElement(ne,{value:e,onChange:t},r.createElement(xe,{autoOpen:!e})),Ve=()=>r.createElement(ze,{justify:"flex-end"},r.createElement(_e,{disabled:!0}));async function Ue(){const e=await(0,l.fetchLicenseStatus)().catch(()=>!0);(0,n.registerInteractionsControl)({type:"replay",component:e?A:U,options:Object.keys(n.REPLAY_OPTIONS)}),(0,n.registerInteractionsControl)({type:"easing",component:e?c:s,options:Object.keys(n.EASING_OPTIONS)}),(0,n.registerInteractionsControl)({type:"trigger",component:e?D:Y,options:Object.keys(n.TRIGGER_OPTIONS)}),(0,n.registerInteractionsControl)({type:"start",component:e?L:F}),(0,n.registerInteractionsControl)({type:"end",component:e?O:g}),(0,n.registerInteractionsControl)({type:"relativeTo",component:e?_:T,options:Object.keys(k)}),(0,n.registerInteractionsControl)({type:"effect",component:e?m:u,options:Object.keys(n.EFFECT_OPTIONS)}),(0,n.registerInteractionsControl)({type:"customEffects",component:e?Ve:je}),(0,n.registerInteractionsControl)({type:"repeat",component:e?V:j}),(0,n.registerInteractionsControl)({type:"times",component:e?W:B})}(window.elementorV2=window.elementorV2||{}).editorInteractionsExtended=t}(),window.elementorV2.editorInteractionsExtended?.init?.();