@wordpress/block-library 9.10.0 → 9.11.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 (206) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +10 -5
  3. package/build/archives/index.js +6 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/hooks.js +2 -3
  6. package/build/avatar/hooks.js.map +1 -1
  7. package/build/button/get-updated-link-attributes.js +1 -1
  8. package/build/button/get-updated-link-attributes.js.map +1 -1
  9. package/build/comments/index.js +12 -0
  10. package/build/comments/index.js.map +1 -1
  11. package/build/cover/constants.js +8 -0
  12. package/build/cover/constants.js.map +1 -0
  13. package/build/cover/edit/index.js +24 -3
  14. package/build/cover/edit/index.js.map +1 -1
  15. package/build/cover/edit/inspector-controls.js +40 -2
  16. package/build/cover/edit/inspector-controls.js.map +1 -1
  17. package/build/cover/index.js +3 -0
  18. package/build/cover/index.js.map +1 -1
  19. package/build/cover/save.js +3 -1
  20. package/build/cover/save.js.map +1 -1
  21. package/build/file/edit.js +1 -2
  22. package/build/file/edit.js.map +1 -1
  23. package/build/gallery/constants.js +2 -1
  24. package/build/gallery/constants.js.map +1 -1
  25. package/build/gallery/edit.js +11 -2
  26. package/build/gallery/edit.js.map +1 -1
  27. package/build/gallery/utils.js +26 -5
  28. package/build/gallery/utils.js.map +1 -1
  29. package/build/html/edit.js +5 -1
  30. package/build/html/edit.js.map +1 -1
  31. package/build/html/preview.js +2 -2
  32. package/build/html/preview.js.map +1 -1
  33. package/build/latest-posts/edit.js +3 -8
  34. package/build/latest-posts/edit.js.map +1 -1
  35. package/build/navigation/edit/index.js +23 -2
  36. package/build/navigation/edit/index.js.map +1 -1
  37. package/build/navigation/edit/menu-inspector-controls.js +1 -1
  38. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  39. package/build/navigation/edit/navigation-menu-selector.js +2 -2
  40. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  41. package/build/paragraph/edit.js +1 -1
  42. package/build/paragraph/edit.js.map +1 -1
  43. package/build/post-featured-image/edit.js +1 -1
  44. package/build/post-featured-image/edit.js.map +1 -1
  45. package/build/post-time-to-read/edit.js +2 -2
  46. package/build/post-time-to-read/edit.js.map +1 -1
  47. package/build/query/edit/inspector-controls/order-control.js +2 -2
  48. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  49. package/build/query-title/edit.js +1 -1
  50. package/build/query-title/edit.js.map +1 -1
  51. package/build/search/edit.js +19 -14
  52. package/build/search/edit.js.map +1 -1
  53. package/build/separator/transforms.js +12 -0
  54. package/build/separator/transforms.js.map +1 -1
  55. package/build/social-links/edit.js +0 -1
  56. package/build/social-links/edit.js.map +1 -1
  57. package/build/spacer/index.js +2 -0
  58. package/build/spacer/index.js.map +1 -1
  59. package/build/spacer/transforms.js +27 -0
  60. package/build/spacer/transforms.js.map +1 -0
  61. package/build/table/edit.js +0 -1
  62. package/build/table/edit.js.map +1 -1
  63. package/build/table-of-contents/edit.js +2 -7
  64. package/build/table-of-contents/edit.js.map +1 -1
  65. package/build/template-part/edit/index.js +1 -1
  66. package/build/template-part/edit/index.js.map +1 -1
  67. package/build/video/tracks-editor.js +1 -1
  68. package/build/video/tracks-editor.js.map +1 -1
  69. package/build-module/archives/index.js +6 -0
  70. package/build-module/archives/index.js.map +1 -1
  71. package/build-module/avatar/hooks.js +2 -3
  72. package/build-module/avatar/hooks.js.map +1 -1
  73. package/build-module/button/get-updated-link-attributes.js +1 -1
  74. package/build-module/button/get-updated-link-attributes.js.map +1 -1
  75. package/build-module/comments/index.js +12 -0
  76. package/build-module/comments/index.js.map +1 -1
  77. package/build-module/cover/constants.js +2 -0
  78. package/build-module/cover/constants.js.map +1 -0
  79. package/build-module/cover/edit/index.js +24 -3
  80. package/build-module/cover/edit/index.js.map +1 -1
  81. package/build-module/cover/edit/inspector-controls.js +41 -3
  82. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  83. package/build-module/cover/index.js +3 -0
  84. package/build-module/cover/index.js.map +1 -1
  85. package/build-module/cover/save.js +3 -1
  86. package/build-module/cover/save.js.map +1 -1
  87. package/build-module/file/edit.js +1 -2
  88. package/build-module/file/edit.js.map +1 -1
  89. package/build-module/gallery/constants.js +1 -0
  90. package/build-module/gallery/constants.js.map +1 -1
  91. package/build-module/gallery/edit.js +14 -5
  92. package/build-module/gallery/edit.js.map +1 -1
  93. package/build-module/gallery/utils.js +27 -6
  94. package/build-module/gallery/utils.js.map +1 -1
  95. package/build-module/html/edit.js +6 -2
  96. package/build-module/html/edit.js.map +1 -1
  97. package/build-module/html/preview.js +2 -2
  98. package/build-module/html/preview.js.map +1 -1
  99. package/build-module/latest-posts/edit.js +3 -8
  100. package/build-module/latest-posts/edit.js.map +1 -1
  101. package/build-module/navigation/edit/index.js +23 -2
  102. package/build-module/navigation/edit/index.js.map +1 -1
  103. package/build-module/navigation/edit/menu-inspector-controls.js +1 -3
  104. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  105. package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
  106. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  107. package/build-module/paragraph/edit.js +1 -1
  108. package/build-module/paragraph/edit.js.map +1 -1
  109. package/build-module/post-featured-image/edit.js +1 -1
  110. package/build-module/post-featured-image/edit.js.map +1 -1
  111. package/build-module/post-time-to-read/edit.js +2 -2
  112. package/build-module/post-time-to-read/edit.js.map +1 -1
  113. package/build-module/query/edit/inspector-controls/order-control.js +2 -2
  114. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  115. package/build-module/query-title/edit.js +2 -2
  116. package/build-module/query-title/edit.js.map +1 -1
  117. package/build-module/search/edit.js +20 -15
  118. package/build-module/search/edit.js.map +1 -1
  119. package/build-module/separator/transforms.js +12 -0
  120. package/build-module/separator/transforms.js.map +1 -1
  121. package/build-module/social-links/edit.js +0 -1
  122. package/build-module/social-links/edit.js.map +1 -1
  123. package/build-module/spacer/index.js +2 -0
  124. package/build-module/spacer/index.js.map +1 -1
  125. package/build-module/spacer/transforms.js +20 -0
  126. package/build-module/spacer/transforms.js.map +1 -0
  127. package/build-module/table/edit.js +0 -1
  128. package/build-module/table/edit.js.map +1 -1
  129. package/build-module/table-of-contents/edit.js +2 -7
  130. package/build-module/table-of-contents/edit.js.map +1 -1
  131. package/build-module/template-part/edit/index.js +1 -1
  132. package/build-module/template-part/edit/index.js.map +1 -1
  133. package/build-module/video/tracks-editor.js +2 -2
  134. package/build-module/video/tracks-editor.js.map +1 -1
  135. package/build-style/archives/editor-rtl.css +5 -0
  136. package/build-style/archives/editor.css +5 -0
  137. package/build-style/button/style-rtl.css +3 -0
  138. package/build-style/button/style.css +3 -0
  139. package/build-style/comments/editor-rtl.css +4 -0
  140. package/build-style/comments/editor.css +4 -0
  141. package/build-style/comments/style-rtl.css +4 -0
  142. package/build-style/comments/style.css +4 -0
  143. package/build-style/cover/style-rtl.css +5 -0
  144. package/build-style/cover/style.css +5 -0
  145. package/build-style/editor-rtl.css +20 -0
  146. package/build-style/editor.css +20 -0
  147. package/build-style/group/editor-rtl.css +10 -0
  148. package/build-style/group/editor.css +10 -0
  149. package/build-style/image/style-rtl.css +2 -0
  150. package/build-style/image/style.css +2 -0
  151. package/build-style/navigation/editor-rtl.css +1 -0
  152. package/build-style/navigation/editor.css +1 -0
  153. package/build-style/style-rtl.css +14 -0
  154. package/build-style/style.css +14 -0
  155. package/package.json +36 -35
  156. package/src/archives/block.json +6 -0
  157. package/src/archives/editor.scss +8 -0
  158. package/src/avatar/hooks.js +2 -3
  159. package/src/avatar/index.php +4 -5
  160. package/src/button/get-updated-link-attributes.js +1 -1
  161. package/src/button/style.scss +3 -0
  162. package/src/button/test/get-updated-link-attributes.js +15 -0
  163. package/src/comment-author-avatar/index.php +1 -1
  164. package/src/comments/block.json +21 -3
  165. package/src/comments/style.scss +4 -1
  166. package/src/cover/block.json +3 -0
  167. package/src/cover/constants.js +1 -0
  168. package/src/cover/edit/index.js +20 -2
  169. package/src/cover/edit/inspector-controls.js +46 -1
  170. package/src/cover/save.js +2 -0
  171. package/src/cover/style.scss +6 -0
  172. package/src/cover/test/edit.js +1 -3
  173. package/src/file/edit.js +1 -2
  174. package/src/gallery/constants.js +1 -0
  175. package/src/gallery/edit.js +25 -2
  176. package/src/gallery/utils.js +23 -2
  177. package/src/group/editor.scss +12 -0
  178. package/src/html/edit.js +7 -1
  179. package/src/html/preview.js +3 -2
  180. package/src/image/style.scss +1 -0
  181. package/src/latest-posts/edit.js +3 -7
  182. package/src/latest-posts/index.php +1 -1
  183. package/src/navigation/edit/index.js +30 -3
  184. package/src/navigation/edit/menu-inspector-controls.js +2 -2
  185. package/src/navigation/edit/navigation-menu-selector.js +2 -2
  186. package/src/navigation/editor.scss +1 -0
  187. package/src/paragraph/edit.js +1 -1
  188. package/src/post-featured-image/edit.js +1 -1
  189. package/src/post-time-to-read/edit.js +2 -2
  190. package/src/post-time-to-read/index.php +1 -1
  191. package/src/query/edit/inspector-controls/order-control.js +2 -2
  192. package/src/query-title/edit.js +2 -2
  193. package/src/rss/index.php +1 -1
  194. package/src/search/edit.js +28 -25
  195. package/src/separator/test/__snapshots__/transforms.native.js.snap +6 -0
  196. package/src/separator/test/transforms.native.js +1 -1
  197. package/src/separator/transforms.js +11 -0
  198. package/src/social-links/edit.js +0 -1
  199. package/src/spacer/index.js +2 -0
  200. package/src/spacer/test/__snapshots__/transforms.native.js.snap +6 -0
  201. package/src/spacer/test/transforms.native.js +1 -1
  202. package/src/spacer/transforms.js +20 -0
  203. package/src/table/edit.js +0 -1
  204. package/src/table-of-contents/edit.js +2 -6
  205. package/src/template-part/edit/index.js +1 -1
  206. package/src/video/tracks-editor.js +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.11.0 (2024-10-30)
6
+
5
7
  ## 9.10.0 (2024-10-16)
6
8
 
7
9
  ## 9.9.0 (2024-10-03)
package/README.md CHANGED
@@ -98,21 +98,26 @@ To find out more about contributing to this package or Gutenberg as a whole, ple
98
98
 
99
99
  This file is used when using the option to register individual block from the `@wordpress/block-library` package.
100
100
 
101
- 4. If a `view.js` file (or a file prefixed with `view`, e.g. `view-example.js`) is present in the block's directory, this file will be built along other assets, making it available to load from the browser. You only need to reference a `view.min.js` (notice the different file extension) file in the `block.json` file as follows:
101
+ 4. If the block exposes a script module on the front end, it must be included in the package's `package.json` file in the `wpScriptModules` object. This will include the script module when it's bundled for use in WordPress. See [the packages README for more details.](../README.md):
102
102
 
103
103
  ```json
104
104
  {
105
- "viewScript": "file:./view.min.js"
105
+ "name": "@wordpress/block-library",
106
+ "wpScriptModuleExports": {
107
+ "./blinking-paragraph/view": "./build-module/blinking-paragraph/view.js",
108
+ "./image/view": "./build-module/image/view.js"
109
+ // Add any new script modules here.
110
+ }
106
111
  }
107
112
  ```
108
113
 
109
- This file will get automatically loaded when the static block is present on the front end. For dynamic block, you need to manually enqueue the view script in `render_callback` of the block, example:
114
+ For every dynamic block, you need to manually enqueue the view script module in `render_callback` of the block, example:
110
115
 
111
116
  ```php
112
117
  function render_block_core_blinking_paragraph( $attributes, $content ) {
113
- $should_load_view_script = ! empty( $attributes['isInteractive'] ) && ! wp_script_is( 'wp-block-blinking-paragraph-view' );
118
+ $should_load_view_script = ! empty( $attributes['isInteractive'] );
114
119
  if ( $should_load_view_script ) {
115
- wp_enqueue_script( 'wp-block-blinking-paragraph-view' );
120
+ wp_enqueue_script_module( '@wordpress/block-library/blinking-paragraph' );
116
121
  }
117
122
 
118
123
  return $content;
@@ -42,6 +42,12 @@ const metadata = exports.metadata = {
42
42
  },
43
43
  supports: {
44
44
  align: true,
45
+ __experimentalBorder: {
46
+ radius: true,
47
+ color: true,
48
+ width: true,
49
+ style: true
50
+ },
45
51
  html: false,
46
52
  spacing: {
47
53
  margin: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","displayAsDropdown","type","showLabel","showPostCounts","supports","align","html","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","settings","icon","example","edit","init","initBlock"],"sources":["@wordpress/block-library/src/archives/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { archive as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,iBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,cAAA;MAAAF,IAAA;MAAA;IAAA;IAAAA,IAAA;MAAAA,IAAA;MAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;AAAA;AAOA,MAAM;EAAE5B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM6B,QAAQ,GAAAhC,OAAA,CAAAgC,QAAA,GAAG;EACvBC,IAAI,EAAJA,cAAI;EACJC,OAAO,EAAE,CAAC,CAAC;EACXC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAElC,IAAI;EAAEJ,QAAQ;EAAEiC;AAAS,CAAE,CAAC;AAAChC,OAAA,CAAAoC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","displayAsDropdown","type","showLabel","showPostCounts","supports","align","__experimentalBorder","radius","color","width","style","html","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","settings","icon","example","edit","init","initBlock"],"sources":["@wordpress/block-library/src/archives/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { archive as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,iBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,cAAA;MAAAF,IAAA;MAAA;IAAA;IAAAA,IAAA;MAAAA,IAAA;MAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,KAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;IAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;AAAA;AAOA,MAAM;EAAEjC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMkC,QAAQ,GAAArC,OAAA,CAAAqC,QAAA,GAAG;EACvBC,IAAI,EAAJA,cAAI;EACJC,OAAO,EAAE,CAAC,CAAC;EACXC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEvC,IAAI;EAAEJ,QAAQ;EAAEsC;AAAS,CAAE,CAAC;AAACrC,OAAA,CAAAyC,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -52,9 +52,8 @@ function useCommentAvatar({
52
52
  src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar,
53
53
  minSize,
54
54
  maxSize,
55
- // translators: %s is the Author name.
56
55
  alt: authorName ?
57
- // translators: %s is the Author name.
56
+ // translators: %s: Author name.
58
57
  (0, _i18n.sprintf)((0, _i18n.__)('%s Avatar'), authorName) : (0, _i18n.__)('Default Avatar')
59
58
  };
60
59
  }
@@ -92,7 +91,7 @@ function useUserAvatar({
92
91
  minSize,
93
92
  maxSize,
94
93
  alt: authorDetails ?
95
- // translators: %s is the Author name.
94
+ // translators: %s: Author name.
96
95
  (0, _i18n.sprintf)((0, _i18n.__)('%s Avatar'), authorDetails?.name) : (0, _i18n.__)('Default Avatar')
97
96
  };
98
97
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_coreData","_i18n","_data","getAvatarSizes","sizes","minSize","maxSize","length","maxSizeBuffer","Math","floor","useDefaultAvatar","avatarURL","defaultAvatarUrl","useSelect","select","getSettings","blockEditorStore","__experimentalDiscussionSettings","useCommentAvatar","commentId","avatars","useEntityProp","authorName","avatarUrls","Object","values","keys","defaultAvatar","src","alt","sprintf","__","useUserAvatar","userId","postId","postType","authorDetails","getEditedEntityRecord","getUser","coreStore","_authorId","author","avatar_urls","name"],"sources":["@wordpress/block-library/src/avatar/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nfunction useDefaultAvatar() {\n\tconst { avatarURL: defaultAvatarUrl } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\treturn defaultAvatarUrl;\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\t// translators: %s is the Author name.\n\t\talt: authorName\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\tconst avatarUrls = authorDetails?.avatar_urls\n\t\t? Object.values( authorDetails.avatar_urls )\n\t\t: null;\n\tconst sizes = authorDetails?.avatar_urls\n\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_coreData","_i18n","_data","getAvatarSizes","sizes","minSize","maxSize","length","maxSizeBuffer","Math","floor","useDefaultAvatar","avatarURL","defaultAvatarUrl","useSelect","select","getSettings","blockEditorStore","__experimentalDiscussionSettings","useCommentAvatar","commentId","avatars","useEntityProp","authorName","avatarUrls","Object","values","keys","defaultAvatar","src","alt","sprintf","__","useUserAvatar","userId","postId","postType","authorDetails","getEditedEntityRecord","getUser","coreStore","_authorId","author","avatar_urls","name"],"sources":["@wordpress/block-library/src/avatar/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nfunction useDefaultAvatar() {\n\tconst { avatarURL: defaultAvatarUrl } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\treturn defaultAvatarUrl;\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorName\n\t\t\t? // translators: %s: Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\tconst avatarUrls = authorDetails?.avatar_urls\n\t\t? Object.values( authorDetails.avatar_urls )\n\t\t: null;\n\tconst sizes = authorDetails?.avatar_urls\n\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s: Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,7 +40,7 @@ function getUpdatedLinkAttributes({
40
40
  updatedRel = updatedRel?.replace(relRegex, '').trim();
41
41
  }
42
42
  if (nofollow) {
43
- updatedRel = updatedRel?.includes(_constants.NOFOLLOW_REL) ? updatedRel : updatedRel + ` ${_constants.NOFOLLOW_REL}`;
43
+ updatedRel = updatedRel?.includes(_constants.NOFOLLOW_REL) ? updatedRel : (updatedRel + ` ${_constants.NOFOLLOW_REL}`).trim();
44
44
  } else {
45
45
  const relRegex = new RegExp(`\\b${_constants.NOFOLLOW_REL}\\s*`, 'g');
46
46
  updatedRel = updatedRel?.replace(relRegex, '').trim();
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_url","getUpdatedLinkAttributes","rel","url","opensInNewTab","nofollow","newLinkTarget","updatedRel","NEW_TAB_TARGET","includes","NEW_TAB_REL","relRegex","RegExp","replace","trim","NOFOLLOW_REL","prependHTTP","linkTarget","undefined"],"sources":["@wordpress/block-library/src/button/get-updated-link-attributes.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\n\n/**\n * WordPress dependencies\n */\nimport { prependHTTP } from '@wordpress/url';\n\n/**\n * Updates the link attributes.\n *\n * @param {Object} attributes The current block attributes.\n * @param {string} attributes.rel The current link rel attribute.\n * @param {string} attributes.url The current link url.\n * @param {boolean} attributes.opensInNewTab Whether the link should open in a new window.\n * @param {boolean} attributes.nofollow Whether the link should be marked as nofollow.\n */\nexport function getUpdatedLinkAttributes( {\n\trel = '',\n\turl = '',\n\topensInNewTab,\n\tnofollow,\n} ) {\n\tlet newLinkTarget;\n\t// Since `rel` is editable attribute, we need to check for existing values and proceed accordingly.\n\tlet updatedRel = rel;\n\n\tif ( opensInNewTab ) {\n\t\tnewLinkTarget = NEW_TAB_TARGET;\n\t\tupdatedRel = updatedRel?.includes( NEW_TAB_REL )\n\t\t\t? updatedRel\n\t\t\t: updatedRel + ` ${ NEW_TAB_REL }`;\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NEW_TAB_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\tif ( nofollow ) {\n\t\tupdatedRel = updatedRel?.includes( NOFOLLOW_REL )\n\t\t\t? updatedRel\n\t\t\t: updatedRel + ` ${ NOFOLLOW_REL }`;\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NOFOLLOW_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\treturn {\n\t\turl: prependHTTP( url ),\n\t\tlinkTarget: newLinkTarget,\n\t\trel: updatedRel || undefined,\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAKA,IAAAC,IAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,wBAAwBA,CAAE;EACzCC,GAAG,GAAG,EAAE;EACRC,GAAG,GAAG,EAAE;EACRC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,IAAIC,aAAa;EACjB;EACA,IAAIC,UAAU,GAAGL,GAAG;EAEpB,IAAKE,aAAa,EAAG;IACpBE,aAAa,GAAGE,yBAAc;IAC9BD,UAAU,GAAGA,UAAU,EAAEE,QAAQ,CAAEC,sBAAY,CAAC,GAC7CH,UAAU,GACVA,UAAU,GAAG,IAAKG,sBAAW,EAAG;EACpC,CAAC,MAAM;IACN,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAAE,MAAOF,sBAAW,MAAO,EAAE,GAAI,CAAC;IAC7DH,UAAU,GAAGA,UAAU,EAAEM,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,IAAKT,QAAQ,EAAG;IACfE,UAAU,GAAGA,UAAU,EAAEE,QAAQ,CAAEM,uBAAa,CAAC,GAC9CR,UAAU,GACVA,UAAU,GAAG,IAAKQ,uBAAY,EAAG;EACrC,CAAC,MAAM;IACN,MAAMJ,QAAQ,GAAG,IAAIC,MAAM,CAAE,MAAOG,uBAAY,MAAO,EAAE,GAAI,CAAC;IAC9DR,UAAU,GAAGA,UAAU,EAAEM,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,OAAO;IACNX,GAAG,EAAE,IAAAa,gBAAW,EAAEb,GAAI,CAAC;IACvBc,UAAU,EAAEX,aAAa;IACzBJ,GAAG,EAAEK,UAAU,IAAIW;EACpB,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_url","getUpdatedLinkAttributes","rel","url","opensInNewTab","nofollow","newLinkTarget","updatedRel","NEW_TAB_TARGET","includes","NEW_TAB_REL","relRegex","RegExp","replace","trim","NOFOLLOW_REL","prependHTTP","linkTarget","undefined"],"sources":["@wordpress/block-library/src/button/get-updated-link-attributes.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\n\n/**\n * WordPress dependencies\n */\nimport { prependHTTP } from '@wordpress/url';\n\n/**\n * Updates the link attributes.\n *\n * @param {Object} attributes The current block attributes.\n * @param {string} attributes.rel The current link rel attribute.\n * @param {string} attributes.url The current link url.\n * @param {boolean} attributes.opensInNewTab Whether the link should open in a new window.\n * @param {boolean} attributes.nofollow Whether the link should be marked as nofollow.\n */\nexport function getUpdatedLinkAttributes( {\n\trel = '',\n\turl = '',\n\topensInNewTab,\n\tnofollow,\n} ) {\n\tlet newLinkTarget;\n\t// Since `rel` is editable attribute, we need to check for existing values and proceed accordingly.\n\tlet updatedRel = rel;\n\n\tif ( opensInNewTab ) {\n\t\tnewLinkTarget = NEW_TAB_TARGET;\n\t\tupdatedRel = updatedRel?.includes( NEW_TAB_REL )\n\t\t\t? updatedRel\n\t\t\t: updatedRel + ` ${ NEW_TAB_REL }`;\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NEW_TAB_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\tif ( nofollow ) {\n\t\tupdatedRel = updatedRel?.includes( NOFOLLOW_REL )\n\t\t\t? updatedRel\n\t\t\t: ( updatedRel + ` ${ NOFOLLOW_REL }` ).trim();\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NOFOLLOW_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\treturn {\n\t\turl: prependHTTP( url ),\n\t\tlinkTarget: newLinkTarget,\n\t\trel: updatedRel || undefined,\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAKA,IAAAC,IAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,wBAAwBA,CAAE;EACzCC,GAAG,GAAG,EAAE;EACRC,GAAG,GAAG,EAAE;EACRC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,IAAIC,aAAa;EACjB;EACA,IAAIC,UAAU,GAAGL,GAAG;EAEpB,IAAKE,aAAa,EAAG;IACpBE,aAAa,GAAGE,yBAAc;IAC9BD,UAAU,GAAGA,UAAU,EAAEE,QAAQ,CAAEC,sBAAY,CAAC,GAC7CH,UAAU,GACVA,UAAU,GAAG,IAAKG,sBAAW,EAAG;EACpC,CAAC,MAAM;IACN,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAAE,MAAOF,sBAAW,MAAO,EAAE,GAAI,CAAC;IAC7DH,UAAU,GAAGA,UAAU,EAAEM,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,IAAKT,QAAQ,EAAG;IACfE,UAAU,GAAGA,UAAU,EAAEE,QAAQ,CAAEM,uBAAa,CAAC,GAC9CR,UAAU,GACV,CAAEA,UAAU,GAAG,IAAKQ,uBAAY,EAAG,EAAGD,IAAI,CAAC,CAAC;EAChD,CAAC,MAAM;IACN,MAAMH,QAAQ,GAAG,IAAIC,MAAM,CAAE,MAAOG,uBAAY,MAAO,EAAE,GAAI,CAAC;IAC9DR,UAAU,GAAGA,UAAU,EAAEM,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,OAAO;IACNX,GAAG,EAAE,IAAAa,gBAAW,EAAEb,GAAI,CAAC;IACvBc,UAAU,EAAEX,aAAa;IACzBJ,GAAG,EAAEK,UAAU,IAAIW;EACpB,CAAC;AACF","ignoreList":[]}
@@ -63,6 +63,18 @@ const metadata = exports.metadata = {
63
63
  __experimentalDefaultControls: {
64
64
  fontSize: true
65
65
  }
66
+ },
67
+ __experimentalBorder: {
68
+ radius: true,
69
+ color: true,
70
+ width: true,
71
+ style: true,
72
+ __experimentalDefaultControls: {
73
+ radius: true,
74
+ color: true,
75
+ width: true,
76
+ style: true
77
+ }
66
78
  }
67
79
  },
68
80
  editorStyle: "wp-block-comments-editor",
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","tagName","type","legacy","supports","align","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","editorStyle","usesContext","settings","icon","edit","save","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;EAAA;EAAAQ,WAAA;EAAAC,WAAA;AAAA;AASA,MAAM;EAAEhC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMiC,QAAQ,GAAApC,OAAA,CAAAoC,QAAA,GAAG;EACvBC,IAAI,EAAJA,mBAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEvC,IAAI;EAAEJ,QAAQ;EAAEqC;AAAS,CAAE,CAAC;AAACpC,OAAA,CAAAyC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","tagName","type","legacy","supports","align","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","usesContext","settings","icon","edit","save","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAAlB,6BAAA;QAAAgB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA;AASA,MAAM;EAAEpC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMqC,QAAQ,GAAAxC,OAAA,CAAAwC,QAAA,GAAG;EACvBC,IAAI,EAAJA,mBAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE3C,IAAI;EAAEJ,QAAQ;EAAEyC;AAAS,CAAE,CAAC;AAACxC,OAAA,CAAA6C,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_MEDIA_SIZE_SLUG = void 0;
7
+ const DEFAULT_MEDIA_SIZE_SLUG = exports.DEFAULT_MEDIA_SIZE_SLUG = 'full';
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_MEDIA_SIZE_SLUG","exports"],"sources":["@wordpress/block-library/src/cover/constants.js"],"sourcesContent":["export const DEFAULT_MEDIA_SIZE_SLUG = 'full';\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,MAAM","ignoreList":[]}
@@ -21,6 +21,7 @@ var _blockControls = _interopRequireDefault(require("./block-controls"));
21
21
  var _coverPlaceholder = _interopRequireDefault(require("./cover-placeholder"));
22
22
  var _resizableCoverPopover = _interopRequireDefault(require("./resizable-cover-popover"));
23
23
  var _colorUtils = require("./color-utils");
24
+ var _constants = require("../constants");
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  /**
26
27
  * External dependencies
@@ -82,9 +83,13 @@ function CoverEdit({
82
83
  allowedBlocks,
83
84
  templateLock,
84
85
  tagName: TagName = 'div',
85
- isUserOverlayColor
86
+ isUserOverlayColor,
87
+ sizeSlug
86
88
  } = attributes;
87
89
  const [featuredImage] = (0, _coreData.useEntityProp)('postType', postType, 'featured_media', postId);
90
+ const {
91
+ getSettings
92
+ } = (0, _data.useSelect)(_blockEditor.store);
88
93
  const {
89
94
  __unstableMarkNextChangeAsNotPersistent
90
95
  } = (0, _data.useDispatch)(_blockEditor.store);
@@ -116,8 +121,7 @@ function CoverEdit({
116
121
  isUserOverlayColor: isUserOverlayColor || false
117
122
  });
118
123
  })();
119
- // Disable reason: Update the block only when the featured image changes.
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
124
+ // Update the block only when the featured image changes.
121
125
  }, [mediaUrl]);
122
126
 
123
127
  // instead of destructuring the attributes
@@ -153,6 +157,23 @@ function CoverEdit({
153
157
  // See issue #52835 for context.
154
158
  const newDimRatio = originalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;
155
159
  const newIsDark = (0, _colorUtils.compositeIsDark)(newDimRatio, newOverlayColor, averageBackgroundColor);
160
+ if (backgroundType === _shared.IMAGE_BACKGROUND_TYPE && mediaAttributes.id) {
161
+ const {
162
+ imageDefaultSize
163
+ } = getSettings();
164
+
165
+ // Try to use the previous selected image size if it's available
166
+ // otherwise try the default image size or fallback to full size.
167
+ if (sizeSlug && newMedia?.sizes?.[sizeSlug]) {
168
+ mediaAttributes.sizeSlug = sizeSlug;
169
+ mediaAttributes.url = newMedia?.sizes?.[sizeSlug]?.url;
170
+ } else if (newMedia?.sizes?.[imageDefaultSize]) {
171
+ mediaAttributes.sizeSlug = imageDefaultSize;
172
+ mediaAttributes.url = newMedia?.sizes?.[sizeSlug]?.url;
173
+ } else {
174
+ mediaAttributes.sizeSlug = _constants.DEFAULT_MEDIA_SIZE_SLUG;
175
+ }
176
+ }
156
177
  setAttributes({
157
178
  ...mediaAttributes,
158
179
  focalPoint: undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_components","_compose","_blockEditor","_i18n","_data","_blob","_notices","_shared","_inspectorControls","_blockControls","_coverPlaceholder","_resizableCoverPopover","_colorUtils","_jsxRuntime","getInnerBlocksTemplate","attributes","align","placeholder","__","isTemporaryMedia","id","url","isBlobURL","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","featuredImage","useEntityProp","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","media","useSelect","select","coreStore","getMedia","mediaUrl","source_url","useEffect","averageBackgroundColor","getMediaColor","newOverlayColor","color","newIsDark","compositeIsDark","replaceAll","IMAGE_BACKGROUND_TYPE","createErrorNotice","noticesStore","gradientClass","gradientValue","__experimentalUseGradient","onSelectMedia","newMedia","mediaAttributes","attributesFromMedia","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","DEFAULT_OVERLAY_COLOR","DEFAULT_BACKGROUND_COLOR","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","blockEditingMode","useBlockEditingMode","hasNonContentControls","resizeListener","height","width","useResizeObserver","resizableBoxDimensions","useMemo","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","mediaPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","useRef","blockProps","useBlockProps","fontSizes","useSettings","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","useInnerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","jsx","default","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","jsxs","Fragment","children","clsx","onError","ColorPalette","disableCustomColors","onChange","clearable","classes","isContentPositionCenter","getPositionClassName","showOverlay","dimRatioToClass","class","Placeholder","withIllustration","src","role","autoPlay","muted","loop","Spinner","disableMediaButtons","_default","exports","compose","withColors"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Disable reason: Update the block only when the featured image changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_components","_compose","_blockEditor","_i18n","_data","_blob","_notices","_shared","_inspectorControls","_blockControls","_coverPlaceholder","_resizableCoverPopover","_colorUtils","_constants","_jsxRuntime","getInnerBlocksTemplate","attributes","align","placeholder","__","isTemporaryMedia","id","url","isBlobURL","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","featuredImage","useEntityProp","getSettings","useSelect","blockEditorStore","__unstableMarkNextChangeAsNotPersistent","useDispatch","media","select","coreStore","getMedia","mediaUrl","source_url","useEffect","averageBackgroundColor","getMediaColor","newOverlayColor","color","newIsDark","compositeIsDark","replaceAll","IMAGE_BACKGROUND_TYPE","createErrorNotice","noticesStore","gradientClass","gradientValue","__experimentalUseGradient","onSelectMedia","newMedia","mediaAttributes","attributesFromMedia","isImage","type","media_type","includes","undefined","newDimRatio","imageDefaultSize","sizes","DEFAULT_MEDIA_SIZE_SLUG","onClearMedia","DEFAULT_OVERLAY_COLOR","DEFAULT_BACKGROUND_COLOR","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","blockEditingMode","useBlockEditingMode","hasNonContentControls","resizeListener","height","width","useResizeObserver","resizableBoxDimensions","useMemo","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","mediaPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","useRef","blockProps","useBlockProps","fontSizes","useSettings","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","useInnerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","jsx","default","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","jsxs","Fragment","children","clsx","onError","ColorPalette","disableCustomColors","onChange","clearable","classes","isContentPositionCenter","getPositionClassName","showOverlay","dimRatioToClass","class","Placeholder","withIllustration","src","role","autoPlay","muted","loop","Spinner","disableMediaButtons","_default","exports","compose","withColors"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif ( sizeSlug && newMedia?.sizes?.[ sizeSlug ] ) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url = newMedia?.sizes?.[ sizeSlug ]?.url;\n\t\t\t} else if ( newMedia?.sizes?.[ imageDefaultSize ] ) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url = newMedia?.sizes?.[ sizeSlug ]?.url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -9,9 +9,12 @@ var _components = require("@wordpress/components");
9
9
  var _compose = require("@wordpress/compose");
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
11
  var _i18n = require("@wordpress/i18n");
12
+ var _data = require("@wordpress/data");
13
+ var _coreData = require("@wordpress/core-data");
12
14
  var _shared = require("../shared");
13
15
  var _lockUnlock = require("../../lock-unlock");
14
16
  var _hooks = require("../../utils/hooks");
17
+ var _constants = require("../constants");
15
18
  var _jsxRuntime = require("react/jsx-runtime");
16
19
  /**
17
20
  * WordPress dependencies
@@ -22,7 +25,8 @@ var _jsxRuntime = require("react/jsx-runtime");
22
25
  */
23
26
 
24
27
  const {
25
- cleanEmptyObject
28
+ cleanEmptyObject,
29
+ ResolutionTool
26
30
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
27
31
  function CoverHeightInput({
28
32
  onChange,
@@ -80,6 +84,7 @@ function CoverInspectorControls({
80
84
  }) {
81
85
  const {
82
86
  useFeaturedImage,
87
+ id,
83
88
  dimRatio,
84
89
  focalPoint,
85
90
  hasParallax,
@@ -96,10 +101,37 @@ function CoverInspectorControls({
96
101
  url,
97
102
  overlayColor
98
103
  } = currentSettings;
104
+ const sizeSlug = attributes.sizeSlug || _constants.DEFAULT_MEDIA_SIZE_SLUG;
99
105
  const {
100
106
  gradientValue,
101
107
  setGradient
102
108
  } = (0, _blockEditor.__experimentalUseGradient)();
109
+ const {
110
+ getSettings
111
+ } = (0, _data.useSelect)(_blockEditor.store);
112
+ const imageSizes = getSettings()?.imageSizes;
113
+ const image = (0, _data.useSelect)(select => id && isImageBackground ? select(_coreData.store).getMedia(id, {
114
+ context: 'view'
115
+ }) : null, [id, isImageBackground]);
116
+ function updateImage(newSizeSlug) {
117
+ const newUrl = image?.media_details?.sizes?.[newSizeSlug]?.source_url;
118
+ if (!newUrl) {
119
+ return null;
120
+ }
121
+ setAttributes({
122
+ url: newUrl,
123
+ sizeSlug: newSizeSlug
124
+ });
125
+ }
126
+ const imageSizeOptions = imageSizes?.filter(({
127
+ slug
128
+ }) => image?.media_details?.sizes?.[slug]?.source_url)?.map(({
129
+ name,
130
+ slug
131
+ }) => ({
132
+ value: slug,
133
+ label: name
134
+ }));
103
135
  const toggleParallax = () => {
104
136
  setAttributes({
105
137
  hasParallax: !hasParallax,
@@ -137,7 +169,8 @@ function CoverInspectorControls({
137
169
  hasParallax: false,
138
170
  focalPoint: undefined,
139
171
  isRepeated: false,
140
- alt: ''
172
+ alt: '',
173
+ sizeSlug: undefined
141
174
  });
142
175
  },
143
176
  dropdownMenuProps: dropdownMenuProps,
@@ -211,6 +244,11 @@ function CoverInspectorControls({
211
244
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("br", {}), (0, _i18n.__)('Leave empty if decorative.')]
212
245
  })
213
246
  })
247
+ }), !useFeaturedImage && !!imageSizeOptions?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(ResolutionTool, {
248
+ value: sizeSlug,
249
+ onChange: updateImage,
250
+ options: imageSizeOptions,
251
+ defaultValue: _constants.DEFAULT_MEDIA_SIZE_SLUG
214
252
  })]
215
253
  })
216
254
  }), colorGradientSettings.hasColorsOrGradients && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.InspectorControls, {