Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
perpending
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/
packages
/
editor-global-classes
:
editor-global-classes.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/*! For license information please see editor-global-classes.js.LICENSE.txt */ !function(){"use strict";var e={"./packages/packages/core/editor-global-classes/service/css-class-usage-service.ts":function(e,t,s){s.r(t),s.d(t,{fetchCssClassUsage:function(){return fetchCssClassUsage}});var a=s("./packages/packages/core/editor-global-classes/src/api.ts"),r=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/utils.ts");const fetchCssClassUsage=async()=>{const e=await a.apiClient.usage();return(0,r.transformData)(e.data.data)}},"./packages/packages/core/editor-global-classes/src/api.ts":function(e,t,s){s.r(t),s.d(t,{apiClient:function(){return l}});var a=s("@elementor/http-client");const r="/global-classes",n="elementor/v1",o=`${r}/usage`,l={usage:()=>(0,a.httpService)().get(`${n}${o}`),all:(e="preview")=>(0,a.httpService)().get(`${n}${r}`,{params:{context:e}}),publish:e=>(0,a.httpService)().put("elementor/v1"+r,e,{params:{context:"frontend"}}),saveDraft:e=>(0,a.httpService)().put("elementor/v1"+r,e,{params:{context:"preview"}})}},"./packages/packages/core/editor-global-classes/src/capabilities.ts":function(e,t,s){s.r(t),s.d(t,{UPDATE_CLASS_CAPABILITY_KEY:function(){return r},getCapabilities:function(){return getCapabilities}});var a=s("@elementor/editor-v1-adapters");const r="elementor_global_classes_update_class",getCapabilities=()=>{if((0,a.isExperimentActive)("global_classes_should_enforce_capabilities"))return{update:r,create:r,delete:r,updateProps:r}}},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-item.tsx":function(e,t,s){s.r(t),s.d(t,{ClassItem:function(){return ClassItem}});var a=s("react"),r=s("@elementor/editor-styles-repository"),n=s("@elementor/editor-ui"),o=s("@elementor/icons"),l=s("@elementor/ui"),c=s("@wordpress/i18n"),i=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/index.ts"),d=s("./packages/packages/core/editor-global-classes/src/components/class-manager/delete-confirmation-dialog.tsx"),p=s("./packages/packages/core/editor-global-classes/src/components/class-manager/sortable.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const ClassItem=({id:e,label:t,renameClass:s,selected:r,disabled:m,sortableTriggerProps:h,isSearchActive:b})=>{const f=(0,a.useRef)(null),{ref:y,openEditMode:v,isEditing:_,error:k,getProps:x}=(0,n.useEditable)({value:t,onSubmit:s,validation:validateLabel}),[C,E]=(0,a.useState)(""),{openDialog:w}=(0,d.useDeleteConfirmation)(),S=(0,l.usePopupState)({variant:"popover",disableAutoFocus:!0}),D=(C===e||r||S.isOpen)&&!m;return a.createElement(a.Fragment,null,a.createElement(l.Stack,{p:0},a.createElement(n.WarningInfotip,{open:Boolean(k),text:k??"",placement:"bottom",width:f.current?.getBoundingClientRect().width,offset:[0,-15]},a.createElement(g,{ref:f,dense:!0,disableGutters:!0,showSortIndicator:b,showActions:D||_,shape:"rounded",onDoubleClick:v,selected:D,disabled:m,focusVisibleClassName:"visible-class-item"},a.createElement(p.SortableTrigger,h),a.createElement(u,{isActive:_,isError:!!k},_?a.createElement(n.EditableField,_extends({ref:y,as:l.Typography,variant:"caption"},x())):a.createElement(n.EllipsisWithTooltip,{title:t,as:l.Typography,variant:"caption"})),a.createElement(l.Box,{className:"class-item-locator"},a.createElement(i.CssClassUsageTrigger,{id:e,onClick:E})),a.createElement(l.Tooltip,{placement:"top",className:"class-item-more-actions",title:(0,c.__)("More actions","elementor")},a.createElement(l.IconButton,_extends({size:"tiny"},(0,l.bindTrigger)(S),{"aria-label":"More actions"}),a.createElement(o.DotsVerticalIcon,{fontSize:"tiny"})))))),a.createElement(l.Menu,_extends({},(0,l.bindMenu)(S),{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}}),a.createElement(n.MenuListItem,{sx:{minWidth:"160px"},onClick:()=>{S.close(),v()}},a.createElement(l.Typography,{variant:"caption",sx:{color:"text.primary"}},(0,c.__)("Rename","elementor"))),a.createElement(n.MenuListItem,{onClick:()=>{S.close(),w({id:e,label:t})}},a.createElement(l.Typography,{variant:"caption",sx:{color:"error.light"}},(0,c.__)("Delete","elementor")))))},g=(0,l.styled)(l.ListItemButton,{shouldForwardProp:e=>!["showActions","showSortIndicator"].includes(e)})(({showActions:e,showSortIndicator:t})=>`\n min-height: 36px;\n\n &.visible-class-item {\n box-shadow: none !important;\n }\n\n .class-item-locator {\n visibility: hidden;\n }\n\n .class-item-sortable-trigger {\n visibility: ${t&&e?"visible":"hidden"};\n }\n\n &:hover:not(:disabled) {\n .class-item-locator {\n visibility: visible;\n }\n\n .class-item-sortable-trigger {\n visibility: ${t?"visible":"hidden"};\n }\n }\n `),u=(0,l.styled)(l.Box,{shouldForwardProp:e=>!["isActive","isError"].includes(e)})(({theme:e,isActive:t,isError:s})=>({display:"flex",width:"100%",flexGrow:1,borderRadius:e.spacing(.5),border:getIndicatorBorder({isActive:t,isError:s,theme:e}),padding:`0 ${e.spacing(1)}`,marginLeft:t?e.spacing(1):0,minWidth:0})),getIndicatorBorder=({isActive:e,isError:t,theme:s})=>t?`2px solid ${s.palette.error.main}`:e?`2px solid ${s.palette.secondary.main}`:"none",validateLabel=e=>{const t=(0,r.validateStyleLabel)(e,"rename");return t.isValid?null:t.errorMessage}},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-button.tsx":function(e,t,s){s.r(t),s.d(t,{ClassManagerButton:function(){return ClassManagerButton}});var a=s("react"),r=s("@elementor/editor-documents"),n=s("@elementor/editor-styles-repository"),o=s("@elementor/ui"),l=s("@wordpress/i18n"),c=s("./packages/packages/core/editor-global-classes/src/global-classes-styles-provider.ts"),i=s("./packages/packages/core/editor-global-classes/src/hooks/use-prefetch-css-class-usage.ts"),d=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-panel.tsx"),p=s("./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx"),g=s("./packages/packages/core/editor-global-classes/src/components/class-manager/save-changes-dialog.tsx");const ClassManagerButton=()=>{const e=(0,r.__useActiveDocument)(),{open:t}=(0,d.usePanelActions)(),{save:s}=(0,r.__useActiveDocumentActions)(),{open:u,close:m,isOpen:h}=(0,g.useDialog)(),{prefetchClassesUsage:b}=(0,i.usePrefetchCssClassUsage)(),{userCan:f}=(0,n.useUserStylesCapability)();if(!f(c.globalClassesStylesProvider.getKey()).update)return null;return a.createElement(a.Fragment,null,a.createElement(o.Tooltip,{title:(0,l.__)("Class Manager","elementor"),placement:"top"},a.createElement(o.IconButton,{size:"tiny",onClick:()=>{e?.isDirty?u():(t(),b())},sx:{marginInlineEnd:-.75}},a.createElement(p.FlippedColorSwatchIcon,{fontSize:"tiny"}))),h&&a.createElement(g.SaveChangesDialog,null,a.createElement(g.SaveChangesDialog.Title,null,(0,l.__)("You have unsaved changes","elementor")),a.createElement(g.SaveChangesDialog.Content,null,a.createElement(g.SaveChangesDialog.ContentText,{sx:{mb:2}},(0,l.__)("To open the Class Manager, save your page first. You can't continue without saving.","elementor"))),a.createElement(g.SaveChangesDialog.Actions,{actions:{cancel:{label:(0,l.__)("Stay here","elementor"),action:m},confirm:{label:(0,l.__)("Save & Continue","elementor"),action:async()=>{await s(),m(),t(),b()}}}})))}},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-class-not-found.tsx":function(e,t,s){s.r(t),s.d(t,{CssClassNotFound:function(){return CssClassNotFound}});var a=s("react"),r=s("@elementor/ui"),n=s("@wordpress/i18n"),o=s("./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx");const CssClassNotFound=({onClear:e,searchValue:t})=>a.createElement(r.Stack,{color:"text.secondary",pt:5,alignItems:"center",gap:1,overflow:"hidden",maxWidth:"170px",justifySelf:"center"},a.createElement(o.FlippedColorSwatchIcon,{color:"inherit",fontSize:"large"}),a.createElement(r.Box,null,a.createElement(r.Typography,{align:"center",variant:"subtitle2",color:"inherit"},(0,n.__)("Sorry, nothing matched","elementor")),a.createElement(r.Typography,{variant:"subtitle2",color:"inherit",sx:{display:"flex",width:"100%",justifyContent:"center"}},a.createElement("span",null,"“"),a.createElement("span",{style:{maxWidth:"80%",overflow:"hidden",textOverflow:"ellipsis"}},t),a.createElement("span",null,"”."))),a.createElement(r.Typography,{align:"center",variant:"caption",color:"inherit"},(0,n.__)("Try something else.","elementor"),a.createElement(r.Link,{color:"secondary",variant:"caption",component:"button",onClick:e},(0,n.__)("Clear & try again","elementor"))))},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-introduction.tsx":function(e,t,s){s.r(t),s.d(t,{ClassManagerIntroduction:function(){return ClassManagerIntroduction}});var a=s("react"),r=s("@elementor/editor-current-user"),n=s("@elementor/editor-ui"),o=s("@elementor/ui"),l=s("@wordpress/i18n");const ClassManagerIntroduction=()=>{const[e,t]=(0,r.useSuppressedMessage)("global-class-manager"),[s,c]=(0,a.useState)(!e);return a.createElement(n.IntroductionModal,{open:s,title:(0,l.__)("Class Manager","elementor"),handleClose:e=>{e||t(),c(!1)}},a.createElement(o.Image,{sx:{width:"100%",aspectRatio:"16 / 9"},src:"https://assets.elementor.com/packages/v1/images/class-manager-intro.svg",alt:""}),a.createElement(IntroductionContent,null))},IntroductionContent=()=>a.createElement(o.Box,{p:3},a.createElement(o.Typography,{variant:"body2"},(0,l.__)("The Class Manager lets you see all the classes you've created, plus adjust their priority, rename them, and delete unused classes to keep your CSS structured.","elementor")),a.createElement("br",null),a.createElement(o.Typography,{variant:"body2"},(0,l.__)("Remember, when editing an item within a specific class, any changes you make will apply across all elements in that class.","elementor")))},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-panel.tsx":function(e,t,s){s.r(t),s.d(t,{ClassManagerPanel:function(){return ClassManagerPanel},panel:function(){return w},usePanelActions:function(){return S}});var a=s("react"),r=s("@elementor/editor-documents"),n=s("@elementor/editor-panels"),o=s("@elementor/editor-ui"),l=s("@elementor/editor-v1-adapters"),c=s("@elementor/icons"),i=s("@elementor/query"),d=s("@elementor/store"),p=s("@elementor/ui"),g=s("@elementor/utils"),u=s("@wordpress/i18n"),m=s("./packages/packages/core/editor-global-classes/src/hooks/use-dirty-state.ts"),h=s("./packages/packages/core/editor-global-classes/src/save-global-classes.ts"),b=s("./packages/packages/core/editor-global-classes/src/store.ts"),f=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-introduction.tsx"),y=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-search.tsx"),v=s("./packages/packages/core/editor-global-classes/src/components/class-manager/delete-class.ts"),_=s("./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx"),k=s("./packages/packages/core/editor-global-classes/src/components/class-manager/global-classes-list.tsx"),x=s("./packages/packages/core/editor-global-classes/src/components/class-manager/panel-interactions.ts"),C=s("./packages/packages/core/editor-global-classes/src/components/class-manager/save-changes-dialog.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const E="global-classes-manager",{panel:w,usePanelActions:S}=(0,n.__createPanel)({id:E,component:ClassManagerPanel,allowedEditModes:["edit",E],onOpen:()=>{(0,l.changeEditMode)(E),(0,x.blockPanelInteractions)()},onClose:()=>{(0,l.changeEditMode)("edit"),(0,x.unblockPanelInteractions)()}});function ClassManagerPanel(){const{debouncedValue:e,inputValue:t,handleChange:s}=(0,g.useDebounceState)({delay:300,initialValue:""}),r=(0,m.useDirtyState)(),{close:l}=S(),{open:c,close:i,isOpen:h}=(0,C.useDialog)(),{mutateAsync:v,isPending:x}=usePublish();return usePreventUnload(),a.createElement(o.ThemeProvider,null,a.createElement(p.ErrorBoundary,{fallback:a.createElement(ErrorBoundaryFallback,null)},a.createElement(n.Panel,null,a.createElement(n.PanelHeader,null,a.createElement(p.Stack,{p:1,pl:2,width:"100%",direction:"row",alignItems:"center"},a.createElement(n.PanelHeaderTitle,{sx:{display:"flex",alignItems:"center",gap:.5}},a.createElement(_.FlippedColorSwatchIcon,{fontSize:"inherit"}),(0,u.__)("Class Manager","elementor")),a.createElement(CloseButton,{sx:{marginLeft:"auto"},disabled:x,onClose:()=>{r?c():l()}}))),a.createElement(n.PanelBody,{sx:{display:"flex",flexDirection:"column",height:"100%"}},a.createElement(y.ClassManagerSearch,{searchValue:t,onChange:s}),a.createElement(p.Divider,{sx:{borderWidth:"1px 0 0 0"}}),a.createElement(p.Box,{px:2,sx:{flexGrow:1,overflowY:"auto"}},a.createElement(k.GlobalClassesList,{disabled:x,searchValue:e,onSearch:s}))),a.createElement(n.PanelFooter,null,a.createElement(p.Button,{fullWidth:!0,size:"small",color:"global",variant:"contained",onClick:v,disabled:!r,loading:x},(0,u.__)("Save changes","elementor"))))),a.createElement(f.ClassManagerIntroduction,null),h&&a.createElement(C.SaveChangesDialog,null,a.createElement(p.DialogHeader,{onClose:i,logo:!1},a.createElement(C.SaveChangesDialog.Title,null,(0,u.__)("You have unsaved changes","elementor"))),a.createElement(C.SaveChangesDialog.Content,null,a.createElement(C.SaveChangesDialog.ContentText,null,(0,u.__)("You have unsaved changes in the Class Manager.","elementor")),a.createElement(C.SaveChangesDialog.ContentText,null,(0,u.__)("To avoid losing your updates, save your changes before leaving.","elementor"))),a.createElement(C.SaveChangesDialog.Actions,{actions:{discard:{label:(0,u.__)("Discard","elementor"),action:()=>{(0,d.__dispatch)(b.slice.actions.resetToInitialState({context:"frontend"})),i()}},confirm:{label:(0,u.__)("Save & Continue","elementor"),action:async()=>{await v(),i(),l()}}}})))}const CloseButton=({onClose:e,...t})=>a.createElement(p.IconButton,_extends({size:"small",color:"secondary",onClick:e,"aria-label":"Close"},t),a.createElement(c.XIcon,{fontSize:"small"})),ErrorBoundaryFallback=()=>a.createElement(p.Box,{role:"alert",sx:{minHeight:"100%",p:2}},a.createElement(p.Alert,{severity:"error",sx:{mb:2,maxWidth:400,textAlign:"center"}},a.createElement("strong",null,(0,u.__)("Something went wrong","elementor")))),usePreventUnload=()=>{const e=(0,m.useDirtyState)();(0,a.useEffect)(()=>{const handleBeforeUnload=t=>{e&&t.preventDefault()};return window.addEventListener("beforeunload",handleBeforeUnload),()=>{window.removeEventListener("beforeunload",handleBeforeUnload)}},[e])},usePublish=()=>(0,i.useMutation)({mutationFn:()=>(0,h.saveGlobalClasses)({context:"frontend"}),onSuccess:async()=>{(0,r.setDocumentModifiedStatus)(!1),(0,v.hasDeletedItems)()&&await(0,v.onDelete)()}})},"./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-search.tsx":function(e,t,s){s.r(t),s.d(t,{ClassManagerSearch:function(){return ClassManagerSearch}});var a=s("react"),r=s("@elementor/icons"),n=s("@elementor/ui"),o=s("@wordpress/i18n");const ClassManagerSearch=({searchValue:e,onChange:t})=>a.createElement(n.Grid,{item:!0,xs:6,px:2,pb:1},a.createElement(n.Stack,{direction:"row",gap:.5,sx:{width:"100%"}},a.createElement(n.Box,{sx:{flexGrow:1}},a.createElement(n.TextField,{role:"search",fullWidth:!0,size:"tiny",value:e,placeholder:(0,o.__)("Search","elementor"),onChange:e=>t(e.target.value),InputProps:{startAdornment:a.createElement(n.InputAdornment,{position:"start"},a.createElement(r.SearchIcon,{fontSize:"tiny"}))}}))))},"./packages/packages/core/editor-global-classes/src/components/class-manager/delete-class.ts":function(e,t,s){s.r(t),s.d(t,{deleteClass:function(){return deleteClass},hasDeletedItems:function(){return hasDeletedItems},onDelete:function(){return onDelete}});var a=s("@elementor/editor-documents"),r=s("@elementor/editor-v1-adapters"),n=s("@elementor/store"),o=s("./packages/packages/core/editor-global-classes/src/store.ts");let l=!1;const deleteClass=e=>{(0,n.__dispatch)(o.slice.actions.delete(e)),l=!0},onDelete=async()=>{await reloadDocument(),l=!1},hasDeletedItems=()=>l,reloadDocument=()=>{const e=(0,a.getCurrentDocument)();return(0,a.getV1DocumentsManager)().invalidateCache(),(0,r.__privateRunCommand)("editor/documents/switch",{id:e?.id,shouldScroll:!1,shouldNavigateToDefaultRoute:!1})}},"./packages/packages/core/editor-global-classes/src/components/class-manager/delete-confirmation-dialog.tsx":function(e,t,s){s.r(t),s.d(t,{DeleteConfirmationProvider:function(){return DeleteConfirmationProvider},useDeleteConfirmation:function(){return useDeleteConfirmation}});var a=s("react"),r=s("@elementor/icons"),n=s("@elementor/ui"),o=s("@wordpress/i18n"),l=s("./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage-by-id.ts"),c=s("./packages/packages/core/editor-global-classes/src/components/class-manager/delete-class.ts");const i=(0,a.createContext)(null),DeleteConfirmationProvider=({children:e})=>{const[t,s]=(0,a.useState)(null);return a.createElement(i.Provider,{value:{openDialog:e=>{s(e)},closeDialog:()=>{s(null)},dialogProps:t}},e,!!t&&a.createElement(DeleteConfirmationDialog,t))},d="delete-class-dialog",DeleteConfirmationDialog=({label:e,id:t})=>{const{closeDialog:s}=useDeleteConfirmation(),{data:{total:i,content:p}}=(0,l.useCssClassUsageByID)(t),g=i&&p.length?(0,o.__)("Will permanently remove it from your project and may affect the design across all elements using it. Used %1 times across %2 pages. This action cannot be undone.","elementor").replace("%1",i.toString()).replace("%2",p.length.toString()):(0,o.__)("Will permanently remove it from your project and may affect the design across all elements using it. This action cannot be undone.","elementor");return a.createElement(n.Dialog,{open:!0,onClose:s,"aria-labelledby":d,maxWidth:"xs"},a.createElement(n.DialogTitle,{id:d,display:"flex",alignItems:"center",gap:1,sx:{lineHeight:1}},a.createElement(r.AlertOctagonFilledIcon,{color:"error"}),(0,o.__)("Delete this class?","elementor")),a.createElement(n.DialogContent,null,a.createElement(n.DialogContentText,{variant:"body2",color:"textPrimary"},(0,o.__)("Deleting","elementor"),a.createElement(n.Typography,{variant:"subtitle2",component:"span"}," ",e," "),g)),a.createElement(n.DialogActions,null,a.createElement(n.Button,{color:"secondary",onClick:s},(0,o.__)("Not now","elementor")),a.createElement(n.Button,{variant:"contained",color:"error",onClick:()=>{(0,c.deleteClass)(t),s()}},(0,o.__)("Delete","elementor"))))},useDeleteConfirmation=()=>{const e=(0,a.useContext)(i);if(!e)throw new Error("useDeleteConfirmation must be used within a DeleteConfirmationProvider");return e}},"./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx":function(e,t,s){s.r(t),s.d(t,{FlippedColorSwatchIcon:function(){return FlippedColorSwatchIcon}});var a=s("react"),r=s("@elementor/icons");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const FlippedColorSwatchIcon=({sx:e,...t})=>a.createElement(r.ColorSwatchIcon,_extends({sx:{transform:"rotate(90deg)",...e}},t))},"./packages/packages/core/editor-global-classes/src/components/class-manager/global-classes-list.tsx":function(e,t,s){s.r(t),s.d(t,{GlobalClassesList:function(){return GlobalClassesList}});var a=s("react"),r=s("@elementor/store"),n=s("@elementor/ui"),o=s("@wordpress/i18n"),l=s("./packages/packages/core/editor-global-classes/src/hooks/use-classes-order.ts"),c=s("./packages/packages/core/editor-global-classes/src/hooks/use-ordered-classes.ts"),i=s("./packages/packages/core/editor-global-classes/src/store.ts"),d=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-item.tsx"),p=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-class-not-found.tsx"),g=s("./packages/packages/core/editor-global-classes/src/components/class-manager/delete-confirmation-dialog.tsx"),u=s("./packages/packages/core/editor-global-classes/src/components/class-manager/flipped-color-swatch-icon.tsx"),m=s("./packages/packages/core/editor-global-classes/src/components/class-manager/sortable.tsx");const GlobalClassesList=({disabled:e,searchValue:t,onSearch:s})=>{const o=(0,c.useOrderedClasses)(),l=(0,r.__useDispatch)(),[u,h]=useReorder(),b=(0,a.useMemo)(()=>o.map(e=>({...e,lowerLabel:e.label.toLowerCase()})),[o]),f=(0,a.useMemo)(()=>t.length>1?b.filter(e=>e.lowerLabel.toLowerCase().includes(t.toLowerCase())):o,[t,o,b]);return(0,a.useEffect)(()=>{const handler=e=>{if("z"===e.key&&(e.ctrlKey||e.metaKey)){if(e.stopImmediatePropagation(),e.preventDefault(),e.shiftKey)return void l(i.slice.actions.redo());l(i.slice.actions.undo())}};return window.addEventListener("keydown",handler,{capture:!0}),()=>window.removeEventListener("keydown",handler)},[l]),o?.length?a.createElement(g.DeleteConfirmationProvider,null,f.length<=0&&t.length>1?a.createElement(p.CssClassNotFound,{onClear:()=>s(""),searchValue:t}):a.createElement(n.List,{sx:{display:"flex",flexDirection:"column",gap:.5}},a.createElement(m.SortableProvider,{value:u,onChange:h},f?.map(({id:s,label:r})=>a.createElement(m.SortableItem,{key:s,id:s},({isDragged:n,isDragPlaceholder:o,triggerProps:c,triggerStyle:p})=>a.createElement(d.ClassItem,{isSearchActive:t.length<2,id:s,label:r,renameClass:e=>{l(i.slice.actions.update({style:{id:s,label:e}}))},selected:n,disabled:e||o,sortableTriggerProps:{...c,style:p}})))))):a.createElement(EmptyState,null)},EmptyState=()=>a.createElement(n.Stack,{alignItems:"center",gap:1.5,pt:10,px:.5,maxWidth:"260px",margin:"auto"},a.createElement(u.FlippedColorSwatchIcon,{fontSize:"large"}),a.createElement(h,{variant:"subtitle2",component:"h2",color:"text.secondary"},(0,o.__)("There are no global classes yet.","elementor")),a.createElement(n.Typography,{align:"center",variant:"caption",color:"text.secondary"},(0,o.__)("CSS classes created in the editor panel will appear here. Once they are available, you can arrange their hierarchy, rename them, or delete them as needed.","elementor"))),h=(0,n.styled)(n.Typography)(({theme:e,variant:t})=>({"&.MuiTypography-root":{...e.typography[t]}})),useReorder=()=>{const e=(0,r.__useDispatch)();return[(0,l.useClassesOrder)(),t=>{e(i.slice.actions.setOrder(t))}]}},"./packages/packages/core/editor-global-classes/src/components/class-manager/panel-interactions.ts":function(e,t,s){function blockPanelInteractions(){const e=window;e.$e?.components?.get?.("panel")?.blockUserInteractions?.()}function unblockPanelInteractions(){const e=window;e.$e?.components?.get?.("panel")?.unblockUserInteractions?.()}s.r(t),s.d(t,{blockPanelInteractions:function(){return blockPanelInteractions},unblockPanelInteractions:function(){return unblockPanelInteractions}})},"./packages/packages/core/editor-global-classes/src/components/class-manager/save-changes-dialog.tsx":function(e,t,s){s.r(t),s.d(t,{SaveChangesDialog:function(){return SaveChangesDialog},useDialog:function(){return useDialog}});var a=s("react"),r=s("@elementor/icons"),n=s("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const o="save-changes-dialog",SaveChangesDialog=({children:e,onClose:t})=>a.createElement(n.Dialog,{open:!0,onClose:t,"aria-labelledby":o,maxWidth:"xs"},e);SaveChangesDialog.Title=({children:e})=>a.createElement(n.DialogTitle,{id:o,display:"flex",alignItems:"center",gap:1,sx:{lineHeight:1}},a.createElement(r.AlertTriangleFilledIcon,{color:"secondary"}),e),SaveChangesDialog.Content=({children:e})=>a.createElement(n.DialogContent,null,e),SaveChangesDialog.ContentText=e=>a.createElement(n.DialogContentText,_extends({variant:"body2",color:"textPrimary",display:"flex",flexDirection:"column"},e)),SaveChangesDialog.Actions=({actions:e})=>{const[t,s]=(0,a.useState)(!1),{cancel:r,confirm:o,discard:l}=e;return a.createElement(n.DialogActions,null,r&&a.createElement(n.Button,{variant:"text",color:"secondary",onClick:r.action},r.label),l&&a.createElement(n.Button,{variant:"text",color:"secondary",onClick:l.action},l.label),a.createElement(n.Button,{variant:"contained",color:"secondary",onClick:async()=>{s(!0),await o.action(),s(!1)},loading:t},o.label))};const useDialog=()=>{const[e,t]=(0,a.useState)(!1);return{isOpen:e,open:()=>t(!0),close:()=>t(!1)}}},"./packages/packages/core/editor-global-classes/src/components/class-manager/sortable.tsx":function(e,t,s){s.r(t),s.d(t,{SortableItem:function(){return SortableItem},SortableProvider:function(){return SortableProvider},SortableTrigger:function(){return SortableTrigger}});var a=s("react"),r=s("@elementor/icons"),n=s("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const SortableProvider=e=>a.createElement(n.UnstableSortableProvider,_extends({restrictAxis:!0,variant:"static",dragPlaceholderStyle:{opacity:"1"}},e)),SortableTrigger=e=>a.createElement(o,_extends({},e,{role:"button",className:"class-item-sortable-trigger"}),a.createElement(r.GripVerticalIcon,{fontSize:"tiny"})),SortableItem=({children:e,id:t,...s})=>a.createElement(n.UnstableSortableItem,_extends({},s,{id:t,render:({itemProps:t,isDragged:s,triggerProps:r,itemStyle:o,triggerStyle:c,dropIndicationStyle:i,showDropIndication:d,isDragOverlay:p,isDragPlaceholder:g})=>a.createElement(n.Box,_extends({},t,{style:o,component:"li",role:"listitem",sx:{backgroundColor:p?"background.paper":void 0}}),e({itemProps:t,isDragged:s,triggerProps:r,itemStyle:o,triggerStyle:c,isDragPlaceholder:g}),d&&a.createElement(l,{style:i}))})),o=(0,n.styled)("div")(({theme:e})=>({position:"absolute",left:0,top:"50%",transform:`translate( -${e.spacing(1.5)}, -50% )`,color:e.palette.action.active})),l=(0,n.styled)(n.Box)` width: 100%; height: 1px; background-color: ${({theme:e})=>e.palette.text.primary}; `},"./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-popover.tsx":function(e,t,s){s.r(t),s.d(t,{CssClassUsagePopover:function(){return CssClassUsagePopover}});var a=s("react"),r=s("@elementor/editor-documents"),n=s("@elementor/editor-ui"),o=s("@elementor/icons"),l=s("@elementor/ui"),c=s("@wordpress/i18n"),i=s("./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage-by-id.ts");const d={"wp-post":{label:(0,c.__)("Post","elementor"),icon:a.createElement(o.PostTypeIcon,{fontSize:"inherit"})},"wp-page":{label:(0,c.__)("Page","elementor"),icon:a.createElement(o.PagesIcon,{fontSize:"inherit"})},popup:{label:(0,c.__)("Popup","elementor"),icon:a.createElement(o.PopupTemplateIcon,{fontSize:"inherit"})},header:{label:(0,c.__)("Header","elementor"),icon:a.createElement(o.HeaderTemplateIcon,{fontSize:"inherit"})},footer:{label:(0,c.__)("Footer","elementor"),icon:a.createElement(o.FooterTemplateIcon,{fontSize:"inherit"})}},CssClassUsagePopover=({cssClassID:e,onClose:t})=>{const{data:s}=(0,i.useCssClassUsageByID)(e),g=(0,r.__useOpenDocumentInNewTab)(),u=s?.content.map(({title:e,elements:t,pageId:s,type:a})=>({type:"item",value:s,label:e,secondaryText:t.length.toString(),docType:a}))??[];return a.createElement(a.Fragment,null,a.createElement(n.PopoverHeader,{icon:a.createElement(o.CurrentLocationIcon,{fontSize:"tiny"}),title:a.createElement(l.Stack,{flexDirection:"row",gap:1,alignItems:"center"},a.createElement(l.Box,{"aria-label":"header-title"},(0,c.__)("Locator","elementor")),a.createElement(l.Box,null,a.createElement(l.Chip,{sx:{lineHeight:1},size:"tiny",label:s.total}))),onClose:t}),a.createElement(l.Divider,null),a.createElement(n.PopoverBody,{width:300},a.createElement(n.PopoverMenuList,{onSelect:e=>g(+e),items:u,onClose:()=>{},menuListTemplate:p,menuItemContentTemplate:e=>a.createElement(l.Stack,{flexDirection:"row",flex:1,alignItems:"center"},a.createElement(l.Box,{display:"flex",sx:{pr:1}},a.createElement(l.Tooltip,{title:d?.[e.docType]?.label??e.docType,placement:"top"},a.createElement(l.Icon,{fontSize:"small"},d?.[e.docType]?.icon||a.createElement(o.PagesIcon,{fontSize:"inherit"})))),a.createElement(l.Box,{sx:{pr:.5,maxWidth:"173px"},display:"flex"},a.createElement(n.EllipsisWithTooltip,{title:e.label,as:l.Typography,variant:"caption",maxWidth:"173px",sx:{lineHeight:1}})),a.createElement(o.ExternalLinkIcon,{className:"hover-only-icon",fontSize:"tiny"}),a.createElement(l.Chip,{sx:{ml:"auto"},size:"tiny",label:e.secondaryText}))})))},p=(0,l.styled)(l.MenuList)(({theme:e})=>({"& > li":{display:"flex",cursor:"pointer",height:32,width:"100%"},'& > [role="option"]':{...e.typography.caption,lineHeight:"inherit",padding:e.spacing(.5,1,.5,2),textOverflow:"ellipsis",position:"absolute",top:0,left:0,opacity:1,".hover-only-icon":{color:e.palette.text.disabled,opacity:0},"&:hover":{borderRadius:e.spacing(.5),backgroundColor:e.palette.action.hover,".hover-only-icon":{color:e.palette.text.disabled,opacity:1}}},width:"100%",position:"relative"}))},"./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-trigger.tsx":function(e,t,s){s.r(t),s.d(t,{CssClassUsageTrigger:function(){return CssClassUsageTrigger}});var a=s("react"),r=s("@elementor/editor-ui"),n=s("@elementor/icons"),o=s("@elementor/ui"),l=s("@wordpress/i18n"),c=s("./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage-by-id.ts"),i=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-popover.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)({}).hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},_extends.apply(null,arguments)}const CssClassUsageTrigger=({id:e,onClick:t})=>{const{data:{total:s},isLoading:r}=(0,c.useCssClassUsageByID)(e),l=(0,o.usePopupState)({variant:"popover",popupId:"css-class-usage-popover"});if(r)return null;const p=0!==s?TooltipWrapper:InfoAlertMessage;return a.createElement(a.Fragment,null,a.createElement(o.Box,{position:"relative"},a.createElement(p,{total:s},a.createElement(d,_extends({disabled:0===s,size:"tiny"},(0,o.bindTrigger)(l),{onClick:a=>{0!==s&&((0,o.bindTrigger)(l).onClick(a),t(e))}}),a.createElement(n.CurrentLocationIcon,{fontSize:"tiny"})))),a.createElement(o.Box,null,a.createElement(o.Popover,_extends({sx:{ml:6},anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:-5}},(0,o.bindPopover)(l),{onClose:()=>{(0,o.bindPopover)(l).onClose(),t("")}}),a.createElement(i.CssClassUsagePopover,{onClose:l.close,"aria-label":"css-class-usage-popover",cssClassID:e}))))},d=(0,o.styled)(o.IconButton)(({theme:e})=>({"&.Mui-disabled":{pointerEvents:"auto","&:hover":{color:e.palette.action.disabled}},height:"22px",width:"22px"})),TooltipWrapper=({children:e,total:t})=>a.createElement(o.Tooltip,{placement:"top",title:`${(0,l.__)("Show {{number}} {{locations}}","elementor").replace("{{number}}",t.toString()).replace("{{locations}}",1===t?(0,l.__)("location","elementor"):(0,l.__)("locations","elementor"))}`},a.createElement("span",null,e)),InfoAlertMessage=({children:e})=>a.createElement(o.Infotip,{placement:"top",color:"secondary",content:a.createElement(r.InfoAlert,{sx:{mt:1}},(0,l.__)("This class isn’t being used yet.","elementor"))},a.createElement("span",null,e))},"./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/index.ts":function(e,t,s){s.r(t),s.d(t,{CssClassUsagePopover:function(){return a.CssClassUsagePopover},CssClassUsageTrigger:function(){return r.CssClassUsageTrigger}});var a=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-popover.tsx"),r=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/components/css-class-usage-trigger.tsx")},"./packages/packages/core/editor-global-classes/src/components/css-class-usage/types.ts":function(e,t,s){s.r(t),s.d(t,{QUERY_KEY:function(){return a}});const a="css-classes-usage"},"./packages/packages/core/editor-global-classes/src/components/css-class-usage/utils.ts":function(e,t,s){s.r(t),s.d(t,{transformData:function(){return transformData}});const transformData=e=>Object.entries(e).reduce((e,[t,s])=>(e[t]={content:s||[],total:s.reduce((e,t)=>e+(t?.total||0),0)},e),{})},"./packages/packages/core/editor-global-classes/src/components/populate-store.tsx":function(e,t,s){s.r(t),s.d(t,{PopulateStore:function(){return PopulateStore}});var a=s("react"),r=s("@elementor/store"),n=s("./packages/packages/core/editor-global-classes/src/api.ts"),o=s("./packages/packages/core/editor-global-classes/src/store.ts");function PopulateStore(){const e=(0,r.__useDispatch)();return(0,a.useEffect)(()=>{Promise.all([n.apiClient.all("preview"),n.apiClient.all("frontend")]).then(([t,s])=>{const{data:a}=t,{data:r}=s;e(o.slice.actions.load({preview:{items:a.data,order:a.meta.order},frontend:{items:r.data,order:r.meta.order}}))})},[e]),null}},"./packages/packages/core/editor-global-classes/src/errors.ts":function(e,t,s){s.r(t),s.d(t,{GlobalClassLabelAlreadyExistsError:function(){return n},GlobalClassNotFoundError:function(){return r}});var a=s("@elementor/utils");const r=(0,a.createError)({code:"global_class_not_found",message:"Global class not found."}),n=(0,a.createError)({code:"global_class_label_already_exists",message:"Class with this name already exists."})},"./packages/packages/core/editor-global-classes/src/global-classes-styles-provider.ts":function(e,t,s){s.r(t),s.d(t,{GLOBAL_CLASSES_PROVIDER_KEY:function(){return d},globalClassesStylesProvider:function(){return p}});var a=s("@elementor/editor-styles"),r=s("@elementor/editor-styles-repository"),n=s("@elementor/store"),o=s("@wordpress/i18n"),l=s("./packages/packages/core/editor-global-classes/src/capabilities.ts"),c=s("./packages/packages/core/editor-global-classes/src/errors.ts"),i=s("./packages/packages/core/editor-global-classes/src/store.ts");const d="global-classes",p=(0,r.createStylesProvider)({key:d,priority:30,limit:50,labels:{singular:(0,o.__)("class","elementor"),plural:(0,o.__)("classes","elementor")},subscribe:e=>subscribeWithStates(e),capabilities:(0,l.getCapabilities)(),actions:{all:()=>(0,i.selectOrderedClasses)((0,n.__getState)()),get:e=>(0,i.selectClass)((0,n.__getState)(),e),resolveCssName:e=>(0,i.selectClass)((0,n.__getState)(),e)?.label??e,create:e=>{const t=(0,i.selectGlobalClasses)((0,n.__getState)());if(Object.values(t).map(e=>e.label).includes(e))throw new c.GlobalClassLabelAlreadyExistsError({context:{label:e}});const s=Object.keys(t),r=(0,a.generateId)("g-",s);return(0,n.__dispatch)(i.slice.actions.add({id:r,type:"class",label:e,variants:[]})),r},update:e=>{(0,n.__dispatch)(i.slice.actions.update({style:e}))},delete:e=>{(0,n.__dispatch)(i.slice.actions.delete(e))},updateProps:e=>{(0,n.__dispatch)(i.slice.actions.updateProps({id:e.id,meta:e.meta,props:e.props}))}}}),subscribeWithStates=e=>{let t=(0,i.selectData)((0,n.__getState)());return(0,n.__subscribeWithSelector)(e=>e.globalClasses,s=>{e(t.items,s.data.items),t=s.data})}},"./packages/packages/core/editor-global-classes/src/hooks/use-classes-order.ts":function(e,t,s){s.r(t),s.d(t,{useClassesOrder:function(){return useClassesOrder}});var a=s("@elementor/store"),r=s("./packages/packages/core/editor-global-classes/src/store.ts");const useClassesOrder=()=>(0,a.__useSelector)(r.selectOrder)},"./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage-by-id.ts":function(e,t,s){s.r(t),s.d(t,{useCssClassUsageByID:function(){return useCssClassUsageByID}});var a=s("./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage.ts");const r={total:0,content:[]},useCssClassUsageByID=e=>{const{data:t,...s}=(0,a.useCssClassUsage)();return{...s,data:t?.[e]??r}}},"./packages/packages/core/editor-global-classes/src/hooks/use-css-class-usage.ts":function(e,t,s){s.r(t),s.d(t,{useCssClassUsage:function(){return useCssClassUsage}});var a=s("@elementor/query"),r=s("./packages/packages/core/editor-global-classes/service/css-class-usage-service.ts"),n=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/types.ts");const useCssClassUsage=()=>(0,a.useQuery)({queryKey:[n.QUERY_KEY],queryFn:r.fetchCssClassUsage,refetchOnMount:!1,refetchOnWindowFocus:!0})},"./packages/packages/core/editor-global-classes/src/hooks/use-dirty-state.ts":function(e,t,s){s.r(t),s.d(t,{useDirtyState:function(){return useDirtyState}});var a=s("@elementor/store"),r=s("./packages/packages/core/editor-global-classes/src/store.ts");const useDirtyState=()=>(0,a.__useSelector)(r.selectIsDirty)},"./packages/packages/core/editor-global-classes/src/hooks/use-ordered-classes.ts":function(e,t,s){s.r(t),s.d(t,{useOrderedClasses:function(){return useOrderedClasses}});var a=s("@elementor/store"),r=s("./packages/packages/core/editor-global-classes/src/store.ts");const useOrderedClasses=()=>(0,a.__useSelector)(r.selectOrderedClasses)},"./packages/packages/core/editor-global-classes/src/hooks/use-prefetch-css-class-usage.ts":function(e,t,s){s.r(t),s.d(t,{usePrefetchCssClassUsage:function(){return usePrefetchCssClassUsage}});var a=s("@elementor/query"),r=s("./packages/packages/core/editor-global-classes/service/css-class-usage-service.ts"),n=s("./packages/packages/core/editor-global-classes/src/components/css-class-usage/types.ts");function usePrefetchCssClassUsage(){const e=(0,a.useQueryClient)();return{prefetchClassesUsage:()=>e.prefetchQuery({queryKey:[n.QUERY_KEY],queryFn:r.fetchCssClassUsage})}}},"./packages/packages/core/editor-global-classes/src/init.ts":function(e,t,s){s.r(t),s.d(t,{init:function(){return init}});var a=s("@elementor/editor"),r=s("@elementor/editor-editing-panel"),n=s("@elementor/editor-panels"),o=s("@elementor/editor-styles-repository"),l=s("@elementor/editor-v1-adapters"),c=s("@elementor/store"),i=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-button.tsx"),d=s("./packages/packages/core/editor-global-classes/src/components/class-manager/class-manager-panel.tsx"),p=s("./packages/packages/core/editor-global-classes/src/components/populate-store.tsx"),g=s("./packages/packages/core/editor-global-classes/src/global-classes-styles-provider.ts"),u=s("./packages/packages/core/editor-global-classes/src/store.ts"),m=s("./packages/packages/core/editor-global-classes/src/sync-with-document-save.ts");function init(){(0,c.__registerSlice)(u.slice),(0,n.__registerPanel)(d.panel),o.stylesRepository.register(g.globalClassesStylesProvider),(0,a.injectIntoLogic)({id:"global-classes-populate-store",component:p.PopulateStore}),(0,r.injectIntoClassSelectorActions)({id:"global-classes-manager-button",component:i.ClassManagerButton}),(0,r.registerStyleProviderToColors)(g.GLOBAL_CLASSES_PROVIDER_KEY,{name:"global",getThemeColor:e=>e.palette.global.dark}),(0,l.__privateListenTo)((0,l.v1ReadyEvent)(),()=>{(0,m.syncWithDocumentSave)()})}},"./packages/packages/core/editor-global-classes/src/save-global-classes.ts":function(e,t,s){s.r(t),s.d(t,{saveGlobalClasses:function(){return saveGlobalClasses}});var a=s("@elementor/store"),r=s("@elementor/utils"),n=s("./packages/packages/core/editor-global-classes/src/api.ts"),o=s("./packages/packages/core/editor-global-classes/src/store.ts");async function saveGlobalClasses({context:e}){const t=(0,o.selectData)((0,a.__getState)());"preview"===e?await n.apiClient.saveDraft({items:t.items,order:t.order,changes:calculateChanges(t,(0,o.selectPreviewInitialData)((0,a.__getState)()))}):await n.apiClient.publish({items:t.items,order:t.order,changes:calculateChanges(t,(0,o.selectFrontendInitialData)((0,a.__getState)()))}),(0,a.__dispatch)(o.slice.actions.reset({context:e}))}function calculateChanges(e,t){const s=Object.keys(e.items),a=Object.keys(t.items);return{added:s.filter(e=>!a.includes(e)),deleted:a.filter(e=>!s.includes(e)),modified:s.filter(s=>s in t.items&&(0,r.hash)(e.items[s])!==(0,r.hash)(t.items[s]))}}},"./packages/packages/core/editor-global-classes/src/store.ts":function(e,t,s){s.r(t),s.d(t,{selectClass:function(){return selectClass},selectData:function(){return selectData},selectFrontendInitialData:function(){return selectFrontendInitialData},selectGlobalClasses:function(){return p},selectIsDirty:function(){return selectIsDirty},selectOrder:function(){return d},selectOrderedClasses:function(){return g},selectPreviewInitialData:function(){return selectPreviewInitialData},slice:function(){return i}});var a=s("@elementor/editor-props"),r=s("@elementor/editor-styles"),n=s("@elementor/store"),o=s("./packages/packages/core/editor-global-classes/src/errors.ts");const l=s("./packages/packages/core/editor-global-classes/src/utils/snapshot-history.ts").SnapshotHistory.get("global-classes"),c="globalClasses",i=(0,n.__createSlice)({name:c,initialState:{data:{items:{},order:[]},initialData:{frontend:{items:{},order:[]},preview:{items:{},order:[]}},isDirty:!1},reducers:{load(e,{payload:{frontend:t,preview:s}}){e.initialData.frontend=t,e.initialData.preview=s,e.data=s,e.isDirty=!1},add(e,{payload:t}){l.next(e.data),e.data.items[t.id]=t,e.data.order.unshift(t.id),e.isDirty=!0},delete(e,{payload:t}){l.next(e.data),e.data.items=Object.fromEntries(Object.entries(e.data.items).filter(([e])=>e!==t)),e.data.order=e.data.order.filter(e=>e!==t),e.isDirty=!0},setOrder(e,{payload:t}){l.next(e.data),e.data.order=t,e.isDirty=!0},update(e,{payload:t}){l.next(e.data);const s={...e.data.items[t.style.id],...t.style};e.data.items[t.style.id]=s,e.isDirty=!0},updateProps(e,{payload:t}){const s=e.data.items[t.id];if(!s)throw new o.GlobalClassNotFoundError({context:{styleId:t.id}});l.next(e.data);const n=(0,r.getVariantByMeta)(s,t.meta);n?(n.props=(0,a.mergeProps)(n.props,t.props),0===Object.keys(n.props).length&&(s.variants=s.variants.filter(e=>e!==n))):s.variants.push({meta:t.meta,props:t.props}),e.isDirty=!0},reset(e,{payload:{context:t}}){"frontend"===t&&(l.reset(),e.initialData.frontend=e.data,e.isDirty=!1),e.initialData.preview=e.data},undo(e){l.isLast()&&l.next(e.data);const t=l.prev();t?(e.data=t,e.isDirty=!0):e.data=e.initialData.preview},resetToInitialState(e,{payload:{context:t}}){l.reset(),e.data=e.initialData[t],e.isDirty=!1},redo(e){const t=l.next();l.isLast()&&l.prev(),t&&(e.data=t,e.isDirty=!0)}}}),selectData=e=>e[c].data,selectFrontendInitialData=e=>e[c].initialData.frontend,selectPreviewInitialData=e=>e[c].initialData.preview,d=(0,n.__createSelector)(selectData,({order:e})=>e),p=(0,n.__createSelector)(selectData,({items:e})=>e),selectIsDirty=e=>e[c].isDirty,g=(0,n.__createSelector)(p,d,(e,t)=>t.map(t=>e[t])),selectClass=(e,t)=>e[c].data.items[t]??null},"./packages/packages/core/editor-global-classes/src/sync-with-document-save.ts":function(e,t,s){s.r(t),s.d(t,{syncWithDocumentSave:function(){return syncWithDocumentSave}});var a=s("@elementor/editor-current-user"),r=s("@elementor/editor-documents"),n=s("@elementor/editor-v1-adapters"),o=s("@elementor/store"),l=s("./packages/packages/core/editor-global-classes/src/capabilities.ts"),c=s("./packages/packages/core/editor-global-classes/src/save-global-classes.ts"),i=s("./packages/packages/core/editor-global-classes/src/store.ts");function syncWithDocumentSave(){const e=function syncDirtyState(){return(0,o.__subscribeWithSelector)(i.selectIsDirty,()=>{(function isDirty(){return(0,i.selectIsDirty)((0,o.__getState)())})()&&(0,r.setDocumentModifiedStatus)(!0)})}();return function bindSaveAction(){(0,n.registerDataHook)("after","document/save/save",e=>{const t=(0,a.getCurrentUser)(),s=t?.capabilities.includes(l.UPDATE_CLASS_CAPABILITY_KEY);if(s)return(0,c.saveGlobalClasses)({context:"publish"===e.status?"frontend":"preview"})})}(),e}},"./packages/packages/core/editor-global-classes/src/utils/snapshot-history.ts":function(e,t,s){function createLink({value:e,next:t,prev:s}){return{value:e,prev:s||null,next:t||null}}s.r(t),s.d(t,{SnapshotHistory:function(){return SnapshotHistory}});class SnapshotHistory{static registry={};static get(e){return SnapshotHistory.registry[e]||(SnapshotHistory.registry[e]=new SnapshotHistory(e)),SnapshotHistory.registry[e]}first=null;current=null;constructor(e){this.namespace=e}transform(e){return JSON.parse(JSON.stringify(e))}reset(){this.first=this.current=null}prev(){return this.current&&this.current!==this.first?(this.current=this.current.prev,this.current?.value||null):null}isLast(){return!this.current||!this.current.next}next(e){if(e){if(!this.current)return this.first=createLink({value:this.transform(e)}),this.current=this.first,this.current.value;const t=createLink({value:this.transform(e),prev:this.current});return this.current.next=t,this.current=t,this.current.value}return this.current&&this.current.next?(this.current=this.current.next,this.current.value):null}}},"@elementor/editor":function(e){e.exports=window.elementorV2.editor},"@elementor/editor-current-user":function(e){e.exports=window.elementorV2.editorCurrentUser},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-editing-panel":function(e){e.exports=window.elementorV2.editorEditingPanel},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-styles":function(e){e.exports=window.elementorV2.editorStyles},"@elementor/editor-styles-repository":function(e){e.exports=window.elementorV2.editorStylesRepository},"@elementor/editor-ui":function(e){e.exports=window.elementorV2.editorUi},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/query":function(e){e.exports=window.elementorV2.query},"@elementor/store":function(e){e.exports=window.elementorV2.store},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(s){var a=t[s];if(void 0!==a)return a.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,__webpack_require__),r.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 s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__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 s={};!function(){__webpack_require__.r(s),__webpack_require__.d(s,{init:function(){return e.init}});var e=__webpack_require__("./packages/packages/core/editor-global-classes/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorGlobalClasses=s}(),window.elementorV2.editorGlobalClasses?.init?.(); //# sourceMappingURL=editor-global-classes.js.map