← All changes
|
assets/js/packages/editor-site-navigation/editor-site-navigation.js
+1212
-2
4.1.2
→
trunk
View file →
| @@ -1,3 +1,1213 @@ | ||
| 1 | -/*! For license information please see editor-site-navigation.js.LICENSE.txt */ | |
| 2 | -!function(){"use strict";var e={"./packages/packages/core/editor-site-navigation/src/api/post.ts":function(e,t,n){n.r(t),n.d(t,{POST_PER_PAGE:function(){return i},createRequest:function(){return createRequest},deleteRequest:function(){return deleteRequest},duplicateRequest:function(){return duplicateRequest},getRequest:function(){return getRequest},postTypesMap:function(){return r},updateRequest:function(){return updateRequest}});var o=n("@wordpress/api-fetch"),a=n.n(o),s=n("@wordpress/i18n");const r={page:{labels:{singular_name:(0,s.__)("Page","elementor"),plural_name:(0,s.__)("Pages","elementor")},rest_base:"pages"}},i=10,getRequest=async(e,t)=>{const n=`/wp/v2/${r[e].rest_base}`+"?"+new URLSearchParams({status:"any",order:"asc",page:t.toString(),per_page:i.toString(),_fields:["id","type","title","link","status","user_can"].join(",")}).toString(),o=await a()({path:n,parse:!1});return{data:await o.json(),totalPages:Number(o.headers.get("x-wp-totalpages")),totalPosts:Number(o.headers.get("x-wp-total")),currentPage:t}},createRequest=(e,t)=>{const n=`/wp/v2/${r[e].rest_base}`;return a()({path:n,method:"POST",data:t})},updateRequest=(e,t)=>{const n=`/wp/v2/${r[e].rest_base}`,{id:o,...s}=t;return a()({path:`${n}/${o}`,method:"POST",data:s})},deleteRequest=(e,t)=>{const n=`/wp/v2/${r[e].rest_base}`;return a()({path:`${n}/${t}`,method:"DELETE"})},duplicateRequest=e=>a()({path:"/elementor/v1/site-navigation/duplicate-post",method:"POST",data:{post_id:e.id,title:e.title}})},"./packages/packages/core/editor-site-navigation/src/api/recent-posts.ts":function(e,t,n){n.r(t),n.d(t,{NUMBER_OF_RECENT_POSTS:function(){return r},baseUrl:function(){return s},getRequest:function(){return getRequest}});var o=n("@wordpress/api-fetch"),a=n.n(o);const s="/elementor/v1/site-navigation/recent-posts",r=6,getRequest=()=>{const e=new URLSearchParams({posts_per_page:`${r}`}),t=`${s}?${e.toString()}`;return a()({path:t})}},"./packages/packages/core/editor-site-navigation/src/api/settings.ts":function(e,t,n){n.r(t),n.d(t,{getSettings:function(){return getSettings},updateSettings:function(){return updateSettings}});var o=n("@wordpress/api-fetch"),a=n.n(o);const getSettings=()=>a()({path:"/elementor/v1/site-navigation/homepage"}),updateSettings=e=>a()({path:"/wp/v2/settings",method:"POST",data:e})},"./packages/packages/core/editor-site-navigation/src/api/user.ts":function(e,t,n){n.r(t),n.d(t,{getUser:function(){return getUser}});var o=n("@wordpress/api-fetch"),a=n.n(o);const getUser=()=>{const e="/wp/v2/users/me?"+new URLSearchParams({_fields:["capabilities"].join(","),context:"edit"}).toString();return a()({path:e})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ActionMenuItem}});var o=n("react"),a=n("@elementor/ui");function ActionMenuItem({title:e,icon:t,MenuItemProps:n}){return o.createElement(a.MenuItem,n,o.createElement(a.ListItemIcon,{sx:{color:"inherit"}},o.createElement(t,null)),o.createElement(a.ListItemText,{primary:e}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/delete.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Delete}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@elementor/icons"),r=n("@elementor/ui"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Delete({post:e}){const[t,n]=(0,o.useState)(!1),r=(0,a.__useActiveDocument)(),c=r?.id===e.id,l=!e.user_can.delete||e.isHome||c;return o.createElement(o.Fragment,null,o.createElement(p.default,{title:(0,i.__)("Delete","elementor"),icon:s.TrashIcon,MenuItemProps:{disabled:l,onClick:()=>n(!0),sx:{"&:hover":{color:"error.main"}}}}),t&&o.createElement(DeleteDialog,{post:e,setIsDialogOpen:n}))}function DeleteDialog({post:e,setIsDialogOpen:t}){const{type:n}=(0,c.usePostListContext)(),{deletePost:a}=(0,l.usePostActions)(n),{setError:s}=(0,c.usePostListContext)(),p=(0,i.sprintf)((0,i.__)('Delete "%s"?',"elementor"),e.title.rendered),handleCancel=()=>{a.isPending||t(!1)};return o.createElement(r.Dialog,{open:!0,onClose:handleCancel,"aria-labelledby":"delete-dialog"},o.createElement(r.DialogTitle,{noWrap:!0},p),o.createElement(r.Divider,null),o.createElement(r.DialogContent,null,o.createElement(r.DialogContentText,null,(0,i.__)("The page and its content will be deleted forever and we won’t be able to recover them.","elementor"))),o.createElement(r.DialogActions,null,o.createElement(r.Button,{variant:"contained",color:"secondary",onClick:handleCancel,disabled:a.isPending},(0,i.__)("Cancel","elementor")),o.createElement(r.Button,{variant:"contained",color:"error",onClick:async()=>{try{await a.mutateAsync(e.id)}catch{s(),t(!1)}},disabled:a.isPending},a.isPending?o.createElement(r.CircularProgress,null):(0,i.__)("Delete","elementor"))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/duplicate.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Duplicate}});var o=n("react"),a=n("@elementor/icons"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Duplicate({post:e,popupState:t}){const{setEditMode:n}=(0,r.usePostListContext)(),{data:l}=(0,i.default)(),p=!l?.capabilities?.edit_pages;return o.createElement(c.default,{title:(0,s.__)("Duplicate","elementor"),icon:a.CopyIcon,MenuItemProps:{disabled:p,onClick:()=>{t.close(),n({mode:"duplicate",details:{postId:e.id,title:e.title.rendered}})}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/rename.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Rename}});var o=n("react"),a=n("@elementor/icons"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function Rename({post:e}){const{setEditMode:t}=(0,r.usePostListContext)();return o.createElement(i.default,{title:(0,s.__)("Rename","elementor"),icon:a.EraseIcon,MenuItemProps:{disabled:!e.user_can.edit,onClick:()=>{t({mode:"rename",details:{postId:e.id}})}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/set-home.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return SetHome}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui"),r=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage-actions.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function SetHome({post:e,closeMenu:t}){const{updateSettingsMutation:n}=(0,c.useHomepageActions)(),{setError:u}=(0,i.usePostListContext)(),{data:d}=(0,l.default)(),m=!!d?.capabilities?.manage_options,g="publish"===e.status,f=!!e.isHome,k=!m||f||!g||n.isPending;return o.createElement(p.default,{title:(0,r.__)("Set as homepage","elementor"),icon:n.isPending?s.CircularProgress:a.HomeIcon,MenuItemProps:{disabled:k,onClick:async()=>{try{await n.mutateAsync({show_on_front:"page",page_on_front:e.id})}catch{u()}finally{t()}}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/view.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return View}});var o=n("react"),a=n("@elementor/icons"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx");function View({post:e}){const{type:t}=(0,i.usePostListContext)(),n=(0,s.__)("View %s","elementor").replace("%s",r.postTypesMap[t].labels.singular_name);return o.createElement(c.default,{title:n,icon:a.EyeIcon,MenuItemProps:{onClick:()=>window.open(e.link,"_blank")}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/add-new-button.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return AddNewButton}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui"),r=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts");function AddNewButton(){const{setEditMode:e}=(0,i.usePostListContext)(),{data:t}=(0,c.default)();return o.createElement(s.Button,{size:"small",startIcon:o.createElement(a.PlusIcon,null),disabled:!t?.capabilities?.edit_pages,onClick:()=>{e({mode:"create",details:{}})},sx:{px:1.5}},(0,r.__)("Add New","elementor"))}},"./packages/packages/core/editor-site-navigation/src/components/panel/error-snackbar.tsx":function(e,t,n){n.r(t);var o=n("react"),a=n("@elementor/ui");t.default=({open:e,onClose:t})=>o.createElement(a.Snackbar,{open:e,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"left"}},o.createElement(a.Alert,{onClose:t,severity:"error",sx:{width:"100%"}},o.createElement(a.Typography,{component:"span",sx:{fontWeight:"bold"}},"We couldn’t complete the action.")," ","Please try again"))},"./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts":function(e,t,n){n.r(t),n.d(t,{panel:function(){return s},usePanelActions:function(){return i},usePanelStatus:function(){return r}});var o=n("@elementor/editor-panels"),a=n("./packages/packages/core/editor-site-navigation/src/components/panel/shell.tsx");const{panel:s,usePanelStatus:r,usePanelActions:i}=(0,o.__createPanel)({id:"site-navigation-panel",component:a.default})},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/collapsible-list.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return CollapsibleList}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui");const r=(0,s.styled)(a.ChevronDownIcon,{shouldForwardProp:e=>"isOpen"!==e})(({theme:e,isOpen:t})=>({transform:t?"rotate(0deg)":"rotate(-90deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.standard})})),i=(0,s.styled)(s.ListItemIcon)(({theme:e})=>({minWidth:e.spacing(4)}));function CollapsibleList({label:e,Icon:t,isOpenByDefault:n=!1,children:a}){const[c,l]=(0,o.useState)(n);return o.createElement(o.Fragment,null,o.createElement(s.ListItem,null,o.createElement(i,{sx:{color:"text.secondary"}},o.createElement(s.IconButton,{onClick:()=>l(e=>!e),size:"small",sx:{color:"inherit"}},o.createElement(r,{fontSize:"small",isOpen:c}))),o.createElement(i,{size:"small",sx:{color:"inherit"}},o.createElement(t,{fontSize:"small"})),o.createElement(s.ListItemText,{primaryTypographyProps:{variant:"subtitle2",component:"span"},primary:e})),o.createElement(s.Collapse,{in:c,timeout:"auto",unmountOnExit:!0},o.createElement(s.List,{dense:!0},a)),o.createElement(s.Divider,{sx:{mt:1}}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/error-state.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ErrorState}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui"),r=n("@wordpress/i18n");function ErrorState(){return o.createElement(s.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",pt:"40px",gap:"16px"}},o.createElement(a.Error404TemplateIcon,null),o.createElement(s.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"8px"}},o.createElement(s.Typography,{variant:"body1",color:"text.primary"},(0,r.__)("We couldn’t display your pages.","elementor")),o.createElement(s.Box,null,o.createElement(s.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,r.__)("It’s probably a temporary issue.","elementor")),o.createElement(s.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,r.__)("If the problem persists,","elementor")," ",o.createElement(s.Link,{target:"_blank",href:"https://go.elementor.com/wp-editor-support-open-ticket/"},"Notify support")))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return EditModeTemplate}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui"),r=n("@wordpress/i18n"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx");function EditModeTemplate({postTitle:e,isLoading:t,callback:n}){const[a,i]=(0,o.useState)(e),[c,l]=(0,o.useState)(!1),[p,u]=(0,o.useState)(null),d=(0,o.useRef)(),validateInput=e=>""!==e.trim(),runCallback=()=>{validateInput(a)&&n(a)};return o.createElement(o.Fragment,null,o.createElement(s.ListItem,{secondaryAction:o.createElement(CloseButton,{isLoading:t,closeButton:d})},o.createElement(s.Box,{width:"100%",component:"form",onSubmit:e=>{e.preventDefault(),runCallback()}},o.createElement(s.TextField,{autoFocus:!0,fullWidth:!0,value:a,onChange:e=>{c||l(!0);const t=e.target.value;validateInput(t)?u(null):u((0,r.__)("Name is required","elementor")),i(t)},disabled:t,error:!!p,onBlur:e=>{d.current!==e.relatedTarget&&runCallback()},variant:"outlined",color:"secondary",size:"small"}))),p&&o.createElement(s.ListItem,null,o.createElement(s.ListItemText,{sx:{color:"error.main"}},p)))}function CloseButton({isLoading:e,closeButton:t}){const{resetEditMode:n}=(0,i.usePostListContext)();return o.createElement(s.IconButton,{size:"small",color:"secondary",onClick:n,ref:t,disabled:e},e?o.createElement(s.CircularProgress,null):o.createElement(a.XIcon,{fontSize:"small"}))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-create.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemCreate}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemCreate(){const{type:e,resetEditMode:t}=(0,r.usePostListContext)(),{createPost:n}=(0,i.usePostActions)(e),l=(0,a.__useNavigateToDocument)(),{setError:p}=(0,r.usePostListContext)();return o.createElement(c.default,{postTitle:(0,s.__)("New Page","elementor"),isLoading:n.isPending,callback:async e=>{try{const{id:t}=await n.mutateAsync({title:e,status:"draft"});l(t)}catch{p()}finally{t()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-duplicate.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemDuplicate}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemDuplicate(){const{type:e,editMode:t,resetEditMode:n}=(0,r.usePostListContext)(),l=(0,a.__useNavigateToDocument)(),{duplicatePost:p}=(0,i.usePostActions)(e),{setError:u}=(0,r.usePostListContext)();if("duplicate"!==t.mode)return null;return o.createElement(c.default,{postTitle:`${t.details.title} ${(0,s.__)("copy","elementor")}`,isLoading:p.isPending,callback:async e=>{try{const{post_id:n}=await p.mutateAsync({id:t.details.postId,title:e});l(n)}catch{u()}finally{n()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-rename.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemRename}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-rename-active-document.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx");function ListItemRename({post:e}){const{type:t,resetEditMode:n}=(0,s.usePostListContext)(),{updatePost:l}=(0,r.usePostActions)(t),{setError:p}=(0,s.usePostListContext)(),u=(0,a.__useActiveDocument)(),d=(0,i.default)(),m=u?.id===e.id,g=m?u?.title:e.title.rendered;return o.createElement(c.default,{postTitle:g,isLoading:l.isPending,callback:async t=>{t===g&&n();try{m?await d(t):await l.mutateAsync({id:e.id,title:t})}catch{p()}finally{n()}}})}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-view.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return ListItemView}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@elementor/icons"),r=n("@elementor/ui"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/components/shared/page-title-and-status.tsx"),l=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/delete.tsx"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/duplicate.tsx"),u=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/rename.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/set-home.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/view.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}const DisabledPostTooltip=({children:e,isDisabled:t})=>{if(t){const t=o.createElement(r.Typography,{variant:"caption"},"You cannot edit this page.",o.createElement("br",null),"To edit it directly, contact the site owner");return o.createElement(r.Tooltip,{title:t,placement:"bottom",arrow:!1},e)}return o.createElement(o.Fragment,null,e)};function ListItemView({post:e}){const t=(0,a.__useActiveDocument)(),n=(0,a.__useNavigateToDocument)(),g=(0,r.usePopupState)({variant:"popover",popupId:"post-actions",disableAutoFocus:!0}),f=t?.id===e.id,k=f?t?.status.value:e.status,v=f?t?.title:e.title.rendered,x=!e.user_can.edit;return o.createElement(o.Fragment,null,o.createElement(DisabledPostTooltip,{isDisabled:x},o.createElement(r.ListItem,{disablePadding:!0,secondaryAction:o.createElement(r.IconButton,_extends({value:!0,size:"small"},(0,r.bindTrigger)(g)),o.createElement(s.DotsVerticalIcon,{fontSize:"small"}))},o.createElement(r.ListItemButton,{selected:f,disabled:x,onClick:()=>{f||n(e.id)},dense:!0},o.createElement(r.ListItemText,{disableTypography:!0},o.createElement(c.default,{title:v,status:k})),e.isHome&&o.createElement(s.HomeIcon,{titleAccess:(0,i.__)("Homepage","elementor"),color:"disabled"})))),o.createElement(r.Menu,_extends({PaperProps:{sx:{mt:2,width:200}},MenuListProps:{dense:!0}},(0,r.bindMenu)(g)),o.createElement(u.default,{post:e}),o.createElement(p.default,{post:e,popupState:g}),o.createElement(l.default,{post:e}),o.createElement(m.default,{post:e}),o.createElement(r.Divider,null),o.createElement(d.default,{post:e,closeMenu:()=>g.close()})))}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/post-list-item.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PostListItem}});var o=n("react"),a=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),s=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-create.tsx"),r=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-duplicate.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-rename.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-view.tsx");function PostListItem({post:e}){const{editMode:t}=(0,a.usePostListContext)();return"rename"===t.mode&&e?.id&&e?.id===t.details.postId?o.createElement(i.default,{post:e}):"create"!==t.mode||e?"duplicate"!==t.mode||e?e?o.createElement(c.default,{post:e}):null:o.createElement(r.default,null):o.createElement(s.default,null)}},"./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/posts-collapsible-list.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PostsCollapsibleList}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui"),r=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),i=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts"),p=n("./packages/packages/core/editor-site-navigation/src/components/panel/add-new-button.tsx"),u=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/collapsible-list.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/error-state.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/post-list-item.tsx");function PostsCollapsibleList({isOpenByDefault:e=!1}){const{type:t,editMode:n}=(0,i.usePostListContext)(),{data:{posts:g,total:f},isLoading:k,isError:v,fetchNextPage:x,hasNextPage:y,isFetchingNextPage:_}=(0,l.usePosts)(t),{data:E}=(0,c.useHomepage)();if(v)return o.createElement(d.default,null);if(!g||k)return o.createElement(s.Box,{sx:{px:5}},o.createElement(s.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center"},o.createElement(s.Skeleton,{sx:{my:4},animation:"wave",variant:"rounded",width:"110px",height:"28px"})),o.createElement(s.Box,null,o.createElement(s.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"100%",height:"24px"}),o.createElement(s.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),o.createElement(s.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),o.createElement(s.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"})));const h=`${r.postTypesMap[t].labels.plural_name} (${f.toString()})`,P=g.map(e=>e.id===E?{...e,isHome:!0}:e).sort((e,t)=>e.id===E?-1:t.id===E?1:0);return o.createElement(o.Fragment,null,o.createElement(s.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center",sx:{py:1,px:2}},o.createElement(p.default,null)),o.createElement(s.List,{dense:!0},o.createElement(u.default,{label:h,Icon:a.PageTypeIcon,isOpenByDefault:e||!1},P.map(e=>o.createElement(m.default,{key:e.id,post:e})),["duplicate","create"].includes(n.mode)&&o.createElement(m.default,null),y&&o.createElement(s.Box,{sx:{display:"flex",justifyContent:"center"}},o.createElement(s.Button,{onClick:x,color:"secondary"},_?o.createElement(s.CircularProgress,null):"Load More")))))}},"./packages/packages/core/editor-site-navigation/src/components/panel/shell.tsx":function(e,t,n){n.r(t);var o=n("react"),a=n("@elementor/editor-panels"),s=n("@wordpress/i18n"),r=n("./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/components/panel/error-snackbar.tsx"),c=n("./packages/packages/core/editor-site-navigation/src/components/panel/posts-list/posts-collapsible-list.tsx");t.default=()=>{const[e,t]=(0,o.useState)(!1);return o.createElement(a.Panel,null,o.createElement(a.PanelHeader,null,o.createElement(a.PanelHeaderTitle,null,(0,s.__)("Pages","elementor"))),o.createElement(a.PanelBody,null,o.createElement(r.PostListContextProvider,{type:"page",setError:()=>t(!0)},o.createElement(c.default,{isOpenByDefault:!0})),o.createElement(i.default,{open:e,onClose:()=>t(!1)})))}},"./packages/packages/core/editor-site-navigation/src/components/shared/page-title-and-status.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return PageTitleAndStatus}});var o=n("react"),a=n("@elementor/ui"),s=n("./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts");const PageStatus=({status:e})=>"publish"===e?null:o.createElement(a.Typography,{component:"span",variant:"body2",color:"text.secondary",sx:{textTransform:"capitalize",fontStyle:"italic",whiteSpace:"nowrap",flexBasis:"content"}},"(",e,")"),PageTitle=({title:e})=>{const t=(0,s.useReverseHtmlEntities)(e);return o.createElement(a.Typography,{component:"span",variant:"body2",color:"text.secondary",noWrap:!0,sx:{flexBasis:"auto"}},t)};function PageTitleAndStatus({title:e,status:t}){return o.createElement(a.Box,{display:"flex"},o.createElement(PageTitle,{title:e})," ",o.createElement(PageStatus,{status:t}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/chip-doc-type.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return DocTypeChip}});var o=n("react"),a=n("@elementor/icons"),s=n("@elementor/ui");const r=(0,n("./packages/packages/core/editor-site-navigation/src/icons-map.ts").getIconsMap)();function DocTypeChip({postType:e,docType:t,label:n}){const i="elementor_library"===e?"global":"primary",c=r[t]||a.PostTypeIcon;return o.createElement(s.Chip,{component:"span",size:"small",variant:"outlined",label:n,"data-value":t,color:i,icon:o.createElement(c,null),sx:{ml:1,cursor:"inherit"}})}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/create-post-list-item.tsx":function(e,t,n){n.r(t),n.d(t,{CreatePostListItem:function(){return CreatePostListItem}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@elementor/events"),r=n("@elementor/icons"),i=n("@elementor/ui"),c=n("@wordpress/i18n"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-create-page.ts"),p=n("./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function CreatePostListItem({closePopup:e,...t}){const{create:n,isLoading:u}=(0,l.default)(),d=(0,a.__useNavigateToDocument)(),{data:m}=(0,p.default)(),{dispatchEvent:g,config:f}=(0,s.useMixpanel)();return o.createElement(i.MenuItem,_extends({disabled:u||!m?.capabilities?.edit_pages,onClick:async()=>{const t=f?.names?.editorOne?.topBarPageList;t&&g?.(t,{app_type:f?.appTypes?.editor,window_name:f?.appTypes?.editor,interaction_type:f?.triggers?.click?.toLowerCase(),target_type:f?.targetTypes?.dropdownItem,target_name:f?.targetNames?.pageList?.addNewPage,interaction_result:f?.interactionResults?.create,target_location:f?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:f?.secondaryLocations?.pageListDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:f?.targetTypes?.dropdownItem});const{id:o}=await n();e(),await d(o)}},t),o.createElement(i.ListItemIcon,null,u?o.createElement(i.CircularProgress,{size:"1.25rem"}):o.createElement(r.PlusIcon,{fontSize:"small"})),o.createElement(i.ListItemText,{primaryTypographyProps:{variant:"body2"},primary:(0,c.__)("Add new page","elementor")}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/indicator.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return Indicator}});var o=n("react"),a=n("@elementor/ui");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function Indicator({title:e,status:t}){return o.createElement(Tooltip,{title:e},o.createElement(a.Stack,{component:"span",direction:"row",alignItems:"center",spacing:.5},o.createElement(a.Typography,{component:"span",variant:"body2",sx:{maxWidth:"120px"},noWrap:!0},e),"publish"!==t.value&&o.createElement(a.Typography,{component:"span",variant:"body2",sx:{fontStyle:"italic"}},"(",t.label,")")))}function Tooltip(e){return o.createElement(a.Tooltip,_extends({PopperProps:{sx:{"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom":{mt:2.7}}}},e))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/post-list-item.tsx":function(e,t,n){n.r(t),n.d(t,{PostListItem:function(){return PostListItem}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@elementor/events"),r=n("@elementor/ui"),i=n("./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts"),c=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/chip-doc-type.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function PostListItem({post:e,closePopup:t,...n}){const l=(0,a.__useNavigateToDocument)(),p=(0,i.useReverseHtmlEntities)(e.title),{dispatchEvent:u,config:d}=(0,s.useMixpanel)();return o.createElement(r.MenuItem,_extends({disabled:!e.user_can.edit,onClick:async()=>{const n=d?.names?.editorOne?.topBarPageList;n&&u?.(n,{app_type:d?.appTypes?.editor,window_name:d?.appTypes?.editor,interaction_type:d?.triggers?.click?.toLowerCase(),target_type:d?.targetTypes?.dropdownItem,target_name:p,interaction_result:d?.interactionResults?.navigate,target_location:d?.locations?.topBar?.replace(/\s+/g,"_").toLowerCase(),location_l1:d?.secondaryLocations?.pageListDropdown?.replace(/\s+/g,"_").toLowerCase(),location_l2:d?.targetTypes?.dropdownItem}),t(),await l(e.id)}},n),o.createElement(r.ListItemText,{sx:{flexGrow:0},primaryTypographyProps:{variant:"body2",noWrap:!0},primary:p}),o.createElement(c.default,{postType:e.type.post_type,docType:e.type.doc_type,label:e.type.label}))}},"./packages/packages/core/editor-site-navigation/src/components/top-bar/recently-edited.tsx":function(e,t,n){n.r(t),n.d(t,{default:function(){return RecentlyEdited}});var o=n("react"),a=n("@elementor/editor-documents"),s=n("@elementor/icons"),r=n("@elementor/ui"),i=n("@wordpress/i18n"),c=n("./packages/packages/core/editor-site-navigation/src/api/recent-posts.ts"),l=n("./packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts"),p=n("./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts"),u=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/create-post-list-item.tsx"),d=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/indicator.tsx"),m=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/post-list-item.tsx");function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_extends.apply(null,arguments)}function RecentlyEdited(){const e=(0,a.__useActiveDocument)(),t=(0,a.__useHostDocument)(),n=e&&"kit"!==e.type.value?e:t,{data:g}=(0,l.default)(),f=g?g.filter(e=>e.id!==n?.id).splice(0,c.NUMBER_OF_RECENT_POSTS-1):[],k=(0,r.usePopupState)({variant:"popover",popupId:"elementor-v2-top-bar-recently-edited"}),v=(0,p.useReverseHtmlEntities)(n?.title);if(!n)return null;const x=(0,r.bindTrigger)(k);return o.createElement(o.Fragment,null,o.createElement(r.Button,_extends({color:"inherit",size:"small",endIcon:o.createElement(s.ChevronDownIcon,{fontSize:"small"})},x,{onClick:e=>{const t=window,n=t?.elementorCommon?.eventsManager?.config;n&&t.elementorCommon.eventsManager.dispatchEvent(n.names.topBar.documentNameDropdown,{location:n.locations.topBar,secondaryLocation:n.secondaryLocations.documentNameDropdown,trigger:n.triggers.dropdownClick,element:n.elements.dropdown}),x.onClick(e)}}),o.createElement(d.default,{title:v,status:n.status})),o.createElement(r.Menu,_extends({MenuListProps:{subheader:o.createElement(r.ListSubheader,{color:"primary",sx:{fontStyle:"italic",fontWeight:"300"}},(0,i.__)("Recent","elementor"))},PaperProps:{sx:{mt:2.5,width:320}}},(0,r.bindMenu)(k)),f.map(e=>o.createElement(m.PostListItem,{key:e.id,post:e,closePopup:k.close})),0===f.length&&o.createElement(r.MenuItem,{disabled:!0},o.createElement(r.ListItemText,{primaryTypographyProps:{variant:"caption",fontStyle:"italic"},primary:(0,i.__)("There are no other pages or templates on this site yet.","elementor")})),o.createElement(r.Divider,{disabled:0===f.length}),o.createElement(u.CreatePostListItem,{closePopup:k.close})))}},"./packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx":function(e,t,n){n.r(t),n.d(t,{PostListContextProvider:function(){return PostListContextProvider},usePostListContext:function(){return usePostListContext}});var o=n("react");const a={type:"page",editMode:{mode:"none",details:{}},setEditMode:()=>null,resetEditMode:()=>null,setError:()=>null},s=(0,o.createContext)(a),PostListContextProvider=({type:e,setError:t,children:n})=>{const[r,i]=(0,o.useState)(a.editMode);return o.createElement(s.Provider,{value:{type:e,editMode:r,setEditMode:i,resetEditMode:()=>{i(a.editMode)},setError:t}},n)};function usePostListContext(){const e=(0,o.useContext)(s);if(!e)throw new Error("The `usePostListContext()` hook must be used within an `<PostListContextProvider />`");return e}},"./packages/packages/core/editor-site-navigation/src/env.ts":function(e,t,n){n.r(t),n.d(t,{env:function(){return a}});var o=n("@elementor/env");const{env:a}=(0,o.parseEnv)("@elementor/editor-site-navigation",e=>e)},"./packages/packages/core/editor-site-navigation/src/hooks/use-create-page.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useCreatePage},endpointPath:function(){return r}});var o=n("react"),a=n("@wordpress/api-fetch"),s=n.n(a);const r="/elementor/v1/site-navigation/add-new-post";function useCreatePage(){const[e,t]=(0,o.useState)(!1);return{create:()=>(t(!0),async function addNewPage(){return await s()({path:r,method:"POST",data:{post_type:"page"}})}().then(e=>e).finally(()=>t(!1))),isLoading:e}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-homepage-actions.ts":function(e,t,n){n.r(t),n.d(t,{useHomepageActions:function(){return useHomepageActions}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/settings.ts"),s=n("./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts");function useHomepageActions(){const e=function useInvalidateSettings(){const e=(0,o.useQueryClient)();return(t={})=>{const n=(0,s.settingsQueryKey)();return e.invalidateQueries({queryKey:n},t)}}();return{updateSettingsMutation:(0,o.useMutation)({mutationFn:e=>(0,a.updateSettings)(e),onSuccess:async()=>e({exact:!0})})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts":function(e,t,n){n.r(t),n.d(t,{settingsQueryKey:function(){return settingsQueryKey},useHomepage:function(){return useHomepage}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/settings.ts");const settingsQueryKey=()=>["site-navigation","homepage"];function useHomepage(){return(0,o.useQuery)({queryKey:settingsQueryKey(),queryFn:()=>(0,a.getSettings)()})}},"./packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts":function(e,t,n){n.r(t),n.d(t,{usePostActions:function(){return usePostActions}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/post.ts"),s=n("./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts"),r=n("./packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts");function usePostActions(e){const t=function useInvalidatePosts(e){const t=(0,o.useQueryClient)();return(n={})=>{const o=(0,s.postsQueryKey)(e);return t.invalidateQueries({queryKey:r.recentPostsQueryKey},n),t.invalidateQueries({queryKey:o},n)}}(e),onSuccess=()=>t({exact:!0});return{createPost:(0,o.useMutation)({mutationFn:t=>(0,a.createRequest)(e,t),onSuccess:onSuccess}),updatePost:(0,o.useMutation)({mutationFn:t=>(0,a.updateRequest)(e,t),onSuccess:onSuccess}),deletePost:(0,o.useMutation)({mutationFn:t=>(0,a.deleteRequest)(e,t),onSuccess:onSuccess}),duplicatePost:(0,o.useMutation)({mutationFn:e=>(0,a.duplicateRequest)(e),onSuccess:onSuccess})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts":function(e,t,n){n.r(t),n.d(t,{postsQueryKey:function(){return postsQueryKey},usePosts:function(){return usePosts}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/post.ts");const postsQueryKey=e=>["site-navigation","posts",e],flattenData=e=>{if(!e)return e;const t=[];return e.pages.forEach(e=>{t.push(...e.data)}),t};function usePosts(e){const t=(0,o.useInfiniteQuery)({queryKey:postsQueryKey(e),queryFn:({pageParam:t=1})=>(0,a.getRequest)(e,t),initialPageParam:1,getNextPageParam:e=>e.currentPage<e.totalPages?e.currentPage+1:void 0});return{...t,data:{posts:flattenData(t.data),total:t.data?.pages[0]?.totalPosts??0}}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useRecentPosts},recentPostsQueryKey:function(){return s}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/recent-posts.ts");const s=["site-navigation","recent-posts"];function useRecentPosts(){return(0,o.useQuery)({queryKey:s,queryFn:()=>(0,a.getRequest)()})}},"./packages/packages/core/editor-site-navigation/src/hooks/use-rename-active-document.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useRenameActiveDocument}});var o=n("@elementor/editor-v1-adapters");function useRenameActiveDocument(){return async e=>{const t=function getV1DocumentsManager(){const e=window.elementor?.documents;if(!e)throw new Error("Elementor Editor V1 documents manager not found");return e}().getCurrent().container;await(0,o.__privateRunCommand)("document/elements/settings",{container:t,settings:{post_title:e}})}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts":function(e,t,n){n.r(t),n.d(t,{useReverseHtmlEntities:function(){return useReverseHtmlEntities}});var o=n("react");function useReverseHtmlEntities(e=""){return(0,o.useMemo)(()=>{const t=document.createElement("textarea");t.innerHTML=e;const{value:n}=t;return t.remove(),n},[e])}},"./packages/packages/core/editor-site-navigation/src/hooks/use-toggle-button-props.ts":function(e,t,n){n.r(t),n.d(t,{useToggleButtonProps:function(){return useToggleButtonProps}});var o=n("@elementor/icons"),a=n("@wordpress/i18n"),s=n("./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts");function useToggleButtonProps(){const{isOpen:e,isBlocked:t}=(0,s.usePanelStatus)(),{open:n,close:r}=(0,s.usePanelActions)();return{title:(0,a.__)("Pages","elementor"),icon:o.PagesIcon,onClick:()=>{const t=window,o=t?.elementorCommon?.eventsManager?.config;return o&&t.elementorCommon.eventsManager.dispatchEvent("top_bar_pages",{location:o.locations.topBar,secondaryLocation:o.secondaryLocations.elementorLogo,trigger:o.triggers.click,element:o.elements.buttonIcon}),e?r():n()},selected:e,disabled:t}}},"./packages/packages/core/editor-site-navigation/src/hooks/use-user.ts":function(e,t,n){n.r(t),n.d(t,{default:function(){return useUser}});var o=n("@elementor/query"),a=n("./packages/packages/core/editor-site-navigation/src/api/user.ts");const userQueryKey=()=>["site-navigation","user"];function useUser(){return(0,o.useQuery)({queryKey:userQueryKey(),queryFn:a.getUser,staleTime:18e5})}},"./packages/packages/core/editor-site-navigation/src/icons-map.ts":function(e,t,n){n.r(t),n.d(t,{extendIconsMap:function(){return extendIconsMap},getIconsMap:function(){return getIconsMap},resetIconsMap:function(){return resetIconsMap}});var o=n("@elementor/icons");const a={page:o.PageTemplateIcon,section:o.SectionTemplateIcon,container:o.ContainerTemplateIcon,"wp-page":o.PageTypeIcon,"wp-post":o.PostTypeIcon};let s={...a};function extendIconsMap(e){Object.assign(s,e)}function getIconsMap(){return s}function resetIconsMap(){s={...a}}},"./packages/packages/core/editor-site-navigation/src/init.ts":function(e,t,n){n.r(t),n.d(t,{init:function(){return init}});var o=n("@elementor/editor-app-bar"),a=n("@elementor/editor-panels"),s=n("./packages/packages/core/editor-site-navigation/src/components/panel/panel.ts"),r=n("./packages/packages/core/editor-site-navigation/src/components/top-bar/recently-edited.tsx"),i=n("./packages/packages/core/editor-site-navigation/src/env.ts"),c=n("./packages/packages/core/editor-site-navigation/src/hooks/use-toggle-button-props.ts");function init(){!function registerTopBarMenuItems(){(0,o.injectIntoPageIndication)({id:"document-recently-edited",component:r.default})}(),i.env.is_pages_panel_active&&((0,a.__registerPanel)(s.panel),function registerButton(){o.toolsMenu.registerToggleAction({id:"toggle-site-navigation-panel",priority:20,useProps:c.useToggleButtonProps})}())}},"@elementor/editor-app-bar":function(e){e.exports=window.elementorV2.editorAppBar},"@elementor/editor-documents":function(e){e.exports=window.elementorV2.editorDocuments},"@elementor/editor-panels":function(e){e.exports=window.elementorV2.editorPanels},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/env":function(e){e.exports=window.elementorV2.env},"@elementor/events":function(e){e.exports=window.elementorV2.events},"@elementor/icons":function(e){e.exports=window.elementorV2.icons},"@elementor/query":function(e){e.exports=window.elementorV2.query},"@elementor/ui":function(e){e.exports=window.elementorV2.ui},"@wordpress/api-fetch":function(e){e.exports=window.wp.apiFetch},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,__webpack_require__),a.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 n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__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 n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{extendIconsMap:function(){return e.extendIconsMap},init:function(){return t.init}});var e=__webpack_require__("./packages/packages/core/editor-site-navigation/src/icons-map.ts"),t=__webpack_require__("./packages/packages/core/editor-site-navigation/src/init.ts")}(),(window.elementorV2=window.elementorV2||{}).editorSiteNavigation=n}(),window.elementorV2.editorSiteNavigation?.init?.(); | |
| 1 | +(function(_elementor_icons, _elementor_editor_app_bar, _elementor_editor_panels, react, _wordpress_i18n, _elementor_ui, _wordpress_api_fetch, _elementor_query, _elementor_editor_documents, _elementor_editor_v1_adapters, _elementor_events, _elementor_env) { | |
| 2 | + | |
| 3 | +//#region \0rolldown/runtime.js | |
| 4 | + var __create = Object.create; | |
| 5 | + var __defProp = Object.defineProperty; | |
| 6 | + var __name = (target, value) => __defProp(target, "name", { | |
| 7 | + value, | |
| 8 | + configurable: true | |
| 9 | + }); | |
| 10 | + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | |
| 11 | + var __getOwnPropNames = Object.getOwnPropertyNames; | |
| 12 | + var __getProtoOf = Object.getPrototypeOf; | |
| 13 | + var __hasOwnProp = Object.prototype.hasOwnProperty; | |
| 14 | + var __exportAll = (all, no_symbols) => { | |
| 15 | + let target = {}; | |
| 16 | + for (var name in all) { | |
| 17 | + __defProp(target, name, { | |
| 18 | + get: all[name], | |
| 19 | + enumerable: true | |
| 20 | + }); | |
| 21 | + } | |
| 22 | + if (!no_symbols) { | |
| 23 | + __defProp(target, Symbol.toStringTag, { value: "Module" }); | |
| 24 | + } | |
| 25 | + return target; | |
| 26 | + }; | |
| 27 | + var __copyProps = (to, from, except, desc) => { | |
| 28 | + if (from && typeof from === "object" || typeof from === "function") { | |
| 29 | + for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { | |
| 30 | + key = keys[i]; | |
| 31 | + if (!__hasOwnProp.call(to, key) && key !== except) { | |
| 32 | + __defProp(to, key, { | |
| 33 | + get: ((k) => from[k]).bind(null, key), | |
| 34 | + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable | |
| 35 | + }); | |
| 36 | + } | |
| 37 | + } | |
| 38 | + } | |
| 39 | + return to; | |
| 40 | + }; | |
| 41 | + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { | |
| 42 | + value: mod, | |
| 43 | + enumerable: true | |
| 44 | + }) : target, mod)); | |
| 45 | + | |
| 46 | +//#endregion | |
| 47 | +react = __toESM(react); | |
| 48 | +_wordpress_api_fetch = __toESM(_wordpress_api_fetch); | |
| 49 | + | |
| 50 | +//#region packages/packages/core/editor-site-navigation/src/icons-map.ts | |
| 51 | + var initialIconsMap = { | |
| 52 | + page: _elementor_icons.PageTemplateIcon, | |
| 53 | + section: _elementor_icons.SectionTemplateIcon, | |
| 54 | + container: _elementor_icons.ContainerTemplateIcon, | |
| 55 | + "wp-page": _elementor_icons.PageTypeIcon, | |
| 56 | + "wp-post": _elementor_icons.PostTypeIcon | |
| 57 | + }; | |
| 58 | + var iconsMap$1 = { ...initialIconsMap }; | |
| 59 | + function extendIconsMap(additionalIcons) { | |
| 60 | + Object.assign(iconsMap$1, additionalIcons); | |
| 61 | + } | |
| 62 | + function getIconsMap() { | |
| 63 | + return iconsMap$1; | |
| 64 | + } | |
| 65 | + | |
| 66 | +//#endregion | |
| 67 | +//#region packages/packages/core/editor-site-navigation/src/contexts/post-list-context.tsx | |
| 68 | + var defaultValues = { | |
| 69 | + type: "page", | |
| 70 | + editMode: { | |
| 71 | + mode: "none", | |
| 72 | + details: {} | |
| 73 | + }, | |
| 74 | + setEditMode: () => null, | |
| 75 | + resetEditMode: () => null, | |
| 76 | + setError: () => null | |
| 77 | + }; | |
| 78 | + var PostListContext = (0, react.createContext)(defaultValues); | |
| 79 | + var PostListContextProvider = ({ type, setError, children }) => { | |
| 80 | + const [editMode, setEditMode] = (0, react.useState)(defaultValues.editMode); | |
| 81 | + const resetEditMode = () => { | |
| 82 | + setEditMode(defaultValues.editMode); | |
| 83 | + }; | |
| 84 | + return /* @__PURE__ */ react.createElement(PostListContext.Provider, { value: { | |
| 85 | + type, | |
| 86 | + editMode, | |
| 87 | + setEditMode, | |
| 88 | + resetEditMode, | |
| 89 | + setError | |
| 90 | + } }, children); | |
| 91 | + }; | |
| 92 | + function usePostListContext() { | |
| 93 | + const context = (0, react.useContext)(PostListContext); | |
| 94 | + if (!context) throw new Error("The `usePostListContext()` hook must be used within an `<PostListContextProvider />`"); | |
| 95 | + return context; | |
| 96 | + } | |
| 97 | + | |
| 98 | +//#endregion | |
| 99 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/error-snackbar.tsx | |
| 100 | + var ErrorSnackbar = ({ open, onClose }) => { | |
| 101 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Snackbar, { | |
| 102 | + open, | |
| 103 | + onClose, | |
| 104 | + anchorOrigin: { | |
| 105 | + vertical: "bottom", | |
| 106 | + horizontal: "left" | |
| 107 | + } | |
| 108 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.Alert, { | |
| 109 | + onClose, | |
| 110 | + severity: "error", | |
| 111 | + sx: { width: "100%" } | |
| 112 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 113 | + component: "span", | |
| 114 | + sx: { fontWeight: "bold" } | |
| 115 | + }, "We couldn’t complete the action."), " ", "Please try again")); | |
| 116 | + }; | |
| 117 | + | |
| 118 | +//#endregion | |
| 119 | +//#region packages/packages/core/editor-site-navigation/src/api/post.ts | |
| 120 | + var postTypesMap = { page: { | |
| 121 | + labels: { | |
| 122 | + singular_name: (0, _wordpress_i18n.__)("Page", "elementor"), | |
| 123 | + plural_name: (0, _wordpress_i18n.__)("Pages", "elementor") | |
| 124 | + }, | |
| 125 | + rest_base: "pages" | |
| 126 | + } }; | |
| 127 | + var POST_PER_PAGE = 10; | |
| 128 | + var getRequest$1 = /* @__PURE__ */ __name(async (postTypeSlug, page) => { | |
| 129 | + const baseUri = `/wp/v2/${postTypesMap[postTypeSlug].rest_base}`; | |
| 130 | + const queryParams = new URLSearchParams({ | |
| 131 | + status: "any", | |
| 132 | + order: "asc", | |
| 133 | + page: page.toString(), | |
| 134 | + per_page: 10 .toString(), | |
| 135 | + _fields: [ | |
| 136 | + "id", | |
| 137 | + "type", | |
| 138 | + "title", | |
| 139 | + "link", | |
| 140 | + "status", | |
| 141 | + "user_can" | |
| 142 | + ].join(",") | |
| 143 | + }); | |
| 144 | + const result = await (0, _wordpress_api_fetch.default)({ | |
| 145 | + path: baseUri + "?" + queryParams.toString(), | |
| 146 | + parse: false | |
| 147 | + }); | |
| 148 | + return { | |
| 149 | + data: await result.json(), | |
| 150 | + totalPages: Number(result.headers.get("x-wp-totalpages")), | |
| 151 | + totalPosts: Number(result.headers.get("x-wp-total")), | |
| 152 | + currentPage: page | |
| 153 | + }; | |
| 154 | + }, "getRequest"); | |
| 155 | + var createRequest = (postTypeSlug, newPost) => { | |
| 156 | + return (0, _wordpress_api_fetch.default)({ | |
| 157 | + path: `/wp/v2/${postTypesMap[postTypeSlug].rest_base}`, | |
| 158 | + method: "POST", | |
| 159 | + data: newPost | |
| 160 | + }); | |
| 161 | + }; | |
| 162 | + var updateRequest = (postTypeSlug, updatedPost) => { | |
| 163 | + const path = `/wp/v2/${postTypesMap[postTypeSlug].rest_base}`; | |
| 164 | + const { id, ...data } = updatedPost; | |
| 165 | + return (0, _wordpress_api_fetch.default)({ | |
| 166 | + path: `${path}/${id}`, | |
| 167 | + method: "POST", | |
| 168 | + data | |
| 169 | + }); | |
| 170 | + }; | |
| 171 | + var deleteRequest = (postTypeSlug, postId) => { | |
| 172 | + return (0, _wordpress_api_fetch.default)({ | |
| 173 | + path: `${`/wp/v2/${postTypesMap[postTypeSlug].rest_base}`}/${postId}`, | |
| 174 | + method: "DELETE" | |
| 175 | + }); | |
| 176 | + }; | |
| 177 | + var duplicateRequest = (originalPost) => { | |
| 178 | + return (0, _wordpress_api_fetch.default)({ | |
| 179 | + path: `/elementor/v1/site-navigation/duplicate-post`, | |
| 180 | + method: "POST", | |
| 181 | + data: { | |
| 182 | + post_id: originalPost.id, | |
| 183 | + title: originalPost.title | |
| 184 | + } | |
| 185 | + }); | |
| 186 | + }; | |
| 187 | + | |
| 188 | +//#endregion | |
| 189 | +//#region packages/packages/core/editor-site-navigation/src/api/settings.ts | |
| 190 | + var getSettings = () => { | |
| 191 | + return (0, _wordpress_api_fetch.default)({ path: "/elementor/v1/site-navigation/homepage" }); | |
| 192 | + }; | |
| 193 | + var updateSettings = (settings) => { | |
| 194 | + return (0, _wordpress_api_fetch.default)({ | |
| 195 | + path: "/wp/v2/settings", | |
| 196 | + method: "POST", | |
| 197 | + data: settings | |
| 198 | + }); | |
| 199 | + }; | |
| 200 | + | |
| 201 | +//#endregion | |
| 202 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-homepage.ts | |
| 203 | + var settingsQueryKey = () => ["site-navigation", "homepage"]; | |
| 204 | + function useHomepage() { | |
| 205 | + return (0, _elementor_query.useQuery)({ | |
| 206 | + queryKey: settingsQueryKey(), | |
| 207 | + queryFn: () => getSettings() | |
| 208 | + }); | |
| 209 | + } | |
| 210 | + | |
| 211 | +//#endregion | |
| 212 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-posts.ts | |
| 213 | + var postsQueryKey = (postTypeSlug) => [ | |
| 214 | + "site-navigation", | |
| 215 | + "posts", | |
| 216 | + postTypeSlug | |
| 217 | + ]; | |
| 218 | + var flattenData = (data) => { | |
| 219 | + if (!data) return data; | |
| 220 | + const flattened = []; | |
| 221 | + data.pages.forEach((page) => { | |
| 222 | + flattened.push(...page.data); | |
| 223 | + }); | |
| 224 | + return flattened; | |
| 225 | + }; | |
| 226 | + function usePosts(postTypeSlug) { | |
| 227 | + const query = (0, _elementor_query.useInfiniteQuery)({ | |
| 228 | + queryKey: postsQueryKey(postTypeSlug), | |
| 229 | + queryFn: ({ pageParam = 1 }) => getRequest$1(postTypeSlug, pageParam), | |
| 230 | + initialPageParam: 1, | |
| 231 | + getNextPageParam: (lastPage) => { | |
| 232 | + return lastPage.currentPage < lastPage.totalPages ? lastPage.currentPage + 1 : void 0; | |
| 233 | + } | |
| 234 | + }); | |
| 235 | + return { | |
| 236 | + ...query, | |
| 237 | + data: { | |
| 238 | + posts: flattenData(query.data), | |
| 239 | + total: query.data?.pages[0]?.totalPosts ?? 0 | |
| 240 | + } | |
| 241 | + }; | |
| 242 | + } | |
| 243 | + | |
| 244 | +//#endregion | |
| 245 | +//#region packages/packages/core/editor-site-navigation/src/api/user.ts | |
| 246 | + var getUser = () => { | |
| 247 | + return (0, _wordpress_api_fetch.default)({ path: "/wp/v2/users/me?" + new URLSearchParams({ | |
| 248 | + _fields: ["capabilities"].join(","), | |
| 249 | + context: "edit" | |
| 250 | + }).toString() }); | |
| 251 | + }; | |
| 252 | + | |
| 253 | +//#endregion | |
| 254 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-user.ts | |
| 255 | + var userQueryKey = () => ["site-navigation", "user"]; | |
| 256 | + function useUser() { | |
| 257 | + return (0, _elementor_query.useQuery)({ | |
| 258 | + queryKey: userQueryKey(), | |
| 259 | + queryFn: getUser, | |
| 260 | + staleTime: 1800 * 1e3 | |
| 261 | + }); | |
| 262 | + } | |
| 263 | + | |
| 264 | +//#endregion | |
| 265 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/add-new-button.tsx | |
| 266 | + function AddNewButton() { | |
| 267 | + const { setEditMode } = usePostListContext(); | |
| 268 | + const { data: user } = useUser(); | |
| 269 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Button, { | |
| 270 | + size: "small", | |
| 271 | + startIcon: /* @__PURE__ */ react.createElement(_elementor_icons.PlusIcon, null), | |
| 272 | + disabled: !user?.capabilities?.edit_pages, | |
| 273 | + onClick: () => { | |
| 274 | + setEditMode({ | |
| 275 | + mode: "create", | |
| 276 | + details: {} | |
| 277 | + }); | |
| 278 | + }, | |
| 279 | + sx: { px: 1.5 } | |
| 280 | + }, (0, _wordpress_i18n.__)("Add New", "elementor")); | |
| 281 | + } | |
| 282 | + | |
| 283 | +//#endregion | |
| 284 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/collapsible-list.tsx | |
| 285 | + var RotateIcon = (0, _elementor_ui.styled)(_elementor_icons.ChevronDownIcon, { shouldForwardProp: (prop) => prop !== "isOpen" })(({ theme, isOpen }) => ({ | |
| 286 | + transform: isOpen ? "rotate(0deg)" : "rotate(-90deg)", | |
| 287 | + transition: theme.transitions.create("transform", { duration: theme.transitions.duration.standard }) | |
| 288 | + })); | |
| 289 | + var StyledListItemIcon = (0, _elementor_ui.styled)(_elementor_ui.ListItemIcon)(({ theme }) => ({ minWidth: theme.spacing(4) })); | |
| 290 | + function CollapsibleList({ label, Icon, isOpenByDefault = false, children }) { | |
| 291 | + const [isOpen, setIsOpen] = (0, react.useState)(isOpenByDefault); | |
| 292 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.ListItem, null, /* @__PURE__ */ react.createElement(StyledListItemIcon, { sx: { color: "text.secondary" } }, /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, { | |
| 293 | + onClick: () => setIsOpen((prev) => !prev), | |
| 294 | + size: "small", | |
| 295 | + sx: { color: "inherit" } | |
| 296 | + }, /* @__PURE__ */ react.createElement(RotateIcon, { | |
| 297 | + fontSize: "small", | |
| 298 | + isOpen | |
| 299 | + }))), /* @__PURE__ */ react.createElement(StyledListItemIcon, { | |
| 300 | + size: "small", | |
| 301 | + sx: { color: "inherit" } | |
| 302 | + }, /* @__PURE__ */ react.createElement(Icon, { fontSize: "small" })), /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { | |
| 303 | + primaryTypographyProps: { | |
| 304 | + variant: "subtitle2", | |
| 305 | + component: "span" | |
| 306 | + }, | |
| 307 | + primary: label | |
| 308 | + })), /* @__PURE__ */ react.createElement(_elementor_ui.Collapse, { | |
| 309 | + in: isOpen, | |
| 310 | + timeout: "auto", | |
| 311 | + unmountOnExit: true | |
| 312 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.List, { dense: true }, children)), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { sx: { mt: 1 } })); | |
| 313 | + } | |
| 314 | + | |
| 315 | +//#endregion | |
| 316 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/error-state.tsx | |
| 317 | + function ErrorState() { | |
| 318 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: { | |
| 319 | + display: "flex", | |
| 320 | + flexDirection: "column", | |
| 321 | + justifyContent: "center", | |
| 322 | + alignItems: "center", | |
| 323 | + pt: "40px", | |
| 324 | + gap: "16px" | |
| 325 | + } }, /* @__PURE__ */ react.createElement(_elementor_icons.Error404TemplateIcon, null), /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: { | |
| 326 | + display: "flex", | |
| 327 | + flexDirection: "column", | |
| 328 | + justifyContent: "center", | |
| 329 | + alignItems: "center", | |
| 330 | + gap: "8px" | |
| 331 | + } }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 332 | + variant: "body1", | |
| 333 | + color: "text.primary" | |
| 334 | + }, (0, _wordpress_i18n.__)("We couldn’t display your pages.", "elementor")), /* @__PURE__ */ react.createElement(_elementor_ui.Box, null, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 335 | + variant: "body2", | |
| 336 | + color: "text.primary", | |
| 337 | + sx: { textAlign: "center" } | |
| 338 | + }, (0, _wordpress_i18n.__)("It’s probably a temporary issue.", "elementor")), /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 339 | + variant: "body2", | |
| 340 | + color: "text.primary", | |
| 341 | + sx: { textAlign: "center" } | |
| 342 | + }, (0, _wordpress_i18n.__)("If the problem persists,", "elementor"), " ", /* @__PURE__ */ react.createElement(_elementor_ui.Link, { | |
| 343 | + target: "_blank", | |
| 344 | + href: "https://go.elementor.com/wp-editor-support-open-ticket/" | |
| 345 | + }, "Notify support"))))); | |
| 346 | + } | |
| 347 | + | |
| 348 | +//#endregion | |
| 349 | +//#region packages/packages/core/editor-site-navigation/src/api/recent-posts.ts | |
| 350 | + var baseUrl = "/elementor/v1/site-navigation/recent-posts"; | |
| 351 | + var NUMBER_OF_RECENT_POSTS = 6; | |
| 352 | + var getRequest = () => { | |
| 353 | + const queryParams = new URLSearchParams({ posts_per_page: `${6}` }); | |
| 354 | + return (0, _wordpress_api_fetch.default)({ path: `${baseUrl}?${queryParams.toString()}` }); | |
| 355 | + }; | |
| 356 | + | |
| 357 | +//#endregion | |
| 358 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-recent-posts.ts | |
| 359 | + var recentPostsQueryKey = ["site-navigation", "recent-posts"]; | |
| 360 | + function useRecentPosts() { | |
| 361 | + return (0, _elementor_query.useQuery)({ | |
| 362 | + queryKey: recentPostsQueryKey, | |
| 363 | + queryFn: () => getRequest() | |
| 364 | + }); | |
| 365 | + } | |
| 366 | + | |
| 367 | +//#endregion | |
| 368 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-posts-actions.ts | |
| 369 | + function usePostActions(postTypeSlug) { | |
| 370 | + const invalidatePosts = useInvalidatePosts(postTypeSlug); | |
| 371 | + const onSuccess = () => invalidatePosts({ exact: true }); | |
| 372 | + return { | |
| 373 | + createPost: (0, _elementor_query.useMutation)({ | |
| 374 | + mutationFn: (newPost) => createRequest(postTypeSlug, newPost), | |
| 375 | + onSuccess | |
| 376 | + }), | |
| 377 | + updatePost: (0, _elementor_query.useMutation)({ | |
| 378 | + mutationFn: (updatedPost) => updateRequest(postTypeSlug, updatedPost), | |
| 379 | + onSuccess | |
| 380 | + }), | |
| 381 | + deletePost: (0, _elementor_query.useMutation)({ | |
| 382 | + mutationFn: (postId) => deleteRequest(postTypeSlug, postId), | |
| 383 | + onSuccess | |
| 384 | + }), | |
| 385 | + duplicatePost: (0, _elementor_query.useMutation)({ | |
| 386 | + mutationFn: (originalPost) => duplicateRequest(originalPost), | |
| 387 | + onSuccess | |
| 388 | + }) | |
| 389 | + }; | |
| 390 | + } | |
| 391 | + function useInvalidatePosts(postTypeSlug) { | |
| 392 | + const queryClient = (0, _elementor_query.useQueryClient)(); | |
| 393 | + return (options = {}) => { | |
| 394 | + const queryKey = postsQueryKey(postTypeSlug); | |
| 395 | + queryClient.invalidateQueries({ queryKey: recentPostsQueryKey }, options); | |
| 396 | + return queryClient.invalidateQueries({ queryKey }, options); | |
| 397 | + }; | |
| 398 | + } | |
| 399 | + | |
| 400 | +//#endregion | |
| 401 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/edit-mode-template.tsx | |
| 402 | + function EditModeTemplate({ postTitle, isLoading, callback }) { | |
| 403 | + const [title, setTitle] = (0, react.useState)(postTitle); | |
| 404 | + const [touched, setTouched] = (0, react.useState)(false); | |
| 405 | + const [inputError, setInputError] = (0, react.useState)(null); | |
| 406 | + const closeButton = (0, react.useRef)(); | |
| 407 | + const onBlur = (e) => { | |
| 408 | + if (closeButton.current === e.relatedTarget) return; | |
| 409 | + runCallback(); | |
| 410 | + }; | |
| 411 | + const onFormSubmit = (e) => { | |
| 412 | + e.preventDefault(); | |
| 413 | + runCallback(); | |
| 414 | + }; | |
| 415 | + const validateInput = (input) => { | |
| 416 | + return input.trim() !== ""; | |
| 417 | + }; | |
| 418 | + const runCallback = () => { | |
| 419 | + if (!validateInput(title)) return; | |
| 420 | + callback(title); | |
| 421 | + }; | |
| 422 | + const onChange = (e) => { | |
| 423 | + if (!touched) setTouched(true); | |
| 424 | + const value = e.target.value; | |
| 425 | + if (!validateInput(value)) setInputError((0, _wordpress_i18n.__)("Name is required", "elementor")); | |
| 426 | + else setInputError(null); | |
| 427 | + setTitle(value); | |
| 428 | + }; | |
| 429 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.ListItem, { secondaryAction: /* @__PURE__ */ react.createElement(CloseButton, { | |
| 430 | + isLoading, | |
| 431 | + closeButton | |
| 432 | + }) }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, { | |
| 433 | + width: "100%", | |
| 434 | + component: "form", | |
| 435 | + onSubmit: onFormSubmit | |
| 436 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.TextField, { | |
| 437 | + autoFocus: true, | |
| 438 | + fullWidth: true, | |
| 439 | + value: title, | |
| 440 | + onChange, | |
| 441 | + disabled: isLoading, | |
| 442 | + error: !!inputError, | |
| 443 | + onBlur, | |
| 444 | + variant: "outlined", | |
| 445 | + color: "secondary", | |
| 446 | + size: "small" | |
| 447 | + }))), inputError && /* @__PURE__ */ react.createElement(_elementor_ui.ListItem, null, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { sx: { color: "error.main" } }, inputError))); | |
| 448 | + } | |
| 449 | + function CloseButton({ isLoading, closeButton }) { | |
| 450 | + const { resetEditMode } = usePostListContext(); | |
| 451 | + return /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, { | |
| 452 | + size: "small", | |
| 453 | + color: "secondary", | |
| 454 | + onClick: resetEditMode, | |
| 455 | + ref: closeButton, | |
| 456 | + disabled: isLoading | |
| 457 | + }, isLoading ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, null) : /* @__PURE__ */ react.createElement(_elementor_icons.XIcon, { fontSize: "small" })); | |
| 458 | + } | |
| 459 | + | |
| 460 | +//#endregion | |
| 461 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-create.tsx | |
| 462 | + function ListItemCreate() { | |
| 463 | + const { type, resetEditMode } = usePostListContext(); | |
| 464 | + const { createPost } = usePostActions(type); | |
| 465 | + const navigateToDocument = (0, _elementor_editor_documents.__useNavigateToDocument)(); | |
| 466 | + const { setError } = usePostListContext(); | |
| 467 | + const createPostCallback = async (inputValue) => { | |
| 468 | + try { | |
| 469 | + const { id } = await createPost.mutateAsync({ | |
| 470 | + title: inputValue, | |
| 471 | + status: "draft" | |
| 472 | + }); | |
| 473 | + navigateToDocument(id); | |
| 474 | + } catch { | |
| 475 | + setError(); | |
| 476 | + } finally { | |
| 477 | + resetEditMode(); | |
| 478 | + } | |
| 479 | + }; | |
| 480 | + return /* @__PURE__ */ react.createElement(EditModeTemplate, { | |
| 481 | + postTitle: (0, _wordpress_i18n.__)("New Page", "elementor"), | |
| 482 | + isLoading: createPost.isPending, | |
| 483 | + callback: createPostCallback | |
| 484 | + }); | |
| 485 | + } | |
| 486 | + | |
| 487 | +//#endregion | |
| 488 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-duplicate.tsx | |
| 489 | + function ListItemDuplicate() { | |
| 490 | + const { type, editMode, resetEditMode } = usePostListContext(); | |
| 491 | + const navigateToDocument = (0, _elementor_editor_documents.__useNavigateToDocument)(); | |
| 492 | + const { duplicatePost } = usePostActions(type); | |
| 493 | + const { setError } = usePostListContext(); | |
| 494 | + if ("duplicate" !== editMode.mode) return null; | |
| 495 | + const duplicatePostCallback = async (inputValue) => { | |
| 496 | + try { | |
| 497 | + const { post_id: postId } = await duplicatePost.mutateAsync({ | |
| 498 | + id: editMode.details.postId, | |
| 499 | + title: inputValue | |
| 500 | + }); | |
| 501 | + navigateToDocument(postId); | |
| 502 | + } catch { | |
| 503 | + setError(); | |
| 504 | + } finally { | |
| 505 | + resetEditMode(); | |
| 506 | + } | |
| 507 | + }; | |
| 508 | + return /* @__PURE__ */ react.createElement(EditModeTemplate, { | |
| 509 | + postTitle: `${editMode.details.title} ${(0, _wordpress_i18n.__)("copy", "elementor")}`, | |
| 510 | + isLoading: duplicatePost.isPending, | |
| 511 | + callback: duplicatePostCallback | |
| 512 | + }); | |
| 513 | + } | |
| 514 | + | |
| 515 | +//#endregion | |
| 516 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-rename-active-document.ts | |
| 517 | + function getV1DocumentsManager() { | |
| 518 | + const documentsManager = window.elementor?.documents; | |
| 519 | + if (!documentsManager) throw new Error("Elementor Editor V1 documents manager not found"); | |
| 520 | + return documentsManager; | |
| 521 | + } | |
| 522 | + function useRenameActiveDocument() { | |
| 523 | + return async (title) => { | |
| 524 | + const container = getV1DocumentsManager().getCurrent().container; | |
| 525 | + await (0, _elementor_editor_v1_adapters.__privateRunCommand)("document/elements/settings", { | |
| 526 | + container, | |
| 527 | + settings: { post_title: title } | |
| 528 | + }); | |
| 529 | + }; | |
| 530 | + } | |
| 531 | + | |
| 532 | +//#endregion | |
| 533 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-rename.tsx | |
| 534 | + function ListItemRename({ post }) { | |
| 535 | + const { type, resetEditMode } = usePostListContext(); | |
| 536 | + const { updatePost } = usePostActions(type); | |
| 537 | + const { setError } = usePostListContext(); | |
| 538 | + const activeDocument = (0, _elementor_editor_documents.__useActiveDocument)(); | |
| 539 | + const rename = useRenameActiveDocument(); | |
| 540 | + const isActive = activeDocument?.id === post.id; | |
| 541 | + const title = isActive ? activeDocument?.title : post.title.rendered; | |
| 542 | + const renamePostCallback = async (inputValue) => { | |
| 543 | + if (inputValue === title) resetEditMode(); | |
| 544 | + try { | |
| 545 | + if (isActive) await rename(inputValue); | |
| 546 | + else await updatePost.mutateAsync({ | |
| 547 | + id: post.id, | |
| 548 | + title: inputValue | |
| 549 | + }); | |
| 550 | + } catch { | |
| 551 | + setError(); | |
| 552 | + } finally { | |
| 553 | + resetEditMode(); | |
| 554 | + } | |
| 555 | + }; | |
| 556 | + return /* @__PURE__ */ react.createElement(EditModeTemplate, { | |
| 557 | + postTitle: title, | |
| 558 | + isLoading: updatePost.isPending, | |
| 559 | + callback: renamePostCallback | |
| 560 | + }); | |
| 561 | + } | |
| 562 | + | |
| 563 | +//#endregion | |
| 564 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-reverse-html-entities.ts | |
| 565 | + function useReverseHtmlEntities(escapedHTML = "") { | |
| 566 | + return (0, react.useMemo)(() => { | |
| 567 | + const textarea = document.createElement("textarea"); | |
| 568 | + textarea.innerHTML = escapedHTML; | |
| 569 | + const { value } = textarea; | |
| 570 | + textarea.remove(); | |
| 571 | + return value; | |
| 572 | + }, [escapedHTML]); | |
| 573 | + } | |
| 574 | + | |
| 575 | +//#endregion | |
| 576 | +//#region packages/packages/core/editor-site-navigation/src/components/shared/page-title-and-status.tsx | |
| 577 | + var PageStatus = ({ status }) => { | |
| 578 | + if ("publish" === status) return null; | |
| 579 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 580 | + component: "span", | |
| 581 | + variant: "body2", | |
| 582 | + color: "text.secondary", | |
| 583 | + sx: { | |
| 584 | + textTransform: "capitalize", | |
| 585 | + fontStyle: "italic", | |
| 586 | + whiteSpace: "nowrap", | |
| 587 | + flexBasis: "content" | |
| 588 | + } | |
| 589 | + }, "(", status, ")"); | |
| 590 | + }; | |
| 591 | + var PageTitle = ({ title }) => { | |
| 592 | + const modifiedTitle = useReverseHtmlEntities(title); | |
| 593 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 594 | + component: "span", | |
| 595 | + variant: "body2", | |
| 596 | + color: "text.secondary", | |
| 597 | + noWrap: true, | |
| 598 | + sx: { flexBasis: "auto" } | |
| 599 | + }, modifiedTitle); | |
| 600 | + }; | |
| 601 | + function PageTitleAndStatus({ title, status }) { | |
| 602 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { display: "flex" }, /* @__PURE__ */ react.createElement(PageTitle, { title }), "\xA0", /* @__PURE__ */ react.createElement(PageStatus, { status })); | |
| 603 | + } | |
| 604 | + | |
| 605 | +//#endregion | |
| 606 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/action-menu-item.tsx | |
| 607 | + function ActionMenuItem({ title, icon: Icon, MenuItemProps }) { | |
| 608 | + return /* @__PURE__ */ react.createElement(_elementor_ui.MenuItem, { ...MenuItemProps }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemIcon, { sx: { color: "inherit" } }, /* @__PURE__ */ react.createElement(Icon, null)), /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { primary: title })); | |
| 609 | + } | |
| 610 | + | |
| 611 | +//#endregion | |
| 612 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/delete.tsx | |
| 613 | + function Delete({ post }) { | |
| 614 | + const [isDialogOpen, setIsDialogOpen] = (0, react.useState)(false); | |
| 615 | + const isPostActive = (0, _elementor_editor_documents.__useActiveDocument)()?.id === post.id; | |
| 616 | + const isDisabled = !post.user_can.delete || post.isHome || isPostActive; | |
| 617 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ActionMenuItem, { | |
| 618 | + title: (0, _wordpress_i18n.__)("Delete", "elementor"), | |
| 619 | + icon: _elementor_icons.TrashIcon, | |
| 620 | + MenuItemProps: { | |
| 621 | + disabled: isDisabled, | |
| 622 | + onClick: () => setIsDialogOpen(true), | |
| 623 | + sx: { "&:hover": { color: "error.main" } } | |
| 624 | + } | |
| 625 | + }), isDialogOpen && /* @__PURE__ */ react.createElement(DeleteDialog, { | |
| 626 | + post, | |
| 627 | + setIsDialogOpen | |
| 628 | + })); | |
| 629 | + } | |
| 630 | + function DeleteDialog({ post, setIsDialogOpen }) { | |
| 631 | + const { type } = usePostListContext(); | |
| 632 | + const { deletePost } = usePostActions(type); | |
| 633 | + const { setError } = usePostListContext(); | |
| 634 | + const dialogTitle = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete \"%s\"?", "elementor"), post.title.rendered); | |
| 635 | + const deletePage = async () => { | |
| 636 | + try { | |
| 637 | + await deletePost.mutateAsync(post.id); | |
| 638 | + } catch { | |
| 639 | + setError(); | |
| 640 | + setIsDialogOpen(false); | |
| 641 | + } | |
| 642 | + }; | |
| 643 | + const handleCancel = () => { | |
| 644 | + if (deletePost.isPending) return; | |
| 645 | + setIsDialogOpen(false); | |
| 646 | + }; | |
| 647 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Dialog, { | |
| 648 | + open: true, | |
| 649 | + onClose: handleCancel, | |
| 650 | + "aria-labelledby": "delete-dialog" | |
| 651 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.DialogTitle, { noWrap: true }, dialogTitle), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, null), /* @__PURE__ */ react.createElement(_elementor_ui.DialogContent, null, /* @__PURE__ */ react.createElement(_elementor_ui.DialogContentText, null, (0, _wordpress_i18n.__)("The page and its content will be deleted forever and we won’t be able to recover them.", "elementor"))), /* @__PURE__ */ react.createElement(_elementor_ui.DialogActions, null, /* @__PURE__ */ react.createElement(_elementor_ui.Button, { | |
| 652 | + variant: "contained", | |
| 653 | + color: "secondary", | |
| 654 | + onClick: handleCancel, | |
| 655 | + disabled: deletePost.isPending | |
| 656 | + }, (0, _wordpress_i18n.__)("Cancel", "elementor")), /* @__PURE__ */ react.createElement(_elementor_ui.Button, { | |
| 657 | + variant: "contained", | |
| 658 | + color: "error", | |
| 659 | + onClick: deletePage, | |
| 660 | + disabled: deletePost.isPending | |
| 661 | + }, !deletePost.isPending ? (0, _wordpress_i18n.__)("Delete", "elementor") : /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, null)))); | |
| 662 | + } | |
| 663 | + | |
| 664 | +//#endregion | |
| 665 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/duplicate.tsx | |
| 666 | + function Duplicate({ post, popupState }) { | |
| 667 | + const { setEditMode } = usePostListContext(); | |
| 668 | + const { data: user } = useUser(); | |
| 669 | + const onClick = () => { | |
| 670 | + popupState.close(); | |
| 671 | + setEditMode({ | |
| 672 | + mode: "duplicate", | |
| 673 | + details: { | |
| 674 | + postId: post.id, | |
| 675 | + title: post.title.rendered | |
| 676 | + } | |
| 677 | + }); | |
| 678 | + }; | |
| 679 | + const isDisabled = !user?.capabilities?.edit_pages; | |
| 680 | + return /* @__PURE__ */ react.createElement(ActionMenuItem, { | |
| 681 | + title: (0, _wordpress_i18n.__)("Duplicate", "elementor"), | |
| 682 | + icon: _elementor_icons.CopyIcon, | |
| 683 | + MenuItemProps: { | |
| 684 | + disabled: isDisabled, | |
| 685 | + onClick | |
| 686 | + } | |
| 687 | + }); | |
| 688 | + } | |
| 689 | + | |
| 690 | +//#endregion | |
| 691 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/rename.tsx | |
| 692 | + function Rename({ post }) { | |
| 693 | + const { setEditMode } = usePostListContext(); | |
| 694 | + return /* @__PURE__ */ react.createElement(ActionMenuItem, { | |
| 695 | + title: (0, _wordpress_i18n.__)("Rename", "elementor"), | |
| 696 | + icon: _elementor_icons.EraseIcon, | |
| 697 | + MenuItemProps: { | |
| 698 | + disabled: !post.user_can.edit, | |
| 699 | + onClick: () => { | |
| 700 | + setEditMode({ | |
| 701 | + mode: "rename", | |
| 702 | + details: { postId: post.id } | |
| 703 | + }); | |
| 704 | + } | |
| 705 | + } | |
| 706 | + }); | |
| 707 | + } | |
| 708 | + | |
| 709 | +//#endregion | |
| 710 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-homepage-actions.ts | |
| 711 | + function useHomepageActions() { | |
| 712 | + const invalidateSettings = useInvalidateSettings(); | |
| 713 | + const onSuccess = async () => invalidateSettings({ exact: true }); | |
| 714 | + return { updateSettingsMutation: (0, _elementor_query.useMutation)({ | |
| 715 | + mutationFn: (settings) => updateSettings(settings), | |
| 716 | + onSuccess | |
| 717 | + }) }; | |
| 718 | + } | |
| 719 | + function useInvalidateSettings() { | |
| 720 | + const queryClient = (0, _elementor_query.useQueryClient)(); | |
| 721 | + return (options = {}) => { | |
| 722 | + const queryKey = settingsQueryKey(); | |
| 723 | + return queryClient.invalidateQueries({ queryKey }, options); | |
| 724 | + }; | |
| 725 | + } | |
| 726 | + | |
| 727 | +//#endregion | |
| 728 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/set-home.tsx | |
| 729 | + function SetHome({ post, closeMenu }) { | |
| 730 | + const { updateSettingsMutation } = useHomepageActions(); | |
| 731 | + const { setError } = usePostListContext(); | |
| 732 | + const { data: user } = useUser(); | |
| 733 | + const handleClick = async () => { | |
| 734 | + try { | |
| 735 | + await updateSettingsMutation.mutateAsync({ | |
| 736 | + show_on_front: "page", | |
| 737 | + page_on_front: post.id | |
| 738 | + }); | |
| 739 | + } catch { | |
| 740 | + setError(); | |
| 741 | + } finally { | |
| 742 | + closeMenu(); | |
| 743 | + } | |
| 744 | + }; | |
| 745 | + const canManageOptions = !!user?.capabilities?.manage_options; | |
| 746 | + const isPostPublished = post.status === "publish"; | |
| 747 | + const isPostHomepage = !!post.isHome; | |
| 748 | + const isDisabled = !canManageOptions || isPostHomepage || !isPostPublished || updateSettingsMutation.isPending; | |
| 749 | + return /* @__PURE__ */ react.createElement(ActionMenuItem, { | |
| 750 | + title: (0, _wordpress_i18n.__)("Set as homepage", "elementor"), | |
| 751 | + icon: !updateSettingsMutation.isPending ? _elementor_icons.HomeIcon : _elementor_ui.CircularProgress, | |
| 752 | + MenuItemProps: { | |
| 753 | + disabled: isDisabled, | |
| 754 | + onClick: handleClick | |
| 755 | + } | |
| 756 | + }); | |
| 757 | + } | |
| 758 | + | |
| 759 | +//#endregion | |
| 760 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/actions-menu/actions/view.tsx | |
| 761 | + function View({ post }) { | |
| 762 | + const { type } = usePostListContext(); | |
| 763 | + const title = (0, _wordpress_i18n.__)("View %s", "elementor").replace("%s", postTypesMap[type].labels.singular_name); | |
| 764 | + return /* @__PURE__ */ react.createElement(ActionMenuItem, { | |
| 765 | + title, | |
| 766 | + icon: _elementor_icons.EyeIcon, | |
| 767 | + MenuItemProps: { onClick: () => window.open(post.link, "_blank") } | |
| 768 | + }); | |
| 769 | + } | |
| 770 | + | |
| 771 | +//#endregion | |
| 772 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/list-items/list-item-view.tsx | |
| 773 | + var DisabledPostTooltip = ({ children, isDisabled }) => { | |
| 774 | + if (isDisabled) { | |
| 775 | + const title = /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { variant: "caption" }, "You cannot edit this page.", /* @__PURE__ */ react.createElement("br", null), "To edit it directly, contact the site owner"); | |
| 776 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, { | |
| 777 | + title, | |
| 778 | + placement: "bottom", | |
| 779 | + arrow: false | |
| 780 | + }, children); | |
| 781 | + } | |
| 782 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, children); | |
| 783 | + }; | |
| 784 | + function ListItemView({ post }) { | |
| 785 | + const activeDocument = (0, _elementor_editor_documents.__useActiveDocument)(); | |
| 786 | + const navigateToDocument = (0, _elementor_editor_documents.__useNavigateToDocument)(); | |
| 787 | + const popupState = (0, _elementor_ui.usePopupState)({ | |
| 788 | + variant: "popover", | |
| 789 | + popupId: "post-actions", | |
| 790 | + disableAutoFocus: true | |
| 791 | + }); | |
| 792 | + const isActive = activeDocument?.id === post.id; | |
| 793 | + const status = isActive ? activeDocument?.status.value : post.status; | |
| 794 | + const title = isActive ? activeDocument?.title : post.title.rendered; | |
| 795 | + const isDisabled = !post.user_can.edit; | |
| 796 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(DisabledPostTooltip, { isDisabled }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItem, { | |
| 797 | + disablePadding: true, | |
| 798 | + secondaryAction: /* @__PURE__ */ react.createElement(_elementor_ui.IconButton, { | |
| 799 | + value: true, | |
| 800 | + size: "small", | |
| 801 | + ...(0, _elementor_ui.bindTrigger)(popupState) | |
| 802 | + }, /* @__PURE__ */ react.createElement(_elementor_icons.DotsVerticalIcon, { fontSize: "small" })) | |
| 803 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemButton, { | |
| 804 | + selected: isActive, | |
| 805 | + disabled: isDisabled, | |
| 806 | + onClick: () => { | |
| 807 | + if (!isActive) navigateToDocument(post.id); | |
| 808 | + }, | |
| 809 | + dense: true | |
| 810 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { disableTypography: true }, /* @__PURE__ */ react.createElement(PageTitleAndStatus, { | |
| 811 | + title, | |
| 812 | + status | |
| 813 | + })), post.isHome && /* @__PURE__ */ react.createElement(_elementor_icons.HomeIcon, { | |
| 814 | + titleAccess: (0, _wordpress_i18n.__)("Homepage", "elementor"), | |
| 815 | + color: "disabled" | |
| 816 | + })))), /* @__PURE__ */ react.createElement(_elementor_ui.Menu, { | |
| 817 | + PaperProps: { sx: { | |
| 818 | + mt: 2, | |
| 819 | + width: 200 | |
| 820 | + } }, | |
| 821 | + MenuListProps: { dense: true }, | |
| 822 | + ...(0, _elementor_ui.bindMenu)(popupState) | |
| 823 | + }, /* @__PURE__ */ react.createElement(Rename, { post }), /* @__PURE__ */ react.createElement(Duplicate, { | |
| 824 | + post, | |
| 825 | + popupState | |
| 826 | + }), /* @__PURE__ */ react.createElement(Delete, { post }), /* @__PURE__ */ react.createElement(View, { post }), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, null), /* @__PURE__ */ react.createElement(SetHome, { | |
| 827 | + post, | |
| 828 | + closeMenu: () => popupState.close() | |
| 829 | + }))); | |
| 830 | + } | |
| 831 | + | |
| 832 | +//#endregion | |
| 833 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/post-list-item.tsx | |
| 834 | + function PostListItem$1({ post }) { | |
| 835 | + const { editMode } = usePostListContext(); | |
| 836 | + if ("rename" === editMode.mode && post?.id && post?.id === editMode.details.postId) return /* @__PURE__ */ react.createElement(ListItemRename, { post }); | |
| 837 | + if ("create" === editMode.mode && !post) return /* @__PURE__ */ react.createElement(ListItemCreate, null); | |
| 838 | + if ("duplicate" === editMode.mode && !post) return /* @__PURE__ */ react.createElement(ListItemDuplicate, null); | |
| 839 | + if (!post) return null; | |
| 840 | + return /* @__PURE__ */ react.createElement(ListItemView, { post }); | |
| 841 | + } | |
| 842 | + __name(PostListItem$1, "PostListItem"); | |
| 843 | + | |
| 844 | +//#endregion | |
| 845 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/posts-list/posts-collapsible-list.tsx | |
| 846 | + function PostsCollapsibleList({ isOpenByDefault = false }) { | |
| 847 | + const { type, editMode } = usePostListContext(); | |
| 848 | + const { data: { posts, total }, isLoading: postsLoading, isError: postsError, fetchNextPage, hasNextPage, isFetchingNextPage } = usePosts(type); | |
| 849 | + const { data: homepageId } = useHomepage(); | |
| 850 | + if (postsError) return /* @__PURE__ */ react.createElement(ErrorState, null); | |
| 851 | + if (!posts || postsLoading) return /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: { px: 5 } }, /* @__PURE__ */ react.createElement(_elementor_ui.Box, { | |
| 852 | + display: "flex", | |
| 853 | + justifyContent: "flex-end", | |
| 854 | + alignItems: "center" | |
| 855 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.Skeleton, { | |
| 856 | + sx: { my: 4 }, | |
| 857 | + animation: "wave", | |
| 858 | + variant: "rounded", | |
| 859 | + width: "110px", | |
| 860 | + height: "28px" | |
| 861 | + })), /* @__PURE__ */ react.createElement(_elementor_ui.Box, null, /* @__PURE__ */ react.createElement(_elementor_ui.Skeleton, { | |
| 862 | + sx: { my: 3 }, | |
| 863 | + animation: "wave", | |
| 864 | + variant: "rounded", | |
| 865 | + width: "100%", | |
| 866 | + height: "24px" | |
| 867 | + }), /* @__PURE__ */ react.createElement(_elementor_ui.Skeleton, { | |
| 868 | + sx: { my: 3 }, | |
| 869 | + animation: "wave", | |
| 870 | + variant: "rounded", | |
| 871 | + width: "70%", | |
| 872 | + height: "24px" | |
| 873 | + }), /* @__PURE__ */ react.createElement(_elementor_ui.Skeleton, { | |
| 874 | + sx: { my: 3 }, | |
| 875 | + animation: "wave", | |
| 876 | + variant: "rounded", | |
| 877 | + width: "70%", | |
| 878 | + height: "24px" | |
| 879 | + }), /* @__PURE__ */ react.createElement(_elementor_ui.Skeleton, { | |
| 880 | + sx: { my: 3 }, | |
| 881 | + animation: "wave", | |
| 882 | + variant: "rounded", | |
| 883 | + width: "70%", | |
| 884 | + height: "24px" | |
| 885 | + }))); | |
| 886 | + const label = `${postTypesMap[type].labels.plural_name} (${total.toString()})`; | |
| 887 | + const sortedPosts = posts.map((post) => { | |
| 888 | + if (post.id === homepageId) return { | |
| 889 | + ...post, | |
| 890 | + isHome: true | |
| 891 | + }; | |
| 892 | + return post; | |
| 893 | + }).sort((a, b) => { | |
| 894 | + if (a.id === homepageId) return -1; | |
| 895 | + if (b.id === homepageId) return 1; | |
| 896 | + return 0; | |
| 897 | + }); | |
| 898 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.Box, { | |
| 899 | + display: "flex", | |
| 900 | + justifyContent: "flex-end", | |
| 901 | + alignItems: "center", | |
| 902 | + sx: { | |
| 903 | + py: 1, | |
| 904 | + px: 2 | |
| 905 | + } | |
| 906 | + }, /* @__PURE__ */ react.createElement(AddNewButton, null)), /* @__PURE__ */ react.createElement(_elementor_ui.List, { dense: true }, /* @__PURE__ */ react.createElement(CollapsibleList, { | |
| 907 | + label, | |
| 908 | + Icon: _elementor_icons.PageTypeIcon, | |
| 909 | + isOpenByDefault: isOpenByDefault || false | |
| 910 | + }, sortedPosts.map((post) => { | |
| 911 | + return /* @__PURE__ */ react.createElement(PostListItem$1, { | |
| 912 | + key: post.id, | |
| 913 | + post | |
| 914 | + }); | |
| 915 | + }), ["duplicate", "create"].includes(editMode.mode) && /* @__PURE__ */ react.createElement(PostListItem$1, null), hasNextPage && /* @__PURE__ */ react.createElement(_elementor_ui.Box, { sx: { | |
| 916 | + display: "flex", | |
| 917 | + justifyContent: "center" | |
| 918 | + } }, /* @__PURE__ */ react.createElement(_elementor_ui.Button, { | |
| 919 | + onClick: fetchNextPage, | |
| 920 | + color: "secondary" | |
| 921 | + }, isFetchingNextPage ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, null) : "Load More"))))); | |
| 922 | + } | |
| 923 | + | |
| 924 | +//#endregion | |
| 925 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/shell.tsx | |
| 926 | + var Shell = () => { | |
| 927 | + const [isErrorSnackbarOpen, setIsErrorSnackbarOpen] = (0, react.useState)(false); | |
| 928 | + return /* @__PURE__ */ react.createElement(_elementor_editor_panels.Panel, null, /* @__PURE__ */ react.createElement(_elementor_editor_panels.PanelHeader, null, /* @__PURE__ */ react.createElement(_elementor_editor_panels.PanelHeaderTitle, null, (0, _wordpress_i18n.__)("Pages", "elementor"))), /* @__PURE__ */ react.createElement(_elementor_editor_panels.PanelBody, null, /* @__PURE__ */ react.createElement(PostListContextProvider, { | |
| 929 | + type: "page", | |
| 930 | + setError: () => setIsErrorSnackbarOpen(true) | |
| 931 | + }, /* @__PURE__ */ react.createElement(PostsCollapsibleList, { isOpenByDefault: true })), /* @__PURE__ */ react.createElement(ErrorSnackbar, { | |
| 932 | + open: isErrorSnackbarOpen, | |
| 933 | + onClose: () => setIsErrorSnackbarOpen(false) | |
| 934 | + }))); | |
| 935 | + }; | |
| 936 | + | |
| 937 | +//#endregion | |
| 938 | +//#region packages/packages/core/editor-site-navigation/src/components/panel/panel.ts | |
| 939 | + var { panel, usePanelStatus, usePanelActions } = (0, _elementor_editor_panels.createPanel)({ | |
| 940 | + id: "site-navigation-panel", | |
| 941 | + component: Shell | |
| 942 | + }); | |
| 943 | + | |
| 944 | +//#endregion | |
| 945 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-create-page.ts | |
| 946 | + var endpointPath = "/elementor/v1/site-navigation/add-new-post"; | |
| 947 | + function useCreatePage() { | |
| 948 | + const [isLoading, setIsLoading] = (0, react.useState)(false); | |
| 949 | + return { | |
| 950 | + create: () => { | |
| 951 | + setIsLoading(true); | |
| 952 | + return addNewPage().then((newPost) => newPost).finally(() => setIsLoading(false)); | |
| 953 | + }, | |
| 954 | + isLoading | |
| 955 | + }; | |
| 956 | + } | |
| 957 | + async function addNewPage() { | |
| 958 | + return await (0, _wordpress_api_fetch.default)({ | |
| 959 | + path: endpointPath, | |
| 960 | + method: "POST", | |
| 961 | + data: { post_type: "page" } | |
| 962 | + }); | |
| 963 | + } | |
| 964 | + | |
| 965 | +//#endregion | |
| 966 | +//#region packages/packages/core/editor-site-navigation/src/components/top-bar/create-post-list-item.tsx | |
| 967 | + function CreatePostListItem({ closePopup, ...props }) { | |
| 968 | + const { create, isLoading } = useCreatePage(); | |
| 969 | + const navigateToDocument = (0, _elementor_editor_documents.__useNavigateToDocument)(); | |
| 970 | + const { data: user } = useUser(); | |
| 971 | + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)(); | |
| 972 | + return /* @__PURE__ */ react.createElement(_elementor_ui.MenuItem, { | |
| 973 | + disabled: isLoading || !user?.capabilities?.edit_pages, | |
| 974 | + onClick: async () => { | |
| 975 | + const eventName = config?.names?.editorOne?.topBarPageList; | |
| 976 | + if (eventName) dispatchEvent?.(eventName, { | |
| 977 | + window_name: config?.appTypes?.editor, | |
| 978 | + interaction_type: config?.triggers?.click?.toLowerCase(), | |
| 979 | + target_type: config?.targetTypes?.dropdownItem, | |
| 980 | + target_name: config?.targetNames?.pageList?.addNewPage, | |
| 981 | + interaction_result: config?.interactionResults?.create, | |
| 982 | + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(), | |
| 983 | + location_l1: config?.secondaryLocations?.pageListDropdown?.replace(/\s+/g, "_").toLowerCase(), | |
| 984 | + location_l2: config?.targetTypes?.dropdownItem | |
| 985 | + }); | |
| 986 | + const { id } = await create(); | |
| 987 | + closePopup(); | |
| 988 | + await navigateToDocument(id); | |
| 989 | + }, | |
| 990 | + ...props | |
| 991 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemIcon, null, isLoading ? /* @__PURE__ */ react.createElement(_elementor_ui.CircularProgress, { size: "1.25rem" }) : /* @__PURE__ */ react.createElement(_elementor_icons.PlusIcon, { fontSize: "small" })), /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { | |
| 992 | + primaryTypographyProps: { variant: "body2" }, | |
| 993 | + primary: (0, _wordpress_i18n.__)("Add new page", "elementor") | |
| 994 | + })); | |
| 995 | + } | |
| 996 | + | |
| 997 | +//#endregion | |
| 998 | +//#region packages/packages/core/editor-site-navigation/src/components/top-bar/indicator.tsx | |
| 999 | + function Indicator({ title, status }) { | |
| 1000 | + return /* @__PURE__ */ react.createElement(Tooltip, { title }, /* @__PURE__ */ react.createElement(_elementor_ui.Stack, { | |
| 1001 | + component: "span", | |
| 1002 | + direction: "row", | |
| 1003 | + alignItems: "center", | |
| 1004 | + spacing: .5 | |
| 1005 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 1006 | + component: "span", | |
| 1007 | + variant: "body2", | |
| 1008 | + sx: { maxWidth: "120px" }, | |
| 1009 | + noWrap: true | |
| 1010 | + }, title), status.value !== "publish" && /* @__PURE__ */ react.createElement(_elementor_ui.Typography, { | |
| 1011 | + component: "span", | |
| 1012 | + variant: "body2", | |
| 1013 | + sx: { fontStyle: "italic" } | |
| 1014 | + }, "(", status.label, ")"))); | |
| 1015 | + } | |
| 1016 | + function Tooltip(props) { | |
| 1017 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Tooltip, { | |
| 1018 | + PopperProps: { sx: { "&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom": { mt: 2.7 } } }, | |
| 1019 | + ...props | |
| 1020 | + }); | |
| 1021 | + } | |
| 1022 | + | |
| 1023 | +//#endregion | |
| 1024 | +//#region packages/packages/core/editor-site-navigation/src/components/top-bar/chip-doc-type.tsx | |
| 1025 | + var iconsMap = getIconsMap(); | |
| 1026 | + function DocTypeChip({ postType, docType, label }) { | |
| 1027 | + const color = "elementor_library" === postType ? "global" : "primary"; | |
| 1028 | + const Icon = iconsMap[docType] || _elementor_icons.PostTypeIcon; | |
| 1029 | + return /* @__PURE__ */ react.createElement(_elementor_ui.Chip, { | |
| 1030 | + component: "span", | |
| 1031 | + size: "small", | |
| 1032 | + variant: "outlined", | |
| 1033 | + label, | |
| 1034 | + "data-value": docType, | |
| 1035 | + color, | |
| 1036 | + icon: /* @__PURE__ */ react.createElement(Icon, null), | |
| 1037 | + sx: { | |
| 1038 | + ml: 1, | |
| 1039 | + cursor: "inherit" | |
| 1040 | + } | |
| 1041 | + }); | |
| 1042 | + } | |
| 1043 | + | |
| 1044 | +//#endregion | |
| 1045 | +//#region packages/packages/core/editor-site-navigation/src/components/top-bar/post-list-item.tsx | |
| 1046 | + function PostListItem({ post, closePopup, ...props }) { | |
| 1047 | + const navigateToDocument = (0, _elementor_editor_documents.__useNavigateToDocument)(); | |
| 1048 | + const postTitle = useReverseHtmlEntities(post.title); | |
| 1049 | + const { dispatchEvent, config } = (0, _elementor_events.useMixpanel)(); | |
| 1050 | + return /* @__PURE__ */ react.createElement(_elementor_ui.MenuItem, { | |
| 1051 | + disabled: !post.user_can.edit, | |
| 1052 | + onClick: async () => { | |
| 1053 | + const eventName = config?.names?.editorOne?.topBarPageList; | |
| 1054 | + if (eventName) dispatchEvent?.(eventName, { | |
| 1055 | + window_name: config?.appTypes?.editor, | |
| 1056 | + interaction_type: config?.triggers?.click?.toLowerCase(), | |
| 1057 | + target_type: config?.targetTypes?.dropdownItem, | |
| 1058 | + target_name: postTitle, | |
| 1059 | + interaction_result: config?.interactionResults?.navigate, | |
| 1060 | + target_location: config?.locations?.topBar?.replace(/\s+/g, "_").toLowerCase(), | |
| 1061 | + location_l1: config?.secondaryLocations?.pageListDropdown?.replace(/\s+/g, "_").toLowerCase(), | |
| 1062 | + location_l2: config?.targetTypes?.dropdownItem | |
| 1063 | + }); | |
| 1064 | + closePopup(); | |
| 1065 | + await navigateToDocument(post.id); | |
| 1066 | + }, | |
| 1067 | + ...props | |
| 1068 | + }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { | |
| 1069 | + sx: { flexGrow: 0 }, | |
| 1070 | + primaryTypographyProps: { | |
| 1071 | + variant: "body2", | |
| 1072 | + noWrap: true | |
| 1073 | + }, | |
| 1074 | + primary: postTitle | |
| 1075 | + }), /* @__PURE__ */ react.createElement(DocTypeChip, { | |
| 1076 | + postType: post.type.post_type, | |
| 1077 | + docType: post.type.doc_type, | |
| 1078 | + label: post.type.label | |
| 1079 | + })); | |
| 1080 | + } | |
| 1081 | + | |
| 1082 | +//#endregion | |
| 1083 | +//#region packages/packages/core/editor-site-navigation/src/components/top-bar/recently-edited.tsx | |
| 1084 | + function RecentlyEdited() { | |
| 1085 | + const activeDocument = (0, _elementor_editor_documents.__useActiveDocument)(); | |
| 1086 | + const hostDocument = (0, _elementor_editor_documents.__useHostDocument)(); | |
| 1087 | + const document = activeDocument && activeDocument.type.value !== "kit" ? activeDocument : hostDocument; | |
| 1088 | + const { data } = useRecentPosts(); | |
| 1089 | + const getRecentPosts = () => { | |
| 1090 | + if (!data) return []; | |
| 1091 | + return data.filter((post) => post.id !== document?.id).splice(0, 6 - 1); | |
| 1092 | + }; | |
| 1093 | + const recentPosts = getRecentPosts(); | |
| 1094 | + const popupState = (0, _elementor_ui.usePopupState)({ | |
| 1095 | + variant: "popover", | |
| 1096 | + popupId: "elementor-v2-top-bar-recently-edited" | |
| 1097 | + }); | |
| 1098 | + const documentTitle = useReverseHtmlEntities(document?.title); | |
| 1099 | + if (!document) return null; | |
| 1100 | + const buttonProps = (0, _elementor_ui.bindTrigger)(popupState); | |
| 1101 | + return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(_elementor_ui.Button, { | |
| 1102 | + color: "inherit", | |
| 1103 | + size: "small", | |
| 1104 | + endIcon: /* @__PURE__ */ react.createElement(_elementor_icons.ChevronDownIcon, { fontSize: "small" }), | |
| 1105 | + ...buttonProps, | |
| 1106 | + onClick: (e) => { | |
| 1107 | + const extendedWindow = window; | |
| 1108 | + const config = extendedWindow?.elementorCommon?.eventsManager?.config; | |
| 1109 | + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent(config.names.topBar.documentNameDropdown, { | |
| 1110 | + location: config.locations.topBar, | |
| 1111 | + secondaryLocation: config.secondaryLocations.documentNameDropdown, | |
| 1112 | + trigger: config.triggers.dropdownClick, | |
| 1113 | + element: config.elements.dropdown | |
| 1114 | + }); | |
| 1115 | + buttonProps.onClick(e); | |
| 1116 | + } | |
| 1117 | + }, /* @__PURE__ */ react.createElement(Indicator, { | |
| 1118 | + title: documentTitle, | |
| 1119 | + status: document.status | |
| 1120 | + })), /* @__PURE__ */ react.createElement(_elementor_ui.Menu, { | |
| 1121 | + MenuListProps: { subheader: /* @__PURE__ */ react.createElement(_elementor_ui.ListSubheader, { | |
| 1122 | + color: "primary", | |
| 1123 | + sx: { | |
| 1124 | + fontStyle: "italic", | |
| 1125 | + fontWeight: "300" | |
| 1126 | + } | |
| 1127 | + }, (0, _wordpress_i18n.__)("Recent", "elementor")) }, | |
| 1128 | + PaperProps: { sx: { | |
| 1129 | + mt: 2.5, | |
| 1130 | + width: 320 | |
| 1131 | + } }, | |
| 1132 | + ...(0, _elementor_ui.bindMenu)(popupState) | |
| 1133 | + }, recentPosts.map((post) => /* @__PURE__ */ react.createElement(PostListItem, { | |
| 1134 | + key: post.id, | |
| 1135 | + post, | |
| 1136 | + closePopup: popupState.close | |
| 1137 | + })), recentPosts.length === 0 && /* @__PURE__ */ react.createElement(_elementor_ui.MenuItem, { disabled: true }, /* @__PURE__ */ react.createElement(_elementor_ui.ListItemText, { | |
| 1138 | + primaryTypographyProps: { | |
| 1139 | + variant: "caption", | |
| 1140 | + fontStyle: "italic" | |
| 1141 | + }, | |
| 1142 | + primary: (0, _wordpress_i18n.__)("There are no other pages or templates on this site yet.", "elementor") | |
| 1143 | + })), /* @__PURE__ */ react.createElement(_elementor_ui.Divider, { disabled: recentPosts.length === 0 }), /* @__PURE__ */ react.createElement(CreatePostListItem, { closePopup: popupState.close }))); | |
| 1144 | + } | |
| 1145 | + | |
| 1146 | +//#endregion | |
| 1147 | +//#region packages/packages/core/editor-site-navigation/src/env.ts | |
| 1148 | + var { env } = (0, _elementor_env.parseEnv)("@elementor/editor-site-navigation", (envData) => { | |
| 1149 | + return envData; | |
| 1150 | + }); | |
| 1151 | + | |
| 1152 | +//#endregion | |
| 1153 | +//#region packages/packages/core/editor-site-navigation/src/hooks/use-toggle-button-props.ts | |
| 1154 | + function useToggleButtonProps() { | |
| 1155 | + const { isOpen: selectedState, isBlocked } = usePanelStatus(); | |
| 1156 | + const { open, close } = usePanelActions(); | |
| 1157 | + return { | |
| 1158 | + title: (0, _wordpress_i18n.__)("Pages", "elementor"), | |
| 1159 | + icon: _elementor_icons.PagesIcon, | |
| 1160 | + onClick: () => { | |
| 1161 | + const extendedWindow = window; | |
| 1162 | + const config = extendedWindow?.elementorCommon?.eventsManager?.config; | |
| 1163 | + if (config) extendedWindow.elementorCommon.eventsManager.dispatchEvent("top_bar_pages", { | |
| 1164 | + location: config.locations.topBar, | |
| 1165 | + secondaryLocation: config.secondaryLocations.elementorLogo, | |
| 1166 | + trigger: config.triggers.click, | |
| 1167 | + element: config.elements.buttonIcon | |
| 1168 | + }); | |
| 1169 | + return selectedState ? close() : open(); | |
| 1170 | + }, | |
| 1171 | + selected: selectedState, | |
| 1172 | + disabled: isBlocked | |
| 1173 | + }; | |
| 1174 | + } | |
| 1175 | + | |
| 1176 | +//#endregion | |
| 1177 | +//#region packages/packages/core/editor-site-navigation/src/init.ts | |
| 1178 | + function init() { | |
| 1179 | + registerTopBarMenuItems(); | |
| 1180 | + if (env.is_pages_panel_active) { | |
| 1181 | + (0, _elementor_editor_panels.registerPanel)(panel); | |
| 1182 | + registerButton(); | |
| 1183 | + } | |
| 1184 | + } | |
| 1185 | + function registerTopBarMenuItems() { | |
| 1186 | + (0, _elementor_editor_app_bar.injectIntoPageIndication)({ | |
| 1187 | + id: "document-recently-edited", | |
| 1188 | + component: RecentlyEdited | |
| 1189 | + }); | |
| 1190 | + } | |
| 1191 | + function registerButton() { | |
| 1192 | + _elementor_editor_app_bar.toolsMenu.registerToggleAction({ | |
| 1193 | + id: "toggle-site-navigation-panel", | |
| 1194 | + priority: 6, | |
| 1195 | + useProps: useToggleButtonProps | |
| 1196 | + }); | |
| 1197 | + } | |
| 1198 | + | |
| 1199 | +//#endregion | |
| 1200 | +//#region packages/packages/core/editor-site-navigation/src/index.ts | |
| 1201 | + var src_exports = /* @__PURE__ */ __exportAll({ | |
| 1202 | + extendIconsMap: () => extendIconsMap, | |
| 1203 | + init: () => init | |
| 1204 | + }); | |
| 1205 | + | |
| 1206 | +//#endregion | |
| 1207 | +//#region \0elementor-package-library-entry | |
| 1208 | + (window.elementorV2 = window.elementorV2 || {}).editorSiteNavigation = src_exports; | |
| 1209 | + | |
| 1210 | +//#endregion | |
| 1211 | +})(elementorV2.icons, elementorV2.editorAppBar, elementorV2.editorPanels, React, wp.i18n, elementorV2.ui, wp.apiFetch, elementorV2.query, elementorV2.editorDocuments, elementorV2.editorV1Adapters, elementorV2.events, elementorV2.env); | |
| 1212 | +window.elementorV2.editorSiteNavigation?.init?.(); | |
| 3 | 1213 | //# sourceMappingURL=editor-site-navigation.js.map |