/*! For license information please see editor-site-navigation.js.LICENSE.txt */ !function(){"use strict";var e={react:function(e){e.exports=window.React},"@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/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}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,n),a.exports}n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};!function(){n.r(o),n.d(o,{extendIconsMap:function(){return y}});var e=n("@elementor/icons"),t=n("react"),r=n("@elementor/ui"),a=n("@elementor/editor-documents"),i=n("@elementor/query"),l=n("@wordpress/api-fetch"),s=n("@wordpress/i18n"),c=n("@elementor/editor-app-bar"),u=n("@elementor/editor-panels"),m=n("@elementor/editor-v1-adapters"),d=n("@elementor/env"),p={page:e.PageTemplateIcon,section:e.SectionTemplateIcon,container:e.ContainerTemplateIcon,"wp-page":e.PageTypeIcon,"wp-post":e.PostTypeIcon};function y(e){Object.assign(p,e)}function g({title:e,status:n}){return t.createElement(E,{title:e},t.createElement(r.Stack,{component:"span",direction:"row",alignItems:"center",spacing:.5},t.createElement(r.Typography,{component:"span",variant:"body2",sx:{maxWidth:"120px"},noWrap:!0},e),"publish"!==n.value&&t.createElement(r.Typography,{component:"span",variant:"body2",sx:{fontStyle:"italic"}},"(",n.label,")")))}function E(e){return t.createElement(r.Tooltip,{PopperProps:{sx:{"&.MuiTooltip-popper .MuiTooltip-tooltip.MuiTooltip-tooltipPlacementBottom":{mt:2.7}}},...e})}var f=["site-navigation","recent-posts"],v=p;function h({postType:n,docType:o,label:a}){const i="elementor_library"===n?"global":"primary",l=v[o]||e.PostTypeIcon;return t.createElement(r.Chip,{component:"span",size:"small",variant:"outlined",label:a,"data-value":o,color:i,icon:t.createElement(l,null),sx:{ml:1,cursor:"inherit"}})}function x(e=""){return(0,t.useMemo)((()=>{const t=document.createElement("textarea");t.innerHTML=e;const{value:n}=t;return t.remove(),n}),[e])}function _({post:e,closePopup:n,...o}){const i=(0,a.__useNavigateToDocument)(),l=x(e.title);return t.createElement(r.MenuItem,{disabled:!e.user_can.edit,onClick:async()=>{n(),await i(e.id)},...o},t.createElement(r.ListItemText,{sx:{flexGrow:0},primaryTypographyProps:{variant:"body2",noWrap:!0},primary:l}),t.createElement(h,{postType:e.type.post_type,docType:e.type.doc_type,label:e.type.label}))}var w="/elementor/v1/site-navigation/add-new-post";var P=()=>{const e="/wp/v2/users/me?"+new URLSearchParams({_fields:["capabilities"].join(","),context:"edit"}).toString();return l({path:e})},b=()=>["site-navigation","user"];function I(){return(0,i.useQuery)({queryKey:b(),queryFn:()=>P()})}function T({closePopup:n,...o}){const{create:i,isLoading:c}=function(){const[e,n]=(0,t.useState)(!1);return{create:()=>(n(!0),async function(){return await l({path:w,method:"POST",data:{post_type:"page"}})}().then((e=>e)).finally((()=>n(!1)))),isLoading:e}}(),u=(0,a.__useNavigateToDocument)(),{data:m}=I();return t.createElement(r.MenuItem,{disabled:c||!m?.capabilities?.edit_pages,onClick:async()=>{const{id:e}=await i();n(),await u(e)},...o},t.createElement(r.ListItemIcon,null,c?t.createElement(r.CircularProgress,{size:"1.25rem"}):t.createElement(e.PlusIcon,{fontSize:"small"})),t.createElement(r.ListItemText,{primaryTypographyProps:{variant:"body2"},primary:(0,s.__)("Add new page","elementor")}))}var S={page:{labels:{singular_name:(0,s.__)("Page","elementor"),plural_name:(0,s.__)("Pages","elementor")},rest_base:"pages"}},M=(e,t)=>{const n=`/wp/v2/${S[e].rest_base}`;return l({path:n,method:"POST",data:t})},C=(e,t)=>{const n=`/wp/v2/${S[e].rest_base}`,{id:o,...r}=t;return l({path:`${n}/${o}`,method:"POST",data:r})},D=(e,t)=>{const n=`/wp/v2/${S[e].rest_base}`;return l({path:`${n}/${t}`,method:"DELETE"})},k=e=>l({path:"/elementor/v1/site-navigation/duplicate-post",method:"POST",data:{post_id:e.id,title:e.title}}),L=e=>["site-navigation","posts",e],B=e=>{if(!e)return e;const t=[];return e.pages.forEach((e=>{t.push(...e.data)})),t},A={type:"page",editMode:{mode:"none",details:{}},setEditMode:()=>null,resetEditMode:()=>null,setError:()=>null},O=(0,t.createContext)(A),F=({type:e,setError:n,children:o})=>{const[r,a]=(0,t.useState)(A.editMode);return t.createElement(O.Provider,{value:{type:e,editMode:r,setEditMode:a,resetEditMode:()=>{a(A.editMode)},setError:n}},o)};function N(){const e=(0,t.useContext)(O);if(!e)throw new Error("The `usePostListContext()` hook must be used within an ``");return e}var z=(0,r.styled)(e.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})}))),q=(0,r.styled)(r.ListItemIcon)((({theme:e})=>({minWidth:e.spacing(4)})));function j({label:e,Icon:n,isOpenByDefault:o=!1,children:a}){const[i,l]=(0,t.useState)(o);return t.createElement(t.Fragment,null,t.createElement(r.ListItem,null,t.createElement(q,{sx:{color:"text.secondary"}},t.createElement(r.IconButton,{onClick:()=>l((e=>!e)),size:"small",sx:{color:"inherit"}},t.createElement(z,{fontSize:"small",isOpen:i}))),t.createElement(q,{size:"small",sx:{color:"inherit"}},t.createElement(n,{fontSize:"small"})),t.createElement(r.ListItemText,{primaryTypographyProps:{variant:"subtitle2",component:"span"},primary:e})),t.createElement(r.Collapse,{in:i,timeout:"auto",unmountOnExit:!0},t.createElement(r.List,{dense:!0},a)),t.createElement(r.Divider,{sx:{mt:1}}))}function V(e){const t=function(e){const t=(0,i.useQueryClient)();return(n={})=>{const o=L(e);return t.invalidateQueries({queryKey:f},n),t.invalidateQueries({queryKey:o},n)}}(e),n=()=>t({exact:!0});return{createPost:(0,i.useMutation)({mutationFn:t=>M(e,t),onSuccess:n}),updatePost:(0,i.useMutation)({mutationFn:t=>C(e,t),onSuccess:n}),deletePost:(0,i.useMutation)({mutationFn:t=>D(e,t),onSuccess:n}),duplicatePost:(0,i.useMutation)({mutationFn:e=>k(e),onSuccess:n})}}function $({postTitle:e,isLoading:n,callback:o}){const[a,i]=(0,t.useState)(e),[l,c]=(0,t.useState)(!1),[u,m]=(0,t.useState)(null),d=(0,t.useRef)(),p=e=>""!==e.trim(),y=()=>{p(a)&&o(a)};return t.createElement(t.Fragment,null,t.createElement(r.ListItem,{secondaryAction:t.createElement(H,{isLoading:n,closeButton:d})},t.createElement(r.Box,{width:"100%",component:"form",onSubmit:e=>{e.preventDefault(),y()}},t.createElement(r.TextField,{autoFocus:!0,fullWidth:!0,value:a,onChange:e=>{l||c(!0);const t=e.target.value;p(t)?m(null):m((0,s.__)("Name is required","elementor")),i(t)},disabled:n,error:!!u,onBlur:e=>{d.current!==e.relatedTarget&&y()},variant:"outlined",color:"secondary",size:"small"}))),u&&t.createElement(r.ListItem,null,t.createElement(r.ListItemText,{sx:{color:"error.main"}},u)))}function H({isLoading:n,closeButton:o}){const{resetEditMode:a}=N();return t.createElement(r.IconButton,{size:"small",color:"secondary",onClick:a,ref:o,disabled:n},n?t.createElement(r.CircularProgress,null):t.createElement(e.XIcon,{fontSize:"small"}))}function W({post:e}){const{type:n,resetEditMode:o}=N(),{updatePost:r}=V(n),{setError:i}=N(),l=(0,a.__useActiveDocument)(),s=async e=>{const t=function(){const e=window.elementor?.documents;if(!e)throw new Error("Elementor Editor V1 documents manager not found");return e}().getCurrent().container;await(0,m.__privateRunCommand)("document/elements/settings",{container:t,settings:{post_title:e}})},c=l?.id===e.id,u=c?l?.title:e.title.rendered;return t.createElement($,{postTitle:u,isLoading:r.isPending,callback:async t=>{t===u&&o();try{c?await s(t):await r.mutateAsync({id:e.id,title:t})}catch(e){i()}finally{o()}}})}function Q(){const{type:e,resetEditMode:n}=N(),{createPost:o}=V(e),r=(0,a.__useNavigateToDocument)(),{setError:i}=N();return t.createElement($,{postTitle:(0,s.__)("New Page","elementor"),isLoading:o.isPending,callback:async e=>{try{const{id:t}=await o.mutateAsync({title:e,status:"draft"});r(t)}catch(e){i()}finally{n()}}})}function R(){const{type:e,editMode:n,resetEditMode:o}=N(),r=(0,a.__useNavigateToDocument)(),{duplicatePost:i}=V(e),{setError:l}=N();return"duplicate"!==n.mode?null:t.createElement($,{postTitle:`${n.details.title} ${(0,s.__)("copy","elementor")}`,isLoading:i.isPending,callback:async e=>{try{const{post_id:t}=await i.mutateAsync({id:n.details.postId,title:e});r(t)}catch(e){l()}finally{o()}}})}var K=({status:e})=>"publish"===e?null:t.createElement(r.Typography,{component:"span",variant:"body2",color:"text.secondary",sx:{textTransform:"capitalize",fontStyle:"italic",whiteSpace:"nowrap",flexBasis:"content"}},"(",e,")"),U=({title:e})=>{const n=x(e);return t.createElement(r.Typography,{component:"span",variant:"body2",color:"text.secondary",noWrap:!0,sx:{flexBasis:"auto"}},n)};function G({title:e,status:n}){return t.createElement(r.Box,{display:"flex"},t.createElement(U,{title:e})," ",t.createElement(K,{status:n}))}function X({title:e,icon:n,MenuItemProps:o}){return t.createElement(r.MenuItem,{...o},t.createElement(r.ListItemIcon,{sx:{color:"inherit"}},t.createElement(n,null)),t.createElement(r.ListItemText,{primary:e}))}function Y({post:n}){const{setEditMode:o}=N();return t.createElement(X,{title:(0,s.__)("Rename","elementor"),icon:e.EraseIcon,MenuItemProps:{disabled:!n.user_can.edit,onClick:()=>{o({mode:"rename",details:{postId:n.id}})}}})}function J({post:n,popupState:o}){const{setEditMode:r}=N(),{data:a}=I(),i=!a?.capabilities?.edit_pages;return t.createElement(X,{title:(0,s.__)("Duplicate","elementor"),icon:e.CopyIcon,MenuItemProps:{disabled:i,onClick:()=>{o.close(),r({mode:"duplicate",details:{postId:n.id,title:n.title.rendered}})}}})}function Z({post:n}){const[o,r]=(0,t.useState)(!1),i=(0,a.__useActiveDocument)(),l=i?.id===n.id,c=!n.user_can.delete||n.isHome||l;return t.createElement(t.Fragment,null,t.createElement(X,{title:(0,s.__)("Delete","elementor"),icon:e.TrashIcon,MenuItemProps:{disabled:c,onClick:()=>r(!0),sx:{"&:hover":{color:"error.main"}}}}),o&&t.createElement(ee,{post:n,setIsDialogOpen:r}))}function ee({post:e,setIsDialogOpen:n}){const{type:o}=N(),{deletePost:a}=V(o),{setError:i}=N(),l=(0,s.sprintf)((0,s.__)('Delete "%s"?',"elementor"),e.title.rendered),c=()=>{a.isPending||n(!1)};return t.createElement(r.Dialog,{open:!0,onClose:c,"aria-labelledby":"delete-dialog"},t.createElement(r.DialogTitle,{noWrap:!0},l),t.createElement(r.Divider,null),t.createElement(r.DialogContent,null,t.createElement(r.DialogContentText,null,(0,s.__)("The page and its content will be deleted forever and we won’t be able to recover them.","elementor"))),t.createElement(r.DialogActions,null,t.createElement(r.Button,{variant:"contained",color:"secondary",onClick:c,disabled:a.isPending},(0,s.__)("Cancel","elementor")),t.createElement(r.Button,{variant:"contained",color:"error",onClick:async()=>{try{await a.mutateAsync(e.id)}catch(e){i(),n(!1)}},disabled:a.isPending},a.isPending?t.createElement(r.CircularProgress,null):(0,s.__)("Delete","elementor"))))}function te({post:n}){const{type:o}=N(),r=(0,s.__)("View %s","elementor").replace("%s",S[o].labels.singular_name);return t.createElement(X,{title:r,icon:e.EyeIcon,MenuItemProps:{onClick:()=>window.open(n.link,"_blank")}})}var ne=e=>l({path:"/wp/v2/settings",method:"POST",data:e}),oe=()=>["site-navigation","homepage"];function re({post:n,closeMenu:o}){const{updateSettingsMutation:a}=function(){const e=function(){const e=(0,i.useQueryClient)();return(t={})=>{const n=oe();return e.invalidateQueries({queryKey:n},t)}}();return{updateSettingsMutation:(0,i.useMutation)({mutationFn:e=>ne(e),onSuccess:async()=>e({exact:!0})})}}(),{setError:l}=N(),{data:c}=I(),u=!!c?.capabilities?.manage_options,m="publish"===n.status,d=!!n.isHome,p=!u||d||!m||a.isPending;return t.createElement(X,{title:(0,s.__)("Set as homepage","elementor"),icon:a.isPending?r.CircularProgress:e.HomeIcon,MenuItemProps:{disabled:p,onClick:async()=>{try{await a.mutateAsync({show_on_front:"page",page_on_front:n.id})}catch(e){l()}finally{o()}}}})}var ae=({children:e,isDisabled:n})=>{if(n){const n=t.createElement(r.Typography,{variant:"caption"},"You cannot edit this page.",t.createElement("br",null),"To edit it directly, contact the site owner");return t.createElement(r.Tooltip,{title:n,placement:"bottom",arrow:!1},e)}return t.createElement(t.Fragment,null,e)};function ie({post:n}){const o=(0,a.__useActiveDocument)(),i=(0,a.__useNavigateToDocument)(),l=(0,r.usePopupState)({variant:"popover",popupId:"post-actions",disableAutoFocus:!0}),c=o?.id===n.id,u=c?o?.status.value:n.status,m=c?o?.title:n.title.rendered,d=!n.user_can.edit;return t.createElement(t.Fragment,null,t.createElement(ae,{isDisabled:d},t.createElement(r.ListItem,{disablePadding:!0,secondaryAction:t.createElement(r.IconButton,{value:!0,size:"small",...(0,r.bindTrigger)(l)},t.createElement(e.DotsVerticalIcon,{fontSize:"small"}))},t.createElement(r.ListItemButton,{selected:c,disabled:d,onClick:()=>{c||i(n.id)},dense:!0},t.createElement(r.ListItemText,{disableTypography:!0},t.createElement(G,{title:m,status:u})),n.isHome&&t.createElement(e.HomeIcon,{titleAccess:(0,s.__)("Homepage","elementor"),color:"disabled"})))),t.createElement(r.Menu,{PaperProps:{sx:{mt:2,width:200}},MenuListProps:{dense:!0},...(0,r.bindMenu)(l)},t.createElement(Y,{post:n}),t.createElement(J,{post:n,popupState:l}),t.createElement(Z,{post:n}),t.createElement(te,{post:n}),t.createElement(r.Divider,null),t.createElement(re,{post:n,closeMenu:()=>l.close()})))}function le({post:e}){const{editMode:n}=N();return"rename"===n.mode&&e?.id&&e?.id===n.details.postId?t.createElement(W,{post:e}):"create"!==n.mode||e?"duplicate"!==n.mode||e?e?t.createElement(ie,{post:e}):null:t.createElement(R,null):t.createElement(Q,null)}function se(){const{setEditMode:n}=N(),{data:o}=I();return t.createElement(r.Button,{size:"small",startIcon:t.createElement(e.PlusIcon,null),disabled:!o?.capabilities?.edit_pages,onClick:()=>{n({mode:"create",details:{}})},sx:{px:1.5}},(0,s.__)("Add New","elementor"))}function ce(){return t.createElement(r.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",pt:"40px",gap:"16px"}},t.createElement(e.Error404TemplateIcon,null),t.createElement(r.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"8px"}},t.createElement(r.Typography,{variant:"body1",color:"text.primary"},(0,s.__)("We couldn’t display your pages.","elementor")),t.createElement(r.Box,null,t.createElement(r.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,s.__)("It’s probably a temporary issue.","elementor")),t.createElement(r.Typography,{variant:"body2",color:"text.primary",sx:{textAlign:"center"}},(0,s.__)("If the problem persists,","elementor")," ",t.createElement(r.Link,{target:"_blank",href:"https://go.elementor.com/wp-editor-support-open-ticket/"},"Notify support")))))}function ue({isOpenByDefault:n=!1}){const{type:o,editMode:a}=N(),{data:{posts:s,total:c},isLoading:u,isError:m,fetchNextPage:d,hasNextPage:p,isFetchingNextPage:y}=function(e){const t=(0,i.useInfiniteQuery)({queryKey:L(e),queryFn:({pageParam:t=1})=>(async(e,t)=>{const n=`/wp/v2/${S[e].rest_base}?`+new URLSearchParams({status:"any",order:"asc",page:t.toString(),per_page:10..toString(),_fields:["id","type","title","link","status","user_can"].join(",")}).toString(),o=await l({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}})(e,t),initialPageParam:1,getNextPageParam:e=>e.currentPagel({path:"/elementor/v1/site-navigation/homepage"})});if(m)return t.createElement(ce,null);if(!s||u)return t.createElement(r.Box,{sx:{px:5}},t.createElement(r.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center"},t.createElement(r.Skeleton,{sx:{my:4},animation:"wave",variant:"rounded",width:"110px",height:"28px"})),t.createElement(r.Box,null,t.createElement(r.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"100%",height:"24px"}),t.createElement(r.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),t.createElement(r.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"}),t.createElement(r.Skeleton,{sx:{my:3},animation:"wave",variant:"rounded",width:"70%",height:"24px"})));const E=`${S[o].labels.plural_name} (${c.toString()})`,f=s.map((e=>e.id===g?{...e,isHome:!0}:e)).sort(((e,t)=>e.id===g?-1:t.id===g?1:0));return t.createElement(t.Fragment,null,t.createElement(r.Box,{display:"flex",justifyContent:"flex-end",alignItems:"center",sx:{py:1,px:2}},t.createElement(se,null)),t.createElement(r.List,{dense:!0},t.createElement(j,{label:E,Icon:e.PageTypeIcon,isOpenByDefault:n||!1},f.map((e=>t.createElement(le,{key:e.id,post:e}))),["duplicate","create"].includes(a.mode)&&t.createElement(le,null),p&&t.createElement(r.Box,{sx:{display:"flex",justifyContent:"center"}},t.createElement(r.Button,{onClick:d,color:"secondary"},y?t.createElement(r.CircularProgress,null):"Load More")))))}var me=({open:e,onClose:n})=>t.createElement(r.Snackbar,{open:e,onClose:n,anchorOrigin:{vertical:"bottom",horizontal:"left"}},t.createElement(r.Alert,{onClose:n,severity:"error",sx:{width:"100%"}},t.createElement(r.Typography,{component:"span",sx:{fontWeight:"bold"}},"We couldn’t complete the action.")," ","Please try again")),{panel:de,usePanelStatus:pe,usePanelActions:ye}=(0,u.__createPanel)({id:"site-navigation-panel",component:()=>{const[e,n]=t.useState(!1);return t.createElement(u.Panel,null,t.createElement(u.PanelHeader,null,t.createElement(u.PanelHeaderTitle,null,(0,s.__)("Pages","elementor"))),t.createElement(u.PanelBody,null,t.createElement(F,{type:"page",setError:()=>n(!0)},t.createElement(ue,{isOpenByDefault:!0})),t.createElement(me,{open:e,onClose:()=>n(!1)})))}});var{env:ge,validateEnv:Ee}=(0,d.parseEnv)("@elementor/editor-site-navigation",(e=>e));(0,c.injectIntoPageIndication)({id:"document-recently-edited",component:function(){const n=(0,a.__useActiveDocument)(),o=(0,a.__useHostDocument)(),c=n&&"kit"!==n.type.value?n:o,{data:u}=(0,i.useQuery)({queryKey:f,queryFn:()=>(()=>{const e=`/elementor/v1/site-navigation/recent-posts?${new URLSearchParams({posts_per_page:"6"}).toString()}`;return l({path:e})})()}),m=u?u.filter((e=>e.id!==c?.id)).splice(0,5):[],d=(0,r.usePopupState)({variant:"popover",popupId:"elementor-v2-top-bar-recently-edited"}),p=x(c?.title);if(!c)return null;const y=(0,r.bindTrigger)(d);return t.createElement(t.Fragment,null,t.createElement(r.Button,{color:"inherit",size:"small",endIcon:t.createElement(e.ChevronDownIcon,{fontSize:"small"}),...y,onClick:e=>{const t=window,n=t?.elementor?.editorEvents?.config;n&&t.elementor.editorEvents.dispatchEvent(n.names.topBar.documentNameDropdown,{location:n.locations.topBar,secondaryLocation:n.secondaryLocations.documentNameDropdown,trigger:n.triggers.dropdownClick,element:n.elements.dropdown}),y.onClick(e)}},t.createElement(g,{title:p,status:c.status})),t.createElement(r.Menu,{MenuListProps:{subheader:t.createElement(r.ListSubheader,{color:"primary",sx:{fontStyle:"italic",fontWeight:"300"}},(0,s.__)("Recent","elementor"))},PaperProps:{sx:{mt:2.5,width:320}},...(0,r.bindMenu)(d)},m.map((e=>t.createElement(_,{key:e.id,post:e,closePopup:d.close}))),0===m.length&&t.createElement(r.MenuItem,{disabled:!0},t.createElement(r.ListItemText,{primaryTypographyProps:{variant:"caption",fontStyle:"italic"},primary:(0,s.__)("There are no other pages or templates on this site yet.","elementor")})),t.createElement(r.Divider,{disabled:0===m.length}),t.createElement(T,{closePopup:d.close})))}}),ge.is_pages_panel_active&&((0,u.__registerPanel)(de),c.toolsMenu.registerToggleAction({id:"toggle-site-navigation-panel",priority:2,useProps:function(){const{isOpen:t,isBlocked:n}=pe(),{open:o,close:r}=ye();return{title:(0,s.__)("Pages","elementor"),icon:e.PagesIcon,onClick:()=>t?r():o(),selected:t,disabled:n}}}))}(),(window.elementorV2=window.elementorV2||{}).editorSiteNavigation=o}();@keyframes bounce{20%,53%,80%,from,to{animation-timing-function:cubic-bezier(0.215,0.61,0.355,1);transform:translate3d(0,0,0)}40%,43%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(0.755,0.05,0.855,0.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.bounce{animation-name:bounce;transform-origin:center bottom}/*! pro-elements - v3.32.0 - 16-09-2025 */ [data-editable-elementor-document]{position:relative}[data-editable-elementor-document]:after,[data-editable-elementor-document]:before{content:"";display:table}[data-editable-elementor-document] .elementor-document-handle{border:2px solid var(--e-a-color-primary,#f3bafd);cursor:pointer;display:none;inset:0;position:absolute;z-index:2147483620}[data-editable-elementor-document] .elementor-document-handle:before{background:var(--e-a-color-primary,#f3bafd);content:"";inset:0;opacity:.3;position:absolute}[data-editable-elementor-document] .elementor-document-handle__inner{align-items:center;background:var(--e-a-color-primary,#f3bafd);border-radius:0 0 3px 3px;color:var(--e-p-border-global-invert,#0c0d0e);display:none;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:12px;gap:8px;left:50%;line-height:14px;padding:8px 16px;position:absolute;top:0;transform:translateX(-50%)}[data-editable-elementor-document] .elementor-document-handle__inner:after,[data-editable-elementor-document] .elementor-document-handle__inner:before{border:solid transparent;content:"";position:absolute}[data-editable-elementor-document] .elementor-document-handle__inner:before{border-inline-end-color:var(--e-a-color-primary,#f3bafd);border-width:0 14px 30px 0;right:calc(100% - 1px)}[data-editable-elementor-document] .elementor-document-handle__inner:after{border-inline-start-color:var(--e-a-color-primary,#f3bafd);border-width:0 0 30px 14px;left:calc(100% - 1px)}[data-editable-elementor-document].e-embedded-document-active .elementor-document-handle:not(.elementor-document-save-back-handle),[data-editable-elementor-document].elementor-widget-container .elementor-document-handle:not(.elementor-document-save-back-handle){border-block-end:unset;bottom:unset}[data-editable-elementor-document].e-embedded-document-active .elementor-document-handle:not(.elementor-document-save-back-handle):before,[data-editable-elementor-document].elementor-widget-container .elementor-document-handle:not(.elementor-document-save-back-handle):before{bottom:unset;display:none}.elementor-editor-active [data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle),.elementor-editor-active [data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle):before{display:block}.elementor-editor-active [data-editable-elementor-document]:not(.elementor-edit-mode):hover .elementor-document-handle:not(.elementor-document-save-back-handle) .elementor-document-handle__inner{display:flex}.elementor-editor-active [data-editable-elementor-document].loading{opacity:.5}.elementor-editor-active [data-editable-elementor-document][data-elementor-type=single]>.elementor-document-handle{border-radius:3px 3px 0 0;transform:translateX(-50%) translateY(-100%)}.elementor-editor-active [data-editable-elementor-document][data-elementor-type=single]>.elementor-document-handle:before{border-width:30px 14px 0 0}.elementor-editor-active [data-editable-elementor-document][data-elementor-type=single]>.elementor-document-handle:after{border-width:30px 0 0 14px}[data-elementor-post-type=elementor_library]>.elementor-document-handle{border:2px solid var(--e-p-border-global,#5eead4)}[data-elementor-post-type=elementor_library]>.elementor-document-handle .elementor-document-handle__inner,[data-elementor-post-type=elementor_library]>.elementor-document-handle:before{background-color:var(--e-p-border-global,#5eead4)}[data-elementor-post-type=elementor_library]>.elementor-document-handle .elementor-document-handle__inner:before{border-inline-end-color:var(--e-p-border-global,#5eead4)}[data-elementor-post-type=elementor_library]>.elementor-document-handle .elementor-document-handle__inner:after{border-inline-start-color:var(--e-p-border-global,#5eead4)}.elementor-widget.elementor-sticky--effects .elementor-editor-widget-settings{right:-14px}.elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget:hover{outline:1px solid var(--e-p-border-global)}.elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget.elementor-element-editable,.elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget.elementor-element-editable:hover{box-shadow:0 0 0 2px var(--e-p-border-global)}.elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings{background-color:var(--e-p-border-global)}.elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting{background-color:var(--e-p-border-global);color:var(--e-p-border-global-invert)}.elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting:hover{background-color:var(--e-p-border-global-hover)}.elementor-editor-active .elementor.elementor-edit-mode .elementor-global-widget .elementor-editor-widget-settings .elementor-editor-element-setting.elementor-editor-element-save,.elementor-embedded-editor.elementor-location-header .elementor-section-wrap:not(:empty)+#elementor-add-new-section{display:none}.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-add-section,.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-add-section-inline,.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-element-overlay,.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-empty,.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-empty-view,.elementor-editor-preview .elementor-edit-area-active[data-elementor-type=loop-item] .elementor-widget-empty{display:initial}.elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle{border:unset;bottom:unset;display:block}.elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle:before{display:none}.elementor.elementor-edit-area-active .elementor-document-handle.elementor-document-save-back-handle>.elementor-document-handle__inner{display:flex;opacity:1}.elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner{border-radius:3px 3px 0 0;transform:translateX(-50%) translateY(-100%)}.elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner:before{border-width:30px 14px 0 0}.elementor-document-handle.elementor-document-save-back-handle .elementor-document-handle__inner:after{border-width:30px 0 0 14px}.elementor-document-handle.elementor-document-save-back-handle .eicon-arrow-left,.elementor-document-handle.elementor-document-save-back-handle .eicon-arrow-right{margin-inline-end:5px}.elementor-loop-container>div.elementor-edit-area-active:first-of-type,div[class*=elementor-widget-loop] .elementor-edit-area-active.e-loop-first-edit:first-of-type,div[class*=elementor-widget-loop] .elementor-edit-area-active.swiper-slide-active,div[class*=elementor-widget-loop] .elementor-edit-area-active[data-editable-elementor-document]{border:2px solid #5eead4}div[class*=elementor-widget-loop] .elementor-edit-area-active .elementor-document-save-back-handle{display:flex;line-height:normal;white-space:nowrap}div[class*=elementor-widget-loop] #elementor-add-new-section{margin:30px auto}div[class*=elementor-widget-loop] .elementor-add-section-inner{padding:15px 0}.elementor-edit-area-active[data-elementor-type=loop-item] .elementor-section-wrap:not(:empty)+#elementor-add-new-section{display:none}.elementor-edit-area-active[data-elementor-type=loop-item] .elementor-section-wrap:empty{min-height:0}.elementor-editor-active [class*=elementor-widget-loop] .elementor:not([data-editable-elementor-document]):not(.e-loop-alternate-template):hover{box-shadow:none}.elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle){display:flex;line-height:normal;white-space:nowrap}.elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle):before{display:block}.elementor-editor-active [class*=elementor-widget-loop]:hover .elementor-document-handle:not(.elementor-document-save-back-handle) .elementor-document-handle__inner{display:flex}.elementor-editor-active [class*=elementor-widget-loop]:hover .e-loop-alternate-template{box-shadow:0 0 0 1px #9da5ae}.e-loop-template-canvas{align-items:center;display:flex;justify-content:center;min-height:100vh}.e-loop-template-canvas [data-elementor-type=loop-item].e-loop-item{max-width:var(--preview-width,410px);width:var(--preview-width,410px)}.e-loop-template-canvas [data-elementor-type=loop-item].e-loop-item #elementor-add-new-section{width:var(--preview-width,410px)}.block-editor-page .postbox.closed .el:before { content: "\f12e" !important; } .block-editor-page .postbox .el:before { content: "\f131"; } .postbox .redux_field_th { padding-bottom: 0 !important; } .postbox .redux-group-tab { margin-bottom: 0 !important; } .postbox .redux-container { -webkit-filter: none; filter: none; border: none; /* Firefox */ /* Safari, Chrome */ border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .postbox .redux-container .redux-group-menu .active a { background: #FFF; } .postbox .redux-container .redux-section-title { padding-left: 0 !important; margin-bottom: 15px !important; } .postbox .redux-container .redux-section-desc { margin-bottom: 20px; } .postbox .redux-container .redux_main { border-left: 1px solid #D8D8D8; -webkit-box-shadow: none; box-shadow: none; } .postbox .redux-container .redux_main input[type=text] { width: 95%; } .postbox .redux-container.redux-no-sections { margin: 0; background: none; } .postbox .redux-container.redux-no-sections .redux-main { background: none; margin-left: inherit; padding: inherit; border-left: none !important; min-height: 0 !important; } .postbox .redux-container.redux-no-sections .redux-main tr:last-child { border-bottom: none; } .postbox .redux-container.redux-no-sections .redux-main tr:last-child th, .postbox .redux-container.redux-no-sections .redux-main tr:last-child td { padding-bottom: 0; } .postbox .redux-container.redux-no-sections .redux-main tr td { padding-top: 10px !important; width: 100%; } .postbox .redux-container.redux-no-sections .redux-main .form-table:first-child tr:first-child td { padding-top: 0 !important; } .postbox .redux-container.redux-no-sections .redux-main .redux-field { margin-bottom: 10px !important; } .postbox .redux-container.redux-no-sections .redux-main .redux-field:last-child { margin-bottom: 0 !important; } .postbox .redux-container.redux-has-sections .redux-main { background: #fff; } .postbox .redux-container.redux-has-sections .redux-main span.description { padding-bottom: 20px; } .postbox .redux-main h3 { cursor: text !important; -webkit-user-select: inherit !important; -moz-user-select: inherit !important; -ms-user-select: inherit !important; user-select: inherit !important; padding-left: 0 !important; } .redux-box-side .redux-main .redux-field-container { padding: 5px 0 0; } .redux-box-side .redux-main .redux-field-container .select2-container, .redux-box-side .redux-main .redux-field-container select { width: 100% !important; } .redux-box-side .form-table tr td { padding: 15px 0 !important; } .redux-box-side .form-table tr:last-child td { padding-bottom: 0 !important; } .redux-box-side .form-table tr:first-child td { padding-top: 5px !important; } #poststuff .redux-metabox h3.hndle, .metabox-holder .redux-metabox h3.hndle { cursor: pointer; border-bottom: 0; } .display-group { display: inherit !important; } /* Metaboxes CSS overrides */ @media (min-width: 1125px) and (max-width: 1405px) { .postbox table.form-table, .postbox .form-table > thead, .postbox .form-table > tbody, .postbox .form-table > tbody > tr > th, .postbox .form-table > tbody > tr > td, .postbox .form-table > tbody > tr { display: block !important; width: 100% !important; padding: 0 !important; } .postbox table.form-table.hide, .postbox .form-table > thead.hide, .postbox .form-table > tbody.hide, .postbox .form-table > tbody > tr > th.hide, .postbox .form-table > tbody > tr > td.hide, .postbox .form-table > tbody > tr.hide { display: none !important; } .postbox .form-table > tbody > tr > th, .postbox .form-table > tbody > tr > td { padding: 10px !important; } .postbox .form-table > tbody > tr > th { width: 35%; } } .redux-metabox .form-table th, .redux-metabox .form-table td { margin: 0; padding: 0; /* width: auto;*/ } .redux-box-side .redux-main .redux-field-container .select2-container, .redux-box-side .redux-main .redux-field-container select { width: 96% !important; } @media (max-width: 1405px) { .redux-box-side .redux-main .redux-field-container .select2-container, .redux-box-side .redux-main .redux-field-container select { width: 92% !important; } } @media (max-width: 1125px) { .redux-box-side .redux-main .redux-field-container .select2-container, .redux-box-side .redux-main .redux-field-container select { width: 100% !important; } } @media (max-width: 1405px) { .redux-main .form-table > tbody > tr > td { padding-top: 0 !important; padding-bottom: 0 !important; } .redux-main .redux-field-container { padding: 0 0 20px 0 !important; padding-bottom: 10px !important; } .postbox .form-table > tbody > tr > th { padding-bottom: 0 !important; } .redux_field_th { padding-top: 0 !important; padding-bottom: 10px !important; } } .redux-no-sections .redux-group-tab { display: block !important; } /* Light fresh theme */ .admin-color-fresh #poststuff .redux-metabox h3.hndle, .admin-color-fresh .metabox-holder .redux-metabox h3.hndle { background: #222222; color: #fff; } /* Light admin theme */ .admin-color-light #poststuff .redux-metabox h3.hndle, .admin-color-light .metabox-holder .redux-metabox h3.hndle { background: #888888; color: #fff; } /* Blue admin theme */ .admin-color-blue #poststuff .redux-metabox h3.hndle, .admin-color-blue .metabox-holder .redux-metabox h3.hndle { background: #096484; color: #fff; } /* Coffee admin theme */ .admin-color-coffee #poststuff .redux-metabox h3.hndle, .admin-color-coffee .metabox-holder .redux-metabox h3.hndle { background: #46403c; color: #fff; } /* Ectoplasm admin theme */ .admin-color-ectoplasm #poststuff .redux-metabox h3.hndle, .admin-color-ectoplasm .metabox-holder .redux-metabox h3.hndle { background: #413256; color: #fff; } /* Midnight admin theme */ .admin-color-midnight #poststuff .redux-metabox h3.hndle, .admin-color-midnight .metabox-holder .redux-metabox h3.hndle { background: #363b3f; color: #fff; } /* Ocean admin theme */ .admin-color-ocean #poststuff .redux-metabox h3.hndle, .admin-color-ocean .metabox-holder .redux-metabox h3.hndle { background: #627c83; color: #fff; } /* Sunrise admin theme */ .admin-color-sunrise #poststuff .redux-metabox h3.hndle, .admin-color-sunrise .metabox-holder .redux-metabox h3.hndle { background: #b43c38; color: #fff; } .redux-notices { margin-bottom: 0; border: 0; } .redux-metabox .redux-container { margin-top: 0; } .redux-metabox .inside { margin: 0 !important; padding: 0 !important; } .redux-metabox .redux-no-sections .redux-main { padding: 6px 15px 15px 15px !important; } .redux-metabox .redux-no-sections .redux-main .default_br { display: none; } .redux-metabox .redux-no-sections .redux-main .redux-field-container { padding: 10px 0 20px !important; } .redux-metabox .redux-no-sections .redux-main .redux_field_th { padding-top: 5px !important; } .redux-metabox .redux-no-sections.redux-box-side .redux-main { padding: 6px 8px 8px 8px !important; } .redux-metabox .redux-no-sections.redux-box-side .redux-main input[type=text] { width: 100% !important; } .wp-color-result { margin: 0 6px 0 0 !important; } .redux-container .ui-button-text-only .ui-button-text { padding: 0; } .wpseotab tr { display: table-row !important; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlZHV4LWV4dGVuc2lvbi1tZXRhYm94ZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHWTtDQUNJOztBQUtKO0NBQ0k7OztBQU9aO0NBQ0k7O0FBR0o7Q0FDSTs7QUFHSjtDQUNJO0NBQ0E7Q0FDQTtBQUNBO0NBRUE7QUFDQTtDQUVBO0NBQ0E7Q0FDQTtDQUNBOztBQUVBO0NBQ0k7O0FBR0o7Q0FDSTtDQUNBOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTtDQUNBO0NBQ0E7O0FBRUE7Q0FDSTs7QUFJUjtDQUNJO0NBQ0E7O0FBRUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUdJO0NBQ0k7O0FBSUE7QUFBQTtDQUVJOztBQUlSO0NBRUk7Q0FDQTs7QUFJUjtDQUNJOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7QUFNUjtDQUNJOztBQUVBO0NBQ0k7O0FBTWhCO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7O0FBTUE7Q0FDSTs7QUFFQTtBQUFBO0NBRUk7O0FBT0o7Q0FDSTs7QUFHSjtDQUNJOztBQUdKO0NBQ0k7OztBQU9oQjtBQUFBO0NBRUk7Q0FDQTs7O0FBR0o7Q0FDSTs7O0FBR0o7QUFDQTtDQUVRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1JO0VBQ0E7RUFDQTs7Q0FFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7Q0FLSjtBQUFBO0VBRUk7O0NBSVI7RUFDSTs7O0FBS1o7QUFBQTtDQUVJO0NBQ0E7QUFDSjs7O0FBSUk7QUFBQTtDQUVJOzs7QUFJUjtDQUVRO0FBQUE7RUFFSTs7O0FBS1o7Q0FFUTtBQUFBO0VBRUk7OztBQUtaO0NBRVE7RUFDSTtFQUNBOztDQUdKO0VBQ0k7RUFDQTs7Q0FJUjtFQUNJOztDQUdKO0VBQ0k7RUFDQTs7O0FBSVI7Q0FDSTs7O0FBV0o7QUFQSTtBQUFBO0NBRUksWUFPdUM7Q0FOdkMsT0FNZ0Q7OztBQUd4RDtBQVpJO0FBQUE7Q0FFSSxZQVl1QztDQVh2QyxPQVdnRDs7O0FBR3hEO0FBakJJO0FBQUE7Q0FFSSxZQWlCdUM7Q0FoQnZDLE9BZ0JnRDs7O0FBR3hEO0FBdEJJO0FBQUE7Q0FFSSxZQXNCdUM7Q0FyQnZDLE9BcUJnRDs7O0FBR3hEO0FBM0JJO0FBQUE7Q0FFSSxZQTJCdUM7Q0ExQnZDLE9BMEJnRDs7O0FBR3hEO0FBaENJO0FBQUE7Q0FFSSxZQWdDdUM7Q0EvQnZDLE9BK0JnRDs7O0FBR3hEO0FBckNJO0FBQUE7Q0FFSSxZQXFDdUM7Q0FwQ3ZDLE9Bb0NnRDs7O0FBR3hEO0FBMUNJO0FBQUE7Q0FFSSxZQTBDdUM7Q0F6Q3ZDLE9BeUNnRDs7O0FBR3hEO0NBQ0k7Q0FDQTs7O0FBSUE7Q0FDSTs7QUFHSjtDQUNJO0NBQ0E7O0FBSUE7Q0FDSTs7QUFFQTtDQUNJOztBQUdKO0NBQ0k7O0FBR0o7Q0FDSTs7QUFLSjtDQUNJOztBQUNBO0NBQ0k7OztBQU9wQjtDQUNJOzs7QUFHSjtDQUNJOzs7QUFHSjtDQUNJIiwiZmlsZSI6InJlZHV4LWV4dGVuc2lvbi1tZXRhYm94ZXMuY3NzIn0= */ /*# sourceMappingURL=redux-extension-metaboxes.css.map */ /*! elementor - v3.32.0 - 21-10-2025 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../assets/dev/js/editor/components/dynamic-tags/control-behavior.js": /*!***************************************************************************!*\ !*** ../assets/dev/js/editor/components/dynamic-tags/control-behavior.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var TagPanelView = __webpack_require__(/*! elementor-dynamic-tags/tag-panel-view */ "../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js"); module.exports = Marionette.Behavior.extend({ tagView: null, listenerAttached: false, initialize: function initialize() { if (!this.listenerAttached) { this.listenTo(this.view.options.container.settings, 'change:external:__dynamic__', this.onAfterExternalChange); this.listenerAttached = true; } }, shouldRenderTools: function shouldRenderTools() { var hasDefault = this.getOption('dynamicSettings').default; if (hasDefault) { return false; } var isFeatureAvailableToUser = elementor.helpers.hasPro() && !elementor.helpers.hasProAndNotConnected(), hasTags = this.getOption('tags').length > 0; return !isFeatureAvailableToUser || hasTags; }, renderTools: function renderTools() { var _this = this; if (!this.shouldRenderTools()) { return; } var $dynamicSwitcher = jQuery(Marionette.Renderer.render('#tmpl-elementor-control-dynamic-switcher')); $dynamicSwitcher.on('click', function (event) { return _this.onDynamicSwitcherClick(event); }); this.$el.find('.elementor-control-dynamic-switcher-wrapper').append($dynamicSwitcher); this.ui.dynamicSwitcher = $dynamicSwitcher; if ('color' === this.view.model.get('type')) { if (this.view.colorPicker) { this.moveDynamicSwitcherToColorPicker(); } else { setTimeout(function () { return _this.moveDynamicSwitcherToColorPicker(); }); } } // Add a Tipsy Tooltip to the Dynamic Switcher this.ui.dynamicSwitcher.tipsy({ title: function title() { return this.getAttribute('data-tooltip'); }, gravity: 's' }); }, moveDynamicSwitcherToColorPicker: function moveDynamicSwitcherToColorPicker() { var $colorPickerToolsContainer = this.view.colorPicker.$pickerToolsContainer; this.ui.dynamicSwitcher.removeClass('elementor-control-unit-1').addClass('e-control-tool'); var $eyedropper = $colorPickerToolsContainer.find('.elementor-control-element-color-picker'); if ($eyedropper.length) { this.ui.dynamicSwitcher.insertBefore($eyedropper); } else { $colorPickerToolsContainer.append(this.ui.dynamicSwitcher); } }, toggleDynamicClass: function toggleDynamicClass() { this.$el.toggleClass('elementor-control-dynamic-value', this.isDynamicMode()); }, isDynamicMode: function isDynamicMode() { var dynamicSettings = this.view.container.settings.get('__dynamic__'); return !!(dynamicSettings && dynamicSettings[this.view.model.get('name')]); }, createTagsList: function createTagsList() { var tags = _.groupBy(this.getOption('tags'), 'group'), groups = elementor.dynamicTags.getConfig('groups'), $tagsList = this.ui.tagsList = jQuery('
', { class: 'elementor-tags-list' }), $tagsListInner = jQuery('
', { class: 'elementor-tags-list__inner' }); $tagsList.append($tagsListInner); jQuery.each(groups, function (groupName) { var groupTags = tags[groupName]; if (!groupTags) { return; } var group = this, $groupTitle = jQuery('
', { class: 'elementor-tags-list__group-title' }).text(group.title); $tagsListInner.append($groupTitle); groupTags.forEach(function (tag) { var $tag = jQuery('
', { class: 'elementor-tags-list__item' }); $tag.text(tag.title).attr('data-tag-name', tag.name); $tagsListInner.append($tag); }); }); // Create and inject pro dynamic teaser template if Pro is not installed if (!elementor.helpers.hasPro() && Object.keys(tags).length) { var proTeaser = Marionette.Renderer.render('#tmpl-elementor-dynamic-tags-promo', { promotionUrl: elementor.config.dynamicPromotionURL.replace('%s', this.view.model.get('name')) }); $tagsListInner.append(proTeaser); } $tagsListInner.on('click', '.elementor-tags-list__item', this.onTagsListItemClick.bind(this)); elementorCommon.elements.$body.append($tagsList); }, getTagsList: function getTagsList() { if (!this.ui.tagsList) { this.createTagsList(); } return this.ui.tagsList; }, toggleTagsList: function toggleTagsList() { var $tagsList = this.getTagsList(); if ($tagsList.is(':visible')) { $tagsList.hide(); return; } var direction = elementorCommon.config.isRTL ? 'left' : 'right'; $tagsList.show().position({ my: "".concat(direction, " top"), at: "".concat(direction, " bottom+5"), of: this.ui.dynamicSwitcher }); }, setTagView: function setTagView(id, name, settings) { if (this.tagView) { this.tagView.destroy(); } var tagView = this.tagView = new TagPanelView({ id: id, name: name, settings: settings, controlName: this.view.model.get('name'), dynamicSettings: this.getOption('dynamicSettings') }), elementContainer = this.view.options.container, tagViewLabel = elementContainer.controls[tagView.options.controlName].label; tagView.options.container = new elementorModules.editor.Container({ type: 'dynamic', id: id, model: tagView.model, settings: tagView.model, view: tagView, parent: elementContainer, label: elementContainer.label + ' ' + tagViewLabel, controls: tagView.model.options.controls, renderer: elementContainer }); tagView.render(); this.$el.find('.elementor-control-tag-area').after(tagView.el); this.listenTo(tagView, 'remove', this.onTagViewRemove.bind(this)); }, setDefaultTagView: function setDefaultTagView() { var tagData = elementor.dynamicTags.tagTextToTagData(this.getDynamicValue()); this.setTagView(tagData.id, tagData.name, tagData.settings); }, tagViewToTagText: function tagViewToTagText() { var tagView = this.tagView; return elementor.dynamicTags.tagDataToTagText(tagView.getOption('id'), tagView.getOption('name'), tagView.model); }, getDynamicValue: function getDynamicValue() { return this.view.container.dynamic.get(this.view.model.get('name')); }, destroyTagView: function destroyTagView() { if (this.tagView) { this.tagView.destroy(); this.tagView = null; } }, showPromotion: function showPromotion() { var hasProAndNotConnected = elementor.helpers.hasProAndNotConnected(), dialogOptions = { title: __('Dynamic Content', 'elementor'), content: __('Create more personalized and dynamic sites by populating data from various sources with dozens of dynamic tags to choose from.', 'elementor'), targetElement: this.ui.dynamicSwitcher, position: { blockStart: '-10' }, actionButton: { url: hasProAndNotConnected ? elementorProEditorConfig.urls.connect : elementor.config.dynamicPromotionURL.replace('%s', this.view.model.get('name')), text: hasProAndNotConnected ? __('Connect & Activate', 'elementor') : __('Upgrade', 'elementor') } }; elementor.promotion.showDialog(dialogOptions); }, onRender: function onRender() { this.$el.addClass('elementor-control-dynamic'); this.renderTools(); this.toggleDynamicClass(); if (this.isDynamicMode()) { this.setDefaultTagView(); } }, onDynamicSwitcherClick: function onDynamicSwitcherClick(event) { event.stopPropagation(); if (this.getOption('tags').length) { this.toggleTagsList(); } else { this.showPromotion(); } }, onTagsListItemClick: function onTagsListItemClick(event) { var $tag = jQuery(event.currentTarget); this.setTagView(elementorCommon.helpers.getUniqueId(), $tag.data('tagName'), {}); // If an element has an active global value, disable it before applying the dynamic value. if (this.view.getGlobalKey()) { this.view.triggerMethod('unset:global:value'); } if (this.isDynamicMode()) { $e.run('document/dynamic/settings', { container: this.view.options.container, settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText()) }); } else { $e.run('document/dynamic/enable', { container: this.view.options.container, settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText()) }); } this.toggleDynamicClass(); this.toggleTagsList(); if (this.tagView.getTagConfig().settings_required) { this.tagView.showSettingsPopup(); } }, onTagViewRemove: function onTagViewRemove() { $e.run('document/dynamic/disable', { container: this.view.options.container, settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText()) }); this.toggleDynamicClass(); }, onAfterExternalChange: function onAfterExternalChange() { this.destroyTagView(); if (this.isDynamicMode()) { this.setDefaultTagView(); } this.toggleDynamicClass(); }, onDestroy: function onDestroy() { this.destroyTagView(); if (this.ui.tagsList) { this.ui.tagsList.remove(); } } }); /***/ }), /***/ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js": /*!***********************************************************************************!*\ !*** ../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js ***! \***********************************************************************************/ /***/ ((module) => { "use strict"; module.exports = Marionette.ItemView.extend({ className: 'elementor-tag-controls-stack-empty', template: '#tmpl-elementor-tag-controls-stack-empty' }); /***/ }), /***/ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js": /*!*****************************************************************************!*\ !*** ../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js ***! \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var EmptyView = __webpack_require__(/*! elementor-dynamic-tags/tag-controls-stack-empty */ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js"); module.exports = elementorModules.editor.views.ControlsStack.extend({ activeTab: 'content', template: _.noop, emptyView: EmptyView, isEmpty: function isEmpty() { // Ignore the section control return this.collection.length < 2; }, childViewOptions: function childViewOptions() { return { container: this.options.container }; }, getNamespaceArray: function getNamespaceArray() { var currentPageView = elementor.getPanelView().getCurrentPageView(), eventNamespace = currentPageView.getNamespaceArray(); eventNamespace.push(currentPageView.activeSection); eventNamespace.push(this.getOption('controlName')); eventNamespace.push(this.getOption('name')); return eventNamespace; }, onRenderTemplate: function onRenderTemplate() { this.activateFirstSection(); } }); /***/ }), /***/ "../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js": /*!*************************************************************************!*\ !*** ../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TagControlsStack = __webpack_require__(/*! elementor-dynamic-tags/tag-controls-stack */ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js"); module.exports = Marionette.ItemView.extend({ className: 'elementor-dynamic-cover e-input-style', tagControlsStack: null, templateHelpers: function templateHelpers() { var helpers = {}; if (this.model) { helpers.controls = this.model.options.controls; } return helpers; }, ui: { remove: '.elementor-dynamic-cover__remove' }, events: function events() { var events = { 'click @ui.remove': 'onRemoveClick' }; if (this.hasSettings()) { events.click = 'onClick'; } return events; }, getTemplate: function getTemplate() { var config = this.getTagConfig(), templateFunction = Marionette.TemplateCache.get('#tmpl-elementor-control-dynamic-cover'), renderedTemplate = Marionette.Renderer.render(templateFunction, { hasSettings: this.hasSettings(), isRemovable: !this.getOption('dynamicSettings').default, title: config.title, content: config.panel_template }); return Marionette.TemplateCache.prototype.compileTemplate(renderedTemplate.trim()); }, getTagConfig: function getTagConfig() { return elementor.dynamicTags.getConfig('tags.' + this.getOption('name')); }, initSettingsPopup: function initSettingsPopup() { var settingsPopupOptions = { className: 'elementor-tag-settings-popup', position: { my: 'left top+5', at: 'left bottom', of: this.$el, autoRefresh: true }, hide: { ignore: '.select2-container' } }; var settingsPopup = elementorCommon.dialogsManager.createWidget('buttons', settingsPopupOptions); this.getSettingsPopup = function () { return settingsPopup; }; }, hasSettings: function hasSettings() { return !!Object.values(this.getTagConfig().controls).length; }, showSettingsPopup: function showSettingsPopup() { if (!this.tagControlsStack) { this.initTagControlsStack(); } var settingsPopup = this.getSettingsPopup(); if (settingsPopup.isVisible()) { return; } settingsPopup.show(); }, initTagControlsStack: function initTagControlsStack() { this.tagControlsStack = new TagControlsStack({ model: this.model, controls: this.model.controls, name: this.options.name, controlName: this.options.controlName, container: this.options.container, el: this.getSettingsPopup().getElements('message')[0] }); this.tagControlsStack.render(); }, initModel: function initModel() { this.model = new elementorModules.editor.elements.models.BaseSettings(this.getOption('settings'), { controls: this.getTagConfig().controls }); }, initialize: function initialize() { // The `model` should always be available. this.initModel(); if (!this.hasSettings()) { return; } this.initSettingsPopup(); this.listenTo(this.model, 'change', this.render); }, onClick: function onClick() { this.showSettingsPopup(); }, onRemoveClick: function onRemoveClick(event) { event.stopPropagation(); this.destroy(); this.trigger('remove'); }, onDestroy: function onDestroy() { if (this.hasSettings()) { this.getSettingsPopup().destroy(); } if (this.tagControlsStack) { this.tagControlsStack.destroy(); } } }); /***/ }), /***/ "../assets/dev/js/editor/components/validator/base.js": /*!************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/base.js ***! \************************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorModules.Module.extend({ errors: [], __construct: function __construct(settings) { var customValidationMethod = settings.customValidationMethod; if (customValidationMethod) { this.validationMethod = customValidationMethod; } }, getDefaultSettings: function getDefaultSettings() { return { validationTerms: {} }; }, isValid: function isValid() { var validationErrors = this.validationMethod.apply(this, arguments); if (validationErrors.length) { this.errors = validationErrors; return false; } return true; }, validationMethod: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = []; if (validationTerms.required) { if (!('' + newValue).length) { errors.push('Required value is empty'); } } return errors; } }); /***/ }), /***/ "../assets/dev/js/editor/components/validator/breakpoint.js": /*!******************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/breakpoint.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var NumberValidator = __webpack_require__(/*! elementor-validator/number */ "../assets/dev/js/editor/components/validator/number.js"); var BreakpointValidator = exports["default"] = /*#__PURE__*/function (_NumberValidator) { function BreakpointValidator() { (0, _classCallCheck2.default)(this, BreakpointValidator); return _callSuper(this, BreakpointValidator, arguments); } (0, _inherits2.default)(BreakpointValidator, _NumberValidator); return (0, _createClass2.default)(BreakpointValidator, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { validationTerms: { // Max width we allow in general max: 5120 } }; } /** * Get Panel Active Breakpoints * * Since the active kit used in the Site Settings panel could be a draft, we need to use the panel's active * breakpoints settings and not the elementorFrontend.config values (which come from the DB). * * @return {*} Object */ }, { key: "getPanelActiveBreakpoints", value: function getPanelActiveBreakpoints() { var panelBreakpoints = elementor.documents.currentDocument.config.settings.settings.active_breakpoints.map(function (breakpointName) { return breakpointName.replace('viewport_', ''); }), panelActiveBreakpoints = {}; panelBreakpoints.forEach(function (breakpointName) { panelActiveBreakpoints[breakpointName] = elementorFrontend.config.responsive.breakpoints[breakpointName]; }); return panelActiveBreakpoints; } }, { key: "initBreakpointProperties", value: function initBreakpointProperties() { var _activeBreakpoints$br, _activeBreakpoints$br2; var validationTerms = this.getSettings('validationTerms'), activeBreakpoints = this.getPanelActiveBreakpoints(), breakpointKeys = Object.keys(activeBreakpoints); this.breakpointIndex = breakpointKeys.indexOf(validationTerms.breakpointName); this.topBreakpoint = (_activeBreakpoints$br = activeBreakpoints[breakpointKeys[this.breakpointIndex + 1]]) === null || _activeBreakpoints$br === void 0 ? void 0 : _activeBreakpoints$br.value; this.bottomBreakpoint = (_activeBreakpoints$br2 = activeBreakpoints[breakpointKeys[this.breakpointIndex - 1]]) === null || _activeBreakpoints$br2 === void 0 ? void 0 : _activeBreakpoints$br2.value; } }, { key: "validationMethod", value: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = NumberValidator.prototype.validationMethod.call(this, newValue); // Validate both numeric and empty values, since breakpoints utilize default values when empty. if (_.isFinite(newValue) || '' === newValue) { if (!this.validateMinMaxForBreakpoint(newValue, validationTerms)) { errors.push('Value is not between the breakpoints above or under the edited breakpoint'); } } return errors; } }, { key: "validateMinMaxForBreakpoint", value: function validateMinMaxForBreakpoint(newValue, validationTerms) { var breakpointDefaultValue = elementorFrontend.config.responsive.breakpoints[validationTerms.breakpointName].default_value; var isValid = true; this.initBreakpointProperties(); // Since the following comparison is <=, allow usage of the 320px value for the mobile breakpoint. if ('mobile' === validationTerms.breakpointName && 320 === this.bottomBreakpoint) { this.bottomBreakpoint -= 1; } // If there is a breakpoint below the currently edited breakpoint if (this.bottomBreakpoint) { // Check that the new value is not under the bottom breakpoint's value. if ('' !== newValue && newValue <= this.bottomBreakpoint) { isValid = false; } // If the new value is empty, check that the default breakpoint value is not below the bottom breakpoint. if ('' === newValue && breakpointDefaultValue <= this.bottomBreakpoint) { isValid = false; } } // If there is a breakpoint above the currently edited breakpoint. if (this.topBreakpoint) { // Check that the value is not above the top breakpoint's value. if ('' !== newValue && newValue >= this.topBreakpoint) { isValid = false; } // If the new value is empty, check that the default breakpoint value is not above the top breakpoint. if ('' === newValue && breakpointDefaultValue >= this.topBreakpoint) { isValid = false; } } return isValid; } }]); }(NumberValidator); /***/ }), /***/ "../assets/dev/js/editor/components/validator/number.js": /*!**************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/number.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var Validator = __webpack_require__(/*! elementor-validator/base */ "../assets/dev/js/editor/components/validator/base.js"); module.exports = Validator.extend({ validationMethod: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = []; if (_.isFinite(newValue)) { if (undefined !== validationTerms.min && newValue < validationTerms.min) { errors.push('Value is less than minimum'); } if (undefined !== validationTerms.max && newValue > validationTerms.max) { errors.push('Value is greater than maximum'); } } return errors; } }); /***/ }), /***/ "../assets/dev/js/editor/controls/base-data.js": /*!*****************************************************!*\ !*** ../assets/dev/js/editor/controls/base-data.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _breakpoint = _interopRequireDefault(__webpack_require__(/*! elementor-validator/breakpoint */ "../assets/dev/js/editor/components/validator/breakpoint.js")); function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } var ControlBaseView = __webpack_require__(/*! elementor-controls/base */ "../assets/dev/js/editor/controls/base.js"), TagsBehavior = __webpack_require__(/*! elementor-dynamic-tags/control-behavior */ "../assets/dev/js/editor/components/dynamic-tags/control-behavior.js"), Validator = __webpack_require__(/*! elementor-validator/base */ "../assets/dev/js/editor/components/validator/base.js"), NumberValidator = __webpack_require__(/*! elementor-validator/number */ "../assets/dev/js/editor/components/validator/number.js"), ControlBaseDataView; ControlBaseDataView = ControlBaseView.extend({ validatorTypes: { Base: Validator, Number: NumberValidator, Breakpoint: _breakpoint.default }, ui: function ui() { var ui = ControlBaseView.prototype.ui.apply(this, arguments); _.extend(ui, { input: 'input[data-setting][type!="checkbox"][type!="radio"]', checkbox: 'input[data-setting][type="checkbox"]', radio: 'input[data-setting][type="radio"]', select: 'select[data-setting]', textarea: 'textarea[data-setting]', responsiveSwitchersSibling: "".concat(ui.controlTitle, "[data-e-responsive-switcher-sibling!=\"false\"]"), responsiveSwitchers: '.elementor-responsive-switcher', contentEditable: '[contenteditable="true"]' }); return ui; }, templateHelpers: function templateHelpers() { var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments); controlData.data.controlValue = this.getControlValue(); return controlData; }, events: function events() { return { 'input @ui.input': 'onBaseInputTextChange', 'change @ui.checkbox': 'onBaseInputChange', 'change @ui.radio': 'onBaseInputChange', 'input @ui.textarea': 'onBaseInputTextChange', 'change @ui.select': 'onBaseInputChange', 'input @ui.contentEditable': 'onBaseInputTextChange', 'click @ui.responsiveSwitchers': 'onResponsiveSwitchersClick' }; }, behaviors: function behaviors() { var behaviors = ControlBaseView.prototype.behaviors.apply(this, arguments), dynamicSettings = this.options.model.get('dynamic'); if (dynamicSettings && dynamicSettings.active) { var tags = _.filter(elementor.dynamicTags.getConfig('tags'), function (tag) { return tag.editable && _.intersection(tag.categories, dynamicSettings.categories).length; }); if (tags.length || elementor.config.user.is_administrator) { behaviors.tags = { behaviorClass: TagsBehavior, tags: tags, dynamicSettings: dynamicSettings }; } } return behaviors; }, initialize: function initialize() { ControlBaseView.prototype.initialize.apply(this, arguments); this.registerValidators(); if (this.model.get('responsive')) { this.setPlaceholderFromParent(); } if (undefined === this.model.get('inherit_placeholders')) { this.model.set('inherit_placeholders', true); } // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; this.listenTo(settings, 'change:external:' + this.model.get('name'), this.onAfterExternalChange); }, getControlValue: function getControlValue() { return this.container.settings.get(this.model.get('name')); }, getGlobalKey: function getGlobalKey() { return this.container.globals.get(this.model.get('name')); }, getGlobalValue: function getGlobalValue() { return this.globalValue; }, getGlobalDefault: function getGlobalDefault() { var controlGlobalArgs = this.model.get('global'); if (controlGlobalArgs !== null && controlGlobalArgs !== void 0 && controlGlobalArgs.default) { // If the control is a color/typography control and default colors/typography are disabled, don't return the global value. if (!elementor.config.globals.defaults_enabled[this.getGlobalMeta().controlType]) { return ''; } var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default), command = _$e$data$commandExtra.command, args = _$e$data$commandExtra.args, result = $e.data.getCache($e.components.get('globals'), command, args.query); return result === null || result === void 0 ? void 0 : result.value; } // No global default. return ''; }, getCurrentValue: function getCurrentValue() { if (this.getGlobalKey() && !this.globalValue) { return ''; } if (this.globalValue) { return this.globalValue; } var controlValue = this.getControlValue(); if (controlValue) { return controlValue; } return this.getGlobalDefault(); }, isGlobalActive: function isGlobalActive() { var _this$options$model$g; return (_this$options$model$g = this.options.model.get('global')) === null || _this$options$model$g === void 0 ? void 0 : _this$options$model$g.active; }, setValue: function setValue(value) { this.setSettingsModel(value); }, setSettingsModel: function setSettingsModel(value) { var key = this.model.get('name'); $e.run('document/elements/settings', { container: this.options.container, settings: (0, _defineProperty2.default)({}, key, value) }); this.triggerMethod('settings:change'); }, applySavedValue: function applySavedValue() { this.setInputValue('[data-setting="' + this.model.get('name') + '"]', this.getControlValue()); }, getEditSettings: function getEditSettings(setting) { var settings = this.getOption('elementEditSettings').toJSON(); if (setting) { return settings[setting]; } return settings; }, setEditSetting: function setEditSetting(settingKey, settingValue) { var settings = this.getOption('elementEditSettings') || this.getOption('container').settings; settings.set(settingKey, settingValue); }, /** * Get the placeholder for the current control. * * @return {*} placeholder */ getControlPlaceholder: function getControlPlaceholder() { var placeholder = this.model.get('placeholder'); if (this.model.get('responsive') && this.model.get('inherit_placeholders')) { placeholder = placeholder || this.container.placeholders[this.model.get('name')]; } return placeholder; }, /** * Get the responsive parent view if exists. * * @return {ControlBaseDataView|undefined} responsive parent view if exists */ getResponsiveParentView: function getResponsiveParentView() { var parent = this.model.get('parent'); try { return parent && this.container.panel.getControlView(parent); // eslint-disable-next-line no-empty } catch (e) {} }, /** * Get the responsive children views if exists. * * @return {ControlBaseDataView|null} responsive children views if exists */ getResponsiveChildrenViews: function getResponsiveChildrenViews() { var children = this.model.get('inheritors'), views = []; try { var _iterator = _createForOfIteratorHelper(children), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var child = _step.value; views.push(this.container.panel.getControlView(child)); } // eslint-disable-next-line no-empty } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } catch (e) {} return views; }, /** * Get prepared placeholder from the responsive parent, and put it into current * control model as placeholder. */ setPlaceholderFromParent: function setPlaceholderFromParent() { var parent = this.getResponsiveParentView(); if (parent) { this.container.placeholders[this.model.get('name')] = parent.preparePlaceholderForChildren(); } }, /** * Returns the value of the current control if exists, or the parent value if not, * so responsive children can set it as their placeholder. When there are multiple * inputs, the inputs which are empty on this control will inherit their values * from the responsive parent. * For example, if on desktop the padding of all edges is 10, and on tablet only * padding right and left is set to 15, the mobile control placeholder will * eventually be: { top: 10, right: 15, left: 15, bottom: 10 }, because of the * inheritance of multiple values. * * @return {*} value of the current control if exists, or the parent value if not */ preparePlaceholderForChildren: function preparePlaceholderForChildren() { var _this$getResponsivePa; var cleanValue = this.getCleanControlValue(), parentValue = (_this$getResponsivePa = this.getResponsiveParentView()) === null || _this$getResponsivePa === void 0 ? void 0 : _this$getResponsivePa.preparePlaceholderForChildren(); if (cleanValue instanceof Object) { return Object.assign({}, parentValue, cleanValue); } return cleanValue || parentValue; }, /** * Start the re-rendering recursive chain from the responsive child of this * control. It's useful when the current control value is changed and we want * to update all responsive children. In this case, the re-rendering is supposed * to be applied only from the responsive child of this control and on. */ propagatePlaceholder: function propagatePlaceholder() { var children = this.getResponsiveChildrenViews(); var _iterator2 = _createForOfIteratorHelper(children), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var child = _step2.value; child.renderWithChildren(); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } }, /** * Re-render current control and trigger this method on the responsive child. * The purpose of those actions is to recursively re-render all responsive * children. */ renderWithChildren: function renderWithChildren() { this.render(); this.propagatePlaceholder(); }, /** * Get control value without empty properties, and without default values. * * @return {{}} control value without empty properties, and without default values */ getCleanControlValue: function getCleanControlValue() { var value = this.getControlValue(); return value && value !== this.model.get('default') ? value : undefined; }, onAfterChange: function onAfterChange(control) { if (Object.keys(control.changed).includes(this.model.get('name'))) { this.propagatePlaceholder(); } ControlBaseView.prototype.onAfterChange.apply(this, arguments); }, getInputValue: function getInputValue(input) { var $input = this.$(input); if ($input.is('[contenteditable="true"]')) { return $input.html(); } var inputValue = $input.val(), inputType = $input.attr('type'); if (-1 !== ['radio', 'checkbox'].indexOf(inputType)) { return $input.prop('checked') ? inputValue : ''; } if ('number' === inputType && _.isFinite(inputValue)) { return +inputValue; } // Temp fix for jQuery (< 3.0) that return null instead of empty array if ('SELECT' === input.tagName && $input.prop('multiple') && null === inputValue) { inputValue = []; } return inputValue; }, setInputValue: function setInputValue(input, value) { var $input = this.$(input), inputType = $input.attr('type'); if ('checkbox' === inputType) { $input.prop('checked', !!value); } else if ('radio' === inputType) { $input.filter('[value="' + value + '"]').prop('checked', true); } else { $input.val(value); } }, addValidator: function addValidator(validator) { this.validators.push(validator); }, registerValidators: function registerValidators() { var _this = this; this.validators = []; var validationTerms = {}; if (this.model.get('required')) { validationTerms.required = true; } if (!jQuery.isEmptyObject(validationTerms)) { this.addValidator(new this.validatorTypes.Base({ validationTerms: validationTerms })); } var validators = this.model.get('validators'); if (validators) { Object.entries(validators).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), key = _ref2[0], args = _ref2[1]; _this.addValidator(new _this.validatorTypes[key]({ validationTerms: args })); }); } }, onBeforeRender: function onBeforeRender() { this.setPlaceholderFromParent(); }, onRender: function onRender() { ControlBaseView.prototype.onRender.apply(this, arguments); if (this.model.get('responsive')) { this.renderResponsiveSwitchers(); } this.applySavedValue(); this.triggerMethod('ready'); this.toggleControlVisibility(); this.addTooltip(); }, onBaseInputTextChange: function onBaseInputTextChange(event) { this.onBaseInputChange(event); }, onBaseInputChange: function onBaseInputChange(event) { clearTimeout(this.correctionTimeout); var input = event.currentTarget, value = this.getInputValue(input), validators = this.validators.slice(0), settingsValidators = this.container.settings.validators[this.model.get('name')]; if (settingsValidators) { validators = validators.concat(settingsValidators); } if (validators) { var oldValue = this.getControlValue(input.dataset.setting); var isValidValue = validators.every(function (validator) { return validator.isValid(value, oldValue); }); if (!isValidValue) { this.correctionTimeout = setTimeout(this.setInputValue.bind(this, input, oldValue), 1200); return; } } this.updateElementModel(value, input); this.triggerMethod('input:change', event); }, onResponsiveSwitchersClick: function onResponsiveSwitchersClick(event) { var $switcher = jQuery(event.currentTarget), device = $switcher.data('device'), $switchersWrapper = this.ui.responsiveSwitchersWrapper, selectedOption = $switcher.index(); $switchersWrapper.toggleClass('elementor-responsive-switchers-open'); $switchersWrapper[0].style.setProperty('--selected-option', selectedOption); this.triggerMethod('responsive:switcher:click', device); elementor.changeDeviceMode(device); }, renderResponsiveSwitchers: function renderResponsiveSwitchers() { var templateHtml = Marionette.Renderer.render('#tmpl-elementor-control-responsive-switchers', this.model.attributes); this.ui.responsiveSwitchersSibling.after(templateHtml); this.ui.responsiveSwitchersWrapper = this.$el.find('.elementor-control-responsive-switchers'); }, onAfterExternalChange: function onAfterExternalChange() { this.hideTooltip(); this.applySavedValue(); }, addTooltip: function addTooltip() { this.ui.tooltipTargets = this.$el.find('.tooltip-target'); if (!this.ui.tooltipTargets.length) { return; } // Create tooltip on controls this.ui.tooltipTargets.tipsy({ gravity: function gravity() { // `n` for down, `s` for up var gravity = jQuery(this).data('tooltip-pos'); if (undefined !== gravity) { return gravity; } return 's'; }, title: function title() { return this.getAttribute('data-tooltip'); } }); }, hideTooltip: function hideTooltip() { if (this.ui.tooltipTargets.length) { this.ui.tooltipTargets.tipsy('hide'); } }, updateElementModel: function updateElementModel(value) { this.setValue(value); } }, { // Static methods getStyleValue: function getStyleValue(placeholder, controlValue, controlData) { if ('DEFAULT' === placeholder) { return controlData.default; } return controlValue; }, onPasteStyle: function onPasteStyle() { return true; } }); module.exports = ControlBaseDataView; /***/ }), /***/ "../assets/dev/js/editor/controls/base.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/controls/base.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var ControlBaseView; ControlBaseView = Marionette.CompositeView.extend({ ui: function ui() { return { controlTitle: '.elementor-control-title' }; }, behaviors: function behaviors() { var behaviors = {}; return elementor.hooks.applyFilters('controls/base/behaviors', behaviors, this); }, getBehavior: function getBehavior(name) { return this._behaviors[Object.keys(this.behaviors()).indexOf(name)]; }, className: function className() { // TODO: Any better classes for that? var classes = 'elementor-control elementor-control-' + this.model.get('name') + ' elementor-control-type-' + this.model.get('type'), modelClasses = this.model.get('classes'), responsive = this.model.get('responsive'); if (!_.isEmpty(modelClasses)) { classes += ' ' + modelClasses; } if (!_.isEmpty(responsive)) { var responsiveControlName = responsive.max || responsive.min; classes += ' elementor-control-responsive-' + responsiveControlName; } return classes; }, templateHelpers: function templateHelpers() { var controlData = { _cid: this.model.cid }; return { view: this, data: _.extend({}, this.model.toJSON(), controlData) }; }, getTemplate: function getTemplate() { return Marionette.TemplateCache.get('#tmpl-elementor-control-' + this.model.get('type') + '-content'); }, initialize: function initialize(options) { var label = this.model.get('label'); // TODO: Temp backwards compatibility. since 2.8.0. Object.defineProperty(this, 'container', { get: function get() { if (!options.container) { var settingsModel = options.elementSettingsModel, view = $e.components.get('document').utils.findViewById(settingsModel.id); // Element control. if (view && view.getContainer) { options.container = view.getContainer(); } else { if (!settingsModel.id) { settingsModel.id = 'bc-' + elementorCommon.helpers.getUniqueId(); } // Document/General/Other control. options.container = new elementorModules.editor.Container({ type: 'bc-container', id: settingsModel.id, model: settingsModel, settings: settingsModel, label: label, view: false, parent: false, renderer: false, controls: settingsModel.options.controls }); } } return options.container; } }); // Use `defineProperty` because `get elementSettingsModel()` fails during the `Marionette.CompositeView.extend`. Object.defineProperty(this, 'elementSettingsModel', { get: function get() { elementorDevTools.deprecation.deprecated('elementSettingsModel', '2.8.0', 'container.settings'); return options.container ? options.container.settings : options.elementSettingsModel; } }); var controlType = this.model.get('type'), controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes); this.model.set(controlSettings); // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; this.listenTo(settings, 'change', this.onAfterChange); if (this.model.attributes.responsive) { this.onDeviceModeChange = this.onDeviceModeChange.bind(this); elementor.listenTo(elementor.channels.deviceMode, 'change', this.onDeviceModeChange); } }, onDestroy: function onDestroy() { elementor.stopListening(elementor.channels.deviceMode, 'change', this.onDeviceModeChange); }, onDeviceModeChange: function onDeviceModeChange() { this.toggleControlVisibility(); }, onAfterChange: function onAfterChange() { this.toggleControlVisibility(); }, toggleControlVisibility: function toggleControlVisibility() { // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; var isVisible = elementor.helpers.isActiveControl(this.model, settings.attributes, settings.controls); this.$el.toggleClass('elementor-hidden-control', !isVisible); elementor.getPanelView().updateScrollbar(); }, onRender: function onRender() { var layoutType = this.model.get('label_block') ? 'block' : 'inline', showLabel = this.model.get('show_label'), elClasses = 'elementor-label-' + layoutType; elClasses += ' elementor-control-separator-' + this.model.get('separator'); if (!showLabel) { elClasses += ' elementor-control-hidden-label'; } this.$el.addClass(elClasses); this.toggleControlVisibility(); }, reRoute: function reRoute(controlActive) { $e.route($e.routes.getCurrent('panel'), this.getControlInRouteArgs(controlActive ? this.getControlPath() : ''), { history: false }); }, getControlInRouteArgs: function getControlInRouteArgs(path) { return _objectSpread(_objectSpread({}, $e.routes.getCurrentArgs('panel')), {}, { activeControl: path }); }, getControlPath: function getControlPath() { var controlPath = this.model.get('name'), parent = this._parent; while (!parent.$el.hasClass('elementor-controls-stack')) { var parentName = parent.model.get('name') || parent.model.get('_id'); controlPath = parentName + '/' + controlPath; parent = parent._parent; } return controlPath; } }); module.exports = ControlBaseView; /***/ }), /***/ "../assets/dev/js/editor/controls/switcher.js": /*!****************************************************!*\ !*** ../assets/dev/js/editor/controls/switcher.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"); module.exports = ControlBaseDataView.extend({ setInputValue: function setInputValue(input, value) { this.$(input).prop('checked', this.model.get('return_value') === value); } }, { onPasteStyle: function onPasteStyle(control, clipboardValue) { return !clipboardValue || clipboardValue === control.return_value; } }); /***/ }), /***/ "../modules/styleguide/assets/js/commands/enable.js": /*!**********************************************************!*\ !*** ../modules/styleguide/assets/js/commands/enable.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Enable = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var Enable = exports.Enable = /*#__PURE__*/function (_$e$modules$CommandBa) { function Enable() { (0, _classCallCheck2.default)(this, Enable); return _callSuper(this, Enable, arguments); } (0, _inherits2.default)(Enable, _$e$modules$CommandBa); return (0, _createClass2.default)(Enable, [{ key: "apply", value: function apply(args) { $e.components.get('preview/styleguide').enableStyleguidePreview(args); } }]); }($e.modules.CommandBase); var _default = exports["default"] = Enable; /***/ }), /***/ "../modules/styleguide/assets/js/commands/global-colors.js": /*!*****************************************************************!*\ !*** ../modules/styleguide/assets/js/commands/global-colors.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.GlobalColors = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var GlobalColors = exports.GlobalColors = /*#__PURE__*/function (_$e$modules$CommandBa) { function GlobalColors() { (0, _classCallCheck2.default)(this, GlobalColors); return _callSuper(this, GlobalColors, arguments); } (0, _inherits2.default)(GlobalColors, _$e$modules$CommandBa); return (0, _createClass2.default)(GlobalColors, [{ key: "apply", value: function apply() { $e.components.get('preview/styleguide').showStyleguidePreview(); } }]); }($e.modules.CommandBase); var _default = exports["default"] = GlobalColors; /***/ }), /***/ "../modules/styleguide/assets/js/commands/global-typography.js": /*!*********************************************************************!*\ !*** ../modules/styleguide/assets/js/commands/global-typography.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.GlobalTypography = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var GlobalTypography = exports.GlobalTypography = /*#__PURE__*/function (_$e$modules$CommandBa) { function GlobalTypography() { (0, _classCallCheck2.default)(this, GlobalTypography); return _callSuper(this, GlobalTypography, arguments); } (0, _inherits2.default)(GlobalTypography, _$e$modules$CommandBa); return (0, _createClass2.default)(GlobalTypography, [{ key: "apply", value: function apply() { $e.components.get('preview/styleguide').showStyleguidePreview(); } }]); }($e.modules.CommandBase); var _default = exports["default"] = GlobalTypography; /***/ }), /***/ "../modules/styleguide/assets/js/commands/hide.js": /*!********************************************************!*\ !*** ../modules/styleguide/assets/js/commands/hide.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Hide = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var Hide = exports.Hide = /*#__PURE__*/function (_$e$modules$CommandBa) { function Hide() { (0, _classCallCheck2.default)(this, Hide); return _callSuper(this, Hide, arguments); } (0, _inherits2.default)(Hide, _$e$modules$CommandBa); return (0, _createClass2.default)(Hide, [{ key: "apply", value: function apply() { $e.components.get('preview/styleguide').hideStyleguidePreview(); } }]); }($e.modules.CommandBase); var _default = exports["default"] = Hide; /***/ }), /***/ "../modules/styleguide/assets/js/commands/index.js": /*!*********************************************************!*\ !*** ../modules/styleguide/assets/js/commands/index.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "Enable", ({ enumerable: true, get: function get() { return _enable.Enable; } })); Object.defineProperty(exports, "GlobalColors", ({ enumerable: true, get: function get() { return _globalColors.GlobalColors; } })); Object.defineProperty(exports, "GlobalTypography", ({ enumerable: true, get: function get() { return _globalTypography.GlobalTypography; } })); Object.defineProperty(exports, "Hide", ({ enumerable: true, get: function get() { return _hide.Hide; } })); Object.defineProperty(exports, "SwitcherChange", ({ enumerable: true, get: function get() { return _switcherChange.SwitcherChange; } })); var _enable = __webpack_require__(/*! ./enable */ "../modules/styleguide/assets/js/commands/enable.js"); var _globalColors = __webpack_require__(/*! ./global-colors */ "../modules/styleguide/assets/js/commands/global-colors.js"); var _globalTypography = __webpack_require__(/*! ./global-typography */ "../modules/styleguide/assets/js/commands/global-typography.js"); var _hide = __webpack_require__(/*! ./hide */ "../modules/styleguide/assets/js/commands/hide.js"); var _switcherChange = __webpack_require__(/*! ./switcher-change */ "../modules/styleguide/assets/js/commands/switcher-change.js"); /***/ }), /***/ "../modules/styleguide/assets/js/commands/switcher-change.js": /*!*******************************************************************!*\ !*** ../modules/styleguide/assets/js/commands/switcher-change.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.SwitcherChange = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var SwitcherChange = exports.SwitcherChange = /*#__PURE__*/function (_$e$modules$CommandBa) { function SwitcherChange() { (0, _classCallCheck2.default)(this, SwitcherChange); return _callSuper(this, SwitcherChange, arguments); } (0, _inherits2.default)(SwitcherChange, _$e$modules$CommandBa); return (0, _createClass2.default)(SwitcherChange, [{ key: "validateArgs", value: function validateArgs() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; this.requireArgumentType('name', 'string', args); this.requireArgumentType('value', 'string', args); } }, { key: "apply", value: function apply(args) { if (args.name.includes('enable_styleguide_preview')) { $e.components.get('preview/styleguide').enableStyleguidePreview({ value: args.value }); } } }]); }($e.modules.CommandBase); var _default = exports["default"] = SwitcherChange; /***/ }), /***/ "../modules/styleguide/assets/js/controls/switcher.js": /*!************************************************************!*\ !*** ../modules/styleguide/assets/js/controls/switcher.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _switcher = _interopRequireDefault(__webpack_require__(/*! elementor-assets-js/editor/controls/switcher */ "../assets/dev/js/editor/controls/switcher.js")); var _baseData = _interopRequireDefault(__webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } var _default = exports["default"] = /*#__PURE__*/function (_Switcher) { function _default() { (0, _classCallCheck2.default)(this, _default); return _callSuper(this, _default, arguments); } (0, _inherits2.default)(_default, _Switcher); return (0, _createClass2.default)(_default, [{ key: "initialize", value: function initialize() { _baseData.default.prototype.initialize.apply(this, arguments); this.$el.addClass('elementor-control-type-switcher'); } }, { key: "onBeforeRender", value: function onBeforeRender() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _superPropGet(_default, "onBeforeRender", this, 3)(args); var actualValue = elementor.getPreferences('enable_styleguide_preview'); if (actualValue !== this.getCurrentValue()) { this.setValue(actualValue); } } }, { key: "onBaseInputChange", value: function onBaseInputChange(event) { _baseData.default.prototype.onBaseInputChange.apply(this, arguments); var input = event.currentTarget, value = this.getInputValue(input); if (this.model.get('on_change_command')) { this.runCommand(value); } this.model.set('return_value', null); } }, { key: "runCommand", value: function runCommand(value) { $e.run('preview/styleguide/switcher-change', { name: this.model.get('name'), value: value }); } }]); }(_switcher.default); /***/ }), /***/ "../modules/styleguide/assets/js/e-component.js": /*!******************************************************!*\ !*** ../modules/styleguide/assets/js/e-component.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands */ "../modules/styleguide/assets/js/commands/index.js")); var _switcher = _interopRequireDefault(__webpack_require__(/*! ./controls/switcher */ "../modules/styleguide/assets/js/controls/switcher.js")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var _default = exports["default"] = /*#__PURE__*/function (_$e$modules$Component) { function _default(args) { var _this; (0, _classCallCheck2.default)(this, _default); _this = _callSuper(this, _default, [args]); elementor.addControlView('global-style-switcher', _switcher.default); _this.registerStyleguideDialogType(); elementor.once('preview:loaded', function () { _this.initModal(); }); return _this; } (0, _inherits2.default)(_default, _$e$modules$Component); return (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'preview/styleguide'; } }, { key: "defaultCommands", value: function defaultCommands() { return this.importCommands(commands); } }, { key: "registerStyleguideDialogType", value: function registerStyleguideDialogType() { DialogsManager.addWidgetType('styleguide', DialogsManager.getWidgetType('lightbox').extend('alert', { buildWidget: function buildWidget() { DialogsManager.getWidgetType('lightbox').prototype.buildWidget.apply(this, arguments); var $widgetContent = this.addElement('widgetContent'), elements = this.getElements(); $widgetContent.append(elements.message); elements.widget.html($widgetContent); } })); } }, { key: "initModal", value: function initModal() { var modal; this.getModal = function () { if (modal) { return modal; } modal = elementorCommon.dialogsManager.createWidget('styleguide', { id: 'e-styleguide-preview-dialog', message: "
", position: { my: 'center center', at: 'center center' }, hide: { onOutsideClick: false, onEscKeyPress: false, onClick: false, onBackgroundClick: false }, container: elementor.$previewContents.find('body') }); return modal; }; } /** * Show the Styleguide Preview. * If skipPreferences is true, it will not check the User Preferences before showing the dialog. * * @param {boolean} skipPreferencesCheck */ }, { key: "showStyleguidePreview", value: function showStyleguidePreview() { var skipPreferencesCheck = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; if (this.getModal().isVisible() || !skipPreferencesCheck && !elementor.getPreferences('enable_styleguide_preview')) { return; } this.getPreviewFrame().postMessage({ name: 'elementor/styleguide/preview/show' }, '*'); this.getModal().show(); } /** * Hide the Styleguide Preview. */ }, { key: "hideStyleguidePreview", value: function hideStyleguidePreview() { this.getPreviewFrame().postMessage({ name: 'elementor/styleguide/preview/hide' }, '*'); this.getModal().hide(); } /** * Update the User Preferences to show the global settings. * Triggered on switcher change at Global Colors / Global Typography panels. * * @param {Array} options */ }, { key: "enableStyleguidePreview", value: function enableStyleguidePreview(options) { if (options.value) { this.showStyleguidePreview(true); } else { this.hideStyleguidePreview(); } $e.run('document/elements/settings', { container: elementor.settings.editorPreferences.getEditedView().getContainer(), settings: { enable_styleguide_preview: options.value }, options: { external: true } }); } /** * Check if the current script context is the Editor. * * @return {boolean} */ }, { key: "isInEditor", value: function isInEditor() { return !!window.elementor; } /** * Get the Preview Frame. * * @return {Window} */ }, { key: "getPreviewFrame", value: function getPreviewFrame() { return this.isInEditor() ? elementor.$preview[0].contentWindow : window; } }]); }($e.modules.ComponentBase); /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/get.js": /*!*****************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/get.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js"); function _get() { return module.exports = _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, module.exports.__esModule = true, module.exports["default"] = module.exports, _get.apply(null, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(t) { return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && setPrototypeOf(t, e); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return assertThisInitialized(t); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(t, e) { return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t));); return t; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!*****************************************************!*\ !*** ../modules/styleguide/assets/js/styleguide.js ***! \*****************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _eComponent = _interopRequireDefault(__webpack_require__(/*! ./e-component */ "../modules/styleguide/assets/js/e-component.js")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var Styleguide = /*#__PURE__*/function (_elementorModules$edi) { function Styleguide() { (0, _classCallCheck2.default)(this, Styleguide); return _callSuper(this, Styleguide, arguments); } (0, _inherits2.default)(Styleguide, _elementorModules$edi); return (0, _createClass2.default)(Styleguide, [{ key: "onInit", value: function onInit() { $e.components.register(new _eComponent.default()); this.addHooks(); } }, { key: "getGlobalRoutes", value: function getGlobalRoutes() { return { 'global-colors': 'panel/global/global-colors', 'global-typography': 'panel/global/global-typography' }; } }, { key: "addHooks", value: function addHooks() { elementor.hooks.addAction('panel/global/tab/before-show', this.show.bind(this)); elementor.hooks.addAction('panel/global/tab/before-destroy', this.hide.bind(this)); } /** * Function show() triggered before showing a new tab at the Globals panel. * * @param {Object} args */ }, { key: "show", value: function show(args) { if (!args.id || !(args.id in this.getGlobalRoutes())) { return; } $e.run("preview/styleguide/".concat(args.id)); } /** * Function hide() triggered before hiding a tab at the Globals panel. * * @param {Object} args */ }, { key: "hide", value: function hide(args) { if (!args.id || !(args.id in this.getGlobalRoutes())) { return; } var isGlobalsRoute = Object.values(this.getGlobalRoutes()).some(function (route) { return $e.routes.current.panel === route; }); if (isGlobalsRoute) { return; } $e.run('preview/styleguide/hide'); } }]); }(elementorModules.editor.utils.Module); new Styleguide(); })(); /******/ })() ; //# sourceMappingURL=styleguide.js.map Terms and Conditions - The Right Bookstore

Welcome to The Right Bookstore Terms & Conditions

These terms and conditions outline the rules and regulations for the use of The Right Bookstore’s Website.

The Right Bookstore is located at:
131 Jake May Drive,
Wendell, North Carolina 27591, United States

By accessing this website we assume you accept these terms and conditions in full. Do not continue to use The Right Bookstore’s website if you do not accept all of the terms and conditions stated on this page. The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any or all Agreements: “Client”, “You” and “Your” refers to you, the person accessing this website and accepting the Company’s terms and conditions. “The Company”, “Ourselves”, “We”, “Our” and “Us”, refers to our Company. “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means, for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products, in accordance with and subject to, prevailing law of United States. Any use of the above terminology or other words in the singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring to same.

Cookies

We employ the use of cookies. By using The Right Bookstore’s website you consent to the use of cookies in accordance with The Right Bookstore’s privacy policy. Most of the modern day interactive web sites use cookies to enable us to retrieve user details for each visit. Cookies are used in some areas of our site to enable the functionality of this area and ease of use for those people visiting. Some of our affiliate / advertising partners may also use cookies.

License

Unless otherwise stated, The Right Bookstore and/or it’s licensors own the intellectual property rights for all material on The Right Bookstore. All intellectual property rights are reserved. You may view and/or print pages from https://rightbookstore.com for your own personal use subject to restrictions set in these terms and conditions.

You must not:

Republish material from https://rightbookstore.com
Sell, rent or sub-license material from https://rightbookstore.com
Reproduce, duplicate or copy material from https://rightbookstore.com

Redistribute content from The Right Bookstore (unless content is specifically made for redistribution).

User Comments

This Agreement shall begin on the date hereof. Certain parts of this website offer the opportunity for users to post and exchange opinions, information, material and data (‘Comments’) in areas of the website. The Right Bookstore does not screen, edit, publish or review Comments prior to their appearance on the website and Comments do not reflect the views or opinions ofThe Right Bookstore, its agents or affiliates. Comments reflect the view and opinion of the person who posts such view or opinion. To the extent permitted by applicable laws The Right Bookstore shall not be responsible or liable for the Comments or for any loss cost, liability, damages or expenses caused
and or suffered as a result of any use of and/or posting of and/or appearance of the Comments on this website.

The Right Bookstorereserves the right to monitor all Comments and to remove any Comments which it considers in its absolute discretion to be inappropriate, offensive or otherwise in breach of these Terms and Conditions.

You warrant and represent that:

You are entitled to post the Comments on our website and have all necessary licenses and consents to do so; The Comments do not infringe any intellectual property right, including without limitation copyright, patent or trademark, or other proprietary right of any third party; The Comments do not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material
or material which is an invasion of privacy The Comments will not be used to solicit or promote business or custom or present commercial activities or unlawful activity.

You hereby grant to The Right Bookstore a non-exclusive royalty-free license to use, reproduce,
edit and authorize others to use, reproduce and edit any of your Comments in any and all forms, formats or media.

Hyperlinking to our Content

The following organizations may link to our Web site without prior written approval:

Government agencies; Search engines; News organizations; Online directory distributors when they list us in the directory may link to our Web site in the same manner as they hyperlink to the Web sites of other listed businesses; and Systemwide Accredited Businesses except soliciting non-profit organizations, charity shopping malls, and charity fundraising groups which may not hyperlink to our Web site.

These organizations may link to our home page, to publications or to other Web site information so long as the link: (a) is not in any way misleading; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and its products or services; and (c) fits within the context of the linking party’s site.

We may consider and approve in our sole discretion other link requests from the following types of organizations:

commonly-known consumer and/or business information sources such as Chambers of Commerce, American Automobile Association, AARP and Consumers Union; dot.com community sites; associations or other groups representing charities, including charity giving sites, online directory distributors; internet portals; accounting, law and consulting firms whose primary clients are businesses; and educational institutions and trade associations.

We will approve link requests from these organizations if we determine that: (a) the link would not reflect unfavorably on us or our accredited businesses (for example, trade associations or other organizations representing inherently suspect types of business, such as work-at-home opportunities, shall not be allowed to link); (b)the organization does not have an unsatisfactory record with us; (c) the benefit to us from the visibility associated with the hyperlink outweighs the absence of ; and (d) where the link is in the context of general resource information or is otherwise consistent with editorial content in a newsletter or similar product furthering the mission of the organization.

These organizations may link to our home page, to publications or to other Web site information so long as the link: (a) is not in any way misleading; (b) does not falsely imply sponsorship, endorsement or approval of the linking party and it products or services; and (c) fits within the context of the linking party’s site.

If you are among the organizations listed in paragraph 2 above and are interested in linking to our website, you must notify us by sending an e-mail to sales@rightbookstore.com. Please include your name, your organization name, contact information (such as a phone number and/or e-mail
address) as well as the URL of your site, a list of any URLs from which you intend to link to our Web site, and a list of the URL(s) on our site to which you would like to link. Allow 2-3 weeks for a response.

Approved organizations may hyperlink to our Web site as follows:

By use of our corporate name; or
By use of the uniform resource locator (Web address) being linked to; or
By use of any other description of our Web site or material being linked to that makes sense within the context and format of content on the linking party’s site.

No use of The Right Bookstore’s logo or other artwork will be allowed for linking absent a trademark license agreement.

Iframes

Without prior approval and express written permission, you may not create frames around our Web pages or use other techniques that alter in any way the visual presentation or appearance of our Web site.

Reservation of Rights

We reserve the right at any time and in its sole discretion to request that you remove all links or any particular link to our Web site. You agree to immediately remove all links to our Web site upon such request. We also reserve the right to amend these terms and conditions and its linking policy at any time. By continuing to link to our Web site, you agree to be bound to and abide by these linking terms and conditions.

Removal of links from our website

If you find any link on our Web site or any linked web site objectionable for any reason, you may contact us about this. We will consider requests to remove links but will have no obligation to do so or to respond directly to you.

Whilst we endeavor to ensure that the information on this website is correct, we do not warrant its completeness or accuracy; nor do we commit to ensuring that the website remains available or that the material on the website is kept up to date.

Content Liability

We shall have no responsibility or liability for any content appearing on your Web site. You agree to indemnify and defend us against all claims arising out of or based upon your Website. No link(s) may appear on any page on your Web site or within any context containing content or materials that may be interpreted as libelous, obscene or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any third party rights.

Disclaimer

To the maximum extent permitted by applicable law, we exclude all representations, warranties and conditions relating to our website and the use of this website (including, without limitation, any warranties implied by law in respect of satisfactory quality, fitness for purpose and/or the use of reasonable care and skill). Nothing in this disclaimer will:

limit or exclude our or your liability for death or personal injury resulting from negligence;
limit or exclude our or your liability for fraud or fraudulent misrepresentation;
limit any of our or your liabilities in any way that is not permitted under applicable law; or
exclude any of our or your liabilities that may not be excluded under applicable law.

The limitations and exclusions of liability set out in this Section and elsewhere in this disclaimer: (a)
are subject to the preceding paragraph; and (b) govern all liabilities arising under the disclaimer or
in relation to the subject matter of this disclaimer, including liabilities arising in contract, in tort
(including negligence) and for breach of statutory duty.

To the extent that the website and the information and services on the website are provided free of charge, we will not be liable for any loss or damage of any nature.

Loading quick view

FREE SHIPPING on all orders of $49 or more! Dismiss