@wordpress/block-library 10.1.0 → 10.2.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 (926) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/accordion/block.json +1 -0
  3. package/build/accordion/edit.cjs +0 -1
  4. package/build/accordion/edit.cjs.map +2 -2
  5. package/build/accordion/view.cjs +23 -0
  6. package/build/accordion/view.cjs.map +2 -2
  7. package/build/accordion-heading/deprecated.cjs +121 -1
  8. package/build/accordion-heading/deprecated.cjs.map +2 -2
  9. package/build/accordion-heading/edit.cjs +18 -1
  10. package/build/accordion-heading/edit.cjs.map +3 -3
  11. package/build/accordion-heading/save.cjs +18 -1
  12. package/build/accordion-heading/save.cjs.map +3 -3
  13. package/build/accordion-panel/edit.cjs +1 -1
  14. package/build/accordion-panel/edit.cjs.map +2 -2
  15. package/build/archives/edit.cjs +0 -1
  16. package/build/archives/edit.cjs.map +2 -2
  17. package/build/audio/edit.cjs +0 -1
  18. package/build/audio/edit.cjs.map +2 -2
  19. package/build/avatar/edit.cjs +0 -1
  20. package/build/avatar/edit.cjs.map +2 -2
  21. package/build/avatar/user-control.cjs +0 -1
  22. package/build/avatar/user-control.cjs.map +2 -2
  23. package/build/button/edit.cjs +18 -8
  24. package/build/button/edit.cjs.map +2 -2
  25. package/build/categories/edit.cjs +0 -1
  26. package/build/categories/edit.cjs.map +2 -2
  27. package/build/code/transforms.cjs +5 -3
  28. package/build/code/transforms.cjs.map +2 -2
  29. package/build/column/edit.cjs +0 -1
  30. package/build/column/edit.cjs.map +2 -2
  31. package/build/columns/edit.cjs +0 -1
  32. package/build/columns/edit.cjs.map +2 -2
  33. package/build/columns/transforms.cjs +9 -2
  34. package/build/columns/transforms.cjs.map +2 -2
  35. package/build/comment-author-avatar/edit.cjs +0 -1
  36. package/build/comment-author-avatar/edit.cjs.map +2 -2
  37. package/build/comments-pagination/comments-pagination-arrow-controls.cjs +0 -1
  38. package/build/comments-pagination/comments-pagination-arrow-controls.cjs.map +2 -2
  39. package/build/cover/block.json +11 -0
  40. package/build/cover/edit/block-controls.cjs +11 -4
  41. package/build/cover/edit/block-controls.cjs.map +2 -2
  42. package/build/cover/edit/embed-video-url-input.cjs +5 -3
  43. package/build/cover/edit/embed-video-url-input.cjs.map +3 -3
  44. package/build/cover/edit/index.cjs +1 -1
  45. package/build/cover/edit/index.cjs.map +2 -2
  46. package/build/cover/edit/inspector-controls.cjs +1 -3
  47. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  48. package/build/cover/embed-video-utils.cjs +17 -7
  49. package/build/cover/embed-video-utils.cjs.map +2 -2
  50. package/build/details/transforms.cjs +1 -1
  51. package/build/details/transforms.cjs.map +2 -2
  52. package/build/embed/edit.cjs +2 -3
  53. package/build/embed/edit.cjs.map +2 -2
  54. package/build/embed/embed-placeholder.cjs +20 -21
  55. package/build/embed/embed-placeholder.cjs.map +3 -3
  56. package/build/file/edit.cjs +4 -3
  57. package/build/file/edit.cjs.map +2 -2
  58. package/build/file/inspector.cjs +0 -2
  59. package/build/file/inspector.cjs.map +2 -2
  60. package/build/file/transforms.cjs +25 -60
  61. package/build/file/transforms.cjs.map +2 -2
  62. package/build/form/edit.cjs +0 -2
  63. package/build/form/edit.cjs.map +2 -2
  64. package/build/freeform/convert-to-blocks-button.cjs +52 -0
  65. package/build/freeform/convert-to-blocks-button.cjs.map +7 -0
  66. package/build/freeform/edit.cjs +14 -33
  67. package/build/freeform/edit.cjs.map +3 -3
  68. package/build/freeform/index.cjs +1 -7
  69. package/build/freeform/index.cjs.map +3 -3
  70. package/build/gallery/block.json +8 -3
  71. package/build/gallery/dynamic-gallery.cjs +263 -0
  72. package/build/gallery/dynamic-gallery.cjs.map +7 -0
  73. package/build/gallery/dynamic-source.cjs +85 -0
  74. package/build/gallery/dynamic-source.cjs.map +7 -0
  75. package/build/gallery/edit.cjs +286 -206
  76. package/build/gallery/edit.cjs.map +3 -3
  77. package/build/gallery/gallery.cjs +0 -3
  78. package/build/gallery/gallery.cjs.map +2 -2
  79. package/build/gallery/gap-styles.cjs +49 -13
  80. package/build/gallery/gap-styles.cjs.map +3 -3
  81. package/build/gallery/index.cjs +2 -0
  82. package/build/gallery/index.cjs.map +3 -3
  83. package/build/gallery/save.cjs +16 -12
  84. package/build/gallery/save.cjs.map +2 -2
  85. package/build/gallery/use-dynamic-gallery.cjs +181 -0
  86. package/build/gallery/use-dynamic-gallery.cjs.map +7 -0
  87. package/build/gallery/variations.cjs +54 -0
  88. package/build/gallery/variations.cjs.map +7 -0
  89. package/build/group/edit.cjs +1 -2
  90. package/build/group/edit.cjs.map +2 -2
  91. package/build/group/transforms.cjs +3 -7
  92. package/build/group/transforms.cjs.map +2 -2
  93. package/build/heading/edit.cjs +10 -3
  94. package/build/heading/edit.cjs.map +2 -2
  95. package/build/html/block.json +2 -2
  96. package/build/html/edit.cjs +65 -23
  97. package/build/html/edit.cjs.map +3 -3
  98. package/build/html/index.cjs +3 -3
  99. package/build/html/index.cjs.map +2 -2
  100. package/build/html/modal.cjs +4 -8
  101. package/build/html/modal.cjs.map +2 -2
  102. package/build/html/save.cjs +2 -4
  103. package/build/html/save.cjs.map +2 -2
  104. package/build/html/transforms.cjs +7 -5
  105. package/build/html/transforms.cjs.map +2 -2
  106. package/build/icon/components/custom-inserter/icon-grid.cjs +25 -12
  107. package/build/icon/components/custom-inserter/icon-grid.cjs.map +2 -2
  108. package/build/icon/components/custom-inserter/index.cjs +100 -31
  109. package/build/icon/components/custom-inserter/index.cjs.map +3 -3
  110. package/build/icon/edit.cjs +11 -12
  111. package/build/icon/edit.cjs.map +2 -2
  112. package/build/image/block.json +1 -1
  113. package/build/image/image.cjs +23 -70
  114. package/build/image/image.cjs.map +3 -3
  115. package/build/image/transforms.cjs +78 -0
  116. package/build/image/transforms.cjs.map +3 -3
  117. package/build/index.cjs +18 -8
  118. package/build/index.cjs.map +2 -2
  119. package/build/latest-comments/edit.cjs +0 -2
  120. package/build/latest-comments/edit.cjs.map +2 -2
  121. package/build/latest-posts/block.json +8 -9
  122. package/build/latest-posts/constants.cjs +0 -3
  123. package/build/latest-posts/constants.cjs.map +2 -2
  124. package/build/latest-posts/deprecated.cjs +100 -8
  125. package/build/latest-posts/deprecated.cjs.map +2 -2
  126. package/build/latest-posts/edit.cjs +67 -84
  127. package/build/latest-posts/edit.cjs.map +2 -2
  128. package/build/list/ordered-list-settings.cjs +0 -1
  129. package/build/list/ordered-list-settings.cjs.map +2 -2
  130. package/build/list-item/edit.cjs +1 -1
  131. package/build/list-item/edit.cjs.map +2 -2
  132. package/build/list-item/hooks/use-enter.cjs +14 -17
  133. package/build/list-item/hooks/use-enter.cjs.map +3 -3
  134. package/build/list-item/hooks/use-space.cjs +3 -2
  135. package/build/list-item/hooks/use-space.cjs.map +3 -3
  136. package/build/media-text/edit.cjs +0 -1
  137. package/build/media-text/edit.cjs.map +2 -2
  138. package/build/missing/edit.cjs +1 -3
  139. package/build/missing/edit.cjs.map +2 -2
  140. package/build/navigation/edit/index.cjs +0 -1
  141. package/build/navigation/edit/index.cjs.map +2 -2
  142. package/build/navigation/edit/overlay-menu-preview-controls.cjs +0 -1
  143. package/build/navigation/edit/overlay-menu-preview-controls.cjs.map +2 -2
  144. package/build/navigation/edit/overlay-menu-preview.cjs +0 -1
  145. package/build/navigation/edit/overlay-menu-preview.cjs.map +2 -2
  146. package/build/navigation/edit/overlay-template-part-selector.cjs +0 -1
  147. package/build/navigation/edit/overlay-template-part-selector.cjs.map +2 -2
  148. package/build/navigation/edit/overlay-visibility-control.cjs +0 -1
  149. package/build/navigation/edit/overlay-visibility-control.cjs.map +2 -2
  150. package/build/navigation-link/shared/use-link-preview.cjs +11 -1
  151. package/build/navigation-link/shared/use-link-preview.cjs.map +2 -2
  152. package/build/navigation-overlay-close/edit.cjs +0 -1
  153. package/build/navigation-overlay-close/edit.cjs.map +2 -2
  154. package/build/page-list/edit.cjs +0 -1
  155. package/build/page-list/edit.cjs.map +2 -2
  156. package/build/paragraph/block.json +1 -0
  157. package/build/paragraph/use-enter.cjs +3 -7
  158. package/build/paragraph/use-enter.cjs.map +3 -3
  159. package/build/playlist/block.json +28 -15
  160. package/build/playlist/context.cjs +36 -0
  161. package/build/playlist/context.cjs.map +7 -0
  162. package/build/playlist/edit.cjs +257 -81
  163. package/build/playlist/edit.cjs.map +3 -3
  164. package/build/playlist/index.cjs +1 -1
  165. package/build/playlist/index.cjs.map +2 -2
  166. package/build/playlist/utils.cjs +19 -8
  167. package/build/playlist/utils.cjs.map +3 -3
  168. package/build/playlist/view.cjs +87 -17
  169. package/build/playlist/view.cjs.map +2 -2
  170. package/build/playlist-track/block.json +4 -5
  171. package/build/playlist-track/edit.cjs +114 -70
  172. package/build/playlist-track/edit.cjs.map +3 -3
  173. package/build/post-author/edit.cjs +0 -2
  174. package/build/post-author/edit.cjs.map +2 -2
  175. package/build/post-content/block.json +1 -0
  176. package/build/post-excerpt/edit.cjs +0 -1
  177. package/build/post-excerpt/edit.cjs.map +2 -2
  178. package/build/post-featured-image/overlay-controls.cjs +1 -2
  179. package/build/post-featured-image/overlay-controls.cjs.map +2 -2
  180. package/build/post-navigation-link/edit.cjs +0 -2
  181. package/build/post-navigation-link/edit.cjs.map +2 -2
  182. package/build/post-template/block.json +2 -1
  183. package/build/post-template/edit.cjs +10 -1
  184. package/build/post-template/edit.cjs.map +2 -2
  185. package/build/pullquote/block.json +3 -1
  186. package/build/query/block.json +3 -2
  187. package/build/query/edit/inspector-controls/author-control.cjs +1 -2
  188. package/build/query/edit/inspector-controls/author-control.cjs.map +2 -2
  189. package/build/query/edit/inspector-controls/format-controls.cjs +1 -2
  190. package/build/query/edit/inspector-controls/format-controls.cjs.map +2 -2
  191. package/build/query/edit/inspector-controls/index.cjs +38 -7
  192. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  193. package/build/query/edit/inspector-controls/offset-controls.cjs +0 -1
  194. package/build/query/edit/inspector-controls/offset-controls.cjs.map +2 -2
  195. package/build/query/edit/inspector-controls/order-control.cjs +0 -1
  196. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  197. package/build/query/edit/inspector-controls/pages-control.cjs +0 -1
  198. package/build/query/edit/inspector-controls/pages-control.cjs.map +2 -2
  199. package/build/query/edit/inspector-controls/parent-control.cjs +0 -1
  200. package/build/query/edit/inspector-controls/parent-control.cjs.map +2 -2
  201. package/build/query/edit/inspector-controls/per-page-control.cjs +0 -1
  202. package/build/query/edit/inspector-controls/per-page-control.cjs.map +2 -2
  203. package/build/query/edit/inspector-controls/sticky-control.cjs +0 -1
  204. package/build/query/edit/inspector-controls/sticky-control.cjs.map +2 -2
  205. package/build/query/edit/inspector-controls/taxonomy-controls.cjs +1 -2
  206. package/build/query/edit/inspector-controls/taxonomy-controls.cjs.map +2 -2
  207. package/build/query/edit/query-content.cjs +10 -3
  208. package/build/query/edit/query-content.cjs.map +2 -2
  209. package/build/query/index.cjs +2 -1
  210. package/build/query/index.cjs.map +2 -2
  211. package/build/query-pagination/query-pagination-arrow-controls.cjs +0 -1
  212. package/build/query-pagination/query-pagination-arrow-controls.cjs.map +2 -2
  213. package/build/query-pagination-numbers/edit.cjs +0 -1
  214. package/build/query-pagination-numbers/edit.cjs.map +2 -2
  215. package/build/quote/block.json +3 -1
  216. package/build/quote/transforms.cjs +1 -7
  217. package/build/quote/transforms.cjs.map +2 -2
  218. package/build/rss/edit.cjs +0 -4
  219. package/build/rss/edit.cjs.map +2 -2
  220. package/build/search/edit.cjs +0 -4
  221. package/build/search/edit.cjs.map +2 -2
  222. package/build/separator/edit.cjs +1 -2
  223. package/build/separator/edit.cjs.map +2 -2
  224. package/build/site-logo/edit.cjs +34 -63
  225. package/build/site-logo/edit.cjs.map +3 -3
  226. package/build/social-links/edit.cjs +0 -1
  227. package/build/social-links/edit.cjs.map +2 -2
  228. package/build/spacer/controls.cjs +2 -4
  229. package/build/spacer/controls.cjs.map +2 -2
  230. package/build/spacer/edit.cjs +1 -2
  231. package/build/spacer/edit.cjs.map +2 -2
  232. package/build/tab-list/block.json +5 -4
  233. package/build/tab-list/edit.cjs +95 -54
  234. package/build/tab-list/edit.cjs.map +3 -3
  235. package/build/tab-list/save.cjs +4 -3
  236. package/build/tab-list/save.cjs.map +2 -2
  237. package/build/tab-panel/block.json +1 -6
  238. package/build/tab-panel/controls.cjs +2 -4
  239. package/build/tab-panel/controls.cjs.map +3 -3
  240. package/build/tab-panel/edit.cjs +15 -15
  241. package/build/tab-panel/edit.cjs.map +2 -2
  242. package/build/tab-panels/block.json +0 -1
  243. package/build/tab-panels/edit.cjs +2 -4
  244. package/build/tab-panels/edit.cjs.map +3 -3
  245. package/build/table-of-contents/edit.cjs +0 -1
  246. package/build/table-of-contents/edit.cjs.map +2 -2
  247. package/build/tabs/block.json +0 -5
  248. package/build/tabs/edit.cjs +6 -41
  249. package/build/tabs/edit.cjs.map +3 -3
  250. package/build/tabs/tab-toolbar-controls.cjs +74 -0
  251. package/build/tabs/tab-toolbar-controls.cjs.map +7 -0
  252. package/build/tabs/use-tab-actions.cjs +87 -0
  253. package/build/tabs/use-tab-actions.cjs.map +7 -0
  254. package/build/tabs/use-tab-list-items-sync.cjs +23 -5
  255. package/build/tabs/use-tab-list-items-sync.cjs.map +2 -2
  256. package/build/tag-cloud/edit.cjs +2 -6
  257. package/build/tag-cloud/edit.cjs.map +2 -2
  258. package/build/template-part/edit/advanced-controls.cjs +0 -1
  259. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  260. package/build/template-part/edit/import-controls.cjs +1 -2
  261. package/build/template-part/edit/import-controls.cjs.map +2 -2
  262. package/build/term-name/block.json +1 -3
  263. package/build/term-name/deprecated.cjs +105 -0
  264. package/build/term-name/deprecated.cjs.map +7 -0
  265. package/build/term-name/edit.cjs +11 -37
  266. package/build/term-name/edit.cjs.map +3 -3
  267. package/build/term-name/index.cjs +3 -1
  268. package/build/term-name/index.cjs.map +3 -3
  269. package/build/terms-query/edit/inspector-controls/include-control.cjs +0 -1
  270. package/build/terms-query/edit/inspector-controls/include-control.cjs.map +2 -2
  271. package/build/terms-query/edit/inspector-controls/inherit-control.cjs +0 -1
  272. package/build/terms-query/edit/inspector-controls/inherit-control.cjs.map +2 -2
  273. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs +0 -1
  274. package/build/terms-query/edit/inspector-controls/max-terms-control.cjs.map +2 -2
  275. package/build/terms-query/edit/inspector-controls/order-control.cjs +0 -1
  276. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  277. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs +0 -1
  278. package/build/terms-query/edit/inspector-controls/taxonomy-control.cjs.map +2 -2
  279. package/build/text-columns/edit.cjs +0 -1
  280. package/build/text-columns/edit.cjs.map +2 -2
  281. package/build/utils/waveform-player.cjs +138 -22
  282. package/build/utils/waveform-player.cjs.map +2 -2
  283. package/build/utils/waveform-utils.cjs +315 -17
  284. package/build/utils/waveform-utils.cjs.map +2 -2
  285. package/build/verse/block.json +3 -1
  286. package/build/video/block.json +6 -0
  287. package/build/video/edit-common-settings.cjs +0 -1
  288. package/build/video/edit-common-settings.cjs.map +2 -2
  289. package/build/video/edit.cjs +17 -1
  290. package/build/video/edit.cjs.map +2 -2
  291. package/build/video/index.cjs +2 -0
  292. package/build/video/index.cjs.map +3 -3
  293. package/build/video/save.cjs +7 -1
  294. package/build/video/save.cjs.map +2 -2
  295. package/build/video/tracks-editor.cjs +0 -1
  296. package/build/video/tracks-editor.cjs.map +2 -2
  297. package/build/video/variations.cjs +75 -0
  298. package/build/video/variations.cjs.map +7 -0
  299. package/build-module/accordion/block.json +1 -0
  300. package/build-module/accordion/edit.mjs +0 -1
  301. package/build-module/accordion/edit.mjs.map +2 -2
  302. package/build-module/accordion/view.mjs +23 -0
  303. package/build-module/accordion/view.mjs.map +2 -2
  304. package/build-module/accordion-heading/deprecated.mjs +121 -1
  305. package/build-module/accordion-heading/deprecated.mjs.map +2 -2
  306. package/build-module/accordion-heading/edit.mjs +8 -1
  307. package/build-module/accordion-heading/edit.mjs.map +2 -2
  308. package/build-module/accordion-heading/save.mjs +8 -1
  309. package/build-module/accordion-heading/save.mjs.map +2 -2
  310. package/build-module/accordion-panel/edit.mjs +1 -1
  311. package/build-module/accordion-panel/edit.mjs.map +2 -2
  312. package/build-module/archives/edit.mjs +0 -1
  313. package/build-module/archives/edit.mjs.map +2 -2
  314. package/build-module/audio/edit.mjs +0 -1
  315. package/build-module/audio/edit.mjs.map +2 -2
  316. package/build-module/avatar/edit.mjs +0 -1
  317. package/build-module/avatar/edit.mjs.map +2 -2
  318. package/build-module/avatar/user-control.mjs +0 -1
  319. package/build-module/avatar/user-control.mjs.map +2 -2
  320. package/build-module/button/edit.mjs +19 -14
  321. package/build-module/button/edit.mjs.map +2 -2
  322. package/build-module/categories/edit.mjs +0 -1
  323. package/build-module/categories/edit.mjs.map +2 -2
  324. package/build-module/code/transforms.mjs +6 -4
  325. package/build-module/code/transforms.mjs.map +2 -2
  326. package/build-module/column/edit.mjs +0 -1
  327. package/build-module/column/edit.mjs.map +2 -2
  328. package/build-module/columns/edit.mjs +0 -1
  329. package/build-module/columns/edit.mjs.map +2 -2
  330. package/build-module/columns/transforms.mjs +9 -2
  331. package/build-module/columns/transforms.mjs.map +2 -2
  332. package/build-module/comment-author-avatar/edit.mjs +0 -1
  333. package/build-module/comment-author-avatar/edit.mjs.map +2 -2
  334. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs +0 -1
  335. package/build-module/comments-pagination/comments-pagination-arrow-controls.mjs.map +2 -2
  336. package/build-module/cover/block.json +11 -0
  337. package/build-module/cover/edit/block-controls.mjs +11 -4
  338. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  339. package/build-module/cover/edit/embed-video-url-input.mjs +5 -4
  340. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  341. package/build-module/cover/edit/index.mjs +1 -1
  342. package/build-module/cover/edit/index.mjs.map +2 -2
  343. package/build-module/cover/edit/inspector-controls.mjs +1 -3
  344. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  345. package/build-module/cover/embed-video-utils.mjs +16 -7
  346. package/build-module/cover/embed-video-utils.mjs.map +2 -2
  347. package/build-module/details/transforms.mjs +2 -2
  348. package/build-module/details/transforms.mjs.map +2 -2
  349. package/build-module/embed/edit.mjs +2 -3
  350. package/build-module/embed/edit.mjs.map +2 -2
  351. package/build-module/embed/embed-placeholder.mjs +20 -24
  352. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  353. package/build-module/file/edit.mjs +4 -3
  354. package/build-module/file/edit.mjs.map +2 -2
  355. package/build-module/file/inspector.mjs +0 -2
  356. package/build-module/file/inspector.mjs.map +2 -2
  357. package/build-module/file/transforms.mjs +25 -60
  358. package/build-module/file/transforms.mjs.map +2 -2
  359. package/build-module/form/edit.mjs +0 -2
  360. package/build-module/form/edit.mjs.map +2 -2
  361. package/build-module/freeform/convert-to-blocks-button.mjs +31 -0
  362. package/build-module/freeform/convert-to-blocks-button.mjs.map +7 -0
  363. package/build-module/freeform/edit.mjs +15 -34
  364. package/build-module/freeform/edit.mjs.map +2 -2
  365. package/build-module/freeform/index.mjs +1 -7
  366. package/build-module/freeform/index.mjs.map +2 -2
  367. package/build-module/gallery/block.json +8 -3
  368. package/build-module/gallery/dynamic-gallery.mjs +253 -0
  369. package/build-module/gallery/dynamic-gallery.mjs.map +7 -0
  370. package/build-module/gallery/dynamic-source.mjs +55 -0
  371. package/build-module/gallery/dynamic-source.mjs.map +7 -0
  372. package/build-module/gallery/edit.mjs +291 -209
  373. package/build-module/gallery/edit.mjs.map +2 -2
  374. package/build-module/gallery/gallery.mjs +0 -3
  375. package/build-module/gallery/gallery.mjs.map +2 -2
  376. package/build-module/gallery/gap-styles.mjs +53 -14
  377. package/build-module/gallery/gap-styles.mjs.map +2 -2
  378. package/build-module/gallery/index.mjs +2 -0
  379. package/build-module/gallery/index.mjs.map +2 -2
  380. package/build-module/gallery/save.mjs +16 -12
  381. package/build-module/gallery/save.mjs.map +2 -2
  382. package/build-module/gallery/use-dynamic-gallery.mjs +167 -0
  383. package/build-module/gallery/use-dynamic-gallery.mjs.map +7 -0
  384. package/build-module/gallery/variations.mjs +33 -0
  385. package/build-module/gallery/variations.mjs.map +7 -0
  386. package/build-module/group/edit.mjs +1 -2
  387. package/build-module/group/edit.mjs.map +2 -2
  388. package/build-module/group/transforms.mjs +4 -8
  389. package/build-module/group/transforms.mjs.map +2 -2
  390. package/build-module/heading/edit.mjs +11 -4
  391. package/build-module/heading/edit.mjs.map +2 -2
  392. package/build-module/html/block.json +2 -2
  393. package/build-module/html/edit.mjs +69 -25
  394. package/build-module/html/edit.mjs.map +2 -2
  395. package/build-module/html/index.mjs +3 -3
  396. package/build-module/html/index.mjs.map +2 -2
  397. package/build-module/html/modal.mjs +4 -8
  398. package/build-module/html/modal.mjs.map +2 -2
  399. package/build-module/html/save.mjs +2 -4
  400. package/build-module/html/save.mjs.map +2 -2
  401. package/build-module/html/transforms.mjs +8 -6
  402. package/build-module/html/transforms.mjs.map +2 -2
  403. package/build-module/icon/components/custom-inserter/icon-grid.mjs +25 -12
  404. package/build-module/icon/components/custom-inserter/icon-grid.mjs.map +2 -2
  405. package/build-module/icon/components/custom-inserter/index.mjs +102 -33
  406. package/build-module/icon/components/custom-inserter/index.mjs.map +2 -2
  407. package/build-module/icon/edit.mjs +11 -12
  408. package/build-module/icon/edit.mjs.map +2 -2
  409. package/build-module/image/block.json +1 -1
  410. package/build-module/image/image.mjs +23 -71
  411. package/build-module/image/image.mjs.map +2 -2
  412. package/build-module/image/transforms.mjs +78 -0
  413. package/build-module/image/transforms.mjs.map +2 -2
  414. package/build-module/index.mjs +18 -8
  415. package/build-module/index.mjs.map +2 -2
  416. package/build-module/latest-comments/edit.mjs +0 -2
  417. package/build-module/latest-comments/edit.mjs.map +2 -2
  418. package/build-module/latest-posts/block.json +8 -9
  419. package/build-module/latest-posts/constants.mjs +0 -2
  420. package/build-module/latest-posts/constants.mjs.map +2 -2
  421. package/build-module/latest-posts/deprecated.mjs +100 -8
  422. package/build-module/latest-posts/deprecated.mjs.map +2 -2
  423. package/build-module/latest-posts/edit.mjs +67 -85
  424. package/build-module/latest-posts/edit.mjs.map +2 -2
  425. package/build-module/list/ordered-list-settings.mjs +0 -1
  426. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  427. package/build-module/list-item/edit.mjs +1 -1
  428. package/build-module/list-item/edit.mjs.map +2 -2
  429. package/build-module/list-item/hooks/use-enter.mjs +15 -21
  430. package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
  431. package/build-module/list-item/hooks/use-space.mjs +4 -6
  432. package/build-module/list-item/hooks/use-space.mjs.map +2 -2
  433. package/build-module/media-text/edit.mjs +0 -1
  434. package/build-module/media-text/edit.mjs.map +2 -2
  435. package/build-module/missing/edit.mjs +1 -3
  436. package/build-module/missing/edit.mjs.map +2 -2
  437. package/build-module/navigation/edit/index.mjs +0 -1
  438. package/build-module/navigation/edit/index.mjs.map +2 -2
  439. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs +0 -1
  440. package/build-module/navigation/edit/overlay-menu-preview-controls.mjs.map +2 -2
  441. package/build-module/navigation/edit/overlay-menu-preview.mjs +0 -1
  442. package/build-module/navigation/edit/overlay-menu-preview.mjs.map +2 -2
  443. package/build-module/navigation/edit/overlay-template-part-selector.mjs +0 -1
  444. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  445. package/build-module/navigation/edit/overlay-visibility-control.mjs +0 -1
  446. package/build-module/navigation/edit/overlay-visibility-control.mjs.map +2 -2
  447. package/build-module/navigation-link/shared/use-link-preview.mjs +11 -1
  448. package/build-module/navigation-link/shared/use-link-preview.mjs.map +2 -2
  449. package/build-module/navigation-overlay-close/edit.mjs +0 -1
  450. package/build-module/navigation-overlay-close/edit.mjs.map +2 -2
  451. package/build-module/page-list/edit.mjs +0 -1
  452. package/build-module/page-list/edit.mjs.map +2 -2
  453. package/build-module/paragraph/block.json +1 -0
  454. package/build-module/paragraph/use-enter.mjs +4 -11
  455. package/build-module/paragraph/use-enter.mjs.map +2 -2
  456. package/build-module/playlist/block.json +28 -15
  457. package/build-module/playlist/context.mjs +11 -0
  458. package/build-module/playlist/context.mjs.map +7 -0
  459. package/build-module/playlist/edit.mjs +262 -84
  460. package/build-module/playlist/edit.mjs.map +2 -2
  461. package/build-module/playlist/index.mjs +1 -1
  462. package/build-module/playlist/index.mjs.map +2 -2
  463. package/build-module/playlist/utils.mjs +17 -7
  464. package/build-module/playlist/utils.mjs.map +2 -2
  465. package/build-module/playlist/view.mjs +93 -18
  466. package/build-module/playlist/view.mjs.map +2 -2
  467. package/build-module/playlist-track/block.json +4 -5
  468. package/build-module/playlist-track/edit.mjs +117 -72
  469. package/build-module/playlist-track/edit.mjs.map +2 -2
  470. package/build-module/post-author/edit.mjs +0 -2
  471. package/build-module/post-author/edit.mjs.map +2 -2
  472. package/build-module/post-content/block.json +1 -0
  473. package/build-module/post-excerpt/edit.mjs +0 -1
  474. package/build-module/post-excerpt/edit.mjs.map +2 -2
  475. package/build-module/post-featured-image/overlay-controls.mjs +1 -2
  476. package/build-module/post-featured-image/overlay-controls.mjs.map +2 -2
  477. package/build-module/post-navigation-link/edit.mjs +0 -2
  478. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  479. package/build-module/post-template/block.json +2 -1
  480. package/build-module/post-template/edit.mjs +10 -1
  481. package/build-module/post-template/edit.mjs.map +2 -2
  482. package/build-module/pullquote/block.json +3 -1
  483. package/build-module/query/block.json +3 -2
  484. package/build-module/query/edit/inspector-controls/author-control.mjs +1 -2
  485. package/build-module/query/edit/inspector-controls/author-control.mjs.map +2 -2
  486. package/build-module/query/edit/inspector-controls/format-controls.mjs +1 -2
  487. package/build-module/query/edit/inspector-controls/format-controls.mjs.map +2 -2
  488. package/build-module/query/edit/inspector-controls/index.mjs +40 -8
  489. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  490. package/build-module/query/edit/inspector-controls/offset-controls.mjs +0 -1
  491. package/build-module/query/edit/inspector-controls/offset-controls.mjs.map +2 -2
  492. package/build-module/query/edit/inspector-controls/order-control.mjs +0 -1
  493. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  494. package/build-module/query/edit/inspector-controls/pages-control.mjs +0 -1
  495. package/build-module/query/edit/inspector-controls/pages-control.mjs.map +2 -2
  496. package/build-module/query/edit/inspector-controls/parent-control.mjs +0 -1
  497. package/build-module/query/edit/inspector-controls/parent-control.mjs.map +2 -2
  498. package/build-module/query/edit/inspector-controls/per-page-control.mjs +0 -1
  499. package/build-module/query/edit/inspector-controls/per-page-control.mjs.map +2 -2
  500. package/build-module/query/edit/inspector-controls/sticky-control.mjs +0 -1
  501. package/build-module/query/edit/inspector-controls/sticky-control.mjs.map +2 -2
  502. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs +1 -2
  503. package/build-module/query/edit/inspector-controls/taxonomy-controls.mjs.map +2 -2
  504. package/build-module/query/edit/query-content.mjs +10 -3
  505. package/build-module/query/edit/query-content.mjs.map +2 -2
  506. package/build-module/query/index.mjs +2 -1
  507. package/build-module/query/index.mjs.map +2 -2
  508. package/build-module/query-pagination/query-pagination-arrow-controls.mjs +0 -1
  509. package/build-module/query-pagination/query-pagination-arrow-controls.mjs.map +2 -2
  510. package/build-module/query-pagination-numbers/edit.mjs +0 -1
  511. package/build-module/query-pagination-numbers/edit.mjs.map +2 -2
  512. package/build-module/quote/block.json +3 -1
  513. package/build-module/quote/transforms.mjs +6 -8
  514. package/build-module/quote/transforms.mjs.map +2 -2
  515. package/build-module/rss/edit.mjs +0 -4
  516. package/build-module/rss/edit.mjs.map +2 -2
  517. package/build-module/search/edit.mjs +0 -4
  518. package/build-module/search/edit.mjs.map +2 -2
  519. package/build-module/separator/edit.mjs +1 -2
  520. package/build-module/separator/edit.mjs.map +2 -2
  521. package/build-module/site-logo/edit.mjs +34 -64
  522. package/build-module/site-logo/edit.mjs.map +2 -2
  523. package/build-module/social-links/edit.mjs +0 -1
  524. package/build-module/social-links/edit.mjs.map +2 -2
  525. package/build-module/spacer/controls.mjs +2 -4
  526. package/build-module/spacer/controls.mjs.map +2 -2
  527. package/build-module/spacer/edit.mjs +1 -2
  528. package/build-module/spacer/edit.mjs.map +2 -2
  529. package/build-module/tab-list/block.json +5 -4
  530. package/build-module/tab-list/edit.mjs +102 -56
  531. package/build-module/tab-list/edit.mjs.map +2 -2
  532. package/build-module/tab-list/save.mjs +5 -3
  533. package/build-module/tab-list/save.mjs.map +2 -2
  534. package/build-module/tab-panel/block.json +1 -6
  535. package/build-module/tab-panel/controls.mjs +2 -4
  536. package/build-module/tab-panel/controls.mjs.map +2 -2
  537. package/build-module/tab-panel/edit.mjs +16 -16
  538. package/build-module/tab-panel/edit.mjs.map +2 -2
  539. package/build-module/tab-panels/block.json +0 -1
  540. package/build-module/tab-panels/edit.mjs +2 -4
  541. package/build-module/tab-panels/edit.mjs.map +2 -2
  542. package/build-module/table-of-contents/edit.mjs +0 -1
  543. package/build-module/table-of-contents/edit.mjs.map +2 -2
  544. package/build-module/tabs/block.json +0 -5
  545. package/build-module/tabs/edit.mjs +7 -47
  546. package/build-module/tabs/edit.mjs.map +2 -2
  547. package/build-module/tabs/tab-toolbar-controls.mjs +46 -0
  548. package/build-module/tabs/tab-toolbar-controls.mjs.map +7 -0
  549. package/build-module/tabs/use-tab-actions.mjs +66 -0
  550. package/build-module/tabs/use-tab-actions.mjs.map +7 -0
  551. package/build-module/tabs/use-tab-list-items-sync.mjs +25 -7
  552. package/build-module/tabs/use-tab-list-items-sync.mjs.map +2 -2
  553. package/build-module/tag-cloud/edit.mjs +2 -6
  554. package/build-module/tag-cloud/edit.mjs.map +2 -2
  555. package/build-module/template-part/edit/advanced-controls.mjs +0 -1
  556. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  557. package/build-module/template-part/edit/import-controls.mjs +1 -2
  558. package/build-module/template-part/edit/import-controls.mjs.map +2 -2
  559. package/build-module/term-name/block.json +1 -3
  560. package/build-module/term-name/deprecated.mjs +74 -0
  561. package/build-module/term-name/deprecated.mjs.map +7 -0
  562. package/build-module/term-name/edit.mjs +11 -28
  563. package/build-module/term-name/edit.mjs.map +2 -2
  564. package/build-module/term-name/index.mjs +3 -1
  565. package/build-module/term-name/index.mjs.map +2 -2
  566. package/build-module/terms-query/edit/inspector-controls/include-control.mjs +0 -1
  567. package/build-module/terms-query/edit/inspector-controls/include-control.mjs.map +2 -2
  568. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs +0 -1
  569. package/build-module/terms-query/edit/inspector-controls/inherit-control.mjs.map +2 -2
  570. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs +0 -1
  571. package/build-module/terms-query/edit/inspector-controls/max-terms-control.mjs.map +2 -2
  572. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +0 -1
  573. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  574. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs +0 -1
  575. package/build-module/terms-query/edit/inspector-controls/taxonomy-control.mjs.map +2 -2
  576. package/build-module/text-columns/edit.mjs +0 -1
  577. package/build-module/text-columns/edit.mjs.map +2 -2
  578. package/build-module/utils/waveform-player.mjs +144 -23
  579. package/build-module/utils/waveform-player.mjs.map +2 -2
  580. package/build-module/utils/waveform-utils.mjs +310 -16
  581. package/build-module/utils/waveform-utils.mjs.map +2 -2
  582. package/build-module/verse/block.json +3 -1
  583. package/build-module/video/block.json +6 -0
  584. package/build-module/video/edit-common-settings.mjs +0 -1
  585. package/build-module/video/edit-common-settings.mjs.map +2 -2
  586. package/build-module/video/edit.mjs +17 -1
  587. package/build-module/video/edit.mjs.map +2 -2
  588. package/build-module/video/index.mjs +2 -0
  589. package/build-module/video/index.mjs.map +2 -2
  590. package/build-module/video/save.mjs +7 -1
  591. package/build-module/video/save.mjs.map +2 -2
  592. package/build-module/video/tracks-editor.mjs +0 -1
  593. package/build-module/video/tracks-editor.mjs.map +2 -2
  594. package/build-module/video/variations.mjs +50 -0
  595. package/build-module/video/variations.mjs.map +7 -0
  596. package/build-style/accordion-panel/style-rtl.css +1 -2
  597. package/build-style/accordion-panel/style.css +1 -2
  598. package/build-style/audio/style-rtl.css +6 -0
  599. package/build-style/audio/style.css +6 -0
  600. package/build-style/audio/theme-rtl.css +6 -0
  601. package/build-style/audio/theme.css +6 -0
  602. package/build-style/columns/style-rtl.css +6 -0
  603. package/build-style/columns/style.css +6 -0
  604. package/build-style/common-rtl.css +6 -4
  605. package/build-style/common.css +6 -4
  606. package/build-style/editor-rtl.css +84 -24
  607. package/build-style/editor.css +84 -24
  608. package/build-style/embed/style-rtl.css +6 -0
  609. package/build-style/embed/style.css +6 -0
  610. package/build-style/embed/theme-rtl.css +6 -0
  611. package/build-style/embed/theme.css +6 -0
  612. package/build-style/freeform/editor-rtl.css +6 -0
  613. package/build-style/freeform/editor.css +6 -0
  614. package/build-style/gallery/editor-rtl.css +27 -3
  615. package/build-style/gallery/editor.css +27 -3
  616. package/build-style/gallery/style-rtl.css +6 -0
  617. package/build-style/gallery/style.css +6 -0
  618. package/build-style/gallery/theme-rtl.css +6 -0
  619. package/build-style/gallery/theme.css +6 -0
  620. package/build-style/html/editor-rtl.css +13 -0
  621. package/build-style/html/editor.css +13 -0
  622. package/build-style/icon/editor-rtl.css +80 -7
  623. package/build-style/icon/editor.css +80 -7
  624. package/build-style/image/editor-rtl.css +10 -0
  625. package/build-style/image/editor.css +10 -0
  626. package/build-style/image/style-rtl.css +6 -1
  627. package/build-style/image/style.css +6 -1
  628. package/build-style/image/theme-rtl.css +6 -0
  629. package/build-style/image/theme.css +6 -0
  630. package/build-style/latest-posts/style-rtl.css +26 -15
  631. package/build-style/latest-posts/style.css +26 -15
  632. package/build-style/more/editor-rtl.css +2 -2
  633. package/build-style/more/editor.css +2 -2
  634. package/build-style/navigation/editor-rtl.css +9 -4
  635. package/build-style/navigation/editor.css +9 -4
  636. package/build-style/navigation/style-rtl.css +6 -0
  637. package/build-style/navigation/style.css +6 -0
  638. package/build-style/navigation-link/editor-rtl.css +1 -1
  639. package/build-style/navigation-link/editor.css +1 -1
  640. package/build-style/navigation-submenu/editor-rtl.css +6 -0
  641. package/build-style/navigation-submenu/editor.css +6 -0
  642. package/build-style/nextpage/editor-rtl.css +2 -2
  643. package/build-style/nextpage/editor.css +2 -2
  644. package/build-style/page-list/editor-rtl.css +6 -0
  645. package/build-style/page-list/editor.css +6 -0
  646. package/build-style/playlist/editor-rtl.css +6 -0
  647. package/build-style/playlist/editor.css +6 -0
  648. package/build-style/playlist/style-rtl.css +158 -20
  649. package/build-style/playlist/style.css +158 -20
  650. package/build-style/playlist-track/style-rtl.css +10 -0
  651. package/build-style/playlist-track/style.css +10 -0
  652. package/build-style/post-template/style-rtl.css +6 -0
  653. package/build-style/post-template/style.css +6 -0
  654. package/build-style/query/editor-rtl.css +6 -0
  655. package/build-style/query/editor.css +6 -0
  656. package/build-style/rss/style-rtl.css +6 -0
  657. package/build-style/rss/style.css +6 -0
  658. package/build-style/shortcode/editor-rtl.css +6 -0
  659. package/build-style/shortcode/editor.css +6 -0
  660. package/build-style/style-rtl.css +192 -39
  661. package/build-style/style.css +192 -39
  662. package/build-style/table/editor-rtl.css +6 -0
  663. package/build-style/table/editor.css +6 -0
  664. package/build-style/table/theme-rtl.css +6 -0
  665. package/build-style/table/theme.css +6 -0
  666. package/build-style/template-part/editor-rtl.css +6 -0
  667. package/build-style/template-part/editor.css +6 -0
  668. package/build-style/theme-rtl.css +6 -0
  669. package/build-style/theme.css +6 -0
  670. package/build-style/video/editor-rtl.css +1 -1
  671. package/build-style/video/editor.css +1 -1
  672. package/build-style/video/style-rtl.css +6 -0
  673. package/build-style/video/style.css +6 -0
  674. package/build-style/video/theme-rtl.css +6 -0
  675. package/build-style/video/theme.css +6 -0
  676. package/build-types/table-of-contents/list.d.ts +1 -1
  677. package/build-types/table-of-contents/list.d.ts.map +1 -1
  678. package/package.json +48 -44
  679. package/src/accordion/README.md +2 -1
  680. package/src/accordion/block.json +1 -0
  681. package/src/accordion/edit.js +0 -1
  682. package/src/accordion/view.js +24 -0
  683. package/src/accordion-heading/README.md +1 -1
  684. package/src/accordion-heading/deprecated.js +122 -1
  685. package/src/accordion-heading/edit.js +12 -1
  686. package/src/accordion-heading/save.js +12 -1
  687. package/src/accordion-item/README.md +1 -1
  688. package/src/accordion-item/index.php +2 -1
  689. package/src/accordion-panel/edit.js +1 -1
  690. package/src/accordion-panel/style.scss +1 -4
  691. package/src/archives/edit.js +0 -1
  692. package/src/audio/edit.js +0 -1
  693. package/src/avatar/edit.js +0 -1
  694. package/src/avatar/user-control.js +0 -1
  695. package/src/button/edit.js +21 -15
  696. package/src/categories/edit.js +0 -1
  697. package/src/code/transforms.js +6 -4
  698. package/src/column/edit.js +0 -1
  699. package/src/columns/edit.js +0 -1
  700. package/src/columns/transforms.js +9 -2
  701. package/src/comment-author-avatar/edit.js +0 -1
  702. package/src/comments-pagination/comments-pagination-arrow-controls.js +0 -1
  703. package/src/common.scss +0 -4
  704. package/src/cover/README.md +60 -0
  705. package/src/cover/block.json +11 -0
  706. package/src/cover/edit/block-controls.js +21 -11
  707. package/src/cover/edit/embed-video-url-input.js +5 -4
  708. package/src/cover/edit/index.js +9 -11
  709. package/src/cover/edit/inspector-controls.js +0 -2
  710. package/src/cover/embed-video-utils.js +38 -13
  711. package/src/cover/test/edit.js +4 -4
  712. package/src/details/transforms.js +2 -2
  713. package/src/embed/edit.js +4 -5
  714. package/src/embed/embed-placeholder.js +16 -20
  715. package/src/file/edit.js +8 -8
  716. package/src/file/inspector.js +0 -2
  717. package/src/file/transforms.js +28 -60
  718. package/src/form/edit.js +0 -2
  719. package/src/freeform/convert-to-blocks-button.js +33 -0
  720. package/src/freeform/edit.js +11 -21
  721. package/src/freeform/index.js +1 -9
  722. package/src/gallery/README.md +4 -1
  723. package/src/gallery/block.json +8 -3
  724. package/src/gallery/dynamic-gallery.js +384 -0
  725. package/src/gallery/dynamic-source.js +117 -0
  726. package/src/gallery/edit.js +155 -49
  727. package/src/gallery/editor.scss +32 -4
  728. package/src/gallery/gallery.js +0 -7
  729. package/src/gallery/gap-styles.js +79 -20
  730. package/src/gallery/index.js +2 -0
  731. package/src/gallery/index.php +379 -42
  732. package/src/gallery/save.js +22 -11
  733. package/src/gallery/test/dynamic-source.js +90 -0
  734. package/src/gallery/use-dynamic-gallery.js +275 -0
  735. package/src/gallery/variations.js +37 -0
  736. package/src/group/edit.js +2 -3
  737. package/src/group/transforms.js +4 -8
  738. package/src/heading/edit.js +19 -14
  739. package/src/home-link/index.php +1 -1
  740. package/src/html/README.md +2 -1
  741. package/src/html/block.json +2 -2
  742. package/src/html/edit.js +86 -14
  743. package/src/html/editor.scss +10 -0
  744. package/src/html/index.js +3 -4
  745. package/src/html/modal.js +5 -9
  746. package/src/html/save.js +4 -7
  747. package/src/html/test/index.js +143 -0
  748. package/src/html/transforms.js +11 -6
  749. package/src/icon/components/custom-inserter/icon-grid.js +40 -11
  750. package/src/icon/components/custom-inserter/index.js +98 -25
  751. package/src/icon/edit.js +11 -17
  752. package/src/icon/editor.scss +33 -8
  753. package/src/icon/index.php +38 -45
  754. package/src/image/README.md +1 -1
  755. package/src/image/block.json +1 -1
  756. package/src/image/editor.scss +11 -0
  757. package/src/image/image.js +105 -169
  758. package/src/image/style.scss +0 -1
  759. package/src/image/test/use-open-image-media-editor-modal.js +19 -4
  760. package/src/image/transforms.js +128 -0
  761. package/src/index.js +19 -9
  762. package/src/latest-comments/edit.js +0 -2
  763. package/src/latest-posts/README.md +2 -2
  764. package/src/latest-posts/block.json +8 -9
  765. package/src/latest-posts/constants.js +0 -1
  766. package/src/latest-posts/deprecated.js +112 -9
  767. package/src/latest-posts/edit.js +38 -53
  768. package/src/latest-posts/index.php +60 -19
  769. package/src/latest-posts/style.scss +12 -2
  770. package/src/latest-posts/test/deprecated.js +153 -0
  771. package/src/list/ordered-list-settings.js +0 -1
  772. package/src/list-item/edit.js +1 -1
  773. package/src/list-item/hooks/use-enter.js +15 -22
  774. package/src/list-item/hooks/use-space.js +4 -6
  775. package/src/media-text/edit.js +0 -1
  776. package/src/media-text/editor.scss +1 -0
  777. package/src/missing/edit.js +1 -3
  778. package/src/more/editor.scss +1 -1
  779. package/src/navigation/edit/index.js +0 -1
  780. package/src/navigation/edit/overlay-menu-preview-controls.js +0 -1
  781. package/src/navigation/edit/overlay-menu-preview.js +0 -1
  782. package/src/navigation/edit/overlay-template-part-selector.js +0 -1
  783. package/src/navigation/edit/overlay-visibility-control.js +0 -1
  784. package/src/navigation/editor.scss +1 -2
  785. package/src/navigation-link/editor.scss +1 -1
  786. package/src/navigation-link/index.php +6 -3
  787. package/src/navigation-link/shared/test/controls.js +0 -4
  788. package/src/navigation-link/shared/test/use-entity-binding.js +8 -12
  789. package/src/navigation-link/shared/test/use-handle-link-change.test.js +0 -4
  790. package/src/navigation-link/shared/test/use-link-preview.test.js +17 -4
  791. package/src/navigation-link/shared/use-link-preview.js +24 -4
  792. package/src/navigation-overlay-close/edit.js +0 -1
  793. package/src/navigation-submenu/index.php +6 -3
  794. package/src/nextpage/editor.scss +1 -1
  795. package/src/page-list/edit.js +0 -1
  796. package/src/page-list/index.php +1 -1
  797. package/src/paragraph/README.md +1 -0
  798. package/src/paragraph/block.json +1 -0
  799. package/src/paragraph/use-enter.js +4 -11
  800. package/src/playlist/README.md +17 -20
  801. package/src/playlist/block.json +28 -15
  802. package/src/playlist/context.js +9 -0
  803. package/src/playlist/edit.js +298 -97
  804. package/src/playlist/editor.scss +6 -0
  805. package/src/playlist/index.js +1 -1
  806. package/src/playlist/index.php +91 -36
  807. package/src/playlist/style.scss +51 -6
  808. package/src/playlist/test/edit.js +13 -12
  809. package/src/playlist/utils.js +24 -12
  810. package/src/playlist/view.js +101 -20
  811. package/src/playlist-track/README.md +3 -5
  812. package/src/playlist-track/block.json +4 -5
  813. package/src/playlist-track/edit.js +116 -83
  814. package/src/playlist-track/index.php +24 -17
  815. package/src/playlist-track/style.scss +10 -0
  816. package/src/playlist-track/test/edit.js +169 -0
  817. package/src/post-author/edit.js +0 -2
  818. package/src/post-content/README.md +1 -0
  819. package/src/post-content/block.json +1 -0
  820. package/src/post-excerpt/edit.js +0 -1
  821. package/src/post-featured-image/overlay-controls.js +0 -1
  822. package/src/post-navigation-link/edit.js +0 -2
  823. package/src/post-template/README.md +1 -0
  824. package/src/post-template/block.json +2 -1
  825. package/src/post-template/edit.js +9 -0
  826. package/src/pullquote/README.md +1 -0
  827. package/src/pullquote/block.json +3 -1
  828. package/src/query/README.md +2 -1
  829. package/src/query/block.json +3 -2
  830. package/src/query/edit/inspector-controls/author-control.js +0 -1
  831. package/src/query/edit/inspector-controls/format-controls.js +0 -1
  832. package/src/query/edit/inspector-controls/index.js +43 -6
  833. package/src/query/edit/inspector-controls/offset-controls.js +0 -1
  834. package/src/query/edit/inspector-controls/order-control.js +0 -1
  835. package/src/query/edit/inspector-controls/pages-control.js +0 -1
  836. package/src/query/edit/inspector-controls/parent-control.js +0 -1
  837. package/src/query/edit/inspector-controls/per-page-control.js +0 -1
  838. package/src/query/edit/inspector-controls/sticky-control.js +0 -1
  839. package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
  840. package/src/query/edit/query-content.js +19 -3
  841. package/src/query/index.js +1 -0
  842. package/src/query-pagination/query-pagination-arrow-controls.js +0 -1
  843. package/src/query-pagination-numbers/edit.js +0 -1
  844. package/src/quote/README.md +1 -0
  845. package/src/quote/block.json +3 -1
  846. package/src/quote/transforms.js +6 -8
  847. package/src/rss/edit.js +0 -4
  848. package/src/rss/index.php +1 -1
  849. package/src/search/edit.js +0 -4
  850. package/src/separator/edit.js +0 -1
  851. package/src/site-logo/edit.js +38 -78
  852. package/src/social-links/edit.js +0 -1
  853. package/src/spacer/controls.js +2 -4
  854. package/src/spacer/edit.js +2 -3
  855. package/src/tab-list/README.md +4 -5
  856. package/src/tab-list/block.json +5 -4
  857. package/src/tab-list/edit.js +133 -73
  858. package/src/tab-list/index.php +9 -4
  859. package/src/tab-list/save.js +5 -4
  860. package/src/tab-panel/README.md +4 -6
  861. package/src/tab-panel/block.json +1 -6
  862. package/src/tab-panel/controls.js +2 -4
  863. package/src/tab-panel/edit.js +19 -24
  864. package/src/tab-panels/README.md +5 -3
  865. package/src/tab-panels/block.json +0 -1
  866. package/src/tab-panels/edit.js +2 -4
  867. package/src/table-of-contents/edit.js +0 -1
  868. package/src/tabs/README.md +18 -9
  869. package/src/tabs/block.json +0 -5
  870. package/src/tabs/edit.js +8 -65
  871. package/src/tabs/tab-toolbar-controls.js +58 -0
  872. package/src/tabs/use-tab-actions.js +102 -0
  873. package/src/tabs/use-tab-list-items-sync.js +31 -12
  874. package/src/tag-cloud/edit.js +0 -4
  875. package/src/tag-cloud/index.php +1 -1
  876. package/src/template-part/edit/advanced-controls.js +0 -1
  877. package/src/template-part/edit/import-controls.js +0 -1
  878. package/src/template-part/index.php +1 -16
  879. package/src/term-name/README.md +1 -1
  880. package/src/term-name/block.json +1 -3
  881. package/src/term-name/deprecated.js +74 -0
  882. package/src/term-name/edit.js +2 -18
  883. package/src/term-name/index.js +2 -0
  884. package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
  885. package/src/terms-query/edit/inspector-controls/inherit-control.js +0 -1
  886. package/src/terms-query/edit/inspector-controls/max-terms-control.js +0 -1
  887. package/src/terms-query/edit/inspector-controls/order-control.js +0 -1
  888. package/src/terms-query/edit/inspector-controls/taxonomy-control.js +0 -1
  889. package/src/text-columns/edit.js +0 -1
  890. package/src/utils/media-control.scss +1 -5
  891. package/src/utils/test/waveform-player.js +297 -38
  892. package/src/utils/test/waveform-utils.js +410 -9
  893. package/src/utils/waveform-player.js +189 -59
  894. package/src/utils/waveform-utils.js +443 -40
  895. package/src/verse/README.md +1 -0
  896. package/src/verse/block.json +3 -1
  897. package/src/video/README.md +2 -0
  898. package/src/video/block.json +6 -0
  899. package/src/video/edit-common-settings.js +0 -1
  900. package/src/video/edit.js +30 -1
  901. package/src/video/editor.scss +1 -1
  902. package/src/video/index.js +2 -0
  903. package/src/video/save.js +12 -0
  904. package/src/video/test/variations.js +65 -0
  905. package/src/video/tracks-editor.js +0 -1
  906. package/src/video/variations.js +65 -0
  907. package/build/freeform/migration-notice.cjs +0 -58
  908. package/build/freeform/migration-notice.cjs.map +0 -7
  909. package/build/tab-panel/add-tab-toolbar-control.cjs +0 -90
  910. package/build/tab-panel/add-tab-toolbar-control.cjs.map +0 -7
  911. package/build/tab-panel/remove-tab-toolbar-control.cjs +0 -99
  912. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +0 -7
  913. package/build/tabs/controls.cjs +0 -45
  914. package/build/tabs/controls.cjs.map +0 -7
  915. package/build-module/freeform/migration-notice.mjs +0 -37
  916. package/build-module/freeform/migration-notice.mjs.map +0 -7
  917. package/build-module/tab-panel/add-tab-toolbar-control.mjs +0 -72
  918. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +0 -7
  919. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +0 -81
  920. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +0 -7
  921. package/build-module/tabs/controls.mjs +0 -14
  922. package/build-module/tabs/controls.mjs.map +0 -7
  923. package/src/freeform/migration-notice.js +0 -49
  924. package/src/tab-panel/add-tab-toolbar-control.js +0 -90
  925. package/src/tab-panel/remove-tab-toolbar-control.js +0 -110
  926. package/src/tabs/controls.js +0 -14
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/site-logo/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { MediaControl, MediaControlPreview } from '../utils/media-control';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { mediaEditKey, openMediaEditorModalKey } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst cropButtonRef = useRef();\n\tconst { toggleSelection, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if we're in contentOnly mode\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst {\n\t\timageEditing,\n\t\tmaxWidth,\n\t\ttitle,\n\t\teditMediaEntity,\n\t\topenMediaEditorModal,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t\teditMediaEntity: settings?.[ mediaEditKey ],\n\t\t\topenMediaEditorModal: settings?.[ openMediaEditorModalKey ],\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Always apply modal updates as snackbar Undo may restore the original id.\n\tconst handleMediaUpdate = ( { id: newId } ) => {\n\t\tif ( typeof newId === 'number' ) {\n\t\t\tsetLogo( newId );\n\t\t}\n\t};\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId &&\n\t\tnaturalWidth &&\n\t\tnaturalHeight &&\n\t\timageEditing &&\n\t\t!! editMediaEntity;\n\n\t// Hide crop and dimensions editing in write mode\n\tconst shouldShowCropAndDimensions = ! isContentOnlyMode;\n\n\tlet imgEdit;\n\tif ( canEditImage && isEditingImage ) {\n\t\timgEdit = (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// Always render ResizableBox but disable resize functionality in contentOnly mode\n\t\timgEdit = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected && shouldShowCropAndDimensions }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-no-target-blank\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ canEditImage &&\n\t\t\t\t! isEditingImage &&\n\t\t\t\tshouldShowCropAndDimensions && (\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tref={ cropButtonRef }\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\topenMediaEditorModal && logoId\n\t\t\t\t\t\t\t\t\t? () =>\n\t\t\t\t\t\t\t\t\t\t\topenMediaEditorModal( {\n\t\t\t\t\t\t\t\t\t\t\t\tid: logoId,\n\t\t\t\t\t\t\t\t\t\t\t\tonUpdate: handleMediaUpdate,\n\t\t\t\t\t\t\t\t\t\t\t\tonClose: () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tcropButtonRef.current?.focus(),\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t: () => setIsEditingImage( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-haspopup={\n\t\t\t\t\t\t\t\topenMediaEditorModal && logoId\n\t\t\t\t\t\t\t\t\t? 'dialog'\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\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t}\n\t\t\t);\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvariant=\"toolbar\"\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-container\"\n\t\t\t\t\t\tstyle={ { gridColumn: '1 / -1' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MediaControlPreview\n\t\t\t\t\t\t\turl={ mediaItemData?.source_url }\n\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\tmediaItemData?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t?.file || mediaItemData?.slug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! logoUrl }\n\t\t\t\t\t\tlabel={ __( 'Logo' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<MediaControl\n\t\t\t\t\t\t\tmediaId={ siteLogoId }\n\t\t\t\t\t\t\tmediaUrl={ logoUrl }\n\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\tmediaItemData?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t?.file || mediaItemData?.slug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ onRemoveLogo }\n\t\t\t\t\t\t\tisUploading={ !! temporaryURL }\n\t\t\t\t\t\t\temptyLabel={ __( 'Logo' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],
5
- "mappings": "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",
6
- "names": ["blockEditorPrivateApis", "blockEditorStore", "coreStore", "ImageEditor", "ToolsPanel", "ToolsPanelItem", "noticesStore", "clsx"]
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { MediaControl, MediaControlPreview } from '../utils/media-control';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { mediaEditKey, openMediaEditorModalKey } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst cropButtonRef = useRef();\n\tconst { toggleSelection, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Check if we're in contentOnly mode\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst {\n\t\timageEditing,\n\t\tmaxWidth,\n\t\ttitle,\n\t\teditMediaEntity,\n\t\topenMediaEditorModal,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t\teditMediaEntity: settings?.[ mediaEditKey ],\n\t\t\topenMediaEditorModal: settings?.[ openMediaEditorModalKey ],\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\t// Always apply modal updates as snackbar Undo may restore the original id.\n\tconst handleMediaUpdate = ( { id: newId } ) => {\n\t\tif ( typeof newId === 'number' ) {\n\t\t\tsetLogo( newId );\n\t\t}\n\t};\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId &&\n\t\tnaturalWidth &&\n\t\tnaturalHeight &&\n\t\timageEditing &&\n\t\t!! editMediaEntity;\n\n\t// Hide crop and dimensions editing in write mode\n\tconst shouldShowCropAndDimensions = ! isContentOnlyMode;\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content, react/jsx-no-target-blank\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ canEditImage &&\n\t\t\t\topenMediaEditorModal &&\n\t\t\t\tshouldShowCropAndDimensions && (\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tref={ cropButtonRef }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\topenMediaEditorModal( {\n\t\t\t\t\t\t\t\t\tid: logoId,\n\t\t\t\t\t\t\t\t\tonUpdate: handleMediaUpdate,\n\t\t\t\t\t\t\t\t\tonClose: () =>\n\t\t\t\t\t\t\t\t\t\tcropButtonRef.current?.focus(),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t{ /* Always render ResizableBox but disable resize functionality in contentOnly mode */ }\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected && shouldShowCropAndDimensions }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t}\n\t\t\t);\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\t'attachment',\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvariant=\"toolbar\"\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-container\"\n\t\t\t\t\t\tstyle={ { gridColumn: '1 / -1' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MediaControlPreview\n\t\t\t\t\t\t\turl={ mediaItemData?.source_url }\n\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\tmediaItemData?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t?.file || mediaItemData?.slug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! logoUrl }\n\t\t\t\t\t\tlabel={ __( 'Logo' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<MediaControl\n\t\t\t\t\t\t\tmediaId={ siteLogoId }\n\t\t\t\t\t\t\tmediaUrl={ logoUrl }\n\t\t\t\t\t\t\tfilename={\n\t\t\t\t\t\t\t\tmediaItemData?.media_details?.sizes?.full\n\t\t\t\t\t\t\t\t\t?.file || mediaItemData?.slug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ onRemoveLogo }\n\t\t\t\t\t\t\tisUploading={ !! temporaryURL }\n\t\t\t\t\t\t\temptyLabel={ __( 'Logo' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["blockEditorPrivateApis", "blockEditorStore", "coreStore", "ToolsPanel", "ToolsPanelItem", "noticesStore", "clsx"]
7
7
  }
@@ -169,7 +169,6 @@ function SocialLinksEdit(props) {
169
169
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
170
170
  import_components.SelectControl,
171
171
  {
172
- __next40pxDefaultSize: true,
173
172
  label: (0, import_i18n.__)("Icon size"),
174
173
  onChange: (newSize) => {
175
174
  setAttributes({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/social-links/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ label: __( 'Default' ), value: '' },\n\t{ label: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ label: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ label: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ label: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! size }\n\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { size: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\t\tonChange={ ( newSize ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsize: newSize === '' ? undefined : newSize,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ size ?? '' }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ label: __( 'Default' ), value: '' },\n\t{ label: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ label: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ label: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ label: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\n\t\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! size }\n\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { size: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Icon size' ) }\n\t\t\t\t\t\t\tonChange={ ( newSize ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsize: newSize === '' ? undefined : newSize,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ size ?? '' }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\topenInNewTab: ! openInNewTab,\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</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorStore", "clsx", "useMultipleOriginColorsAndGradients", "ToolsPanel", "ToolsPanelItem", "ColorGradientSettingsDropdown"]
7
7
  }
@@ -27,7 +27,6 @@ var import_i18n = require("@wordpress/i18n");
27
27
  var import_block_editor = require("@wordpress/block-editor");
28
28
  var import_components = require("@wordpress/components");
29
29
  var import_compose = require("@wordpress/compose");
30
- var import_primitives = require("@wordpress/primitives");
31
30
  var import_lock_unlock = require("../lock-unlock.cjs");
32
31
  var import_constants = require("./constants.cjs");
33
32
  var import_hooks = require("../utils/hooks.cjs");
@@ -53,10 +52,9 @@ function DimensionInput({ label, onChange, isResizing, value = "" }) {
53
52
  onChange,
54
53
  value: computedValue,
55
54
  units,
56
- label,
57
- __next40pxDefaultSize: true
55
+ label
58
56
  }
59
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.View, { className: "tools-panel-item-spacing", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "tools-panel-item-spacing", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
60
58
  import_block_editor.__experimentalSpacingSizesControl,
61
59
  {
62
60
  values: { all: computedValue },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/spacer/controls.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n\tisValueSpacingPreset,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { MIN_SPACER_SIZE } from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\tconst spacingSizes = useSpacingSizes();\n\tconst [ spacingUnits ] = useSettings( 'spacing.units' );\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnits = spacingUnits\n\t\t? spacingUnits.filter( ( unit ) => unit !== '%' )\n\t\t: [ 'px', 'em', 'rem', 'vw', 'vh' ];\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits,\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\tconst computedValue = isValueSpacingPreset( value )\n\t\t? value\n\t\t: [ parsedQuantity, isResizing ? 'px' : parsedUnit ].join( '' );\n\n\treturn (\n\t\t<>\n\t\t\t{ spacingSizes?.length < 2 ? (\n\t\t\t\t<UnitControl\n\t\t\t\t\tid={ inputId }\n\t\t\t\t\tisResetValueOnUnitChange\n\t\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ computedValue }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<View className=\"tools-panel-item-spacing\">\n\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\tvalues={ { all: computedValue } }\n\t\t\t\t\t\tonChange={ ( { all } ) => {\n\t\t\t\t\t\t\tonChange( all );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tsides={ [ 'all' ] }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ false }\n\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\theight: '100px',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => width !== undefined }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => height !== '100px' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { height: '100px' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n\tisValueSpacingPreset,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { MIN_SPACER_SIZE } from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\tconst spacingSizes = useSpacingSizes();\n\tconst [ spacingUnits ] = useSettings( 'spacing.units' );\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnits = spacingUnits\n\t\t? spacingUnits.filter( ( unit ) => unit !== '%' )\n\t\t: [ 'px', 'em', 'rem', 'vw', 'vh' ];\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits,\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\tconst computedValue = isValueSpacingPreset( value )\n\t\t? value\n\t\t: [ parsedQuantity, isResizing ? 'px' : parsedUnit ].join( '' );\n\n\treturn (\n\t\t<>\n\t\t\t{ spacingSizes?.length < 2 ? (\n\t\t\t\t<UnitControl\n\t\t\t\t\tid={ inputId }\n\t\t\t\t\tisResetValueOnUnitChange\n\t\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ computedValue }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"tools-panel-item-spacing\">\n\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\tvalues={ { all: computedValue } }\n\t\t\t\t\t\tonChange={ ( { all } ) => {\n\t\t\t\t\t\t\tonChange( all );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tsides={ [ 'all' ] }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ false }\n\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\theight: '100px',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => width !== undefined }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => height !== '100px' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { height: '100px' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "UnitControl", "useCustomUnits", "parseQuantityAndUnitFromRawValue", "SpacingSizesControl", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -37,7 +37,6 @@ var import_clsx = __toESM(require("clsx"));
37
37
  var import_block_editor = require("@wordpress/block-editor");
38
38
  var import_components = require("@wordpress/components");
39
39
  var import_element = require("@wordpress/element");
40
- var import_primitives = require("@wordpress/primitives");
41
40
  var import_data = require("@wordpress/data");
42
41
  var import_lock_unlock = require("../lock-unlock.cjs");
43
42
  var import_controls = __toESM(require("./controls.cjs"));
@@ -299,7 +298,7 @@ var SpacerEdit = ({
299
298
  const blockEditingMode = (0, import_block_editor.useBlockEditingMode)();
300
299
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
301
300
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
302
- import_primitives.View,
301
+ "div",
303
302
  {
304
303
  ...(0, import_block_editor.useBlockProps)({
305
304
  style,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/spacer/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ clsx( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst {\n\t\torientation: parentOrientation,\n\t\ttype,\n\t\tdefault: { type: defaultType } = {},\n\t} = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout =\n\t\ttype === 'flex' || ( ! type && defaultType === 'flex' );\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst spacingSizes = useSpacingSizes();\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\t// To avoid interfering with undo/redo operations any changes in this\n\t\t// effect must not make history and should be preceded by\n\t\t// `__unstableMarkNextChangeAsNotPersistent()`.\n\t\tconst setAttributesCovertly = ( nextAttributes ) => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( nextAttributes );\n\t\t};\n\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\tflexSize === undefined\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tsetAttributesCovertly(\n\t\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: undefined }\n\t\t\t\t\t: { height: undefined }\n\t\t\t);\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tsetAttributesCovertly( {\n\t\t\t\t...( inheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: flexSize }\n\t\t\t\t\t: { height: flexSize } ),\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: clsx( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ blockEditingMode === 'default' &&\n\t\t\t\t\tresizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ clsx( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst {\n\t\torientation: parentOrientation,\n\t\ttype,\n\t\tdefault: { type: defaultType } = {},\n\t} = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout =\n\t\ttype === 'flex' || ( ! type && defaultType === 'flex' );\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst spacingSizes = useSpacingSizes();\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\t// To avoid interfering with undo/redo operations any changes in this\n\t\t// effect must not make history and should be preceded by\n\t\t// `__unstableMarkNextChangeAsNotPersistent()`.\n\t\tconst setAttributesCovertly = ( nextAttributes ) => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( nextAttributes );\n\t\t};\n\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\tflexSize === undefined\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tsetAttributesCovertly(\n\t\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: undefined }\n\t\t\t\t\t: { height: undefined }\n\t\t\t);\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tsetAttributesCovertly( {\n\t\t\t\t...( inheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: flexSize }\n\t\t\t\t\t: { height: flexSize } ),\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: clsx( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ blockEditingMode === 'default' &&\n\t\t\t\t\tresizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</div>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "clsx", "blockEditorStore", "SpacerControls"]
7
7
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "$schema": "https://schemas.wp.org/trunk/block.json",
3
- "__experimental": true,
4
3
  "apiVersion": 3,
5
4
  "name": "core/tab-list",
6
5
  "title": "Tab List",
@@ -16,8 +15,9 @@
16
15
  "selector": "button",
17
16
  "query": {
18
17
  "label": {
19
- "type": "string",
20
- "source": "html"
18
+ "type": "rich-text",
19
+ "source": "rich-text",
20
+ "role": "content"
21
21
  }
22
22
  },
23
23
  "default": []
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "supports": {
27
27
  "html": false,
28
+ "ariaLabel": true,
28
29
  "visibility": false,
29
30
  "lock": false,
30
31
  "color": {
@@ -50,7 +51,7 @@
50
51
  "layout": {
51
52
  "default": {
52
53
  "type": "flex",
53
- "flexWrap": "nowrap"
54
+ "flexWrap": "wrap"
54
55
  },
55
56
  "allowVerticalAlignment": false,
56
57
  "allowOrientation": false,