@wordpress/block-library 8.28.5 → 8.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/button/edit.js +1 -1
  7. package/build/button/edit.js.map +1 -1
  8. package/build/buttons/edit.js +1 -6
  9. package/build/buttons/edit.js.map +1 -1
  10. package/build/buttons/edit.native.js +1 -7
  11. package/build/buttons/edit.native.js.map +1 -1
  12. package/build/columns/edit.js +8 -2
  13. package/build/columns/edit.js.map +1 -1
  14. package/build/comment-author-avatar/edit.js +1 -1
  15. package/build/comment-author-avatar/edit.js.map +1 -1
  16. package/build/cover/edit/index.js.map +1 -1
  17. package/build/cover/edit/inspector-controls.js.map +1 -1
  18. package/build/cover/edit/resizable-cover-popover.js +0 -6
  19. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  20. package/build/cover/edit.native.js.map +1 -1
  21. package/build/details/index.js +1 -0
  22. package/build/details/index.js.map +1 -1
  23. package/build/file/deprecated.js.map +1 -1
  24. package/build/file/edit.js +6 -13
  25. package/build/file/edit.js.map +1 -1
  26. package/build/file/edit.native.js.map +1 -1
  27. package/build/file/save.js.map +1 -1
  28. package/build/form-input/edit.js +1 -1
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/gallery/edit.js +5 -5
  31. package/build/gallery/edit.js.map +1 -1
  32. package/build/gallery/gallery.native.js.map +1 -1
  33. package/build/gallery/v1/edit.js.map +1 -1
  34. package/build/gallery/v1/gallery.native.js.map +1 -1
  35. package/build/group/variations.js +12 -15
  36. package/build/group/variations.js.map +1 -1
  37. package/build/image/edit.js.map +1 -1
  38. package/build/image/edit.native.js.map +1 -1
  39. package/build/image/image.js.map +1 -1
  40. package/build/latest-posts/edit.native.js.map +1 -1
  41. package/build/list/edit.js +5 -0
  42. package/build/list/edit.js.map +1 -1
  43. package/build/list/ordered-list-settings.js +1 -1
  44. package/build/list/ordered-list-settings.js.map +1 -1
  45. package/build/list-item/edit.native.js.map +1 -1
  46. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  47. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  48. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  49. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  50. package/build/list-item/hooks/use-space.js +16 -7
  51. package/build/list-item/hooks/use-space.js.map +1 -1
  52. package/build/media-text/media-container.native.js +1 -1
  53. package/build/media-text/media-container.native.js.map +1 -1
  54. package/build/navigation/edit/index.js.map +1 -1
  55. package/build/navigation-link/link-ui.js.map +1 -1
  56. package/build/paragraph/edit.native.js.map +1 -1
  57. package/build/pattern/edit.js +23 -9
  58. package/build/pattern/edit.js.map +1 -1
  59. package/build/post-excerpt/edit.js.map +1 -1
  60. package/build/post-featured-image/dimension-controls.js.map +1 -1
  61. package/build/post-featured-image/edit.js.map +1 -1
  62. package/build/post-navigation-link/edit.js.map +1 -1
  63. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  64. package/build/query/utils.js +7 -5
  65. package/build/query/utils.js.map +1 -1
  66. package/build/query-pagination-next/edit.js.map +1 -1
  67. package/build/query-pagination-previous/edit.js.map +1 -1
  68. package/build/quote/deprecated.js +111 -12
  69. package/build/quote/deprecated.js.map +1 -1
  70. package/build/quote/edit.js +5 -5
  71. package/build/quote/edit.js.map +1 -1
  72. package/build/quote/index.js +1 -1
  73. package/build/quote/index.js.map +1 -1
  74. package/build/quote/save.js +2 -2
  75. package/build/quote/save.js.map +1 -1
  76. package/build/read-more/edit.js.map +1 -1
  77. package/build/search/edit.js +1 -1
  78. package/build/search/edit.js.map +1 -1
  79. package/build/search/edit.native.js.map +1 -1
  80. package/build/site-logo/edit.js.map +1 -1
  81. package/build/site-title/{edit/index.js → edit.js} +1 -1
  82. package/build/site-title/edit.js.map +1 -0
  83. package/build/social-link/edit.js.map +1 -1
  84. package/build/social-links/edit.native.js.map +1 -1
  85. package/build/spacer/edit.js.map +1 -1
  86. package/build/table-of-contents/edit.js.map +1 -1
  87. package/build/template-part/edit/index.js +53 -1
  88. package/build/template-part/edit/index.js.map +1 -1
  89. package/build/template-part/edit/selection-modal.js +2 -8
  90. package/build/template-part/edit/selection-modal.js.map +1 -1
  91. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  92. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  93. package/build/utils/hooks.js +55 -4
  94. package/build/utils/hooks.js.map +1 -1
  95. package/build/video/edit-common-settings.js.map +1 -1
  96. package/build/video/edit.js +7 -16
  97. package/build/video/edit.js.map +1 -1
  98. package/build/video/edit.native.js +2 -7
  99. package/build/video/edit.native.js.map +1 -1
  100. package/build-module/audio/edit.js +10 -20
  101. package/build-module/audio/edit.js.map +1 -1
  102. package/build-module/audio/edit.native.js.map +1 -1
  103. package/build-module/avatar/edit.js.map +1 -1
  104. package/build-module/button/edit.js +1 -1
  105. package/build-module/button/edit.js.map +1 -1
  106. package/build-module/buttons/edit.js +2 -7
  107. package/build-module/buttons/edit.js.map +1 -1
  108. package/build-module/buttons/edit.native.js +1 -7
  109. package/build-module/buttons/edit.native.js.map +1 -1
  110. package/build-module/columns/edit.js +8 -2
  111. package/build-module/columns/edit.js.map +1 -1
  112. package/build-module/comment-author-avatar/edit.js +1 -1
  113. package/build-module/comment-author-avatar/edit.js.map +1 -1
  114. package/build-module/cover/edit/index.js.map +1 -1
  115. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  116. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  117. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  118. package/build-module/cover/edit.native.js.map +1 -1
  119. package/build-module/details/index.js +1 -0
  120. package/build-module/details/index.js.map +1 -1
  121. package/build-module/file/deprecated.js.map +1 -1
  122. package/build-module/file/edit.js +7 -14
  123. package/build-module/file/edit.js.map +1 -1
  124. package/build-module/file/edit.native.js.map +1 -1
  125. package/build-module/file/save.js.map +1 -1
  126. package/build-module/form-input/edit.js +1 -1
  127. package/build-module/form-input/edit.js.map +1 -1
  128. package/build-module/gallery/edit.js +5 -5
  129. package/build-module/gallery/edit.js.map +1 -1
  130. package/build-module/gallery/gallery.native.js.map +1 -1
  131. package/build-module/gallery/v1/edit.js.map +1 -1
  132. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  133. package/build-module/group/variations.js +12 -15
  134. package/build-module/group/variations.js.map +1 -1
  135. package/build-module/image/edit.js.map +1 -1
  136. package/build-module/image/edit.native.js.map +1 -1
  137. package/build-module/image/image.js.map +1 -1
  138. package/build-module/latest-posts/edit.native.js.map +1 -1
  139. package/build-module/list/edit.js +5 -0
  140. package/build-module/list/edit.js.map +1 -1
  141. package/build-module/list/ordered-list-settings.js +1 -1
  142. package/build-module/list/ordered-list-settings.js.map +1 -1
  143. package/build-module/list-item/edit.native.js.map +1 -1
  144. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  145. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  146. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  147. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  148. package/build-module/list-item/hooks/use-space.js +17 -8
  149. package/build-module/list-item/hooks/use-space.js.map +1 -1
  150. package/build-module/media-text/media-container.native.js +1 -1
  151. package/build-module/media-text/media-container.native.js.map +1 -1
  152. package/build-module/navigation/edit/index.js.map +1 -1
  153. package/build-module/navigation-link/link-ui.js.map +1 -1
  154. package/build-module/paragraph/edit.native.js.map +1 -1
  155. package/build-module/pattern/edit.js +24 -10
  156. package/build-module/pattern/edit.js.map +1 -1
  157. package/build-module/post-excerpt/edit.js.map +1 -1
  158. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  159. package/build-module/post-featured-image/edit.js.map +1 -1
  160. package/build-module/post-navigation-link/edit.js.map +1 -1
  161. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  162. package/build-module/query/utils.js +7 -5
  163. package/build-module/query/utils.js.map +1 -1
  164. package/build-module/query-pagination-next/edit.js.map +1 -1
  165. package/build-module/query-pagination-previous/edit.js.map +1 -1
  166. package/build-module/quote/deprecated.js +112 -13
  167. package/build-module/quote/deprecated.js.map +1 -1
  168. package/build-module/quote/edit.js +5 -5
  169. package/build-module/quote/edit.js.map +1 -1
  170. package/build-module/quote/index.js +1 -1
  171. package/build-module/quote/index.js.map +1 -1
  172. package/build-module/quote/save.js +2 -2
  173. package/build-module/quote/save.js.map +1 -1
  174. package/build-module/read-more/edit.js.map +1 -1
  175. package/build-module/search/edit.js +1 -1
  176. package/build-module/search/edit.js.map +1 -1
  177. package/build-module/search/edit.native.js.map +1 -1
  178. package/build-module/site-logo/edit.js.map +1 -1
  179. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  180. package/build-module/site-title/edit.js.map +1 -0
  181. package/build-module/social-link/edit.js.map +1 -1
  182. package/build-module/social-links/edit.native.js.map +1 -1
  183. package/build-module/spacer/edit.js.map +1 -1
  184. package/build-module/table-of-contents/edit.js.map +1 -1
  185. package/build-module/template-part/edit/index.js +57 -5
  186. package/build-module/template-part/edit/index.js.map +1 -1
  187. package/build-module/template-part/edit/selection-modal.js +2 -8
  188. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  189. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  190. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  191. package/build-module/utils/hooks.js +54 -3
  192. package/build-module/utils/hooks.js.map +1 -1
  193. package/build-module/video/edit-common-settings.js.map +1 -1
  194. package/build-module/video/edit.js +10 -19
  195. package/build-module/video/edit.js.map +1 -1
  196. package/build-module/video/edit.native.js +2 -7
  197. package/build-module/video/edit.native.js.map +1 -1
  198. package/build-style/editor-rtl.css +4 -1
  199. package/build-style/editor.css +4 -1
  200. package/build-style/group/editor-rtl.css +1 -1
  201. package/build-style/group/editor.css +1 -1
  202. package/build-style/image/editor-rtl.css +3 -0
  203. package/build-style/image/editor.css +3 -0
  204. package/package.json +34 -34
  205. package/src/audio/edit.js +9 -19
  206. package/src/audio/edit.native.js +3 -3
  207. package/src/avatar/edit.js +1 -1
  208. package/src/avatar/index.php +12 -1
  209. package/src/block/index.php +2 -0
  210. package/src/button/edit.js +2 -2
  211. package/src/buttons/edit.js +3 -16
  212. package/src/buttons/edit.native.js +2 -18
  213. package/src/calendar/index.php +5 -0
  214. package/src/columns/edit.js +9 -2
  215. package/src/comment-author-avatar/edit.js +1 -1
  216. package/src/comments/index.php +2 -0
  217. package/src/cover/edit/index.js +2 -2
  218. package/src/cover/edit/inspector-controls.js +1 -1
  219. package/src/cover/edit/resizable-cover-popover.js +1 -6
  220. package/src/cover/edit.native.js +1 -1
  221. package/src/details/block.json +1 -0
  222. package/src/file/deprecated.js +3 -3
  223. package/src/file/edit.js +8 -15
  224. package/src/file/edit.native.js +4 -4
  225. package/src/file/save.js +1 -1
  226. package/src/form-input/edit.js +1 -1
  227. package/src/gallery/edit.js +6 -12
  228. package/src/gallery/gallery.native.js +1 -1
  229. package/src/gallery/test/index.native.js +1 -1
  230. package/src/gallery/v1/edit.js +2 -2
  231. package/src/gallery/v1/gallery.native.js +1 -1
  232. package/src/group/editor.scss +1 -1
  233. package/src/group/variations.js +3 -6
  234. package/src/image/edit.js +1 -1
  235. package/src/image/edit.native.js +1 -1
  236. package/src/image/editor.scss +6 -0
  237. package/src/image/image.js +2 -2
  238. package/src/latest-posts/edit.native.js +1 -1
  239. package/src/list/edit.js +5 -0
  240. package/src/list/ordered-list-settings.js +1 -1
  241. package/src/list-item/edit.native.js +1 -1
  242. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  243. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  244. package/src/list-item/hooks/use-space.js +16 -9
  245. package/src/media-text/media-container.native.js +5 -3
  246. package/src/media-text/test/edit.native.js +58 -0
  247. package/src/missing/test/edit-integration.native.js +2 -1
  248. package/src/navigation/edit/index.js +1 -1
  249. package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
  250. package/src/navigation/index.php +18 -13
  251. package/src/navigation-link/link-ui.js +2 -2
  252. package/src/paragraph/edit.native.js +1 -1
  253. package/src/paragraph/test/edit.native.js +36 -0
  254. package/src/pattern/edit.js +27 -10
  255. package/src/post-author-biography/index.php +4 -3
  256. package/src/post-author-name/index.php +4 -3
  257. package/src/post-excerpt/edit.js +1 -1
  258. package/src/post-featured-image/dimension-controls.js +4 -4
  259. package/src/post-featured-image/edit.js +1 -1
  260. package/src/post-navigation-link/edit.js +1 -1
  261. package/src/post-template/index.php +2 -0
  262. package/src/query/edit/pattern-selection-modal.js +1 -1
  263. package/src/query/utils.js +6 -4
  264. package/src/query-pagination-next/edit.js +1 -1
  265. package/src/query-pagination-previous/edit.js +1 -1
  266. package/src/quote/block.json +1 -1
  267. package/src/quote/deprecated.js +110 -15
  268. package/src/quote/edit.js +5 -5
  269. package/src/quote/save.js +2 -2
  270. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  271. package/src/read-more/edit.js +1 -1
  272. package/src/search/edit.js +1 -1
  273. package/src/search/edit.native.js +4 -4
  274. package/src/site-logo/edit.js +1 -1
  275. package/src/social-link/edit.js +1 -1
  276. package/src/social-links/edit.native.js +1 -1
  277. package/src/spacer/edit.js +1 -1
  278. package/src/table-of-contents/edit.js +1 -1
  279. package/src/template-part/edit/index.js +91 -4
  280. package/src/template-part/edit/selection-modal.js +4 -8
  281. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  282. package/src/utils/hooks.js +53 -3
  283. package/src/video/edit-common-settings.js +1 -1
  284. package/src/video/edit.js +10 -18
  285. package/src/video/edit.native.js +5 -8
  286. package/src/video/test/edit.native.js +0 -14
  287. package/build/site-title/edit/index.js.map +0 -1
  288. package/build-module/site-title/edit/index.js.map +0 -1
  289. /package/src/site-title/{edit/index.js → edit.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 8.30.0 (2024-03-06)
6
+
7
+ ## 8.29.0 (2024-02-21)
8
+
5
9
  ## 8.28.0 (2024-02-09)
6
10
 
7
11
  ## 8.27.0 (2024-01-24)
@@ -10,12 +10,12 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _blob = require("@wordpress/blob");
11
11
  var _components = require("@wordpress/components");
12
12
  var _blockEditor = require("@wordpress/block-editor");
13
- var _element = require("@wordpress/element");
14
13
  var _i18n = require("@wordpress/i18n");
15
14
  var _data = require("@wordpress/data");
16
15
  var _icons = require("@wordpress/icons");
17
16
  var _notices = require("@wordpress/notices");
18
17
  var _util = require("../embed/util");
18
+ var _hooks = require("../utils/hooks");
19
19
  var _caption = require("../utils/caption");
20
20
  /**
21
21
  * External dependencies
@@ -46,22 +46,12 @@ function AudioEdit({
46
46
  src
47
47
  } = attributes;
48
48
  const isTemporaryAudio = !id && (0, _blob.isBlobURL)(src);
49
- const {
50
- getSettings
51
- } = (0, _data.useSelect)(_blockEditor.store);
52
- (0, _element.useEffect)(() => {
53
- if (!id && (0, _blob.isBlobURL)(src)) {
54
- const file = (0, _blob.getBlobByURL)(src);
55
- if (file) {
56
- getSettings().mediaUpload({
57
- filesList: [file],
58
- onFileChange: ([media]) => onSelectAudio(media),
59
- onError: e => onUploadError(e),
60
- allowedTypes: ALLOWED_MEDIA_TYPES
61
- });
62
- }
63
- }
64
- }, []);
49
+ (0, _hooks.useUploadMediaFromBlobURL)({
50
+ url: src,
51
+ allowedTypes: ALLOWED_MEDIA_TYPES,
52
+ onChange: onSelectAudio,
53
+ onError: onUploadError
54
+ });
65
55
  function toggleAttribute(attribute) {
66
56
  return newValue => {
67
57
  setAttributes({
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_data","_icons","_notices","_util","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","getSettings","useSelect","blockEditorStore","useEffect","file","getBlobByURL","mediaUpload","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","url","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","onChange","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_blockEditor","_i18n","_data","_icons","_notices","_util","_hooks","_caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","isBlobURL","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","undefined","createErrorNotice","useDispatch","noticesStore","message","type","getAutoplayHelp","checked","__","media","caption","classes","classnames","blockProps","useBlockProps","_react","createElement","MediaPlaceholder","icon","BlockIcon","onSelect","accept","value","Fragment","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","help","SelectControl","_x","options","Disabled","isDisabled","controls","Spinner","Caption","showToolbarButton","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_primitives","_components","_blockEditor","_i18n","_icons","_element","_data","_notices","_url","_style","_interopRequireDefault","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","useState","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","useSelect","select","blockEditorStore","createErrorNotice","useDispatch","noticesStore","toggleAttribute","attribute","newValue","onSelectURL","newSrc","isURL","test","getProtocol","undefined","__","onSelectAudio","media","url","onAudioPress","onFocusCaption","_react","createElement","View","MediaPlaceholder","icon","BlockIcon","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","BlockControls","ToolbarGroup","ToolbarButton","title","replace","onClick","getBlockUI","getMediaOptions","MediaUploadProgress","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","styles","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","AudioPlayer","TouchableWithoutFeedback","accessible","onPress","disabled","InspectorControls","PanelBody","ToggleControl","label","onChange","checked","help","SelectControl","_x","options","hideCancelButton","MediaUpload","isReplacingMedia","render","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_primitives","_components","_blockEditor","_i18n","_icons","_element","_data","_notices","_url","_style","_interopRequireDefault","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","useState","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","useSelect","select","blockEditorStore","createErrorNotice","useDispatch","noticesStore","toggleAttribute","attribute","newValue","onSelectURL","newSrc","isURL","test","getProtocol","undefined","__","onSelectAudio","media","url","onAudioPress","onFocusCaption","_react","createElement","View","MediaPlaceholder","icon","BlockIcon","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","BlockControls","ToolbarGroup","ToolbarButton","title","replace","onClick","getBlockUI","getMediaOptions","MediaUploadProgress","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","styles","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","AudioPlayer","TouchableWithoutFeedback","accessible","onPress","disabled","InspectorControls","PanelBody","ToggleControl","label","onChange","checked","help","SelectControl","_x","options","hideCancelButton","MediaUpload","isReplacingMedia","render","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","_default","exports","default"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_i18n","_url","_hooks","_userControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","_react","createElement","InspectorControls","PanelBody","title","__","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","ToggleControl","isLink","checked","linkTarget","default","userId","ResizableAvatar","blockProps","isSelected","borderProps","useBorderProps","doubledSizedSrc","addQueryArgs","removeQueryArgs","src","s","ResizableBox","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","isRTL","bottom","left","minWidth","maxWidth","alt","className","classnames","style","CommentEdit","context","commentId","useBlockProps","useCommentAvatar","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","useUserAvatar","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser={ true }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_i18n","_url","_hooks","_userControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","_react","createElement","InspectorControls","PanelBody","title","__","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","ToggleControl","isLink","checked","linkTarget","default","userId","ResizableAvatar","blockProps","isSelected","borderProps","useBorderProps","doubledSizedSrc","addQueryArgs","removeQueryArgs","src","s","ResizableBox","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","isRTL","bottom","left","minWidth","maxWidth","alt","className","classnames","style","CommentEdit","context","commentId","useBlockProps","useCommentAvatar","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","useUserAvatar","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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"}
@@ -98,7 +98,7 @@ function WidthPanel({
98
98
  });
99
99
  }
100
100
  return (0, _react.createElement)(_components.PanelBody, {
101
- title: (0, _i18n.__)('Width settings')
101
+ title: (0, _i18n.__)('Settings')
102
102
  }, (0, _react.createElement)(_components.ButtonGroup, {
103
103
  "aria-label": (0, _i18n.__)('Button width')
104
104
  }, [25, 50, 75, 100].map(widthValue => {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","_react","createElement","PanelBody","ButtonGroup","map","widthValue","Button","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","lockAttributesEditing","Fragment","classnames","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onSplit","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"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__experimentalGetShadowClassesAndStyles 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\tstore as blocksStore,\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 blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\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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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","_react","createElement","PanelBody","ButtonGroup","map","widthValue","Button","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","unlock","blocksStore","getBlockBindingsSource","bindings","source","lockAttributesEditing","Fragment","classnames","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onSplit","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"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__experimentalGetShadowClassesAndStyles 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\tstore as blocksStore,\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={ __( '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 blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\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\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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"}
@@ -38,13 +38,10 @@ function ButtonsEdit({
38
38
  })
39
39
  });
40
40
  const {
41
- preferredStyle,
42
41
  hasButtonVariations
43
42
  } = (0, _data.useSelect)(select => {
44
- const preferredStyleVariations = select(_blockEditor.store).getSettings().__experimentalPreferredStyleVariations;
45
43
  const buttonVariations = select(_blocks.store).getBlockVariations('core/button', 'inserter');
46
44
  return {
47
- preferredStyle: preferredStyleVariations?.value?.['core/button'],
48
45
  hasButtonVariations: buttonVariations.length > 0
49
46
  };
50
47
  }, []);
@@ -52,9 +49,7 @@ function ButtonsEdit({
52
49
  defaultBlock: DEFAULT_BLOCK,
53
50
  // This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.
54
51
  directInsert: !hasButtonVariations,
55
- template: [['core/button', {
56
- className: preferredStyle && `is-style-${preferredStyle}`
57
- }]],
52
+ template: [['core/button']],
58
53
  templateInsertUpdatesSelection: true,
59
54
  orientation: (_layout$orientation = layout?.orientation) !== null && _layout$orientation !== void 0 ? _layout$orientation : 'horizontal'
60
55
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_data","_blocks","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","className","_layout$orientation","fontSize","layout","style","blockProps","useBlockProps","classnames","typography","preferredStyle","hasButtonVariations","useSelect","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","buttonVariations","blocksStore","getBlockVariations","value","length","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","_react","createElement","_default","exports","default"],"sources":["@wordpress/block-library/src/buttons/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { preferredStyle, hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\tconst buttonVariations = select( blocksStore ).getBlockVariations(\n\t\t\t'core/button',\n\t\t\t'inserter'\n\t\t);\n\t\treturn {\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/button' ],\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\t'core/button',\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AASA,MAAMI,aAAa,GAAG;EACrBC,IAAI,EAAE,aAAa;EACnBC,gBAAgB,EAAE,CACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO;AAET,CAAC;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,mBAAA;EACjD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU;EAC9C,MAAMM,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCN,SAAS,EAAE,IAAAO,mBAAU,EAAEP,SAAS,EAAE;MACjC,sBAAsB,EAAEE,QAAQ,IAAIE,KAAK,EAAEI,UAAU,EAAEN;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAM;IAAEO,cAAc;IAAEC;EAAoB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxE,MAAMC,wBAAwB,GAC7BD,MAAM,CAAEE,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CACtCC,sCAAsC;IACzC,MAAMC,gBAAgB,GAAGL,MAAM,CAAEM,aAAY,CAAC,CAACC,kBAAkB,CAChE,aAAa,EACb,UACD,CAAC;IACD,OAAO;MACNV,cAAc,EAAEI,wBAAwB,EAAEO,KAAK,GAAI,aAAa,CAAE;MAClEV,mBAAmB,EAAEO,gBAAgB,CAACI,MAAM,GAAG;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAElB,UAAU,EAAE;IACzDmB,YAAY,EAAE7B,aAAa;IAC3B;IACA8B,YAAY,EAAE,CAAEf,mBAAmB;IACnCgB,QAAQ,EAAE,CACT,CACC,aAAa,EACb;MAAE1B,SAAS,EAAES,cAAc,IAAK,YAAYA,cAAgB;IAAE,CAAC,CAC/D,CACD;IACDkB,8BAA8B,EAAE,IAAI;IACpCC,WAAW,GAAA3B,mBAAA,GAAEE,MAAM,EAAEyB,WAAW,cAAA3B,mBAAA,cAAAA,mBAAA,GAAI;EACrC,CAAE,CAAC;EAEH,OAAO,IAAA4B,MAAA,CAAAC,aAAA;IAAA,GAAUR;EAAgB,CAAI,CAAC;AACvC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcnC,WAAW"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_data","_blocks","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","className","_layout$orientation","fontSize","layout","style","blockProps","useBlockProps","classnames","typography","hasButtonVariations","useSelect","select","buttonVariations","blocksStore","getBlockVariations","length","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","_react","createElement","_default","exports","default"],"sources":["@wordpress/block-library/src/buttons/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst buttonVariations = select( blocksStore ).getBlockVariations(\n\t\t\t'core/button',\n\t\t\t'inserter'\n\t\t);\n\t\treturn {\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [ [ 'core/button' ] ],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,MAAMI,aAAa,GAAG;EACrBC,IAAI,EAAE,aAAa;EACnBC,gBAAgB,EAAE,CACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO;AAET,CAAC;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,mBAAA;EACjD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU;EAC9C,MAAMM,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCN,SAAS,EAAE,IAAAO,mBAAU,EAAEP,SAAS,EAAE;MACjC,sBAAsB,EAAEE,QAAQ,IAAIE,KAAK,EAAEI,UAAU,EAAEN;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAM;IAAEO;EAAoB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxD,MAAMC,gBAAgB,GAAGD,MAAM,CAAEE,aAAY,CAAC,CAACC,kBAAkB,CAChE,aAAa,EACb,UACD,CAAC;IACD,OAAO;MACNL,mBAAmB,EAAEG,gBAAgB,CAACG,MAAM,GAAG;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEZ,UAAU,EAAE;IACzDa,YAAY,EAAEvB,aAAa;IAC3B;IACAwB,YAAY,EAAE,CAAEV,mBAAmB;IACnCW,QAAQ,EAAE,CAAE,CAAE,aAAa,CAAE,CAAE;IAC/BC,8BAA8B,EAAE,IAAI;IACpCC,WAAW,GAAArB,mBAAA,GAAEE,MAAM,EAAEmB,WAAW,cAAArB,mBAAA,cAAAA,mBAAA,GAAI;EACrC,CAAE,CAAC;EAEH,OAAO,IAAAsB,MAAA,CAAAC,aAAA;IAAA,GAAUR;EAAgB,CAAI,CAAC;AACvC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc7B,WAAW"}
@@ -77,10 +77,6 @@ function ButtonsEdit({
77
77
  shouldDelete: getBlockCount(clientId) === 1
78
78
  };
79
79
  }, [clientId]);
80
- const preferredStyle = (0, _data.useSelect)(select => {
81
- const preferredStyleVariations = select(_blockEditor.store).getSettings().__experimentalPreferredStyleVariations;
82
- return preferredStyleVariations?.value?.['core/button'];
83
- }, []);
84
80
  const {
85
81
  getBlockOrder
86
82
  } = (0, _data.useSelect)(_blockEditor.store);
@@ -131,9 +127,7 @@ function ButtonsEdit({
131
127
  }),
132
128
  popoverProps: POPOVER_PROPS
133
129
  })), resizeObserver, (0, _react.createElement)(_blockEditor.InnerBlocks, {
134
- template: [['core/button', {
135
- className: preferredStyle && `is-style-${preferredStyle}`
136
- }]],
130
+ template: [['core/button']],
137
131
  renderFooterAppender: shouldRenderFooterAppender && renderFooterAppender.current,
138
132
  orientation: "horizontal",
139
133
  horizontalAlignment: justifyContent,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_blockEditor","_blocks","_compose","_data","_element","_components","_editor","_interopRequireDefault","layoutProp","type","alignments","POPOVER_PROPS","placement","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","useResizeObserver","maxWidth","setMaxWidth","useState","marginLeft","spacing","styles","layoutBlockSupport","getBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","useSelect","select","getBlockCount","getBlockParents","getSelectedBlockClientId","blockEditorStore","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","useDispatch","useEffect","width","isFullWidth","alignmentHelpers","isFullWidthBlock","onAddNextButton","useCallback","debounce","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","createBlock","renderFooterAppender","useRef","_react","createElement","View","style","appenderContainer","InnerBlocks","ButtonBlockAppender","isFloating","onAddBlock","justifyControls","remove","shouldRenderFooterAppender","Fragment","BlockControls","group","JustifyContentControl","allowedControls","onChange","popoverProps","template","className","current","orientation","horizontalAlignment","onDeleteBlock","undefined","parentWidth","marginHorizontal","marginVertical","templateInsertUpdatesSelection"],"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, 'layout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ 'core/button' ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId, false );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/button',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\tlayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AAvBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;;AAGA,MAAMS,UAAU,GAAG;EAAEC,IAAI,EAAE,SAAS;EAAEC,UAAU,EAAE;AAAG,CAAC;AAEtD,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;AAEc,SAASC,WAAWA,CAAE;EACpCC,UAAU,EAAE;IAAEC,MAAM;IAAEC;EAAM,CAAC;EAC7BC,QAAQ;EACRC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,cAAc,EAAEC,KAAK,CAAE,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EACrD,MAAM,CAAEC,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAC,iBAAQ,EAAE,CAAE,CAAC;EAC/C,MAAM;IAAEC,UAAU,EAAEC;EAAQ,CAAC,GAAGC,eAAM,CAACD,OAAO;;EAE9C;EACA,MAAME,kBAAkB,GAAG,IAAAC,uBAAe,EAAEX,IAAI,EAAE,QAAS,CAAC;EAC5D,MAAMY,kBAAkB,GAAGF,kBAAkB,EAAEG,OAAO;EACtD,MAAMC,UAAU,GAAGpB,MAAM,IAAIkB,kBAAkB,IAAI,CAAC,CAAC;EACrD,MAAM;IAAEG;EAAe,CAAC,GAAGD,UAAU;EAErC,MAAM;IAAEE,qBAAqB;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EACtDC,MAAM,IAAM;IACb,MAAM;MAAEC,aAAa;MAAEC,eAAe;MAAEC;IAAyB,CAAC,GACjEH,MAAM,CAAEI,kBAAiB,CAAC;IAC3B,MAAMC,qBAAqB,GAAGF,wBAAwB,CAAC,CAAC;IACxD,MAAMG,oBAAoB,GAAGJ,eAAe,CAC3CG,qBAAqB,EACrB,IACD,CAAC;IAED,OAAO;MACNR,qBAAqB,EAAES,oBAAoB,CAAE,CAAC,CAAE,KAAK7B,QAAQ;MAC7D;MACA;MACA;MACA;MACAqB,YAAY,EAAEG,aAAa,CAAExB,QAAS,CAAC,KAAK;IAC7C,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM8B,cAAc,GAAG,IAAAR,eAAS,EAAIC,MAAM,IAAM;IAC/C,MAAMQ,wBAAwB,GAC7BR,MAAM,CAAEI,kBAAiB,CAAC,CAACK,WAAW,CAAC,CAAC,CACtCC,sCAAsC;IACzC,OAAOF,wBAAwB,EAAEG,KAAK,GAAI,aAAa,CAAE;EAC1D,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAb,eAAS,EAAEK,kBAAiB,CAAC;EACvD,MAAM;IAAES,WAAW;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAC9C,IAAAC,iBAAW,EAAEZ,kBAAiB,CAAC;EAEhC,IAAAa,kBAAS,EAAE,MAAM;IAChB,MAAM;MAAEC;IAAM,CAAC,GAAGnC,KAAK,IAAI,CAAC,CAAC;IAC7B,MAAM;MAAEoC;IAAY,CAAC,GAAGC,4BAAgB;IAExC,IAAKF,KAAK,EAAG;MACZ,MAAMG,gBAAgB,GAAGF,WAAW,CAAE3C,KAAM,CAAC;MAC7CU,WAAW,CAAEmC,gBAAgB,GAAGzC,UAAU,GAAGsC,KAAM,CAAC;IACrD;EACD,CAAC,EAAE,CAAEnC,KAAK,EAAEP,KAAK,CAAG,CAAC;EAErB,MAAM8C,eAAe,GAAG,IAAAC,oBAAW,EAClC,IAAAC,iBAAQ,EAAIC,UAAU,IAAM;IAC3B,MAAMC,KAAK,GAAGd,aAAa,CAAEnC,QAAS,CAAC;IACvC,MAAMkD,mBAAmB,GAAGD,KAAK,CAACE,SAAS,CACxCC,CAAC,IAAMA,CAAC,KAAKJ,UAChB,CAAC;IAED,MAAMK,KAAK,GACVH,mBAAmB,KAAK,CAAC,CAAC,GACvBD,KAAK,CAACK,MAAM,GAAG,CAAC,GAChBJ,mBAAmB;IAEvB,MAAMK,aAAa,GAAG,IAAAC,mBAAW,EAAE,aAAc,CAAC;IAElDpB,WAAW,CAAEmB,aAAa,EAAEF,KAAK,EAAErD,QAAQ,EAAE,KAAM,CAAC;IACpDsC,WAAW,CAAEiB,aAAa,CAACvD,QAAS,CAAC;EACtC,CAAC,EAAE,GAAI,CAAC,EACR,EACD,CAAC;EAED,MAAMyD,oBAAoB,GAAG,IAAAC,eAAM,EAAE,MACpC,IAAAC,MAAA,CAAAC,aAAA,EAAC/E,YAAA,CAAAgF,IAAI;IAACC,KAAK,EAAGjD,eAAM,CAACkD;EAAmB,GACvC,IAAAJ,MAAA,CAAAC,aAAA,EAAC7E,YAAA,CAAAiF,WAAW,CAACC,mBAAmB;IAC/BC,UAAU,EAAG,IAAM;IACnBC,UAAU,EAAGtB;EAAiB,CAC9B,CACI,CACL,CAAC;EAEH,MAAMuB,eAAe,GAAG,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAE;EAErD,MAAMC,MAAM,GAAG,IAAAvB,oBAAW,EAAE,MAAMT,WAAW,CAAErC,QAAS,CAAC,EAAE,CAAEA,QAAQ,CAAG,CAAC;EACzE,MAAMsE,0BAA0B,GAAGrE,UAAU,IAAImB,qBAAqB;EACtE,OACC,IAAAuC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAY,QAAA,QACGtE,UAAU,IACX,IAAA0D,MAAA,CAAAC,aAAA,EAAC7E,YAAA,CAAAyF,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAAd,MAAA,CAAAC,aAAA,EAAC7E,YAAA,CAAA2F,qBAAqB;IACrBC,eAAe,EAAGP,eAAiB;IACnClC,KAAK,EAAGf,cAAgB;IACxByD,QAAQ,EAAK1C,KAAK,IACjBhC,aAAa,CAAE;MACdJ,MAAM,EAAE;QACP,GAAGoB,UAAU;QACbC,cAAc,EAAEe;MACjB;IACD,CAAE,CACF;IACD2C,YAAY,EAAGnF;EAAe,CAC9B,CACa,CACf,EACCW,cAAc,EAChB,IAAAsD,MAAA,CAAAC,aAAA,EAAC7E,YAAA,CAAAiF,WAAW;IACXc,QAAQ,EAAG,CACV,CACC,aAAa,EACb;MACCC,SAAS,EACRjD,cAAc,IACb,YAAYA,cAAgB;IAC/B,CAAC,CACD,CACC;IACH2B,oBAAoB,EACnBa,0BAA0B,IAAIb,oBAAoB,CAACuB,OACnD;IACDC,WAAW,EAAC,YAAY;IACxBC,mBAAmB,EAAG/D,cAAgB;IACtCgE,aAAa,EAAG9D,YAAY,GAAGgD,MAAM,GAAGe,SAAW;IACnDjB,UAAU,EAAGtB,eAAiB;IAC9BwC,WAAW,EAAG7E,QAAU,CAAC;IAAA;IACzB8E,gBAAgB,EAAG1E,OAAS;IAC5B2E,cAAc,EAAG3E,OAAS;IAC1Bd,MAAM,EAAGP,UAAY;IACrBiG,8BAA8B;IAC9BrF,UAAU,EAAGA;EAAY,CACzB,CACA,CAAC;AAEL"}
1
+ {"version":3,"names":["_reactNative","require","_blockEditor","_blocks","_compose","_data","_element","_components","_editor","_interopRequireDefault","layoutProp","type","alignments","POPOVER_PROPS","placement","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","name","resizeObserver","sizes","useResizeObserver","maxWidth","setMaxWidth","useState","marginLeft","spacing","styles","layoutBlockSupport","getBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","useSelect","select","getBlockCount","getBlockParents","getSelectedBlockClientId","blockEditorStore","selectedBlockClientId","selectedBlockParents","getBlockOrder","insertBlock","removeBlock","selectBlock","useDispatch","useEffect","width","isFullWidth","alignmentHelpers","isFullWidthBlock","onAddNextButton","useCallback","debounce","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","createBlock","renderFooterAppender","useRef","_react","createElement","View","style","appenderContainer","InnerBlocks","ButtonBlockAppender","isFloating","onAddBlock","justifyControls","remove","shouldRenderFooterAppender","Fragment","BlockControls","group","JustifyContentControl","allowedControls","value","onChange","popoverProps","template","current","orientation","horizontalAlignment","onDeleteBlock","undefined","parentWidth","marginHorizontal","marginVertical","templateInsertUpdatesSelection"],"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, 'layout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId, false );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\ttemplate={ [ [ 'core/button' ] ] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\tlayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -25,6 +25,9 @@ var _utils = require("./utils");
25
25
  * Internal dependencies
26
26
  */
27
27
 
28
+ const DEFAULT_BLOCK = {
29
+ name: 'core/column'
30
+ };
28
31
  function ColumnsEditContainer({
29
32
  attributes,
30
33
  setAttributes,
@@ -79,6 +82,8 @@ function ColumnsEditContainer({
79
82
  className: classes
80
83
  });
81
84
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
85
+ defaultBlock: DEFAULT_BLOCK,
86
+ directInsert: true,
82
87
  orientation: 'horizontal',
83
88
  renderAppender: false,
84
89
  templateLock
@@ -123,12 +128,13 @@ function ColumnsEditContainer({
123
128
  // If adding a new column, assign width to the new column equal to
124
129
  // as if it were `1 / columns` of the total available space.
125
130
  const newColumnWidth = (0, _utils.toWidthPrecision)(100 / newColumns);
131
+ const newlyAddedColumns = newColumns - previousColumns;
126
132
 
127
133
  // Redistribute in consideration of pending block insertion as
128
134
  // constraining the available working width.
129
- const widths = (0, _utils.getRedistributedColumnWidths)(innerBlocks, 100 - newColumnWidth);
135
+ const widths = (0, _utils.getRedistributedColumnWidths)(innerBlocks, 100 - newColumnWidth * newlyAddedColumns);
130
136
  innerBlocks = [...(0, _utils.getMappedColumnWidths)(innerBlocks, widths), ...Array.from({
131
- length: newColumns - previousColumns
137
+ length: newlyAddedColumns
132
138
  }).map(() => {
133
139
  return (0, _blocks.createBlock)('core/column', {
134
140
  width: `${newColumnWidth}%`