@wordpress/block-library 6.0.10 → 6.0.14

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 (145) hide show
  1. package/build/cover/edit.js +1 -0
  2. package/build/cover/edit.js.map +1 -1
  3. package/build/gallery/deprecated.js +314 -26
  4. package/build/gallery/deprecated.js.map +1 -1
  5. package/build/gallery/edit-wrapper.js +10 -27
  6. package/build/gallery/edit-wrapper.js.map +1 -1
  7. package/build/gallery/edit.js +10 -12
  8. package/build/gallery/edit.js.map +1 -1
  9. package/build/gallery/save.js +3 -3
  10. package/build/gallery/save.js.map +1 -1
  11. package/build/gallery/shared.js +24 -0
  12. package/build/gallery/shared.js.map +1 -1
  13. package/build/gallery/transforms.js +8 -22
  14. package/build/gallery/transforms.js.map +1 -1
  15. package/build/gallery/use-mobile-warning.js +1 -1
  16. package/build/gallery/use-mobile-warning.js.map +1 -1
  17. package/build/gallery/v1/edit.js +2 -21
  18. package/build/gallery/v1/edit.js.map +1 -1
  19. package/build/image/image.js +30 -6
  20. package/build/image/image.js.map +1 -1
  21. package/build/navigation/deprecated.js +9 -7
  22. package/build/navigation/deprecated.js.map +1 -1
  23. package/build/navigation/edit/index.js +12 -1
  24. package/build/navigation/edit/index.js.map +1 -1
  25. package/build/navigation/edit/inner-blocks.js +0 -4
  26. package/build/navigation/edit/inner-blocks.js.map +1 -1
  27. package/build/navigation/edit/navigation-menu-selector.js +7 -1
  28. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  29. package/build/navigation/menu-items-to-blocks.js +4 -1
  30. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  31. package/build/navigation/view.js +2 -2
  32. package/build/navigation/view.js.map +1 -1
  33. package/build/navigation-submenu/edit.js +5 -1
  34. package/build/navigation-submenu/edit.js.map +1 -1
  35. package/build/post-comments/index.js +1 -1
  36. package/build/query-pagination/index.js +1 -1
  37. package/build/query-pagination-next/index.js +2 -2
  38. package/build/query-pagination-numbers/index.js +1 -1
  39. package/build/query-pagination-previous/index.js +2 -2
  40. package/build/separator/separator-settings.js +1 -0
  41. package/build/separator/separator-settings.js.map +1 -1
  42. package/build/social-links/edit.js +1 -0
  43. package/build/social-links/edit.js.map +1 -1
  44. package/build-module/cover/edit.js +1 -0
  45. package/build-module/cover/edit.js.map +1 -1
  46. package/build-module/gallery/deprecated.js +309 -27
  47. package/build-module/gallery/deprecated.js.map +1 -1
  48. package/build-module/gallery/edit-wrapper.js +7 -27
  49. package/build-module/gallery/edit-wrapper.js.map +1 -1
  50. package/build-module/gallery/edit.js +10 -12
  51. package/build-module/gallery/edit.js.map +1 -1
  52. package/build-module/gallery/save.js +2 -3
  53. package/build-module/gallery/save.js.map +1 -1
  54. package/build-module/gallery/shared.js +22 -0
  55. package/build-module/gallery/shared.js.map +1 -1
  56. package/build-module/gallery/transforms.js +9 -21
  57. package/build-module/gallery/transforms.js.map +1 -1
  58. package/build-module/gallery/use-mobile-warning.js +1 -1
  59. package/build-module/gallery/use-mobile-warning.js.map +1 -1
  60. package/build-module/gallery/v1/edit.js +4 -22
  61. package/build-module/gallery/v1/edit.js.map +1 -1
  62. package/build-module/image/image.js +31 -7
  63. package/build-module/image/image.js.map +1 -1
  64. package/build-module/navigation/deprecated.js +9 -7
  65. package/build-module/navigation/deprecated.js.map +1 -1
  66. package/build-module/navigation/edit/index.js +11 -1
  67. package/build-module/navigation/edit/index.js.map +1 -1
  68. package/build-module/navigation/edit/inner-blocks.js +0 -4
  69. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  70. package/build-module/navigation/edit/navigation-menu-selector.js +6 -1
  71. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  72. package/build-module/navigation/menu-items-to-blocks.js +3 -1
  73. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  74. package/build-module/navigation/view.js +2 -2
  75. package/build-module/navigation/view.js.map +1 -1
  76. package/build-module/navigation-submenu/edit.js +5 -1
  77. package/build-module/navigation-submenu/edit.js.map +1 -1
  78. package/build-module/post-comments/index.js +1 -1
  79. package/build-module/query-pagination/index.js +1 -1
  80. package/build-module/query-pagination-next/index.js +2 -2
  81. package/build-module/query-pagination-numbers/index.js +1 -1
  82. package/build-module/query-pagination-previous/index.js +2 -2
  83. package/build-module/separator/separator-settings.js +1 -0
  84. package/build-module/separator/separator-settings.js.map +1 -1
  85. package/build-module/social-links/edit.js +1 -0
  86. package/build-module/social-links/edit.js.map +1 -1
  87. package/build-style/columns/editor-rtl.css +1 -1
  88. package/build-style/columns/editor.css +1 -1
  89. package/build-style/editor-rtl.css +26 -1
  90. package/build-style/editor.css +26 -1
  91. package/build-style/image/editor-rtl.css +16 -0
  92. package/build-style/image/editor.css +16 -0
  93. package/build-style/navigation/editor-rtl.css +9 -0
  94. package/build-style/navigation/editor.css +9 -0
  95. package/build-style/navigation/style-rtl.css +5 -1
  96. package/build-style/navigation/style.css +5 -1
  97. package/build-style/post-comments/style-rtl.css +3 -1
  98. package/build-style/post-comments/style.css +3 -1
  99. package/build-style/post-comments-form/style-rtl.css +2 -2
  100. package/build-style/post-comments-form/style.css +2 -2
  101. package/build-style/style-rtl.css +10 -4
  102. package/build-style/style.css +10 -4
  103. package/package.json +8 -8
  104. package/src/columns/editor.scss +3 -2
  105. package/src/cover/edit.js +1 -0
  106. package/src/gallery/deprecated.js +831 -559
  107. package/src/gallery/edit-wrapper.js +7 -27
  108. package/src/gallery/edit.js +10 -12
  109. package/src/gallery/index.php +7 -8
  110. package/src/gallery/save.js +2 -1
  111. package/src/gallery/shared.js +24 -0
  112. package/src/gallery/transforms.js +9 -27
  113. package/src/gallery/use-mobile-warning.js +1 -1
  114. package/src/gallery/v1/edit.js +1 -28
  115. package/src/image/editor.scss +18 -0
  116. package/src/image/image.js +32 -8
  117. package/src/image/index.php +1 -1
  118. package/src/navigation/deprecated.js +10 -9
  119. package/src/navigation/edit/index.js +15 -6
  120. package/src/navigation/edit/inner-blocks.js +0 -5
  121. package/src/navigation/edit/navigation-menu-selector.js +8 -0
  122. package/src/navigation/editor.scss +12 -0
  123. package/src/navigation/index.php +149 -26
  124. package/src/navigation/menu-items-to-blocks.js +7 -1
  125. package/src/navigation/style.scss +5 -1
  126. package/src/navigation/view.js +2 -2
  127. package/src/navigation-submenu/edit.js +7 -1
  128. package/src/navigation-submenu/index.php +30 -45
  129. package/src/page-list/index.php +5 -9
  130. package/src/post-comments/block.json +5 -1
  131. package/src/post-comments/index.php +15 -0
  132. package/src/post-comments/style.scss +7 -3
  133. package/src/post-comments-form/style.scss +7 -5
  134. package/src/query-pagination/block.json +1 -1
  135. package/src/query-pagination-next/block.json +2 -2
  136. package/src/query-pagination-numbers/block.json +1 -1
  137. package/src/query-pagination-previous/block.json +2 -2
  138. package/src/separator/separator-settings.js +1 -0
  139. package/src/social-links/edit.js +1 -0
  140. package/src/template-part/index.php +36 -0
  141. package/build/gallery/v1/update-gallery-modal.js +0 -114
  142. package/build/gallery/v1/update-gallery-modal.js.map +0 -1
  143. package/build-module/gallery/v1/update-gallery-modal.js +0 -97
  144. package/build-module/gallery/v1/update-gallery-modal.js.map +0 -1
  145. package/src/gallery/v1/update-gallery-modal.js +0 -97
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["classnames","FastAverageColor","colord","extend","namesPlugin","Fragment","useEffect","useRef","useState","BaseControl","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","ResizableBox","Spinner","TextareaControl","ToggleControl","withNotices","__experimentalUseCustomUnits","useCustomUnits","__experimentalBoxControl","BoxControl","__experimentalToolsPanelItem","ToolsPanelItem","compose","withInstanceId","useInstanceId","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__experimentalUnitControl","UnitControl","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","store","blockEditorStore","__","withDispatch","useSelect","cover","icon","isBlobURL","ALLOWED_MEDIA_TYPES","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","backgroundImageStyles","dimRatioToClass","isContentPositionCenter","getPositionClassName","__Visualizer","BoxControlVisualizer","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","title","instructions","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","isVideoBackground","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\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\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\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 CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\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.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\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\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\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 controls = (\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\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\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\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ temporaryMinHeight || minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\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 hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\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\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\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={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\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\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\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': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( 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<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\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\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\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\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["classnames","FastAverageColor","colord","extend","namesPlugin","Fragment","useEffect","useRef","useState","BaseControl","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","ResizableBox","Spinner","TextareaControl","ToggleControl","withNotices","__experimentalUseCustomUnits","useCustomUnits","__experimentalBoxControl","BoxControl","__experimentalToolsPanelItem","ToolsPanelItem","compose","withInstanceId","useInstanceId","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__experimentalUnitControl","UnitControl","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalBlockFullHeightAligmentControl","FullHeightAlignmentControl","store","blockEditorStore","__","withDispatch","useSelect","cover","icon","isBlobURL","ALLOWED_MEDIA_TYPES","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","backgroundImageStyles","dimRatioToClass","isContentPositionCenter","getPositionClassName","__Visualizer","BoxControlVisualizer","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","title","instructions","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","markNextChangeAsNotPersistent","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","isVideoBackground","temporaryMinHeight","setTemporaryMinHeight","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","dispatch","__unstableMarkNextChangeAsNotPersistent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, withInstanceId, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\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\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: '430', em: '20', rem: '20', vw: '20', vh: '50' },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t\tif ( inputValue === undefined ) {\n\t\t\tonUnitChange();\n\t\t}\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\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 CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tmarkNextChangeAsNotPersistent,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\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.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\tmarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ temporaryMinHeight, setTemporaryMinHeight ] = useState( null );\n\n\tconst minHeightWithUnit = minHeightUnit\n\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: temporaryMinHeight || minHeightWithUnit || undefined,\n\t};\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\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\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 controls = (\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\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\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\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ temporaryMinHeight || minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\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 hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\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\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight:\n\t\t\t\t\t\t\t\ttemporaryMinHeight ||\n\t\t\t\t\t\t\t\tminHeightWithUnit ||\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t} }\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={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\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\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\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': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( 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<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ setTemporaryMinHeight }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\tsetTemporaryMinHeight( null );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{ [ overlayColor.class ]: overlayColor.class },\n\t\t\t\t\t\t'wp-block-cover__gradient-background',\n\t\t\t\t\t\tgradientClass,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: ! url && gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\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\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\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\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\ttoggleSelection,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\ttoggleSelection,\n\t\t\tmarkNextChangeAsNotPersistent: __unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n\twithInstanceId,\n] )( CoverEdit );\n"]}