@wordpress/block-library 9.6.0 → 9.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/audio/edit.js +2 -1
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +3 -5
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/categories/index.js +1 -0
- package/build/categories/index.js.map +1 -1
- package/build/comment-edit-link/index.js +13 -2
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +13 -2
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comments/edit/comments-legacy.js +4 -1
- package/build/comments/edit/comments-legacy.js.map +1 -1
- package/build/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +4 -12
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/index.js +3 -1
- package/build/details/index.js.map +1 -1
- package/build/details/transforms.js +24 -0
- package/build/details/transforms.js.map +1 -0
- package/build/embed/embed-placeholder.js +8 -2
- package/build/embed/embed-placeholder.js.map +1 -1
- package/build/file/edit.js +12 -1
- package/build/file/edit.js.map +1 -1
- package/build/freeform/edit.js +4 -4
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/modal.js +12 -3
- package/build/freeform/modal.js.map +1 -1
- package/build/home-link/edit.js +3 -9
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +44 -34
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +22 -10
- package/build/image/image.js.map +1 -1
- package/build/media-text/deprecated.js +144 -3
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +5 -5
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/image-fill.js +12 -0
- package/build/media-text/image-fill.js.map +1 -0
- package/build/media-text/media-container.js +21 -18
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +0 -7
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +5 -6
- package/build/media-text/save.js.map +1 -1
- package/build/missing/edit.js +6 -3
- package/build/missing/edit.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +4 -1
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build/navigation/edit/index.js +4 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +4 -1
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -1
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +8 -2
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -4
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation-link/link-ui.js +5 -2
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +8 -2
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +7 -2
- package/build/page-list/edit.js.map +1 -1
- package/build/post-comments-form/form.js +4 -1
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +6 -8
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +5 -5
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/query/edit/enhanced-pagination-modal.js +4 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/query-placeholder.js +8 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/site-logo/edit.js +15 -15
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/edit.js +4 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.js +10 -9
- package/build/social-links/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/placeholder.js +8 -2
- package/build/template-part/edit/placeholder.js.map +1 -1
- package/build/utils/hooks.js +10 -10
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit.js +22 -14
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +12 -3
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +2 -1
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +4 -6
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/categories/index.js +1 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +13 -2
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +13 -2
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comments/edit/comments-legacy.js +4 -1
- package/build-module/comments/edit/comments-legacy.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +5 -13
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/index.js +3 -1
- package/build-module/details/index.js.map +1 -1
- package/build-module/details/transforms.js +18 -0
- package/build-module/details/transforms.js.map +1 -0
- package/build-module/embed/embed-placeholder.js +8 -2
- package/build-module/embed/embed-placeholder.js.map +1 -1
- package/build-module/file/edit.js +12 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/freeform/edit.js +4 -4
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/modal.js +12 -3
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/home-link/edit.js +3 -9
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +45 -34
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +23 -11
- package/build-module/image/image.js.map +1 -1
- package/build-module/media-text/deprecated.js +144 -3
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +5 -5
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/image-fill.js +6 -0
- package/build-module/media-text/image-fill.js.map +1 -0
- package/build-module/media-text/media-container.js +21 -17
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +0 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +5 -6
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/missing/edit.js +6 -3
- package/build-module/missing/edit.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +4 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build-module/navigation/edit/index.js +4 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +4 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -1
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +8 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -4
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +7 -4
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +8 -2
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +7 -2
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +4 -1
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +6 -8
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +6 -6
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js +4 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +8 -2
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/site-logo/edit.js +16 -16
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/edit.js +4 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.js +11 -10
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/placeholder.js +8 -2
- package/build-module/template-part/edit/placeholder.js.map +1 -1
- package/build-module/utils/hooks.js +10 -10
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit.js +22 -15
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +12 -3
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -4
- package/build-style/button/editor.css +0 -4
- package/build-style/buttons/editor-rtl.css +0 -3
- package/build-style/buttons/editor.css +0 -3
- package/build-style/comment-edit-link/style-rtl.css +94 -0
- package/build-style/comment-edit-link/style.css +94 -0
- package/build-style/comment-reply-link/style-rtl.css +94 -0
- package/build-style/comment-reply-link/style.css +94 -0
- package/build-style/comments-pagination/editor-rtl.css +2 -2
- package/build-style/comments-pagination/editor.css +2 -2
- package/build-style/cover/editor-rtl.css +0 -6
- package/build-style/cover/editor.css +0 -6
- package/build-style/editor-rtl.css +24 -68
- package/build-style/editor.css +24 -70
- package/build-style/group/editor-rtl.css +0 -1
- package/build-style/group/editor.css +0 -1
- package/build-style/image/editor-rtl.css +0 -1
- package/build-style/image/editor.css +0 -1
- package/build-style/media-text/editor-rtl.css +3 -1
- package/build-style/media-text/editor.css +3 -1
- package/build-style/media-text/style-rtl.css +20 -0
- package/build-style/media-text/style.css +20 -0
- package/build-style/navigation/editor-rtl.css +0 -1
- package/build-style/navigation/editor.css +0 -1
- package/build-style/post-featured-image/style-rtl.css +1 -1
- package/build-style/post-featured-image/style.css +1 -1
- package/build-style/query-pagination/editor-rtl.css +2 -16
- package/build-style/query-pagination/editor.css +2 -18
- package/build-style/query-pagination/style-rtl.css +0 -11
- package/build-style/query-pagination/style.css +0 -13
- package/build-style/site-title/editor-rtl.css +0 -4
- package/build-style/site-title/editor.css +0 -4
- package/build-style/social-links/editor-rtl.css +17 -0
- package/build-style/social-links/editor.css +17 -0
- package/build-style/style-rtl.css +29 -12
- package/build-style/style.css +29 -14
- package/build-style/video/editor-rtl.css +0 -29
- package/build-style/video/editor.css +0 -29
- package/package.json +35 -35
- package/src/audio/edit.js +1 -0
- package/src/block/edit.js +6 -4
- package/src/button/edit.js +1 -1
- package/src/button/editor.scss +0 -5
- package/src/buttons/editor.scss +0 -6
- package/src/categories/block.json +1 -0
- package/src/categories/index.php +13 -2
- package/src/comment-date/index.php +1 -1
- package/src/comment-edit-link/block.json +13 -2
- package/src/comment-edit-link/style.scss +4 -0
- package/src/comment-reply-link/block.json +13 -2
- package/src/comment-reply-link/style.scss +4 -0
- package/src/comments/edit/comments-legacy.js +2 -0
- package/src/comments-pagination/editor.scss +1 -1
- package/src/cover/edit/block-controls.js +2 -0
- package/src/cover/edit/index.js +1 -0
- package/src/cover/edit/inspector-controls.js +3 -15
- package/src/cover/editor.scss +0 -5
- package/src/cover/test/edit.js +30 -26
- package/src/details/index.js +2 -0
- package/src/details/transforms.js +26 -0
- package/src/embed/embed-placeholder.js +12 -2
- package/src/file/edit.js +11 -0
- package/src/form/index.php +2 -2
- package/src/freeform/edit.js +4 -4
- package/src/freeform/editor.scss +1 -1
- package/src/freeform/modal.js +10 -1
- package/src/gallery/editor.scss +1 -1
- package/src/group/editor.scss +0 -1
- package/src/home-link/edit.js +4 -7
- package/src/image/edit.js +42 -30
- package/src/image/editor.scss +0 -3
- package/src/image/image.js +75 -53
- package/src/media-text/deprecated.js +159 -3
- package/src/media-text/edit.js +5 -5
- package/src/media-text/editor.scss +3 -1
- package/src/media-text/image-fill.js +11 -0
- package/src/media-text/index.php +53 -43
- package/src/media-text/media-container.js +25 -25
- package/src/media-text/media-container.native.js +0 -2
- package/src/media-text/save.js +9 -13
- package/src/media-text/style.scss +21 -0
- package/src/media-text/test/image-fill.js +19 -0
- package/src/missing/edit.js +9 -3
- package/src/navigation/edit/deleted-navigation-warning.js +8 -1
- package/src/navigation/edit/index.js +2 -0
- package/src/navigation/edit/navigation-menu-delete-control.js +2 -0
- package/src/navigation/edit/placeholder/index.js +2 -0
- package/src/navigation/edit/responsive-wrapper.js +4 -0
- package/src/navigation/edit/unsaved-inner-blocks.js +4 -4
- package/src/navigation/editor.scss +6 -3
- package/src/navigation-link/link-ui.js +5 -3
- package/src/page-list/convert-to-links-modal.js +8 -1
- package/src/page-list/edit.js +7 -1
- package/src/page-list/index.php +3 -1
- package/src/post-comments-form/form.js +2 -0
- package/src/post-date/index.php +3 -3
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +4 -6
- package/src/post-featured-image/style.scss +1 -1
- package/src/query/edit/enhanced-pagination-modal.js +6 -1
- package/src/query/edit/query-placeholder.js +4 -0
- package/src/query-pagination/editor.scss +1 -21
- package/src/query-pagination/style.scss +0 -15
- package/src/site-logo/edit.js +13 -20
- package/src/site-title/editor.scss +0 -4
- package/src/social-link/edit.js +2 -0
- package/src/social-links/edit.js +17 -10
- package/src/social-links/editor.scss +24 -5
- package/src/style.scss +2 -0
- package/src/tag-cloud/index.php +7 -2
- package/src/template-part/edit/advanced-controls.js +0 -1
- package/src/template-part/edit/index.js +12 -10
- package/src/template-part/edit/placeholder.js +8 -1
- package/src/utils/hooks.js +11 -11
- package/src/video/edit.js +26 -21
- package/src/video/editor.scss +0 -45
- package/src/video/tracks-editor.js +6 -0
- package/src/media-text/test/media-container.js +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dom","require","_components","_i18n","_blockEditor","_element","_coreData","_htmlEntities","_data","_icons","_compose","_lockUnlock","_jsxRuntime","PrivateQuickInserter","QuickInserter","unlock","blockEditorPrivateApis","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","useSelect","select","getBlockRootClientId","blockEditorStore","focusOnMountRef","useFocusOnMount","dialogTitleId","useInstanceId","LinkControl","dialogDescritionId","jsxs","className","role","ref","children","VisuallyHidden","jsx","id","__","Button","icon","chevronLeftSmall","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","label","url","opensInNewTab","link","postType","addingBlock","setAddingBlock","useState","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","useDispatch","coreStore","permissions","useResourcePermissions","name","handleCreate","pageTitle","page","title","status","decodeEntities","rendered","useMemo","stripHTML","LinkUI","onClose","Popover","placement","anchor","shift","__experimentalLinkControl","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","canCreate","createSuggestion","createSuggestionButtonText","searchTerm","format","createInterpolateElement","sprintf","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","exports","forwardRef","blockInserterAriaRole","addBlockButtonRef","useRef","useEffect","current","focus","__experimentalVStack","plus","_default","default"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes & No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ permissions.canCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_dom","require","_components","_i18n","_blockEditor","_element","_coreData","_htmlEntities","_data","_icons","_compose","_lockUnlock","_jsxRuntime","PrivateQuickInserter","QuickInserter","unlock","blockEditorPrivateApis","getSuggestionsQuery","type","kind","subtype","initialSuggestionsSearchOptions","perPage","LinkUIBlockInserter","clientId","onBack","onSelectBlock","rootBlockClientId","useSelect","select","getBlockRootClientId","blockEditorStore","focusOnMountRef","useFocusOnMount","dialogTitleId","useInstanceId","LinkControl","dialogDescritionId","jsxs","className","role","ref","children","VisuallyHidden","jsx","id","__","Button","icon","isRTL","chevronRightSmall","chevronLeftSmall","onClick","e","preventDefault","size","rootClientId","isAppender","prioritizePatterns","selectBlockOnInsert","hasSearch","onSelect","UnforwardedLinkUI","props","label","url","opensInNewTab","link","postType","addingBlock","setAddingBlock","useState","focusAddBlockButton","setFocusAddBlockButton","saveEntityRecord","useDispatch","coreStore","permissions","useResourcePermissions","name","handleCreate","pageTitle","page","title","status","decodeEntities","rendered","useMemo","stripHTML","LinkUI","onClose","Popover","placement","anchor","shift","__experimentalLinkControl","hasTextControl","hasRichPreviews","value","showInitialSuggestions","withCreateSuggestion","canCreate","createSuggestion","createSuggestionButtonText","searchTerm","format","createInterpolateElement","sprintf","mark","noDirectEntry","noURLSuggestion","suggestionsQuery","onChange","onRemove","onCancel","renderControlBottom","length","LinkUITools","exports","forwardRef","blockInserterAriaRole","addBlockButtonRef","useRef","useEffect","current","focus","__experimentalVStack","__next40pxDefaultSize","plus","_default","default"],"sources":["@wordpress/block-library/src/navigation-link/link-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tPopover,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tcreateInterpolateElement,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n} from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { chevronLeftSmall, chevronRightSmall, plus } from '@wordpress/icons';\nimport { useInstanceId, useFocusOnMount } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateQuickInserter: QuickInserter } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Given the Link block's type attribute, return the query params to give to\n * /wp/v2/search.\n *\n * @param {string} type Link block's type attribute.\n * @param {string} kind Link block's entity of kind (post-type|taxonomy)\n * @return {{ type?: string, subtype?: string }} Search query params.\n */\nexport function getSuggestionsQuery( type, kind ) {\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\tcase 'page':\n\t\t\treturn { type: 'post', subtype: type };\n\t\tcase 'category':\n\t\t\treturn { type: 'term', subtype: 'category' };\n\t\tcase 'tag':\n\t\t\treturn { type: 'term', subtype: 'post_tag' };\n\t\tcase 'post_format':\n\t\t\treturn { type: 'post-format' };\n\t\tdefault:\n\t\t\tif ( kind === 'taxonomy' ) {\n\t\t\t\treturn { type: 'term', subtype: type };\n\t\t\t}\n\t\t\tif ( kind === 'post-type' ) {\n\t\t\t\treturn { type: 'post', subtype: type };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// for custom link which has no type\n\t\t\t\t// always show pages as initial suggestions\n\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\tperPage: 20,\n\t\t\t\t},\n\t\t\t};\n\t}\n}\n\nfunction LinkUIBlockInserter( { clientId, onBack, onSelectBlock } ) {\n\tconst { rootBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\trootBlockClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkControl,\n\t\t`link-ui-block-inserter__description`\n\t);\n\n\tif ( ! clientId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"link-ui-block-inserter\"\n\t\t\trole=\"dialog\"\n\t\t\taria-labelledby={ dialogTitleId }\n\t\t\taria-describedby={ dialogDescritionId }\n\t\t\tref={ focusOnMountRef }\n\t\t>\n\t\t\t<VisuallyHidden>\n\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add block' ) }</h2>\n\n\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t{ __( 'Choose a block to add to your Navigation.' ) }\n\t\t\t\t</p>\n\t\t\t</VisuallyHidden>\n\n\t\t\t<Button\n\t\t\t\tclassName=\"link-ui-block-inserter__back\"\n\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonBack();\n\t\t\t\t} }\n\t\t\t\tsize=\"small\"\n\t\t\t>\n\t\t\t\t{ __( 'Back' ) }\n\t\t\t</Button>\n\n\t\t\t<QuickInserter\n\t\t\t\trootClientId={ rootBlockClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ false }\n\t\t\t\tprioritizePatterns={ false }\n\t\t\t\tselectBlockOnInsert\n\t\t\t\thasSearch={ false }\n\t\t\t\tonSelect={ onSelectBlock }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction UnforwardedLinkUI( props, ref ) {\n\tconst { label, url, opensInNewTab, type, kind } = props.link;\n\tconst postType = type || 'page';\n\n\tconst [ addingBlock, setAddingBlock ] = useState( false );\n\tconst [ focusAddBlockButton, setFocusAddBlockButton ] = useState( false );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst permissions = useResourcePermissions( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await saveEntityRecord( 'postType', postType, {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: postType,\n\t\t\t// Make `title` property consistent with that in `fetchLinkSuggestions` where the `rendered` title (containing HTML entities)\n\t\t\t// is also being decoded. By being consistent in both locations we avoid having to branch in the rendering output code.\n\t\t\t// Ideally in the future we will update both APIs to utilise the \"raw\" form of the title which is better suited to edit contexts.\n\t\t\t// e.g.\n\t\t\t// - title.raw = \"Yes & No\"\n\t\t\t// - title.rendered = \"Yes & No\"\n\t\t\t// - decodeEntities( title.rendered ) = \"Yes & No\"\n\t\t\t// See:\n\t\t\t// - https://github.com/WordPress/gutenberg/pull/41063\n\t\t\t// - https://github.com/WordPress/gutenberg/blob/a1e1fdc0e6278457e9f4fc0b31ac6d2095f5450b/packages/core-data/src/fetch/__experimental-fetch-link-suggestions.js#L212-L218\n\t\t\ttitle: decodeEntities( page.title.rendered ),\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/50976#issuecomment-1568226407.\n\tconst link = useMemo(\n\t\t() => ( {\n\t\t\turl,\n\t\t\topensInNewTab,\n\t\t\ttitle: label && stripHTML( label ),\n\t\t} ),\n\t\t[ label, opensInNewTab, url ]\n\t);\n\n\tconst dialogTitleId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__title`\n\t);\n\tconst dialogDescritionId = useInstanceId(\n\t\tLinkUI,\n\t\t`link-ui-link-control__description`\n\t);\n\n\t// Selecting a block should close the popover and also remove the (previously) automatically inserted\n\t// link block so that the newly selected block can be inserted in its place.\n\tconst { onClose: onSelectBlock } = props;\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ ref }\n\t\t\tplacement=\"bottom\"\n\t\t\tonClose={ props.onClose }\n\t\t\tanchor={ props.anchor }\n\t\t\tshift\n\t\t>\n\t\t\t{ ! addingBlock && (\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-labelledby={ dialogTitleId }\n\t\t\t\t\taria-describedby={ dialogDescritionId }\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t<h2 id={ dialogTitleId }>{ __( 'Add link' ) }</h2>\n\n\t\t\t\t\t\t<p id={ dialogDescritionId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Search for and add a link to your Navigation.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\thasTextControl\n\t\t\t\t\t\thasRichPreviews\n\t\t\t\t\t\tvalue={ link }\n\t\t\t\t\t\tshowInitialSuggestions\n\t\t\t\t\t\twithCreateSuggestion={ permissions.canCreate }\n\t\t\t\t\t\tcreateSuggestion={ handleCreate }\n\t\t\t\t\t\tcreateSuggestionButtonText={ ( searchTerm ) => {\n\t\t\t\t\t\t\tlet format;\n\n\t\t\t\t\t\t\tif ( type === 'post' ) {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft post: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t\t\t\t\tformat = __(\n\t\t\t\t\t\t\t\t\t'Create draft page: <mark>%s</mark>'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf( format, searchTerm ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmark: <mark />,\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\tnoDirectEntry={ !! type }\n\t\t\t\t\t\tnoURLSuggestion={ !! type }\n\t\t\t\t\t\tsuggestionsQuery={ getSuggestionsQuery( type, kind ) }\n\t\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\t\tonRemove={ props.onRemove }\n\t\t\t\t\t\tonCancel={ props.onCancel }\n\t\t\t\t\t\trenderControlBottom={ () =>\n\t\t\t\t\t\t\t! link?.url?.length && (\n\t\t\t\t\t\t\t\t<LinkUITools\n\t\t\t\t\t\t\t\t\tfocusAddBlockButton={ focusAddBlockButton }\n\t\t\t\t\t\t\t\t\tsetAddingBlock={ () => {\n\t\t\t\t\t\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t\t\t\t\t\t\tsetFocusAddBlockButton( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ addingBlock && (\n\t\t\t\t<LinkUIBlockInserter\n\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\tonBack={ () => {\n\t\t\t\t\t\tsetAddingBlock( false );\n\t\t\t\t\t\tsetFocusAddBlockButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectBlock={ onSelectBlock }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nexport const LinkUI = forwardRef( UnforwardedLinkUI );\n\nconst LinkUITools = ( { setAddingBlock, focusAddBlockButton } ) => {\n\tconst blockInserterAriaRole = 'listbox';\n\tconst addBlockButtonRef = useRef();\n\n\t// Focus the add block button when the popover is opened.\n\tuseEffect( () => {\n\t\tif ( focusAddBlockButton ) {\n\t\t\taddBlockButtonRef.current?.focus();\n\t\t}\n\t}, [ focusAddBlockButton ] );\n\n\treturn (\n\t\t<VStack className=\"link-ui-tools\">\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\tref={ addBlockButtonRef }\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetAddingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-haspopup={ blockInserterAriaRole }\n\t\t\t>\n\t\t\t\t{ __( 'Add block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n};\n\nexport default LinkUITools;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,11 +31,17 @@ function ConvertToLinksModal({
|
|
|
31
31
|
children: convertDescription
|
|
32
32
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
33
33
|
className: "wp-block-page-list-modal-buttons",
|
|
34
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
34
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
35
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
36
|
+
, {
|
|
37
|
+
__next40pxDefaultSize: false,
|
|
35
38
|
variant: "tertiary",
|
|
36
39
|
onClick: onClose,
|
|
37
40
|
children: (0, _i18n.__)('Cancel')
|
|
38
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
41
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
42
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
43
|
+
, {
|
|
44
|
+
__next40pxDefaultSize: false,
|
|
39
45
|
variant: "primary",
|
|
40
46
|
accessibleWhenDisabled: true,
|
|
41
47
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_compose","_i18n","_jsxRuntime","convertDescription","exports","__","ConvertToLinksModal","onClick","onClose","disabled","jsxs","Modal","onRequestClose","title","className","aria","describedby","useInstanceId","children","jsx","id","Button","variant","accessibleWhenDisabled"],"sources":["@wordpress/block-library/src/page-list/convert-to-links-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\nexport const convertDescription = __(\n\t\"This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically.\"\n);\n\nexport function ConvertToLinksModal( { onClick, onClose, disabled } ) {\n\treturn (\n\t\t<Modal\n\t\t\tonRequestClose={ onClose }\n\t\t\ttitle={ __( 'Edit Page List' ) }\n\t\t\tclassName=\"wp-block-page-list-modal\"\n\t\t\taria={ {\n\t\t\t\tdescribedby: useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t),\n\t\t\t} }\n\t\t>\n\t\t\t<p\n\t\t\t\tid={ useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ convertDescription }\n\t\t\t</p>\n\t\t\t<div className=\"wp-block-page-list-modal-buttons\">\n\t\t\t\t<Button
|
|
1
|
+
{"version":3,"names":["_components","require","_compose","_i18n","_jsxRuntime","convertDescription","exports","__","ConvertToLinksModal","onClick","onClose","disabled","jsxs","Modal","onRequestClose","title","className","aria","describedby","useInstanceId","children","jsx","id","Button","__next40pxDefaultSize","variant","accessibleWhenDisabled"],"sources":["@wordpress/block-library/src/page-list/convert-to-links-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\nexport const convertDescription = __(\n\t\"This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically.\"\n);\n\nexport function ConvertToLinksModal( { onClick, onClose, disabled } ) {\n\treturn (\n\t\t<Modal\n\t\t\tonRequestClose={ onClose }\n\t\t\ttitle={ __( 'Edit Page List' ) }\n\t\t\tclassName=\"wp-block-page-list-modal\"\n\t\t\taria={ {\n\t\t\t\tdescribedby: useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t),\n\t\t\t} }\n\t\t>\n\t\t\t<p\n\t\t\t\tid={ useInstanceId(\n\t\t\t\t\tConvertToLinksModal,\n\t\t\t\t\t'wp-block-page-list-modal__description'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ convertDescription }\n\t\t\t</p>\n\t\t\t<div className=\"wp-block-page-list-modal-buttons\">\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAAqC,IAAAG,WAAA,GAAAH,OAAA;AALrC;AACA;AACA;;AAKO,MAAMI,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAAE,QAAE,EACnC,4KACD,CAAC;AAEM,SAASC,mBAAmBA,CAAE;EAAEC,OAAO;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACrE,oBACC,IAAAP,WAAA,CAAAQ,IAAA,EAACZ,WAAA,CAAAa,KAAK;IACLC,cAAc,EAAGJ,OAAS;IAC1BK,KAAK,EAAG,IAAAR,QAAE,EAAE,gBAAiB,CAAG;IAChCS,SAAS,EAAC,0BAA0B;IACpCC,IAAI,EAAG;MACNC,WAAW,EAAE,IAAAC,sBAAa,EACzBX,mBAAmB,EACnB,uCACD;IACD,CAAG;IAAAY,QAAA,gBAEH,IAAAhB,WAAA,CAAAiB,GAAA;MACCC,EAAE,EAAG,IAAAH,sBAAa,EACjBX,mBAAmB,EACnB,uCACD,CAAG;MAAAY,QAAA,EAEDf;IAAkB,CAClB,CAAC,eACJ,IAAAD,WAAA,CAAAQ,IAAA;MAAKI,SAAS,EAAC,kCAAkC;MAAAI,QAAA,gBAChD,IAAAhB,WAAA,CAAAiB,GAAA,EAACrB,WAAA,CAAAuB;MACA;MAAA;QACAC,qBAAqB,EAAG,KAAO;QAC/BC,OAAO,EAAC,UAAU;QAClBhB,OAAO,EAAGC,OAAS;QAAAU,QAAA,EAEjB,IAAAb,QAAE,EAAE,QAAS;MAAC,CACT,CAAC,eACT,IAAAH,WAAA,CAAAiB,GAAA,EAACrB,WAAA,CAAAuB;MACA;MAAA;QACAC,qBAAqB,EAAG,KAAO;QAC/BC,OAAO,EAAC,SAAS;QACjBC,sBAAsB;QACtBf,QAAQ,EAAGA,QAAU;QACrBF,OAAO,EAAGA,OAAS;QAAAW,QAAA,EAEjB,IAAAb,QAAE,EAAE,MAAO;MAAC,CACP,CAAC;IAAA,CACL,CAAC;EAAA,CACA,CAAC;AAEV","ignoreList":[]}
|
package/build/page-list/edit.js
CHANGED
|
@@ -191,7 +191,9 @@ function PageListEdit({
|
|
|
191
191
|
label:
|
|
192
192
|
// translators: displayed when a page has an empty title.
|
|
193
193
|
page.title?.rendered?.trim() !== '' ? page.title?.rendered : (0, _i18n.__)('(no title)'),
|
|
194
|
-
title:
|
|
194
|
+
title:
|
|
195
|
+
// translators: displayed when a page has an empty title.
|
|
196
|
+
page.title?.rendered?.trim() !== '' ? page.title?.rendered : (0, _i18n.__)('(no title)'),
|
|
195
197
|
link: page.url,
|
|
196
198
|
hasChildren
|
|
197
199
|
};
|
|
@@ -271,7 +273,10 @@ function PageListEdit({
|
|
|
271
273
|
title: (0, _i18n.__)('Edit this menu'),
|
|
272
274
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
273
275
|
children: _convertToLinksModal.convertDescription
|
|
274
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
276
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
277
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
278
|
+
, {
|
|
279
|
+
__next40pxDefaultSize: false,
|
|
275
280
|
variant: "primary",
|
|
276
281
|
accessibleWhenDisabled: true,
|
|
277
282
|
disabled: !hasResolvedPages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_blockEditor","_components","_i18n","_element","_coreData","_data","_useConvertToNavigationLinks","_convertToLinksModal","_jsxRuntime","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","jsx","children","className","Spinner","Notice","status","isDismissible","__","length","parentPageDetails","find","page","id","title","rendered","Warning","sprintf","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","useState","openModal","useCallback","closeModal","records","hasResolved","useEntityRecords","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","useMemo","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","useBlockProps","clsx","textColor","getColorClassName","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","createBlock","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","useSelect","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockEditorStore","blockParents","navigationBlockParents","convertToNavigationLinks","useConvertToNavigationLinks","useInnerBlocksProps","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","useDispatch","useEffect","jsxs","Fragment","InspectorControls","PanelBody","ComboboxControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","help","convertDescription","Button","variant","accessibleWhenDisabled","disabled","onClick","BlockControls","group","ToolbarButton","ConvertToLinksModal","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_blockEditor","_components","_i18n","_element","_coreData","_data","_useConvertToNavigationLinks","_convertToLinksModal","_jsxRuntime","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","jsx","children","className","Spinner","Notice","status","isDismissible","__","length","parentPageDetails","find","page","id","title","rendered","Warning","sprintf","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","useState","openModal","useCallback","closeModal","records","hasResolved","useEntityRecords","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","useMemo","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","useBlockProps","clsx","textColor","getColorClassName","backgroundColor","style","color","pagesTree","makePagesTree","parentId","level","childPages","tree","hasChildren","item","value","label","repeat","rawName","getBlockList","template","pageProps","trim","link","url","createBlock","isNested","hasSelectedChild","parentClientId","hasDraggedChild","isChildOfNavigation","useSelect","select","getBlockParentsByBlockName","hasSelectedInnerBlock","hasDraggedInnerBlock","blockEditorStore","blockParents","navigationBlockParents","convertToNavigationLinks","useConvertToNavigationLinks","useInnerBlocksProps","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock","useDispatch","useEffect","jsxs","Fragment","InspectorControls","PanelBody","ComboboxControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","help","convertDescription","Button","variant","accessibleWhenDisabled","disabled","onClick","BlockControls","group","ToolbarButton","ConvertToLinksModal","onClose"],"sources":["@wordpress/block-library/src/page-list/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,7 +69,10 @@ const CommentsForm = ({
|
|
|
69
69
|
const postTypeSupportsComments = (0, _data.useSelect)(select => postType ? !!select(_coreData.store).getPostType(postType)?.supports.comments : false);
|
|
70
70
|
if (!isSiteEditor && 'open' !== commentStatus) {
|
|
71
71
|
if ('closed' === commentStatus) {
|
|
72
|
-
const actions = [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
72
|
+
const actions = [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
73
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
74
|
+
, {
|
|
75
|
+
__next40pxDefaultSize: false,
|
|
73
76
|
onClick: () => setCommentStatus('open'),
|
|
74
77
|
variant: "primary",
|
|
75
78
|
children: (0, _i18n._x)('Enable comments', 'action that affects the current post')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_blockEditor","_components","_compose","_coreData","_data","_jsxRuntime","CommentsFormPlaceholder","instanceId","useInstanceId","jsxs","className","children","jsx","__","noValidate","onSubmit","event","preventDefault","htmlFor","id","name","cols","rows","readOnly","type","clsx","__experimentalGetElementClassName","label","value","CommentsForm","postId","postType","commentStatus","setCommentStatus","useEntityProp","isSiteEditor","undefined","defaultCommentStatus","useSelect","select","blockEditorStore","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","coreStore","getPostType","supports","comments","actions","Button","onClick","variant","_x","Warning","sprintf","_default","exports","default"],"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst CommentsFormPlaceholder = () => {\n\tconst instanceId = useInstanceId( CommentsFormPlaceholder );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form\n\t\t\t\tnoValidate\n\t\t\t\tclassName=\"comment-form\"\n\t\t\t\tonSubmit={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nconst CommentsForm = ( { postId, postType } ) => {\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\tconst actions = [\n\t\t\t\t<Button\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\treturn (\n\t\t\t\t<Warning actions={ actions }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpostType\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn <CommentsFormPlaceholder />;\n};\n\nexport default CommentsForm;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAA4C,IAAAO,WAAA,GAAAP,OAAA;AAjB5C;AACA;AACA;;AAGA;AACA;AACA;;AAYA,MAAMQ,uBAAuB,GAAGA,CAAA,KAAM;EACrC,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEF,uBAAwB,CAAC;EAE3D,oBACC,IAAAD,WAAA,CAAAI,IAAA;IAAKC,SAAS,EAAC,iBAAiB;IAAAC,QAAA,gBAC/B,IAAAN,WAAA,CAAAO,GAAA;MAAIF,SAAS,EAAC,qBAAqB;MAAAC,QAAA,EAAG,IAAAE,QAAE,EAAE,eAAgB;IAAC,CAAM,CAAC,eAClE,IAAAR,WAAA,CAAAI,IAAA;MACCK,UAAU;MACVJ,SAAS,EAAC,cAAc;MACxBK,QAAQ,EAAKC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAG;MAAAN,QAAA,gBAEhD,IAAAN,WAAA,CAAAI,IAAA;QAAAE,QAAA,gBACC,IAAAN,WAAA,CAAAO,GAAA;UAAOM,OAAO,EAAI,WAAWX,UAAY,EAAG;UAAAI,QAAA,EACzC,IAAAE,QAAE,EAAE,SAAU;QAAC,CACX,CAAC,eACR,IAAAR,WAAA,CAAAO,GAAA;UACCO,EAAE,EAAI,WAAWZ,UAAY,EAAG;UAChCa,IAAI,EAAC,SAAS;UACdC,IAAI,EAAC,IAAI;UACTC,IAAI,EAAC,GAAG;UACRC,QAAQ;QAAA,CACR,CAAC;MAAA,CACA,CAAC,eACJ,IAAAlB,WAAA,CAAAO,GAAA;QAAGF,SAAS,EAAC,6BAA6B;QAAAC,QAAA,eACzC,IAAAN,WAAA,CAAAO,GAAA;UACCQ,IAAI,EAAC,QAAQ;UACbI,IAAI,EAAC,QAAQ;UACbd,SAAS,EAAG,IAAAe,aAAI,EACf,uBAAuB,EACvB,IAAAC,8CAAiC,EAAE,QAAS,CAC7C,CAAG;UACHC,KAAK,EAAG,IAAAd,QAAE,EAAE,cAAe,CAAG;UAC9Be,KAAK,EAAG,IAAAf,QAAE,EAAE,cAAe,CAAG;UAC9B,iBAAc;QAAM,CACpB;MAAC,CACA,CAAC;IAAA,CACC,CAAC;EAAA,CACH,CAAC;AAER,CAAC;AAED,MAAMgB,YAAY,GAAGA,CAAE;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAM;EAChD,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,uBAAa,EACxD,UAAU,EACVH,QAAQ,EACR,gBAAgB,EAChBD,MACD,CAAC;EAED,MAAMK,YAAY,GAAGJ,QAAQ,KAAKK,SAAS,IAAIN,MAAM,KAAKM,SAAS;EAEnE,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EACvCC,MAAM,IACPA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CACtCC,gCACJ,CAAC;EAED,MAAMC,wBAAwB,GAAG,IAAAL,eAAS,EAAIC,MAAM,IACnDR,QAAQ,GACL,CAAC,CAAEQ,MAAM,CAAEK,eAAU,CAAC,CAACC,WAAW,CAAEd,QAAS,CAAC,EAAEe,QAAQ,CAACC,QAAQ,GACjE,KACJ,CAAC;EAED,IAAK,CAAEZ,YAAY,IAAI,MAAM,KAAKH,aAAa,EAAG;IACjD,IAAK,QAAQ,KAAKA,aAAa,EAAG;MACjC,MAAMgB,OAAO,GAAG,cACf,IAAA3C,WAAA,CAAAO,GAAA,EAACX,WAAA,CAAAgD,
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_blockEditor","_components","_compose","_coreData","_data","_jsxRuntime","CommentsFormPlaceholder","instanceId","useInstanceId","jsxs","className","children","jsx","__","noValidate","onSubmit","event","preventDefault","htmlFor","id","name","cols","rows","readOnly","type","clsx","__experimentalGetElementClassName","label","value","CommentsForm","postId","postType","commentStatus","setCommentStatus","useEntityProp","isSiteEditor","undefined","defaultCommentStatus","useSelect","select","blockEditorStore","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","coreStore","getPostType","supports","comments","actions","Button","__next40pxDefaultSize","onClick","variant","_x","Warning","sprintf","_default","exports","default"],"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst CommentsFormPlaceholder = () => {\n\tconst instanceId = useInstanceId( CommentsFormPlaceholder );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form\n\t\t\t\tnoValidate\n\t\t\t\tclassName=\"comment-form\"\n\t\t\t\tonSubmit={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nconst CommentsForm = ( { postId, postType } ) => {\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\tconst actions = [\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\treturn (\n\t\t\t\t<Warning actions={ actions }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this item.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled for this post type (%s).'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpostType\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\treturn (\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn <CommentsFormPlaceholder />;\n};\n\nexport default CommentsForm;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -106,10 +106,8 @@ const DimensionControls = ({
|
|
|
106
106
|
}),
|
|
107
107
|
isShownByDefault: true,
|
|
108
108
|
panelId: clientId,
|
|
109
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl
|
|
110
|
-
|
|
111
|
-
, {
|
|
112
|
-
__next40pxDefaultSize: false,
|
|
109
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
110
|
+
__next40pxDefaultSize: true,
|
|
113
111
|
__nextHasNoMarginBottom: true,
|
|
114
112
|
label: (0, _i18n.__)('Aspect ratio'),
|
|
115
113
|
value: aspectRatio,
|
|
@@ -131,6 +129,7 @@ const DimensionControls = ({
|
|
|
131
129
|
isShownByDefault: true,
|
|
132
130
|
panelId: clientId,
|
|
133
131
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalUnitControl, {
|
|
132
|
+
__next40pxDefaultSize: true,
|
|
134
133
|
label: (0, _i18n.__)('Height'),
|
|
135
134
|
labelPosition: "top",
|
|
136
135
|
value: height || '',
|
|
@@ -151,6 +150,7 @@ const DimensionControls = ({
|
|
|
151
150
|
isShownByDefault: true,
|
|
152
151
|
panelId: clientId,
|
|
153
152
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalUnitControl, {
|
|
153
|
+
__next40pxDefaultSize: true,
|
|
154
154
|
label: (0, _i18n.__)('Width'),
|
|
155
155
|
labelPosition: "top",
|
|
156
156
|
value: width || '',
|
|
@@ -192,10 +192,8 @@ const DimensionControls = ({
|
|
|
192
192
|
}),
|
|
193
193
|
isShownByDefault: false,
|
|
194
194
|
panelId: clientId,
|
|
195
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl
|
|
196
|
-
|
|
197
|
-
, {
|
|
198
|
-
__next40pxDefaultSize: false,
|
|
195
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
196
|
+
__next40pxDefaultSize: true,
|
|
199
197
|
__nextHasNoMarginBottom: true,
|
|
200
198
|
label: (0, _i18n.__)('Resolution'),
|
|
201
199
|
value: sizeSlug || DEFAULT_SIZE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blockEditor","_data","_jsxRuntime","SCALE_OPTIONS","jsxs","Fragment","children","jsx","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","useSettings","units","useCustomUnits","imageSizes","useSelect","select","blockEditorStore","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blockEditor","_data","_jsxRuntime","SCALE_OPTIONS","jsxs","Fragment","children","jsx","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","useSettings","units","useCustomUnits","imageSizes","useSelect","select","blockEditorStore","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -250,7 +250,10 @@ function PostFeaturedImageEdit({
|
|
|
250
250
|
mediaLibraryButton: ({
|
|
251
251
|
open
|
|
252
252
|
}) => {
|
|
253
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
253
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
254
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
255
|
+
, {
|
|
256
|
+
__next40pxDefaultSize: false,
|
|
254
257
|
icon: _icons.upload,
|
|
255
258
|
variant: "primary",
|
|
256
259
|
label: label,
|
|
@@ -292,10 +295,7 @@ function PostFeaturedImageEdit({
|
|
|
292
295
|
accept: "image/*",
|
|
293
296
|
onSelect: onSelectImage,
|
|
294
297
|
onError: onUploadError,
|
|
295
|
-
|
|
296
|
-
onClick: () => setFeaturedImage(0),
|
|
297
|
-
children: (0, _i18n.__)('Reset')
|
|
298
|
-
})
|
|
298
|
+
onReset: () => setFeaturedImage(0)
|
|
299
299
|
})
|
|
300
300
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", {
|
|
301
301
|
...blockProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlayControls","_overlay","_jsxRuntime","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","useState","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","blockProps","useBlockProps","style","className","clsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","jsx","Placeholder","withIllustration","children","onSelectImage","value","url","isBlobURL","useEffect","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","jsxs","Fragment","InspectorControls","group","default","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","labels","singular_name","sprintf","onChange","checked","TextControl","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","Spinner","BlockControls","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"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\tMenuItem,\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\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>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\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":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AASA,IAAAK,YAAA,GAAAL,OAAA;AAUA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAKA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,gBAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AAAgC,IAAAa,WAAA,GAAAb,OAAA;AAxChC;AACA;AACA;;AAGA;AACA;AACA;;AA4BA;AACA;AACA;;AAKA,MAAMc,mBAAmB,GAAG,CAAE,OAAO,CAAE;AAEvC,SAASC,2BAA2BA,CAAEC,KAAK,EAAEC,IAAI,EAAG;EACnD,OACCD,KAAK,EAAEE,aAAa,EAAEC,KAAK,GAAIF,IAAI,CAAE,EAAEG,UAAU,IAAIJ,KAAK,EAAEI,UAAU;AAExE;AAEA,MAAMC,kBAAkB,GAAG;EAC1BC,OAAO,EAAIC,KAAK,IAAMA,KAAK,CAACC,cAAc,CAAC,CAAC;EAC5C,eAAe,EAAE;AAClB,CAAC;AAEc,SAASC,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,UAAU;EACVC,aAAa;EACbC,OAAO,EAAE;IAAEC,MAAM;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;EAAQ;AACpD,CAAC,EAAG;EACH,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAQ,CAAEH,OAAQ,CAAC;EAC1D,MAAM;IACLI,MAAM;IACNC,WAAW;IACXC,MAAM;IACNC,KAAK;IACLC,KAAK;IACLC,QAAQ;IACRC,GAAG;IACHC,UAAU;IACVC;EACD,CAAC,GAAGlB,UAAU;EACd,MAAM,CAAEmB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAEpD,MAAM,CAAEC,mBAAmB,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,uBAAa,EAC9D,UAAU,EACVnB,YAAY,EACZ,gBAAgB,EAChBF,MACD,CAAC;;EAED;EACA;EACA,MAAM,CAAEsB,WAAW,CAAE,GAAG,IAAAD,uBAAa,EACpC,UAAU,EACVnB,YAAY,EACZ,SAAS,EACTF,MACD,CAAC;EAED,MAAMuB,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,IAAKL,mBAAmB,EAAG;MAC1B,OAAOA,mBAAmB;IAC3B;IAEA,IAAK,CAAEJ,qBAAqB,EAAG;MAC9B;IACD;IAEA,MAAMU,WAAW,GAChB,yFAAyF,CAACC,IAAI,CAC7FJ,WACD,CAAC;IACF,MAAMK,OAAO,GACZF,WAAW,EAAEG,MAAM,EAAEC,KAAK,IAC1BC,IAAI,CAACC,KAAK,CAAEN,WAAW,CAACG,MAAM,CAACC,KAAM,CAAC,EAAEG,EAAE;IAC3C,OAAOL,OAAO;EACf,CAAC,EAAE,CAAER,mBAAmB,EAAEJ,qBAAqB,EAAEO,WAAW,CAAG,CAAC;EAEhE,MAAM;IAAEpC,KAAK;IAAEe,QAAQ;IAAEgC;EAAc,CAAC,GAAG,IAAAC,eAAS,EACjDC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,WAAW;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEI,eAAU,CAAC;IACpB,OAAO;MACNrD,KAAK,EACJqC,aAAa,IACba,QAAQ,CAAEb,aAAa,EAAE;QACxBxB,OAAO,EAAE;MACV,CAAE,CAAC;MACJE,QAAQ,EAAEC,YAAY,IAAImC,WAAW,CAAEnC,YAAa,CAAC;MACrD+B,aAAa,EAAEK,qBAAqB,CACnC,UAAU,EACVpC,YAAY,EACZF,MACD,CAAC,EAAEwC;IACJ,CAAC;EACF,CAAC,EACD,CAAEjB,aAAa,EAAErB,YAAY,EAAEF,MAAM,CACtC,CAAC;EAED,MAAMyC,QAAQ,GAAGxD,2BAA2B,CAAEC,KAAK,EAAE0B,QAAS,CAAC;EAE/D,MAAM8B,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,KAAK,EAAE;MAAElC,KAAK;MAAED,MAAM;MAAED;IAAY,CAAC;IACrCqC,SAAS,EAAE,IAAAC,aAAI,EAAE;MAChB,cAAc,EAAE9B;IACjB,CAAE;EACH,CAAE,CAAC;EACH,MAAM+B,WAAW,GAAG,IAAAC,yCAAc,EAAEnD,UAAW,CAAC;EAChD,MAAMoD,WAAW,GAAG,IAAAC,oDAAyB,EAAErD,UAAW,CAAC;EAC3D,MAAMsD,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAMC,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC,IAAAvE,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAkF,WAAW;MACXX,SAAS,EAAG,IAAAC,aAAI,EACf,gCAAgC,EAChCC,WAAW,CAACF,SACb,CAAG;MACHY,gBAAgB;MAChBb,KAAK,EAAG;QACPnC,MAAM,EAAE,CAAC,CAAED,WAAW,IAAI,MAAM;QAChCE,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;QAC/B,GAAGuC,WAAW,CAACH,KAAK;QACpB,GAAGK,WAAW,CAACL;MAChB,CAAG;MAAAc,QAAA,EAEDJ;IAAO,CACG,CAAC;EAEhB,CAAC;EAED,MAAMK,aAAa,GAAKC,KAAK,IAAM;IAClC,IAAKA,KAAK,EAAE5B,EAAE,EAAG;MAChBZ,gBAAgB,CAAEwC,KAAK,CAAC5B,EAAG,CAAC;IAC7B;IAEA,IAAK4B,KAAK,EAAEC,GAAG,IAAI,IAAAC,eAAS,EAAEF,KAAK,CAACC,GAAI,CAAC,EAAG;MAC3C5C,eAAe,CAAE2C,KAAK,CAACC,GAAI,CAAC;IAC7B;EACD,CAAC;;EAED;EACA,IAAAE,kBAAS,EAAE,MAAM;IAChB,IAAKtB,QAAQ,IAAIzB,YAAY,EAAG;MAC/BC,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAEwB,QAAQ,EAAEzB,YAAY,CAAG,CAAC;EAE/B,MAAM;IAAEgD;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EACzD,MAAMC,aAAa,GAAKC,OAAO,IAAM;IACpCJ,iBAAiB,CAAEI,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAE,CAAC;IAClDpD,eAAe,CAAC,CAAC;EAClB,CAAC;EAED,MAAMqD,QAAQ,GAAGnB,gBAAgB,KAAK,SAAS,iBAC9C,IAAApE,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAAyF,QAAA;IAAAd,QAAA,gBACC,IAAA3E,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAAkG,iBAAiB;MAACC,KAAK,EAAC,OAAO;MAAAhB,QAAA,eAC/B,IAAA3E,WAAA,CAAAwE,GAAA,EAAC1E,gBAAA,CAAA8F,OAAe;QACf9E,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BF,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACgB,CAAC,eACpB,IAAAb,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAAkG,iBAAiB;MAACC,KAAK,EAAC,YAAY;MAAAhB,QAAA,eACpC,IAAA3E,WAAA,CAAAwE,GAAA,EAAC3E,kBAAA,CAAA+F,OAAiB;QACjB/E,QAAQ,EAAGA,QAAU;QACrBC,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BZ,KAAK,EAAGA;MAAO,CACf;IAAC,CACgB,CAAC,eACpB,IAAAH,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAAkG,iBAAiB;MAAAf,QAAA,eACjB,IAAA3E,WAAA,CAAAwF,IAAA,EAACjG,WAAA,CAAAsG,SAAS;QAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;QAAApB,QAAA,gBACpC,IAAA3E,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAyG,aAAa;UACbC,uBAAuB;UACvBC,KAAK,EACJhF,QAAQ,EAAEiF,MAAM,CAACC,aAAa,GAC3B,IAAAC,aAAO;UACP;UACA,IAAAN,QAAE,EAAE,YAAa,CAAC,EAClB7E,QAAQ,CAACiF,MAAM,CAACC,aAChB,CAAC,GACD,IAAAL,QAAE,EAAE,cAAe,CACtB;UACDO,QAAQ,EAAGA,CAAA,KAAMvF,aAAa,CAAE;YAAES,MAAM,EAAE,CAAEA;UAAO,CAAE,CAAG;UACxD+E,OAAO,EAAG/E;QAAQ,CAClB,CAAC,EACAA,MAAM,iBACP,IAAAxB,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAAyF,QAAA;UAAAd,QAAA,gBACC,IAAA3E,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAyG,aAAa;YACbC,uBAAuB;YACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAG;YACjCO,QAAQ,EAAKzB,KAAK,IACjB9D,aAAa,CAAE;cACdgB,UAAU,EAAE8C,KAAK,GAAG,QAAQ,GAAG;YAChC,CAAE,CACF;YACD0B,OAAO,EAAGxE,UAAU,KAAK;UAAU,CACnC,CAAC,eACF,IAAA/B,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAiH,WAAW;YACXC,qBAAqB;YACrBR,uBAAuB;YACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,UAAW,CAAG;YAC1BlB,KAAK,EAAG/C,GAAK;YACbwE,QAAQ,EAAKI,MAAM,IAClB3F,aAAa,CAAE;cAAEe,GAAG,EAAE4E;YAAO,CAAE;UAC/B,CACD,CAAC;QAAA,CACD,CACF;MAAA,CACS;IAAC,CACM,CAAC;EAAA,CACnB,CACF;EAED,IAAIC,KAAK;;EAET;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEnE,aAAa,KAAMnB,uBAAuB,IAAI,CAAEJ,MAAM,CAAE,EAAG;IACjE,oBACC,IAAAjB,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAAyF,QAAA;MAAAd,QAAA,GACGY,QAAQ,eACV,IAAAvF,WAAA,CAAAwF,IAAA;QAAA,GAAU7B,UAAU;QAAAgB,QAAA,GACjB,CAAC,CAAEnD,MAAM,gBACV,IAAAxB,WAAA,CAAAwE,GAAA;UACCoC,IAAI,EAAG1D,aAAe;UACtB2D,MAAM,EAAG9E,UAAY;UAAA,GAChBvB,kBAAkB;UAAAmE,QAAA,EAErBL,WAAW,CAAC;QAAC,CACb,CAAC,GAEJA,WAAW,CAAC,CACZ,eACD,IAAAtE,WAAA,CAAAwE,GAAA,EAACzE,QAAA,CAAA6F,OAAO;UACP9E,UAAU,EAAGA,UAAY;UACzBC,aAAa,EAAGA,aAAe;UAC/BF,QAAQ,EAAGA;QAAU,CACrB,CAAC;MAAA,CACE,CAAC;IAAA,CACL,CAAC;EAEL;EAEA,MAAMqF,KAAK,GAAG,IAAAH,QAAE,EAAE,sBAAuB,CAAC;EAC1C,MAAMe,WAAW,GAAG;IACnB,GAAG9C,WAAW,CAACH,KAAK;IACpB,GAAGK,WAAW,CAACL,KAAK;IACpBnC,MAAM,EAAED,WAAW,GAAG,MAAM,GAAGC,MAAM;IACrCC,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;IAC/BsF,SAAS,EAAE,CAAC,EAAIrF,MAAM,IAAID,WAAW,CAAE,IAAIG;EAC5C,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEY,aAAa,IAAI,CAAEP,YAAY,EAAG;IACxC0E,KAAK,gBACJ,IAAA3G,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAAwH,gBAAgB;MAChBC,QAAQ,EAAGrC,aAAe;MAC1BsC,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGlH,mBAAqB;MACpCmH,OAAO,EAAGhC,aAAe;MACzBd,WAAW,EAAGA,WAAa;MAC3B+C,kBAAkB,EAAGA,CAAE;QAAEC;MAAK,CAAC,KAAM;QACpC,oBACC,IAAAtH,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAgI,MAAM;UACNC,IAAI,EAAGC,aAAQ;UACfC,OAAO,EAAC,SAAS;UACjBxB,KAAK,EAAGA,KAAO;UACfyB,WAAW;UACXC,eAAe,EAAC,YAAY;UAC5BnH,OAAO,EAAGA,CAAA,KAAM;YACf6G,IAAI,CAAC,CAAC;UACP;QAAG,CACH,CAAC;MAEJ;IAAG,CACH,CACD;EACF,CAAC,MAAM;IACN;IACAX,KAAK,GACJ,CAAExG,KAAK,IAAI,CAAE8B,YAAY,GACxBqC,WAAW,CAAC,CAAC,gBAEb,IAAAtE,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAAyF,QAAA;MAAAd,QAAA,gBACC,IAAA3E,WAAA,CAAAwE,GAAA;QACCV,SAAS,EAAGE,WAAW,CAACF,SAAW;QACnC+D,GAAG,EAAG5F,YAAY,IAAIyB,QAAU;QAChCoE,GAAG,EACF3H,KAAK,IAAIA,KAAK,EAAE4H,QAAQ,GACrB,IAAA1B,aAAO;QACP;QACA,IAAAN,QAAE,EAAE,oBAAqB,CAAC,EAC1B5F,KAAK,CAAC4H,QACN,CAAC,GACD,IAAAhC,QAAE,EAAE,gBAAiB,CACxB;QACDlC,KAAK,EAAGiD;MAAa,CACrB,CAAC,EACA7E,YAAY,iBAAI,IAAAjC,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAAyI,OAAO,IAAE,CAAC;IAAA,CAC5B,CACF;EACH;;EAEA;AACD;AACA;AACA;AACA;AACA;EACC,oBACC,IAAAhI,WAAA,CAAAwF,IAAA,EAAAxF,WAAA,CAAAyF,QAAA;IAAAd,QAAA,GACG,CAAE1C,YAAY,IAAIsD,QAAQ,EAC1B,CAAC,CAAEpF,KAAK,IAAI,CAAEkB,uBAAuB,iBACtC,IAAArB,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAAyI,aAAa;MAACtC,KAAK,EAAC,OAAO;MAAAhB,QAAA,eAC3B,IAAA3E,WAAA,CAAAwE,GAAA,EAAChF,YAAA,CAAA0I,gBAAgB;QAChBC,OAAO,EAAG3F,aAAe;QACzB4F,QAAQ,EAAG1E,QAAU;QACrByD,YAAY,EAAGlH,mBAAqB;QACpCiH,MAAM,EAAC,SAAS;QAChBD,QAAQ,EAAGrC,aAAe;QAC1BwC,OAAO,EAAGhC,aAAe;QAAAT,QAAA,eAEzB,IAAA3E,WAAA,CAAAwE,GAAA,EAACjF,WAAA,CAAA8I,QAAQ;UAAC5H,OAAO,EAAGA,CAAA,KAAM4B,gBAAgB,CAAE,CAAE,CAAG;UAAAsC,QAAA,EAC9C,IAAAoB,QAAE,EAAE,OAAQ;QAAC,CACN;MAAC,CACM;IAAC,CACL,CACf,eACD,IAAA/F,WAAA,CAAAwF,IAAA;MAAA,GAAa7B,UAAU;MAAAgB,QAAA,GAEpB,CAAC,CAAEnD,MAAM,gBACV,IAAAxB,WAAA,CAAAwE,GAAA;QACCoC,IAAI,EAAG1D,aAAe;QACtB2D,MAAM,EAAG9E,UAAY;QAAA,GAChBvB,kBAAkB;QAAAmE,QAAA,EAErBgC;MAAK,CACL,CAAC,GAEJA,KACA,eACD,IAAA3G,WAAA,CAAAwE,GAAA,EAACzE,QAAA,CAAA6F,OAAO;QACP9E,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BF,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACK,CAAC;EAAA,CACR,CAAC;AAEL","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlayControls","_overlay","_jsxRuntime","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","useState","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","blockProps","useBlockProps","style","className","clsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","jsx","Placeholder","withIllustration","children","onSelectImage","value","url","isBlobURL","useEffect","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","jsxs","Fragment","InspectorControls","group","default","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","labels","singular_name","sprintf","onChange","checked","TextControl","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","Spinner","BlockControls","MediaReplaceFlow","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// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\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":[]}
|