@wordpress/block-library 9.14.0 → 9.15.1

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 (344) hide show
  1. package/CHANGELOG.md +2 -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/button/deprecated.js +182 -1
  6. package/build/button/deprecated.js.map +1 -1
  7. package/build/button/edit.js +47 -25
  8. package/build/button/edit.js.map +1 -1
  9. package/build/button/index.js +8 -2
  10. package/build/button/index.js.map +1 -1
  11. package/build/button/save.js +8 -5
  12. package/build/button/save.js.map +1 -1
  13. package/build/column/edit.js +33 -13
  14. package/build/column/edit.js.map +1 -1
  15. package/build/columns/edit.js +50 -27
  16. package/build/columns/edit.js.map +1 -1
  17. package/build/comments/index.js +1 -0
  18. package/build/comments/index.js.map +1 -1
  19. package/build/cover/edit/index.js +9 -3
  20. package/build/cover/edit/index.js.map +1 -1
  21. package/build/cover/edit.native.js +1 -1
  22. package/build/cover/edit.native.js.map +1 -1
  23. package/build/details/edit.js +29 -7
  24. package/build/details/edit.js.map +1 -1
  25. package/build/image/transforms.js +1 -0
  26. package/build/image/transforms.js.map +1 -1
  27. package/build/latest-posts/deprecated.js +12 -0
  28. package/build/latest-posts/deprecated.js.map +1 -1
  29. package/build/latest-posts/index.js +12 -0
  30. package/build/latest-posts/index.js.map +1 -1
  31. package/build/loginout/edit.js +42 -13
  32. package/build/loginout/edit.js.map +1 -1
  33. package/build/media-text/edit.js +59 -31
  34. package/build/media-text/edit.js.map +1 -1
  35. package/build/more/edit.js +28 -7
  36. package/build/more/edit.js.map +1 -1
  37. package/build/navigation/edit/navigation-menu-selector.js +5 -3
  38. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  39. package/build/navigation-link/edit.js +95 -55
  40. package/build/navigation-link/edit.js.map +1 -1
  41. package/build/navigation-submenu/edit.js +105 -53
  42. package/build/navigation-submenu/edit.js.map +1 -1
  43. package/build/page-list/edit.js +44 -25
  44. package/build/page-list/edit.js.map +1 -1
  45. package/build/paragraph/edit.js +14 -4
  46. package/build/paragraph/edit.js.map +1 -1
  47. package/build/post-author/edit.js +15 -3
  48. package/build/post-author/edit.js.map +1 -1
  49. package/build/post-author/index.js +4 -2
  50. package/build/post-author/index.js.map +1 -1
  51. package/build/post-author-name/edit.js +11 -5
  52. package/build/post-author-name/edit.js.map +1 -1
  53. package/build/post-author-name/index.js +4 -2
  54. package/build/post-author-name/index.js.map +1 -1
  55. package/build/post-comments-form/index.js +6 -1
  56. package/build/post-comments-form/index.js.map +1 -1
  57. package/build/post-comments-link/index.js +8 -1
  58. package/build/post-comments-link/index.js.map +1 -1
  59. package/build/post-date/edit.js +58 -18
  60. package/build/post-date/edit.js.map +1 -1
  61. package/build/post-date/index.js +2 -1
  62. package/build/post-date/index.js.map +1 -1
  63. package/build/post-excerpt/edit.js +42 -18
  64. package/build/post-excerpt/edit.js.map +1 -1
  65. package/build/post-featured-image/dimension-controls.js +17 -19
  66. package/build/post-featured-image/dimension-controls.js.map +1 -1
  67. package/build/post-featured-image/edit.js +45 -11
  68. package/build/post-featured-image/edit.js.map +1 -1
  69. package/build/post-featured-image/index.js +6 -3
  70. package/build/post-featured-image/index.js.map +1 -1
  71. package/build/post-navigation-link/index.js +11 -7
  72. package/build/post-navigation-link/index.js.map +1 -1
  73. package/build/post-navigation-link/variations.js +2 -2
  74. package/build/post-navigation-link/variations.js.map +1 -1
  75. package/build/post-template/index.js +11 -1
  76. package/build/post-template/index.js.map +1 -1
  77. package/build/post-title/index.js +6 -3
  78. package/build/post-title/index.js.map +1 -1
  79. package/build/query-no-results/index.js +10 -9
  80. package/build/query-no-results/index.js.map +1 -1
  81. package/build/query-pagination/edit.js +47 -17
  82. package/build/query-pagination/edit.js.map +1 -1
  83. package/build/query-pagination/query-pagination-label-control.js +1 -1
  84. package/build/query-pagination/query-pagination-label-control.js.map +1 -1
  85. package/build/query-pagination-numbers/edit.js +33 -15
  86. package/build/query-pagination-numbers/edit.js.map +1 -1
  87. package/build/query-total/edit.js +8 -10
  88. package/build/query-total/edit.js.map +1 -1
  89. package/build/query-total/index.js +8 -1
  90. package/build/query-total/index.js.map +1 -1
  91. package/build/read-more/index.js +7 -1
  92. package/build/read-more/index.js.map +1 -1
  93. package/build/site-logo/index.js +4 -2
  94. package/build/site-logo/index.js.map +1 -1
  95. package/build/site-title/edit.js +41 -12
  96. package/build/site-title/edit.js.map +1 -1
  97. package/build/site-title/index.js +4 -2
  98. package/build/site-title/index.js.map +1 -1
  99. package/build/social-link/edit.js +19 -3
  100. package/build/social-link/edit.js.map +1 -1
  101. package/build/social-links/edit.js +41 -12
  102. package/build/social-links/edit.js.map +1 -1
  103. package/build/spacer/controls.js +34 -12
  104. package/build/spacer/controls.js.map +1 -1
  105. package/build/table/edit.js +48 -15
  106. package/build/table/edit.js.map +1 -1
  107. package/build/table/index.js +4 -1
  108. package/build/table/index.js.map +1 -1
  109. package/build/table-of-contents/edit.js +1 -1
  110. package/build/table-of-contents/edit.js.map +1 -1
  111. package/build/table-of-contents/index.js +24 -23
  112. package/build/table-of-contents/index.js.map +1 -1
  113. package/build/tag-cloud/edit.js +56 -11
  114. package/build/tag-cloud/edit.js.map +1 -1
  115. package/build/video/edit-common-settings.js +90 -30
  116. package/build/video/edit-common-settings.js.map +1 -1
  117. package/build/video/edit.js +20 -49
  118. package/build/video/edit.js.map +1 -1
  119. package/build/video/poster-image.js +81 -0
  120. package/build/video/poster-image.js.map +1 -0
  121. package/build/video/tracks-editor.js +1 -1
  122. package/build/video/tracks-editor.js.map +1 -1
  123. package/build-module/archives/edit.js +84 -37
  124. package/build-module/archives/edit.js.map +1 -1
  125. package/build-module/button/deprecated.js +183 -2
  126. package/build-module/button/deprecated.js.map +1 -1
  127. package/build-module/button/edit.js +50 -28
  128. package/build-module/button/edit.js.map +1 -1
  129. package/build-module/button/index.js +8 -2
  130. package/build-module/button/index.js.map +1 -1
  131. package/build-module/button/save.js +9 -6
  132. package/build-module/button/save.js.map +1 -1
  133. package/build-module/column/edit.js +34 -14
  134. package/build-module/column/edit.js.map +1 -1
  135. package/build-module/columns/edit.js +52 -29
  136. package/build-module/columns/edit.js.map +1 -1
  137. package/build-module/comments/index.js +1 -0
  138. package/build-module/comments/index.js.map +1 -1
  139. package/build-module/cover/edit/index.js +9 -3
  140. package/build-module/cover/edit/index.js.map +1 -1
  141. package/build-module/cover/edit.native.js +2 -2
  142. package/build-module/cover/edit.native.js.map +1 -1
  143. package/build-module/details/edit.js +30 -8
  144. package/build-module/details/edit.js.map +1 -1
  145. package/build-module/image/transforms.js +1 -0
  146. package/build-module/image/transforms.js.map +1 -1
  147. package/build-module/latest-posts/deprecated.js +12 -0
  148. package/build-module/latest-posts/deprecated.js.map +1 -1
  149. package/build-module/latest-posts/index.js +12 -0
  150. package/build-module/latest-posts/index.js.map +1 -1
  151. package/build-module/loginout/edit.js +42 -14
  152. package/build-module/loginout/edit.js.map +1 -1
  153. package/build-module/media-text/edit.js +59 -31
  154. package/build-module/media-text/edit.js.map +1 -1
  155. package/build-module/more/edit.js +28 -8
  156. package/build-module/more/edit.js.map +1 -1
  157. package/build-module/navigation/edit/navigation-menu-selector.js +5 -3
  158. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  159. package/build-module/navigation-link/edit.js +96 -56
  160. package/build-module/navigation-link/edit.js.map +1 -1
  161. package/build-module/navigation-submenu/edit.js +106 -54
  162. package/build-module/navigation-submenu/edit.js.map +1 -1
  163. package/build-module/page-list/edit.js +45 -26
  164. package/build-module/page-list/edit.js.map +1 -1
  165. package/build-module/paragraph/edit.js +15 -6
  166. package/build-module/paragraph/edit.js.map +1 -1
  167. package/build-module/post-author/edit.js +16 -4
  168. package/build-module/post-author/edit.js.map +1 -1
  169. package/build-module/post-author/index.js +4 -2
  170. package/build-module/post-author/index.js.map +1 -1
  171. package/build-module/post-author-name/edit.js +12 -6
  172. package/build-module/post-author-name/edit.js.map +1 -1
  173. package/build-module/post-author-name/index.js +4 -2
  174. package/build-module/post-author-name/index.js.map +1 -1
  175. package/build-module/post-comments-form/index.js +6 -1
  176. package/build-module/post-comments-form/index.js.map +1 -1
  177. package/build-module/post-comments-link/index.js +8 -1
  178. package/build-module/post-comments-link/index.js.map +1 -1
  179. package/build-module/post-date/edit.js +59 -19
  180. package/build-module/post-date/edit.js.map +1 -1
  181. package/build-module/post-date/index.js +2 -1
  182. package/build-module/post-date/index.js.map +1 -1
  183. package/build-module/post-excerpt/edit.js +44 -20
  184. package/build-module/post-excerpt/edit.js.map +1 -1
  185. package/build-module/post-featured-image/dimension-controls.js +18 -20
  186. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  187. package/build-module/post-featured-image/edit.js +47 -13
  188. package/build-module/post-featured-image/edit.js.map +1 -1
  189. package/build-module/post-featured-image/index.js +6 -3
  190. package/build-module/post-featured-image/index.js.map +1 -1
  191. package/build-module/post-navigation-link/index.js +12 -7
  192. package/build-module/post-navigation-link/index.js.map +1 -1
  193. package/build-module/post-navigation-link/variations.js +2 -2
  194. package/build-module/post-navigation-link/variations.js.map +1 -1
  195. package/build-module/post-template/index.js +11 -1
  196. package/build-module/post-template/index.js.map +1 -1
  197. package/build-module/post-title/index.js +6 -3
  198. package/build-module/post-title/index.js.map +1 -1
  199. package/build-module/query-no-results/index.js +10 -9
  200. package/build-module/query-no-results/index.js.map +1 -1
  201. package/build-module/query-pagination/edit.js +49 -19
  202. package/build-module/query-pagination/edit.js.map +1 -1
  203. package/build-module/query-pagination/query-pagination-label-control.js +1 -1
  204. package/build-module/query-pagination/query-pagination-label-control.js.map +1 -1
  205. package/build-module/query-pagination-numbers/edit.js +34 -16
  206. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  207. package/build-module/query-total/edit.js +8 -10
  208. package/build-module/query-total/edit.js.map +1 -1
  209. package/build-module/query-total/index.js +8 -1
  210. package/build-module/query-total/index.js.map +1 -1
  211. package/build-module/read-more/index.js +7 -1
  212. package/build-module/read-more/index.js.map +1 -1
  213. package/build-module/site-logo/index.js +4 -2
  214. package/build-module/site-logo/index.js.map +1 -1
  215. package/build-module/site-title/edit.js +42 -13
  216. package/build-module/site-title/edit.js.map +1 -1
  217. package/build-module/site-title/index.js +4 -2
  218. package/build-module/site-title/index.js.map +1 -1
  219. package/build-module/social-link/edit.js +20 -4
  220. package/build-module/social-link/edit.js.map +1 -1
  221. package/build-module/social-links/edit.js +42 -13
  222. package/build-module/social-links/edit.js.map +1 -1
  223. package/build-module/spacer/controls.js +35 -13
  224. package/build-module/spacer/controls.js.map +1 -1
  225. package/build-module/table/edit.js +49 -16
  226. package/build-module/table/edit.js.map +1 -1
  227. package/build-module/table/index.js +4 -1
  228. package/build-module/table/index.js.map +1 -1
  229. package/build-module/table-of-contents/edit.js +1 -1
  230. package/build-module/table-of-contents/edit.js.map +1 -1
  231. package/build-module/table-of-contents/index.js +26 -25
  232. package/build-module/table-of-contents/index.js.map +1 -1
  233. package/build-module/tag-cloud/edit.js +57 -12
  234. package/build-module/tag-cloud/edit.js.map +1 -1
  235. package/build-module/video/edit-common-settings.js +91 -31
  236. package/build-module/video/edit-common-settings.js.map +1 -1
  237. package/build-module/video/edit.js +24 -53
  238. package/build-module/video/edit.js.map +1 -1
  239. package/build-module/video/poster-image.js +74 -0
  240. package/build-module/video/poster-image.js.map +1 -0
  241. package/build-module/video/tracks-editor.js +1 -1
  242. package/build-module/video/tracks-editor.js.map +1 -1
  243. package/build-style/comment-template/style-rtl.css +0 -1
  244. package/build-style/comment-template/style.css +0 -1
  245. package/build-style/editor-rtl.css +4 -19
  246. package/build-style/editor.css +4 -19
  247. package/build-style/form-input/style-rtl.css +0 -2
  248. package/build-style/form-input/style.css +0 -2
  249. package/build-style/freeform/editor-rtl.css +4 -8
  250. package/build-style/freeform/editor.css +4 -8
  251. package/build-style/{post-template/editor.css → post-comments-link/style-rtl.css} +2 -4
  252. package/build-style/{post-template/editor-rtl.css → post-comments-link/style.css} +2 -4
  253. package/build-style/post-template/style-rtl.css +1 -0
  254. package/build-style/post-template/style.css +1 -0
  255. package/build-style/query-total/style-rtl.css +103 -0
  256. package/build-style/query-total/style.css +103 -0
  257. package/build-style/read-more/style-rtl.css +0 -1
  258. package/build-style/read-more/style.css +0 -1
  259. package/build-style/style-rtl.css +9 -4
  260. package/build-style/style.css +9 -4
  261. package/build-style/tag-cloud/editor-rtl.css +0 -5
  262. package/build-style/tag-cloud/editor.css +0 -5
  263. package/package.json +35 -35
  264. package/src/archives/edit.js +94 -36
  265. package/src/audio/test/__snapshots__/edit.native.js.snap +1 -1
  266. package/src/block/index.php +20 -0
  267. package/src/button/block.json +17 -2
  268. package/src/button/deprecated.js +189 -0
  269. package/src/button/edit.js +60 -31
  270. package/src/button/save.js +6 -1
  271. package/src/column/edit.js +34 -13
  272. package/src/columns/edit.js +71 -40
  273. package/src/comments/index.js +1 -0
  274. package/src/cover/edit/index.js +12 -5
  275. package/src/cover/edit.native.js +5 -2
  276. package/src/cover/test/edit.js +5 -7
  277. package/src/details/edit.js +40 -11
  278. package/src/editor.scss +0 -1
  279. package/src/file/test/__snapshots__/edit.native.js.snap +1 -1
  280. package/src/image/transforms.js +1 -0
  281. package/src/latest-posts/block.json +12 -0
  282. package/src/loginout/edit.js +56 -20
  283. package/src/media-text/edit.js +57 -28
  284. package/src/more/edit.js +39 -12
  285. package/src/navigation/edit/navigation-menu-selector.js +9 -2
  286. package/src/navigation/index.php +2 -2
  287. package/src/navigation-link/edit.js +101 -61
  288. package/src/navigation-link/index.php +16 -1
  289. package/src/navigation-submenu/edit.js +113 -57
  290. package/src/page-list/edit.js +52 -31
  291. package/src/paragraph/edit.js +18 -4
  292. package/src/post-author/block.json +4 -2
  293. package/src/post-author/edit.js +17 -3
  294. package/src/post-author/index.php +4 -0
  295. package/src/post-author-name/block.json +4 -2
  296. package/src/post-author-name/edit.js +17 -4
  297. package/src/post-author-name/index.php +4 -0
  298. package/src/post-comments-form/block.json +6 -1
  299. package/src/post-comments-link/block.json +8 -1
  300. package/src/post-comments-link/style.scss +4 -0
  301. package/src/post-content/index.php +23 -0
  302. package/src/post-date/block.json +2 -1
  303. package/src/post-date/edit.js +79 -25
  304. package/src/post-excerpt/edit.js +59 -22
  305. package/src/post-featured-image/block.json +6 -3
  306. package/src/post-featured-image/dimension-controls.js +18 -21
  307. package/src/post-featured-image/edit.js +67 -10
  308. package/src/post-navigation-link/block.json +0 -6
  309. package/src/post-navigation-link/index.js +11 -0
  310. package/src/post-navigation-link/variations.js +2 -2
  311. package/src/post-template/block.json +11 -1
  312. package/src/post-template/style.scss +2 -0
  313. package/src/post-title/block.json +6 -3
  314. package/src/query-no-results/block.json +0 -10
  315. package/src/query-no-results/index.js +11 -0
  316. package/src/query-pagination/edit.js +57 -15
  317. package/src/query-pagination/query-pagination-label-control.js +1 -3
  318. package/src/query-pagination-numbers/edit.js +41 -19
  319. package/src/query-pagination-previous/index.php +21 -14
  320. package/src/query-total/block.json +8 -1
  321. package/src/query-total/edit.js +11 -13
  322. package/src/query-total/index.php +9 -13
  323. package/src/query-total/style.scss +4 -0
  324. package/src/read-more/index.js +6 -0
  325. package/src/site-logo/block.json +4 -2
  326. package/src/site-title/block.json +4 -2
  327. package/src/site-title/edit.js +52 -15
  328. package/src/social-link/edit.js +21 -6
  329. package/src/social-links/edit.js +52 -15
  330. package/src/spacer/controls.js +42 -15
  331. package/src/style.scss +2 -0
  332. package/src/table/block.json +4 -1
  333. package/src/table/edit.js +58 -20
  334. package/src/table-of-contents/block.json +0 -52
  335. package/src/table-of-contents/edit.js +1 -1
  336. package/src/table-of-contents/index.js +53 -0
  337. package/src/tag-cloud/edit.js +60 -8
  338. package/src/tag-cloud/editor.scss +0 -8
  339. package/src/video/edit-common-settings.js +97 -39
  340. package/src/video/edit.js +29 -75
  341. package/src/video/poster-image.js +86 -0
  342. package/src/video/tracks-editor.js +1 -1
  343. package/tsconfig.json +0 -2
  344. package/src/post-template/editor.scss +0 -7
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","PanelBody","__","_x","sprintf","edit","DOWN","useSelect","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","dateLabel","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","currentDate","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","title","onKeyDown","defaultFormat","nextFormat","__nextHasNoMarginBottom","label","labels","singular_name","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","useEntityProp","store","coreStore","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","edit","DOWN","useSelect","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","dropdownMenuProps","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","dateLabel","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","currentDate","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","title","onKeyDown","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","defaultFormat","nextFormat","labels","singular_name","toLowerCase","__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":[]}
@@ -24,7 +24,8 @@ const metadata = {
24
24
  },
25
25
  isLink: {
26
26
  type: "boolean",
27
- "default": false
27
+ "default": false,
28
+ role: "content"
28
29
  },
29
30
  displayType: {
30
31
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"names":["postDate","icon","initBlock","metadata","$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","edit","deprecated","variations","settings","init"],"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":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,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;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2C,QAAQ,GAAG;EACvBhD,IAAI;EACJ6C,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMhD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE8C;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["postDate","icon","initBlock","metadata","$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","edit","deprecated","variations","settings","init"],"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":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,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;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE3C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM4C,QAAQ,GAAG;EACvBjD,IAAI;EACJ8C,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE+C;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -9,14 +9,14 @@ import clsx from 'clsx';
9
9
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
10
10
  import { useMemo } from '@wordpress/element';
11
11
  import { AlignmentToolbar, BlockControls, InspectorControls, RichText, Warning, useBlockProps } from '@wordpress/block-editor';
12
- import { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';
12
+ import { ToggleControl, RangeControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
13
13
  import { __, _x } from '@wordpress/i18n';
14
14
  import { useSelect } from '@wordpress/data';
15
15
 
16
16
  /**
17
17
  * Internal dependencies
18
18
  */
19
- import { useCanEditEntity } from '../utils/hooks';
19
+ import { useCanEditEntity, useToolsPanelDropdownMenuProps } from '../utils/hooks';
20
20
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
21
21
  const ELLIPSIS = '…';
22
22
  export default function PostExcerptEditor({
@@ -40,6 +40,7 @@ export default function PostExcerptEditor({
40
40
  rendered: renderedExcerpt,
41
41
  protected: isProtected
42
42
  } = {}] = useEntityProp('postType', postType, 'excerpt', postId);
43
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
43
44
 
44
45
  /**
45
46
  * Check if the post type supports excerpts.
@@ -173,27 +174,50 @@ export default function PostExcerptEditor({
173
174
  })
174
175
  })
175
176
  }), /*#__PURE__*/_jsx(InspectorControls, {
176
- children: /*#__PURE__*/_jsxs(PanelBody, {
177
- title: __('Settings'),
178
- children: [/*#__PURE__*/_jsx(ToggleControl, {
179
- __nextHasNoMarginBottom: true,
177
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
178
+ label: __('Settings'),
179
+ resetAll: () => {
180
+ setAttributes({
181
+ showMoreOnNewLine: true,
182
+ excerptLength: 55
183
+ });
184
+ },
185
+ dropdownMenuProps: dropdownMenuProps,
186
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
187
+ hasValue: () => showMoreOnNewLine !== true,
180
188
  label: __('Show link on new line'),
181
- checked: showMoreOnNewLine,
182
- onChange: newShowMoreOnNewLine => setAttributes({
183
- showMoreOnNewLine: newShowMoreOnNewLine
189
+ onDeselect: () => setAttributes({
190
+ showMoreOnNewLine: true
191
+ }),
192
+ isShownByDefault: true,
193
+ children: /*#__PURE__*/_jsx(ToggleControl, {
194
+ __nextHasNoMarginBottom: true,
195
+ label: __('Show link on new line'),
196
+ checked: showMoreOnNewLine,
197
+ onChange: newShowMoreOnNewLine => setAttributes({
198
+ showMoreOnNewLine: newShowMoreOnNewLine
199
+ })
184
200
  })
185
- }), /*#__PURE__*/_jsx(RangeControl, {
186
- __next40pxDefaultSize: true,
187
- __nextHasNoMarginBottom: true,
201
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
202
+ hasValue: () => excerptLength !== 55,
188
203
  label: __('Max number of words'),
189
- value: excerptLength,
190
- onChange: value => {
191
- setAttributes({
192
- excerptLength: value
193
- });
194
- },
195
- min: "10",
196
- max: "100"
204
+ onDeselect: () => setAttributes({
205
+ excerptLength: 55
206
+ }),
207
+ isShownByDefault: true,
208
+ children: /*#__PURE__*/_jsx(RangeControl, {
209
+ __next40pxDefaultSize: true,
210
+ __nextHasNoMarginBottom: true,
211
+ label: __('Max number of words'),
212
+ value: excerptLength,
213
+ onChange: value => {
214
+ setAttributes({
215
+ excerptLength: value
216
+ });
217
+ },
218
+ min: "10",
219
+ max: "100"
220
+ })
197
221
  })]
198
222
  })
199
223
  }), /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","RangeControl","__","_x","useSelect","useCanEditEntity","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","title","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","__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":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,aAAa,EAAEC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACxE,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,EACjBC,QAAQ,EACRC,OAAO,EACPC,aAAa,QACP,yBAAyB;AAChC,SAASC,SAAS,EAAEC,aAAa,EAAEC,YAAY,QAAQ,uBAAuB;AAC9E,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,MAAMC,QAAQ,GAAG,GAAG;AAEpB,eAAe,SAASC,iBAAiBA,CAAE;EAC1CC,UAAU,EAAE;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC;EAAc,CAAC;EACrEC,aAAa;EACbC,UAAU;EACVC,OAAO,EAAE;IAAEC,MAAM;IAAEC,QAAQ;IAAEC;EAAQ;AACtC,CAAC,EAAG;EACH,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAQ,CAAEH,OAAQ,CAAC;EAC1D,MAAMI,WAAW,GAAGvB,gBAAgB,CAAE,UAAU,EAAEkB,QAAQ,EAAED,MAAO,CAAC;EACpE,MAAM,CACLO,UAAU,EACVC,UAAU,EACV;IAAEC,QAAQ,EAAEC,eAAe;IAAEC,SAAS,EAAEC;EAAY,CAAC,GAAG,CAAC,CAAC,CAC1D,GAAG7C,aAAa,CAAE,UAAU,EAAEkC,QAAQ,EAAE,SAAS,EAAED,MAAO,CAAC;;EAE5D;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMa,wBAAwB,GAAG/B,SAAS,CACvCgC,MAAM,IAAM;IACb,IAAKb,QAAQ,KAAK,MAAM,EAAG;MAC1B,OAAO,IAAI;IACZ;IACA,OAAO,CAAC,CAAEa,MAAM,CAAE7C,SAAU,CAAC,CAAC8C,WAAW,CAAEd,QAAS,CAAC,EAAEe,QAAQ,EAC5DC,OAAO;EACX,CAAC,EACD,CAAEhB,QAAQ,CACX,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;EACC,MAAMiB,UAAU,GACfZ,WAAW,IAAI,CAAEH,uBAAuB,IAAIU,wBAAwB;EAErE,MAAMM,UAAU,GAAG3C,aAAa,CAAE;IACjC4C,SAAS,EAAEtD,IAAI,CAAE;MAChB,CAAE,kBAAmB2B,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;EACC,MAAM4B,aAAa,GAAGxC,EAAE,CAAE,OAAO,EAAE,oCAAqC,CAAC;;EAEzE;AACD;AACA;AACA;AACA;EACC,MAAMyC,uBAAuB,GAAGpD,OAAO,CAAE,MAAM;IAC9C,IAAK,CAAEwC,eAAe,EAAG;MACxB,OAAO,EAAE;IACV;IACA,MAAMa,QAAQ,GAAG,IAAIC,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,eAAe,CACtDhB,eAAe,EACf,WACD,CAAC;IACD,OAAOa,QAAQ,CAACI,IAAI,CAACC,WAAW,IAAIL,QAAQ,CAACI,IAAI,CAACE,SAAS,IAAI,EAAE;EAClE,CAAC,EAAE,CAAEnB,eAAe,CAAG,CAAC;EAExB,IAAK,CAAET,QAAQ,IAAI,CAAED,MAAM,EAAG;IAC7B,oBACCX,KAAA,CAAAF,SAAA;MAAA2C,QAAA,gBACC7C,IAAA,CAACb,aAAa;QAAA0D,QAAA,eACb7C,IAAA,CAACd,gBAAgB;UAChB4D,KAAK,EAAGtC,SAAW;UACnBuC,QAAQ,EAAKC,QAAQ,IACpBpC,aAAa,CAAE;YAAEJ,SAAS,EAAEwC;UAAS,CAAE;QACvC,CACD;MAAC,CACY,CAAC,eAChBhD,IAAA;QAAA,GAAUkC,UAAU;QAAAW,QAAA,eACnB7C,IAAA;UAAA6C,QAAA,EAAKlD,EAAE,CAAE,sCAAuC;QAAC,CAAK;MAAC,CACnD,CAAC;IAAA,CACL,CAAC;EAEL;EACA,IAAKgC,WAAW,IAAI,CAAEN,WAAW,EAAG;IACnC,oBACCrB,IAAA;MAAA,GAAUkC,UAAU;MAAAW,QAAA,eACnB7C,IAAA,CAACV,OAAO;QAAAuD,QAAA,EACLlD,EAAE,CACH,6EACD;MAAC,CACO;IAAC,CACN,CAAC;EAER;EACA,MAAMsD,YAAY,gBACjBjD,IAAA,CAACX,QAAQ;IACR6D,UAAU,EAAC,UAAU;IACrBf,SAAS,EAAC,kCAAkC;IAC5CgB,OAAO,EAAC,GAAG;IACX,cAAaxD,EAAE,CAAE,uBAAwB,CAAG;IAC5CyD,WAAW,EAAGzD,EAAE,CAAE,2BAA4B,CAAG;IACjDmD,KAAK,EAAGrC,QAAU;IAClBsC,QAAQ,EAAKM,WAAW,IACvBzC,aAAa,CAAE;MAAEH,QAAQ,EAAE4C;IAAY,CAAE,CACzC;IACDC,4BAA4B;EAAA,CAC5B,CACD;EACD,MAAMC,gBAAgB,GAAG1E,IAAI,CAAE,gCAAgC,EAAE;IAChE,WAAW,EAAE,CAAE6B;EAChB,CAAE,CAAC;;EAEH;AACD;AACA;AACA;EACC,MAAM8C,oBAAoB,GAAG,CAC5BlC,UAAU,IAAIe,uBAAuB,EACpCoB,IAAI,CAAC,CAAC;EAER,IAAIC,cAAc,GAAG,EAAE;EACvB,IAAKtB,aAAa,KAAK,OAAO,EAAG;IAChCsB,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,GAAG,EAAEhD,aAAc,CAAC,CAC3BiD,IAAI,CAAE,GAAI,CAAC;EACd,CAAC,MAAM,IAAKxB,aAAa,KAAK,6BAA6B,EAAG;IAC7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,MAAMyB,iBAAiB,GAAGL,oBAAoB,CAC5CG,KAAK,CAAE,EAAE,EAAEhD,aAAc,CAAC,CAC1BiD,IAAI,CAAE,EAAG,CAAC;IAEZ,MAAME,cAAc,GACnBD,iBAAiB,CAACE,MAAM,GACxBF,iBAAiB,CAACG,UAAU,CAAE,GAAG,EAAE,EAAG,CAAC,CAACD,MAAM;IAE/CL,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,EAAE,EAAEhD,aAAa,GAAGmD,cAAe,CAAC,CAC3CF,IAAI,CAAE,EAAG,CAAC;EACb,CAAC,MAAM,IAAKxB,aAAa,KAAK,6BAA6B,EAAG;IAC7DsB,cAAc,GAAGF,oBAAoB,CACnCG,KAAK,CAAE,EAAE,EAAEhD,aAAc,CAAC,CAC1BiD,IAAI,CAAE,EAAG,CAAC;EACb;EAEA,MAAMK,SAAS,GAAGP,cAAc,KAAKF,oBAAoB;EAEzD,MAAMU,cAAc,GAAGjC,UAAU,gBAChCjC,IAAA,CAACX,QAAQ;IACR8C,SAAS,EAAGoB,gBAAkB;IAC9B,cAAa5D,EAAE,CAAE,cAAe,CAAG;IACnCmD,KAAK,EACJjC,UAAU,GACP2C,oBAAoB,GACpB,CAAE,CAAES,SAAS,GACXT,oBAAoB,GACpBE,cAAc,GAAGrD,QAAQ,KAC3BV,EAAE,CAAE,kBAAmB,CAC1B;IACDoD,QAAQ,EAAGxB,UAAY;IACvB4B,OAAO,EAAC;EAAG,CACX,CAAC,gBAEFnD,IAAA;IAAGmC,SAAS,EAAGoB,gBAAkB;IAAAV,QAAA,EAC9B,CAAEoB,SAAS,GACVT,oBAAoB,IAAI7D,EAAE,CAAE,kBAAmB,CAAC,GAChD+D,cAAc,GAAGrD;EAAQ,CAC1B,CACH;EACD,oBACCD,KAAA,CAAAF,SAAA;IAAA2C,QAAA,gBACC7C,IAAA,CAACb,aAAa;MAAA0D,QAAA,eACb7C,IAAA,CAACd,gBAAgB;QAChB4D,KAAK,EAAGtC,SAAW;QACnBuC,QAAQ,EAAKC,QAAQ,IACpBpC,aAAa,CAAE;UAAEJ,SAAS,EAAEwC;QAAS,CAAE;MACvC,CACD;IAAC,CACY,CAAC,eAChBhD,IAAA,CAACZ,iBAAiB;MAAAyD,QAAA,eACjBzC,KAAA,CAACZ,SAAS;QAAC2E,KAAK,EAAGxE,EAAE,CAAE,UAAW,CAAG;QAAAkD,QAAA,gBACpC7C,IAAA,CAACP,aAAa;UACb2E,uBAAuB;UACvBC,KAAK,EAAG1E,EAAE,CAAE,uBAAwB,CAAG;UACvC2E,OAAO,EAAG5D,iBAAmB;UAC7BqC,QAAQ,EAAKwB,oBAAoB,IAChC3D,aAAa,CAAE;YACdF,iBAAiB,EAAE6D;UACpB,CAAE;QACF,CACD,CAAC,eACFvE,IAAA,CAACN,YAAY;UACZ8E,qBAAqB;UACrBJ,uBAAuB;UACvBC,KAAK,EAAG1E,EAAE,CAAE,qBAAsB,CAAG;UACrCmD,KAAK,EAAGnC,aAAe;UACvBoC,QAAQ,EAAKD,KAAK,IAAM;YACvBlC,aAAa,CAAE;cAAED,aAAa,EAAEmC;YAAM,CAAE,CAAC;UAC1C,CAAG;UACH2B,GAAG,EAAC,IAAI;UACRC,GAAG,EAAC;QAAK,CACT,CAAC;MAAA,CACQ;IAAC,CACM,CAAC,eACpBtE,KAAA;MAAA,GAAU8B,UAAU;MAAAW,QAAA,GACjBqB,cAAc,EACd,CAAExD,iBAAiB,IAAI,GAAG,EAC1BA,iBAAiB,gBAClBV,IAAA;QAAGmC,SAAS,EAAC,kCAAkC;QAAAU,QAAA,EAC5CI;MAAY,CACZ,CAAC,GAEJA,YACA;IAAA,CACG,CAAC;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","ToggleControl","RangeControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","useSelect","useCanEditEntity","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","dropdownMenuProps","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","newShowMoreOnNewLine","__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":[]}
@@ -4,9 +4,17 @@
4
4
  */
5
5
  import { __, _x } from '@wordpress/i18n';
6
6
  import { SelectControl, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
7
- import { useSettings, store as blockEditorStore } from '@wordpress/block-editor';
7
+ import { useSettings, privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
8
8
  import { useSelect } from '@wordpress/data';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { unlock } from '../lock-unlock';
9
14
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
+ const {
16
+ ResolutionTool
17
+ } = unlock(blockEditorPrivateApis);
10
18
  const SCALE_OPTIONS = /*#__PURE__*/_jsxs(_Fragment, {
11
19
  children: [/*#__PURE__*/_jsx(ToggleGroupControlOption, {
12
20
  value: "cover",
@@ -175,27 +183,17 @@ const DimensionControls = ({
175
183
  isBlock: true,
176
184
  children: SCALE_OPTIONS
177
185
  })
178
- }), !!imageSizeOptions.length && /*#__PURE__*/_jsx(ToolsPanelItem, {
179
- hasValue: () => !!sizeSlug,
180
- label: __('Resolution'),
181
- onDeselect: () => setAttributes({
182
- sizeSlug: undefined
183
- }),
184
- resetAllFilter: () => ({
185
- sizeSlug: undefined
186
+ }), !!imageSizeOptions.length && /*#__PURE__*/_jsx(ResolutionTool, {
187
+ panelId: clientId,
188
+ value: sizeSlug,
189
+ defaultValue: DEFAULT_SIZE,
190
+ options: imageSizeOptions,
191
+ onChange: nextSizeSlug => setAttributes({
192
+ sizeSlug: nextSizeSlug
186
193
  }),
187
194
  isShownByDefault: false,
188
- panelId: clientId,
189
- children: /*#__PURE__*/_jsx(SelectControl, {
190
- __next40pxDefaultSize: true,
191
- __nextHasNoMarginBottom: true,
192
- label: __('Resolution'),
193
- value: sizeSlug || DEFAULT_SIZE,
194
- options: imageSizeOptions,
195
- onChange: nextSizeSlug => setAttributes({
196
- sizeSlug: nextSizeSlug
197
- }),
198
- help: __('Select the size of the source image.')
195
+ resetAllFilter: () => ({
196
+ sizeSlug: DEFAULT_SIZE
199
197
  })
200
198
  })]
201
199
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","store","blockEditorStore","useSelect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SCALE_OPTIONS","children","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"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":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","privateApis","blockEditorPrivateApis","store","blockEditorStore","useSelect","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ResolutionTool","SCALE_OPTIONS","children","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","defaultValue","nextSizeSlug"],"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":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SACCC,aAAa,EACbC,yBAAyB,IAAIC,WAAW,EACxCC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,4BAA4B,IAAIC,cAAc,EAC9CC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SACCC,WAAW,EACXC,WAAW,IAAIC,sBAAsB,EACrCC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAExC,MAAM;EAAEC;AAAe,CAAC,GAAGP,MAAM,CAAEJ,sBAAuB,CAAC;AAE3D,MAAMY,aAAa,gBAClBF,KAAA,CAAAF,SAAA;EAAAK,QAAA,gBACCP,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,OAAO;IACbC,KAAK,EAAG7B,EAAE,CAAE,OAAO,EAAE,0CAA2C;EAAG,CACnE,CAAC,eACFoB,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,SAAS;IACfC,KAAK,EAAG7B,EAAE,CACT,SAAS,EACT,0CACD;EAAG,CACH,CAAC,eACFoB,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,MAAM;IACZC,KAAK,EAAG7B,EAAE,CAAE,MAAM,EAAE,0CAA2C;EAAG,CAClE,CAAC;AAAA,CACD,CACF;AAED,MAAM8B,aAAa,GAAG,OAAO;AAC7B,MAAMC,YAAY,GAAG,MAAM;AAE3B,MAAMC,SAAS,GAAG;EACjBC,KAAK,EAAElC,EAAE,CACR,+EACD,CAAC;EACDmC,OAAO,EAAEnC,EAAE,CACV,oEACD,CAAC;EACDoC,IAAI,EAAEpC,EAAE,CACP,qEACD;AACD,CAAC;AAED,MAAMqC,iBAAiB,GAAGA,CAAE;EAC3BC,QAAQ;EACRC,UAAU,EAAE;IAAEC,WAAW;IAAEC,KAAK;IAAEC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC;EAC3DC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAM,CAAEC,cAAc,EAAEC,aAAa,EAAEC,WAAW,EAAEC,iBAAiB,CAAE,GACtErC,WAAW,CACV,eAAe,EACf,iCAAiC,EACjC,+BAA+B,EAC/B,gCACD,CAAC;EACF,MAAMsC,KAAK,GAAGzC,cAAc,CAAE;IAC7BqC,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACjE,CAAE,CAAC;EACH,MAAMK,UAAU,GAAGlC,SAAS,CACzBmC,MAAM,IAAMA,MAAM,CAAEpC,gBAAiB,CAAC,CAACqC,WAAW,CAAC,CAAC,CAACF,UAAU,EACjE,EACD,CAAC;EACD,MAAMG,gBAAgB,GAAGH,UAAU,CACjCI,MAAM,CAAE,CAAE;IAAEC;EAAK,CAAC,KAAM;IACxB,OAAOX,KAAK,EAAEY,aAAa,EAAEC,KAAK,GAAIF,IAAI,CAAE,EAAEG,UAAU;EACzD,CAAE,CAAC,CACFC,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEL;EAAK,CAAC,MAAQ;IAC7B5B,KAAK,EAAE4B,IAAI;IACX3B,KAAK,EAAEgC;EACR,CAAC,CAAG,CAAC;EAEN,MAAMC,iBAAiB,GAAGA,CAAEC,SAAS,EAAEC,SAAS,KAAM;IACrD,MAAMC,WAAW,GAAGC,UAAU,CAAEF,SAAU,CAAC;IAC3C;AACF;AACA;AACA;AACA;IACE,IAAKG,KAAK,CAAEF,WAAY,CAAC,IAAID,SAAS,EAAG;MACxC;IACD;IACApB,aAAa,CAAE;MACd,CAAEmB,SAAS,GAAIE,WAAW,GAAG,CAAC,GAAG,GAAG,GAAGD;IACxC,CAAE,CAAC;EACJ,CAAC;EACD,MAAMI,UAAU,GAAGpE,EAAE,CAAE,OAAO,EAAE,uBAAwB,CAAC;EAEzD,MAAMqE,gBAAgB,GACrB5B,MAAM,IAAMF,WAAW,IAAIA,WAAW,KAAK,MAAQ;EAEpD,MAAM+B,YAAY,GAAGtB,WAAW,EAAEY,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEU;EAAM,CAAC,MAAQ;IAC/D1C,KAAK,EAAEgC,IAAI;IACXjC,KAAK,EAAE2C;EACR,CAAC,CAAG,CAAC;EAEL,MAAMC,cAAc,GAAGzB,aAAa,EAAEa,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEU;EAAM,CAAC,MAAQ;IACnE1C,KAAK,EAAEgC,IAAI;IACXjC,KAAK,EAAE2C;EACR,CAAC,CAAG,CAAC;EAEL,MAAME,kBAAkB,GAAG,CAC1B;IACC5C,KAAK,EAAE7B,EAAE,CACR,UAAU,EACV,4CACD,CAAC;IACD4B,KAAK,EAAE;EACR,CAAC,EACD,IAAKqB,iBAAiB,GAAGuB,cAAc,GAAG,EAAE,CAAE,EAC9C,IAAKF,YAAY,GAAGA,YAAY,GAAG,EAAE,CAAE,CACvC;EAED,oBACC9C,KAAA,CAAAF,SAAA;IAAAK,QAAA,gBACCP,IAAA,CAACT,cAAc;MACd+D,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEnC,WAAa;MACjCV,KAAK,EAAG9B,EAAE,CAAE,cAAe,CAAG;MAC9B4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEL,WAAW,EAAEqC;MAAU,CAAE,CAAG;MAChEC,cAAc,EAAGA,CAAA,MAAQ;QACxBtC,WAAW,EAAEqC;MACd,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACnB,aAAa;QACb+E,qBAAqB;QACrBC,uBAAuB;QACvBpD,KAAK,EAAG9B,EAAE,CAAE,cAAe,CAAG;QAC9B6B,KAAK,EAAGW,WAAa;QACrB2C,OAAO,EAAGT,kBAAoB;QAC9BU,QAAQ,EAAKC,eAAe,IAC3BxC,aAAa,CAAE;UAAEL,WAAW,EAAE6C;QAAgB,CAAE;MAChD,CACD;IAAC,CACa,CAAC,eACjBhE,IAAA,CAACT,cAAc;MACd0E,SAAS,EAAC,eAAe;MACzBX,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEjC,MAAQ;MAC5BZ,KAAK,EAAG9B,EAAE,CAAE,QAAS,CAAG;MACxB4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEH,MAAM,EAAEmC;MAAU,CAAE,CAAG;MAC3DC,cAAc,EAAGA,CAAA,MAAQ;QACxBpC,MAAM,EAAEmC;MACT,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACjB,WAAW;QACX6E,qBAAqB;QACrBnD,KAAK,EAAG9B,EAAE,CAAE,QAAS,CAAG;QACxBuF,aAAa,EAAC,KAAK;QACnB1D,KAAK,EAAGa,MAAM,IAAI,EAAI;QACtB8C,GAAG,EAAG,CAAG;QACTJ,QAAQ,EAAKK,UAAU,IACtB1B,iBAAiB,CAAE,QAAQ,EAAE0B,UAAW,CACxC;QACDtC,KAAK,EAAGA;MAAO,CACf;IAAC,CACa,CAAC,eACjB9B,IAAA,CAACT,cAAc;MACd0E,SAAS,EAAC,eAAe;MACzBX,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAElC,KAAO;MAC3BX,KAAK,EAAG9B,EAAE,CAAE,OAAQ,CAAG;MACvB4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEJ,KAAK,EAAEoC;MAAU,CAAE,CAAG;MAC1DC,cAAc,EAAGA,CAAA,MAAQ;QACxBrC,KAAK,EAAEoC;MACR,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACjB,WAAW;QACX6E,qBAAqB;QACrBnD,KAAK,EAAG9B,EAAE,CAAE,OAAQ,CAAG;QACvBuF,aAAa,EAAC,KAAK;QACnB1D,KAAK,EAAGY,KAAK,IAAI,EAAI;QACrB+C,GAAG,EAAG,CAAG;QACTJ,QAAQ,EAAKM,SAAS,IACrB3B,iBAAiB,CAAE,OAAO,EAAE2B,SAAU,CACtC;QACDvC,KAAK,EAAGA;MAAO,CACf;IAAC,CACa,CAAC,EACfmB,gBAAgB,iBACjBjD,IAAA,CAACT,cAAc;MACd+D,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEhC,KAAK,IAAIA,KAAK,KAAKZ,aAAe;MACtDD,KAAK,EAAGuC,UAAY;MACpBO,UAAU,EAAGA,CAAA,KACZ/B,aAAa,CAAE;QACdF,KAAK,EAAEZ;MACR,CAAE,CACF;MACD+C,cAAc,EAAGA,CAAA,MAAQ;QACxBnC,KAAK,EAAEZ;MACR,CAAC,CAAI;MACLgD,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACf,kBAAkB;QAClB2E,qBAAqB;QACrBC,uBAAuB;QACvBpD,KAAK,EAAGuC,UAAY;QACpBxC,KAAK,EAAGc,KAAO;QACfgD,IAAI,EAAG1D,SAAS,CAAEU,KAAK,CAAI;QAC3ByC,QAAQ,EAAKvD,KAAK,IACjBgB,aAAa,CAAE;UACdF,KAAK,EAAEd;QACR,CAAE,CACF;QACD+D,OAAO;QAAAhE,QAAA,EAELD;MAAa,CACI;IAAC,CACN,CAChB,EACC,CAAC,CAAE4B,gBAAgB,CAACsC,MAAM,iBAC3BxE,IAAA,CAACK,cAAc;MACdsD,OAAO,EAAG1C,QAAU;MACpBT,KAAK,EAAGe,QAAU;MAClBkD,YAAY,EAAG9D,YAAc;MAC7BmD,OAAO,EAAG5B,gBAAkB;MAC5B6B,QAAQ,EAAKW,YAAY,IACxBlD,aAAa,CAAE;QAAED,QAAQ,EAAEmD;MAAa,CAAE,CAC1C;MACDhB,gBAAgB,EAAG,KAAO;MAC1BD,cAAc,EAAGA,CAAA,MAAQ;QACxBlC,QAAQ,EAAEZ;MACX,CAAC;IAAI,CACL,CACD;EAAA,CACA,CAAC;AAEL,CAAC;AAED,eAAeK,iBAAiB","ignoreList":[]}
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { isBlobURL } from '@wordpress/blob';
10
10
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
11
11
  import { useSelect, useDispatch } from '@wordpress/data';
12
- import { ToggleControl, PanelBody, Placeholder, Button, Spinner, TextControl } from '@wordpress/components';
12
+ import { ToggleControl, Placeholder, Button, Spinner, TextControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
13
13
  import { InspectorControls, BlockControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, useBlockEditingMode } from '@wordpress/block-editor';
14
14
  import { useMemo, useEffect, useState } from '@wordpress/element';
15
15
  import { __, sprintf } from '@wordpress/i18n';
@@ -22,7 +22,8 @@ import { store as noticesStore } from '@wordpress/notices';
22
22
  import DimensionControls from './dimension-controls';
23
23
  import OverlayControls from './overlay-controls';
24
24
  import Overlay from './overlay';
25
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
25
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
26
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
26
27
  const ALLOWED_MEDIA_TYPES = ['image'];
27
28
  function getMediaSourceUrlBySizeSlug(media, slug) {
28
29
  return media?.media_details?.sizes?.[slug]?.source_url || media?.source_url;
@@ -139,6 +140,7 @@ export default function PostFeaturedImageEdit({
139
140
  });
140
141
  setTemporaryURL();
141
142
  };
143
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
142
144
  const controls = blockEditingMode === 'default' && /*#__PURE__*/_jsxs(_Fragment, {
143
145
  children: [/*#__PURE__*/_jsx(InspectorControls, {
144
146
  group: "color",
@@ -156,26 +158,58 @@ export default function PostFeaturedImageEdit({
156
158
  media: media
157
159
  })
158
160
  }), /*#__PURE__*/_jsx(InspectorControls, {
159
- children: /*#__PURE__*/_jsxs(PanelBody, {
160
- title: __('Settings'),
161
- children: [/*#__PURE__*/_jsx(ToggleControl, {
162
- __nextHasNoMarginBottom: true,
161
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
162
+ label: __('Settings'),
163
+ resetAll: () => {
164
+ setAttributes({
165
+ isLink: false,
166
+ linkTarget: '_self',
167
+ rel: ''
168
+ });
169
+ },
170
+ dropdownMenuProps: dropdownMenuProps,
171
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
163
172
  label: postType?.labels.singular_name ? sprintf(
164
173
  // translators: %s: Name of the post type e.g: "post".
165
174
  __('Link to %s'), postType.labels.singular_name) : __('Link to post'),
166
- onChange: () => setAttributes({
167
- isLink: !isLink
175
+ isShownByDefault: true,
176
+ hasValue: () => !!isLink,
177
+ onDeselect: () => setAttributes({
178
+ isLink: false
168
179
  }),
169
- checked: isLink
170
- }), isLink && /*#__PURE__*/_jsxs(_Fragment, {
171
- children: [/*#__PURE__*/_jsx(ToggleControl, {
180
+ children: /*#__PURE__*/_jsx(ToggleControl, {
181
+ __nextHasNoMarginBottom: true,
182
+ label: postType?.labels.singular_name ? sprintf(
183
+ // translators: %s: Name of the post type e.g: "post".
184
+ __('Link to %s'), postType.labels.singular_name) : __('Link to post'),
185
+ onChange: () => setAttributes({
186
+ isLink: !isLink
187
+ }),
188
+ checked: isLink
189
+ })
190
+ }), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
191
+ label: __('Open in new tab'),
192
+ isShownByDefault: true,
193
+ hasValue: () => '_self' !== linkTarget,
194
+ onDeselect: () => setAttributes({
195
+ linkTarget: '_self'
196
+ }),
197
+ children: /*#__PURE__*/_jsx(ToggleControl, {
172
198
  __nextHasNoMarginBottom: true,
173
199
  label: __('Open in new tab'),
174
200
  onChange: value => setAttributes({
175
201
  linkTarget: value ? '_blank' : '_self'
176
202
  }),
177
203
  checked: linkTarget === '_blank'
178
- }), /*#__PURE__*/_jsx(TextControl, {
204
+ })
205
+ }), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
206
+ label: __('Link rel'),
207
+ isShownByDefault: true,
208
+ hasValue: () => !!rel,
209
+ onDeselect: () => setAttributes({
210
+ rel: ''
211
+ }),
212
+ children: /*#__PURE__*/_jsx(TextControl, {
179
213
  __next40pxDefaultSize: true,
180
214
  __nextHasNoMarginBottom: true,
181
215
  label: __('Link rel'),
@@ -183,7 +217,7 @@ export default function PostFeaturedImageEdit({
183
217
  onChange: newRel => setAttributes({
184
218
  rel: newRel
185
219
  })
186
- })]
220
+ })
187
221
  })]
188
222
  })
189
223
  })]