@wordpress/block-library 9.13.1-next.cd6172eb0.0 → 9.15.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 (787) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/edit.js +83 -36
  4. package/build/archives/edit.js.map +1 -1
  5. package/build/avatar/user-control.js +1 -0
  6. package/build/avatar/user-control.js.map +1 -1
  7. package/build/block/deprecated.js +1 -0
  8. package/build/block/deprecated.js.map +1 -1
  9. package/build/block/edit.js +1 -0
  10. package/build/block/edit.js.map +1 -1
  11. package/build/button/deprecated.js +183 -1
  12. package/build/button/deprecated.js.map +1 -1
  13. package/build/button/edit.js +49 -27
  14. package/build/button/edit.js.map +1 -1
  15. package/build/button/index.js +8 -2
  16. package/build/button/index.js.map +1 -1
  17. package/build/button/save.js +8 -5
  18. package/build/button/save.js.map +1 -1
  19. package/build/buttons/transforms.js +1 -0
  20. package/build/buttons/transforms.js.map +1 -1
  21. package/build/categories/edit.js +1 -0
  22. package/build/categories/edit.js.map +1 -1
  23. package/build/column/column-preview.native.js +1 -0
  24. package/build/column/column-preview.native.js.map +1 -1
  25. package/build/column/edit.js +33 -13
  26. package/build/column/edit.js.map +1 -1
  27. package/build/columns/columnCalculations.native.js +1 -0
  28. package/build/columns/columnCalculations.native.js.map +1 -1
  29. package/build/columns/deprecated.js +1 -0
  30. package/build/columns/deprecated.js.map +1 -1
  31. package/build/columns/edit.js +51 -27
  32. package/build/columns/edit.js.map +1 -1
  33. package/build/columns/edit.native.js +1 -0
  34. package/build/columns/edit.native.js.map +1 -1
  35. package/build/columns/transforms.js +1 -0
  36. package/build/columns/transforms.js.map +1 -1
  37. package/build/columns/utils.js +1 -0
  38. package/build/columns/utils.js.map +1 -1
  39. package/build/comment-template/edit.js +1 -0
  40. package/build/comment-template/edit.js.map +1 -1
  41. package/build/comment-template/hooks.js +1 -0
  42. package/build/comment-template/hooks.js.map +1 -1
  43. package/build/comment-template/util.js +1 -0
  44. package/build/comment-template/util.js.map +1 -1
  45. package/build/comments/index.js +1 -0
  46. package/build/comments/index.js.map +1 -1
  47. package/build/cover/edit/index.js +9 -3
  48. package/build/cover/edit/index.js.map +1 -1
  49. package/build/cover/edit.native.js +1 -1
  50. package/build/cover/edit.native.js.map +1 -1
  51. package/build/details/edit.js +29 -7
  52. package/build/details/edit.js.map +1 -1
  53. package/build/details/transforms.js +1 -0
  54. package/build/details/transforms.js.map +1 -1
  55. package/build/embed/embed-placeholder.native.js +1 -0
  56. package/build/embed/embed-placeholder.native.js.map +1 -1
  57. package/build/embed/util.js +1 -0
  58. package/build/embed/util.js.map +1 -1
  59. package/build/embed/variations.js +1 -0
  60. package/build/embed/variations.js.map +1 -1
  61. package/build/embed/wp-embed-preview.js +1 -0
  62. package/build/embed/wp-embed-preview.js.map +1 -1
  63. package/build/file/transforms.js +1 -0
  64. package/build/file/transforms.js.map +1 -1
  65. package/build/footnotes/edit.js +1 -0
  66. package/build/footnotes/edit.js.map +1 -1
  67. package/build/form/index.js +1 -2
  68. package/build/form/index.js.map +1 -1
  69. package/build/form/view.js +10 -5
  70. package/build/form/view.js.map +1 -1
  71. package/build/freeform/modal.js +1 -0
  72. package/build/freeform/modal.js.map +1 -1
  73. package/build/gallery/deprecated.js +1 -0
  74. package/build/gallery/deprecated.js.map +1 -1
  75. package/build/gallery/edit.js +1 -0
  76. package/build/gallery/edit.js.map +1 -1
  77. package/build/gallery/shared.js +1 -0
  78. package/build/gallery/shared.js.map +1 -1
  79. package/build/gallery/transforms.js +1 -0
  80. package/build/gallery/transforms.js.map +1 -1
  81. package/build/gallery/use-get-media.js +1 -0
  82. package/build/gallery/use-get-media.js.map +1 -1
  83. package/build/gallery/use-get-media.native.js +1 -0
  84. package/build/gallery/use-get-media.native.js.map +1 -1
  85. package/build/gallery/use-get-new-images.js +1 -0
  86. package/build/gallery/use-get-new-images.js.map +1 -1
  87. package/build/gallery/use-image-sizes.js +1 -0
  88. package/build/gallery/use-image-sizes.js.map +1 -1
  89. package/build/group/placeholder.js +1 -0
  90. package/build/group/placeholder.js.map +1 -1
  91. package/build/group/transforms.js +1 -0
  92. package/build/group/transforms.js.map +1 -1
  93. package/build/heading/transforms.js +1 -0
  94. package/build/heading/transforms.js.map +1 -1
  95. package/build/html/preview.js +1 -0
  96. package/build/html/preview.js.map +1 -1
  97. package/build/image/edit.js +1 -0
  98. package/build/image/edit.js.map +1 -1
  99. package/build/image/edit.native.js +1 -0
  100. package/build/image/edit.native.js.map +1 -1
  101. package/build/image/image.js +2 -1
  102. package/build/image/image.js.map +1 -1
  103. package/build/image/transforms.js +2 -0
  104. package/build/image/transforms.js.map +1 -1
  105. package/build/image/utils.js +1 -0
  106. package/build/image/utils.js.map +1 -1
  107. package/build/image/view.js +1 -3
  108. package/build/image/view.js.map +1 -1
  109. package/build/index.js +2 -1
  110. package/build/index.js.map +1 -1
  111. package/build/index.native.js +1 -0
  112. package/build/index.native.js.map +1 -1
  113. package/build/latest-posts/deprecated.js +12 -0
  114. package/build/latest-posts/deprecated.js.map +1 -1
  115. package/build/latest-posts/edit.js +1 -0
  116. package/build/latest-posts/edit.js.map +1 -1
  117. package/build/latest-posts/index.js +12 -0
  118. package/build/latest-posts/index.js.map +1 -1
  119. package/build/list/transforms.js +1 -0
  120. package/build/list/transforms.js.map +1 -1
  121. package/build/list/utils.js +1 -0
  122. package/build/list/utils.js.map +1 -1
  123. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  124. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  125. package/build/list-item/transforms.js +1 -0
  126. package/build/list-item/transforms.js.map +1 -1
  127. package/build/loginout/edit.js +42 -13
  128. package/build/loginout/edit.js.map +1 -1
  129. package/build/media-text/edit.js +60 -31
  130. package/build/media-text/edit.js.map +1 -1
  131. package/build/more/edit.js +28 -7
  132. package/build/more/edit.js.map +1 -1
  133. package/build/more/save.js +1 -0
  134. package/build/more/save.js.map +1 -1
  135. package/build/navigation/deprecated.js +1 -0
  136. package/build/navigation/deprecated.js.map +1 -1
  137. package/build/navigation/edit/index.js +1 -0
  138. package/build/navigation/edit/index.js.map +1 -1
  139. package/build/navigation/edit/navigation-menu-selector.js +5 -3
  140. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  141. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
  142. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  143. package/build/navigation/menu-items-to-blocks.js +1 -0
  144. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  145. package/build/navigation/use-template-part-area-label.js +1 -0
  146. package/build/navigation/use-template-part-area-label.js.map +1 -1
  147. package/build/navigation/view.js +1 -0
  148. package/build/navigation/view.js.map +1 -1
  149. package/build/navigation-link/edit.js +96 -57
  150. package/build/navigation-link/edit.js.map +1 -1
  151. package/build/navigation-link/hooks.js +1 -0
  152. package/build/navigation-link/hooks.js.map +1 -1
  153. package/build/navigation-link/link-ui.js +3 -3
  154. package/build/navigation-link/link-ui.js.map +1 -1
  155. package/build/navigation-submenu/edit.js +105 -54
  156. package/build/navigation-submenu/edit.js.map +1 -1
  157. package/build/page-list/edit.js +45 -25
  158. package/build/page-list/edit.js.map +1 -1
  159. package/build/page-list/use-convert-to-navigation-links.js +1 -0
  160. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  161. package/build/paragraph/edit.js +22 -6
  162. package/build/paragraph/edit.js.map +1 -1
  163. package/build/pattern/edit.js +1 -0
  164. package/build/pattern/edit.js.map +1 -1
  165. package/build/post-author/edit.js +16 -3
  166. package/build/post-author/edit.js.map +1 -1
  167. package/build/post-author/index.js +4 -2
  168. package/build/post-author/index.js.map +1 -1
  169. package/build/post-author-name/edit.js +11 -5
  170. package/build/post-author-name/edit.js.map +1 -1
  171. package/build/post-author-name/index.js +4 -2
  172. package/build/post-author-name/index.js.map +1 -1
  173. package/build/post-comments-form/index.js +6 -1
  174. package/build/post-comments-form/index.js.map +1 -1
  175. package/build/post-comments-link/index.js +8 -1
  176. package/build/post-comments-link/index.js.map +1 -1
  177. package/build/post-date/edit.js +58 -18
  178. package/build/post-date/edit.js.map +1 -1
  179. package/build/post-date/index.js +2 -1
  180. package/build/post-date/index.js.map +1 -1
  181. package/build/post-excerpt/edit.js +42 -18
  182. package/build/post-excerpt/edit.js.map +1 -1
  183. package/build/post-featured-image/dimension-controls.js +18 -19
  184. package/build/post-featured-image/dimension-controls.js.map +1 -1
  185. package/build/post-featured-image/edit.js +45 -11
  186. package/build/post-featured-image/edit.js.map +1 -1
  187. package/build/post-featured-image/index.js +6 -3
  188. package/build/post-featured-image/index.js.map +1 -1
  189. package/build/post-navigation-link/edit.js +1 -0
  190. package/build/post-navigation-link/edit.js.map +1 -1
  191. package/build/post-navigation-link/index.js +11 -7
  192. package/build/post-navigation-link/index.js.map +1 -1
  193. package/build/post-navigation-link/variations.js +3 -2
  194. package/build/post-navigation-link/variations.js.map +1 -1
  195. package/build/post-template/edit.js +1 -0
  196. package/build/post-template/edit.js.map +1 -1
  197. package/build/post-template/index.js +12 -2
  198. package/build/post-template/index.js.map +1 -1
  199. package/build/post-terms/edit.js +1 -0
  200. package/build/post-terms/edit.js.map +1 -1
  201. package/build/post-terms/hooks.js +1 -0
  202. package/build/post-terms/hooks.js.map +1 -1
  203. package/build/post-title/index.js +6 -3
  204. package/build/post-title/index.js.map +1 -1
  205. package/build/pullquote/blockquote.native.js +1 -0
  206. package/build/pullquote/blockquote.native.js.map +1 -1
  207. package/build/pullquote/transforms.js +1 -0
  208. package/build/pullquote/transforms.js.map +1 -1
  209. package/build/query/deprecated.js +1 -0
  210. package/build/query/deprecated.js.map +1 -1
  211. package/build/query/edit/inspector-controls/author-control.js +1 -0
  212. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  213. package/build/query/edit/inspector-controls/format-controls.js +1 -0
  214. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  215. package/build/query/edit/inspector-controls/index.js +1 -0
  216. package/build/query/edit/inspector-controls/index.js.map +1 -1
  217. package/build/query/edit/inspector-controls/parent-control.js +1 -0
  218. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  219. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  220. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  221. package/build/query/utils.js +1 -0
  222. package/build/query/utils.js.map +1 -1
  223. package/build/query-no-results/index.js +11 -10
  224. package/build/query-no-results/index.js.map +1 -1
  225. package/build/query-pagination/edit.js +47 -17
  226. package/build/query-pagination/edit.js.map +1 -1
  227. package/build/query-pagination/query-pagination-label-control.js +1 -1
  228. package/build/query-pagination/query-pagination-label-control.js.map +1 -1
  229. package/build/query-pagination-numbers/edit.js +33 -15
  230. package/build/query-pagination-numbers/edit.js.map +1 -1
  231. package/build/query-title/variations.js +1 -0
  232. package/build/query-title/variations.js.map +1 -1
  233. package/build/query-total/edit.js +90 -0
  234. package/build/query-total/edit.js.map +1 -0
  235. package/build/query-total/icons.js +46 -0
  236. package/build/query-total/icons.js.map +1 -0
  237. package/build/query-total/index.js +81 -0
  238. package/build/query-total/index.js.map +1 -0
  239. package/build/query-total/init.js +12 -0
  240. package/build/query-total/init.js.map +1 -0
  241. package/build/quote/deprecated.js +1 -0
  242. package/build/quote/deprecated.js.map +1 -1
  243. package/build/quote/transforms.js +1 -0
  244. package/build/quote/transforms.js.map +1 -1
  245. package/build/read-more/index.js +7 -1
  246. package/build/read-more/index.js.map +1 -1
  247. package/build/site-logo/index.js +4 -2
  248. package/build/site-logo/index.js.map +1 -1
  249. package/build/site-title/edit.js +41 -12
  250. package/build/site-title/edit.js.map +1 -1
  251. package/build/site-title/index.js +4 -2
  252. package/build/site-title/index.js.map +1 -1
  253. package/build/social-link/edit.js +19 -3
  254. package/build/social-link/edit.js.map +1 -1
  255. package/build/social-link/social-list.js +1 -0
  256. package/build/social-link/social-list.js.map +1 -1
  257. package/build/social-link/variations.js +1 -0
  258. package/build/social-link/variations.js.map +1 -1
  259. package/build/social-links/edit.js +42 -12
  260. package/build/social-links/edit.js.map +1 -1
  261. package/build/social-links/edit.native.js +1 -0
  262. package/build/social-links/edit.native.js.map +1 -1
  263. package/build/spacer/controls.js +35 -12
  264. package/build/spacer/controls.js.map +1 -1
  265. package/build/table/deprecated.js +1 -0
  266. package/build/table/deprecated.js.map +1 -1
  267. package/build/table/edit.js +49 -15
  268. package/build/table/edit.js.map +1 -1
  269. package/build/table/index.js +4 -1
  270. package/build/table/index.js.map +1 -1
  271. package/build/table/save.js +1 -0
  272. package/build/table/save.js.map +1 -1
  273. package/build/table/state.js +1 -0
  274. package/build/table/state.js.map +1 -1
  275. package/build/table/transforms.js +1 -0
  276. package/build/table/transforms.js.map +1 -1
  277. package/build/table-of-contents/edit.js +1 -1
  278. package/build/table-of-contents/edit.js.map +1 -1
  279. package/build/table-of-contents/index.js +24 -23
  280. package/build/table-of-contents/index.js.map +1 -1
  281. package/build/table-of-contents/list.js +1 -0
  282. package/build/table-of-contents/list.js.map +1 -1
  283. package/build/table-of-contents/utils.js +1 -0
  284. package/build/table-of-contents/utils.js.map +1 -1
  285. package/build/tag-cloud/edit.js +57 -11
  286. package/build/tag-cloud/edit.js.map +1 -1
  287. package/build/template-part/edit/advanced-controls.js +1 -0
  288. package/build/template-part/edit/advanced-controls.js.map +1 -1
  289. package/build/template-part/edit/import-controls.js +1 -0
  290. package/build/template-part/edit/import-controls.js.map +1 -1
  291. package/build/template-part/edit/selection-modal.js +1 -0
  292. package/build/template-part/edit/selection-modal.js.map +1 -1
  293. package/build/template-part/edit/utils/hooks.js +1 -0
  294. package/build/template-part/edit/utils/hooks.js.map +1 -1
  295. package/build/template-part/edit/utils/transformers.js +1 -0
  296. package/build/template-part/edit/utils/transformers.js.map +1 -1
  297. package/build/template-part/variations.js +1 -0
  298. package/build/template-part/variations.js.map +1 -1
  299. package/build/text-columns/edit.js +1 -0
  300. package/build/text-columns/edit.js.map +1 -1
  301. package/build/text-columns/save.js +1 -0
  302. package/build/text-columns/save.js.map +1 -1
  303. package/build/text-columns/transforms.js +1 -0
  304. package/build/text-columns/transforms.js.map +1 -1
  305. package/build/utils/get-transformed-metadata.js +1 -0
  306. package/build/utils/get-transformed-metadata.js.map +1 -1
  307. package/build/utils/search-patterns.js +1 -0
  308. package/build/utils/search-patterns.js.map +1 -1
  309. package/build/utils/transformation-categories.native.js +1 -0
  310. package/build/utils/transformation-categories.native.js.map +1 -1
  311. package/build/video/edit-common-settings.js +90 -30
  312. package/build/video/edit-common-settings.js.map +1 -1
  313. package/build/video/edit.js +20 -49
  314. package/build/video/edit.js.map +1 -1
  315. package/build/video/poster-image.js +81 -0
  316. package/build/video/poster-image.js.map +1 -0
  317. package/build/video/tracks-editor.js +2 -1
  318. package/build/video/tracks-editor.js.map +1 -1
  319. package/build/video/tracks.js +1 -0
  320. package/build/video/tracks.js.map +1 -1
  321. package/build-module/archives/edit.js +84 -37
  322. package/build-module/archives/edit.js.map +1 -1
  323. package/build-module/avatar/user-control.js +1 -0
  324. package/build-module/avatar/user-control.js.map +1 -1
  325. package/build-module/block/deprecated.js +1 -0
  326. package/build-module/block/deprecated.js.map +1 -1
  327. package/build-module/block/edit.js +1 -0
  328. package/build-module/block/edit.js.map +1 -1
  329. package/build-module/button/deprecated.js +184 -2
  330. package/build-module/button/deprecated.js.map +1 -1
  331. package/build-module/button/edit.js +50 -28
  332. package/build-module/button/edit.js.map +1 -1
  333. package/build-module/button/index.js +8 -2
  334. package/build-module/button/index.js.map +1 -1
  335. package/build-module/button/save.js +9 -6
  336. package/build-module/button/save.js.map +1 -1
  337. package/build-module/buttons/transforms.js +1 -0
  338. package/build-module/buttons/transforms.js.map +1 -1
  339. package/build-module/categories/edit.js +1 -0
  340. package/build-module/categories/edit.js.map +1 -1
  341. package/build-module/column/column-preview.native.js +1 -0
  342. package/build-module/column/column-preview.native.js.map +1 -1
  343. package/build-module/column/edit.js +34 -14
  344. package/build-module/column/edit.js.map +1 -1
  345. package/build-module/columns/columnCalculations.native.js +1 -0
  346. package/build-module/columns/columnCalculations.native.js.map +1 -1
  347. package/build-module/columns/deprecated.js +1 -0
  348. package/build-module/columns/deprecated.js.map +1 -1
  349. package/build-module/columns/edit.js +53 -29
  350. package/build-module/columns/edit.js.map +1 -1
  351. package/build-module/columns/edit.native.js +1 -0
  352. package/build-module/columns/edit.native.js.map +1 -1
  353. package/build-module/columns/transforms.js +1 -0
  354. package/build-module/columns/transforms.js.map +1 -1
  355. package/build-module/columns/utils.js +1 -0
  356. package/build-module/columns/utils.js.map +1 -1
  357. package/build-module/comment-template/edit.js +1 -0
  358. package/build-module/comment-template/edit.js.map +1 -1
  359. package/build-module/comment-template/hooks.js +1 -0
  360. package/build-module/comment-template/hooks.js.map +1 -1
  361. package/build-module/comment-template/util.js +1 -0
  362. package/build-module/comment-template/util.js.map +1 -1
  363. package/build-module/comments/index.js +1 -0
  364. package/build-module/comments/index.js.map +1 -1
  365. package/build-module/cover/edit/index.js +9 -3
  366. package/build-module/cover/edit/index.js.map +1 -1
  367. package/build-module/cover/edit.native.js +2 -2
  368. package/build-module/cover/edit.native.js.map +1 -1
  369. package/build-module/details/edit.js +30 -8
  370. package/build-module/details/edit.js.map +1 -1
  371. package/build-module/details/transforms.js +1 -0
  372. package/build-module/details/transforms.js.map +1 -1
  373. package/build-module/embed/embed-placeholder.native.js +1 -0
  374. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  375. package/build-module/embed/util.js +1 -0
  376. package/build-module/embed/util.js.map +1 -1
  377. package/build-module/embed/variations.js +1 -0
  378. package/build-module/embed/variations.js.map +1 -1
  379. package/build-module/embed/wp-embed-preview.js +1 -0
  380. package/build-module/embed/wp-embed-preview.js.map +1 -1
  381. package/build-module/file/transforms.js +1 -0
  382. package/build-module/file/transforms.js.map +1 -1
  383. package/build-module/footnotes/edit.js +1 -0
  384. package/build-module/footnotes/edit.js.map +1 -1
  385. package/build-module/form/index.js +1 -2
  386. package/build-module/form/index.js.map +1 -1
  387. package/build-module/form/view.js +10 -5
  388. package/build-module/form/view.js.map +1 -1
  389. package/build-module/freeform/modal.js +1 -0
  390. package/build-module/freeform/modal.js.map +1 -1
  391. package/build-module/gallery/deprecated.js +1 -0
  392. package/build-module/gallery/deprecated.js.map +1 -1
  393. package/build-module/gallery/edit.js +1 -0
  394. package/build-module/gallery/edit.js.map +1 -1
  395. package/build-module/gallery/shared.js +1 -0
  396. package/build-module/gallery/shared.js.map +1 -1
  397. package/build-module/gallery/transforms.js +1 -0
  398. package/build-module/gallery/transforms.js.map +1 -1
  399. package/build-module/gallery/use-get-media.js +1 -0
  400. package/build-module/gallery/use-get-media.js.map +1 -1
  401. package/build-module/gallery/use-get-media.native.js +1 -0
  402. package/build-module/gallery/use-get-media.native.js.map +1 -1
  403. package/build-module/gallery/use-get-new-images.js +1 -0
  404. package/build-module/gallery/use-get-new-images.js.map +1 -1
  405. package/build-module/gallery/use-image-sizes.js +1 -0
  406. package/build-module/gallery/use-image-sizes.js.map +1 -1
  407. package/build-module/group/placeholder.js +1 -0
  408. package/build-module/group/placeholder.js.map +1 -1
  409. package/build-module/group/transforms.js +1 -0
  410. package/build-module/group/transforms.js.map +1 -1
  411. package/build-module/heading/transforms.js +1 -0
  412. package/build-module/heading/transforms.js.map +1 -1
  413. package/build-module/html/preview.js +1 -0
  414. package/build-module/html/preview.js.map +1 -1
  415. package/build-module/image/edit.js +1 -0
  416. package/build-module/image/edit.js.map +1 -1
  417. package/build-module/image/edit.native.js +1 -0
  418. package/build-module/image/edit.native.js.map +1 -1
  419. package/build-module/image/image.js +2 -1
  420. package/build-module/image/image.js.map +1 -1
  421. package/build-module/image/transforms.js +2 -0
  422. package/build-module/image/transforms.js.map +1 -1
  423. package/build-module/image/utils.js +1 -0
  424. package/build-module/image/utils.js.map +1 -1
  425. package/build-module/image/view.js +1 -3
  426. package/build-module/image/view.js.map +1 -1
  427. package/build-module/index.js +2 -1
  428. package/build-module/index.js.map +1 -1
  429. package/build-module/index.native.js +1 -0
  430. package/build-module/index.native.js.map +1 -1
  431. package/build-module/latest-posts/deprecated.js +12 -0
  432. package/build-module/latest-posts/deprecated.js.map +1 -1
  433. package/build-module/latest-posts/edit.js +1 -0
  434. package/build-module/latest-posts/edit.js.map +1 -1
  435. package/build-module/latest-posts/index.js +12 -0
  436. package/build-module/latest-posts/index.js.map +1 -1
  437. package/build-module/list/transforms.js +1 -0
  438. package/build-module/list/transforms.js.map +1 -1
  439. package/build-module/list/utils.js +1 -0
  440. package/build-module/list/utils.js.map +1 -1
  441. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  442. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  443. package/build-module/list-item/transforms.js +1 -0
  444. package/build-module/list-item/transforms.js.map +1 -1
  445. package/build-module/loginout/edit.js +42 -14
  446. package/build-module/loginout/edit.js.map +1 -1
  447. package/build-module/media-text/edit.js +60 -31
  448. package/build-module/media-text/edit.js.map +1 -1
  449. package/build-module/more/edit.js +28 -8
  450. package/build-module/more/edit.js.map +1 -1
  451. package/build-module/more/save.js +1 -0
  452. package/build-module/more/save.js.map +1 -1
  453. package/build-module/navigation/deprecated.js +1 -0
  454. package/build-module/navigation/deprecated.js.map +1 -1
  455. package/build-module/navigation/edit/index.js +1 -0
  456. package/build-module/navigation/edit/index.js.map +1 -1
  457. package/build-module/navigation/edit/navigation-menu-selector.js +5 -3
  458. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  459. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
  460. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  461. package/build-module/navigation/menu-items-to-blocks.js +1 -0
  462. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  463. package/build-module/navigation/use-template-part-area-label.js +1 -0
  464. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  465. package/build-module/navigation/view.js +1 -0
  466. package/build-module/navigation/view.js.map +1 -1
  467. package/build-module/navigation-link/edit.js +97 -58
  468. package/build-module/navigation-link/edit.js.map +1 -1
  469. package/build-module/navigation-link/hooks.js +1 -0
  470. package/build-module/navigation-link/hooks.js.map +1 -1
  471. package/build-module/navigation-link/link-ui.js +1 -1
  472. package/build-module/navigation-link/link-ui.js.map +1 -1
  473. package/build-module/navigation-submenu/edit.js +106 -55
  474. package/build-module/navigation-submenu/edit.js.map +1 -1
  475. package/build-module/page-list/edit.js +46 -26
  476. package/build-module/page-list/edit.js.map +1 -1
  477. package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
  478. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  479. package/build-module/paragraph/edit.js +23 -8
  480. package/build-module/paragraph/edit.js.map +1 -1
  481. package/build-module/pattern/edit.js +1 -0
  482. package/build-module/pattern/edit.js.map +1 -1
  483. package/build-module/post-author/edit.js +17 -4
  484. package/build-module/post-author/edit.js.map +1 -1
  485. package/build-module/post-author/index.js +4 -2
  486. package/build-module/post-author/index.js.map +1 -1
  487. package/build-module/post-author-name/edit.js +12 -6
  488. package/build-module/post-author-name/edit.js.map +1 -1
  489. package/build-module/post-author-name/index.js +4 -2
  490. package/build-module/post-author-name/index.js.map +1 -1
  491. package/build-module/post-comments-form/index.js +6 -1
  492. package/build-module/post-comments-form/index.js.map +1 -1
  493. package/build-module/post-comments-link/index.js +8 -1
  494. package/build-module/post-comments-link/index.js.map +1 -1
  495. package/build-module/post-date/edit.js +59 -19
  496. package/build-module/post-date/edit.js.map +1 -1
  497. package/build-module/post-date/index.js +2 -1
  498. package/build-module/post-date/index.js.map +1 -1
  499. package/build-module/post-excerpt/edit.js +44 -20
  500. package/build-module/post-excerpt/edit.js.map +1 -1
  501. package/build-module/post-featured-image/dimension-controls.js +19 -20
  502. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  503. package/build-module/post-featured-image/edit.js +47 -13
  504. package/build-module/post-featured-image/edit.js.map +1 -1
  505. package/build-module/post-featured-image/index.js +6 -3
  506. package/build-module/post-featured-image/index.js.map +1 -1
  507. package/build-module/post-navigation-link/edit.js +1 -0
  508. package/build-module/post-navigation-link/edit.js.map +1 -1
  509. package/build-module/post-navigation-link/index.js +12 -7
  510. package/build-module/post-navigation-link/index.js.map +1 -1
  511. package/build-module/post-navigation-link/variations.js +3 -2
  512. package/build-module/post-navigation-link/variations.js.map +1 -1
  513. package/build-module/post-template/edit.js +1 -0
  514. package/build-module/post-template/edit.js.map +1 -1
  515. package/build-module/post-template/index.js +12 -2
  516. package/build-module/post-template/index.js.map +1 -1
  517. package/build-module/post-terms/edit.js +1 -0
  518. package/build-module/post-terms/edit.js.map +1 -1
  519. package/build-module/post-terms/hooks.js +1 -0
  520. package/build-module/post-terms/hooks.js.map +1 -1
  521. package/build-module/post-title/index.js +6 -3
  522. package/build-module/post-title/index.js.map +1 -1
  523. package/build-module/pullquote/blockquote.native.js +1 -0
  524. package/build-module/pullquote/blockquote.native.js.map +1 -1
  525. package/build-module/pullquote/transforms.js +1 -0
  526. package/build-module/pullquote/transforms.js.map +1 -1
  527. package/build-module/query/deprecated.js +1 -0
  528. package/build-module/query/deprecated.js.map +1 -1
  529. package/build-module/query/edit/inspector-controls/author-control.js +1 -0
  530. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  531. package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
  532. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  533. package/build-module/query/edit/inspector-controls/index.js +1 -0
  534. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  535. package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
  536. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  537. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  538. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  539. package/build-module/query/utils.js +1 -0
  540. package/build-module/query/utils.js.map +1 -1
  541. package/build-module/query-no-results/index.js +11 -10
  542. package/build-module/query-no-results/index.js.map +1 -1
  543. package/build-module/query-pagination/edit.js +49 -19
  544. package/build-module/query-pagination/edit.js.map +1 -1
  545. package/build-module/query-pagination/query-pagination-label-control.js +1 -1
  546. package/build-module/query-pagination/query-pagination-label-control.js.map +1 -1
  547. package/build-module/query-pagination-numbers/edit.js +34 -16
  548. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  549. package/build-module/query-title/variations.js +1 -0
  550. package/build-module/query-title/variations.js.map +1 -1
  551. package/build-module/query-total/edit.js +83 -0
  552. package/build-module/query-total/edit.js.map +1 -0
  553. package/build-module/query-total/icons.js +39 -0
  554. package/build-module/query-total/icons.js.map +1 -0
  555. package/build-module/query-total/index.js +74 -0
  556. package/build-module/query-total/index.js.map +1 -0
  557. package/build-module/query-total/init.js +6 -0
  558. package/build-module/query-total/init.js.map +1 -0
  559. package/build-module/quote/deprecated.js +1 -0
  560. package/build-module/quote/deprecated.js.map +1 -1
  561. package/build-module/quote/transforms.js +1 -0
  562. package/build-module/quote/transforms.js.map +1 -1
  563. package/build-module/read-more/index.js +7 -1
  564. package/build-module/read-more/index.js.map +1 -1
  565. package/build-module/site-logo/index.js +4 -2
  566. package/build-module/site-logo/index.js.map +1 -1
  567. package/build-module/site-title/edit.js +42 -13
  568. package/build-module/site-title/edit.js.map +1 -1
  569. package/build-module/site-title/index.js +4 -2
  570. package/build-module/site-title/index.js.map +1 -1
  571. package/build-module/social-link/edit.js +20 -4
  572. package/build-module/social-link/edit.js.map +1 -1
  573. package/build-module/social-link/social-list.js +1 -0
  574. package/build-module/social-link/social-list.js.map +1 -1
  575. package/build-module/social-link/variations.js +1 -0
  576. package/build-module/social-link/variations.js.map +1 -1
  577. package/build-module/social-links/edit.js +43 -13
  578. package/build-module/social-links/edit.js.map +1 -1
  579. package/build-module/social-links/edit.native.js +1 -0
  580. package/build-module/social-links/edit.native.js.map +1 -1
  581. package/build-module/spacer/controls.js +36 -13
  582. package/build-module/spacer/controls.js.map +1 -1
  583. package/build-module/table/deprecated.js +1 -0
  584. package/build-module/table/deprecated.js.map +1 -1
  585. package/build-module/table/edit.js +50 -16
  586. package/build-module/table/edit.js.map +1 -1
  587. package/build-module/table/index.js +4 -1
  588. package/build-module/table/index.js.map +1 -1
  589. package/build-module/table/save.js +1 -0
  590. package/build-module/table/save.js.map +1 -1
  591. package/build-module/table/state.js +1 -0
  592. package/build-module/table/state.js.map +1 -1
  593. package/build-module/table/transforms.js +1 -0
  594. package/build-module/table/transforms.js.map +1 -1
  595. package/build-module/table-of-contents/edit.js +1 -1
  596. package/build-module/table-of-contents/edit.js.map +1 -1
  597. package/build-module/table-of-contents/index.js +26 -25
  598. package/build-module/table-of-contents/index.js.map +1 -1
  599. package/build-module/table-of-contents/list.js +1 -0
  600. package/build-module/table-of-contents/list.js.map +1 -1
  601. package/build-module/table-of-contents/utils.js +1 -0
  602. package/build-module/table-of-contents/utils.js.map +1 -1
  603. package/build-module/tag-cloud/edit.js +58 -12
  604. package/build-module/tag-cloud/edit.js.map +1 -1
  605. package/build-module/template-part/edit/advanced-controls.js +1 -0
  606. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  607. package/build-module/template-part/edit/import-controls.js +1 -0
  608. package/build-module/template-part/edit/import-controls.js.map +1 -1
  609. package/build-module/template-part/edit/selection-modal.js +1 -0
  610. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  611. package/build-module/template-part/edit/utils/hooks.js +1 -0
  612. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  613. package/build-module/template-part/edit/utils/transformers.js +1 -0
  614. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  615. package/build-module/template-part/variations.js +1 -0
  616. package/build-module/template-part/variations.js.map +1 -1
  617. package/build-module/text-columns/edit.js +1 -0
  618. package/build-module/text-columns/edit.js.map +1 -1
  619. package/build-module/text-columns/save.js +1 -0
  620. package/build-module/text-columns/save.js.map +1 -1
  621. package/build-module/text-columns/transforms.js +1 -0
  622. package/build-module/text-columns/transforms.js.map +1 -1
  623. package/build-module/utils/get-transformed-metadata.js +1 -0
  624. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  625. package/build-module/utils/search-patterns.js +1 -0
  626. package/build-module/utils/search-patterns.js.map +1 -1
  627. package/build-module/utils/transformation-categories.native.js +1 -0
  628. package/build-module/utils/transformation-categories.native.js.map +1 -1
  629. package/build-module/video/edit-common-settings.js +91 -31
  630. package/build-module/video/edit-common-settings.js.map +1 -1
  631. package/build-module/video/edit.js +24 -53
  632. package/build-module/video/edit.js.map +1 -1
  633. package/build-module/video/poster-image.js +74 -0
  634. package/build-module/video/poster-image.js.map +1 -0
  635. package/build-module/video/tracks-editor.js +2 -1
  636. package/build-module/video/tracks-editor.js.map +1 -1
  637. package/build-module/video/tracks.js +1 -0
  638. package/build-module/video/tracks.js.map +1 -1
  639. package/build-style/button/style-rtl.css +3 -3
  640. package/build-style/button/style.css +3 -3
  641. package/build-style/comment-template/style-rtl.css +0 -1
  642. package/build-style/comment-template/style.css +0 -1
  643. package/build-style/comments/editor-rtl.css +1 -1
  644. package/build-style/comments/editor.css +1 -1
  645. package/build-style/comments/style-rtl.css +1 -1
  646. package/build-style/comments/style.css +1 -1
  647. package/build-style/common-rtl.css +17 -17
  648. package/build-style/common.css +17 -17
  649. package/build-style/editor-rtl.css +45 -60
  650. package/build-style/editor.css +45 -60
  651. package/build-style/form-input/style-rtl.css +0 -2
  652. package/build-style/form-input/style.css +0 -2
  653. package/build-style/freeform/editor-rtl.css +4 -8
  654. package/build-style/freeform/editor.css +4 -8
  655. package/build-style/gallery/style-rtl.css +2 -2
  656. package/build-style/gallery/style.css +2 -2
  657. package/build-style/heading/style-rtl.css +11 -11
  658. package/build-style/heading/style.css +11 -11
  659. package/build-style/image/style-rtl.css +1 -1
  660. package/build-style/image/style.css +1 -1
  661. package/build-style/latest-comments/style-rtl.css +4 -4
  662. package/build-style/latest-comments/style.css +4 -4
  663. package/build-style/latest-posts/style-rtl.css +2 -1
  664. package/build-style/latest-posts/style.css +2 -1
  665. package/build-style/more/editor-rtl.css +1 -1
  666. package/build-style/more/editor.css +1 -1
  667. package/build-style/nextpage/editor-rtl.css +1 -1
  668. package/build-style/nextpage/editor.css +1 -1
  669. package/build-style/post-comments-form/style-rtl.css +2 -2
  670. package/build-style/post-comments-form/style.css +2 -2
  671. package/build-style/{post-template/editor.css → post-comments-link/style-rtl.css} +2 -4
  672. package/build-style/{post-template/editor-rtl.css → post-comments-link/style.css} +2 -4
  673. package/build-style/post-featured-image/editor-rtl.css +27 -27
  674. package/build-style/post-featured-image/editor.css +27 -27
  675. package/build-style/post-template/style-rtl.css +1 -0
  676. package/build-style/post-template/style.css +1 -0
  677. package/build-style/query-total/style-rtl.css +103 -0
  678. package/build-style/query-total/style.css +103 -0
  679. package/build-style/read-more/style-rtl.css +2 -3
  680. package/build-style/read-more/style.css +2 -3
  681. package/build-style/social-link/editor-rtl.css +2 -2
  682. package/build-style/social-link/editor.css +2 -2
  683. package/build-style/social-links/editor-rtl.css +2 -2
  684. package/build-style/social-links/editor.css +2 -2
  685. package/build-style/social-links/style-rtl.css +2 -2
  686. package/build-style/social-links/style.css +2 -2
  687. package/build-style/style-rtl.css +59 -53
  688. package/build-style/style.css +59 -53
  689. package/build-style/tag-cloud/editor-rtl.css +0 -5
  690. package/build-style/tag-cloud/editor.css +0 -5
  691. package/build-style/text-columns/style-rtl.css +3 -3
  692. package/build-style/text-columns/style.css +3 -3
  693. package/package.json +36 -35
  694. package/src/archives/edit.js +94 -36
  695. package/src/audio/test/__snapshots__/edit.native.js.snap +1 -1
  696. package/src/block/index.php +20 -0
  697. package/src/button/block.json +17 -2
  698. package/src/button/deprecated.js +189 -0
  699. package/src/button/edit.js +61 -32
  700. package/src/button/save.js +6 -1
  701. package/src/column/edit.js +34 -13
  702. package/src/columns/edit.js +71 -40
  703. package/src/comments/index.js +1 -0
  704. package/src/cover/edit/index.js +12 -5
  705. package/src/cover/edit.native.js +5 -2
  706. package/src/cover/test/edit.js +5 -7
  707. package/src/details/edit.js +40 -11
  708. package/src/editor.scss +0 -1
  709. package/src/file/test/__snapshots__/edit.native.js.snap +1 -1
  710. package/src/form/block.json +1 -2
  711. package/src/form/index.php +1 -20
  712. package/src/form/view.js +18 -5
  713. package/src/image/image.js +1 -1
  714. package/src/image/index.php +1 -1
  715. package/src/image/transforms.js +1 -0
  716. package/src/image/view.js +1 -3
  717. package/src/index.js +2 -0
  718. package/src/latest-posts/block.json +12 -0
  719. package/src/latest-posts/style.scss +2 -1
  720. package/src/loginout/edit.js +56 -20
  721. package/src/media-text/edit.js +57 -28
  722. package/src/more/edit.js +39 -12
  723. package/src/navigation/edit/navigation-menu-selector.js +9 -2
  724. package/src/navigation/index.php +2 -2
  725. package/src/navigation-link/edit.js +101 -67
  726. package/src/navigation-link/index.php +16 -1
  727. package/src/navigation-link/link-ui.js +1 -1
  728. package/src/navigation-submenu/edit.js +113 -63
  729. package/src/page-list/edit.js +52 -31
  730. package/src/paragraph/edit.js +29 -5
  731. package/src/post-author/block.json +4 -2
  732. package/src/post-author/edit.js +17 -3
  733. package/src/post-author/index.php +4 -0
  734. package/src/post-author-name/block.json +4 -2
  735. package/src/post-author-name/edit.js +17 -4
  736. package/src/post-author-name/index.php +4 -0
  737. package/src/post-comments-form/block.json +6 -1
  738. package/src/post-comments-link/block.json +8 -1
  739. package/src/post-comments-link/style.scss +4 -0
  740. package/src/post-content/index.php +23 -0
  741. package/src/post-date/block.json +2 -1
  742. package/src/post-date/edit.js +79 -25
  743. package/src/post-excerpt/edit.js +59 -22
  744. package/src/post-featured-image/block.json +6 -3
  745. package/src/post-featured-image/dimension-controls.js +18 -21
  746. package/src/post-featured-image/edit.js +67 -10
  747. package/src/post-navigation-link/block.json +0 -6
  748. package/src/post-navigation-link/index.js +11 -0
  749. package/src/post-navigation-link/variations.js +2 -2
  750. package/src/post-template/block.json +12 -2
  751. package/src/post-template/style.scss +2 -0
  752. package/src/post-title/block.json +6 -3
  753. package/src/query-no-results/block.json +1 -11
  754. package/src/query-no-results/index.js +11 -0
  755. package/src/query-pagination/edit.js +57 -15
  756. package/src/query-pagination/query-pagination-label-control.js +1 -3
  757. package/src/query-pagination-numbers/edit.js +41 -19
  758. package/src/query-pagination-previous/index.php +21 -14
  759. package/src/query-total/block.json +52 -0
  760. package/src/query-total/edit.js +81 -0
  761. package/src/query-total/icons.js +43 -0
  762. package/src/query-total/index.js +18 -0
  763. package/src/query-total/index.php +88 -0
  764. package/src/query-total/init.js +6 -0
  765. package/src/query-total/style.scss +4 -0
  766. package/src/read-more/index.js +6 -0
  767. package/src/site-logo/block.json +4 -2
  768. package/src/site-title/block.json +4 -2
  769. package/src/site-title/edit.js +52 -15
  770. package/src/social-link/edit.js +21 -6
  771. package/src/social-links/edit.js +52 -15
  772. package/src/spacer/controls.js +42 -15
  773. package/src/style.scss +2 -0
  774. package/src/table/block.json +4 -1
  775. package/src/table/edit.js +58 -20
  776. package/src/table-of-contents/block.json +0 -52
  777. package/src/table-of-contents/edit.js +1 -1
  778. package/src/table-of-contents/index.js +53 -0
  779. package/src/tag-cloud/edit.js +60 -8
  780. package/src/tag-cloud/editor.scss +0 -8
  781. package/src/video/edit-common-settings.js +97 -39
  782. package/src/video/edit.js +29 -75
  783. package/src/video/poster-image.js +86 -0
  784. package/src/video/tracks-editor.js +1 -1
  785. package/tsconfig.json +0 -2
  786. package/tsconfig.tsbuildinfo +1 -1
  787. package/src/post-template/editor.scss +0 -7
@@ -16,6 +16,7 @@ var _i18n = require("@wordpress/i18n");
16
16
  var _icons = require("@wordpress/icons");
17
17
  var _keycodes = require("@wordpress/keycodes");
18
18
  var _data = require("@wordpress/data");
19
+ var _hooks = require("../utils/hooks");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
21
  /**
21
22
  * External dependencies
@@ -25,6 +26,10 @@ var _jsxRuntime = require("react/jsx-runtime");
25
26
  * WordPress dependencies
26
27
  */
27
28
 
29
+ /**
30
+ * Internal dependencies
31
+ */
32
+
28
33
  function PostDateEdit({
29
34
  attributes: {
30
35
  textAlign,
@@ -45,6 +50,7 @@ function PostDateEdit({
45
50
  [`wp-block-post-date__modified-date`]: displayType === 'modified'
46
51
  })
47
52
  });
53
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
48
54
 
49
55
  // Use internal state instead of a ref to make sure that the component
50
56
  // re-renders when the popover's anchor updates.
@@ -116,31 +122,65 @@ function PostDateEdit({
116
122
  })
117
123
  })]
118
124
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
119
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
120
- title: (0, _i18n.__)('Settings'),
121
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalDateFormatPicker, {
122
- format: format,
123
- defaultFormat: siteFormat,
124
- onChange: nextFormat => setAttributes({
125
- format: nextFormat
125
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
126
+ label: (0, _i18n.__)('Settings'),
127
+ resetAll: () => {
128
+ setAttributes({
129
+ format: undefined,
130
+ isLink: false,
131
+ displayType: 'date'
132
+ });
133
+ },
134
+ dropdownMenuProps: dropdownMenuProps,
135
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
136
+ hasValue: () => format !== undefined && format !== siteFormat,
137
+ label: (0, _i18n.__)('Date Format'),
138
+ onDeselect: () => setAttributes({
139
+ format: undefined
140
+ }),
141
+ isShownByDefault: true,
142
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalDateFormatPicker, {
143
+ format: format,
144
+ defaultFormat: siteFormat,
145
+ onChange: nextFormat => setAttributes({
146
+ format: nextFormat
147
+ })
126
148
  })
127
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
128
- __nextHasNoMarginBottom: true,
149
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
150
+ hasValue: () => isLink !== false,
129
151
  label: postType?.labels.singular_name ? (0, _i18n.sprintf)(
130
152
  // translators: %s: Name of the post type e.g: "post".
131
153
  (0, _i18n.__)('Link to %s'), postType.labels.singular_name.toLowerCase()) : (0, _i18n.__)('Link to post'),
132
- onChange: () => setAttributes({
133
- isLink: !isLink
154
+ onDeselect: () => setAttributes({
155
+ isLink: false
134
156
  }),
135
- checked: isLink
136
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
137
- __nextHasNoMarginBottom: true,
157
+ isShownByDefault: true,
158
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
159
+ __nextHasNoMarginBottom: true,
160
+ label: postType?.labels.singular_name ? (0, _i18n.sprintf)(
161
+ // translators: %s: Name of the post type e.g: "post".
162
+ (0, _i18n.__)('Link to %s'), postType.labels.singular_name.toLowerCase()) : (0, _i18n.__)('Link to post'),
163
+ onChange: () => setAttributes({
164
+ isLink: !isLink
165
+ }),
166
+ checked: isLink
167
+ })
168
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
169
+ hasValue: () => displayType !== 'date',
138
170
  label: (0, _i18n.__)('Display last modified date'),
139
- onChange: value => setAttributes({
140
- displayType: value ? 'modified' : 'date'
171
+ onDeselect: () => setAttributes({
172
+ displayType: 'date'
141
173
  }),
142
- checked: displayType === 'modified',
143
- help: (0, _i18n.__)('Only shows if the post has been modified')
174
+ isShownByDefault: true,
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
176
+ __nextHasNoMarginBottom: true,
177
+ label: (0, _i18n.__)('Display last modified date'),
178
+ onChange: value => setAttributes({
179
+ displayType: value ? 'modified' : 'date'
180
+ }),
181
+ checked: displayType === 'modified',
182
+ help: (0, _i18n.__)('Only shows if the post has been modified')
183
+ })
144
184
  })]
145
185
  })
146
186
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_date","_blockEditor","_components","_i18n","_icons","_keycodes","_data","_jsxRuntime","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","useBlockProps","className","clsx","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","getDateSettings","siteFormat","formats","date","useEntityProp","siteTimeFormat","time","setDate","useSelect","select","coreStore","getPostType","dateLabel","__","postDate","jsx","dateTime","dateI18n","ref","children","humanTimeDiff","href","onClick","event","preventDefault","jsxs","Fragment","BlockControls","group","AlignmentControl","value","onChange","nextAlign","ToolbarGroup","Dropdown","renderContent","onClose","__experimentalPublishDateTimePicker","currentDate","is12Hour","is12HourFormat","dateOrder","_x","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","DOWN","ToolbarButton","icon","edit","title","onKeyDown","InspectorControls","PanelBody","__experimentalDateFormatPicker","defaultFormat","nextFormat","ToggleControl","__nextHasNoMarginBottom","label","labels","singular_name","sprintf","toLowerCase","checked","help","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"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, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\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\tPanelBody,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `wp-block-post-date__modified-date` ]: displayType === 'modified',\n\t\t} ),\n\t} );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\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 isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tconst dateLabel =\n\t\tdisplayType === 'date' ? __( 'Post Date' ) : __( 'Post Modified Date' );\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\tdateLabel\n\t);\n\n\tif ( isLink && date ) {\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\n\treturn (\n\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\t{ date &&\n\t\t\t\t\tdisplayType === 'date' &&\n\t\t\t\t\t! isDescendentOfQueryLoop && (\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\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDate }\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={ edit }\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) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\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\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Only shows if the post has been modified'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_date","_blockEditor","_components","_i18n","_icons","_keycodes","_data","_hooks","_jsxRuntime","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","useBlockProps","className","clsx","dropdownMenuProps","useToolsPanelDropdownMenuProps","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","getDateSettings","siteFormat","formats","date","useEntityProp","siteTimeFormat","time","setDate","useSelect","select","coreStore","getPostType","dateLabel","__","postDate","jsx","dateTime","dateI18n","ref","children","humanTimeDiff","href","onClick","event","preventDefault","jsxs","Fragment","BlockControls","group","AlignmentControl","value","onChange","nextAlign","ToolbarGroup","Dropdown","renderContent","onClose","__experimentalPublishDateTimePicker","currentDate","is12Hour","is12HourFormat","dateOrder","_x","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","DOWN","ToolbarButton","icon","edit","title","onKeyDown","InspectorControls","__experimentalToolsPanel","label","resetAll","undefined","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalDateFormatPicker","defaultFormat","nextFormat","labels","singular_name","sprintf","toLowerCase","ToggleControl","__nextHasNoMarginBottom","checked","help","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"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, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\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 { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `wp-block-post-date__modified-date` ]: displayType === 'modified',\n\t\t} ),\n\t} );\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 isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tconst dateLabel =\n\t\tdisplayType === 'date' ? __( 'Post Date' ) : __( 'Post Modified Date' );\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\tdateLabel\n\t);\n\n\tif ( isLink && date ) {\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\n\treturn (\n\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\t{ date &&\n\t\t\t\t\tdisplayType === 'date' &&\n\t\t\t\t\t! isDescendentOfQueryLoop && (\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\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDate }\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={ edit }\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) }\n\t\t\t</BlockControls>\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\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tdisplayType: 'date',\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={ () =>\n\t\t\t\t\t\t\tformat !== undefined && format !== siteFormat\n\t\t\t\t\t\t}\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\t__nextHasNoMarginBottom\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\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayType !== 'date' }\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayType: 'date' } )\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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Only shows if the post has been modified'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\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"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,8 @@ const metadata = exports.metadata = {
33
33
  },
34
34
  isLink: {
35
35
  type: "boolean",
36
- "default": false
36
+ "default": false,
37
+ role: "content"
37
38
  },
38
39
  displayType: {
39
40
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_deprecated","_variations","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","format","isLink","displayType","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","settings","icon","edit","deprecated","variations","init","initBlock"],"sources":["@wordpress/block-library/src/post-date/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;AAAA;AASA,MAAM;EAAEvC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMwC,QAAQ,GAAA3C,OAAA,CAAA2C,QAAA,GAAG;EACvBC,IAAI,EAAJA,eAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE9C,IAAI;EAAEJ,QAAQ;EAAE4C;AAAS,CAAE,CAAC;AAAC3C,OAAA,CAAAgD,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_deprecated","_variations","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","format","isLink","role","displayType","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","settings","icon","edit","deprecated","variations","init","initBlock"],"sources":["@wordpress/block-library/src/post-date/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAA;MAAAG,IAAA;IAAA;IAAAC,WAAA;MAAAJ,IAAA;MAAA;IAAA;EAAA;EAAAK,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;AAAA;AASA,MAAM;EAAExC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMyC,QAAQ,GAAA5C,OAAA,CAAA4C,QAAA,GAAG;EACvBC,IAAI,EAAJA,eAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE/C,IAAI;EAAEJ,QAAQ;EAAE6C;AAAS,CAAE,CAAC;AAAC5C,OAAA,CAAAiD,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -48,6 +48,7 @@ function PostExcerptEditor({
48
48
  rendered: renderedExcerpt,
49
49
  protected: isProtected
50
50
  } = {}] = (0, _coreData.useEntityProp)('postType', postType, 'excerpt', postId);
51
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
51
52
 
52
53
  /**
53
54
  * Check if the post type supports excerpts.
@@ -181,27 +182,50 @@ function PostExcerptEditor({
181
182
  })
182
183
  })
183
184
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
184
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
185
- title: (0, _i18n.__)('Settings'),
186
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
187
- __nextHasNoMarginBottom: true,
185
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
186
+ label: (0, _i18n.__)('Settings'),
187
+ resetAll: () => {
188
+ setAttributes({
189
+ showMoreOnNewLine: true,
190
+ excerptLength: 55
191
+ });
192
+ },
193
+ dropdownMenuProps: dropdownMenuProps,
194
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
195
+ hasValue: () => showMoreOnNewLine !== true,
188
196
  label: (0, _i18n.__)('Show link on new line'),
189
- checked: showMoreOnNewLine,
190
- onChange: newShowMoreOnNewLine => setAttributes({
191
- showMoreOnNewLine: newShowMoreOnNewLine
197
+ onDeselect: () => setAttributes({
198
+ showMoreOnNewLine: true
199
+ }),
200
+ isShownByDefault: true,
201
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
202
+ __nextHasNoMarginBottom: true,
203
+ label: (0, _i18n.__)('Show link on new line'),
204
+ checked: showMoreOnNewLine,
205
+ onChange: newShowMoreOnNewLine => setAttributes({
206
+ showMoreOnNewLine: newShowMoreOnNewLine
207
+ })
192
208
  })
193
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
194
- __next40pxDefaultSize: true,
195
- __nextHasNoMarginBottom: true,
209
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
210
+ hasValue: () => excerptLength !== 55,
196
211
  label: (0, _i18n.__)('Max number of words'),
197
- value: excerptLength,
198
- onChange: value => {
199
- setAttributes({
200
- excerptLength: value
201
- });
202
- },
203
- min: "10",
204
- max: "100"
212
+ onDeselect: () => setAttributes({
213
+ excerptLength: 55
214
+ }),
215
+ isShownByDefault: true,
216
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
217
+ __next40pxDefaultSize: true,
218
+ __nextHasNoMarginBottom: true,
219
+ label: (0, _i18n.__)('Max number of words'),
220
+ value: excerptLength,
221
+ onChange: value => {
222
+ setAttributes({
223
+ excerptLength: value
224
+ });
225
+ },
226
+ min: "10",
227
+ max: "100"
228
+ })
205
229
  })]
206
230
  })
207
231
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_blockEditor","_components","_i18n","_data","_hooks","_jsxRuntime","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","useEntityProp","postTypeSupportsExcerpts","useSelect","select","coreStore","getPostType","supports","excerpt","isEditable","blockProps","useBlockProps","className","clsx","wordCountType","_x","strippedRenderedExcerpt","useMemo","document","window","DOMParser","parseFromString","body","textContent","innerText","jsxs","Fragment","children","jsx","BlockControls","AlignmentToolbar","value","onChange","newAlign","__","Warning","readMoreLink","RichText","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","RangeControl","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"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\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\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\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\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\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<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\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( ' ', 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/>\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<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\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<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_element","_blockEditor","_components","_i18n","_data","_hooks","_jsxRuntime","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","useCanEditEntity","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","useEntityProp","dropdownMenuProps","useToolsPanelDropdownMenuProps","postTypeSupportsExcerpts","useSelect","select","coreStore","getPostType","supports","excerpt","isEditable","blockProps","useBlockProps","className","clsx","wordCountType","_x","strippedRenderedExcerpt","useMemo","document","window","DOMParser","parseFromString","body","textContent","innerText","jsxs","Fragment","children","jsx","BlockControls","AlignmentToolbar","value","onChange","newAlign","__","Warning","readMoreLink","RichText","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","InspectorControls","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked","newShowMoreOnNewLine","RangeControl","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"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\tAlignmentToolbar,\n\tBlockControls,\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';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\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\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\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<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\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( ' ', 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/>\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<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
@@ -8,11 +9,19 @@ var _i18n = require("@wordpress/i18n");
8
9
  var _components = require("@wordpress/components");
9
10
  var _blockEditor = require("@wordpress/block-editor");
10
11
  var _data = require("@wordpress/data");
12
+ var _lockUnlock = require("../lock-unlock");
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
14
  /**
13
15
  * WordPress dependencies
14
16
  */
15
17
 
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ const {
23
+ ResolutionTool
24
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
16
25
  const SCALE_OPTIONS = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
17
26
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
18
27
  value: "cover",
@@ -181,27 +190,17 @@ const DimensionControls = ({
181
190
  isBlock: true,
182
191
  children: SCALE_OPTIONS
183
192
  })
184
- }), !!imageSizeOptions.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
185
- hasValue: () => !!sizeSlug,
186
- label: (0, _i18n.__)('Resolution'),
187
- onDeselect: () => setAttributes({
188
- sizeSlug: undefined
189
- }),
190
- resetAllFilter: () => ({
191
- sizeSlug: undefined
193
+ }), !!imageSizeOptions.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(ResolutionTool, {
194
+ panelId: clientId,
195
+ value: sizeSlug,
196
+ defaultValue: DEFAULT_SIZE,
197
+ options: imageSizeOptions,
198
+ onChange: nextSizeSlug => setAttributes({
199
+ sizeSlug: nextSizeSlug
192
200
  }),
193
201
  isShownByDefault: false,
194
- panelId: clientId,
195
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
196
- __next40pxDefaultSize: true,
197
- __nextHasNoMarginBottom: true,
198
- label: (0, _i18n.__)('Resolution'),
199
- value: sizeSlug || DEFAULT_SIZE,
200
- options: imageSizeOptions,
201
- onChange: nextSizeSlug => setAttributes({
202
- sizeSlug: nextSizeSlug
203
- }),
204
- help: (0, _i18n.__)('Select the size of the source image.')
202
+ resetAllFilter: () => ({
203
+ sizeSlug: DEFAULT_SIZE
205
204
  })
206
205
  })]
207
206
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blockEditor","_data","_jsxRuntime","SCALE_OPTIONS","jsxs","Fragment","children","jsx","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","useSettings","units","useCustomUnits","imageSizes","useSelect","select","blockEditorStore","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_data","_lockUnlock","_jsxRuntime","ResolutionTool","unlock","blockEditorPrivateApis","SCALE_OPTIONS","jsxs","Fragment","children","jsx","__experimentalToggleGroupControlOption","value","label","_x","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","__","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","useSettings","units","useCustomUnits","imageSizes","useSelect","select","blockEditorStore","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","__experimentalToolsPanelItem","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","SelectControl","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","__experimentalUnitControl","labelPosition","min","nextHeight","nextWidth","__experimentalToggleGroupControl","help","isBlock","length","defaultValue","nextSizeSlug","_default","exports","default"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ResolutionTool\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\tdefaultValue={ DEFAULT_SIZE }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: DEFAULT_SIZE,\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ var _notices = require("@wordpress/notices");
18
18
  var _dimensionControls = _interopRequireDefault(require("./dimension-controls"));
19
19
  var _overlayControls = _interopRequireDefault(require("./overlay-controls"));
20
20
  var _overlay = _interopRequireDefault(require("./overlay"));
21
+ var _hooks = require("../utils/hooks");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  /**
23
24
  * External dependencies
@@ -147,6 +148,7 @@ function PostFeaturedImageEdit({
147
148
  });
148
149
  setTemporaryURL();
149
150
  };
151
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
150
152
  const controls = blockEditingMode === 'default' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
151
153
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
152
154
  group: "color",
@@ -164,26 +166,58 @@ function PostFeaturedImageEdit({
164
166
  media: media
165
167
  })
166
168
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
167
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
168
- title: (0, _i18n.__)('Settings'),
169
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
170
- __nextHasNoMarginBottom: true,
169
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
170
+ label: (0, _i18n.__)('Settings'),
171
+ resetAll: () => {
172
+ setAttributes({
173
+ isLink: false,
174
+ linkTarget: '_self',
175
+ rel: ''
176
+ });
177
+ },
178
+ dropdownMenuProps: dropdownMenuProps,
179
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
171
180
  label: postType?.labels.singular_name ? (0, _i18n.sprintf)(
172
181
  // translators: %s: Name of the post type e.g: "post".
173
182
  (0, _i18n.__)('Link to %s'), postType.labels.singular_name) : (0, _i18n.__)('Link to post'),
174
- onChange: () => setAttributes({
175
- isLink: !isLink
183
+ isShownByDefault: true,
184
+ hasValue: () => !!isLink,
185
+ onDeselect: () => setAttributes({
186
+ isLink: false
176
187
  }),
177
- checked: isLink
178
- }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
179
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
189
+ __nextHasNoMarginBottom: true,
190
+ label: postType?.labels.singular_name ? (0, _i18n.sprintf)(
191
+ // translators: %s: Name of the post type e.g: "post".
192
+ (0, _i18n.__)('Link to %s'), postType.labels.singular_name) : (0, _i18n.__)('Link to post'),
193
+ onChange: () => setAttributes({
194
+ isLink: !isLink
195
+ }),
196
+ checked: isLink
197
+ })
198
+ }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
199
+ label: (0, _i18n.__)('Open in new tab'),
200
+ isShownByDefault: true,
201
+ hasValue: () => '_self' !== linkTarget,
202
+ onDeselect: () => setAttributes({
203
+ linkTarget: '_self'
204
+ }),
205
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
180
206
  __nextHasNoMarginBottom: true,
181
207
  label: (0, _i18n.__)('Open in new tab'),
182
208
  onChange: value => setAttributes({
183
209
  linkTarget: value ? '_blank' : '_self'
184
210
  }),
185
211
  checked: linkTarget === '_blank'
186
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
212
+ })
213
+ }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
214
+ label: (0, _i18n.__)('Link rel'),
215
+ isShownByDefault: true,
216
+ hasValue: () => !!rel,
217
+ onDeselect: () => setAttributes({
218
+ rel: ''
219
+ }),
220
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
187
221
  __next40pxDefaultSize: true,
188
222
  __nextHasNoMarginBottom: true,
189
223
  label: (0, _i18n.__)('Link rel'),
@@ -191,7 +225,7 @@ function PostFeaturedImageEdit({
191
225
  onChange: newRel => setAttributes({
192
226
  rel: newRel
193
227
  })
194
- })]
228
+ })
195
229
  })]
196
230
  })
197
231
  })]