@wordpress/block-library 8.26.0 → 8.27.1

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 (275) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/edit.js +2 -2
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/block/edit.js +76 -13
  5. package/build/block/edit.js.map +1 -1
  6. package/build/block/{v1/edit.native.js → edit.native.js} +4 -4
  7. package/build/block/edit.native.js.map +1 -0
  8. package/build/block/index.js +5 -3
  9. package/build/block/index.js.map +1 -1
  10. package/build/button/edit.js +24 -6
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/button/save.js +3 -1
  15. package/build/button/save.js.map +1 -1
  16. package/build/cover/edit/index.js +2 -1
  17. package/build/cover/edit/index.js.map +1 -1
  18. package/build/cover/edit/inspector-controls.js +13 -1
  19. package/build/cover/edit/inspector-controls.js.map +1 -1
  20. package/build/cover/edit.native.js +1 -0
  21. package/build/cover/edit.native.js.map +1 -1
  22. package/build/cover/index.js +3 -0
  23. package/build/cover/index.js.map +1 -1
  24. package/build/embed/edit.js +3 -2
  25. package/build/embed/edit.js.map +1 -1
  26. package/build/file/index.js +0 -1
  27. package/build/file/index.js.map +1 -1
  28. package/build/footnotes/edit.js +2 -1
  29. package/build/footnotes/edit.js.map +1 -1
  30. package/build/footnotes/format.js +17 -19
  31. package/build/footnotes/format.js.map +1 -1
  32. package/build/group/index.js +1 -0
  33. package/build/group/index.js.map +1 -1
  34. package/build/heading/edit.js +2 -1
  35. package/build/heading/edit.js.map +1 -1
  36. package/build/heading/edit.native.js +141 -0
  37. package/build/heading/edit.native.js.map +1 -0
  38. package/build/heading/index.js +1 -0
  39. package/build/heading/index.js.map +1 -1
  40. package/build/image/edit.js +8 -4
  41. package/build/image/edit.js.map +1 -1
  42. package/build/image/image.js +33 -7
  43. package/build/image/image.js.map +1 -1
  44. package/build/image/index.js +6 -3
  45. package/build/image/index.js.map +1 -1
  46. package/build/more/index.js +4 -0
  47. package/build/more/index.js.map +1 -1
  48. package/build/navigation/edit/index.js +2 -2
  49. package/build/navigation/edit/index.js.map +1 -1
  50. package/build/navigation/index.js +0 -1
  51. package/build/navigation/index.js.map +1 -1
  52. package/build/paragraph/edit.js +2 -1
  53. package/build/paragraph/edit.js.map +1 -1
  54. package/build/paragraph/index.js +1 -2
  55. package/build/paragraph/index.js.map +1 -1
  56. package/build/paragraph/transforms.js +1 -2
  57. package/build/paragraph/transforms.js.map +1 -1
  58. package/build/post-content/edit.js +2 -2
  59. package/build/post-content/edit.js.map +1 -1
  60. package/build/post-date/edit.js +1 -1
  61. package/build/post-date/edit.js.map +1 -1
  62. package/build/post-navigation-link/edit.js +43 -2
  63. package/build/post-navigation-link/edit.js.map +1 -1
  64. package/build/post-navigation-link/index.js +8 -0
  65. package/build/post-navigation-link/index.js.map +1 -1
  66. package/build/pullquote/index.js +4 -0
  67. package/build/pullquote/index.js.map +1 -1
  68. package/build/query/edit/inspector-controls/index.js +3 -3
  69. package/build/query/edit/inspector-controls/index.js.map +1 -1
  70. package/build/query/edit/query-content.js +2 -2
  71. package/build/query/edit/query-content.js.map +1 -1
  72. package/build/query/edit/query-placeholder.js +6 -7
  73. package/build/query/edit/query-placeholder.js.map +1 -1
  74. package/build/query/index.js +1 -2
  75. package/build/query/index.js.map +1 -1
  76. package/build/query/variations.js +8 -1
  77. package/build/query/variations.js.map +1 -1
  78. package/build/query/view.js +31 -12
  79. package/build/query/view.js.map +1 -1
  80. package/build/search/index.js +0 -1
  81. package/build/search/index.js.map +1 -1
  82. package/build/table-of-contents/hooks.js +2 -2
  83. package/build/table-of-contents/hooks.js.map +1 -1
  84. package/build/template-part/edit/advanced-controls.js +1 -4
  85. package/build/template-part/edit/advanced-controls.js.map +1 -1
  86. package/build/template-part/edit/index.js +39 -17
  87. package/build/template-part/edit/index.js.map +1 -1
  88. package/build/video/edit.native.js +7 -2
  89. package/build/video/edit.native.js.map +1 -1
  90. package/build/video/transforms.js +17 -0
  91. package/build/video/transforms.js.map +1 -1
  92. package/build-module/avatar/edit.js +2 -2
  93. package/build-module/avatar/edit.js.map +1 -1
  94. package/build-module/block/edit.js +76 -13
  95. package/build-module/block/edit.js.map +1 -1
  96. package/build-module/block/{v1/edit.native.js → edit.native.js} +3 -3
  97. package/build-module/block/edit.native.js.map +1 -0
  98. package/build-module/block/index.js +5 -3
  99. package/build-module/block/index.js.map +1 -1
  100. package/build-module/button/edit.js +25 -7
  101. package/build-module/button/edit.js.map +1 -1
  102. package/build-module/button/index.js +1 -0
  103. package/build-module/button/index.js.map +1 -1
  104. package/build-module/button/save.js +4 -2
  105. package/build-module/button/save.js.map +1 -1
  106. package/build-module/cover/edit/index.js +2 -1
  107. package/build-module/cover/edit/index.js.map +1 -1
  108. package/build-module/cover/edit/inspector-controls.js +14 -2
  109. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  110. package/build-module/cover/edit.native.js +1 -0
  111. package/build-module/cover/edit.native.js.map +1 -1
  112. package/build-module/cover/index.js +3 -0
  113. package/build-module/cover/index.js.map +1 -1
  114. package/build-module/embed/edit.js +3 -2
  115. package/build-module/embed/edit.js.map +1 -1
  116. package/build-module/file/index.js +0 -1
  117. package/build-module/file/index.js.map +1 -1
  118. package/build-module/footnotes/edit.js +2 -1
  119. package/build-module/footnotes/edit.js.map +1 -1
  120. package/build-module/footnotes/format.js +17 -19
  121. package/build-module/footnotes/format.js.map +1 -1
  122. package/build-module/group/index.js +1 -0
  123. package/build-module/group/index.js.map +1 -1
  124. package/build-module/heading/edit.js +3 -2
  125. package/build-module/heading/edit.js.map +1 -1
  126. package/build-module/heading/edit.native.js +132 -0
  127. package/build-module/heading/edit.native.js.map +1 -0
  128. package/build-module/heading/index.js +1 -0
  129. package/build-module/heading/index.js.map +1 -1
  130. package/build-module/image/edit.js +9 -5
  131. package/build-module/image/edit.js.map +1 -1
  132. package/build-module/image/image.js +33 -7
  133. package/build-module/image/image.js.map +1 -1
  134. package/build-module/image/index.js +6 -3
  135. package/build-module/image/index.js.map +1 -1
  136. package/build-module/more/index.js +4 -0
  137. package/build-module/more/index.js.map +1 -1
  138. package/build-module/navigation/edit/index.js +1 -1
  139. package/build-module/navigation/edit/index.js.map +1 -1
  140. package/build-module/navigation/index.js +0 -1
  141. package/build-module/navigation/index.js.map +1 -1
  142. package/build-module/paragraph/edit.js +3 -2
  143. package/build-module/paragraph/edit.js.map +1 -1
  144. package/build-module/paragraph/index.js +1 -2
  145. package/build-module/paragraph/index.js.map +1 -1
  146. package/build-module/paragraph/transforms.js +1 -2
  147. package/build-module/paragraph/transforms.js.map +1 -1
  148. package/build-module/post-content/edit.js +1 -1
  149. package/build-module/post-content/edit.js.map +1 -1
  150. package/build-module/post-date/edit.js +1 -1
  151. package/build-module/post-date/edit.js.map +1 -1
  152. package/build-module/post-navigation-link/edit.js +44 -3
  153. package/build-module/post-navigation-link/edit.js.map +1 -1
  154. package/build-module/post-navigation-link/index.js +8 -0
  155. package/build-module/post-navigation-link/index.js.map +1 -1
  156. package/build-module/pullquote/index.js +4 -0
  157. package/build-module/pullquote/index.js.map +1 -1
  158. package/build-module/query/edit/inspector-controls/index.js +4 -4
  159. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  160. package/build-module/query/edit/query-content.js +2 -2
  161. package/build-module/query/edit/query-content.js.map +1 -1
  162. package/build-module/query/edit/query-placeholder.js +7 -8
  163. package/build-module/query/edit/query-placeholder.js.map +1 -1
  164. package/build-module/query/index.js +1 -2
  165. package/build-module/query/index.js.map +1 -1
  166. package/build-module/query/variations.js +8 -1
  167. package/build-module/query/variations.js.map +1 -1
  168. package/build-module/query/view.js +30 -9
  169. package/build-module/query/view.js.map +1 -1
  170. package/build-module/search/index.js +0 -1
  171. package/build-module/search/index.js.map +1 -1
  172. package/build-module/table-of-contents/hooks.js +2 -2
  173. package/build-module/table-of-contents/hooks.js.map +1 -1
  174. package/build-module/template-part/edit/advanced-controls.js +1 -4
  175. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  176. package/build-module/template-part/edit/index.js +38 -16
  177. package/build-module/template-part/edit/index.js.map +1 -1
  178. package/build-module/video/edit.native.js +7 -2
  179. package/build-module/video/edit.native.js.map +1 -1
  180. package/build-module/video/transforms.js +17 -0
  181. package/build-module/video/transforms.js.map +1 -1
  182. package/build-style/common-rtl.css +4 -2
  183. package/build-style/common.css +4 -2
  184. package/build-style/cover/style-rtl.css +2 -4
  185. package/build-style/cover/style.css +2 -4
  186. package/build-style/editor-rtl.css +6 -4
  187. package/build-style/editor.css +6 -4
  188. package/build-style/gallery/style-rtl.css +2 -4
  189. package/build-style/gallery/style.css +2 -4
  190. package/build-style/image/editor-rtl.css +6 -0
  191. package/build-style/image/editor.css +6 -0
  192. package/build-style/page-list/editor-rtl.css +0 -4
  193. package/build-style/page-list/editor.css +0 -4
  194. package/build-style/pullquote/style-rtl.css +10 -1
  195. package/build-style/pullquote/style.css +10 -1
  196. package/build-style/search/style-rtl.css +2 -1
  197. package/build-style/search/style.css +2 -1
  198. package/build-style/style-rtl.css +20 -13
  199. package/build-style/style.css +20 -13
  200. package/build-style/video/style-rtl.css +1 -2
  201. package/build-style/video/style.css +1 -2
  202. package/package.json +34 -32
  203. package/src/avatar/edit.js +16 -18
  204. package/src/block/block.json +3 -0
  205. package/src/block/edit.js +102 -20
  206. package/src/block/{v1/edit.native.js → edit.native.js} +4 -4
  207. package/src/block/index.js +2 -3
  208. package/src/block/index.php +3 -31
  209. package/src/button/block.json +1 -0
  210. package/src/button/edit.js +76 -43
  211. package/src/button/save.js +3 -0
  212. package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
  213. package/src/buttons/test/edit.native.js +49 -0
  214. package/src/cover/block.json +3 -0
  215. package/src/cover/edit/index.js +2 -1
  216. package/src/cover/edit/inspector-controls.js +14 -1
  217. package/src/cover/edit.native.js +1 -0
  218. package/src/cover/style.scss +2 -3
  219. package/src/embed/edit.js +3 -2
  220. package/src/file/block.json +0 -1
  221. package/src/file/index.php +11 -57
  222. package/src/footnotes/edit.js +2 -1
  223. package/src/footnotes/format.js +34 -31
  224. package/src/footnotes/index.php +20 -11
  225. package/src/gallery/index.php +0 -3
  226. package/src/group/block.json +1 -0
  227. package/src/heading/block.json +1 -0
  228. package/src/heading/edit.js +18 -14
  229. package/src/heading/edit.native.js +144 -0
  230. package/src/image/block.json +7 -3
  231. package/src/image/edit.js +19 -6
  232. package/src/image/editor.scss +6 -1
  233. package/src/image/image.js +101 -42
  234. package/src/image/index.js +6 -0
  235. package/src/image/index.php +14 -51
  236. package/src/more/index.js +6 -0
  237. package/src/navigation/block.json +0 -1
  238. package/src/navigation/edit/index.js +2 -2
  239. package/src/navigation/index.php +777 -28
  240. package/src/navigation-link/index.php +78 -16
  241. package/src/page-list/editor.scss +0 -4
  242. package/src/paragraph/block.json +1 -2
  243. package/src/paragraph/edit.js +23 -19
  244. package/src/post-content/edit.js +2 -2
  245. package/src/post-date/edit.js +38 -33
  246. package/src/post-navigation-link/block.json +8 -0
  247. package/src/post-navigation-link/edit.js +63 -1
  248. package/src/post-navigation-link/index.php +17 -3
  249. package/src/post-terms/index.php +13 -4
  250. package/src/pullquote/block.json +4 -0
  251. package/src/pullquote/style.scss +13 -1
  252. package/src/query/block.json +1 -2
  253. package/src/query/edit/inspector-controls/index.js +137 -146
  254. package/src/query/edit/query-content.js +9 -7
  255. package/src/query/edit/query-placeholder.js +11 -11
  256. package/src/query/index.php +33 -71
  257. package/src/query/variations.js +4 -0
  258. package/src/query/view.js +24 -19
  259. package/src/search/block.json +0 -1
  260. package/src/search/index.php +18 -36
  261. package/src/table-of-contents/hooks.js +2 -2
  262. package/src/template-part/edit/advanced-controls.js +2 -3
  263. package/src/template-part/edit/index.js +77 -50
  264. package/src/template-part/index.php +2 -2
  265. package/src/video/edit.native.js +5 -2
  266. package/src/video/test/edit.native.js +38 -0
  267. package/src/video/transforms.js +32 -0
  268. package/tsconfig.json +1 -0
  269. package/build/block/v1/edit.js +0 -116
  270. package/build/block/v1/edit.js.map +0 -1
  271. package/build/block/v1/edit.native.js.map +0 -1
  272. package/build-module/block/v1/edit.js +0 -108
  273. package/build-module/block/v1/edit.js.map +0 -1
  274. package/build-module/block/v1/edit.native.js.map +0 -1
  275. package/src/block/v1/edit.js +0 -163
@@ -19,6 +19,9 @@ const metadata = {
19
19
  attributes: {
20
20
  ref: {
21
21
  type: "number"
22
+ },
23
+ overrides: {
24
+ type: "object"
22
25
  }
23
26
  },
24
27
  supports: {
@@ -28,14 +31,13 @@ const metadata = {
28
31
  renaming: false
29
32
  }
30
33
  };
31
- import editV1 from './v1/edit';
32
- import editV2 from './edit';
34
+ import edit from './edit';
33
35
  const {
34
36
  name
35
37
  } = metadata;
36
38
  export { metadata, name };
37
39
  export const settings = {
38
- edit: window.__experimentalPatternPartialSyncing ? editV2 : editV1,
40
+ edit,
39
41
  icon
40
42
  };
41
43
  export const init = () => initBlock({
@@ -1 +1 @@
1
- {"version":3,"names":["symbol","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","supports","customClassName","html","inserter","renaming","editV1","editV2","settings","edit","window","__experimentalPatternPartialSyncing","init"],"sources":["@wordpress/block-library/src/block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { symbol as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport editV1 from './v1/edit';\nimport editV2 from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tedit: window.__experimentalPatternPartialSyncing ? editV2 : editV1,\n\ticon,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,eAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;EAAA;AAAA;AAE5C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,MAAM,MAAM,QAAQ;AAE3B,MAAM;EAAEf;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMgB,QAAQ,GAAG;EACvBC,IAAI,EAAEC,MAAM,CAACC,mCAAmC,GAAGJ,MAAM,GAAGD,MAAM;EAClEnB;AACD,CAAC;AAED,OAAO,MAAMyB,IAAI,GAAGA,CAAA,KAAMxB,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEmB;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["symbol","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","ref","type","overrides","supports","customClassName","html","inserter","renaming","edit","settings","init"],"sources":["@wordpress/block-library/src/block/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { symbol 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\tedit,\n\ticon,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,eAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,QAAA;EAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEf;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMgB,QAAQ,GAAG;EACvBD,IAAI;EACJpB;AACD,CAAC;AAED,OAAO,MAAMsB,IAAI,GAAGA,CAAA,KAAMrB,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEmB;AAAS,CAAE,CAAC"}
@@ -10,6 +10,7 @@ import classnames from 'classnames';
10
10
  import { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';
11
11
  import { getUpdatedLinkAttributes } from './get-updated-link-attributes';
12
12
  import removeAnchorTag from '../utils/remove-anchor-tag';
13
+ import { unlock } from '../lock-unlock';
13
14
 
14
15
  /**
15
16
  * WordPress dependencies
@@ -17,7 +18,7 @@ import removeAnchorTag from '../utils/remove-anchor-tag';
17
18
  import { __ } from '@wordpress/i18n';
18
19
  import { useEffect, useState, useRef, useMemo } from '@wordpress/element';
19
20
  import { Button, ButtonGroup, PanelBody, TextControl, ToolbarButton, Popover } from '@wordpress/components';
20
- import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName, store as blockEditorStore } from '@wordpress/block-editor';
21
+ import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalUseShadowProps as useShadowProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
21
22
  import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
22
23
  import { link, linkOff } from '@wordpress/icons';
23
24
  import { createBlock, cloneBlock, getDefaultBlockName } from '@wordpress/blocks';
@@ -120,7 +121,8 @@ function ButtonEdit(props) {
120
121
  style,
121
122
  text,
122
123
  url,
123
- width
124
+ width,
125
+ metadata
124
126
  } = attributes;
125
127
  const TagName = tagName || 'a';
126
128
  function onKeyDown(event) {
@@ -138,12 +140,14 @@ function ButtonEdit(props) {
138
140
  const borderProps = useBorderProps(attributes);
139
141
  const colorProps = useColorProps(attributes);
140
142
  const spacingProps = useSpacingProps(attributes);
143
+ const shadowProps = useShadowProps(attributes);
141
144
  const ref = useRef();
142
145
  const richTextRef = useRef();
143
146
  const blockProps = useBlockProps({
144
147
  ref: useMergeRefs([setPopoverAnchor, ref]),
145
148
  onKeyDown
146
149
  });
150
+ const blockEditingMode = useBlockEditingMode();
147
151
  const [isEditingURL, setIsEditingURL] = useState(false);
148
152
  const isURLSet = !!url;
149
153
  const opensInNewTab = linkTarget === NEW_TAB_TARGET;
@@ -179,6 +183,19 @@ function ButtonEdit(props) {
179
183
  clientId
180
184
  });
181
185
  const mergedRef = useMergeRefs([useEnterRef, richTextRef]);
186
+ const {
187
+ lockUrlControls = false
188
+ } = useSelect(select => {
189
+ if (!isSelected) {
190
+ return {};
191
+ }
192
+ const {
193
+ getBlockBindingsSource
194
+ } = unlock(select(blockEditorStore));
195
+ return {
196
+ lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source?.name)?.lockAttributesEditing === true
197
+ };
198
+ }, [isSelected]);
182
199
  return createElement(Fragment, null, createElement("div", {
183
200
  ...blockProps,
184
201
  className: classnames(blockProps.className, {
@@ -203,7 +220,8 @@ function ButtonEdit(props) {
203
220
  style: {
204
221
  ...borderProps.style,
205
222
  ...colorProps.style,
206
- ...spacingProps.style
223
+ ...spacingProps.style,
224
+ ...shadowProps.style
207
225
  },
208
226
  onSplit: value => createBlock('core/button', {
209
227
  ...attributes,
@@ -214,27 +232,27 @@ function ButtonEdit(props) {
214
232
  identifier: "text"
215
233
  })), createElement(BlockControls, {
216
234
  group: "block"
217
- }, createElement(AlignmentControl, {
235
+ }, blockEditingMode === 'default' && createElement(AlignmentControl, {
218
236
  value: textAlign,
219
237
  onChange: nextAlign => {
220
238
  setAttributes({
221
239
  textAlign: nextAlign
222
240
  });
223
241
  }
224
- }), !isURLSet && isLinkTag && createElement(ToolbarButton, {
242
+ }), !isURLSet && isLinkTag && !lockUrlControls && createElement(ToolbarButton, {
225
243
  name: "link",
226
244
  icon: link,
227
245
  title: __('Link'),
228
246
  shortcut: displayShortcut.primary('k'),
229
247
  onClick: startEditing
230
- }), isURLSet && isLinkTag && createElement(ToolbarButton, {
248
+ }), isURLSet && isLinkTag && !lockUrlControls && createElement(ToolbarButton, {
231
249
  name: "link",
232
250
  icon: linkOff,
233
251
  title: __('Unlink'),
234
252
  shortcut: displayShortcut.primaryShift('k'),
235
253
  onClick: unlink,
236
254
  isActive: true
237
- })), isLinkTag && isSelected && (isEditingURL || isURLSet) && createElement(Popover, {
255
+ })), isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && createElement(Popover, {
238
256
  placement: "bottom",
239
257
  onClose: () => {
240
258
  setIsEditingURL(false);
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","useMergeRefs","useRefEffect","useSelect","useDispatch","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag && isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","unlock","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalUseShadowProps","useShadowProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","useMergeRefs","useRefEffect","useSelect","useDispatch","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","lockUrlControls","select","getBlockBindingsSource","bindings","source","name","lockAttributesEditing","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalUseShadowProps as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\tgetBlockBindingsSource(\n\t\t\t\t\t\tmetadata?.bindings?.url?.source?.name\n\t\t\t\t\t)?.lockAttributesEditing === true,\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
@@ -20,6 +20,7 @@ const metadata = {
20
20
  description: "Prompt visitors to take action with a button-style link.",
21
21
  keywords: ["link"],
22
22
  textdomain: "default",
23
+ usesContext: ["pattern/overrides"],
23
24
  attributes: {
24
25
  tagName: {
25
26
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"names":["__","button","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","parent","description","keywords","textdomain","attributes","tagName","type","textAlign","url","source","selector","attribute","__experimentalRole","text","linkTarget","rel","placeholder","backgroundColor","textColor","gradient","width","supports","anchor","align","alignWide","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","reusable","shadow","spacing","padding","__experimentalBorder","radius","style","__experimentalSelector","styles","label","isDefault","editorStyle","save","settings","example","className","merge","a","init"],"sources":["@wordpress/block-library/src/button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","button","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","parent","description","keywords","textdomain","usesContext","attributes","tagName","type","textAlign","url","source","selector","attribute","__experimentalRole","text","linkTarget","rel","placeholder","backgroundColor","textColor","gradient","width","supports","anchor","align","alignWide","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","reusable","shadow","spacing","padding","__experimentalBorder","radius","style","__experimentalSelector","styles","label","isDefault","editorStyle","save","settings","example","className","merge","a","init"],"sources":["@wordpress/block-library/src/button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { RichText, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles, __experimentalGetElementClassName } from '@wordpress/block-editor';
10
+ import { RichText, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, __experimentalGetElementClassName } from '@wordpress/block-editor';
11
11
  export default function save({
12
12
  attributes,
13
13
  className
@@ -34,6 +34,7 @@ export default function save({
34
34
  const borderProps = getBorderClassesAndStyles(attributes);
35
35
  const colorProps = getColorClassesAndStyles(attributes);
36
36
  const spacingProps = getSpacingClassesAndStyles(attributes);
37
+ const shadowProps = getShadowClassesAndStyles(attributes);
37
38
  const buttonClasses = classnames('wp-block-button__link', colorProps.className, borderProps.className, {
38
39
  [`has-text-align-${textAlign}`]: textAlign,
39
40
  // For backwards compatibility add style that isn't provided via
@@ -43,7 +44,8 @@ export default function save({
43
44
  const buttonStyle = {
44
45
  ...borderProps.style,
45
46
  ...colorProps.style,
46
- ...spacingProps.style
47
+ ...spacingProps.style,
48
+ ...shadowProps.style
47
49
  };
48
50
 
49
51
  // The use of a `title` attribute here is soft-deprecated, but still applied
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","RichText","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","__experimentalGetElementClassName","save","attributes","className","tagName","type","textAlign","fontSize","linkTarget","rel","style","text","title","url","width","isEmpty","TagName","isButtonTag","buttonType","borderProps","colorProps","spacingProps","buttonClasses","border","radius","buttonStyle","wrapperClasses","typography","createElement","Content","href","value","target"],"sources":["@wordpress/block-library/src/button/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst {\n\t\ttagName,\n\t\ttype,\n\t\ttextAlign,\n\t\tfontSize,\n\t\tlinkTarget,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\ttitle,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tif ( RichText.isEmpty( text ) ) {\n\t\treturn null;\n\t}\n\n\tconst TagName = tagName || 'a';\n\tconst isButtonTag = 'button' === TagName;\n\tconst buttonType = type || 'button';\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName={ TagName }\n\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ isButtonTag ? null : url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ isButtonTag ? null : linkTarget }\n\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,EACtEC,iCAAiC,QAC3B,yBAAyB;AAEhC,eAAe,SAASC,IAAIA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EACzD,MAAM;IACLC,OAAO;IACPC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,GAAG;IACHC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC;EACD,CAAC,GAAGZ,UAAU;EAEd,IAAKV,QAAQ,CAACuB,OAAO,CAAEJ,IAAK,CAAC,EAAG;IAC/B,OAAO,IAAI;EACZ;EAEA,MAAMK,OAAO,GAAGZ,OAAO,IAAI,GAAG;EAC9B,MAAMa,WAAW,GAAG,QAAQ,KAAKD,OAAO;EACxC,MAAME,UAAU,GAAGb,IAAI,IAAI,QAAQ;EACnC,MAAMc,WAAW,GAAGxB,yBAAyB,CAAEO,UAAW,CAAC;EAC3D,MAAMkB,UAAU,GAAGvB,wBAAwB,CAAEK,UAAW,CAAC;EACzD,MAAMmB,YAAY,GAAGtB,0BAA0B,CAAEG,UAAW,CAAC;EAC7D,MAAMoB,aAAa,GAAG/B,UAAU,CAC/B,uBAAuB,EACvB6B,UAAU,CAACjB,SAAS,EACpBgB,WAAW,CAAChB,SAAS,EACrB;IACC,CAAG,kBAAkBG,SAAW,EAAC,GAAIA,SAAS;IAC9C;IACA;IACA,kBAAkB,EAAEI,KAAK,EAAEa,MAAM,EAAEC,MAAM,KAAK;EAC/C,CAAC,EACDxB,iCAAiC,CAAE,QAAS,CAC7C,CAAC;EACD,MAAMyB,WAAW,GAAG;IACnB,GAAGN,WAAW,CAACT,KAAK;IACpB,GAAGU,UAAU,CAACV,KAAK;IACnB,GAAGW,YAAY,CAACX;EACjB,CAAC;;EAED;EACA;EACA;;EAEA,MAAMgB,cAAc,GAAGnC,UAAU,CAAEY,SAAS,EAAE;IAC7C,CAAG,2CAA2CW,KAAO,EAAC,GAAIA,KAAK;IAC/D,CAAG,sBAAqB,GAAIP,QAAQ,IAAIG,KAAK,EAAEiB,UAAU,EAAEpB;EAC5D,CAAE,CAAC;EAEH,OACCqB,aAAA;IAAA,GAAUnC,aAAa,CAACQ,IAAI,CAAE;MAAEE,SAAS,EAAEuB;IAAe,CAAE;EAAC,GAC5DE,aAAA,CAACpC,QAAQ,CAACqC,OAAO;IAChBzB,OAAO,EAAGY,OAAS;IACnBX,IAAI,EAAGY,WAAW,GAAGC,UAAU,GAAG,IAAM;IACxCf,SAAS,EAAGmB,aAAe;IAC3BQ,IAAI,EAAGb,WAAW,GAAG,IAAI,GAAGJ,GAAK;IACjCD,KAAK,EAAGA,KAAO;IACfF,KAAK,EAAGe,WAAa;IACrBM,KAAK,EAAGpB,IAAM;IACdqB,MAAM,EAAGf,WAAW,GAAG,IAAI,GAAGT,UAAY;IAC1CC,GAAG,EAAGQ,WAAW,GAAG,IAAI,GAAGR;EAAK,CAChC,CACG,CAAC;AAER"}
1
+ {"version":3,"names":["classnames","RichText","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","__experimentalGetElementClassName","save","attributes","className","tagName","type","textAlign","fontSize","linkTarget","rel","style","text","title","url","width","isEmpty","TagName","isButtonTag","buttonType","borderProps","colorProps","spacingProps","shadowProps","buttonClasses","border","radius","buttonStyle","wrapperClasses","typography","createElement","Content","href","value","target"],"sources":["@wordpress/block-library/src/button/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes, className } ) {\n\tconst {\n\t\ttagName,\n\t\ttype,\n\t\ttextAlign,\n\t\tfontSize,\n\t\tlinkTarget,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\ttitle,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tif ( RichText.isEmpty( text ) ) {\n\t\treturn null;\n\t}\n\n\tconst TagName = tagName || 'a';\n\tconst isButtonTag = 'button' === TagName;\n\tconst buttonType = type || 'button';\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst buttonClasses = classnames(\n\t\t'wp-block-button__link',\n\t\tcolorProps.className,\n\t\tborderProps.className,\n\t\t{\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t// For backwards compatibility add style that isn't provided via\n\t\t\t// block support.\n\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t},\n\t\t__experimentalGetElementClassName( 'button' )\n\t);\n\tconst buttonStyle = {\n\t\t...borderProps.style,\n\t\t...colorProps.style,\n\t\t...spacingProps.style,\n\t\t...shadowProps.style,\n\t};\n\n\t// The use of a `title` attribute here is soft-deprecated, but still applied\n\t// if it had already been assigned, for the sake of backward-compatibility.\n\t// A title will no longer be assigned for new or updated button block links.\n\n\tconst wrapperClasses = classnames( className, {\n\t\t[ `has-custom-width wp-block-button__width-${ width }` ]: width,\n\t\t[ `has-custom-font-size` ]: fontSize || style?.typography?.fontSize,\n\t} );\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: wrapperClasses } ) }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName={ TagName }\n\t\t\t\ttype={ isButtonTag ? buttonType : null }\n\t\t\t\tclassName={ buttonClasses }\n\t\t\t\thref={ isButtonTag ? null : url }\n\t\t\t\ttitle={ title }\n\t\t\t\tstyle={ buttonStyle }\n\t\t\t\tvalue={ text }\n\t\t\t\ttarget={ isButtonTag ? null : linkTarget }\n\t\t\t\trel={ isButtonTag ? null : rel }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,QAAQ,EACRC,aAAa,EACbC,uCAAuC,IAAIC,yBAAyB,EACpEC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,EACtEC,uCAAuC,IAAIC,yBAAyB,EACpEC,iCAAiC,QAC3B,yBAAyB;AAEhC,eAAe,SAASC,IAAIA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EACzD,MAAM;IACLC,OAAO;IACPC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,GAAG;IACHC,KAAK;IACLC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC;EACD,CAAC,GAAGZ,UAAU;EAEd,IAAKZ,QAAQ,CAACyB,OAAO,CAAEJ,IAAK,CAAC,EAAG;IAC/B,OAAO,IAAI;EACZ;EAEA,MAAMK,OAAO,GAAGZ,OAAO,IAAI,GAAG;EAC9B,MAAMa,WAAW,GAAG,QAAQ,KAAKD,OAAO;EACxC,MAAME,UAAU,GAAGb,IAAI,IAAI,QAAQ;EACnC,MAAMc,WAAW,GAAG1B,yBAAyB,CAAES,UAAW,CAAC;EAC3D,MAAMkB,UAAU,GAAGzB,wBAAwB,CAAEO,UAAW,CAAC;EACzD,MAAMmB,YAAY,GAAGxB,0BAA0B,CAAEK,UAAW,CAAC;EAC7D,MAAMoB,WAAW,GAAGvB,yBAAyB,CAAEG,UAAW,CAAC;EAC3D,MAAMqB,aAAa,GAAGlC,UAAU,CAC/B,uBAAuB,EACvB+B,UAAU,CAACjB,SAAS,EACpBgB,WAAW,CAAChB,SAAS,EACrB;IACC,CAAG,kBAAkBG,SAAW,EAAC,GAAIA,SAAS;IAC9C;IACA;IACA,kBAAkB,EAAEI,KAAK,EAAEc,MAAM,EAAEC,MAAM,KAAK;EAC/C,CAAC,EACDzB,iCAAiC,CAAE,QAAS,CAC7C,CAAC;EACD,MAAM0B,WAAW,GAAG;IACnB,GAAGP,WAAW,CAACT,KAAK;IACpB,GAAGU,UAAU,CAACV,KAAK;IACnB,GAAGW,YAAY,CAACX,KAAK;IACrB,GAAGY,WAAW,CAACZ;EAChB,CAAC;;EAED;EACA;EACA;;EAEA,MAAMiB,cAAc,GAAGtC,UAAU,CAAEc,SAAS,EAAE;IAC7C,CAAG,2CAA2CW,KAAO,EAAC,GAAIA,KAAK;IAC/D,CAAG,sBAAqB,GAAIP,QAAQ,IAAIG,KAAK,EAAEkB,UAAU,EAAErB;EAC5D,CAAE,CAAC;EAEH,OACCsB,aAAA;IAAA,GAAUtC,aAAa,CAACU,IAAI,CAAE;MAAEE,SAAS,EAAEwB;IAAe,CAAE;EAAC,GAC5DE,aAAA,CAACvC,QAAQ,CAACwC,OAAO;IAChB1B,OAAO,EAAGY,OAAS;IACnBX,IAAI,EAAGY,WAAW,GAAGC,UAAU,GAAG,IAAM;IACxCf,SAAS,EAAGoB,aAAe;IAC3BQ,IAAI,EAAGd,WAAW,GAAG,IAAI,GAAGJ,GAAK;IACjCD,KAAK,EAAGA,KAAO;IACfF,KAAK,EAAGgB,WAAa;IACrBM,KAAK,EAAGrB,IAAM;IACdsB,MAAM,EAAGhB,WAAW,GAAG,IAAI,GAAGT,UAAY;IAC1CC,GAAG,EAAGQ,WAAW,GAAG,IAAI,GAAGR;EAAK,CAChC,CACG,CAAC;AAER"}
@@ -323,7 +323,8 @@ function CoverEdit({
323
323
  minHeight: newMinHeight
324
324
  });
325
325
  },
326
- showHandle: true,
326
+ // Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.
327
+ showHandle: !attributes.style?.dimensions?.aspectRatio ? true : false,
327
328
  size: resizableBoxDimensions,
328
329
  width
329
330
  };
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","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","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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} 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( { isDark: newIsDark } );\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} );\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 [ 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/>\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\tshowHandle: true,\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{ 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={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\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={ true }\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 = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\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={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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={ true }\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={ classnames(\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{ 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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"}
1
+ {"version":3,"names":["classnames","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","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","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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} 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( { isDark: newIsDark } );\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} );\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 [ 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/>\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{ 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={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\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={ true }\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 = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\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={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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={ true }\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={ classnames(\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{ 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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"}
@@ -5,13 +5,17 @@ import { createElement, Fragment } from "react";
5
5
  import { useMemo } from '@wordpress/element';
6
6
  import { Button, ExternalLink, FocalPointPicker, PanelBody, PanelRow, RangeControl, TextareaControl, ToggleControl, SelectControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
7
7
  import { useInstanceId } from '@wordpress/compose';
8
- import { InspectorControls, useSettings, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseGradient, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
8
+ import { InspectorControls, useSettings, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseGradient, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
9
  import { __ } from '@wordpress/i18n';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
14
  import { COVER_MIN_HEIGHT, mediaPosition } from '../shared';
15
+ import { unlock } from '../../lock-unlock';
16
+ const {
17
+ cleanEmptyObject
18
+ } = unlock(blockEditorPrivateApis);
15
19
  function CoverHeightInput({
16
20
  onChange,
17
21
  onUnitChange,
@@ -215,8 +219,16 @@ export default function CoverInspectorControls({
215
219
  value: minHeight,
216
220
  unit: minHeightUnit,
217
221
  onChange: newMinHeight => setAttributes({
218
- minHeight: newMinHeight
222
+ minHeight: newMinHeight,
223
+ style: cleanEmptyObject({
224
+ ...attributes?.style,
225
+ dimensions: {
226
+ ...attributes?.style?.dimensions,
227
+ aspectRatio: undefined // Reset aspect ratio when minHeight is set.
228
+ }
229
+ })
219
230
  }),
231
+
220
232
  onUnitChange: nextUnit => setAttributes({
221
233
  minHeightUnit: nextUnit
222
234
  })