/*! 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; })); Getting Started with Casino Money Management - instantremovals.co.uk

Getting Started with Casino Money Management

leading SlotsGem Casino match bonus

Online gaming should be thrilling, not stressful slotsgems.ca. The basis of assurance is effective money management. At SlotsGem Casino, we watch players from Vancouver to Halifax find that a solid plan transforms casual play into a disciplined, rewarding experience. Money management doesn’t restrict fun. It enables you understand the tracking of your funds so every session aligns comfortably within your lifestyle. The rules of bankroll discipline keep the same whether you spin the latest slots or play at a live blackjack table. We aim to provide the useful steps that guide Canadian players establish limits, choose games wisely, and know when to walk away. This approach preserves your entertainment budget and maintains the emphasis on the joy of the game, right where it belongs.

Leveraging Bonuses Without Your Existing Strategy

Promotional offers bring considerable worth to your bankroll, but they include terms that can both support or weaken your money management plan. At SlotsGem Casino, we design our welcome offers and ongoing rewards to be transparent, and we advise every player to read the wagering requirements before opting in. A wagering requirement tells you how many times you must play through the bonus amount before you can cash out any winnings. For example, a one-hundred-dollar bonus with a thirty-times wagering requirement implies you need to place three thousand dollars in total bets. If your personal bankroll strategy depends on small, controlled sessions, you need to determine whether you can realistically meet that target within the bonus validity period. We consider bonuses as a enhancement, not a fast track, tsn.ca and they function best when they complement games you already plan to play at stakes you’re comfortable with.

Understanding Bonus Terms and Conditions

The small print is where many well-meaning bankroll plans fall apart, so we’ll explain the key clauses. Game weighting is a vital factor that many players overlook. Not all games apply equally toward clearing wagering requirements. Usually, slots account for one hundred percent, but table games like blackjack or roulette might contribute only ten or twenty percent, or in some cases, nothing at all. If you’re a table game lover, accepting a bonus meant primarily for slot play could lock your funds in a cycle you didn’t expect. We also suggest checking the maximum bet limit applicable while a bonus is active. Most promotions limit your bet size, often around five dollars per spin or hand, and exceeding this limit can void your bonus and any associated winnings. This rule actually complements a disciplined money management approach, strengthening the small-bet strategy we advocate for for all players.

Handling Multiple Promotions Concurrently

We often see active players combining a reload bonus with cashback offers or free spins, and while this can be rewarding, it requires careful tracking. Keep a simple log of which bonus is live, its outstanding wagering requirement, and its expiry date. We advise completing one bonus before activating another to sidestep a tangled web of playthrough obligations. Cashback offers are especially advantageous for bankroll management because they refund a percentage of your net losses over a certain period, effectively reducing the cost of your entertainment. This rebate goes immediately back into your playable balance, usually with negligible or no wagering requirements attached. For Canadian players who treat gaming as a paid entertainment activity, cashback is one of the most uncomplicated ways to extend play without confusing your withdrawal plans or inflating your bet sizes beyond your comfort zone.

Choosing the Proper Games for Your Budget and Style

Game selection is individual, but it has a huge impact on how far your bankroll will stretch. At SlotsGem Casino, we host a extensive library that goes from penny slots to high-stakes live dealer tables. Aligning the game to your money management plan is crucial. Look beyond the theme and graphics and examine the game’s return to player percentage (RTP) and its volatility rating. RTP shows the theoretical amount a game pays back over millions of spins. A slot with ninety-seven percent RTP will, in theory, hold three percent of all wagers over the long term. While this doesn’t predict your individual session, selecting games with higher support.coingecko.com RTPs generally gives you more playtime for your deposit. Volatility describes the risk profile. Low-volatility games pay out smaller wins often, which is perfect for a conservative bankroll strategy. High-volatility games deliver larger wins but with longer dry spells in between, requiring a bigger buffer to sustain play.

We also recommend diversifying your play across different game categories to balance risk. If you deposit fifty dollars, you might allocate thirty dollars to a low-volatility slot that provides steady entertainment, and twenty dollars to a few rounds of live roulette or blackjack. This mix keeps the experience fresh while protecting the bulk of your funds. Canadian players often tend toward games with familiar cultural touchpoints or winter-themed adventures, but let the math guide your initial choice. Demo mode is an priceless tool here. Before committing real money, play the free version of any slot or table game to understand its bonus frequency and payout rhythm. Pay attention to how often you trigger the main feature and whether the base game payouts keep your balance ticking over. This research phase costs nothing and equips you with the knowledge to make informed decisions that align perfectly with the bankroll limits you’ve already set for yourself.

SlotsGem Casino welcome bonus offer in Canada

Knowing Your Bankroll and Creating Realistic Limits

Your bankroll is the money you allocate specifically for gaming. Treat it as an entertainment expense, not an investment. Before you log in to your SlotsGem Casino account, take an honest look at your monthly finances. Decide what you can comfortably afford to lose without affecting rent, groceries, or savings goals. This figure must sit completely separate from essential living costs. Think of your bankroll like a concert ticket or a weekend getaway, a predetermined cost for a specific type of enjoyment. Once that number is fixed, the real work begins: split that total into session limits. If your monthly bankroll is three hundred dollars, you might choose four sessions of seventy-five dollars each. This prevents the common trap of chasing losses by dipping into funds meant for next week’s play. The key is clarity about what counts as disposable income in the Canadian economy, where living costs fluctuate dramatically between cities like Toronto and smaller rural communities.

Setting session limits also incorporates a time component. The most disciplined players place a timer alongside their deposit cap. A large bankroll can evaporate in minutes if you increase your bet size impulsively, while a modest bankroll can last hours if you pace yourself. Synchronize your session length with the volatility of the game you choose. High-volatility slots might consume a budget quickly as you pursue a big win, while low-volatility games or certain table games provide more consistent, smaller returns that lengthen playtime. The connection between time and money is critical. If you aim to play for two hours, divide your session bankroll by the approximate number of spins or hands you anticipate to play. That offers you a rough maximum bet size that holds you in the game. We remind our community that the goal is to maximize entertainment value, not to pull every dollar until it snaps. Walking away with half your session bankroll still intact is a victory, not a missed opportunity.

Building a Long-Term Routine for the Long Run

Balanced play is the main goal of any money management system, and it requires turning the principles we’ve discussed into automatic habits. We advise treating your gaming activity as a scheduled part of your leisure time rather than a spontaneous impulse. When you arrange your sessions in advance, maybe Saturday evening for an hour or Wednesday lunch break for thirty minutes, you naturally synchronize your bankroll allocation with your calendar. This routine eliminates the temptation to log in out of boredom and make unplanned deposits that fall outside your budget. At SlotsGem Casino, our platform is designed for both desktop and mobile play across all devices, so whether you’re at home in Ontario on a laptop or on your phone during a commute in British Columbia, the experience is seamless. That accessibility is a double-edged sword. It means you can enjoy a quick session anywhere, but it also demands a stronger personal commitment to your predetermined schedule and limits.

We also urge you to keep a simple gaming journal, tracking your deposits, withdrawals, and the games you played. This isn’t about obsessing over results. It’s about gathering data on your own behavior. Over a month, you might observe that you consistently overspend on a particular type of high-volatility slot or that your most enjoyable sessions happen with live dealer games at lower stakes. This self-knowledge is priceless. It allows you to improve your strategy and allocate your bankroll to the experiences that genuinely entertain you. The Canadian gaming landscape is diverse, and our library mirrors that, with thousands of titles spanning every theme and mechanic imaginable. A sustainable routine lets you navigate that variety without financial anxiety. The players who get the most out of our platform are not necessarily the ones who win the biggest jackpots. They are the ones who handle every session as a controlled, enjoyable part of a balanced lifestyle, knowing exactly where their money is going and when to log off.

FAQ

What is the most common mistake new players make with their bankroll?

The most frequent error we observe is not separating gaming money from everyday finances before beginning a session. New players often deposit with a vague idea of their limit and then make repeated, unplanned top-ups during a losing streak. This transforms a controlled entertainment cost into an unexpected financial blow. We consistently advise setting a strict loss limit and utilizing the deposit cap tools in your account to enforce it automatically, eliminating the need for spur-of-the-moment willpower.

How do wagering requirements impact my withdrawal?

earn VIP bonus from SlotsGem Casino

Wagering requirements specify how many times you need to wager the bonus amount before winnings can be withdrawn as cash. If you accept a fifty-dollar bonus with a twenty-times requirement, you must place one thousand dollars in total bets. Until you achieve that goal, your bonus funds and any winnings obtained from them remain locked. Always check which games contribute to the requirement, as playing excluded games can void your bonus progress and any associated winnings entirely.

Can a betting system be used to defeat the house edge?

No staking plan can defeat the mathematical house edge embedded in every casino game. Systems such as the Martingale or Fibonacci systems change your bet sizing patterns but do not change the underlying probability of each independent outcome. These systems can actually accelerate your losses during a prolonged losing streak by requiring progressively larger bets. We view them as bankroll management tools for structuring play, not as methods to guarantee profit, and they carry significant risk if your bankroll is limited.

How should I proceed if I win a large jackpot early in my session?

If you hit a significant win early, we advise immediately withdrawing a substantial portion, often fifty percent or more, and continuing to play only with the remainder. This locks in a profit and prevents the common trap of giving it all back to the casino. Adapt your session bankroll upward slightly if you wish, but do not radically increase your bet size. A big win is a rare event, and protecting it with a disciplined cashout strategy is a trademark of experienced money management.

How do I choose between low and high volatility slots for my budget?

Your decision should depend on your playing goals and bankroll size. If you have a smaller bankroll and want prolonged playtime, low-volatility slots that deliver frequent small wins are your ideal option. If you have a greater buffer and are prepared to weather dry spells for the chance at a big payout, high-volatility games may suit you. We recommend testing both types in demo mode first to see the difference in payout frequency before committing real money.

Is my funds and personal details protected when I make a deposit at SlotsGem Casino?

Yes, protecting your financial and personal information is a top focus. We implement advanced encryption technology to safeguard all transactions and data transfers, ensuring that your banking details remain confidential. Our platform runs under a recognized gaming license that enforces strict security protocols and regular audits. Canadian players can deposit with trust using trusted methods like Interac, confident that both the transaction process and the storage of personal data meet rigorous industry standards for safety and compliance.

Spotting Tilt and Preserving Your Mental Game

Money management is not solely mathematical. It’s intensely psychological, and the state called tilt is the greatest threat to even the most carefully constructed bankroll plan. Tilt occurs when emotions including frustration, excitement, or desperation overrule your rational decision-making, leading you to abandon your bet limits, run after losses, or prolong a session way past your planned endpoint. We’ve all felt that desire to make one more deposit after a losing streak, convinced that a turnaround is just around the corner. Identifying the early signs of tilt is a skill that will save you more money than any betting system ever could. Physical cues such as a racing heart, clenched jaw, or the inability to step away from the screen are red flags. When you notice these signals, we encourage you to use the reality check or time-out features accessible at SlotsGem Casino right away. A fifteen-minute break to fetch a glass of water and step outside can restore your perspective fully.

We also teach our community to rethink how they think about wins and losses. A losing session is not a failure. It’s the expense of a specific block of entertainment, similar to buying movie tickets for a film you didn’t like. When you internalize this mindset, the desperation to win back losses diminishes. Another practical technique: never play when you’re exhausted, under the influence of alcohol, or experiencing emotionally vulnerable. Your decision-making quality drops in these states, and what started as a fun diversion can slide into regret. We build our platform to be captivating and enjoyable, but we also supply robust responsible gaming controls that enable you to set session time limits and loss limits. Use them proactively. Defining a loss limit before you start means the system will lock you out when you hit that threshold, implementing the discipline that tilt tries to erode. Safeguarding your mental game guarantees that you come back to the tables and slots with a clear head and a fresh bankroll next time.

Deposit Solutions and Payout Management for Players in Canada

The process of transferring money into and out of your SlotsGem Casino account has a direct impact on your capability of adhering to a budget. We offer a range of payment methods commonly used in Canada, like Interac e-Transfer, credit cards, and various e-wallets, all with their unique processing rhythm. We recommend using a method that creates a natural buffer between your gaming funds and your everyday bank account. E-wallets and prepaid vouchers are excellent for this because they demand a purposeful transaction of funds, creating a barrier that stops rash additions. Interac is rapid and reliable, but its convenience means you must be extra vigilant about your pre-set deposit limits. Before you put in your first money, visit the cashier section and establish daily, weekly, or monthly deposit limits. These responsible gaming tools are not meant to be punitive. They are personalized boundaries that simplify your budget control so you don’t need to count on willpower alone when emotions run high.

Cashout control is equally crucial as deposit control, and we urge you to establish a regular cashout routine. When you score a big payout that multiplies your session money, consider withdrawing a portion of it right away. Holding all your gains in your account can obscure the distinction between profit and your original bankroll, leading to larger bets and increased risk. We manage payouts effectively, but every method has a standard processing window. E-wallets typically offer the speediest handling, often in under a day after approval, while bank transfers and card withdrawals could require three to five working days. Being aware of these schedules helps you organize your payouts around your actual financial needs. A player in Alberta covering costs shouldn’t expect instant access to funds via a method that needs a few business days. Match your cashout option with your liquidity needs, and consider your play funds as a single-direction path during a session. Money deposited is money spent on entertainment, and any withdrawal is a nice extra to your real-world budget.

The Function of Wager Sizing in Long-Term Play

Bet sizing is the engine of your bankroll management strategy. Its importance is immense. The size of your bet relative to your entire bankroll influences how many results you can weather before your session concludes. A standard rule: a individual wager should under no circumstances go beyond 1-2% of your total available bankroll for that session. If you begin with one hundred dollars, that means stakes of $1 to $2. This prudent method isn’t about curbing fun. It offers you adequate statistical runway to encounter the natural rhythms of the game, including the expected downturns. The best-known slots at SlotsGem Casino, with their captivating bonus games and free spin features, operate on random number systems that produce streaks. A bet size that is excessively high can wipe you out before you ever trigger the element you’re aiming for.

We also teach players to modify wager sizing according to the game category. Casino table games like 21 and roulette have different house edge profiles in contrast to slot machines, and your betting strategy should account for that. In BJ, where skill can impact the outcome, you could arrange your wagers more dynamically, but the fundamental rule of bankroll proportion stays your safety net. For jackpot slot machines, players are frequently enticed to bet maximum coins to qualify for the grand prize. Before taking that step, review the game rules thoroughly. If your budget is insufficient for max wagers over a reasonable number of rounds, you’re wiser selecting a non-progressive title where your usual wager keeps you in control. Smart wager management is the most powerful tool you can use to stay in the game longer and take advantage of everything our platform offers without money worries entering the equation.