@wordpress/block-library 9.36.1-next.8b30e05b0.0 → 9.37.0
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 +2 -0
- package/build/audio/index.js +1 -1
- package/build/audio/index.js.map +2 -2
- package/build/avatar/edit.js +13 -38
- package/build/avatar/edit.js.map +2 -2
- package/build/breadcrumbs/block.json +3 -2
- package/build/breadcrumbs/edit.js +18 -18
- package/build/breadcrumbs/edit.js.map +2 -2
- package/build/button/block.json +2 -3
- package/build/button/deprecated.js +203 -0
- package/build/button/deprecated.js.map +3 -3
- package/build/button/edit.js +13 -24
- package/build/button/edit.js.map +3 -3
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +2 -2
- package/build/button/save.js +0 -2
- package/build/button/save.js.map +2 -2
- package/build/code/index.js +1 -1
- package/build/code/index.js.map +2 -2
- package/build/comments-pagination-numbers/block.json +7 -0
- package/build/cover/index.js +2 -2
- package/build/cover/index.js.map +2 -2
- package/build/details/index.js +1 -1
- package/build/details/index.js.map +2 -2
- package/build/file/index.js +1 -1
- package/build/file/index.js.map +2 -2
- package/build/freeform/block.json +0 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +2 -2
- package/build/gallery/transforms.js +7 -3
- package/build/gallery/transforms.js.map +2 -2
- package/build/heading/index.js +1 -1
- package/build/heading/index.js.map +2 -2
- package/build/html/modal.js +18 -7
- package/build/html/modal.js.map +2 -2
- package/build/image/index.js +1 -1
- package/build/image/index.js.map +2 -2
- package/build/index.js +9 -3
- package/build/index.js.map +2 -2
- package/build/list-item/index.js +1 -1
- package/build/list-item/index.js.map +2 -2
- package/build/math/edit.js +14 -2
- package/build/math/edit.js.map +2 -2
- package/build/media-text/index.js +1 -1
- package/build/media-text/index.js.map +2 -2
- package/build/more/index.js +1 -1
- package/build/more/index.js.map +2 -2
- package/build/navigation/block.json +3 -0
- package/build/navigation/edit/index.js +57 -83
- package/build/navigation/edit/index.js.map +3 -3
- package/build/navigation/edit/overlay-menu-preview-button.js +96 -0
- package/build/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js +90 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build/navigation/edit/overlay-panel.js +86 -0
- package/build/navigation/edit/overlay-panel.js.map +7 -0
- package/build/navigation/edit/overlay-template-part-selector.js +163 -0
- package/build/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build/navigation/edit/overlay-visibility-control.js +54 -0
- package/build/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build/navigation/edit/responsive-wrapper.js +14 -2
- package/build/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build/navigation-link/edit.js +7 -21
- package/build/navigation-link/edit.js.map +2 -2
- package/build/navigation-link/index.js +1 -1
- package/build/navigation-link/index.js.map +2 -2
- package/build/navigation-link/shared/index.js +5 -2
- package/build/navigation-link/shared/index.js.map +2 -2
- package/build/navigation-link/shared/use-handle-link-change.js +84 -0
- package/build/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build/navigation-submenu/index.js +1 -1
- package/build/navigation-submenu/index.js.map +2 -2
- package/build/page-list-item/edit.js +4 -3
- package/build/page-list-item/edit.js.map +2 -2
- package/build/paragraph/index.js +1 -1
- package/build/paragraph/index.js.map +2 -2
- package/build/post-title/edit.js +6 -4
- package/build/post-title/edit.js.map +2 -2
- package/build/preformatted/index.js +1 -1
- package/build/preformatted/index.js.map +2 -2
- package/build/pullquote/index.js +1 -1
- package/build/pullquote/index.js.map +2 -2
- package/build/query/edit/inspector-controls/author-control.js +0 -1
- package/build/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.js +0 -1
- package/build/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.js +1 -2
- package/build/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build/search/index.js +1 -1
- package/build/search/index.js.map +2 -2
- package/build/social-link/index.js +1 -1
- package/build/social-link/index.js.map +2 -2
- package/build/template-part/edit/index.js +3 -31
- package/build/template-part/edit/index.js.map +2 -2
- package/build/template-part/edit/utils/get-template-part-icon.js +9 -4
- package/build/template-part/edit/utils/get-template-part-icon.js.map +3 -3
- package/build/template-part/edit/utils/hooks.js +3 -2
- package/build/template-part/edit/utils/hooks.js.map +2 -2
- package/build/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build/utils/deprecated-text-align-attributes.js +70 -0
- package/build/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build/utils/migrate-text-align.js +42 -0
- package/build/utils/migrate-text-align.js.map +7 -0
- package/build/verse/index.js +1 -1
- package/build/verse/index.js.map +2 -2
- package/build/video/index.js +1 -1
- package/build/video/index.js.map +2 -2
- package/build-module/audio/index.js +1 -1
- package/build-module/audio/index.js.map +2 -2
- package/build-module/avatar/edit.js +13 -38
- package/build-module/avatar/edit.js.map +2 -2
- package/build-module/breadcrumbs/block.json +3 -2
- package/build-module/breadcrumbs/edit.js +18 -18
- package/build-module/breadcrumbs/edit.js.map +2 -2
- package/build-module/button/block.json +2 -3
- package/build-module/button/deprecated.js +205 -1
- package/build-module/button/deprecated.js.map +2 -2
- package/build-module/button/edit.js +13 -25
- package/build-module/button/edit.js.map +2 -2
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +2 -2
- package/build-module/button/save.js +0 -2
- package/build-module/button/save.js.map +2 -2
- package/build-module/code/index.js +1 -1
- package/build-module/code/index.js.map +2 -2
- package/build-module/comments-pagination-numbers/block.json +7 -0
- package/build-module/cover/index.js +2 -2
- package/build-module/cover/index.js.map +2 -2
- package/build-module/details/index.js +1 -1
- package/build-module/details/index.js.map +2 -2
- package/build-module/file/index.js +1 -1
- package/build-module/file/index.js.map +2 -2
- package/build-module/freeform/block.json +0 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +2 -2
- package/build-module/gallery/transforms.js +7 -3
- package/build-module/gallery/transforms.js.map +2 -2
- package/build-module/heading/index.js +1 -1
- package/build-module/heading/index.js.map +2 -2
- package/build-module/html/modal.js +19 -7
- package/build-module/html/modal.js.map +2 -2
- package/build-module/image/index.js +1 -1
- package/build-module/image/index.js.map +2 -2
- package/build-module/index.js +9 -3
- package/build-module/index.js.map +2 -2
- package/build-module/list-item/index.js +1 -1
- package/build-module/list-item/index.js.map +2 -2
- package/build-module/math/edit.js +15 -3
- package/build-module/math/edit.js.map +2 -2
- package/build-module/media-text/index.js +1 -1
- package/build-module/media-text/index.js.map +2 -2
- package/build-module/more/index.js +1 -1
- package/build-module/more/index.js.map +2 -2
- package/build-module/navigation/block.json +3 -0
- package/build-module/navigation/edit/index.js +58 -88
- package/build-module/navigation/edit/index.js.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-button.js +65 -0
- package/build-module/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js +64 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build-module/navigation/edit/overlay-panel.js +58 -0
- package/build-module/navigation/edit/overlay-panel.js.map +7 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js +142 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build-module/navigation/edit/overlay-visibility-control.js +36 -0
- package/build-module/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build-module/navigation/edit/responsive-wrapper.js +14 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build-module/navigation-link/edit.js +9 -23
- package/build-module/navigation-link/edit.js.map +2 -2
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-link/index.js.map +2 -2
- package/build-module/navigation-link/shared/index.js +3 -1
- package/build-module/navigation-link/shared/index.js.map +2 -2
- package/build-module/navigation-link/shared/use-handle-link-change.js +59 -0
- package/build-module/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build-module/navigation-submenu/index.js +1 -1
- package/build-module/navigation-submenu/index.js.map +2 -2
- package/build-module/page-list-item/edit.js +4 -3
- package/build-module/page-list-item/edit.js.map +2 -2
- package/build-module/paragraph/index.js +1 -1
- package/build-module/paragraph/index.js.map +2 -2
- package/build-module/post-title/edit.js +6 -4
- package/build-module/post-title/edit.js.map +2 -2
- package/build-module/preformatted/index.js +1 -1
- package/build-module/preformatted/index.js.map +2 -2
- package/build-module/pullquote/index.js +1 -1
- package/build-module/pullquote/index.js.map +2 -2
- package/build-module/query/edit/inspector-controls/author-control.js +0 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -2
- package/build-module/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build-module/search/index.js +1 -1
- package/build-module/search/index.js.map +2 -2
- package/build-module/social-link/index.js +1 -1
- package/build-module/social-link/index.js.map +2 -2
- package/build-module/template-part/edit/index.js +3 -31
- package/build-module/template-part/edit/index.js.map +2 -2
- package/build-module/template-part/edit/utils/get-template-part-icon.js +10 -4
- package/build-module/template-part/edit/utils/get-template-part-icon.js.map +2 -2
- package/build-module/template-part/edit/utils/hooks.js +3 -2
- package/build-module/template-part/edit/utils/hooks.js.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build-module/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build-module/utils/deprecated-text-align-attributes.js +39 -0
- package/build-module/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build-module/utils/migrate-text-align.js +21 -0
- package/build-module/utils/migrate-text-align.js.map +7 -0
- package/build-module/verse/index.js +1 -1
- package/build-module/verse/index.js.map +2 -2
- package/build-module/video/index.js +1 -1
- package/build-module/video/index.js.map +2 -2
- package/build-style/accordion-heading/style-rtl.css +2 -18
- package/build-style/accordion-heading/style.css +2 -18
- package/build-style/classic-rtl.css +24 -0
- package/build-style/classic.css +24 -0
- package/build-style/common-rtl.css +4 -4
- package/build-style/common.css +4 -0
- package/build-style/editor-rtl.css +5 -0
- package/build-style/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +5 -0
- package/build-style/navigation/editor.css +5 -0
- package/build-style/style-rtl.css +8 -22
- package/build-style/style.css +8 -18
- package/build-style/verse/style-rtl.css +2 -0
- package/build-style/verse/style.css +2 -0
- package/package.json +40 -38
- package/src/accordion-heading/style.scss +2 -30
- package/src/audio/index.js +1 -1
- package/src/avatar/edit.js +68 -83
- package/src/breadcrumbs/block.json +3 -2
- package/src/breadcrumbs/edit.js +18 -18
- package/src/breadcrumbs/index.php +38 -17
- package/src/button/block.json +2 -3
- package/src/button/deprecated.js +214 -0
- package/src/button/edit.js +2 -11
- package/src/button/index.js +1 -1
- package/src/button/save.js +0 -2
- package/src/classic.scss +38 -0
- package/src/code/index.js +1 -1
- package/src/comments-pagination-numbers/block.json +7 -0
- package/src/common.scss +4 -0
- package/src/cover/index.js +2 -2
- package/src/details/index.js +1 -1
- package/src/file/index.js +1 -1
- package/src/freeform/block.json +0 -1
- package/src/gallery/edit.js +4 -1
- package/src/gallery/transforms.js +6 -2
- package/src/heading/index.js +1 -1
- package/src/html/modal.js +39 -20
- package/src/image/index.js +1 -1
- package/src/index.js +9 -3
- package/src/list-item/index.js +1 -1
- package/src/math/edit.js +15 -3
- package/src/media-text/index.js +1 -1
- package/src/more/index.js +1 -1
- package/src/navigation/block.json +3 -0
- package/src/navigation/edit/index.js +77 -82
- package/src/navigation/edit/overlay-menu-preview-button.js +82 -0
- package/src/navigation/edit/overlay-menu-preview-controls.js +65 -0
- package/src/navigation/edit/overlay-panel.js +78 -0
- package/src/navigation/edit/overlay-template-part-selector.js +198 -0
- package/src/navigation/edit/overlay-visibility-control.js +40 -0
- package/src/navigation/edit/responsive-wrapper.js +16 -1
- package/src/navigation/edit/test/overlay-template-part-selector.js +461 -0
- package/src/navigation/editor.scss +5 -0
- package/src/navigation-link/edit.js +9 -26
- package/src/navigation-link/index.js +1 -1
- package/src/navigation-link/shared/index.js +1 -0
- package/src/navigation-link/shared/test/use-handle-link-change.test.js +804 -0
- package/src/navigation-link/shared/use-handle-link-change.js +91 -0
- package/src/navigation-submenu/index.js +1 -1
- package/src/page-list/index.php +3 -4
- package/src/page-list-item/edit.js +4 -3
- package/src/paragraph/index.js +1 -1
- package/src/post-title/edit.js +8 -4
- package/src/post-title/index.php +1 -1
- package/src/preformatted/index.js +1 -1
- package/src/pullquote/index.js +1 -1
- package/src/query/edit/inspector-controls/author-control.js +0 -1
- package/src/query/edit/inspector-controls/format-controls.js +0 -1
- package/src/query/edit/inspector-controls/parent-control.js +0 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/src/search/index.js +1 -1
- package/src/social-link/index.js +1 -1
- package/src/template-part/edit/index.js +5 -41
- package/src/template-part/edit/utils/get-template-part-icon.js +23 -4
- package/src/template-part/edit/utils/hooks.js +10 -2
- package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/src/utils/deprecated-text-align-attributes.js +45 -0
- package/src/utils/migrate-text-align.js +22 -0
- package/src/verse/index.js +1 -1
- package/src/verse/style.scss +4 -0
- package/src/video/index.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/src/math/edit.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __ } from '@wordpress/i18n';
|
|
4
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
5
5
|
import {
|
|
6
6
|
useBlockProps,
|
|
7
7
|
store as blockEditorStore,
|
|
@@ -98,7 +98,15 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
|
|
|
98
98
|
setError( null );
|
|
99
99
|
} catch ( err ) {
|
|
100
100
|
setError( err.message );
|
|
101
|
-
speak(
|
|
101
|
+
speak(
|
|
102
|
+
sprintf(
|
|
103
|
+
/* translators: %s: error message returned when parsing LaTeX. */
|
|
104
|
+
__(
|
|
105
|
+
'Error parsing mathematical expression: %s'
|
|
106
|
+
),
|
|
107
|
+
err.message
|
|
108
|
+
)
|
|
109
|
+
);
|
|
102
110
|
}
|
|
103
111
|
setAttributes( {
|
|
104
112
|
mathML: newMathML,
|
|
@@ -113,7 +121,11 @@ export default function MathEdit( { attributes, setAttributes, isSelected } ) {
|
|
|
113
121
|
intent="error"
|
|
114
122
|
className="wp-block-math__error"
|
|
115
123
|
>
|
|
116
|
-
{
|
|
124
|
+
{ sprintf(
|
|
125
|
+
/* translators: %s: error message returned when parsing LaTeX. */
|
|
126
|
+
__( 'Error: %s' ),
|
|
127
|
+
error
|
|
128
|
+
) }
|
|
117
129
|
</Badge>
|
|
118
130
|
<style children=".wp-block-math__error .components-badge__content{white-space:normal}" />
|
|
119
131
|
</>
|
package/src/media-text/index.js
CHANGED
package/src/more/index.js
CHANGED
|
@@ -34,11 +34,7 @@ import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
34
34
|
import {
|
|
35
35
|
__experimentalToolsPanel as ToolsPanel,
|
|
36
36
|
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
37
|
-
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
38
|
-
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
39
|
-
__experimentalVStack as VStack,
|
|
40
37
|
ToggleControl,
|
|
41
|
-
Button,
|
|
42
38
|
Spinner,
|
|
43
39
|
Notice,
|
|
44
40
|
ToolbarButton,
|
|
@@ -46,7 +42,7 @@ import {
|
|
|
46
42
|
} from '@wordpress/components';
|
|
47
43
|
import { __ } from '@wordpress/i18n';
|
|
48
44
|
import { speak } from '@wordpress/a11y';
|
|
49
|
-
import {
|
|
45
|
+
import { page } from '@wordpress/icons';
|
|
50
46
|
import { createBlock } from '@wordpress/blocks';
|
|
51
47
|
import { useInstanceId } from '@wordpress/compose';
|
|
52
48
|
|
|
@@ -62,8 +58,10 @@ import NavigationMenuNameControl from './navigation-menu-name-control';
|
|
|
62
58
|
import UnsavedInnerBlocks from './unsaved-inner-blocks';
|
|
63
59
|
import NavigationMenuDeleteControl from './navigation-menu-delete-control';
|
|
64
60
|
import useNavigationNotice from './use-navigation-notice';
|
|
65
|
-
import OverlayMenuIcon from './overlay-menu-icon';
|
|
66
61
|
import OverlayMenuPreview from './overlay-menu-preview';
|
|
62
|
+
import OverlayPanel from './overlay-panel';
|
|
63
|
+
import OverlayVisibilityControl from './overlay-visibility-control';
|
|
64
|
+
import OverlayMenuPreviewButton from './overlay-menu-preview-button';
|
|
67
65
|
import useConvertClassicToBlockMenu, {
|
|
68
66
|
CLASSIC_MENU_CONVERSION_ERROR,
|
|
69
67
|
CLASSIC_MENU_CONVERSION_PENDING,
|
|
@@ -263,6 +261,7 @@ function Navigation( {
|
|
|
263
261
|
const {
|
|
264
262
|
openSubmenusOnClick,
|
|
265
263
|
overlayMenu,
|
|
264
|
+
overlay,
|
|
266
265
|
showSubmenuIcon,
|
|
267
266
|
templateLock,
|
|
268
267
|
layout: {
|
|
@@ -288,6 +287,18 @@ function Navigation( {
|
|
|
288
287
|
|
|
289
288
|
const blockEditingMode = useBlockEditingMode();
|
|
290
289
|
|
|
290
|
+
const { onNavigateToEntityRecord } = useSelect( ( select ) => {
|
|
291
|
+
const { getSettings } = select( blockEditorStore );
|
|
292
|
+
const settings = getSettings();
|
|
293
|
+
return {
|
|
294
|
+
onNavigateToEntityRecord: settings?.onNavigateToEntityRecord,
|
|
295
|
+
};
|
|
296
|
+
}, [] );
|
|
297
|
+
|
|
298
|
+
const isOverlayExperimentEnabled =
|
|
299
|
+
typeof window !== 'undefined' &&
|
|
300
|
+
window.__experimentalNavigationOverlays === true;
|
|
301
|
+
|
|
291
302
|
// Preload classic menus, so that they don't suddenly pop-in when viewing
|
|
292
303
|
// the Select Menu dropdown.
|
|
293
304
|
const { menus: classicMenus } = useNavigationEntities();
|
|
@@ -658,89 +669,50 @@ function Navigation( {
|
|
|
658
669
|
} }
|
|
659
670
|
dropdownMenuProps={ dropdownMenuProps }
|
|
660
671
|
>
|
|
661
|
-
{
|
|
672
|
+
{ ! isOverlayExperimentEnabled && (
|
|
662
673
|
<>
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
<>
|
|
683
|
-
<span>{ __( 'Menu' ) }</span>
|
|
684
|
-
<span>{ __( 'Close' ) }</span>
|
|
685
|
-
</>
|
|
686
|
-
) }
|
|
687
|
-
</Button>
|
|
688
|
-
{ overlayMenuPreview && (
|
|
689
|
-
<VStack
|
|
690
|
-
id={ overlayMenuPreviewId }
|
|
691
|
-
spacing={ 4 }
|
|
692
|
-
style={ {
|
|
674
|
+
{ isResponsive && (
|
|
675
|
+
<OverlayMenuPreviewButton
|
|
676
|
+
isResponsive={ isResponsive }
|
|
677
|
+
overlayMenuPreview={
|
|
678
|
+
overlayMenuPreview
|
|
679
|
+
}
|
|
680
|
+
setOverlayMenuPreview={
|
|
681
|
+
setOverlayMenuPreview
|
|
682
|
+
}
|
|
683
|
+
hasIcon={ hasIcon }
|
|
684
|
+
icon={ icon }
|
|
685
|
+
setAttributes={ setAttributes }
|
|
686
|
+
overlayMenuPreviewClasses={
|
|
687
|
+
overlayMenuPreviewClasses
|
|
688
|
+
}
|
|
689
|
+
overlayMenuPreviewId={
|
|
690
|
+
overlayMenuPreviewId
|
|
691
|
+
}
|
|
692
|
+
containerStyle={ {
|
|
693
693
|
gridColumn: 'span 2',
|
|
694
694
|
} }
|
|
695
|
-
|
|
696
|
-
<OverlayMenuPreview
|
|
697
|
-
setAttributes={ setAttributes }
|
|
698
|
-
hasIcon={ hasIcon }
|
|
699
|
-
icon={ icon }
|
|
700
|
-
hidden={ ! overlayMenuPreview }
|
|
701
|
-
/>
|
|
702
|
-
</VStack>
|
|
695
|
+
/>
|
|
703
696
|
) }
|
|
697
|
+
|
|
698
|
+
<ToolsPanelItem
|
|
699
|
+
hasValue={ () => overlayMenu !== 'mobile' }
|
|
700
|
+
label={ __( 'Overlay Visibility' ) }
|
|
701
|
+
onDeselect={ () =>
|
|
702
|
+
setAttributes( {
|
|
703
|
+
overlayMenu: 'mobile',
|
|
704
|
+
} )
|
|
705
|
+
}
|
|
706
|
+
isShownByDefault
|
|
707
|
+
>
|
|
708
|
+
<OverlayVisibilityControl
|
|
709
|
+
overlayMenu={ overlayMenu }
|
|
710
|
+
setAttributes={ setAttributes }
|
|
711
|
+
/>
|
|
712
|
+
</ToolsPanelItem>
|
|
704
713
|
</>
|
|
705
714
|
) }
|
|
706
715
|
|
|
707
|
-
<ToolsPanelItem
|
|
708
|
-
hasValue={ () => overlayMenu !== 'mobile' }
|
|
709
|
-
label={ __( 'Overlay Menu' ) }
|
|
710
|
-
onDeselect={ () =>
|
|
711
|
-
setAttributes( { overlayMenu: 'mobile' } )
|
|
712
|
-
}
|
|
713
|
-
isShownByDefault
|
|
714
|
-
>
|
|
715
|
-
<ToggleGroupControl
|
|
716
|
-
__next40pxDefaultSize
|
|
717
|
-
__nextHasNoMarginBottom
|
|
718
|
-
label={ __( 'Overlay Menu' ) }
|
|
719
|
-
aria-label={ __( 'Configure overlay menu' ) }
|
|
720
|
-
value={ overlayMenu }
|
|
721
|
-
help={ __(
|
|
722
|
-
'Collapses the navigation options in a menu icon opening an overlay.'
|
|
723
|
-
) }
|
|
724
|
-
onChange={ ( value ) =>
|
|
725
|
-
setAttributes( { overlayMenu: value } )
|
|
726
|
-
}
|
|
727
|
-
isBlock
|
|
728
|
-
>
|
|
729
|
-
<ToggleGroupControlOption
|
|
730
|
-
value="never"
|
|
731
|
-
label={ __( 'Off' ) }
|
|
732
|
-
/>
|
|
733
|
-
<ToggleGroupControlOption
|
|
734
|
-
value="mobile"
|
|
735
|
-
label={ __( 'Mobile' ) }
|
|
736
|
-
/>
|
|
737
|
-
<ToggleGroupControlOption
|
|
738
|
-
value="always"
|
|
739
|
-
label={ __( 'Always' ) }
|
|
740
|
-
/>
|
|
741
|
-
</ToggleGroupControl>
|
|
742
|
-
</ToolsPanelItem>
|
|
743
|
-
|
|
744
716
|
{ hasSubmenus && (
|
|
745
717
|
<>
|
|
746
718
|
<h3 className="wp-block-navigation__submenu-header">
|
|
@@ -815,6 +787,23 @@ function Navigation( {
|
|
|
815
787
|
</ToolsPanel>
|
|
816
788
|
) }
|
|
817
789
|
</InspectorControls>
|
|
790
|
+
{ isOverlayExperimentEnabled && (
|
|
791
|
+
<InspectorControls>
|
|
792
|
+
<OverlayPanel
|
|
793
|
+
overlayMenu={ overlayMenu }
|
|
794
|
+
overlay={ overlay }
|
|
795
|
+
setAttributes={ setAttributes }
|
|
796
|
+
onNavigateToEntityRecord={ onNavigateToEntityRecord }
|
|
797
|
+
overlayMenuPreview={ overlayMenuPreview }
|
|
798
|
+
setOverlayMenuPreview={ setOverlayMenuPreview }
|
|
799
|
+
hasIcon={ hasIcon }
|
|
800
|
+
icon={ icon }
|
|
801
|
+
overlayMenuPreviewClasses={ overlayMenuPreviewClasses }
|
|
802
|
+
overlayMenuPreviewId={ overlayMenuPreviewId }
|
|
803
|
+
isResponsive={ isResponsive }
|
|
804
|
+
/>
|
|
805
|
+
</InspectorControls>
|
|
806
|
+
) }
|
|
818
807
|
<InspectorControls group="color">
|
|
819
808
|
{ /*
|
|
820
809
|
* Avoid useMultipleOriginColorsAndGradients and detectColors
|
|
@@ -880,6 +869,8 @@ function Navigation( {
|
|
|
880
869
|
isHiddenByDefault={ isHiddenByDefault }
|
|
881
870
|
overlayBackgroundColor={ overlayBackgroundColor }
|
|
882
871
|
overlayTextColor={ overlayTextColor }
|
|
872
|
+
overlay={ overlay }
|
|
873
|
+
onNavigateToEntityRecord={ onNavigateToEntityRecord }
|
|
883
874
|
>
|
|
884
875
|
<UnsavedInnerBlocks
|
|
885
876
|
createNavigationMenu={ createNavigationMenu }
|
|
@@ -1042,6 +1033,10 @@ function Navigation( {
|
|
|
1042
1033
|
overlayBackgroundColor
|
|
1043
1034
|
}
|
|
1044
1035
|
overlayTextColor={ overlayTextColor }
|
|
1036
|
+
overlay={ overlay }
|
|
1037
|
+
onNavigateToEntityRecord={
|
|
1038
|
+
onNavigateToEntityRecord
|
|
1039
|
+
}
|
|
1045
1040
|
>
|
|
1046
1041
|
{ isEntityAvailable && (
|
|
1047
1042
|
<NavigationInnerBlocks
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Button, __experimentalVStack as VStack } from '@wordpress/components';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { Icon, close } from '@wordpress/icons';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import OverlayMenuIcon from './overlay-menu-icon';
|
|
12
|
+
import OverlayMenuPreviewControls from './overlay-menu-preview-controls';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Overlay Menu Preview Button component.
|
|
16
|
+
*
|
|
17
|
+
* @param {Object} props Component props.
|
|
18
|
+
* @param {boolean} props.isResponsive Whether overlay menu is responsive.
|
|
19
|
+
* @param {boolean} props.overlayMenuPreview Whether overlay menu preview is open.
|
|
20
|
+
* @param {Function} props.setOverlayMenuPreview Function to toggle overlay menu preview.
|
|
21
|
+
* @param {boolean} props.hasIcon Whether the overlay menu has an icon.
|
|
22
|
+
* @param {string} props.icon Icon type for overlay menu.
|
|
23
|
+
* @param {Function} props.setAttributes Function to update block attributes.
|
|
24
|
+
* @param {string} props.overlayMenuPreviewClasses CSS classes for overlay menu preview button.
|
|
25
|
+
* @param {string} props.overlayMenuPreviewId ID for overlay menu preview.
|
|
26
|
+
* @param {string} props.containerStyle Optional style for the preview container.
|
|
27
|
+
* @return {JSX.Element|null} The overlay menu preview button or null if not responsive.
|
|
28
|
+
*/
|
|
29
|
+
export default function OverlayMenuPreviewButton( {
|
|
30
|
+
isResponsive,
|
|
31
|
+
overlayMenuPreview,
|
|
32
|
+
setOverlayMenuPreview,
|
|
33
|
+
hasIcon,
|
|
34
|
+
icon,
|
|
35
|
+
setAttributes,
|
|
36
|
+
overlayMenuPreviewClasses,
|
|
37
|
+
overlayMenuPreviewId,
|
|
38
|
+
containerStyle,
|
|
39
|
+
} ) {
|
|
40
|
+
if ( ! isResponsive ) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<>
|
|
46
|
+
<Button
|
|
47
|
+
__next40pxDefaultSize
|
|
48
|
+
className={ overlayMenuPreviewClasses }
|
|
49
|
+
onClick={ () => setOverlayMenuPreview( ! overlayMenuPreview ) }
|
|
50
|
+
aria-label={ __( 'Overlay menu controls' ) }
|
|
51
|
+
aria-controls={ overlayMenuPreviewId }
|
|
52
|
+
aria-expanded={ overlayMenuPreview }
|
|
53
|
+
>
|
|
54
|
+
{ hasIcon && (
|
|
55
|
+
<>
|
|
56
|
+
<OverlayMenuIcon icon={ icon } />
|
|
57
|
+
<Icon icon={ close } />
|
|
58
|
+
</>
|
|
59
|
+
) }
|
|
60
|
+
{ ! hasIcon && (
|
|
61
|
+
<>
|
|
62
|
+
<span>{ __( 'Menu' ) }</span>
|
|
63
|
+
<span>{ __( 'Close' ) }</span>
|
|
64
|
+
</>
|
|
65
|
+
) }
|
|
66
|
+
</Button>
|
|
67
|
+
{ overlayMenuPreview && (
|
|
68
|
+
<VStack
|
|
69
|
+
id={ overlayMenuPreviewId }
|
|
70
|
+
spacing={ 4 }
|
|
71
|
+
style={ containerStyle }
|
|
72
|
+
>
|
|
73
|
+
<OverlayMenuPreviewControls
|
|
74
|
+
hasIcon={ hasIcon }
|
|
75
|
+
icon={ icon }
|
|
76
|
+
setAttributes={ setAttributes }
|
|
77
|
+
/>
|
|
78
|
+
</VStack>
|
|
79
|
+
) }
|
|
80
|
+
</>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalVStack as VStack,
|
|
6
|
+
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
7
|
+
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
8
|
+
ToggleControl,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
import { __ } from '@wordpress/i18n';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import OverlayMenuIcon from './overlay-menu-icon';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Overlay Menu Preview Controls component.
|
|
19
|
+
* Used within PanelBody context (not ToolsPanel).
|
|
20
|
+
*
|
|
21
|
+
* @param {Object} props Component props.
|
|
22
|
+
* @param {boolean} props.hasIcon Whether the overlay menu has an icon.
|
|
23
|
+
* @param {string} props.icon Icon type for overlay menu.
|
|
24
|
+
* @param {Function} props.setAttributes Function to update block attributes.
|
|
25
|
+
* @return {JSX.Element} The overlay menu preview controls.
|
|
26
|
+
*/
|
|
27
|
+
export default function OverlayMenuPreviewControls( {
|
|
28
|
+
hasIcon,
|
|
29
|
+
icon,
|
|
30
|
+
setAttributes,
|
|
31
|
+
} ) {
|
|
32
|
+
return (
|
|
33
|
+
<VStack spacing={ 4 }>
|
|
34
|
+
<ToggleControl
|
|
35
|
+
__nextHasNoMarginBottom
|
|
36
|
+
label={ __( 'Show icon button' ) }
|
|
37
|
+
help={ __(
|
|
38
|
+
'Configure the visual appearance of the button that toggles the overlay menu.'
|
|
39
|
+
) }
|
|
40
|
+
onChange={ ( value ) => setAttributes( { hasIcon: value } ) }
|
|
41
|
+
checked={ hasIcon }
|
|
42
|
+
/>
|
|
43
|
+
<ToggleGroupControl
|
|
44
|
+
__next40pxDefaultSize
|
|
45
|
+
__nextHasNoMarginBottom
|
|
46
|
+
className="wp-block-navigation__overlay-menu-icon-toggle-group"
|
|
47
|
+
label={ __( 'Icon' ) }
|
|
48
|
+
value={ icon }
|
|
49
|
+
onChange={ ( value ) => setAttributes( { icon: value } ) }
|
|
50
|
+
isBlock
|
|
51
|
+
>
|
|
52
|
+
<ToggleGroupControlOption
|
|
53
|
+
value="handle"
|
|
54
|
+
aria-label={ __( 'handle' ) }
|
|
55
|
+
label={ <OverlayMenuIcon icon="handle" /> }
|
|
56
|
+
/>
|
|
57
|
+
<ToggleGroupControlOption
|
|
58
|
+
value="menu"
|
|
59
|
+
aria-label={ __( 'menu' ) }
|
|
60
|
+
label={ <OverlayMenuIcon icon="menu" /> }
|
|
61
|
+
/>
|
|
62
|
+
</ToggleGroupControl>
|
|
63
|
+
</VStack>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
PanelBody,
|
|
6
|
+
__experimentalVStack as VStack,
|
|
7
|
+
} from '@wordpress/components';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import OverlayTemplatePartSelector from './overlay-template-part-selector';
|
|
14
|
+
import OverlayVisibilityControl from './overlay-visibility-control';
|
|
15
|
+
import OverlayMenuPreviewButton from './overlay-menu-preview-button';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Overlay Panel component for Navigation block.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} props Component props.
|
|
21
|
+
* @param {string} props.overlayMenu Overlay menu setting ('never', 'mobile', 'always').
|
|
22
|
+
* @param {string} props.overlay Currently selected overlay template part ID.
|
|
23
|
+
* @param {Function} props.setAttributes Function to update block attributes.
|
|
24
|
+
* @param {Function} props.onNavigateToEntityRecord Function to navigate to template part editor.
|
|
25
|
+
* @param {boolean} props.overlayMenuPreview Whether overlay menu preview is open.
|
|
26
|
+
* @param {Function} props.setOverlayMenuPreview Function to toggle overlay menu preview.
|
|
27
|
+
* @param {boolean} props.hasIcon Whether the overlay menu has an icon.
|
|
28
|
+
* @param {string} props.icon Icon type for overlay menu.
|
|
29
|
+
* @param {string} props.overlayMenuPreviewClasses CSS classes for overlay menu preview button.
|
|
30
|
+
* @param {string} props.overlayMenuPreviewId ID for overlay menu preview.
|
|
31
|
+
* @param {boolean} props.isResponsive Whether overlay menu is responsive.
|
|
32
|
+
* @return {JSX.Element|null} The overlay panel component or null if overlay is disabled.
|
|
33
|
+
*/
|
|
34
|
+
export default function OverlayPanel( {
|
|
35
|
+
overlayMenu,
|
|
36
|
+
overlay,
|
|
37
|
+
setAttributes,
|
|
38
|
+
onNavigateToEntityRecord,
|
|
39
|
+
overlayMenuPreview,
|
|
40
|
+
setOverlayMenuPreview,
|
|
41
|
+
hasIcon,
|
|
42
|
+
icon,
|
|
43
|
+
overlayMenuPreviewClasses,
|
|
44
|
+
overlayMenuPreviewId,
|
|
45
|
+
isResponsive,
|
|
46
|
+
} ) {
|
|
47
|
+
return (
|
|
48
|
+
<PanelBody title={ __( 'Overlay' ) } initialOpen>
|
|
49
|
+
<VStack spacing={ 4 }>
|
|
50
|
+
<OverlayVisibilityControl
|
|
51
|
+
overlayMenu={ overlayMenu }
|
|
52
|
+
setAttributes={ setAttributes }
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
{ overlayMenu !== 'never' && (
|
|
56
|
+
<OverlayMenuPreviewButton
|
|
57
|
+
isResponsive={ isResponsive }
|
|
58
|
+
overlayMenuPreview={ overlayMenuPreview }
|
|
59
|
+
setOverlayMenuPreview={ setOverlayMenuPreview }
|
|
60
|
+
hasIcon={ hasIcon }
|
|
61
|
+
icon={ icon }
|
|
62
|
+
setAttributes={ setAttributes }
|
|
63
|
+
overlayMenuPreviewClasses={ overlayMenuPreviewClasses }
|
|
64
|
+
overlayMenuPreviewId={ overlayMenuPreviewId }
|
|
65
|
+
/>
|
|
66
|
+
) }
|
|
67
|
+
|
|
68
|
+
{ overlayMenu !== 'never' && (
|
|
69
|
+
<OverlayTemplatePartSelector
|
|
70
|
+
overlay={ overlay }
|
|
71
|
+
setAttributes={ setAttributes }
|
|
72
|
+
onNavigateToEntityRecord={ onNavigateToEntityRecord }
|
|
73
|
+
/>
|
|
74
|
+
) }
|
|
75
|
+
</VStack>
|
|
76
|
+
</PanelBody>
|
|
77
|
+
);
|
|
78
|
+
}
|