@wordpress/block-library 9.48.1 → 10.0.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 (638) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/audio/edit.cjs +8 -1
  3. package/build/audio/edit.cjs.map +2 -2
  4. package/build/breadcrumbs/edit.cjs +1 -2
  5. package/build/breadcrumbs/edit.cjs.map +2 -2
  6. package/build/button/edit.cjs +1 -2
  7. package/build/button/edit.cjs.map +2 -2
  8. package/build/categories/edit.cjs +1 -1
  9. package/build/categories/edit.cjs.map +1 -1
  10. package/build/code/edit.cjs +1 -1
  11. package/build/code/edit.cjs.map +2 -2
  12. package/build/code/index.cjs +1 -1
  13. package/build/code/index.cjs.map +1 -1
  14. package/build/columns/utils.cjs.map +1 -1
  15. package/build/comments/edit/comments-legacy.cjs +1 -1
  16. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  17. package/build/comments/edit/placeholder.cjs +4 -4
  18. package/build/comments/edit/placeholder.cjs.map +1 -1
  19. package/build/comments-pagination-next/edit.cjs +2 -2
  20. package/build/comments-pagination-next/edit.cjs.map +1 -1
  21. package/build/comments-pagination-previous/edit.cjs +2 -2
  22. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  23. package/build/cover/deprecated.cjs +3 -3
  24. package/build/cover/deprecated.cjs.map +2 -2
  25. package/build/cover/edit/block-controls.cjs +13 -0
  26. package/build/cover/edit/block-controls.cjs.map +2 -2
  27. package/build/cover/edit/embed-video-url-input.cjs +0 -1
  28. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  29. package/build/cover/edit/index.cjs +61 -2
  30. package/build/cover/edit/index.cjs.map +3 -3
  31. package/build/cover/edit/inspector-controls.cjs +93 -35
  32. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  33. package/build/details/edit.cjs +1 -2
  34. package/build/details/edit.cjs.map +2 -2
  35. package/build/embed/embed-placeholder.cjs +1 -1
  36. package/build/embed/embed-placeholder.cjs.map +2 -2
  37. package/build/file/edit.cjs +3 -11
  38. package/build/file/edit.cjs.map +2 -2
  39. package/build/file/index.cjs +3 -1
  40. package/build/file/index.cjs.map +3 -3
  41. package/build/file/transforms.cjs +11 -32
  42. package/build/file/transforms.cjs.map +2 -2
  43. package/build/{freeform/convert-to-blocks-button.cjs → file/variations.cjs} +16 -18
  44. package/build/file/variations.cjs.map +7 -0
  45. package/build/footnotes/edit.cjs +1 -1
  46. package/build/footnotes/edit.cjs.map +2 -2
  47. package/build/form/edit.cjs +0 -2
  48. package/build/form/edit.cjs.map +2 -2
  49. package/build/form-input/edit.cjs +1 -3
  50. package/build/form-input/edit.cjs.map +2 -2
  51. package/build/freeform/edit.cjs +6 -15
  52. package/build/freeform/edit.cjs.map +3 -3
  53. package/build/freeform/migration-notice.cjs.map +2 -2
  54. package/build/gallery/edit.cjs +2 -2
  55. package/build/gallery/edit.cjs.map +2 -2
  56. package/build/home-link/edit.cjs +1 -2
  57. package/build/home-link/edit.cjs.map +2 -2
  58. package/build/html/index.cjs +1 -1
  59. package/build/html/index.cjs.map +2 -2
  60. package/build/html/modal.cjs +9 -6
  61. package/build/html/modal.cjs.map +2 -2
  62. package/build/icon/block.json +12 -0
  63. package/build/icon/edit.cjs +90 -41
  64. package/build/icon/edit.cjs.map +3 -3
  65. package/build/icon/index.cjs +3 -1
  66. package/build/icon/index.cjs.map +3 -3
  67. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  68. package/build/icon/variations.cjs.map +7 -0
  69. package/build/image/block.json +1 -0
  70. package/build/image/edit.cjs +4 -3
  71. package/build/image/edit.cjs.map +2 -2
  72. package/build/image/image.cjs +91 -29
  73. package/build/image/image.cjs.map +2 -2
  74. package/build/image/index.cjs +1 -1
  75. package/build/image/index.cjs.map +2 -2
  76. package/build/image/transforms.cjs +9 -3
  77. package/build/image/transforms.cjs.map +2 -2
  78. package/build/image/use-open-image-media-editor-modal.cjs +5 -25
  79. package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
  80. package/build/index.cjs +1 -3
  81. package/build/index.cjs.map +2 -2
  82. package/build/latest-posts/edit.cjs +1 -1
  83. package/build/latest-posts/edit.cjs.map +1 -1
  84. package/build/list/ordered-list-settings.cjs +0 -1
  85. package/build/list/ordered-list-settings.cjs.map +2 -2
  86. package/build/math/edit.cjs +1 -1
  87. package/build/math/index.cjs +1 -1
  88. package/build/math/index.cjs.map +1 -1
  89. package/build/media-text/constants.cjs +1 -1
  90. package/build/media-text/constants.cjs.map +2 -2
  91. package/build/media-text/index.cjs +1 -1
  92. package/build/media-text/index.cjs.map +2 -2
  93. package/build/missing/edit.cjs +2 -2
  94. package/build/missing/edit.cjs.map +1 -1
  95. package/build/navigation/edit/index.cjs +19 -13
  96. package/build/navigation/edit/index.cjs.map +2 -2
  97. package/build/navigation/edit/navigation-menu-name-control.cjs +0 -1
  98. package/build/navigation/edit/navigation-menu-name-control.cjs.map +2 -2
  99. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  100. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  101. package/build/navigation/edit/placeholder/index.cjs +1 -1
  102. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  103. package/build/navigation-link/block.json +1 -1
  104. package/build/navigation-link/edit.cjs +1 -1
  105. package/build/navigation-link/edit.cjs.map +2 -2
  106. package/build/navigation-link/link-ui/page-creator.cjs +0 -1
  107. package/build/navigation-link/link-ui/page-creator.cjs.map +2 -2
  108. package/build/navigation-link/shared/controls.cjs +0 -2
  109. package/build/navigation-link/shared/controls.cjs.map +2 -2
  110. package/build/navigation-submenu/block.json +7 -0
  111. package/build/navigation-submenu/edit.cjs +1 -1
  112. package/build/navigation-submenu/edit.cjs.map +2 -2
  113. package/build/page-list/block.json +2 -5
  114. package/build/page-list/edit.cjs +1 -11
  115. package/build/page-list/edit.cjs.map +2 -2
  116. package/build/playlist-track/edit.cjs +0 -3
  117. package/build/playlist-track/edit.cjs.map +2 -2
  118. package/build/post-author/edit.cjs +1 -1
  119. package/build/post-author/edit.cjs.map +2 -2
  120. package/build/post-author/utils.cjs +1 -1
  121. package/build/post-author/utils.cjs.map +2 -2
  122. package/build/post-comment/edit.cjs +0 -1
  123. package/build/post-comment/edit.cjs.map +2 -2
  124. package/build/post-date/edit.cjs +2 -2
  125. package/build/post-date/edit.cjs.map +2 -2
  126. package/build/post-excerpt/edit.cjs +2 -2
  127. package/build/post-excerpt/edit.cjs.map +2 -2
  128. package/build/post-featured-image/block.json +1 -0
  129. package/build/post-featured-image/dimension-controls.cjs +90 -178
  130. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  131. package/build/post-featured-image/edit.cjs +47 -18
  132. package/build/post-featured-image/edit.cjs.map +2 -2
  133. package/build/post-navigation-link/edit.cjs +2 -2
  134. package/build/post-navigation-link/edit.cjs.map +2 -2
  135. package/build/post-terms/edit.cjs +0 -1
  136. package/build/post-terms/edit.cjs.map +2 -2
  137. package/build/post-time-to-read/edit.cjs +1 -1
  138. package/build/post-time-to-read/edit.cjs.map +1 -1
  139. package/build/post-title/edit.cjs +0 -1
  140. package/build/post-title/edit.cjs.map +2 -2
  141. package/build/preformatted/edit.cjs +1 -1
  142. package/build/preformatted/edit.cjs.map +2 -2
  143. package/build/pullquote/block.json +1 -3
  144. package/build/pullquote/deprecated.cjs +114 -9
  145. package/build/pullquote/deprecated.cjs.map +3 -3
  146. package/build/pullquote/edit.cjs +43 -61
  147. package/build/pullquote/edit.cjs.map +3 -3
  148. package/build/pullquote/save.cjs +5 -26
  149. package/build/pullquote/save.cjs.map +3 -3
  150. package/build/query/edit/enhanced-pagination-modal.cjs +10 -1
  151. package/build/query/edit/enhanced-pagination-modal.cjs.map +3 -3
  152. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  153. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  154. package/build/query/edit/inspector-controls/index.cjs +0 -1
  155. package/build/query/edit/inspector-controls/index.cjs.map +2 -2
  156. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  157. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  158. package/build/query/utils.cjs +2 -2
  159. package/build/query/utils.cjs.map +2 -2
  160. package/build/query-pagination-next/edit.cjs +2 -2
  161. package/build/query-pagination-next/edit.cjs.map +1 -1
  162. package/build/query-pagination-previous/edit.cjs +2 -2
  163. package/build/query-pagination-previous/edit.cjs.map +1 -1
  164. package/build/query-title/edit.cjs +1 -1
  165. package/build/query-title/edit.cjs.map +2 -2
  166. package/build/query-total/edit.cjs +1 -1
  167. package/build/query-total/edit.cjs.map +2 -2
  168. package/build/quote/index.cjs +1 -1
  169. package/build/quote/index.cjs.map +2 -2
  170. package/build/read-more/edit.cjs +1 -1
  171. package/build/read-more/edit.cjs.map +2 -2
  172. package/build/rss/edit.cjs +1 -2
  173. package/build/rss/edit.cjs.map +2 -2
  174. package/build/search/block.json +4 -0
  175. package/build/search/edit.cjs +244 -206
  176. package/build/search/edit.cjs.map +2 -2
  177. package/build/shortcode/edit.cjs +1 -1
  178. package/build/shortcode/edit.cjs.map +2 -2
  179. package/build/site-logo/edit.cjs +2 -1
  180. package/build/site-logo/edit.cjs.map +2 -2
  181. package/build/site-tagline/edit.cjs +1 -1
  182. package/build/site-tagline/edit.cjs.map +2 -2
  183. package/build/site-title/edit.cjs +1 -1
  184. package/build/site-title/edit.cjs.map +2 -2
  185. package/build/social-link/edit.cjs +0 -3
  186. package/build/social-link/edit.cjs.map +2 -2
  187. package/build/tab-list/block.json +33 -20
  188. package/build/tab-list/edit.cjs +122 -12
  189. package/build/tab-list/edit.cjs.map +3 -3
  190. package/build/tab-list/init.cjs +28 -0
  191. package/build/tab-list/init.cjs.map +7 -0
  192. package/build/tab-list/save.cjs +33 -3
  193. package/build/tab-list/save.cjs.map +3 -3
  194. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  195. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  196. package/build/tab-panel/block.json +2 -6
  197. package/build/tab-panel/edit.cjs +0 -9
  198. package/build/tab-panel/edit.cjs.map +2 -2
  199. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  200. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  201. package/build/tab-panel/save.cjs +2 -1
  202. package/build/tab-panel/save.cjs.map +2 -2
  203. package/build/tab-panels/block.json +2 -28
  204. package/build/tab-panels/init.cjs +28 -0
  205. package/build/tab-panels/init.cjs.map +7 -0
  206. package/build/table/edit.cjs +0 -2
  207. package/build/table/edit.cjs.map +2 -2
  208. package/build/table/index.cjs +1 -1
  209. package/build/table/index.cjs.map +2 -2
  210. package/build/tabs/block.json +3 -17
  211. package/build/tabs/edit.cjs +7 -21
  212. package/build/tabs/edit.cjs.map +3 -3
  213. package/build/tabs/index.cjs +6 -10
  214. package/build/tabs/index.cjs.map +2 -2
  215. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  216. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  217. package/build/tabs/view.cjs +22 -104
  218. package/build/tabs/view.cjs.map +2 -2
  219. package/build/template-part/edit/advanced-controls.cjs +0 -1
  220. package/build/template-part/edit/advanced-controls.cjs.map +2 -2
  221. package/build/template-part/edit/title-modal.cjs +1 -2
  222. package/build/template-part/edit/title-modal.cjs.map +2 -2
  223. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  224. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  225. package/build/utils/style-state.cjs +164 -0
  226. package/build/utils/style-state.cjs.map +7 -0
  227. package/build/utils/waveform-player.cjs +1 -1
  228. package/build/verse/edit.cjs +1 -1
  229. package/build/verse/edit.cjs.map +2 -2
  230. package/build/video/edit.cjs +3 -2
  231. package/build/video/edit.cjs.map +2 -2
  232. package/build/video/tracks-editor.cjs +0 -2
  233. package/build/video/tracks-editor.cjs.map +2 -2
  234. package/build-module/audio/edit.mjs +8 -2
  235. package/build-module/audio/edit.mjs.map +2 -2
  236. package/build-module/breadcrumbs/edit.mjs +1 -2
  237. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  238. package/build-module/button/edit.mjs +1 -2
  239. package/build-module/button/edit.mjs.map +2 -2
  240. package/build-module/categories/edit.mjs +1 -1
  241. package/build-module/categories/edit.mjs.map +1 -1
  242. package/build-module/code/edit.mjs +1 -1
  243. package/build-module/code/edit.mjs.map +2 -2
  244. package/build-module/code/index.mjs +1 -1
  245. package/build-module/code/index.mjs.map +1 -1
  246. package/build-module/columns/utils.mjs.map +1 -1
  247. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  248. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  249. package/build-module/comments/edit/placeholder.mjs +4 -4
  250. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  251. package/build-module/comments-pagination-next/edit.mjs +2 -2
  252. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  253. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  254. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  255. package/build-module/cover/deprecated.mjs +3 -3
  256. package/build-module/cover/deprecated.mjs.map +2 -2
  257. package/build-module/cover/edit/block-controls.mjs +15 -2
  258. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  259. package/build-module/cover/edit/embed-video-url-input.mjs +0 -1
  260. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  261. package/build-module/cover/edit/index.mjs +64 -3
  262. package/build-module/cover/edit/index.mjs.map +2 -2
  263. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  264. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  265. package/build-module/details/edit.mjs +1 -2
  266. package/build-module/details/edit.mjs.map +2 -2
  267. package/build-module/embed/embed-placeholder.mjs +1 -1
  268. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  269. package/build-module/file/edit.mjs +5 -13
  270. package/build-module/file/edit.mjs.map +2 -2
  271. package/build-module/file/index.mjs +3 -1
  272. package/build-module/file/index.mjs.map +2 -2
  273. package/build-module/file/transforms.mjs +11 -32
  274. package/build-module/file/transforms.mjs.map +2 -2
  275. package/build-module/file/variations.mjs +17 -0
  276. package/build-module/file/variations.mjs.map +7 -0
  277. package/build-module/footnotes/edit.mjs +1 -1
  278. package/build-module/footnotes/edit.mjs.map +2 -2
  279. package/build-module/form/edit.mjs +0 -2
  280. package/build-module/form/edit.mjs.map +2 -2
  281. package/build-module/form-input/edit.mjs +1 -3
  282. package/build-module/form-input/edit.mjs.map +2 -2
  283. package/build-module/freeform/edit.mjs +6 -15
  284. package/build-module/freeform/edit.mjs.map +2 -2
  285. package/build-module/freeform/migration-notice.mjs.map +2 -2
  286. package/build-module/gallery/edit.mjs +2 -2
  287. package/build-module/gallery/edit.mjs.map +2 -2
  288. package/build-module/home-link/edit.mjs +1 -2
  289. package/build-module/home-link/edit.mjs.map +2 -2
  290. package/build-module/html/index.mjs +1 -1
  291. package/build-module/html/index.mjs.map +2 -2
  292. package/build-module/html/modal.mjs +9 -6
  293. package/build-module/html/modal.mjs.map +2 -2
  294. package/build-module/icon/block.json +12 -0
  295. package/build-module/icon/edit.mjs +94 -42
  296. package/build-module/icon/edit.mjs.map +2 -2
  297. package/build-module/icon/index.mjs +3 -1
  298. package/build-module/icon/index.mjs.map +2 -2
  299. package/build-module/icon/variations.mjs +13 -0
  300. package/build-module/icon/variations.mjs.map +7 -0
  301. package/build-module/image/block.json +1 -0
  302. package/build-module/image/edit.mjs +4 -3
  303. package/build-module/image/edit.mjs.map +2 -2
  304. package/build-module/image/image.mjs +96 -29
  305. package/build-module/image/image.mjs.map +2 -2
  306. package/build-module/image/index.mjs +1 -1
  307. package/build-module/image/index.mjs.map +2 -2
  308. package/build-module/image/transforms.mjs +9 -3
  309. package/build-module/image/transforms.mjs.map +2 -2
  310. package/build-module/image/use-open-image-media-editor-modal.mjs +5 -25
  311. package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
  312. package/build-module/index.mjs +1 -3
  313. package/build-module/index.mjs.map +2 -2
  314. package/build-module/latest-posts/edit.mjs +1 -1
  315. package/build-module/latest-posts/edit.mjs.map +1 -1
  316. package/build-module/list/ordered-list-settings.mjs +0 -1
  317. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  318. package/build-module/math/edit.mjs +1 -1
  319. package/build-module/math/index.mjs +1 -1
  320. package/build-module/math/index.mjs.map +1 -1
  321. package/build-module/media-text/constants.mjs +1 -1
  322. package/build-module/media-text/constants.mjs.map +2 -2
  323. package/build-module/media-text/index.mjs +1 -1
  324. package/build-module/media-text/index.mjs.map +2 -2
  325. package/build-module/missing/edit.mjs +2 -2
  326. package/build-module/missing/edit.mjs.map +1 -1
  327. package/build-module/navigation/edit/index.mjs +19 -13
  328. package/build-module/navigation/edit/index.mjs.map +2 -2
  329. package/build-module/navigation/edit/navigation-menu-name-control.mjs +0 -1
  330. package/build-module/navigation/edit/navigation-menu-name-control.mjs.map +2 -2
  331. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  332. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  333. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  334. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  335. package/build-module/navigation-link/block.json +1 -1
  336. package/build-module/navigation-link/edit.mjs +1 -1
  337. package/build-module/navigation-link/edit.mjs.map +2 -2
  338. package/build-module/navigation-link/link-ui/page-creator.mjs +0 -1
  339. package/build-module/navigation-link/link-ui/page-creator.mjs.map +2 -2
  340. package/build-module/navigation-link/shared/controls.mjs +0 -2
  341. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  342. package/build-module/navigation-submenu/block.json +7 -0
  343. package/build-module/navigation-submenu/edit.mjs +1 -1
  344. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  345. package/build-module/page-list/block.json +2 -5
  346. package/build-module/page-list/edit.mjs +1 -11
  347. package/build-module/page-list/edit.mjs.map +2 -2
  348. package/build-module/playlist-track/edit.mjs +0 -3
  349. package/build-module/playlist-track/edit.mjs.map +2 -2
  350. package/build-module/post-author/edit.mjs +1 -1
  351. package/build-module/post-author/edit.mjs.map +2 -2
  352. package/build-module/post-author/utils.mjs +1 -1
  353. package/build-module/post-author/utils.mjs.map +2 -2
  354. package/build-module/post-comment/edit.mjs +0 -1
  355. package/build-module/post-comment/edit.mjs.map +2 -2
  356. package/build-module/post-date/edit.mjs +2 -2
  357. package/build-module/post-date/edit.mjs.map +2 -2
  358. package/build-module/post-excerpt/edit.mjs +2 -2
  359. package/build-module/post-excerpt/edit.mjs.map +2 -2
  360. package/build-module/post-featured-image/block.json +1 -0
  361. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  362. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  363. package/build-module/post-featured-image/edit.mjs +47 -18
  364. package/build-module/post-featured-image/edit.mjs.map +2 -2
  365. package/build-module/post-navigation-link/edit.mjs +2 -2
  366. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  367. package/build-module/post-terms/edit.mjs +0 -1
  368. package/build-module/post-terms/edit.mjs.map +2 -2
  369. package/build-module/post-time-to-read/edit.mjs +1 -1
  370. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  371. package/build-module/post-title/edit.mjs +0 -1
  372. package/build-module/post-title/edit.mjs.map +2 -2
  373. package/build-module/preformatted/edit.mjs +1 -1
  374. package/build-module/preformatted/edit.mjs.map +2 -2
  375. package/build-module/pullquote/block.json +1 -3
  376. package/build-module/pullquote/deprecated.mjs +114 -9
  377. package/build-module/pullquote/deprecated.mjs.map +2 -2
  378. package/build-module/pullquote/edit.mjs +44 -67
  379. package/build-module/pullquote/edit.mjs.map +2 -2
  380. package/build-module/pullquote/save.mjs +5 -16
  381. package/build-module/pullquote/save.mjs.map +2 -2
  382. package/build-module/query/edit/enhanced-pagination-modal.mjs +10 -1
  383. package/build-module/query/edit/enhanced-pagination-modal.mjs.map +2 -2
  384. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  385. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  386. package/build-module/query/edit/inspector-controls/index.mjs +0 -1
  387. package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
  388. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  389. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  390. package/build-module/query/utils.mjs +2 -2
  391. package/build-module/query/utils.mjs.map +2 -2
  392. package/build-module/query-pagination-next/edit.mjs +2 -2
  393. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  394. package/build-module/query-pagination-previous/edit.mjs +2 -2
  395. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  396. package/build-module/query-title/edit.mjs +1 -1
  397. package/build-module/query-title/edit.mjs.map +2 -2
  398. package/build-module/query-total/edit.mjs +1 -1
  399. package/build-module/query-total/edit.mjs.map +2 -2
  400. package/build-module/quote/index.mjs +1 -1
  401. package/build-module/quote/index.mjs.map +2 -2
  402. package/build-module/read-more/edit.mjs +1 -1
  403. package/build-module/read-more/edit.mjs.map +2 -2
  404. package/build-module/rss/edit.mjs +1 -2
  405. package/build-module/rss/edit.mjs.map +2 -2
  406. package/build-module/search/block.json +4 -0
  407. package/build-module/search/edit.mjs +244 -206
  408. package/build-module/search/edit.mjs.map +2 -2
  409. package/build-module/shortcode/edit.mjs +1 -1
  410. package/build-module/shortcode/edit.mjs.map +2 -2
  411. package/build-module/site-logo/edit.mjs +2 -1
  412. package/build-module/site-logo/edit.mjs.map +2 -2
  413. package/build-module/site-tagline/edit.mjs +1 -1
  414. package/build-module/site-tagline/edit.mjs.map +2 -2
  415. package/build-module/site-title/edit.mjs +1 -1
  416. package/build-module/site-title/edit.mjs.map +2 -2
  417. package/build-module/social-link/edit.mjs +0 -3
  418. package/build-module/social-link/edit.mjs.map +2 -2
  419. package/build-module/tab-list/block.json +33 -20
  420. package/build-module/tab-list/edit.mjs +128 -15
  421. package/build-module/tab-list/edit.mjs.map +2 -2
  422. package/build-module/tab-list/init.mjs +7 -0
  423. package/build-module/tab-list/init.mjs.map +7 -0
  424. package/build-module/tab-list/save.mjs +29 -4
  425. package/build-module/tab-list/save.mjs.map +2 -2
  426. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  427. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  428. package/build-module/tab-panel/block.json +2 -6
  429. package/build-module/tab-panel/edit.mjs +1 -10
  430. package/build-module/tab-panel/edit.mjs.map +2 -2
  431. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  432. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  433. package/build-module/tab-panel/save.mjs +2 -1
  434. package/build-module/tab-panel/save.mjs.map +2 -2
  435. package/build-module/tab-panels/block.json +2 -28
  436. package/build-module/tab-panels/init.mjs +7 -0
  437. package/build-module/tab-panels/init.mjs.map +7 -0
  438. package/build-module/table/edit.mjs +0 -2
  439. package/build-module/table/edit.mjs.map +2 -2
  440. package/build-module/table/index.mjs +1 -1
  441. package/build-module/table/index.mjs.map +2 -2
  442. package/build-module/tabs/block.json +3 -17
  443. package/build-module/tabs/edit.mjs +7 -21
  444. package/build-module/tabs/edit.mjs.map +2 -2
  445. package/build-module/tabs/index.mjs +6 -10
  446. package/build-module/tabs/index.mjs.map +2 -2
  447. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  448. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  449. package/build-module/tabs/view.mjs +22 -104
  450. package/build-module/tabs/view.mjs.map +2 -2
  451. package/build-module/template-part/edit/advanced-controls.mjs +0 -1
  452. package/build-module/template-part/edit/advanced-controls.mjs.map +2 -2
  453. package/build-module/template-part/edit/title-modal.mjs +1 -2
  454. package/build-module/template-part/edit/title-modal.mjs.map +2 -2
  455. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  456. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  457. package/build-module/utils/style-state.mjs +132 -0
  458. package/build-module/utils/style-state.mjs.map +7 -0
  459. package/build-module/utils/waveform-player.mjs +1 -1
  460. package/build-module/verse/edit.mjs +1 -1
  461. package/build-module/verse/edit.mjs.map +2 -2
  462. package/build-module/video/edit.mjs +3 -3
  463. package/build-module/video/edit.mjs.map +2 -2
  464. package/build-module/video/tracks-editor.mjs +0 -2
  465. package/build-module/video/tracks-editor.mjs.map +2 -2
  466. package/build-style/editor-rtl.css +0 -19
  467. package/build-style/editor.css +0 -19
  468. package/build-style/icon/style-rtl.css +9 -0
  469. package/build-style/icon/style.css +9 -0
  470. package/build-style/style-rtl.css +11 -24
  471. package/build-style/style.css +11 -24
  472. package/build-style/{tab → tab-list}/style-rtl.css +2 -2
  473. package/build-style/{tab → tab-list}/style.css +2 -2
  474. package/build-style/tab-panel/style-rtl.css +0 -17
  475. package/build-style/tab-panel/style.css +0 -17
  476. package/package.json +48 -45
  477. package/src/audio/edit.js +5 -9
  478. package/src/avatar/index.php +2 -2
  479. package/src/block/index.php +2 -26
  480. package/src/breadcrumbs/edit.js +0 -1
  481. package/src/button/edit.js +0 -1
  482. package/src/comment-author-avatar/index.php +3 -3
  483. package/src/comment-author-name/index.php +1 -1
  484. package/src/comment-date/index.php +1 -1
  485. package/src/cover/edit/block-controls.js +14 -2
  486. package/src/cover/edit/embed-video-url-input.js +0 -1
  487. package/src/cover/edit/index.js +86 -0
  488. package/src/cover/edit/inspector-controls.js +124 -54
  489. package/src/cover/test/edit.js +51 -2
  490. package/src/details/edit.js +0 -1
  491. package/src/editor.scss +0 -2
  492. package/src/file/edit.js +3 -16
  493. package/src/file/index.js +2 -0
  494. package/src/file/transforms.js +12 -31
  495. package/src/file/variations.js +17 -0
  496. package/src/form/edit.js +0 -2
  497. package/src/form-input/edit.js +0 -2
  498. package/src/freeform/edit.js +6 -29
  499. package/src/freeform/migration-notice.js +2 -4
  500. package/src/gallery/edit.js +13 -13
  501. package/src/home-link/edit.js +0 -1
  502. package/src/html/modal.js +3 -0
  503. package/src/icon/README.md +3 -0
  504. package/src/icon/block.json +12 -0
  505. package/src/icon/edit.js +85 -37
  506. package/src/icon/index.js +3 -1
  507. package/src/icon/index.php +23 -0
  508. package/src/icon/style.scss +12 -0
  509. package/src/icon/variations.js +9 -0
  510. package/src/image/README.md +1 -0
  511. package/src/image/block.json +1 -0
  512. package/src/image/edit.js +8 -3
  513. package/src/image/image.js +120 -56
  514. package/src/image/index.php +0 -1
  515. package/src/image/test/use-open-image-media-editor-modal.js +20 -26
  516. package/src/image/transforms.js +34 -8
  517. package/src/image/use-open-image-media-editor-modal.js +24 -42
  518. package/src/index.js +4 -11
  519. package/src/list/ordered-list-settings.js +0 -1
  520. package/src/navigation/edit/index.js +25 -16
  521. package/src/navigation/edit/navigation-menu-name-control.js +0 -1
  522. package/src/navigation/index.php +58 -0
  523. package/src/navigation-link/README.md +1 -1
  524. package/src/navigation-link/block.json +1 -1
  525. package/src/navigation-link/link-ui/page-creator.js +0 -1
  526. package/src/navigation-link/shared/controls.js +0 -2
  527. package/src/navigation-link/test/__snapshots__/hooks.js.snap +5 -0
  528. package/src/navigation-submenu/README.md +5 -0
  529. package/src/navigation-submenu/block.json +7 -0
  530. package/src/page-list/README.md +1 -1
  531. package/src/page-list/block.json +2 -5
  532. package/src/page-list/edit.js +0 -11
  533. package/src/page-list/index.php +1 -1
  534. package/src/playlist-track/edit.js +0 -3
  535. package/src/post-comment/edit.js +0 -1
  536. package/src/post-date/edit.js +2 -2
  537. package/src/post-featured-image/README.md +1 -0
  538. package/src/post-featured-image/block.json +1 -0
  539. package/src/post-featured-image/dimension-controls.js +105 -184
  540. package/src/post-featured-image/edit.js +53 -22
  541. package/src/post-featured-image/index.php +24 -22
  542. package/src/post-terms/edit.js +0 -1
  543. package/src/post-title/edit.js +0 -1
  544. package/src/pullquote/README.md +1 -1
  545. package/src/pullquote/block.json +1 -3
  546. package/src/pullquote/deprecated.js +121 -9
  547. package/src/pullquote/edit.js +7 -31
  548. package/src/pullquote/save.js +2 -13
  549. package/src/query/edit/enhanced-pagination-modal.js +11 -1
  550. package/src/query/edit/inspector-controls/index.js +0 -1
  551. package/src/rss/edit.js +0 -1
  552. package/src/search/README.md +1 -0
  553. package/src/search/block.json +4 -0
  554. package/src/search/edit.js +106 -55
  555. package/src/search/index.php +25 -1
  556. package/src/site-logo/edit.js +3 -1
  557. package/src/social-link/edit.js +0 -3
  558. package/src/style.scss +1 -2
  559. package/src/tab-list/README.md +19 -17
  560. package/src/tab-list/block.json +33 -20
  561. package/src/tab-list/edit.js +153 -15
  562. package/src/tab-list/index.php +24 -33
  563. package/src/tab-list/init.js +6 -0
  564. package/src/tab-list/save.js +39 -4
  565. package/src/{tab → tab-list}/style.scss +2 -3
  566. package/src/tab-panel/README.md +0 -3
  567. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  568. package/src/tab-panel/block.json +2 -6
  569. package/src/tab-panel/edit.js +1 -14
  570. package/src/tab-panel/index.php +2 -25
  571. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  572. package/src/tab-panel/save.js +1 -0
  573. package/src/tab-panel/style.scss +0 -17
  574. package/src/tab-panels/README.md +0 -16
  575. package/src/tab-panels/block.json +2 -28
  576. package/src/tab-panels/init.js +6 -0
  577. package/src/table/edit.js +0 -2
  578. package/src/tabs/README.md +1 -7
  579. package/src/tabs/block.json +3 -17
  580. package/src/tabs/edit.js +8 -19
  581. package/src/tabs/index.js +6 -10
  582. package/src/tabs/index.php +12 -32
  583. package/src/tabs/use-tab-list-items-sync.js +49 -0
  584. package/src/tabs/view.js +22 -110
  585. package/src/template-part/edit/advanced-controls.js +0 -1
  586. package/src/template-part/edit/title-modal.js +0 -1
  587. package/src/utils/style-state.js +151 -0
  588. package/src/utils/test/style-state.js +307 -0
  589. package/src/video/edit.js +9 -16
  590. package/src/video/tracks-editor.js +0 -2
  591. package/babel-plugin.cjs +0 -150
  592. package/build/freeform/convert-to-blocks-button.cjs.map +0 -7
  593. package/build/list-item/utils.cjs +0 -57
  594. package/build/list-item/utils.cjs.map +0 -7
  595. package/build/tab/block.json +0 -56
  596. package/build/tab/controls.cjs +0 -46
  597. package/build/tab/controls.cjs.map +0 -7
  598. package/build/tab/edit.cjs +0 -135
  599. package/build/tab/edit.cjs.map +0 -7
  600. package/build/tab/index.cjs +0 -58
  601. package/build/tab/index.cjs.map +0 -7
  602. package/build/tab/save.cjs.map +0 -7
  603. package/build/tabs/use-tab-list-sync.cjs +0 -190
  604. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  605. package/build-module/freeform/convert-to-blocks-button.mjs +0 -19
  606. package/build-module/freeform/convert-to-blocks-button.mjs.map +0 -7
  607. package/build-module/list-item/utils.mjs +0 -32
  608. package/build-module/list-item/utils.mjs.map +0 -7
  609. package/build-module/tab/block.json +0 -56
  610. package/build-module/tab/controls.mjs +0 -15
  611. package/build-module/tab/controls.mjs.map +0 -7
  612. package/build-module/tab/edit.mjs +0 -108
  613. package/build-module/tab/edit.mjs.map +0 -7
  614. package/build-module/tab/index.mjs +0 -20
  615. package/build-module/tab/index.mjs.map +0 -7
  616. package/build-module/tab/save.mjs +0 -14
  617. package/build-module/tab/save.mjs.map +0 -7
  618. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  619. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  620. package/build-style/tab/editor-rtl.css +0 -11
  621. package/build-style/tab/editor.css +0 -11
  622. package/build-style/tab-list/editor-rtl.css +0 -6
  623. package/build-style/tab-list/editor.css +0 -6
  624. package/build-style/tab-panels/style-rtl.css +0 -4
  625. package/build-style/tab-panels/style.css +0 -4
  626. package/src/freeform/convert-to-blocks-button.js +0 -18
  627. package/src/list-item/utils.js +0 -34
  628. package/src/tab/README.md +0 -69
  629. package/src/tab/block.json +0 -56
  630. package/src/tab/controls.js +0 -19
  631. package/src/tab/edit.js +0 -141
  632. package/src/tab/editor.scss +0 -14
  633. package/src/tab/index.js +0 -24
  634. package/src/tab/index.php +0 -70
  635. package/src/tab/save.js +0 -13
  636. package/src/tab-list/editor.scss +0 -10
  637. package/src/tab-panels/style.scss +0 -4
  638. package/src/tabs/use-tab-list-sync.js +0 -237
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/page-list/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t\t'open-on-click': context.submenuVisibility === 'click',\n\t\t\t'open-always': context.submenuVisibility === 'always',\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '\u2014 '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( pagesTree.length > 0 || allowConvertToLinks ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Parent Page' ) }\n\t\t\t\t\t\t\t\thasValue={ () => parentPageID !== 0 }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tparentPageID: value ?? 0,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"info\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t\t'open-on-click': context.submenuVisibility === 'click',\n\t\t\t'open-always': context.submenuVisibility === 'always',\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst pagesTree = useMemo(\n\t\tfunction makePagesTree( parentId = 0, level = 0 ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst item = {\n\t\t\t\t\tvalue: page.id,\n\t\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\t\trawName: page.title.rendered,\n\t\t\t\t};\n\t\t\t\ttree.push( item );\n\t\t\t\tif ( hasChildren ) {\n\t\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId ]\n\t);\n\n\tconst blockList = useMemo(\n\t\tfunction getBlockList( parentId = parentPageID ) {\n\t\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\t\tif ( ! childPages?.length ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\t\tconst pageProps = {\n\t\t\t\t\tid: page.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ttitle:\n\t\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\tlink: page.url,\n\t\t\t\t\thasChildren,\n\t\t\t\t};\n\t\t\t\tlet item = null;\n\t\t\t\tconst children = getBlockList( page.id );\n\t\t\t\titem = createBlock(\n\t\t\t\t\t'core/page-list-item',\n\t\t\t\t\tpageProps,\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t\ttemplate.push( item );\n\n\t\t\t\treturn template;\n\t\t\t}, [] );\n\t\t},\n\t\t[ pagesByParentId, parentPageID ]\n\t);\n\n\tconst {\n\t\thasSelectedChild,\n\t\tparentClientId,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentClientId: navigationBlockParents[ 0 ],\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentClientId,\n\t\tparentPageID,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentClientId );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentClientId,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t{ ( pagesTree.length > 0 || allowConvertToLinks ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Parent Page' ) }\n\t\t\t\t\t\t\t\thasValue={ () => parentPageID !== 0 }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: 0 } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parent' ) }\n\t\t\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tparentPageID: value ?? 0,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["clsx", "blockEditorStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -131,7 +131,6 @@ var PlaylistTrackEdit = ({ attributes, setAttributes, context }) => {
131
131
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
132
132
  import_components.TextControl,
133
133
  {
134
- __next40pxDefaultSize: true,
135
134
  label: (0, import_i18n.__)("Artist"),
136
135
  value: artist ? (0, import_dom.__unstableStripHTML)(artist) : "",
137
136
  onChange: (artistValue) => {
@@ -142,7 +141,6 @@ var PlaylistTrackEdit = ({ attributes, setAttributes, context }) => {
142
141
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
143
142
  import_components.TextControl,
144
143
  {
145
- __next40pxDefaultSize: true,
146
144
  label: (0, import_i18n.__)("Album"),
147
145
  value: album ? (0, import_dom.__unstableStripHTML)(album) : "",
148
146
  onChange: (albumValue) => {
@@ -153,7 +151,6 @@ var PlaylistTrackEdit = ({ attributes, setAttributes, context }) => {
153
151
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
154
152
  import_components.TextControl,
155
153
  {
156
- __next40pxDefaultSize: true,
157
154
  label: (0, import_i18n.__)("Title"),
158
155
  value: title ? (0, import_dom.__unstableStripHTML)(title) : "",
159
156
  onChange: (titleValue) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/playlist-track/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport { v4 as uuid } from 'uuid';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useRef, useState } from '@wordpress/element';\nimport {\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tBlockIcon,\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPanelBody,\n\tTextControl,\n\tBaseControl,\n\tSpinner,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { audio as icon } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\nconst ALBUM_COVER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {\n\t// Note that 'id' is the media attachment ID, while 'uniqueId' is a unique identifier.\n\t// This is to make sure that the same media can be used in more than one track.\n\tconst { id, uniqueId, src, album, artist, image, length, title } =\n\t\tattributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst showArtists = context?.showArtists;\n\tconst currentTrack = context?.currentTrack;\n\tconst imageButton = useRef();\n\tconst blockProps = useBlockProps();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\tsrc: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectTrack,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction onSelectTrack( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tuniqueId: undefined,\n\t\t\t\tartist: undefined,\n\t\t\t\talbum: undefined,\n\t\t\t\timage: undefined,\n\t\t\t\tlength: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\turl: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tid: media.id,\n\t\t\tuniqueId: uuid(),\n\t\t\tsrc: media.url,\n\t\t\tartist:\n\t\t\t\tmedia.artist ||\n\t\t\t\tmedia?.meta?.artist ||\n\t\t\t\tmedia?.media_details?.artist ||\n\t\t\t\t__( 'Unknown artist' ),\n\t\t\talbum:\n\t\t\t\tmedia.album ||\n\t\t\t\tmedia?.meta?.album ||\n\t\t\t\tmedia?.media_details?.album ||\n\t\t\t\t__( 'Unknown album' ),\n\t\t\t// Prevent using the default media attachment icon as the track image.\n\t\t\timage:\n\t\t\t\tmedia?.image?.src &&\n\t\t\t\tmedia?.image?.src.endsWith( '/images/media/audio.svg' )\n\t\t\t\t\t? ''\n\t\t\t\t\t: media?.image?.src,\n\t\t\tlength: media?.fileLength || media?.media_details?.length_formatted,\n\t\t\ttitle: media.title,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectAlbumCoverImage( coverImage ) {\n\t\tsetAttributes( { image: coverImage.url } );\n\t}\n\n\tfunction onRemoveAlbumCoverImage() {\n\t\tsetAttributes( { image: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\timageButton.current.focus();\n\t}\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Track' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an audio file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tname={ __( 'Replace' ) }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Artist' ) }\n\t\t\t\t\t\tvalue={ artist ? stripHTML( artist ) : '' }\n\t\t\t\t\t\tonChange={ ( artistValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { artist: artistValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Album' ) }\n\t\t\t\t\t\tvalue={ album ? stripHTML( album ) : '' }\n\t\t\t\t\t\tonChange={ ( albumValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { album: albumValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title ? stripHTML( title ) : '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Album cover image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\t\t\talt={ __(\n\t\t\t\t\t\t\t\t\t\t'Preview of the album cover image'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectAlbumCoverImage }\n\t\t\t\t\t\t\t\tallowedTypes={ ALBUM_COVER_ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ imageButton }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! image\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemoveAlbumCoverImage }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-playlist-track__button\"\n\t\t\t\t\tdata-wp-context={ JSON.stringify( { uniqueId } ) }\n\t\t\t\t\taria-current={\n\t\t\t\t\t\tcurrentTrack === uniqueId ? 'true' : 'false'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__content\">\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__title\"\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add title' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showArtists && (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__artist\"\n\t\t\t\t\t\t\t\tvalue={ artist }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add artist' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { artist: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__length\">\n\t\t\t\t\t\t{ length && (\n\t\t\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t/* translators: %s: Visually hidden label for the track length (screen reader text). */\n\t\t\t\t\t\t\t\t\t__( 'Length:' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ length }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t{ __( 'Select to play this track' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default PlaylistTrackEdit;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport { v4 as uuid } from 'uuid';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useRef, useState } from '@wordpress/element';\nimport {\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tBlockIcon,\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPanelBody,\n\tTextControl,\n\tBaseControl,\n\tSpinner,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { audio as icon } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\nconst ALBUM_COVER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PlaylistTrackEdit = ( { attributes, setAttributes, context } ) => {\n\t// Note that 'id' is the media attachment ID, while 'uniqueId' is a unique identifier.\n\t// This is to make sure that the same media can be used in more than one track.\n\tconst { id, uniqueId, src, album, artist, image, length, title } =\n\t\tattributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst showArtists = context?.showArtists;\n\tconst currentTrack = context?.currentTrack;\n\tconst imageButton = useRef();\n\tconst blockProps = useBlockProps();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\tsrc: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectTrack,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction onSelectTrack( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tuniqueId: undefined,\n\t\t\t\tartist: undefined,\n\t\t\t\talbum: undefined,\n\t\t\t\timage: undefined,\n\t\t\t\tlength: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\turl: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tid: media.id,\n\t\t\tuniqueId: uuid(),\n\t\t\tsrc: media.url,\n\t\t\tartist:\n\t\t\t\tmedia.artist ||\n\t\t\t\tmedia?.meta?.artist ||\n\t\t\t\tmedia?.media_details?.artist ||\n\t\t\t\t__( 'Unknown artist' ),\n\t\t\talbum:\n\t\t\t\tmedia.album ||\n\t\t\t\tmedia?.meta?.album ||\n\t\t\t\tmedia?.media_details?.album ||\n\t\t\t\t__( 'Unknown album' ),\n\t\t\t// Prevent using the default media attachment icon as the track image.\n\t\t\timage:\n\t\t\t\tmedia?.image?.src &&\n\t\t\t\tmedia?.image?.src.endsWith( '/images/media/audio.svg' )\n\t\t\t\t\t? ''\n\t\t\t\t\t: media?.image?.src,\n\t\t\tlength: media?.fileLength || media?.media_details?.length_formatted,\n\t\t\ttitle: media.title,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectAlbumCoverImage( coverImage ) {\n\t\tsetAttributes( { image: coverImage.url } );\n\t}\n\n\tfunction onRemoveAlbumCoverImage() {\n\t\tsetAttributes( { image: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\timageButton.current.focus();\n\t}\n\n\tif ( ! src && ! temporaryURL ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Track' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an audio file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tname={ __( 'Replace' ) }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Artist' ) }\n\t\t\t\t\t\tvalue={ artist ? stripHTML( artist ) : '' }\n\t\t\t\t\t\tonChange={ ( artistValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { artist: artistValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Album' ) }\n\t\t\t\t\t\tvalue={ album ? stripHTML( album ) : '' }\n\t\t\t\t\t\tonChange={ ( albumValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { album: albumValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title ? stripHTML( title ) : '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Album cover image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\t\t\talt={ __(\n\t\t\t\t\t\t\t\t\t\t'Preview of the album cover image'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectAlbumCoverImage }\n\t\t\t\t\t\t\t\tallowedTypes={ ALBUM_COVER_ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ imageButton }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! image\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemoveAlbumCoverImage }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-playlist-track__button\"\n\t\t\t\t\tdata-wp-context={ JSON.stringify( { uniqueId } ) }\n\t\t\t\t\taria-current={\n\t\t\t\t\t\tcurrentTrack === uniqueId ? 'true' : 'false'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__content\">\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__title\"\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add title' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showArtists && (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__artist\"\n\t\t\t\t\t\t\t\tvalue={ artist }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add artist' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { artist: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedFormats={ [] }\n\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__length\">\n\t\t\t\t\t\t{ length && (\n\t\t\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t/* translators: %s: Visually hidden label for the track length (screen reader text). */\n\t\t\t\t\t\t\t\t\t__( 'Length:' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ length }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t{ __( 'Select to play this track' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default PlaylistTrackEdit;\n"],
5
+ "mappings": "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",
6
6
  "names": ["noticesStore", "uuid", "icon", "stripHTML"]
7
7
  }
@@ -358,7 +358,7 @@ function PostAuthorEdit({
358
358
  identifier: "byline",
359
359
  className: "wp-block-post-author__byline",
360
360
  "aria-label": (0, import_i18n.__)("Post author byline text"),
361
- placeholder: (0, import_i18n.__)("Write byline\u2026"),
361
+ placeholder: (0, import_i18n.__)("Write byline"),
362
362
  value: byline,
363
363
  onChange: (value) => setAttributes({ byline: value })
364
364
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-author/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tComboboxControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { recreateWithRecommendedBlocks } from './utils';\nimport {\n\tuseDefaultAvatar,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { InspectorControlsLastItem } = unlock( blockEditorPrivateApis );\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorCombobox( { value, onChange } ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst { authors, isLoading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUsers, isResolving } = select( coreStore );\n\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\t\t\tif ( filterValue ) {\n\t\t\t\tquery.search = filterValue;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ filterValue ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( fetchedAuthor ) => value?.id === fetchedAuthor.value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: value.id,\n\t\t\t\t\tlabel: decodeEntities( value.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, value ] );\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ value?.id }\n\t\t\tonFilterValueChange={ debounce( setFilterValue, 300 ) }\n\t\t\tonChange={ onChange }\n\t\t\tallowReset={ false }\n\t\t\tisLoading={ isLoading }\n\t\t/>\n\t);\n}\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst defaultAvatar = useDefaultAvatar();\n\n\tconst { authorDetails, canAssignAuthor, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst currentPost = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst authorId = currentPost?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: authorId\n\t\t\t\t\t? getUser( authorId, { context: 'view' } )\n\t\t\t\t\t: null,\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t\tcanAssignAuthor: currentPost?._links?.[\n\t\t\t\t\t'wp:action-assign-author'\n\t\t\t\t]\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\tconst blockTypes = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst {\n\t\ttextAlign,\n\t\tshowAvatar,\n\t\tshowBio,\n\t\tbyline,\n\t\tisLink,\n\t\tlinkTarget,\n\t\tavatarSize,\n\t} = attributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && canAssignAuthor;\n\n\tif ( ! supportsAuthor && postType !== undefined ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction transformBlock() {\n\t\treplaceBlock(\n\t\t\tclientId,\n\t\t\trecreateWithRecommendedBlocks( attributes, blockTypes )\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\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tavatarSize: 48,\n\t\t\t\t\t\t\tshowAvatar: true,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tlinkTarget: '_self',\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{ showAuthorControl && (\n\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t<AuthorCombobox\n\t\t\t\t\t\t\t\tvalue={ authorDetails }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showAvatar }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: true } )\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 avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\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\tshowAvatar: ! showAvatar,\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\t{ showAvatar && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => avatarSize !== 48 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { avatarSize: 48 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! showBio }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: undefined } )\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 bio' ) }\n\t\t\t\t\t\t\tchecked={ !! showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\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\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Link target' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\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\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ blockTypes.some(\n\t\t\t\t( blockType ) => blockType.name === 'core/group'\n\t\t\t) && (\n\t\t\t\t<InspectorControlsLastItem>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"wp-block-post-author__transform\"\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This block is no longer supported. Recreate its design with the Avatar, Author Name and Author Biography blocks.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ transformBlock }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Recreate' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</VStack>\n\t\t\t\t</InspectorControlsLastItem>\n\t\t\t) }\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails?.avatar_urls?.[ avatarSize ] ||\n\t\t\t\t\t\t\t\tdefaultAvatar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={\n\t\t\t\t\t\t\t\tauthorDetails?.name || __( 'Default Avatar' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline\u2026' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\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\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tComboboxControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { recreateWithRecommendedBlocks } from './utils';\nimport {\n\tuseDefaultAvatar,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst { InspectorControlsLastItem } = unlock( blockEditorPrivateApis );\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: 100,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorCombobox( { value, onChange } ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst { authors, isLoading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUsers, isResolving } = select( coreStore );\n\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\t\t\tif ( filterValue ) {\n\t\t\t\tquery.search = filterValue;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ filterValue ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( fetchedAuthor ) => value?.id === fetchedAuthor.value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: value.id,\n\t\t\t\t\tlabel: decodeEntities( value.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! value ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, value ] );\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ value?.id }\n\t\t\tonFilterValueChange={ debounce( setFilterValue, 300 ) }\n\t\t\tonChange={ onChange }\n\t\t\tallowReset={ false }\n\t\t\tisLoading={ isLoading }\n\t\t/>\n\t);\n}\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst defaultAvatar = useDefaultAvatar();\n\n\tconst { authorDetails, canAssignAuthor, supportsAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst currentPost = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst authorId = currentPost?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: authorId\n\t\t\t\t\t? getUser( authorId, { context: 'view' } )\n\t\t\t\t\t: null,\n\t\t\t\tsupportsAuthor:\n\t\t\t\t\tgetPostType( postType )?.supports?.author ?? false,\n\t\t\t\tcanAssignAuthor: currentPost?._links?.[\n\t\t\t\t\t'wp:action-assign-author'\n\t\t\t\t]\n\t\t\t\t\t? true\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\tconst blockTypes = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst {\n\t\ttextAlign,\n\t\tshowAvatar,\n\t\tshowBio,\n\t\tbyline,\n\t\tisLink,\n\t\tlinkTarget,\n\t\tavatarSize,\n\t} = attributes;\n\tconst avatarSizes = [];\n\tconst authorName = authorDetails?.name || __( 'Post Author' );\n\tif ( authorDetails?.avatar_urls ) {\n\t\tObject.keys( authorDetails.avatar_urls ).forEach( ( size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst handleSelect = ( nextAuthorId ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tauthor: nextAuthorId,\n\t\t} );\n\t};\n\n\tconst showAuthorControl =\n\t\t!! postId && ! isDescendentOfQueryLoop && canAssignAuthor;\n\n\tif ( ! supportsAuthor && postType !== undefined ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t__( 'This post type (%s) does not support the author.' ),\n\t\t\t\t\tpostType\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction transformBlock() {\n\t\treplaceBlock(\n\t\t\tclientId,\n\t\t\trecreateWithRecommendedBlocks( attributes, blockTypes )\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\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tavatarSize: 48,\n\t\t\t\t\t\t\tshowAvatar: true,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tlinkTarget: '_self',\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{ showAuthorControl && (\n\t\t\t\t\t\t<div style={ { gridColumn: '1 / -1' } }>\n\t\t\t\t\t\t\t<AuthorCombobox\n\t\t\t\t\t\t\t\tvalue={ authorDetails }\n\t\t\t\t\t\t\t\tonChange={ handleSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showAvatar }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: true } )\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 avatar' ) }\n\t\t\t\t\t\t\tchecked={ showAvatar }\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\tshowAvatar: ! showAvatar,\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\t{ showAvatar && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => avatarSize !== 48 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { avatarSize: 48 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\t\tvalue={ avatarSize }\n\t\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! showBio }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: undefined } )\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 bio' ) }\n\t\t\t\t\t\t\tchecked={ !! showBio }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\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\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Link author name to author page' ) }\n\t\t\t\t\t\t\tchecked={ isLink }\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/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Link target' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\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\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ blockTypes.some(\n\t\t\t\t( blockType ) => blockType.name === 'core/group'\n\t\t\t) && (\n\t\t\t\t<InspectorControlsLastItem>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"wp-block-post-author__transform\"\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'This block is no longer supported. Recreate its design with the Avatar, Author Name and Author Biography blocks.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ transformBlock }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Recreate' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</VStack>\n\t\t\t\t</InspectorControlsLastItem>\n\t\t\t) }\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails?.avatar_urls?.[ avatarSize ] ||\n\t\t\t\t\t\t\t\tdefaultAvatar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={\n\t\t\t\t\t\t\t\tauthorDetails?.name || __( 'Default Avatar' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"byline\"\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ isLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"#post-author-pseudo-link\"\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ authorName }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tauthorName\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__bio\"\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t__html: authorDetails?.description,\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAiB;AAKjB,0BAQO;AACP,wBASO;AACP,qBAAyB;AACzB,uBAAmC;AACnC,kBAAuC;AACvC,qBAAkC;AAClC,2BAA+B;AAC/B,kBAA4B;AAC5B,oBAAqC;AAKrC,mBAA8C;AAC9C,mBAGO;AACP,yBAAuB;AAiErB;AA/DF,IAAM,EAAE,0BAA0B,QAAI,2BAAQ,oBAAAA,WAAuB;AAErE,IAAM,gBAAgB;AAAA,EACrB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AACV;AAEA,SAAS,eAAgB,EAAE,OAAO,SAAS,GAAI;AAC9C,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,EAAG;AACrD,QAAM,EAAE,SAAS,UAAU,QAAI;AAAA,IAC9B,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,YAAY,IAAI,OAAQ,iBAAAC,KAAU;AAEpD,YAAM,QAAQ,EAAE,GAAG,cAAc;AACjC,UAAK,aAAc;AAClB,cAAM,SAAS;AACf,cAAM,iBAAiB,CAAE,MAAO;AAAA,MACjC;AAEA,aAAO;AAAA,QACN,SAAS,SAAU,KAAM;AAAA,QACzB,WAAW,YAAa,YAAY,CAAE,KAAM,CAAE;AAAA,MAC/C;AAAA,IACD;AAAA,IACA,CAAE,WAAY;AAAA,EACf;AAEA,QAAM,oBAAgB,wBAAS,MAAM;AACpC,UAAM,kBAAmB,WAAW,CAAC,GAAI,IAAK,CAAE,WAAY;AAC3D,aAAO;AAAA,QACN,OAAO,OAAO;AAAA,QACd,WAAO,qCAAgB,OAAO,IAAK;AAAA,MACpC;AAAA,IACD,CAAE;AAGF,UAAM,cAAc,eAAe;AAAA,MAClC,CAAE,kBAAmB,OAAO,OAAO,cAAc;AAAA,IAClD;AAEA,QAAI,gBAAgB,CAAC;AACrB,QAAK,cAAc,KAAK,OAAQ;AAC/B,sBAAgB;AAAA,QACf;AAAA,UACC,OAAO,MAAM;AAAA,UACb,WAAO,qCAAgB,MAAM,IAAK;AAAA,QACnC;AAAA,MACD;AAAA,IACD,WAAY,cAAc,KAAK,CAAE,OAAQ;AACxC,sBAAgB;AAAA,QACf;AAAA,UACC,OAAO;AAAA,UACP,WAAO,gBAAI,aAAc;AAAA,QAC1B;AAAA,MACD;AAAA,IACD;AAEA,WAAO,CAAE,GAAG,eAAe,GAAG,cAAe;AAAA,EAC9C,GAAG,CAAE,SAAS,KAAM,CAAE;AAEtB,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,WAAQ,gBAAI,QAAS;AAAA,MACrB,SAAU;AAAA,MACV,OAAQ,OAAO;AAAA,MACf,yBAAsB,yBAAU,gBAAgB,GAAI;AAAA,MACpD;AAAA,MACA,YAAa;AAAA,MACb;AAAA;AAAA,EACD;AAEF;AAEA,SAAS,eAAgB;AAAA,EACxB;AAAA,EACA,SAAS,EAAE,UAAU,QAAQ,QAAQ;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,0BAA0B,OAAO,SAAU,OAAQ;AACzD,QAAM,wBAAoB,6CAA+B;AACzD,QAAM,oBAAgB,+BAAiB;AAEvC,QAAM,EAAE,eAAe,iBAAiB,eAAe,QAAI;AAAA,IAC1D,CAAE,WAAY;AACb,YAAM,EAAE,uBAAuB,SAAS,YAAY,IACnD,OAAQ,iBAAAA,KAAU;AACnB,YAAM,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,WAAW,aAAa;AAE9B,aAAO;AAAA,QACN,eAAe,WACZ,QAAS,UAAU,EAAE,SAAS,OAAO,CAAE,IACvC;AAAA,QACH,gBACC,YAAa,QAAS,GAAG,UAAU,UAAU;AAAA,QAC9C,iBAAiB,aAAa,SAC7B,yBACD,IACG,OACA;AAAA,MACJ;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AACA,QAAM,iBAAa;AAAA,IAClB,CAAE,WAAY,OAAQ,cAAAC,KAAY,EAAE,cAAc;AAAA,IAClD,CAAC;AAAA,EACF;AACA,QAAM,EAAE,iBAAiB,QAAI,yBAAa,iBAAAD,KAAU;AACpD,QAAM,EAAE,aAAa,QAAI,yBAAa,oBAAAE,KAAiB;AAEvD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AACJ,QAAM,cAAc,CAAC;AACrB,QAAM,aAAa,eAAe,YAAQ,gBAAI,aAAc;AAC5D,MAAK,eAAe,aAAc;AACjC,WAAO,KAAM,cAAc,WAAY,EAAE,QAAS,CAAE,SAAU;AAC7D,kBAAY,KAAM;AAAA,QACjB,OAAO;AAAA,QACP,OAAO,GAAI,IAAK,MAAO,IAAK;AAAA,MAC7B,CAAE;AAAA,IACH,CAAE;AAAA,EACH;AAEA,QAAM,iBAAa,mCAAe;AAAA,IACjC,eAAW,YAAAC,SAAM;AAAA,MAChB,CAAE,kBAAmB,SAAU,EAAG,GAAG;AAAA,IACtC,CAAE;AAAA,EACH,CAAE;AAEF,QAAM,eAAe,CAAE,iBAAkB;AACxC,qBAAkB,YAAY,UAAU,QAAQ;AAAA,MAC/C,QAAQ;AAAA,IACT,CAAE;AAAA,EACH;AAEA,QAAM,oBACL,CAAC,CAAE,UAAU,CAAE,2BAA2B;AAE3C,MAAK,CAAE,kBAAkB,aAAa,QAAY;AACjD,WACC,4CAAC,SAAM,GAAG,YACP;AAAA;AAAA,UAED,gBAAI,kDAAmD;AAAA,MACvD;AAAA,IACD,GACD;AAAA,EAEF;AAEA,WAAS,iBAAiB;AACzB;AAAA,MACC;AAAA,UACA,4CAA+B,YAAY,UAAW;AAAA,IACvD;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,yCACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAQ,gBAAI,UAAW;AAAA,QACvB,UAAW,MAAM;AAChB,wBAAe;AAAA,YACd,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,QAAQ;AAAA,YACR,YAAY;AAAA,UACb,CAAE;AAAA,QACH;AAAA,QACA;AAAA,QAEE;AAAA,+BACD,4CAAC,SAAI,OAAQ,EAAE,YAAY,SAAS,GACnC;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ;AAAA,cACR,UAAW;AAAA;AAAA,UACZ,GACD;AAAA,UAED;AAAA,YAAC,kBAAAC;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,aAAc;AAAA,cAC1B,kBAAgB;AAAA,cAChB,UAAW,MAAM,CAAE;AAAA,cACnB,YAAa,MACZ,cAAe,EAAE,YAAY,KAAK,CAAE;AAAA,cAGrC;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,aAAc;AAAA,kBAC1B,SAAU;AAAA,kBACV,UAAW,MACV,cAAe;AAAA,oBACd,YAAY,CAAE;AAAA,kBACf,CAAE;AAAA;AAAA,cAEJ;AAAA;AAAA,UACD;AAAA,UACE,cACD;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,aAAc;AAAA,cAC1B,kBAAgB;AAAA,cAChB,UAAW,MAAM,eAAe;AAAA,cAChC,YAAa,MACZ,cAAe,EAAE,YAAY,GAAG,CAAE;AAAA,cAGnC;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,WAAQ,gBAAI,aAAc;AAAA,kBAC1B,OAAQ;AAAA,kBACR,SAAU;AAAA,kBACV,UAAW,CAAE,SAAU;AACtB,kCAAe;AAAA,sBACd,YAAY,OAAQ,IAAK;AAAA,oBAC1B,CAAE;AAAA,kBACH;AAAA;AAAA,cACD;AAAA;AAAA,UACD;AAAA,UAED;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,UAAW;AAAA,cACvB,kBAAgB;AAAA,cAChB,UAAW,MAAM,CAAC,CAAE;AAAA,cACpB,YAAa,MACZ,cAAe,EAAE,SAAS,OAAU,CAAE;AAAA,cAGvC;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,UAAW;AAAA,kBACvB,SAAU,CAAC,CAAE;AAAA,kBACb,UAAW,MACV,cAAe,EAAE,SAAS,CAAE,QAAQ,CAAE;AAAA;AAAA,cAExC;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,iCAAkC;AAAA,cAC9C,kBAAgB;AAAA,cAChB,UAAW,MAAM,CAAC,CAAE;AAAA,cACpB,YAAa,MAAM,cAAe,EAAE,QAAQ,MAAM,CAAE;AAAA,cAEpD;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,iCAAkC;AAAA,kBAC9C,SAAU;AAAA,kBACV,UAAW,MACV,cAAe,EAAE,QAAQ,CAAE,OAAO,CAAE;AAAA;AAAA,cAEtC;AAAA;AAAA,UACD;AAAA,UACE,UACD;AAAA,YAAC,kBAAAA;AAAA,YAAA;AAAA,cACA,WAAQ,gBAAI,aAAc;AAAA,cAC1B,kBAAgB;AAAA,cAChB,UAAW,MAAM,eAAe;AAAA,cAChC,YAAa,MACZ,cAAe,EAAE,YAAY,QAAQ,CAAE;AAAA,cAGxC;AAAA,gBAAC;AAAA;AAAA,kBACA,WAAQ,gBAAI,iBAAkB;AAAA,kBAC9B,UAAW,CAAE,UACZ,cAAe;AAAA,oBACd,YAAY,QAAQ,WAAW;AAAA,kBAChC,CAAE;AAAA,kBAEH,SAAU,eAAe;AAAA;AAAA,cAC1B;AAAA;AAAA,UACD;AAAA;AAAA;AAAA,IAEF,GACD;AAAA,IACE,WAAW;AAAA,MACZ,CAAE,cAAe,UAAU,SAAS;AAAA,IACrC,KACC,4CAAC,6BACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,WAAU;AAAA,QACV,SAAU;AAAA,QAEV;AAAA,sDAAC,kBAAAC,oBAAA,EAAO,IAAG,KACR;AAAA,YACD;AAAA,UACD,GACD;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAQ;AAAA,cACR,SAAU;AAAA,cACV,uBAAqB;AAAA,cAEnB,8BAAI,UAAW;AAAA;AAAA,UAClB;AAAA;AAAA;AAAA,IACD,GACD;AAAA,IAED,4CAAC,qCAAc,OAAM,SACpB;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ;AAAA,QACR,UAAW,CAAE,cAAe;AAC3B,wBAAe,EAAE,WAAW,UAAU,CAAE;AAAA,QACzC;AAAA;AAAA,IACD,GACD;AAAA,IACA,6CAAC,SAAM,GAAG,YACP;AAAA,oBACD,4CAAC,SAAI,WAAU,gCACd;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ;AAAA,UACR,KACC,eAAe,cAAe,UAAW,KACzC;AAAA,UAED,KACC,eAAe,YAAQ,gBAAI,gBAAiB;AAAA;AAAA,MAE9C,GACD;AAAA,MAED,6CAAC,SAAI,WAAU,iCACV;AAAA,UAAE,6BAAS,QAAS,MAAO,KAAK,eACnC;AAAA,UAAC;AAAA;AAAA,YACA,YAAW;AAAA,YACX,WAAU;AAAA,YACV,kBAAa,gBAAI,yBAA0B;AAAA,YAC3C,iBAAc,gBAAI,eAAgB;AAAA,YAClC,OAAQ;AAAA,YACR,UAAW,CAAE,UACZ,cAAe,EAAE,QAAQ,MAAM,CAAE;AAAA;AAAA,QAEnC;AAAA,QAED,4CAAC,OAAE,WAAU,8BACV,mBACD;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,SAAU,CAAE,UAAW,MAAM,eAAe;AAAA,YAE1C;AAAA;AAAA,QACH,IAEA,YAEF;AAAA,QACE,WACD;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,yBAA0B;AAAA,cACzB,QAAQ,eAAe;AAAA,YACxB;AAAA;AAAA,QACD;AAAA,SAEF;AAAA,OACD;AAAA,KACD;AAEF;AAEA,IAAO,eAAQ;",
6
6
  "names": ["blockEditorPrivateApis", "coreStore", "blocksStore", "blockEditorStore", "clsx", "ToolsPanel", "ToolsPanelItem", "VStack", "WCText"]
7
7
  }
@@ -103,7 +103,7 @@ function recreateWithRecommendedBlocks(attributes, blockTypes) {
103
103
  [
104
104
  shouldInsertParagraphBlock && (0, import_blocks.createBlock)("core/paragraph", {
105
105
  content: byline,
106
- placeholder: (0, import_i18n.__)("Write byline\u2026"),
106
+ placeholder: (0, import_i18n.__)("Write byline"),
107
107
  style: {
108
108
  typography: {
109
109
  fontSize: "0.5em",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-author/utils.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\n/**\n * Generate Author-related blocks based on block attributes.\n *\n * @param {Object} attributes Block's attributes.\n * @param {Object} blockTypes Block types.\n * @return {Object} Generated block.\n */\nexport function recreateWithRecommendedBlocks( attributes, blockTypes ) {\n\tconst {\n\t\tavatarSize,\n\t\tbyline,\n\t\tshowAvatar,\n\t\tshowBio,\n\t\tisLink,\n\t\tlinkTarget,\n\t\ttextAlign,\n\t\tstyle,\n\t\t...restAttributes\n\t} = attributes;\n\n\tconst shouldInsertAvatarBlock =\n\t\tshowAvatar &&\n\t\tblockTypes.some( ( blockType ) => blockType.name === 'core/avatar' );\n\tconst shouldInsertParagraphBlock =\n\t\tbyline &&\n\t\tblockTypes.some( ( blockType ) => blockType.name === 'core/paragraph' );\n\tconst shouldInsertPostAuthorNameBlock = blockTypes.some(\n\t\t( blockType ) => blockType.name === 'core/post-author-name'\n\t);\n\tconst shouldInsertPostAuthorBiographyBlock =\n\t\tshowBio &&\n\t\tblockTypes.some(\n\t\t\t( blockType ) => blockType.name === 'core/post-author-biography'\n\t\t);\n\n\treturn createBlock(\n\t\t'core/group',\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\tspacing: {\n\t\t\t\t\t...style?.spacing,\n\t\t\t\t\tblockGap: '1em',\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\t...style?.color,\n\t\t\t\t\t// Duotone must be applied to the avatar block.\n\t\t\t\t\tduotone: undefined,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tflexWrap: 'nowrap',\n\t\t\t\tverticalAlignment: 'top',\n\t\t\t},\n\t\t},\n\t\t[\n\t\t\tshouldInsertAvatarBlock &&\n\t\t\t\tcreateBlock( 'core/avatar', {\n\t\t\t\t\tsize: avatarSize,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tradius: '0px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\tcreateBlock(\n\t\t\t\t'core/group',\n\t\t\t\t{\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tselfStretch: 'fill',\n\t\t\t\t\t\t\tflexSize: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\tblockGap: '0',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\ttype: 'flex',\n\t\t\t\t\t\torientation: 'vertical',\n\t\t\t\t\t\tjustifyContent: 'stretch',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tshouldInsertParagraphBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: byline,\n\t\t\t\t\t\t\tplaceholder: __( 'Write byline\u2026' ),\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '0.5em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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\tshouldInsertPostAuthorNameBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/post-author-name', {\n\t\t\t\t\t\t\tisLink,\n\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '1em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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\tshouldInsertPostAuthorBiographyBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/post-author-biography', {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '0.7em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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].filter( Boolean )\n\t\t\t),\n\t\t].filter( Boolean )\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAC5B,kBAAmB;AACnB,0BAAsD;AAKtD,yBAAuB;AAEvB,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AASrD,SAAS,8BAA+B,YAAY,YAAa;AACvE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,IAAI;AAEJ,QAAM,0BACL,cACA,WAAW,KAAM,CAAE,cAAe,UAAU,SAAS,aAAc;AACpE,QAAM,6BACL,UACA,WAAW,KAAM,CAAE,cAAe,UAAU,SAAS,gBAAiB;AACvE,QAAM,kCAAkC,WAAW;AAAA,IAClD,CAAE,cAAe,UAAU,SAAS;AAAA,EACrC;AACA,QAAM,uCACL,WACA,WAAW;AAAA,IACV,CAAE,cAAe,UAAU,SAAS;AAAA,EACrC;AAED,aAAO;AAAA,IACN;AAAA,IACA;AAAA,MACC,GAAG;AAAA,MACH,OAAO,iBAAkB;AAAA,QACxB,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,UAAU;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACN,GAAG,OAAO;AAAA;AAAA,UAEV,SAAS;AAAA,QACV;AAAA,MACD,CAAE;AAAA,MACF,QAAQ;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,mBAAmB;AAAA,MACpB;AAAA,IACD;AAAA,IACA;AAAA,MACC,+BACC,2BAAa,eAAe;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO,iBAAkB;AAAA,UACxB,QAAQ;AAAA,YACP,QAAQ;AAAA,UACT;AAAA,UACA,OAAO;AAAA,YACN,SAAS,OAAO,OAAO;AAAA,UACxB;AAAA,QACD,CAAE;AAAA,MACH,CAAE;AAAA,UACH;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,YACN,QAAQ;AAAA,cACP,aAAa;AAAA,cACb,UAAU;AAAA,YACX;AAAA,YACA,SAAS;AAAA,cACR,UAAU;AAAA,YACX;AAAA,UACD;AAAA,UACA,QAAQ;AAAA,YACP,MAAM;AAAA,YACN,aAAa;AAAA,YACb,gBAAgB;AAAA,UACjB;AAAA,QACD;AAAA,QACA;AAAA,UACC,kCACC,2BAAa,kBAAkB;AAAA,YAC9B,SAAS;AAAA,YACT,iBAAa,gBAAI,oBAAgB;AAAA,YACjC,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,UACH,uCACC,2BAAa,yBAAyB;AAAA,YACrC;AAAA,YACA;AAAA,YACA,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,UACH,4CACC,2BAAa,8BAA8B;AAAA,YAC1C,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,QACJ,EAAE,OAAQ,OAAQ;AAAA,MACnB;AAAA,IACD,EAAE,OAAQ,OAAQ;AAAA,EACnB;AACD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\n/**\n * Generate Author-related blocks based on block attributes.\n *\n * @param {Object} attributes Block's attributes.\n * @param {Object} blockTypes Block types.\n * @return {Object} Generated block.\n */\nexport function recreateWithRecommendedBlocks( attributes, blockTypes ) {\n\tconst {\n\t\tavatarSize,\n\t\tbyline,\n\t\tshowAvatar,\n\t\tshowBio,\n\t\tisLink,\n\t\tlinkTarget,\n\t\ttextAlign,\n\t\tstyle,\n\t\t...restAttributes\n\t} = attributes;\n\n\tconst shouldInsertAvatarBlock =\n\t\tshowAvatar &&\n\t\tblockTypes.some( ( blockType ) => blockType.name === 'core/avatar' );\n\tconst shouldInsertParagraphBlock =\n\t\tbyline &&\n\t\tblockTypes.some( ( blockType ) => blockType.name === 'core/paragraph' );\n\tconst shouldInsertPostAuthorNameBlock = blockTypes.some(\n\t\t( blockType ) => blockType.name === 'core/post-author-name'\n\t);\n\tconst shouldInsertPostAuthorBiographyBlock =\n\t\tshowBio &&\n\t\tblockTypes.some(\n\t\t\t( blockType ) => blockType.name === 'core/post-author-biography'\n\t\t);\n\n\treturn createBlock(\n\t\t'core/group',\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\tspacing: {\n\t\t\t\t\t...style?.spacing,\n\t\t\t\t\tblockGap: '1em',\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\t...style?.color,\n\t\t\t\t\t// Duotone must be applied to the avatar block.\n\t\t\t\t\tduotone: undefined,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tflexWrap: 'nowrap',\n\t\t\t\tverticalAlignment: 'top',\n\t\t\t},\n\t\t},\n\t\t[\n\t\t\tshouldInsertAvatarBlock &&\n\t\t\t\tcreateBlock( 'core/avatar', {\n\t\t\t\t\tsize: avatarSize,\n\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tradius: '0px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t\t} ),\n\t\t\tcreateBlock(\n\t\t\t\t'core/group',\n\t\t\t\t{\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tselfStretch: 'fill',\n\t\t\t\t\t\t\tflexSize: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\tblockGap: '0',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\ttype: 'flex',\n\t\t\t\t\t\torientation: 'vertical',\n\t\t\t\t\t\tjustifyContent: 'stretch',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tshouldInsertParagraphBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: byline,\n\t\t\t\t\t\t\tplaceholder: __( 'Write byline' ),\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '0.5em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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\tshouldInsertPostAuthorNameBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/post-author-name', {\n\t\t\t\t\t\t\tisLink,\n\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '1em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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\tshouldInsertPostAuthorBiographyBlock &&\n\t\t\t\t\t\tcreateBlock( 'core/post-author-biography', {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\t\t\tfontSize: '0.7em',\n\t\t\t\t\t\t\t\t\ttextAlign,\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].filter( Boolean )\n\t\t\t),\n\t\t].filter( Boolean )\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAC5B,kBAAmB;AACnB,0BAAsD;AAKtD,yBAAuB;AAEvB,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,oBAAAA,WAAuB;AASrD,SAAS,8BAA+B,YAAY,YAAa;AACvE,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,IAAI;AAEJ,QAAM,0BACL,cACA,WAAW,KAAM,CAAE,cAAe,UAAU,SAAS,aAAc;AACpE,QAAM,6BACL,UACA,WAAW,KAAM,CAAE,cAAe,UAAU,SAAS,gBAAiB;AACvE,QAAM,kCAAkC,WAAW;AAAA,IAClD,CAAE,cAAe,UAAU,SAAS;AAAA,EACrC;AACA,QAAM,uCACL,WACA,WAAW;AAAA,IACV,CAAE,cAAe,UAAU,SAAS;AAAA,EACrC;AAED,aAAO;AAAA,IACN;AAAA,IACA;AAAA,MACC,GAAG;AAAA,MACH,OAAO,iBAAkB;AAAA,QACxB,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,UAAU;AAAA,QACX;AAAA,QACA,OAAO;AAAA,UACN,GAAG,OAAO;AAAA;AAAA,UAEV,SAAS;AAAA,QACV;AAAA,MACD,CAAE;AAAA,MACF,QAAQ;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,mBAAmB;AAAA,MACpB;AAAA,IACD;AAAA,IACA;AAAA,MACC,+BACC,2BAAa,eAAe;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO,iBAAkB;AAAA,UACxB,QAAQ;AAAA,YACP,QAAQ;AAAA,UACT;AAAA,UACA,OAAO;AAAA,YACN,SAAS,OAAO,OAAO;AAAA,UACxB;AAAA,QACD,CAAE;AAAA,MACH,CAAE;AAAA,UACH;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,YACN,QAAQ;AAAA,cACP,aAAa;AAAA,cACb,UAAU;AAAA,YACX;AAAA,YACA,SAAS;AAAA,cACR,UAAU;AAAA,YACX;AAAA,UACD;AAAA,UACA,QAAQ;AAAA,YACP,MAAM;AAAA,YACN,aAAa;AAAA,YACb,gBAAgB;AAAA,UACjB;AAAA,QACD;AAAA,QACA;AAAA,UACC,kCACC,2BAAa,kBAAkB;AAAA,YAC9B,SAAS;AAAA,YACT,iBAAa,gBAAI,eAAgB;AAAA,YACjC,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,UACH,uCACC,2BAAa,yBAAyB;AAAA,YACrC;AAAA,YACA;AAAA,YACA,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,UACH,4CACC,2BAAa,8BAA8B;AAAA,YAC1C,OAAO;AAAA,cACN,YAAY;AAAA,gBACX,UAAU;AAAA,gBACV;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAE;AAAA,QACJ,EAAE,OAAQ,OAAQ;AAAA,MACnB;AAAA,IACD,EAAE,OAAQ,OAAQ;AAAA,EACnB;AACD;",
6
6
  "names": ["blockEditorPrivateApis"]
7
7
  }
@@ -56,7 +56,6 @@ function Edit({ attributes: { commentId }, setAttributes }) {
56
56
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
57
  import_components.TextControl,
58
58
  {
59
- __next40pxDefaultSize: true,
60
59
  value: commentId,
61
60
  onChange: (val) => setCommentIdInput(parseInt(val))
62
61
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-comment/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Placeholder, TextControl, Button } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { blockDefault } from '@wordpress/icons';\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\nexport default function Edit( { attributes: { commentId }, setAttributes } ) {\n\tconst [ commentIdInput, setCommentIdInput ] = useState( commentId );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\tif ( ! commentId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ blockDefault }\n\t\t\t\t\tlabel={ _x( 'Post Comment', 'block title' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'To show a comment, input the comment ID.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ commentId }\n\t\t\t\t\t\tonChange={ ( val ) =>\n\t\t\t\t\t\t\tsetCommentIdInput( parseInt( val ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( { commentId: commentIdInput } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAAiD;AACjD,qBAAyB;AACzB,mBAA6B;AAC7B,0BAAmD;AAqB/C;AAnBJ,IAAM,WAAW;AAAA,EAChB,CAAE,aAAc;AAAA,EAChB,CAAE,0BAA2B;AAAA,EAC7B,CAAE,mBAAoB;AAAA,EACtB,CAAE,sBAAuB;AAAA,EACzB,CAAE,yBAA0B;AAAA,EAC5B,CAAE,wBAAyB;AAC5B;AAEe,SAAR,KAAuB,EAAE,YAAY,EAAE,UAAU,GAAG,cAAc,GAAI;AAC5E,QAAM,CAAE,gBAAgB,iBAAkB,QAAI,yBAAU,SAAU;AAClE,QAAM,iBAAa,mCAAc;AACjC,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,EACX,CAAE;AAEF,MAAK,CAAE,WAAY;AAClB,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP,WAAQ,gBAAI,gBAAgB,aAAc;AAAA,QAC1C,kBAAe;AAAA,UACd;AAAA,QACD;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,OAAQ;AAAA,cACR,UAAW,CAAE,QACZ,kBAAmB,SAAU,GAAI,CAAE;AAAA;AAAA,UAErC;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU,MAAM;AACf,8BAAe,EAAE,WAAW,eAAe,CAAE;AAAA,cAC9C;AAAA,cAEE,8BAAI,MAAO;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Placeholder, TextControl, Button } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { blockDefault } from '@wordpress/icons';\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\nexport default function Edit( { attributes: { commentId }, setAttributes } ) {\n\tconst [ commentIdInput, setCommentIdInput ] = useState( commentId );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\tif ( ! commentId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ blockDefault }\n\t\t\t\t\tlabel={ _x( 'Post Comment', 'block title' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'To show a comment, input the comment ID.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tvalue={ commentId }\n\t\t\t\t\t\tonChange={ ( val ) =>\n\t\t\t\t\t\t\tsetCommentIdInput( parseInt( val ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( { commentId: commentIdInput } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAAiD;AACjD,qBAAyB;AACzB,mBAA6B;AAC7B,0BAAmD;AAqB/C;AAnBJ,IAAM,WAAW;AAAA,EAChB,CAAE,aAAc;AAAA,EAChB,CAAE,0BAA2B;AAAA,EAC7B,CAAE,mBAAoB;AAAA,EACtB,CAAE,sBAAuB;AAAA,EACzB,CAAE,yBAA0B;AAAA,EAC5B,CAAE,wBAAyB;AAC5B;AAEe,SAAR,KAAuB,EAAE,YAAY,EAAE,UAAU,GAAG,cAAc,GAAI;AAC5E,QAAM,CAAE,gBAAgB,iBAAkB,QAAI,yBAAU,SAAU;AAClE,QAAM,iBAAa,mCAAc;AACjC,QAAM,uBAAmB,yCAAqB,YAAY;AAAA,IACzD,UAAU;AAAA,EACX,CAAE;AAEF,MAAK,CAAE,WAAY;AAClB,WACC,4CAAC,SAAM,GAAG,YACT;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP,WAAQ,gBAAI,gBAAgB,aAAc;AAAA,QAC1C,kBAAe;AAAA,UACd;AAAA,QACD;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,OAAQ;AAAA,cACR,UAAW,CAAE,QACZ,kBAAmB,SAAU,GAAI,CAAE;AAAA;AAAA,UAErC;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU,MAAM;AACf,8BAAe,EAAE,WAAW,eAAe,CAAE;AAAA,cAC9C;AAAA,cAEE,8BAAI,MAAO;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACD,GACD;AAAA,EAEF;AAEA,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
6
6
  "names": []
7
7
  }
@@ -189,7 +189,7 @@ function PostDateEdit(props) {
189
189
  import_components.__experimentalToolsPanelItem,
190
190
  {
191
191
  hasValue: () => isLink !== false,
192
- label: postType?.labels.singular_name ? (0, import_i18n.sprintf)(
192
+ label: postType?.labels?.singular_name ? (0, import_i18n.sprintf)(
193
193
  // translators: %s: Name of the post type e.g: "post".
194
194
  (0, import_i18n.__)("Link to %s"),
195
195
  postType.labels.singular_name.toLowerCase()
@@ -199,7 +199,7 @@ function PostDateEdit(props) {
199
199
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
200
200
  import_components.ToggleControl,
201
201
  {
202
- label: postType?.labels.singular_name ? (0, import_i18n.sprintf)(
202
+ label: postType?.labels?.singular_name ? (0, import_i18n.sprintf)(
203
203
  // translators: %s: Name of the post type e.g: "post".
204
204
  (0, import_i18n.__)("Link to %s"),
205
205
  postType.labels.singular_name.toLowerCase()
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-date/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { pencil } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nexport default function PostDateEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tcontext: { postType: postTypeSlug, queryId },\n\t\tsetAttributes,\n\t\tname,\n\t} = props;\n\tuseDeprecatedTextAlign( props );\n\tconst { datetime, format, isLink } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// We need to set the datetime to a default value upon first loading\n\t// to discern the block from its legacy version (which would default\n\t// to the containing post's publish date).\n\tuseEffect( () => {\n\t\tif ( datetime === undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { datetime: new Date() } );\n\t\t}\n\t}, [ datetime ] );\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\n\tconst {\n\t\tpostType,\n\t\tsiteFormat = dateSettings.formats.date,\n\t\tsiteTimeFormat = dateSettings.formats.time,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tsiteFormat: siteSettings?.date_format,\n\t\t\t\tsiteTimeFormat: siteSettings?.time_format,\n\t\t\t\tpostType: postTypeSlug ? getPostType( postTypeSlug ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postTypeSlug ]\n\t);\n\tconst activeBlockVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation( name, attributes )\n\t\t\t\t?.name,\n\t\t[ name, attributes ]\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst validDatetime = datetime || new Date();\n\tlet postDate = (\n\t\t<time\n\t\t\tdateTime={ dateI18n( 'c', validDatetime ) }\n\t\t\tref={ setPopoverAnchor }\n\t\t>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( validDatetime )\n\t\t\t\t: dateI18n( format || siteFormat, validDatetime ) }\n\t\t</time>\n\t);\n\n\tif ( isLink && datetime ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ ( blockEditingMode === 'default' || ! isDescendentOfQueryLoop ) &&\n\t\t\t\tactiveBlockVariationName !== 'post-date-modified' &&\n\t\t\t\t( ! isDescendentOfQueryLoop || ! activeBlockVariationName ) && (\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\t\tactiveBlockVariationName ===\n\t\t\t\t\t\t\t\t\t\t\t'post-date'\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Publish Date' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Date' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcurrentDate={ datetime }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( newDatetime ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tdatetime: newDatetime,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t! isOpen &&\n\t\t\t\t\t\t\t\t\t\t\tevent.keyCode === DOWN\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\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\tdatetime: undefined,\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\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\thasValue={ () => !! format }\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { format: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\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\thasValue={ () => isLink !== false }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\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\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { pencil } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nexport default function PostDateEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tcontext: { postType: postTypeSlug, queryId },\n\t\tsetAttributes,\n\t\tname,\n\t} = props;\n\tuseDeprecatedTextAlign( props );\n\tconst { datetime, format, isLink } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// We need to set the datetime to a default value upon first loading\n\t// to discern the block from its legacy version (which would default\n\t// to the containing post's publish date).\n\tuseEffect( () => {\n\t\tif ( datetime === undefined ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { datetime: new Date() } );\n\t\t}\n\t}, [ datetime ] );\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\n\tconst {\n\t\tpostType,\n\t\tsiteFormat = dateSettings.formats.date,\n\t\tsiteTimeFormat = dateSettings.formats.time,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tsiteFormat: siteSettings?.date_format,\n\t\t\t\tsiteTimeFormat: siteSettings?.time_format,\n\t\t\t\tpostType: postTypeSlug ? getPostType( postTypeSlug ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postTypeSlug ]\n\t);\n\tconst activeBlockVariationName = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blocksStore ).getActiveBlockVariation( name, attributes )\n\t\t\t\t?.name,\n\t\t[ name, attributes ]\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst validDatetime = datetime || new Date();\n\tlet postDate = (\n\t\t<time\n\t\t\tdateTime={ dateI18n( 'c', validDatetime ) }\n\t\t\tref={ setPopoverAnchor }\n\t\t>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( validDatetime )\n\t\t\t\t: dateI18n( format || siteFormat, validDatetime ) }\n\t\t</time>\n\t);\n\n\tif ( isLink && datetime ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ ( blockEditingMode === 'default' || ! isDescendentOfQueryLoop ) &&\n\t\t\t\tactiveBlockVariationName !== 'post-date-modified' &&\n\t\t\t\t( ! isDescendentOfQueryLoop || ! activeBlockVariationName ) && (\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\t\tactiveBlockVariationName ===\n\t\t\t\t\t\t\t\t\t\t\t'post-date'\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Publish Date' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Date' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcurrentDate={ datetime }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( newDatetime ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tdatetime: newDatetime,\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t! isOpen &&\n\t\t\t\t\t\t\t\t\t\t\tevent.keyCode === DOWN\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\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\tdatetime: undefined,\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\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\thasValue={ () => !! format }\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { format: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\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\thasValue={ () => isLink !== false }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels?.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels?.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\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\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["useDeprecatedTextAlign", "blockEditorStore", "getDateSettings", "coreStore", "blocksStore", "PublishDateTimePicker", "ToolsPanel", "ToolsPanelItem", "DateFormatPicker"]
7
7
  }
@@ -43,7 +43,7 @@ var import_data = require("@wordpress/data");
43
43
  var import_hooks = require("../utils/hooks.cjs");
44
44
  var import_deprecated_text_align_attributes = __toESM(require("../utils/deprecated-text-align-attributes.cjs"));
45
45
  var import_jsx_runtime = require("react/jsx-runtime");
46
- var ELLIPSIS = "\u2026";
46
+ var ELLIPSIS = "";
47
47
  function PostExcerptEditor(props) {
48
48
  const {
49
49
  attributes: { moreText, showMoreOnNewLine, excerptLength },
@@ -96,7 +96,7 @@ function PostExcerptEditor(props) {
96
96
  identifier: "moreText",
97
97
  className: "wp-block-post-excerpt__more-link",
98
98
  tagName: "a",
99
- "aria-label": (0, import_i18n.__)("\u201CRead more\u201D link text"),
99
+ "aria-label": (0, import_i18n.__)("“Read more link text"),
100
100
  placeholder: (0, import_i18n.__)('Add "read more" link text'),
101
101
  value: moreText,
102
102
  onChange: (newMoreText) => setAttributes({ moreText: newMoreText }),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-excerpt/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tRangeControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCanEditEntity,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nconst ELLIPSIS = '\u2026';\n\nexport default function PostExcerptEditor( props ) {\n\tconst {\n\t\tattributes: { moreText, showMoreOnNewLine, excerptLength },\n\t\tsetAttributes,\n\t\tisSelected,\n\t\tcontext: { postId, postType, queryId },\n\t} = props;\n\tuseDeprecatedTextAlign( props );\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps();\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t</div>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '\u201CRead more\u201D link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( /\\s+/, excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t\tallowedFormats={ [] }\n\t\t\tpreserveWhiteSpace\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\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\tshowMoreOnNewLine: true,\n\t\t\t\t\t\t\texcerptLength: 55,\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\thasValue={ () => showMoreOnNewLine !== true }\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showMoreOnNewLine: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\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={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\t\tmax=\"100\"\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<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tRangeControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCanEditEntity,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\nimport useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';\n\nconst ELLIPSIS = '';\n\nexport default function PostExcerptEditor( props ) {\n\tconst {\n\t\tattributes: { moreText, showMoreOnNewLine, excerptLength },\n\t\tsetAttributes,\n\t\tisSelected,\n\t\tcontext: { postId, postType, queryId },\n\t} = props;\n\tuseDeprecatedTextAlign( props );\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps();\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t</div>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( /\\s+/, excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t\tallowedFormats={ [] }\n\t\t\tpreserveWhiteSpace\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\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\tshowMoreOnNewLine: true,\n\t\t\t\t\t\t\texcerptLength: 55,\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\thasValue={ () => showMoreOnNewLine !== true }\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showMoreOnNewLine: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\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={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\t\tmax=\"100\"\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<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["useDeprecatedTextAlign", "coreStore", "clsx", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -98,6 +98,7 @@
98
98
  }
99
99
  },
100
100
  "selectors": {
101
+ "dimensions": ".wp-block-post-featured-image img",
101
102
  "border": ".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay",
102
103
  "shadow": ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder",
103
104
  "filter": {