/*! For license information please see editor-controls.js.LICENSE.txt */ !function(){"use strict";var e={"./packages/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js":function(e,t,r){function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread2(e){for(var t=1;t=0||(o[r]=e[r]);return o}function _objectWithoutProperties(e,t){if(null==e)return{};var r,n,o=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var s,l=e[Symbol.iterator]();!(n=(s=l.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==l.return||l.return()}finally{if(o)throw a}}return r}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?e.apply(this,n):function(){for(var e=arguments.length,r=new Array(e),o=0;o{n.current=!1}:e,t)};function D(){}function h(e,t,r,n){return function De(e,t){return e.editor.getModel(te(e,t))}(e,n)||function be(e,t,r,n){return e.editor.createModel(t,r,n?te(e,n):void 0)}(e,t,r,n)}function te(e,t){return e.Uri.parse(t)}var d=function Oe({original:e,modified:t,language:r,originalLanguage:a,modifiedLanguage:s,originalModelPath:l,modifiedModelPath:c,keepCurrentOriginalModel:d=!1,keepCurrentModifiedModel:m=!1,theme:g="light",loading:b="Loading...",options:f={},height:k="100%",width:v="100%",className:x,wrapperProps:y={},beforeMount:E=D,onMount:_=D}){let[C,P]=(0,o.useState)(!1),[w,T]=(0,o.useState)(!0),S=(0,o.useRef)(null),z=(0,o.useRef)(null),O=(0,o.useRef)(null),R=(0,o.useRef)(_),A=(0,o.useRef)(E),F=(0,o.useRef)(!1);u(()=>{let e=n.default.init();return e.then(e=>(z.current=e)&&T(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>S.current?function I(){let e=S.current?.getModel();d||e?.original?.dispose(),m||e?.modified?.dispose(),S.current?.dispose()}():e.cancel()}),p(()=>{if(S.current&&z.current){let t=S.current.getOriginalEditor(),n=h(z.current,e||"",a||r||"text",l||"");n!==t.getModel()&&t.setModel(n)}},[l],C),p(()=>{if(S.current&&z.current){let e=S.current.getModifiedEditor(),n=h(z.current,t||"",s||r||"text",c||"");n!==e.getModel()&&e.setModel(n)}},[c],C),p(()=>{let e=S.current.getModifiedEditor();e.getOption(z.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],C),p(()=>{S.current?.getModel()?.original.setValue(e||"")},[e],C),p(()=>{let{original:e,modified:t}=S.current.getModel();z.current.editor.setModelLanguage(e,a||r||"text"),z.current.editor.setModelLanguage(t,s||r||"text")},[r,a,s],C),p(()=>{z.current?.editor.setTheme(g)},[g],C),p(()=>{S.current?.updateOptions(f)},[f],C);let U=(0,o.useCallback)(()=>{if(!z.current)return;A.current(z.current);let n=h(z.current,e||"",a||r||"text",l||""),o=h(z.current,t||"",s||r||"text",c||"");S.current?.setModel({original:n,modified:o})},[r,t,s,e,a,l,c]),j=(0,o.useCallback)(()=>{!F.current&&O.current&&(S.current=z.current.editor.createDiffEditor(O.current,{automaticLayout:!0,...f}),U(),z.current?.editor.setTheme(g),P(!0),F.current=!0)},[f,g,U]);return(0,o.useEffect)(()=>{C&&R.current(S.current,z.current)},[C]),(0,o.useEffect)(()=>{!w&&!C&&j()},[w,C,j]),o.createElement(i,{width:v,height:k,isEditorReady:C,loading:b,_ref:O,className:x,wrapperProps:y})},m=(0,o.memo)(d);var g=function Pe(){let[e,t]=(0,o.useState)(n.default.__getMonacoInstance());return u(()=>{let r;return e||(r=n.default.init(),r.then(e=>{t(e)})),()=>r?.cancel()}),e};var b=function He(e){let t=(0,o.useRef)();return(0,o.useEffect)(()=>{t.current=e},[e]),t.current},f=new Map;var k=function Ve({defaultValue:e,defaultLanguage:t,defaultPath:r,value:a,language:s,path:l,theme:c="light",line:d,loading:m="Loading...",options:g={},overrideServices:k={},saveViewState:v=!0,keepCurrentModel:x=!1,width:y="100%",height:E="100%",className:_,wrapperProps:C={},beforeMount:P=D,onMount:w=D,onChange:T,onValidate:S=D}){let[z,O]=(0,o.useState)(!1),[R,A]=(0,o.useState)(!0),F=(0,o.useRef)(null),U=(0,o.useRef)(null),j=(0,o.useRef)(null),B=(0,o.useRef)(w),L=(0,o.useRef)(P),M=(0,o.useRef)(),V=(0,o.useRef)(a),G=b(l),$=(0,o.useRef)(!1),K=(0,o.useRef)(!1);u(()=>{let e=n.default.init();return e.then(e=>(F.current=e)&&A(!1)).catch(e=>"cancelation"!==e?.type&&console.error("Monaco initialization: error:",e)),()=>U.current?function pe(){M.current?.dispose(),x?v&&f.set(l,U.current.saveViewState()):U.current.getModel()?.dispose(),U.current.dispose()}():e.cancel()}),p(()=>{let n=h(F.current,e||a||"",t||s||"",l||r||"");n!==U.current?.getModel()&&(v&&f.set(G,U.current?.saveViewState()),U.current?.setModel(n),v&&U.current?.restoreViewState(f.get(l)))},[l],z),p(()=>{U.current?.updateOptions(g)},[g],z),p(()=>{!U.current||void 0===a||(U.current.getOption(F.current.editor.EditorOption.readOnly)?U.current.setValue(a):a!==U.current.getValue()&&(K.current=!0,U.current.executeEdits("",[{range:U.current.getModel().getFullModelRange(),text:a,forceMoveMarkers:!0}]),U.current.pushUndoStop(),K.current=!1))},[a],z),p(()=>{let e=U.current?.getModel();e&&s&&F.current?.editor.setModelLanguage(e,s)},[s],z),p(()=>{void 0!==d&&U.current?.revealLine(d)},[d],z),p(()=>{F.current?.editor.setTheme(c)},[c],z);let q=(0,o.useCallback)(()=>{if(j.current&&F.current&&!$.current){L.current(F.current);let n=l||r,o=h(F.current,a||e||"",t||s||"",n||"");U.current=F.current?.editor.create(j.current,{model:o,automaticLayout:!0,...g},k),v&&U.current.restoreViewState(f.get(n)),F.current.editor.setTheme(c),void 0!==d&&U.current.revealLine(d),O(!0),$.current=!0}},[e,t,r,a,s,l,g,k,v,c,d]);return(0,o.useEffect)(()=>{z&&B.current(U.current,F.current)},[z]),(0,o.useEffect)(()=>{!R&&!z&&q()},[R,z,q]),V.current=a,(0,o.useEffect)(()=>{z&&T&&(M.current?.dispose(),M.current=U.current?.onDidChangeModelContent(e=>{K.current||T(U.current.getValue(),e)}))},[z,T]),(0,o.useEffect)(()=>{if(z){let e=F.current.editor.onDidChangeMarkers(e=>{let t=U.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=F.current.editor.getModelMarkers({resource:t});S?.(e)}});return()=>{e?.dispose()}}return()=>{}},[z,S]),o.createElement(i,{width:y,height:E,isEditorReady:z,loading:m,_ref:j,className:_,wrapperProps:C})},v=(0,o.memo)(k),x=v},"./packages/node_modules/state-local/lib/es/state-local.js":function(e,t,r){function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread2(e){for(var t=1;t=e.length?e.apply(this,n):function(){for(var e=arguments.length,r=new Array(e),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};o.initial(e),o.handler(t);var r={current:e},n=curry(didStateUpdate)(r,t),a=curry(updateState)(r),s=curry(o.changes)(e),l=curry(extractChanges)(r);return[function getState(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return o.selector(e),e(r.current)},function setState(e){!function compose(){for(var e=arguments.length,t=new Array(e),r=0;r(0,n.httpService)().get(`${o}/${e}`).then(e=>formatSettingResponse(e.data)),updateElementorSetting:(e,t)=>(0,n.httpService)().put(`${o}/${e}`,{value:t})},formatSettingResponse=e=>e.data.value},"./packages/packages/libs/editor-controls/src/bound-prop-context/errors.ts":function(e,t,r){r.r(t),r.d(t,{HookOutsideProviderError:function(){return s},MissingPropTypeError:function(){return o},UnsupportedParentError:function(){return a}});var n=r("@elementor/utils");const o=(0,n.createError)({code:"missing_prop_provider_prop_type",message:"Prop type is missing"}),a=(0,n.createError)({code:"unsupported_prop_provider_prop_type",message:"Parent prop type is not supported"}),s=(0,n.createError)({code:"hook_outside_provider",message:"Hook used outside of provider"})},"./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts":function(e,t,r){r.r(t),r.d(t,{PropKeyProvider:function(){return o.PropKeyProvider},PropProvider:function(){return n.PropProvider},useBoundProp:function(){return a.useBoundProp},usePropContext:function(){return n.usePropContext},usePropKeyContext:function(){return o.usePropKeyContext}});var n=r("./packages/packages/libs/editor-controls/src/bound-prop-context/prop-context.tsx"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/prop-key-context.tsx"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/use-bound-prop.ts")},"./packages/packages/libs/editor-controls/src/bound-prop-context/prop-context.tsx":function(e,t,r){r.r(t),r.d(t,{PropProvider:function(){return PropProvider},usePropContext:function(){return usePropContext}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/errors.ts");const a=(0,n.createContext)(null),PropProvider=({children:e,value:t,setValue:r,propType:o,placeholder:s,isDisabled:l})=>n.createElement(a.Provider,{value:{value:t,propType:o,setValue:r,placeholder:s,isDisabled:l}},e),usePropContext=()=>{const e=(0,n.useContext)(a);if(!e)throw new o.HookOutsideProviderError({context:{hook:"usePropContext",provider:"PropProvider"}});return e}},"./packages/packages/libs/editor-controls/src/bound-prop-context/prop-key-context.tsx":function(e,t,r){r.r(t),r.d(t,{PropKeyProvider:function(){return PropKeyProvider},usePropKeyContext:function(){return usePropKeyContext}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/errors.ts"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/prop-context.tsx");const s=(0,n.createContext)(null),PropKeyProvider=({children:e,bind:t})=>{const{propType:r}=(0,a.usePropContext)();if(!r)throw new o.MissingPropTypeError({context:{bind:t}});if("array"===r.kind)return n.createElement(ArrayPropKeyProvider,{bind:t},e);if("object"===r.kind)return n.createElement(ObjectPropKeyProvider,{bind:t},e);throw new o.UnsupportedParentError({context:{propType:r}})},ObjectPropKeyProvider=({children:e,bind:t})=>{const r=(0,a.usePropContext)(),{path:o}=(0,n.useContext)(s)??{},l=r.value?.[t],c=r.placeholder?.[t],i=r.propType.shape[t];return n.createElement(s.Provider,{value:{...r,value:l,setValue:(e,n,o)=>{const a={...r.value,[t]:e};return r?.setValue(a,n,{...o,bind:t})},placeholder:c,bind:t,propType:i,path:[...o??[],t]}},e)},ArrayPropKeyProvider=({children:e,bind:t})=>{const r=(0,a.usePropContext)(),{path:o}=(0,n.useContext)(s)??{},l=r.value?.[Number(t)],c=r.propType.item_prop_type;return n.createElement(s.Provider,{value:{...r,value:l,setValue:(e,n)=>{const o=[...r.value??[]];return o[Number(t)]=e,r?.setValue(o,n,{bind:t})},bind:t,propType:c,path:[...o??[],t]}},e)},usePropKeyContext=()=>{const e=(0,n.useContext)(s);if(!e)throw new o.HookOutsideProviderError({context:{hook:"usePropKeyContext",provider:"PropKeyProvider"}});return e}},"./packages/packages/libs/editor-controls/src/bound-prop-context/use-bound-prop.ts":function(e,t,r){r.r(t),r.d(t,{useBoundProp:function(){return useBoundProp}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/errors.ts"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/prop-key-context.tsx");function useBoundProp(e){const t=(0,a.usePropKeyContext)(),{isValid:r,validate:n,restoreValue:o}=useValidation(t.propType),s=t.isDisabled?.(t.propType);if(!e)return{...t,disabled:s};const l=resolveUnionPropType(t.propType,e.key),c=e.extract(t.value??l.default??null),i=e.extract(t.placeholder??null);return{...t,propType:l,setValue:function setValue(r,o,a){if(n(r,a?.validation))return null===r?t?.setValue(null,o,a):t?.setValue(e?.create(r,o),{},a)},value:r?c:null,restoreValue:o,placeholder:i,disabled:s}}const useValidation=e=>{const[t,r]=(0,n.useState)(!0);return{isValid:t,setIsValid:r,validate:(t,n)=>{let o=!0;return e.settings.required&&null===t&&(o=!1),n&&!n(t)&&(o=!1),r(o),o},restoreValue:()=>r(!0)}},resolveUnionPropType=(e,t)=>{let r=e;if("union"===e.kind&&(r=e.prop_types[t]),!r)throw new o.MissingPropTypeError({context:{key:t}});return r}},"./packages/packages/libs/editor-controls/src/components/autocomplete.tsx":function(e,t,r){r.r(t),r.d(t,{Autocomplete:function(){return s},findMatchingOption:function(){return findMatchingOption},isCategorizedOptionPool:function(){return isCategorizedOptionPool}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{options:r,onOptionChange:o,onTextChange:s,allowCustomValues:l=!1,placeholder:c="",minInputLength:i=2,value:u="",...p}=e,d=function _factoryFilter(e,t,r){if(null===e)return t;const n=String(e||"")?.toLowerCase();if(n.lengthString(e.id).toLowerCase().includes(n)||e.label.toLowerCase().includes(n))}(u,r,i).map(({id:e})=>e),m=!!u,g=l||!!u?.toString()?.length?void 0:()=>!0,b="number"==typeof u&&!!findMatchingOption(r,u);return n.createElement(a.Autocomplete,_extends({},p,{ref:t,forcePopupIcon:!1,disableClearable:!0,freeSolo:l,value:u?.toString()||"",size:"tiny",onChange:(e,t)=>o(Number(t)),readOnly:b,options:d,getOptionKey:e=>findMatchingOption(r,e)?.id||e,getOptionLabel:e=>findMatchingOption(r,e)?.label||e.toString(),groupBy:isCategorizedOptionPool(r)?e=>findMatchingOption(r,e)?.groupLabel||e:void 0,isOptionEqualToValue:g,filterOptions:()=>d,renderOption:(e,t)=>n.createElement(a.Box,_extends({component:"li"},e,{key:e.id}),findMatchingOption(r,t)?.label??t),renderInput:e=>n.createElement(TextInput,{params:e,handleChange:e=>s?.(e),allowClear:m,placeholder:c,hasSelectedValue:b})}))}),TextInput=({params:e,allowClear:t,placeholder:r,handleChange:o,hasSelectedValue:s})=>n.createElement(a.TextField,_extends({},e,{placeholder:r,onChange:e=>{o(e.target.value)},sx:{"& .MuiInputBase-input":{cursor:s?"default":void 0}},InputProps:{...e.InputProps,endAdornment:n.createElement(ClearButton,{params:e,allowClear:t,handleChange:o})}})),ClearButton=({allowClear:e,handleChange:t,params:r})=>n.createElement(a.InputAdornment,{position:"end"},e&&n.createElement(a.IconButton,{size:r.size,onClick:()=>t(null),sx:{cursor:"pointer"}},n.createElement(o.XIcon,{fontSize:r.size})));function findMatchingOption(e,t=null){const r=(t||"").toString();return e.find(({id:e})=>r===e.toString())}function isCategorizedOptionPool(e){return e.every(e=>"groupLabel"in e)}},"./packages/packages/libs/editor-controls/src/components/conditional-tooltip.tsx":function(e,t,r){r.r(t),r.d(t,{ConditionalTooltip:function(){return ConditionalTooltip}});var n=r("react"),o=r("@elementor/ui");const ConditionalTooltip=({showTooltip:e,children:t,label:r})=>e&&r?n.createElement(o.Tooltip,{title:r,disableFocusListener:!0,placement:"top"},t):t},"./packages/packages/libs/editor-controls/src/components/control-form-label.tsx":function(e,t,r){r.r(t),r.d(t,{ControlFormLabel:function(){return ControlFormLabel}});var n=r("react"),o=r("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.createElement(o.FormLabel,_extends({size:"tiny"},e))},"./packages/packages/libs/editor-controls/src/components/control-label.tsx":function(e,t,r){r.r(t),r.d(t,{ControlLabel:function(){return ControlLabel}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments.tsx"),s=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx");const ControlLabel=({children:e,...t})=>n.createElement(o.Stack,{direction:"row",alignItems:"center",justifyItems:"start",gap:.25},n.createElement(s.ControlFormLabel,t,e),n.createElement(a.ControlAdornments,null))},"./packages/packages/libs/editor-controls/src/components/control-toggle-button-group.tsx":function(e,t,r){r.r(t),r.d(t,{ControlToggleButtonGroup:function(){return ControlToggleButtonGroup},StyledToggleButton:function(){return i}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/conditional-tooltip.tsx");const c=(0,a.styled)(a.ToggleButtonGroup)` ${({justify:e})=>`justify-content: ${e};`} button:not( :last-of-type ) { border-start-end-radius: 0; border-end-end-radius: 0; } button:not( :first-of-type ) { border-start-start-radius: 0; border-end-start-radius: 0; } button:last-of-type { border-start-end-radius: 8px; border-end-end-radius: 8px; } `,i=(0,a.styled)(a.ToggleButton,{shouldForwardProp:e=>"isPlaceholder"!==e})` ${({theme:e,isPlaceholder:t})=>t&&`\n\t\tcolor: ${e.palette.text.tertiary};\n\t\tbackground-color: ${"dark"===e.palette.mode?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.02)"};\n\n\t\t&:hover {\n\t\t\tbackground-color: ${"dark"===e.palette.mode?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.04)"};\n\t\t}\n\t`} `,ControlToggleButtonGroup=({justify:e="end",size:t="tiny",value:r,onChange:o,items:u,maxItems:p,exclusive:d=!1,fullWidth:m=!1,disabled:g,placeholder:b})=>{const f=d&&void 0!==p&&u.length>p,k=f?u.slice(p-1):[],v=f?u.slice(0,p-1):u,x="rtl"===(0,a.useTheme)().direction,y=(0,n.useMemo)(()=>{const e=k?.length;return`repeat(${e?v.length+1:v.length}, minmax(0, 25%)) ${e?"auto":""}`},[k?.length,v.length]),E=d&&(null==r||""===r),_=!d&&Array.isArray(r)?r.map(e=>"string"==typeof e?e:"").join(" ").trim().split(/\s+/).filter(Boolean):[],C=!d&&0===_.length,P=(w=b,Array.isArray(w)?w.flatMap(e=>"string"==typeof e?e.trim().split(/\s+/).filter(Boolean):[]):"string"==typeof w?w.trim().split(/\s+/).filter(Boolean):[]);var w;return n.createElement(s.default,null,n.createElement(c,{justify:e,value:r,onChange:(e,t)=>{o(t)},exclusive:d,disabled:g,sx:{direction:x?"rtl /* @noflip */":"ltr /* @noflip */",display:"grid",gridTemplateColumns:y,width:"100%"}},v.map(({label:e,value:r,renderContent:o,showTooltip:a})=>{const s=P.length>0&&P.includes(r)&&(E||C);return n.createElement(l.ConditionalTooltip,{key:r,label:e,showTooltip:a||!1},n.createElement(i,{value:r,"aria-label":e,size:t,fullWidth:m,isPlaceholder:s},n.createElement(o,{size:t})))}),k.length&&d&&n.createElement(SplitButtonGroup,{size:t,value:r||null,onChange:o,items:k,fullWidth:m})))},SplitButtonGroup=({size:e="tiny",onChange:t,items:r,fullWidth:s,value:l})=>{const c=usePreviewButton(r,l),[i,u]=(0,n.useState)(!1),p=(0,n.useRef)(null),onMenuItemClick=e=>{u(!1),onToggleItem(e)},onToggleItem=e=>{t(e===l?null:e)};return n.createElement(n.Fragment,null,n.createElement(a.ToggleButton,{value:c.value,"aria-label":c.label,size:e,fullWidth:s,onClick:e=>{e.preventDefault(),onMenuItemClick(c.value)},ref:p},c.renderContent({size:e})),n.createElement(a.ToggleButton,{size:e,"aria-expanded":i?"true":void 0,"aria-haspopup":"menu","aria-pressed":void 0,onClick:e=>{u(e=>!e),e.preventDefault()},ref:p,value:"__chevron-icon-button__"},n.createElement(o.ChevronDownIcon,{fontSize:e})),n.createElement(a.Menu,{open:i,onClose:()=>u(!1),anchorEl:p.current,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},sx:{mt:.5}},r.map(({label:e,value:t})=>n.createElement(a.MenuItem,{key:t,selected:t===l,onClick:()=>onMenuItemClick(t)},n.createElement(a.ListItemText,null,n.createElement(a.Typography,{sx:{fontSize:"14px"}},e))))))},usePreviewButton=(e,t)=>{const[r,o]=(0,n.useState)(e.find(e=>e.value===t)??e[0]);return(0,n.useEffect)(()=>{const r=e.find(e=>e.value===t);r&&o(r)},[e,t]),r}},"./packages/packages/libs/editor-controls/src/components/css-code-editor/css-editor.styles.ts":function(e,t,r){r.r(t),r.d(t,{EditorWrapper:function(){return o},ResizeHandle:function(){return a}});var n=r("@elementor/ui");const o=(0,n.styled)(n.Box)` border: 1px solid var( --e-a-border-color ); border-radius: 8px; padding: 10px 12px; position: relative; height: 200px; .monaco-editor .colorpicker-widget { z-index: 99999999 !important; } `,a=(0,n.styled)(n.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; } `},"./packages/packages/libs/editor-controls/src/components/css-code-editor/css-editor.tsx":function(e,t,r){r.r(t),r.d(t,{CssEditor:function(){return CssEditor}});var n=r("react"),o=r("@elementor/editor-responsive"),a=r("@elementor/ui"),s=r("./packages/node_modules/@monaco-editor/react/dist/index.mjs"),l=r("./packages/packages/libs/editor-controls/src/components/css-code-editor/css-editor.styles.ts"),c=r("./packages/packages/libs/editor-controls/src/components/css-code-editor/css-validation.ts"),i=r("./packages/packages/libs/editor-controls/src/components/css-code-editor/resize-handle.tsx");const setVisualContent=e=>{const t=e.trim();return`element.style {\n${t?" "+t.replace(/\n/g,"\n ")+"\n":" \n"}}`},CssEditor=({value:e,onChange:t})=>{const r=(0,a.useTheme)(),u=n.useRef(null),p=n.useRef(null),d=n.useRef(null),m=n.useRef(null),g=(0,o.useActiveBreakpoint)(),b=n.useCallback(()=>{p.current?.layout()},[]),f=n.useCallback(e=>{u.current&&(u.current.style.height=`${e}px`)},[]),k=((e,t,r,n)=>(o,a)=>{e.current=o,t.current=a,((e,t)=>{const r=e.getModel();r&&e.onKeyDown(n=>{const o=e.getPosition();if(!o)return;const a=r.getLineCount();1!==o.lineNumber&&o.lineNumber!==a||[t.KeyCode.UpArrow,t.KeyCode.DownArrow,t.KeyCode.LeftArrow,t.KeyCode.RightArrow,t.KeyCode.Home,t.KeyCode.End,t.KeyCode.PageUp,t.KeyCode.PageDown,t.KeyCode.Tab,t.KeyCode.Escape].includes(n.keyCode)||(n.preventDefault(),n.stopPropagation())})})(o,a),(0,c.setCustomSyntaxRules)(o,a),o.onDidChangeModelContent(()=>{const s=(e=>{const t=e.split("\n");return t.length<2?"":t.slice(1,-1).map(e=>e.replace(/^ {2}/,"")).join("\n")})(o.getModel()?.getValue()??"");(0,c.setCustomSyntaxRules)(o,a);const l=r.current;l&&clearTimeout(l);const i=setTimeout(()=>{e.current&&t.current&&(0,c.validate)(e.current,t.current)&&n(s)},500);r.current=i})})(p,d,m,t);return n.useEffect(()=>{const e=m;return()=>{const t=e.current;t&&clearTimeout(t)}},[]),n.createElement(l.EditorWrapper,{ref:u},n.createElement(s.Editor,{key:g,height:"100%",language:"css",theme:"dark"===r.palette.mode?"vs-dark":"vs",defaultValue:setVisualContent(e),onMount:k,options:{lineNumbers:"off",folding:!1,showFoldingControls:"never",minimap:{enabled:!1},fontFamily:"Roboto, Arial, Helvetica, Verdana, sans-serif",fontSize:12,renderLineHighlight:"none",hideCursorInOverviewRuler:!0,fixedOverflowWidgets:!0}}),n.createElement(i.ResizeHandleComponent,{onResize:b,containerRef:u,onHeightChange:f}))}},"./packages/packages/libs/editor-controls/src/components/css-code-editor/css-validation.ts":function(e,t,r){r.r(t),r.d(t,{setCustomSyntaxRules:function(){return setCustomSyntaxRules},validate:function(){return validate}});var n=r("@wordpress/i18n");const o=[{pattern:":hover",message:(0,n.__)("The use of pseudo-states is not permitted. Instead, switch to the desired pseudo state and add your custom code there.","elementor")},{pattern:":active",message:(0,n.__)("The use of pseudo-states is not permitted. Instead, switch to the desired pseudo state and add your custom code there.","elementor")},{pattern:"@media",message:(0,n.__)("The use of @media is not permitted. Instead, switch to the desired breakpoint and add your custom code there.","elementor")}];function setCustomSyntaxRules(e,t){const r=e.getModel();if(!r)return!0;const n=[];return o.forEach(e=>{r.findMatches(e.pattern,!0,!1,!0,null,!0).forEach(r=>{n.push({severity:t.MarkerSeverity.Error,message:e.message,startLineNumber:r.range.startLineNumber,startColumn:r.range.startColumn,endLineNumber:r.range.endLineNumber,endColumn:r.range.endColumn,source:"custom-css-rules"})})}),t.editor.setModelMarkers(r,"custom-css-rules",n),0===n.length}function validate(e,t){const r=e.getModel();if(!r)return!0;return 0===t.editor.getModelMarkers({resource:r.uri}).filter(e=>e.severity===t.MarkerSeverity.Error).length}},"./packages/packages/libs/editor-controls/src/components/css-code-editor/resize-handle.tsx":function(e,t,r){r.r(t),r.d(t,{ResizeHandleComponent:function(){return ResizeHandleComponent}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/components/css-code-editor/css-editor.styles.ts");const ResizeHandleComponent=({onResize:e,containerRef:t,onHeightChange:r})=>{const a=n.useCallback(n=>{const o=t.current;if(!o)return;const a=o.getBoundingClientRect(),s=Math.max(100,n.clientY-a.top);r?.(s),e(s)},[t,e,r]),s=n.useCallback(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s)},[a]),l=n.useCallback(e=>{e.preventDefault(),e.stopPropagation(),document.addEventListener("mousemove",a),document.addEventListener("mouseup",s)},[a,s]);return n.useEffect(()=>()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",s)},[a,s]),n.createElement(o.ResizeHandle,{onMouseDown:l,"aria-label":"Resize editor height",title:"Drag to resize editor height"})}},"./packages/packages/libs/editor-controls/src/components/enable-unfiltered-modal.tsx":function(e,t,r){r.r(t),r.d(t,{EnableUnfilteredModal:function(){return EnableUnfilteredModal}});var n=r("react"),o=r("@elementor/editor-current-user"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/hooks/use-unfiltered-files-upload.ts");const c=(0,s.__)("Enable Unfiltered Uploads","elementor"),i=(0,s.__)("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.","elementor"),u=(0,s.__)("Sorry, you can't upload that file yet","elementor"),p=(0,s.__)("This is because this file type may pose a security risk. To upload them anyway, ask the site administrator to enable unfiltered file uploads.","elementor"),d=(0,s.__)("Failed to enable unfiltered files upload.","elementor"),m=(0,s.__)("You can try again, if the problem persists, please contact support.","elementor"),EnableUnfilteredModal=e=>{const{mutateAsync:t,isPending:r}=(0,l.useUpdateUnfilteredFilesUpload)(),{canUser:a}=(0,o.useCurrentUserCapabilities)(),[s,c]=(0,n.useState)(!1),i=a("manage_options"),u={...e,isPending:r,handleEnable:async()=>{try{const r=await t({allowUnfilteredFilesUpload:!0});!1===r?.data?.success?c(!0):e.onClose(!0)}catch{c(!0)}},isError:s,onClose:t=>{e.onClose(t),setTimeout(()=>c(!1),300)}};return i?n.createElement(AdminDialog,u):n.createElement(NonAdminDialog,u)},AdminDialog=({open:e,onClose:t,handleEnable:r,isPending:o,isError:l})=>n.createElement(a.Dialog,{open:e,maxWidth:"sm",onClose:()=>t(!1)},n.createElement(a.DialogHeader,{logo:!1},n.createElement(a.DialogTitle,null,c)),n.createElement(a.Divider,null),n.createElement(a.DialogContent,null,n.createElement(a.DialogContentText,null,l?n.createElement(n.Fragment,null,d," ",n.createElement("br",null)," ",m):i)),n.createElement(a.DialogActions,null,n.createElement(a.Button,{size:"medium",color:"secondary",onClick:()=>t(!1)},(0,s.__)("Cancel","elementor")),n.createElement(a.Button,{size:"medium",onClick:()=>r(),variant:"contained",color:"primary",disabled:o},o?n.createElement(a.CircularProgress,{size:24}):(0,s.__)("Enable","elementor")))),NonAdminDialog=({open:e,onClose:t})=>n.createElement(a.Dialog,{open:e,maxWidth:"sm",onClose:()=>t(!1)},n.createElement(a.DialogHeader,{logo:!1},n.createElement(a.DialogTitle,null,u)),n.createElement(a.Divider,null),n.createElement(a.DialogContent,null,n.createElement(a.DialogContentText,null,p)),n.createElement(a.DialogActions,null,n.createElement(a.Button,{size:"medium",onClick:()=>t(!1),variant:"contained",color:"primary"},(0,s.__)("Got it","elementor"))))},"./packages/packages/libs/editor-controls/src/components/floating-bar.tsx":function(e,t,r){r.r(t),r.d(t,{FloatingActionsBar:function(){return FloatingActionsBar},useFloatingActionsBar:function(){return useFloatingActionsBar}});var n=r("react"),o=r("@elementor/ui");const a=(0,o.styled)("span")` display: contents; .MuiFloatingActionBar-popper:has( .MuiFloatingActionBar-actions:empty ) { display: none; } .MuiFloatingActionBar-popper { z-index: 1000; } `,s=(0,n.createContext)(null);function FloatingActionsBar({actions:e,children:t}){const[r,l]=(0,n.useState)(!1);return n.createElement(s.Provider,{value:{open:r,setOpen:l}},n.createElement(a,null,n.createElement(o.UnstableFloatingActionBar,{actions:e,open:r||void 0},t)))}function useFloatingActionsBar(){const e=(0,n.useContext)(s);if(!e)throw new Error("useFloatingActions must be used within a FloatingActionsBar");return e}},"./packages/packages/libs/editor-controls/src/components/item-selector.tsx":function(e,t,r){r.r(t),r.d(t,{ItemSelector:function(){return ItemSelector}});var n=r("react"),o=r("@elementor/editor-ui"),a=r("@elementor/ui"),s=r("@elementor/utils"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/hooks/use-filtered-items-list.ts");const ItemSelector=({itemsList:e,selectedItem:t,onItemChange:r,onClose:s,sectionWidth:i,title:u,itemStyle:p=()=>({}),onDebounce:d=()=>{},icon:m})=>{const[g,b]=(0,n.useState)(""),f=(0,c.useFilteredItemsList)(e,g),k=m,handleClose=()=>{b(""),s()};return n.createElement(o.PopoverBody,{width:i},n.createElement(o.PopoverHeader,{title:u,onClose:handleClose,icon:n.createElement(k,{fontSize:"tiny"})}),n.createElement(o.PopoverSearch,{value:g,onSearch:e=>{b(e)},placeholder:(0,l.__)("Search","elementor")}),n.createElement(a.Divider,null),f.length>0?n.createElement(ItemList,{itemListItems:f,setSelectedItem:r,handleClose:handleClose,selectedItem:t,itemStyle:p,onDebounce:d}):n.createElement(a.Stack,{alignItems:"center",justifyContent:"center",height:"100%",p:2.5,gap:1.5,overflow:"hidden"},n.createElement(k,{fontSize:"large"}),n.createElement(a.Box,{sx:{maxWidth:160,overflow:"hidden"}},n.createElement(a.Typography,{align:"center",variant:"subtitle2",color:"text.secondary"},(0,l.__)("Sorry, nothing matched","elementor")),n.createElement(a.Typography,{variant:"subtitle2",color:"text.secondary",sx:{display:"flex",width:"100%",justifyContent:"center"}},n.createElement("span",null,"“"),n.createElement(a.Box,{component:"span",sx:{maxWidth:"80%",overflow:"hidden",textOverflow:"ellipsis"}},g),n.createElement("span",null,"”."))),n.createElement(a.Typography,{align:"center",variant:"caption",color:"text.secondary",sx:{display:"flex",flexDirection:"column"}},(0,l.__)("Try something else.","elementor"),n.createElement(a.Link,{color:"secondary",variant:"caption",component:"button",onClick:()=>b("")},(0,l.__)("Clear & try again","elementor")))))},ItemList=({itemListItems:e,setSelectedItem:t,handleClose:r,selectedItem:a,itemStyle:s=()=>({}),onDebounce:l=()=>{}})=>{const c=e.find(e=>e.value===a),i=useDebounce(({getVirtualIndexes:t})=>{t().forEach(t=>{const r=e[t];r&&"item"===r.type&&l(r.value)})},100),u=(0,n.useCallback)(e=>s(e),[s]);return n.createElement(o.PopoverMenuList,{items:e,selectedValue:c?.value,onChange:i,onSelect:t,onClose:r,itemStyle:u,"data-testid":"item-list"})},useDebounce=(e,t)=>{const[r]=(0,n.useState)(()=>(0,s.debounce)(e,t));return(0,n.useEffect)(()=>()=>r.cancel(),[r]),r}},"./packages/packages/libs/editor-controls/src/components/number-input.tsx":function(e,t,r){r.r(t),r.d(t,{NumberInput:function(){return s}});var n=r("react"),o=r("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const[r,s]=(0,n.useState)(0);return n.createElement(o.TextField,_extends({},e,{ref:t,key:r,onKeyDown:t=>{!function blockRestrictedKeys(e,t){const r=[...a];t>=0&&r.push("-");r.includes(e.key)&&e.preventDefault()}(t,e.inputProps?.min),e.onKeyDown?.(t)},onBlur:t=>{e.onBlur?.(t);const{valid:r}=t.target.validity;r||s(e=>e+1)}}))})},"./packages/packages/libs/editor-controls/src/components/popover-content.tsx":function(e,t,r){r.r(t),r.d(t,{PopoverContent:function(){return PopoverContent}});var n=r("react"),o=r("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.createElement(o.Stack,_extends({},r,{gap:e}),t)},"./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx":function(e,t,r){r.r(t),r.d(t,{PopoverGridContainer:function(){return a}});var n=r("react"),o=r("@elementor/ui");const a=(0,n.forwardRef)(({gap:e=1.5,alignItems:t="center",flexWrap:r="nowrap",children:a},s)=>n.createElement(o.Grid,{container:!0,gap:e,alignItems:t,flexWrap:r,ref:s},a))},"./packages/packages/libs/editor-controls/src/components/restricted-link-infotip.tsx":function(e,t,r){r.r(t),r.d(t,{RestrictedLinkInfotip:function(){return RestrictedLinkInfotip}});var n=r("react"),o=r("@elementor/editor-elements"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n");const c={label:(0,l.__)("Learn More","elementor"),href:"https://go.elementor.com/element-link-inside-link-infotip"},i={descendant:(0,l.__)("To add a link to this element, first remove the link from the elements inside of it.","elementor"),ancestor:(0,l.__)("To add a link to this element, first remove the link from its parent container.","elementor")},RestrictedLinkInfotip=({linkInLinkRestriction:e,isVisible:t,children:r})=>{const{shouldRestrict:u,reason:p,elementId:d}=e,m=n.createElement(s.Alert,{color:"secondary",icon:n.createElement(a.InfoCircleFilledIcon,null),action:n.createElement(s.AlertAction,{sx:{width:"fit-content"},variant:"contained",color:"secondary",onClick:()=>{d&&(0,o.selectElement)(d)}},(0,l.__)("Take me there","elementor"))},n.createElement(s.AlertTitle,null,(0,l.__)("Nested links","elementor")),n.createElement(s.Box,{component:"span"},i[p??"descendant"]," ",n.createElement(s.Link,{href:c.href,target:"_blank",color:"info.main"},c.label)));return u&&t?n.createElement(s.Infotip,{placement:"right",content:m,color:"secondary",slotProps:{popper:{sx:{width:300}}}},n.createElement(s.Box,null,r)):n.createElement(n.Fragment,null,r)}},"./packages/packages/libs/editor-controls/src/components/section-content.tsx":function(e,t,r){r.r(t),r.d(t,{SectionContent:function(){return SectionContent}});var n=r("react"),o=r("@elementor/ui");const SectionContent=({gap:e=.5,sx:t,children:r})=>n.createElement(o.Stack,{gap:e,sx:{...t}},r)},"./packages/packages/libs/editor-controls/src/components/size-control/size-input.tsx":function(e,t,r){r.r(t),r.d(t,{SizeInput:function(){return SizeInput}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),l=r("./packages/packages/libs/editor-controls/src/utils/size-control.ts"),c=r("./packages/packages/libs/editor-controls/src/components/size-control/text-field-inner-selection.tsx");const SizeInput=({units:e,handleUnitChange:t,handleSizeChange:r,placeholder:i,startIcon:u,onBlur:p,onFocus:d,onClick:m,size:g,unit:b,popupState:f,disabled:k,min:v,id:x})=>{const y=(0,n.useRef)(""),E=(0,l.isUnitExtendedOption)(b)?"text":"number",_=!(0,l.isUnitExtendedOption)(b)&&Number.isNaN(g)?"":g??"",C={"aria-controls":f.isOpen?f.popupId:void 0,"aria-haspopup":!0},P={...C,readOnly:(0,l.isUnitExtendedOption)(b),autoComplete:"off",onClick:m,onFocus:d,startAdornment:u?n.createElement(a.InputAdornment,{position:"start",disabled:k},u):void 0,endAdornment:n.createElement(c.SelectionEndAdornment,{disabled:k,options:e,onClick:t,value:b,alternativeOptionLabels:{custom:n.createElement(o.MathFunctionIcon,{fontSize:"tiny"})},menuItemsAttributes:e.includes("custom")?{custom:C}:void 0})};return n.createElement(s.default,null,n.createElement(a.Box,null,n.createElement(c.TextFieldInnerSelection,{disabled:k,placeholder:i,type:E,value:_,onChange:r,onKeyUp:r=>{const{key:n}=r;if(!/^[a-zA-Z%]$/.test(n))return;r.preventDefault();const o=n.toLowerCase(),a=(y.current+o).slice(-3);y.current=a;const s=e.find(e=>e.includes(a))||e.find(e=>e.startsWith(o))||e.find(e=>e.includes(o));s&&t(s)},onBlur:p,InputProps:P,inputProps:{min:v,step:"any"},isPopoverOpen:f.isOpen,id:x})))}},"./packages/packages/libs/editor-controls/src/components/size-control/text-field-inner-selection.tsx":function(e,t,r){r.r(t),r.d(t,{SelectionEndAdornment:function(){return SelectionEndAdornment},TextFieldInnerSelection:function(){return u}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-ui"),s=r("@elementor/ui"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/utils/size-control.ts"),i=r("./packages/packages/libs/editor-controls/src/components/number-input.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{placeholder:k}=(0,l.useBoundProp)(o.sizePropTypeUtil);return n.createElement(i.NumberInput,{ref:f,sx:{input:{cursor:p.readOnly?"default !important":void 0}},size:"tiny",fullWidth:!0,type:t,value:r,onInput:a,onKeyDown:c,onKeyUp:u,disabled:m,onBlur:s,focused:!!g||void 0,placeholder:e??(String(k?.size??"")||void 0),InputProps:p,inputProps:d,id:b})}),SelectionEndAdornment=({options:e,alternativeOptionLabels:t={},onClick:r,value:i,menuItemsAttributes:u={},disabled:d})=>{const m=(0,s.usePopupState)({variant:"popover",popupId:(0,n.useId)()}),{placeholder:g,showPrimaryColor:b}=function useUnitPlaceholder(e){const{value:t,placeholder:r}=(0,l.useBoundProp)(o.sizePropTypeUtil),n=t?.size,a=t?.unit,s="custom"===e&&Boolean(n),i="auto"===e,u=i||s||Boolean(n);if(!r)return{placeholder:null,showPrimaryColor:u};const p=!a&&e===c.DEFAULT_UNIT;return{placeholder:p?r.unit:void 0,showPrimaryColor:u}}(i);return n.createElement(s.InputAdornment,{position:"end"},n.createElement(p,_extends({isPrimaryColor:b,size:"small",disabled:d},(0,s.bindTrigger)(m)),g??t[i]??i),n.createElement(s.Menu,_extends({MenuListProps:{dense:!0}},(0,s.bindMenu)(m)),e.map((o,s)=>n.createElement(a.MenuListItem,_extends({key:o,onClick:()=>(t=>{r(e[t]),m.close()})(s)},u?.[o]),t[o]??o.toUpperCase()))))};const p=(0,s.styled)(s.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"}))},"./packages/packages/libs/editor-controls/src/components/sortable.tsx":function(e,t,r){r.r(t),r.d(t,{SortableItem:function(){return SortableItem},SortableProvider:function(){return SortableProvider}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.createElement(a.List,{sx:{p:0,my:-.5,mx:0}},n.createElement(a.UnstableSortableProvider,_extends({restrictAxis:!0,disableDragOverlay:!1,variant:"static"},e))),SortableItem=({id:e,children:t,disabled:r})=>n.createElement(a.UnstableSortableItem,{id:e,disabled:r,render:({itemProps:e,triggerProps:o,itemStyle:a,triggerStyle:s,showDropIndication:i,dropIndicationStyle:u})=>n.createElement(l,_extends({},e,{style:a,tabIndex:-1}),!r&&n.createElement(SortableTrigger,_extends({},o,{style:s})),t,i&&n.createElement(c,{style:u}))}),l=(0,a.styled)(a.ListItem)` position: relative; margin-inline: 0px; padding-inline: 0px; padding-block: ${({theme:e})=>e.spacing(.5)}; & .class-item-sortable-trigger { color: ${({theme:e})=>e.palette.action.active}; height: 100%; display: flex; align-items: center; visibility: hidden; position: absolute; top: 50%; padding-inline-end: ${({theme:e})=>e.spacing(.5)}; transform: translate( -75%, -50% ); } &[aria-describedby=''] > .MuiTag-root { background-color: ${({theme:e})=>e.palette.background.paper}; box-shadow: ${({theme:e})=>e.shadows[3]}; } &:hover, &:focus-within { & .class-item-sortable-trigger { visibility: visible; } } `,SortableTrigger=e=>n.createElement("div",_extends({},e,{role:"button",className:"class-item-sortable-trigger",tabIndex:0,"aria-label":(0,s.__)("Drag item","elementor")}),n.createElement(o.GripVerticalIcon,{fontSize:"tiny"})),c=(0,a.styled)(a.Divider)` height: 0px; border: none; overflow: visible; &:after { --height: 2px; content: ''; display: block; width: 100%; height: var( --height ); margin-block: calc( -1 * var( --height ) / 2 ); border-radius: ${({theme:e})=>e.spacing(.5)}; background-color: ${({theme:e})=>e.palette.text.primary}; } `},"./packages/packages/libs/editor-controls/src/components/text-field-popover.tsx":function(e,t,r){r.r(t),r.d(t,{TextFieldPopover:function(){return TextFieldPopover}});var n=r("react"),o=r("@elementor/editor-ui"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{popupState:t,restoreValue:r,anchorRef:c,value:i,onChange:u}=e,p=(0,n.useRef)(null);(0,n.useEffect)(()=>{t.isOpen&&requestAnimationFrame(()=>{p.current&&p.current.focus()})},[t.isOpen]);const handleClose=()=>{r(),t.close()};return n.createElement(s.Popover,_extends({disablePortal:!0,slotProps:{paper:{sx:{borderRadius:2,width:c.current?.offsetWidth+"px"}}}},(0,s.bindPopover)(t),{anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},onClose:handleClose}),n.createElement(o.PopoverHeader,{title:(0,l.__)("CSS function","elementor"),onClose:handleClose,icon:n.createElement(a.MathFunctionIcon,{fontSize:"tiny"})}),n.createElement(s.TextField,{value:i,onChange:u,size:"tiny",type:"text",fullWidth:!0,inputProps:{ref:p},sx:{pt:0,pr:1.5,pb:1.5,pl:1.5}}))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx":function(e,t,r){r.r(t),r.d(t,{DisableItemAction:function(){return DisableItemAction}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");const c="tiny",DisableItemAction=({index:e=-1})=>{const{items:t,updateItem:r}=(0,l.useRepeaterContext)();if(-1===e)return null;const i=t[e].item.disabled??!1,u=i?(0,s.__)("Show","elementor"):(0,s.__)("Hide","elementor");return n.createElement(a.Tooltip,{title:u,placement:"top"},n.createElement(a.IconButton,{size:c,onClick:()=>{const n=structuredClone(t[e].item);n.disabled=!n.disabled,n.disabled||delete n.disabled,r(n,e)},"aria-label":u},i?n.createElement(o.EyeOffIcon,{fontSize:c}):n.createElement(o.EyeIcon,{fontSize:c})))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx":function(e,t,r){r.r(t),r.d(t,{DuplicateItemAction:function(){return DuplicateItemAction}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");const c="tiny",DuplicateItemAction=({index:e=-1})=>{const{items:t,addItem:r}=(0,l.useRepeaterContext)();if(-1===e)return null;const i=(0,s.__)("Duplicate","elementor");return n.createElement(a.Tooltip,{title:i,placement:"top"},n.createElement(a.IconButton,{size:c,onClick:n=>{const o=structuredClone(t[e]?.item);r(n,{item:o,index:e+1})},"aria-label":i},n.createElement(o.CopyIcon,{fontSize:c})))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx":function(e,t,r){r.r(t),r.d(t,{RemoveItemAction:function(){return RemoveItemAction}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");const c="tiny",RemoveItemAction=({index:e=-1})=>{const{removeItem:t}=(0,l.useRepeaterContext)();if(-1===e)return null;const r=(0,s.__)("Remove","elementor");return n.createElement(a.Tooltip,{title:r,placement:"top"},n.createElement(a.IconButton,{size:c,onClick:()=>t(e),"aria-label":r},n.createElement(o.XIcon,{fontSize:c})))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/tooltip-add-item-action.tsx":function(e,t,r){r.r(t),r.d(t,{TooltipAddItemAction:function(){return TooltipAddItemAction}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");const c="tiny",TooltipAddItemAction=({disabled:e=!1,enableTooltip:t=!1,tooltipContent:r=null,newItemIndex:i,ariaLabel:u})=>{const{addItem:p}=(0,l.useRepeaterContext)();return n.createElement(ConditionalToolTip,{content:r,enable:t},n.createElement(a.Box,{component:"span",sx:{cursor:e?"not-allowed":"pointer"}},n.createElement(a.IconButton,{size:c,disabled:e,onClick:e=>p(e,{index:i}),"aria-label":(0,s.sprintf)((0,s.__)("Add %s item","elementor"),u?.toLowerCase())},n.createElement(o.PlusIcon,{fontSize:c}))))},ConditionalToolTip=({children:e,enable:t,content:r})=>t&&r?n.createElement(a.Infotip,{placement:"right",color:"secondary",content:r},e):e},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx":function(e,t,r){r.r(t),r.d(t,{EMPTY_OPEN_ITEM:function(){return c},RepeaterContextProvider:function(){return RepeaterContextProvider},useRepeaterContext:function(){return useRepeaterContext}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/use-bound-prop.ts"),s=r("./packages/packages/libs/editor-controls/src/hooks/use-sync-external-state.tsx");const l=(0,n.createContext)(null),c=-1,useRepeaterContext=()=>{const e=n.useContext(l);if(!e)throw new Error("useRepeaterContext must be used within a RepeaterContextProvider");return e},RepeaterContextProvider=({children:e,initial:t,propTypeUtil:r})=>{const{value:i,setValue:u}=(0,a.useBoundProp)(r),[p,d]=(0,s.useSyncExternalState)({external:i,fallback:()=>[],setExternal:u,persistWhen:()=>!0}),[m,g]=(0,n.useState)(()=>p?.map(e=>({key:generateUniqueKey(),item:e}))??[]);n.useEffect(()=>{g(e=>p?.map(t=>e.find(e=>e.item===t)||{key:generateUniqueKey(),item:t})??[])},[p]);const[b,f]=(0,n.useState)(c),[k,v]=(0,n.useState)(null),x=b!==c,y=(0,o.usePopupState)({variant:"popover"});return n.createElement(l.Provider,{value:{isOpen:x,openItemIndex:b,setOpenItemIndex:f,items:m??[],setItems:e=>{d(e.map(({item:e})=>e))},popoverState:y,initial:t,updateItem:(e,t)=>{const r=[...p.slice(0,t),e,...p.slice(t+1)];d(r)},addItem:(e,r)=>{const n=r?.item??{...t},o=r?.index??p.length,a=[...p];a.splice(o,0,n),d(a),f(o),y.open(k??e)},removeItem:e=>{d(p.filter((t,r)=>r!==e))},rowRef:k,setRowRef:v}},e)},generateUniqueKey=()=>Date.now()+Math.floor(1e6*Math.random())},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/header/header.tsx":function(e,t,r){r.r(t),r.d(t,{Header:function(){return u}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/use-bound-prop.ts"),s=r("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments.tsx"),l=r("./packages/packages/libs/editor-controls/src/control-replacements.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/tooltip-add-item-action.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/locations.ts");const u=n.forwardRef(({label:e,children:t,adornment:r=s.ControlAdornments},u)=>{const{value:p}=(0,a.useBoundProp)();return n.createElement(o.Stack,{direction:"row",alignItems:"center",gap:1,sx:{marginInlineEnd:-.75,py:.25},ref:u},n.createElement(o.Box,{display:"flex",alignItems:"center",gap:1,sx:{flexGrow:1}},n.createElement(o.Typography,{component:"label",variant:"caption",color:"text.secondary",sx:{lineHeight:1}},e),n.createElement(r,null)),n.createElement(i.RepeaterHeaderActionsSlot,{value:p}),n.createElement(l.SlotChildren,{whitelist:[c.TooltipAddItemAction],sorted:!0},t))})},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts":function(e,t,r){r.r(t),r.d(t,{Header:function(){return o.Header},Item:function(){return s.Item},ItemsContainer:function(){return a.ItemsContainer},TooltipAddItemAction:function(){return n.TooltipAddItemAction},UnstableRepeater:function(){return l.UnstableRepeater}});var n=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/tooltip-add-item-action.tsx"),o=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/header/header.tsx"),a=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/items-container.tsx"),s=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/item.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/unstable-repeater.tsx")},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx":function(e,t,r){r.r(t),r.d(t,{EditItemPopover:function(){return EditItemPopover}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),s=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{popoverState:t,openItemIndex:r,isOpen:l,rowRef:c,setOpenItemIndex:i,setRowRef:u,items:p}=(0,s.useRepeaterContext)();if(!l||!c)return null;const d=p[r].item.$$type;return n.createElement(o.Popover,_extends({disablePortal:!0,slotProps:{paper:{sx:{mt:.5,width:c.offsetWidth}}},anchorOrigin:{vertical:"bottom",horizontal:"left"}},(0,o.bindPopover)(t),{onClose:()=>{u(null),t.setAnchorEl(null),i(s.EMPTY_OPEN_ITEM)}}),n.createElement(a.PropKeyProvider,{bind:String(r)},n.createElement(o.Box,null,n.isValidElement(e)&&n.cloneElement(e,{bind:d,index:r}))))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/item.tsx":function(e,t,r){r.r(t),r.d(t,{Item:function(){return Item}});var n=r("react"),o=r("@elementor/ui"),a=r("@wordpress/i18n"),s=r("./packages/packages/libs/editor-controls/src/control-replacements.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/locations.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{items:g,popoverState:b,setRowRef:f,openItemIndex:k,setOpenItemIndex:v}=(0,u.useRepeaterContext)(),x=(0,o.bindTrigger)(b),y=g[d].key??-1;return n.createElement(n.Fragment,null,n.createElement(o.UnstableTag,_extends({key:y,disabled:!1,label:n.createElement(p.RepeaterItemLabelSlot,{value:r},n.createElement(e,{value:r})),showActionsOnHover:!0,fullWidth:!0,ref:e=>{e&&k===d&&e!==b.anchorEl&&(f(e),b.setAnchorEl(e))},variant:"outlined","aria-label":(0,a.__)("Open item","elementor"),sx:{minHeight:e=>e.spacing(4)}},x,{onClick:e=>{x.onClick(e),v(d)},startIcon:n.createElement(p.RepeaterItemIconSlot,{value:r},n.createElement(t,{value:r})),actions:n.createElement(n.Fragment,null,n.createElement(p.RepeaterItemActionsSlot,{index:d??-1}),n.createElement(s.SlotChildren,{whitelist:[c.DuplicateItemAction,l.DisableItemAction,i.RemoveItemAction],props:{index:d},sorted:!0},m))})))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/items-container.tsx":function(e,t,r){r.r(t),r.d(t,{ItemsContainer:function(){return ItemsContainer}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/components/sortable.tsx"),a=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx");const ItemsContainer=({itemTemplate:e,isSortable:t=!0,children:r})=>{const{items:s,setItems:l}=(0,a.useRepeaterContext)(),c=s.map(({key:e})=>e);if(!e)return null;return n.createElement(n.Fragment,null,n.createElement(o.SortableProvider,{value:c,onChange:e=>{l(e.map(e=>{const t=s.findIndex(t=>t.key===e);return s[t]}))}},c.map((a,l)=>{const c=s[l].item;return n.createElement(o.SortableItem,{id:a,key:`sortable-${a}`,disabled:!t},n.isValidElement(e)?n.cloneElement(e,{key:a,value:c,index:l,children:r}):null)})))}},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/locations.ts":function(e,t,r){r.r(t),r.d(t,{RepeaterHeaderActionsSlot:function(){return c},RepeaterItemActionsSlot:function(){return u},RepeaterItemIconSlot:function(){return o},RepeaterItemLabelSlot:function(){return s},injectIntoRepeaterHeaderActions:function(){return i},injectIntoRepeaterItemActions:function(){return p},injectIntoRepeaterItemIcon:function(){return a},injectIntoRepeaterItemLabel:function(){return l}});var n=r("@elementor/locations");const{Slot:o,inject:a}=(0,n.createReplaceableLocation)(),{Slot:s,inject:l}=(0,n.createReplaceableLocation)(),{Slot:c,inject:i}=(0,n.createLocation)(),{Slot:u,inject:p}=(0,n.createLocation)()},"./packages/packages/libs/editor-controls/src/components/unstable-repeater/unstable-repeater.tsx":function(e,t,r){r.r(t),r.d(t,{UnstableRepeater:function(){return UnstableRepeater}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/control-replacements.tsx"),a=r("./packages/packages/libs/editor-controls/src/components/section-content.tsx"),s=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/header/header.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/items-container.tsx");const UnstableRepeater=({children:e,initial:t,propTypeUtil:r})=>n.createElement(a.SectionContent,null,n.createElement(s.RepeaterContextProvider,{initial:t,propTypeUtil:r},n.createElement(o.SlotChildren,{whitelist:[l.Header,i.ItemsContainer,c.EditItemPopover],sorted:!0},e)))},"./packages/packages/libs/editor-controls/src/control-actions/control-actions-context.tsx":function(e,t,r){r.r(t),r.d(t,{ControlActionsProvider:function(){return ControlActionsProvider},useControlActions:function(){return useControlActions}});var n=r("react");const o=(0,n.createContext)(null),ControlActionsProvider=({children:e,items:t})=>n.createElement(o.Provider,{value:{items:t}},e),useControlActions=()=>{const e=(0,n.useContext)(o);if(!e)throw new Error("useControlActions must be used within a ControlActionsProvider");return e}},"./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx":function(e,t,r){r.r(t),r.d(t,{default:function(){return ControlActions}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),a=r("./packages/packages/libs/editor-controls/src/components/floating-bar.tsx"),s=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions-context.tsx");function ControlActions({children:e}){const{items:t}=(0,s.useControlActions)(),{disabled:r}=(0,o.useBoundProp)();if(0===t.length||r)return e;const l=t.map(({MenuItem:e,id:t})=>n.createElement(e,{key:t}));return n.createElement(a.FloatingActionsBar,{actions:l},e)}},"./packages/packages/libs/editor-controls/src/control-adornments/control-adornments-context.tsx":function(e,t,r){r.r(t),r.d(t,{ControlAdornmentsProvider:function(){return ControlAdornmentsProvider},useControlAdornments:function(){return useControlAdornments}});var n=r("react");const o=(0,n.createContext)(null),ControlAdornmentsProvider=({children:e,items:t})=>n.createElement(o.Provider,{value:{items:t}},e),useControlAdornments=()=>{const e=(0,n.useContext)(o);return e?.items??[]}},"./packages/packages/libs/editor-controls/src/control-adornments/control-adornments.tsx":function(e,t,r){r.r(t),r.d(t,{ControlAdornments:function(){return ControlAdornments}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments-context.tsx");function ControlAdornments({customContext:e}){const t=(0,o.useControlAdornments)();return 0===t?.length?null:n.createElement(n.Fragment,null,t.map(({Adornment:t,id:r})=>n.createElement(t,{key:r,customContext:e})))}},"./packages/packages/libs/editor-controls/src/control-replacements.tsx":function(e,t,r){r.r(t),r.d(t,{ControlReplacementsProvider:function(){return ControlReplacementsProvider},SlotChildren:function(){return SlotChildren},createControlReplacementsRegistry:function(){return createControlReplacementsRegistry},useControlReplacement:function(){return useControlReplacement}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts");const a=(0,n.createContext)([]),ControlReplacementsProvider=({replacements:e,children:t})=>n.createElement(a.Provider,{value:e},t),useControlReplacement=e=>{const{value:t}=(0,o.useBoundProp)(),r=(0,n.useContext)(a);try{const n=r.find(e=>e.condition({value:t}));return n?.component??e}catch{return e}},createControlReplacementsRegistry=()=>{const e=[];return{registerControlReplacement:function registerControlReplacement(t){e.push(t)},getControlReplacements:function getControlReplacements(){return e}}},SlotChildren=({children:e,whitelist:t=[],sorted:r=!1,props:o={}})=>{const a=t.length?n.Children.toArray(e).filter(e=>n.isValidElement(e)&&t.includes(e.type)):n.Children.toArray(e);return r&&sort(a,t),a.map((e,t)=>n.createElement(n.Fragment,{key:t},n.cloneElement(e,o)))},sort=(e,t)=>{e.sort((e,r)=>{const n=t.indexOf(e.type),o=t.indexOf(r.type);return-1===n||-1===o?0:n-o})}},"./packages/packages/libs/editor-controls/src/controls/aspect-ratio-control.tsx":function(e,t,r){r.r(t),r.d(t,{AspectRatioControl:function(){return b}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-ui"),s=r("@elementor/icons"),l=r("@elementor/ui"),c=r("@wordpress/i18n"),i=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),p=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),d=r("./packages/packages/libs/editor-controls/src/create-control.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:t,setValue:r,disabled:d}=(0,i.useBoundProp)(o.stringPropTypeUtil),b=t&&!m.some(e=>e.value===t),[f,k]=b?t.split("/"):["",""],[v,x]=(0,n.useState)(b),[y,E]=(0,n.useState)(f),[_,C]=(0,n.useState)(k),[P,w]=(0,n.useState)(b?g:t||"");(0,n.useEffect)(()=>{if(t&&!m.some(e=>e.value===t)){const[e,r]=t.split("/");E(e||""),C(r||""),w(g),x(!0)}else w(t||""),x(!1),E(""),C("")},[t]);return n.createElement(p.default,null,n.createElement(l.Stack,{direction:"column",gap:2},n.createElement(l.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap"},n.createElement(l.Grid,{item:!0,xs:6},n.createElement(u.ControlLabel,null,e)),n.createElement(l.Grid,{item:!0,xs:6},n.createElement(l.Select,{size:"tiny",displayEmpty:!0,sx:{overflow:"hidden"},disabled:d,value:P,onChange:e=>{const t=e.target.value,n=t===g;x(n),w(t),n||r(t)},fullWidth:!0},[...m,{label:(0,c.__)("Custom","elementor"),value:g}].map(({label:e,...t})=>n.createElement(a.MenuListItem,_extends({key:t.value},t,{value:t.value??""}),e))))),v&&n.createElement(l.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap"},n.createElement(l.Grid,{item:!0,xs:6},n.createElement(l.TextField,{size:"tiny",type:"number",fullWidth:!0,disabled:d,value:y,onChange:e=>{const t=e.target.value;E(t),t&&_&&r(`${t}/${_}`)},InputProps:{startAdornment:n.createElement(s.ArrowsMoveHorizontalIcon,{fontSize:"tiny"})}})),n.createElement(l.Grid,{item:!0,xs:6},n.createElement(l.TextField,{size:"tiny",type:"number",fullWidth:!0,disabled:d,value:_,onChange:e=>{const t=e.target.value;C(t),y&&t&&r(`${y}/${t}`)},InputProps:{startAdornment:n.createElement(s.ArrowsMoveVerticalIcon,{fontSize:"tiny"})}})))))})},"./packages/packages/libs/editor-controls/src/controls/background-control/background-control.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundControl:function(){return d}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx");const d=(0,i.createControl)(()=>{const e=(0,l.useBoundProp)(o.backgroundPropTypeUtil),t=(0,s.__)("Color","elementor");return n.createElement(l.PropProvider,e,n.createElement(l.PropKeyProvider,{bind:"background-overlay"},n.createElement(p.BackgroundOverlayRepeaterControl,null)),n.createElement(l.PropKeyProvider,{bind:"color"},n.createElement(a.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap"},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlLabel,null,t)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(u.ColorControl,null)))))})},"./packages/packages/libs/editor-controls/src/controls/background-control/background-gradient-color-control.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundGradientColorControl:function(){return c},initialBackgroundGradientOverlay:function(){return i}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");const c=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(()=>{const{value:e,setValue:t}=(0,s.useBoundProp)(o.backgroundGradientOverlayPropTypeUtil),createTransformableValue=e=>({...e,type:o.stringPropTypeUtil.create(e.type),angle:o.numberPropTypeUtil.create(e.angle),stops:o.gradientColorStopPropTypeUtil.create(e.stops.map(({color:e,offset:t})=>o.colorStopPropTypeUtil.create({color:o.colorPropTypeUtil.create(e),offset:o.numberPropTypeUtil.create(t)})))});return n.createElement(l.default,null,n.createElement(a.UnstableGradientBox,{sx:{width:"auto",padding:1.5},value:(()=>{if(!e)return;const{type:t,angle:r,stops:n,positions:o}=e;return{type:t.value,angle:r.value,stops:n.value.map(({value:{color:e,offset:t}})=>({color:e.value,offset:t.value})),positions:o?.value.split(" ")}})(),onChange:e=>{const r=createTransformableValue(e);r.positions&&(r.positions=o.stringPropTypeUtil.create(e.positions.join(" "))),t(r)}}))}),i=o.backgroundGradientOverlayPropTypeUtil.create({type:o.stringPropTypeUtil.create("linear"),angle:o.numberPropTypeUtil.create(180),stops:o.gradientColorStopPropTypeUtil.create([o.colorStopPropTypeUtil.create({color:o.colorPropTypeUtil.create("rgb(0,0,0)"),offset:o.numberPropTypeUtil.create(0)}),o.colorStopPropTypeUtil.create({color:o.colorPropTypeUtil.create("rgb(255,255,255)"),offset:o.numberPropTypeUtil.create(100)})])})},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundImageOverlayAttachment:function(){return BackgroundImageOverlayAttachment}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/toggle-control.tsx");const u=[{value:"fixed",label:(0,s.__)("Fixed","elementor"),renderContent:({size:e})=>n.createElement(o.PinIcon,{fontSize:e}),showTooltip:!0},{value:"scroll",label:(0,s.__)("Scroll","elementor"),renderContent:({size:e})=>n.createElement(o.PinnedOffIcon,{fontSize:e}),showTooltip:!0}],BackgroundImageOverlayAttachment=()=>n.createElement(c.PopoverGridContainer,null,n.createElement(a.Grid,{item:!0,xs:6},n.createElement(l.ControlFormLabel,null,(0,s.__)("Attachment","elementor"))),n.createElement(a.Grid,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end",overflow:"hidden"}},n.createElement(i.ToggleControl,{options:u})))},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundImageOverlayPosition:function(){return BackgroundImageOverlayPosition}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-ui"),s=r("@elementor/icons"),l=r("@elementor/ui"),c=r("@wordpress/i18n"),i=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const m=[{label:(0,c.__)("Center center","elementor"),value:"center center"},{label:(0,c.__)("Center left","elementor"),value:"center left"},{label:(0,c.__)("Center right","elementor"),value:"center right"},{label:(0,c.__)("Top center","elementor"),value:"top center"},{label:(0,c.__)("Top left","elementor"),value:"top left"},{label:(0,c.__)("Top right","elementor"),value:"top right"},{label:(0,c.__)("Bottom center","elementor"),value:"bottom center"},{label:(0,c.__)("Bottom left","elementor"),value:"bottom left"},{label:(0,c.__)("Bottom right","elementor"),value:"bottom right"},{label:(0,c.__)("Custom","elementor"),value:"custom"}],BackgroundImageOverlayPosition=()=>{const e=(0,i.useBoundProp)(o.backgroundImagePositionOffsetPropTypeUtil),t=(0,i.useBoundProp)(o.stringPropTypeUtil),r=!!e.value,g=(0,n.useRef)(null);return n.createElement(l.Grid,{container:!0,spacing:1.5},n.createElement(l.Grid,{item:!0,xs:12},n.createElement(p.PopoverGridContainer,null,n.createElement(l.Grid,{item:!0,xs:6},n.createElement(u.ControlFormLabel,null,(0,c.__)("Position","elementor"))),n.createElement(l.Grid,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end",overflow:"hidden"}},n.createElement(l.Select,{fullWidth:!0,size:"tiny",onChange:r=>{const n=r.target.value||null;"custom"===n?e.setValue({x:null,y:null}):t.setValue(n)},disabled:t.disabled,value:(e.value?"custom":t.value)??""},m.map(({label:e,value:t})=>n.createElement(a.MenuListItem,{key:t,value:t??""},e)))))),r?n.createElement(i.PropProvider,e,n.createElement(l.Grid,{item:!0,xs:12},n.createElement(l.Grid,{container:!0,spacing:1.5,ref:g},n.createElement(l.Grid,{item:!0,xs:6},n.createElement(i.PropKeyProvider,{bind:"x"},n.createElement(d.SizeControl,{startIcon:n.createElement(s.LetterXIcon,{fontSize:"tiny"}),anchorRef:g,min:-Number.MAX_SAFE_INTEGER}))),n.createElement(l.Grid,{item:!0,xs:6},n.createElement(i.PropKeyProvider,{bind:"y"},n.createElement(d.SizeControl,{startIcon:n.createElement(s.LetterYIcon,{fontSize:"tiny"}),anchorRef:g,min:-Number.MAX_SAFE_INTEGER})))))):null)}},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundImageOverlayRepeat:function(){return BackgroundImageOverlayRepeat}});var n=r("react"),o=r("@elementor/icons"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/toggle-control.tsx");const u=[{value:"repeat",label:(0,s.__)("Repeat","elementor"),renderContent:({size:e})=>n.createElement(o.GridDotsIcon,{fontSize:e}),showTooltip:!0},{value:"repeat-x",label:(0,s.__)("Repeat-x","elementor"),renderContent:({size:e})=>n.createElement(o.DotsHorizontalIcon,{fontSize:e}),showTooltip:!0},{value:"repeat-y",label:(0,s.__)("Repeat-y","elementor"),renderContent:({size:e})=>n.createElement(o.DotsVerticalIcon,{fontSize:e}),showTooltip:!0},{value:"no-repeat",label:(0,s.__)("No-repeat","elementor"),renderContent:({size:e})=>n.createElement(o.XIcon,{fontSize:e}),showTooltip:!0}],BackgroundImageOverlayRepeat=()=>n.createElement(c.PopoverGridContainer,null,n.createElement(a.Grid,{item:!0,xs:6},n.createElement(l.ControlFormLabel,null,(0,s.__)("Repeat","elementor"))),n.createElement(a.Grid,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end"}},n.createElement(i.ToggleControl,{options:u})))},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundImageOverlaySize:function(){return BackgroundImageOverlaySize}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/control-toggle-button-group.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const m=[{value:"auto",label:(0,l.__)("Auto","elementor"),renderContent:({size:e})=>n.createElement(a.LetterAIcon,{fontSize:e}),showTooltip:!0},{value:"cover",label:(0,l.__)("Cover","elementor"),renderContent:({size:e})=>n.createElement(a.ArrowsMaximizeIcon,{fontSize:e}),showTooltip:!0},{value:"contain",label:(0,l.__)("Contain","elementor"),renderContent:({size:e})=>n.createElement(a.ArrowBarBothIcon,{fontSize:e}),showTooltip:!0},{value:"custom",label:(0,l.__)("Custom","elementor"),renderContent:({size:e})=>n.createElement(a.PencilIcon,{fontSize:e}),showTooltip:!0}],BackgroundImageOverlaySize=()=>{const e=(0,c.useBoundProp)(o.backgroundImageSizeScalePropTypeUtil),t=(0,c.useBoundProp)(o.stringPropTypeUtil),r=!!e.value,g=(0,n.useRef)(null);return n.createElement(s.Grid,{container:!0,spacing:1.5},n.createElement(s.Grid,{item:!0,xs:12},n.createElement(p.PopoverGridContainer,null,n.createElement(s.Grid,{item:!0,xs:6},n.createElement(i.ControlFormLabel,null,(0,l.__)("Size","elementor"))),n.createElement(s.Grid,{item:!0,xs:6,sx:{display:"flex",justifyContent:"flex-end"}},n.createElement(u.ControlToggleButtonGroup,{exclusive:!0,items:m,onChange:r=>{"custom"===r?e.setValue({width:null,height:null}):t.setValue(r)},disabled:t.disabled,value:e.value?"custom":t.value})))),r?n.createElement(c.PropProvider,e,n.createElement(s.Grid,{item:!0,xs:12,ref:g},n.createElement(p.PopoverGridContainer,null,n.createElement(s.Grid,{item:!0,xs:6},n.createElement(c.PropKeyProvider,{bind:"width"},n.createElement(d.SizeControl,{startIcon:n.createElement(a.ArrowsMoveHorizontalIcon,{fontSize:"tiny"}),extendedOptions:["auto"],anchorRef:g}))),n.createElement(s.Grid,{item:!0,xs:6},n.createElement(c.PropKeyProvider,{bind:"height"},n.createElement(d.SizeControl,{startIcon:n.createElement(a.ArrowsMoveVerticalIcon,{fontSize:"tiny"}),extendedOptions:["auto"],anchorRef:g})))))):null)}},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx":function(e,t,r){r.r(t),r.d(t,{BackgroundOverlayRepeaterControl:function(){return O},ItemContent:function(){return ItemContent},ItemLabel:function(){return ItemLabel},getInitialBackgroundOverlay:function(){return getInitialBackgroundOverlay},initialBackgroundColorOverlay:function(){return S}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@elementor/wp-media"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),d=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx"),m=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),g=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),b=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),f=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/item.tsx"),k=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),v=r("./packages/packages/libs/editor-controls/src/env.ts"),x=r("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),y=r("./packages/packages/libs/editor-controls/src/controls/image-control.tsx"),E=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-gradient-color-control.tsx"),_=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx"),C=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx"),P=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx"),w=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx"),T=r("./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/use-background-tabs-history.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t({$$type:"background-image-overlay",value:{image:{$$type:"image",value:{src:{$$type:"image-src",value:{url:{$$type:"url",value:v.env.background_placeholder_image},id:null}},size:{$$type:"string",value:"large"}}}}}),z=[{label:(0,l.__)("Thumbnail - 150 x 150","elementor"),value:"thumbnail"},{label:(0,l.__)("Medium - 300 x 300","elementor"),value:"medium"},{label:(0,l.__)("Large 1024 x 1024","elementor"),value:"large"},{label:(0,l.__)("Full","elementor"),value:"full"}],O=(0,k.createControl)(()=>{const{propType:e,value:t,setValue:r}=(0,c.useBoundProp)(o.backgroundOverlayPropTypeUtil);return n.createElement(c.PropProvider,{propType:e,value:t,setValue:r},n.createElement(u.UnstableRepeater,{initial:getInitialBackgroundOverlay(),propTypeUtil:o.backgroundOverlayPropTypeUtil},n.createElement(u.Header,{label:(0,l.__)("Overlay","elementor")},n.createElement(u.TooltipAddItemAction,{newItemIndex:0})),n.createElement(u.ItemsContainer,{itemTemplate:n.createElement(f.Item,{Icon:ItemIcon,Label:ItemLabel})},n.createElement(d.DuplicateItemAction,null),n.createElement(p.DisableItemAction,null),n.createElement(m.RemoveItemAction,null)),n.createElement(b.EditItemPopover,null,n.createElement(ItemContent,null))))}),ItemContent=()=>{const{getTabsProps:e,getTabProps:t,getTabPanelProps:r}=(0,T.useBackgroundTabsHistory)({image:getInitialBackgroundOverlay().value,color:S.value,gradient:E.initialBackgroundGradientOverlay.value}),{rowRef:o}=(0,g.useRepeaterContext)();return n.createElement(a.Box,{sx:{width:"100%"}},n.createElement(a.Box,{sx:{borderBottom:1,borderColor:"divider"}},n.createElement(a.Tabs,_extends({size:"small",variant:"fullWidth"},e(),{"aria-label":(0,l.__)("Background Overlay","elementor")}),n.createElement(a.Tab,_extends({label:(0,l.__)("Image","elementor")},t("image"))),n.createElement(a.Tab,_extends({label:(0,l.__)("Gradient","elementor")},t("gradient"))),n.createElement(a.Tab,_extends({label:(0,l.__)("Color","elementor")},t("color"))))),n.createElement(a.TabPanel,_extends({sx:{p:1.5}},r("image")),n.createElement(i.PopoverContent,null,n.createElement(ImageOverlayContent,null))),n.createElement(a.TabPanel,_extends({sx:{p:1.5}},r("gradient")),n.createElement(E.BackgroundGradientColorControl,null)),n.createElement(a.TabPanel,_extends({sx:{p:1.5}},r("color")),n.createElement(i.PopoverContent,null,n.createElement(ColorOverlayContent,{anchorEl:o}))))},ItemIcon=({value:e})=>{switch(e.$$type){case"background-image-overlay":return n.createElement(ItemIconImage,{value:e});case"background-color-overlay":return n.createElement(ItemIconColor,{value:e});case"background-gradient-overlay":return n.createElement(ItemIconGradient,{value:e});default:return null}},extractColorFrom=e=>e?.value?.color?.value?e.value.color.value:"",ItemIconColor=({value:e})=>{const t=extractColorFrom(e);return n.createElement(R,{size:"inherit",component:"span",value:t})},ItemIconImage=({value:e})=>{const{imageUrl:t}=useImage(e);return n.createElement(a.CardMedia,{image:t,sx:e=>({height:"1rem",width:"1rem",borderRadius:e.shape.borderRadius/2+"px",outline:`1px solid ${e.palette.action.disabled}`})})},ItemIconGradient=({value:e})=>{const t=getGradientValue(e);return n.createElement(R,{size:"inherit",component:"span",value:t})},ItemLabel=({value:e})=>{switch(e.$$type){case"background-image-overlay":return n.createElement(ItemLabelImage,{value:e});case"background-color-overlay":return n.createElement(ItemLabelColor,{value:e});case"background-gradient-overlay":return n.createElement(ItemLabelGradient,{value:e});default:return null}},ItemLabelColor=({value:e})=>{const t=extractColorFrom(e);return n.createElement("span",null,t)},ItemLabelImage=({value:e})=>{const{imageTitle:t}=useImage(e);return n.createElement("span",null,t)},ItemLabelGradient=({value:e})=>"linear"===e.value.type.value?n.createElement("span",null,(0,l.__)("Linear Gradient","elementor")):n.createElement("span",null,(0,l.__)("Radial Gradient","elementor")),ColorOverlayContent=({anchorEl:e})=>{const t=(0,c.useBoundProp)(o.backgroundColorOverlayPropTypeUtil);return n.createElement(c.PropProvider,t,n.createElement(c.PropKeyProvider,{bind:"color"},n.createElement(x.ColorControl,{anchorEl:e})))},ImageOverlayContent=()=>{const e=(0,c.useBoundProp)(o.backgroundImageOverlayPropTypeUtil);return n.createElement(c.PropProvider,e,n.createElement(c.PropKeyProvider,{bind:"image"},n.createElement(y.ImageControl,{sizes:z})),n.createElement(c.PropKeyProvider,{bind:"position"},n.createElement(C.BackgroundImageOverlayPosition,null)),n.createElement(c.PropKeyProvider,{bind:"repeat"},n.createElement(P.BackgroundImageOverlayRepeat,null)),n.createElement(c.PropKeyProvider,{bind:"size"},n.createElement(w.BackgroundImageOverlaySize,null)),n.createElement(c.PropKeyProvider,{bind:"attachment"},n.createElement(_.BackgroundImageOverlayAttachment,null)))},R=(0,a.styled)(a.UnstableColorIndicator)(({theme:e})=>({height:"1rem",width:"1rem",borderRadius:e.shape.borderRadius/2+"px"})),useImage=e=>{let t,r=null;const n=e?.value.image.value?.src.value,{data:o}=(0,s.useWpMediaAttachment)(n.id?.value||null);if(n.id){const e=getFileExtensionFromFilename(o?.filename);t=`${o?.title}${e}`||null,r=o?.url||null}else n.url&&(r=n.url.value,t=r?.substring(r.lastIndexOf("/")+1)||null);return{imageTitle:t,imageUrl:r}},getFileExtensionFromFilename=e=>{if(!e)return"";return`.${e.substring(e.lastIndexOf(".")+1)}`},getGradientValue=e=>{const t=e.value,r=t.stops.value?.map(({value:{color:e,offset:t}})=>`${e.value} ${t.value??0}%`)?.join(",");return"linear"===t.type.value?`linear-gradient(${t.angle.value}deg, ${r})`:`radial-gradient(circle at ${t.positions.value}, ${r})`}},"./packages/packages/libs/editor-controls/src/controls/background-control/background-overlay/use-background-tabs-history.ts":function(e,t,r){r.r(t),r.d(t,{useBackgroundTabsHistory:function(){return useBackgroundTabsHistory}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts");const useBackgroundTabsHistory=({color:e,image:t,gradient:r})=>{const{value:l,setValue:c}=(0,s.useBoundProp)(o.backgroundImageOverlayPropTypeUtil),{value:i,setValue:u}=(0,s.useBoundProp)(o.backgroundColorOverlayPropTypeUtil),{value:p,setValue:d}=(0,s.useBoundProp)(o.backgroundGradientOverlayPropTypeUtil),{getTabsProps:m,getTabProps:g,getTabPanelProps:b}=(0,a.useTabs)(i?"color":p?"gradient":"image"),f=(0,n.useRef)({image:t,color:e,gradient:r}),saveToHistory=(e,t)=>{t&&(f.current[e]=t)},onTabChange=(e,t)=>{switch(t){case"image":c(f.current.image),saveToHistory("color",i),saveToHistory("gradient",p);break;case"gradient":d(f.current.gradient),saveToHistory("color",i),saveToHistory("image",l);break;case"color":u(f.current.color),saveToHistory("image",l),saveToHistory("gradient",p)}return m().onChange(e,t)};return{getTabProps:g,getTabPanelProps:b,getTabsProps:()=>({...m(),onChange:onTabChange})}}},"./packages/packages/libs/editor-controls/src/controls/box-shadow-repeater-control.tsx":function(e,t,r){r.r(t),r.d(t,{BoxShadowRepeaterControl:function(){return y}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),d=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx"),m=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),g=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),b=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),f=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),k=r("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),v=r("./packages/packages/libs/editor-controls/src/controls/select-control.tsx"),x=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const y=(0,f.createControl)(()=>{const{propType:e,value:t,setValue:r,disabled:a}=(0,l.useBoundProp)(o.boxShadowPropTypeUtil);return n.createElement(l.PropProvider,{propType:e,value:t,setValue:r,isDisabled:()=>a},n.createElement(u.UnstableRepeater,{initial:_,propTypeUtil:o.boxShadowPropTypeUtil},n.createElement(u.Header,{label:(0,s.__)("Box shadow","elementor")},n.createElement(u.TooltipAddItemAction,{newItemIndex:0,disabled:a})),n.createElement(u.ItemsContainer,{itemTemplate:n.createElement(u.Item,{Icon:ItemIcon,Label:ItemLabel})},n.createElement(d.DuplicateItemAction,null),n.createElement(p.DisableItemAction,null),n.createElement(m.RemoveItemAction,null)),n.createElement(b.EditItemPopover,null,n.createElement(Content,null))))}),E=(0,a.styled)(a.UnstableColorIndicator)(({theme:e})=>({height:"1rem",width:"1rem",borderRadius:e.shape.borderRadius/2+"px"})),ItemIcon=({value:e})=>n.createElement(E,{size:"inherit",component:"span",value:e.value.color?.value}),Content=()=>{const e=(0,l.useBoundProp)(o.shadowPropTypeUtil),t=[(0,n.useRef)(null),(0,n.useRef)(null)],{rowRef:r}=(0,g.useRepeaterContext)();return n.createElement(l.PropProvider,e,n.createElement(c.PopoverContent,{p:1.5},n.createElement(i.PopoverGridContainer,null,n.createElement(Control,{bind:"color",label:(0,s.__)("Color","elementor")},n.createElement(k.ColorControl,{anchorEl:r})),n.createElement(Control,{bind:"position",label:(0,s.__)("Position","elementor"),sx:{overflow:"hidden"}},n.createElement(v.SelectControl,{options:[{label:(0,s.__)("Inset","elementor"),value:"inset"},{label:(0,s.__)("Outset","elementor"),value:null}]}))),n.createElement(i.PopoverGridContainer,{ref:t[0]},n.createElement(Control,{bind:"hOffset",label:(0,s.__)("Horizontal","elementor")},n.createElement(x.SizeControl,{anchorRef:t[0]})),n.createElement(Control,{bind:"vOffset",label:(0,s.__)("Vertical","elementor")},n.createElement(x.SizeControl,{anchorRef:t[0]}))),n.createElement(i.PopoverGridContainer,{ref:t[1]},n.createElement(Control,{bind:"blur",label:(0,s.__)("Blur","elementor")},n.createElement(x.SizeControl,{anchorRef:t[1]})),n.createElement(Control,{bind:"spread",label:(0,s.__)("Spread","elementor")},n.createElement(x.SizeControl,{anchorRef:t[1]})))))},Control=({label:e,bind:t,children:r,sx:o})=>n.createElement(l.PropKeyProvider,{bind:t},n.createElement(a.Grid,{item:!0,xs:6,sx:o},n.createElement(a.Grid,{container:!0,gap:.75,alignItems:"center"},n.createElement(a.Grid,{item:!0,xs:12},n.createElement(a.FormLabel,{size:"tiny"},e)),n.createElement(a.Grid,{item:!0,xs:12},r)))),ItemLabel=({value:e})=>{const{position:t,hOffset:r,vOffset:o,blur:a,spread:s}=e.value,{size:l="",unit:c=""}=a?.value||{},{size:i="",unit:u=""}=s?.value||{},{size:p="unset",unit:d=""}=r?.value||{},{size:m="unset",unit:g=""}=o?.value||{},b=t?.value||"outset",f=[p+d,m+g,l+c,i+u].join(" ");return n.createElement("span",{style:{textTransform:"capitalize"}},b,": ",f)},_={$$type:"shadow",value:{hOffset:{$$type:"size",value:{unit:"px",size:0}},vOffset:{$$type:"size",value:{unit:"px",size:0}},blur:{$$type:"size",value:{unit:"px",size:10}},spread:{$$type:"size",value:{unit:"px",size:0}},color:{$$type:"color",value:"rgba(0, 0, 0, 1)"},position:null}}},"./packages/packages/libs/editor-controls/src/controls/color-control.tsx":function(e,t,r){r.r(t),r.d(t,{ColorControl:function(){return c}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:i,setValue:u,placeholder:p,disabled:d}=(0,s.useBoundProp)(e),m=c.placeholder??p;return n.createElement(l.default,null,n.createElement(a.UnstableColorField,_extends({size:"tiny",fullWidth:!0,value:i??"",placeholder:m??"",onChange:e=>{u(e||null)}},c,{disabled:d,slotProps:{...r,colorPicker:{anchorEl:t,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:-10},slotProps:{colorIndicator:{value:i??m??""},colorBox:{value:i??m??""}}}}})))})},"./packages/packages/libs/editor-controls/src/controls/equal-unequal-sizes-control.tsx":function(e,t,r){r.r(t),r.d(t,{EqualUnequalSizesControl:function(){return EqualUnequalSizesControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=Object.values(e);if(r.length!==t.length)return!1;const[n,...o]=r;return o.every(e=>e?.value?.size===n?.value?.size&&e?.value?.unit===n?.value?.unit)};function EqualUnequalSizesControl({label:e,icon:t,tooltipLabel:r,items:m,multiSizePropTypeUtil:g}){const b=(0,n.useId)(),f=(0,a.usePopupState)({variant:"popover",popupId:b}),{propType:k,value:v,setValue:x,disabled:y}=(0,l.useBoundProp)(g),{value:E,setValue:_}=(0,l.useBoundProp)(o.sizePropTypeUtil),C=[(0,n.useRef)(null),(0,n.useRef)(null)],splitEqualValue=()=>E?m.reduce((e,{bind:t})=>({...e,[t]:o.sizePropTypeUtil.create(E)}),{}):null,P=!f.isOpen,w=!!v;return n.createElement(n.Fragment,null,n.createElement(a.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap",ref:C[0]},n.createElement(a.Grid,{item:!0,xs:6},P?n.createElement(i.ControlLabel,null,e):n.createElement(c.ControlFormLabel,null,e)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(a.Stack,{direction:"row",alignItems:"center",gap:1},n.createElement(d.SizeControl,{placeholder:w?(0,s.__)("Mixed","elementor"):void 0,anchorRef:C[0]}),n.createElement(a.Tooltip,{title:r,placement:"top"},n.createElement(a.ToggleButton,_extends({size:"tiny",value:"check",sx:{marginLeft:"auto"}},(0,a.bindToggle)(f),{selected:f.isOpen,"aria-label":r}),t))))),n.createElement(a.Popover,_extends({disablePortal:!0,disableScrollLock:!0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},(0,a.bindPopover)(f),{slotProps:{paper:{sx:{mt:.5,width:C[0].current?.getBoundingClientRect().width}}}}),n.createElement(l.PropProvider,{propType:k,value:v||(splitEqualValue()??null),setValue:e=>{const t={...v??splitEqualValue(),...e};if(isEqualSizes(t,m))return _(Object.values(t)[0]?.value);x(t)},isDisabled:()=>y},n.createElement(u.PopoverContent,{p:1.5},n.createElement(p.PopoverGridContainer,{ref:C[1]},n.createElement(MultiSizeValueControl,{item:m[0],rowRef:C[1]}),n.createElement(MultiSizeValueControl,{item:m[1],rowRef:C[1]})),n.createElement(p.PopoverGridContainer,{ref:C[2]},n.createElement(MultiSizeValueControl,{item:m[2],rowRef:C[2]}),n.createElement(MultiSizeValueControl,{item:m[3],rowRef:C[2]}))))))}const MultiSizeValueControl=({item:e,rowRef:t})=>n.createElement(l.PropKeyProvider,{bind:e.bind},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(a.Grid,{container:!0,gap:.75,alignItems:"center"},n.createElement(a.Grid,{item:!0,xs:12},n.createElement(i.ControlLabel,null,e.label)),n.createElement(a.Grid,{item:!0,xs:12},n.createElement(d.SizeControl,{startIcon:e.icon,anchorRef:t})))))},"./packages/packages/libs/editor-controls/src/controls/filter-control/configs.ts":function(e,t,r){r.r(t),r.d(t,{FILTERS_BY_GROUP:function(){return o}});var n=r("@wordpress/i18n");const o={blur:{blur:{name:(0,n.__)("Blur","elementor"),valueName:(0,n.__)("Radius","elementor")}},intensity:{brightness:{name:(0,n.__)("Brightness","elementor")},contrast:{name:(0,n.__)("Contrast","elementor")},saturate:{name:(0,n.__)("Saturate","elementor")}},"hue-rotate":{"hue-rotate":{name:(0,n.__)("Hue Rotate","elementor"),valueName:(0,n.__)("Angle","elementor")}},"color-tone":{grayscale:{name:(0,n.__)("Grayscale","elementor")},invert:{name:(0,n.__)("Invert","elementor")},sepia:{name:(0,n.__)("Sepia","elementor")}},"drop-shadow":{"drop-shadow":{name:(0,n.__)("Drop shadow","elementor"),valueName:(0,n.__)("Drop-shadow","elementor")}}}},"./packages/packages/libs/editor-controls/src/controls/filter-control/context/filter-config-context.tsx":function(e,t,r){r.r(t),r.d(t,{FilterConfigProvider:function(){return FilterConfigProvider},useFilterConfig:function(){return useFilterConfig}});var n=r("react"),o=r("@elementor/editor-props"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),s=r("./packages/packages/libs/editor-controls/src/controls/filter-control/utils.ts");const l=(0,n.createContext)(null);function FilterConfigProvider({children:e}){const t=(0,a.useBoundProp)(o.cssFilterFunctionPropUtil),r=(0,n.useMemo)(()=>{const e=(0,s.buildFilterConfig)(t.propType.item_prop_type),r=Object.entries(e).map(([e,t])=>({value:e,label:t.name}));return{config:e,filterOptions:r,getFilterFunctionConfig:t=>e[t],getInitialValue:()=>e.blur.defaultValue}},[t.propType]);return n.createElement(l.Provider,{value:r},e)}function useFilterConfig(){const e=(0,n.useContext)(l);if(!e)throw new Error("useFilterConfig must be used within FilterConfigProvider");return e}},"./packages/packages/libs/editor-controls/src/controls/filter-control/drop-shadow/drop-shadow-item-content.tsx":function(e,t,r){r.r(t),r.d(t,{DropShadowItemContent:function(){return DropShadowItemContent}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const d=[{bind:"xAxis",label:(0,s.__)("X-axis","elementor"),rowIndex:0},{bind:"yAxis",label:(0,s.__)("Y-axis","elementor"),rowIndex:0},{bind:"blur",label:(0,s.__)("Blur","elementor"),rowIndex:1},{bind:"color",label:(0,s.__)("Color","elementor"),rowIndex:1}],DropShadowItemContent=({anchorEl:e})=>{const t=(0,l.useBoundProp)(o.dropShadowFilterPropTypeUtil),r=[(0,n.useRef)(null),(0,n.useRef)(null)];return n.createElement(l.PropProvider,t,d.map(t=>n.createElement(i.PopoverGridContainer,{key:t.bind,ref:r[t.rowIndex]??null},n.createElement(l.PropKeyProvider,{bind:t.bind},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,t.label)),n.createElement(a.Grid,{item:!0,xs:6},"color"===t.bind?n.createElement(u.ColorControl,{anchorEl:e}):n.createElement(p.SizeControl,{anchorRef:r[t.rowIndex],enablePropTypeUnits:!0,defaultUnit:"px"}))))))}},"./packages/packages/libs/editor-controls/src/controls/filter-control/drop-shadow/drop-shadow-item-label.tsx":function(e,t,r){r.r(t),r.d(t,{DropShadowItemLabel:function(){return DropShadowItemLabel}});var n=r("react"),o=r("@elementor/ui");const DropShadowItemLabel=({value:e})=>{const{xAxis:t,yAxis:r,blur:a}=e.value.args.value,s=`${t?.value?.size??0}${t?.value?.unit??"px"}`,l=`${r?.value?.size??0}${r?.value?.unit??"px"}`,c=`${a?.value?.size??10}${a?.value?.unit??"px"}`;return n.createElement(o.Box,{component:"span"},n.createElement(o.Box,{component:"span",style:{textTransform:"capitalize"}},"Drop shadow:"),`${s} ${l} ${c}`)}},"./packages/packages/libs/editor-controls/src/controls/filter-control/filter-content.tsx":function(e,t,r){r.r(t),r.d(t,{FilterContent:function(){return FilterContent}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/select-control.tsx"),m=r("./packages/packages/libs/editor-controls/src/controls/filter-control/context/filter-config-context.tsx"),g=r("./packages/packages/libs/editor-controls/src/controls/filter-control/drop-shadow/drop-shadow-item-content.tsx"),b=r("./packages/packages/libs/editor-controls/src/controls/filter-control/single-size/single-size-item-content.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,l.useBoundProp)(o.cssFilterFunctionPropUtil),{filterOptions:t,getFilterFunctionConfig:r}=(0,m.useFilterConfig)();return n.createElement(l.PropProvider,_extends({},e,{setValue:(t,n,o)=>{let a=structuredClone(t);const s=r(a?.func.value);"func"===o?.bind&&(a=s.defaultValue.value),a.args&&e.setValue(a)}}),n.createElement(l.PropKeyProvider,{bind:"css-filter-func"},n.createElement(i.PopoverContent,{p:1.5},n.createElement(u.PopoverGridContainer,null,n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,(0,s.__)("Filter","elementor"))),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(l.PropKeyProvider,{bind:"func"},n.createElement(d.SelectControl,{options:t})))),n.createElement(l.PropKeyProvider,{bind:"args"},n.createElement(FilterValueContent,null)))))},FilterValueContent=()=>{const{openItemIndex:e,items:t}=(0,p.useRepeaterContext)(),r=t[e].item.value.func.value;return"drop-shadow"===r?n.createElement(g.DropShadowItemContent,null):n.createElement(b.SingleSizeItemContent,{filterFunc:r})}},"./packages/packages/libs/editor-controls/src/controls/filter-control/filter-icon.tsx":function(e,t,r){r.r(t),r.d(t,{FilterIcon:function(){return FilterIcon}});var n=r("react"),o=r("@elementor/ui");const FilterIcon=({value:e})=>"drop-shadow"!==e.value.func.value?null:n.createElement(a,{size:"inherit",component:"span",value:e.value.args.value?.color.value}),a=(0,o.styled)(o.UnstableColorIndicator)(({theme:e})=>({borderRadius:e.shape.borderRadius/2+"px"}))},"./packages/packages/libs/editor-controls/src/controls/filter-control/filter-label.tsx":function(e,t,r){r.r(t),r.d(t,{FilterLabel:function(){return FilterLabel}});var n=r("react"),o=r("./packages/packages/libs/editor-controls/src/controls/filter-control/drop-shadow/drop-shadow-item-label.tsx"),a=r("./packages/packages/libs/editor-controls/src/controls/filter-control/single-size/single-size-item-label.tsx");const FilterLabel=({value:e})=>"drop-shadow"===e.value.func.value?n.createElement(o.DropShadowItemLabel,{value:e}):n.createElement(a.SingleSizeItemLabel,{value:e})},"./packages/packages/libs/editor-controls/src/controls/filter-control/filter-repeater-control.tsx":function(e,t,r){r.r(t),r.d(t,{FilterRepeaterControl:function(){return v}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@wordpress/i18n"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),d=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),m=r("./packages/packages/libs/editor-controls/src/controls/filter-control/context/filter-config-context.tsx"),g=r("./packages/packages/libs/editor-controls/src/controls/filter-control/filter-content.tsx"),b=r("./packages/packages/libs/editor-controls/src/controls/filter-control/filter-icon.tsx"),f=r("./packages/packages/libs/editor-controls/src/controls/filter-control/filter-label.tsx");const k={filter:{propTypeUtil:o.filterPropTypeUtil,label:(0,a.__)("Filters","elementor")},"backdrop-filter":{propTypeUtil:o.backdropFilterPropTypeUtil,label:(0,a.__)("Backdrop Filters","elementor")}},v=(0,d.createControl)(({filterPropName:e="filter"})=>{const{propTypeUtil:t,label:r}=function ensureFilterConfig(e){if(e&&e in k)return k[e];return k.filter}(e),{propType:o,value:a,setValue:l}=(0,s.useBoundProp)(t);return n.createElement(m.FilterConfigProvider,null,n.createElement(s.PropProvider,{propType:o,value:a,setValue:l},n.createElement(Repeater,{propTypeUtil:t,label:r,filterPropName:e})))}),Repeater=({propTypeUtil:e,label:t,filterPropName:r})=>{const{getInitialValue:o}=(0,m.useFilterConfig)();return n.createElement(l.UnstableRepeater,{initial:o(),propTypeUtil:e},n.createElement(l.Header,{label:t},n.createElement(l.TooltipAddItemAction,{newItemIndex:0,ariaLabel:"backdrop-filter"===r?"backdrop filter":"filter"})),n.createElement(l.ItemsContainer,{itemTemplate:n.createElement(l.Item,{Label:f.FilterLabel,Icon:b.FilterIcon})},n.createElement(i.DuplicateItemAction,null),n.createElement(c.DisableItemAction,null),n.createElement(u.RemoveItemAction,null)),n.createElement(p.EditItemPopover,null,n.createElement(g.FilterContent,null)))}},"./packages/packages/libs/editor-controls/src/controls/filter-control/single-size/single-size-item-content.tsx":function(e,t,r){r.r(t),r.d(t,{SingleSizeItemContent:function(){return SingleSizeItemContent},propTypeMap:function(){return p}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/filter-control/context/filter-config-context.tsx");const p={blur:o.blurFilterPropTypeUtil,intensity:o.intensityFilterPropTypeUtil,"hue-rotate":o.hueRotateFilterPropTypeUtil,"color-tone":o.colorToneFilterPropTypeUtil},SingleSizeItemContent=({filterFunc:e})=>{const t=(0,n.useRef)(null),{getFilterFunctionConfig:r}=(0,u.useFilterConfig)(),{valueName:o,filterFunctionGroup:d}=r(e),m=(0,s.useBoundProp)(p[d]);return n.createElement(s.PropProvider,m,n.createElement(s.PropKeyProvider,{bind:d},n.createElement(s.PropKeyProvider,{bind:"size"},n.createElement(c.PopoverGridContainer,{ref:t},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(l.ControlFormLabel,null,o)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(i.SizeControl,{anchorRef:t,enablePropTypeUnits:!0}))))))}},"./packages/packages/libs/editor-controls/src/controls/filter-control/single-size/single-size-item-label.tsx":function(e,t,r){r.r(t),r.d(t,{SingleSizeItemLabel:function(){return SingleSizeItemLabel}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/utils/size-control.ts"),s=r("./packages/packages/libs/editor-controls/src/controls/filter-control/context/filter-config-context.tsx");const SingleSizeItemLabel=({value:e})=>{const{func:t,args:r}=e.value,{getFilterFunctionConfig:l}=(0,s.useFilterConfig)(),{defaultValue:c}=l(t.value??""),i=c.value.args.value?.size?.value?.unit??a.lengthUnits[0],{unit:u,size:p}=r.value.size?.value??{unit:i,size:0},d=n.createElement(o.Box,{component:"span",style:{textTransform:"capitalize"}},t.value??"",":");return n.createElement(o.Box,{component:"span"},d,"custom"!==u?` ${p??0}${u??i}`:p)}},"./packages/packages/libs/editor-controls/src/controls/filter-control/utils.ts":function(e,t,r){r.r(t),r.d(t,{buildFilterConfig:function(){return buildFilterConfig}});var n=r("@wordpress/i18n"),o=r("./packages/packages/libs/editor-controls/src/controls/filter-control/configs.ts");const a=(0,n.__)("Amount","elementor"),s={"drop-shadow":e=>function buildDropShadowDefault(e){const t=e.shape;return{blur:t?.blur?.default,xAxis:t?.xAxis?.default,yAxis:t?.yAxis?.default,color:t?.color?.default??(t?.color).prop_types.color.default}}(e)};function buildFilterConfig(e){const t=Object.entries(o.FILTERS_BY_GROUP).flatMap(([t,r])=>Object.entries(r).map(([r,n])=>function createEntry(t,r,{name:n,valueName:o}){const l=function extractPropType(e,t){return e.shape?.args?.prop_types[t]}(e,t),c=s[r]?.(l)??function buildSizeDefault(e){const t=e?.shape?.size;return{size:t?.default}}(l),i=function createDefaultValue({filterFunction:e,filterFunctionGroup:t,value:r}){return{$$type:"css-filter-func",value:{func:{$$type:"string",value:e},args:{$$type:t,value:r}}}}({filterFunction:r,filterFunctionGroup:t,value:c});return[r,{name:n,valueName:o??a,defaultValue:i,filterFunctionGroup:t}]}(t,r,n)));return Object.fromEntries(t)}},"./packages/packages/libs/editor-controls/src/controls/font-family-control/enqueue-font.tsx":function(e,t,r){r.r(t),r.d(t,{enqueueFont:function(){return enqueueFont}});const enqueueFont=(e,t="editor")=>{const r=window;return r.elementor?.helpers?.enqueueFont?.(e,t)??null}},"./packages/packages/libs/editor-controls/src/controls/font-family-control/font-family-control.tsx":function(e,t,r){r.r(t),r.d(t,{FontFamilyControl:function(){return m}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/item-selector.tsx"),u=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),p=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/font-family-control/enqueue-font.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:r,setValue:p,disabled:m,placeholder:g}=(0,c.useBoundProp)(o.stringPropTypeUtil),b=(0,s.usePopupState)({variant:"popover"}),f=!r&&g,k=n.useMemo(()=>e.map(({label:e,fonts:t})=>({label:e,items:t})),[e]);return n.createElement(n.Fragment,null,n.createElement(u.default,null,n.createElement(s.UnstableTag,_extends({variant:"outlined",label:r||g,endIcon:n.createElement(a.ChevronDownIcon,{fontSize:"tiny"})},(0,s.bindTrigger)(b),{fullWidth:!0,disabled:m,sx:f?{"& .MuiTag-label":{color:e=>e.palette.text.tertiary},textTransform:"capitalize"}:void 0}))),n.createElement(s.Popover,_extends({disablePortal:!0,disableScrollLock:!0,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},sx:{my:1.5}},(0,s.bindPopover)(b)),n.createElement(i.ItemSelector,{itemsList:k,selectedItem:r,onItemChange:p,onClose:b.close,sectionWidth:t,title:(0,l.__)("Font Family","elementor"),itemStyle:e=>({fontFamily:e.value}),onDebounce:d.enqueueFont,icon:a.TextIcon})))})},"./packages/packages/libs/editor-controls/src/controls/gap-control.tsx":function(e,t,r){r.r(t),r.d(t,{GapControl:function(){return GapControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const GapControl=({label:e})=>{const{value:t,setValue:r,propType:p,disabled:d}=(0,c.useBoundProp)(o.layoutDirectionPropTypeUtil),m=(0,n.useRef)(null),{value:g,setValue:b,disabled:f}=(0,c.useBoundProp)(o.sizePropTypeUtil),k=!t&&!g||!!g,v=e.toLowerCase(),x=k?a.LinkIcon:a.DetachIcon,y=(0,l.__)("Link %s","elementor").replace("%s",v),E=(0,l.__)("Unlink %s","elementor").replace("%s",v),_=f||d;return n.createElement(c.PropProvider,{propType:p,value:t,setValue:r},n.createElement(s.Stack,{direction:"row",gap:2,flexWrap:"nowrap"},n.createElement(u.ControlLabel,null,e),n.createElement(s.Tooltip,{title:k?E:y,placement:"top"},n.createElement(s.ToggleButton,{"aria-label":k?E:y,size:"tiny",value:"check",selected:k,sx:{marginLeft:"auto"},onChange:()=>{if(!k)return void b(t?.column?.value??null);const e=g?o.sizePropTypeUtil.create(g):null;r({row:e,column:e})},disabled:_},n.createElement(x,{fontSize:"tiny"})))),n.createElement(s.Stack,{direction:"row",gap:2,flexWrap:"nowrap",ref:m},n.createElement(s.Grid,{container:!0,gap:.75,alignItems:"center"},n.createElement(s.Grid,{item:!0,xs:12},n.createElement(i.ControlFormLabel,null,(0,l.__)("Column","elementor"))),n.createElement(s.Grid,{item:!0,xs:12},n.createElement(Control,{bind:"column",isLinked:k,anchorRef:m}))),n.createElement(s.Grid,{container:!0,gap:.75,alignItems:"center"},n.createElement(s.Grid,{item:!0,xs:12},n.createElement(i.ControlFormLabel,null,(0,l.__)("Row","elementor"))),n.createElement(s.Grid,{item:!0,xs:12},n.createElement(Control,{bind:"row",isLinked:k,anchorRef:m})))))},Control=({bind:e,isLinked:t,anchorRef:r})=>t?n.createElement(p.SizeControl,{anchorRef:r}):n.createElement(c.PropKeyProvider,{bind:e},n.createElement(p.SizeControl,{anchorRef:r}))},"./packages/packages/libs/editor-controls/src/controls/image-control.tsx":function(e,t,r){r.r(t),r.d(t,{ImageControl:function(){return m}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),u=r("./packages/packages/libs/editor-controls/src/hooks/use-unfiltered-files-upload.ts"),p=r("./packages/packages/libs/editor-controls/src/controls/image-media-control.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/select-control.tsx");const m=(0,i.createControl)(({sizes:e,showMode:t="all"})=>{const r=(0,l.useBoundProp)(o.imagePropTypeUtil);let i;switch(t){case"media":i=n.createElement(ImageSrcControl,null);break;case"sizes":i=n.createElement(ImageSizeControl,{sizes:e});break;default:i=n.createElement(a.Stack,{gap:1.5},n.createElement(c.ControlFormLabel,null,(0,s.__)("Image","elementor")),n.createElement(ImageSrcControl,null),n.createElement(a.Grid,{container:!0,gap:1.5,alignItems:"center",flexWrap:"nowrap"},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,(0,s.__)("Resolution","elementor"))),n.createElement(a.Grid,{item:!0,xs:6,sx:{overflow:"hidden"}},n.createElement(ImageSizeControl,{sizes:e}))))}return n.createElement(l.PropProvider,r,i)}),ImageSrcControl=()=>{const{data:e}=(0,u.useUnfilteredFilesUpload)(),t=e?["image","svg"]:["image"];return n.createElement(l.PropKeyProvider,{bind:"src"},n.createElement(p.ImageMediaControl,{mediaTypes:t}))},ImageSizeControl=({sizes:e})=>n.createElement(l.PropKeyProvider,{bind:"size"},n.createElement(d.SelectControl,{options:e}))},"./packages/packages/libs/editor-controls/src/controls/image-media-control.tsx":function(e,t,r){r.r(t),r.d(t,{ImageMediaControl:function(){return p}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@elementor/wp-media"),c=r("@wordpress/i18n"),i=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),u=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");const p=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(({mediaTypes:e=["image"]})=>{const{value:t,setValue:r}=(0,i.useBoundProp)(o.imageSrcPropTypeUtil),{id:p,url:d}=t??{},{data:m,isFetching:g}=(0,l.useWpMediaAttachment)(p?.value||null),b=m?.url??d?.value??null,{open:f}=(0,l.useWpMediaFrame)({mediaTypes:e,multiple:!1,selected:p?.value||null,onSelect:e=>{r({id:{$$type:"image-attachment-id",value:e.id},url:null})}});return n.createElement(u.default,null,n.createElement(s.Card,{variant:"outlined"},n.createElement(s.CardMedia,{image:b,sx:{height:150}},g?n.createElement(s.Stack,{justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},n.createElement(s.CircularProgress,null)):n.createElement(n.Fragment,null)),n.createElement(s.CardOverlay,null,n.createElement(s.Stack,{gap:1},n.createElement(s.Button,{size:"tiny",color:"inherit",variant:"outlined",onClick:()=>f({mode:"browse"})},(0,c.__)("Select image","elementor")),n.createElement(s.Button,{size:"tiny",variant:"text",color:"inherit",startIcon:n.createElement(a.UploadIcon,null),onClick:()=>f({mode:"upload"})},(0,c.__)("Upload","elementor"))))))})},"./packages/packages/libs/editor-controls/src/controls/key-value-control.tsx":function(e,t,r){r.r(t),r.d(t,{KeyValueControl:function(){return u}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/text-control.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:t,setValue:r,...c}=(0,l.useBoundProp)(o.keyValuePropTypeUtil),[u,p]=(0,n.useState)(""),[d,m]=(0,n.useState)(""),[g,b]=(0,n.useState)({key:t?.key?.value||"",value:t?.value?.value||""}),f=e.keyName||(0,s.__)("Key","elementor"),k=e.valueName||(0,s.__)("Value","elementor"),{keyHelper:v,valueHelper:x}=e.getHelperText?.(g.key,g.value)||{keyHelper:void 0,valueHelper:void 0},[y,E,_]=(0,n.useMemo)(()=>[e.regexKey?new RegExp(e.regexKey):void 0,e.regexValue?new RegExp(e.regexValue):void 0,e.validationErrorMessage||(0,s.__)("Invalid Format","elementor")],[e.regexKey,e.regexValue,e.validationErrorMessage]);return n.createElement(l.PropProvider,_extends({},c,{value:t,setValue:(e,n,a)=>{const s=a?.bind;if(!s)return;const l=e[s];if((0,o.isTransformable)(l)&&"dynamic"===l.$$type)return void r({...t,[s]:l});const c=o.stringPropTypeUtil.extract(l);b(e=>({...e,[s]:c})),c&&((e,t)=>{if("key"===t&&y){const t=y.test(e);return p(t?"":_),t}if("value"===t&&E){const t=E.test(e);return m(t?"":_),t}return!0})(c,s)?r({...t,[s]:l}):r({...t,[s]:{value:"",$$type:"string"}})}}),n.createElement(a.Grid,{container:!0,gap:1.5},n.createElement(a.Grid,{item:!0,xs:12,display:"flex",flexDirection:"column"},n.createElement(a.FormLabel,{size:"tiny",sx:{pb:1}},f),n.createElement(l.PropKeyProvider,{bind:"key"},n.createElement(i.TextControl,{inputValue:g.key,error:!!u,helperText:v})),!!u&&n.createElement(a.FormHelperText,{error:!0},u)),n.createElement(a.Grid,{item:!0,xs:12,display:"flex",flexDirection:"column"},n.createElement(a.FormLabel,{size:"tiny",sx:{pb:1}},k),n.createElement(l.PropKeyProvider,{bind:"value"},n.createElement(i.TextControl,{inputValue:g.value,error:!!d,inputDisabled:!!u,helperText:x})),!!d&&n.createElement(a.FormHelperText,{error:!0},d))))})},"./packages/packages/libs/editor-controls/src/controls/link-control.tsx":function(e,t,r){r.r(t),r.d(t,{LinkControl:function(){return y}});var n=r("react"),o=r("@elementor/editor-elements"),a=r("@elementor/editor-props"),s=r("@elementor/http-client"),l=r("@elementor/icons"),c=r("@elementor/session"),i=r("@elementor/ui"),u=r("@elementor/utils"),p=r("@wordpress/i18n"),d=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),m=r("./packages/packages/libs/editor-controls/src/components/autocomplete.tsx"),g=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),b=r("./packages/packages/libs/editor-controls/src/components/restricted-link-infotip.tsx"),f=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),k=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),v=r("./packages/packages/libs/editor-controls/src/controls/switch-control.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:t,path:r,setValue:l,...k}=(0,d.useBoundProp)(a.linkPropTypeUtil),[x,y]=(0,c.useSessionStorage)(r.join("/")),[E,_]=(0,n.useState)(!!t),{allowCustomValues:C,queryOptions:{endpoint:P="",requestParams:w={}},placeholder:T,minInputLength:S=2,context:{elementId:z},label:O=(0,p.__)("Link","elementor")}=e||{},[R,A]=(0,n.useState)((0,o.getLinkInLinkRestriction)(z)),[F,U]=(0,n.useState)(function generateFirstLoadedOption(e){const t=e?.destination?.value,r=e?.label?.value,n=e?.destination?.$$type||"url";return t&&r&&"number"===n?[{id:t.toString(),label:r}]:[]}(t)),j=!E&&R.shouldRestrict,onSaveNewValue=e=>{l(e),y({...x,value:e})},updateOptions=e=>{U([]),!e||!P||e.length(0,u.debounce)(e=>async function fetchOptions(e,t){if(!t||!e)return[];try{const{data:r}=await(0,s.httpService)().get(e,{params:t});return r.data.value}catch{return[]}}(P,e).then(e=>{U(function formatOptions(e){const t=(0,m.isCategorizedOptionPool)(e)?"groupLabel":"label";return e.sort((e,r)=>e[t]&&r[t]?e[t].localeCompare(r[t]):0)}(e))}),400),[P]);return n.createElement(d.PropProvider,_extends({},k,{value:t,setValue:l}),n.createElement(i.Stack,{gap:1.5},n.createElement(i.Stack,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center",marginInlineEnd:-.75}},n.createElement(g.ControlFormLabel,null,O),n.createElement(b.RestrictedLinkInfotip,{isVisible:!E,linkInLinkRestriction:R},n.createElement(ToggleIconControl,{disabled:j,active:E,onIconClick:()=>{if(A((0,o.getLinkInLinkRestriction)(z)),R.shouldRestrict&&!E)return;const e=!E;_(e),e||null===t||l(null),e&&x?.value&&l(x.value),y({value:x?.value,meta:{isEnabled:e}})},label:(0,p.__)("Toggle link","elementor")}))),n.createElement(i.Collapse,{in:E,timeout:"auto",unmountOnExit:!0},n.createElement(i.Stack,{gap:1.5},n.createElement(d.PropKeyProvider,{bind:"destination"},n.createElement(f.default,null,n.createElement(m.Autocomplete,{options:F,allowCustomValues:C,placeholder:T,value:t?.destination?.value?.settings?.label||t?.destination?.value,onOptionChange:e=>{const r=e?{...t,destination:a.numberPropTypeUtil.create(e),label:a.stringPropTypeUtil.create((0,m.findMatchingOption)(F,e)?.label||null)}:null;onSaveNewValue(r)},onTextChange:e=>{const r=(e=e?.trim()||"")?{...t,destination:a.urlPropTypeUtil.create(e),label:a.stringPropTypeUtil.create("")}:null;onSaveNewValue(r),updateOptions(e)},minInputLength:S}))),n.createElement(d.PropKeyProvider,{bind:"isTargetBlank"},n.createElement(i.Grid,{container:!0,alignItems:"center",flexWrap:"nowrap",justifyContent:"space-between"},n.createElement(i.Grid,{item:!0},n.createElement(g.ControlFormLabel,null,(0,p.__)("Open in a new tab","elementor"))),n.createElement(i.Grid,{item:!0,sx:{marginInlineEnd:-1}},n.createElement(v.SwitchControl,null))))))))}),ToggleIconControl=({disabled:e,active:t,onIconClick:r,label:o})=>n.createElement(i.IconButton,{size:x,onClick:r,"aria-label":o,disabled:e},t?n.createElement(l.MinusIcon,{fontSize:x}):n.createElement(l.PlusIcon,{fontSize:x}))},"./packages/packages/libs/editor-controls/src/controls/linked-dimensions-control.tsx":function(e,t,r){r.r(t),r.d(t,{LinkedDimensionsControl:function(){return LinkedDimensionsControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),u=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/control-toggle-button-group.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const LinkedDimensionsControl=({label:e,isSiteRtl:t=!1,extendedOptions:r,min:u})=>{const{value:d,setValue:m,disabled:g,placeholder:b}=(0,c.useBoundProp)(o.sizePropTypeUtil),f=[(0,n.useRef)(null),(0,n.useRef)(null)],{value:k,setValue:v,propType:x,placeholder:y,disabled:E}=(0,c.useBoundProp)(o.dimensionsPropTypeUtil),_=!(!b&&!y),C=!!(!k&&!d)&&!_||(_?!!b:!!d),P=e.toLowerCase(),w=C?a.LinkIcon:a.DetachIcon,T=(0,l.__)("Link %s","elementor").replace("%s",P),S=(0,l.__)("Unlink %s","elementor").replace("%s",P),z=g||E;return n.createElement(c.PropProvider,{propType:x,value:k,setValue:v,placeholder:y,isDisabled:()=>z},n.createElement(s.Stack,{direction:"row",gap:2,flexWrap:"nowrap"},n.createElement(i.ControlFormLabel,null,e),n.createElement(s.Tooltip,{title:C?S:T,placement:"top"},n.createElement(p.StyledToggleButton,{"aria-label":C?S:T,size:"tiny",value:"check",selected:C,sx:{marginLeft:"auto"},onChange:()=>{if(!C)return void m(k["block-start"]?.value??null);const e=d?o.sizePropTypeUtil.create(d):null;v({"block-start":e,"block-end":e,"inline-start":e,"inline-end":e})},disabled:z,isPlaceholder:_},n.createElement(w,{fontSize:"tiny"})))),function getCssDimensionProps(e){return[[{bind:"block-start",label:(0,l.__)("Top","elementor"),icon:n.createElement(a.SideTopIcon,{fontSize:"tiny"})},{bind:"inline-end",label:e?(0,l.__)("Left","elementor"):(0,l.__)("Right","elementor"),icon:e?n.createElement(a.SideLeftIcon,{fontSize:"tiny"}):n.createElement(a.SideRightIcon,{fontSize:"tiny"})}],[{bind:"block-end",label:(0,l.__)("Bottom","elementor"),icon:n.createElement(a.SideBottomIcon,{fontSize:"tiny"})},{bind:"inline-start",label:e?(0,l.__)("Right","elementor"):(0,l.__)("Left","elementor"),icon:e?n.createElement(a.SideRightIcon,{fontSize:"tiny"}):n.createElement(a.SideLeftIcon,{fontSize:"tiny"})}]]}(t).map((e,t)=>n.createElement(s.Stack,{direction:"row",gap:2,flexWrap:"nowrap",key:t,ref:f[t]},e.map(({icon:e,...o})=>n.createElement(s.Grid,{container:!0,gap:.75,alignItems:"center",key:o.bind},n.createElement(s.Grid,{item:!0,xs:12},n.createElement(Label,o)),n.createElement(s.Grid,{item:!0,xs:12},n.createElement(Control,{bind:o.bind,startIcon:e,isLinked:C,extendedOptions:r,anchorRef:f[t],min:u})))))))},Control=({bind:e,startIcon:t,isLinked:r,extendedOptions:o,anchorRef:a,min:s})=>r?n.createElement(d.SizeControl,{startIcon:t,extendedOptions:o,anchorRef:a,min:s}):n.createElement(c.PropKeyProvider,{bind:e},n.createElement(d.SizeControl,{startIcon:t,extendedOptions:o,anchorRef:a,min:s})),Label=({label:e,bind:t})=>n.createElement(c.PropKeyProvider,{bind:t},n.createElement(u.ControlLabel,null,e))},"./packages/packages/libs/editor-controls/src/controls/number-control.tsx":function(e,t,r){r.r(t),r.d(t,{NumberControl:function(){return u}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/number-input.tsx"),c=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),i=r("./packages/packages/libs/editor-controls/src/create-control.tsx");const isEmptyOrNaN=e=>null==e||""===e||Number.isNaN(Number(e)),u=(0,i.createControl)(({placeholder:e,max:t=Number.MAX_SAFE_INTEGER,min:r=-Number.MAX_SAFE_INTEGER,step:i=1,shouldForceInt:u=!1,startIcon:p})=>{const{value:d,setValue:m,placeholder:g,disabled:b,restoreValue:f}=(0,s.useBoundProp)(o.numberPropTypeUtil);return n.createElement(c.default,null,n.createElement(l.NumberInput,{size:"tiny",type:"number",fullWidth:!0,disabled:b,value:isEmptyOrNaN(d)?"":d,onInput:e=>{const{value:n,validity:{valid:o}}=e.target;let a;if(isEmptyOrNaN(n))a=null;else{const e=u?+parseInt(n):Number(n);a=Math.min(Math.max(e,r??Number.MIN_SAFE_INTEGER),t??Number.MAX_SAFE_INTEGER)}m(a,void 0,{validation:()=>o})},onBlur:f,placeholder:e??(isEmptyOrNaN(g)?"":String(g)),inputProps:{step:i,min:r},InputProps:{startAdornment:p?n.createElement(a.InputAdornment,{position:"start",disabled:b},p):void 0}}))})},"./packages/packages/libs/editor-controls/src/controls/position-control.tsx":function(e,t,r){r.r(t),r.d(t,{PositionControl:function(){return PositionControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-ui"),s=r("@elementor/icons"),l=r("@elementor/ui"),c=r("@wordpress/i18n"),i=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const d=[{label:(0,c.__)("Center center","elementor"),value:"center center"},{label:(0,c.__)("Center left","elementor"),value:"center left"},{label:(0,c.__)("Center right","elementor"),value:"center right"},{label:(0,c.__)("Top center","elementor"),value:"top center"},{label:(0,c.__)("Top left","elementor"),value:"top left"},{label:(0,c.__)("Top right","elementor"),value:"top right"},{label:(0,c.__)("Bottom center","elementor"),value:"bottom center"},{label:(0,c.__)("Bottom left","elementor"),value:"bottom left"},{label:(0,c.__)("Bottom right","elementor"),value:"bottom right"},{label:(0,c.__)("Custom","elementor"),value:"custom"}],PositionControl=()=>{const e=(0,i.useBoundProp)(o.positionPropTypeUtil),t=(0,i.useBoundProp)(o.stringPropTypeUtil),r=!!e.value;return n.createElement(l.Grid,{container:!0,spacing:1.5},n.createElement(l.Grid,{item:!0,xs:12},n.createElement(l.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap"},n.createElement(l.Grid,{item:!0,xs:6},n.createElement(u.ControlFormLabel,null,(0,c.__)("Object position","elementor"))),n.createElement(l.Grid,{item:!0,xs:6,sx:{overflow:"hidden"}},n.createElement(l.Select,{size:"tiny",disabled:t.disabled,value:(e.value?"custom":t.value)??"",onChange:r=>{const n=r.target.value||null;"custom"===n?e.setValue({x:null,y:null}):t.setValue(n)},fullWidth:!0},d.map(({label:e,value:t})=>n.createElement(a.MenuListItem,{key:t,value:t??""},e)))))),r&&n.createElement(i.PropProvider,e,n.createElement(l.Grid,{item:!0,xs:12},n.createElement(l.Grid,{container:!0,spacing:1.5},n.createElement(l.Grid,{item:!0,xs:6},n.createElement(i.PropKeyProvider,{bind:"x"},n.createElement(p.SizeControl,{startIcon:n.createElement(s.LetterXIcon,{fontSize:"tiny"}),min:-Number.MAX_SAFE_INTEGER}))),n.createElement(l.Grid,{item:!0,xs:6},n.createElement(i.PropKeyProvider,{bind:"y"},n.createElement(p.SizeControl,{startIcon:n.createElement(s.LetterYIcon,{fontSize:"tiny"}),min:-Number.MAX_SAFE_INTEGER})))))))}},"./packages/packages/libs/editor-controls/src/controls/repeatable-control.tsx":function(e,t,r){r.r(t),r.d(t,{RepeatableControl:function(){return v}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),c=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/duplicate-item-action.tsx"),d=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),m=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),g=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/items-container.tsx"),b=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),f=r("./packages/packages/libs/editor-controls/src/hooks/use-repeatable-control-context.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{propTypeUtil:x}=t;if(!x)return null;const y=(0,n.useMemo)(()=>(0,o.createArrayPropUtils)(x.key,x.schema,k),[x.key,x.schema,k]),E=(0,n.useMemo)(()=>({...t,placeholder:b||"",patternLabel:c||""}),[t,b,c]),{propType:_,value:C,setValue:P}=(0,s.useBoundProp)(y);return n.createElement(s.PropProvider,{propType:_,value:C,setValue:P},n.createElement(f.RepeatableControlContext.Provider,{value:E},n.createElement(i.UnstableRepeater,{initial:x.create(l||null),propTypeUtil:y},n.createElement(i.Header,{label:e},n.createElement(i.TooltipAddItemAction,_extends({},v,{newItemIndex:0,ariaLabel:e}))),n.createElement(g.ItemsContainer,{isSortable:!1,itemTemplate:n.createElement(i.Item,{Icon:ItemIcon,Label:ItemLabel})},r&&n.createElement(p.DuplicateItemAction,null),a&&n.createElement(u.DisableItemAction,null),n.createElement(d.RemoveItemAction,null)),n.createElement(m.EditItemPopover,null,n.createElement(Content,null)))))}),ItemIcon=()=>n.createElement(n.Fragment,null),Content=()=>{const{component:e,props:t={}}=(0,f.useRepeatableControlContext)();return n.createElement(l.PopoverContent,{p:1.5},n.createElement(c.PopoverGridContainer,null,n.createElement(e,t)))},getNestedValue=(e,t)=>t.split(".").reduce((e,t)=>e&&"object"==typeof e?e[t]:{},e),isEmptyValue=e=>"string"==typeof e?""===e.trim():!!Number.isNaN(e)||(Array.isArray(e)?0===e.length:"object"==typeof e&&null!==e&&0===Object.keys(e).length),ItemLabel=({value:e})=>{const{placeholder:t,patternLabel:r}=(0,f.useRepeatableControlContext)(),o=((e,t)=>{const r=getAllProperties(e).map(e=>getNestedValue(t,e));return!(0===r.length||!r.some(e=>null==e)&&!r.every(isEmptyValue))})(r,e),s=o?t:(l=r,(c=e)?l.replace(k,(e,t)=>{const r=getNestedValue(c,t);return"object"!=typeof r||null===r||Array.isArray(r)?Array.isArray(r)?r.join(", "):String(r??""):r.name?r.name:JSON.stringify(r)}):l);var l,c;const i=o?"text.tertiary":"text.primary";return n.createElement(a.Box,{component:"span",color:i},s)},getAllProperties=e=>e.match(k)?.map(e=>e.slice(2,-1))||[]},"./packages/packages/libs/editor-controls/src/controls/select-control.tsx":function(e,t,r){r.r(t),r.d(t,{SelectControl:function(){return i}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-ui"),s=r("@elementor/ui"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:r,setValue:i,disabled:u,placeholder:p}=(0,l.useBoundProp)(o.stringPropTypeUtil);return n.createElement(c.default,null,n.createElement(s.Select,{sx:{overflow:"hidden"},displayEmpty:!0,size:"tiny",renderValue:t=>{const findOptionByValue=t=>e.find(e=>e.value===t);if(!t||""===t){if(p){const e=findOptionByValue(p),t=e?.label||p;return n.createElement(s.Typography,{component:"span",variant:"caption",color:"text.tertiary"},t)}return""}const r=findOptionByValue(t);return r?.label||t},value:r??"",onChange:e=>{const n=e.target.value||null;t?.(n,r),i(n)},disabled:u,fullWidth:!0},e.map(({label:e,...t})=>n.createElement(a.MenuListItem,_extends({key:t.value},t,{value:t.value??""}),e))))})},"./packages/packages/libs/editor-controls/src/controls/selection-size-control.tsx":function(e,t,r){r.r(t),r.d(t,{SelectionSizeControl:function(){return u}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),c=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const u=(0,c.createControl)(({selectionLabel:e,sizeLabel:t,selectionConfig:r,sizeConfigMap:c})=>{const{value:u,setValue:p,propType:d}=(0,s.useBoundProp)(o.selectionSizePropTypeUtil),m=(0,n.useRef)(null),g=(0,n.useMemo)(()=>{switch(u.selection.$$type){case"key-value":return c[u?.selection?.value.value.value||""];case"string":return c[u?.selection?.value||""];default:return null}},[u,c]),b=r.component;return n.createElement(s.PropProvider,{value:u,setValue:p,propType:d},n.createElement(a.Grid,{container:!0,spacing:1.5,ref:m},n.createElement(a.Grid,{item:!0,xs:6,sx:{display:"flex",alignItems:"center"}},n.createElement(l.ControlFormLabel,null,e)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(s.PropKeyProvider,{bind:"selection"},n.createElement(b,r.props))),g&&n.createElement(n.Fragment,null,n.createElement(a.Grid,{item:!0,xs:6,sx:{display:"flex",alignItems:"center"}},n.createElement(l.ControlFormLabel,null,t)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(s.PropKeyProvider,{bind:"size"},n.createElement(i.SizeControl,{anchorRef:m,variant:g.variant,units:g.units,defaultUnit:g.defaultUnit}))))))})},"./packages/packages/libs/editor-controls/src/controls/size-control.tsx":function(e,t,r){r.r(t),r.d(t,{SizeControl:function(){return f}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/editor-responsive"),s=r("@elementor/ui"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/size-control/size-input.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/text-field-popover.tsx"),u=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/hooks/use-size-extended-options.ts"),d=r("./packages/packages/libs/editor-controls/src/hooks/use-sync-external-state.tsx"),m=r("./packages/packages/libs/editor-controls/src/utils/size-control.ts");const g={length:"px",angle:"deg",time:"ms"},b={length:[...m.lengthUnits],angle:[...m.angleUnits],time:[...m.timeUnits]},f=(0,u.createControl)(({variant:e="length",defaultUnit:t,units:r,placeholder:u,startIcon:f,anchorRef:k,extendedOptions:v,disableCustom:x,min:y=0,enablePropTypeUnits:E=!1,id:_})=>{const{value:C,setValue:P,disabled:w,restoreValue:T,placeholder:S,propType:z}=(0,l.useBoundProp)(o.sizePropTypeUtil),O=t??S?.unit??g[e],[R,A]=(0,n.useState)(createStateFromSizeProp(C,O)),F=(0,a.useActiveBreakpoint)(),U=function resolveUnits(e,t,r,n){const o=[...b[r]];if(!t)return n??o;return e.settings?.available_units??o}(z,E,e,r),j=(0,p.useSizeExtendedOptions)(v||[],x??!1),B=(0,s.usePopupState)({variant:"popover"}),[L,M]=(0,d.useSyncExternalState)({external:R,setExternal:(e,t,r)=>P(extractValueFromState(e),t,r),persistWhen:e=>!!e?.unit&&((0,m.isUnitExtendedOption)(e.unit)?"auto"===e.unit||!!e.custom:!!e?.numeric||0===e?.numeric),fallback:e=>({unit:e?.unit??O,numeric:e?.numeric??m.DEFAULT_SIZE,custom:e?.custom??""})}),{size:V=m.DEFAULT_SIZE,unit:G=O}=extractValueFromState(L)||{},handleSizeChange=e=>{const t=e.target.value,r=e.target.validity.valid;"auto"!==G?M(e=>({...e,["custom"===G?"custom":"numeric"]:formatSize(t,G),unit:G}),void 0,{validation:()=>r}):M(e=>({...e,unit:G}))};return(0,n.useEffect)(()=>{const e=createStateFromSizeProp(C,"custom"===L.unit?L.unit:O,"",L.custom),t=(0,m.isUnitExtendedOption)(L.unit)?"custom":"numeric",r={...L,unit:e.unit??L.unit,[t]:e[t]};"auto"!==r.unit&&areStatesEqual(L,r)||(L.unit!==e.unit?M(e):A(r))},[C]),(0,n.useEffect)(()=>{const e=createStateFromSizeProp(C,O,"",L.custom);F&&!areStatesEqual(e,L)&&M(e)},[F]),n.createElement(n.Fragment,null,n.createElement(c.SizeInput,{disabled:w,size:V,unit:G,units:[...U,...j||[]],placeholder:u,startIcon:f,handleSizeChange:handleSizeChange,handleUnitChange:e=>{"custom"===e&&B.open(k?.current),M(t=>({...t,unit:e}))},onBlur:T,onClick:e=>{e.target.closest("input")&&"custom"===L.unit&&B.open(k?.current)},popupState:B,min:y,id:_}),k?.current&&B.isOpen&&n.createElement(i.TextFieldPopover,{popupState:B,anchorRef:k,restoreValue:T,value:V,onChange:handleSizeChange}))});function formatSize(e,t){return(0,m.isUnitExtendedOption)(t)?"auto"===t?"":String(e??""):e||0===e?Number(e):NaN}function createStateFromSizeProp(e,t,r="",n=""){const o=e?.unit??t,a=e?.size??r;return{numeric:(0,m.isUnitExtendedOption)(o)||isNaN(Number(a))||!a&&0!==a?m.DEFAULT_SIZE:Number(a),custom:"custom"===o?String(a):n,unit:o}}function extractValueFromState(e){if(!e)return null;if(!e?.unit)return{size:m.DEFAULT_SIZE,unit:m.DEFAULT_UNIT};const{unit:t}=e;return"auto"===t?{size:"",unit:t}:{size:e["custom"===t?"custom":"numeric"],unit:t}}function areStatesEqual(e,t){return e.unit===t.unit&&e.custom===t.custom&&((0,m.isUnitExtendedOption)(e.unit)?e.custom===t.custom:e.numeric===t.numeric||isNaN(e.numeric)&&isNaN(t.numeric))}},"./packages/packages/libs/editor-controls/src/controls/stroke-control.tsx":function(e,t,r){r.r(t),r.d(t,{StrokeControl:function(){return g}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/section-content.tsx"),u=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),d=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const m=["px","em","rem"],g=(0,u.createControl)(()=>{const e=(0,l.useBoundProp)(o.strokePropTypeUtil),t=(0,n.useRef)(null);return n.createElement(l.PropProvider,e,n.createElement(i.SectionContent,null,n.createElement(b,{bind:"width",label:(0,s.__)("Stroke width","elementor"),ref:t},n.createElement(d.SizeControl,{units:m,anchorRef:t})),n.createElement(b,{bind:"color",label:(0,s.__)("Stroke color","elementor")},n.createElement(p.ColorControl,null))))}),b=(0,n.forwardRef)(({bind:e,label:t,children:r},o)=>n.createElement(l.PropKeyProvider,{bind:e},n.createElement(a.Grid,{container:!0,gap:2,alignItems:"center",flexWrap:"nowrap",ref:o},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,t)),n.createElement(a.Grid,{item:!0,xs:6},r))))},"./packages/packages/libs/editor-controls/src/controls/svg-media-control.tsx":function(e,t,r){r.r(t),r.d(t,{SvgMediaControl:function(){return E}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@elementor/wp-media"),c=r("@wordpress/i18n"),i=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/enable-unfiltered-modal.tsx"),p=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx"),d=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),m=r("./packages/packages/libs/editor-controls/src/hooks/use-unfiltered-files-upload.ts");const g="transparent",b="#c1c1c1",f=`linear-gradient(45deg, ${b} 25%, ${g} 0, ${g} 75%, ${b} 0, ${b})`,k=(0,s.styled)(s.Card)` background-color: white; background-image: ${f}, ${f}; background-size: ${8}px ${8}px; background-position: 0 0, ${4}px ${4}px; border: none; `,v=(0,s.styled)(s.Stack)` position: relative; height: 140px; object-fit: contain; padding: 5px; justify-content: center; align-items: center; background-color: rgba( 255, 255, 255, 0.37 ); `,x={mode:"browse"},y={mode:"upload"},E=(0,d.createControl)(()=>{const{value:e,setValue:t}=(0,i.useBoundProp)(o.imageSrcPropTypeUtil),{id:r,url:d}=e??{},{data:g,isFetching:b}=(0,l.useWpMediaAttachment)(r?.value||null),f=g?.url??d?.value??null,{data:E}=(0,m.useUnfilteredFilesUpload)(),[_,C]=(0,n.useState)(!1),{open:P}=(0,l.useWpMediaFrame)({mediaTypes:["svg"],multiple:!1,selected:r?.value||null,onSelect:e=>{t({id:{$$type:"image-attachment-id",value:e.id},url:null})}}),handleClick=e=>{E||e!==y?P(e):C(!0)};return n.createElement(s.Stack,{gap:1},n.createElement(u.EnableUnfilteredModal,{open:_,onClose:e=>{C(!1),e&&P(y)}}),n.createElement(p.default,null,n.createElement(k,{variant:"outlined"},n.createElement(v,null,b?n.createElement(s.CircularProgress,{role:"progressbar"}):n.createElement(s.CardMedia,{component:"img",image:f,alt:(0,c.__)("Preview SVG","elementor"),sx:{maxHeight:"140px",width:"50px"}})),n.createElement(s.CardOverlay,{sx:{"&:hover":{backgroundColor:"rgba( 0, 0, 0, 0.75 )"}}},n.createElement(s.Stack,{gap:1},n.createElement(s.Button,{size:"tiny",color:"inherit",variant:"outlined",onClick:()=>handleClick(x)},(0,c.__)("Select SVG","elementor")),n.createElement(s.Button,{size:"tiny",variant:"text",color:"inherit",startIcon:n.createElement(a.UploadIcon,null),onClick:()=>handleClick(y)},(0,c.__)("Upload","elementor")))))))})},"./packages/packages/libs/editor-controls/src/controls/switch-control.tsx":function(e,t,r){r.r(t),r.d(t,{SwitchControl:function(){return l}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/use-bound-prop.ts");const l=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(()=>{const{value:e,setValue:t,disabled:r}=(0,s.useBoundProp)(o.booleanPropTypeUtil);return n.createElement(a.Box,{sx:{display:"flex",justifyContent:"flex-end"}},n.createElement(a.Switch,{checked:!!e,onChange:e=>{t(e.target.checked)},size:"small",disabled:r,inputProps:{...r?{style:{opacity:0}}:{}}}))})},"./packages/packages/libs/editor-controls/src/controls/text-area-control.tsx":function(e,t,r){r.r(t),r.d(t,{TextAreaControl:function(){return c}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");const c=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(({placeholder:e})=>{const{value:t,setValue:r,disabled:c}=(0,s.useBoundProp)(o.stringPropTypeUtil);return n.createElement(l.default,null,n.createElement(a.TextField,{size:"tiny",multiline:!0,fullWidth:!0,minRows:5,disabled:c,value:t??"",onChange:e=>{r(e.target.value)},placeholder:e}))})},"./packages/packages/libs/editor-controls/src/controls/text-control.tsx":function(e,t,r){r.r(t),r.d(t,{TextControl:function(){return c}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");const c=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(({placeholder:e,error:t,inputValue:r,inputDisabled:c,helperText:i,sx:u})=>{const{value:p,setValue:d,disabled:m}=(0,s.useBoundProp)(o.stringPropTypeUtil);return n.createElement(l.default,null,n.createElement(a.TextField,{size:"tiny",fullWidth:!0,disabled:c??m,value:r??p??"",onChange:e=>d(e.target.value),placeholder:e,error:t,helperText:i,sx:u}))})},"./packages/packages/libs/editor-controls/src/controls/toggle-control.tsx":function(e,t,r){r.r(t),r.d(t,{ToggleControl:function(){return l}});var n=r("react"),o=r("@elementor/editor-props"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),s=r("./packages/packages/libs/editor-controls/src/components/control-toggle-button-group.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:i,setValue:u,placeholder:p,disabled:d}=(0,a.useBoundProp)(o.stringPropTypeUtil),m=e.filter(e=>e.exclusive).map(e=>e.value),g={items:e,maxItems:c,fullWidth:t,size:r,placeholder:p};return l?n.createElement(s.ControlToggleButtonGroup,_extends({},g,{value:i??null,onChange:u,disabled:d,exclusive:!0})):n.createElement(s.ControlToggleButtonGroup,_extends({},g,{value:i?.split(" ")??[],onChange:e=>{const t=e[e.length-1],r=m.includes(t)?[t]:e?.filter(e=>!m.includes(e));u(r?.join(" ")||null)},disabled:d,exclusive:!1}))})},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/axis-row.tsx":function(e,t,r){r.r(t),r.d(t,{AxisRow:function(){return AxisRow}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),s=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),c=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const AxisRow=({label:e,bind:t,startIcon:r,anchorRef:i,units:u,variant:p="angle"})=>{const d=e.replace(/\s+/g,"-").toLowerCase();return n.createElement(o.Grid,{item:!0,xs:12},n.createElement(l.PopoverGridContainer,{ref:i},n.createElement(o.Grid,{item:!0,xs:6},n.createElement(s.ControlLabel,{htmlFor:d},e)),n.createElement(o.Grid,{item:!0,xs:6},n.createElement(a.PropKeyProvider,{bind:t},n.createElement(c.SizeControl,{anchorRef:i,startIcon:r,units:u,variant:p,min:-Number.MAX_SAFE_INTEGER,id:d})))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/move.tsx":function(e,t,r){r.r(t),r.d(t,{Move:function(){return Move}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/axis-row.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,c.useBoundProp)(o.moveTransformPropTypeUtil),t=[(0,n.useRef)(null),(0,n.useRef)(null),(0,n.useRef)(null)];return n.createElement(s.Grid,{container:!0,spacing:1.5},n.createElement(c.PropProvider,e,n.createElement(c.PropKeyProvider,{bind:i.TransformFunctionKeys.move},p.map((e,r)=>n.createElement(u.AxisRow,_extends({key:e.bind},e,{anchorRef:t[r],units:e.units,variant:"length"}))))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/rotate.tsx":function(e,t,r){r.r(t),r.d(t,{Rotate:function(){return Rotate}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/axis-row.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,c.useBoundProp)(o.rotateTransformPropTypeUtil),t=[(0,n.useRef)(null),(0,n.useRef)(null),(0,n.useRef)(null)];return n.createElement(s.Grid,{container:!0,spacing:1.5},n.createElement(c.PropProvider,e,n.createElement(c.PropKeyProvider,{bind:i.TransformFunctionKeys.rotate},p.map((e,r)=>n.createElement(u.AxisRow,_extends({key:e.bind},e,{anchorRef:t[r],units:d}))))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/scale-axis-row.tsx":function(e,t,r){r.r(t),r.d(t,{ScaleAxisRow:function(){return ScaleAxisRow}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),s=r("./packages/packages/libs/editor-controls/src/components/control-label.tsx"),l=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),c=r("./packages/packages/libs/editor-controls/src/controls/number-control.tsx");const ScaleAxisRow=({label:e,bind:t,startIcon:r,anchorRef:i})=>n.createElement(o.Grid,{item:!0,xs:12},n.createElement(l.PopoverGridContainer,{ref:i},n.createElement(o.Grid,{item:!0,xs:6},n.createElement(s.ControlLabel,null,e)),n.createElement(o.Grid,{item:!0,xs:6},n.createElement(a.PropKeyProvider,{bind:t},n.createElement(c.NumberControl,{step:.1,placeholder:"1",startIcon:r})))))},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/scale.tsx":function(e,t,r){r.r(t),r.d(t,{Scale:function(){return Scale}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/scale-axis-row.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,c.useBoundProp)(o.scaleTransformPropTypeUtil),t=[(0,n.useRef)(null),(0,n.useRef)(null),(0,n.useRef)(null)];return n.createElement(s.Grid,{container:!0,spacing:1.5},n.createElement(c.PropProvider,e,n.createElement(c.PropKeyProvider,{bind:i.TransformFunctionKeys.scale},p.map((e,r)=>n.createElement(u.ScaleAxisRow,_extends({key:e.bind},e,{anchorRef:t[r]}))))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/functions/skew.tsx":function(e,t,r){r.r(t),r.d(t,{Skew:function(){return Skew}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/axis-row.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,c.useBoundProp)(o.skewTransformPropTypeUtil),t=[(0,n.useRef)(null),(0,n.useRef)(null),(0,n.useRef)(null)];return n.createElement(s.Grid,{container:!0,spacing:1.5},n.createElement(c.PropProvider,e,n.createElement(c.PropKeyProvider,{bind:i.TransformFunctionKeys.skew},p.map((e,r)=>n.createElement(u.AxisRow,_extends({key:e.bind},e,{anchorRef:t[r],units:d}))))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts":function(e,t,r){r.r(t),r.d(t,{TransformFunctionKeys:function(){return o},defaultValues:function(){return a},initialRotateValue:function(){return c},initialScaleValue:function(){return l},initialSkewValue:function(){return i},initialTransformValue:function(){return s}});var n=r("@elementor/editor-props");const o={move:"transform-move",scale:"transform-scale",rotate:"transform-rotate",skew:"transform-skew"},a={move:{size:0,unit:"px"},scale:1,rotate:{size:0,unit:"deg"},skew:{size:0,unit:"deg"}},s={$$type:o.move,value:{x:{$$type:"size",value:{size:a.move.size,unit:a.move.unit}},y:{$$type:"size",value:{size:a.move.size,unit:a.move.unit}},z:{$$type:"size",value:{size:a.move.size,unit:a.move.unit}}}},l=n.scaleTransformPropTypeUtil.create({x:n.numberPropTypeUtil.create(a.scale),y:n.numberPropTypeUtil.create(a.scale),z:n.numberPropTypeUtil.create(a.scale)}),c=n.rotateTransformPropTypeUtil.create({x:{$$type:"size",value:{size:a.rotate.size,unit:a.rotate.unit}},y:{$$type:"size",value:{size:a.rotate.size,unit:a.rotate.unit}},z:{$$type:"size",value:{size:a.rotate.size,unit:a.rotate.unit}}}),i=n.skewTransformPropTypeUtil.create({x:{$$type:"size",value:{size:a.skew.size,unit:a.skew.unit}},y:{$$type:"size",value:{size:a.skew.size,unit:a.skew.unit}}})},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-control.tsx":function(e,t,r){r.r(t),r.d(t,{TransformBaseControl:function(){return TransformBaseControl}});var n=r("react"),o=r("@elementor/editor-ui"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-controls/children-perspective-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-controls/transform-origin-control.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const r=(0,s.bindPopover)({...e,anchorEl:t.current??void 0});return n.createElement(s.Popover,_extends({disablePortal:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},slotProps:{paper:{sx:{width:(t.current?.offsetWidth||0)-6+"px",mt:.5}}}},r),n.createElement(o.PopoverHeader,{title:(0,l.__)("Base Transform","elementor"),onClose:e.close,icon:n.createElement(a.AdjustmentsIcon,{fontSize:"tiny"})}),n.createElement(s.Divider,null),n.createElement(i.PopoverContent,{sx:{px:2,py:1.5}},n.createElement(c.PropKeyProvider,{bind:"transform-origin"},n.createElement(p.TransformOriginControl,null)),n.createElement(s.Box,{sx:{my:.5}},n.createElement(s.Divider,null)),n.createElement(u.ChildrenPerspectiveControl,null)))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-controls/children-perspective-control.tsx":function(e,t,r){r.r(t),r.d(t,{ChildrenPerspectiveControl:function(){return ChildrenPerspectiveControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const p=["px","%","em","rem"],d={label:(0,s.__)("Perspective","elementor"),bind:"perspective",units:["px","em","rem","vw","vh"]},m=[{label:(0,s.__)("Origin X","elementor"),bind:"x",units:p},{label:(0,s.__)("Origin Y","elementor"),bind:"y",units:p}],ChildrenPerspectiveControl=()=>n.createElement(a.Stack,{direction:"column",spacing:1.5},n.createElement(c.ControlFormLabel,null,(0,s.__)("Children perspective","elementor")),n.createElement(PerspectiveControl,null),n.createElement(PerspectiveOriginControl,null)),PerspectiveControl=()=>n.createElement(l.PropKeyProvider,{bind:"perspective"},n.createElement(ControlFields,{control:d,key:d.bind})),PerspectiveOriginControl=()=>n.createElement(l.PropKeyProvider,{bind:"perspective-origin"},n.createElement(PerspectiveOriginControlProvider,null)),PerspectiveOriginControlProvider=()=>{const e=(0,l.useBoundProp)(o.perspectiveOriginPropTypeUtil);return n.createElement(l.PropProvider,e,m.map(e=>n.createElement(l.PropKeyProvider,{bind:e.bind,key:e.bind},n.createElement(ControlFields,{control:e}))))},ControlFields=({control:e})=>{const t=n.useRef(null);return n.createElement(i.PopoverGridContainer,{ref:t},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,e.label)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(u.SizeControl,{variant:"length",units:e.units,anchorRef:t,disableCustom:!0})))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-controls/transform-origin-control.tsx":function(e,t,r){r.r(t),r.d(t,{TransformOriginControl:function(){return TransformOriginControl}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("@wordpress/i18n"),l=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),c=r("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),i=r("./packages/packages/libs/editor-controls/src/components/popover-grid-container.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/size-control.tsx");const p=["px","%","em","rem"],d=p.filter(e=>"%"!==e),m=[{label:(0,s.__)("Origin X","elementor"),bind:"x",units:p},{label:(0,s.__)("Origin Y","elementor"),bind:"y",units:p},{label:(0,s.__)("Origin Z","elementor"),bind:"z",units:d}],TransformOriginControl=()=>n.createElement(a.Stack,{direction:"column",spacing:1.5},n.createElement(c.ControlFormLabel,null,(0,s.__)("Transform","elementor")),m.map(e=>n.createElement(ControlFields,{control:e,key:e.bind}))),ControlFields=({control:e})=>{const t=(0,l.useBoundProp)(o.transformOriginPropTypeUtil),r=n.useRef(null);return n.createElement(l.PropProvider,t,n.createElement(l.PropKeyProvider,{bind:e.bind},n.createElement(i.PopoverGridContainer,{ref:r},n.createElement(a.Grid,{item:!0,xs:6},n.createElement(c.ControlFormLabel,null,e.label)),n.createElement(a.Grid,{item:!0,xs:6},n.createElement(u.SizeControl,{variant:"length",units:e.units,anchorRef:r,disableCustom:!0})))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-content.tsx":function(e,t,r){r.r(t),r.d(t,{TransformContent:function(){return TransformContent}});var n=r("react"),o=r("@elementor/ui"),a=r("@wordpress/i18n"),s=r("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),l=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/move.tsx"),c=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/rotate.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/scale.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/transform-control/functions/skew.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),d=r("./packages/packages/libs/editor-controls/src/controls/transform-control/use-transform-tabs-history.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getTabsProps:e,getTabProps:t,getTabPanelProps:r}=(0,d.useTransformTabsHistory)({move:p.initialTransformValue.value,scale:p.initialScaleValue.value,rotate:p.initialRotateValue.value,skew:p.initialSkewValue.value});return n.createElement(s.PopoverContent,null,n.createElement(o.Box,{sx:{width:"100%"}},n.createElement(o.Box,{sx:{borderBottom:1,borderColor:"divider"}},n.createElement(o.Tabs,_extends({size:"small",variant:"fullWidth",sx:{"& .MuiTab-root":{minWidth:"62px"}}},e(),{"aria-label":(0,a.__)("Transform","elementor")}),n.createElement(o.Tab,_extends({label:(0,a.__)("Move","elementor")},t(p.TransformFunctionKeys.move))),n.createElement(o.Tab,_extends({label:(0,a.__)("Scale","elementor")},t(p.TransformFunctionKeys.scale))),n.createElement(o.Tab,_extends({label:(0,a.__)("Rotate","elementor")},t(p.TransformFunctionKeys.rotate))),n.createElement(o.Tab,_extends({label:(0,a.__)("Skew","elementor")},t(p.TransformFunctionKeys.skew))))),n.createElement(o.TabPanel,_extends({sx:{p:1.5}},r(p.TransformFunctionKeys.move)),n.createElement(l.Move,null)),n.createElement(o.TabPanel,_extends({sx:{p:1.5}},r(p.TransformFunctionKeys.scale)),n.createElement(i.Scale,null)),n.createElement(o.TabPanel,_extends({sx:{p:1.5}},r(p.TransformFunctionKeys.rotate)),n.createElement(c.Rotate,null)),n.createElement(o.TabPanel,_extends({sx:{p:1.5}},r(p.TransformFunctionKeys.skew)),n.createElement(u.Skew,null))))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-icon.tsx":function(e,t,r){r.r(t),r.d(t,{TransformIcon:function(){return TransformIcon}});var n=r("react"),o=r("@elementor/icons"),a=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts");const TransformIcon=({value:e})=>{switch(e.$$type){case a.TransformFunctionKeys.move:return n.createElement(o.ArrowsMaximizeIcon,{fontSize:"tiny"});case a.TransformFunctionKeys.scale:return n.createElement(o.ExpandIcon,{fontSize:"tiny"});case a.TransformFunctionKeys.rotate:return n.createElement(o.RotateClockwise2Icon,{fontSize:"tiny"});case a.TransformFunctionKeys.skew:return n.createElement(o.SkewXIcon,{fontSize:"tiny"});default:return null}}},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-label.tsx":function(e,t,r){r.r(t),r.d(t,{TransformLabel:function(){return TransformLabel}});var n=r("react"),o=r("@elementor/ui"),a=r("@wordpress/i18n"),s=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts");const transformMoveValue=e=>Object.values(e).map(e=>`${e?.value?.size??s.defaultValues.move.size}${e?.value?.unit??s.defaultValues.move.unit}`).join(", "),transformScaleValue=e=>Object.values(e).map(e=>e?.value||s.defaultValues.scale).join(", "),transformRotateValue=e=>Object.values(e).map(e=>`${e?.value?.size??s.defaultValues.rotate.size}${e?.value?.unit??s.defaultValues.rotate.unit}`).join(", "),transformSkewValue=e=>Object.values(e).map(e=>`${e?.value?.size??s.defaultValues.skew.size}${e?.value?.unit??s.defaultValues.skew.unit}`).join(", "),TransformLabel=e=>{const{$$type:t,value:r}=e.value;switch(t){case s.TransformFunctionKeys.move:return n.createElement(Label,{label:(0,a.__)("Move","elementor"),value:transformMoveValue(r)});case s.TransformFunctionKeys.scale:return n.createElement(Label,{label:(0,a.__)("Scale","elementor"),value:transformScaleValue(r)});case s.TransformFunctionKeys.rotate:return n.createElement(Label,{label:(0,a.__)("Rotate","elementor"),value:transformRotateValue(r)});case s.TransformFunctionKeys.skew:return n.createElement(Label,{label:(0,a.__)("Skew","elementor"),value:transformSkewValue(r)});default:return""}},Label=({label:e,value:t})=>n.createElement(o.Box,{component:"span"},e,": ",t)},"./packages/packages/libs/editor-controls/src/controls/transform-control/transform-repeater-control.tsx":function(e,t,r){r.r(t),r.d(t,{TransformRepeaterControl:function(){return _}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/index.ts"),u=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/disable-item-action.tsx"),p=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/actions/remove-item-action.tsx"),d=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/items/edit-item-popover.tsx"),m=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/locations.ts"),g=r("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments.tsx"),b=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),f=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts"),k=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-control.tsx"),v=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-content.tsx"),x=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-icon.tsx"),y=r("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-label.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const e=(0,c.useBoundProp)(o.transformPropTypeUtil),t=(0,n.useRef)(null),r=(0,s.usePopupState)({variant:"popover"}),a="transform-functions";return(0,m.injectIntoRepeaterHeaderActions)({id:"transform-base-control",component:()=>n.createElement(TransformBasePopoverTrigger,{popupState:r,repeaterBindKey:a}),options:{overwrite:!0}}),n.createElement(c.PropProvider,e,n.createElement(k.TransformBaseControl,{popupState:r,anchorRef:t}),n.createElement(c.PropKeyProvider,{bind:a},n.createElement(Repeater,{headerRef:t,propType:e.propType})))}),C=n.createElement(s.Box,{component:"span","aria-label":void 0,sx:{display:"flex",gap:.5,p:2,width:320,borderRadius:1}},n.createElement(a.InfoCircleFilledIcon,{sx:{color:"secondary.main"}}),n.createElement(s.Typography,{variant:"body2",color:"text.secondary",fontSize:"14px"},(0,l.__)("You can use each kind of transform only once per element.","elementor"))),Repeater=({headerRef:e,propType:t})=>{const r=(0,c.useBoundProp)(o.transformFunctionsPropTypeUtil),a=[f.initialTransformValue,f.initialScaleValue,f.initialRotateValue,f.initialSkewValue],{value:s}=r,getInitialValue=()=>a.find(e=>!s?.some(t=>t.$$type===e.$$type)),m=!getInitialValue();return n.createElement(c.PropProvider,r,n.createElement(i.UnstableRepeater,{initial:getInitialValue()??f.initialTransformValue,propTypeUtil:o.transformFunctionsPropTypeUtil},n.createElement(i.Header,{label:(0,l.__)("Transform","elementor"),adornment:()=>n.createElement(g.ControlAdornments,{customContext:{path:["transform"],propType:t}}),ref:e},n.createElement(i.TooltipAddItemAction,{disabled:m,tooltipContent:C,enableTooltip:m,ariaLabel:"transform"})),n.createElement(i.ItemsContainer,{itemTemplate:n.createElement(i.Item,{Icon:x.TransformIcon,Label:y.TransformLabel})},n.createElement(u.DisableItemAction,null),n.createElement(p.RemoveItemAction,null)),n.createElement(d.EditItemPopover,null,n.createElement(v.TransformContent,null))))},TransformBasePopoverTrigger=({popupState:e,repeaterBindKey:t})=>{const{bind:r}=(0,c.useBoundProp)();return r!==t?null:n.createElement(s.IconButton,_extends({size:E,"aria-label":(0,l.__)("Base Transform","elementor")},(0,s.bindTrigger)(e)),n.createElement(a.AdjustmentsIcon,{fontSize:E}))}},"./packages/packages/libs/editor-controls/src/controls/transform-control/use-transform-tabs-history.tsx":function(e,t,r){r.r(t),r.d(t,{useTransformTabsHistory:function(){return useTransformTabsHistory}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/components/unstable-repeater/context/repeater-context.tsx"),c=r("./packages/packages/libs/editor-controls/src/controls/transform-control/initial-values.ts");const useTransformTabsHistory=({move:e,scale:t,rotate:r,skew:i})=>{const{value:u,setValue:p}=(0,s.useBoundProp)(o.moveTransformPropTypeUtil),{value:d,setValue:m}=(0,s.useBoundProp)(o.scaleTransformPropTypeUtil),{value:g,setValue:b}=(0,s.useBoundProp)(o.rotateTransformPropTypeUtil),{value:f,setValue:k}=(0,s.useBoundProp)(o.skewTransformPropTypeUtil),{openItemIndex:v,items:x}=(0,l.useRepeaterContext)(),{getTabsProps:y,getTabProps:E,getTabPanelProps:_}=(0,a.useTabs)((()=>{switch(!0){case!!d:return c.TransformFunctionKeys.scale;case!!g:return c.TransformFunctionKeys.rotate;case!!f:return c.TransformFunctionKeys.skew;default:return c.TransformFunctionKeys.move}})()),C=(0,n.useRef)({move:e,scale:t,rotate:r,skew:i}),saveToHistory=(e,t)=>{t&&(C.current[e]=t)},onTabChange=(e,t)=>{switch(t){case c.TransformFunctionKeys.move:p(C.current.move),saveToHistory("scale",d),saveToHistory("rotate",g),saveToHistory("skew",f);break;case c.TransformFunctionKeys.scale:m(C.current.scale),saveToHistory("move",u),saveToHistory("rotate",g),saveToHistory("skew",f);break;case c.TransformFunctionKeys.rotate:b(C.current.rotate),saveToHistory("move",u),saveToHistory("scale",d),saveToHistory("skew",f);break;case c.TransformFunctionKeys.skew:k(C.current.skew),saveToHistory("move",u),saveToHistory("scale",d),saveToHistory("rotate",g)}return y().onChange(e,t)};return{getTabProps:e=>{return{...E(e),disabled:(t=e,!!x.find(({item:{$$type:e}},r)=>t===e&&r!==v))};var t},getTabPanelProps:_,getTabsProps:()=>({...y(),onChange:onTabChange})}}},"./packages/packages/libs/editor-controls/src/controls/transition-control/data.ts":function(e,t,r){r.r(t),r.d(t,{initialTransitionValue:function(){return o},transitionProperties:function(){return a},transitionsItemsList:function(){return s}});var n=r("@wordpress/i18n");const o={selection:{$$type:"key-value",value:{key:{value:(0,n.__)("All properties","elementor"),$$type:"string"},value:{value:"all",$$type:"string"}}},size:{$$type:"size",value:{size:200,unit:"ms"}}},a=[{label:(0,n.__)("Default","elementor"),type:"category",properties:[{label:(0,n.__)("All properties","elementor"),value:"all"}]}],s=a.map(e=>({label:e.label,items:e.properties.map(e=>e.label)}))},"./packages/packages/libs/editor-controls/src/controls/transition-control/transition-repeater-control.tsx":function(e,t,r){r.r(t),r.d(t,{TransitionRepeaterControl:function(){return b}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/create-control.tsx"),i=r("./packages/packages/libs/editor-controls/src/controls/repeatable-control.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/selection-size-control.tsx"),p=r("./packages/packages/libs/editor-controls/src/controls/transition-control/data.ts"),d=r("./packages/packages/libs/editor-controls/src/controls/transition-control/transition-selector.tsx");const m={variant:"time",units:["s","ms"],defaultUnit:"ms"},getSelectionSizeProps=e=>({selectionLabel:(0,l.__)("Type","elementor"),sizeLabel:(0,l.__)("Duration","elementor"),selectionConfig:{component:d.TransitionSelector,props:{recentlyUsedList:e}},sizeConfigMap:{...p.transitionProperties.reduce((e,t)=>(t.properties.forEach(t=>{e[t.value]=m}),e),{})}});function getChildControlConfig(e){return{propTypeUtil:o.selectionSizePropTypeUtil,component:u.SelectionSizeControl,props:getSelectionSizeProps(e)}}const g=n.createElement(s.Alert,{sx:{width:280,gap:.5},color:"secondary",icon:n.createElement(a.InfoCircleFilledIcon,null)},n.createElement(s.AlertTitle,null,(0,l.__)("Transitions","elementor")),n.createElement(s.Box,{component:"span"},n.createElement(s.Typography,{variant:"body2"},(0,l.__)("Switch to 'Normal' state to add a transition.","elementor")))),b=(0,c.createControl)(({recentlyUsedListGetter:e,currentStyleState:t})=>{const r=null===t,[o,a]=(0,n.useState)([]);return(0,n.useEffect)(()=>{e().then(a)},[e]),n.createElement(i.RepeatableControl,{label:(0,l.__)("Transitions","elementor"),repeaterLabel:(0,l.__)("Transitions","elementor"),patternLabel:"${value.selection.value.key.value}: ${value.size.value.size}${value.size.value.unit}",placeholder:(0,l.__)("Empty Transition","elementor"),showDuplicate:!1,showToggle:!0,initialValues:p.initialTransitionValue,childControlConfig:getChildControlConfig(o),propKey:"transition",addItemTooltipProps:{disabled:!r,enableTooltip:!r,tooltipContent:g}})})},"./packages/packages/libs/editor-controls/src/controls/transition-control/transition-selector.tsx":function(e,t,r){r.r(t),r.d(t,{TransitionSelector:function(){return TransitionSelector}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/icons"),s=r("@elementor/ui"),l=r("@wordpress/i18n"),c=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),i=r("./packages/packages/libs/editor-controls/src/components/item-selector.tsx"),u=r("./packages/packages/libs/editor-controls/src/controls/transition-control/data.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{value:t,setValue:r}=(0,c.useBoundProp)(o.keyValuePropTypeUtil),{key:{value:p}}=t,d=(0,n.useRef)(null),m=(0,s.usePopupState)({variant:"popover"});return n.createElement(s.Box,{ref:d},n.createElement(s.UnstableTag,_extends({variant:"outlined",label:p,endIcon:n.createElement(a.ChevronDownIcon,{fontSize:"tiny"})},(0,s.bindTrigger)(m),{fullWidth:!0})),n.createElement(s.Popover,_extends({disablePortal:!0,disableScrollLock:!0},(0,s.bindPopover)(m),{anchorReference:"anchorPosition",anchorPosition:(()=>{if(!d.current)return;const e=d.current.getBoundingClientRect();return{top:e.top,left:e.right+36}})(),anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"}}),n.createElement(i.ItemSelector,{itemsList:(()=>{const t=e.map(e=>(e=>{for(const t of u.transitionProperties){const r=t.properties.find(t=>t.value===e);if(r)return r.label}})(e)).filter(e=>!!e),r=u.transitionsItemsList.map(e=>({...e,items:e.items.filter(e=>!t.includes(e))}));if(0===t.length)return r;const[n,...o]=r;return[n,{label:(0,l.__)("Recently Used","elementor"),items:t},...o]})(),selectedItem:p,onItemChange:e=>{const t=(e=>{for(const t of u.transitionProperties){const r=t.properties.find(t=>t.label===e);if(r)return{key:{value:r.label,$$type:"string"},value:{value:r.value,$$type:"string"}}}return null})(e);t&&(r(t),m.close())},onClose:m.close,sectionWidth:268,title:(0,l.__)("Transition Property","elementor"),icon:a.VariationsIcon})))}},"./packages/packages/libs/editor-controls/src/controls/url-control.tsx":function(e,t,r){r.r(t),r.d(t,{UrlControl:function(){return c}});var n=r("react"),o=r("@elementor/editor-props"),a=r("@elementor/ui"),s=r("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),l=r("./packages/packages/libs/editor-controls/src/control-actions/control-actions.tsx");const c=(0,r("./packages/packages/libs/editor-controls/src/create-control.tsx").createControl)(({placeholder:e})=>{const{value:t,setValue:r,disabled:c}=(0,s.useBoundProp)(o.urlPropTypeUtil);return n.createElement(l.default,null,n.createElement(a.TextField,{size:"tiny",fullWidth:!0,value:t??"",disabled:c,onChange:e=>r(e.target.value),placeholder:e}))})},"./packages/packages/libs/editor-controls/src/create-control.tsx":function(e,t,r){r.r(t),r.d(t,{createControl:function(){return createControl}});var n=r("react"),o=r("@elementor/ui"),a=r("./packages/packages/libs/editor-controls/src/control-replacements.tsx");Symbol("control");function createControl(e){return t=>{const r=(0,a.useControlReplacement)(e);return n.createElement(o.ErrorBoundary,{fallback:null},n.createElement(r,t))}}},"./packages/packages/libs/editor-controls/src/env.ts":function(e,t,r){r.r(t),r.d(t,{env:function(){return o}});var n=r("@elementor/env");const{env:o}=(0,n.parseEnv)("@elementor/editor-controls")},"./packages/packages/libs/editor-controls/src/hooks/use-filtered-items-list.ts":function(e,t,r){r.r(t),r.d(t,{useFilteredItemsList:function(){return useFilteredItemsList}});const useFilteredItemsList=(e,t)=>e.reduce((e,r)=>{const n=r.items.filter(e=>e.toLowerCase().includes(t.toLowerCase()));return n.length&&(e.push({type:"category",value:r.label}),n.forEach(t=>{e.push({type:"item",value:t})})),e},[])},"./packages/packages/libs/editor-controls/src/hooks/use-repeatable-control-context.ts":function(e,t,r){r.r(t),r.d(t,{RepeatableControlContext:function(){return o},useRepeatableControlContext:function(){return useRepeatableControlContext}});var n=r("react");const o=(0,n.createContext)(void 0),useRepeatableControlContext=()=>{const e=(0,n.useContext)(o);if(!e)throw new Error("useRepeatableControlContext must be used within RepeatableControl");return e}},"./packages/packages/libs/editor-controls/src/hooks/use-size-extended-options.ts":function(e,t,r){r.r(t),r.d(t,{useSizeExtendedOptions:function(){return useSizeExtendedOptions}});var n=r("react");function useSizeExtendedOptions(e,t){return(0,n.useMemo)(()=>{const r=[...e];return t||r.includes("custom")?e.includes("custom")&&r.splice(r.indexOf("custom"),1):r.push("custom"),r},[e,t])}},"./packages/packages/libs/editor-controls/src/hooks/use-sync-external-state.tsx":function(e,t,r){r.r(t),r.d(t,{useSyncExternalState:function(){return useSyncExternalState}});var n=r("react");const useSyncExternalState=({external:e,setExternal:t,persistWhen:r,fallback:o})=>{function toInternal(e,t){return e||o(t)}const[a,s]=(0,n.useState)(toInternal(e,null));(0,n.useEffect)(()=>{s(t=>toInternal(e,t))},[e]);return[a,(e,n,o)=>{const l=("function"==typeof e?e:()=>e)(a);s(l),t(function toExternal(e){return r(e)?e:null}(l),n,o)}]}},"./packages/packages/libs/editor-controls/src/hooks/use-unfiltered-files-upload.ts":function(e,t,r){r.r(t),r.d(t,{UNFILTERED_FILES_UPLOAD_KEY:function(){return a},useUnfilteredFilesUpload:function(){return useUnfilteredFilesUpload},useUpdateUnfilteredFilesUpload:function(){return useUpdateUnfilteredFilesUpload}});var n=r("@elementor/query"),o=r("./packages/packages/libs/editor-controls/src/api.ts");const a="elementor_unfiltered_files_upload",s={queryKey:[a]},useUnfilteredFilesUpload=()=>(0,n.useQuery)({...s,queryFn:()=>o.apiClient.getElementorSetting(a).then(e=>formatResponse(e)),staleTime:1/0});function useUpdateUnfilteredFilesUpload(){const e=(0,n.useQueryClient)();return(0,n.useMutation)({mutationFn:({allowUnfilteredFilesUpload:e})=>o.apiClient.updateElementorSetting(a,e?"1":"0"),onSuccess:()=>e.invalidateQueries(s)})}const formatResponse=e=>Boolean("1"===e)},"./packages/packages/libs/editor-controls/src/utils/size-control.ts":function(e,t,r){r.r(t),r.d(t,{DEFAULT_SIZE:function(){return c},DEFAULT_UNIT:function(){return l},angleUnits:function(){return o},isUnitExtendedOption:function(){return isUnitExtendedOption},lengthUnits:function(){return n},timeUnits:function(){return a}});const n=["px","%","em","rem","vw","vh"],o=["deg","rad","grad","turn"],a=["s","ms"],s=["auto","custom"],l="px",c=NaN;function isUnitExtendedOption(e){return s.includes(e)}},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-elements":function(e){e.exports=window.elementorV2.editorElements},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-responsive":function(e){e.exports=window.elementorV2.editorResponsive},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/env":function(e){e.exports=window.elementorV2.env},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/locations":function(e){e.exports=window.elementorV2.locations},"@elementor/query":function(e){e.exports=window.elementorV2.query},"@elementor/session":function(e){e.exports=window.elementorV2.session},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@elementor/wp-media":function(e){e.exports=window.elementorV2.wpMedia},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(r){var n=t[r];if(void 0!==n)return n.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,{AspectRatioControl:function(){return x.AspectRatioControl},BackgroundControl:function(){return E.BackgroundControl},BoxShadowRepeaterControl:function(){return s.BoxShadowRepeaterControl},ColorControl:function(){return i.ColorControl},ControlActionsProvider:function(){return L.ControlActionsProvider},ControlAdornments:function(){return $.ControlAdornments},ControlAdornmentsProvider:function(){return G.ControlAdornmentsProvider},ControlFormLabel:function(){return F.ControlFormLabel},ControlReplacementsProvider:function(){return B.ControlReplacementsProvider},ControlToggleButtonGroup:function(){return U.ControlToggleButtonGroup},CssEditor:function(){return j.CssEditor},EqualUnequalSizesControl:function(){return d.EqualUnequalSizesControl},FilterRepeaterControl:function(){return l.FilterRepeaterControl},FontFamilyControl:function(){return g.FontFamilyControl},GapControl:function(){return v.GapControl},ImageControl:function(){return e.ImageControl},ItemSelector:function(){return b.ItemSelector},KeyValueControl:function(){return P.KeyValueControl},LinkControl:function(){return k.LinkControl},LinkedDimensionsControl:function(){return m.LinkedDimensionsControl},NumberControl:function(){return p.NumberControl},PopoverContent:function(){return O.PopoverContent},PositionControl:function(){return w.PositionControl},PropKeyProvider:function(){return V.PropKeyProvider},PropProvider:function(){return V.PropProvider},RepeatableControl:function(){return C.RepeatableControl},SelectControl:function(){return c.SelectControl},SizeControl:function(){return o.SizeControl},StrokeControl:function(){return a.StrokeControl},SvgMediaControl:function(){return y.SvgMediaControl},SwitchControl:function(){return _.SwitchControl},TextAreaControl:function(){return n.TextAreaControl},TextControl:function(){return t.TextControl},ToggleControl:function(){return u.ToggleControl},TransformBaseControl:function(){return S.TransformBaseControl},TransformRepeaterControl:function(){return T.TransformRepeaterControl},TransitionRepeaterControl:function(){return z.TransitionRepeaterControl},UrlControl:function(){return f.UrlControl},createControl:function(){return K.createControl},createControlReplacementsRegistry:function(){return B.createControlReplacementsRegistry},enqueueFont:function(){return R.enqueueFont},injectIntoRepeaterHeaderActions:function(){return q.injectIntoRepeaterHeaderActions},injectIntoRepeaterItemActions:function(){return q.injectIntoRepeaterItemActions},injectIntoRepeaterItemIcon:function(){return q.injectIntoRepeaterItemIcon},injectIntoRepeaterItemLabel:function(){return q.injectIntoRepeaterItemLabel},transitionProperties:function(){return A.transitionProperties},transitionsItemsList:function(){return A.transitionsItemsList},useBoundProp:function(){return V.useBoundProp},useControlActions:function(){return L.useControlActions},useFloatingActionsBar:function(){return M.useFloatingActionsBar},useSyncExternalState:function(){return N.useSyncExternalState}});var e=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/image-control.tsx"),t=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/text-control.tsx"),n=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/text-area-control.tsx"),o=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/size-control.tsx"),a=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/stroke-control.tsx"),s=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/box-shadow-repeater-control.tsx"),l=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/filter-control/filter-repeater-control.tsx"),c=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/select-control.tsx"),i=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/color-control.tsx"),u=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/toggle-control.tsx"),p=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/number-control.tsx"),d=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/equal-unequal-sizes-control.tsx"),m=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/linked-dimensions-control.tsx"),g=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/font-family-control/font-family-control.tsx"),b=__webpack_require__("./packages/packages/libs/editor-controls/src/components/item-selector.tsx"),f=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/url-control.tsx"),k=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/link-control.tsx"),v=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/gap-control.tsx"),x=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/aspect-ratio-control.tsx"),y=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/svg-media-control.tsx"),E=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/background-control/background-control.tsx"),_=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/switch-control.tsx"),C=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/repeatable-control.tsx"),P=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/key-value-control.tsx"),w=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/position-control.tsx"),T=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-repeater-control.tsx"),S=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/transform-control/transform-base-control.tsx"),z=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/transition-control/transition-repeater-control.tsx"),O=__webpack_require__("./packages/packages/libs/editor-controls/src/components/popover-content.tsx"),R=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/font-family-control/enqueue-font.tsx"),A=__webpack_require__("./packages/packages/libs/editor-controls/src/controls/transition-control/data.ts"),F=__webpack_require__("./packages/packages/libs/editor-controls/src/components/control-form-label.tsx"),U=__webpack_require__("./packages/packages/libs/editor-controls/src/components/control-toggle-button-group.tsx"),j=__webpack_require__("./packages/packages/libs/editor-controls/src/components/css-code-editor/css-editor.tsx"),B=__webpack_require__("./packages/packages/libs/editor-controls/src/control-replacements.tsx"),L=__webpack_require__("./packages/packages/libs/editor-controls/src/control-actions/control-actions-context.tsx"),M=__webpack_require__("./packages/packages/libs/editor-controls/src/components/floating-bar.tsx"),V=__webpack_require__("./packages/packages/libs/editor-controls/src/bound-prop-context/index.ts"),G=__webpack_require__("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments-context.tsx"),$=__webpack_require__("./packages/packages/libs/editor-controls/src/control-adornments/control-adornments.tsx"),K=__webpack_require__("./packages/packages/libs/editor-controls/src/create-control.tsx"),q=__webpack_require__("./packages/packages/libs/editor-controls/src/components/unstable-repeater/locations.ts"),N=__webpack_require__("./packages/packages/libs/editor-controls/src/hooks/use-sync-external-state.tsx")}(),(window.elementorV2=window.elementorV2||{}).editorControls=r}(),window.elementorV2.editorControls?.init?.(); //# sourceMappingURL=editor-controls.js.map.e-floating-bars{--e-floating-bars-announcement-bg-color:#467ff7;--e-floating-bars-announcement-text-color:#fff;--e-floating-bars-announcement-icon-color:#fff;--e-floating-bars-cta-button-text-color:#fff;--e-floating-bars-cta-button-text-color-hover:#467ff7;--e-floating-bars-cta-button-bg-color:#1c2448;--e-floating-bars-cta-button-bg-color-hover:#fff;--e-floating-bars-cta-button-border-color:#1c2448;--e-floating-bars-cta-button-border-color-hover:#1c2448;--e-floating-bars-close-button-color:#fff;--e-floating-bars-announcement-icon-size:20px;--e-floating-bars-elements-padding-block-end:12px;--e-floating-bars-elements-padding-block-start:12px;--e-floating-bars-elements-padding-inline-end:16px;--e-floating-bars-elements-padding-inline-start:16px;--e-floating-bars-elements-gap:16px;--e-floating-bars-cta-corners:50px;--e-floating-bars-cta-button-border-width:2px;--e-floating-bars-cta-button-padding-block-end:8px;--e-floating-bars-cta-button-padding-block-start:8px;--e-floating-bars-cta-button-padding-inline-end:20px;--e-floating-bars-cta-button-padding-inline-start:20px;--e-floating-bars-cta-button-icon-gap:5px;--e-floating-bars-cta-button-animation-delay:500ms;--e-floating-bars-cta-button-animation-duration:1000ms;--e-floating-bars-background-overlay-opacity:0.5;--e-floating-bars-close-icon-size:24px;align-items:center;background-color:var(--e-floating-bars-announcement-bg-color);color:var(--e-floating-bars-announcement-text-color);display:flex;gap:var(--e-floating-bars-elements-gap);padding-block-end:var(--e-floating-bars-elements-padding-block-end);padding-block-start:var(--e-floating-bars-elements-padding-block-start);padding-inline-end:var(--e-floating-bars-elements-padding-inline-end);padding-inline-start:var(--e-floating-bars-elements-padding-inline-start);position:relative;width:100%;z-index:10000}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars{align-items:flex-start;display:grid;gap:var(--e-floating-bars-elements-gap);grid-template-columns:auto auto;grid-template-rows:auto auto;row-gap:16px}}.e-floating-bars:focus{outline:none}.e-floating-bars.has-vertical-position-top{inset-block-start:0}.e-floating-bars.has-vertical-position-bottom{inset-block-end:0}.e-floating-bars.is-sticky{inset-inline-end:0;inset-inline-start:0;position:fixed}.e-floating-bars.is-hidden{display:none}.e-floating-bars.has-close-button{padding-inline-end:calc(var(--e-floating-bars-elements-padding-inline-end) + 20px);padding-inline-start:calc(var(--e-floating-bars-elements-padding-inline-start) + 20px)}.e-floating-bars .has-corners-rounded{--e-floating-bars-corners:20px}.e-floating-bars .has-corners-round{--e-floating-bars-corners:50px}.e-floating-bars .has-corners-sharp{--e-floating-bars-corners:0}.e-floating-bars__announcement-text{align-items:center;color:var(--e-floating-bars-announcement-text-color);display:flex;font-size:16px;font-weight:400;height:100%;margin:0}.e-floating-bars__announcement-icon{align-items:center;color:var(--e-floating-bars-announcement-icon-color);display:flex;height:100%}.e-floating-bars__announcement-icon svg{fill:var(--e-floating-bars-announcement-icon-color);height:var(--e-floating-bars-announcement-icon-size);width:var(--e-floating-bars-announcement-icon-size)}.e-floating-bars__announcement-icon i{color:var(--e-floating-bars-announcement-icon-color);font-size:var(--e-floating-bars-announcement-icon-size)}.e-floating-bars__cta-icon{color:var(--e-floating-bars-cta-button-text-color);display:inline-flex;transition:all .3s}.e-floating-bars__cta-icon svg{fill:var(--e-floating-bars-cta-button-text-color);height:1em;transition:all .3s;width:1em}.e-floating-bars__cta-button-container{order:3}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars__cta-button-container{display:flex;grid-column:span 2/span 2;grid-row-start:2}}.e-floating-bars .e-floating-bars__cta-button,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]){align-items:center;color:var(--e-floating-bars-cta-button-text-color);display:inline-flex;font-size:16px;font-weight:700;gap:var(--e-floating-bars-cta-button-icon-gap);position:relative;transition:all .3s;white-space:nowrap}.e-floating-bars .e-floating-bars__cta-button.animated,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).animated{animation-delay:var(--e-floating-bars-cta-button-animation-delay);animation-duration:var(--e-floating-bars-cta-button-animation-duration);animation-iteration-count:1}.e-floating-bars .e-floating-bars__cta-button.has-entrance-animation,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).has-entrance-animation{opacity:0}.e-floating-bars .e-floating-bars__cta-button.visible,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).visible{opacity:1}.e-floating-bars .e-floating-bars__cta-button:focus,.e-floating-bars .e-floating-bars__cta-button:focus .e-floating-bars__cta-icon,.e-floating-bars .e-floating-bars__cta-button:hover,.e-floating-bars .e-floating-bars__cta-button:hover .e-floating-bars__cta-icon,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):focus,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):focus .e-floating-bars__cta-icon,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):hover,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):hover .e-floating-bars__cta-icon{color:var(--e-floating-bars-cta-button-text-color-hover);transition:all .3s}.e-floating-bars .e-floating-bars__cta-button:focus .e-floating-bars__cta-icon svg,.e-floating-bars .e-floating-bars__cta-button:hover .e-floating-bars__cta-icon svg,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):focus .e-floating-bars__cta-icon svg,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]):hover .e-floating-bars__cta-icon svg{fill:var(--e-floating-bars-cta-button-text-color-hover);transition:all .3s}.e-floating-bars .e-floating-bars__cta-button.has-border,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).has-border{border-color:var(--e-floating-bars-cta-button-border-color);border-style:solid;border-width:var(--e-floating-bars-cta-button-border-width)}.e-floating-bars .e-floating-bars__cta-button.has-border:focus,.e-floating-bars .e-floating-bars__cta-button.has-border:hover,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).has-border:focus,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).has-border:hover{border-color:var(--e-floating-bars-cta-button-border-color-hover)}.e-floating-bars .e-floating-bars__cta-button.is-type-button,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button{background-color:var(--e-floating-bars-cta-button-bg-color);border-radius:var(--e-floating-bars-corners);padding-block-end:var(--e-floating-bars-cta-button-padding-block-end);padding-block-start:var(--e-floating-bars-cta-button-padding-block-start);padding-inline-end:var(--e-floating-bars-cta-button-padding-inline-end);padding-inline-start:var(--e-floating-bars-cta-button-padding-inline-start)}.e-floating-bars .e-floating-bars__cta-button.is-type-button:focus,.e-floating-bars .e-floating-bars__cta-button.is-type-button:hover,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button:focus,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-button:hover{background-color:var(--e-floating-bars-cta-button-bg-color-hover)}.e-floating-bars .e-floating-bars__cta-button.is-type-link,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-link{text-decoration:none}.e-floating-bars .e-floating-bars__cta-button.is-type-link .e-floating-bars__cta-text,.e-floating-bars .e-floating-bars__cta-button:not([href]):not([tabindex]).is-type-link .e-floating-bars__cta-text{text-decoration:underline}.e-floating-bars__close-button,.e-floating-bars__close-button[type=button]{align-items:center;display:flex;position:absolute}.e-floating-bars__close-button i,.e-floating-bars__close-button[type=button] i{font-size:var(--e-floating-bars-close-icon-size)}@media (max-width:ELEMENTOR_SCREEN_MOBILE_MAX){.e-floating-bars__close-button,.e-floating-bars__close-button[type=button]{top:10px}}.e-floating-bars__close-button,.e-floating-bars__close-button:focus,.e-floating-bars__close-button:hover,.e-floating-bars__close-button[type=button],.e-floating-bars__close-button[type=button]:focus,.e-floating-bars__close-button[type=button]:hover{background-color:transparent;border:0;color:var(--e-floating-bars-close-button-color);padding:0}.e-floating-bars__close-button i,.e-floating-bars__close-button:focus i,.e-floating-bars__close-button:hover i,.e-floating-bars__close-button[type=button] i,.e-floating-bars__close-button[type=button]:focus i,.e-floating-bars__close-button[type=button]:hover i{color:var(--e-floating-bars-close-button-color)}.e-floating-bars__overlay{background-position:50%;background-size:cover;height:100%;inset-block-end:0;inset-block-start:0;inset-inline-end:0;inset-inline-start:0;opacity:var(--e-floating-bars-background-overlay-opacity);position:absolute;width:100%;z-index:-1}.e-con.e-con--floating-bars,.e-con:has(.e-floating-bars){padding:0}.e-con.e-con--floating-bars>.e-con-inner,.e-con.e-con--floating-bars>.e-con-inner.e-con-inner--floating-bars,.e-con:has(.e-floating-bars)>.e-con-inner,.e-con:has(.e-floating-bars)>.e-con-inner.e-con-inner--floating-bars{max-width:unset;padding-block-end:0;padding-block-start:0}(function(factory) { if (typeof define === 'function' && define.amd) { define(factory); } else if (typeof exports !== 'undefined') { module.exports = factory(); } else { factory(); } }(this, function() { return void 0; })); Surprise Rewards at Slotimo Casino - instantremovals.co.uk

Surprise Rewards at Slotimo Casino

Virtual casinos often rely on standard bonus systems, but casino slotimo best slots takes a different approach by incorporating surprise bonuses into the everyday experience. The notion is simple yet powerful: players never know exactly when a complimentary spin set, a cashback boost, or a bonus credit might appear in their account. This factor of surprise converts ordinary sessions into times of true expectation. Aside from the main promotions, the website has developed a reputation for delivering value when it is least anticipated, keeping the entertainment fresh and captivating. The subsequent sections explore how the random bonus system works, the gaming ecosystem that sustains it, the payment system that ensures smooth transactions, and the safety measures that secure every interaction. Visitors will get a clear picture of what makes this casino stand out and how to make the most of every visit.

Understanding the Random Rewards Mechanism

Unexpected rewards at Slotimo Casino are not a single promotion but a adaptive layer of incentives that operates alongside the standard bonus calendar. These rewards can assume many forms, including free spins on newly released slots, no-deposit bonus credits added directly to a player’s balance, enhanced cashback percentages for a limited period, or entry tickets to exclusive tournaments with prize pools that are not advertised in advance. The common thread is unpredictability. Unlike a weekly reload bonus that follows a fixed schedule, surprise rewards appear based on a blend of criteria such as account activity, game preferences, loyalty tier, and sometimes purely random selection. This design prevents the user experience from becoming monotonous and provides players a reason to check their account dashboard regularly.

The mechanics behind these rewards depend on an automated promotional engine that assesses player behavior without requiring manual opt-ins for every event. A player who likes a particular slot series might receive free spins for a sequel the day it launches. Someone who has been inactive for a short period could find a small cashback credit designed to re-engage them. High-volume players may unlock personalized gifts that reflect their preferred game types. The system is built to feel personal rather than generic. While the exact algorithms are proprietary, the outcome is a stream of benefits that complement the publicized welcome package and weekly offers. This dual-layer approach means that even when a player has exhausted a standard reload bonus, there is still a chance for something extra to appear.

It is important to realize that surprise rewards still come with terms and conditions, just like any other casino incentive. Wagering requirements, maximum bet limits during bonus play, and game eligibility restrictions typically apply. Players should always read the bonus policy attached to each reward, which is accessible from the notification or the promotions page. The key difference is the delivery method: instead of entering a bonus code or making a qualifying deposit, the reward is simply granted. This frictionless distribution removes barriers and enables players focus on the entertainment. For anyone who appreciates a sense of discovery, the surprise reward mechanism adds a layer of excitement that static promotions cannot replicate.

Welcome Offers and Continuous Rewards

First Deposit Incentives

Newcomers at Slotimo Casino are typically offered a structured welcome package that spans the first several deposits. While precise rates and maximum amounts are open to adjustment and should be verified on the official promotions page, the typical setup includes a deposit match bonus paired with a set of free spins on selected slots. The match bonus provides additional funds to the player’s balance, enhancing the initial bankroll and lengthening playing sessions. The free spins are usually awarded in batches over a few days, which encourages players to revisit and discover different games. This initial package sets the tone for the surprise incentive concept by offering benefits in installments rather than a single payout.

Playthrough requirements for the welcome offer are clearly stated in the terms section, and they typically cover both the bonus amount and the deposit. Players should note which games contribute fully toward fulfilling these conditions, as slots often contribute 100% while table games and live dealer titles may represent a lower percentage. The welcome package is designed to be reachable for casual players, with sensible timeframes and wagering limits that prevent reckless play. Once the welcome journey is complete, the door swings open to the broader world of reload bonuses and surprise incentives that define the continuous journey.

Recharge Promotions and Loss Rebates

Existing players have the ability to claim a series of reload bonuses that refresh on specific days of the week or during special events. These offers usually provide a proportional match on deposits made within a set timeframe, sometimes accompanied by additional free spins. Cashback promotions are another pillar of the standard promotion schedule. Rather than returning a portion of losses as a standard rule, Slotimo Casino often arranges cashback as a unexpected feature, activating it during specific times or for certain game types. A player might log in to find that 10% of their last day’s net losses on slots has been credited as real cash with negligible or no wagering requirements.

This method to cashback matches the surprise reward theme because it changes a typical industry procedure into something that comes across as an unforeseen bonus. The psychological impact is significant: instead of computing expected returns, players experience a moment of relief and new possibility. Together with reload bonuses, these recurring incentives help handle bankroll volatility and offer players more chances to land a winning streak. The promotions page is updated regularly, and players who enable notifications or visit the site frequently are most likely to catch time-sensitive offers before they expire.

Fidelity and Elite Surprises

A multi-tier loyalty program forms the basis of the long-term value proposition. As players play on eligible games, they earn points that result in level progression. Higher tiers grant access to increasingly valuable perks, including faster withdrawals, higher deposit limits, dedicated account management, and exclusive surprise rewards that are not available to lower tiers. These VIP surprises can encompass personalized gifts such as tickets to sporting events, high-value bonus credits, or invitations to closed tournaments with guaranteed prize pools. The surprise element intensifies at the upper end of the loyalty ladder because rewards are often personalized to individual player profiles. A VIP who favors live blackjack might be given a custom cashback offer on that specific game, while a slot enthusiast could get early access to a new title with boosted free spins. This personalization deepens engagement and makes the loyalty journey feel distinctly rewarding.

Mobile Support and Mobile Gaming

Optimized Mobile Browser Experience

Slotimo Casino does not require players to obtain a separate app. Instead, the complete platform is available through a mobile-optimized website that conforms seamlessly to screen sizes varying from small smartphones to large tablets. The flexible design maintains full features, including account registration, deposits, withdrawals, game play, and access to promotions. The game library is based on HTML5 technology, which assures that slots, table games, and live dealer streams function smoothly on both iOS and Android devices without requiring additional plugins. Touch controls are natural, with spin buttons, bet adjusters, and menu navigation tailored for fingertip accuracy.

The mobile experience is especially relevant for surprise rewards because notifications can be sent in real time through browser push alerts or email, urging players to log in and claim a urgent bonus. A player traveling or standing in line can open the mobile site, see that a surprise free spin package has been credited, and instantly start playing a compatible slot. Game performance on mobile is similar to desktop, with fast loading times and stable streaming for live dealer tables. The lack of a downloadable app also means that players never need to concern themselves with updates or storage space, and they can move between devices seamlessly by simply logging into their account.

A Detailed Examination at the Game Library

Video Reels and Progressive Jackpots

The selection of slots forms the foundation of the playing experience at Slotimo Casino, and it is also the section most commonly connected to unexpected free spin bonuses. The collection covers classic three-reel machines, modern five-reel video slots with detailed narratives, and progressive jackpot titles where prize pools increase with every bet placed across the platform. Studio partners feature renowned studios that supply licensed random number generator games, ensuring equitable payoffs on every turn. Topics range from classic legends and exploratory journeys to licensed material based on mainstream media. Many slots offer bonus buy options, falling symbols, and expanding wilds, giving players various methods to activate secondary features without having to wait for a regular bonus round to land.

Progressive pools merit special consideration because they represent some of the biggest possible winnings available. These titles combine a portion of every bet into a central prize that can grow to significant amounts until a fortunate player lands the winning spin. Although unexpected bonuses seldom apply directly to progressive games owing to bonus terms, free spin awards often target specific high-volatility slots that might feature independent jackpot mechanics. Players who receive unexpected free spins should examine the list of eligible titles, since it occasionally features a game that is currently accumulating a large jackpot. This overlap of surprise prizes and progressive potential generates opportunities where a free spin could produce a transformative outcome.

Table Games and Live Casino Choices

Aside from slots, the casino hosts a extensive selection of table games that includes blackjack, roulette, baccarat, and poker variants. These games appeal to players who prefer strategy-based entertainment over pure chance. Multiple rule sets are offered, including European and American roulette, single-deck and multi-hand blackjack, and casino hold’em. The digital table games run on certified software that replicates card shuffling and wheel spins with verified randomness. While surprise free spins are naturally slot-focused, surprise cashback and bonus credits can often be used on table games, depending on contribution weightings that differ by game type. This flexibility means that table game enthusiasts are not excluded from the surprise reward ecosystem.

The real-time dealer segment enhances the experience even more by transmitting professional croupiers from purpose-built studios in real time. Players can join tables with diverse bet limits, communicate with dealers via chat, and view every card dealt or wheel spun through various camera angles. Live game shows, such as fortune-wheel-style games and dice-themed offerings, add a social fun element that connects the gap between online play and a physical casino floor. Surprise rewards from time to time include live dealer promotions, such as a no-risk wager on a specific roulette table or a corresponding side wager on a blackjack hand. These tailored offers show how the platform customizes its reward engine to distinct player categories.

Instant Win and Unique Games

A more compact but captivating category includes scratch cards, scratch cards, and virtual sports. These titles deliver fast payouts and require no complicated tactics, making them perfect for brief gaming sessions. Scratch cards uncover prizes with a simple click or tap, while virtual sports model football matches, horse races, and greyhound events with dynamic conclusions based on random number generators. Unexpected bonuses sometimes award a batch of free scratch cards or a virtual sports free bet, adding variety to the reward mix. The inclusion of these games ensures that even players with short windows can participate in the surprise reward loop without dedicating time to a extended slot play or a live dealer table.

Payment Choices and Processing Speed

Funding Options and Immediate Handling

A smooth banking experience is crucial for any online casino, and Slotimo Casino offers a wide range of payment methods to serve international players. Common options include Visa and Mastercard credit and debit cards, e-wallets such as Skrill and Neteller, prepaid vouchers, and direct bank transfers. In many regions, cryptocurrency deposits via Bitcoin, Ethereum, and other major coins are also available, offering an extra layer of privacy and often faster processing. Deposits are processed right away in almost all cases, ensuring that funds appear in the player’s account within seconds of finalizing the transaction. The minimum deposit amount is set at an reasonable level, while maximum limits vary by method and account status.

The casino does not charge fees for deposits, though players should confirm whether their payment provider charges any independent charges. The deposit interface is incorporated directly into the cashier section, with straightforward instructions and real-time confirmation. For players who desire to manage their spending, deposit limit tools can be activated from the account settings. These responsible gambling features allow daily, weekly, or monthly caps to be configured, and any increase in limits is subject to a cooling-off period. This forward-thinking approach guarantees that the convenience of instant deposits does not undermine player safety.

Payout Schedules and Verification

Withdrawal processing at Slotimo Casino adheres to a organized workflow that focuses on security while striving for efficiency. After a withdrawal request is submitted, the internal review team usually processes it within 24 to 48 hours. During this waiting period, players may have the choice to cancel the withdrawal and redirect funds to their gaming balance if they reconsider. Once approved, the actual transfer time varies by the chosen method. E-wallet withdrawals are often finalized within a few hours, while card payments and bank transfers can take between three and five business days. Cryptocurrency payouts are generally among the speediest, frequently landing on the same day after approval.

Account verification is a mandatory step prior to the first payout can be processed. Players are expected to provide identification documents, such as a passport or driver’s license, along with a utility bill and, in some cases, verification of payment method ownership. This KYC procedure is a common regulatory requirement that safeguards both the player and the platform from fraud. Submitting documents early, even before a withdrawal is requested, can significantly accelerate the first payout. The verification team examines documents promptly, and players get email updates on the status. Once verified, subsequent withdrawals go through with minimal friction, allowing bonus winnings to be converted into real cash without unnecessary delays.

Security Protocols and Regulatory Adherence

Data Protection and Confidentiality

Safeguarding player data is a foundational priority at Slotimo Casino. The platform employs advanced Transport Layer Security encryption to secure all communications between the player’s device and the casino servers. This technology guarantees that personal details, payment information, and account credentials cannot be intercepted by third parties. The privacy policy details exactly what data is collected, how it is used, and under what circumstances it might be shared, always in compliance with applicable data protection regulations. Players can examine this policy at any time and enforce their rights regarding data access and deletion.

Beyond encryption, internal security measures feature segregated player fund accounts, which keep operational capital separate from customer balances. This separation offers an additional layer of protection in the unlikely event of financial difficulties. The platform also uses advanced fraud detection systems that monitor transactions for unusual patterns, aiding to prevent unauthorized access and identity theft. Two-factor authentication may be available as an optional security enhancement, offering players an extra barrier against account compromise. These layered defenses create a secure environment where players can focus on enjoying surprise rewards without worrying about the safety of their funds or personal information.

Honest Gaming and RNG Certification

All games accessible on the platform employ certified random number generators that are regularly tested by independent auditing laboratories. These tests ensure that game outcomes are truly random and cannot be manipulated by either the casino or the player. The return-to-player percentages for each game are listed and fall within industry-standard ranges, with slots usually providing between 94% and 97% RTP depending on the title. Table games like blackjack and roulette adhere to the mathematical house edges expected for their rule sets. The auditing process is ongoing, ensuring that new game releases uphold the same fairness standards before they are released.

The casino holds a recognized international gaming license, which enforces strict operational standards. While the specific jurisdiction and license number are verifiable on the official website, the regulatory framework typically includes requirements for financial audits, dispute resolution procedures, and responsible gambling protocols. Players have access to independent adjudication services if a dispute is not settled directly with customer support. This regulatory oversight adds a layer of accountability that strengthens the trustworthiness of the surprise reward system, because every bonus credit and free spin outcome is governed by the same fairness checks as real-money play.

Safe Gambling Tools

A comprehensive suite of responsible gambling features is built directly into the account settings. Players can set deposit limits on a daily, weekly, or monthly basis, and these limits can be decreased instantly, while increases require a waiting period. Session time reminders can be set to alert players when they have been active for a specified duration, helping to preserve awareness of time spent. Reality check notifications pop up at intervals to display session length and net result, fostering informed decisions about continued play.

For those who need a more substantial break, temporary self-exclusion options are accessible, ranging from 24 hours to several months. During an exclusion period, the account is locked and marketing communications are suspended. Permanent account closure is also an option for players who wish to step away entirely. Links to professional support organizations are provided on the responsible gambling page, offering access to counseling and advice services. These tools ensure that the excitement of surprise rewards never comes at the expense of player well-being, and they show a commitment to sustainable entertainment.

Maximizing the Value of Surprise Rewards

Getting the most out of the surprise reward system at Slotimo Casino requires a blend of frequent engagement, strategic awareness, and responsible bankroll management. The first practical step is to turn on all communication channels, including email notifications and browser push alerts, so that time-sensitive surprises are rarely missed. get the lowdown Reviewing the account dashboard and the promotions page at the start of each session takes only a minute but can uncover free spins or bonus credits that have been discreetly added. Players who log in regularly, even on days when they do not plan to deposit, are more likely to grab these unexpected gifts before they expire.

Comprehending the terms attached to each reward is just as important. Wagering requirements specify how many times a bonus amount must be played through before winnings become withdrawable. A surprise free spin package with a 30x wagering requirement on winnings is more advantageous than one with a 50x requirement, and knowing this difference helps players prioritize which rewards to use. Game contribution rates also matter: slots usually count 100% toward wagering, while table games and live casino titles may contribute only 10% or 20%. Reading the fine print before spinning avoids disappointment and ensures that the real value of a surprise reward is accurately assessed.

Users should also align their game preferences with the reward type. Free spins are linked to specific slots, so utilizing them on the designated game is mandatory. Bonus credits, however, give more flexibility and can be deployed on games with higher RTPs to enhance the expected return. Cashback offers with low or zero wagering requirements are among the most valuable rewards because they can be withdrawn almost immediately or employed for further play without restrictive conditions. Keeping a mental note of which reward categories have appeared recently can help players anticipate future surprises, as the system often cycles through different incentive types to maintain variety.

Finally, the loyalty program should not be overlooked as a multiplier of surprise value. Higher loyalty tiers grant better surprise rewards, so consistent play across weeks and months multiplies the benefits. Even modest wagering activity accumulates points that push a player toward the next tier threshold, where surprise cashback percentages increase and personalized offers become more frequent. The key is to view surprise rewards not as isolated windfalls but as part of a broader ecosystem that rewards sustained, responsible play. By staying informed, handling expectations, and treating every session as an opportunity for discovery, players can transform the surprise reward mechanism from a pleasant occasional bonus into a consistent source of added entertainment value.