@wordpress/block-library 8.25.0 → 8.26.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 (235) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/audio/edit.js +10 -12
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/block/edit.js +79 -32
  6. package/build/block/edit.js.map +1 -1
  7. package/build/comments-title/deprecated.js +1 -1
  8. package/build/comments-title/index.js +1 -1
  9. package/build/cover/edit/inspector-controls.js +1 -1
  10. package/build/cover/edit/inspector-controls.js.map +1 -1
  11. package/build/embed/util.js +4 -4
  12. package/build/embed/util.js.map +1 -1
  13. package/build/file/edit.js +19 -27
  14. package/build/file/edit.js.map +1 -1
  15. package/build/gallery/edit.js +36 -17
  16. package/build/gallery/edit.js.map +1 -1
  17. package/build/gallery/gallery.js +3 -2
  18. package/build/gallery/gallery.js.map +1 -1
  19. package/build/gallery/index.js +4 -0
  20. package/build/gallery/index.js.map +1 -1
  21. package/build/gallery/transforms.js +4 -68
  22. package/build/gallery/transforms.js.map +1 -1
  23. package/build/group/index.js +5 -1
  24. package/build/group/index.js.map +1 -1
  25. package/build/image/deprecated.js +11 -0
  26. package/build/image/deprecated.js.map +1 -1
  27. package/build/image/edit.native.js +3 -0
  28. package/build/image/edit.native.js.map +1 -1
  29. package/build/image/image.js +22 -21
  30. package/build/image/image.js.map +1 -1
  31. package/build/image/view.js +7 -1
  32. package/build/image/view.js.map +1 -1
  33. package/build/list/edit.js +10 -15
  34. package/build/list/edit.js.map +1 -1
  35. package/build/list-item/edit.js +17 -2
  36. package/build/list-item/edit.js.map +1 -1
  37. package/build/list-item/hooks/use-enter.js +5 -3
  38. package/build/list-item/hooks/use-enter.js.map +1 -1
  39. package/build/list-item/hooks/use-enter.native.js +4 -3
  40. package/build/list-item/hooks/use-enter.native.js.map +1 -1
  41. package/build/list-item/hooks/use-indent-list-item.js +2 -3
  42. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  43. package/build/list-item/hooks/use-merge.js +1 -1
  44. package/build/list-item/hooks/use-merge.js.map +1 -1
  45. package/build/list-item/hooks/use-outdent-list-item.js +3 -17
  46. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  47. package/build/list-item/hooks/use-space.js +8 -4
  48. package/build/list-item/hooks/use-space.js.map +1 -1
  49. package/build/media-text/media-container.native.js +3 -0
  50. package/build/media-text/media-container.native.js.map +1 -1
  51. package/build/navigation/constants.js +3 -1
  52. package/build/navigation/constants.js.map +1 -1
  53. package/build/navigation/edit/index.js +4 -0
  54. package/build/navigation/edit/index.js.map +1 -1
  55. package/build/navigation/view.js +25 -1
  56. package/build/navigation/view.js.map +1 -1
  57. package/build/pattern/edit.js +24 -2
  58. package/build/pattern/edit.js.map +1 -1
  59. package/build/pattern/recursion-detector.js +147 -0
  60. package/build/pattern/recursion-detector.js.map +1 -0
  61. package/build/post-featured-image/edit.js +19 -2
  62. package/build/post-featured-image/edit.js.map +1 -1
  63. package/build/post-featured-image/index.js +4 -0
  64. package/build/post-featured-image/index.js.map +1 -1
  65. package/build/query/edit/inspector-controls/index.js +3 -1
  66. package/build/query/edit/inspector-controls/index.js.map +1 -1
  67. package/build/query-pagination-numbers/index.js +1 -1
  68. package/build/search/edit.js +3 -5
  69. package/build/search/edit.js.map +1 -1
  70. package/build/search/index.js +0 -4
  71. package/build/search/index.js.map +1 -1
  72. package/build/site-logo/edit.js +7 -6
  73. package/build/site-logo/edit.js.map +1 -1
  74. package/build/spacer/edit.native.js +2 -2
  75. package/build/spacer/edit.native.js.map +1 -1
  76. package/build/tag-cloud/edit.js +5 -9
  77. package/build/tag-cloud/edit.js.map +1 -1
  78. package/build/utils/constants.js +16 -0
  79. package/build/utils/constants.js.map +1 -0
  80. package/build/video/edit.js +11 -8
  81. package/build/video/edit.js.map +1 -1
  82. package/build-module/audio/edit.js +10 -12
  83. package/build-module/audio/edit.js.map +1 -1
  84. package/build-module/block/edit.js +83 -36
  85. package/build-module/block/edit.js.map +1 -1
  86. package/build-module/comments-title/deprecated.js +1 -1
  87. package/build-module/comments-title/index.js +1 -1
  88. package/build-module/cover/edit/inspector-controls.js +1 -1
  89. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  90. package/build-module/embed/util.js +4 -4
  91. package/build-module/embed/util.js.map +1 -1
  92. package/build-module/file/edit.js +19 -27
  93. package/build-module/file/edit.js.map +1 -1
  94. package/build-module/gallery/edit.js +36 -17
  95. package/build-module/gallery/edit.js.map +1 -1
  96. package/build-module/gallery/gallery.js +3 -2
  97. package/build-module/gallery/gallery.js.map +1 -1
  98. package/build-module/gallery/index.js +4 -0
  99. package/build-module/gallery/index.js.map +1 -1
  100. package/build-module/gallery/transforms.js +4 -68
  101. package/build-module/gallery/transforms.js.map +1 -1
  102. package/build-module/group/index.js +5 -1
  103. package/build-module/group/index.js.map +1 -1
  104. package/build-module/image/deprecated.js +11 -0
  105. package/build-module/image/deprecated.js.map +1 -1
  106. package/build-module/image/edit.native.js +3 -0
  107. package/build-module/image/edit.native.js.map +1 -1
  108. package/build-module/image/image.js +17 -16
  109. package/build-module/image/image.js.map +1 -1
  110. package/build-module/image/view.js +7 -1
  111. package/build-module/image/view.js.map +1 -1
  112. package/build-module/list/edit.js +10 -15
  113. package/build-module/list/edit.js.map +1 -1
  114. package/build-module/list-item/edit.js +18 -3
  115. package/build-module/list-item/edit.js.map +1 -1
  116. package/build-module/list-item/hooks/use-enter.js +5 -3
  117. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  118. package/build-module/list-item/hooks/use-enter.native.js +4 -3
  119. package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
  120. package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
  121. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  122. package/build-module/list-item/hooks/use-merge.js +1 -1
  123. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  124. package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
  125. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  126. package/build-module/list-item/hooks/use-space.js +8 -4
  127. package/build-module/list-item/hooks/use-space.js.map +1 -1
  128. package/build-module/media-text/media-container.native.js +3 -0
  129. package/build-module/media-text/media-container.native.js.map +1 -1
  130. package/build-module/navigation/constants.js +1 -0
  131. package/build-module/navigation/constants.js.map +1 -1
  132. package/build-module/navigation/edit/index.js +5 -1
  133. package/build-module/navigation/edit/index.js.map +1 -1
  134. package/build-module/navigation/view.js +25 -1
  135. package/build-module/navigation/view.js.map +1 -1
  136. package/build-module/pattern/edit.js +26 -4
  137. package/build-module/pattern/edit.js.map +1 -1
  138. package/build-module/pattern/recursion-detector.js +139 -0
  139. package/build-module/pattern/recursion-detector.js.map +1 -0
  140. package/build-module/post-featured-image/edit.js +19 -2
  141. package/build-module/post-featured-image/edit.js.map +1 -1
  142. package/build-module/post-featured-image/index.js +4 -0
  143. package/build-module/post-featured-image/index.js.map +1 -1
  144. package/build-module/query/edit/inspector-controls/index.js +3 -1
  145. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  146. package/build-module/query-pagination-numbers/index.js +1 -1
  147. package/build-module/search/edit.js +3 -5
  148. package/build-module/search/edit.js.map +1 -1
  149. package/build-module/search/index.js +0 -4
  150. package/build-module/search/index.js.map +1 -1
  151. package/build-module/site-logo/edit.js +7 -6
  152. package/build-module/site-logo/edit.js.map +1 -1
  153. package/build-module/spacer/edit.native.js +2 -2
  154. package/build-module/spacer/edit.native.js.map +1 -1
  155. package/build-module/tag-cloud/edit.js +6 -10
  156. package/build-module/tag-cloud/edit.js.map +1 -1
  157. package/build-module/utils/constants.js +9 -0
  158. package/build-module/utils/constants.js.map +1 -0
  159. package/build-module/video/edit.js +11 -8
  160. package/build-module/video/edit.js.map +1 -1
  161. package/build-style/button/editor-rtl.css +0 -37
  162. package/build-style/button/editor.css +0 -37
  163. package/build-style/button/style-rtl.css +6 -6
  164. package/build-style/button/style.css +6 -6
  165. package/build-style/editor-rtl.css +2 -44
  166. package/build-style/editor.css +2 -44
  167. package/build-style/navigation/editor-rtl.css +2 -4
  168. package/build-style/navigation/editor.css +2 -4
  169. package/build-style/navigation/style-rtl.css +14 -18
  170. package/build-style/navigation/style.css +14 -18
  171. package/build-style/search/style-rtl.css +26 -27
  172. package/build-style/search/style.css +26 -27
  173. package/build-style/style-rtl.css +46 -51
  174. package/build-style/style.css +46 -51
  175. package/build-style/table/editor-rtl.css +0 -3
  176. package/build-style/table/editor.css +0 -3
  177. package/package.json +32 -32
  178. package/src/audio/edit.js +19 -19
  179. package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
  180. package/src/audio/test/edit.native.js +29 -0
  181. package/src/block/edit.js +114 -60
  182. package/src/button/editor.scss +0 -43
  183. package/src/button/style.scss +6 -6
  184. package/src/comments-title/block.json +1 -1
  185. package/src/cover/edit/inspector-controls.js +1 -1
  186. package/src/embed/util.js +2 -2
  187. package/src/file/edit.js +17 -24
  188. package/src/gallery/block.json +4 -0
  189. package/src/gallery/edit.js +69 -42
  190. package/src/gallery/gallery.js +4 -1
  191. package/src/gallery/index.php +18 -0
  192. package/src/gallery/transforms.js +2 -55
  193. package/src/group/block.json +5 -1
  194. package/src/image/deprecated.js +8 -0
  195. package/src/image/edit.native.js +3 -0
  196. package/src/image/image.js +54 -35
  197. package/src/image/index.php +1 -6
  198. package/src/image/view.js +5 -2
  199. package/src/list/edit.js +27 -35
  200. package/src/list-item/edit.js +18 -2
  201. package/src/list-item/hooks/use-enter.js +63 -62
  202. package/src/list-item/hooks/use-enter.native.js +9 -5
  203. package/src/list-item/hooks/use-indent-list-item.js +43 -53
  204. package/src/list-item/hooks/use-merge.js +1 -1
  205. package/src/list-item/hooks/use-outdent-list-item.js +50 -69
  206. package/src/list-item/hooks/use-space.js +7 -4
  207. package/src/media-text/media-container.native.js +3 -1
  208. package/src/navigation/constants.js +2 -0
  209. package/src/navigation/edit/index.js +11 -1
  210. package/src/navigation/editor.scss +1 -1
  211. package/src/navigation/style.scss +18 -16
  212. package/src/navigation/view.js +29 -3
  213. package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
  214. package/src/paragraph/test/edit.native.js +114 -0
  215. package/src/pattern/edit.js +35 -3
  216. package/src/pattern/index.php +16 -0
  217. package/src/pattern/recursion-detector.js +145 -0
  218. package/src/pattern/test/index.js +74 -0
  219. package/src/post-featured-image/block.json +4 -0
  220. package/src/post-featured-image/edit.js +32 -1
  221. package/src/post-featured-image/index.php +31 -0
  222. package/src/query/edit/inspector-controls/index.js +2 -0
  223. package/src/query-pagination-numbers/block.json +1 -1
  224. package/src/search/block.json +0 -4
  225. package/src/search/edit.js +2 -8
  226. package/src/search/index.php +3 -7
  227. package/src/search/style.scss +27 -29
  228. package/src/site-logo/edit.js +3 -4
  229. package/src/social-link/index.php +1 -1
  230. package/src/spacer/edit.native.js +4 -2
  231. package/src/table/editor.scss +0 -3
  232. package/src/tag-cloud/edit.js +7 -7
  233. package/src/template-part/index.php +6 -0
  234. package/src/utils/constants.js +8 -0
  235. package/src/video/edit.js +29 -27
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 8.26.0 (2024-01-10)
6
+
5
7
  ## 8.25.0 (2023-12-13)
6
8
 
7
9
  ## 8.24.0 (2023-11-29)
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2023 by the contributors
3
+ Copyright 2016-2024 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
@@ -35,7 +35,7 @@ function AudioEdit({
35
35
  className,
36
36
  setAttributes,
37
37
  onReplace,
38
- isSelected,
38
+ isSelected: isSingleSelected,
39
39
  insertBlocksAfter
40
40
  }) {
41
41
  const {
@@ -46,17 +46,14 @@ function AudioEdit({
46
46
  src
47
47
  } = attributes;
48
48
  const isTemporaryAudio = !id && (0, _blob.isBlobURL)(src);
49
- const mediaUpload = (0, _data.useSelect)(select => {
50
- const {
51
- getSettings
52
- } = select(_blockEditor.store);
53
- return getSettings().mediaUpload;
54
- }, []);
49
+ const {
50
+ getSettings
51
+ } = (0, _data.useSelect)(_blockEditor.store);
55
52
  (0, _element.useEffect)(() => {
56
53
  if (!id && (0, _blob.isBlobURL)(src)) {
57
54
  const file = (0, _blob.getBlobByURL)(src);
58
55
  if (file) {
59
- mediaUpload({
56
+ getSettings().mediaUpload({
60
57
  filesList: [file],
61
58
  onFileChange: ([media]) => onSelectAudio(media),
62
59
  onError: e => onUploadError(e),
@@ -143,7 +140,7 @@ function AudioEdit({
143
140
  onError: onUploadError
144
141
  }));
145
142
  }
146
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
143
+ return (0, _react.createElement)(_react.Fragment, null, isSingleSelected && (0, _react.createElement)(_blockEditor.BlockControls, {
147
144
  group: "other"
148
145
  }, (0, _react.createElement)(_blockEditor.MediaReplaceFlow, {
149
146
  mediaId: id,
@@ -191,16 +188,17 @@ function AudioEdit({
191
188
  }))), (0, _react.createElement)("figure", {
192
189
  ...blockProps
193
190
  }, (0, _react.createElement)(_components.Disabled, {
194
- isDisabled: !isSelected
191
+ isDisabled: !isSingleSelected
195
192
  }, (0, _react.createElement)("audio", {
196
193
  controls: "controls",
197
194
  src: src
198
195
  })), isTemporaryAudio && (0, _react.createElement)(_components.Spinner, null), (0, _react.createElement)(_caption.Caption, {
199
196
  attributes: attributes,
200
197
  setAttributes: setAttributes,
201
- isSelected: isSelected,
198
+ isSelected: isSingleSelected,
202
199
  insertBlocksAfter: insertBlocksAfter,
203
- label: (0, _i18n.__)('Audio caption text')
200
+ label: (0, _i18n.__)('Audio caption text'),
201
+ showToolbarButton: isSingleSelected
204
202
  })));
205
203
  }
206
204
  var _default = AudioEdit;
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_data","_icons","_notices","_util","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","mediaUpload","useSelect","select","getSettings","blockEditorStore","useEffect","file","getBlobByURL","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","url","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","onChange","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: 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\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\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<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_data","_icons","_notices","_util","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","getSettings","useSelect","blockEditorStore","useEffect","file","getBlobByURL","mediaUpload","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","url","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","onChange","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: 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\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed 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\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\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\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
@@ -74,9 +74,11 @@ function applyInitialOverrides(blocks, overrides = {}, defaultValues) {
74
74
  ...block.attributes
75
75
  };
76
76
  for (const attributeKey of attributes) {
77
- defaultValues[blockId] = block.attributes[attributeKey];
77
+ var _defaultValues$blockI;
78
+ (_defaultValues$blockI = defaultValues[blockId]) !== null && _defaultValues$blockI !== void 0 ? _defaultValues$blockI : defaultValues[blockId] = {};
79
+ defaultValues[blockId][attributeKey] = block.attributes[attributeKey];
78
80
  if (overrides[blockId]) {
79
- newAttributes[attributeKey] = overrides[blockId];
81
+ newAttributes[attributeKey] = overrides[blockId][attributeKey];
80
82
  }
81
83
  }
82
84
  return {
@@ -87,7 +89,7 @@ function applyInitialOverrides(blocks, overrides = {}, defaultValues) {
87
89
  });
88
90
  }
89
91
  function getOverridesFromBlocks(blocks, defaultValues) {
90
- /** @type {Record<string, unknown>} */
92
+ /** @type {Record<string, Record<string, unknown>>} */
91
93
  const overrides = {};
92
94
  for (const block of blocks) {
93
95
  Object.assign(overrides, getOverridesFromBlocks(block.innerBlocks, defaultValues));
@@ -95,13 +97,22 @@ function getOverridesFromBlocks(blocks, defaultValues) {
95
97
  if (!isPartiallySynced(block) || !blockId) continue;
96
98
  const attributes = getPartiallySyncedAttributes(block);
97
99
  for (const attributeKey of attributes) {
98
- if (block.attributes[attributeKey] !== defaultValues[blockId]) {
99
- overrides[blockId] = block.attributes[attributeKey];
100
+ if (block.attributes[attributeKey] !== defaultValues[blockId][attributeKey]) {
101
+ var _overrides$blockId;
102
+ (_overrides$blockId = overrides[blockId]) !== null && _overrides$blockId !== void 0 ? _overrides$blockId : overrides[blockId] = {};
103
+ overrides[blockId][attributeKey] = block.attributes[attributeKey];
100
104
  }
101
105
  }
102
106
  }
103
107
  return Object.keys(overrides).length > 0 ? overrides : undefined;
104
108
  }
109
+ function setBlockEditMode(setEditMode, blocks, mode) {
110
+ blocks.forEach(block => {
111
+ const editMode = mode || (isPartiallySynced(block) ? 'contentOnly' : 'disabled');
112
+ setEditMode(block.clientId, editMode);
113
+ setBlockEditMode(setEditMode, block.innerBlocks, mode);
114
+ });
115
+ }
105
116
  function ReusableBlockEdit({
106
117
  name,
107
118
  attributes: {
@@ -109,12 +120,14 @@ function ReusableBlockEdit({
109
120
  overrides
110
121
  },
111
122
  __unstableParentLayout: parentLayout,
112
- clientId: patternClientId
123
+ clientId: patternClientId,
124
+ setAttributes
113
125
  }) {
114
126
  const registry = (0, _data.useRegistry)();
115
127
  const hasAlreadyRendered = (0, _blockEditor.__experimentalUseHasRecursion)(ref);
116
128
  const {
117
129
  record,
130
+ editedRecord,
118
131
  hasResolved
119
132
  } = (0, _coreData.useEntityRecord)('postType', 'wp_block', ref);
120
133
  const isMissing = hasResolved && !record;
@@ -126,21 +139,56 @@ function ReusableBlockEdit({
126
139
  setBlockEditingMode
127
140
  } = (0, _data.useDispatch)(_blockEditor.store);
128
141
  const {
129
- getBlockEditingMode
130
- } = (0, _data.useSelect)(_blockEditor.store);
142
+ syncDerivedUpdates
143
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store));
144
+ const {
145
+ innerBlocks,
146
+ userCanEdit,
147
+ getBlockEditingMode,
148
+ getPostLinkProps
149
+ } = (0, _data.useSelect)(select => {
150
+ const {
151
+ canUser
152
+ } = select(_coreData.store);
153
+ const {
154
+ getBlocks,
155
+ getBlockEditingMode: editingMode,
156
+ getSettings
157
+ } = select(_blockEditor.store);
158
+ const blocks = getBlocks(patternClientId);
159
+ const canEdit = canUser('update', 'blocks', ref);
160
+
161
+ // For editing link to the site editor if the theme and user permissions support it.
162
+ return {
163
+ innerBlocks: blocks,
164
+ userCanEdit: canEdit,
165
+ getBlockEditingMode: editingMode,
166
+ getPostLinkProps: getSettings().getPostLinkProps
167
+ };
168
+ }, [patternClientId, ref]);
169
+ const editOriginalProps = getPostLinkProps ? getPostLinkProps({
170
+ postId: ref,
171
+ postType: 'wp_block',
172
+ canvas: 'edit'
173
+ }) : {};
174
+ (0, _element.useEffect)(() => setBlockEditMode(setBlockEditingMode, innerBlocks), [innerBlocks, setBlockEditingMode]);
175
+
176
+ // Apply the initial overrides from the pattern block to the inner blocks.
131
177
  (0, _element.useEffect)(() => {
132
- if (!record?.content?.raw) return;
133
- const initialBlocks = (0, _blocks.parse)(record.content.raw);
178
+ var _editedRecord$blocks$;
179
+ const initialBlocks = // Clone the blocks to generate new client IDs.
180
+ (_editedRecord$blocks$ = editedRecord.blocks?.map(block => (0, _blocks.cloneBlock)(block))) !== null && _editedRecord$blocks$ !== void 0 ? _editedRecord$blocks$ : editedRecord.content && typeof editedRecord.content !== 'function' ? (0, _blocks.parse)(editedRecord.content) : [];
181
+ defaultValuesRef.current = {};
134
182
  const editingMode = getBlockEditingMode(patternClientId);
183
+ // Replace the contents of the blocks with the overrides.
135
184
  registry.batch(() => {
136
185
  setBlockEditingMode(patternClientId, 'default');
137
- __unstableMarkNextChangeAsNotPersistent();
138
- replaceInnerBlocks(patternClientId, applyInitialOverrides(initialBlocks, initialOverrides.current, defaultValuesRef.current));
186
+ syncDerivedUpdates(() => {
187
+ replaceInnerBlocks(patternClientId, applyInitialOverrides(initialBlocks, initialOverrides.current, defaultValuesRef.current));
188
+ });
139
189
  setBlockEditingMode(patternClientId, editingMode);
140
190
  });
141
- }, [__unstableMarkNextChangeAsNotPersistent, patternClientId, record, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode]);
142
- const innerBlocks = (0, _data.useSelect)(select => select(_blockEditor.store).getBlocks(patternClientId), [patternClientId]);
143
- const [title, setTitle] = (0, _coreData.useEntityProp)('postType', 'wp_block', 'title', ref);
191
+ }, [__unstableMarkNextChangeAsNotPersistent, patternClientId, editedRecord, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
144
192
  const {
145
193
  alignment,
146
194
  layout
@@ -154,32 +202,34 @@ function ReusableBlockEdit({
154
202
  })
155
203
  });
156
204
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
205
+ templateLock: 'all',
157
206
  layout,
158
207
  renderAppender: innerBlocks?.length ? undefined : _blockEditor.InnerBlocks.ButtonBlockAppender
159
208
  });
160
209
 
161
- // Sync the `overrides` attribute from the updated blocks.
162
- // `syncDerivedBlockAttributes` is an action that just like `updateBlockAttributes`
163
- // but won't create an undo level.
164
- // This can be abstracted into a `useSyncDerivedAttributes` hook if needed.
210
+ // Sync the `overrides` attribute from the updated blocks to the pattern block.
211
+ // `syncDerivedUpdates` is used here to avoid creating an additional undo level.
165
212
  (0, _element.useEffect)(() => {
166
213
  const {
167
214
  getBlocks
168
215
  } = registry.select(_blockEditor.store);
169
- const {
170
- syncDerivedBlockAttributes
171
- } = (0, _lockUnlock.unlock)(registry.dispatch(_blockEditor.store));
172
216
  let prevBlocks = getBlocks(patternClientId);
173
217
  return registry.subscribe(() => {
174
218
  const blocks = getBlocks(patternClientId);
175
219
  if (blocks !== prevBlocks) {
176
220
  prevBlocks = blocks;
177
- syncDerivedBlockAttributes(patternClientId, {
178
- overrides: getOverridesFromBlocks(blocks, defaultValuesRef.current)
221
+ syncDerivedUpdates(() => {
222
+ setAttributes({
223
+ overrides: getOverridesFromBlocks(blocks, defaultValuesRef.current)
224
+ });
179
225
  });
180
226
  }
181
227
  }, _blockEditor.store);
182
- }, [patternClientId, registry]);
228
+ }, [syncDerivedUpdates, patternClientId, registry, setAttributes]);
229
+ const handleEditOriginal = event => {
230
+ setBlockEditMode(setBlockEditingMode, innerBlocks, 'default');
231
+ editOriginalProps.onClick(event);
232
+ };
183
233
  let children = null;
184
234
  if (hasAlreadyRendered) {
185
235
  children = (0, _react.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.'));
@@ -192,13 +242,10 @@ function ReusableBlockEdit({
192
242
  }
193
243
  return (0, _react.createElement)(_blockEditor.__experimentalRecursionProvider, {
194
244
  uniqueId: ref
195
- }, (0, _react.createElement)(_blockEditor.InspectorControls, null, (0, _react.createElement)(_components.PanelBody, null, (0, _react.createElement)(_components.TextControl, {
196
- label: (0, _i18n.__)('Name'),
197
- value: title,
198
- onChange: setTitle,
199
- __nextHasNoMarginBottom: true,
200
- __next40pxDefaultSize: true
201
- }))), children === null ? (0, _react.createElement)("div", {
245
+ }, userCanEdit && editOriginalProps && (0, _react.createElement)(_blockEditor.BlockControls, null, (0, _react.createElement)(_components.ToolbarGroup, null, (0, _react.createElement)(_components.ToolbarButton, {
246
+ href: editOriginalProps.href,
247
+ onClick: handleEditOriginal
248
+ }, (0, _i18n.__)('Edit original')))), children === null ? (0, _react.createElement)("div", {
202
249
  ...innerBlocksProps
203
250
  }) : (0, _react.createElement)("div", {
204
251
  ...blockProps
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_blocks","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isPartiallySynced","block","getBlockSupport","name","attributes","connections","Object","values","some","connection","source","getPartiallySyncedAttributes","entries","filter","map","attributeKey","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","includes","align","layout","applyInitialOverrides","overrides","defaultValues","innerBlocks","blockId","metadata","id","newAttributes","getOverridesFromBlocks","assign","keys","ReusableBlockEdit","ref","__unstableParentLayout","clientId","patternClientId","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","hasResolved","useEntityRecord","isMissing","initialOverrides","defaultValuesRef","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","getBlockEditingMode","useSelect","useEffect","content","raw","initialBlocks","parse","editingMode","batch","select","getBlocks","title","setTitle","useEntityProp","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","renderAppender","InnerBlocks","ButtonBlockAppender","syncDerivedBlockAttributes","dispatch","prevBlocks","subscribe","children","_react","createElement","Warning","__","Placeholder","Spinner","__experimentalRecursionProvider","uniqueId","InspectorControls","PanelBody","TextControl","label","value","onChange","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityProp, useEntityRecord } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tTextControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { getBlockSupport, parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\n\nfunction isPartiallySynced( block ) {\n\treturn (\n\t\t!! getBlockSupport( block.name, '__experimentalConnections', false ) &&\n\t\t!! block.attributes.connections?.attributes &&\n\t\tObject.values( block.attributes.connections.attributes ).some(\n\t\t\t( connection ) => connection.source === 'pattern_attributes'\n\t\t)\n\t);\n}\nfunction getPartiallySyncedAttributes( block ) {\n\treturn Object.entries( block.attributes.connections.attributes )\n\t\t.filter(\n\t\t\t( [ , connection ] ) => connection.source === 'pattern_attributes'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction applyInitialOverrides( blocks, overrides = {}, defaultValues ) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialOverrides(\n\t\t\tblock.innerBlocks,\n\t\t\toverrides,\n\t\t\tdefaultValues\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId )\n\t\t\treturn { ...block, innerBlocks };\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ blockId ] = block.attributes[ attributeKey ];\n\t\t\tif ( overrides[ blockId ] ) {\n\t\t\t\tnewAttributes[ attributeKey ] = overrides[ blockId ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction getOverridesFromBlocks( blocks, defaultValues ) {\n\t/** @type {Record<string, unknown>} */\n\tconst overrides = {};\n\tfor ( const block of blocks ) {\n\t\tObject.assign(\n\t\t\toverrides,\n\t\t\tgetOverridesFromBlocks( block.innerBlocks, defaultValues )\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId ) continue;\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\tblock.attributes[ attributeKey ] !== defaultValues[ blockId ]\n\t\t\t) {\n\t\t\t\toverrides[ blockId ] = block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( overrides ).length > 0 ? overrides : undefined;\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, overrides },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\tconst initialOverrides = useRef( overrides );\n\tconst defaultValuesRef = useRef( {} );\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { getBlockEditingMode } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! record?.content?.raw ) return;\n\t\tconst initialBlocks = parse( record.content.raw );\n\n\t\tconst editingMode = getBlockEditingMode( patternClientId );\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks(\n\t\t\t\tpatternClientId,\n\t\t\t\tapplyInitialOverrides(\n\t\t\t\t\tinitialBlocks,\n\t\t\t\t\tinitialOverrides.current,\n\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t)\n\t\t\t);\n\t\t\tsetBlockEditingMode( patternClientId, editingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\trecord,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t] );\n\n\tconst innerBlocks = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlocks( patternClientId ),\n\t\t[ patternClientId ]\n\t);\n\n\tconst [ title, setTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_block',\n\t\t'title',\n\t\tref\n\t);\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `overrides` attribute from the updated blocks.\n\t// `syncDerivedBlockAttributes` is an action that just like `updateBlockAttributes`\n\t// but won't create an undo level.\n\t// This can be abstracted into a `useSyncDerivedAttributes` hook if needed.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tconst { syncDerivedBlockAttributes } = unlock(\n\t\t\tregistry.dispatch( blockEditorStore )\n\t\t);\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedBlockAttributes( patternClientId, {\n\t\t\t\t\toverrides: getOverridesFromBlocks(\n\t\t\t\t\t\tblocks,\n\t\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [ patternClientId, registry ] );\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_blocks","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","isPartiallySynced","block","getBlockSupport","name","attributes","connections","Object","values","some","connection","source","getPartiallySyncedAttributes","entries","filter","map","attributeKey","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","useRef","useMemo","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","includes","align","layout","applyInitialOverrides","overrides","defaultValues","innerBlocks","blockId","metadata","id","newAttributes","_defaultValues$blockI","getOverridesFromBlocks","assign","_overrides$blockId","keys","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialOverrides","defaultValuesRef","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","getPostLinkProps","useSelect","select","canUser","coreStore","getBlocks","editingMode","getSettings","canEdit","editOriginalProps","postId","postType","canvas","useEffect","_editedRecord$blocks$","initialBlocks","cloneBlock","content","parse","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","event","onClick","children","_react","createElement","Warning","__","Placeholder","Spinner","__experimentalRecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","href"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { getBlockSupport, parse, cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\n\nfunction isPartiallySynced( block ) {\n\treturn (\n\t\t!! getBlockSupport( block.name, '__experimentalConnections', false ) &&\n\t\t!! block.attributes.connections?.attributes &&\n\t\tObject.values( block.attributes.connections.attributes ).some(\n\t\t\t( connection ) => connection.source === 'pattern_attributes'\n\t\t)\n\t);\n}\nfunction getPartiallySyncedAttributes( block ) {\n\treturn Object.entries( block.attributes.connections.attributes )\n\t\t.filter(\n\t\t\t( [ , connection ] ) => connection.source === 'pattern_attributes'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction applyInitialOverrides( blocks, overrides = {}, defaultValues ) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialOverrides(\n\t\t\tblock.innerBlocks,\n\t\t\toverrides,\n\t\t\tdefaultValues\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId )\n\t\t\treturn { ...block, innerBlocks };\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ blockId ] ??= {};\n\t\t\tdefaultValues[ blockId ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\t\t\tif ( overrides[ blockId ] ) {\n\t\t\t\tnewAttributes[ attributeKey ] =\n\t\t\t\t\toverrides[ blockId ][ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction getOverridesFromBlocks( blocks, defaultValues ) {\n\t/** @type {Record<string, Record<string, unknown>>} */\n\tconst overrides = {};\n\tfor ( const block of blocks ) {\n\t\tObject.assign(\n\t\t\toverrides,\n\t\t\tgetOverridesFromBlocks( block.innerBlocks, defaultValues )\n\t\t);\n\t\tconst blockId = block.attributes.metadata?.id;\n\t\tif ( ! isPartiallySynced( block ) || ! blockId ) continue;\n\t\tconst attributes = getPartiallySyncedAttributes( block );\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\tblock.attributes[ attributeKey ] !==\n\t\t\t\tdefaultValues[ blockId ][ attributeKey ]\n\t\t\t) {\n\t\t\t\toverrides[ blockId ] ??= {};\n\t\t\t\toverrides[ blockId ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( overrides ).length > 0 ? overrides : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode || ( isPartiallySynced( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\t\tsetBlockEditMode( setEditMode, block.innerBlocks, mode );\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, overrides },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\tconst initialOverrides = useRef( overrides );\n\tconst defaultValuesRef = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst { innerBlocks, userCanEdit, getBlockEditingMode, getPostLinkProps } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { canUser } = select( coreStore );\n\t\t\t\tconst {\n\t\t\t\t\tgetBlocks,\n\t\t\t\t\tgetBlockEditingMode: editingMode,\n\t\t\t\t\tgetSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\t\treturn {\n\t\t\t\t\tinnerBlocks: blocks,\n\t\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\t\tgetBlockEditingMode: editingMode,\n\t\t\t\t\tgetPostLinkProps: getSettings().getPostLinkProps,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ patternClientId, ref ]\n\t\t);\n\n\tconst editOriginalProps = getPostLinkProps\n\t\t? getPostLinkProps( {\n\t\t\t\tpostId: ref,\n\t\t\t\tpostType: 'wp_block',\n\t\t\t\tcanvas: 'edit',\n\t\t } )\n\t\t: {};\n\n\tuseEffect(\n\t\t() => setBlockEditMode( setBlockEditingMode, innerBlocks ),\n\t\t[ innerBlocks, setBlockEditingMode ]\n\t);\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\tconst initialBlocks =\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] );\n\n\t\tdefaultValuesRef.current = {};\n\t\tconst editingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tpatternClientId,\n\t\t\t\t\tapplyInitialOverrides(\n\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\tinitialOverrides.current,\n\t\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, editingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\teditedRecord,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `overrides` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\toverrides: getOverridesFromBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultValuesRef.current\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [ syncDerivedUpdates, patternClientId, registry, setAttributes ] );\n\n\tconst handleEditOriginal = ( event ) => {\n\t\tsetBlockEditMode( setBlockEditingMode, innerBlocks, 'default' );\n\t\teditOriginalProps.onClick( event );\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && editOriginalProps && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\thref={ editOriginalProps.href }\n\t\t\t\t\t\t\tonClick={ handleEditOriginal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ const metadata = {
14
14
  title: "Comments Title",
15
15
  category: "theme",
16
16
  ancestor: ["core/comments"],
17
- description: "Displays a title with the number of comments",
17
+ description: "Displays a title with the number of comments.",
18
18
  textdomain: "default",
19
19
  usesContext: ["postId", "postType"],
20
20
  attributes: {
@@ -22,7 +22,7 @@ const metadata = {
22
22
  title: "Comments Title",
23
23
  category: "theme",
24
24
  ancestor: ["core/comments"],
25
- description: "Displays a title with the number of comments",
25
+ description: "Displays a title with the number of comments.",
26
26
  textdomain: "default",
27
27
  usesContext: ["postId", "postType"],
28
28
  attributes: {
@@ -157,7 +157,7 @@ function CoverInspectorControls({
157
157
  }, (0, _i18n.__)('Describe the purpose of the image.')), (0, _react.createElement)("br", null), (0, _i18n.__)('Leave empty if decorative.'))
158
158
  }), (0, _react.createElement)(_components.PanelRow, null, (0, _react.createElement)(_components.Button, {
159
159
  variant: "secondary",
160
- isSmall: true,
160
+ size: "small",
161
161
  className: "block-library-cover__reset-button",
162
162
  onClick: onClearMedia
163
163
  }, (0, _i18n.__)('Clear Media'))))), colorGradientSettings.hasColorsOrGradients && (0, _react.createElement)(_blockEditor.InspectorControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","isSmall","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, 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\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\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 showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\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<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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</>\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\t__nextHasNoMarginBottom\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{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( '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<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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={ onClearMedia }\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</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"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={ 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\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAeA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAOA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,OAAA,GAAAL,OAAA;AAhCA;AACA;AACA;;AA2BA;AACA;AACA;;AAGA,SAASM,gBAAgBA,CAAE;EAC1BC,QAAQ;EACRC,YAAY;EACZC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG;AACT,CAAC,EAAG;EACH,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEC,qCAAY,CAAC;EAC/C,MAAMC,OAAO,GAAI,4BAA4BH,UAAY,EAAC;EAC1D,MAAMI,IAAI,GAAGN,IAAI,KAAK,IAAI;EAE1B,MAAM,CAAEO,cAAc,CAAE,GAAG,IAAAC,wBAAW,EAAE,eAAgB,CAAC;EACzD,MAAMC,KAAK,GAAG,IAAAC,wCAAc,EAAE;IAC7BH,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAE;IACnEI,aAAa,EAAE;MAAEC,EAAE,EAAE,GAAG;MAAE,GAAG,EAAE,EAAE;MAAEC,EAAE,EAAE,EAAE;MAAEC,GAAG,EAAE,EAAE;MAAEC,EAAE,EAAE,EAAE;MAAEC,EAAE,EAAE;IAAG;EACpE,CAAE,CAAC;EAEH,MAAMC,cAAc,GAAKC,gBAAgB,IAAM;IAC9C,MAAMC,UAAU,GACfD,gBAAgB,KAAK,EAAE,GACpBE,UAAU,CAAEF,gBAAiB,CAAC,GAC9BG,SAAS;IAEb,IAAKC,KAAK,CAAEH,UAAW,CAAC,IAAIA,UAAU,KAAKE,SAAS,EAAG;MACtD;IACD;IACAvB,QAAQ,CAAEqB,UAAW,CAAC;EACvB,CAAC;EAED,MAAMI,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,MAAM,CAAEC,cAAc,CAAE,GAAG,IAAAC,0DAAgC,EAAEzB,KAAM,CAAC;IACpE,OAAO,CAAEwB,cAAc,EAAEzB,IAAI,CAAE,CAAC2B,IAAI,CAAE,EAAG,CAAC;EAC3C,CAAC,EAAE,CAAE3B,IAAI,EAAEC,KAAK,CAAG,CAAC;EAEpB,MAAM2B,GAAG,GAAGtB,IAAI,GAAGuB,wBAAgB,GAAG,CAAC;EAEvC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAwC,yBAAW;IACXC,KAAK,EAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAG;IACzCC,EAAE,EAAG9B,OAAS;IACd+B,wBAAwB;IACxBR,GAAG,EAAGA,GAAK;IACX9B,QAAQ,EAAGmB,cAAgB;IAC3BlB,YAAY,EAAGA,YAAc;IAC7BsC,oBAAoB,EAAG,MAAQ;IAC/B5B,KAAK,EAAGA,KAAO;IACfR,KAAK,EAAGsB;EAAe,CACvB,CAAC;AAEJ;AACe,SAASe,sBAAsBA,CAAE;EAC/CC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,eAAe;EACfC,QAAQ;EACRC,eAAe;EACfC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,gBAAgB;IAChBC,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,GAAG;IACHC;EACD,CAAC,GAAGhB,UAAU;EACd,MAAM;IACLiB,iBAAiB;IACjBC,iBAAiB;IACjBC,YAAY;IACZC,GAAG;IACHC;EACD,CAAC,GAAGhB,eAAe;EAEnB,MAAM;IAAEiB,aAAa;IAAEC;EAAY,CAAC,GAAG,IAAAC,sCAAyB,EAAC,CAAC;EAElE,MAAMC,cAAc,GAAGA,CAAA,KAAM;IAC5BxB,aAAa,CAAE;MACdU,WAAW,EAAE,CAAEA,WAAW;MAC1B,IAAK,CAAEA,WAAW,GAAG;QAAED,UAAU,EAAE5B;MAAU,CAAC,GAAG,CAAC,CAAC;IACpD,CAAE,CAAC;EACJ,CAAC;EAED,MAAM4C,gBAAgB,GAAGA,CAAA,KAAM;IAC9BzB,aAAa,CAAE;MACdW,UAAU,EAAE,CAAEA;IACf,CAAE,CAAC;EACJ,CAAC;EAED,MAAMe,oBAAoB,GACzBV,iBAAiB,IACfC,iBAAiB,KAAM,CAAEP,WAAW,IAAIC,UAAU,CAAI;EAEzD,MAAMgB,2BAA2B,GAAKlE,KAAK,IAAM;IAChD,MAAM,CAAEmE,UAAU,EAAEC,QAAQ,CAAE,GAAGX,YAAY,CAACY,OAAO,GAClD,CAAEZ,YAAY,CAACY,OAAO,CAACC,KAAK,EAAE,gBAAgB,CAAE,GAChD,CAAE5B,QAAQ,CAAC2B,OAAO,CAACC,KAAK,EAAE,oBAAoB,CAAE;IACnDH,UAAU,CAAEC,QAAQ,CAAE,GAAG,IAAAG,qBAAa,EAAEvE,KAAM,CAAC;EAChD,CAAC;EAED,MAAMwE,qBAAqB,GAAG,IAAAC,8DAAmC,EAAC,CAAC;EAEnE,MAAMC,mBAAmB,GAAG;IAC3BC,MAAM,EAAE,IAAA1C,QAAE,EACT,qHACD,CAAC;IACD2C,IAAI,EAAE,IAAA3C,QAAE,EACP,kFACD,CAAC;IACD4C,OAAO,EAAE,IAAA5C,QAAE,EACV,kIACD,CAAC;IACD6C,OAAO,EAAE,IAAA7C,QAAE,EACV,gGACD,CAAC;IACD8C,KAAK,EAAE,IAAA9C,QAAE,EACR,uIACD,CAAC;IACD+C,MAAM,EAAE,IAAA/C,QAAE,EACT,8HACD;EACD,CAAC;EAED,OACC,IAAAJ,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAoD,QAAA,QACC,IAAApD,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAAyF,iBAAiB,QACf,CAAC,CAAExB,GAAG,IACP,IAAA7B,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA4F,SAAS;IAACC,KAAK,EAAG,IAAAnD,QAAE,EAAE,gBAAiB;EAAG,GACxCuB,iBAAiB,IAClB,IAAA3B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAoD,QAAA,QACC,IAAApD,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA8F,aAAa;IACbC,uBAAuB;IACvBtD,KAAK,EAAG,IAAAC,QAAE,EAAE,kBAAmB,CAAG;IAClCsD,OAAO,EAAGtC,WAAa;IACvBpD,QAAQ,EAAGkE;EAAgB,CAC3B,CAAC,EAEF,IAAAlC,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA8F,aAAa;IACbC,uBAAuB;IACvBtD,KAAK,EAAG,IAAAC,QAAE,EAAE,qBAAsB,CAAG;IACrCsD,OAAO,EAAGrC,UAAY;IACtBrD,QAAQ,EAAGmE;EAAkB,CAC7B,CACA,CACF,EACCC,oBAAoB,IACrB,IAAApC,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAiG,gBAAgB;IAChBF,uBAAuB;IACvBtD,KAAK,EAAG,IAAAC,QAAE,EAAE,oBAAqB,CAAG;IACpCyB,GAAG,EAAGA,GAAK;IACX1D,KAAK,EAAGgD,UAAY;IACpByC,WAAW,EAAGvB,2BAA6B;IAC3CwB,MAAM,EAAGxB,2BAA6B;IACtCrE,QAAQ,EAAK8F,aAAa,IACzBpD,aAAa,CAAE;MACdS,UAAU,EAAE2C;IACb,CAAE;EACF,CACD,CACD,EACC,CAAE7C,gBAAgB,IAAIY,GAAG,IAAI,CAAEH,iBAAiB,IACjD,IAAA1B,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAqG,eAAe;IACfN,uBAAuB;IACvBtD,KAAK,EAAG,IAAAC,QAAE,EAAE,kBAAmB,CAAG;IAClCjC,KAAK,EAAGqD,GAAK;IACbxD,QAAQ,EAAKgG,MAAM,IAClBtD,aAAa,CAAE;MAAEc,GAAG,EAAEwC;IAAO,CAAE,CAC/B;IACDC,IAAI,EACH,IAAAjE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAoD,QAAA,QACC,IAAApD,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAwG,YAAY;MAACC,IAAI,EAAC;IAAuD,GACvE,IAAA/D,QAAE,EACH,oCACD,CACa,CAAC,EACf,IAAAJ,MAAA,CAAAC,aAAA,YAAK,CAAC,EACJ,IAAAG,QAAE,EAAE,4BAA6B,CAClC;EACF,CACD,CACD,EACD,IAAAJ,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0G,QAAQ,QACR,IAAApE,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA2G,MAAM;IACNC,OAAO,EAAC,WAAW;IACnBC,OAAO;IACPC,SAAS,EAAC,mCAAmC;IAC7CC,OAAO,EAAGzD;EAAc,GAEtB,IAAAZ,QAAE,EAAE,aAAc,CACb,CACC,CACA,CAEM,CAAC,EAClBuC,qBAAqB,CAAC+B,oBAAoB,IAC3C,IAAA1E,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAAyF,iBAAiB;IAACsB,KAAK,EAAC;EAAO,GAC/B,IAAA3E,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAAgH,2CAA6B;IAC7BC,iCAAiC;IACjCC,QAAQ,EAAG,CACV;MACCC,UAAU,EAAEjD,YAAY,CAACkD,KAAK;MAC9BjD,aAAa;MACb5B,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU,CAAC;MACtB6E,aAAa,EAAErE,eAAe;MAC9BsE,gBAAgB,EAAElD,WAAW;MAC7BmD,gBAAgB,EAAE,IAAI;MACtBC,cAAc,EAAEA,CAAA,MAAQ;QACvBtD,YAAY,EAAEvC,SAAS;QACvB8F,kBAAkB,EAAE9F,SAAS;QAC7B+F,QAAQ,EAAE/F,SAAS;QACnBgG,cAAc,EAAEhG;MACjB,CAAC;IACF,CAAC,CACC;IACHiG,OAAO,EAAG7E,QAAU;IAAA,GACfgC;EAAqB,CAC1B,CAAC,EACF,IAAA3C,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA+H,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAM;MAChB;MACA;MACA,OAAOxE,QAAQ,KAAK3B,SAAS,GAC1B,KAAK,GACL2B,QAAQ,MAAOW,GAAG,GAAG,EAAE,GAAG,GAAG,CAAE;IACnC,CAAG;IACH1B,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCuF,UAAU,EAAGA,CAAA,KAAM5E,cAAc,CAAEc,GAAG,GAAG,EAAE,GAAG,GAAI,CAAG;IACrDuD,cAAc,EAAGA,CAAA,MAAQ;MACxBlE,QAAQ,EAAEW,GAAG,GAAG,EAAE,GAAG;IACtB,CAAC,CAAI;IACLsD,gBAAgB;IAChBK,OAAO,EAAG7E;EAAU,GAEpB,IAAAX,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAkI,YAAY;IACZnC,uBAAuB;IACvBtD,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCjC,KAAK,EAAG+C,QAAU;IAClBlD,QAAQ,EAAK6H,WAAW,IACvB9E,cAAc,CAAE8E,WAAY,CAC5B;IACD/F,GAAG,EAAG,CAAG;IACTgG,GAAG,EAAG,GAAK;IACXC,IAAI,EAAG,EAAI;IACXC,QAAQ;IACRC,qBAAqB;EAAA,CACrB,CACc,CACE,CACnB,EACD,IAAAjG,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAAyF,iBAAiB;IAACsB,KAAK,EAAC;EAAY,GACpC,IAAA3E,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA+H,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEpE,SAAW;IAC/BnB,KAAK,EAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAG;IAChCuF,UAAU,EAAGA,CAAA,KACZjF,aAAa,CAAE;MACdY,SAAS,EAAE/B,SAAS;MACpBgC,aAAa,EAAEhC;IAChB,CAAE,CACF;IACD6F,cAAc,EAAGA,CAAA,MAAQ;MACxB9D,SAAS,EAAE/B,SAAS;MACpBgC,aAAa,EAAEhC;IAChB,CAAC,CAAI;IACL4F,gBAAgB,EAAG,IAAM;IACzBK,OAAO,EAAG7E;EAAU,GAEpB,IAAAX,MAAA,CAAAC,aAAA,EAAClC,gBAAgB;IAChBI,KAAK,EAAGmD,SAAW;IACnBpD,IAAI,EAAGqD,aAAe;IACtBvD,QAAQ,EAAKkI,YAAY,IACxBxF,aAAa,CAAE;MAAEY,SAAS,EAAE4E;IAAa,CAAE,CAC3C;IACDjI,YAAY,EAAKkI,QAAQ,IACxBzF,aAAa,CAAE;MACda,aAAa,EAAE4E;IAChB,CAAE;EACF,CACD,CACc,CACE,CAAC,EACpB,IAAAnG,MAAA,CAAAC,aAAA,EAACrC,YAAA,CAAAyF,iBAAiB;IAACsB,KAAK,EAAC;EAAU,GAClC,IAAA3E,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0I,aAAa;IACb3C,uBAAuB;IACvBwC,qBAAqB;IACrB9F,KAAK,EAAG,IAAAC,QAAE,EAAE,cAAe,CAAG;IAC9BiG,OAAO,EAAG,CACT;MAAElG,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;MAAEjC,KAAK,EAAE;IAAM,CAAC,EAChD;MAAEgC,KAAK,EAAE,UAAU;MAAEhC,KAAK,EAAE;IAAS,CAAC,EACtC;MAAEgC,KAAK,EAAE,QAAQ;MAAEhC,KAAK,EAAE;IAAO,CAAC,EAClC;MAAEgC,KAAK,EAAE,WAAW;MAAEhC,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEgC,KAAK,EAAE,WAAW;MAAEhC,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEgC,KAAK,EAAE,SAAS;MAAEhC,KAAK,EAAE;IAAQ,CAAC,EACpC;MAAEgC,KAAK,EAAE,UAAU;MAAEhC,KAAK,EAAE;IAAS,CAAC,CACpC;IACHA,KAAK,EAAGsD,OAAS;IACjBzD,QAAQ,EAAKG,KAAK,IACjBuC,aAAa,CAAE;MAAEe,OAAO,EAAEtD;IAAM,CAAE,CAClC;IACD8F,IAAI,EAAGpB,mBAAmB,CAAEpB,OAAO;EAAI,CACvC,CACiB,CAClB,CAAC;AAEL"}
1
+ {"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, 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\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\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 showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\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<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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</>\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\t__nextHasNoMarginBottom\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{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( '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<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\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</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"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={ 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\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ exports.removeAspectRatioClasses = exports.matchesPatterns = exports.isFromWordP
12
12
  var _react = require("react");
13
13
  var _dedupe = _interopRequireDefault(require("classnames/dedupe"));
14
14
  var _memize = _interopRequireDefault(require("memize"));
15
- var _blockEditor = require("@wordpress/block-editor");
15
+ var _components = require("@wordpress/components");
16
16
  var _element = require("@wordpress/element");
17
17
  var _blocks = require("@wordpress/blocks");
18
18
  var _constants = require("./constants");
@@ -80,9 +80,6 @@ const metadata = {
80
80
  const {
81
81
  name: DEFAULT_EMBED_BLOCK
82
82
  } = metadata;
83
- const {
84
- kebabCase
85
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
86
83
 
87
84
  /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */
88
85
 
@@ -322,6 +319,9 @@ const getAttributesFromPreview = (0, _memize.default)((preview, title, currentCl
322
319
  html,
323
320
  provider_name: providerName
324
321
  } = preview;
322
+ const {
323
+ kebabCase
324
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
325
325
  const providerNameSlug = kebabCase((providerName || title).toLowerCase());
326
326
  if (isFromWordPress(html)) {
327
327
  type = _constants.WP_EMBED_TYPE;