/*! 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 The Right Bookstore - Bringing Balance to College Campuses

Welcome to

The right bookstore

-bringing balance to college-

Conservatism on Campus

Each year college courses hand out their required reading on a syllabus. Overwhelmingly, these required readings talk about communism, socialism, and Marxism. We believe that college students deserve to hear ideas contrary to the typical leftism that is espoused. These books are crucial to shedding light on conservative ideas such as free market economics, individualism, tax reform, and belief in God. Our selection of texts will help young adults leave college with either a more diverse understanding of ideologies, or with their conservative principles still in tact. 

Featured Literature

Browse our Selections

Free Market Economics
    Individualism
      Contemporary Conservatism

        Did You Know?

        College students are twelve (12) times more likely to sit in a class with a liberal professor than a conservative one.

         

        The Communist Manifesto is the most assigned required reading, on more than 3,000 course syllabi.

         

        We’re here to balance that.

        Books on Sale

        Best Sellers

        want news updates and exclusive discounts?

        your information is safe with us - subscribe to get latest offers and news

        Loading quick view

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