@wordpress/block-library 8.19.3 → 8.20.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 (1216) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +8 -8
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/deprecated.js +3 -3
  5. package/build/audio/deprecated.js.map +1 -1
  6. package/build/audio/edit.js +17 -16
  7. package/build/audio/edit.js.map +1 -1
  8. package/build/audio/edit.native.js +15 -14
  9. package/build/audio/edit.native.js.map +1 -1
  10. package/build/audio/save.js +4 -4
  11. package/build/audio/save.js.map +1 -1
  12. package/build/avatar/edit.js +19 -19
  13. package/build/avatar/edit.js.map +1 -1
  14. package/build/avatar/user-control.js +3 -2
  15. package/build/avatar/user-control.js.map +1 -1
  16. package/build/block/edit-title.native.js +8 -8
  17. package/build/block/edit-title.native.js.map +1 -1
  18. package/build/block/edit.js +11 -10
  19. package/build/block/edit.js.map +1 -1
  20. package/build/block/edit.native.js +17 -16
  21. package/build/block/edit.native.js.map +1 -1
  22. package/build/button/color-background.native.js +3 -3
  23. package/build/button/color-background.native.js.map +1 -1
  24. package/build/button/constants.js +13 -0
  25. package/build/button/constants.js.map +1 -0
  26. package/build/button/deprecated.js +19 -19
  27. package/build/button/deprecated.js.map +1 -1
  28. package/build/button/edit.js +42 -44
  29. package/build/button/edit.js.map +1 -1
  30. package/build/button/edit.native.js +15 -14
  31. package/build/button/edit.native.js.map +1 -1
  32. package/build/button/get-updated-link-attributes.js +54 -0
  33. package/build/button/get-updated-link-attributes.js.map +1 -0
  34. package/build/button/save.js +3 -3
  35. package/build/button/save.js.map +1 -1
  36. package/build/buttons/deprecated.js +4 -4
  37. package/build/buttons/deprecated.js.map +1 -1
  38. package/build/buttons/edit.js +2 -2
  39. package/build/buttons/edit.js.map +1 -1
  40. package/build/buttons/edit.native.js +7 -6
  41. package/build/buttons/edit.native.js.map +1 -1
  42. package/build/buttons/save.js +2 -2
  43. package/build/buttons/save.js.map +1 -1
  44. package/build/calendar/edit.js +6 -6
  45. package/build/calendar/edit.js.map +1 -1
  46. package/build/categories/edit.js +17 -17
  47. package/build/categories/edit.js.map +1 -1
  48. package/build/code/edit.js +3 -3
  49. package/build/code/edit.js.map +1 -1
  50. package/build/code/edit.native.js +2 -2
  51. package/build/code/edit.native.js.map +1 -1
  52. package/build/code/save.js +3 -3
  53. package/build/code/save.js.map +1 -1
  54. package/build/column/column-preview.native.js +4 -4
  55. package/build/column/column-preview.native.js.map +1 -1
  56. package/build/column/deprecated.js +3 -3
  57. package/build/column/deprecated.js.map +1 -1
  58. package/build/column/edit.js +5 -5
  59. package/build/column/edit.js.map +1 -1
  60. package/build/column/edit.native.js +14 -13
  61. package/build/column/edit.native.js.map +1 -1
  62. package/build/column/save.js +2 -2
  63. package/build/column/save.js.map +1 -1
  64. package/build/columns/deprecated.js +7 -7
  65. package/build/columns/deprecated.js.map +1 -1
  66. package/build/columns/edit.js +9 -9
  67. package/build/columns/edit.js.map +1 -1
  68. package/build/columns/edit.native.js +15 -14
  69. package/build/columns/edit.native.js.map +1 -1
  70. package/build/columns/save.js +2 -2
  71. package/build/columns/save.js.map +1 -1
  72. package/build/columns/variations.js +13 -13
  73. package/build/columns/variations.js.map +1 -1
  74. package/build/comment-author-avatar/edit.js +6 -6
  75. package/build/comment-author-avatar/edit.js.map +1 -1
  76. package/build/comment-author-name/edit.js +8 -8
  77. package/build/comment-author-name/edit.js.map +1 -1
  78. package/build/comment-content/edit.js +8 -7
  79. package/build/comment-content/edit.js.map +1 -1
  80. package/build/comment-date/edit.js +8 -8
  81. package/build/comment-date/edit.js.map +1 -1
  82. package/build/comment-edit-link/edit.js +7 -7
  83. package/build/comment-edit-link/edit.js.map +1 -1
  84. package/build/comment-reply-link/edit.js +5 -5
  85. package/build/comment-reply-link/edit.js.map +1 -1
  86. package/build/comment-template/edit.js +14 -13
  87. package/build/comment-template/edit.js.map +1 -1
  88. package/build/comment-template/save.js +2 -2
  89. package/build/comment-template/save.js.map +1 -1
  90. package/build/comments/deprecated.js +3 -3
  91. package/build/comments/deprecated.js.map +1 -1
  92. package/build/comments/edit/comments-inspector-controls.js +3 -3
  93. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  94. package/build/comments/edit/comments-legacy.js +7 -7
  95. package/build/comments/edit/comments-legacy.js.map +1 -1
  96. package/build/comments/edit/index.js +4 -4
  97. package/build/comments/edit/index.js.map +1 -1
  98. package/build/comments/edit/placeholder.js +34 -33
  99. package/build/comments/edit/placeholder.js.map +1 -1
  100. package/build/comments/save.js +2 -2
  101. package/build/comments/save.js.map +1 -1
  102. package/build/comments-pagination/comments-pagination-arrow-controls.js +5 -5
  103. package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
  104. package/build/comments-pagination/edit.js +5 -5
  105. package/build/comments-pagination/edit.js.map +1 -1
  106. package/build/comments-pagination/save.js +2 -2
  107. package/build/comments-pagination/save.js.map +1 -1
  108. package/build/comments-pagination-next/edit.js +4 -4
  109. package/build/comments-pagination-next/edit.js.map +1 -1
  110. package/build/comments-pagination-numbers/edit.js +11 -11
  111. package/build/comments-pagination-numbers/edit.js.map +1 -1
  112. package/build/comments-pagination-previous/edit.js +4 -4
  113. package/build/comments-pagination-previous/edit.js.map +1 -1
  114. package/build/comments-title/edit.js +9 -8
  115. package/build/comments-title/edit.js.map +1 -1
  116. package/build/cover/controls.native.js +17 -16
  117. package/build/cover/controls.native.js.map +1 -1
  118. package/build/cover/deprecated.js +239 -62
  119. package/build/cover/deprecated.js.map +1 -1
  120. package/build/cover/edit/block-controls.js +6 -5
  121. package/build/cover/edit/block-controls.js.map +1 -1
  122. package/build/cover/edit/color-utils.js +135 -0
  123. package/build/cover/edit/color-utils.js.map +1 -0
  124. package/build/cover/edit/cover-placeholder.js +3 -3
  125. package/build/cover/edit/cover-placeholder.js.map +1 -1
  126. package/build/cover/edit/index.js +106 -52
  127. package/build/cover/edit/index.js.map +1 -1
  128. package/build/cover/edit/inspector-controls.js +20 -19
  129. package/build/cover/edit/inspector-controls.js.map +1 -1
  130. package/build/cover/edit/resizable-cover-popover.js +3 -2
  131. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  132. package/build/cover/edit.native.js +44 -37
  133. package/build/cover/edit.native.js.map +1 -1
  134. package/build/cover/focal-point-settings-button.native.js +4 -4
  135. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  136. package/build/cover/index.js +3 -0
  137. package/build/cover/index.js.map +1 -1
  138. package/build/cover/overlay-color-settings.native.js +3 -2
  139. package/build/cover/overlay-color-settings.native.js.map +1 -1
  140. package/build/cover/save.js +7 -7
  141. package/build/cover/save.js.map +1 -1
  142. package/build/cover/shared.js +33 -133
  143. package/build/cover/shared.js.map +1 -1
  144. package/build/details/edit.js +6 -6
  145. package/build/details/edit.js.map +1 -1
  146. package/build/details/save.js +4 -4
  147. package/build/details/save.js.map +1 -1
  148. package/build/embed/deprecated.js +6 -6
  149. package/build/embed/deprecated.js.map +1 -1
  150. package/build/embed/edit.js +26 -8
  151. package/build/embed/edit.js.map +1 -1
  152. package/build/embed/edit.native.js +27 -9
  153. package/build/embed/edit.native.js.map +1 -1
  154. package/build/embed/embed-controls.js +4 -4
  155. package/build/embed/embed-controls.js.map +1 -1
  156. package/build/embed/embed-controls.native.js +5 -5
  157. package/build/embed/embed-controls.native.js.map +1 -1
  158. package/build/embed/embed-link-settings.native.js +4 -3
  159. package/build/embed/embed-link-settings.native.js.map +1 -1
  160. package/build/embed/embed-loading.js +3 -3
  161. package/build/embed/embed-loading.js.map +1 -1
  162. package/build/embed/embed-loading.native.js +3 -3
  163. package/build/embed/embed-loading.native.js.map +1 -1
  164. package/build/embed/embed-no-preview.native.js +21 -20
  165. package/build/embed/embed-no-preview.native.js.map +1 -1
  166. package/build/embed/embed-placeholder.js +12 -12
  167. package/build/embed/embed-placeholder.js.map +1 -1
  168. package/build/embed/embed-placeholder.native.js +13 -12
  169. package/build/embed/embed-placeholder.native.js.map +1 -1
  170. package/build/embed/embed-preview.js +13 -12
  171. package/build/embed/embed-preview.js.map +1 -1
  172. package/build/embed/embed-preview.native.js +8 -7
  173. package/build/embed/embed-preview.native.js.map +1 -1
  174. package/build/embed/icons.js +49 -49
  175. package/build/embed/icons.js.map +1 -1
  176. package/build/embed/save.js +4 -4
  177. package/build/embed/save.js.map +1 -1
  178. package/build/embed/util.js +4 -3
  179. package/build/embed/util.js.map +1 -1
  180. package/build/embed/wp-embed-preview.js +5 -4
  181. package/build/embed/wp-embed-preview.js.map +1 -1
  182. package/build/embed/wp-embed-preview.native.js +2 -1
  183. package/build/embed/wp-embed-preview.native.js.map +1 -1
  184. package/build/file/deprecated.js +19 -19
  185. package/build/file/deprecated.js.map +1 -1
  186. package/build/file/edit.js +18 -17
  187. package/build/file/edit.js.map +1 -1
  188. package/build/file/edit.native.js +23 -22
  189. package/build/file/edit.native.js.map +1 -1
  190. package/build/file/inspector.js +8 -8
  191. package/build/file/inspector.js.map +1 -1
  192. package/build/file/save.js +7 -7
  193. package/build/file/save.js.map +1 -1
  194. package/build/footnotes/edit.js +11 -11
  195. package/build/footnotes/edit.js.map +1 -1
  196. package/build/footnotes/format.js +2 -2
  197. package/build/footnotes/format.js.map +1 -1
  198. package/build/footnotes/index.js +1 -1
  199. package/build/freeform/convert-to-blocks-button.js +2 -2
  200. package/build/freeform/convert-to-blocks-button.js.map +1 -1
  201. package/build/freeform/edit.js +8 -7
  202. package/build/freeform/edit.js.map +1 -1
  203. package/build/freeform/edit.native.js +2 -2
  204. package/build/freeform/edit.native.js.map +1 -1
  205. package/build/freeform/modal.js +11 -10
  206. package/build/freeform/modal.js.map +1 -1
  207. package/build/freeform/save.js +2 -1
  208. package/build/freeform/save.js.map +1 -1
  209. package/build/gallery/deprecated.js +38 -38
  210. package/build/gallery/deprecated.js.map +1 -1
  211. package/build/gallery/edit-wrapper.js +3 -3
  212. package/build/gallery/edit-wrapper.js.map +1 -1
  213. package/build/gallery/edit.js +18 -17
  214. package/build/gallery/edit.js.map +1 -1
  215. package/build/gallery/gallery.js +5 -4
  216. package/build/gallery/gallery.js.map +1 -1
  217. package/build/gallery/gallery.native.js +6 -5
  218. package/build/gallery/gallery.native.js.map +1 -1
  219. package/build/gallery/gap-styles.js +4 -3
  220. package/build/gallery/gap-styles.js.map +1 -1
  221. package/build/gallery/save.js +3 -3
  222. package/build/gallery/save.js.map +1 -1
  223. package/build/gallery/shared-icon.js +2 -2
  224. package/build/gallery/shared-icon.js.map +1 -1
  225. package/build/gallery/v1/edit.js +10 -9
  226. package/build/gallery/v1/edit.js.map +1 -1
  227. package/build/gallery/v1/gallery-button.native.js +3 -3
  228. package/build/gallery/v1/gallery-button.native.js.map +1 -1
  229. package/build/gallery/v1/gallery-image.js +14 -13
  230. package/build/gallery/v1/gallery-image.js.map +1 -1
  231. package/build/gallery/v1/gallery-image.native.js +15 -14
  232. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  233. package/build/gallery/v1/gallery.js +8 -8
  234. package/build/gallery/v1/gallery.js.map +1 -1
  235. package/build/gallery/v1/gallery.native.js +7 -6
  236. package/build/gallery/v1/gallery.native.js.map +1 -1
  237. package/build/gallery/v1/save.js +8 -8
  238. package/build/gallery/v1/save.js.map +1 -1
  239. package/build/gallery/v1/tiles.native.js +4 -3
  240. package/build/gallery/v1/tiles.native.js.map +1 -1
  241. package/build/group/deprecated.js +13 -13
  242. package/build/group/deprecated.js.map +1 -1
  243. package/build/group/edit.js +8 -8
  244. package/build/group/edit.js.map +1 -1
  245. package/build/group/edit.native.js +7 -6
  246. package/build/group/edit.native.js.map +1 -1
  247. package/build/group/placeholder.js +16 -15
  248. package/build/group/placeholder.js.map +1 -1
  249. package/build/group/save.js +2 -2
  250. package/build/group/save.js.map +1 -1
  251. package/build/heading/deprecated.js +8 -8
  252. package/build/heading/deprecated.js.map +1 -1
  253. package/build/heading/edit.js +6 -5
  254. package/build/heading/edit.js.map +1 -1
  255. package/build/heading/save.js +3 -3
  256. package/build/heading/save.js.map +1 -1
  257. package/build/home-link/edit.js +5 -4
  258. package/build/home-link/edit.js.map +1 -1
  259. package/build/home-link/save.js +2 -2
  260. package/build/home-link/save.js.map +1 -1
  261. package/build/html/edit.js +16 -9
  262. package/build/html/edit.js.map +1 -1
  263. package/build/html/preview.js +7 -3
  264. package/build/html/preview.js.map +1 -1
  265. package/build/html/save.js +2 -1
  266. package/build/html/save.js.map +1 -1
  267. package/build/image/deprecated.js +35 -35
  268. package/build/image/deprecated.js.map +1 -1
  269. package/build/image/edit.js +10 -9
  270. package/build/image/edit.js.map +1 -1
  271. package/build/image/edit.native.js +30 -29
  272. package/build/image/edit.native.js.map +1 -1
  273. package/build/image/image.js +31 -30
  274. package/build/image/image.js.map +1 -1
  275. package/build/image/save.js +5 -5
  276. package/build/image/save.js.map +1 -1
  277. package/build/latest-comments/edit.js +8 -8
  278. package/build/latest-comments/edit.js.map +1 -1
  279. package/build/latest-posts/edit.js +34 -33
  280. package/build/latest-posts/edit.js.map +1 -1
  281. package/build/latest-posts/edit.native.js +19 -18
  282. package/build/latest-posts/edit.native.js.map +1 -1
  283. package/build/list/deprecated.js +7 -7
  284. package/build/list/deprecated.js.map +1 -1
  285. package/build/list/edit.js +9 -8
  286. package/build/list/edit.js.map +1 -1
  287. package/build/list/ordered-list-settings.js +5 -5
  288. package/build/list/ordered-list-settings.js.map +1 -1
  289. package/build/list/save.js +3 -3
  290. package/build/list/save.js.map +1 -1
  291. package/build/list/tag-name.js +2 -1
  292. package/build/list/tag-name.js.map +1 -1
  293. package/build/list/tag-name.native.js +2 -1
  294. package/build/list/tag-name.native.js.map +1 -1
  295. package/build/list-item/edit.js +7 -7
  296. package/build/list-item/edit.js.map +1 -1
  297. package/build/list-item/edit.native.js +11 -10
  298. package/build/list-item/edit.native.js.map +1 -1
  299. package/build/list-item/icons.native.js +7 -7
  300. package/build/list-item/icons.native.js.map +1 -1
  301. package/build/list-item/list-style-type.native.js +8 -7
  302. package/build/list-item/list-style-type.native.js.map +1 -1
  303. package/build/list-item/save.js +4 -4
  304. package/build/list-item/save.js.map +1 -1
  305. package/build/loginout/edit.js +6 -6
  306. package/build/loginout/edit.js.map +1 -1
  307. package/build/loginout/index.js +8 -0
  308. package/build/loginout/index.js.map +1 -1
  309. package/build/media-text/deprecated.js +44 -44
  310. package/build/media-text/deprecated.js.map +1 -1
  311. package/build/media-text/edit.js +21 -20
  312. package/build/media-text/edit.js.map +1 -1
  313. package/build/media-text/edit.native.js +12 -11
  314. package/build/media-text/edit.native.js.map +1 -1
  315. package/build/media-text/icon-retry.native.js +4 -4
  316. package/build/media-text/icon-retry.native.js.map +1 -1
  317. package/build/media-text/media-container.js +13 -12
  318. package/build/media-text/media-container.js.map +1 -1
  319. package/build/media-text/media-container.native.js +20 -19
  320. package/build/media-text/media-container.native.js.map +1 -1
  321. package/build/media-text/save.js +10 -10
  322. package/build/media-text/save.js.map +1 -1
  323. package/build/missing/edit.js +6 -5
  324. package/build/missing/edit.js.map +1 -1
  325. package/build/missing/edit.native.js +17 -16
  326. package/build/missing/edit.native.js.map +1 -1
  327. package/build/missing/save.js +2 -1
  328. package/build/missing/save.js.map +1 -1
  329. package/build/more/edit.js +4 -4
  330. package/build/more/edit.js.map +1 -1
  331. package/build/more/edit.native.js +3 -2
  332. package/build/more/edit.native.js.map +1 -1
  333. package/build/more/save.js +2 -1
  334. package/build/more/save.js.map +1 -1
  335. package/build/navigation/deprecated.js +7 -7
  336. package/build/navigation/deprecated.js.map +1 -1
  337. package/build/navigation/edit/accessible-description.js +2 -2
  338. package/build/navigation/edit/accessible-description.js.map +1 -1
  339. package/build/navigation/edit/accessible-menu-description.js +2 -2
  340. package/build/navigation/edit/accessible-menu-description.js.map +1 -1
  341. package/build/navigation/edit/deleted-navigation-warning.js +8 -5
  342. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  343. package/build/navigation/edit/index.js +47 -45
  344. package/build/navigation/edit/index.js.map +1 -1
  345. package/build/navigation/edit/inner-blocks.js +6 -4
  346. package/build/navigation/edit/inner-blocks.js.map +1 -1
  347. package/build/navigation/edit/leaf-more-menu.js +7 -7
  348. package/build/navigation/edit/leaf-more-menu.js.map +1 -1
  349. package/build/navigation/edit/manage-menus-button.js +2 -2
  350. package/build/navigation/edit/manage-menus-button.js.map +1 -1
  351. package/build/navigation/edit/menu-inspector-controls.js +13 -13
  352. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  353. package/build/navigation/edit/navigation-menu-delete-control.js +7 -6
  354. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  355. package/build/navigation/edit/navigation-menu-name-control.js +2 -2
  356. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
  357. package/build/navigation/edit/navigation-menu-selector.js +9 -8
  358. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  359. package/build/navigation/edit/overlay-menu-icon.js +5 -5
  360. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  361. package/build/navigation/edit/overlay-menu-preview.js +7 -7
  362. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  363. package/build/navigation/edit/placeholder/index.js +10 -9
  364. package/build/navigation/edit/placeholder/index.js.map +1 -1
  365. package/build/navigation/edit/placeholder/placeholder-preview.js +4 -4
  366. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  367. package/build/navigation/edit/responsive-wrapper.js +9 -9
  368. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  369. package/build/navigation/edit/unsaved-inner-blocks.js +3 -2
  370. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  371. package/build/navigation/save.js +2 -2
  372. package/build/navigation/save.js.map +1 -1
  373. package/build/navigation-link/edit.js +21 -20
  374. package/build/navigation-link/edit.js.map +1 -1
  375. package/build/navigation-link/icons.js +3 -3
  376. package/build/navigation-link/icons.js.map +1 -1
  377. package/build/navigation-link/index.js +2 -2
  378. package/build/navigation-link/index.js.map +1 -1
  379. package/build/navigation-link/link-ui.js +20 -11
  380. package/build/navigation-link/link-ui.js.map +1 -1
  381. package/build/navigation-link/save.js +2 -2
  382. package/build/navigation-link/save.js.map +1 -1
  383. package/build/navigation-submenu/edit.js +16 -15
  384. package/build/navigation-submenu/edit.js.map +1 -1
  385. package/build/navigation-submenu/icons.js +3 -3
  386. package/build/navigation-submenu/icons.js.map +1 -1
  387. package/build/navigation-submenu/save.js +2 -2
  388. package/build/navigation-submenu/save.js.map +1 -1
  389. package/build/nextpage/edit.js +3 -3
  390. package/build/nextpage/edit.js.map +1 -1
  391. package/build/nextpage/edit.native.js +3 -3
  392. package/build/nextpage/edit.native.js.map +1 -1
  393. package/build/nextpage/save.js +2 -1
  394. package/build/nextpage/save.js.map +1 -1
  395. package/build/page-list/convert-to-links-modal.js +6 -6
  396. package/build/page-list/convert-to-links-modal.js.map +1 -1
  397. package/build/page-list/edit.js +21 -20
  398. package/build/page-list/edit.js.map +1 -1
  399. package/build/page-list-item/edit.js +7 -7
  400. package/build/page-list-item/edit.js.map +1 -1
  401. package/build/paragraph/deprecated.js +9 -8
  402. package/build/paragraph/deprecated.js.map +1 -1
  403. package/build/paragraph/edit.js +9 -9
  404. package/build/paragraph/edit.js.map +1 -1
  405. package/build/paragraph/edit.native.js +5 -4
  406. package/build/paragraph/edit.native.js.map +1 -1
  407. package/build/paragraph/save.js +3 -3
  408. package/build/paragraph/save.js.map +1 -1
  409. package/build/pattern/edit.js +3 -2
  410. package/build/pattern/edit.js.map +1 -1
  411. package/build/post-author/edit.js +19 -19
  412. package/build/post-author/edit.js.map +1 -1
  413. package/build/post-author-biography/edit.js +4 -4
  414. package/build/post-author-biography/edit.js.map +1 -1
  415. package/build/post-author-name/edit.js +8 -8
  416. package/build/post-author-name/edit.js.map +1 -1
  417. package/build/post-comment/edit.js +7 -6
  418. package/build/post-comment/edit.js.map +1 -1
  419. package/build/post-comment/save.js +2 -2
  420. package/build/post-comment/save.js.map +1 -1
  421. package/build/post-comments-count/edit.js +6 -5
  422. package/build/post-comments-count/edit.js.map +1 -1
  423. package/build/post-comments-form/edit.js +6 -6
  424. package/build/post-comments-form/edit.js.map +1 -1
  425. package/build/post-comments-form/form.js +13 -13
  426. package/build/post-comments-form/form.js.map +1 -1
  427. package/build/post-comments-link/edit.js +7 -6
  428. package/build/post-comments-link/edit.js.map +1 -1
  429. package/build/post-content/edit.js +14 -14
  430. package/build/post-content/edit.js.map +1 -1
  431. package/build/post-date/edit.js +14 -13
  432. package/build/post-date/edit.js.map +1 -1
  433. package/build/post-excerpt/edit.js +16 -15
  434. package/build/post-excerpt/edit.js.map +1 -1
  435. package/build/post-featured-image/dimension-controls.js +15 -15
  436. package/build/post-featured-image/dimension-controls.js.map +1 -1
  437. package/build/post-featured-image/edit.js +17 -17
  438. package/build/post-featured-image/edit.js.map +1 -1
  439. package/build/post-featured-image/overlay.js +6 -6
  440. package/build/post-featured-image/overlay.js.map +1 -1
  441. package/build/post-navigation-link/edit.js +13 -13
  442. package/build/post-navigation-link/edit.js.map +1 -1
  443. package/build/post-template/edit.js +11 -10
  444. package/build/post-template/edit.js.map +1 -1
  445. package/build/post-template/save.js +2 -2
  446. package/build/post-template/save.js.map +1 -1
  447. package/build/post-terms/edit.js +9 -9
  448. package/build/post-terms/edit.js.map +1 -1
  449. package/build/post-time-to-read/edit.js +5 -4
  450. package/build/post-time-to-read/edit.js.map +1 -1
  451. package/build/post-time-to-read/icon.js +3 -3
  452. package/build/post-time-to-read/icon.js.map +1 -1
  453. package/build/post-title/edit.js +15 -15
  454. package/build/post-title/edit.js.map +1 -1
  455. package/build/preformatted/edit.js +2 -2
  456. package/build/preformatted/edit.js.map +1 -1
  457. package/build/preformatted/edit.native.js +3 -3
  458. package/build/preformatted/edit.native.js.map +1 -1
  459. package/build/preformatted/save.js +3 -3
  460. package/build/preformatted/save.js.map +1 -1
  461. package/build/pullquote/blockquote.native.js +3 -2
  462. package/build/pullquote/blockquote.native.js.map +1 -1
  463. package/build/pullquote/deprecated.js +21 -21
  464. package/build/pullquote/deprecated.js.map +1 -1
  465. package/build/pullquote/edit.js +7 -6
  466. package/build/pullquote/edit.js.map +1 -1
  467. package/build/pullquote/edit.native.js +7 -7
  468. package/build/pullquote/edit.native.js.map +1 -1
  469. package/build/pullquote/figure.native.js +2 -2
  470. package/build/pullquote/figure.native.js.map +1 -1
  471. package/build/pullquote/save.js +4 -4
  472. package/build/pullquote/save.js.map +1 -1
  473. package/build/query/deprecated.js +6 -6
  474. package/build/query/deprecated.js.map +1 -1
  475. package/build/query/edit/enhanced-pagination-modal.js +6 -5
  476. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  477. package/build/query/edit/index.js +4 -3
  478. package/build/query/edit/index.js.map +1 -1
  479. package/build/query/edit/inspector-controls/author-control.js +2 -2
  480. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  481. package/build/query/edit/inspector-controls/create-new-post-link.js +4 -3
  482. package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
  483. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -3
  484. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  485. package/build/query/edit/inspector-controls/index.js +20 -19
  486. package/build/query/edit/inspector-controls/index.js.map +1 -1
  487. package/build/query/edit/inspector-controls/order-control.js +2 -2
  488. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  489. package/build/query/edit/inspector-controls/parent-control.js +3 -2
  490. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  491. package/build/query/edit/inspector-controls/sticky-control.js +2 -2
  492. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  493. package/build/query/edit/inspector-controls/taxonomy-controls.js +6 -5
  494. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  495. package/build/query/edit/pattern-selection-modal.js +7 -6
  496. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  497. package/build/query/edit/query-content.js +8 -7
  498. package/build/query/edit/query-content.js.map +1 -1
  499. package/build/query/edit/query-placeholder.js +9 -8
  500. package/build/query/edit/query-placeholder.js.map +1 -1
  501. package/build/query/edit/query-toolbar.js +9 -9
  502. package/build/query/edit/query-toolbar.js.map +1 -1
  503. package/build/query/icons.js +9 -9
  504. package/build/query/icons.js.map +1 -1
  505. package/build/query/save.js +2 -2
  506. package/build/query/save.js.map +1 -1
  507. package/build/query/view.js +5 -5
  508. package/build/query/view.js.map +1 -1
  509. package/build/query-no-results/edit.js +2 -2
  510. package/build/query-no-results/edit.js.map +1 -1
  511. package/build/query-no-results/save.js +2 -2
  512. package/build/query-no-results/save.js.map +1 -1
  513. package/build/query-pagination/deprecated.js +3 -3
  514. package/build/query-pagination/deprecated.js.map +1 -1
  515. package/build/query-pagination/edit.js +6 -5
  516. package/build/query-pagination/edit.js.map +1 -1
  517. package/build/query-pagination/query-pagination-arrow-controls.js +5 -5
  518. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
  519. package/build/query-pagination/query-pagination-label-control.js +2 -2
  520. package/build/query-pagination/query-pagination-label-control.js.map +1 -1
  521. package/build/query-pagination/save.js +2 -2
  522. package/build/query-pagination/save.js.map +1 -1
  523. package/build/query-pagination-next/edit.js +4 -4
  524. package/build/query-pagination-next/edit.js.map +1 -1
  525. package/build/query-pagination-numbers/edit.js +6 -6
  526. package/build/query-pagination-numbers/edit.js.map +1 -1
  527. package/build/query-pagination-previous/edit.js +4 -4
  528. package/build/query-pagination-previous/edit.js.map +1 -1
  529. package/build/query-title/edit.js +12 -12
  530. package/build/query-title/edit.js.map +1 -1
  531. package/build/quote/deprecated.js +13 -13
  532. package/build/quote/deprecated.js.map +1 -1
  533. package/build/quote/edit.js +6 -5
  534. package/build/quote/edit.js.map +1 -1
  535. package/build/quote/save.js +3 -3
  536. package/build/quote/save.js.map +1 -1
  537. package/build/read-more/edit.js +4 -4
  538. package/build/read-more/edit.js.map +1 -1
  539. package/build/rss/edit.js +20 -18
  540. package/build/rss/edit.js.map +1 -1
  541. package/build/search/edit.js +18 -17
  542. package/build/search/edit.js.map +1 -1
  543. package/build/search/edit.native.js +16 -15
  544. package/build/search/edit.native.js.map +1 -1
  545. package/build/search/icons.js +17 -17
  546. package/build/search/icons.js.map +1 -1
  547. package/build/separator/deprecated.js +2 -2
  548. package/build/separator/deprecated.js.map +1 -1
  549. package/build/separator/edit.js +2 -2
  550. package/build/separator/edit.js.map +1 -1
  551. package/build/separator/save.js +2 -2
  552. package/build/separator/save.js.map +1 -1
  553. package/build/shortcode/edit.js +5 -5
  554. package/build/shortcode/edit.js.map +1 -1
  555. package/build/shortcode/edit.native.js +5 -4
  556. package/build/shortcode/edit.native.js.map +1 -1
  557. package/build/shortcode/save.js +2 -1
  558. package/build/shortcode/save.js.map +1 -1
  559. package/build/site-logo/edit.js +41 -40
  560. package/build/site-logo/edit.js.map +1 -1
  561. package/build/site-tagline/edit.js +5 -5
  562. package/build/site-tagline/edit.js.map +1 -1
  563. package/build/site-tagline/icon.js +3 -3
  564. package/build/site-tagline/icon.js.map +1 -1
  565. package/build/site-title/edit/index.js +12 -12
  566. package/build/site-title/edit/index.js.map +1 -1
  567. package/build/social-link/edit.js +15 -14
  568. package/build/social-link/edit.js.map +1 -1
  569. package/build/social-link/edit.native.js +8 -7
  570. package/build/social-link/edit.native.js.map +1 -1
  571. package/build/social-link/icons/amazon.js +3 -3
  572. package/build/social-link/icons/amazon.js.map +1 -1
  573. package/build/social-link/icons/bandcamp.js +3 -3
  574. package/build/social-link/icons/bandcamp.js.map +1 -1
  575. package/build/social-link/icons/behance.js +3 -3
  576. package/build/social-link/icons/behance.js.map +1 -1
  577. package/build/social-link/icons/chain.js +3 -3
  578. package/build/social-link/icons/chain.js.map +1 -1
  579. package/build/social-link/icons/codepen.js +3 -3
  580. package/build/social-link/icons/codepen.js.map +1 -1
  581. package/build/social-link/icons/deviantart.js +3 -3
  582. package/build/social-link/icons/deviantart.js.map +1 -1
  583. package/build/social-link/icons/dribbble.js +3 -3
  584. package/build/social-link/icons/dribbble.js.map +1 -1
  585. package/build/social-link/icons/dropbox.js +3 -3
  586. package/build/social-link/icons/dropbox.js.map +1 -1
  587. package/build/social-link/icons/etsy.js +3 -3
  588. package/build/social-link/icons/etsy.js.map +1 -1
  589. package/build/social-link/icons/facebook.js +3 -3
  590. package/build/social-link/icons/facebook.js.map +1 -1
  591. package/build/social-link/icons/feed.js +3 -3
  592. package/build/social-link/icons/feed.js.map +1 -1
  593. package/build/social-link/icons/fivehundredpx.js +3 -3
  594. package/build/social-link/icons/fivehundredpx.js.map +1 -1
  595. package/build/social-link/icons/flickr.js +3 -3
  596. package/build/social-link/icons/flickr.js.map +1 -1
  597. package/build/social-link/icons/foursquare.js +3 -3
  598. package/build/social-link/icons/foursquare.js.map +1 -1
  599. package/build/social-link/icons/github.js +3 -3
  600. package/build/social-link/icons/github.js.map +1 -1
  601. package/build/social-link/icons/goodreads.js +3 -3
  602. package/build/social-link/icons/goodreads.js.map +1 -1
  603. package/build/social-link/icons/google.js +3 -3
  604. package/build/social-link/icons/google.js.map +1 -1
  605. package/build/social-link/icons/instagram.js +3 -3
  606. package/build/social-link/icons/instagram.js.map +1 -1
  607. package/build/social-link/icons/lastfm.js +3 -3
  608. package/build/social-link/icons/lastfm.js.map +1 -1
  609. package/build/social-link/icons/linkedin.js +3 -3
  610. package/build/social-link/icons/linkedin.js.map +1 -1
  611. package/build/social-link/icons/mail.js +3 -3
  612. package/build/social-link/icons/mail.js.map +1 -1
  613. package/build/social-link/icons/mastodon.js +3 -3
  614. package/build/social-link/icons/mastodon.js.map +1 -1
  615. package/build/social-link/icons/medium.js +3 -3
  616. package/build/social-link/icons/medium.js.map +1 -1
  617. package/build/social-link/icons/meetup.js +3 -3
  618. package/build/social-link/icons/meetup.js.map +1 -1
  619. package/build/social-link/icons/patreon.js +4 -4
  620. package/build/social-link/icons/patreon.js.map +1 -1
  621. package/build/social-link/icons/pinterest.js +3 -3
  622. package/build/social-link/icons/pinterest.js.map +1 -1
  623. package/build/social-link/icons/pocket.js +3 -3
  624. package/build/social-link/icons/pocket.js.map +1 -1
  625. package/build/social-link/icons/reddit.js +3 -3
  626. package/build/social-link/icons/reddit.js.map +1 -1
  627. package/build/social-link/icons/skype.js +3 -3
  628. package/build/social-link/icons/skype.js.map +1 -1
  629. package/build/social-link/icons/snapchat.js +3 -3
  630. package/build/social-link/icons/snapchat.js.map +1 -1
  631. package/build/social-link/icons/soundcloud.js +3 -3
  632. package/build/social-link/icons/soundcloud.js.map +1 -1
  633. package/build/social-link/icons/spotify.js +3 -3
  634. package/build/social-link/icons/spotify.js.map +1 -1
  635. package/build/social-link/icons/telegram.js +3 -3
  636. package/build/social-link/icons/telegram.js.map +1 -1
  637. package/build/social-link/icons/threads.js +3 -3
  638. package/build/social-link/icons/threads.js.map +1 -1
  639. package/build/social-link/icons/tiktok.js +3 -3
  640. package/build/social-link/icons/tiktok.js.map +1 -1
  641. package/build/social-link/icons/tumblr.js +3 -3
  642. package/build/social-link/icons/tumblr.js.map +1 -1
  643. package/build/social-link/icons/twitch.js +3 -3
  644. package/build/social-link/icons/twitch.js.map +1 -1
  645. package/build/social-link/icons/twitter.js +3 -3
  646. package/build/social-link/icons/twitter.js.map +1 -1
  647. package/build/social-link/icons/vimeo.js +3 -3
  648. package/build/social-link/icons/vimeo.js.map +1 -1
  649. package/build/social-link/icons/vk.js +3 -3
  650. package/build/social-link/icons/vk.js.map +1 -1
  651. package/build/social-link/icons/whatsapp.js +3 -3
  652. package/build/social-link/icons/whatsapp.js.map +1 -1
  653. package/build/social-link/icons/wordpress.js +3 -3
  654. package/build/social-link/icons/wordpress.js.map +1 -1
  655. package/build/social-link/icons/x.js +3 -3
  656. package/build/social-link/icons/x.js.map +1 -1
  657. package/build/social-link/icons/yelp.js +3 -3
  658. package/build/social-link/icons/yelp.js.map +1 -1
  659. package/build/social-link/icons/youtube.js +3 -3
  660. package/build/social-link/icons/youtube.js.map +1 -1
  661. package/build/social-link/social-list.js +1 -1
  662. package/build/social-link/social-list.js.map +1 -1
  663. package/build/social-links/deprecated.js +3 -3
  664. package/build/social-links/deprecated.js.map +1 -1
  665. package/build/social-links/edit.js +19 -18
  666. package/build/social-links/edit.js.map +1 -1
  667. package/build/social-links/edit.native.js +7 -6
  668. package/build/social-links/edit.native.js.map +1 -1
  669. package/build/social-links/save.js +2 -2
  670. package/build/social-links/save.js.map +1 -1
  671. package/build/spacer/controls.js +8 -8
  672. package/build/spacer/controls.js.map +1 -1
  673. package/build/spacer/controls.native.js +4 -3
  674. package/build/spacer/controls.native.js.map +1 -1
  675. package/build/spacer/deprecated.js +2 -2
  676. package/build/spacer/deprecated.js.map +1 -1
  677. package/build/spacer/edit.js +7 -6
  678. package/build/spacer/edit.js.map +1 -1
  679. package/build/spacer/edit.native.js +4 -3
  680. package/build/spacer/edit.native.js.map +1 -1
  681. package/build/spacer/save.js +2 -2
  682. package/build/spacer/save.js.map +1 -1
  683. package/build/spacer/save.native.js +2 -2
  684. package/build/spacer/save.native.js.map +1 -1
  685. package/build/table/deprecated.js +26 -26
  686. package/build/table/deprecated.js.map +1 -1
  687. package/build/table/edit.js +24 -23
  688. package/build/table/edit.js.map +1 -1
  689. package/build/table/save.js +10 -10
  690. package/build/table/save.js.map +1 -1
  691. package/build/table-of-contents/edit.js +35 -14
  692. package/build/table-of-contents/edit.js.map +1 -1
  693. package/build/table-of-contents/icon.js +3 -3
  694. package/build/table-of-contents/icon.js.map +1 -1
  695. package/build/table-of-contents/list.js +16 -10
  696. package/build/table-of-contents/list.js.map +1 -1
  697. package/build/table-of-contents/save.js +3 -3
  698. package/build/table-of-contents/save.js.map +1 -1
  699. package/build/tag-cloud/edit.js +11 -11
  700. package/build/tag-cloud/edit.js.map +1 -1
  701. package/build/template-part/edit/advanced-controls.js +6 -6
  702. package/build/template-part/edit/advanced-controls.js.map +1 -1
  703. package/build/template-part/edit/import-controls.js +10 -8
  704. package/build/template-part/edit/import-controls.js.map +1 -1
  705. package/build/template-part/edit/index.js +17 -16
  706. package/build/template-part/edit/index.js.map +1 -1
  707. package/build/template-part/edit/inner-blocks.js +2 -2
  708. package/build/template-part/edit/inner-blocks.js.map +1 -1
  709. package/build/template-part/edit/placeholder.js +6 -5
  710. package/build/template-part/edit/placeholder.js.map +1 -1
  711. package/build/template-part/edit/selection-modal.js +8 -7
  712. package/build/template-part/edit/selection-modal.js.map +1 -1
  713. package/build/template-part/edit/title-modal.js +7 -6
  714. package/build/template-part/edit/title-modal.js.map +1 -1
  715. package/build/term-description/edit.js +6 -6
  716. package/build/term-description/edit.js.map +1 -1
  717. package/build/text-columns/edit.js +6 -6
  718. package/build/text-columns/edit.js.map +1 -1
  719. package/build/text-columns/save.js +4 -4
  720. package/build/text-columns/save.js.map +1 -1
  721. package/build/verse/deprecated.js +4 -4
  722. package/build/verse/deprecated.js.map +1 -1
  723. package/build/verse/edit.js +3 -3
  724. package/build/verse/edit.js.map +1 -1
  725. package/build/verse/save.js +3 -3
  726. package/build/verse/save.js.map +1 -1
  727. package/build/video/deprecated.js +5 -5
  728. package/build/video/deprecated.js.map +1 -1
  729. package/build/video/edit-common-settings.js +8 -7
  730. package/build/video/edit-common-settings.js.map +1 -1
  731. package/build/video/edit.js +23 -22
  732. package/build/video/edit.js.map +1 -1
  733. package/build/video/edit.native.js +21 -20
  734. package/build/video/edit.native.js.map +1 -1
  735. package/build/video/icon-retry.native.js +4 -4
  736. package/build/video/icon-retry.native.js.map +1 -1
  737. package/build/video/save.js +5 -5
  738. package/build/video/save.js.map +1 -1
  739. package/build/video/tracks-editor.js +25 -24
  740. package/build/video/tracks-editor.js.map +1 -1
  741. package/build/video/tracks.js +2 -2
  742. package/build/video/tracks.js.map +1 -1
  743. package/build-module/archives/edit.js +1 -1
  744. package/build-module/audio/deprecated.js +1 -1
  745. package/build-module/audio/edit.js +1 -1
  746. package/build-module/audio/edit.native.js +3 -3
  747. package/build-module/audio/edit.native.js.map +1 -1
  748. package/build-module/audio/save.js +1 -1
  749. package/build-module/avatar/edit.js +1 -1
  750. package/build-module/avatar/user-control.js +1 -1
  751. package/build-module/block/edit-title.native.js +1 -1
  752. package/build-module/block/edit.js +1 -1
  753. package/build-module/block/edit.native.js +1 -1
  754. package/build-module/button/color-background.native.js +1 -1
  755. package/build-module/button/constants.js +4 -0
  756. package/build-module/button/constants.js.map +1 -0
  757. package/build-module/button/deprecated.js +1 -1
  758. package/build-module/button/edit.js +27 -30
  759. package/build-module/button/edit.js.map +1 -1
  760. package/build-module/button/edit.native.js +1 -1
  761. package/build-module/button/get-updated-link-attributes.js +48 -0
  762. package/build-module/button/get-updated-link-attributes.js.map +1 -0
  763. package/build-module/button/save.js +1 -1
  764. package/build-module/buttons/deprecated.js +1 -1
  765. package/build-module/buttons/edit.js +1 -1
  766. package/build-module/buttons/edit.native.js +1 -1
  767. package/build-module/buttons/save.js +1 -1
  768. package/build-module/calendar/edit.js +1 -1
  769. package/build-module/categories/edit.js +1 -1
  770. package/build-module/code/edit.js +1 -1
  771. package/build-module/code/edit.native.js +1 -1
  772. package/build-module/code/save.js +1 -1
  773. package/build-module/column/column-preview.native.js +1 -1
  774. package/build-module/column/deprecated.js +1 -1
  775. package/build-module/column/edit.js +1 -1
  776. package/build-module/column/edit.native.js +1 -1
  777. package/build-module/column/save.js +1 -1
  778. package/build-module/columns/deprecated.js +1 -1
  779. package/build-module/columns/edit.js +1 -1
  780. package/build-module/columns/edit.native.js +1 -1
  781. package/build-module/columns/save.js +1 -1
  782. package/build-module/columns/variations.js +1 -1
  783. package/build-module/comment-author-avatar/edit.js +1 -1
  784. package/build-module/comment-author-name/edit.js +1 -1
  785. package/build-module/comment-content/edit.js +1 -1
  786. package/build-module/comment-date/edit.js +1 -1
  787. package/build-module/comment-edit-link/edit.js +1 -1
  788. package/build-module/comment-reply-link/edit.js +1 -1
  789. package/build-module/comment-template/edit.js +3 -3
  790. package/build-module/comment-template/edit.js.map +1 -1
  791. package/build-module/comment-template/save.js +1 -1
  792. package/build-module/comments/deprecated.js +1 -1
  793. package/build-module/comments/edit/comments-inspector-controls.js +1 -1
  794. package/build-module/comments/edit/comments-legacy.js +1 -1
  795. package/build-module/comments/edit/index.js +1 -1
  796. package/build-module/comments/edit/placeholder.js +1 -1
  797. package/build-module/comments/save.js +1 -1
  798. package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -1
  799. package/build-module/comments-pagination/edit.js +1 -1
  800. package/build-module/comments-pagination/save.js +1 -1
  801. package/build-module/comments-pagination-next/edit.js +1 -1
  802. package/build-module/comments-pagination-numbers/edit.js +1 -1
  803. package/build-module/comments-pagination-previous/edit.js +1 -1
  804. package/build-module/comments-title/edit.js +1 -1
  805. package/build-module/cover/controls.native.js +1 -1
  806. package/build-module/cover/deprecated.js +190 -13
  807. package/build-module/cover/deprecated.js.map +1 -1
  808. package/build-module/cover/edit/block-controls.js +1 -1
  809. package/build-module/cover/edit/color-utils.js +121 -0
  810. package/build-module/cover/edit/color-utils.js.map +1 -0
  811. package/build-module/cover/edit/cover-placeholder.js +1 -1
  812. package/build-module/cover/edit/index.js +90 -37
  813. package/build-module/cover/edit/index.js.map +1 -1
  814. package/build-module/cover/edit/inspector-controls.js +2 -2
  815. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  816. package/build-module/cover/edit/resizable-cover-popover.js +1 -1
  817. package/build-module/cover/edit.native.js +9 -3
  818. package/build-module/cover/edit.native.js.map +1 -1
  819. package/build-module/cover/focal-point-settings-button.native.js +1 -1
  820. package/build-module/cover/index.js +3 -0
  821. package/build-module/cover/index.js.map +1 -1
  822. package/build-module/cover/overlay-color-settings.native.js +1 -1
  823. package/build-module/cover/save.js +1 -1
  824. package/build-module/cover/shared.js +33 -132
  825. package/build-module/cover/shared.js.map +1 -1
  826. package/build-module/details/edit.js +1 -1
  827. package/build-module/details/save.js +1 -1
  828. package/build-module/embed/deprecated.js +1 -1
  829. package/build-module/embed/edit.js +18 -1
  830. package/build-module/embed/edit.js.map +1 -1
  831. package/build-module/embed/edit.native.js +18 -1
  832. package/build-module/embed/edit.native.js.map +1 -1
  833. package/build-module/embed/embed-controls.js +1 -1
  834. package/build-module/embed/embed-controls.native.js +1 -1
  835. package/build-module/embed/embed-link-settings.native.js +1 -1
  836. package/build-module/embed/embed-loading.js +1 -1
  837. package/build-module/embed/embed-loading.native.js +1 -1
  838. package/build-module/embed/embed-no-preview.native.js +1 -1
  839. package/build-module/embed/embed-placeholder.js +1 -1
  840. package/build-module/embed/embed-placeholder.native.js +1 -1
  841. package/build-module/embed/embed-preview.js +1 -1
  842. package/build-module/embed/embed-preview.native.js +1 -1
  843. package/build-module/embed/icons.js +1 -1
  844. package/build-module/embed/save.js +1 -1
  845. package/build-module/embed/util.js +1 -1
  846. package/build-module/embed/wp-embed-preview.js +2 -2
  847. package/build-module/embed/wp-embed-preview.js.map +1 -1
  848. package/build-module/embed/wp-embed-preview.native.js +1 -1
  849. package/build-module/file/deprecated.js +1 -1
  850. package/build-module/file/edit.js +1 -1
  851. package/build-module/file/edit.native.js +1 -1
  852. package/build-module/file/inspector.js +1 -1
  853. package/build-module/file/save.js +1 -1
  854. package/build-module/footnotes/edit.js +1 -1
  855. package/build-module/footnotes/format.js +1 -1
  856. package/build-module/footnotes/index.js +1 -1
  857. package/build-module/freeform/convert-to-blocks-button.js +1 -1
  858. package/build-module/freeform/edit.js +1 -1
  859. package/build-module/freeform/edit.native.js +1 -1
  860. package/build-module/freeform/modal.js +1 -1
  861. package/build-module/freeform/save.js +1 -1
  862. package/build-module/gallery/deprecated.js +1 -1
  863. package/build-module/gallery/edit-wrapper.js +1 -1
  864. package/build-module/gallery/edit.js +1 -1
  865. package/build-module/gallery/gallery.js +1 -1
  866. package/build-module/gallery/gallery.native.js +1 -1
  867. package/build-module/gallery/gap-styles.js +1 -1
  868. package/build-module/gallery/save.js +1 -1
  869. package/build-module/gallery/shared-icon.js +1 -1
  870. package/build-module/gallery/v1/edit.js +1 -1
  871. package/build-module/gallery/v1/gallery-button.native.js +1 -1
  872. package/build-module/gallery/v1/gallery-image.js +1 -1
  873. package/build-module/gallery/v1/gallery-image.native.js +1 -1
  874. package/build-module/gallery/v1/gallery.js +1 -1
  875. package/build-module/gallery/v1/gallery.native.js +1 -1
  876. package/build-module/gallery/v1/save.js +1 -1
  877. package/build-module/gallery/v1/tiles.native.js +1 -1
  878. package/build-module/group/deprecated.js +1 -1
  879. package/build-module/group/edit.js +1 -1
  880. package/build-module/group/edit.native.js +1 -1
  881. package/build-module/group/placeholder.js +1 -1
  882. package/build-module/group/save.js +1 -1
  883. package/build-module/heading/deprecated.js +1 -1
  884. package/build-module/heading/edit.js +1 -1
  885. package/build-module/heading/save.js +1 -1
  886. package/build-module/home-link/edit.js +1 -1
  887. package/build-module/home-link/save.js +1 -1
  888. package/build-module/html/edit.js +13 -7
  889. package/build-module/html/edit.js.map +1 -1
  890. package/build-module/html/preview.js +5 -2
  891. package/build-module/html/preview.js.map +1 -1
  892. package/build-module/html/save.js +1 -1
  893. package/build-module/image/deprecated.js +1 -1
  894. package/build-module/image/edit.js +1 -1
  895. package/build-module/image/edit.native.js +1 -1
  896. package/build-module/image/image.js +2 -2
  897. package/build-module/image/image.js.map +1 -1
  898. package/build-module/image/save.js +1 -1
  899. package/build-module/latest-comments/edit.js +1 -1
  900. package/build-module/latest-posts/edit.js +1 -1
  901. package/build-module/latest-posts/edit.native.js +1 -1
  902. package/build-module/list/deprecated.js +1 -1
  903. package/build-module/list/edit.js +1 -1
  904. package/build-module/list/ordered-list-settings.js +1 -1
  905. package/build-module/list/save.js +1 -1
  906. package/build-module/list/tag-name.js +1 -1
  907. package/build-module/list/tag-name.native.js +1 -1
  908. package/build-module/list-item/edit.js +1 -1
  909. package/build-module/list-item/edit.native.js +1 -1
  910. package/build-module/list-item/icons.native.js +1 -1
  911. package/build-module/list-item/list-style-type.native.js +1 -1
  912. package/build-module/list-item/save.js +1 -1
  913. package/build-module/loginout/edit.js +1 -1
  914. package/build-module/loginout/index.js +8 -0
  915. package/build-module/loginout/index.js.map +1 -1
  916. package/build-module/media-text/deprecated.js +1 -1
  917. package/build-module/media-text/edit.js +2 -2
  918. package/build-module/media-text/edit.js.map +1 -1
  919. package/build-module/media-text/edit.native.js +1 -1
  920. package/build-module/media-text/icon-retry.native.js +1 -1
  921. package/build-module/media-text/media-container.js +1 -1
  922. package/build-module/media-text/media-container.native.js +1 -1
  923. package/build-module/media-text/save.js +1 -1
  924. package/build-module/missing/edit.js +1 -1
  925. package/build-module/missing/edit.native.js +1 -1
  926. package/build-module/missing/save.js +1 -1
  927. package/build-module/more/edit.js +1 -1
  928. package/build-module/more/edit.native.js +1 -1
  929. package/build-module/more/save.js +1 -1
  930. package/build-module/navigation/deprecated.js +1 -1
  931. package/build-module/navigation/edit/accessible-description.js +1 -1
  932. package/build-module/navigation/edit/accessible-menu-description.js +1 -1
  933. package/build-module/navigation/edit/deleted-navigation-warning.js +8 -5
  934. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  935. package/build-module/navigation/edit/index.js +4 -3
  936. package/build-module/navigation/edit/index.js.map +1 -1
  937. package/build-module/navigation/edit/inner-blocks.js +3 -2
  938. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  939. package/build-module/navigation/edit/leaf-more-menu.js +1 -1
  940. package/build-module/navigation/edit/manage-menus-button.js +1 -1
  941. package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
  942. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
  943. package/build-module/navigation/edit/navigation-menu-name-control.js +1 -1
  944. package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
  945. package/build-module/navigation/edit/overlay-menu-icon.js +1 -1
  946. package/build-module/navigation/edit/overlay-menu-preview.js +1 -1
  947. package/build-module/navigation/edit/placeholder/index.js +1 -1
  948. package/build-module/navigation/edit/placeholder/placeholder-preview.js +1 -1
  949. package/build-module/navigation/edit/responsive-wrapper.js +1 -1
  950. package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
  951. package/build-module/navigation/save.js +1 -1
  952. package/build-module/navigation-link/edit.js +1 -1
  953. package/build-module/navigation-link/icons.js +1 -1
  954. package/build-module/navigation-link/index.js +1 -1
  955. package/build-module/navigation-link/link-ui.js +10 -2
  956. package/build-module/navigation-link/link-ui.js.map +1 -1
  957. package/build-module/navigation-link/save.js +1 -1
  958. package/build-module/navigation-submenu/edit.js +1 -1
  959. package/build-module/navigation-submenu/icons.js +1 -1
  960. package/build-module/navigation-submenu/save.js +1 -1
  961. package/build-module/nextpage/edit.js +1 -1
  962. package/build-module/nextpage/edit.native.js +1 -1
  963. package/build-module/nextpage/save.js +1 -1
  964. package/build-module/page-list/convert-to-links-modal.js +1 -1
  965. package/build-module/page-list/edit.js +1 -1
  966. package/build-module/page-list-item/edit.js +1 -1
  967. package/build-module/paragraph/deprecated.js +1 -1
  968. package/build-module/paragraph/edit.js +1 -1
  969. package/build-module/paragraph/edit.native.js +1 -1
  970. package/build-module/paragraph/save.js +1 -1
  971. package/build-module/pattern/edit.js +1 -1
  972. package/build-module/post-author/edit.js +1 -1
  973. package/build-module/post-author-biography/edit.js +1 -1
  974. package/build-module/post-author-name/edit.js +1 -1
  975. package/build-module/post-comment/edit.js +1 -1
  976. package/build-module/post-comment/save.js +1 -1
  977. package/build-module/post-comments-count/edit.js +1 -1
  978. package/build-module/post-comments-form/edit.js +1 -1
  979. package/build-module/post-comments-form/form.js +1 -1
  980. package/build-module/post-comments-link/edit.js +1 -1
  981. package/build-module/post-content/edit.js +1 -1
  982. package/build-module/post-date/edit.js +1 -1
  983. package/build-module/post-excerpt/edit.js +1 -1
  984. package/build-module/post-featured-image/dimension-controls.js +1 -1
  985. package/build-module/post-featured-image/edit.js +1 -1
  986. package/build-module/post-featured-image/overlay.js +1 -1
  987. package/build-module/post-navigation-link/edit.js +1 -1
  988. package/build-module/post-template/edit.js +1 -1
  989. package/build-module/post-template/save.js +1 -1
  990. package/build-module/post-terms/edit.js +1 -1
  991. package/build-module/post-time-to-read/edit.js +1 -1
  992. package/build-module/post-time-to-read/icon.js +1 -1
  993. package/build-module/post-title/edit.js +1 -1
  994. package/build-module/preformatted/edit.js +1 -1
  995. package/build-module/preformatted/edit.native.js +1 -1
  996. package/build-module/preformatted/save.js +1 -1
  997. package/build-module/pullquote/blockquote.native.js +1 -1
  998. package/build-module/pullquote/deprecated.js +1 -1
  999. package/build-module/pullquote/edit.js +1 -1
  1000. package/build-module/pullquote/edit.native.js +1 -1
  1001. package/build-module/pullquote/figure.native.js +1 -1
  1002. package/build-module/pullquote/save.js +1 -1
  1003. package/build-module/query/deprecated.js +1 -1
  1004. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  1005. package/build-module/query/edit/index.js +1 -1
  1006. package/build-module/query/edit/inspector-controls/author-control.js +1 -1
  1007. package/build-module/query/edit/inspector-controls/create-new-post-link.js +1 -1
  1008. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -1
  1009. package/build-module/query/edit/inspector-controls/index.js +1 -1
  1010. package/build-module/query/edit/inspector-controls/order-control.js +1 -1
  1011. package/build-module/query/edit/inspector-controls/parent-control.js +1 -1
  1012. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -1
  1013. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -1
  1014. package/build-module/query/edit/pattern-selection-modal.js +1 -1
  1015. package/build-module/query/edit/query-content.js +1 -1
  1016. package/build-module/query/edit/query-placeholder.js +1 -1
  1017. package/build-module/query/edit/query-toolbar.js +1 -1
  1018. package/build-module/query/icons.js +1 -1
  1019. package/build-module/query/save.js +1 -1
  1020. package/build-module/query/view.js +5 -5
  1021. package/build-module/query/view.js.map +1 -1
  1022. package/build-module/query-no-results/edit.js +1 -1
  1023. package/build-module/query-no-results/save.js +1 -1
  1024. package/build-module/query-pagination/deprecated.js +1 -1
  1025. package/build-module/query-pagination/edit.js +1 -1
  1026. package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -1
  1027. package/build-module/query-pagination/query-pagination-label-control.js +1 -1
  1028. package/build-module/query-pagination/save.js +1 -1
  1029. package/build-module/query-pagination-next/edit.js +1 -1
  1030. package/build-module/query-pagination-numbers/edit.js +1 -1
  1031. package/build-module/query-pagination-previous/edit.js +1 -1
  1032. package/build-module/query-title/edit.js +1 -1
  1033. package/build-module/quote/deprecated.js +1 -1
  1034. package/build-module/quote/edit.js +1 -1
  1035. package/build-module/quote/save.js +1 -1
  1036. package/build-module/read-more/edit.js +1 -1
  1037. package/build-module/rss/edit.js +3 -2
  1038. package/build-module/rss/edit.js.map +1 -1
  1039. package/build-module/search/edit.js +1 -1
  1040. package/build-module/search/edit.native.js +1 -1
  1041. package/build-module/search/icons.js +1 -1
  1042. package/build-module/separator/deprecated.js +1 -1
  1043. package/build-module/separator/edit.js +1 -1
  1044. package/build-module/separator/save.js +1 -1
  1045. package/build-module/shortcode/edit.js +1 -1
  1046. package/build-module/shortcode/edit.native.js +1 -1
  1047. package/build-module/shortcode/save.js +1 -1
  1048. package/build-module/site-logo/edit.js +1 -1
  1049. package/build-module/site-tagline/edit.js +1 -1
  1050. package/build-module/site-tagline/icon.js +1 -1
  1051. package/build-module/site-title/edit/index.js +1 -1
  1052. package/build-module/social-link/edit.js +1 -1
  1053. package/build-module/social-link/edit.native.js +1 -1
  1054. package/build-module/social-link/icons/amazon.js +1 -1
  1055. package/build-module/social-link/icons/bandcamp.js +1 -1
  1056. package/build-module/social-link/icons/behance.js +1 -1
  1057. package/build-module/social-link/icons/chain.js +1 -1
  1058. package/build-module/social-link/icons/codepen.js +1 -1
  1059. package/build-module/social-link/icons/deviantart.js +1 -1
  1060. package/build-module/social-link/icons/dribbble.js +1 -1
  1061. package/build-module/social-link/icons/dropbox.js +1 -1
  1062. package/build-module/social-link/icons/etsy.js +1 -1
  1063. package/build-module/social-link/icons/facebook.js +1 -1
  1064. package/build-module/social-link/icons/feed.js +1 -1
  1065. package/build-module/social-link/icons/fivehundredpx.js +1 -1
  1066. package/build-module/social-link/icons/flickr.js +1 -1
  1067. package/build-module/social-link/icons/foursquare.js +1 -1
  1068. package/build-module/social-link/icons/github.js +1 -1
  1069. package/build-module/social-link/icons/goodreads.js +1 -1
  1070. package/build-module/social-link/icons/google.js +1 -1
  1071. package/build-module/social-link/icons/instagram.js +1 -1
  1072. package/build-module/social-link/icons/lastfm.js +1 -1
  1073. package/build-module/social-link/icons/linkedin.js +1 -1
  1074. package/build-module/social-link/icons/mail.js +1 -1
  1075. package/build-module/social-link/icons/mastodon.js +1 -1
  1076. package/build-module/social-link/icons/medium.js +1 -1
  1077. package/build-module/social-link/icons/meetup.js +1 -1
  1078. package/build-module/social-link/icons/patreon.js +1 -1
  1079. package/build-module/social-link/icons/pinterest.js +1 -1
  1080. package/build-module/social-link/icons/pocket.js +1 -1
  1081. package/build-module/social-link/icons/reddit.js +1 -1
  1082. package/build-module/social-link/icons/skype.js +1 -1
  1083. package/build-module/social-link/icons/snapchat.js +1 -1
  1084. package/build-module/social-link/icons/soundcloud.js +1 -1
  1085. package/build-module/social-link/icons/spotify.js +1 -1
  1086. package/build-module/social-link/icons/telegram.js +1 -1
  1087. package/build-module/social-link/icons/threads.js +1 -1
  1088. package/build-module/social-link/icons/tiktok.js +1 -1
  1089. package/build-module/social-link/icons/tumblr.js +1 -1
  1090. package/build-module/social-link/icons/twitch.js +1 -1
  1091. package/build-module/social-link/icons/twitter.js +1 -1
  1092. package/build-module/social-link/icons/vimeo.js +1 -1
  1093. package/build-module/social-link/icons/vk.js +1 -1
  1094. package/build-module/social-link/icons/whatsapp.js +1 -1
  1095. package/build-module/social-link/icons/wordpress.js +1 -1
  1096. package/build-module/social-link/icons/x.js +1 -1
  1097. package/build-module/social-link/icons/yelp.js +1 -1
  1098. package/build-module/social-link/icons/youtube.js +1 -1
  1099. package/build-module/social-link/social-list.js +1 -1
  1100. package/build-module/social-link/social-list.js.map +1 -1
  1101. package/build-module/social-links/deprecated.js +1 -1
  1102. package/build-module/social-links/edit.js +1 -1
  1103. package/build-module/social-links/edit.native.js +1 -1
  1104. package/build-module/social-links/save.js +1 -1
  1105. package/build-module/spacer/controls.js +1 -1
  1106. package/build-module/spacer/controls.native.js +1 -1
  1107. package/build-module/spacer/deprecated.js +1 -1
  1108. package/build-module/spacer/edit.js +1 -1
  1109. package/build-module/spacer/edit.native.js +1 -1
  1110. package/build-module/spacer/save.js +1 -1
  1111. package/build-module/spacer/save.native.js +1 -1
  1112. package/build-module/table/deprecated.js +1 -1
  1113. package/build-module/table/edit.js +1 -1
  1114. package/build-module/table/save.js +1 -1
  1115. package/build-module/table-of-contents/edit.js +26 -6
  1116. package/build-module/table-of-contents/edit.js.map +1 -1
  1117. package/build-module/table-of-contents/icon.js +1 -1
  1118. package/build-module/table-of-contents/list.js +11 -5
  1119. package/build-module/table-of-contents/list.js.map +1 -1
  1120. package/build-module/table-of-contents/save.js +1 -1
  1121. package/build-module/tag-cloud/edit.js +1 -1
  1122. package/build-module/template-part/edit/advanced-controls.js +1 -1
  1123. package/build-module/template-part/edit/import-controls.js +3 -2
  1124. package/build-module/template-part/edit/import-controls.js.map +1 -1
  1125. package/build-module/template-part/edit/index.js +1 -1
  1126. package/build-module/template-part/edit/inner-blocks.js +1 -1
  1127. package/build-module/template-part/edit/placeholder.js +1 -1
  1128. package/build-module/template-part/edit/selection-modal.js +1 -1
  1129. package/build-module/template-part/edit/title-modal.js +1 -1
  1130. package/build-module/term-description/edit.js +1 -1
  1131. package/build-module/text-columns/edit.js +1 -1
  1132. package/build-module/text-columns/save.js +1 -1
  1133. package/build-module/verse/deprecated.js +1 -1
  1134. package/build-module/verse/edit.js +1 -1
  1135. package/build-module/verse/save.js +1 -1
  1136. package/build-module/video/deprecated.js +1 -1
  1137. package/build-module/video/edit-common-settings.js +1 -1
  1138. package/build-module/video/edit.js +1 -1
  1139. package/build-module/video/edit.native.js +2 -2
  1140. package/build-module/video/edit.native.js.map +1 -1
  1141. package/build-module/video/icon-retry.native.js +1 -1
  1142. package/build-module/video/save.js +1 -1
  1143. package/build-module/video/tracks-editor.js +1 -1
  1144. package/build-module/video/tracks.js +1 -1
  1145. package/build-style/common-rtl.css +2 -4
  1146. package/build-style/common.css +2 -4
  1147. package/build-style/cover/style-rtl.css +2 -1
  1148. package/build-style/cover/style.css +2 -1
  1149. package/build-style/editor-rtl.css +1 -0
  1150. package/build-style/editor.css +1 -0
  1151. package/build-style/gallery/style-rtl.css +4 -2
  1152. package/build-style/gallery/style.css +4 -2
  1153. package/build-style/post-featured-image/style-rtl.css +3 -0
  1154. package/build-style/post-featured-image/style.css +3 -0
  1155. package/build-style/post-template/style-rtl.css +19 -0
  1156. package/build-style/post-template/style.css +19 -0
  1157. package/build-style/query-pagination/style-rtl.css +2 -4
  1158. package/build-style/query-pagination/style.css +2 -4
  1159. package/build-style/search/editor-rtl.css +1 -0
  1160. package/build-style/search/editor.css +1 -0
  1161. package/build-style/search/style-rtl.css +4 -2
  1162. package/build-style/search/style.css +4 -2
  1163. package/build-style/style-rtl.css +38 -13
  1164. package/build-style/style.css +38 -13
  1165. package/build-style/video/style-rtl.css +2 -1
  1166. package/build-style/video/style.css +2 -1
  1167. package/build-types/table-of-contents/list.d.ts +6 -4
  1168. package/build-types/table-of-contents/list.d.ts.map +1 -1
  1169. package/package.json +32 -32
  1170. package/src/audio/edit.native.js +2 -2
  1171. package/src/audio/test/edit.native.js +28 -14
  1172. package/src/button/constants.js +3 -0
  1173. package/src/button/edit.js +30 -29
  1174. package/src/button/get-updated-link-attributes.js +54 -0
  1175. package/src/button/test/get-updated-link-attributes.js +113 -0
  1176. package/src/categories/index.php +2 -4
  1177. package/src/comment-template/edit.js +2 -2
  1178. package/src/cover/block.json +3 -0
  1179. package/src/cover/deprecated.js +236 -12
  1180. package/src/cover/edit/color-utils.js +122 -0
  1181. package/src/cover/edit/index.js +132 -51
  1182. package/src/cover/edit/inspector-controls.js +1 -1
  1183. package/src/cover/edit.native.js +9 -2
  1184. package/src/cover/shared.js +36 -129
  1185. package/src/cover/test/__snapshots__/edit.native.js.snap +18 -10
  1186. package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
  1187. package/src/cover/test/edit.js +1 -1
  1188. package/src/cover/test/edit.native.js +38 -0
  1189. package/src/embed/edit.js +15 -0
  1190. package/src/embed/edit.native.js +15 -0
  1191. package/src/embed/test/index.native.js +6 -1
  1192. package/src/embed/wp-embed-preview.js +1 -1
  1193. package/src/footnotes/block.json +1 -1
  1194. package/src/html/edit.js +26 -6
  1195. package/src/html/preview.js +7 -1
  1196. package/src/image/image.js +1 -1
  1197. package/src/loginout/block.json +8 -0
  1198. package/src/media-text/edit.js +1 -1
  1199. package/src/navigation/edit/deleted-navigation-warning.js +9 -4
  1200. package/src/navigation/edit/index.js +26 -17
  1201. package/src/navigation/edit/inner-blocks.js +1 -0
  1202. package/src/navigation-link/link-ui.js +9 -1
  1203. package/src/post-featured-image/style.scss +4 -0
  1204. package/src/post-template/style.scss +20 -0
  1205. package/src/post-title/index.php +1 -1
  1206. package/src/query/view.js +5 -5
  1207. package/src/rss/edit.js +6 -2
  1208. package/src/search/editor.scss +1 -0
  1209. package/src/search/style.scss +5 -1
  1210. package/src/social-link/social-list.js +1 -1
  1211. package/src/table-of-contents/edit.js +27 -3
  1212. package/src/table-of-contents/list.tsx +27 -4
  1213. package/src/template-part/edit/import-controls.js +2 -1
  1214. package/src/video/edit.native.js +1 -1
  1215. package/src/video/test/edit.native.js +29 -0
  1216. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_components","_blockEditor","_icons","_data","_url","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","length","createElement","className","map","track","index","__experimentalHStack","key","Button","variant","onClick","sprintf","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","getFilename","NavigableMenu","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","autoFocus","newLabel","help","newSrcLang","SelectControl","options","newKind","changes","hasChanges","undefined","isDestructive","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarGroup","ToolbarButton","showTooltip","renderContent","newTrack","newTracks","filter","_track","Fragment","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<HStack\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<VStack\n\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\t\tspacing=\"4\"\n\t\t\t>\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Grid>\n\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\t\tvalue={ kind }\n\t\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tkind: newKind,\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\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</VStack>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_icons","_data","_element","_url","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","__","value","TrackList","tracks","onEditPress","content","length","_react","createElement","className","map","track","index","__experimentalHStack","key","Button","variant","onClick","sprintf","MenuGroup","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","getFilename","NavigableMenu","__experimentalVStack","spacing","__experimentalGrid","columns","gap","TextControl","__nextHasNoMarginBottom","autoFocus","newLabel","help","newSrcLang","SelectControl","options","newKind","changes","hasChanges","undefined","isDestructive","TracksEditor","mediaUpload","useSelect","select","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","useState","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarGroup","ToolbarButton","showTooltip","renderContent","newTrack","newTracks","filter","_track","Fragment","MediaUpload","onSelect","url","trackIndex","allowedTypes","render","open","MenuItem","icon","media","MediaUploadCheck","FormFileUpload","event","files","target","filesList","onFileChange","accept","openFileDialog","upload"],"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<HStack\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<VStack\n\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor\"\n\t\t\t\tspacing=\"4\"\n\t\t\t>\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Grid>\n\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\t\tvalue={ kind }\n\t\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tkind: newKind,\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\t<HStack className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</VStack>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\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\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Tracks;
7
- var _element = require("@wordpress/element");
7
+ var _react = require("react");
8
8
  function Tracks({
9
9
  tracks = []
10
10
  }) {
11
11
  return tracks.map(track => {
12
- return (0, _element.createElement)("track", {
12
+ return (0, _react.createElement)("track", {
13
13
  key: track.src,
14
14
  ...track
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Tracks","tracks","map","track","_element","createElement","key","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,OAAO,IAAAC,QAAA,CAAAC,aAAA;MAAOC,GAAG,EAAGH,KAAK,CAACI,GAAK;MAAA,GAAMJ;IAAK,CAAI,CAAC;EAChD,CAAE,CAAC;AACJ"}
1
+ {"version":3,"names":["Tracks","tracks","map","track","_react","createElement","key","src"],"sources":["@wordpress/block-library/src/video/tracks.js"],"sourcesContent":["export default function Tracks( { tracks = [] } ) {\n\treturn tracks.map( ( track ) => {\n\t\treturn <track key={ track.src } { ...track } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAAe,SAASA,MAAMA,CAAE;EAAEC,MAAM,GAAG;AAAG,CAAC,EAAG;EACjD,OAAOA,MAAM,CAACC,GAAG,CAAIC,KAAK,IAAM;IAC/B,OAAO,IAAAC,MAAA,CAAAC,aAAA;MAAOC,GAAG,EAAGH,KAAK,CAACI,GAAK;MAAA,GAAMJ;IAAK,CAAI,CAAC;EAChD,CAAE,CAAC;AACJ"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -15,7 +15,7 @@ import { audio as icon, replace } from '@wordpress/icons';
15
15
  import { useState } from '@wordpress/element';
16
16
  import { useDispatch, useSelect } from '@wordpress/data';
17
17
  import { store as noticesStore } from '@wordpress/notices';
18
- import { isURL } from '@wordpress/url';
18
+ import { isURL, getProtocol } from '@wordpress/url';
19
19
 
20
20
  /**
21
21
  * Internal dependencies
@@ -65,7 +65,7 @@ function AudioEdit({
65
65
  }
66
66
  function onSelectURL(newSrc) {
67
67
  if (newSrc !== src) {
68
- if (isURL(newSrc)) {
68
+ if (isURL(newSrc) && /^https?:/.test(getProtocol(newSrc))) {
69
69
  setAttributes({
70
70
  src: newSrc,
71
71
  id: undefined
@@ -1 +1 @@
1
- {"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption"],"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\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 } 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 ) ) {\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\t! caption\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","getProtocol","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","test","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption"],"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\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\t! caption\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -0,0 +1,4 @@
1
+ export const NEW_TAB_REL = 'noreferrer noopener';
2
+ export const NEW_TAB_TARGET = '_blank';
3
+ export const NOFOLLOW_REL = 'nofollow';
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NEW_TAB_REL","NEW_TAB_TARGET","NOFOLLOW_REL"],"sources":["@wordpress/block-library/src/button/constants.js"],"sourcesContent":["export const NEW_TAB_REL = 'noreferrer noopener';\nexport const NEW_TAB_TARGET = '_blank';\nexport const NOFOLLOW_REL = 'nofollow';\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,qBAAqB;AAChD,OAAO,MAAMC,cAAc,GAAG,QAAQ;AACtC,OAAO,MAAMC,YAAY,GAAG,UAAU"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,9 +1,15 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
5
  import classnames from 'classnames';
6
6
 
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';
11
+ import { getUpdatedLinkAttributes } from './get-updated-link-attributes';
12
+
7
13
  /**
8
14
  * WordPress dependencies
9
15
  */
@@ -15,8 +21,10 @@ import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
15
21
  import { link, linkOff } from '@wordpress/icons';
16
22
  import { createBlock } from '@wordpress/blocks';
17
23
  import { useMergeRefs } from '@wordpress/compose';
18
- import { prependHTTP } from '@wordpress/url';
19
- const NEW_TAB_REL = 'noreferrer noopener';
24
+ const LINK_SETTINGS = [...LinkControl.DEFAULT_LINK_SETTINGS, {
25
+ id: 'nofollow',
26
+ title: __('Mark as nofollow')
27
+ }];
20
28
  function WidthPanel({
21
29
  selectedWidth,
22
30
  setAttributes
@@ -64,19 +72,6 @@ function ButtonEdit(props) {
64
72
  width
65
73
  } = attributes;
66
74
  const TagName = tagName || 'a';
67
- function onToggleOpenInNewTab(value) {
68
- const newLinkTarget = value ? '_blank' : undefined;
69
- let updatedRel = rel;
70
- if (newLinkTarget && !rel) {
71
- updatedRel = NEW_TAB_REL;
72
- } else if (!newLinkTarget && rel === NEW_TAB_REL) {
73
- updatedRel = undefined;
74
- }
75
- setAttributes({
76
- linkTarget: newLinkTarget,
77
- rel: updatedRel
78
- });
79
- }
80
75
  function setButtonText(newText) {
81
76
  // Remove anchor tags from button text content.
82
77
  setAttributes({
@@ -106,7 +101,8 @@ function ButtonEdit(props) {
106
101
  });
107
102
  const [isEditingURL, setIsEditingURL] = useState(false);
108
103
  const isURLSet = !!url;
109
- const opensInNewTab = linkTarget === '_blank';
104
+ const opensInNewTab = linkTarget === NEW_TAB_TARGET;
105
+ const nofollow = !!rel?.includes(NOFOLLOW_REL);
110
106
  const isLinkTag = 'a' === TagName;
111
107
  function startEditing(event) {
112
108
  event.preventDefault();
@@ -130,8 +126,9 @@ function ButtonEdit(props) {
130
126
  // This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.
131
127
  const linkValue = useMemo(() => ({
132
128
  url,
133
- opensInNewTab
134
- }), [url, opensInNewTab]);
129
+ opensInNewTab,
130
+ nofollow
131
+ }), [url, opensInNewTab, nofollow]);
135
132
  return createElement(Fragment, null, createElement("div", {
136
133
  ...blockProps,
137
134
  className: classnames(blockProps.className, {
@@ -198,21 +195,21 @@ function ButtonEdit(props) {
198
195
  }, createElement(LinkControl, {
199
196
  value: linkValue,
200
197
  onChange: ({
201
- url: newURL = '',
202
- opensInNewTab: newOpensInNewTab
203
- }) => {
204
- setAttributes({
205
- url: prependHTTP(newURL)
206
- });
207
- if (opensInNewTab !== newOpensInNewTab) {
208
- onToggleOpenInNewTab(newOpensInNewTab);
209
- }
210
- },
198
+ url: newURL,
199
+ opensInNewTab: newOpensInNewTab,
200
+ nofollow: newNofollow
201
+ }) => setAttributes(getUpdatedLinkAttributes({
202
+ rel,
203
+ url: newURL,
204
+ opensInNewTab: newOpensInNewTab,
205
+ nofollow: newNofollow
206
+ })),
211
207
  onRemove: () => {
212
208
  unlink();
213
209
  richTextRef.current?.focus();
214
210
  },
215
- forceIsEditingLink: isEditingURL
211
+ forceIsEditingLink: isEditingURL,
212
+ settings: LINK_SETTINGS
216
213
  })), createElement(InspectorControls, null, createElement(WidthPanel, {
217
214
  selectedWidth: width,
218
215
  setAttributes: setAttributes
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","useMergeRefs","prependHTTP","NEW_TAB_REL","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","title","map","widthValue","key","size","variant","onClick","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","TagName","onToggleOpenInNewTab","value","newLinkTarget","updatedRel","setButtonText","newText","replace","onKeyDown","event","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","isLinkTag","preventDefault","linkValue","Fragment","fontSize","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","onRemove","forceIsEditingLink","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { prependHTTP } from '@wordpress/url';\n\nconst NEW_TAB_REL = 'noreferrer noopener';\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onToggleOpenInNewTab( value ) {\n\t\tconst newLinkTarget = value ? '_blank' : undefined;\n\n\t\tlet updatedRel = rel;\n\t\tif ( newLinkTarget && ! rel ) {\n\t\t\tupdatedRel = NEW_TAB_REL;\n\t\t} else if ( ! newLinkTarget && rel === NEW_TAB_REL ) {\n\t\t\tupdatedRel = undefined;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tlinkTarget: newLinkTarget,\n\t\t\trel: updatedRel,\n\t\t} );\n\t}\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === '_blank';\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab } ),\n\t\t[ url, opensInNewTab ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag && isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL = '',\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tsetAttributes( { url: prependHTTP( newURL ) } );\n\n\t\t\t\t\t\t\tif ( opensInNewTab !== newOpensInNewTab ) {\n\t\t\t\t\t\t\t\tonToggleOpenInNewTab( newOpensInNewTab );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","displayShortcut","isKeyboardEvent","link","linkOff","createBlock","useMergeRefs","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","props","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","TagName","setButtonText","newText","replace","onKeyDown","event","primary","startEditing","primaryShift","unlink","richTextRef","current","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","ref","blockProps","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","preventDefault","linkValue","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction setButtonText( newText ) {\n\t\t// Remove anchor tags from button text content.\n\t\tsetAttributes( { text: newText.replace( /<\\/?a[^>]*>/g, '' ) } );\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ richTextRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) => setButtonText( value ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ ! isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag && isSelected && ( isEditingURL || isURLSet ) && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t} }\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\tshift\n\t\t\t\t>\n\t\t\t\t\t<LinkControl\n\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t/>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { NEW_TAB_REL, NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { prependHTTP } from '@wordpress/url';
10
+
11
+ /**
12
+ * Updates the link attributes.
13
+ *
14
+ * @param {Object} attributes The current block attributes.
15
+ * @param {string} attributes.rel The current link rel attribute.
16
+ * @param {string} attributes.url The current link url.
17
+ * @param {boolean} attributes.opensInNewTab Whether the link should open in a new window.
18
+ * @param {boolean} attributes.nofollow Whether the link should be marked as nofollow.
19
+ */
20
+ export function getUpdatedLinkAttributes({
21
+ rel = '',
22
+ url = '',
23
+ opensInNewTab,
24
+ nofollow
25
+ }) {
26
+ let newLinkTarget;
27
+ // Since `rel` is editable attribute, we need to check for existing values and proceed accordingly.
28
+ let updatedRel = rel;
29
+ if (opensInNewTab) {
30
+ newLinkTarget = NEW_TAB_TARGET;
31
+ updatedRel = updatedRel?.includes(NEW_TAB_REL) ? updatedRel : updatedRel + ` ${NEW_TAB_REL}`;
32
+ } else {
33
+ const relRegex = new RegExp(`\\b${NEW_TAB_REL}\\s*`, 'g');
34
+ updatedRel = updatedRel?.replace(relRegex, '').trim();
35
+ }
36
+ if (nofollow) {
37
+ updatedRel = updatedRel?.includes(NOFOLLOW_REL) ? updatedRel : updatedRel + ` ${NOFOLLOW_REL}`;
38
+ } else {
39
+ const relRegex = new RegExp(`\\b${NOFOLLOW_REL}\\s*`, 'g');
40
+ updatedRel = updatedRel?.replace(relRegex, '').trim();
41
+ }
42
+ return {
43
+ url: prependHTTP(url),
44
+ linkTarget: newLinkTarget,
45
+ rel: updatedRel || undefined
46
+ };
47
+ }
48
+ //# sourceMappingURL=get-updated-link-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NEW_TAB_REL","NEW_TAB_TARGET","NOFOLLOW_REL","prependHTTP","getUpdatedLinkAttributes","rel","url","opensInNewTab","nofollow","newLinkTarget","updatedRel","includes","relRegex","RegExp","replace","trim","linkTarget","undefined"],"sources":["@wordpress/block-library/src/button/get-updated-link-attributes.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { NEW_TAB_REL, NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\n\n/**\n * WordPress dependencies\n */\nimport { prependHTTP } from '@wordpress/url';\n\n/**\n * Updates the link attributes.\n *\n * @param {Object} attributes The current block attributes.\n * @param {string} attributes.rel The current link rel attribute.\n * @param {string} attributes.url The current link url.\n * @param {boolean} attributes.opensInNewTab Whether the link should open in a new window.\n * @param {boolean} attributes.nofollow Whether the link should be marked as nofollow.\n */\nexport function getUpdatedLinkAttributes( {\n\trel = '',\n\turl = '',\n\topensInNewTab,\n\tnofollow,\n} ) {\n\tlet newLinkTarget;\n\t// Since `rel` is editable attribute, we need to check for existing values and proceed accordingly.\n\tlet updatedRel = rel;\n\n\tif ( opensInNewTab ) {\n\t\tnewLinkTarget = NEW_TAB_TARGET;\n\t\tupdatedRel = updatedRel?.includes( NEW_TAB_REL )\n\t\t\t? updatedRel\n\t\t\t: updatedRel + ` ${ NEW_TAB_REL }`;\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NEW_TAB_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\tif ( nofollow ) {\n\t\tupdatedRel = updatedRel?.includes( NOFOLLOW_REL )\n\t\t\t? updatedRel\n\t\t\t: updatedRel + ` ${ NOFOLLOW_REL }`;\n\t} else {\n\t\tconst relRegex = new RegExp( `\\\\b${ NOFOLLOW_REL }\\\\s*`, 'g' );\n\t\tupdatedRel = updatedRel?.replace( relRegex, '' ).trim();\n\t}\n\n\treturn {\n\t\turl: prependHTTP( url ),\n\t\tlinkTarget: newLinkTarget,\n\t\trel: updatedRel || undefined,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,cAAc,EAAEC,YAAY,QAAQ,aAAa;;AAEvE;AACA;AACA;AACA,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAE;EACzCC,GAAG,GAAG,EAAE;EACRC,GAAG,GAAG,EAAE;EACRC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,IAAIC,aAAa;EACjB;EACA,IAAIC,UAAU,GAAGL,GAAG;EAEpB,IAAKE,aAAa,EAAG;IACpBE,aAAa,GAAGR,cAAc;IAC9BS,UAAU,GAAGA,UAAU,EAAEC,QAAQ,CAAEX,WAAY,CAAC,GAC7CU,UAAU,GACVA,UAAU,GAAI,IAAIV,WAAa,EAAC;EACpC,CAAC,MAAM;IACN,MAAMY,QAAQ,GAAG,IAAIC,MAAM,CAAG,MAAMb,WAAa,MAAK,EAAE,GAAI,CAAC;IAC7DU,UAAU,GAAGA,UAAU,EAAEI,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,IAAKP,QAAQ,EAAG;IACfE,UAAU,GAAGA,UAAU,EAAEC,QAAQ,CAAET,YAAa,CAAC,GAC9CQ,UAAU,GACVA,UAAU,GAAI,IAAIR,YAAc,EAAC;EACrC,CAAC,MAAM;IACN,MAAMU,QAAQ,GAAG,IAAIC,MAAM,CAAG,MAAMX,YAAc,MAAK,EAAE,GAAI,CAAC;IAC9DQ,UAAU,GAAGA,UAAU,EAAEI,OAAO,CAAEF,QAAQ,EAAE,EAAG,CAAC,CAACG,IAAI,CAAC,CAAC;EACxD;EAEA,OAAO;IACNT,GAAG,EAAEH,WAAW,CAAEG,GAAI,CAAC;IACvBU,UAAU,EAAEP,aAAa;IACzBJ,GAAG,EAAEK,UAAU,IAAIO;EACpB,CAAC;AACF"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */