@wordpress/block-library 9.10.0 → 9.12.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/README.md +10 -5
- package/build/archives/index.js +6 -0
- package/build/archives/index.js.map +1 -1
- package/build/avatar/hooks.js +2 -3
- package/build/avatar/hooks.js.map +1 -1
- package/build/button/get-updated-link-attributes.js +1 -1
- package/build/button/get-updated-link-attributes.js.map +1 -1
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +1 -1
- package/build/comments/index.js +12 -0
- package/build/comments/index.js.map +1 -1
- package/build/cover/constants.js +8 -0
- package/build/cover/constants.js.map +1 -0
- package/build/cover/deprecated.js +140 -4
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/block-controls.js +1 -1
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/cover-placeholder.js +1 -2
- package/build/cover/edit/cover-placeholder.js.map +1 -1
- package/build/cover/edit/index.js +42 -21
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +40 -2
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +3 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +16 -14
- package/build/cover/save.js.map +1 -1
- package/build/details/index.js +1 -0
- package/build/details/index.js.map +1 -1
- package/build/file/edit.js +2 -3
- package/build/file/edit.js.map +1 -1
- package/build/gallery/constants.js +2 -1
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/edit.js +12 -3
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/utils.js +26 -5
- package/build/gallery/utils.js.map +1 -1
- package/build/html/edit.js +5 -1
- package/build/html/edit.js.map +1 -1
- package/build/html/preview.js +2 -2
- package/build/html/preview.js.map +1 -1
- package/build/image/edit.js +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +144 -78
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +1 -1
- package/build/latest-posts/edit.js +3 -9
- package/build/latest-posts/edit.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +1 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +2 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/paragraph/edit.js +2 -2
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-content/index.js +13 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-template/edit.js +11 -0
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-time-to-read/edit.js +2 -2
- package/build/post-time-to-read/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +2 -2
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +0 -3
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/edit/query-content.js +10 -12
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/index.js +1 -1
- package/build/query/utils.js +32 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-title/edit.js +1 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/search/edit.js +19 -14
- package/build/search/edit.js.map +1 -1
- package/build/separator/transforms.js +12 -0
- package/build/separator/transforms.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/index.js +2 -0
- package/build/spacer/index.js.map +1 -1
- package/build/spacer/transforms.js +27 -0
- package/build/spacer/transforms.js.map +1 -0
- package/build/table/edit.js +0 -1
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -7
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +2 -5
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +0 -3
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +1 -3
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/index.js +6 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/avatar/hooks.js +2 -3
- package/build-module/avatar/hooks.js.map +1 -1
- package/build-module/button/get-updated-link-attributes.js +1 -1
- package/build-module/button/get-updated-link-attributes.js.map +1 -1
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/comments/index.js +12 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/cover/constants.js +2 -0
- package/build-module/cover/constants.js.map +1 -0
- package/build-module/cover/deprecated.js +140 -4
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +1 -1
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/cover-placeholder.js +1 -2
- package/build-module/cover/edit/cover-placeholder.js.map +1 -1
- package/build-module/cover/edit/index.js +42 -21
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +41 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +3 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +16 -14
- package/build-module/cover/save.js.map +1 -1
- package/build-module/details/index.js +1 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/file/edit.js +2 -3
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/constants.js +1 -0
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/edit.js +15 -6
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/utils.js +27 -6
- package/build-module/gallery/utils.js.map +1 -1
- package/build-module/html/edit.js +6 -2
- package/build-module/html/edit.js.map +1 -1
- package/build-module/html/preview.js +2 -2
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +149 -83
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +1 -1
- package/build-module/latest-posts/edit.js +3 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -3
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/paragraph/edit.js +2 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-content/index.js +13 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-template/edit.js +11 -0
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-time-to-read/edit.js +2 -2
- package/build-module/post-time-to-read/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +2 -2
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +2 -2
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +0 -3
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/edit/query-content.js +10 -12
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/index.js +1 -1
- package/build-module/query/utils.js +29 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-title/edit.js +2 -2
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/search/edit.js +20 -15
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/transforms.js +12 -0
- package/build-module/separator/transforms.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/index.js +2 -0
- package/build-module/spacer/index.js.map +1 -1
- package/build-module/spacer/transforms.js +20 -0
- package/build-module/spacer/transforms.js.map +1 -0
- package/build-module/table/edit.js +0 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +2 -7
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +2 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +0 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +2 -4
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/editor-rtl.css +5 -0
- package/build-style/archives/editor.css +5 -0
- package/build-style/button/style-rtl.css +3 -0
- package/build-style/button/style.css +3 -0
- package/build-style/comments/editor-rtl.css +4 -0
- package/build-style/comments/editor.css +4 -0
- package/build-style/comments/style-rtl.css +4 -0
- package/build-style/comments/style.css +4 -0
- package/build-style/cover/editor-rtl.css +3 -5
- package/build-style/cover/editor.css +3 -5
- package/build-style/cover/style-rtl.css +19 -10
- package/build-style/cover/style.css +19 -10
- package/build-style/editor-rtl.css +17 -12
- package/build-style/editor.css +17 -12
- package/build-style/image/editor-rtl.css +4 -0
- package/build-style/image/editor.css +4 -0
- package/build-style/latest-posts/editor-rtl.css +0 -7
- package/build-style/latest-posts/editor.css +0 -7
- package/build-style/media-text/style-rtl.css +1 -1
- package/build-style/media-text/style.css +1 -1
- package/build-style/navigation/editor-rtl.css +1 -0
- package/build-style/navigation/editor.css +1 -0
- package/build-style/style-rtl.css +27 -11
- package/build-style/style.css +27 -11
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/package.json +41 -40
- package/src/archives/block.json +6 -0
- package/src/archives/editor.scss +8 -0
- package/src/avatar/hooks.js +2 -3
- package/src/avatar/index.php +4 -5
- package/src/button/get-updated-link-attributes.js +1 -1
- package/src/button/index.js +1 -1
- package/src/button/style.scss +3 -0
- package/src/button/test/get-updated-link-attributes.js +15 -0
- package/src/comment-author-avatar/index.php +1 -1
- package/src/comments/block.json +12 -0
- package/src/comments/style.scss +4 -1
- package/src/cover/block.json +3 -0
- package/src/cover/constants.js +1 -0
- package/src/cover/deprecated.js +182 -4
- package/src/cover/edit/block-controls.js +1 -1
- package/src/cover/edit/cover-placeholder.js +0 -3
- package/src/cover/edit/index.js +57 -24
- package/src/cover/edit/inspector-controls.js +46 -1
- package/src/cover/editor.scss +4 -5
- package/src/cover/save.js +29 -20
- package/src/cover/style.scss +40 -10
- package/src/cover/test/__snapshots__/edit.native.js.snap +9 -9
- package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
- package/src/cover/test/edit.js +1 -3
- package/src/cover/test/edit.native.js +4 -4
- package/src/cover/test/transforms.native.js +4 -4
- package/src/details/block.json +1 -0
- package/src/file/edit.js +2 -3
- package/src/gallery/constants.js +1 -0
- package/src/gallery/edit.js +26 -3
- package/src/gallery/utils.js +23 -2
- package/src/html/edit.js +7 -1
- package/src/html/preview.js +3 -2
- package/src/image/block.json +1 -1
- package/src/image/edit.js +1 -1
- package/src/image/editor.scss +4 -0
- package/src/image/image.js +200 -109
- package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/latest-posts/edit.js +3 -8
- package/src/latest-posts/editor.scss +0 -11
- package/src/latest-posts/index.php +1 -1
- package/src/media-text/style.scss +1 -1
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/navigation/edit/menu-inspector-controls.js +2 -2
- package/src/navigation/edit/navigation-menu-selector.js +2 -2
- package/src/navigation/editor.scss +1 -0
- package/src/navigation/index.php +1 -1
- package/src/paragraph/edit.js +2 -2
- package/src/post-content/block.json +14 -1
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-template/block.json +2 -1
- package/src/post-template/edit.js +19 -0
- package/src/post-time-to-read/edit.js +2 -2
- package/src/post-time-to-read/index.php +1 -1
- package/src/query/block.json +1 -1
- package/src/query/edit/inspector-controls/index.js +2 -2
- package/src/query/edit/inspector-controls/order-control.js +2 -2
- package/src/query/edit/pattern-selection-modal.js +0 -3
- package/src/query/edit/query-content.js +9 -17
- package/src/query/test/utils.js +59 -1
- package/src/query/utils.js +29 -0
- package/src/query-title/edit.js +2 -2
- package/src/rss/index.php +1 -1
- package/src/search/edit.js +28 -25
- package/src/search/index.php +2 -2
- package/src/separator/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/separator/test/transforms.native.js +1 -1
- package/src/separator/transforms.js +11 -0
- package/src/social-links/edit.js +0 -1
- package/src/spacer/index.js +2 -0
- package/src/spacer/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/spacer/test/transforms.native.js +1 -1
- package/src/spacer/transforms.js +20 -0
- package/src/table/edit.js +0 -1
- package/src/table-of-contents/edit.js +2 -6
- package/src/template-part/edit/index.js +2 -5
- package/src/template-part/edit/selection-modal.js +0 -3
- package/src/video/edit.js +1 -1
- package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/video/tracks-editor.js +2 -4
- package/tsconfig.tsbuildinfo +1 -1
- /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","InspectorControls","store","blockEditorStore","PanelBody","__experimentalHStack","HStack","__experimentalHeading","Heading","Spinner","useSelect","useDispatch","__","sprintf","NavigationMenuSelector","unlock","DeletedNavigationWarning","useNavigationMenu","LeafMoreMenu","updateAttributes","LinkUI","jsx","_jsx","jsxs","_jsxs","actionLabel","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","link","attributes","onClose","onChange","updatedValue","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","select","getBlockCount","navigationMenu","isNotice","description","title","className","children","rootClientId","isExpanded","showAppender","blockSettingsMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","group","level"],"sources":["@wordpress/block-library/src/navigation/edit/menu-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport useNavigationMenu from '../use-navigation-menu';\nimport LeafMoreMenu from './leaf-more-menu';\nimport { updateAttributes } from '../../navigation-link/update-attributes';\nimport { LinkUI } from '../../navigation-link/link-ui';\n\n/* translators: %s: The name of a menu. */\nconst actionLabel = __( \"Switch to '%s'\" );\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\n\nfunction AdditionalBlockContent( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(\n\t\tinsertedBlock?.name\n\t);\n\tconst blockWasJustInserted = insertedBlock?.clientId === block.clientId;\n\tconst showLinkControls = supportsLinkControls && blockWasJustInserted;\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\tconst setInsertedBlockAttributes =\n\t\t( _insertedBlockClientId ) => ( _updatedAttributes ) => {\n\t\t\tif ( ! _insertedBlockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( _insertedBlockClientId, _updatedAttributes );\n\t\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonClose={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\tupdateAttributes(\n\t\t\t\t\tupdatedValue,\n\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t);\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonCancel={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst MainContent = ( {\n\tclientId,\n\tcurrentMenuId,\n\tisLoading,\n\tisNavigationMenuMissing,\n\tonCreateNew,\n} ) => {\n\tconst hasChildren = useSelect(\n\t\t( select ) => {\n\t\t\treturn !! select( blockEditorStore ).getBlockCount( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { navigationMenu } = useNavigationMenu( currentMenuId );\n\n\tif ( currentMenuId && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<DeletedNavigationWarning onCreateNew={ onCreateNew } isNotice />\n\t\t);\n\t}\n\n\tif ( isLoading ) {\n\t\treturn <Spinner />;\n\t}\n\n\tconst description = navigationMenu\n\t\t? sprintf(\n\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t__( 'Structure for Navigation Menu: %s' ),\n\t\t\t\tnavigationMenu?.title || __( 'Untitled menu' )\n\t\t )\n\t\t: __(\n\t\t\t\t'You have not yet created any menus. Displaying a list of your Pages'\n\t\t );\n\n\treturn (\n\t\t<div className=\"wp-block-navigation__menu-inspector-controls\">\n\t\t\t{ ! hasChildren && (\n\t\t\t\t<p className=\"wp-block-navigation__menu-inspector-controls__empty-message\">\n\t\t\t\t\t{ __( 'This Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t<PrivateListView\n\t\t\t\trootClientId={ clientId }\n\t\t\t\tisExpanded\n\t\t\t\tdescription={ description }\n\t\t\t\tshowAppender\n\t\t\t\tblockSettingsMenu={ LeafMoreMenu }\n\t\t\t\tadditionalBlockContent={ AdditionalBlockContent }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst MenuInspectorControls = ( props ) => {\n\tconst {\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcreateNavigationMenuIsError,\n\t\tcurrentMenuId = null,\n\t\tonCreateNew,\n\t\tonSelectClassicMenu,\n\t\tonSelectNavigationMenu,\n\t\tisManageMenusButtonDisabled,\n\t\tblockEditingMode,\n\t} = props;\n\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody title={ null }>\n\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\t\tisManageMenusButtonDisabled\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</HStack>\n\t\t\t\t<MainContent { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","InspectorControls","store","blockEditorStore","PanelBody","__experimentalHStack","HStack","__experimentalHeading","Heading","Spinner","useSelect","useDispatch","__","sprintf","NavigationMenuSelector","unlock","DeletedNavigationWarning","useNavigationMenu","LeafMoreMenu","updateAttributes","LinkUI","jsx","_jsx","jsxs","_jsxs","actionLabel","BLOCKS_WITH_LINK_UI_SUPPORT","PrivateListView","AdditionalBlockContent","block","insertedBlock","setInsertedBlock","updateBlockAttributes","supportsLinkControls","includes","name","blockWasJustInserted","clientId","showLinkControls","setInsertedBlockAttributes","_insertedBlockClientId","_updatedAttributes","link","attributes","onClose","onChange","updatedValue","onCancel","MainContent","currentMenuId","isLoading","isNavigationMenuMissing","onCreateNew","hasChildren","select","getBlockCount","navigationMenu","isNotice","description","title","className","children","rootClientId","isExpanded","showAppender","blockSettingsMenu","additionalBlockContent","MenuInspectorControls","props","createNavigationMenuIsSuccess","createNavigationMenuIsError","onSelectClassicMenu","onSelectNavigationMenu","isManageMenusButtonDisabled","blockEditingMode","group","level"],"sources":["@wordpress/block-library/src/navigation/edit/menu-inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport { unlock } from '../../lock-unlock';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport useNavigationMenu from '../use-navigation-menu';\nimport LeafMoreMenu from './leaf-more-menu';\nimport { updateAttributes } from '../../navigation-link/update-attributes';\nimport { LinkUI } from '../../navigation-link/link-ui';\n\nconst actionLabel =\n\t/* translators: %s: The name of a menu. */ __( \"Switch to '%s'\" );\nconst BLOCKS_WITH_LINK_UI_SUPPORT = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\n\nfunction AdditionalBlockContent( { block, insertedBlock, setInsertedBlock } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes(\n\t\tinsertedBlock?.name\n\t);\n\tconst blockWasJustInserted = insertedBlock?.clientId === block.clientId;\n\tconst showLinkControls = supportsLinkControls && blockWasJustInserted;\n\n\tif ( ! showLinkControls ) {\n\t\treturn null;\n\t}\n\n\tconst setInsertedBlockAttributes =\n\t\t( _insertedBlockClientId ) => ( _updatedAttributes ) => {\n\t\t\tif ( ! _insertedBlockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( _insertedBlockClientId, _updatedAttributes );\n\t\t};\n\n\treturn (\n\t\t<LinkUI\n\t\t\tclientId={ insertedBlock?.clientId }\n\t\t\tlink={ insertedBlock?.attributes }\n\t\t\tonClose={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\tupdateAttributes(\n\t\t\t\t\tupdatedValue,\n\t\t\t\t\tsetInsertedBlockAttributes( insertedBlock?.clientId ),\n\t\t\t\t\tinsertedBlock?.attributes\n\t\t\t\t);\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t\tonCancel={ () => {\n\t\t\t\tsetInsertedBlock( null );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst MainContent = ( {\n\tclientId,\n\tcurrentMenuId,\n\tisLoading,\n\tisNavigationMenuMissing,\n\tonCreateNew,\n} ) => {\n\tconst hasChildren = useSelect(\n\t\t( select ) => {\n\t\t\treturn !! select( blockEditorStore ).getBlockCount( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { navigationMenu } = useNavigationMenu( currentMenuId );\n\n\tif ( currentMenuId && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<DeletedNavigationWarning onCreateNew={ onCreateNew } isNotice />\n\t\t);\n\t}\n\n\tif ( isLoading ) {\n\t\treturn <Spinner />;\n\t}\n\n\tconst description = navigationMenu\n\t\t? sprintf(\n\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t__( 'Structure for Navigation Menu: %s' ),\n\t\t\t\tnavigationMenu?.title || __( 'Untitled menu' )\n\t\t )\n\t\t: __(\n\t\t\t\t'You have not yet created any menus. Displaying a list of your Pages'\n\t\t );\n\n\treturn (\n\t\t<div className=\"wp-block-navigation__menu-inspector-controls\">\n\t\t\t{ ! hasChildren && (\n\t\t\t\t<p className=\"wp-block-navigation__menu-inspector-controls__empty-message\">\n\t\t\t\t\t{ __( 'This Navigation Menu is empty.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t<PrivateListView\n\t\t\t\trootClientId={ clientId }\n\t\t\t\tisExpanded\n\t\t\t\tdescription={ description }\n\t\t\t\tshowAppender\n\t\t\t\tblockSettingsMenu={ LeafMoreMenu }\n\t\t\t\tadditionalBlockContent={ AdditionalBlockContent }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nconst MenuInspectorControls = ( props ) => {\n\tconst {\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcreateNavigationMenuIsError,\n\t\tcurrentMenuId = null,\n\t\tonCreateNew,\n\t\tonSelectClassicMenu,\n\t\tonSelectNavigationMenu,\n\t\tisManageMenusButtonDisabled,\n\t\tblockEditingMode,\n\t} = props;\n\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody title={ null }>\n\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t<Heading\n\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t\tisManageMenusButtonDisabled={\n\t\t\t\t\t\t\t\tisManageMenusButtonDisabled\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</HStack>\n\t\t\t\t<MainContent { ...props } />\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,14 +16,14 @@ import useNavigationEntities from '../use-navigation-entities';
|
|
|
16
16
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
function buildMenuLabel(title, id, status) {
|
|
18
18
|
if (!title) {
|
|
19
|
-
/* translators: %s
|
|
19
|
+
/* translators: %s: the index of the menu in the list of menus. */
|
|
20
20
|
return sprintf(__('(no title %s)'), id);
|
|
21
21
|
}
|
|
22
22
|
if (status === 'publish') {
|
|
23
23
|
return decodeEntities(title);
|
|
24
24
|
}
|
|
25
25
|
return sprintf(
|
|
26
|
-
// translators:
|
|
26
|
+
// translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).
|
|
27
27
|
__('%1$s (%2$s)'), decodeEntities(title), status);
|
|
28
28
|
}
|
|
29
29
|
function NavigationMenuSelector({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","icon","toggleProps","size","children","onClose","onSelect","menuId","choices","menu","name","onClick"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\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{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\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{ __( 'Create new Menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","icon","toggleProps","size","children","onClose","onSelect","menuId","choices","menu","name","onClick"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s: the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\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{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\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{ __( 'Create new Menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,7 +55,7 @@ function DropCapControl({
|
|
|
55
55
|
} else if (dropCap) {
|
|
56
56
|
helpText = __('Showing large initial letter.');
|
|
57
57
|
} else {
|
|
58
|
-
helpText = __('
|
|
58
|
+
helpText = __('Show a large initial letter.');
|
|
59
59
|
}
|
|
60
60
|
return /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
61
61
|
hasValue: () => !!dropCap,
|
|
@@ -75,7 +75,7 @@ function DropCapControl({
|
|
|
75
75
|
dropCap: !dropCap
|
|
76
76
|
}),
|
|
77
77
|
help: helpText,
|
|
78
|
-
disabled: hasDropCapDisabled(align)
|
|
78
|
+
disabled: hasDropCapDisabled(align)
|
|
79
79
|
})
|
|
80
80
|
});
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","formatLtr","useOnEnter","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","isDropCapFeatureEnabled","dropCap","helpText","hasValue","label","onDeselect","resetAllFilter","panelId","children","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","content","placeholder","blockProps","ref","className","style","blockEditingMode","group","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { formatLtr } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( '
|
|
1
|
+
{"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","formatLtr","useOnEnter","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","isDropCapFeatureEnabled","dropCap","helpText","hasValue","label","onDeselect","resetAllFilter","panelId","children","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","content","placeholder","blockProps","ref","className","style","blockEditingMode","group","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { formatLtr } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Show a large initial letter.' );\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => !! dropCap }\n\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\tonDeselect={ () => setAttributes( { dropCap: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\tchecked={ !! dropCap }\n\t\t\t\tonChange={ () => setAttributes( { dropCap: ! dropCap } ) }\n\t\t\t\thelp={ helpText }\n\t\t\t\tdisabled={ hasDropCapDisabled( align ) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: clsx( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t\t: dropCap,\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<ParagraphRTLControl\n\t\t\t\t\t\tdirection={ direction }\n\t\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<DropCapControl\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tRichText.isEmpty( content )\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Block: Paragraph' )\n\t\t\t\t}\n\t\t\t\tdata-empty={ RichText.isEmpty( content ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\tdata-custom-placeholder={ placeholder ? true : undefined }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,6 +36,7 @@ const metadata = {
|
|
|
36
36
|
spacing: {
|
|
37
37
|
blockGap: true,
|
|
38
38
|
padding: true,
|
|
39
|
+
margin: true,
|
|
39
40
|
__experimentalDefaultControls: {
|
|
40
41
|
margin: false,
|
|
41
42
|
padding: false
|
|
@@ -61,6 +62,18 @@ const metadata = {
|
|
|
61
62
|
__experimentalDefaultControls: {
|
|
62
63
|
fontSize: true
|
|
63
64
|
}
|
|
65
|
+
},
|
|
66
|
+
__experimentalBorder: {
|
|
67
|
+
radius: true,
|
|
68
|
+
color: true,
|
|
69
|
+
width: true,
|
|
70
|
+
style: true,
|
|
71
|
+
__experimentalDefaultControls: {
|
|
72
|
+
radius: true,
|
|
73
|
+
color: true,
|
|
74
|
+
width: true,
|
|
75
|
+
style: true
|
|
76
|
+
}
|
|
64
77
|
}
|
|
65
78
|
},
|
|
66
79
|
style: "wp-block-post-content",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["postContent","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","usesContext","example","viewportWidth","supports","align","html","layout","background","backgroundImage","backgroundSize","__experimentalDefaultControls","dimensions","minHeight","spacing","blockGap","padding","margin","color","gradients","link","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","edit","settings","init"],"sources":["@wordpress/block-library/src/post-content/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,IAAI,QAAQ,kBAAkB;;AAEtD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,UAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAN,6BAAA;QAAAM,MAAA;QAAAD,OAAA;MAAA;IAAA;IAAAE,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAT,6BAAA;QAAAH,UAAA;QAAAa,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAd,KAAA;MAAAe,KAAA;MAAAC,KAAA;MAAAvB,6BAAA;QAAAqB,MAAA;QAAAd,KAAA;QAAAe,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAExC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMyC,QAAQ,GAAG;EACvB9C,IAAI;EACJ6C;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE4C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -161,7 +161,7 @@ export default function PostFeaturedImageEdit({
|
|
|
161
161
|
children: [/*#__PURE__*/_jsx(ToggleControl, {
|
|
162
162
|
__nextHasNoMarginBottom: true,
|
|
163
163
|
label: postType?.labels.singular_name ? sprintf(
|
|
164
|
-
// translators: %s: Name of the post type e.g: "
|
|
164
|
+
// translators: %s: Name of the post type e.g: "post".
|
|
165
165
|
__('Link to %s'), postType.labels.singular_name) : __('Link to post'),
|
|
166
166
|
onChange: () => setAttributes({
|
|
167
167
|
isLink: !isLink
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","Spinner","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","select","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","value","url","createErrorNotice","onUploadError","message","type","controls","group","title","__nextHasNoMarginBottom","label","labels","singular_name","onChange","checked","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\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\t<TextControl\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={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ () => setFeaturedImage( 0 ) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","Spinner","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","select","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","value","url","createErrorNotice","onUploadError","message","type","controls","group","title","__nextHasNoMarginBottom","label","labels","singular_name","onChange","checked","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\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\t<TextControl\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={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ () => setFeaturedImage( 0 ) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -115,6 +115,12 @@ export default function PostTemplateEdit({
|
|
|
115
115
|
_fields: ['id'],
|
|
116
116
|
slug: templateSlug.replace('category-', '')
|
|
117
117
|
});
|
|
118
|
+
const templateTag = inherit && templateSlug?.startsWith('tag-') && getEntityRecords('taxonomy', 'post_tag', {
|
|
119
|
+
context: 'view',
|
|
120
|
+
per_page: 1,
|
|
121
|
+
_fields: ['id'],
|
|
122
|
+
slug: templateSlug.replace('tag-', '')
|
|
123
|
+
});
|
|
118
124
|
const query = {
|
|
119
125
|
offset: offset || 0,
|
|
120
126
|
order,
|
|
@@ -175,6 +181,11 @@ export default function PostTemplateEdit({
|
|
|
175
181
|
postType = query.postType;
|
|
176
182
|
} else if (templateCategory) {
|
|
177
183
|
query.categories = templateCategory[0]?.id;
|
|
184
|
+
} else if (templateTag) {
|
|
185
|
+
query.tags = templateTag[0]?.id;
|
|
186
|
+
} else if (templateSlug?.startsWith('taxonomy-post_format')) {
|
|
187
|
+
// Get the post format slug from the template slug by removing the prefix.
|
|
188
|
+
query.format = templateSlug.replace('taxonomy-post_format-post-format-', '');
|
|
178
189
|
}
|
|
179
190
|
}
|
|
180
191
|
// When we preview Query Loop blocks we should prefer the current
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","memo","useMemo","useState","useSelect","__","_x","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","PostTemplateInnerBlocks","classList","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","format","restQueryArgs","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","templateCategory","startsWith","per_page","_fields","slug","replace","orderby","taxonomies","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","map","post","_post$class_list","postId","class_list","blockProps","children","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","controls","blockContext","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: clsx( 'wp-block-post', classList ) },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: clsx( 'wp-block-post', classList ),\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\tformat,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\tif ( format?.length ) {\n\t\t\t\tquery.format = format;\n\t\t\t}\n\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tformat,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t\tclassList: post.class_list ?? '',\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Post template block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Post template block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks\n\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","memo","useMemo","useState","useSelect","__","_x","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","PostTemplateInnerBlocks","classList","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","format","restQueryArgs","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","templateCategory","startsWith","per_page","_fields","slug","replace","templateTag","orderby","taxonomies","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","tags","usedPostType","blockContexts","map","post","_post$class_list","postId","class_list","blockProps","children","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","controls","blockContext","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: clsx( 'wp-block-post', classList ) },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: clsx( 'wp-block-post', classList ),\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\tformat,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst templateTag =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'tag-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'post_tag', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'tag-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\tif ( format?.length ) {\n\t\t\t\tquery.format = format;\n\t\t\t}\n\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t} else if ( templateTag ) {\n\t\t\t\t\tquery.tags = templateTag[ 0 ]?.id;\n\t\t\t\t} else if (\n\t\t\t\t\ttemplateSlug?.startsWith( 'taxonomy-post_format' )\n\t\t\t\t) {\n\t\t\t\t\t// Get the post format slug from the template slug by removing the prefix.\n\t\t\t\t\tquery.format = templateSlug.replace(\n\t\t\t\t\t\t'taxonomy-post_format-post-format-',\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\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tformat,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t\tclassList: post.class_list ?? '',\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Post template block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Post template block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks\n\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ const metadata = {
|
|
|
16
16
|
parent: ["core/query"],
|
|
17
17
|
description: "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
|
|
18
18
|
textdomain: "default",
|
|
19
|
-
usesContext: ["queryId", "query", "displayLayout", "templateSlug", "previewPostType", "enhancedPagination"],
|
|
19
|
+
usesContext: ["queryId", "query", "displayLayout", "templateSlug", "previewPostType", "enhancedPagination", "postType"],
|
|
20
20
|
supports: {
|
|
21
21
|
reusable: false,
|
|
22
22
|
html: false,
|
|
@@ -59,8 +59,8 @@ function PostTimeToReadEdit({
|
|
|
59
59
|
*/
|
|
60
60
|
const wordCountType = _x('words', 'Word count type. Do not translate!');
|
|
61
61
|
const minutesToRead = Math.max(1, Math.round(wordCount(content || '', wordCountType) / AVERAGE_READING_RATE));
|
|
62
|
-
return sprintf(/* translators: %
|
|
63
|
-
_n('%
|
|
62
|
+
return sprintf(/* translators: %s: the number of minutes to read the post. */
|
|
63
|
+
_n('%s minute', '%s minutes', minutesToRead), minutesToRead);
|
|
64
64
|
}, [contentStructure, blocks]);
|
|
65
65
|
const blockProps = useBlockProps({
|
|
66
66
|
className: clsx({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","_x","_n","sprintf","useMemo","AlignmentControl","BlockControls","useBlockProps","__unstableSerializeAndClean","useEntityProp","useEntityBlockEditor","count","wordCount","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AVERAGE_READING_RATE","PostTimeToReadEdit","attributes","setAttributes","context","textAlign","postId","postType","contentStructure","blocks","id","minutesToReadString","content","Function","wordCountType","minutesToRead","Math","max","round","blockProps","className","children","group","value","onChange","nextAlign"],"sources":["@wordpress/block-library/src/post-time-to-read/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x, _n, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\nimport { count as wordCount } from '@wordpress/wordcount';\n\n/**\n * Average reading rate - based on average taken from\n * https://irisreading.com/average-reading-speed-in-various-languages/\n * (Characters/minute used for Chinese rather than words).\n */\nconst AVERAGE_READING_RATE = 189;\n\nfunction PostTimeToReadEdit( { attributes, setAttributes, context } ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst [ contentStructure ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', postType, {\n\t\tid: postId,\n\t} );\n\n\tconst minutesToReadString = useMemo( () => {\n\t\t// Replicates the logic found in getEditedPostContent().\n\t\tlet content;\n\t\tif ( contentStructure instanceof Function ) {\n\t\t\tcontent = contentStructure( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\tcontent = __unstableSerializeAndClean( blocks );\n\t\t} else {\n\t\t\tcontent = contentStructure;\n\t\t}\n\n\t\t/*\n\t\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t\t * Do not translate into your own language.\n\t\t */\n\t\tconst wordCountType = _x(\n\t\t\t'words',\n\t\t\t'Word count type. Do not translate!'\n\t\t);\n\n\t\tconst minutesToRead = Math.max(\n\t\t\t1,\n\t\t\tMath.round(\n\t\t\t\twordCount( content || '', wordCountType ) / AVERAGE_READING_RATE\n\t\t\t)\n\t\t);\n\n\t\treturn sprintf(\n\t\t\t/* translators: %
|
|
1
|
+
{"version":3,"names":["clsx","_x","_n","sprintf","useMemo","AlignmentControl","BlockControls","useBlockProps","__unstableSerializeAndClean","useEntityProp","useEntityBlockEditor","count","wordCount","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AVERAGE_READING_RATE","PostTimeToReadEdit","attributes","setAttributes","context","textAlign","postId","postType","contentStructure","blocks","id","minutesToReadString","content","Function","wordCountType","minutesToRead","Math","max","round","blockProps","className","children","group","value","onChange","nextAlign"],"sources":["@wordpress/block-library/src/post-time-to-read/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x, _n, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\nimport { count as wordCount } from '@wordpress/wordcount';\n\n/**\n * Average reading rate - based on average taken from\n * https://irisreading.com/average-reading-speed-in-various-languages/\n * (Characters/minute used for Chinese rather than words).\n */\nconst AVERAGE_READING_RATE = 189;\n\nfunction PostTimeToReadEdit( { attributes, setAttributes, context } ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst [ contentStructure ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', postType, {\n\t\tid: postId,\n\t} );\n\n\tconst minutesToReadString = useMemo( () => {\n\t\t// Replicates the logic found in getEditedPostContent().\n\t\tlet content;\n\t\tif ( contentStructure instanceof Function ) {\n\t\t\tcontent = contentStructure( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\tcontent = __unstableSerializeAndClean( blocks );\n\t\t} else {\n\t\t\tcontent = contentStructure;\n\t\t}\n\n\t\t/*\n\t\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t\t * Do not translate into your own language.\n\t\t */\n\t\tconst wordCountType = _x(\n\t\t\t'words',\n\t\t\t'Word count type. Do not translate!'\n\t\t);\n\n\t\tconst minutesToRead = Math.max(\n\t\t\t1,\n\t\t\tMath.round(\n\t\t\t\twordCount( content || '', wordCountType ) / AVERAGE_READING_RATE\n\t\t\t)\n\t\t);\n\n\t\treturn sprintf(\n\t\t\t/* translators: %s: the number of minutes to read the post. */\n\t\t\t_n( '%s minute', '%s minutes', minutesToRead ),\n\t\t\tminutesToRead\n\t\t);\n\t}, [ contentStructure, blocks ] );\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\treturn (\n\t\t<>\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\t\t\t<div { ...blockProps }>{ minutesToReadString }</div>\n\t\t</>\n\t);\n}\n\nexport default PostTimeToReadEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,QACP,yBAAyB;AAChC,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,aAAa,EAAEC,oBAAoB,QAAQ,sBAAsB;AAC1E,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,oBAAoB,GAAG,GAAG;AAEhC,SAASC,kBAAkBA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAQ,CAAC,EAAG;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAGH,UAAU;EAChC,MAAM;IAAEI,MAAM;IAAEC;EAAS,CAAC,GAAGH,OAAO;EAEpC,MAAM,CAAEI,gBAAgB,CAAE,GAAGlB,aAAa,CACzC,UAAU,EACViB,QAAQ,EACR,SAAS,EACTD,MACD,CAAC;EAED,MAAM,CAAEG,MAAM,CAAE,GAAGlB,oBAAoB,CAAE,UAAU,EAAEgB,QAAQ,EAAE;IAC9DG,EAAE,EAAEJ;EACL,CAAE,CAAC;EAEH,MAAMK,mBAAmB,GAAG1B,OAAO,CAAE,MAAM;IAC1C;IACA,IAAI2B,OAAO;IACX,IAAKJ,gBAAgB,YAAYK,QAAQ,EAAG;MAC3CD,OAAO,GAAGJ,gBAAgB,CAAE;QAAEC;MAAO,CAAE,CAAC;IACzC,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACAG,OAAO,GAAGvB,2BAA2B,CAAEoB,MAAO,CAAC;IAChD,CAAC,MAAM;MACNG,OAAO,GAAGJ,gBAAgB;IAC3B;;IAEA;AACF;AACA;AACA;AACA;IACE,MAAMM,aAAa,GAAGhC,EAAE,CACvB,OAAO,EACP,oCACD,CAAC;IAED,MAAMiC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC7B,CAAC,EACDD,IAAI,CAACE,KAAK,CACTzB,SAAS,CAAEmB,OAAO,IAAI,EAAE,EAAEE,aAAc,CAAC,GAAGd,oBAC7C,CACD,CAAC;IAED,OAAOhB,OAAO,CACb;IACAD,EAAE,CAAE,WAAW,EAAE,YAAY,EAAEgC,aAAc,CAAC,EAC9CA,aACD,CAAC;EACF,CAAC,EAAE,CAAEP,gBAAgB,EAAEC,MAAM,CAAG,CAAC;EAEjC,MAAMU,UAAU,GAAG/B,aAAa,CAAE;IACjCgC,SAAS,EAAEvC,IAAI,CAAE;MAChB,CAAE,kBAAmBwB,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,oBACCN,KAAA,CAAAF,SAAA;IAAAwB,QAAA,gBACC1B,IAAA,CAACR,aAAa;MAACmC,KAAK,EAAC,OAAO;MAAAD,QAAA,eAC3B1B,IAAA,CAACT,gBAAgB;QAChBqC,KAAK,EAAGlB,SAAW;QACnBmB,QAAQ,EAAKC,SAAS,IAAM;UAC3BtB,aAAa,CAAE;YAAEE,SAAS,EAAEoB;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH;IAAC,CACY,CAAC,eAChB9B,IAAA;MAAA,GAAUwB,UAAU;MAAAE,QAAA,EAAKV;IAAmB,CAAO,CAAC;EAAA,CACnD,CAAC;AAEL;AAEA,eAAeV,kBAAkB","ignoreList":[]}
|
|
@@ -34,7 +34,7 @@ export default function QueryInspectorControls(props) {
|
|
|
34
34
|
attributes,
|
|
35
35
|
setQuery,
|
|
36
36
|
setDisplayLayout,
|
|
37
|
-
|
|
37
|
+
isSingular
|
|
38
38
|
} = props;
|
|
39
39
|
const {
|
|
40
40
|
query,
|
|
@@ -103,7 +103,7 @@ export default function QueryInspectorControls(props) {
|
|
|
103
103
|
onChangeDebounced();
|
|
104
104
|
return onChangeDebounced.cancel;
|
|
105
105
|
}, [querySearch, onChangeDebounced]);
|
|
106
|
-
const showInheritControl =
|
|
106
|
+
const showInheritControl = !isSingular && isControlAllowed(allowedControls, 'inherit');
|
|
107
107
|
const showPostTypeControl = !inherit && isControlAllowed(allowedControls, 'postType');
|
|
108
108
|
const postTypeControlLabel = __('Post type');
|
|
109
109
|
const postTypeControlHelp = __('Select the type of content to display: posts, pages, or custom post types.');
|