@wordpress/block-library 9.26.0 → 9.27.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 (174) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +1 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/cover/edit/block-controls.js +4 -2
  5. package/build/cover/edit/block-controls.js.map +1 -1
  6. package/build/cover/edit/index.js +6 -3
  7. package/build/cover/edit/index.js.map +1 -1
  8. package/build/cover/edit/inspector-controls.js +11 -4
  9. package/build/cover/edit/inspector-controls.js.map +1 -1
  10. package/build/cover/edit/poster-image.js +81 -0
  11. package/build/cover/edit/poster-image.js.map +1 -0
  12. package/build/cover/index.js +6 -0
  13. package/build/cover/index.js.map +1 -1
  14. package/build/cover/save.js +3 -1
  15. package/build/cover/save.js.map +1 -1
  16. package/build/details/index.js +1 -1
  17. package/build/details/index.js.map +1 -1
  18. package/build/gallery/constants.js +2 -1
  19. package/build/gallery/constants.js.map +1 -1
  20. package/build/gallery/edit.js +93 -15
  21. package/build/gallery/edit.js.map +1 -1
  22. package/build/image/edit.js +6 -0
  23. package/build/image/edit.js.map +1 -1
  24. package/build/list/index.js +0 -1
  25. package/build/list/index.js.map +1 -1
  26. package/build/media-text/edit.js +2 -2
  27. package/build/media-text/edit.js.map +1 -1
  28. package/build/more/edit.native.js +17 -32
  29. package/build/more/edit.native.js.map +1 -1
  30. package/build/navigation-link/edit.js +49 -16
  31. package/build/navigation-link/edit.js.map +1 -1
  32. package/build/navigation-link/update-attributes.js +112 -14
  33. package/build/navigation-link/update-attributes.js.map +1 -1
  34. package/build/navigation-submenu/edit.js +19 -2
  35. package/build/navigation-submenu/edit.js.map +1 -1
  36. package/build/post-author/edit.js +78 -35
  37. package/build/post-author/edit.js.map +1 -1
  38. package/build/post-comments-form/form.js +1 -1
  39. package/build/post-comments-form/form.js.map +1 -1
  40. package/build/post-content/edit.js +78 -16
  41. package/build/post-content/edit.js.map +1 -1
  42. package/build/post-content/index.js +6 -0
  43. package/build/post-content/index.js.map +1 -1
  44. package/build/post-featured-image/edit.js +2 -1
  45. package/build/post-featured-image/edit.js.map +1 -1
  46. package/build/search/edit.js +1 -1
  47. package/build/search/edit.js.map +1 -1
  48. package/build/separator/edit.js +5 -30
  49. package/build/separator/edit.js.map +1 -1
  50. package/build/site-logo/edit.js +16 -5
  51. package/build/site-logo/edit.js.map +1 -1
  52. package/build/site-tagline/index.js +1 -1
  53. package/build/video/edit.js +2 -5
  54. package/build/video/edit.js.map +1 -1
  55. package/build/video/poster-image.js +25 -25
  56. package/build/video/poster-image.js.map +1 -1
  57. package/build/video/tracks-editor.js +95 -104
  58. package/build/video/tracks-editor.js.map +1 -1
  59. package/build/video/tracks.js +6 -2
  60. package/build/video/tracks.js.map +1 -1
  61. package/build-module/button/edit.js +1 -1
  62. package/build-module/button/edit.js.map +1 -1
  63. package/build-module/cover/edit/block-controls.js +4 -2
  64. package/build-module/cover/edit/block-controls.js.map +1 -1
  65. package/build-module/cover/edit/index.js +6 -3
  66. package/build-module/cover/edit/index.js.map +1 -1
  67. package/build-module/cover/edit/inspector-controls.js +10 -4
  68. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  69. package/build-module/cover/edit/poster-image.js +74 -0
  70. package/build-module/cover/edit/poster-image.js.map +1 -0
  71. package/build-module/cover/index.js +6 -0
  72. package/build-module/cover/index.js.map +1 -1
  73. package/build-module/cover/save.js +3 -1
  74. package/build-module/cover/save.js.map +1 -1
  75. package/build-module/details/index.js +1 -1
  76. package/build-module/details/index.js.map +1 -1
  77. package/build-module/gallery/constants.js +1 -0
  78. package/build-module/gallery/constants.js.map +1 -1
  79. package/build-module/gallery/edit.js +95 -17
  80. package/build-module/gallery/edit.js.map +1 -1
  81. package/build-module/image/edit.js +6 -0
  82. package/build-module/image/edit.js.map +1 -1
  83. package/build-module/list/index.js +0 -1
  84. package/build-module/list/index.js.map +1 -1
  85. package/build-module/media-text/edit.js +2 -2
  86. package/build-module/media-text/edit.js.map +1 -1
  87. package/build-module/more/edit.native.js +16 -30
  88. package/build-module/more/edit.native.js.map +1 -1
  89. package/build-module/navigation-link/edit.js +50 -17
  90. package/build-module/navigation-link/edit.js.map +1 -1
  91. package/build-module/navigation-link/update-attributes.js +113 -15
  92. package/build-module/navigation-link/update-attributes.js.map +1 -1
  93. package/build-module/navigation-submenu/edit.js +20 -3
  94. package/build-module/navigation-submenu/edit.js.map +1 -1
  95. package/build-module/post-author/edit.js +78 -35
  96. package/build-module/post-author/edit.js.map +1 -1
  97. package/build-module/post-comments-form/form.js +1 -1
  98. package/build-module/post-comments-form/form.js.map +1 -1
  99. package/build-module/post-content/edit.js +80 -18
  100. package/build-module/post-content/edit.js.map +1 -1
  101. package/build-module/post-content/index.js +6 -0
  102. package/build-module/post-content/index.js.map +1 -1
  103. package/build-module/post-featured-image/edit.js +2 -1
  104. package/build-module/post-featured-image/edit.js.map +1 -1
  105. package/build-module/search/edit.js +1 -1
  106. package/build-module/search/edit.js.map +1 -1
  107. package/build-module/separator/edit.js +6 -31
  108. package/build-module/separator/edit.js.map +1 -1
  109. package/build-module/site-logo/edit.js +17 -6
  110. package/build-module/site-logo/edit.js.map +1 -1
  111. package/build-module/site-tagline/index.js +1 -1
  112. package/build-module/video/edit.js +2 -5
  113. package/build-module/video/edit.js.map +1 -1
  114. package/build-module/video/poster-image.js +26 -26
  115. package/build-module/video/poster-image.js.map +1 -1
  116. package/build-module/video/tracks-editor.js +96 -105
  117. package/build-module/video/tracks-editor.js.map +1 -1
  118. package/build-module/video/tracks.js +6 -2
  119. package/build-module/video/tracks.js.map +1 -1
  120. package/build-style/archives/editor-rtl.css +0 -4
  121. package/build-style/archives/editor.css +0 -4
  122. package/build-style/editor-rtl.css +0 -21
  123. package/build-style/editor.css +0 -21
  124. package/build-style/file/style-rtl.css +1 -1
  125. package/build-style/file/style.css +1 -1
  126. package/build-style/gallery/editor-rtl.css +0 -13
  127. package/build-style/gallery/editor.css +0 -13
  128. package/build-style/navigation/style-rtl.css +2 -0
  129. package/build-style/navigation/style.css +2 -0
  130. package/build-style/style-rtl.css +3 -1
  131. package/build-style/style.css +3 -1
  132. package/build-style/video/editor-rtl.css +0 -4
  133. package/build-style/video/editor.css +0 -4
  134. package/package.json +35 -35
  135. package/src/archives/editor.scss +0 -4
  136. package/src/button/edit.js +1 -1
  137. package/src/comments-pagination/index.php +7 -2
  138. package/src/cover/block.json +6 -0
  139. package/src/cover/edit/block-controls.js +22 -17
  140. package/src/cover/edit/index.js +4 -1
  141. package/src/cover/edit/inspector-controls.js +12 -3
  142. package/src/cover/edit/poster-image.js +91 -0
  143. package/src/cover/save.js +2 -0
  144. package/src/details/index.js +1 -1
  145. package/src/file/style.scss +1 -1
  146. package/src/gallery/constants.js +1 -0
  147. package/src/gallery/edit.js +182 -68
  148. package/src/gallery/editor.scss +0 -17
  149. package/src/image/edit.js +12 -0
  150. package/src/list/block.json +0 -1
  151. package/src/media-text/edit.js +1 -1
  152. package/src/more/edit.native.js +19 -33
  153. package/src/navigation/style.scss +2 -0
  154. package/src/navigation-link/edit.js +46 -17
  155. package/src/navigation-link/test/edit.js +738 -6
  156. package/src/navigation-link/update-attributes.js +125 -12
  157. package/src/navigation-submenu/edit.js +21 -1
  158. package/src/post-author/edit.js +91 -40
  159. package/src/post-comments-form/form.js +1 -1
  160. package/src/post-content/block.json +6 -0
  161. package/src/post-content/edit.js +71 -19
  162. package/src/post-content/index.php +11 -4
  163. package/src/post-featured-image/edit.js +1 -0
  164. package/src/post-featured-image/index.php +3 -2
  165. package/src/rss/index.php +2 -1
  166. package/src/search/edit.js +1 -1
  167. package/src/separator/edit.js +8 -43
  168. package/src/site-logo/edit.js +22 -10
  169. package/src/site-tagline/block.json +1 -1
  170. package/src/video/edit.js +1 -4
  171. package/src/video/editor.scss +0 -6
  172. package/src/video/poster-image.js +29 -24
  173. package/src/video/tracks-editor.js +93 -103
  174. package/src/video/tracks.js +2 -1
@@ -9,9 +9,13 @@ function Tracks({
9
9
  tracks = []
10
10
  }) {
11
11
  return tracks.map(track => {
12
+ const {
13
+ id,
14
+ ...trackAttrs
15
+ } = track;
12
16
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("track", {
13
- ...track
14
- }, track.src);
17
+ ...trackAttrs
18
+ }, id !== null && id !== void 0 ? id : trackAttrs.src);
15
19
  });
16
20
  }
17
21
  //# sourceMappingURL=tracks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Tracks","tracks","map","track","_jsxRuntime","jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,oBAAO,IAAAC,WAAA,CAAAC,GAAA;MAAA,GAA8BF;IAAK,GAAtBA,KAAK,CAACG,GAAoB,CAAC;EAChD,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["Tracks","tracks","map","track","id","trackAttrs","_jsxRuntime","jsx","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\tconst { id, ...trackAttrs } = track;\n\t\treturn <track key={ id ?? trackAttrs.src } { ...trackAttrs } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,MAAM;MAAEC,EAAE;MAAE,GAAGC;IAAW,CAAC,GAAGF,KAAK;IACnC,oBAAO,IAAAG,WAAA,CAAAC,GAAA;MAAA,GAAyCF;IAAU,GAAtCD,EAAE,aAAFA,EAAE,cAAFA,EAAE,GAAIC,UAAU,CAACG,GAAyB,CAAC;EAChE,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -111,7 +111,7 @@ function WidthPanel({
111
111
  children: [25, 50, 75, 100].map(widthValue => {
112
112
  return /*#__PURE__*/_jsx(ToggleGroupControlOption, {
113
113
  value: widthValue,
114
- label: sprintf(/* translators: Percentage value. */
114
+ label: sprintf(/* translators: %d: Percentage value. */
115
115
  __('%d%%'), widthValue)
116
116
  }, widthValue);
117
117
  })
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","useToolsPanelDropdownMenuProps","unlock","__","sprintf","useEffect","useState","useRef","useMemo","createInterpolateElement","TextControl","ToolbarButton","Popover","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","LinkControl","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","getTypographyClassesAndStyles","useTypographyProps","useSettings","privateApis","blockEditorPrivateApis","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","getBlockBindingsSource","useMergeRefs","useRefEffect","useSelect","useDispatch","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HTMLElementControl","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","dropdownMenuProps","label","resetAll","width","undefined","children","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","value","onChange","newWidth","isBlock","__next40pxDefaultSize","map","widthValue","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","createPageEntity","userCanCreatePages","lockUrlControls","select","_settings","getSettings","blockBindingsSource","bindings","source","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","canUserEditValue","args","handleCreate","pageTitle","page","status","type","rendered","kind","createButtonText","searchTerm","mark","linkValue","useEnterRef","mergedRef","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","hasNonContentControls","hasBlockControls","withoutInteractiveFormatting","border","radius","fontSize","writingMode","onMerge","identifier","group","nextAlign","name","icon","shortcut","onClick","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","createSuggestion","withCreateSuggestion","createSuggestionButtonText","options","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => setAttributes( { width: undefined } ) }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! selectedWidth }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tvalue={ selectedWidth }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t}\n\t\t\t\t\tisBlock\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\twidthValue\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</ToggleGroupControl>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst hasBlockControls =\n\t\thasNonContentControls || ( isLinkTag && ! lockUrlControls );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ hasNonContentControls && (\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ ! isURLSet ? link : linkOff }\n\t\t\t\t\t\t\ttitle={ ! isURLSet ? __( 'Link' ) : __( 'Unlink' ) }\n\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t! isURLSet\n\t\t\t\t\t\t\t\t\t? displayShortcut.primary( 'k' )\n\t\t\t\t\t\t\t\t\t: displayShortcut.primaryShift( 'k' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ ! isURLSet ? startEditing : unlink }\n\t\t\t\t\t\t\tisActive={ isURLSet }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<a>)' ), value: 'a' },\n\t\t\t\t\t\t{ label: '<button>', value: 'button' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","useToolsPanelDropdownMenuProps","unlock","__","sprintf","useEffect","useState","useRef","useMemo","createInterpolateElement","TextControl","ToolbarButton","Popover","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","LinkControl","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","getTypographyClassesAndStyles","useTypographyProps","useSettings","privateApis","blockEditorPrivateApis","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","getBlockBindingsSource","useMergeRefs","useRefEffect","useSelect","useDispatch","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HTMLElementControl","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","dropdownMenuProps","label","resetAll","width","undefined","children","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","value","onChange","newWidth","isBlock","__next40pxDefaultSize","map","widthValue","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","createPageEntity","userCanCreatePages","lockUrlControls","select","_settings","getSettings","blockBindingsSource","bindings","source","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","canUserEditValue","args","handleCreate","pageTitle","page","status","type","rendered","kind","createButtonText","searchTerm","mark","linkValue","useEnterRef","mergedRef","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","hasNonContentControls","hasBlockControls","withoutInteractiveFormatting","border","radius","fontSize","writingMode","onMerge","identifier","group","nextAlign","name","icon","shortcut","onClick","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","createSuggestion","withCreateSuggestion","createSuggestionButtonText","options","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tLinkControl,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst { HTMLElementControl } = unlock( blockEditorPrivateApis );\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => setAttributes( { width: undefined } ) }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => !! selectedWidth }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tvalue={ selectedWidth }\n\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t}\n\t\t\t\t\tisBlock\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t>\n\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Percentage value. */\n\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\twidthValue\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</ToggleGroupControl>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tconst {\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tlockUrlControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst hasBlockControls =\n\t\thasNonContentControls || ( isLinkTag && ! lockUrlControls );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\ttypographyProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t\t[ `has-custom-font-size` ]:\n\t\t\t\t\t\t\t\tblockProps.style.fontSize,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t\t...typographyProps.style,\n\t\t\t\t\t\twritingMode: undefined,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasBlockControls && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t{ hasNonContentControls && (\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ ! isURLSet ? link : linkOff }\n\t\t\t\t\t\t\ttitle={ ! isURLSet ? __( 'Link' ) : __( 'Unlink' ) }\n\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t! isURLSet\n\t\t\t\t\t\t\t\t\t? displayShortcut.primary( 'k' )\n\t\t\t\t\t\t\t\t\t: displayShortcut.primaryShift( 'k' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ ! isURLSet ? startEditing : unlink }\n\t\t\t\t\t\t\tisActive={ isURLSet }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t\tcreateSuggestion={\n\t\t\t\t\t\t\t\tcreatePageEntity && handleCreate\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<HTMLElementControl\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<a>)' ), value: 'a' },\n\t\t\t\t\t\t{ label: '<button>', value: 'button' },\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,8 @@ export default function CoverBlockControls({
20
20
  onSelectMedia,
21
21
  currentSettings,
22
22
  toggleUseFeaturedImage,
23
- onClearMedia
23
+ onClearMedia,
24
+ blockEditingMode
24
25
  }) {
25
26
  const {
26
27
  contentPosition,
@@ -36,6 +37,7 @@ export default function CoverBlockControls({
36
37
  const [prevMinHeightValue, setPrevMinHeightValue] = useState(minHeight);
37
38
  const [prevMinHeightUnit, setPrevMinHeightUnit] = useState(minHeightUnit);
38
39
  const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100 && !attributes?.style?.dimensions?.aspectRatio;
40
+ const isContentOnlyMode = blockEditingMode === 'contentOnly';
39
41
  const toggleMinFullHeight = () => {
40
42
  if (isMinFullHeight) {
41
43
  // If there aren't previous values, take the default ones.
@@ -69,7 +71,7 @@ export default function CoverBlockControls({
69
71
  });
70
72
  };
71
73
  return /*#__PURE__*/_jsxs(_Fragment, {
72
- children: [/*#__PURE__*/_jsxs(BlockControls, {
74
+ children: [!isContentOnlyMode && /*#__PURE__*/_jsxs(BlockControls, {
73
75
  group: "block",
74
76
  children: [/*#__PURE__*/_jsx(BlockAlignmentMatrixControl, {
75
77
  label: __('Change content position'),
@@ -1 +1 @@
1
- {"version":3,"names":["useState","BlockControls","MediaReplaceFlow","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","privateApis","blockEditorPrivateApis","__","ALLOWED_MEDIA_TYPES","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","cleanEmptyObject","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","onClearMedia","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","style","dimensions","aspectRatio","toggleMinFullHeight","undefined","children","group","label","value","onChange","nextPosition","isDisabled","isActive","onToggle","mediaId","mediaURL","allowedTypes","accept","onSelect","onToggleFeaturedImage","name","onReset"],"sources":["@wordpress/block-library/src/cover/edit/block-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","BlockControls","MediaReplaceFlow","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","privateApis","blockEditorPrivateApis","__","ALLOWED_MEDIA_TYPES","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","cleanEmptyObject","CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","toggleUseFeaturedImage","onClearMedia","blockEditingMode","contentPosition","id","useFeaturedImage","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","style","dimensions","aspectRatio","isContentOnlyMode","toggleMinFullHeight","undefined","children","group","label","value","onChange","nextPosition","isDisabled","isActive","onToggle","mediaId","mediaURL","allowedTypes","accept","onSelect","onToggleFeaturedImage","name","onReset"],"sources":["@wordpress/block-library/src/cover/edit/block-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n\ttoggleUseFeaturedImage,\n\tonClearMedia,\n\tblockEditingMode,\n} ) {\n\tconst { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } =\n\t\tattributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] =\n\t\tuseState( minHeightUnit );\n\tconst isMinFullHeight =\n\t\tminHeightUnit === 'vh' &&\n\t\tminHeight === 100 &&\n\t\t! attributes?.style?.dimensions?.aspectRatio;\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height, and clear any aspect ratio value.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...attributes?.style,\n\t\t\t\tdimensions: {\n\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t},\n\t\t\t} ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isContentOnlyMode && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t\tname={ ! url ? __( 'Add media' ) : __( 'Replace' ) }\n\t\t\t\t\tonReset={ onClearMedia }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -77,7 +77,8 @@ function CoverEdit({
77
77
  templateLock,
78
78
  tagName: TagName = 'div',
79
79
  isUserOverlayColor,
80
- sizeSlug
80
+ sizeSlug,
81
+ poster
81
82
  } = attributes;
82
83
  const [featuredImage] = useEntityProp('postType', postType, 'featured_media', postId);
83
84
  const {
@@ -239,7 +240,7 @@ function CoverEdit({
239
240
  }] = useResizeObserver();
240
241
  const resizableBoxDimensions = useMemo(() => {
241
242
  return {
242
- height: minHeightUnit === 'px' ? minHeight : 'auto',
243
+ height: minHeightUnit === 'px' && minHeight ? minHeight : 'auto',
243
244
  width: 'auto'
244
245
  };
245
246
  }, [minHeight, minHeightUnit]);
@@ -321,7 +322,8 @@ function CoverEdit({
321
322
  onSelectMedia: onSelectMedia,
322
323
  currentSettings: currentSettings,
323
324
  toggleUseFeaturedImage: toggleUseFeaturedImage,
324
- onClearMedia: onClearMedia
325
+ onClearMedia: onClearMedia,
326
+ blockEditingMode: blockEditingMode
325
327
  });
326
328
  const inspectorControls = /*#__PURE__*/_jsx(CoverInspectorControls, {
327
329
  attributes: attributes,
@@ -435,6 +437,7 @@ function CoverEdit({
435
437
  muted: true,
436
438
  loop: true,
437
439
  src: url,
440
+ poster: poster,
438
441
  style: mediaStyle
439
442
  }), showOverlay && /*#__PURE__*/_jsx("span", {
440
443
  "aria-hidden": "true",
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","_media$media_details$","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","undefined","mediaUrl","media_details","sizes","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","newDimRatio","imageDefaultSize","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","asButtons","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { media } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tasButtons\n\t\t\t\t\t\t\t\taria-label={ __( 'Overlay color' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","_media$media_details$","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","poster","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","undefined","mediaUrl","media_details","sizes","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","newDimRatio","imageDefaultSize","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","asButtons","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\n\t\tposter,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { media } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' && minHeight ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tblockEditingMode={ blockEditingMode }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tasButtons\n\t\t\t\t\t\t\t\taria-label={ __( 'Overlay color' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ import { COVER_MIN_HEIGHT, mediaPosition } from '../shared';
16
16
  import { unlock } from '../../lock-unlock';
17
17
  import { useToolsPanelDropdownMenuProps } from '../../utils/hooks';
18
18
  import { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';
19
+ import PosterImage from './poster-image';
19
20
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
20
21
  const {
21
22
  cleanEmptyObject,
@@ -87,7 +88,8 @@ export default function CoverInspectorControls({
87
88
  minHeight,
88
89
  minHeightUnit,
89
90
  alt,
90
- tagName
91
+ tagName,
92
+ poster
91
93
  } = attributes;
92
94
  const {
93
95
  isVideoBackground,
@@ -158,15 +160,16 @@ export default function CoverInspectorControls({
158
160
  focalPoint: undefined,
159
161
  isRepeated: false,
160
162
  alt: '',
161
- sizeSlug: undefined
163
+ poster: undefined
162
164
  });
165
+ updateImage(DEFAULT_MEDIA_SIZE_SLUG);
163
166
  },
164
167
  dropdownMenuProps: dropdownMenuProps,
165
168
  children: [isImageBackground && /*#__PURE__*/_jsxs(_Fragment, {
166
169
  children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
167
170
  label: __('Fixed background'),
168
171
  isShownByDefault: true,
169
- hasValue: () => hasParallax,
172
+ hasValue: () => !!hasParallax,
170
173
  onDeselect: () => setAttributes({
171
174
  hasParallax: false,
172
175
  focalPoint: undefined
@@ -174,7 +177,7 @@ export default function CoverInspectorControls({
174
177
  children: /*#__PURE__*/_jsx(ToggleControl, {
175
178
  __nextHasNoMarginBottom: true,
176
179
  label: __('Fixed background'),
177
- checked: hasParallax,
180
+ checked: !!hasParallax,
178
181
  onChange: toggleParallax
179
182
  })
180
183
  }), /*#__PURE__*/_jsx(ToolsPanelItem, {
@@ -209,6 +212,9 @@ export default function CoverInspectorControls({
209
212
  focalPoint: newFocalPoint
210
213
  })
211
214
  })
215
+ }), isVideoBackground && /*#__PURE__*/_jsx(PosterImage, {
216
+ poster: poster,
217
+ setAttributes: setAttributes
212
218
  }), !useFeaturedImage && url && !isVideoBackground && /*#__PURE__*/_jsx(ToolsPanelItem, {
213
219
  label: __('Alternative text'),
214
220
  isShownByDefault: true,