@wordpress/block-library 7.15.0 → 7.16.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 (180) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/build/code/utils.js +3 -3
  3. package/build/code/utils.js.map +1 -1
  4. package/build/comments-pagination-numbers/index.js +7 -0
  5. package/build/comments-pagination-numbers/index.js.map +1 -1
  6. package/build/gallery/gallery.js +2 -28
  7. package/build/gallery/gallery.js.map +1 -1
  8. package/build/group/edit.js +1 -1
  9. package/build/group/edit.js.map +1 -1
  10. package/build/navigation/edit/index.js +12 -12
  11. package/build/navigation/edit/index.js.map +1 -1
  12. package/build/paragraph/deprecated.js +49 -10
  13. package/build/paragraph/deprecated.js.map +1 -1
  14. package/build/paragraph/drop-zone.js +99 -0
  15. package/build/paragraph/drop-zone.js.map +1 -0
  16. package/build/paragraph/edit.js +30 -6
  17. package/build/paragraph/edit.js.map +1 -1
  18. package/build/paragraph/save.js +3 -1
  19. package/build/paragraph/save.js.map +1 -1
  20. package/build/post-author/edit.js +20 -2
  21. package/build/post-author/edit.js.map +1 -1
  22. package/build/post-author/index.js +8 -0
  23. package/build/post-author/index.js.map +1 -1
  24. package/build/post-content/edit.js +6 -1
  25. package/build/post-content/edit.js.map +1 -1
  26. package/build/post-featured-image/index.js +1 -1
  27. package/build/post-featured-image/overlay.js +2 -2
  28. package/build/post-featured-image/overlay.js.map +1 -1
  29. package/build/post-terms/index.js +4 -0
  30. package/build/post-terms/index.js.map +1 -1
  31. package/build/query/edit/inspector-controls/author-control.js +2 -1
  32. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  33. package/build/query/edit/inspector-controls/index.js +1 -1
  34. package/build/query/edit/inspector-controls/index.js.map +1 -1
  35. package/build/query/edit/inspector-controls/parent-control.js +2 -1
  36. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  37. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -1
  38. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  39. package/build/query/utils.js +1 -1
  40. package/build/query/utils.js.map +1 -1
  41. package/build/quote/index.js +0 -1
  42. package/build/quote/index.js.map +1 -1
  43. package/build/site-title/index.js +2 -1
  44. package/build/site-title/index.js.map +1 -1
  45. package/build/template-part/index.js +2 -2
  46. package/build/template-part/index.js.map +1 -1
  47. package/build/video/edit.js +13 -1
  48. package/build/video/edit.js.map +1 -1
  49. package/build-module/code/utils.js +3 -3
  50. package/build-module/code/utils.js.map +1 -1
  51. package/build-module/comments-pagination-numbers/index.js +7 -0
  52. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  53. package/build-module/gallery/gallery.js +2 -29
  54. package/build-module/gallery/gallery.js.map +1 -1
  55. package/build-module/group/edit.js +1 -1
  56. package/build-module/group/edit.js.map +1 -1
  57. package/build-module/navigation/edit/index.js +12 -12
  58. package/build-module/navigation/edit/index.js.map +1 -1
  59. package/build-module/paragraph/deprecated.js +49 -11
  60. package/build-module/paragraph/deprecated.js.map +1 -1
  61. package/build-module/paragraph/drop-zone.js +88 -0
  62. package/build-module/paragraph/drop-zone.js.map +1 -0
  63. package/build-module/paragraph/edit.js +29 -6
  64. package/build-module/paragraph/edit.js.map +1 -1
  65. package/build-module/paragraph/save.js +2 -1
  66. package/build-module/paragraph/save.js.map +1 -1
  67. package/build-module/post-author/edit.js +21 -2
  68. package/build-module/post-author/edit.js.map +1 -1
  69. package/build-module/post-author/index.js +8 -0
  70. package/build-module/post-author/index.js.map +1 -1
  71. package/build-module/post-content/edit.js +6 -1
  72. package/build-module/post-content/edit.js.map +1 -1
  73. package/build-module/post-featured-image/index.js +1 -1
  74. package/build-module/post-featured-image/overlay.js +2 -2
  75. package/build-module/post-featured-image/overlay.js.map +1 -1
  76. package/build-module/post-terms/index.js +4 -0
  77. package/build-module/post-terms/index.js.map +1 -1
  78. package/build-module/query/edit/inspector-controls/author-control.js +2 -1
  79. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  80. package/build-module/query/edit/inspector-controls/index.js +1 -1
  81. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  82. package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
  83. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  84. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -1
  85. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  86. package/build-module/query/utils.js +1 -1
  87. package/build-module/query/utils.js.map +1 -1
  88. package/build-module/quote/index.js +0 -1
  89. package/build-module/quote/index.js.map +1 -1
  90. package/build-module/site-title/index.js +2 -1
  91. package/build-module/site-title/index.js.map +1 -1
  92. package/build-module/template-part/index.js +2 -2
  93. package/build-module/template-part/index.js.map +1 -1
  94. package/build-module/video/edit.js +15 -3
  95. package/build-module/video/edit.js.map +1 -1
  96. package/build-style/classic-rtl.css +85 -0
  97. package/build-style/classic.css +85 -0
  98. package/build-style/code/style-rtl.css +3 -0
  99. package/build-style/code/style.css +3 -0
  100. package/build-style/editor-rtl.css +110 -31
  101. package/build-style/editor.css +110 -31
  102. package/build-style/group/editor-rtl.css +11 -1
  103. package/build-style/group/editor.css +11 -1
  104. package/build-style/image/editor-rtl.css +3 -0
  105. package/build-style/image/editor.css +3 -0
  106. package/build-style/navigation/editor-rtl.css +15 -1
  107. package/build-style/navigation/editor.css +15 -1
  108. package/build-style/navigation/style-rtl.css +3 -0
  109. package/build-style/navigation/style.css +3 -0
  110. package/build-style/paragraph/editor-rtl.css +16 -0
  111. package/build-style/paragraph/editor.css +16 -0
  112. package/build-style/paragraph/style-rtl.css +5 -0
  113. package/build-style/paragraph/style.css +5 -0
  114. package/build-style/post-featured-image/editor-rtl.css +39 -29
  115. package/build-style/post-featured-image/editor.css +39 -29
  116. package/build-style/post-terms/style-rtl.css +4 -1
  117. package/build-style/post-terms/style.css +4 -1
  118. package/build-style/site-title/editor-rtl.css +4 -0
  119. package/build-style/site-title/editor.css +4 -0
  120. package/build-style/site-title/style-rtl.css +79 -0
  121. package/build-style/site-title/style.css +79 -0
  122. package/build-style/style-rtl.css +19 -1
  123. package/build-style/style.css +19 -1
  124. package/build-style/video/editor-rtl.css +22 -0
  125. package/build-style/video/editor.css +22 -0
  126. package/package.json +28 -28
  127. package/src/archives/index.php +4 -7
  128. package/src/categories/index.php +1 -1
  129. package/src/classic.scss +15 -0
  130. package/src/code/style.scss +12 -7
  131. package/src/code/utils.js +3 -3
  132. package/src/comment-author-name/index.php +1 -1
  133. package/src/comment-reply-link/index.php +1 -1
  134. package/src/comment-template/index.php +18 -9
  135. package/src/comments-pagination-numbers/block.json +7 -0
  136. package/src/cover/index.php +1 -1
  137. package/src/gallery/gallery.js +1 -31
  138. package/src/group/edit.js +1 -1
  139. package/src/image/editor.scss +4 -0
  140. package/src/latest-posts/index.php +1 -1
  141. package/src/navigation/edit/index.js +12 -10
  142. package/src/navigation/editor.scss +6 -0
  143. package/src/navigation/style.scss +8 -0
  144. package/src/navigation-submenu/index.php +11 -2
  145. package/src/page-list/index.php +3 -3
  146. package/src/paragraph/deprecated.js +36 -0
  147. package/src/paragraph/drop-zone.js +105 -0
  148. package/src/paragraph/edit.js +37 -9
  149. package/src/paragraph/editor.scss +20 -0
  150. package/src/paragraph/save.js +5 -1
  151. package/src/paragraph/style.scss +5 -0
  152. package/src/post-author/block.json +8 -0
  153. package/src/post-author/edit.js +29 -3
  154. package/src/post-author/index.php +7 -1
  155. package/src/post-content/edit.js +3 -1
  156. package/src/post-featured-image/block.json +1 -1
  157. package/src/post-featured-image/editor.scss +79 -72
  158. package/src/post-featured-image/index.php +18 -24
  159. package/src/post-featured-image/overlay.js +17 -14
  160. package/src/post-terms/block.json +4 -0
  161. package/src/post-terms/style.scss +7 -2
  162. package/src/query/edit/inspector-controls/author-control.js +1 -0
  163. package/src/query/edit/inspector-controls/index.js +1 -4
  164. package/src/query/edit/inspector-controls/parent-control.js +1 -0
  165. package/src/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  166. package/src/query/utils.js +1 -1
  167. package/src/quote/block.json +0 -1
  168. package/src/site-title/block.json +2 -1
  169. package/src/site-title/editor.scss +6 -0
  170. package/src/site-title/style.scss +5 -0
  171. package/src/style.scss +1 -0
  172. package/src/tag-cloud/index.php +1 -8
  173. package/src/template-part/index.js +2 -2
  174. package/src/video/edit.js +19 -0
  175. package/src/video/editor.scss +37 -0
  176. package/build/navigation-submenu/view.js +0 -56
  177. package/build/navigation-submenu/view.js.map +0 -1
  178. package/build-module/navigation-submenu/view.js +0 -54
  179. package/build-module/navigation-submenu/view.js.map +0 -1
  180. package/src/navigation-submenu/view.js +0 -67
@@ -9,7 +9,7 @@ import classnames from 'classnames';
9
9
  */
10
10
 
11
11
  import { getBlobByURL, isBlobURL } from '@wordpress/blob';
12
- import { BaseControl, Button, Disabled, PanelBody, Spinner } from '@wordpress/components';
12
+ import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder } from '@wordpress/components';
13
13
  import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
14
14
  import { useRef, useEffect } from '@wordpress/element';
15
15
  import { __, sprintf } from '@wordpress/i18n';
@@ -25,7 +25,18 @@ import { store as noticesStore } from '@wordpress/notices';
25
25
  import { createUpgradedEmbedBlock } from '../embed/util';
26
26
  import VideoCommonSettings from './edit-common-settings';
27
27
  import TracksEditor from './tracks-editor';
28
- import Tracks from './tracks';
28
+ import Tracks from './tracks'; // Much of this description is duplicated from MediaPlaceholder.
29
+
30
+ const placeholder = content => {
31
+ return createElement(Placeholder, {
32
+ className: "block-editor-media-placeholder",
33
+ withIllustration: true,
34
+ icon: icon,
35
+ label: __('Video'),
36
+ instructions: __('Upload a video file, pick one from your media library, or add one with a URL.')
37
+ }, content);
38
+ };
39
+
29
40
  const ALLOWED_MEDIA_TYPES = ['video'];
30
41
  const VIDEO_POSTER_ALLOWED_MEDIA_TYPES = ['image'];
31
42
 
@@ -148,7 +159,8 @@ function VideoEdit(_ref) {
148
159
  accept: "video/*",
149
160
  allowedTypes: ALLOWED_MEDIA_TYPES,
150
161
  value: attributes,
151
- onError: onUploadError
162
+ onError: onUploadError,
163
+ placeholder: placeholder
152
164
  }));
153
165
  }
154
166
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","__","sprintf","useInstanceId","useDispatch","useSelect","video","icon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\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={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\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<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","__","sprintf","useInstanceId","useDispatch","useSelect","video","icon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\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={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\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<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\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'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Colors
3
+ */
4
+ /**
5
+ * Breakpoints & Media Queries
6
+ */
7
+ /**
8
+ * SCSS Variables.
9
+ *
10
+ * Please use variables from this sheet to ensure consistency across the UI.
11
+ * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
12
+ * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
13
+ */
14
+ /**
15
+ * Colors
16
+ */
17
+ /**
18
+ * Fonts & basic variables.
19
+ */
20
+ /**
21
+ * Grid System.
22
+ * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
23
+ */
24
+ /**
25
+ * Dimensions.
26
+ */
27
+ /**
28
+ * Shadows.
29
+ */
30
+ /**
31
+ * Editor widths.
32
+ */
33
+ /**
34
+ * Block & Editor UI.
35
+ */
36
+ /**
37
+ * Block paddings.
38
+ */
39
+ /**
40
+ * React Native specific.
41
+ * These variables do not appear to be used anywhere else.
42
+ */
43
+ /**
44
+ * Converts a hex value into the rgb equivalent.
45
+ *
46
+ * @param {string} hex - the hexadecimal value to convert
47
+ * @return {string} comma separated rgb values
48
+ */
49
+ /**
50
+ * Breakpoint mixins
51
+ */
52
+ /**
53
+ * Long content fade mixin
54
+ *
55
+ * Creates a fading overlay to signify that the content is longer
56
+ * than the space allows.
57
+ */
58
+ /**
59
+ * Focus styles.
60
+ */
61
+ /**
62
+ * Applies editor left position to the selector passed as argument
63
+ */
64
+ /**
65
+ * Styles that are reused verbatim in a few places
66
+ */
67
+ /**
68
+ * Allows users to opt-out of animations via OS-level preferences.
69
+ */
70
+ /**
71
+ * Reset default styles for JavaScript UI based pages.
72
+ * This is a WP-admin agnostic reset
73
+ */
74
+ /**
75
+ * Reset the WP Admin page styles for Gutenberg-like pages.
76
+ */
77
+ .wp-block-button__link {
78
+ color: #fff;
79
+ background-color: #32373c;
80
+ border-radius: 9999px;
81
+ box-shadow: none;
82
+ text-decoration: none;
83
+ padding: calc(0.667em + 2px) calc(1.333em + 2px);
84
+ font-size: 1.125em;
85
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Colors
3
+ */
4
+ /**
5
+ * Breakpoints & Media Queries
6
+ */
7
+ /**
8
+ * SCSS Variables.
9
+ *
10
+ * Please use variables from this sheet to ensure consistency across the UI.
11
+ * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
12
+ * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
13
+ */
14
+ /**
15
+ * Colors
16
+ */
17
+ /**
18
+ * Fonts & basic variables.
19
+ */
20
+ /**
21
+ * Grid System.
22
+ * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
23
+ */
24
+ /**
25
+ * Dimensions.
26
+ */
27
+ /**
28
+ * Shadows.
29
+ */
30
+ /**
31
+ * Editor widths.
32
+ */
33
+ /**
34
+ * Block & Editor UI.
35
+ */
36
+ /**
37
+ * Block paddings.
38
+ */
39
+ /**
40
+ * React Native specific.
41
+ * These variables do not appear to be used anywhere else.
42
+ */
43
+ /**
44
+ * Converts a hex value into the rgb equivalent.
45
+ *
46
+ * @param {string} hex - the hexadecimal value to convert
47
+ * @return {string} comma separated rgb values
48
+ */
49
+ /**
50
+ * Breakpoint mixins
51
+ */
52
+ /**
53
+ * Long content fade mixin
54
+ *
55
+ * Creates a fading overlay to signify that the content is longer
56
+ * than the space allows.
57
+ */
58
+ /**
59
+ * Focus styles.
60
+ */
61
+ /**
62
+ * Applies editor left position to the selector passed as argument
63
+ */
64
+ /**
65
+ * Styles that are reused verbatim in a few places
66
+ */
67
+ /**
68
+ * Allows users to opt-out of animations via OS-level preferences.
69
+ */
70
+ /**
71
+ * Reset default styles for JavaScript UI based pages.
72
+ * This is a WP-admin agnostic reset
73
+ */
74
+ /**
75
+ * Reset the WP Admin page styles for Gutenberg-like pages.
76
+ */
77
+ .wp-block-button__link {
78
+ color: #fff;
79
+ background-color: #32373c;
80
+ border-radius: 9999px;
81
+ box-shadow: none;
82
+ text-decoration: none;
83
+ padding: calc(0.667em + 2px) calc(1.333em + 2px);
84
+ font-size: 1.125em;
85
+ }
@@ -74,6 +74,9 @@
74
74
  /**
75
75
  * Reset the WP Admin page styles for Gutenberg-like pages.
76
76
  */
77
+ .wp-block-code {
78
+ box-sizing: border-box;
79
+ }
77
80
  .wp-block-code code {
78
81
  display: block;
79
82
  font-family: inherit;
@@ -74,6 +74,9 @@
74
74
  /**
75
75
  * Reset the WP Admin page styles for Gutenberg-like pages.
76
76
  */
77
+ .wp-block-code {
78
+ box-sizing: border-box;
79
+ }
77
80
  .wp-block-code code {
78
81
  display: block;
79
82
  font-family: inherit;
@@ -1104,9 +1104,19 @@ figure.wp-block-gallery .components-spinner {
1104
1104
  flex: 1 0 48px;
1105
1105
  pointer-events: none;
1106
1106
  min-height: 46px;
1107
- border: 1px dashed currentColor;
1108
1107
  border-radius: 2px;
1109
1108
  }
1109
+ .wp-block-group.is-layout-flex.block-editor-block-list__block > .block-list-appender:only-child::after::before {
1110
+ content: "";
1111
+ position: absolute;
1112
+ top: 0;
1113
+ left: 0;
1114
+ bottom: 0;
1115
+ right: 0;
1116
+ pointer-events: none;
1117
+ background: currentColor;
1118
+ opacity: 0.1;
1119
+ }
1110
1120
  .wp-block-group.is-layout-flex.block-editor-block-list__block > .block-list-appender:only-child .block-editor-inserter {
1111
1121
  pointer-events: all;
1112
1122
  }
@@ -1155,6 +1165,9 @@ figure.wp-block-gallery .components-spinner {
1155
1165
  .wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration {
1156
1166
  display: none;
1157
1167
  }
1168
+ .wp-block-image.wp-block-image.is-selected .components-placeholder::before {
1169
+ opacity: 0;
1170
+ }
1158
1171
  .wp-block-image.wp-block-image .components-placeholder__label,
1159
1172
  .wp-block-image.wp-block-image .components-placeholder__instructions,
1160
1173
  .wp-block-image.wp-block-image .components-button {
@@ -1592,10 +1605,20 @@ figure.wp-block-image:not(.wp-block) {
1592
1605
  bottom: 0;
1593
1606
  right: 0;
1594
1607
  pointer-events: none;
1595
- border: 1px dashed currentColor;
1596
1608
  border-radius: 2px;
1597
1609
  border-radius: inherit;
1598
1610
  }
1611
+ .wp-block-navigation-placeholder__preview::before::before {
1612
+ content: "";
1613
+ position: absolute;
1614
+ top: 0;
1615
+ left: 0;
1616
+ bottom: 0;
1617
+ right: 0;
1618
+ pointer-events: none;
1619
+ background: currentColor;
1620
+ opacity: 0.1;
1621
+ }
1599
1622
  .wp-block-navigation-placeholder__preview > svg {
1600
1623
  fill: currentColor;
1601
1624
  }
@@ -1854,6 +1877,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
1854
1877
  width: 100%;
1855
1878
  }
1856
1879
 
1880
+ .wp-block-navigation__responsive-container-open.components-button {
1881
+ opacity: 1;
1882
+ }
1883
+
1857
1884
  /**
1858
1885
  * Submenus.
1859
1886
  */
@@ -2074,6 +2101,22 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2074
2101
  opacity: 0;
2075
2102
  }
2076
2103
 
2104
+ .components-popover.wp-block-paragraph__drop-zone .components-popover__content {
2105
+ border: none;
2106
+ outline: none;
2107
+ box-shadow: none;
2108
+ }
2109
+ .components-popover.wp-block-paragraph__drop-zone .wp-block-paragraph__drop-zone-backdrop {
2110
+ position: absolute;
2111
+ }
2112
+ .components-popover.wp-block-paragraph__drop-zone .wp-block-paragraph__drop-zone-foreground {
2113
+ position: absolute;
2114
+ inset: 0;
2115
+ pointer-events: none;
2116
+ background-color: var(--wp-admin-theme-color);
2117
+ border-radius: 2px;
2118
+ }
2119
+
2077
2120
  .wp-block-post-excerpt .wp-block-post-excerpt__excerpt.is-inline {
2078
2121
  display: inline-block;
2079
2122
  }
@@ -2268,6 +2311,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2268
2311
  border: 1px dashed;
2269
2312
  }
2270
2313
 
2314
+ .editor-styles-wrapper .wp-block-site-title a {
2315
+ color: inherit;
2316
+ }
2317
+
2271
2318
  .wp-block-social-links .wp-social-link {
2272
2319
  line-height: 0;
2273
2320
  }
@@ -2523,6 +2570,28 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2523
2570
  outline: 1px solid #ddd;
2524
2571
  }
2525
2572
 
2573
+ .wp-block-video.wp-block-video.is-selected .components-placeholder {
2574
+ color: #1e1e1e;
2575
+ background-color: #fff;
2576
+ box-shadow: inset 0 0 0 1px #1e1e1e;
2577
+ border: none;
2578
+ border-radius: 2px;
2579
+ }
2580
+ .wp-block-video.wp-block-video.is-selected .components-placeholder > svg {
2581
+ opacity: 0;
2582
+ }
2583
+ .wp-block-video.wp-block-video.is-selected .components-placeholder .components-placeholder__illustration {
2584
+ display: none;
2585
+ }
2586
+ .wp-block-video.wp-block-video.is-selected .components-placeholder::before {
2587
+ opacity: 0;
2588
+ }
2589
+ .wp-block-video.wp-block-video .components-placeholder__label,
2590
+ .wp-block-video.wp-block-video .components-placeholder__instructions,
2591
+ .wp-block-video.wp-block-video .components-button {
2592
+ transition: none;
2593
+ }
2594
+
2526
2595
  .wp-block[data-align=center] > .wp-block-video {
2527
2596
  text-align: center;
2528
2597
  }
@@ -2719,19 +2788,19 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2719
2788
  -webkit-backdrop-filter: none;
2720
2789
  backdrop-filter: none;
2721
2790
  }
2722
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder,
2723
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder {
2791
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder,
2792
+ .wp-block-post-featured-image .components-placeholder {
2724
2793
  justify-content: center;
2725
2794
  align-items: center;
2726
2795
  padding: 0;
2727
2796
  min-height: 200px;
2728
2797
  }
2729
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload,
2730
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder .components-form-file-upload {
2798
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload,
2799
+ .wp-block-post-featured-image .components-placeholder .components-form-file-upload {
2731
2800
  display: none;
2732
2801
  }
2733
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button.components-button,
2734
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder .components-button.components-button {
2802
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button,
2803
+ .wp-block-post-featured-image .components-placeholder .components-button {
2735
2804
  padding: 0;
2736
2805
  display: flex;
2737
2806
  justify-content: center;
@@ -2745,51 +2814,61 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2745
2814
  border-style: solid;
2746
2815
  color: #fff;
2747
2816
  }
2748
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button.components-button > svg,
2749
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder .components-button.components-button > svg {
2817
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button > svg,
2818
+ .wp-block-post-featured-image .components-placeholder .components-button > svg {
2750
2819
  color: inherit;
2751
2820
  }
2752
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),
2753
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where(.has-border-color) {
2821
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),
2822
+ .wp-block-post-featured-image .components-placeholder:where(.has-border-color),
2823
+ .wp-block-post-featured-image img:where(.has-border-color) {
2754
2824
  border-style: solid;
2755
2825
  }
2756
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-top-color"]),
2757
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-top-color"]) {
2826
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-top-color"]),
2827
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-top-color"]),
2828
+ .wp-block-post-featured-image img:where([style*="border-top-color"]) {
2758
2829
  border-top-style: solid;
2759
2830
  }
2760
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-right-color"]),
2761
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-right-color"]) {
2831
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-right-color"]),
2832
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-right-color"]),
2833
+ .wp-block-post-featured-image img:where([style*="border-right-color"]) {
2762
2834
  border-left-style: solid;
2763
2835
  }
2764
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-bottom-color"]),
2765
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-bottom-color"]) {
2836
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-bottom-color"]),
2837
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-bottom-color"]),
2838
+ .wp-block-post-featured-image img:where([style*="border-bottom-color"]) {
2766
2839
  border-bottom-style: solid;
2767
2840
  }
2768
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-left-color"]),
2769
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-left-color"]) {
2841
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-left-color"]),
2842
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-left-color"]),
2843
+ .wp-block-post-featured-image img:where([style*="border-left-color"]) {
2770
2844
  border-right-style: solid;
2771
2845
  }
2772
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-width"]),
2773
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-width"]) {
2846
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-width"]),
2847
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-width"]),
2848
+ .wp-block-post-featured-image img:where([style*="border-width"]) {
2774
2849
  border-style: solid;
2775
2850
  }
2776
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-top-width"]),
2777
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-top-width"]) {
2851
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-top-width"]),
2852
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-top-width"]),
2853
+ .wp-block-post-featured-image img:where([style*="border-top-width"]) {
2778
2854
  border-top-style: solid;
2779
2855
  }
2780
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-right-width"]),
2781
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-right-width"]) {
2856
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-right-width"]),
2857
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-right-width"]),
2858
+ .wp-block-post-featured-image img:where([style*="border-right-width"]) {
2782
2859
  border-left-style: solid;
2783
2860
  }
2784
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-bottom-width"]),
2785
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-bottom-width"]) {
2861
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-bottom-width"]),
2862
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-bottom-width"]),
2863
+ .wp-block-post-featured-image img:where([style*="border-bottom-width"]) {
2786
2864
  border-bottom-style: solid;
2787
2865
  }
2788
- .wp-block-post-featured-image.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-left-width"]),
2789
- .wp-block-post-featured-image.wp-block-post-featured-image .components-placeholder:where([style*="border-left-width"]) {
2866
+ .wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*="border-left-width"]),
2867
+ .wp-block-post-featured-image .components-placeholder:where([style*="border-left-width"]),
2868
+ .wp-block-post-featured-image img:where([style*="border-left-width"]) {
2790
2869
  border-right-style: solid;
2791
2870
  }
2792
- .wp-block-post-featured-image.wp-block-post-featured-image[style*=height] .components-placeholder {
2871
+ .wp-block-post-featured-image[style*=height] .components-placeholder {
2793
2872
  min-height: 48px;
2794
2873
  min-width: 48px;
2795
2874
  height: 100%;