From b06b376da316123c568dd359bcc3eb418b9497f6 Mon Sep 17 00:00:00 2001 From: Troy Chaplin Date: Mon, 16 Mar 2026 21:35:41 -0400 Subject: [PATCH 1/4] fix php and js lint issues --- CHANGELOG.md | 1 + build/priority-plus-nav-editor.asset.php | 2 +- build/priority-plus-nav-editor.js | 2 +- build/priority-plus-navigation.asset.php | 2 +- build/priority-plus-navigation.js | 2 +- classes/class-block-renderer.php | 9 +- package-lock.json | 183 ++++++++---------- package.json | 1 + readme.txt | 2 +- src/config.js | 12 ++ src/core/PriorityNav.js | 9 +- src/dom/dom-builder.js | 6 +- src/layout/width-calculator.js | 4 +- src/tokens.js | 52 +++++ src/utils/constants.js | 12 -- src/variation/block.js | 45 ++--- .../components/dropdown-customizer-modal.js | 46 ++--- src/variation/components/dropdown-preview.js | 59 +++--- .../components/more-button-preview.js | 26 ++- .../components/panels/menu-color-panel.js | 25 +-- .../components/panels/menu-items-panel.js | 29 ++- .../components/panels/menu-styles-panel.js | 28 ++- .../components/panels/submenu-color-panel.js | 37 ++-- src/variation/constants.js | 58 ------ src/variation/controls.js | 90 ++++----- 25 files changed, 331 insertions(+), 411 deletions(-) create mode 100644 src/config.js create mode 100644 src/tokens.js delete mode 100644 src/utils/constants.js delete mode 100644 src/variation/constants.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d149a..e28730b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Prefix the change with one of these keywords: - _Fixed_: Initial page load now correctly calculates overflow and shows the More button - _Fixed_: Items correctly restore from mobile collapse when resizing to desktop - _Fixed_: More button chevron icon spacing — offset SVG internal padding so the arrow sits flush with the button's right edge (frontend and editor) +- _Changed_: Refactored constants into structured design tokens (`src/tokens.js`) and runtime config (`src/config.js`), replacing flat `DEFAULT_*` exports ## [1.0.0] diff --git a/build/priority-plus-nav-editor.asset.php b/build/priority-plus-nav-editor.asset.php index a6f1533..592d2ec 100644 --- a/build/priority-plus-nav-editor.asset.php +++ b/build/priority-plus-nav-editor.asset.php @@ -1 +1 @@ - array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-primitives'), 'version' => '34a9021994af185b8fdb'); + array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-i18n', 'wp-primitives'), 'version' => '08e721ae1e8f1c228a94'); diff --git a/build/priority-plus-nav-editor.js b/build/priority-plus-nav-editor.js index a331e0c..7edb681 100644 --- a/build/priority-plus-nav-editor.js +++ b/build/priority-plus-nav-editor.js @@ -1 +1 @@ -(()=>{"use strict";const o=window.wp.i18n,e=window.wp.blocks,t=window.wp.primitives,r=window.ReactJSXRuntime;var i=(0,r.jsx)(t.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,r.jsx)(t.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z"})});const n=window.wp.hooks,l="#ffffff",s={color:"#dddddd",width:"1px",style:"solid"},a="4px",u="default",p={top:"0.75rem",right:"1rem",bottom:"0.75rem",left:"1rem"},y="rgba(0, 0, 0, 0.05)",d="#191919",g="#191919",c="1.25rem",m={color:"#f0f0f0",width:"1px",style:"solid"},h="#ffffff",v="rgba(0, 0, 0, 0.05)",b="#191919",P="#191919";(0,e.registerBlockVariation)("core/navigation",{name:"priority-plus-navigation",title:(0,o.__)("Priority Plus Navigation","priority-plus-navigation"),description:(0,o.__)('A responsive navigation that automatically moves overflow items to a "More" dropdown.',"priority-plus-navigation"),icon:i,scope:["inserter","transform"],attributes:{className:"is-style-priority-plus-navigation",overlayMenu:"never",priorityPlusEnabled:!0,priorityPlusToggleLabel:"More",priorityPlusToggleBackgroundColor:void 0,priorityPlusToggleBackgroundColorHover:void 0,priorityPlusToggleTextColor:void 0,priorityPlusToggleTextColorHover:void 0},isActive:(o,e)=>o.className?.includes(e.className)}),(0,n.addFilter)("blocks.registerBlockType","priority-plus-navigation/extend-core-navigation",(o,e)=>"core/navigation"!==e?o:{...o,attributes:{...o.attributes,priorityPlusEnabled:{type:"boolean",default:!1},priorityPlusToggleLabel:{type:"string",default:"More"},priorityPlusToggleIcon:{type:"string",default:"none"},priorityPlusToggleBackgroundColor:{type:"string"},priorityPlusToggleBackgroundColorHover:{type:"string"},priorityPlusToggleTextColor:{type:"string"},priorityPlusToggleTextColorHover:{type:"string"},priorityPlusTogglePadding:{type:"object",default:void 0},priorityPlusToggleBorder:{type:"object",default:void 0},priorityPlusToggleBorderRadius:{type:["string","object"],default:void 0},priorityPlusMenuBackgroundColor:{type:"string",default:l},priorityPlusMenuBorder:{type:"object",default:s},priorityPlusMenuBorderRadius:{type:["string","object"],default:a},priorityPlusMenuBoxShadow:{type:"string",default:u},priorityPlusMenuItemPadding:{type:"object",default:p},priorityPlusMenuItemHoverBackground:{type:"string",default:y},priorityPlusMenuItemTextColor:{type:"string",default:d},priorityPlusMenuItemHoverTextColor:{type:"string",default:g},priorityPlusMenuSubmenuIndent:{type:"string",default:c},priorityPlusMenuItemSeparator:{type:"object",default:m},priorityPlusSubmenuBackgroundColor:{type:"string",default:h},priorityPlusSubmenuItemHoverBackground:{type:"string",default:v},priorityPlusSubmenuItemTextColor:{type:"string",default:b},priorityPlusSubmenuItemHoverTextColor:{type:"string",default:P},priorityPlusMobileCollapse:{type:"boolean",default:!0},priorityPlusTypographyFontFamily:{type:"string"},priorityPlusTypographyFontSize:{type:"string"},priorityPlusTypographyFontWeight:{type:"string"},priorityPlusTypographyFontStyle:{type:"string"}}});const f=window.wp.blockEditor,x=window.wp.components,_=window.wp.compose,w=window.wp.element;function S(o){if(!o||"string"!=typeof o)return o;if(o.startsWith("var:preset|")){const e=o.match(/^var:preset\|([^|]+)\|(.+)$/);if(e)return`var(--wp--preset--${e[1]}--${e[2]})`}return o}const C=({attributes:e,wrapperRef:t})=>{const{priorityPlusToggleLabel:i,priorityPlusToggleBackgroundColor:n,priorityPlusToggleTextColor:l,priorityPlusTogglePadding:s,priorityPlusToggleBorder:a,priorityPlusToggleBorderRadius:u}=e,p=(0,w.useRef)(null),[y,d]=(0,w.useState)({});(0,w.useEffect)(()=>{if(!t?.current)return;const o=()=>{const o=t.current.querySelector(".wp-block-navigation-item__content");if(!o)return;const e=window.getComputedStyle(o);d({fontSize:e.fontSize,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontStyle:e.fontStyle,lineHeight:e.lineHeight})};o();const e=setTimeout(o,200);return()=>clearTimeout(e)},[t,e.fontSize,e.fontFamily,e.style?.typography?.fontSize,e.style?.typography?.fontWeight,e.style?.typography?.fontStyle]);const g={display:"flex",alignItems:"center",gap:"0.25em",whiteSpace:"nowrap",cursor:"default",...function(o){if(!o)return{border:"none"};if(o.color||o.width||o.style)return{borderColor:o.color||void 0,borderWidth:o.width||void 0,borderStyle:o.style||void 0};const e={},t={top:"Top",right:"Right",bottom:"Bottom",left:"Left"};for(const[r,i]of Object.entries(t)){const t=o[r];t&&(t.color&&(e[`border${i}Color`]=t.color),t.width&&(e[`border${i}Width`]=t.width),t.style&&(e[`border${i}Style`]=t.style))}return Object.keys(e).length>0?e:{border:"none"}}(a),borderRadius:function(o){if(o){if("string"==typeof o)return o;if("object"==typeof o)return`${o.topLeft||"0"} ${o.topRight||"0"} ${o.bottomRight||"0"} ${o.bottomLeft||"0"}`}}(u),background:n||"transparent",color:l||"inherit",paddingTop:S(s?.top)||void 0,paddingRight:S(s?.right)||void 0,paddingBottom:S(s?.bottom)||void 0,paddingLeft:S(s?.left)||void 0,fontSize:y.fontSize||"inherit",fontFamily:y.fontFamily||"inherit",fontWeight:y.fontWeight||"inherit",fontStyle:y.fontStyle||"inherit",lineHeight:y.lineHeight||"inherit"};return(0,r.jsxs)("span",{ref:p,className:"priority-plus-navigation-editor-more-button",style:g,"aria-hidden":"true",children:[(0,r.jsx)("span",{children:i||(0,o.__)("More","priority-plus-navigation")}),(0,r.jsx)("span",{style:{display:"inline-flex",alignItems:"center",marginRight:"-8px",lineHeight:1},children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1.25em",height:"1.25em",fill:"currentColor","aria-hidden":"true",focusable:"false",children:(0,r.jsx)("path",{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 13.5l4.5-3.1.9 1.2z"})})})]})};function T(o){if(!o||"string"!=typeof o)return o;if(o.startsWith("var:preset|")){const e=o.match(/^var:preset\|([^|]+)\|(.+)$/);if(e)return`var(--wp--preset--${e[1]}--${e[2]})`}return o.startsWith("var("),o}function B(o){if(!o)return a;if("string"==typeof o)return o;if("object"==typeof o){const{topLeft:e,topRight:t,bottomRight:r,bottomLeft:i}=o;return e===t&&t===r&&r===i&&e?e:`${e||"0"} ${t||"0"} ${r||"0"} ${i||"0"}`}return a}function M(o){const e=`${p.top} ${p.right} ${p.bottom} ${p.left}`;if(!o)return e;if("string"==typeof o)return T(o);if("object"==typeof o){if(0===Object.keys(o).length)return e;const{top:t,right:r,bottom:i,left:n}=o;if(!(t&&""!==t&&"0"!==t||r&&""!==r&&"0"!==r||i&&""!==i&&"0"!==i||n&&""!==n&&"0"!==n))return e;const l=T(t)||"0",s=T(r)||"0",a=T(i)||"0",u=T(n)||"0";return l===s&&s===a&&a===u?l:l===a&&s===u?`${l} ${s}`:`${l} ${s} ${a} ${u}`}return e}function j({attributes:e,typographyStyles:t={}}){const{priorityPlusMenuBackgroundColor:i,priorityPlusMenuBorder:n,priorityPlusMenuBorderRadius:f,priorityPlusMenuBoxShadow:x,priorityPlusMenuItemPadding:_,priorityPlusMenuItemHoverBackground:S,priorityPlusMenuItemTextColor:C,priorityPlusMenuItemHoverTextColor:j,priorityPlusMenuSubmenuIndent:I,priorityPlusMenuItemSeparator:k,priorityPlusSubmenuBackgroundColor:F,priorityPlusSubmenuItemHoverBackground:H,priorityPlusSubmenuItemTextColor:A,priorityPlusSubmenuItemHoverTextColor:z}=e,R=i||l,$=n||s,D=f||a,N=x||u,W=_||p,L=S||y,E=C||d,V=j||g,O=k||m,q=F||h,Z=H||v,G=A||b,J=z||P,[X,K]=(0,w.useState)(!0),Q=(0,w.useMemo)(()=>{const o=function(o){const e=s,t="--wp--custom--priority-plus-navigation--dropdown--";if(!o)return{[`${t}border-color`]:e.color,[`${t}border-width`]:e.width,[`${t}border-style`]:e.style};if(o.color||o.width||o.style)return{[`${t}border-color`]:o.color||e.color,[`${t}border-width`]:o.width||e.width,[`${t}border-style`]:o.style||e.style};const r=["top","right","bottom","left"];if(r.some(e=>o[e])){const i={};if(r.forEach(r=>{const n=o[r];if(n&&(n.color||n.width||n.style)){const o=n.width||e.width,l=n.style||e.style,s=n.color||e.color;i[`${t}border-${r}`]=`${o} ${l} ${s}`}}),Object.keys(i).length>0)return i}return{[`${t}border-color`]:e.color,[`${t}border-width`]:e.width,[`${t}border-style`]:e.style}}($),e={"--wp--custom--priority-plus-navigation--dropdown--background-color":R,"--wp--custom--priority-plus-navigation--dropdown--border-radius":B(D),"--wp--custom--priority-plus-navigation--dropdown--box-shadow":N,"--wp--custom--priority-plus-navigation--dropdown--item-spacing":M(W),"--wp--custom--priority-plus-navigation--dropdown--item-hover-background-color":L,"--wp--custom--priority-plus-navigation--dropdown--item-text-color":E,"--wp--custom--priority-plus-navigation--dropdown--item-hover-text-color":V,"--wp--custom--priority-plus-navigation--dropdown--multi-level-indent":(r=I,r?"object"==typeof r&&r.left?T(r.left):"string"==typeof r?T(r):c:c),"--wp--custom--priority-plus-navigation--dropdown--item-separator-color":O?.color||"transparent","--wp--custom--priority-plus-navigation--dropdown--item-separator-width":O?.width||"0","--wp--custom--priority-plus-navigation--dropdown--item-separator-style":O?.style||"solid","--wp--custom--priority-plus-navigation--dropdown--submenu-background-color":q,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-hover-background-color":Z,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-text-color":G,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-hover-text-color":J,...o};var r;return t.fontFamily&&(e.fontFamily=t.fontFamily),t.fontSize&&(e.fontSize=t.fontSize),t.fontWeight&&(e.fontWeight=t.fontWeight),t.fontStyle&&(e.fontStyle=t.fontStyle),e},[R,$,D,N,W,L,E,V,I,O,q,Z,G,J,t]);return(0,r.jsxs)("ul",{className:"priority-plus-navigation-dropdown is-open",style:Q,children:[(0,r.jsx)("li",{children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Top level item","priority-plus-navigation")})}),(0,r.jsx)("li",{className:"dropdown-preview-hover-demo",children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Another top level item","priority-plus-navigation")})}),(0,r.jsxs)("li",{children:[(0,r.jsxs)("button",{type:"button",className:"priority-plus-navigation-accordion-toggle priority-plus-navigation-accordion-toggle-full",onClick:()=>K(!X),"aria-expanded":X,children:[(0,r.jsx)("span",{className:"priority-plus-navigation-accordion-text",children:(0,o.__)("Top level with a submenu","priority-plus-navigation")}),(0,r.jsx)("span",{className:"priority-plus-navigation-accordion-arrow","aria-hidden":"true",children:"›"})]}),X&&(0,r.jsxs)("ul",{className:"priority-plus-navigation-accordion-content is-open",children:[(0,r.jsx)("li",{children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Submenu item","priority-plus-navigation")})}),(0,r.jsxs)("li",{children:[(0,r.jsxs)("button",{type:"button",className:"priority-plus-navigation-accordion-toggle priority-plus-navigation-accordion-toggle-full",onClick:()=>K(!X),"aria-expanded":X,children:[(0,r.jsx)("span",{className:"priority-plus-navigation-accordion-text",children:(0,o.__)("Submenu in a submenu","priority-plus-navigation")}),(0,r.jsx)("span",{className:"priority-plus-navigation-accordion-arrow","aria-hidden":"true",children:"›"})]}),X&&(0,r.jsxs)("ul",{className:"priority-plus-navigation-accordion-content is-open",children:[(0,r.jsx)("li",{children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Going deeper into the submenu","priority-plus-navigation")})}),(0,r.jsx)("li",{children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Woah, submenu inception!","priority-plus-navigation")})})]})]})]})]}),(0,r.jsx)("li",{children:(0,r.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Don't forget to test nav item the hover effect!","priority-plus-navigation")})})]})}function I({attributes:e,setAttributes:t}){const{priorityPlusMenuBackgroundColor:i,priorityPlusMenuItemHoverBackground:n,priorityPlusMenuItemTextColor:s,priorityPlusMenuItemHoverTextColor:a}=e;return(0,r.jsx)(f.PanelColorSettings,{title:(0,o.__)("Priority Plus Menu Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Background Color","priority-plus-navigation"),value:i||l,onChange:o=>t({priorityPlusMenuBackgroundColor:o||l}),enableAlpha:!0},{label:(0,o.__)("Item Hover Background","priority-plus-navigation"),value:n||y,onChange:o=>t({priorityPlusMenuItemHoverBackground:o||y}),enableAlpha:!0},{label:(0,o.__)("Item Text Color","priority-plus-navigation"),value:s||d,onChange:o=>t({priorityPlusMenuItemTextColor:o||d}),enableAlpha:!0},{label:(0,o.__)("Item Hover Text Color","priority-plus-navigation"),value:a||g,onChange:o=>t({priorityPlusMenuItemHoverTextColor:o||g}),enableAlpha:!0}]})}function k({attributes:e,setAttributes:t}){const{priorityPlusSubmenuBackgroundColor:i,priorityPlusSubmenuItemHoverBackground:n,priorityPlusSubmenuItemTextColor:l,priorityPlusSubmenuItemHoverTextColor:s}=e;return(0,r.jsx)(f.PanelColorSettings,{title:(0,o.__)("Priority Plus Submenu Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Background Color","priority-plus-navigation"),value:i||h,onChange:o=>t({priorityPlusSubmenuBackgroundColor:o||h}),enableAlpha:!0},{label:(0,o.__)("Item Hover Background","priority-plus-navigation"),value:n||v,onChange:o=>t({priorityPlusSubmenuItemHoverBackground:o||v}),enableAlpha:!0},{label:(0,o.__)("Item Text Color","priority-plus-navigation"),value:l||b,onChange:o=>t({priorityPlusSubmenuItemTextColor:o||b}),enableAlpha:!0},{label:(0,o.__)("Item Hover Text Color","priority-plus-navigation"),value:s||P,onChange:o=>t({priorityPlusSubmenuItemHoverTextColor:o||P}),enableAlpha:!0}]})}function F({value:e,onChange:t}){const i=(0,f.useSetting)("shadow.presets.theme"),n=(0,f.useSetting)("shadow.presets.default"),l=(0,w.useMemo)(()=>{const e=i||[],t=n||[],r=[{value:"none",label:(0,o.__)("None","priority-plus-navigation")},{value:u,label:(0,o.__)("Default","priority-plus-navigation")}];return e.length>0&&e.forEach(o=>{r.push({value:o.shadow,label:o.name})}),t.length>0&&t.forEach(o=>{r.push({value:o.shadow,label:o.name})}),r},[i,n]),[s,a]=(0,w.useState)(l);return(0,r.jsx)(x.ComboboxControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,o.__)("Shadow","priority-plus-navigation"),value:e,onChange:o=>{t(o)},options:s,onFilterValueChange:o=>{if(!o)return void a(l);const e=o.toLowerCase();a(l.filter(o=>o.label.toLowerCase().includes(e)))}})}function H({attributes:e,setAttributes:t}){const{priorityPlusMenuBorder:i,priorityPlusMenuBorderRadius:n,priorityPlusMenuBoxShadow:l}=e,p=(0,f.useSetting)("color.palette")||[];return(0,r.jsxs)(x.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Menu Styles","priority-plus-navigation"),resetAll:()=>{t({priorityPlusMenuBorder:s,priorityPlusMenuBorderRadius:a,priorityPlusMenuBoxShadow:u})},children:[(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=i)&&(!!(o.color||o.width||o.style)||["top","right","bottom","left"].some(e=>{const t=o[e];return t&&(t.color||t.width||t.style)}));var o},label:(0,o.__)("Menu Border","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuBorder:s}),isShownByDefault:!0,children:(0,r.jsx)(x.__experimentalBorderBoxControl,{label:(0,o.__)("Border","priority-plus-navigation"),colors:p,value:i,onChange:o=>t({priorityPlusMenuBorder:o}),enableAlpha:!0,enableStyle:!0,size:"__unstable-large"})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=n)&&("string"==typeof o?""!==o:"object"==typeof o&&Object.values(o).some(o=>o&&""!==o));var o},label:(0,o.__)("Border Radius","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuBorderRadius:a}),isShownByDefault:!0,children:(0,r.jsx)(f.__experimentalBorderRadiusControl,{label:(0,o.__)("Border Radius","priority-plus-navigation"),values:n,onChange:o=>t({priorityPlusMenuBorderRadius:o})})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!!l,label:(0,o.__)("Shadow","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuBoxShadow:u}),isShownByDefault:!0,children:(0,r.jsx)(F,{value:l||u,onChange:o=>t({priorityPlusMenuBoxShadow:o})})})]})}function A({attributes:e,setAttributes:t,spacingSizes:i}){const{priorityPlusMenuItemPadding:n,priorityPlusMenuSubmenuIndent:l,priorityPlusMenuItemSeparator:s}=e,a=(0,f.useSetting)("color.palette")||[];return(0,r.jsxs)(x.__experimentalToolsPanel,{label:(0,o.__)("Priority Menu Item Styles","priority-plus-navigation"),resetAll:()=>{t({priorityPlusMenuItemPadding:p,priorityPlusMenuSubmenuIndent:c,priorityPlusMenuItemSeparator:m})},children:[(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=s)&&!!(o.color||o.width||o.style);var o},label:(0,o.__)("Menu Item Divider","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuItemSeparator:m}),isShownByDefault:!0,children:(0,r.jsx)(x.__experimentalBorderControl,{__next40pxDefaultSize:!0,label:(0,o.__)("Menu Item Divider","priority-plus-navigation"),colors:a,value:s||m,onChange:o=>t({priorityPlusMenuItemSeparator:o}),enableAlpha:!0,enableStyle:!0,withSlider:!0})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=n)&&("object"==typeof o?Object.values(o).some(o=>o&&""!==o):!!o);var o},label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuItemPadding:p}),isShownByDefault:!0,children:i.length>0?(0,r.jsx)(f.__experimentalSpacingSizesControl,{values:n,onChange:o=>t({priorityPlusMenuItemPadding:o}),label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"]}):(0,r.jsx)(x.BoxControl,{label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),values:n,onChange:o=>t({priorityPlusMenuItemPadding:o}),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"],allowReset:!0})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=l)&&("object"==typeof o?o.left&&""!==o.left:!!o);var o},label:(0,o.__)("Submenu Indent","priority-plus-navigation"),onDeselect:()=>t({priorityPlusMenuSubmenuIndent:{left:c}}),isShownByDefault:!0,children:(0,r.jsx)(f.__experimentalSpacingSizesControl,{label:(0,o.__)("Submenu Indent","priority-plus-navigation"),values:(u=l,u?"object"==typeof u&&u.left?u:"string"==typeof u?{left:u}:{left:c}:{left:c}),onChange:o=>t({priorityPlusMenuSubmenuIndent:o}),sides:["left"]})})]});var u}function z({attributes:e,setAttributes:t,onClose:i}){const n=(0,f.useSetting)("typography.fontSizes")||[],_=(0,f.useSetting)("typography.fontFamilies")||[],w={};if(e.priorityPlusTypographyFontFamily){let o=[];_&&"object"==typeof _&&!Array.isArray(_)?(_.theme&&Array.isArray(_.theme)&&(o=o.concat(_.theme)),_.custom&&Array.isArray(_.custom)&&(o=o.concat(_.custom))):Array.isArray(_)&&_.forEach(e=>{e.fontFamilies&&Array.isArray(e.fontFamilies)?o=o.concat(e.fontFamilies):e.slug&&e.fontFamily&&o.push(e)});const t=o.find(o=>o.slug===e.priorityPlusTypographyFontFamily);t&&(w.fontFamily=t.fontFamily)}if(e.priorityPlusTypographyFontSize){let o=[];Array.isArray(n)&&n.forEach(e=>{e.sizes&&Array.isArray(e.sizes)?o=o.concat(e.sizes):e.slug&&e.size&&o.push(e)});const t=o.find(o=>o.slug===e.priorityPlusTypographyFontSize);t&&(w.fontSize=t.size)}e.priorityPlusTypographyFontWeight&&(w.fontWeight=e.priorityPlusTypographyFontWeight),e.priorityPlusTypographyFontStyle&&(w.fontStyle=e.priorityPlusTypographyFontStyle);const S=(0,f.useSetting)("spacing.spacingSizes")||[];return(0,r.jsxs)(x.Modal,{title:(0,o.__)("Customize Priority Plus Menu","priority-plus-navigation"),onRequestClose:i,className:"priority-plus-dropdown-customizer",size:"large",isDismissible:!0,children:[(0,r.jsxs)("div",{className:"dropdown-customizer-layout",children:[(0,r.jsxs)("div",{className:"dropdown-customizer-controls",children:[(0,r.jsx)(I,{attributes:e,setAttributes:t}),(0,r.jsx)(H,{attributes:e,setAttributes:t}),(0,r.jsx)(k,{attributes:e,setAttributes:t}),(0,r.jsx)(A,{attributes:e,setAttributes:t,spacingSizes:S})]}),(0,r.jsx)("div",{className:"dropdown-customizer-preview",children:(0,r.jsx)(j,{attributes:e,typographyStyles:w})})]}),(0,r.jsxs)("div",{className:"dropdown-customizer-footer",children:[(0,r.jsx)(x.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{t({priorityPlusMenuBackgroundColor:l,priorityPlusMenuBorder:s,priorityPlusMenuBorderRadius:a,priorityPlusMenuBoxShadow:u,priorityPlusMenuItemPadding:p,priorityPlusMenuItemHoverBackground:y,priorityPlusMenuItemTextColor:d,priorityPlusMenuItemHoverTextColor:g,priorityPlusMenuSubmenuIndent:{left:c},priorityPlusMenuItemSeparator:m,priorityPlusSubmenuBackgroundColor:h,priorityPlusSubmenuItemHoverBackground:v,priorityPlusSubmenuItemTextColor:b,priorityPlusSubmenuItemHoverTextColor:P})},children:(0,o.__)("Reset to Defaults","priority-plus-navigation")}),(0,r.jsx)(x.Button,{variant:"primary",onClick:i,children:(0,o.__)("Done","priority-plus-navigation")})]})]})}const R=(0,_.createHigherOrderComponent)(o=>e=>{const{name:t,attributes:i}=e;if("core/navigation"!==t)return(0,r.jsx)(o,{...e});const n=(i.className||"").includes("is-style-priority-plus-navigation")||!0===i.priorityPlusEnabled;return(0,w.useEffect)(()=>{if(!n)return;const o=document.querySelector(".block-editor-block-inspector");if(!o)return;const e=o.querySelector('.components-toggle-group-control-option-base[data-value="always"]');e&&(e.style.opacity="0.4",e.style.pointerEvents="none",e.style.textDecoration="line-through",e.style.cursor="not-allowed")},[n,i.overlayMenu]),(0,r.jsx)(o,{...e})},"addDisableAlwaysOption"),$=(0,_.createHigherOrderComponent)(e=>t=>{const{name:i,attributes:n,setAttributes:_}=t;if("core/navigation"!==i)return(0,r.jsx)(e,{...t});const S=(n.className||"").includes("is-style-priority-plus-navigation")||!0===n.priorityPlusEnabled;if(!S)return(0,r.jsx)(e,{...t});const{priorityPlusToggleLabel:T,priorityPlusToggleBackgroundColor:B,priorityPlusToggleBackgroundColorHover:M,priorityPlusToggleTextColor:j,priorityPlusToggleTextColorHover:I,priorityPlusTogglePadding:k,priorityPlusToggleBorder:F,priorityPlusToggleBorderRadius:H,priorityPlusMobileCollapse:A=!0,overlayMenu:R}=n,$=(0,w.useRef)(null),[D,N]=(0,w.useState)(!1);(0,w.useEffect)(()=>{S&&"always"===R&&_({overlayMenu:"mobile"})},[S,R,_]),(0,w.useEffect)(()=>{if(!S)return;const o=n.style?.typography?.fontWeight,e=n.style?.typography?.fontStyle;n.fontSize===n.priorityPlusTypographyFontSize&&n.fontFamily===n.priorityPlusTypographyFontFamily&&o===n.priorityPlusTypographyFontWeight&&e===n.priorityPlusTypographyFontStyle||_({priorityPlusTypographyFontFamily:n.fontFamily,priorityPlusTypographyFontSize:n.fontSize,priorityPlusTypographyFontWeight:o,priorityPlusTypographyFontStyle:e})},[S,n.fontSize,n.fontFamily,n.style?.typography?.fontWeight,n.style?.typography?.fontStyle,n.priorityPlusTypographyFontFamily,n.priorityPlusTypographyFontSize,n.priorityPlusTypographyFontWeight,n.priorityPlusTypographyFontStyle,_]);const W=(0,f.useSetting)("spacing.spacingSizes")||[],L=(0,f.useSetting)("color.palette")||[];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"priority-plus-navigation-editor-wrapper",ref:$,children:[(0,r.jsx)(e,{...t}),(0,r.jsx)(C,{attributes:n,wrapperRef:$})]}),(0,r.jsx)(f.InspectorControls,{group:"settings",children:(0,r.jsx)(x.Notice,{status:"info",isDismissible:!1,children:(0,o.__)('Priority Plus Navigation is not compatible with "Always" overlay menu. The overlay menu is set to "Mobile" to allow Priority+ to work on desktop.',"priority-plus-navigation")})}),(0,r.jsxs)(f.InspectorControls,{group:"styles",children:[(0,r.jsxs)(x.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Settings","priority-plus-navigation"),resetAll:()=>_({priorityPlusToggleLabel:"More",priorityPlusMenuBackgroundColor:l,priorityPlusMenuBorder:s,priorityPlusMenuBorderRadius:a,priorityPlusMenuBoxShadow:u,priorityPlusMenuItemPadding:p,priorityPlusMenuItemHoverBackground:y,priorityPlusMenuItemTextColor:d,priorityPlusMenuItemHoverTextColor:g,priorityPlusMenuSubmenuIndent:{left:c},priorityPlusMenuItemSeparator:m,priorityPlusSubmenuBackgroundColor:h,priorityPlusSubmenuItemHoverBackground:v,priorityPlusSubmenuItemTextColor:b,priorityPlusSubmenuItemHoverTextColor:P}),children:[(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!!T,label:(0,o.__)("Button Label","priority-plus-navigation"),onDeselect:()=>_({priorityPlusToggleLabel:"More"}),isShownByDefault:!0,children:(0,r.jsx)(x.TextControl,{label:(0,o.__)("Button Label","priority-plus-navigation"),value:T,onChange:o=>_({priorityPlusToggleLabel:o}),help:(0,o.__)("Text displayed on the toggle button","priority-plus-navigation")})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!0!==A,label:(0,o.__)("Mobile Collapse","priority-plus-navigation"),onDeselect:()=>_({priorityPlusMobileCollapse:!0}),isShownByDefault:!0,children:(0,r.jsx)(x.ToggleControl,{label:(0,o.__)("Collapse all items on mobile","priority-plus-navigation"),checked:A,onChange:o=>_({priorityPlusMobileCollapse:o}),help:(0,o.__)("When enabled, all navigation items collapse into the toggle button at the mobile breakpoint.","priority-plus-navigation")})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>{const{priorityPlusMenuBackgroundColor:o,priorityPlusMenuBorder:e,priorityPlusMenuBorderRadius:t,priorityPlusMenuBoxShadow:r,priorityPlusMenuItemPadding:i,priorityPlusMenuItemHoverBackground:l,priorityPlusMenuItemHoverTextColor:s,priorityPlusMenuSubmenuIndent:a}=n;return!!(o||e||t||r||i||l||s||a)},label:(0,o.__)("Custom Dropdown","priority-plus-navigation"),onDeselect:()=>_({priorityPlusMenuBackgroundColor:l,priorityPlusMenuBorder:s,priorityPlusMenuBorderRadius:a,priorityPlusMenuBoxShadow:u,priorityPlusMenuItemPadding:p,priorityPlusMenuItemHoverBackground:y,priorityPlusMenuItemTextColor:d,priorityPlusMenuItemHoverTextColor:g,priorityPlusMenuSubmenuIndent:{left:c},priorityPlusMenuItemSeparator:m,priorityPlusSubmenuBackgroundColor:h,priorityPlusSubmenuItemHoverBackground:v,priorityPlusSubmenuItemTextColor:b,priorityPlusSubmenuItemHoverTextColor:P}),isShownByDefault:!0,children:(0,r.jsx)(x.Button,{variant:"primary",onClick:()=>N(!0),children:(0,o.__)("Customize Dropdown Menu","priority-plus-navigation")})})]}),(0,r.jsx)(f.PanelColorSettings,{title:(0,o.__)("Priority Plus Button Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Text Color","priority-plus-navigation"),value:j,onChange:o=>_({priorityPlusToggleTextColor:o||void 0}),clearable:!0},{label:(0,o.__)("Text Hover Color","priority-plus-navigation"),value:I,onChange:o=>_({priorityPlusToggleTextColorHover:o||void 0}),clearable:!0},{label:(0,o.__)("Background Color","priority-plus-navigation"),value:B,onChange:o=>_({priorityPlusToggleBackgroundColor:o||void 0}),clearable:!0},{label:(0,o.__)("Background Hover Color","priority-plus-navigation"),value:M,onChange:o=>_({priorityPlusToggleBackgroundColorHover:o||void 0}),clearable:!0,enableAlpha:!0}]}),(0,r.jsx)(x.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Button Spacing","priority-plus-navigation"),resetAll:()=>_({priorityPlusTogglePadding:void 0}),children:(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!!k&&Object.keys(k).length>0,label:(0,o.__)("Button Padding","priority-plus-navigation"),onDeselect:()=>_({priorityPlusTogglePadding:void 0}),isShownByDefault:!0,children:W.length>0?(0,r.jsx)(f.__experimentalSpacingSizesControl,{values:k,onChange:o=>_({priorityPlusTogglePadding:o}),label:(0,o.__)("Button Padding","priority-plus-navigation"),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"]}):(0,r.jsx)(x.BoxControl,{label:(0,o.__)("Button Padding","priority-plus-navigation"),values:k,onChange:o=>_({priorityPlusTogglePadding:o}),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"],allowReset:!0})})}),(0,r.jsxs)(x.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Button Border","priority-plus-navigation"),resetAll:()=>_({priorityPlusToggleBorder:void 0,priorityPlusToggleBorderRadius:void 0}),children:[(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!!F&&(!!(F.color||F.width||F.style)||["top","right","bottom","left"].some(o=>{const e=F[o];return e&&(e.color||e.width||e.style)})),label:(0,o.__)("Border","priority-plus-navigation"),onDeselect:()=>_({priorityPlusToggleBorder:void 0}),isShownByDefault:!0,children:(0,r.jsx)(x.BorderBoxControl,{label:(0,o.__)("Border","priority-plus-navigation"),colors:L,value:F,onChange:o=>_({priorityPlusToggleBorder:o}),enableAlpha:!0,enableStyle:!0,size:"__unstable-large"})}),(0,r.jsx)(x.__experimentalToolsPanelItem,{hasValue:()=>!!H&&("string"==typeof H?""!==H:"object"==typeof H&&Object.values(H).some(o=>o&&""!==o)),label:(0,o.__)("Border Radius","priority-plus-navigation"),onDeselect:()=>_({priorityPlusToggleBorderRadius:void 0}),isShownByDefault:!0,children:(0,r.jsx)(f.__experimentalBorderRadiusControl,{label:(0,o.__)("Border Radius","priority-plus-navigation"),values:H,onChange:o=>_({priorityPlusToggleBorderRadius:o})})})]})]}),D&&(0,r.jsx)(z,{attributes:n,setAttributes:_,onClose:()=>N(!1)})]})},"withPriorityPlusControls");(0,n.addFilter)("editor.BlockEdit","priority-plus-navigation/add-disable-always-option",R,5),(0,n.addFilter)("editor.BlockEdit","priority-plus-navigation/add-priority-plus-navigation-controls",$,10)})(); \ No newline at end of file +(()=>{"use strict";const o=window.wp.i18n,e=window.wp.blocks,r=window.wp.primitives,t=window.ReactJSXRuntime;var i=(0,t.jsx)(r.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,t.jsx)(r.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M7.404 16.596a6.5 6.5 0 1 0 9.192-9.192 6.5 6.5 0 0 0-9.192 9.192ZM6.344 6.343a8 8 0 1 0 11.313 11.314A8 8 0 0 0 6.343 6.343Zm4.906 9.407v-3h-3v-1.5h3v-3h1.5v3h3v1.5h-3v3h-1.5Z"})});const n=window.wp.hooks,l={toggle:{border:{color:void 0,width:void 0,style:void 0},borderRadius:void 0},dropdown:{backgroundColor:"#ffffff",border:{color:"#dddddd",width:"1px",style:"solid"},borderRadius:"4px",boxShadow:"default",item:{padding:{top:"0.75rem",right:"1rem",bottom:"0.75rem",left:"1rem"},hoverBackground:"rgba(0, 0, 0, 0.05)",textColor:"#191919",hoverTextColor:"#191919",separator:{color:"#f0f0f0",width:"1px",style:"solid"}},submenu:{indent:"1.25rem",backgroundColor:"#ffffff",itemHoverBackground:"rgba(0, 0, 0, 0.05)",itemTextColor:"#191919",itemHoverTextColor:"#191919"}}};(0,e.registerBlockVariation)("core/navigation",{name:"priority-plus-navigation",title:(0,o.__)("Priority Plus Navigation","priority-plus-navigation"),description:(0,o.__)('A responsive navigation that automatically moves overflow items to a "More" dropdown.',"priority-plus-navigation"),icon:i,scope:["inserter","transform"],attributes:{className:"is-style-priority-plus-navigation",overlayMenu:"never",priorityPlusEnabled:!0,priorityPlusToggleLabel:"More",priorityPlusToggleBackgroundColor:void 0,priorityPlusToggleBackgroundColorHover:void 0,priorityPlusToggleTextColor:void 0,priorityPlusToggleTextColorHover:void 0},isActive:(o,e)=>o.className?.includes(e.className)}),(0,n.addFilter)("blocks.registerBlockType","priority-plus-navigation/extend-core-navigation",(o,e)=>"core/navigation"!==e?o:{...o,attributes:{...o.attributes,priorityPlusEnabled:{type:"boolean",default:!1},priorityPlusToggleLabel:{type:"string",default:"More"},priorityPlusToggleIcon:{type:"string",default:"none"},priorityPlusToggleBackgroundColor:{type:"string"},priorityPlusToggleBackgroundColorHover:{type:"string"},priorityPlusToggleTextColor:{type:"string"},priorityPlusToggleTextColorHover:{type:"string"},priorityPlusTogglePadding:{type:"object",default:void 0},priorityPlusToggleBorder:{type:"object",default:void 0},priorityPlusToggleBorderRadius:{type:["string","object"],default:void 0},priorityPlusMenuBackgroundColor:{type:"string",default:l.dropdown.backgroundColor},priorityPlusMenuBorder:{type:"object",default:l.dropdown.border},priorityPlusMenuBorderRadius:{type:["string","object"],default:l.dropdown.borderRadius},priorityPlusMenuBoxShadow:{type:"string",default:l.dropdown.boxShadow},priorityPlusMenuItemPadding:{type:"object",default:l.dropdown.item.padding},priorityPlusMenuItemHoverBackground:{type:"string",default:l.dropdown.item.hoverBackground},priorityPlusMenuItemTextColor:{type:"string",default:l.dropdown.item.textColor},priorityPlusMenuItemHoverTextColor:{type:"string",default:l.dropdown.item.hoverTextColor},priorityPlusMenuSubmenuIndent:{type:"string",default:l.dropdown.submenu.indent},priorityPlusMenuItemSeparator:{type:"object",default:l.dropdown.item.separator},priorityPlusSubmenuBackgroundColor:{type:"string",default:l.dropdown.submenu.backgroundColor},priorityPlusSubmenuItemHoverBackground:{type:"string",default:l.dropdown.submenu.itemHoverBackground},priorityPlusSubmenuItemTextColor:{type:"string",default:l.dropdown.submenu.itemTextColor},priorityPlusSubmenuItemHoverTextColor:{type:"string",default:l.dropdown.submenu.itemHoverTextColor},priorityPlusMobileCollapse:{type:"boolean",default:!0},priorityPlusTypographyFontFamily:{type:"string"},priorityPlusTypographyFontSize:{type:"string"},priorityPlusTypographyFontWeight:{type:"string"},priorityPlusTypographyFontStyle:{type:"string"}}});const s=window.wp.blockEditor,a=window.wp.components,u=window.wp.compose,p=window.wp.element;function d(o){if(!o||"string"!=typeof o)return o;if(o.startsWith("var:preset|")){const e=o.match(/^var:preset\|([^|]+)\|(.+)$/);if(e)return`var(--wp--preset--${e[1]}--${e[2]})`}return o}const y=({attributes:e,wrapperRef:r})=>{const{priorityPlusToggleLabel:i,priorityPlusToggleBackgroundColor:n,priorityPlusToggleTextColor:l,priorityPlusTogglePadding:s,priorityPlusToggleBorder:a,priorityPlusToggleBorderRadius:u}=e,y=(0,p.useRef)(null),[g,c]=(0,p.useState)({});(0,p.useEffect)(()=>{if(!r?.current)return;const o=()=>{const o=r.current.querySelector(".wp-block-navigation-item__content");if(!o)return;const e=window.getComputedStyle(o);c({fontSize:e.fontSize,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontStyle:e.fontStyle,lineHeight:e.lineHeight})};o();const e=setTimeout(o,200);return()=>clearTimeout(e)},[r,e.fontSize,e.fontFamily,e.style?.typography?.fontSize,e.style?.typography?.fontWeight,e.style?.typography?.fontStyle]);const m={display:"flex",alignItems:"center",gap:"0.25em",whiteSpace:"nowrap",cursor:"default",...function(o){if(!o)return{border:"none"};if(o.color||o.width||o.style)return{borderColor:o.color||void 0,borderWidth:o.width||void 0,borderStyle:o.style||void 0};const e={},r={top:"Top",right:"Right",bottom:"Bottom",left:"Left"};for(const[t,i]of Object.entries(r)){const r=o[t];r&&(r.color&&(e[`border${i}Color`]=r.color),r.width&&(e[`border${i}Width`]=r.width),r.style&&(e[`border${i}Style`]=r.style))}return Object.keys(e).length>0?e:{border:"none"}}(a),borderRadius:function(o){if(o){if("string"==typeof o)return o;if("object"==typeof o)return`${o.topLeft||"0"} ${o.topRight||"0"} ${o.bottomRight||"0"} ${o.bottomLeft||"0"}`}}(u),background:n||"transparent",color:l||"inherit",paddingTop:d(s?.top)||void 0,paddingRight:d(s?.right)||void 0,paddingBottom:d(s?.bottom)||void 0,paddingLeft:d(s?.left)||void 0,fontSize:g.fontSize||"inherit",fontFamily:g.fontFamily||"inherit",fontWeight:g.fontWeight||"inherit",fontStyle:g.fontStyle||"inherit",lineHeight:g.lineHeight||"inherit"};return(0,t.jsxs)("span",{ref:y,className:"priority-plus-navigation-editor-more-button",style:m,"aria-hidden":"true",children:[(0,t.jsx)("span",{children:i||(0,o.__)("More","priority-plus-navigation")}),(0,t.jsx)("span",{style:{display:"inline-flex",alignItems:"center",marginRight:"-8px",lineHeight:1},children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1.25em",height:"1.25em",fill:"currentColor","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 13.5l4.5-3.1.9 1.2z"})})})]})};function g(o){if(!o||"string"!=typeof o)return o;if(o.startsWith("var:preset|")){const e=o.match(/^var:preset\|([^|]+)\|(.+)$/);if(e)return`var(--wp--preset--${e[1]}--${e[2]})`}return o.startsWith("var("),o}function c(o){if(!o)return l.dropdown.borderRadius;if("string"==typeof o)return o;if("object"==typeof o){const{topLeft:e,topRight:r,bottomRight:t,bottomLeft:i}=o;return e===r&&r===t&&t===i&&e?e:`${e||"0"} ${r||"0"} ${t||"0"} ${i||"0"}`}return l.dropdown.borderRadius}function m(o){const e=`${l.dropdown.item.padding.top} ${l.dropdown.item.padding.right} ${l.dropdown.item.padding.bottom} ${l.dropdown.item.padding.left}`;if(!o)return e;if("string"==typeof o)return g(o);if("object"==typeof o){if(0===Object.keys(o).length)return e;const{top:r,right:t,bottom:i,left:n}=o;if(!(r&&""!==r&&"0"!==r||t&&""!==t&&"0"!==t||i&&""!==i&&"0"!==i||n&&""!==n&&"0"!==n))return e;const l=g(r)||"0",s=g(t)||"0",a=g(i)||"0",u=g(n)||"0";return l===s&&s===a&&a===u?l:l===a&&s===u?`${l} ${s}`:`${l} ${s} ${a} ${u}`}return e}function b({attributes:e,typographyStyles:r={}}){const{priorityPlusMenuBackgroundColor:i,priorityPlusMenuBorder:n,priorityPlusMenuBorderRadius:s,priorityPlusMenuBoxShadow:a,priorityPlusMenuItemPadding:u,priorityPlusMenuItemHoverBackground:d,priorityPlusMenuItemTextColor:y,priorityPlusMenuItemHoverTextColor:b,priorityPlusMenuSubmenuIndent:h,priorityPlusMenuItemSeparator:v,priorityPlusSubmenuBackgroundColor:w,priorityPlusSubmenuItemHoverBackground:P,priorityPlusSubmenuItemTextColor:f,priorityPlusSubmenuItemHoverTextColor:x}=e,C=i||l.dropdown.backgroundColor,_=n||l.dropdown.border,S=s||l.dropdown.borderRadius,T=a||l.dropdown.boxShadow,B=u||l.dropdown.item.padding,M=d||l.dropdown.item.hoverBackground,j=y||l.dropdown.item.textColor,k=b||l.dropdown.item.hoverTextColor,I=v||l.dropdown.item.separator,H=w||l.dropdown.submenu.backgroundColor,F=P||l.dropdown.submenu.itemHoverBackground,R=f||l.dropdown.submenu.itemTextColor,A=x||l.dropdown.submenu.itemHoverTextColor,[z,$]=(0,p.useState)(!0),D=(0,p.useMemo)(()=>{const o=function(o){const e=l.dropdown.border,r="--wp--custom--priority-plus-navigation--dropdown--";if(!o)return{[`${r}border-color`]:e.color,[`${r}border-width`]:e.width,[`${r}border-style`]:e.style};if(o.color||o.width||o.style)return{[`${r}border-color`]:o.color||e.color,[`${r}border-width`]:o.width||e.width,[`${r}border-style`]:o.style||e.style};const t=["top","right","bottom","left"];if(t.some(e=>o[e])){const i={};if(t.forEach(t=>{const n=o[t];if(n&&(n.color||n.width||n.style)){const o=n.width||e.width,l=n.style||e.style,s=n.color||e.color;i[`${r}border-${t}`]=`${o} ${l} ${s}`}}),Object.keys(i).length>0)return i}return{[`${r}border-color`]:e.color,[`${r}border-width`]:e.width,[`${r}border-style`]:e.style}}(_),e={"--wp--custom--priority-plus-navigation--dropdown--background-color":C,"--wp--custom--priority-plus-navigation--dropdown--border-radius":c(S),"--wp--custom--priority-plus-navigation--dropdown--box-shadow":T,"--wp--custom--priority-plus-navigation--dropdown--item-spacing":m(B),"--wp--custom--priority-plus-navigation--dropdown--item-hover-background-color":M,"--wp--custom--priority-plus-navigation--dropdown--item-text-color":j,"--wp--custom--priority-plus-navigation--dropdown--item-hover-text-color":k,"--wp--custom--priority-plus-navigation--dropdown--multi-level-indent":(t=h,t?"object"==typeof t&&t.left?g(t.left):"string"==typeof t?g(t):l.dropdown.submenu.indent:l.dropdown.submenu.indent),"--wp--custom--priority-plus-navigation--dropdown--item-separator-color":I?.color||"transparent","--wp--custom--priority-plus-navigation--dropdown--item-separator-width":I?.width||"0","--wp--custom--priority-plus-navigation--dropdown--item-separator-style":I?.style||"solid","--wp--custom--priority-plus-navigation--dropdown--submenu-background-color":H,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-hover-background-color":F,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-text-color":R,"--wp--custom--priority-plus-navigation--dropdown--submenu-item-hover-text-color":A,...o};var t;return r.fontFamily&&(e.fontFamily=r.fontFamily),r.fontSize&&(e.fontSize=r.fontSize),r.fontWeight&&(e.fontWeight=r.fontWeight),r.fontStyle&&(e.fontStyle=r.fontStyle),e},[C,_,S,T,B,M,j,k,h,I,H,F,R,A,r]);return(0,t.jsxs)("ul",{className:"priority-plus-navigation-dropdown is-open",style:D,children:[(0,t.jsx)("li",{children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Top level item","priority-plus-navigation")})}),(0,t.jsx)("li",{className:"dropdown-preview-hover-demo",children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Another top level item","priority-plus-navigation")})}),(0,t.jsxs)("li",{children:[(0,t.jsxs)("button",{type:"button",className:"priority-plus-navigation-accordion-toggle priority-plus-navigation-accordion-toggle-full",onClick:()=>$(!z),"aria-expanded":z,children:[(0,t.jsx)("span",{className:"priority-plus-navigation-accordion-text",children:(0,o.__)("Top level with a submenu","priority-plus-navigation")}),(0,t.jsx)("span",{className:"priority-plus-navigation-accordion-arrow","aria-hidden":"true",children:"›"})]}),z&&(0,t.jsxs)("ul",{className:"priority-plus-navigation-accordion-content is-open",children:[(0,t.jsx)("li",{children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Submenu item","priority-plus-navigation")})}),(0,t.jsxs)("li",{children:[(0,t.jsxs)("button",{type:"button",className:"priority-plus-navigation-accordion-toggle priority-plus-navigation-accordion-toggle-full",onClick:()=>$(!z),"aria-expanded":z,children:[(0,t.jsx)("span",{className:"priority-plus-navigation-accordion-text",children:(0,o.__)("Submenu in a submenu","priority-plus-navigation")}),(0,t.jsx)("span",{className:"priority-plus-navigation-accordion-arrow","aria-hidden":"true",children:"›"})]}),z&&(0,t.jsxs)("ul",{className:"priority-plus-navigation-accordion-content is-open",children:[(0,t.jsx)("li",{children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Going deeper into the submenu","priority-plus-navigation")})}),(0,t.jsx)("li",{children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Woah, submenu inception!","priority-plus-navigation")})})]})]})]})]}),(0,t.jsx)("li",{children:(0,t.jsx)("span",{className:"priority-plus-navigation-preview-link",children:(0,o.__)("Don't forget to test nav item the hover effect!","priority-plus-navigation")})})]})}function h({attributes:e,setAttributes:r}){const{priorityPlusMenuBackgroundColor:i,priorityPlusMenuItemHoverBackground:n,priorityPlusMenuItemTextColor:a,priorityPlusMenuItemHoverTextColor:u}=e;return(0,t.jsx)(s.PanelColorSettings,{title:(0,o.__)("Priority Plus Menu Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Background Color","priority-plus-navigation"),value:i||l.dropdown.backgroundColor,onChange:o=>r({priorityPlusMenuBackgroundColor:o||l.dropdown.backgroundColor}),enableAlpha:!0},{label:(0,o.__)("Item Hover Background","priority-plus-navigation"),value:n||l.dropdown.item.hoverBackground,onChange:o=>r({priorityPlusMenuItemHoverBackground:o||l.dropdown.item.hoverBackground}),enableAlpha:!0},{label:(0,o.__)("Item Text Color","priority-plus-navigation"),value:a||l.dropdown.item.textColor,onChange:o=>r({priorityPlusMenuItemTextColor:o||l.dropdown.item.textColor}),enableAlpha:!0},{label:(0,o.__)("Item Hover Text Color","priority-plus-navigation"),value:u||l.dropdown.item.hoverTextColor,onChange:o=>r({priorityPlusMenuItemHoverTextColor:o||l.dropdown.item.hoverTextColor}),enableAlpha:!0}]})}function v({attributes:e,setAttributes:r}){const{priorityPlusSubmenuBackgroundColor:i,priorityPlusSubmenuItemHoverBackground:n,priorityPlusSubmenuItemTextColor:a,priorityPlusSubmenuItemHoverTextColor:u}=e;return(0,t.jsx)(s.PanelColorSettings,{title:(0,o.__)("Priority Plus Submenu Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Background Color","priority-plus-navigation"),value:i||l.dropdown.submenu.backgroundColor,onChange:o=>r({priorityPlusSubmenuBackgroundColor:o||l.dropdown.submenu.backgroundColor}),enableAlpha:!0},{label:(0,o.__)("Item Hover Background","priority-plus-navigation"),value:n||l.dropdown.submenu.itemHoverBackground,onChange:o=>r({priorityPlusSubmenuItemHoverBackground:o||l.dropdown.submenu.itemHoverBackground}),enableAlpha:!0},{label:(0,o.__)("Item Text Color","priority-plus-navigation"),value:a||l.dropdown.submenu.itemTextColor,onChange:o=>r({priorityPlusSubmenuItemTextColor:o||l.dropdown.submenu.itemTextColor}),enableAlpha:!0},{label:(0,o.__)("Item Hover Text Color","priority-plus-navigation"),value:u||l.dropdown.submenu.itemHoverTextColor,onChange:o=>r({priorityPlusSubmenuItemHoverTextColor:o||l.dropdown.submenu.itemHoverTextColor}),enableAlpha:!0}]})}function w({value:e,onChange:r}){const i=(0,s.useSetting)("shadow.presets.theme"),n=(0,s.useSetting)("shadow.presets.default"),u=(0,p.useMemo)(()=>{const e=i||[],r=n||[],t=[{value:"none",label:(0,o.__)("None","priority-plus-navigation")},{value:l.dropdown.boxShadow,label:(0,o.__)("Default","priority-plus-navigation")}];return e.length>0&&e.forEach(o=>{t.push({value:o.shadow,label:o.name})}),r.length>0&&r.forEach(o=>{t.push({value:o.shadow,label:o.name})}),t},[i,n]),[d,y]=(0,p.useState)(u);return(0,t.jsx)(a.ComboboxControl,{__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0,label:(0,o.__)("Shadow","priority-plus-navigation"),value:e,onChange:o=>{r(o)},options:d,onFilterValueChange:o=>{if(!o)return void y(u);const e=o.toLowerCase();y(u.filter(o=>o.label.toLowerCase().includes(e)))}})}function P({attributes:e,setAttributes:r}){const{priorityPlusMenuBorder:i,priorityPlusMenuBorderRadius:n,priorityPlusMenuBoxShadow:u}=e,p=(0,s.useSetting)("color.palette")||[];return(0,t.jsxs)(a.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Menu Styles","priority-plus-navigation"),resetAll:()=>{r({priorityPlusMenuBorder:l.dropdown.border,priorityPlusMenuBorderRadius:l.dropdown.borderRadius,priorityPlusMenuBoxShadow:l.dropdown.boxShadow})},children:[(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=i)&&(!!(o.color||o.width||o.style)||["top","right","bottom","left"].some(e=>{const r=o[e];return r&&(r.color||r.width||r.style)}));var o},label:(0,o.__)("Menu Border","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuBorder:l.dropdown.border}),isShownByDefault:!0,children:(0,t.jsx)(a.__experimentalBorderBoxControl,{label:(0,o.__)("Border","priority-plus-navigation"),colors:p,value:i,onChange:o=>r({priorityPlusMenuBorder:o}),enableAlpha:!0,enableStyle:!0,size:"__unstable-large"})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=n)&&("string"==typeof o?""!==o:"object"==typeof o&&Object.values(o).some(o=>o&&""!==o));var o},label:(0,o.__)("Border Radius","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuBorderRadius:l.dropdown.borderRadius}),isShownByDefault:!0,children:(0,t.jsx)(s.__experimentalBorderRadiusControl,{label:(0,o.__)("Border Radius","priority-plus-navigation"),values:n,onChange:o=>r({priorityPlusMenuBorderRadius:o})})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!!u,label:(0,o.__)("Shadow","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuBoxShadow:l.dropdown.boxShadow}),isShownByDefault:!0,children:(0,t.jsx)(w,{value:u||l.dropdown.boxShadow,onChange:o=>r({priorityPlusMenuBoxShadow:o})})})]})}function f({attributes:e,setAttributes:r,spacingSizes:i}){const{priorityPlusMenuItemPadding:n,priorityPlusMenuSubmenuIndent:u,priorityPlusMenuItemSeparator:p}=e,d=(0,s.useSetting)("color.palette")||[];return(0,t.jsxs)(a.__experimentalToolsPanel,{label:(0,o.__)("Priority Menu Item Styles","priority-plus-navigation"),resetAll:()=>{r({priorityPlusMenuItemPadding:l.dropdown.item.padding,priorityPlusMenuSubmenuIndent:l.dropdown.submenu.indent,priorityPlusMenuItemSeparator:l.dropdown.item.separator})},children:[(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=p)&&!!(o.color||o.width||o.style);var o},label:(0,o.__)("Menu Item Divider","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuItemSeparator:l.dropdown.item.separator}),isShownByDefault:!0,children:(0,t.jsx)(a.__experimentalBorderControl,{__next40pxDefaultSize:!0,label:(0,o.__)("Menu Item Divider","priority-plus-navigation"),colors:d,value:p||l.dropdown.item.separator,onChange:o=>r({priorityPlusMenuItemSeparator:o}),enableAlpha:!0,enableStyle:!0,withSlider:!0})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=n)&&("object"==typeof o?Object.values(o).some(o=>o&&""!==o):!!o);var o},label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuItemPadding:l.dropdown.item.padding}),isShownByDefault:!0,children:i.length>0?(0,t.jsx)(s.__experimentalSpacingSizesControl,{values:n,onChange:o=>r({priorityPlusMenuItemPadding:o}),label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"]}):(0,t.jsx)(a.BoxControl,{label:(0,o.__)("Menu Item Padding","priority-plus-navigation"),values:n,onChange:o=>r({priorityPlusMenuItemPadding:o}),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"],allowReset:!0})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{return!!(o=u)&&("object"==typeof o?o.left&&""!==o.left:!!o);var o},label:(0,o.__)("Submenu Indent","priority-plus-navigation"),onDeselect:()=>r({priorityPlusMenuSubmenuIndent:{left:l.dropdown.submenu.indent}}),isShownByDefault:!0,children:(0,t.jsx)(s.__experimentalSpacingSizesControl,{label:(0,o.__)("Submenu Indent","priority-plus-navigation"),values:(y=u,y?"object"==typeof y&&y.left?y:"string"==typeof y?{left:y}:{left:l.dropdown.submenu.indent}:{left:l.dropdown.submenu.indent}),onChange:o=>r({priorityPlusMenuSubmenuIndent:o}),sides:["left"]})})]});var y}function x({attributes:e,setAttributes:r,onClose:i}){const n=(0,s.useSetting)("typography.fontSizes")||[],u=(0,s.useSetting)("typography.fontFamilies")||[],p={};if(e.priorityPlusTypographyFontFamily){let o=[];u&&"object"==typeof u&&!Array.isArray(u)?(u.theme&&Array.isArray(u.theme)&&(o=o.concat(u.theme)),u.custom&&Array.isArray(u.custom)&&(o=o.concat(u.custom))):Array.isArray(u)&&u.forEach(e=>{e.fontFamilies&&Array.isArray(e.fontFamilies)?o=o.concat(e.fontFamilies):e.slug&&e.fontFamily&&o.push(e)});const r=o.find(o=>o.slug===e.priorityPlusTypographyFontFamily);r&&(p.fontFamily=r.fontFamily)}if(e.priorityPlusTypographyFontSize){let o=[];Array.isArray(n)&&n.forEach(e=>{e.sizes&&Array.isArray(e.sizes)?o=o.concat(e.sizes):e.slug&&e.size&&o.push(e)});const r=o.find(o=>o.slug===e.priorityPlusTypographyFontSize);r&&(p.fontSize=r.size)}e.priorityPlusTypographyFontWeight&&(p.fontWeight=e.priorityPlusTypographyFontWeight),e.priorityPlusTypographyFontStyle&&(p.fontStyle=e.priorityPlusTypographyFontStyle);const d=(0,s.useSetting)("spacing.spacingSizes")||[];return(0,t.jsxs)(a.Modal,{title:(0,o.__)("Customize Priority Plus Menu","priority-plus-navigation"),onRequestClose:i,className:"priority-plus-dropdown-customizer",size:"large",isDismissible:!0,children:[(0,t.jsxs)("div",{className:"dropdown-customizer-layout",children:[(0,t.jsxs)("div",{className:"dropdown-customizer-controls",children:[(0,t.jsx)(h,{attributes:e,setAttributes:r}),(0,t.jsx)(P,{attributes:e,setAttributes:r}),(0,t.jsx)(v,{attributes:e,setAttributes:r}),(0,t.jsx)(f,{attributes:e,setAttributes:r,spacingSizes:d})]}),(0,t.jsx)("div",{className:"dropdown-customizer-preview",children:(0,t.jsx)(b,{attributes:e,typographyStyles:p})})]}),(0,t.jsxs)("div",{className:"dropdown-customizer-footer",children:[(0,t.jsx)(a.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{r({priorityPlusMenuBackgroundColor:l.dropdown.backgroundColor,priorityPlusMenuBorder:l.dropdown.border,priorityPlusMenuBorderRadius:l.dropdown.borderRadius,priorityPlusMenuBoxShadow:l.dropdown.boxShadow,priorityPlusMenuItemPadding:l.dropdown.item.padding,priorityPlusMenuItemHoverBackground:l.dropdown.item.hoverBackground,priorityPlusMenuItemTextColor:l.dropdown.item.textColor,priorityPlusMenuItemHoverTextColor:l.dropdown.item.hoverTextColor,priorityPlusMenuSubmenuIndent:{left:l.dropdown.submenu.indent},priorityPlusMenuItemSeparator:l.dropdown.item.separator,priorityPlusSubmenuBackgroundColor:l.dropdown.submenu.backgroundColor,priorityPlusSubmenuItemHoverBackground:l.dropdown.submenu.itemHoverBackground,priorityPlusSubmenuItemTextColor:l.dropdown.submenu.itemTextColor,priorityPlusSubmenuItemHoverTextColor:l.dropdown.submenu.itemHoverTextColor})},children:(0,o.__)("Reset to Defaults","priority-plus-navigation")}),(0,t.jsx)(a.Button,{variant:"primary",onClick:i,children:(0,o.__)("Done","priority-plus-navigation")})]})]})}const C=(0,u.createHigherOrderComponent)(o=>e=>{const{name:r,attributes:i}=e;if("core/navigation"!==r)return(0,t.jsx)(o,{...e});const n=(i.className||"").includes("is-style-priority-plus-navigation")||!0===i.priorityPlusEnabled;return(0,p.useEffect)(()=>{if(!n)return;const o=document.querySelector(".block-editor-block-inspector");if(!o)return;const e=o.querySelector('.components-toggle-group-control-option-base[data-value="always"]');e&&(e.style.opacity="0.4",e.style.pointerEvents="none",e.style.textDecoration="line-through",e.style.cursor="not-allowed")},[n,i.overlayMenu]),(0,t.jsx)(o,{...e})},"addDisableAlwaysOption"),_=(0,u.createHigherOrderComponent)(e=>r=>{const{name:i,attributes:n,setAttributes:u}=r;if("core/navigation"!==i)return(0,t.jsx)(e,{...r});const d=(n.className||"").includes("is-style-priority-plus-navigation")||!0===n.priorityPlusEnabled;if(!d)return(0,t.jsx)(e,{...r});const{priorityPlusToggleLabel:g,priorityPlusToggleBackgroundColor:c,priorityPlusToggleBackgroundColorHover:m,priorityPlusToggleTextColor:b,priorityPlusToggleTextColorHover:h,priorityPlusTogglePadding:v,priorityPlusToggleBorder:w,priorityPlusToggleBorderRadius:P,priorityPlusMobileCollapse:f=!0,overlayMenu:C}=n,_=(0,p.useRef)(null),[S,T]=(0,p.useState)(!1);(0,p.useEffect)(()=>{d&&"always"===C&&u({overlayMenu:"mobile"})},[d,C,u]),(0,p.useEffect)(()=>{if(!d)return;const o=n.style?.typography?.fontWeight,e=n.style?.typography?.fontStyle;n.fontSize===n.priorityPlusTypographyFontSize&&n.fontFamily===n.priorityPlusTypographyFontFamily&&o===n.priorityPlusTypographyFontWeight&&e===n.priorityPlusTypographyFontStyle||u({priorityPlusTypographyFontFamily:n.fontFamily,priorityPlusTypographyFontSize:n.fontSize,priorityPlusTypographyFontWeight:o,priorityPlusTypographyFontStyle:e})},[d,n.fontSize,n.fontFamily,n.style?.typography?.fontWeight,n.style?.typography?.fontStyle,n.priorityPlusTypographyFontFamily,n.priorityPlusTypographyFontSize,n.priorityPlusTypographyFontWeight,n.priorityPlusTypographyFontStyle,u]);const B=(0,s.useSetting)("spacing.spacingSizes")||[],M=(0,s.useSetting)("color.palette")||[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"priority-plus-navigation-editor-wrapper",ref:_,children:[(0,t.jsx)(e,{...r}),(0,t.jsx)(y,{attributes:n,wrapperRef:_})]}),(0,t.jsx)(s.InspectorControls,{group:"settings",children:(0,t.jsx)(a.Notice,{status:"info",isDismissible:!1,children:(0,o.__)('Priority Plus Navigation is not compatible with "Always" overlay menu. The overlay menu is set to "Mobile" to allow Priority+ to work on desktop.',"priority-plus-navigation")})}),(0,t.jsxs)(s.InspectorControls,{group:"styles",children:[(0,t.jsxs)(a.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Settings","priority-plus-navigation"),resetAll:()=>u({priorityPlusToggleLabel:"More",priorityPlusMenuBackgroundColor:l.dropdown.backgroundColor,priorityPlusMenuBorder:l.dropdown.border,priorityPlusMenuBorderRadius:l.dropdown.borderRadius,priorityPlusMenuBoxShadow:l.dropdown.boxShadow,priorityPlusMenuItemPadding:l.dropdown.item.padding,priorityPlusMenuItemHoverBackground:l.dropdown.item.hoverBackground,priorityPlusMenuItemTextColor:l.dropdown.item.textColor,priorityPlusMenuItemHoverTextColor:l.dropdown.item.hoverTextColor,priorityPlusMenuSubmenuIndent:{left:l.dropdown.submenu.indent},priorityPlusMenuItemSeparator:l.dropdown.item.separator,priorityPlusSubmenuBackgroundColor:l.dropdown.submenu.backgroundColor,priorityPlusSubmenuItemHoverBackground:l.dropdown.submenu.itemHoverBackground,priorityPlusSubmenuItemTextColor:l.dropdown.submenu.itemTextColor,priorityPlusSubmenuItemHoverTextColor:l.dropdown.submenu.itemHoverTextColor}),children:[(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!!g,label:(0,o.__)("Button Label","priority-plus-navigation"),onDeselect:()=>u({priorityPlusToggleLabel:"More"}),isShownByDefault:!0,children:(0,t.jsx)(a.TextControl,{label:(0,o.__)("Button Label","priority-plus-navigation"),value:g,onChange:o=>u({priorityPlusToggleLabel:o}),help:(0,o.__)("Text displayed on the toggle button","priority-plus-navigation")})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!0!==f,label:(0,o.__)("Mobile Collapse","priority-plus-navigation"),onDeselect:()=>u({priorityPlusMobileCollapse:!0}),isShownByDefault:!0,children:(0,t.jsx)(a.ToggleControl,{label:(0,o.__)("Collapse all items on mobile","priority-plus-navigation"),checked:f,onChange:o=>u({priorityPlusMobileCollapse:o}),help:(0,o.__)("When enabled, all navigation items collapse into the toggle button at the mobile breakpoint.","priority-plus-navigation")})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>{const{priorityPlusMenuBackgroundColor:o,priorityPlusMenuBorder:e,priorityPlusMenuBorderRadius:r,priorityPlusMenuBoxShadow:t,priorityPlusMenuItemPadding:i,priorityPlusMenuItemHoverBackground:l,priorityPlusMenuItemHoverTextColor:s,priorityPlusMenuSubmenuIndent:a}=n;return!!(o||e||r||t||i||l||s||a)},label:(0,o.__)("Custom Dropdown","priority-plus-navigation"),onDeselect:()=>u({priorityPlusMenuBackgroundColor:l.dropdown.backgroundColor,priorityPlusMenuBorder:l.dropdown.border,priorityPlusMenuBorderRadius:l.dropdown.borderRadius,priorityPlusMenuBoxShadow:l.dropdown.boxShadow,priorityPlusMenuItemPadding:l.dropdown.item.padding,priorityPlusMenuItemHoverBackground:l.dropdown.item.hoverBackground,priorityPlusMenuItemTextColor:l.dropdown.item.textColor,priorityPlusMenuItemHoverTextColor:l.dropdown.item.hoverTextColor,priorityPlusMenuSubmenuIndent:{left:l.dropdown.submenu.indent},priorityPlusMenuItemSeparator:l.dropdown.item.separator,priorityPlusSubmenuBackgroundColor:l.dropdown.submenu.backgroundColor,priorityPlusSubmenuItemHoverBackground:l.dropdown.submenu.itemHoverBackground,priorityPlusSubmenuItemTextColor:l.dropdown.submenu.itemTextColor,priorityPlusSubmenuItemHoverTextColor:l.dropdown.submenu.itemHoverTextColor}),isShownByDefault:!0,children:(0,t.jsx)(a.Button,{variant:"primary",onClick:()=>T(!0),children:(0,o.__)("Customize Dropdown Menu","priority-plus-navigation")})})]}),(0,t.jsx)(s.PanelColorSettings,{title:(0,o.__)("Priority Plus Button Colors","priority-plus-navigation"),colorSettings:[{label:(0,o.__)("Text Color","priority-plus-navigation"),value:b,onChange:o=>u({priorityPlusToggleTextColor:o||void 0}),clearable:!0},{label:(0,o.__)("Text Hover Color","priority-plus-navigation"),value:h,onChange:o=>u({priorityPlusToggleTextColorHover:o||void 0}),clearable:!0},{label:(0,o.__)("Background Color","priority-plus-navigation"),value:c,onChange:o=>u({priorityPlusToggleBackgroundColor:o||void 0}),clearable:!0},{label:(0,o.__)("Background Hover Color","priority-plus-navigation"),value:m,onChange:o=>u({priorityPlusToggleBackgroundColorHover:o||void 0}),clearable:!0,enableAlpha:!0}]}),(0,t.jsx)(a.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Button Spacing","priority-plus-navigation"),resetAll:()=>u({priorityPlusTogglePadding:void 0}),children:(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!!v&&Object.keys(v).length>0,label:(0,o.__)("Button Padding","priority-plus-navigation"),onDeselect:()=>u({priorityPlusTogglePadding:void 0}),isShownByDefault:!0,children:B.length>0?(0,t.jsx)(s.__experimentalSpacingSizesControl,{values:v,onChange:o=>u({priorityPlusTogglePadding:o}),label:(0,o.__)("Button Padding","priority-plus-navigation"),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"]}):(0,t.jsx)(a.BoxControl,{label:(0,o.__)("Button Padding","priority-plus-navigation"),values:v,onChange:o=>u({priorityPlusTogglePadding:o}),sides:["top","right","bottom","left"],units:["px","em","rem","vh","vw"],allowReset:!0})})}),(0,t.jsxs)(a.__experimentalToolsPanel,{label:(0,o.__)("Priority Plus Button Border","priority-plus-navigation"),resetAll:()=>u({priorityPlusToggleBorder:void 0,priorityPlusToggleBorderRadius:void 0}),children:[(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!!w&&(!!(w.color||w.width||w.style)||["top","right","bottom","left"].some(o=>{const e=w[o];return e&&(e.color||e.width||e.style)})),label:(0,o.__)("Border","priority-plus-navigation"),onDeselect:()=>u({priorityPlusToggleBorder:void 0}),isShownByDefault:!0,children:(0,t.jsx)(a.BorderBoxControl,{label:(0,o.__)("Border","priority-plus-navigation"),colors:M,value:w,onChange:o=>u({priorityPlusToggleBorder:o}),enableAlpha:!0,enableStyle:!0,size:"__unstable-large"})}),(0,t.jsx)(a.__experimentalToolsPanelItem,{hasValue:()=>!!P&&("string"==typeof P?""!==P:"object"==typeof P&&Object.values(P).some(o=>o&&""!==o)),label:(0,o.__)("Border Radius","priority-plus-navigation"),onDeselect:()=>u({priorityPlusToggleBorderRadius:void 0}),isShownByDefault:!0,children:(0,t.jsx)(s.__experimentalBorderRadiusControl,{label:(0,o.__)("Border Radius","priority-plus-navigation"),values:P,onChange:o=>u({priorityPlusToggleBorderRadius:o})})})]})]}),S&&(0,t.jsx)(x,{attributes:n,setAttributes:u,onClose:()=>T(!1)})]})},"withPriorityPlusControls");(0,n.addFilter)("editor.BlockEdit","priority-plus-navigation/add-disable-always-option",C,5),(0,n.addFilter)("editor.BlockEdit","priority-plus-navigation/add-priority-plus-navigation-controls",_,10)})(); \ No newline at end of file diff --git a/build/priority-plus-navigation.asset.php b/build/priority-plus-navigation.asset.php index 5f13c8a..0520f86 100644 --- a/build/priority-plus-navigation.asset.php +++ b/build/priority-plus-navigation.asset.php @@ -1 +1 @@ - array(), 'version' => '276687636cd44ad78f29'); + array(), 'version' => '63a2edf6ac04223dca6b'); diff --git a/build/priority-plus-navigation.js b/build/priority-plus-navigation.js index 7656151..e7d3068 100644 --- a/build/priority-plus-navigation.js +++ b/build/priority-plus-navigation.js @@ -1 +1 @@ -(()=>{"use strict";var t,e={823(){const t="More";function e(t){if(!t)return!1;const e=window.getComputedStyle(t),i=t.getBoundingClientRect();return"none"!==e.display&&"hidden"!==e.visibility&&i.width>0&&i.height>0}function i(t){return e(t)?t.getBoundingClientRect().width:0}function n(t){return e(t)}function s(t){const e=document.createElement("div");return e.textContent=t,e.innerHTML}function o(t){const e={text:"",url:"#",hasSubmenu:!1,children:[]},i=t.querySelector(":scope > .wp-block-navigation__submenu-container");let n=t.querySelector(":scope > a");if(n||(n=t.querySelector(":scope > .wp-block-navigation-item__content a")),!n){if(i){const i=t.cloneNode(!0),n=i.querySelector(".wp-block-navigation__submenu-container");n&&n.remove(),e.text=i.textContent.trim()}else e.text=t.textContent.trim();return i&&(e.hasSubmenu=!0,i.querySelectorAll(":scope > li").forEach(t=>{e.children.push(o(t))})),e}return e.text=function(t){if(!t)return"";const e=t.querySelector(".wp-block-navigation-item__label");if(e)return e.textContent.trim();const i=t.cloneNode(!0);i.querySelectorAll("*").forEach(t=>t.remove());let n=i.textContent.trim();if(!n){const e=Array.from(t.childNodes).filter(t=>t.nodeType===Node.TEXT_NODE);e.length>0&&(n=e.map(t=>t.textContent.trim()).filter(t=>t).join(" "))}return n}(n),i&&e.text&&(e.text=function(t,e){if(!t||!e)return t;const i=[];if(e.querySelectorAll("li a").forEach(e=>{const n=e.textContent.trim();n&&t.includes(n)&&i.push(n)}),i.length>0){let e=t;return i.forEach(t=>{e=e.replace(t,"").trim()}),e}return t}(e.text,i)),e.url=n.getAttribute("href")||"#",i&&(e.hasSubmenu=!0,i.querySelectorAll(":scope > li").forEach(t=>{e.children.push(o(t))})),e}function r(t,e,i,n,o){const a=`${i}-submenu-${n.value++}`;let l="";return t.hasSubmenu?(l=o?`\n\t\t\t\t\n\t\t\t\t