@wordpress/block-library 8.29.0 → 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 (347) hide show
  1. package/CHANGELOG.md +2 -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/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +49 -24
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/transforms.js +17 -6
  16. package/build/code/transforms.js.map +1 -1
  17. package/build/columns/edit.js +3 -2
  18. package/build/columns/edit.js.map +1 -1
  19. package/build/comment-author-avatar/edit.js +1 -1
  20. package/build/comment-author-avatar/edit.js.map +1 -1
  21. package/build/cover/edit/block-controls.js +14 -3
  22. package/build/cover/edit/block-controls.js.map +1 -1
  23. package/build/cover/edit/index.js.map +1 -1
  24. package/build/cover/edit/inspector-controls.js.map +1 -1
  25. package/build/cover/edit/resizable-cover-popover.js +0 -6
  26. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  27. package/build/cover/edit.native.js.map +1 -1
  28. package/build/file/deprecated.js.map +1 -1
  29. package/build/file/edit.js +6 -13
  30. package/build/file/edit.js.map +1 -1
  31. package/build/file/edit.native.js.map +1 -1
  32. package/build/file/save.js.map +1 -1
  33. package/build/form-input/edit.js +1 -1
  34. package/build/form-input/edit.js.map +1 -1
  35. package/build/gallery/edit.js.map +1 -1
  36. package/build/gallery/gallery.native.js.map +1 -1
  37. package/build/gallery/v1/edit.js.map +1 -1
  38. package/build/gallery/v1/gallery.native.js.map +1 -1
  39. package/build/heading/transforms.js +17 -4
  40. package/build/heading/transforms.js.map +1 -1
  41. package/build/image/edit.js +8 -4
  42. package/build/image/edit.js.map +1 -1
  43. package/build/image/edit.native.js.map +1 -1
  44. package/build/image/image.js +22 -8
  45. package/build/image/image.js.map +1 -1
  46. package/build/latest-posts/edit.native.js.map +1 -1
  47. package/build/list/ordered-list-settings.js +1 -1
  48. package/build/list/ordered-list-settings.js.map +1 -1
  49. package/build/list-item/edit.js +1 -3
  50. package/build/list-item/edit.js.map +1 -1
  51. package/build/list-item/edit.native.js.map +1 -1
  52. package/build/list-item/hooks/index.js +0 -7
  53. package/build/list-item/hooks/index.js.map +1 -1
  54. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  55. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  56. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  57. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  58. package/build/list-item/hooks/use-space.js +16 -7
  59. package/build/list-item/hooks/use-space.js.map +1 -1
  60. package/build/list-item/index.js +4 -1
  61. package/build/list-item/index.js.map +1 -1
  62. package/build/media-text/media-container.native.js +1 -1
  63. package/build/media-text/media-container.native.js.map +1 -1
  64. package/build/navigation/edit/index.js.map +1 -1
  65. package/build/navigation-link/link-ui.js.map +1 -1
  66. package/build/paragraph/edit.native.js.map +1 -1
  67. package/build/pattern/edit.js +11 -0
  68. package/build/pattern/edit.js.map +1 -1
  69. package/build/post-excerpt/edit.js.map +1 -1
  70. package/build/post-featured-image/dimension-controls.js.map +1 -1
  71. package/build/post-featured-image/edit.js +8 -11
  72. package/build/post-featured-image/edit.js.map +1 -1
  73. package/build/post-navigation-link/edit.js.map +1 -1
  74. package/build/post-title/edit.js +2 -2
  75. package/build/post-title/edit.js.map +1 -1
  76. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  77. package/build/query/utils.js +7 -5
  78. package/build/query/utils.js.map +1 -1
  79. package/build/query-pagination-next/edit.js.map +1 -1
  80. package/build/query-pagination-previous/edit.js.map +1 -1
  81. package/build/quote/deprecated.js +111 -12
  82. package/build/quote/deprecated.js.map +1 -1
  83. package/build/quote/edit.js +5 -5
  84. package/build/quote/edit.js.map +1 -1
  85. package/build/quote/index.js +1 -1
  86. package/build/quote/index.js.map +1 -1
  87. package/build/quote/save.js +2 -2
  88. package/build/quote/save.js.map +1 -1
  89. package/build/read-more/edit.js.map +1 -1
  90. package/build/search/edit.js +1 -1
  91. package/build/search/edit.js.map +1 -1
  92. package/build/search/edit.native.js.map +1 -1
  93. package/build/site-logo/edit.js +7 -2
  94. package/build/site-logo/edit.js.map +1 -1
  95. package/build/site-title/{edit/index.js → edit.js} +1 -1
  96. package/build/site-title/edit.js.map +1 -0
  97. package/build/social-link/edit.js.map +1 -1
  98. package/build/social-links/edit.native.js.map +1 -1
  99. package/build/spacer/edit.js.map +1 -1
  100. package/build/table-of-contents/edit.js.map +1 -1
  101. package/build/template-part/edit/index.js +53 -1
  102. package/build/template-part/edit/index.js.map +1 -1
  103. package/build/template-part/edit/selection-modal.js +2 -8
  104. package/build/template-part/edit/selection-modal.js.map +1 -1
  105. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  106. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  107. package/build/utils/caption.js +15 -5
  108. package/build/utils/caption.js.map +1 -1
  109. package/build/utils/get-transformed-metadata.js +57 -0
  110. package/build/utils/get-transformed-metadata.js.map +1 -0
  111. package/build/utils/hooks.js +55 -4
  112. package/build/utils/hooks.js.map +1 -1
  113. package/build/video/edit-common-settings.js.map +1 -1
  114. package/build/video/edit.js +7 -16
  115. package/build/video/edit.js.map +1 -1
  116. package/build/video/edit.native.js +2 -7
  117. package/build/video/edit.native.js.map +1 -1
  118. package/build-module/audio/edit.js +10 -20
  119. package/build-module/audio/edit.js.map +1 -1
  120. package/build-module/audio/edit.native.js.map +1 -1
  121. package/build-module/avatar/edit.js.map +1 -1
  122. package/build-module/block/deprecated.js +71 -11
  123. package/build-module/block/deprecated.js.map +1 -1
  124. package/build-module/block/edit.js +49 -24
  125. package/build-module/block/edit.js.map +1 -1
  126. package/build-module/button/edit.js +3 -3
  127. package/build-module/button/edit.js.map +1 -1
  128. package/build-module/buttons/edit.native.js.map +1 -1
  129. package/build-module/buttons/transforms.js +16 -2
  130. package/build-module/buttons/transforms.js.map +1 -1
  131. package/build-module/code/transforms.js +17 -6
  132. package/build-module/code/transforms.js.map +1 -1
  133. package/build-module/columns/edit.js +3 -2
  134. package/build-module/columns/edit.js.map +1 -1
  135. package/build-module/comment-author-avatar/edit.js +1 -1
  136. package/build-module/comment-author-avatar/edit.js.map +1 -1
  137. package/build-module/cover/edit/block-controls.js +15 -4
  138. package/build-module/cover/edit/block-controls.js.map +1 -1
  139. package/build-module/cover/edit/index.js.map +1 -1
  140. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  141. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  142. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  143. package/build-module/cover/edit.native.js.map +1 -1
  144. package/build-module/file/deprecated.js.map +1 -1
  145. package/build-module/file/edit.js +7 -14
  146. package/build-module/file/edit.js.map +1 -1
  147. package/build-module/file/edit.native.js.map +1 -1
  148. package/build-module/file/save.js.map +1 -1
  149. package/build-module/form-input/edit.js +1 -1
  150. package/build-module/form-input/edit.js.map +1 -1
  151. package/build-module/gallery/edit.js.map +1 -1
  152. package/build-module/gallery/gallery.native.js.map +1 -1
  153. package/build-module/gallery/v1/edit.js.map +1 -1
  154. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  155. package/build-module/heading/transforms.js +17 -4
  156. package/build-module/heading/transforms.js.map +1 -1
  157. package/build-module/image/edit.js +9 -5
  158. package/build-module/image/edit.js.map +1 -1
  159. package/build-module/image/edit.native.js.map +1 -1
  160. package/build-module/image/image.js +23 -9
  161. package/build-module/image/image.js.map +1 -1
  162. package/build-module/latest-posts/edit.native.js.map +1 -1
  163. package/build-module/list/ordered-list-settings.js +1 -1
  164. package/build-module/list/ordered-list-settings.js.map +1 -1
  165. package/build-module/list-item/edit.js +2 -4
  166. package/build-module/list-item/edit.js.map +1 -1
  167. package/build-module/list-item/edit.native.js.map +1 -1
  168. package/build-module/list-item/hooks/index.js +0 -1
  169. package/build-module/list-item/hooks/index.js.map +1 -1
  170. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  171. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  172. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  173. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  174. package/build-module/list-item/hooks/use-space.js +17 -8
  175. package/build-module/list-item/hooks/use-space.js.map +1 -1
  176. package/build-module/list-item/index.js +4 -1
  177. package/build-module/list-item/index.js.map +1 -1
  178. package/build-module/media-text/media-container.native.js +1 -1
  179. package/build-module/media-text/media-container.native.js.map +1 -1
  180. package/build-module/navigation/edit/index.js.map +1 -1
  181. package/build-module/navigation-link/link-ui.js.map +1 -1
  182. package/build-module/paragraph/edit.native.js.map +1 -1
  183. package/build-module/pattern/edit.js +11 -0
  184. package/build-module/pattern/edit.js.map +1 -1
  185. package/build-module/post-excerpt/edit.js.map +1 -1
  186. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  187. package/build-module/post-featured-image/edit.js +9 -12
  188. package/build-module/post-featured-image/edit.js.map +1 -1
  189. package/build-module/post-navigation-link/edit.js.map +1 -1
  190. package/build-module/post-title/edit.js +2 -2
  191. package/build-module/post-title/edit.js.map +1 -1
  192. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  193. package/build-module/query/utils.js +7 -5
  194. package/build-module/query/utils.js.map +1 -1
  195. package/build-module/query-pagination-next/edit.js.map +1 -1
  196. package/build-module/query-pagination-previous/edit.js.map +1 -1
  197. package/build-module/quote/deprecated.js +112 -13
  198. package/build-module/quote/deprecated.js.map +1 -1
  199. package/build-module/quote/edit.js +5 -5
  200. package/build-module/quote/edit.js.map +1 -1
  201. package/build-module/quote/index.js +1 -1
  202. package/build-module/quote/index.js.map +1 -1
  203. package/build-module/quote/save.js +2 -2
  204. package/build-module/quote/save.js.map +1 -1
  205. package/build-module/read-more/edit.js.map +1 -1
  206. package/build-module/search/edit.js +1 -1
  207. package/build-module/search/edit.js.map +1 -1
  208. package/build-module/search/edit.native.js.map +1 -1
  209. package/build-module/site-logo/edit.js +7 -2
  210. package/build-module/site-logo/edit.js.map +1 -1
  211. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  212. package/build-module/site-title/edit.js.map +1 -0
  213. package/build-module/social-link/edit.js.map +1 -1
  214. package/build-module/social-links/edit.native.js.map +1 -1
  215. package/build-module/spacer/edit.js.map +1 -1
  216. package/build-module/table-of-contents/edit.js.map +1 -1
  217. package/build-module/template-part/edit/index.js +57 -5
  218. package/build-module/template-part/edit/index.js.map +1 -1
  219. package/build-module/template-part/edit/selection-modal.js +2 -8
  220. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  221. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  222. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  223. package/build-module/utils/caption.js +13 -3
  224. package/build-module/utils/caption.js.map +1 -1
  225. package/build-module/utils/get-transformed-metadata.js +51 -0
  226. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  227. package/build-module/utils/hooks.js +54 -3
  228. package/build-module/utils/hooks.js.map +1 -1
  229. package/build-module/video/edit-common-settings.js.map +1 -1
  230. package/build-module/video/edit.js +10 -19
  231. package/build-module/video/edit.js.map +1 -1
  232. package/build-module/video/edit.native.js +2 -7
  233. package/build-module/video/edit.native.js.map +1 -1
  234. package/build-style/common-rtl.css +1 -0
  235. package/build-style/common.css +1 -0
  236. package/build-style/cover/style-rtl.css +2 -1
  237. package/build-style/cover/style.css +2 -1
  238. package/build-style/editor-rtl.css +4 -1
  239. package/build-style/editor.css +4 -1
  240. package/build-style/group/editor-rtl.css +1 -1
  241. package/build-style/group/editor.css +1 -1
  242. package/build-style/image/editor-rtl.css +3 -0
  243. package/build-style/image/editor.css +3 -0
  244. package/build-style/search/style-rtl.css +2 -0
  245. package/build-style/search/style.css +2 -0
  246. package/build-style/style-rtl.css +4 -1
  247. package/build-style/style.css +4 -1
  248. package/package.json +34 -34
  249. package/src/audio/edit.js +9 -19
  250. package/src/audio/edit.native.js +3 -3
  251. package/src/avatar/edit.js +1 -1
  252. package/src/block/deprecated.js +76 -11
  253. package/src/block/edit.js +64 -19
  254. package/src/block/index.php +23 -12
  255. package/src/button/edit.js +4 -3
  256. package/src/buttons/edit.native.js +1 -1
  257. package/src/buttons/transforms.js +14 -4
  258. package/src/calendar/index.php +5 -0
  259. package/src/code/transforms.js +20 -5
  260. package/src/columns/edit.js +3 -2
  261. package/src/comment-author-avatar/edit.js +1 -1
  262. package/src/comments/index.php +2 -0
  263. package/src/cover/edit/block-controls.js +16 -2
  264. package/src/cover/edit/index.js +2 -2
  265. package/src/cover/edit/inspector-controls.js +1 -1
  266. package/src/cover/edit/resizable-cover-popover.js +1 -6
  267. package/src/cover/edit.native.js +1 -1
  268. package/src/cover/style.scss +3 -2
  269. package/src/file/deprecated.js +3 -3
  270. package/src/file/edit.js +8 -15
  271. package/src/file/edit.native.js +4 -4
  272. package/src/file/save.js +1 -1
  273. package/src/footnotes/index.php +1 -1
  274. package/src/form-input/edit.js +1 -1
  275. package/src/gallery/edit.js +3 -3
  276. package/src/gallery/gallery.native.js +1 -1
  277. package/src/gallery/test/index.native.js +1 -1
  278. package/src/gallery/v1/edit.js +2 -2
  279. package/src/gallery/v1/gallery.native.js +1 -1
  280. package/src/group/editor.scss +1 -1
  281. package/src/heading/transforms.js +27 -8
  282. package/src/image/edit.js +13 -5
  283. package/src/image/edit.native.js +1 -1
  284. package/src/image/editor.scss +6 -0
  285. package/src/image/image.js +34 -22
  286. package/src/latest-posts/edit.native.js +1 -1
  287. package/src/list/ordered-list-settings.js +1 -1
  288. package/src/list-item/edit.js +1 -2
  289. package/src/list-item/edit.native.js +1 -1
  290. package/src/list-item/hooks/index.js +0 -1
  291. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  292. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  293. package/src/list-item/hooks/use-space.js +16 -9
  294. package/src/list-item/index.js +3 -0
  295. package/src/media-text/media-container.native.js +5 -3
  296. package/src/media-text/test/edit.native.js +58 -0
  297. package/src/missing/test/edit-integration.native.js +2 -1
  298. package/src/navigation/edit/index.js +1 -1
  299. package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
  300. package/src/navigation/index.php +26 -17
  301. package/src/navigation-link/link-ui.js +2 -2
  302. package/src/paragraph/edit.native.js +1 -1
  303. package/src/paragraph/test/edit.native.js +36 -0
  304. package/src/pattern/edit.js +14 -0
  305. package/src/post-excerpt/edit.js +1 -1
  306. package/src/post-featured-image/dimension-controls.js +4 -4
  307. package/src/post-featured-image/edit.js +10 -12
  308. package/src/post-navigation-link/edit.js +1 -1
  309. package/src/post-template/index.php +2 -0
  310. package/src/post-title/edit.js +49 -43
  311. package/src/query/edit/pattern-selection-modal.js +1 -1
  312. package/src/query/utils.js +6 -4
  313. package/src/query-pagination-next/edit.js +1 -1
  314. package/src/query-pagination-previous/edit.js +1 -1
  315. package/src/quote/block.json +1 -1
  316. package/src/quote/deprecated.js +110 -15
  317. package/src/quote/edit.js +5 -5
  318. package/src/quote/save.js +2 -2
  319. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  320. package/src/read-more/edit.js +1 -1
  321. package/src/search/edit.js +1 -1
  322. package/src/search/edit.native.js +4 -4
  323. package/src/search/index.php +1 -1
  324. package/src/search/style.scss +2 -0
  325. package/src/site-logo/edit.js +11 -6
  326. package/src/social-link/edit.js +1 -1
  327. package/src/social-links/edit.native.js +1 -1
  328. package/src/spacer/edit.js +1 -1
  329. package/src/table-of-contents/edit.js +1 -1
  330. package/src/template-part/edit/index.js +91 -4
  331. package/src/template-part/edit/selection-modal.js +4 -8
  332. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  333. package/src/utils/caption.js +10 -1
  334. package/src/utils/get-transformed-metadata.js +65 -0
  335. package/src/utils/hooks.js +53 -3
  336. package/src/video/edit-common-settings.js +1 -1
  337. package/src/video/edit.js +10 -18
  338. package/src/video/edit.native.js +5 -8
  339. package/src/video/test/edit.native.js +0 -14
  340. package/build/list-item/hooks/use-copy.js +0 -39
  341. package/build/list-item/hooks/use-copy.js.map +0 -1
  342. package/build/site-title/edit/index.js.map +0 -1
  343. package/build-module/list-item/hooks/use-copy.js +0 -32
  344. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  345. package/build-module/site-title/edit/index.js.map +0 -1
  346. package/src/list-item/hooks/use-copy.js +0 -38
  347. /package/src/site-title/{edit/index.js → edit.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 8.30.0 (2024-03-06)
6
+
5
7
  ## 8.29.0 (2024-02-21)
6
8
 
7
9
  ## 8.28.0 (2024-02-09)
@@ -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":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,YAAA,GAAAH,OAAA;AAWA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AAKA,IAAAU,MAAA,GAAAC,sBAAA,CAAAX,OAAA;AAtCA;AACA;AACA;;AAGA;AACA;AACA;;AA4BA;AACA;AACA;;AAGA,MAAMY,mBAAmB,GAAG,CAAE,OAAO,CAAE;AAEvC,SAASC,SAASA,CAAE;EACnBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,iBAAiB;EACjBC,OAAO;EACPC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,EAAE;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGX,UAAU;EAEvD,MAAM,CAAEY,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,MAAMC,YAAY,GAAGA,CAAE;IAAEC,OAAO;IAAEC;EAAS,CAAC,KAAM;IACjDhB,aAAa,CAAE;MAAEM,EAAE,EAAES,OAAO;MAAEL,GAAG,EAAEM;IAAS,CAAE,CAAC;EAChD,CAAC;EAED,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,KAAQ;IAC3DF,oBAAoB,EAAEE,MAAM,CAAEC,kBAAiB,CAAC,CAACH,oBAAoB,CACpEZ,QAAQ,EACR,eACD;EACD,CAAC,CAAG,CAAC;EAEL,MAAM;IAAEgB;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAEzD,SAASC,eAAeA,CAAEC,SAAS,EAAG;IACrC,OAASC,QAAQ,IAAM;MACtB1B,aAAa,CAAE;QAAE,CAAEyB,SAAS,GAAIC;MAAS,CAAE,CAAC;IAC7C,CAAC;EACF;EAEA,SAASC,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKlB,GAAG,EAAG;MACrB,IAAK,IAAAmB,UAAK,EAAED,MAAO,CAAC,IAAI,UAAU,CAACE,IAAI,CAAE,IAAAC,gBAAW,EAAEH,MAAO,CAAE,CAAC,EAAG;QAClE5B,aAAa,CAAE;UAAEU,GAAG,EAAEkB,MAAM;UAAEtB,EAAE,EAAE0B;QAAU,CAAE,CAAC;MAChD,CAAC,MAAM;QACNX,iBAAiB,CAAE,IAAAY,QAAE,EAAE,oCAAqC,CAAE,CAAC;MAChE;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACC,GAAG,EAAG;MAC7B;MACA;MACApC,aAAa,CAAE;QAAEU,GAAG,EAAEsB,SAAS;QAAE1B,EAAE,EAAE0B;MAAU,CAAE,CAAC;MAClD;IACD;IACA;IACA;IACAhC,aAAa,CAAE;MAAEU,GAAG,EAAEyB,KAAK,CAACC,GAAG;MAAE9B,EAAE,EAAE6B,KAAK,CAAC7B;IAAG,CAAE,CAAC;EAClD;EAEA,SAAS+B,YAAYA,CAAA,EAAG;IACvBzB,oBAAoB,CAAE,KAAM,CAAC;EAC9B;EAEA,SAAS0B,cAAcA,CAAA,EAAG;IACzB,IAAK,CAAE3B,iBAAiB,EAAG;MAC1BC,oBAAoB,CAAE,IAAK,CAAC;IAC7B;EACD;EAEA,IAAK,CAAEF,GAAG,EAAG;IACZ,OACC,IAAA6B,MAAA,CAAAC,aAAA,EAACtD,WAAA,CAAAuD,IAAI,QACJ,IAAAF,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAsD,gBAAgB;MAChBC,IAAI,EAAG,IAAAJ,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAwD,SAAS;QAACD,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCE,QAAQ,EAAGX,aAAe;MAC1BP,WAAW,EAAGA,WAAa;MAC3BmB,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGlD,mBAAqB;MACpCmD,KAAK,EAAGjD,UAAY;MACpBI,OAAO,EAAGA,OAAS;MACnB8C,mBAAmB,EAAGhD,UAAU,IAAIgB;IAAsB,CAC1D,CACI,CAAC;EAET;EAEA,SAASiC,gBAAgBA,CAAEC,IAAI,EAAG;IACjC,OACC,IAAAZ,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAgE,aAAa,QACb,IAAAb,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAkE,YAAY,QACZ,IAAAd,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAmE,aAAa;MACbC,KAAK,EAAG,IAAAtB,QAAE,EAAE,eAAgB,CAAG;MAC/BU,IAAI,EAAGa,cAAS;MAChBC,OAAO,EAAGN;IAAM,CAChB,CACY,CACA,CAAC;EAElB;EAEA,SAASO,UAAUA,CAAEP,IAAI,EAAEQ,eAAe,EAAG;IAC5C,OACC,IAAApB,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAwE,mBAAmB;MACnB7C,OAAO,EAAGT,EAAI;MACduD,8BAA8B,EAAG/C,YAAc;MAC/CgD,uBAAuB,EAAGhD,YAAc;MACxCiD,cAAc,EAAGC,cAAM,CAACC,iBAAmB;MAC3CC,gBAAgB,EAAGF,cAAM,CAACG,WAAa;MACvCC,YAAY,EAAGJ,cAAM,CAACK,OAAS;MAC/BC,aAAa,EAAGA,CAAE;QACjBC,kBAAkB;QAClBC,cAAc;QACdC;MACD,CAAC,KAAM;QACN,OACC,IAAAlC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAmC,QAAA,QACG,CAAE/D,iBAAiB,IACpB,CAAE4D,kBAAkB,IACpBrB,gBAAgB,CAAEC,IAAK,CAAC,EACvBQ,eAAe,CAAC,CAAC,EACnB,IAAApB,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAwF,WAAW;UACXJ,kBAAkB,EAAGA,kBAAoB;UACzCC,cAAc,EAAGA,cAAgB;UACjCC,YAAY,EAAGA,YAAc;UAC7B1E,UAAU,EAAGA,UAAY;UACzBE,UAAU,EAAGA;QAAY,CACzB,CACA,CAAC;MAEL;IAAG,CACH,CAAC;EAEJ;EAEA,OACC,IAAAsC,MAAA,CAAAC,aAAA,EAACxD,YAAA,CAAA4F,wBAAwB;IACxBC,UAAU,EAAG,CAAE5E,UAAY;IAC3B6E,OAAO,EAAGzC,YAAc;IACxB0C,QAAQ,EAAG,CAAE9E;EAAY,GAEzB,IAAAsC,MAAA,CAAAC,aAAA,EAACtD,WAAA,CAAAuD,IAAI,QACJ,IAAAF,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAA4F,iBAAiB,QACjB,IAAAzC,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA8F,SAAS;IAAC1B,KAAK,EAAG,IAAAtB,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAM,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA+F,aAAa;IACbC,KAAK,EAAG,IAAAlD,QAAE,EAAE,UAAW,CAAG;IAC1BmD,QAAQ,EAAG5D,eAAe,CAAE,UAAW,CAAG;IAC1C6D,OAAO,EAAG9E,QAAU;IACpB+E,IAAI,EAAG,IAAArD,QAAE,EACR,qDACD;EAAG,CACH,CAAC,EACF,IAAAM,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA+F,aAAa;IACbC,KAAK,EAAG,IAAAlD,QAAE,EAAE,MAAO,CAAG;IACtBmD,QAAQ,EAAG5D,eAAe,CAAE,MAAO,CAAG;IACtC6D,OAAO,EAAG7E;EAAM,CAChB,CAAC,EACF,IAAA+B,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAoG,aAAa;IACbJ,KAAK,EAAG,IAAAK,QAAE,EACT,SAAS,EACT,6BACD,CAAG;IACHxC,KAAK,EAAGvC,OAAO,IAAI;IACnB;IAAA;IACA2E,QAAQ,EAAKpC,KAAK,IACjBhD,aAAa,CAAE;MACdS,OAAO,EAAEuC,KAAK,IAAIhB;IACnB,CAAE,CACF;IACDyD,OAAO,EAAG,CACT;MAAEzC,KAAK,EAAE,EAAE;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,iBAAkB;IAAE,CAAC,EAC7C;MAAEe,KAAK,EAAE,MAAM;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,MAAO;IAAE,CAAC,EACtC;MAAEe,KAAK,EAAE,UAAU;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,UAAW;IAAE,CAAC,EAC9C;MACCe,KAAK,EAAE,MAAM;MACbmC,KAAK,EAAE,IAAAK,QAAE,EAAE,MAAM,EAAE,iBAAkB;IACtC,CAAC,CACC;IACHE,gBAAgB,EAAG;EAAM,CACzB,CACS,CACO,CAAC,EACpB,IAAAnD,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAuG,WAAW;IACX5C,YAAY,EAAGlD,mBAAqB;IACpC+F,gBAAgB,EAAG,IAAM;IACzB/C,QAAQ,EAAGX,aAAe;IAC1BP,WAAW,EAAGA,WAAa;IAC3BkE,MAAM,EAAGA,CAAE;MAAE1C,IAAI;MAAEQ;IAAgB,CAAC,KAAM;MACzC,OAAOD,UAAU,CAAEP,IAAI,EAAEQ,eAAgB,CAAC;IAC3C;EAAG,CACH,CAAC,EACF,IAAApB,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAA0G,YAAY;IACZjB,UAAU,EAAG,IAAM;IACnBkB,yBAAyB,EAAKC,OAAO,IACpCC,qBAAQ,CAACC,OAAO,CAAEF,OAAQ,CAAC,GACxB;IACA,IAAA/D,QAAE,EAAE,sBAAuB,CAAC,GAC5B,IAAAkE,aAAO,GACP;IACA,IAAAlE,QAAE,EAAE,mBAAoB,CAAC,EACzB+D,OACA,CACH;IACD3F,QAAQ,EAAGA,QAAU;IACrBJ,UAAU,EAAGU,iBAAmB;IAChCR,OAAO,EAAGmC,cAAgB;IAC1BlC,MAAM,EAAGA,MAAQ;IACjBF,iBAAiB,EAAGA;EAAmB,CACvC,CACI,CACmB,CAAC;AAE7B;AAAC,IAAAkG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACcxG,SAAS"}
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":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,YAAA,GAAAH,OAAA;AAWA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AAKA,IAAAU,MAAA,GAAAC,sBAAA,CAAAX,OAAA;AAtCA;AACA;AACA;;AAGA;AACA;AACA;;AA4BA;AACA;AACA;;AAGA,MAAMY,mBAAmB,GAAG,CAAE,OAAO,CAAE;AAEvC,SAASC,SAASA,CAAE;EACnBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,iBAAiB;EACjBC,OAAO;EACPC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,EAAE;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGX,UAAU;EAEvD,MAAM,CAAEY,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErE,MAAMC,YAAY,GAAGA,CAAE;IAAEC,OAAO;IAAEC;EAAS,CAAC,KAAM;IACjDhB,aAAa,CAAE;MAAEM,EAAE,EAAES,OAAO;MAAEL,GAAG,EAAEM;IAAS,CAAE,CAAC;EAChD,CAAC;EAED,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,KAAQ;IAC3DF,oBAAoB,EAAEE,MAAM,CAAEC,kBAAiB,CAAC,CAACH,oBAAoB,CACpEZ,QAAQ,EACR,eACD;EACD,CAAC,CAAG,CAAC;EAEL,MAAM;IAAEgB;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAEzD,SAASC,eAAeA,CAAEC,SAAS,EAAG;IACrC,OAASC,QAAQ,IAAM;MACtB1B,aAAa,CAAE;QAAE,CAAEyB,SAAS,GAAIC;MAAS,CAAE,CAAC;IAC7C,CAAC;EACF;EAEA,SAASC,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKlB,GAAG,EAAG;MACrB,IAAK,IAAAmB,UAAK,EAAED,MAAO,CAAC,IAAI,UAAU,CAACE,IAAI,CAAE,IAAAC,gBAAW,EAAEH,MAAO,CAAE,CAAC,EAAG;QAClE5B,aAAa,CAAE;UAAEU,GAAG,EAAEkB,MAAM;UAAEtB,EAAE,EAAE0B;QAAU,CAAE,CAAC;MAChD,CAAC,MAAM;QACNX,iBAAiB,CAAE,IAAAY,QAAE,EAAE,oCAAqC,CAAE,CAAC;MAChE;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACC,GAAG,EAAG;MAC7B;MACA;MACApC,aAAa,CAAE;QAAEU,GAAG,EAAEsB,SAAS;QAAE1B,EAAE,EAAE0B;MAAU,CAAE,CAAC;MAClD;IACD;IACA;IACA;IACAhC,aAAa,CAAE;MAAEU,GAAG,EAAEyB,KAAK,CAACC,GAAG;MAAE9B,EAAE,EAAE6B,KAAK,CAAC7B;IAAG,CAAE,CAAC;EAClD;EAEA,SAAS+B,YAAYA,CAAA,EAAG;IACvBzB,oBAAoB,CAAE,KAAM,CAAC;EAC9B;EAEA,SAAS0B,cAAcA,CAAA,EAAG;IACzB,IAAK,CAAE3B,iBAAiB,EAAG;MAC1BC,oBAAoB,CAAE,IAAK,CAAC;IAC7B;EACD;EAEA,IAAK,CAAEF,GAAG,EAAG;IACZ,OACC,IAAA6B,MAAA,CAAAC,aAAA,EAACtD,WAAA,CAAAuD,IAAI,QACJ,IAAAF,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAsD,gBAAgB;MAChBC,IAAI,EAAG,IAAAJ,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAwD,SAAS;QAACD,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCE,QAAQ,EAAGX,aAAe;MAC1BP,WAAW,EAAGA,WAAa;MAC3BmB,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGlD,mBAAqB;MACpCmD,KAAK,EAAGjD,UAAY;MACpBI,OAAO,EAAGA,OAAS;MACnB8C,mBAAmB,EAAGhD,UAAU,IAAIgB;IAAsB,CAC1D,CACI,CAAC;EAET;EAEA,SAASiC,gBAAgBA,CAAEC,IAAI,EAAG;IACjC,OACC,IAAAZ,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAgE,aAAa,QACb,IAAAb,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAkE,YAAY,QACZ,IAAAd,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAmE,aAAa;MACbC,KAAK,EAAG,IAAAtB,QAAE,EAAE,eAAgB,CAAG;MAC/BU,IAAI,EAAGa,cAAS;MAChBC,OAAO,EAAGN;IAAM,CAChB,CACY,CACA,CAAC;EAElB;EAEA,SAASO,UAAUA,CAAEP,IAAI,EAAEQ,eAAe,EAAG;IAC5C,OACC,IAAApB,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAwE,mBAAmB;MACnB7C,OAAO,EAAGT,EAAI;MACduD,8BAA8B,EAAG/C,YAAc;MAC/CgD,uBAAuB,EAAGhD,YAAc;MACxCiD,cAAc,EAAGC,cAAM,CAACC,iBAAmB;MAC3CC,gBAAgB,EAAGF,cAAM,CAACG,WAAa;MACvCC,YAAY,EAAGJ,cAAM,CAACK,OAAS;MAC/BC,aAAa,EAAGA,CAAE;QACjBC,kBAAkB;QAClBC,cAAc;QACdC;MACD,CAAC,KAAM;QACN,OACC,IAAAlC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAmC,QAAA,QACG,CAAE/D,iBAAiB,IACpB,CAAE4D,kBAAkB,IACpBrB,gBAAgB,CAAEC,IAAK,CAAC,EACvBQ,eAAe,CAAC,CAAC,EACnB,IAAApB,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAwF,WAAW;UACXJ,kBAAkB,EAAGA,kBAAoB;UACzCC,cAAc,EAAGA,cAAgB;UACjCC,YAAY,EAAGA,YAAc;UAC7B1E,UAAU,EAAGA,UAAY;UACzBE,UAAU,EAAGA;QAAY,CACzB,CACA,CAAC;MAEL;IAAG,CACH,CAAC;EAEJ;EAEA,OACC,IAAAsC,MAAA,CAAAC,aAAA,EAACxD,YAAA,CAAA4F,wBAAwB;IACxBC,UAAU,EAAG,CAAE5E,UAAY;IAC3B6E,OAAO,EAAGzC,YAAc;IACxB0C,QAAQ,EAAG,CAAE9E;EAAY,GAEzB,IAAAsC,MAAA,CAAAC,aAAA,EAACtD,WAAA,CAAAuD,IAAI,QACJ,IAAAF,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAA4F,iBAAiB,QACjB,IAAAzC,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA8F,SAAS;IAAC1B,KAAK,EAAG,IAAAtB,QAAE,EAAE,UAAW;EAAG,GACpC,IAAAM,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA+F,aAAa;IACbC,KAAK,EAAG,IAAAlD,QAAE,EAAE,UAAW,CAAG;IAC1BmD,QAAQ,EAAG5D,eAAe,CAAE,UAAW,CAAG;IAC1C6D,OAAO,EAAG9E,QAAU;IACpB+E,IAAI,EAAG,IAAArD,QAAE,EACR,qDACD;EAAG,CACH,CAAC,EACF,IAAAM,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAA+F,aAAa;IACbC,KAAK,EAAG,IAAAlD,QAAE,EAAE,MAAO,CAAG;IACtBmD,QAAQ,EAAG5D,eAAe,CAAE,MAAO,CAAG;IACtC6D,OAAO,EAAG7E;EAAM,CAChB,CAAC,EACF,IAAA+B,MAAA,CAAAC,aAAA,EAACrD,WAAA,CAAAoG,aAAa;IACbJ,KAAK,EAAG,IAAAK,QAAE,EACT,SAAS,EACT,6BACD,CAAG;IACHxC,KAAK,EAAGvC,OAAO,IAAI;IACnB;IAAA;IACA2E,QAAQ,EAAKpC,KAAK,IACjBhD,aAAa,CAAE;MACdS,OAAO,EAAEuC,KAAK,IAAIhB;IACnB,CAAE,CACF;IACDyD,OAAO,EAAG,CACT;MAAEzC,KAAK,EAAE,EAAE;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,iBAAkB;IAAE,CAAC,EAC7C;MAAEe,KAAK,EAAE,MAAM;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,MAAO;IAAE,CAAC,EACtC;MAAEe,KAAK,EAAE,UAAU;MAAEmC,KAAK,EAAE,IAAAlD,QAAE,EAAE,UAAW;IAAE,CAAC,EAC9C;MACCe,KAAK,EAAE,MAAM;MACbmC,KAAK,EAAE,IAAAK,QAAE,EAAE,MAAM,EAAE,iBAAkB;IACtC,CAAC,CACC;IACHE,gBAAgB;EAAA,CAChB,CACS,CACO,CAAC,EACpB,IAAAnD,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAAuG,WAAW;IACX5C,YAAY,EAAGlD,mBAAqB;IACpC+F,gBAAgB;IAChB/C,QAAQ,EAAGX,aAAe;IAC1BP,WAAW,EAAGA,WAAa;IAC3BkE,MAAM,EAAGA,CAAE;MAAE1C,IAAI;MAAEQ;IAAgB,CAAC,KAAM;MACzC,OAAOD,UAAU,CAAEP,IAAI,EAAEQ,eAAgB,CAAC;IAC3C;EAAG,CACH,CAAC,EACF,IAAApB,MAAA,CAAAC,aAAA,EAACpD,YAAA,CAAA0G,YAAY;IACZjB,UAAU;IACVkB,yBAAyB,EAAKC,OAAO,IACpCC,qBAAQ,CAACC,OAAO,CAAEF,OAAQ,CAAC,GACxB;IACA,IAAA/D,QAAE,EAAE,sBAAuB,CAAC,GAC5B,IAAAkE,aAAO,GACP;IACA,IAAAlE,QAAE,EAAE,mBAAoB,CAAC,EACzB+D,OACA,CACH;IACD3F,QAAQ,EAAGA,QAAU;IACrBJ,UAAU,EAAGU,iBAAmB;IAChCR,OAAO,EAAGmC,cAAgB;IAC1BlC,MAAM,EAAGA,MAAQ;IACjBF,iBAAiB,EAAGA;EAAmB,CACvC,CACI,CACmB,CAAC;AAE7B;AAAC,IAAAkG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACcxG,SAAS"}
@@ -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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"}
@@ -4,7 +4,73 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- // v1: Migrate and rename the `overrides` attribute to the `content` attribute.
7
+ const isObject = obj => typeof obj === 'object' && !Array.isArray(obj) && obj !== null;
8
+
9
+ // v2: Migrate to a more condensed version of the 'content' attribute attribute.
10
+ const v2 = {
11
+ attributes: {
12
+ ref: {
13
+ type: 'number'
14
+ },
15
+ content: {
16
+ type: 'object'
17
+ }
18
+ },
19
+ supports: {
20
+ customClassName: false,
21
+ html: false,
22
+ inserter: false,
23
+ renaming: false
24
+ },
25
+ // Force this deprecation to run whenever there's a values sub-property that's an object.
26
+ //
27
+ // This could fail in the future if a block ever has binding to a `values` attribute.
28
+ // Some extra protection is added to ensure `values` is an object, but this only reduces
29
+ // the likelihood, it doesn't solve it completely.
30
+ isEligible({
31
+ content
32
+ }) {
33
+ return !!content && Object.keys(content).every(contentKey => content[contentKey].values && isObject(content[contentKey].values));
34
+ },
35
+ /*
36
+ * Old attribute format:
37
+ * content: {
38
+ * "V98q_x": {
39
+ * // The attribute values are now stored as a 'values' sub-property.
40
+ * values: { content: 'My content value' },
41
+ * // ... additional metadata, like the block name can be stored here.
42
+ * }
43
+ * }
44
+ *
45
+ * New attribute format:
46
+ * content: {
47
+ * "V98q_x": {
48
+ * content: 'My content value',
49
+ * }
50
+ * }
51
+ */
52
+ migrate(attributes) {
53
+ const {
54
+ content,
55
+ ...retainedAttributes
56
+ } = attributes;
57
+ if (content && Object.keys(content).length) {
58
+ const updatedContent = {
59
+ ...content
60
+ };
61
+ for (const contentKey in content) {
62
+ updatedContent[contentKey] = content[contentKey].values;
63
+ }
64
+ return {
65
+ ...retainedAttributes,
66
+ content: updatedContent
67
+ };
68
+ }
69
+ return attributes;
70
+ }
71
+ };
72
+
73
+ // v1: Rename the `overrides` attribute to the `content` attribute.
8
74
  const v1 = {
9
75
  attributes: {
10
76
  ref: {
@@ -31,16 +97,12 @@ const v1 = {
31
97
  * overrides: {
32
98
  * // An key is an id that represents a block.
33
99
  * // The values are the attribute values of the block.
34
- * "V98q_x": { content: 'dwefwefwefwe' }
100
+ * "V98q_x": { content: 'My content value' }
35
101
  * }
36
102
  *
37
103
  * New attribute format:
38
104
  * content: {
39
- * "V98q_x": {
40
- * // The attribute values are now stored as a 'values' sub-property.
41
- * values: { content: 'dwefwefwefwe' },
42
- * // ... additional metadata, like the block name can be stored here.
43
- * }
105
+ * "V98q_x": { content: 'My content value' }
44
106
  * }
45
107
  *
46
108
  */
@@ -51,9 +113,7 @@ const v1 = {
51
113
  } = attributes;
52
114
  const content = {};
53
115
  Object.keys(overrides).forEach(id => {
54
- content[id] = {
55
- values: overrides[id]
56
- };
116
+ content[id] = overrides[id];
57
117
  });
58
118
  return {
59
119
  ...retainedAttributes,
@@ -61,5 +121,5 @@ const v1 = {
61
121
  };
62
122
  }
63
123
  };
64
- var _default = exports.default = [v1];
124
+ var _default = exports.default = [v2, v1];
65
125
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["v1","attributes","ref","type","overrides","supports","customClassName","html","inserter","renaming","isEligible","migrate","retainedAttributes","content","Object","keys","forEach","id","values","_default","exports","default"],"sources":["@wordpress/block-library/src/block/deprecated.js"],"sourcesContent":["// v1: Migrate and rename the `overrides` attribute to the `content` attribute.\nconst v1 = {\n\tattributes: {\n\t\tref: {\n\t\t\ttype: 'number',\n\t\t},\n\t\toverrides: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tsupports: {\n\t\tcustomClassName: false,\n\t\thtml: false,\n\t\tinserter: false,\n\t\trenaming: false,\n\t},\n\t// Force this deprecation to run whenever there's an `overrides` object.\n\tisEligible( { overrides } ) {\n\t\treturn !! overrides;\n\t},\n\t/*\n\t * Old attribute format:\n\t * overrides: {\n\t * // An key is an id that represents a block.\n\t * // The values are the attribute values of the block.\n\t * \"V98q_x\": { content: 'dwefwefwefwe' }\n\t * }\n\t *\n\t * New attribute format:\n\t * content: {\n\t * \"V98q_x\": {\n\t * \t \t\t// The attribute values are now stored as a 'values' sub-property.\n\t * values: { content: 'dwefwefwefwe' },\n\t * \t // ... additional metadata, like the block name can be stored here.\n\t * }\n\t * }\n\t *\n\t */\n\tmigrate( attributes ) {\n\t\tconst { overrides, ...retainedAttributes } = attributes;\n\n\t\tconst content = {};\n\n\t\tObject.keys( overrides ).forEach( ( id ) => {\n\t\t\tcontent[ id ] = {\n\t\t\t\tvalues: overrides[ id ],\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...retainedAttributes,\n\t\t\tcontent,\n\t\t};\n\t},\n};\n\nexport default [ v1 ];\n"],"mappings":";;;;;;AAAA;AACA,MAAMA,EAAE,GAAG;EACVC,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE;IACP,CAAC;IACDC,SAAS,EAAE;MACVD,IAAI,EAAE;IACP;EACD,CAAC;EACDE,QAAQ,EAAE;IACTC,eAAe,EAAE,KAAK;IACtBC,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE;EACX,CAAC;EACD;EACAC,UAAUA,CAAE;IAAEN;EAAU,CAAC,EAAG;IAC3B,OAAO,CAAC,CAAEA,SAAS;EACpB,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCO,OAAOA,CAAEV,UAAU,EAAG;IACrB,MAAM;MAAEG,SAAS;MAAE,GAAGQ;IAAmB,CAAC,GAAGX,UAAU;IAEvD,MAAMY,OAAO,GAAG,CAAC,CAAC;IAElBC,MAAM,CAACC,IAAI,CAAEX,SAAU,CAAC,CAACY,OAAO,CAAIC,EAAE,IAAM;MAC3CJ,OAAO,CAAEI,EAAE,CAAE,GAAG;QACfC,MAAM,EAAEd,SAAS,CAAEa,EAAE;MACtB,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGL,kBAAkB;MACrBC;IACD,CAAC;EACF;AACD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,CAAErB,EAAE,CAAE"}
1
+ {"version":3,"names":["isObject","obj","Array","isArray","v2","attributes","ref","type","content","supports","customClassName","html","inserter","renaming","isEligible","Object","keys","every","contentKey","values","migrate","retainedAttributes","length","updatedContent","v1","overrides","forEach","id","_default","exports","default"],"sources":["@wordpress/block-library/src/block/deprecated.js"],"sourcesContent":["const isObject = ( obj ) =>\n\ttypeof obj === 'object' && ! Array.isArray( obj ) && obj !== null;\n\n// v2: Migrate to a more condensed version of the 'content' attribute attribute.\nconst v2 = {\n\tattributes: {\n\t\tref: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tsupports: {\n\t\tcustomClassName: false,\n\t\thtml: false,\n\t\tinserter: false,\n\t\trenaming: false,\n\t},\n\t// Force this deprecation to run whenever there's a values sub-property that's an object.\n\t//\n\t// This could fail in the future if a block ever has binding to a `values` attribute.\n\t// Some extra protection is added to ensure `values` is an object, but this only reduces\n\t// the likelihood, it doesn't solve it completely.\n\tisEligible( { content } ) {\n\t\treturn (\n\t\t\t!! content &&\n\t\t\tObject.keys( content ).every(\n\t\t\t\t( contentKey ) =>\n\t\t\t\t\tcontent[ contentKey ].values &&\n\t\t\t\t\tisObject( content[ contentKey ].values )\n\t\t\t)\n\t\t);\n\t},\n\t/*\n\t * Old attribute format:\n\t * content: {\n\t * \"V98q_x\": {\n\t * \t \t\t// The attribute values are now stored as a 'values' sub-property.\n\t * values: { content: 'My content value' },\n\t * \t // ... additional metadata, like the block name can be stored here.\n\t * }\n\t * }\n\t *\n\t * New attribute format:\n\t * content: {\n\t * \"V98q_x\": {\n\t * content: 'My content value',\n\t * }\n\t * }\n\t */\n\tmigrate( attributes ) {\n\t\tconst { content, ...retainedAttributes } = attributes;\n\n\t\tif ( content && Object.keys( content ).length ) {\n\t\t\tconst updatedContent = { ...content };\n\n\t\t\tfor ( const contentKey in content ) {\n\t\t\t\tupdatedContent[ contentKey ] = content[ contentKey ].values;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...retainedAttributes,\n\t\t\t\tcontent: updatedContent,\n\t\t\t};\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\n// v1: Rename the `overrides` attribute to the `content` attribute.\nconst v1 = {\n\tattributes: {\n\t\tref: {\n\t\t\ttype: 'number',\n\t\t},\n\t\toverrides: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tsupports: {\n\t\tcustomClassName: false,\n\t\thtml: false,\n\t\tinserter: false,\n\t\trenaming: false,\n\t},\n\t// Force this deprecation to run whenever there's an `overrides` object.\n\tisEligible( { overrides } ) {\n\t\treturn !! overrides;\n\t},\n\t/*\n\t * Old attribute format:\n\t * overrides: {\n\t * // An key is an id that represents a block.\n\t * // The values are the attribute values of the block.\n\t * \"V98q_x\": { content: 'My content value' }\n\t * }\n\t *\n\t * New attribute format:\n\t * content: {\n\t * \"V98q_x\": { content: 'My content value' }\n\t * }\n\t *\n\t */\n\tmigrate( attributes ) {\n\t\tconst { overrides, ...retainedAttributes } = attributes;\n\n\t\tconst content = {};\n\n\t\tObject.keys( overrides ).forEach( ( id ) => {\n\t\t\tcontent[ id ] = overrides[ id ];\n\t\t} );\n\n\t\treturn {\n\t\t\t...retainedAttributes,\n\t\t\tcontent,\n\t\t};\n\t},\n};\n\nexport default [ v2, v1 ];\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAKC,GAAG,IACrB,OAAOA,GAAG,KAAK,QAAQ,IAAI,CAAEC,KAAK,CAACC,OAAO,CAAEF,GAAI,CAAC,IAAIA,GAAG,KAAK,IAAI;;AAElE;AACA,MAAMG,EAAE,GAAG;EACVC,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE;IACP,CAAC;IACDC,OAAO,EAAE;MACRD,IAAI,EAAE;IACP;EACD,CAAC;EACDE,QAAQ,EAAE;IACTC,eAAe,EAAE,KAAK;IACtBC,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE;EACX,CAAC;EACD;EACA;EACA;EACA;EACA;EACAC,UAAUA,CAAE;IAAEN;EAAQ,CAAC,EAAG;IACzB,OACC,CAAC,CAAEA,OAAO,IACVO,MAAM,CAACC,IAAI,CAAER,OAAQ,CAAC,CAACS,KAAK,CACzBC,UAAU,IACXV,OAAO,CAAEU,UAAU,CAAE,CAACC,MAAM,IAC5BnB,QAAQ,CAAEQ,OAAO,CAAEU,UAAU,CAAE,CAACC,MAAO,CACzC,CAAC;EAEH,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,OAAOA,CAAEf,UAAU,EAAG;IACrB,MAAM;MAAEG,OAAO;MAAE,GAAGa;IAAmB,CAAC,GAAGhB,UAAU;IAErD,IAAKG,OAAO,IAAIO,MAAM,CAACC,IAAI,CAAER,OAAQ,CAAC,CAACc,MAAM,EAAG;MAC/C,MAAMC,cAAc,GAAG;QAAE,GAAGf;MAAQ,CAAC;MAErC,KAAM,MAAMU,UAAU,IAAIV,OAAO,EAAG;QACnCe,cAAc,CAAEL,UAAU,CAAE,GAAGV,OAAO,CAAEU,UAAU,CAAE,CAACC,MAAM;MAC5D;MAEA,OAAO;QACN,GAAGE,kBAAkB;QACrBb,OAAO,EAAEe;MACV,CAAC;IACF;IAEA,OAAOlB,UAAU;EAClB;AACD,CAAC;;AAED;AACA,MAAMmB,EAAE,GAAG;EACVnB,UAAU,EAAE;IACXC,GAAG,EAAE;MACJC,IAAI,EAAE;IACP,CAAC;IACDkB,SAAS,EAAE;MACVlB,IAAI,EAAE;IACP;EACD,CAAC;EACDE,QAAQ,EAAE;IACTC,eAAe,EAAE,KAAK;IACtBC,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE;EACX,CAAC;EACD;EACAC,UAAUA,CAAE;IAAEW;EAAU,CAAC,EAAG;IAC3B,OAAO,CAAC,CAAEA,SAAS;EACpB,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCL,OAAOA,CAAEf,UAAU,EAAG;IACrB,MAAM;MAAEoB,SAAS;MAAE,GAAGJ;IAAmB,CAAC,GAAGhB,UAAU;IAEvD,MAAMG,OAAO,GAAG,CAAC,CAAC;IAElBO,MAAM,CAACC,IAAI,CAAES,SAAU,CAAC,CAACC,OAAO,CAAIC,EAAE,IAAM;MAC3CnB,OAAO,CAAEmB,EAAE,CAAE,GAAGF,SAAS,CAAEE,EAAE,CAAE;IAChC,CAAE,CAAC;IAEH,OAAO;MACN,GAAGN,kBAAkB;MACrBb;IACD,CAAC;EACF;AACD,CAAC;AAAC,IAAAoB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa,CAAE1B,EAAE,EAAEoB,EAAE,CAAE"}
@@ -37,6 +37,23 @@ const {
37
37
  PARTIAL_SYNCING_SUPPORTED_BLOCKS
38
38
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
39
39
  const fullAlignments = ['full', 'wide', 'left', 'right'];
40
+ function getLegacyIdMap(blocks, content, nameCount = {}) {
41
+ let idToClientIdMap = {};
42
+ for (const block of blocks) {
43
+ if (block?.innerBlocks?.length) {
44
+ idToClientIdMap = {
45
+ ...idToClientIdMap,
46
+ ...getLegacyIdMap(block.innerBlocks, content, nameCount)
47
+ };
48
+ }
49
+ const id = block.attributes.metadata?.id;
50
+ const clientId = block.clientId;
51
+ if (id && content?.[id]) {
52
+ idToClientIdMap[clientId] = id;
53
+ }
54
+ }
55
+ return idToClientIdMap;
56
+ }
40
57
  const useInferredLayout = (blocks, parentLayout) => {
41
58
  const initialInferredAlignmentRef = (0, _element.useRef)();
42
59
  return (0, _element.useMemo)(() => {
@@ -73,23 +90,26 @@ function hasOverridableBlocks(blocks) {
73
90
  function getOverridableAttributes(block) {
74
91
  return Object.entries(block.attributes.metadata.bindings).filter(([, binding]) => binding.source === 'core/pattern-overrides').map(([attributeKey]) => attributeKey);
75
92
  }
76
- function applyInitialContentValuesToInnerBlocks(blocks, content = {}, defaultValues) {
93
+ function applyInitialContentValuesToInnerBlocks(blocks, content = {}, defaultValues, legacyIdMap) {
77
94
  return blocks.map(block => {
78
- const innerBlocks = applyInitialContentValuesToInnerBlocks(block.innerBlocks, content, defaultValues);
79
- const blockId = block.attributes.metadata?.id;
80
- if (!hasOverridableAttributes(block) || !blockId) return {
81
- ...block,
82
- innerBlocks
83
- };
95
+ var _legacyIdMap$block$cl;
96
+ const innerBlocks = applyInitialContentValuesToInnerBlocks(block.innerBlocks, content, defaultValues, legacyIdMap);
97
+ const metadataName = (_legacyIdMap$block$cl = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl !== void 0 ? _legacyIdMap$block$cl : block.attributes.metadata?.name;
98
+ if (!metadataName || !hasOverridableAttributes(block)) {
99
+ return {
100
+ ...block,
101
+ innerBlocks
102
+ };
103
+ }
84
104
  const attributes = getOverridableAttributes(block);
85
105
  const newAttributes = {
86
106
  ...block.attributes
87
107
  };
88
108
  for (const attributeKey of attributes) {
89
- var _defaultValues$blockI;
90
- (_defaultValues$blockI = defaultValues[blockId]) !== null && _defaultValues$blockI !== void 0 ? _defaultValues$blockI : defaultValues[blockId] = {};
91
- defaultValues[blockId][attributeKey] = block.attributes[attributeKey];
92
- const contentValues = content[blockId]?.values;
109
+ var _defaultValues$metada;
110
+ (_defaultValues$metada = defaultValues[metadataName]) !== null && _defaultValues$metada !== void 0 ? _defaultValues$metada : defaultValues[metadataName] = {};
111
+ defaultValues[metadataName][attributeKey] = block.attributes[attributeKey];
112
+ const contentValues = content[metadataName];
93
113
  if (contentValues?.[attributeKey] !== undefined) {
94
114
  newAttributes[attributeKey] = contentValues[attributeKey];
95
115
  }
@@ -107,25 +127,27 @@ function isAttributeEqual(attribute1, attribute2) {
107
127
  }
108
128
  return attribute1 === attribute2;
109
129
  }
110
- function getContentValuesFromInnerBlocks(blocks, defaultValues) {
130
+ function getContentValuesFromInnerBlocks(blocks, defaultValues, legacyIdMap) {
111
131
  /** @type {Record<string, { values: Record<string, unknown>}>} */
112
132
  const content = {};
113
133
  for (const block of blocks) {
134
+ var _legacyIdMap$block$cl2;
114
135
  if (block.name === _index.name) continue;
115
- Object.assign(content, getContentValuesFromInnerBlocks(block.innerBlocks, defaultValues));
116
- const blockId = block.attributes.metadata?.id;
117
- if (!hasOverridableAttributes(block) || !blockId) continue;
136
+ if (block.innerBlocks.length) {
137
+ Object.assign(content, getContentValuesFromInnerBlocks(block.innerBlocks, defaultValues, legacyIdMap));
138
+ }
139
+ const metadataName = (_legacyIdMap$block$cl2 = legacyIdMap?.[block.clientId]) !== null && _legacyIdMap$block$cl2 !== void 0 ? _legacyIdMap$block$cl2 : block.attributes.metadata?.name;
140
+ if (!metadataName || !hasOverridableAttributes(block)) {
141
+ continue;
142
+ }
118
143
  const attributes = getOverridableAttributes(block);
119
144
  for (const attributeKey of attributes) {
120
- if (!isAttributeEqual(block.attributes[attributeKey], defaultValues[blockId][attributeKey])) {
121
- var _content$blockId;
122
- (_content$blockId = content[blockId]) !== null && _content$blockId !== void 0 ? _content$blockId : content[blockId] = {
123
- values: {},
124
- blockName: block.name
125
- };
145
+ if (!isAttributeEqual(block.attributes[attributeKey], defaultValues?.[metadataName]?.[attributeKey])) {
146
+ var _content$metadataName;
147
+ (_content$metadataName = content[metadataName]) !== null && _content$metadataName !== void 0 ? _content$metadataName : content[metadataName] = {};
126
148
  // TODO: We need a way to represent `undefined` in the serialized overrides.
127
149
  // Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871
128
- content[blockId].values[attributeKey] = block.attributes[attributeKey] === undefined ?
150
+ content[metadataName][attributeKey] = block.attributes[attributeKey] === undefined ?
129
151
  // TODO: We use an empty string to represent undefined for now until
130
152
  // we support a richer format for overrides and the block binding API.
131
153
  // Currently only the `linkTarget` attribute of `core/button` is affected.
@@ -218,16 +240,19 @@ function ReusableBlockEdit({
218
240
  (_editedRecord$blocks$ = editedRecord.blocks?.map(block => (0, _blocks.cloneBlock)(block))) !== null && _editedRecord$blocks$ !== void 0 ? _editedRecord$blocks$ : editedRecord.content && typeof editedRecord.content !== 'function' ? (0, _blocks.parse)(editedRecord.content) : []
219
241
  );
220
242
  }, [editedRecord.blocks, editedRecord.content]);
243
+ const legacyIdMap = (0, _element.useRef)({});
221
244
 
222
245
  // Apply the initial overrides from the pattern block to the inner blocks.
223
246
  (0, _element.useEffect)(() => {
247
+ // Build a map of clientIds to the old nano id system to provide back compat.
248
+ legacyIdMap.current = getLegacyIdMap(initialBlocks, initialContent.current);
224
249
  defaultContent.current = {};
225
250
  const originalEditingMode = getBlockEditingMode(patternClientId);
226
251
  // Replace the contents of the blocks with the overrides.
227
252
  registry.batch(() => {
228
253
  setBlockEditingMode(patternClientId, 'default');
229
254
  syncDerivedUpdates(() => {
230
- replaceInnerBlocks(patternClientId, applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current));
255
+ replaceInnerBlocks(patternClientId, applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current));
231
256
  });
232
257
  setBlockEditingMode(patternClientId, originalEditingMode);
233
258
  });
@@ -263,7 +288,7 @@ function ReusableBlockEdit({
263
288
  prevBlocks = blocks;
264
289
  syncDerivedUpdates(() => {
265
290
  setAttributes({
266
- content: getContentValuesFromInnerBlocks(blocks, defaultContent.current)
291
+ content: getContentValuesFromInnerBlocks(blocks, defaultContent.current, legacyIdMap.current)
267
292
  });
268
293
  });
269
294
  }