@wordpress/block-library 9.18.0 → 9.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/form/edit.js +4 -2
- package/build/form/edit.js.map +1 -1
- package/build/image/view.js +4 -4
- package/build/image/view.js.map +1 -1
- package/build/latest-posts/edit.js +2 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +7 -6
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation/view.js +2 -2
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +2 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -1
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-name/edit.js +2 -2
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-comments-count/index.js +8 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -1
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +3 -2
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/utils.js +45 -0
- package/build/query/utils.js.map +1 -1
- package/build/query/view.js +2 -2
- package/build/query/view.js.map +1 -1
- package/build/query-total/index.js +2 -2
- package/build/query-total/index.js.map +1 -1
- package/build/search/view.js +2 -2
- package/build/search/view.js.map +1 -1
- package/build/site-logo/edit.js +2 -5
- package/build/site-logo/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +1 -1
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js +10 -3
- package/build/video/edit-common-settings.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/form/edit.js +4 -2
- package/build-module/form/edit.js.map +1 -1
- package/build-module/image/view.js +5 -5
- package/build-module/image/view.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -1
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +7 -6
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation/view.js +3 -3
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +2 -1
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -1
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-name/edit.js +2 -2
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +8 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -1
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +3 -2
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/utils.js +44 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query/view.js +3 -3
- package/build-module/query/view.js.map +1 -1
- package/build-module/query-total/index.js +2 -2
- package/build-module/query-total/index.js.map +1 -1
- package/build-module/search/view.js +3 -3
- package/build-module/search/view.js.map +1 -1
- package/build-module/site-logo/edit.js +2 -5
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +1 -1
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js +10 -3
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-style/editor-rtl.css +6 -9
- package/build-style/editor.css +6 -9
- package/build-style/navigation-link/editor-rtl.css +5 -9
- package/build-style/navigation-link/editor.css +5 -9
- package/build-style/post-comments-count/style-rtl.css +103 -0
- package/build-style/post-comments-count/style.css +103 -0
- package/build-style/pullquote/style-rtl.css +4 -0
- package/build-style/pullquote/style.css +4 -0
- package/build-style/social-link/editor-rtl.css +1 -0
- package/build-style/social-link/editor.css +1 -0
- package/build-style/style-rtl.css +8 -0
- package/build-style/style.css +8 -0
- package/package.json +35 -35
- package/src/cover/edit/index.js +2 -0
- package/src/cover/test/edit.js +6 -6
- package/src/form/edit.js +2 -0
- package/src/image/view.js +10 -5
- package/src/latest-posts/edit.js +1 -0
- package/src/navigation/use-template-part-area-label.js +6 -6
- package/src/navigation/view.js +8 -3
- package/src/navigation-link/edit.js +1 -0
- package/src/navigation-link/editor.scss +3 -24
- package/src/navigation-submenu/edit.js +1 -0
- package/src/post-author/edit.js +1 -1
- package/src/post-author-name/edit.js +4 -4
- package/src/post-comments-count/block.json +8 -1
- package/src/post-comments-count/style.scss +4 -0
- package/src/post-navigation-link/edit.js +1 -1
- package/src/pullquote/style.scss +4 -0
- package/src/query/edit/inspector-controls/index.js +3 -1
- package/src/query/edit/inspector-controls/order-control.js +9 -3
- package/src/query/utils.js +58 -0
- package/src/query/view.js +8 -3
- package/src/query-total/block.json +2 -2
- package/src/query-total/index.php +4 -2
- package/src/search/view.js +8 -3
- package/src/site-logo/edit.js +1 -5
- package/src/site-title/index.php +1 -1
- package/src/social-link/editor.scss +1 -0
- package/src/style.scss +1 -0
- package/src/template-part/edit/advanced-controls.js +1 -1
- package/src/template-part/edit/utils/hooks.js +1 -1
- package/src/template-part/index.php +3 -1
- package/src/video/edit-common-settings.js +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","getContext","getElement","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown( event ) {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,EAAEC,UAAU,EAAEC,UAAU,QAAQ,0BAA0B;AAExE,MAAMC,kBAAkB,GAAG,CAC1B,SAAS,EACT,+DAA+D,EAC/D,2CAA2C,EAC3C,6CAA6C,EAC7C,2CAA2C,EAC3C,mBAAmB,EACnB,iCAAiC,CACjC;;AAED;AACA;AACA;AACAC,QAAQ,CAACC,gBAAgB,CAAE,OAAO,EAAE,MAAM,CAAC,CAAE,CAAC;AAE9C,MAAM;EAAEC,KAAK;EAAEC;AAAQ,CAAC,GAAGP,KAAK,CAC/B,iBAAiB,EACjB;EACCM,KAAK,EAAE;IACN,IAAIE,aAAaA,CAAA,EAAG;MACnB,MAAMC,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,OAAOQ,GAAG,CAACC,IAAI,KAAK,SAAS,IAAIJ,KAAK,CAACK,UAAU,GAC9C,QAAQ,GACR,IAAI;IACR,CAAC;IACD,IAAIC,SAASA,CAAA,EAAG;MACf,MAAMH,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,OAAOQ,GAAG,CAACC,IAAI,KAAK,SAAS,IAAIJ,KAAK,CAACK,UAAU,GAC9C,MAAM,GACN,IAAI;IACR,CAAC;IACD,IAAIE,SAASA,CAAA,EAAG;MACf,MAAMJ,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,OAAOQ,GAAG,CAACC,IAAI,KAAK,SAAS,IAAIJ,KAAK,CAACK,UAAU,GAC9CF,GAAG,CAACI,SAAS,GACb,IAAI;IACR,CAAC;IACD,IAAIF,UAAUA,CAAA,EAAG;MAChB;MACA,OACCG,MAAM,CAACC,MAAM,CAAET,KAAK,CAACU,YAAa,CAAC,CAACC,MAAM,CAAEC,OAAQ,CAAC,CACnDC,MAAM,GAAG,CAAC;IAEd,CAAC;IACD,IAAIH,YAAYA,CAAA,EAAG;MAClB,MAAMP,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,OAAOQ,GAAG,CAACC,IAAI,KAAK,SAAS,GAC1BD,GAAG,CAACW,eAAe,GACnBX,GAAG,CAACY,eAAe;IACvB;EACD,CAAC;EACDd,OAAO,EAAE;IACRe,eAAeA,CAAA,EAAG;MACjB,MAAM;QAAEZ,IAAI;QAAEU;MAAgB,CAAC,GAAGnB,UAAU,CAAC,CAAC;MAC9C,IACCS,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDZ,OAAO,CAACgB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDC,gBAAgBA,CAAA,EAAG;MAClB,MAAM;QAAEd,IAAI;QAAEU;MAAgB,CAAC,GAAGnB,UAAU,CAAC,CAAC;MAC9C,IACCS,IAAI,KAAK,SAAS;MAClB;MACAI,MAAM,CAACC,MAAM,CAAEK,eAAe,IAAI,CAAC,CAAE,CAAC,CAACH,MAAM,CAAEC,OAAQ,CAAC,CACtDC,MAAM,KAAK,CAAC,EACb;QACDZ,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IACDC,eAAeA,CAAA,EAAG;MACjB,MAAMjB,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,MAAM;QAAE0B;MAAI,CAAC,GAAGzB,UAAU,CAAC,CAAC;MAC5BO,GAAG,CAACmB,aAAa,GAAGD,GAAG;MACvBpB,OAAO,CAACgB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDM,gBAAgBA,CAAA,EAAG;MAClBtB,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;MAC5BlB,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;IAC7B,CAAC;IACDK,eAAeA,CAAA,EAAG;MACjBvB,OAAO,CAACgB,QAAQ,CAAE,OAAQ,CAAC;IAC5B,CAAC;IACDQ,iBAAiBA,CAAA,EAAG;MACnB,MAAMtB,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,MAAM;QAAE0B;MAAI,CAAC,GAAGzB,UAAU,CAAC,CAAC;MAC5B;MACA,IAAK8B,MAAM,CAAC5B,QAAQ,CAAC6B,aAAa,KAAKN,GAAG,EAAG;QAC5CA,GAAG,CAACO,KAAK,CAAC,CAAC;MACZ;MACA,MAAM;QAAElB;MAAa,CAAC,GAAGV,KAAK;MAC9B,IAAKU,YAAY,CAACmB,KAAK,IAAInB,YAAY,CAACkB,KAAK,EAAG;QAC/C3B,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;QAC5BlB,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;MAC7B,CAAC,MAAM;QACNhB,GAAG,CAACmB,aAAa,GAAGD,GAAG;QACvBpB,OAAO,CAACgB,QAAQ,CAAE,OAAQ,CAAC;MAC5B;IACD,CAAC;IACDa,iBAAiBA,CAAEC,KAAK,EAAG;MAC1B,MAAM;QAAE3B,IAAI;QAAE4B,qBAAqB;QAAEC;MAAqB,CAAC,GAC1DtC,UAAU,CAAC,CAAC;MACb,IAAKK,KAAK,CAACU,YAAY,CAACmB,KAAK,EAAG;QAC/B;QACA,IAAKE,KAAK,EAAEG,GAAG,KAAK,QAAQ,EAAG;UAC9BjC,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;UAC5BlB,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;UAC5B;QACD;;QAEA;QACA,IAAKf,IAAI,KAAK,SAAS,IAAI2B,KAAK,CAACG,GAAG,KAAK,KAAK,EAAG;UAChD;UACA,IACCH,KAAK,CAACI,QAAQ,IACdT,MAAM,CAAC5B,QAAQ,CAAC6B,aAAa,KAC5BK,qBAAqB,EACrB;YACDD,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBH,oBAAoB,CAACL,KAAK,CAAC,CAAC;UAC7B,CAAC,MAAM,IACN,CAAEG,KAAK,CAACI,QAAQ,IAChBT,MAAM,CAAC5B,QAAQ,CAAC6B,aAAa,KAC5BM,oBAAoB,EACpB;YACDF,KAAK,CAACK,cAAc,CAAC,CAAC;YACtBJ,qBAAqB,CAACJ,KAAK,CAAC,CAAC;UAC9B;QACD;MACD;IACD,CAAC;IACDS,kBAAkBA,CAAEN,KAAK,EAAG;MAC3B,MAAM;QAAEO,KAAK;QAAElC;MAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;MACpC;MACA;MACA;MACA;MACA;;MAEA;MACA,IACCoC,KAAK,CAACQ,aAAa,KAAK,IAAI,IAC1B,CAAED,KAAK,EAAEE,QAAQ,CAAET,KAAK,CAACQ,aAAc,CAAC,IACzCR,KAAK,CAACU,MAAM,KAAKf,MAAM,CAAC5B,QAAQ,CAAC6B,aAAa,IAC9CvB,IAAI,KAAK,SAAW,EACpB;QACDH,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;QAC5BlB,OAAO,CAACkB,SAAS,CAAE,OAAQ,CAAC;MAC7B;IACD,CAAC;IAEDF,QAAQA,CAAEyB,YAAY,GAAG,OAAO,EAAG;MAClC,MAAM;QAAEtC;MAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;MAC7BK,KAAK,CAACU,YAAY,CAAEgC,YAAY,CAAE,GAAG,IAAI;MACzC,IAAKtC,IAAI,KAAK,SAAS,EAAG;QACzB;QACAN,QAAQ,CAAC6C,eAAe,CAACC,SAAS,CAACC,GAAG,CAAE,gBAAiB,CAAC;MAC3D;IACD,CAAC;IAED1B,SAASA,CAAE2B,YAAY,GAAG,OAAO,EAAG;MACnC,MAAM3C,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxBK,KAAK,CAACU,YAAY,CAAEoC,YAAY,CAAE,GAAG,KAAK;MAC1C;MACA,IAAK,CAAE9C,KAAK,CAACK,UAAU,EAAG;QACzB,IACCF,GAAG,CAACmC,KAAK,EAAEE,QAAQ,CAAEd,MAAM,CAAC5B,QAAQ,CAAC6B,aAAc,CAAC,EACnD;UACDxB,GAAG,CAACmB,aAAa,EAAEM,KAAK,CAAC,CAAC;QAC3B;QACAzB,GAAG,CAACmC,KAAK,GAAG,IAAI;QAChBnC,GAAG,CAACmB,aAAa,GAAG,IAAI;QACxB,IAAKnB,GAAG,CAACC,IAAI,KAAK,SAAS,EAAG;UAC7BN,QAAQ,CAAC6C,eAAe,CAACC,SAAS,CAACG,MAAM,CACxC,gBACD,CAAC;QACF;MACD;IACD;EACD,CAAC;EACDC,SAAS,EAAE;IACVC,QAAQA,CAAA,EAAG;MACV,MAAM9C,GAAG,GAAGR,UAAU,CAAC,CAAC;MACxB,MAAM;QAAE0B;MAAI,CAAC,GAAGzB,UAAU,CAAC,CAAC;MAC5B,IAAKI,KAAK,CAACK,UAAU,EAAG;QACvB,MAAM6C,iBAAiB,GACtB7B,GAAG,CAAC8B,gBAAgB,CAAEtD,kBAAmB,CAAC;QAC3CM,GAAG,CAACmC,KAAK,GAAGjB,GAAG;QACflB,GAAG,CAAC6B,qBAAqB,GAAGkB,iBAAiB,CAAE,CAAC,CAAE;QAClD/C,GAAG,CAAC8B,oBAAoB,GACvBiB,iBAAiB,CAAEA,iBAAiB,CAACrC,MAAM,GAAG,CAAC,CAAE;MACnD;IACD,CAAC;IACDuC,iBAAiBA,CAAA,EAAG;MACnB,MAAM;QAAE/B;MAAI,CAAC,GAAGzB,UAAU,CAAC,CAAC;MAC5B,IAAKI,KAAK,CAACK,UAAU,EAAG;QACvB,MAAM6C,iBAAiB,GACtB7B,GAAG,CAAC8B,gBAAgB,CAAEtD,kBAAmB,CAAC;QAC3CqD,iBAAiB,GAAI,CAAC,CAAE,EAAEtB,KAAK,CAAC,CAAC;MAClC;IACD;EACD;AACD,CAAC,EACD;EAAEyB,IAAI,EAAE;AAAK,CACd,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["store","getContext","getElement","withSyncEvent","focusableSelectors","document","addEventListener","state","actions","roleAttribute","ctx","type","isMenuOpen","ariaModal","ariaLabel","Object","values","menuOpenedBy","filter","Boolean","length","overlayOpenedBy","submenuOpenedBy","openMenuOnHover","openMenu","closeMenuOnHover","closeMenu","openMenuOnClick","ref","previousFocus","closeMenuOnClick","openMenuOnFocus","toggleMenuOnClick","window","activeElement","focus","click","handleMenuKeydown","event","firstFocusableElement","lastFocusableElement","key","shiftKey","preventDefault","handleMenuFocusout","modal","relatedTarget","contains","target","menuOpenedOn","documentElement","classList","add","menuClosedOn","remove","callbacks","initMenu","focusableElements","querySelectorAll","focusFirstElement","lock"],"sources":["@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nconst focusableSelectors = [\n\t'a[href]',\n\t'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n\t'select:not([disabled]):not([aria-hidden])',\n\t'textarea:not([disabled]):not([aria-hidden])',\n\t'button:not([disabled]):not([aria-hidden])',\n\t'[contenteditable]',\n\t'[tabindex]:not([tabindex^=\"-\"])',\n];\n\n// This is a fix for Safari in iOS/iPadOS. Without it, Safari doesn't focus out\n// when the user taps in the body. It can be removed once we add an overlay to\n// capture the clicks, instead of relying on the focusout event.\ndocument.addEventListener( 'click', () => {} );\n\nconst { state, actions } = store(\n\t'core/navigation',\n\t{\n\t\tstate: {\n\t\t\tget roleAttribute() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'dialog'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaModal() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? 'true'\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget ariaLabel() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay' && state.isMenuOpen\n\t\t\t\t\t? ctx.ariaLabel\n\t\t\t\t\t: null;\n\t\t\t},\n\t\t\tget isMenuOpen() {\n\t\t\t\t// The menu is opened if either `click`, `hover` or `focus` is true.\n\t\t\t\treturn (\n\t\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean )\n\t\t\t\t\t\t.length > 0\n\t\t\t\t);\n\t\t\t},\n\t\t\tget menuOpenedBy() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\treturn ctx.type === 'overlay'\n\t\t\t\t\t? ctx.overlayOpenedBy\n\t\t\t\t\t: ctx.submenuOpenedBy;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\topenMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only open on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.openMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\tcloseMenuOnHover() {\n\t\t\t\tconst { type, overlayOpenedBy } = getContext();\n\t\t\t\tif (\n\t\t\t\t\ttype === 'submenu' &&\n\t\t\t\t\t// Only close on hover if the overlay is closed.\n\t\t\t\t\tObject.values( overlayOpenedBy || {} ).filter( Boolean )\n\t\t\t\t\t\t.length === 0\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'hover' );\n\t\t\t\t}\n\t\t\t},\n\t\t\topenMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tctx.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t},\n\t\t\tcloseMenuOnClick() {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t},\n\t\t\topenMenuOnFocus() {\n\t\t\t\tactions.openMenu( 'focus' );\n\t\t\t},\n\t\t\ttoggleMenuOnClick() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\t\tif ( window.document.activeElement !== ref ) {\n\t\t\t\t\tref.focus();\n\t\t\t\t}\n\t\t\t\tconst { menuOpenedBy } = state;\n\t\t\t\tif ( menuOpenedBy.click || menuOpenedBy.focus ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t} else {\n\t\t\t\t\tctx.previousFocus = ref;\n\t\t\t\t\tactions.openMenu( 'click' );\n\t\t\t\t}\n\t\t\t},\n\t\t\thandleMenuKeydown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { type, firstFocusableElement, lastFocusableElement } =\n\t\t\t\t\tgetContext();\n\t\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t\t// If Escape close the menu.\n\t\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trap focus if it is an overlay (main menu).\n\t\t\t\t\tif ( type === 'overlay' && event.key === 'Tab' ) {\n\t\t\t\t\t\t// If shift + tab it change the direction.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tevent.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tfirstFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tlastFocusableElement.focus();\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t\t\twindow.document.activeElement ===\n\t\t\t\t\t\t\t\tlastFocusableElement\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfirstFocusableElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ),\n\t\t\thandleMenuFocusout( event ) {\n\t\t\t\tconst { modal, type } = getContext();\n\t\t\t\t// If focus is outside modal, and in the document, close menu\n\t\t\t\t// event.target === The element losing focus\n\t\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t\t// When focusout is outside the document,\n\t\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t\tif (\n\t\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t\t( ! modal?.contains( event.relatedTarget ) &&\n\t\t\t\t\t\tevent.target !== window.document.activeElement &&\n\t\t\t\t\t\ttype === 'submenu' )\n\t\t\t\t) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\t\tconst { type } = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t\t\tif ( type === 'overlay' ) {\n\t\t\t\t\t// Add a `has-modal-open` class to the <html> root.\n\t\t\t\t\tdocument.documentElement.classList.add( 'has-modal-open' );\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\t\t\t\t// Check if the menu is still open or not.\n\t\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tctx.modal?.contains( window.document.activeElement )\n\t\t\t\t\t) {\n\t\t\t\t\t\tctx.previousFocus?.focus();\n\t\t\t\t\t}\n\t\t\t\t\tctx.modal = null;\n\t\t\t\t\tctx.previousFocus = null;\n\t\t\t\t\tif ( ctx.type === 'overlay' ) {\n\t\t\t\t\t\tdocument.documentElement.classList.remove(\n\t\t\t\t\t\t\t'has-modal-open'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tinitMenu() {\n\t\t\t\tconst ctx = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tctx.modal = ref;\n\t\t\t\t\tctx.firstFocusableElement = focusableElements[ 0 ];\n\t\t\t\t\tctx.lastFocusableElement =\n\t\t\t\t\t\tfocusableElements[ focusableElements.length - 1 ];\n\t\t\t\t}\n\t\t\t},\n\t\t\tfocusFirstElement() {\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\t\tconst focusableElements =\n\t\t\t\t\t\tref.querySelectorAll( focusableSelectors );\n\t\t\t\t\tfocusableElements?.[ 0 ]?.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","createBlock","useSelect","useDispatch","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","children","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","icon","shortcut","currentTarget","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","trim","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, title, rel } = attributes;\n\treturn (\n\t\t<ToolsPanel label={ __( 'Settings' ) }>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! title }\n\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__label',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t\t\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","createBlock","useSelect","useDispatch","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","displayShortcut","isKeyboardEvent","__","BlockControls","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","useInnerBlocksProps","isURL","prependHTTP","safeDecodeURI","useState","useEffect","useRef","__unstableStripHTML","stripHTML","decodeEntities","link","linkIcon","addSubmenu","coreStore","useMergeRefs","usePrevious","LinkUI","updateAttributes","getColors","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","isPostType","hasId","Number","isInteger","postStatus","select","getEntityRecord","status","isInvalid","isDraft","getMissingText","missingText","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","title","rel","children","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","onFocus","onBlur","urlValue","descriptionValue","help","titleValue","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","length","getBlocks","transformToSubmenu","innerBlocks","newSubmenu","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","icon","shortcut","currentTarget","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","trim","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, title, rel } = attributes;\n\treturn (\n\t\t<ToolsPanel label={ __( 'Settings' ) }>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! title }\n\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink( kind, type, id );\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, [\n\t\t\t\t\t\t'core/navigation-link',\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t] ).length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink:\n\t\t\t\t\tgetBlockName( getBlockRootClientId( clientId ) ) ===\n\t\t\t\t\t'core/navigation',\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__label',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t\t\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useSelect","useDispatch","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","dropdownMenuProps","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If we don't stop propagation, this event bubbles up to the parent submenu item\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\turl: '',\n\t\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\t\ttitle: '',\n\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! description }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { description: '' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! title }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useSelect","useDispatch","TextControl","TextareaControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","displayShortcut","isKeyboardEvent","__","BlockControls","InnerBlocks","useInnerBlocksProps","InspectorControls","RichText","useBlockProps","store","blockEditorStore","getColorClassName","isURL","prependHTTP","useState","useEffect","useRef","link","linkIcon","removeSubmenu","speak","createBlock","useMergeRefs","usePrevious","ItemSubmenuIcon","LinkUI","updateAttributes","getColors","getNavigationChildBlockProps","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_BLOCKS","DEFAULT_BLOCK","name","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","NavigationSubmenuEdit","attributes","isSelected","setAttributes","mergeBlocks","onReplace","context","clientId","label","url","description","rel","title","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","__unstableMarkNextChangeAsNotPersistent","replaceBlock","selectBlock","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","dropdownMenuProps","parentCount","isParentOfSelectedBlock","isImmediateParentOfSelectedBlock","hasChildren","selectedBlockHasChildren","onlyDescendantIsEmptyLink","select","hasSelectedInnerBlock","getSelectedBlockClientId","getBlockParentsByBlockName","getBlock","getBlockCount","getBlockOrder","_onlyDescendantIsEmptyLink","selectedBlockId","selectedBlockChildren","length","singleBlock","prevHasChildren","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","textColor","customTextColor","backgroundColor","customBackgroundColor","onKeyDown","primary","preventDefault","stopPropagation","blockProps","className","style","color","innerBlocksColors","allowedBlocks","filter","blockName","navigationChildBlockProps","innerBlocksProps","defaultBlock","directInsert","__experimentalCaptureToolbars","renderAppender","ButtonBlockAppender","ParentElement","transformToLink","newLinkBlock","canConvertToLink","children","icon","shortcut","onClick","currentTarget","disabled","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","labelValue","autoComplete","urlValue","type","descriptionValue","help","titleValue","relValue","identifier","onMerge","placeholder","withoutInteractiveFormatting","onClose","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-submenu/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { link as linkIcon, removeSubmenu } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from './icons';\nimport { LinkUI } from '../navigation-link/link-ui';\nimport { updateAttributes } from '../navigation-link/update-attributes';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n\t'core/page-list',\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [] );\n\n\treturn isDraggingWithin;\n};\n\n/**\n * @typedef {'post-type'|'custom'|'taxonomy'|'post-type-archive'} WPNavigationLinkKind\n */\n\n/**\n * Navigation Link Block Attributes\n *\n * @typedef {Object} WPNavigationLinkBlockAttributes\n *\n * @property {string} [label] Link text.\n * @property {WPNavigationLinkKind} [kind] Kind is used to differentiate between term and post ids to check post draft status.\n * @property {string} [type] The type such as post, page, tag, category and other custom types.\n * @property {string} [rel] The relationship of the linked URL.\n * @property {number} [id] A post or term id.\n * @property {boolean} [opensInNewTab] Sets link target to _blank when true.\n * @property {string} [url] Link href.\n * @property {string} [title] Link title attribute.\n */\n\nexport default function NavigationSubmenuEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { label, url, description, rel, title } = attributes;\n\n\tconst { showSubmenuIcon, maxNestingLevel, openSubmenusOnClick } = context;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceBlock,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( false );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add text…' );\n\tconst ref = useRef();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tparentCount,\n\t\tisParentOfSelectedBlock,\n\t\tisImmediateParentOfSelectedBlock,\n\t\thasChildren,\n\t\tselectedBlockHasChildren,\n\t\tonlyDescendantIsEmptyLink,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet _onlyDescendantIsEmptyLink;\n\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\tconst selectedBlockChildren = getBlockOrder( selectedBlockId );\n\n\t\t\t// Check for a single descendant in the submenu. If that block\n\t\t\t// is a link block in a \"placeholder\" state with no label then\n\t\t\t// we can consider as an \"empty\" link.\n\t\t\tif ( selectedBlockChildren?.length === 1 ) {\n\t\t\t\tconst singleBlock = getBlock( selectedBlockChildren[ 0 ] );\n\n\t\t\t\t_onlyDescendantIsEmptyLink =\n\t\t\t\t\tsingleBlock?.name === 'core/navigation-link' &&\n\t\t\t\t\t! singleBlock?.attributes?.label;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tparentCount: getBlockParentsByBlockName(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'core/navigation-submenu'\n\t\t\t\t).length,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tselectedBlockHasChildren: !! selectedBlockChildren?.length,\n\t\t\t\tonlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst prevHasChildren = usePrevious( hasChildren );\n\n\t// Show the LinkControl on mount if the URL is empty\n\t// ( When adding a new menu item)\n\t// This can't be done in the useState call because it conflicts\n\t// with the autofocus behavior of the BlockListBlock component.\n\tuseEffect( () => {\n\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\tsetIsLinkOpen( true );\n\t\t}\n\t}, [] );\n\n\t/**\n\t * The hook shouldn't be necessary but due to a focus loss happening\n\t * when selecting a suggestion in the link popover, we force close on block unselection.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsLinkOpen( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\tif ( isLinkOpen && url ) {\n\t\t\t// Does this look like a URL and have something TLD-ish?\n\t\t\tif (\n\t\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t\t) {\n\t\t\t\t// Focus and select the label text.\n\t\t\t\tselectLabelText();\n\t\t\t}\n\t\t}\n\t}, [ url ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, parentCount > 0 );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If we don't stop propagation, this event bubbles up to the parent submenu item\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t\t'open-on-click': openSubmenusOnClick,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\t// Always use overlay colors for submenus.\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst allowedBlocks =\n\t\tparentCount >= maxNestingLevel\n\t\t\t? ALLOWED_BLOCKS.filter(\n\t\t\t\t\t( blockName ) => blockName !== 'core/navigation-submenu'\n\t\t\t )\n\t\t\t: ALLOWED_BLOCKS;\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst innerBlocksProps = useInnerBlocksProps( navigationChildBlockProps, {\n\t\tallowedBlocks,\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\n\t\t// Ensure block toolbar is not too far removed from item\n\t\t// being edited.\n\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t__experimentalCaptureToolbars: true,\n\n\t\trenderAppender:\n\t\t\tisSelected ||\n\t\t\t( isImmediateParentOfSelectedBlock &&\n\t\t\t\t! selectedBlockHasChildren ) ||\n\t\t\t// Show the appender while dragging to allow inserting element between item and the appender.\n\t\t\thasChildren\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: false,\n\t} );\n\n\tconst ParentElement = openSubmenusOnClick ? 'button' : 'a';\n\n\tfunction transformToLink() {\n\t\tconst newLinkBlock = createBlock( 'core/navigation-link', attributes );\n\t\treplaceBlock( clientId, newLinkBlock );\n\t}\n\n\tuseEffect( () => {\n\t\t// If block becomes empty, transform to Navigation Link.\n\t\tif ( ! hasChildren && prevHasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToLink();\n\t\t}\n\t}, [ hasChildren, prevHasChildren ] );\n\n\tconst canConvertToLink =\n\t\t! selectedBlockHasChildren || onlyDescendantIsEmptyLink;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t{ ! openSubmenusOnClick && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"revert\"\n\t\t\t\t\t\ticon={ removeSubmenu }\n\t\t\t\t\t\ttitle={ __( 'Convert to Link' ) }\n\t\t\t\t\t\tonClick={ transformToLink }\n\t\t\t\t\t\tclassName=\"wp-block-navigation__submenu__revert\"\n\t\t\t\t\t\tdisabled={ ! canConvertToLink }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-link/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\t\turl: '',\n\t\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\t\ttitle: '',\n\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! label }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! url }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ url || '' }\n\t\t\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: urlValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! description }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { description: '' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdescription: descriptionValue,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! title }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { title: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Additional information to help clarify the purpose of the link.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<ParentElement className=\"wp-block-navigation-item__content\">\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\taria-label={ __( 'Navigation link text' ) }\n\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! openSubmenusOnClick && ! url ) {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\t\tsetOpenedBy( ref.current );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! openSubmenusOnClick && isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { url: '' } );\n\t\t\t\t\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ParentElement>\n\t\t\t\t{ ( showSubmenuIcon || openSubmenusOnClick ) && (\n\t\t\t\t\t<span className=\"wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -91,7 +91,7 @@ function PostAuthorEdit({
|
|
|
91
91
|
};
|
|
92
92
|
const showCombobox = authorOptions.length >= minimumUsersForCombobox;
|
|
93
93
|
const showAuthorControl = !!postId && !isDescendentOfQueryLoop && authorOptions.length > 0;
|
|
94
|
-
if (!supportsAuthor) {
|
|
94
|
+
if (!supportsAuthor && postType !== undefined) {
|
|
95
95
|
return /*#__PURE__*/_jsx("div", {
|
|
96
96
|
...blockProps,
|
|
97
97
|
children: sprintf(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","ComboboxControl","PanelBody","SelectControl","ToggleControl","__experimentalVStack","VStack","useSelect","useDispatch","__","sprintf","store","coreStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","minimumUsersForCombobox","AUTHORS_QUERY","who","per_page","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","supportsAuthor","select","_getPostType$supports","getEditedEntityRecord","getUser","getUsers","getPostType","_authorId","author","supports","editEntityRecord","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSizes","authorName","name","avatar_urls","Object","keys","forEach","size","push","value","label","blockProps","className","authorOptions","length","map","id","handleSelect","nextAuthorId","showCombobox","showAuthorControl","children","title","spacing","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","allowReset","checked","avatarSize","group","nextAlign","width","src","alt","isEmpty","identifier","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst minimumUsersForCombobox = 25;\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n};\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( AUTHORS_QUERY ),\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline, isLink, linkTarget } =\n\t\tattributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst authorOptions = authors?.length\n\t\t? authors.map( ( { id, name } ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel: name,\n\t\t\t\t};\n\t\t } )\n\t\t: [];\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showCombobox = authorOptions.length >= minimumUsersForCombobox;\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && authorOptions.length > 0;\n\n\tif ( ! supportsAuthor ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\tclassName=\"wp-block-post-author__inspector-settings\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showAuthorControl &&\n\t\t\t\t\t\t\t( ( showCombobox && (\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) || (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","ComboboxControl","PanelBody","SelectControl","ToggleControl","__experimentalVStack","VStack","useSelect","useDispatch","__","sprintf","store","coreStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","minimumUsersForCombobox","AUTHORS_QUERY","who","per_page","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","supportsAuthor","select","_getPostType$supports","getEditedEntityRecord","getUser","getUsers","getPostType","_authorId","author","supports","editEntityRecord","textAlign","showAvatar","showBio","byline","isLink","linkTarget","avatarSizes","authorName","name","avatar_urls","Object","keys","forEach","size","push","value","label","blockProps","className","authorOptions","length","map","id","handleSelect","nextAuthorId","showCombobox","showAuthorControl","undefined","children","title","spacing","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","allowReset","checked","avatarSize","group","nextAlign","width","src","alt","isEmpty","identifier","placeholder","href","onClick","event","preventDefault","dangerouslySetInnerHTML","__html","description"],"sources":["@wordpress/block-library/src/post-author/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tComboboxControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst minimumUsersForCombobox = 25;\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n};\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( AUTHORS_QUERY ),\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline, isLink, linkTarget } =\n\t\tattributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst authorOptions = authors?.length\n\t\t? authors.map( ( { id, name } ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel: name,\n\t\t\t\t};\n\t\t } )\n\t\t: [];\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showCombobox = authorOptions.length >= minimumUsersForCombobox;\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && authorOptions.length > 0;\n\n\tif ( ! supportsAuthor && postType !== undefined ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\tclassName=\"wp-block-post-author__inspector-settings\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showAuthorControl &&\n\t\t\t\t\t\t\t( ( showCombobox && (\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) || (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\t\t\toptions={ authorOptions }\n\t\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails?.avatar_urls && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -113,9 +113,9 @@ function PostAuthorNameEdit({
|
|
|
113
113
|
})
|
|
114
114
|
}), /*#__PURE__*/_jsx("div", {
|
|
115
115
|
...blockProps,
|
|
116
|
-
children: supportsAuthor
|
|
116
|
+
children: !supportsAuthor && postType !== undefined ? sprintf(
|
|
117
117
|
// translators: %s: Name of the post type e.g: "post".
|
|
118
|
-
__('This post type (%s) does not support the author.'), postType)
|
|
118
|
+
__('This post type (%s) does not support the author.'), postType) : displayAuthor
|
|
119
119
|
})]
|
|
120
120
|
});
|
|
121
121
|
}
|