@wordpress/block-library 9.24.0 → 9.26.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 +4 -0
- package/build/avatar/edit.js +84 -39
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +32 -17
- package/build/avatar/user-control.js.map +1 -1
- package/build/button/edit.js +29 -17
- package/build/button/edit.js.map +1 -1
- package/build/columns/edit.js +18 -22
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-name/edit.js +41 -12
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-date/edit.js +41 -12
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +27 -7
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +1 -3
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +23 -9
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-title/edit.js +41 -12
- package/build/comments-title/edit.js.map +1 -1
- package/build/details/edit.js +27 -3
- package/build/details/edit.js.map +1 -1
- package/build/embed/edit.js +2 -4
- package/build/embed/edit.js.map +1 -1
- package/build/embed/embed-controls.js +41 -22
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/file/inspector.js +73 -30
- package/build/file/inspector.js.map +1 -1
- package/build/form/edit.js +67 -38
- package/build/form/edit.js.map +1 -1
- package/build/form/index.js +3 -3
- package/build/form/index.js.map +1 -1
- package/build/form-input/edit.js +47 -18
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/index.js +2 -1
- package/build/form-input/index.js.map +1 -1
- package/build/form-submission-notification/index.js +2 -1
- package/build/form-submission-notification/index.js.map +1 -1
- package/build/form-submit-button/index.js +2 -1
- package/build/form-submit-button/index.js.map +1 -1
- package/build/image/image.js +1 -0
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +0 -3
- package/build/image/view.js.map +1 -1
- package/build/latest-posts/edit.js +154 -82
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +131 -52
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/navigation/edit/index.js +93 -51
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +43 -27
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation-link/edit.js +11 -0
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +3 -0
- package/build/navigation-link/index.js.map +1 -1
- package/build/navigation-link/transforms.js +2 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +1 -0
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/index.js +3 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/post-author/edit.js +75 -18
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments-count/index.js +3 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-count/transforms.js +26 -0
- package/build/post-comments-count/transforms.js.map +1 -0
- package/build/post-comments-link/index.js +3 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-comments-link/transforms.js +26 -0
- package/build/post-comments-link/transforms.js.map +1 -0
- package/build/post-navigation-link/edit.js +72 -33
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-title/edit.js +56 -18
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +1 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/rss/edit.js +120 -46
- package/build/rss/edit.js.map +1 -1
- package/build/separator/edit.js +52 -20
- package/build/separator/edit.js.map +1 -1
- package/build/shortcode/index.js +2 -1
- package/build/shortcode/index.js.map +1 -1
- package/build/site-logo/edit.js +53 -19
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/edit.js +21 -5
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/edit.native.js +13 -5
- package/build/social-link/edit.native.js.map +1 -1
- package/build/social-link/social-list.js +17 -25
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-link/variations.js +53 -48
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +38 -45
- package/build/social-links/edit.js.map +1 -1
- package/build/video/tracks-editor.js +63 -21
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/avatar/edit.js +83 -38
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +33 -18
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/button/edit.js +30 -18
- package/build-module/button/edit.js.map +1 -1
- package/build-module/columns/edit.js +18 -22
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-name/edit.js +42 -13
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-date/edit.js +42 -13
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +28 -8
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -3
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-pagination/edit.js +24 -10
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +42 -13
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/details/edit.js +29 -5
- package/build-module/details/edit.js.map +1 -1
- package/build-module/embed/edit.js +2 -4
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/embed-controls.js +42 -23
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/inspector.js +74 -31
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/form/edit.js +68 -39
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form/index.js +3 -3
- package/build-module/form/index.js.map +1 -1
- package/build-module/form-input/edit.js +48 -19
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/index.js +2 -1
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-submission-notification/index.js +2 -1
- package/build-module/form-submission-notification/index.js.map +1 -1
- package/build-module/form-submit-button/index.js +2 -1
- package/build-module/form-submit-button/index.js.map +1 -1
- package/build-module/image/image.js +1 -0
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +0 -3
- package/build-module/image/view.js.map +1 -1
- package/build-module/latest-posts/edit.js +155 -83
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +132 -53
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/navigation/edit/index.js +94 -52
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation-link/edit.js +11 -0
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +3 -0
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/navigation-link/transforms.js +2 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +1 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/index.js +3 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/post-author/edit.js +76 -19
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +3 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-count/transforms.js +19 -0
- package/build-module/post-comments-count/transforms.js.map +1 -0
- package/build-module/post-comments-link/index.js +3 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-comments-link/transforms.js +19 -0
- package/build-module/post-comments-link/transforms.js.map +1 -0
- package/build-module/post-navigation-link/edit.js +73 -34
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-title/edit.js +57 -19
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/rss/edit.js +121 -47
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/separator/edit.js +54 -22
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/shortcode/index.js +2 -1
- package/build-module/shortcode/index.js.map +1 -1
- package/build-module/site-logo/edit.js +54 -20
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/edit.js +24 -8
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +15 -6
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/social-link/social-list.js +16 -21
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-link/variations.js +53 -48
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/social-links/edit.js +40 -47
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +65 -23
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/calendar/style-rtl.css +7 -7
- package/build-style/calendar/style.css +7 -7
- package/build-style/comments-pagination/editor-rtl.css +0 -12
- package/build-style/comments-pagination/editor.css +0 -14
- package/build-style/comments-pagination/style-rtl.css +0 -7
- package/build-style/comments-pagination/style.css +0 -9
- package/build-style/editor-rtl.css +9 -21
- package/build-style/editor.css +9 -23
- package/build-style/gallery/style-rtl.css +1 -0
- package/build-style/gallery/style.css +1 -0
- package/build-style/navigation/editor-rtl.css +8 -3
- package/build-style/navigation/editor.css +8 -3
- package/build-style/navigation/style-rtl.css +4 -0
- package/build-style/navigation/style.css +4 -0
- package/build-style/pullquote/editor-rtl.css +1 -1
- package/build-style/pullquote/editor.css +1 -1
- package/build-style/pullquote/style-rtl.css +2 -3
- package/build-style/pullquote/style.css +2 -3
- package/build-style/pullquote/theme-rtl.css +2 -2
- package/build-style/pullquote/theme.css +2 -2
- package/build-style/style-rtl.css +14 -17
- package/build-style/style.css +14 -19
- package/build-style/theme-rtl.css +2 -2
- package/build-style/theme.css +2 -2
- package/package.json +35 -35
- package/src/avatar/edit.js +99 -51
- package/src/avatar/user-control.js +34 -29
- package/src/button/edit.js +44 -29
- package/src/calendar/style.scss +10 -10
- package/src/columns/edit.js +20 -31
- package/src/comment-author-name/edit.js +54 -13
- package/src/comment-date/edit.js +50 -15
- package/src/comment-edit-link/edit.js +39 -11
- package/src/comments/edit/comments-inspector-controls.js +0 -2
- package/src/comments-pagination/edit.js +29 -9
- package/src/comments-pagination/editor.scss +0 -15
- package/src/comments-pagination/style.scss +0 -8
- package/src/comments-title/edit.js +53 -15
- package/src/details/edit.js +36 -4
- package/src/editor.scss +0 -1
- package/src/embed/edit.js +3 -5
- package/src/embed/embed-controls.js +55 -33
- package/src/embed/variations.js +0 -8
- package/src/file/inspector.js +99 -45
- package/src/form/block.json +1 -2
- package/src/form/edit.js +91 -47
- package/src/form/index.js +1 -0
- package/src/form-input/edit.js +56 -18
- package/src/form-input/index.js +1 -0
- package/src/form-submission-notification/index.js +1 -0
- package/src/form-submit-button/index.js +1 -0
- package/src/gallery/style.scss +1 -0
- package/src/image/image.js +1 -0
- package/src/image/index.php +4 -1
- package/src/image/view.js +0 -3
- package/src/latest-posts/edit.js +206 -98
- package/src/list/ordered-list-settings.js +172 -62
- package/src/navigation/edit/index.js +127 -64
- package/src/navigation/edit/overlay-menu-preview.js +43 -26
- package/src/navigation/editor.scss +8 -4
- package/src/navigation/style.scss +8 -0
- package/src/navigation-link/block.json +3 -0
- package/src/navigation-link/edit.js +14 -1
- package/src/navigation-link/index.php +4 -0
- package/src/navigation-link/transforms.js +2 -1
- package/src/navigation-link/update-attributes.js +1 -0
- package/src/navigation-submenu/block.json +3 -0
- package/src/navigation-submenu/index.php +4 -0
- package/src/post-author/edit.js +91 -27
- package/src/post-comments-count/index.js +2 -0
- package/src/post-comments-count/transforms.js +20 -0
- package/src/post-comments-link/index.js +2 -0
- package/src/post-comments-link/transforms.js +20 -0
- package/src/post-navigation-link/edit.js +96 -51
- package/src/post-title/edit.js +76 -24
- package/src/pullquote/editor.scss +1 -1
- package/src/pullquote/style.scss +2 -3
- package/src/pullquote/theme.scss +2 -2
- package/src/query/edit/enhanced-pagination-modal.js +1 -5
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
- package/src/rss/edit.js +141 -55
- package/src/separator/edit.js +66 -21
- package/src/shortcode/block.json +2 -1
- package/src/site-logo/edit.js +69 -26
- package/src/site-title/index.php +1 -1
- package/src/social-link/edit.js +18 -7
- package/src/social-link/edit.native.js +10 -4
- package/src/social-link/index.php +62 -49
- package/src/social-link/social-list.js +15 -20
- package/src/social-link/variations.js +53 -48
- package/src/social-links/edit.js +38 -60
- package/src/video/tracks-editor.js +75 -22
- package/build-style/post-author/editor-rtl.css +0 -140
- package/build-style/post-author/editor.css +0 -140
- package/src/post-author/editor.scss +0 -7
|
@@ -31,10 +31,12 @@ import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
|
31
31
|
|
|
32
32
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
33
33
|
import {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
__experimentalToolsPanel as ToolsPanel,
|
|
35
|
+
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
36
36
|
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
37
37
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
38
|
+
__experimentalVStack as VStack,
|
|
39
|
+
ToggleControl,
|
|
38
40
|
Button,
|
|
39
41
|
Spinner,
|
|
40
42
|
Notice,
|
|
@@ -72,6 +74,7 @@ import DeletedNavigationWarning from './deleted-navigation-warning';
|
|
|
72
74
|
import AccessibleDescription from './accessible-description';
|
|
73
75
|
import AccessibleMenuDescription from './accessible-menu-description';
|
|
74
76
|
import { unlock } from '../../lock-unlock';
|
|
77
|
+
import { useToolsPanelDropdownMenuProps } from '../../utils/hooks';
|
|
75
78
|
|
|
76
79
|
function ColorTools( {
|
|
77
80
|
textColor,
|
|
@@ -591,11 +594,25 @@ function Navigation( {
|
|
|
591
594
|
`overlay-menu-preview`
|
|
592
595
|
);
|
|
593
596
|
|
|
597
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
598
|
+
|
|
594
599
|
const stylingInspectorControls = (
|
|
595
600
|
<>
|
|
596
601
|
<InspectorControls>
|
|
597
602
|
{ hasSubmenuIndicatorSetting && (
|
|
598
|
-
<
|
|
603
|
+
<ToolsPanel
|
|
604
|
+
label={ __( 'Display' ) }
|
|
605
|
+
resetAll={ () => {
|
|
606
|
+
setAttributes( {
|
|
607
|
+
showSubmenuIcon: true,
|
|
608
|
+
openSubmenusOnClick: false,
|
|
609
|
+
overlayMenu: 'mobile',
|
|
610
|
+
hasIcon: true,
|
|
611
|
+
icon: 'handle',
|
|
612
|
+
} );
|
|
613
|
+
} }
|
|
614
|
+
dropdownMenuProps={ dropdownMenuProps }
|
|
615
|
+
>
|
|
599
616
|
{ isResponsive && (
|
|
600
617
|
<>
|
|
601
618
|
<Button
|
|
@@ -623,88 +640,134 @@ function Navigation( {
|
|
|
623
640
|
</>
|
|
624
641
|
) }
|
|
625
642
|
</Button>
|
|
626
|
-
|
|
627
|
-
|
|
643
|
+
{ overlayMenuPreview && (
|
|
644
|
+
<VStack
|
|
645
|
+
id={ overlayMenuPreviewId }
|
|
646
|
+
spacing={ 4 }
|
|
647
|
+
style={ {
|
|
648
|
+
gridColumn: 'span 2',
|
|
649
|
+
} }
|
|
650
|
+
>
|
|
628
651
|
<OverlayMenuPreview
|
|
629
652
|
setAttributes={ setAttributes }
|
|
630
653
|
hasIcon={ hasIcon }
|
|
631
654
|
icon={ icon }
|
|
632
655
|
hidden={ ! overlayMenuPreview }
|
|
633
656
|
/>
|
|
634
|
-
|
|
635
|
-
|
|
657
|
+
</VStack>
|
|
658
|
+
) }
|
|
636
659
|
</>
|
|
637
660
|
) }
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
661
|
+
|
|
662
|
+
<ToolsPanelItem
|
|
663
|
+
hasValue={ () => overlayMenu !== 'mobile' }
|
|
641
664
|
label={ __( 'Overlay Menu' ) }
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
help={ __(
|
|
645
|
-
'Collapses the navigation options in a menu icon opening an overlay.'
|
|
646
|
-
) }
|
|
647
|
-
onChange={ ( value ) =>
|
|
648
|
-
setAttributes( { overlayMenu: value } )
|
|
665
|
+
onDeselect={ () =>
|
|
666
|
+
setAttributes( { overlayMenu: 'mobile' } )
|
|
649
667
|
}
|
|
650
|
-
|
|
668
|
+
isShownByDefault
|
|
651
669
|
>
|
|
652
|
-
<
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
value=
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
value
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
670
|
+
<ToggleGroupControl
|
|
671
|
+
__next40pxDefaultSize
|
|
672
|
+
__nextHasNoMarginBottom
|
|
673
|
+
label={ __( 'Overlay Menu' ) }
|
|
674
|
+
aria-label={ __( 'Configure overlay menu' ) }
|
|
675
|
+
value={ overlayMenu }
|
|
676
|
+
help={ __(
|
|
677
|
+
'Collapses the navigation options in a menu icon opening an overlay.'
|
|
678
|
+
) }
|
|
679
|
+
onChange={ ( value ) =>
|
|
680
|
+
setAttributes( { overlayMenu: value } )
|
|
681
|
+
}
|
|
682
|
+
isBlock
|
|
683
|
+
>
|
|
684
|
+
<ToggleGroupControlOption
|
|
685
|
+
value="never"
|
|
686
|
+
label={ __( 'Off' ) }
|
|
687
|
+
/>
|
|
688
|
+
<ToggleGroupControlOption
|
|
689
|
+
value="mobile"
|
|
690
|
+
label={ __( 'Mobile' ) }
|
|
691
|
+
/>
|
|
692
|
+
<ToggleGroupControlOption
|
|
693
|
+
value="always"
|
|
694
|
+
label={ __( 'Always' ) }
|
|
695
|
+
/>
|
|
696
|
+
</ToggleGroupControl>
|
|
697
|
+
</ToolsPanelItem>
|
|
698
|
+
|
|
665
699
|
{ hasSubmenus && (
|
|
666
700
|
<>
|
|
667
|
-
<h3
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
setAttributes( {
|
|
673
|
-
openSubmenusOnClick: value,
|
|
674
|
-
...( value && {
|
|
675
|
-
showSubmenuIcon: true,
|
|
676
|
-
} ), // Make sure arrows are shown when we toggle this on.
|
|
677
|
-
} );
|
|
678
|
-
} }
|
|
701
|
+
<h3 className="wp-block-navigation__submenu-header">
|
|
702
|
+
{ __( 'Submenus' ) }
|
|
703
|
+
</h3>
|
|
704
|
+
<ToolsPanelItem
|
|
705
|
+
hasValue={ () => openSubmenusOnClick }
|
|
679
706
|
label={ __( 'Open on click' ) }
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
<ToggleControl
|
|
683
|
-
__nextHasNoMarginBottom
|
|
684
|
-
checked={ showSubmenuIcon }
|
|
685
|
-
onChange={ ( value ) => {
|
|
707
|
+
onDeselect={ () =>
|
|
686
708
|
setAttributes( {
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
709
|
+
openSubmenusOnClick: false,
|
|
710
|
+
showSubmenuIcon: true,
|
|
711
|
+
} )
|
|
712
|
+
}
|
|
713
|
+
isShownByDefault
|
|
714
|
+
>
|
|
715
|
+
<ToggleControl
|
|
716
|
+
__nextHasNoMarginBottom
|
|
717
|
+
checked={ openSubmenusOnClick }
|
|
718
|
+
onChange={ ( value ) => {
|
|
719
|
+
setAttributes( {
|
|
720
|
+
openSubmenusOnClick: value,
|
|
721
|
+
...( value && {
|
|
722
|
+
showSubmenuIcon: true,
|
|
723
|
+
} ), // Make sure arrows are shown when we toggle this on.
|
|
724
|
+
} );
|
|
725
|
+
} }
|
|
726
|
+
label={ __( 'Open on click' ) }
|
|
727
|
+
/>
|
|
728
|
+
</ToolsPanelItem>
|
|
729
|
+
|
|
730
|
+
<ToolsPanelItem
|
|
731
|
+
hasValue={ () => ! showSubmenuIcon }
|
|
691
732
|
label={ __( 'Show arrow' ) }
|
|
692
|
-
|
|
733
|
+
onDeselect={ () =>
|
|
734
|
+
setAttributes( {
|
|
735
|
+
showSubmenuIcon: true,
|
|
736
|
+
} )
|
|
737
|
+
}
|
|
738
|
+
isDisabled={
|
|
739
|
+
attributes.openSubmenusOnClick
|
|
740
|
+
}
|
|
741
|
+
isShownByDefault
|
|
742
|
+
>
|
|
743
|
+
<ToggleControl
|
|
744
|
+
__nextHasNoMarginBottom
|
|
745
|
+
checked={ showSubmenuIcon }
|
|
746
|
+
onChange={ ( value ) => {
|
|
747
|
+
setAttributes( {
|
|
748
|
+
showSubmenuIcon: value,
|
|
749
|
+
} );
|
|
750
|
+
} }
|
|
751
|
+
disabled={
|
|
752
|
+
attributes.openSubmenusOnClick
|
|
753
|
+
}
|
|
754
|
+
label={ __( 'Show arrow' ) }
|
|
755
|
+
/>
|
|
756
|
+
</ToolsPanelItem>
|
|
693
757
|
|
|
694
758
|
{ submenuAccessibilityNotice && (
|
|
695
|
-
<
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
</div>
|
|
759
|
+
<Notice
|
|
760
|
+
spokenMessage={ null }
|
|
761
|
+
status="warning"
|
|
762
|
+
isDismissible={ false }
|
|
763
|
+
className="wp-block-navigation__submenu-accessibility-notice"
|
|
764
|
+
>
|
|
765
|
+
{ submenuAccessibilityNotice }
|
|
766
|
+
</Notice>
|
|
704
767
|
) }
|
|
705
768
|
</>
|
|
706
769
|
) }
|
|
707
|
-
</
|
|
770
|
+
</ToolsPanel>
|
|
708
771
|
) }
|
|
709
772
|
</InspectorControls>
|
|
710
773
|
<InspectorControls group="color">
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
ToggleControl,
|
|
6
6
|
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
7
7
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
8
|
+
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
8
9
|
} from '@wordpress/components';
|
|
9
10
|
import { __ } from '@wordpress/i18n';
|
|
10
11
|
|
|
@@ -16,36 +17,52 @@ import OverlayMenuIcon from './overlay-menu-icon';
|
|
|
16
17
|
export default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {
|
|
17
18
|
return (
|
|
18
19
|
<>
|
|
19
|
-
<
|
|
20
|
-
__nextHasNoMarginBottom
|
|
20
|
+
<ToolsPanelItem
|
|
21
21
|
label={ __( 'Show icon button' ) }
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
) }
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
isShownByDefault
|
|
23
|
+
hasValue={ () => ! hasIcon }
|
|
24
|
+
onDeselect={ () => setAttributes( { hasIcon: true } ) }
|
|
25
|
+
>
|
|
26
|
+
<ToggleControl
|
|
27
|
+
__nextHasNoMarginBottom
|
|
28
|
+
label={ __( 'Show icon button' ) }
|
|
29
|
+
help={ __(
|
|
30
|
+
'Configure the visual appearance of the button that toggles the overlay menu.'
|
|
31
|
+
) }
|
|
32
|
+
onChange={ ( value ) =>
|
|
33
|
+
setAttributes( { hasIcon: value } )
|
|
34
|
+
}
|
|
35
|
+
checked={ hasIcon }
|
|
36
|
+
/>
|
|
37
|
+
</ToolsPanelItem>
|
|
28
38
|
|
|
29
|
-
<
|
|
30
|
-
__next40pxDefaultSize
|
|
31
|
-
__nextHasNoMarginBottom
|
|
32
|
-
className="wp-block-navigation__overlay-menu-icon-toggle-group"
|
|
39
|
+
<ToolsPanelItem
|
|
33
40
|
label={ __( 'Icon' ) }
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
isShownByDefault
|
|
42
|
+
hasValue={ () => icon !== 'handle' }
|
|
43
|
+
onDeselect={ () => setAttributes( { icon: 'handle' } ) }
|
|
37
44
|
>
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
value
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
<ToggleGroupControl
|
|
46
|
+
__next40pxDefaultSize
|
|
47
|
+
__nextHasNoMarginBottom
|
|
48
|
+
className="wp-block-navigation__overlay-menu-icon-toggle-group"
|
|
49
|
+
label={ __( 'Icon' ) }
|
|
50
|
+
value={ icon }
|
|
51
|
+
onChange={ ( value ) => setAttributes( { icon: value } ) }
|
|
52
|
+
isBlock
|
|
53
|
+
>
|
|
54
|
+
<ToggleGroupControlOption
|
|
55
|
+
value="handle"
|
|
56
|
+
aria-label={ __( 'handle' ) }
|
|
57
|
+
label={ <OverlayMenuIcon icon="handle" /> }
|
|
58
|
+
/>
|
|
59
|
+
<ToggleGroupControlOption
|
|
60
|
+
value="menu"
|
|
61
|
+
aria-label={ __( 'menu' ) }
|
|
62
|
+
label={ <OverlayMenuIcon icon="menu" /> }
|
|
63
|
+
/>
|
|
64
|
+
</ToggleGroupControl>
|
|
65
|
+
</ToolsPanelItem>
|
|
49
66
|
</>
|
|
50
67
|
);
|
|
51
68
|
}
|
|
@@ -569,7 +569,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
569
569
|
// Ref - https://github.com/WordPress/gutenberg/pull/65075#discussion_r1746282734
|
|
570
570
|
height: $grid-unit-40 * 2 !important;
|
|
571
571
|
|
|
572
|
-
|
|
572
|
+
grid-column: span 2;
|
|
573
573
|
|
|
574
574
|
&.open {
|
|
575
575
|
box-shadow: inset 0 0 0 $border-width $gray-200;
|
|
@@ -637,7 +637,11 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
637
637
|
margin-left: 24px;
|
|
638
638
|
}
|
|
639
639
|
|
|
640
|
-
.wp-block-
|
|
641
|
-
|
|
642
|
-
margin-bottom:
|
|
640
|
+
.editor-sidebar__panel .wp-block-navigation__submenu-header {
|
|
641
|
+
margin-top: 0;
|
|
642
|
+
margin-bottom: 0;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
.wp-block-navigation__submenu-accessibility-notice {
|
|
646
|
+
grid-column: span 2;
|
|
643
647
|
}
|
|
@@ -310,6 +310,14 @@ button.wp-block-navigation-item__content {
|
|
|
310
310
|
|
|
311
311
|
.wp-block-navigation-submenu__toggle {
|
|
312
312
|
cursor: pointer;
|
|
313
|
+
|
|
314
|
+
// Rotate submenu icon when open.
|
|
315
|
+
&[aria-expanded="true"] {
|
|
316
|
+
+ .wp-block-navigation__submenu-icon > svg,
|
|
317
|
+
> svg {
|
|
318
|
+
transform: rotate(180deg);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
313
321
|
}
|
|
314
322
|
|
|
315
323
|
// When set to open on click, a button element is used.
|
|
@@ -42,6 +42,7 @@ import { useMergeRefs, usePrevious } from '@wordpress/compose';
|
|
|
42
42
|
import { LinkUI } from './link-ui';
|
|
43
43
|
import { updateAttributes } from './update-attributes';
|
|
44
44
|
import { getColors } from '../navigation/edit/utils';
|
|
45
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
45
46
|
|
|
46
47
|
const DEFAULT_BLOCK = { name: 'core/navigation-link' };
|
|
47
48
|
const NESTING_BLOCK_NAMES = [
|
|
@@ -175,8 +176,20 @@ function getMissingText( type ) {
|
|
|
175
176
|
*/
|
|
176
177
|
function Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {
|
|
177
178
|
const { label, url, description, rel } = attributes;
|
|
179
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
178
180
|
return (
|
|
179
|
-
<ToolsPanel
|
|
181
|
+
<ToolsPanel
|
|
182
|
+
label={ __( 'Settings' ) }
|
|
183
|
+
resetAll={ () => {
|
|
184
|
+
setAttributes( {
|
|
185
|
+
label: '',
|
|
186
|
+
url: '',
|
|
187
|
+
description: '',
|
|
188
|
+
rel: '',
|
|
189
|
+
} );
|
|
190
|
+
} }
|
|
191
|
+
dropdownMenuProps={ dropdownMenuProps }
|
|
192
|
+
>
|
|
180
193
|
<ToolsPanelItem
|
|
181
194
|
hasValue={ () => !! label }
|
|
182
195
|
label={ __( 'Text' ) }
|
|
@@ -249,6 +249,10 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
|
|
|
249
249
|
$html .= ' rel="nofollow"';
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
if ( isset( $attributes['title'] ) ) {
|
|
253
|
+
$html .= ' title="' . esc_attr( $attributes['title'] ) . '"';
|
|
254
|
+
}
|
|
255
|
+
|
|
252
256
|
// End appending HTML attributes to anchor tag.
|
|
253
257
|
|
|
254
258
|
// Start anchor tag content.
|
|
@@ -115,12 +115,13 @@ const transforms = {
|
|
|
115
115
|
{
|
|
116
116
|
type: 'block',
|
|
117
117
|
blocks: [ 'core/buttons' ],
|
|
118
|
-
transform: ( { label, url, rel, opensInNewTab } ) => {
|
|
118
|
+
transform: ( { label, url, rel, title, opensInNewTab } ) => {
|
|
119
119
|
return createBlock( 'core/buttons', {}, [
|
|
120
120
|
createBlock( 'core/button', {
|
|
121
121
|
text: label,
|
|
122
122
|
url,
|
|
123
123
|
rel,
|
|
124
|
+
title,
|
|
124
125
|
linkTarget: opensInNewTab ? '_blank' : undefined,
|
|
125
126
|
} ),
|
|
126
127
|
] );
|
|
@@ -19,6 +19,7 @@ import { safeDecodeURI } from '@wordpress/url';
|
|
|
19
19
|
* @property {number} [id] A post or term id.
|
|
20
20
|
* @property {boolean} [opensInNewTab] Sets link target to _blank when true.
|
|
21
21
|
* @property {string} [url] Link href.
|
|
22
|
+
* @property {string} [title] Link title attribute.
|
|
22
23
|
*/
|
|
23
24
|
/**
|
|
24
25
|
* Link Control onChange handler that updates block attributes when a setting is changed.
|
|
@@ -169,6 +169,10 @@ function render_block_core_navigation_submenu( $attributes, $content, $block ) {
|
|
|
169
169
|
$html .= ' rel="nofollow"';
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
if ( isset( $attributes['title'] ) ) {
|
|
173
|
+
$html .= ' title="' . esc_attr( $attributes['title'] ) . '"';
|
|
174
|
+
}
|
|
175
|
+
|
|
172
176
|
$html .= '>';
|
|
173
177
|
// End appending HTML attributes to anchor tag.
|
|
174
178
|
|
package/src/post-author/edit.js
CHANGED
|
@@ -15,15 +15,20 @@ import {
|
|
|
15
15
|
} from '@wordpress/block-editor';
|
|
16
16
|
import {
|
|
17
17
|
ComboboxControl,
|
|
18
|
-
PanelBody,
|
|
19
18
|
SelectControl,
|
|
20
19
|
ToggleControl,
|
|
21
|
-
|
|
20
|
+
__experimentalToolsPanel as ToolsPanel,
|
|
21
|
+
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
22
22
|
} from '@wordpress/components';
|
|
23
23
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
24
24
|
import { __, sprintf } from '@wordpress/i18n';
|
|
25
25
|
import { store as coreStore } from '@wordpress/core-data';
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Internal dependencies
|
|
29
|
+
*/
|
|
30
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
31
|
+
|
|
27
32
|
const minimumUsersForCombobox = 25;
|
|
28
33
|
|
|
29
34
|
const AUTHORS_QUERY = {
|
|
@@ -38,6 +43,8 @@ function PostAuthorEdit( {
|
|
|
38
43
|
setAttributes,
|
|
39
44
|
} ) {
|
|
40
45
|
const isDescendentOfQueryLoop = Number.isFinite( queryId );
|
|
46
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
47
|
+
|
|
41
48
|
const { authorId, authorDetails, authors, supportsAuthor } = useSelect(
|
|
42
49
|
( select ) => {
|
|
43
50
|
const { getEditedEntityRecord, getUser, getUsers, getPostType } =
|
|
@@ -61,8 +68,15 @@ function PostAuthorEdit( {
|
|
|
61
68
|
|
|
62
69
|
const { editEntityRecord } = useDispatch( coreStore );
|
|
63
70
|
|
|
64
|
-
const {
|
|
65
|
-
|
|
71
|
+
const {
|
|
72
|
+
textAlign,
|
|
73
|
+
showAvatar,
|
|
74
|
+
showBio,
|
|
75
|
+
byline,
|
|
76
|
+
isLink,
|
|
77
|
+
linkTarget,
|
|
78
|
+
avatarSize,
|
|
79
|
+
} = attributes;
|
|
66
80
|
const avatarSizes = [];
|
|
67
81
|
const authorName = authorDetails?.name || __( 'Post Author' );
|
|
68
82
|
if ( authorDetails?.avatar_urls ) {
|
|
@@ -114,13 +128,21 @@ function PostAuthorEdit( {
|
|
|
114
128
|
return (
|
|
115
129
|
<>
|
|
116
130
|
<InspectorControls>
|
|
117
|
-
<
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
131
|
+
<ToolsPanel
|
|
132
|
+
label={ __( 'Settings' ) }
|
|
133
|
+
resetAll={ () => {
|
|
134
|
+
setAttributes( {
|
|
135
|
+
avatarSize: 48,
|
|
136
|
+
showAvatar: true,
|
|
137
|
+
isLink: false,
|
|
138
|
+
linkTarget: '_self',
|
|
139
|
+
} );
|
|
140
|
+
} }
|
|
141
|
+
dropdownMenuProps={ dropdownMenuProps }
|
|
142
|
+
>
|
|
143
|
+
{ showAuthorControl && (
|
|
144
|
+
<div style={ { gridColumn: '1 / -1' } }>
|
|
145
|
+
{ ( showCombobox && (
|
|
124
146
|
<ComboboxControl
|
|
125
147
|
__next40pxDefaultSize
|
|
126
148
|
__nextHasNoMarginBottom
|
|
@@ -139,21 +161,42 @@ function PostAuthorEdit( {
|
|
|
139
161
|
options={ authorOptions }
|
|
140
162
|
onChange={ handleSelect }
|
|
141
163
|
/>
|
|
142
|
-
)
|
|
164
|
+
) }
|
|
165
|
+
</div>
|
|
166
|
+
) }
|
|
167
|
+
<ToolsPanelItem
|
|
168
|
+
label={ __( 'Show avatar' ) }
|
|
169
|
+
isShownByDefault
|
|
170
|
+
hasValue={ () => ! showAvatar }
|
|
171
|
+
onDeselect={ () =>
|
|
172
|
+
setAttributes( { showAvatar: true } )
|
|
173
|
+
}
|
|
174
|
+
>
|
|
143
175
|
<ToggleControl
|
|
144
176
|
__nextHasNoMarginBottom
|
|
145
177
|
label={ __( 'Show avatar' ) }
|
|
146
178
|
checked={ showAvatar }
|
|
147
179
|
onChange={ () =>
|
|
148
|
-
setAttributes( {
|
|
180
|
+
setAttributes( {
|
|
181
|
+
showAvatar: ! showAvatar,
|
|
182
|
+
} )
|
|
149
183
|
}
|
|
150
184
|
/>
|
|
151
|
-
|
|
185
|
+
</ToolsPanelItem>
|
|
186
|
+
{ showAvatar && (
|
|
187
|
+
<ToolsPanelItem
|
|
188
|
+
label={ __( 'Avatar size' ) }
|
|
189
|
+
isShownByDefault
|
|
190
|
+
hasValue={ () => avatarSize !== 48 }
|
|
191
|
+
onDeselect={ () =>
|
|
192
|
+
setAttributes( { avatarSize: 48 } )
|
|
193
|
+
}
|
|
194
|
+
>
|
|
152
195
|
<SelectControl
|
|
153
196
|
__next40pxDefaultSize
|
|
154
197
|
__nextHasNoMarginBottom
|
|
155
198
|
label={ __( 'Avatar size' ) }
|
|
156
|
-
value={
|
|
199
|
+
value={ avatarSize }
|
|
157
200
|
options={ avatarSizes }
|
|
158
201
|
onChange={ ( size ) => {
|
|
159
202
|
setAttributes( {
|
|
@@ -161,15 +204,31 @@ function PostAuthorEdit( {
|
|
|
161
204
|
} );
|
|
162
205
|
} }
|
|
163
206
|
/>
|
|
164
|
-
|
|
207
|
+
</ToolsPanelItem>
|
|
208
|
+
) }
|
|
209
|
+
<ToolsPanelItem
|
|
210
|
+
label={ __( 'Show bio' ) }
|
|
211
|
+
isShownByDefault
|
|
212
|
+
hasValue={ () => !! showBio }
|
|
213
|
+
onDeselect={ () =>
|
|
214
|
+
setAttributes( { showBio: undefined } )
|
|
215
|
+
}
|
|
216
|
+
>
|
|
165
217
|
<ToggleControl
|
|
166
218
|
__nextHasNoMarginBottom
|
|
167
219
|
label={ __( 'Show bio' ) }
|
|
168
|
-
checked={ showBio }
|
|
220
|
+
checked={ !! showBio }
|
|
169
221
|
onChange={ () =>
|
|
170
222
|
setAttributes( { showBio: ! showBio } )
|
|
171
223
|
}
|
|
172
224
|
/>
|
|
225
|
+
</ToolsPanelItem>
|
|
226
|
+
<ToolsPanelItem
|
|
227
|
+
label={ __( 'Link author name to author page' ) }
|
|
228
|
+
isShownByDefault
|
|
229
|
+
hasValue={ () => !! isLink }
|
|
230
|
+
onDeselect={ () => setAttributes( { isLink: false } ) }
|
|
231
|
+
>
|
|
173
232
|
<ToggleControl
|
|
174
233
|
__nextHasNoMarginBottom
|
|
175
234
|
label={ __( 'Link author name to author page' ) }
|
|
@@ -178,7 +237,16 @@ function PostAuthorEdit( {
|
|
|
178
237
|
setAttributes( { isLink: ! isLink } )
|
|
179
238
|
}
|
|
180
239
|
/>
|
|
181
|
-
|
|
240
|
+
</ToolsPanelItem>
|
|
241
|
+
{ isLink && (
|
|
242
|
+
<ToolsPanelItem
|
|
243
|
+
label={ __( 'Link target' ) }
|
|
244
|
+
isShownByDefault
|
|
245
|
+
hasValue={ () => linkTarget !== '_self' }
|
|
246
|
+
onDeselect={ () =>
|
|
247
|
+
setAttributes( { linkTarget: '_self' } )
|
|
248
|
+
}
|
|
249
|
+
>
|
|
182
250
|
<ToggleControl
|
|
183
251
|
__nextHasNoMarginBottom
|
|
184
252
|
label={ __( 'Open in new tab' ) }
|
|
@@ -189,9 +257,9 @@ function PostAuthorEdit( {
|
|
|
189
257
|
}
|
|
190
258
|
checked={ linkTarget === '_blank' }
|
|
191
259
|
/>
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
</
|
|
260
|
+
</ToolsPanelItem>
|
|
261
|
+
) }
|
|
262
|
+
</ToolsPanel>
|
|
195
263
|
</InspectorControls>
|
|
196
264
|
|
|
197
265
|
<BlockControls group="block">
|
|
@@ -207,12 +275,8 @@ function PostAuthorEdit( {
|
|
|
207
275
|
{ showAvatar && authorDetails?.avatar_urls && (
|
|
208
276
|
<div className="wp-block-post-author__avatar">
|
|
209
277
|
<img
|
|
210
|
-
width={
|
|
211
|
-
src={
|
|
212
|
-
authorDetails.avatar_urls[
|
|
213
|
-
attributes.avatarSize
|
|
214
|
-
]
|
|
215
|
-
}
|
|
278
|
+
width={ avatarSize }
|
|
279
|
+
src={ authorDetails.avatar_urls[ avatarSize ] }
|
|
216
280
|
alt={ authorDetails.name }
|
|
217
281
|
/>
|
|
218
282
|
</div>
|