@wordpress/block-library 8.31.0 → 8.32.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.
Files changed (157) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/block/edit.js +5 -8
  3. package/build/block/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/image/edit.js +10 -39
  7. package/build/image/edit.js.map +1 -1
  8. package/build/image/image.js +27 -6
  9. package/build/image/image.js.map +1 -1
  10. package/build/navigation/view.js +12 -2
  11. package/build/navigation/view.js.map +1 -1
  12. package/build/navigation-link/edit.js +41 -18
  13. package/build/navigation-link/edit.js.map +1 -1
  14. package/build/navigation-submenu/edit.js +27 -9
  15. package/build/navigation-submenu/edit.js.map +1 -1
  16. package/build/pattern/edit.js +3 -1
  17. package/build/pattern/edit.js.map +1 -1
  18. package/build/post-featured-image/edit.js +12 -3
  19. package/build/post-featured-image/edit.js.map +1 -1
  20. package/build/post-featured-image/index.js +8 -3
  21. package/build/post-featured-image/index.js.map +1 -1
  22. package/build/post-featured-image/overlay-controls.js +82 -0
  23. package/build/post-featured-image/overlay-controls.js.map +1 -0
  24. package/build/post-featured-image/overlay.js +5 -54
  25. package/build/post-featured-image/overlay.js.map +1 -1
  26. package/build/quote/edit.js +18 -23
  27. package/build/quote/edit.js.map +1 -1
  28. package/build/site-tagline/edit.js +13 -4
  29. package/build/site-tagline/edit.js.map +1 -1
  30. package/build/site-tagline/index.js +4 -0
  31. package/build/site-tagline/index.js.map +1 -1
  32. package/build/template-part/edit/index.js +55 -47
  33. package/build/template-part/edit/index.js.map +1 -1
  34. package/build/template-part/edit/inner-blocks.js +106 -10
  35. package/build/template-part/edit/inner-blocks.js.map +1 -1
  36. package/build/template-part/edit/selection-modal.js +1 -9
  37. package/build/template-part/edit/selection-modal.js.map +1 -1
  38. package/build/utils/caption.js +19 -13
  39. package/build/utils/caption.js.map +1 -1
  40. package/build/utils/hooks.js +1 -0
  41. package/build/utils/hooks.js.map +1 -1
  42. package/build-module/block/edit.js +5 -8
  43. package/build-module/block/edit.js.map +1 -1
  44. package/build-module/button/edit.native.js +1 -1
  45. package/build-module/button/edit.native.js.map +1 -1
  46. package/build-module/image/edit.js +11 -40
  47. package/build-module/image/edit.js.map +1 -1
  48. package/build-module/image/image.js +27 -6
  49. package/build-module/image/image.js.map +1 -1
  50. package/build-module/navigation/view.js +12 -2
  51. package/build-module/navigation/view.js.map +1 -1
  52. package/build-module/navigation-link/edit.js +43 -20
  53. package/build-module/navigation-link/edit.js.map +1 -1
  54. package/build-module/navigation-submenu/edit.js +27 -9
  55. package/build-module/navigation-submenu/edit.js.map +1 -1
  56. package/build-module/pattern/edit.js +3 -1
  57. package/build-module/pattern/edit.js.map +1 -1
  58. package/build-module/post-featured-image/edit.js +12 -3
  59. package/build-module/post-featured-image/edit.js.map +1 -1
  60. package/build-module/post-featured-image/index.js +8 -3
  61. package/build-module/post-featured-image/index.js.map +1 -1
  62. package/build-module/post-featured-image/overlay-controls.js +75 -0
  63. package/build-module/post-featured-image/overlay-controls.js.map +1 -0
  64. package/build-module/post-featured-image/overlay.js +7 -56
  65. package/build-module/post-featured-image/overlay.js.map +1 -1
  66. package/build-module/quote/edit.js +20 -25
  67. package/build-module/quote/edit.js.map +1 -1
  68. package/build-module/site-tagline/edit.js +14 -5
  69. package/build-module/site-tagline/edit.js.map +1 -1
  70. package/build-module/site-tagline/index.js +4 -0
  71. package/build-module/site-tagline/index.js.map +1 -1
  72. package/build-module/template-part/edit/index.js +58 -50
  73. package/build-module/template-part/edit/index.js.map +1 -1
  74. package/build-module/template-part/edit/inner-blocks.js +108 -12
  75. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  76. package/build-module/template-part/edit/selection-modal.js +2 -10
  77. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  78. package/build-module/utils/caption.js +19 -13
  79. package/build-module/utils/caption.js.map +1 -1
  80. package/build-module/utils/hooks.js +1 -0
  81. package/build-module/utils/hooks.js.map +1 -1
  82. package/build-style/audio/theme-rtl.css +1 -1
  83. package/build-style/audio/theme.css +1 -1
  84. package/build-style/cover/style-rtl.css +5 -2
  85. package/build-style/cover/style.css +5 -2
  86. package/build-style/editor-rtl.css +12 -8
  87. package/build-style/editor.css +12 -8
  88. package/build-style/embed/theme-rtl.css +1 -1
  89. package/build-style/embed/theme.css +1 -1
  90. package/build-style/image/theme-rtl.css +1 -1
  91. package/build-style/image/theme.css +1 -1
  92. package/build-style/pullquote/theme-rtl.css +2 -1
  93. package/build-style/pullquote/theme.css +2 -1
  94. package/build-style/quote/theme-rtl.css +6 -6
  95. package/build-style/quote/theme.css +6 -6
  96. package/build-style/search/style-rtl.css +10 -0
  97. package/build-style/search/style.css +10 -0
  98. package/build-style/social-links/editor-rtl.css +0 -4
  99. package/build-style/social-links/editor.css +0 -4
  100. package/build-style/style-rtl.css +15 -2
  101. package/build-style/style.css +15 -2
  102. package/build-style/table/theme-rtl.css +4 -3
  103. package/build-style/table/theme.css +4 -3
  104. package/build-style/template-part/editor-rtl.css +12 -4
  105. package/build-style/template-part/editor.css +12 -4
  106. package/build-style/template-part/theme-rtl.css +1 -1
  107. package/build-style/template-part/theme.css +1 -1
  108. package/build-style/theme-rtl.css +17 -15
  109. package/build-style/theme.css +17 -15
  110. package/build-style/video/theme-rtl.css +1 -1
  111. package/build-style/video/theme.css +1 -1
  112. package/package.json +34 -34
  113. package/src/audio/theme.scss +1 -1
  114. package/src/block/edit.js +5 -17
  115. package/src/button/edit.native.js +1 -1
  116. package/src/cover/style.scss +6 -2
  117. package/src/embed/theme.scss +1 -1
  118. package/src/gallery/editor.scss +1 -1
  119. package/src/gallery/index.php +1 -1
  120. package/src/image/edit.js +11 -40
  121. package/src/image/editor.scss +2 -2
  122. package/src/image/image.js +25 -7
  123. package/src/image/theme.scss +1 -1
  124. package/src/navigation/index.php +8 -0
  125. package/src/navigation/view.js +11 -2
  126. package/src/navigation-link/edit.js +53 -27
  127. package/src/navigation-submenu/edit.js +30 -10
  128. package/src/pattern/edit.js +4 -0
  129. package/src/post-featured-image/block.json +8 -3
  130. package/src/post-featured-image/edit.js +12 -1
  131. package/src/post-featured-image/editor.scss +1 -1
  132. package/src/post-featured-image/overlay-controls.js +88 -0
  133. package/src/post-featured-image/overlay.js +17 -84
  134. package/src/pullquote/theme.scss +3 -1
  135. package/src/query-no-results/index.php +2 -0
  136. package/src/query-pagination-next/index.php +2 -0
  137. package/src/query-pagination-numbers/index.php +2 -0
  138. package/src/quote/edit.js +27 -43
  139. package/src/quote/test/edit.native.js +4 -6
  140. package/src/quote/theme.scss +1 -2
  141. package/src/search/style.scss +11 -0
  142. package/src/site-logo/editor.scss +2 -2
  143. package/src/site-tagline/block.json +4 -0
  144. package/src/site-tagline/edit.js +16 -3
  145. package/src/site-tagline/index.php +9 -1
  146. package/src/social-links/editor.scss +1 -9
  147. package/src/table/theme.scss +4 -2
  148. package/src/template-part/edit/index.js +87 -79
  149. package/src/template-part/edit/inner-blocks.js +126 -13
  150. package/src/template-part/edit/selection-modal.js +1 -22
  151. package/src/template-part/editor.scss +11 -3
  152. package/src/template-part/index.php +2 -0
  153. package/src/template-part/theme.scss +1 -1
  154. package/src/utils/caption.js +19 -16
  155. package/src/utils/hooks.js +1 -0
  156. package/src/video/editor.scss +2 -2
  157. package/src/video/theme.scss +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlay","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","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\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\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo } 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 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\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 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 blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\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={ classnames(\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\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<Overlay\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\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__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 consious 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</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 ) {\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 = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\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{ 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</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlayControls","_overlay","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","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\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\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo } 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\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 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 blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\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={ classnames(\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\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<OverlayControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\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__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 consious 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 ) {\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 = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\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{ 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,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAQA,IAAAI,YAAA,GAAAJ,OAAA;AAWA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAKA,IAAAS,kBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,gBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,QAAA,GAAAZ,sBAAA,CAAAC,OAAA;AAvCA;AACA;AACA;;AAGA;AACA;AACA;;AA2BA;AACA;AACA;;AAKA,MAAMY,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;EAEd,MAAM,CAAEmB,mBAAmB,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,uBAAa,EAC9D,UAAU,EACVhB,YAAY,EACZ,gBAAgB,EAChBF,MACD,CAAC;;EAED;EACA;EACA,MAAM,CAAEmB,WAAW,CAAE,GAAG,IAAAD,uBAAa,EACpC,UAAU,EACVhB,YAAY,EACZ,SAAS,EACTF,MACD,CAAC;EAED,MAAMoB,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,IAAKL,mBAAmB,EAAG;MAC1B,OAAOA,mBAAmB;IAC3B;IAEA,IAAK,CAAED,qBAAqB,EAAG;MAC9B;IACD;IAEA,MAAMO,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,EAAED,qBAAqB,EAAEI,WAAW,CAAG,CAAC;EAEhE,MAAM;IAAEjC,KAAK;IAAEe,QAAQ;IAAE6B;EAAc,CAAC,GAAG,IAAAC,eAAS,EACjDC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,WAAW;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEI,eAAU,CAAC;IACpB,OAAO;MACNlD,KAAK,EACJkC,aAAa,IACba,QAAQ,CAAEb,aAAa,EAAE;QACxBrB,OAAO,EAAE;MACV,CAAE,CAAC;MACJE,QAAQ,EAAEC,YAAY,IAAIgC,WAAW,CAAEhC,YAAa,CAAC;MACrD4B,aAAa,EAAEK,qBAAqB,CACnC,UAAU,EACVjC,YAAY,EACZF,MACD,CAAC,EAAEqC;IACJ,CAAC;EACF,CAAC,EACD,CAAEjB,aAAa,EAAElB,YAAY,EAAEF,MAAM,CACtC,CAAC;EAED,MAAMsC,QAAQ,GAAGrD,2BAA2B,CAAEC,KAAK,EAAE0B,QAAS,CAAC;EAE/D,MAAM2B,UAAU,GAAG,IAAAR,eAAS,EACzBC,MAAM,IAAMA,MAAM,CAAEQ,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACF,UAAU,EACjE,EACD,CAAC;EACD,MAAMG,gBAAgB,GAAGH,UAAU,CACjCI,MAAM,CAAE,CAAE;IAAExD;EAAK,CAAC,KAAM;IACxB,OAAOD,KAAK,EAAEE,aAAa,EAAEC,KAAK,GAAIF,IAAI,CAAE,EAAEG,UAAU;EACzD,CAAE,CAAC,CACFsD,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAE1D;EAAK,CAAC,MAAQ;IAC7B2D,KAAK,EAAE3D,IAAI;IACX4D,KAAK,EAAEF;EACR,CAAC,CAAG,CAAC;EAEN,MAAMG,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,KAAK,EAAE;MAAExC,KAAK;MAAED,MAAM;MAAED;IAAY;EACrC,CAAE,CAAC;EACH,MAAM2C,WAAW,GAAG,IAAAC,yCAAc,EAAEvD,UAAW,CAAC;EAChD,MAAMwD,WAAW,GAAG,IAAAC,oDAAyB,EAAEzD,UAAW,CAAC;EAC3D,MAAM0D,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAMC,WAAW,GAAKC,OAAO,IAAM;IAClC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAAsF,WAAW;MACXC,SAAS,EAAG,IAAAC,mBAAU,EACrB,gCAAgC,EAChCZ,WAAW,CAACW,SACb,CAAG;MACHE,gBAAgB;MAChBd,KAAK,EAAG;QACPzC,MAAM,EAAE,CAAC,CAAED,WAAW,IAAI,MAAM;QAChCE,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;QAC/B,GAAG2C,WAAW,CAACD,KAAK;QACpB,GAAGG,WAAW,CAACH;MAChB;IAAG,GAEDQ,OACU,CAAC;EAEhB,CAAC;EAED,MAAMO,aAAa,GAAKnB,KAAK,IAAM;IAClC,IAAKA,KAAK,EAAEjB,EAAE,EAAG;MAChBZ,gBAAgB,CAAE6B,KAAK,CAACjB,EAAG,CAAC;IAC7B;EACD,CAAC;EAED,MAAM;IAAEqC;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;EACnD,CAAC;EAED,MAAMC,QAAQ,GAAGjB,gBAAgB,KAAK,SAAS,IAC9C,IAAAI,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACC,IAAAd,MAAA,CAAAC,aAAA,EAAC9E,gBAAA,CAAA4F,OAAe;IACf7E,UAAU,EAAGA,UAAY;IACzBC,aAAa,EAAGA,aAAe;IAC/BF,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAA+D,MAAA,CAAAC,aAAA,EAAC/E,kBAAA,CAAA6F,OAAiB;IACjB9E,QAAQ,EAAGA,QAAU;IACrBC,UAAU,EAAGA,UAAY;IACzBC,aAAa,EAAGA,aAAe;IAC/B4C,gBAAgB,EAAGA;EAAkB,CACrC,CAAC,EACF,IAAAiB,MAAA,CAAAC,aAAA,EAACpF,YAAA,CAAAmG,iBAAiB,QACjB,IAAAhB,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAAqG,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAnB,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAAwG,aAAa;IACbC,uBAAuB;IACvBjC,KAAK,EACJ9C,QAAQ,EAAEgF,MAAM,CAACC,aAAa,GAC3B,IAAAC,aAAO;IACP;IACA,IAAAL,QAAE,EAAE,YAAa,CAAC,EAClB7E,QAAQ,CAACgF,MAAM,CAACC,aAChB,CAAC,GACD,IAAAJ,QAAE,EAAE,cAAe,CACtB;IACDM,QAAQ,EAAGA,CAAA,KAAMtF,aAAa,CAAE;MAAES,MAAM,EAAE,CAAEA;IAAO,CAAE,CAAG;IACxD8E,OAAO,EAAG9E;EAAQ,CAClB,CAAC,EACAA,MAAM,IACP,IAAAoD,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACC,IAAAd,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAAwG,aAAa;IACbC,uBAAuB;IACvBjC,KAAK,EAAG,IAAA+B,QAAE,EAAE,iBAAkB,CAAG;IACjCM,QAAQ,EAAKtC,KAAK,IACjBhD,aAAa,CAAE;MACdgB,UAAU,EAAEgC,KAAK,GAAG,QAAQ,GAAG;IAChC,CAAE,CACF;IACDuC,OAAO,EAAGvE,UAAU,KAAK;EAAU,CACnC,CAAC,EACF,IAAA6C,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAA+G,WAAW;IACXN,uBAAuB;IACvBjC,KAAK,EAAG,IAAA+B,QAAE,EAAE,UAAW,CAAG;IAC1BhC,KAAK,EAAGjC,GAAK;IACbuE,QAAQ,EAAKG,MAAM,IAClBzF,aAAa,CAAE;MAAEe,GAAG,EAAE0E;IAAO,CAAE;EAC/B,CACD,CACA,CAEO,CACO,CAClB,CACF;EAED,IAAIC,KAAK;;EAET;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEpE,aAAa,KAAMhB,uBAAuB,IAAI,CAAEJ,MAAM,CAAE,EAAG;IACjE,OACC,IAAA2D,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACGD,QAAQ,EACV,IAAAb,MAAA,CAAAC,aAAA;MAAA,GAAUZ;IAAU,GACjB,CAAC,CAAEzC,MAAM,GACV,IAAAoD,MAAA,CAAAC,aAAA;MACC6B,IAAI,EAAG3D,aAAe;MACtB4D,MAAM,EAAG5E,UAAY;MAAA,GAChBvB;IAAkB,GAErBkE,WAAW,CAAC,CACZ,CAAC,GAEJA,WAAW,CAAC,CACZ,EACD,IAAAE,MAAA,CAAAC,aAAA,EAAC7E,QAAA,CAAA2F,OAAO;MACP7E,UAAU,EAAGA,UAAY;MACzBC,aAAa,EAAGA,aAAe;MAC/BF,QAAQ,EAAGA;IAAU,CACrB,CACG,CACJ,CAAC;EAEL;EAEA,MAAMmD,KAAK,GAAG,IAAA+B,QAAE,EAAE,sBAAuB,CAAC;EAC1C,MAAMa,WAAW,GAAG;IACnB,GAAGxC,WAAW,CAACD,KAAK;IACpB,GAAGG,WAAW,CAACH,KAAK;IACpBzC,MAAM,EAAED,WAAW,GAAG,MAAM,GAAGC,MAAM;IACrCC,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;IAC/BoF,SAAS,EAAE,CAAC,EAAInF,MAAM,IAAID,WAAW,CAAE,IAAIG;EAC5C,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAES,aAAa,EAAG;IACtBoE,KAAK,GACJ,IAAA7B,MAAA,CAAAC,aAAA,EAACpF,YAAA,CAAAqH,gBAAgB;MAChBC,QAAQ,EAAG7B,aAAe;MAC1B8B,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGhH,mBAAqB;MACpCiH,OAAO,EAAG5B,aAAe;MACzBZ,WAAW,EAAGA,WAAa;MAC3ByC,kBAAkB,EAAGA,CAAE;QAAEC;MAAK,CAAC,KAAM;QACpC,OACC,IAAAxC,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAA6H,MAAM;UACNC,IAAI,EAAGC,aAAQ;UACfC,OAAO,EAAC,SAAS;UACjBxD,KAAK,EAAGA,KAAO;UACfyD,WAAW;UACXC,eAAe,EAAC,YAAY;UAC5BjH,OAAO,EAAGA,CAAA,KAAM;YACf2G,IAAI,CAAC,CAAC;UACP;QAAG,CACH,CAAC;MAEJ;IAAG,CACH,CACD;EACF,CAAC,MAAM;IACN;IACAX,KAAK,GAAG,CAAEtG,KAAK,GACduE,WAAW,CAAC,CAAC,GAEb,IAAAE,MAAA,CAAAC,aAAA;MACCE,SAAS,EAAGX,WAAW,CAACW,SAAW;MACnC4C,GAAG,EAAGpE,QAAU;MAChBqE,GAAG,EACFzH,KAAK,CAAC0H,QAAQ,GACX,IAAAzB,aAAO;MACP;MACA,IAAAL,QAAE,EAAE,oBAAqB,CAAC,EAC1B5F,KAAK,CAAC0H,QACN,CAAC,GACD,IAAA9B,QAAE,EAAE,gBAAiB,CACxB;MACD5B,KAAK,EAAGyC;IAAa,CACrB,CACD;EACF;;EAEA;AACD;AACA;AACA;AACA;AACA;EACC,OACC,IAAAhC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACGD,QAAQ,EACR,CAAC,CAAEtF,KAAK,IAAI,CAAEkB,uBAAuB,IACtC,IAAAuD,MAAA,CAAAC,aAAA,EAACpF,YAAA,CAAAqI,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAnD,MAAA,CAAAC,aAAA,EAACpF,YAAA,CAAAuI,gBAAgB;IAChBC,OAAO,EAAG5F,aAAe;IACzB6F,QAAQ,EAAG3E,QAAU;IACrB0D,YAAY,EAAGhH,mBAAqB;IACpC+G,MAAM,EAAC,SAAS;IAChBD,QAAQ,EAAG7B,aAAe;IAC1BgC,OAAO,EAAG5B;EAAe,GAEzB,IAAAV,MAAA,CAAAC,aAAA,EAACrF,WAAA,CAAA2I,QAAQ;IAAC1H,OAAO,EAAGA,CAAA,KAAMyB,gBAAgB,CAAE,CAAE;EAAG,GAC9C,IAAA6D,QAAE,EAAE,OAAQ,CACL,CACO,CACJ,CACf,EACD,IAAAnB,MAAA,CAAAC,aAAA;IAAA,GAAaZ;EAAU,GAEpB,CAAC,CAAEzC,MAAM,GACV,IAAAoD,MAAA,CAAAC,aAAA;IACC6B,IAAI,EAAG3D,aAAe;IACtB4D,MAAM,EAAG5E,UAAY;IAAA,GAChBvB;EAAkB,GAErBiG,KACA,CAAC,GAEJA,KACA,EACD,IAAA7B,MAAA,CAAAC,aAAA,EAAC7E,QAAA,CAAA2F,OAAO;IACP7E,UAAU,EAAGA,UAAY;IACzBC,aAAa,EAAGA,aAAe;IAC/BF,QAAQ,EAAGA;EAAU,CACrB,CACM,CACP,CAAC;AAEL"}
@@ -77,7 +77,6 @@ const metadata = exports.metadata = {
77
77
  supports: {
78
78
  align: ["left", "right", "center", "wide", "full"],
79
79
  color: {
80
- __experimentalDuotone: "img, .wp-block-post-featured-image__placeholder, .components-placeholder__illustration, .components-placeholder::before",
81
80
  text: false,
82
81
  background: false
83
82
  },
@@ -85,7 +84,6 @@ const metadata = exports.metadata = {
85
84
  color: true,
86
85
  radius: true,
87
86
  width: true,
88
- __experimentalSelector: "img, .block-editor-media-placeholder, .wp-block-post-featured-image__overlay",
89
87
  __experimentalSkipSerialization: true,
90
88
  __experimentalDefaultControls: {
91
89
  color: true,
@@ -93,6 +91,9 @@ const metadata = exports.metadata = {
93
91
  width: true
94
92
  }
95
93
  },
94
+ filter: {
95
+ duotone: true
96
+ },
96
97
  shadow: {
97
98
  __experimentalSkipSerialization: true
98
99
  },
@@ -106,7 +107,11 @@ const metadata = exports.metadata = {
106
107
  }
107
108
  },
108
109
  selectors: {
109
- shadow: ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder"
110
+ border: ".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay",
111
+ shadow: ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder",
112
+ filter: {
113
+ duotone: ".wp-block-post-featured-image img, .wp-block-post-featured-image .wp-block-post-featured-image__placeholder, .wp-block-post-featured-image .components-placeholder__illustration, .wp-block-post-featured-image .components-placeholder::before"
114
+ }
110
115
  },
111
116
  editorStyle: "wp-block-post-featured-image-editor",
112
117
  style: "wp-block-post-featured-image"
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","isLink","type","aspectRatio","width","height","scale","sizeSlug","rel","attribute","linkTarget","overlayColor","customOverlayColor","dimRatio","gradient","customGradient","useFirstImageFromPost","usesContext","supports","align","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalSelector","__experimentalSkipSerialization","__experimentalDefaultControls","shadow","html","spacing","margin","padding","interactivity","clientNavigation","selectors","editorStyle","style","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;IAAA;IAAAG,MAAA;MAAAH,IAAA;IAAA;IAAAI,KAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,QAAA;MAAAL,IAAA;IAAA;IAAAM,GAAA;MAAAN,IAAA;MAAAO,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,YAAA;MAAAT,IAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;IAAA;IAAAW,QAAA;MAAAX,IAAA;MAAA;IAAA;IAAAY,QAAA;MAAAZ,IAAA;IAAA;IAAAa,cAAA;MAAAb,IAAA;IAAA;IAAAc,qBAAA;MAAAd,IAAA;MAAA;IAAA;EAAA;EAAAe,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,qBAAA;MAAAC,IAAA;MAAAC,UAAA;IAAA;IAAAC,oBAAA;MAAAJ,KAAA;MAAAK,MAAA;MAAArB,KAAA;MAAAsB,sBAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAR,KAAA;QAAAK,MAAA;QAAArB,KAAA;MAAA;IAAA;IAAAyB,MAAA;MAAAF,+BAAA;IAAA;IAAAG,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,SAAA;IAAAP,MAAA;EAAA;EAAAQ,WAAA;EAAAC,KAAA;AAAA;AAOA,MAAM;EAAE3C;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAM4C,QAAQ,GAAA/C,OAAA,CAAA+C,QAAA,GAAG;EACvBC,IAAI,EAAJA,wBAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEhD,IAAI;EAAEJ,QAAQ;EAAEgD;AAAS,CAAE,CAAC;AAAC/C,OAAA,CAAAkD,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","isLink","type","aspectRatio","width","height","scale","sizeSlug","rel","attribute","linkTarget","overlayColor","customOverlayColor","dimRatio","gradient","customGradient","useFirstImageFromPost","usesContext","supports","align","color","text","background","__experimentalBorder","radius","__experimentalSkipSerialization","__experimentalDefaultControls","filter","duotone","shadow","html","spacing","margin","padding","interactivity","clientNavigation","selectors","border","editorStyle","style","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;IAAA;IAAAG,MAAA;MAAAH,IAAA;IAAA;IAAAI,KAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,QAAA;MAAAL,IAAA;IAAA;IAAAM,GAAA;MAAAN,IAAA;MAAAO,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,YAAA;MAAAT,IAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;IAAA;IAAAW,QAAA;MAAAX,IAAA;MAAA;IAAA;IAAAY,QAAA;MAAAZ,IAAA;IAAA;IAAAa,cAAA;MAAAb,IAAA;IAAA;IAAAc,qBAAA;MAAAd,IAAA;MAAA;IAAA;EAAA;EAAAe,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,UAAA;IAAA;IAAAC,oBAAA;MAAAH,KAAA;MAAAI,MAAA;MAAApB,KAAA;MAAAqB,+BAAA;MAAAC,6BAAA;QAAAN,KAAA;QAAAI,MAAA;QAAApB,KAAA;MAAA;IAAA;IAAAuB,MAAA;MAAAC,OAAA;IAAA;IAAAC,MAAA;MAAAJ,+BAAA;IAAA;IAAAK,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,SAAA;IAAAC,MAAA;IAAAR,MAAA;IAAAF,MAAA;MAAAC,OAAA;IAAA;EAAA;EAAAU,WAAA;EAAAC,KAAA;AAAA;AAOA,MAAM;EAAE5C;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAM6C,QAAQ,GAAAhD,OAAA,CAAAgD,QAAA,GAAG;EACvBC,IAAI,EAAJA,wBAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEjD,IAAI;EAAEJ,QAAQ;EAAEiD;AAAS,CAAE,CAAC;AAAChD,OAAA,CAAAmD,IAAA,GAAAA,IAAA"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _components = require("@wordpress/components");
9
+ var _blockEditor = require("@wordpress/block-editor");
10
+ var _compose = require("@wordpress/compose");
11
+ var _i18n = require("@wordpress/i18n");
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ const Overlay = ({
17
+ clientId,
18
+ attributes,
19
+ setAttributes,
20
+ overlayColor,
21
+ setOverlayColor
22
+ }) => {
23
+ const {
24
+ dimRatio
25
+ } = attributes;
26
+ const {
27
+ gradientValue,
28
+ setGradient
29
+ } = (0, _blockEditor.__experimentalUseGradient)();
30
+ const colorGradientSettings = (0, _blockEditor.__experimentalUseMultipleOriginColorsAndGradients)();
31
+ if (!colorGradientSettings.hasColorsOrGradients) {
32
+ return null;
33
+ }
34
+ return (0, _react.createElement)(_blockEditor.InspectorControls, {
35
+ group: "color"
36
+ }, (0, _react.createElement)(_blockEditor.__experimentalColorGradientSettingsDropdown, {
37
+ __experimentalIsRenderedInSidebar: true,
38
+ settings: [{
39
+ colorValue: overlayColor.color,
40
+ gradientValue,
41
+ label: (0, _i18n.__)('Overlay'),
42
+ onColorChange: setOverlayColor,
43
+ onGradientChange: setGradient,
44
+ isShownByDefault: true,
45
+ resetAllFilter: () => ({
46
+ overlayColor: undefined,
47
+ customOverlayColor: undefined,
48
+ gradient: undefined,
49
+ customGradient: undefined
50
+ })
51
+ }],
52
+ panelId: clientId,
53
+ ...colorGradientSettings
54
+ }), (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
55
+ hasValue: () => dimRatio !== undefined,
56
+ label: (0, _i18n.__)('Overlay opacity'),
57
+ onDeselect: () => setAttributes({
58
+ dimRatio: 0
59
+ }),
60
+ resetAllFilter: () => ({
61
+ dimRatio: 0
62
+ }),
63
+ isShownByDefault: true,
64
+ panelId: clientId
65
+ }, (0, _react.createElement)(_components.RangeControl, {
66
+ __nextHasNoMarginBottom: true,
67
+ label: (0, _i18n.__)('Overlay opacity'),
68
+ value: dimRatio,
69
+ onChange: newDimRatio => setAttributes({
70
+ dimRatio: newDimRatio
71
+ }),
72
+ min: 0,
73
+ max: 100,
74
+ step: 10,
75
+ required: true,
76
+ __next40pxDefaultSize: true
77
+ })));
78
+ };
79
+ var _default = exports.default = (0, _compose.compose)([(0, _blockEditor.withColors)({
80
+ overlayColor: 'background-color'
81
+ })])(Overlay);
82
+ //# sourceMappingURL=overlay-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_blockEditor","_compose","_i18n","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientValue","setGradient","__experimentalUseGradient","colorGradientSettings","useMultipleOriginColorsAndGradients","hasColorsOrGradients","_react","createElement","InspectorControls","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","label","__","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","undefined","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","value","onChange","newDimRatio","min","max","step","required","__next40pxDefaultSize","_default","exports","default","compose","withColors"],"sources":["@wordpress/block-library/src/post-featured-image/overlay-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\nconst Overlay = ( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\toverlayColor,\n\tsetOverlayColor,\n} ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"color\">\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t/>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => dimRatio !== undefined }\n\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { dimRatio: 0 } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\tdimRatio: 0,\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<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tstep={ 10 }\n\t\t\t\t\trequired\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAfA;AACA;AACA;;AAeA,MAAMI,OAAO,GAAGA,CAAE;EACjBC,QAAQ;EACRC,UAAU;EACVC,aAAa;EACbC,YAAY;EACZC;AACD,CAAC,KAAM;EACN,MAAM;IAAEC;EAAS,CAAC,GAAGJ,UAAU;EAC/B,MAAM;IAAEK,aAAa;IAAEC;EAAY,CAAC,GAAG,IAAAC,sCAAyB,EAAC,CAAC;EAClE,MAAMC,qBAAqB,GAAG,IAAAC,8DAAmC,EAAC,CAAC;EAEnE,IAAK,CAAED,qBAAqB,CAACE,oBAAoB,EAAG;IACnD,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACjB,YAAA,CAAAkB,iBAAiB;IAACC,KAAK,EAAC;EAAO,GAC/B,IAAAH,MAAA,CAAAC,aAAA,EAACjB,YAAA,CAAAoB,2CAA6B;IAC7BC,iCAAiC;IACjCC,QAAQ,EAAG,CACV;MACCC,UAAU,EAAEhB,YAAY,CAACiB,KAAK;MAC9Bd,aAAa;MACbe,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;MACtBC,aAAa,EAAEnB,eAAe;MAC9BoB,gBAAgB,EAAEjB,WAAW;MAC7BkB,gBAAgB,EAAE,IAAI;MACtBC,cAAc,EAAEA,CAAA,MAAQ;QACvBvB,YAAY,EAAEwB,SAAS;QACvBC,kBAAkB,EAAED,SAAS;QAC7BE,QAAQ,EAAEF,SAAS;QACnBG,cAAc,EAAEH;MACjB,CAAC;IACF,CAAC,CACC;IACHI,OAAO,EAAG/B,QAAU;IAAA,GACfS;EAAqB,CAC1B,CAAC,EACF,IAAAG,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAsC,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAM5B,QAAQ,KAAKsB,SAAW;IACzCN,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCY,UAAU,EAAGA,CAAA,KAAMhC,aAAa,CAAE;MAAEG,QAAQ,EAAE;IAAE,CAAE,CAAG;IACrDqB,cAAc,EAAGA,CAAA,MAAQ;MACxBrB,QAAQ,EAAE;IACX,CAAC,CAAI;IACLoB,gBAAgB;IAChBM,OAAO,EAAG/B;EAAU,GAEpB,IAAAY,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAyC,YAAY;IACZC,uBAAuB;IACvBf,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCe,KAAK,EAAGhC,QAAU;IAClBiC,QAAQ,EAAKC,WAAW,IACvBrC,aAAa,CAAE;MACdG,QAAQ,EAAEkC;IACX,CAAE,CACF;IACDC,GAAG,EAAG,CAAG;IACTC,GAAG,EAAG,GAAK;IACXC,IAAI,EAAG,EAAI;IACXC,QAAQ;IACRC,qBAAqB;EAAA,CACrB,CACc,CACE,CAAC;AAEtB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,gBAAO,EAAE,CACvB,IAAAC,uBAAU,EAAE;EAAE9C,YAAY,EAAE;AAAmB,CAAE,CAAC,CACjD,CAAC,CAAEJ,OAAQ,CAAC"}
@@ -7,10 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = require("react");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _components = require("@wordpress/components");
11
10
  var _blockEditor = require("@wordpress/block-editor");
12
11
  var _compose = require("@wordpress/compose");
13
- var _i18n = require("@wordpress/i18n");
14
12
  var _utils = require("./utils");
15
13
  /**
16
14
  * External dependencies
@@ -25,19 +23,15 @@ var _utils = require("./utils");
25
23
  */
26
24
 
27
25
  const Overlay = ({
28
- clientId,
29
26
  attributes,
30
- setAttributes,
31
- overlayColor,
32
- setOverlayColor
27
+ overlayColor
33
28
  }) => {
34
29
  const {
35
30
  dimRatio
36
31
  } = attributes;
37
32
  const {
38
33
  gradientClass,
39
- gradientValue,
40
- setGradient
34
+ gradientValue
41
35
  } = (0, _blockEditor.__experimentalUseGradient)();
42
36
  const colorGradientSettings = (0, _blockEditor.__experimentalUseMultipleOriginColorsAndGradients)();
43
37
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
@@ -46,10 +40,10 @@ const Overlay = ({
46
40
  backgroundImage: gradientValue,
47
41
  ...borderProps.style
48
42
  };
49
- if (!colorGradientSettings.hasColorsOrGradients) {
43
+ if (!colorGradientSettings.hasColorsOrGradients || !dimRatio) {
50
44
  return null;
51
45
  }
52
- return (0, _react.createElement)(_react.Fragment, null, !!dimRatio && (0, _react.createElement)("span", {
46
+ return (0, _react.createElement)("span", {
53
47
  "aria-hidden": "true",
54
48
  className: (0, _classnames.default)('wp-block-post-featured-image__overlay', (0, _utils.dimRatioToClass)(dimRatio), {
55
49
  [overlayColor.class]: overlayColor.class,
@@ -58,50 +52,7 @@ const Overlay = ({
58
52
  [gradientClass]: gradientClass
59
53
  }, borderProps.className),
60
54
  style: overlayStyles
61
- }), (0, _react.createElement)(_blockEditor.InspectorControls, {
62
- group: "color"
63
- }, (0, _react.createElement)(_blockEditor.__experimentalColorGradientSettingsDropdown, {
64
- __experimentalIsRenderedInSidebar: true,
65
- settings: [{
66
- colorValue: overlayColor.color,
67
- gradientValue,
68
- label: (0, _i18n.__)('Overlay'),
69
- onColorChange: setOverlayColor,
70
- onGradientChange: setGradient,
71
- isShownByDefault: true,
72
- resetAllFilter: () => ({
73
- overlayColor: undefined,
74
- customOverlayColor: undefined,
75
- gradient: undefined,
76
- customGradient: undefined
77
- })
78
- }],
79
- panelId: clientId,
80
- ...colorGradientSettings
81
- }), (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
82
- hasValue: () => dimRatio !== undefined,
83
- label: (0, _i18n.__)('Overlay opacity'),
84
- onDeselect: () => setAttributes({
85
- dimRatio: 0
86
- }),
87
- resetAllFilter: () => ({
88
- dimRatio: 0
89
- }),
90
- isShownByDefault: true,
91
- panelId: clientId
92
- }, (0, _react.createElement)(_components.RangeControl, {
93
- __nextHasNoMarginBottom: true,
94
- label: (0, _i18n.__)('Overlay opacity'),
95
- value: dimRatio,
96
- onChange: newDimRatio => setAttributes({
97
- dimRatio: newDimRatio
98
- }),
99
- min: 0,
100
- max: 100,
101
- step: 10,
102
- required: true,
103
- __next40pxDefaultSize: true
104
- }))));
55
+ });
105
56
  };
106
57
  var _default = exports.default = (0, _compose.compose)([(0, _blockEditor.withColors)({
107
58
  overlayColor: 'background-color'
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_blockEditor","_compose","_i18n","_utils","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientClass","gradientValue","setGradient","__experimentalUseGradient","colorGradientSettings","useMultipleOriginColorsAndGradients","borderProps","useBorderProps","overlayStyles","backgroundColor","color","backgroundImage","style","hasColorsOrGradients","_react","createElement","Fragment","className","classnames","dimRatioToClass","class","undefined","InspectorControls","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","label","__","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","value","onChange","newDimRatio","min","max","step","required","__next40pxDefaultSize","_default","exports","default","compose","withColors"],"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { dimRatioToClass } from './utils';\n\nconst Overlay = ( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\toverlayColor,\n\tsetOverlayColor,\n} ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientClass, gradientValue, setGradient } =\n\t\t__experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst overlayStyles = {\n\t\tbackgroundColor: overlayColor.color,\n\t\tbackgroundImage: gradientValue,\n\t\t...borderProps.style,\n\t};\n\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ !! dimRatio && (\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-post-featured-image__overlay',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ overlayStyles }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => dimRatio !== undefined }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () => setAttributes( { dimRatio: 0 } ) }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: 0,\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<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_compose","_utils","Overlay","attributes","overlayColor","dimRatio","gradientClass","gradientValue","__experimentalUseGradient","colorGradientSettings","useMultipleOriginColorsAndGradients","borderProps","useBorderProps","overlayStyles","backgroundColor","color","backgroundImage","style","hasColorsOrGradients","_react","createElement","className","classnames","dimRatioToClass","class","undefined","_default","exports","default","compose","withColors"],"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\twithColors,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { dimRatioToClass } from './utils';\n\nconst Overlay = ( { attributes, overlayColor } ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst overlayStyles = {\n\t\tbackgroundColor: overlayColor.color,\n\t\tbackgroundImage: gradientValue,\n\t\t...borderProps.style,\n\t};\n\n\tif ( ! colorGradientSettings.hasColorsOrGradients || ! dimRatio ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<span\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName={ classnames(\n\t\t\t\t'wp-block-post-featured-image__overlay',\n\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t{\n\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t},\n\t\t\t\tborderProps.className\n\t\t\t) }\n\t\t\tstyle={ overlayStyles }\n\t\t/>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAGA,MAAMI,OAAO,GAAGA,CAAE;EAAEC,UAAU;EAAEC;AAAa,CAAC,KAAM;EACnD,MAAM;IAAEC;EAAS,CAAC,GAAGF,UAAU;EAC/B,MAAM;IAAEG,aAAa;IAAEC;EAAc,CAAC,GAAG,IAAAC,sCAAyB,EAAC,CAAC;EACpE,MAAMC,qBAAqB,GAAG,IAAAC,8DAAmC,EAAC,CAAC;EAEnE,MAAMC,WAAW,GAAG,IAAAC,yCAAc,EAAET,UAAW,CAAC;EAChD,MAAMU,aAAa,GAAG;IACrBC,eAAe,EAAEV,YAAY,CAACW,KAAK;IACnCC,eAAe,EAAET,aAAa;IAC9B,GAAGI,WAAW,CAACM;EAChB,CAAC;EAED,IAAK,CAAER,qBAAqB,CAACS,oBAAoB,IAAI,CAAEb,QAAQ,EAAG;IACjE,OAAO,IAAI;EACZ;EAEA,OACC,IAAAc,MAAA,CAAAC,aAAA;IACC,eAAY,MAAM;IAClBC,SAAS,EAAG,IAAAC,mBAAU,EACrB,uCAAuC,EACvC,IAAAC,sBAAe,EAAElB,QAAS,CAAC,EAC3B;MACC,CAAED,YAAY,CAACoB,KAAK,GAAIpB,YAAY,CAACoB,KAAK;MAC1C,oBAAoB,EAAEnB,QAAQ,KAAKoB,SAAS;MAC5C,yBAAyB,EAAElB,aAAa;MACxC,CAAED,aAAa,GAAIA;IACpB,CAAC,EACDK,WAAW,CAACU,SACb,CAAG;IACHJ,KAAK,EAAGJ;EAAe,CACvB,CAAC;AAEJ,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,IAAAC,gBAAO,EAAE,CACvB,IAAAC,uBAAU,EAAE;EAAE1B,YAAY,EAAE;AAAmB,CAAE,CAAC,CACjD,CAAC,CAAEF,OAAQ,CAAC"}
@@ -11,10 +11,11 @@ var _i18n = require("@wordpress/i18n");
11
11
  var _blockEditor = require("@wordpress/block-editor");
12
12
  var _components = require("@wordpress/components");
13
13
  var _data = require("@wordpress/data");
14
- var _blocks = require("@wordpress/blocks");
15
14
  var _element = require("@wordpress/element");
16
15
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
16
+ var _icons = require("@wordpress/icons");
17
17
  var _deprecated2 = require("./deprecated");
18
+ var _caption = require("../utils/caption");
18
19
  /**
19
20
  * External dependencies
20
21
  */
@@ -69,20 +70,13 @@ function QuoteEdit({
69
70
  insertBlocksAfter,
70
71
  clientId,
71
72
  className,
72
- style
73
+ style,
74
+ isSelected
73
75
  }) {
74
76
  const {
75
- textAlign,
76
- citation
77
+ textAlign
77
78
  } = attributes;
78
79
  useMigrateOnLoad(attributes, clientId);
79
- const hasSelection = (0, _data.useSelect)(select => {
80
- const {
81
- isBlockSelected,
82
- hasSelectedInnerBlock
83
- } = select(_blockEditor.store);
84
- return hasSelectedInnerBlock(clientId, true) || isBlockSelected(clientId);
85
- }, [clientId]);
86
80
  const blockProps = (0, _blockEditor.useBlockProps)({
87
81
  className: (0, _classnames.default)(className, {
88
82
  [`has-text-align-${textAlign}`]: textAlign
@@ -94,7 +88,8 @@ function QuoteEdit({
94
88
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
95
89
  template: TEMPLATE,
96
90
  templateInsertUpdatesSelection: true,
97
- __experimentalCaptureToolbars: true
91
+ __experimentalCaptureToolbars: true,
92
+ renderAppender: false
98
93
  });
99
94
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
100
95
  group: "block"
@@ -107,26 +102,26 @@ function QuoteEdit({
107
102
  }
108
103
  })), (0, _react.createElement)(_components.BlockQuotation, {
109
104
  ...innerBlocksProps
110
- }, innerBlocksProps.children, (!_blockEditor.RichText.isEmpty(citation) || hasSelection) && (0, _react.createElement)(_blockEditor.RichText, {
111
- identifier: "citation",
105
+ }, innerBlocksProps.children, (0, _react.createElement)(_caption.Caption, {
106
+ attributeKey: "citation",
112
107
  tagName: isWebPlatform ? 'cite' : undefined,
113
- style: {
108
+ style: isWebPlatform && {
114
109
  display: 'block'
115
110
  },
116
- value: citation,
117
- onChange: nextCitation => {
118
- setAttributes({
119
- citation: nextCitation
120
- });
121
- },
111
+ isSelected: isSelected,
112
+ attributes: attributes,
113
+ setAttributes: setAttributes,
122
114
  __unstableMobileNoFocusOnMount: true,
123
- "aria-label": (0, _i18n.__)('Quote citation'),
115
+ icon: _icons.verse,
116
+ label: (0, _i18n.__)('Quote citation'),
124
117
  placeholder:
125
118
  // translators: placeholder text used for the
126
119
  // citation
127
120
  (0, _i18n.__)('Add citation'),
121
+ addLabel: (0, _i18n.__)('Add citation'),
122
+ removeLabel: (0, _i18n.__)('Remove citation'),
128
123
  className: "wp-block-quote__citation",
129
- __unstableOnSplitAtEnd: () => insertBlocksAfter((0, _blocks.createBlock)((0, _blocks.getDefaultBlockName)())),
124
+ insertBlocksAfter: insertBlocksAfter,
130
125
  ...(!isWebPlatform ? {
131
126
  textAlign
132
127
  } : {})
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_data","_blocks","_element","_deprecated","_deprecated2","isWebPlatform","Platform","OS","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","useRegistry","updateBlockAttributes","replaceInnerBlocks","useDispatch","blockEditorStore","useEffect","value","newAttributes","newInnerBlocks","migrateToQuoteV2","deprecated","since","version","alternative","batch","QuoteEdit","setAttributes","insertBlocksAfter","className","style","textAlign","citation","hasSelection","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockProps","useBlockProps","classNames","innerBlocksProps","useInnerBlocksProps","template","templateInsertUpdatesSelection","__experimentalCaptureToolbars","_react","createElement","Fragment","BlockControls","group","AlignmentControl","onChange","nextAlign","BlockQuotation","children","RichText","isEmpty","identifier","tagName","undefined","display","nextCitation","__unstableMobileNoFocusOnMount","__","placeholder","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName"],"sources":["@wordpress/block-library/src/quote/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BlockQuotation } from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Platform, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { migrateToQuoteV2 } from './deprecated';\n\nconst isWebPlatform = Platform.OS === 'web';\n\nconst TEMPLATE = [ [ 'core/paragraph', {} ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old quote block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nconst useMigrateOnLoad = ( attributes, clientId ) => {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.value ) {\n\t\t\t// No need to migrate if it doesn't have the value attribute.\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] =\n\t\t\tmigrateToQuoteV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the quote block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.value ] );\n};\n\nexport default function QuoteEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tclientId,\n\tclassName,\n\tstyle,\n} ) {\n\tconst { textAlign, citation } = attributes;\n\n\tuseMigrateOnLoad( attributes, clientId );\n\n\tconst hasSelection = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\thasSelectedInnerBlock( clientId, true ) ||\n\t\t\t\tisBlockSelected( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames( className, {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\t...( ! isWebPlatform && { style } ),\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t__experimentalCaptureToolbars: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockQuotation { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ ( ! RichText.isEmpty( citation ) || hasSelection ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"citation\"\n\t\t\t\t\t\ttagName={ isWebPlatform ? 'cite' : undefined }\n\t\t\t\t\t\tstyle={ { display: 'block' } }\n\t\t\t\t\t\tvalue={ citation }\n\t\t\t\t\t\tonChange={ ( nextCitation ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcitation: nextCitation,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\taria-label={ __( 'Quote citation' ) }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t// translators: placeholder text used for the\n\t\t\t\t\t\t\t// citation\n\t\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"wp-block-quote__citation\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ ...( ! isWebPlatform ? { textAlign } : {} ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockQuotation>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_data","_element","_deprecated","_icons","_deprecated2","_caption","isWebPlatform","Platform","OS","TEMPLATE","useMigrateOnLoad","attributes","clientId","registry","useRegistry","updateBlockAttributes","replaceInnerBlocks","useDispatch","blockEditorStore","useEffect","value","newAttributes","newInnerBlocks","migrateToQuoteV2","deprecated","since","version","alternative","batch","QuoteEdit","setAttributes","insertBlocksAfter","className","style","isSelected","textAlign","blockProps","useBlockProps","classNames","innerBlocksProps","useInnerBlocksProps","template","templateInsertUpdatesSelection","__experimentalCaptureToolbars","renderAppender","_react","createElement","Fragment","BlockControls","group","AlignmentControl","onChange","nextAlign","BlockQuotation","children","Caption","attributeKey","tagName","undefined","display","__unstableMobileNoFocusOnMount","icon","verse","label","__","placeholder","addLabel","removeLabel"],"sources":["@wordpress/block-library/src/quote/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BlockQuotation } from '@wordpress/components';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { Platform, useEffect } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { verse } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { migrateToQuoteV2 } from './deprecated';\nimport { Caption } from '../utils/caption';\n\nconst isWebPlatform = Platform.OS === 'web';\n\nconst TEMPLATE = [ [ 'core/paragraph', {} ] ];\n\n/**\n * At the moment, deprecations don't handle create blocks from attributes\n * (like when using CPT templates). For this reason, this hook is necessary\n * to avoid breaking templates using the old quote block format.\n *\n * @param {Object} attributes Block attributes.\n * @param {string} clientId Block client ID.\n */\nconst useMigrateOnLoad = ( attributes, clientId ) => {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\t// As soon as the block is loaded, migrate it to the new version.\n\n\t\tif ( ! attributes.value ) {\n\t\t\t// No need to migrate if it doesn't have the value attribute.\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ newAttributes, newInnerBlocks ] =\n\t\t\tmigrateToQuoteV2( attributes );\n\n\t\tdeprecated( 'Value attribute on the quote block', {\n\t\t\tsince: '6.0',\n\t\t\tversion: '6.5',\n\t\t\talternative: 'inner blocks',\n\t\t} );\n\n\t\tregistry.batch( () => {\n\t\t\tupdateBlockAttributes( clientId, newAttributes );\n\t\t\treplaceInnerBlocks( clientId, newInnerBlocks );\n\t\t} );\n\t}, [ attributes.value ] );\n};\n\nexport default function QuoteEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tclientId,\n\tclassName,\n\tstyle,\n\tisSelected,\n} ) {\n\tconst { textAlign } = attributes;\n\n\tuseMigrateOnLoad( attributes, clientId );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames( className, {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\t...( ! isWebPlatform && { style } ),\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\ttemplateInsertUpdatesSelection: true,\n\t\t__experimentalCaptureToolbars: true,\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockQuotation { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t<Caption\n\t\t\t\t\tattributeKey=\"citation\"\n\t\t\t\t\ttagName={ isWebPlatform ? 'cite' : undefined }\n\t\t\t\t\tstyle={ isWebPlatform && { display: 'block' } }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\ticon={ verse }\n\t\t\t\t\tlabel={ __( 'Quote citation' ) }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t// translators: placeholder text used for the\n\t\t\t\t\t\t// citation\n\t\t\t\t\t\t__( 'Add citation' )\n\t\t\t\t\t}\n\t\t\t\t\taddLabel={ __( 'Add citation' ) }\n\t\t\t\t\tremoveLabel={ __( 'Remove citation' ) }\n\t\t\t\t\tclassName=\"wp-block-quote__citation\"\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t{ ...( ! isWebPlatform ? { textAlign } : {} ) }\n\t\t\t\t/>\n\t\t\t</BlockQuotation>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -20,13 +20,15 @@ var _blocks = require("@wordpress/blocks");
20
20
  * WordPress dependencies
21
21
  */
22
22
 
23
+ const HEADING_LEVELS = [0, 1, 2, 3, 4, 5, 6];
23
24
  function SiteTaglineEdit({
24
25
  attributes,
25
26
  setAttributes,
26
27
  insertBlocksAfter
27
28
  }) {
28
29
  const {
29
- textAlign
30
+ textAlign,
31
+ level
30
32
  } = attributes;
31
33
  const {
32
34
  canUserEdit,
@@ -45,6 +47,7 @@ function SiteTaglineEdit({
45
47
  tagline: canEdit ? settings?.description : readOnlySettings?.description
46
48
  };
47
49
  }, []);
50
+ const TagName = level === 0 ? 'p' : `h${level}`;
48
51
  const {
49
52
  editEntityRecord
50
53
  } = (0, _data.useDispatch)(_coreData.store);
@@ -64,17 +67,23 @@ function SiteTaglineEdit({
64
67
  onChange: setTagline,
65
68
  "aria-label": (0, _i18n.__)('Site tagline text'),
66
69
  placeholder: (0, _i18n.__)('Write site tagline…'),
67
- tagName: "p",
70
+ tagName: TagName,
68
71
  value: tagline,
69
72
  disableLineBreaks: true,
70
73
  __unstableOnSplitAtEnd: () => insertBlocksAfter((0, _blocks.createBlock)((0, _blocks.getDefaultBlockName)())),
71
74
  ...blockProps
72
- }) : (0, _react.createElement)("p", {
75
+ }) : (0, _react.createElement)(TagName, {
73
76
  ...blockProps
74
77
  }, tagline || (0, _i18n.__)('Site Tagline placeholder'));
75
78
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
76
79
  group: "block"
77
- }, (0, _react.createElement)(_blockEditor.AlignmentControl, {
80
+ }, (0, _react.createElement)(_blockEditor.HeadingLevelDropdown, {
81
+ options: HEADING_LEVELS,
82
+ value: level,
83
+ onChange: newLevel => setAttributes({
84
+ level: newLevel
85
+ })
86
+ }), (0, _react.createElement)(_blockEditor.AlignmentControl, {
78
87
  onChange: newAlign => setAttributes({
79
88
  textAlign: newAlign
80
89
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_coreData","_blockEditor","_i18n","_blocks","SiteTaglineEdit","attributes","setAttributes","insertBlocksAfter","textAlign","canUserEdit","tagline","useSelect","select","canUser","getEntityRecord","getEditedEntityRecord","coreStore","canEdit","settings","readOnlySettings","description","editEntityRecord","useDispatch","setTagline","newTagline","undefined","blockProps","useBlockProps","className","classnames","siteTaglineContent","_react","createElement","RichText","allowedFormats","onChange","__","placeholder","tagName","value","disableLineBreaks","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","Fragment","BlockControls","group","AlignmentControl","newAlign"],"sources":["@wordpress/block-library/src/site-tagline/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tAlignmentControl,\n\tuseBlockProps,\n\tBlockControls,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\nexport default function SiteTaglineEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst { canUserEdit, tagline } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', 'settings' );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canUser( 'update', 'settings' ),\n\t\t\ttagline: canEdit\n\t\t\t\t? settings?.description\n\t\t\t\t: readOnlySettings?.description,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tfunction setTagline( newTagline ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdescription: newTagline,\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-tagline__placeholder': ! canUserEdit && ! tagline,\n\t\t} ),\n\t} );\n\tconst siteTaglineContent = canUserEdit ? (\n\t\t<RichText\n\t\t\tallowedFormats={ [] }\n\t\t\tonChange={ setTagline }\n\t\t\taria-label={ __( 'Site tagline text' ) }\n\t\t\tplaceholder={ __( 'Write site tagline…' ) }\n\t\t\ttagName=\"p\"\n\t\t\tvalue={ tagline }\n\t\t\tdisableLineBreaks\n\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t}\n\t\t\t{ ...blockProps }\n\t\t/>\n\t) : (\n\t\t<p { ...blockProps }>{ tagline || __( 'Site Tagline placeholder' ) }</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ siteTaglineContent }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAMA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAYe,SAASM,eAAeA,CAAE;EACxCC,UAAU;EACVC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAU,CAAC,GAAGH,UAAU;EAChC,MAAM;IAAEI,WAAW;IAAEC;EAAQ,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,MAAM;MAAEC,OAAO;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GACxDH,MAAM,CAAEI,eAAU,CAAC;IACpB,MAAMC,OAAO,GAAGJ,OAAO,CAAE,QAAQ,EAAE,UAAW,CAAC;IAC/C,MAAMK,QAAQ,GAAGD,OAAO,GAAGF,qBAAqB,CAAE,MAAM,EAAE,MAAO,CAAC,GAAG,CAAC,CAAC;IACvE,MAAMI,gBAAgB,GAAGL,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC;IAEpE,OAAO;MACNL,WAAW,EAAEI,OAAO,CAAE,QAAQ,EAAE,UAAW,CAAC;MAC5CH,OAAO,EAAEO,OAAO,GACbC,QAAQ,EAAEE,WAAW,GACrBD,gBAAgB,EAAEC;IACtB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEN,eAAU,CAAC;EAErD,SAASO,UAAUA,CAAEC,UAAU,EAAG;IACjCH,gBAAgB,CAAE,MAAM,EAAE,MAAM,EAAEI,SAAS,EAAE;MAC5CL,WAAW,EAAEI;IACd,CAAE,CAAC;EACJ;EAEA,MAAME,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,mBAAU,EAAE;MACtB,CAAG,kBAAkBrB,SAAW,EAAC,GAAIA,SAAS;MAC9C,oCAAoC,EAAE,CAAEC,WAAW,IAAI,CAAEC;IAC1D,CAAE;EACH,CAAE,CAAC;EACH,MAAMoB,kBAAkB,GAAGrB,WAAW,GACrC,IAAAsB,MAAA,CAAAC,aAAA,EAAC/B,YAAA,CAAAgC,QAAQ;IACRC,cAAc,EAAG,EAAI;IACrBC,QAAQ,EAAGZ,UAAY;IACvB,cAAa,IAAAa,QAAE,EAAE,mBAAoB,CAAG;IACxCC,WAAW,EAAG,IAAAD,QAAE,EAAE,qBAAsB,CAAG;IAC3CE,OAAO,EAAC,GAAG;IACXC,KAAK,EAAG7B,OAAS;IACjB8B,iBAAiB;IACjBC,sBAAsB,EAAGA,CAAA,KACxBlC,iBAAiB,CAAE,IAAAmC,mBAAW,EAAE,IAAAC,2BAAmB,EAAC,CAAE,CAAE,CACxD;IAAA,GACIjB;EAAU,CACf,CAAC,GAEF,IAAAK,MAAA,CAAAC,aAAA;IAAA,GAAQN;EAAU,GAAKhB,OAAO,IAAI,IAAA0B,QAAE,EAAE,0BAA2B,CAAM,CACvE;EACD,OACC,IAAAL,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAa,QAAA,QACC,IAAAb,MAAA,CAAAC,aAAA,EAAC/B,YAAA,CAAA4C,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAf,MAAA,CAAAC,aAAA,EAAC/B,YAAA,CAAA8C,gBAAgB;IAChBZ,QAAQ,EAAKa,QAAQ,IACpB1C,aAAa,CAAE;MAAEE,SAAS,EAAEwC;IAAS,CAAE,CACvC;IACDT,KAAK,EAAG/B;EAAW,CACnB,CACa,CAAC,EACdsB,kBACD,CAAC;AAEL"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_coreData","_blockEditor","_i18n","_blocks","HEADING_LEVELS","SiteTaglineEdit","attributes","setAttributes","insertBlocksAfter","textAlign","level","canUserEdit","tagline","useSelect","select","canUser","getEntityRecord","getEditedEntityRecord","coreStore","canEdit","settings","readOnlySettings","description","TagName","editEntityRecord","useDispatch","setTagline","newTagline","undefined","blockProps","useBlockProps","className","classnames","siteTaglineContent","_react","createElement","RichText","allowedFormats","onChange","__","placeholder","tagName","value","disableLineBreaks","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","Fragment","BlockControls","group","HeadingLevelDropdown","options","newLevel","AlignmentControl","newAlign"],"sources":["@wordpress/block-library/src/site-tagline/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tAlignmentControl,\n\tuseBlockProps,\n\tBlockControls,\n\tHeadingLevelDropdown,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\nconst HEADING_LEVELS = [ 0, 1, 2, 3, 4, 5, 6 ];\n\nexport default function SiteTaglineEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { textAlign, level } = attributes;\n\tconst { canUserEdit, tagline } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', 'settings' );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canUser( 'update', 'settings' ),\n\t\t\ttagline: canEdit\n\t\t\t\t? settings?.description\n\t\t\t\t: readOnlySettings?.description,\n\t\t};\n\t}, [] );\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tfunction setTagline( newTagline ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdescription: newTagline,\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-tagline__placeholder': ! canUserEdit && ! tagline,\n\t\t} ),\n\t} );\n\tconst siteTaglineContent = canUserEdit ? (\n\t\t<RichText\n\t\t\tallowedFormats={ [] }\n\t\t\tonChange={ setTagline }\n\t\t\taria-label={ __( 'Site tagline text' ) }\n\t\t\tplaceholder={ __( 'Write site tagline…' ) }\n\t\t\ttagName={ TagName }\n\t\t\tvalue={ tagline }\n\t\t\tdisableLineBreaks\n\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t}\n\t\t\t{ ...blockProps }\n\t\t/>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ tagline || __( 'Site Tagline placeholder' ) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\toptions={ HEADING_LEVELS }\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ siteTaglineContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -24,6 +24,10 @@ const metadata = exports.metadata = {
24
24
  attributes: {
25
25
  textAlign: {
26
26
  type: "string"
27
+ },
28
+ level: {
29
+ type: "number",
30
+ "default": 0
27
31
  }
28
32
  },
29
33
  example: {},