@wordpress/editor 14.4.0 → 14.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/bindings/post-meta.js +12 -0
  3. package/build/bindings/post-meta.js.map +1 -1
  4. package/build/components/blog-title/index.js +1 -1
  5. package/build/components/blog-title/index.js.map +1 -1
  6. package/build/components/commands/index.js +8 -2
  7. package/build/components/commands/index.js.map +1 -1
  8. package/build/components/create-template-part-modal/index.js +1 -0
  9. package/build/components/create-template-part-modal/index.js.map +1 -1
  10. package/build/components/document-bar/index.js +1 -1
  11. package/build/components/document-bar/index.js.map +1 -1
  12. package/build/components/global-styles-provider/index.js +17 -4
  13. package/build/components/global-styles-provider/index.js.map +1 -1
  14. package/build/components/header/index.js +2 -3
  15. package/build/components/header/index.js.map +1 -1
  16. package/build/components/inserter-sidebar/index.js +5 -2
  17. package/build/components/inserter-sidebar/index.js.map +1 -1
  18. package/build/components/page-attributes/parent.js +11 -6
  19. package/build/components/page-attributes/parent.js.map +1 -1
  20. package/build/components/post-actions/actions.js +10 -811
  21. package/build/components/post-actions/actions.js.map +1 -1
  22. package/build/components/post-actions/index.js +20 -19
  23. package/build/components/post-actions/index.js.map +1 -1
  24. package/build/components/post-author/hook.js +10 -3
  25. package/build/components/post-author/hook.js.map +1 -1
  26. package/build/components/post-author/panel.js +2 -1
  27. package/build/components/post-author/panel.js.map +1 -1
  28. package/build/components/post-card-panel/index.js +21 -21
  29. package/build/components/post-card-panel/index.js.map +1 -1
  30. package/build/components/post-comments/index.js +6 -20
  31. package/build/components/post-comments/index.js.map +1 -1
  32. package/build/components/post-featured-image/index.js +2 -0
  33. package/build/components/post-featured-image/index.js.map +1 -1
  34. package/build/components/post-publish-panel/postpublish.js +4 -0
  35. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  36. package/build/components/post-slug/index.js +1 -0
  37. package/build/components/post-slug/index.js.map +1 -1
  38. package/build/components/post-status/index.js +17 -41
  39. package/build/components/post-status/index.js.map +1 -1
  40. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -1
  41. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  42. package/build/components/post-template/create-new-template-modal.js +3 -0
  43. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  44. package/build/components/post-url/index.js +6 -5
  45. package/build/components/post-url/index.js.map +1 -1
  46. package/build/components/post-url/panel.js +3 -2
  47. package/build/components/post-url/panel.js.map +1 -1
  48. package/build/components/preview-dropdown/index.js +82 -17
  49. package/build/components/preview-dropdown/index.js.map +1 -1
  50. package/build/components/provider/disable-non-page-content-blocks.js +14 -18
  51. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  52. package/build/components/sidebar/post-summary.js +10 -7
  53. package/build/components/sidebar/post-summary.js.map +1 -1
  54. package/build/components/site-discussion/index.js +6 -20
  55. package/build/components/site-discussion/index.js.map +1 -1
  56. package/build/components/template-content-panel/index.js +15 -13
  57. package/build/components/template-content-panel/index.js.map +1 -1
  58. package/build/components/visual-editor/index.js +2 -1
  59. package/build/components/visual-editor/index.js.map +1 -1
  60. package/build/dataviews/actions/duplicate-pattern.js +48 -0
  61. package/build/dataviews/actions/duplicate-pattern.js.map +1 -0
  62. package/build/dataviews/actions/duplicate-post.js +146 -0
  63. package/build/dataviews/actions/duplicate-post.js.map +1 -0
  64. package/build/dataviews/actions/duplicate-post.native.js +9 -0
  65. package/build/dataviews/actions/duplicate-post.native.js.map +1 -0
  66. package/build/dataviews/actions/duplicate-template-part.js +67 -0
  67. package/build/dataviews/actions/duplicate-template-part.js.map +1 -0
  68. package/build/dataviews/actions/export-pattern.native.js +9 -0
  69. package/build/dataviews/actions/export-pattern.native.js.map +1 -0
  70. package/build/dataviews/actions/permanently-delete-post.js +107 -0
  71. package/build/dataviews/actions/permanently-delete-post.js.map +1 -0
  72. package/build/dataviews/actions/rename-post.js +125 -0
  73. package/build/dataviews/actions/rename-post.js.map +1 -0
  74. package/build/dataviews/actions/reorder-page.js +116 -0
  75. package/build/dataviews/actions/reorder-page.js.map +1 -0
  76. package/build/dataviews/actions/reorder-page.native.js +9 -0
  77. package/build/dataviews/actions/reorder-page.native.js.map +1 -0
  78. package/build/dataviews/actions/reset-post.js +1 -1
  79. package/build/dataviews/actions/reset-post.js.map +1 -1
  80. package/build/dataviews/actions/restore-post.js +112 -0
  81. package/build/dataviews/actions/restore-post.js.map +1 -0
  82. package/build/dataviews/actions/trash-post.js +142 -0
  83. package/build/dataviews/actions/trash-post.js.map +1 -0
  84. package/build/dataviews/actions/utils.js +9 -1
  85. package/build/dataviews/actions/utils.js.map +1 -1
  86. package/build/dataviews/actions/view-post-revisions.js +49 -0
  87. package/build/dataviews/actions/view-post-revisions.js.map +1 -0
  88. package/build/dataviews/actions/view-post.js +36 -0
  89. package/build/dataviews/actions/view-post.js.map +1 -0
  90. package/build/dataviews/fields/index.js +32 -0
  91. package/build/dataviews/fields/index.js.map +1 -0
  92. package/build/dataviews/store/private-actions.js +59 -0
  93. package/build/dataviews/store/private-actions.js.map +1 -1
  94. package/build/dataviews/store/private-selectors.js +10 -10
  95. package/build/dataviews/store/private-selectors.js.map +1 -1
  96. package/build/dataviews/store/reducer.js +15 -1
  97. package/build/dataviews/store/reducer.js.map +1 -1
  98. package/build/dataviews/types.js.map +1 -1
  99. package/build/private-apis.js +2 -2
  100. package/build/private-apis.js.map +1 -1
  101. package/build/store/actions.js +16 -2
  102. package/build/store/actions.js.map +1 -1
  103. package/build/store/private-actions.js +9 -2
  104. package/build/store/private-actions.js.map +1 -1
  105. package/build/store/private-selectors.js +33 -2
  106. package/build/store/private-selectors.js.map +1 -1
  107. package/build/store/utils/is-template-revertable.js +1 -1
  108. package/build/store/utils/is-template-revertable.js.map +1 -1
  109. package/build-module/bindings/post-meta.js +12 -0
  110. package/build-module/bindings/post-meta.js.map +1 -1
  111. package/build-module/components/blog-title/index.js +1 -1
  112. package/build-module/components/blog-title/index.js.map +1 -1
  113. package/build-module/components/commands/index.js +8 -2
  114. package/build-module/components/commands/index.js.map +1 -1
  115. package/build-module/components/create-template-part-modal/index.js +1 -0
  116. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  117. package/build-module/components/document-bar/index.js +1 -1
  118. package/build-module/components/document-bar/index.js.map +1 -1
  119. package/build-module/components/global-styles-provider/index.js +17 -4
  120. package/build-module/components/global-styles-provider/index.js.map +1 -1
  121. package/build-module/components/header/index.js +2 -3
  122. package/build-module/components/header/index.js.map +1 -1
  123. package/build-module/components/inserter-sidebar/index.js +5 -2
  124. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  125. package/build-module/components/page-attributes/parent.js +12 -7
  126. package/build-module/components/page-attributes/parent.js.map +1 -1
  127. package/build-module/components/post-actions/actions.js +12 -814
  128. package/build-module/components/post-actions/actions.js.map +1 -1
  129. package/build-module/components/post-actions/index.js +20 -19
  130. package/build-module/components/post-actions/index.js.map +1 -1
  131. package/build-module/components/post-author/hook.js +10 -3
  132. package/build-module/components/post-author/hook.js.map +1 -1
  133. package/build-module/components/post-author/panel.js +2 -1
  134. package/build-module/components/post-author/panel.js.map +1 -1
  135. package/build-module/components/post-card-panel/index.js +21 -21
  136. package/build-module/components/post-card-panel/index.js.map +1 -1
  137. package/build-module/components/post-comments/index.js +7 -23
  138. package/build-module/components/post-comments/index.js.map +1 -1
  139. package/build-module/components/post-featured-image/index.js +2 -0
  140. package/build-module/components/post-featured-image/index.js.map +1 -1
  141. package/build-module/components/post-publish-panel/postpublish.js +4 -0
  142. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  143. package/build-module/components/post-slug/index.js +1 -0
  144. package/build-module/components/post-slug/index.js.map +1 -1
  145. package/build-module/components/post-status/index.js +19 -43
  146. package/build-module/components/post-status/index.js.map +1 -1
  147. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +3 -2
  148. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  149. package/build-module/components/post-template/create-new-template-modal.js +3 -0
  150. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  151. package/build-module/components/post-url/index.js +7 -6
  152. package/build-module/components/post-url/index.js.map +1 -1
  153. package/build-module/components/post-url/panel.js +4 -5
  154. package/build-module/components/post-url/panel.js.map +1 -1
  155. package/build-module/components/preview-dropdown/index.js +84 -19
  156. package/build-module/components/preview-dropdown/index.js.map +1 -1
  157. package/build-module/components/provider/disable-non-page-content-blocks.js +15 -19
  158. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  159. package/build-module/components/sidebar/post-summary.js +10 -7
  160. package/build-module/components/sidebar/post-summary.js.map +1 -1
  161. package/build-module/components/site-discussion/index.js +7 -21
  162. package/build-module/components/site-discussion/index.js.map +1 -1
  163. package/build-module/components/template-content-panel/index.js +16 -14
  164. package/build-module/components/template-content-panel/index.js.map +1 -1
  165. package/build-module/components/visual-editor/index.js +2 -1
  166. package/build-module/components/visual-editor/index.js.map +1 -1
  167. package/build-module/dataviews/actions/duplicate-pattern.js +39 -0
  168. package/build-module/dataviews/actions/duplicate-pattern.js.map +1 -0
  169. package/build-module/dataviews/actions/duplicate-post.js +139 -0
  170. package/build-module/dataviews/actions/duplicate-post.js.map +1 -0
  171. package/build-module/dataviews/actions/duplicate-post.native.js +3 -0
  172. package/build-module/dataviews/actions/duplicate-post.native.js.map +1 -0
  173. package/build-module/dataviews/actions/duplicate-template-part.js +58 -0
  174. package/build-module/dataviews/actions/duplicate-template-part.js.map +1 -0
  175. package/build-module/dataviews/actions/export-pattern.native.js +3 -0
  176. package/build-module/dataviews/actions/export-pattern.native.js.map +1 -0
  177. package/build-module/dataviews/actions/permanently-delete-post.js +99 -0
  178. package/build-module/dataviews/actions/permanently-delete-post.js.map +1 -0
  179. package/build-module/dataviews/actions/rename-post.js +118 -0
  180. package/build-module/dataviews/actions/rename-post.js.map +1 -0
  181. package/build-module/dataviews/actions/reorder-page.js +111 -0
  182. package/build-module/dataviews/actions/reorder-page.js.map +1 -0
  183. package/build-module/dataviews/actions/reorder-page.native.js +3 -0
  184. package/build-module/dataviews/actions/reorder-page.native.js.map +1 -0
  185. package/build-module/dataviews/actions/reset-post.js +1 -1
  186. package/build-module/dataviews/actions/reset-post.js.map +1 -1
  187. package/build-module/dataviews/actions/restore-post.js +104 -0
  188. package/build-module/dataviews/actions/restore-post.js.map +1 -0
  189. package/build-module/dataviews/actions/trash-post.js +135 -0
  190. package/build-module/dataviews/actions/trash-post.js.map +1 -0
  191. package/build-module/dataviews/actions/utils.js +7 -1
  192. package/build-module/dataviews/actions/utils.js.map +1 -1
  193. package/build-module/dataviews/actions/view-post-revisions.js +43 -0
  194. package/build-module/dataviews/actions/view-post-revisions.js.map +1 -0
  195. package/build-module/dataviews/actions/view-post.js +30 -0
  196. package/build-module/dataviews/actions/view-post.js.map +1 -0
  197. package/build-module/dataviews/fields/index.js +26 -0
  198. package/build-module/dataviews/fields/index.js.map +1 -0
  199. package/build-module/dataviews/store/private-actions.js +54 -0
  200. package/build-module/dataviews/store/private-actions.js.map +1 -1
  201. package/build-module/dataviews/store/private-selectors.js +8 -9
  202. package/build-module/dataviews/store/private-selectors.js.map +1 -1
  203. package/build-module/dataviews/store/reducer.js +15 -1
  204. package/build-module/dataviews/store/reducer.js.map +1 -1
  205. package/build-module/dataviews/types.js.map +1 -1
  206. package/build-module/private-apis.js +2 -2
  207. package/build-module/private-apis.js.map +1 -1
  208. package/build-module/store/actions.js +16 -2
  209. package/build-module/store/actions.js.map +1 -1
  210. package/build-module/store/private-actions.js +9 -2
  211. package/build-module/store/private-actions.js.map +1 -1
  212. package/build-module/store/private-selectors.js +32 -2
  213. package/build-module/store/private-selectors.js.map +1 -1
  214. package/build-module/store/utils/is-template-revertable.js +1 -1
  215. package/build-module/store/utils/is-template-revertable.js.map +1 -1
  216. package/build-style/style-rtl.css +21 -34
  217. package/build-style/style.css +21 -34
  218. package/build-types/bindings/post-meta.d.ts +6 -0
  219. package/build-types/bindings/post-meta.d.ts.map +1 -1
  220. package/build-types/components/commands/index.d.ts.map +1 -1
  221. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  222. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  223. package/build-types/components/header/index.d.ts.map +1 -1
  224. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -1
  225. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  226. package/build-types/components/post-actions/actions.d.ts +1 -26
  227. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  228. package/build-types/components/post-actions/index.d.ts +3 -2
  229. package/build-types/components/post-actions/index.d.ts.map +1 -1
  230. package/build-types/components/post-author/hook.d.ts +1 -1
  231. package/build-types/components/post-author/hook.d.ts.map +1 -1
  232. package/build-types/components/post-author/panel.d.ts.map +1 -1
  233. package/build-types/components/post-card-panel/index.d.ts +4 -2
  234. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  235. package/build-types/components/post-comments/index.d.ts.map +1 -1
  236. package/build-types/components/post-slug/index.d.ts.map +1 -1
  237. package/build-types/components/post-status/index.d.ts +2 -1
  238. package/build-types/components/post-status/index.d.ts.map +1 -1
  239. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +1 -17
  240. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  241. package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -1
  242. package/build-types/components/post-url/index.d.ts.map +1 -1
  243. package/build-types/components/post-url/panel.d.ts.map +1 -1
  244. package/build-types/components/preview-dropdown/index.d.ts.map +1 -1
  245. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  246. package/build-types/components/sidebar/post-summary.d.ts.map +1 -1
  247. package/build-types/components/site-discussion/index.d.ts.map +1 -1
  248. package/build-types/components/template-content-panel/index.d.ts.map +1 -1
  249. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  250. package/build-types/dataviews/actions/duplicate-pattern.d.ts +5 -0
  251. package/build-types/dataviews/actions/duplicate-pattern.d.ts.map +1 -0
  252. package/build-types/dataviews/actions/duplicate-post.d.ts +5 -0
  253. package/build-types/dataviews/actions/duplicate-post.d.ts.map +1 -0
  254. package/build-types/dataviews/actions/duplicate-post.native.d.ts +3 -0
  255. package/build-types/dataviews/actions/duplicate-post.native.d.ts.map +1 -0
  256. package/build-types/dataviews/actions/duplicate-template-part.d.ts +5 -0
  257. package/build-types/dataviews/actions/duplicate-template-part.d.ts.map +1 -0
  258. package/build-types/dataviews/actions/export-pattern.native.d.ts +3 -0
  259. package/build-types/dataviews/actions/export-pattern.native.d.ts.map +1 -0
  260. package/build-types/dataviews/actions/permanently-delete-post.d.ts +5 -0
  261. package/build-types/dataviews/actions/permanently-delete-post.d.ts.map +1 -0
  262. package/build-types/dataviews/actions/rename-post.d.ts +5 -0
  263. package/build-types/dataviews/actions/rename-post.d.ts.map +1 -0
  264. package/build-types/dataviews/actions/reorder-page.d.ts +8 -0
  265. package/build-types/dataviews/actions/reorder-page.d.ts.map +1 -0
  266. package/build-types/dataviews/actions/reorder-page.native.d.ts +3 -0
  267. package/build-types/dataviews/actions/reorder-page.native.d.ts.map +1 -0
  268. package/build-types/dataviews/actions/reset-post.d.ts.map +1 -1
  269. package/build-types/dataviews/actions/restore-post.d.ts +5 -0
  270. package/build-types/dataviews/actions/restore-post.d.ts.map +1 -0
  271. package/build-types/dataviews/actions/trash-post.d.ts +5 -0
  272. package/build-types/dataviews/actions/trash-post.d.ts.map +1 -0
  273. package/build-types/dataviews/actions/utils.d.ts +5 -3
  274. package/build-types/dataviews/actions/utils.d.ts.map +1 -1
  275. package/build-types/dataviews/actions/view-post-revisions.d.ts +8 -0
  276. package/build-types/dataviews/actions/view-post-revisions.d.ts.map +1 -0
  277. package/build-types/dataviews/actions/view-post.d.ts +8 -0
  278. package/build-types/dataviews/actions/view-post.d.ts.map +1 -0
  279. package/build-types/dataviews/fields/index.d.ts +8 -0
  280. package/build-types/dataviews/fields/index.d.ts.map +1 -0
  281. package/build-types/dataviews/store/private-actions.d.ts +8 -3
  282. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  283. package/build-types/dataviews/store/private-selectors.d.ts +2 -1
  284. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
  285. package/build-types/dataviews/store/reducer.d.ts +4 -1
  286. package/build-types/dataviews/store/reducer.d.ts.map +1 -1
  287. package/build-types/dataviews/types.d.ts +66 -8
  288. package/build-types/dataviews/types.d.ts.map +1 -1
  289. package/build-types/store/actions.d.ts.map +1 -1
  290. package/build-types/store/private-actions.d.ts.map +1 -1
  291. package/build-types/store/private-selectors.d.ts +11 -0
  292. package/build-types/store/private-selectors.d.ts.map +1 -1
  293. package/build-types/store/reducer.d.ts +1 -0
  294. package/build-types/store/reducer.d.ts.map +1 -1
  295. package/build-types/store/utils/is-template-revertable.d.ts.map +1 -1
  296. package/package.json +36 -36
  297. package/src/bindings/post-meta.js +20 -0
  298. package/src/components/block-manager/style.scss +2 -2
  299. package/src/components/blog-title/index.js +1 -1
  300. package/src/components/commands/index.js +4 -2
  301. package/src/components/create-template-part-modal/index.js +1 -0
  302. package/src/components/document-bar/index.js +1 -1
  303. package/src/components/document-bar/style.scss +1 -1
  304. package/src/components/editor-interface/style.scss +5 -0
  305. package/src/components/error-boundary/style.native.scss +1 -1
  306. package/src/components/error-boundary/style.scss +1 -1
  307. package/src/components/global-styles-provider/index.js +16 -3
  308. package/src/components/header/index.js +1 -2
  309. package/src/components/inserter-sidebar/index.js +10 -4
  310. package/src/components/list-view-sidebar/style.scss +4 -0
  311. package/src/components/page-attributes/parent.js +38 -16
  312. package/src/components/post-actions/actions.js +10 -1044
  313. package/src/components/post-actions/index.js +25 -17
  314. package/src/components/post-author/hook.js +11 -3
  315. package/src/components/post-author/panel.js +3 -1
  316. package/src/components/post-card-panel/index.js +29 -28
  317. package/src/components/post-comments/index.js +7 -20
  318. package/src/components/post-discussion/style.scss +0 -9
  319. package/src/components/post-featured-image/index.js +2 -0
  320. package/src/components/post-format/style.scss +0 -6
  321. package/src/components/post-publish-panel/postpublish.js +8 -2
  322. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +10 -10
  323. package/src/components/post-slug/index.js +1 -0
  324. package/src/components/post-status/index.js +11 -41
  325. package/src/components/post-status/style.scss +0 -19
  326. package/src/components/post-taxonomies/hierarchical-term-selector.js +3 -1
  327. package/src/components/post-template/create-new-template-modal.js +7 -1
  328. package/src/components/post-url/index.js +15 -9
  329. package/src/components/post-url/panel.js +8 -2
  330. package/src/components/preview-dropdown/index.js +113 -35
  331. package/src/components/preview-dropdown/style.scss +5 -0
  332. package/src/components/provider/disable-non-page-content-blocks.js +27 -24
  333. package/src/components/save-publish-panels/style.scss +3 -3
  334. package/src/components/sidebar/post-summary.js +20 -16
  335. package/src/components/site-discussion/index.js +7 -19
  336. package/src/components/site-discussion/style.scss +0 -14
  337. package/src/components/template-content-panel/index.js +40 -22
  338. package/src/components/visual-editor/index.js +8 -6
  339. package/src/components/visual-editor/style.scss +1 -3
  340. package/src/dataviews/actions/duplicate-pattern.tsx +40 -0
  341. package/src/dataviews/actions/duplicate-post.native.tsx +3 -0
  342. package/src/dataviews/actions/duplicate-post.tsx +174 -0
  343. package/src/dataviews/actions/duplicate-template-part.tsx +70 -0
  344. package/src/dataviews/actions/export-pattern.native.tsx +3 -0
  345. package/src/dataviews/actions/permanently-delete-post.tsx +116 -0
  346. package/src/dataviews/actions/rename-post.tsx +146 -0
  347. package/src/dataviews/actions/reorder-page.native.tsx +3 -0
  348. package/src/dataviews/actions/reorder-page.tsx +125 -0
  349. package/src/dataviews/actions/reset-post.tsx +2 -1
  350. package/src/dataviews/actions/restore-post.tsx +134 -0
  351. package/src/dataviews/actions/trash-post.tsx +196 -0
  352. package/src/dataviews/actions/utils.ts +14 -4
  353. package/src/dataviews/actions/view-post-revisions.tsx +47 -0
  354. package/src/dataviews/actions/view-post.tsx +30 -0
  355. package/src/dataviews/fields/index.ts +26 -0
  356. package/src/dataviews/store/private-actions.ts +109 -0
  357. package/src/dataviews/store/private-selectors.ts +9 -17
  358. package/src/dataviews/store/reducer.ts +20 -1
  359. package/src/dataviews/types.ts +58 -6
  360. package/src/private-apis.js +2 -2
  361. package/src/store/actions.js +36 -13
  362. package/src/store/private-actions.js +9 -5
  363. package/src/store/private-selectors.js +45 -2
  364. package/src/store/test/private-selectors.js +78 -0
  365. package/src/store/utils/is-template-revertable.js +2 -1
  366. package/tsconfig.tsbuildinfo +1 -1
  367. package/build/dataviews/actions/index.js +0 -32
  368. package/build/dataviews/actions/index.js.map +0 -1
  369. package/build-module/dataviews/actions/index.js +0 -24
  370. package/build-module/dataviews/actions/index.js.map +0 -1
  371. package/build-types/dataviews/actions/index.d.ts +0 -2
  372. package/build-types/dataviews/actions/index.d.ts.map +0 -1
  373. package/src/components/document-outline/test/__snapshots__/index.js.snap +0 -111
  374. package/src/components/document-outline/test/index.js +0 -185
  375. package/src/dataviews/actions/index.ts +0 -25
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","RadioControl","__experimentalText","Text","__experimentalVStack","VStack","useDispatch","useSelect","store","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","COMMENT_OPTIONS","label","children","variant","size","value","PostComments","commentStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","handleStatus","newCommentStatus","comment_status","spacing","className","hideLabelFromVision","options","onChange","selected"],"sources":["@wordpress/editor/src/components/post-comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRadioControl,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nconst COMMENT_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ _x( 'Open', 'Adjective: e.g. \"Comments are open\"' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Visitors can add new comments and replies.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'open',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Closed' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Visitors cannot add new comments or replies.' ) }\n\t\t\t\t</Text>\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Existing comments remain visible.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'closed',\n\t},\n];\n\nfunction PostComments() {\n\tconst commentStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'comment_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst handleStatus = ( newCommentStatus ) =>\n\t\teditPost( {\n\t\t\tcomment_status: newCommentStatus,\n\t\t} );\n\n\treturn (\n\t\t<form>\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-change-status__options\"\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Comment status' ) }\n\t\t\t\t\toptions={ COMMENT_OPTIONS }\n\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\tselected={ commentStatus }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\n/**\n * A form for managing comment status.\n *\n * @return {JSX.Element} The rendered PostComments component.\n */\nexport default PostComments;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SACCC,YAAY,EACZC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,eAAe,GAAG,CACvB;EACCC,KAAK,eACJF,KAAA,CAAAF,SAAA;IAAAK,QAAA,GACGlB,EAAE,CAAE,MAAM,EAAE,qCAAsC,CAAC,eACrDW,IAAA,CAACR,IAAI;MAACgB,OAAO,EAAC,OAAO;MAACC,IAAI,EAAG,EAAI;MAAAF,QAAA,EAC9BnB,EAAE,CAAE,4CAA6C;IAAC,CAC/C,CAAC;EAAA,CACN,CACF;EACDsB,KAAK,EAAE;AACR,CAAC,EACD;EACCJ,KAAK,eACJF,KAAA,CAAAF,SAAA;IAAAK,QAAA,GACGnB,EAAE,CAAE,QAAS,CAAC,eAChBY,IAAA,CAACR,IAAI;MAACgB,OAAO,EAAC,OAAO;MAACC,IAAI,EAAG,EAAI;MAAAF,QAAA,EAC9BnB,EAAE,CAAE,8CAA+C;IAAC,CACjD,CAAC,eACPY,IAAA,CAACR,IAAI;MAACgB,OAAO,EAAC,OAAO;MAACC,IAAI,EAAG,EAAI;MAAAF,QAAA,EAC9BnB,EAAE,CAAE,mCAAoC;IAAC,CACtC,CAAC;EAAA,CACN,CACF;EACDsB,KAAK,EAAE;AACR,CAAC,CACD;AAED,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAMC,aAAa,GAAGhB,SAAS,CAC5BiB,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEf,WAAY,CAAC,CAACiB,sBAAsB,CAAE,gBAAiB,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAChE,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGrB,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMmB,YAAY,GAAKC,gBAAgB,IACtCF,QAAQ,CAAE;IACTG,cAAc,EAAED;EACjB,CAAE,CAAC;EAEJ,oBACClB,IAAA;IAAAO,QAAA,eACCP,IAAA,CAACN,MAAM;MAAC0B,OAAO,EAAG,CAAG;MAAAb,QAAA,eACpBP,IAAA,CAACV,YAAY;QACZ+B,SAAS,EAAC,+BAA+B;QACzCC,mBAAmB;QACnBhB,KAAK,EAAGlB,EAAE,CAAE,gBAAiB,CAAG;QAChCmC,OAAO,EAAGlB,eAAiB;QAC3BmB,QAAQ,EAAGP,YAAc;QACzBQ,QAAQ,EAAGb;MAAe,CAC1B;IAAC,CACK;EAAC,CACJ,CAAC;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeD,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","RadioControl","__experimentalVStack","VStack","useDispatch","useSelect","store","editorStore","jsx","_jsx","COMMENT_OPTIONS","label","value","description","join","PostComments","commentStatus","select","_select$getEditedPost","getEditedPostAttribute","editPost","handleStatus","newCommentStatus","comment_status","children","spacing","className","hideLabelFromVision","options","onChange","selected"],"sources":["@wordpress/editor/src/components/post-comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRadioControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nconst COMMENT_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Open', 'Adjective: e.g. \"Comments are open\"' ),\n\t\tvalue: 'open',\n\t\tdescription: __( 'Visitors can add new comments and replies.' ),\n\t},\n\t{\n\t\tlabel: __( 'Closed' ),\n\t\tvalue: 'closed',\n\t\tdescription: [\n\t\t\t__( 'Visitors cannot add new comments or replies.' ),\n\t\t\t__( 'Existing comments remain visible.' ),\n\t\t].join( ' ' ),\n\t},\n];\n\nfunction PostComments() {\n\tconst commentStatus = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'comment_status' ) ??\n\t\t\t'open',\n\t\t[]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\n\tconst handleStatus = ( newCommentStatus ) =>\n\t\teditPost( {\n\t\t\tcomment_status: newCommentStatus,\n\t\t} );\n\n\treturn (\n\t\t<form>\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-change-status__options\"\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Comment status' ) }\n\t\t\t\t\toptions={ COMMENT_OPTIONS }\n\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\tselected={ commentStatus }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\n/**\n * A form for managing comment status.\n *\n * @return {JSX.Element} The rendered PostComments component.\n */\nexport default PostComments;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SACCC,YAAY,EACZC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnD,MAAMC,eAAe,GAAG,CACvB;EACCC,KAAK,EAAEX,EAAE,CAAE,MAAM,EAAE,qCAAsC,CAAC;EAC1DY,KAAK,EAAE,MAAM;EACbC,WAAW,EAAEd,EAAE,CAAE,4CAA6C;AAC/D,CAAC,EACD;EACCY,KAAK,EAAEZ,EAAE,CAAE,QAAS,CAAC;EACrBa,KAAK,EAAE,QAAQ;EACfC,WAAW,EAAE,CACZd,EAAE,CAAE,8CAA+C,CAAC,EACpDA,EAAE,CAAE,mCAAoC,CAAC,CACzC,CAACe,IAAI,CAAE,GAAI;AACb,CAAC,CACD;AAED,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAMC,aAAa,GAAGX,SAAS,CAC5BY,MAAM;IAAA,IAAAC,qBAAA;IAAA,QAAAA,qBAAA,GACPD,MAAM,CAAEV,WAAY,CAAC,CAACY,sBAAsB,CAAE,gBAAiB,CAAC,cAAAD,qBAAA,cAAAA,qBAAA,GAChE,MAAM;EAAA,GACP,EACD,CAAC;EACD,MAAM;IAAEE;EAAS,CAAC,GAAGhB,WAAW,CAAEG,WAAY,CAAC;EAC/C,MAAMc,YAAY,GAAKC,gBAAgB,IACtCF,QAAQ,CAAE;IACTG,cAAc,EAAED;EACjB,CAAE,CAAC;EAEJ,oBACCb,IAAA;IAAAe,QAAA,eACCf,IAAA,CAACN,MAAM;MAACsB,OAAO,EAAG,CAAG;MAAAD,QAAA,eACpBf,IAAA,CAACR,YAAY;QACZyB,SAAS,EAAC,+BAA+B;QACzCC,mBAAmB;QACnBhB,KAAK,EAAGZ,EAAE,CAAE,gBAAiB,CAAG;QAChC6B,OAAO,EAAGlB,eAAiB;QAC3BmB,QAAQ,EAAGR,YAAc;QACzBS,QAAQ,EAAGd;MAAe,CAC1B;IAAC,CACK;EAAC,CACJ,CAAC;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeD,YAAY","ignoreList":[]}
@@ -125,6 +125,8 @@ function PostFeaturedImage({
125
125
  "aria-label": !featuredImageId ? null : __('Edit or replace the featured image'),
126
126
  "aria-describedby": !featuredImageId ? null : `editor-post-featured-image-${featuredImageId}-describedby`,
127
127
  "aria-haspopup": "dialog",
128
+ disabled: isLoading,
129
+ accessibleWhenDisabled: true,
128
130
  children: [!!featuredImageId && media && /*#__PURE__*/_jsx("img", {
129
131
  className: "editor-post-featured-image__preview-image",
130
132
  src: mediaSourceUrl,
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","jsx","_jsx","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","children","getMediaDetails","media","postId","_media$media_details$","_media$media_details$2","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","getSettings","onDropFiles","filesList","mediaUpload","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","className","alt_text","full","file","slug","fallback","title","labels","featured_image","onSelect","unstableFeaturedImageFlow","modalClass","render","open","ref","onClick","src","alt","set_featured_image","current","focus","onFilesDrop","value","applyWithSelect","select","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Add a featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst { mediaSourceUrl } = getMediaDetails( media, currentPostId );\n\n\tfunction onDropFiles( filesList ) {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( image ) {\n\t\t\t\t\tonUpdateImage( image );\n\t\t\t\t}\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Edit or replace the featured image'\n\t\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\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__preview-image\"\n\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\talt=\"\"\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\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\n/**\n * Renders the component for managing the featured image of a post.\n *\n * @param {Object} props Props.\n * @param {number} props.currentPostId ID of the current post.\n * @param {number} props.featuredImageId ID of the featured image.\n * @param {Function} props.onUpdateImage Function to call when the image is updated.\n * @param {Function} props.onRemoveImage Function to call when the image is removed.\n * @param {Object} props.media The media object representing the featured image.\n * @param {string} props.postType Post type.\n * @param {Element} props.noticeUI UI for displaying notices.\n * @param {Object} props.noticeOperations Operations for managing notices.\n *\n * @return {Element} Component to be rendered .\n */\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","applyFilters","DropZone","Button","Spinner","withNotices","withFilters","__experimentalHStack","HStack","isBlobURL","useState","useRef","compose","useSelect","withDispatch","withSelect","MediaUpload","MediaUploadCheck","store","blockEditorStore","coreStore","PostFeaturedImageCheck","editorStore","jsx","_jsx","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","instructions","children","getMediaDetails","media","postId","_media$media_details$","_media$media_details$2","defaultSize","id","media_details","sizes","mediaWidth","width","mediaHeight","height","mediaSourceUrl","source_url","fallbackSize","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postType","noticeUI","noticeOperations","toggleRef","isLoading","setIsLoading","getSettings","onDropFiles","filesList","mediaUpload","allowedTypes","onFileChange","image","url","onError","message","removeAllNotices","createErrorNotice","className","alt_text","full","file","slug","fallback","title","labels","featured_image","onSelect","unstableFeaturedImageFlow","modalClass","render","open","ref","onClick","disabled","accessibleWhenDisabled","src","alt","set_featured_image","current","focus","onFilesDrop","value","applyWithSelect","select","getMedia","getPostType","getCurrentPostId","getEditedPostAttribute","context","applyWithDispatch","dispatch","editPost","featured_media","onDropImage"],"sources":["@wordpress/editor/src/components/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tDropZone,\n\tButton,\n\tSpinner,\n\twithNotices,\n\twithFilters,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { useSelect, withDispatch, withSelect } from '@wordpress/data';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport { store as editorStore } from '../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Add a featured image' );\n\nconst instructions = (\n\t<p>\n\t\t{ __(\n\t\t\t'To edit the featured image, you need permission to upload media.'\n\t\t) }\n\t</p>\n);\n\nfunction getMediaDetails( media, postId ) {\n\tif ( ! media ) {\n\t\treturn {};\n\t}\n\n\tconst defaultSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'large',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( defaultSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ defaultSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ defaultSize ].height,\n\t\t\tmediaSourceUrl: media.media_details.sizes[ defaultSize ].source_url,\n\t\t};\n\t}\n\n\t// Use fallbackSize when defaultSize is not available.\n\tconst fallbackSize = applyFilters(\n\t\t'editor.PostFeaturedImage.imageSize',\n\t\t'thumbnail',\n\t\tmedia.id,\n\t\tpostId\n\t);\n\tif ( fallbackSize in ( media?.media_details?.sizes ?? {} ) ) {\n\t\treturn {\n\t\t\tmediaWidth: media.media_details.sizes[ fallbackSize ].width,\n\t\t\tmediaHeight: media.media_details.sizes[ fallbackSize ].height,\n\t\t\tmediaSourceUrl:\n\t\t\t\tmedia.media_details.sizes[ fallbackSize ].source_url,\n\t\t};\n\t}\n\n\t// Use full image size when fallbackSize and defaultSize are not available.\n\treturn {\n\t\tmediaWidth: media.media_details.width,\n\t\tmediaHeight: media.media_details.height,\n\t\tmediaSourceUrl: media.source_url,\n\t};\n}\n\nfunction PostFeaturedImage( {\n\tcurrentPostId,\n\tfeaturedImageId,\n\tonUpdateImage,\n\tonRemoveImage,\n\tmedia,\n\tpostType,\n\tnoticeUI,\n\tnoticeOperations,\n} ) {\n\tconst toggleRef = useRef();\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst { mediaSourceUrl } = getMediaDetails( media, currentPostId );\n\n\tfunction onDropFiles( filesList ) {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetIsLoading( true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( image ) {\n\t\t\t\t\tonUpdateImage( image );\n\t\t\t\t}\n\t\t\t\tsetIsLoading( false );\n\t\t\t},\n\t\t\tonError( message ) {\n\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn (\n\t\t<PostFeaturedImageCheck>\n\t\t\t{ noticeUI }\n\t\t\t<div className=\"editor-post-featured-image\">\n\t\t\t\t{ media && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={ `editor-post-featured-image-${ featuredImageId }-describedby` }\n\t\t\t\t\t\tclassName=\"hidden\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image alt text.\n\t\t\t\t\t\t\t\t__( 'Current image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! media.alt_text &&\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// Translators: %s: The selected image filename.\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'The current image has no alternative text. The file name is: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tmedia.media_details.sizes?.full?.file ||\n\t\t\t\t\t\t\t\t\tmedia.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<MediaUploadCheck fallback={ instructions }>\n\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tpostType?.labels?.featured_image ||\n\t\t\t\t\t\t\tDEFAULT_FEATURE_IMAGE_LABEL\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ onUpdateImage }\n\t\t\t\t\t\tunstableFeaturedImageFlow\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tmodalClass=\"editor-post-featured-image__media-modal\"\n\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t<div className=\"editor-post-featured-image__container\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? 'editor-post-featured-image__toggle'\n\t\t\t\t\t\t\t\t\t\t\t: 'editor-post-featured-image__preview'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Edit or replace the featured image'\n\t\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\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t! featuredImageId\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: `editor-post-featured-image-${ featuredImageId }-describedby`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t\tdisabled={ isLoading }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ !! featuredImageId && media && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__preview-image\"\n\t\t\t\t\t\t\t\t\t\t\tsrc={ mediaSourceUrl }\n\t\t\t\t\t\t\t\t\t\t\talt=\"\"\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\t{ isLoading && <Spinner /> }\n\t\t\t\t\t\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t\t\t\t\t\t! isLoading &&\n\t\t\t\t\t\t\t\t\t\t( postType?.labels\n\t\t\t\t\t\t\t\t\t\t\t?.set_featured_image ||\n\t\t\t\t\t\t\t\t\t\t\tDEFAULT_SET_FEATURE_IMAGE_LABEL ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t{ !! featuredImageId && (\n\t\t\t\t\t\t\t\t\t<HStack className=\"editor-post-featured-image__actions\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-post-featured-image__action\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t\t\t\t\t\t\ttoggleRef.current.focus();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onDropFiles } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t</MediaUploadCheck>\n\t\t\t</div>\n\t\t</PostFeaturedImageCheck>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( coreStore );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( editorStore );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId\n\t\t\t? getMedia( featuredImageId, { context: 'view' } )\n\t\t\t: null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch(\n\t( dispatch, { noticeOperations }, { select } ) => {\n\t\tconst { editPost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonUpdateImage( image ) {\n\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t},\n\t\t\tonDropImage( filesList ) {\n\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t.getSettings()\n\t\t\t\t\t.mediaUpload( {\n\t\t\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\t\t\tfilesList,\n\t\t\t\t\t\tonFileChange( [ image ] ) {\n\t\t\t\t\t\t\teditPost( { featured_media: image.id } );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tnoticeOperations.removeAllNotices();\n\t\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t},\n\t\t\tonRemoveImage() {\n\t\t\t\teditPost( { featured_media: 0 } );\n\t\t\t},\n\t\t};\n\t}\n);\n\n/**\n * Renders the component for managing the featured image of a post.\n *\n * @param {Object} props Props.\n * @param {number} props.currentPostId ID of the current post.\n * @param {number} props.featuredImageId ID of the featured image.\n * @param {Function} props.onUpdateImage Function to call when the image is updated.\n * @param {Function} props.onRemoveImage Function to call when the image is removed.\n * @param {Object} props.media The media object representing the featured image.\n * @param {string} props.postType Post type.\n * @param {Element} props.noticeUI UI for displaying notices.\n * @param {Object} props.noticeOperations Operations for managing notices.\n *\n * @return {Element} Component to be rendered .\n */\nexport default compose(\n\twithNotices,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' )\n)( PostFeaturedImage );\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,7 @@ function CopyButton({
48
48
  }) {
49
49
  const ref = useCopyToClipboard(text, onCopy);
50
50
  return /*#__PURE__*/_jsx(Button, {
51
+ __next40pxDefaultSize: true,
51
52
  variant: "secondary",
52
53
  ref: ref,
53
54
  children: children
@@ -120,6 +121,7 @@ class PostPublishPanelPostpublish extends Component {
120
121
  }), /*#__PURE__*/_jsxs("div", {
121
122
  className: "post-publish-panel__postpublish-post-address-container",
122
123
  children: [/*#__PURE__*/_jsx(TextControl, {
124
+ __next40pxDefaultSize: true,
123
125
  __nextHasNoMarginBottom: true,
124
126
  className: "post-publish-panel__postpublish-post-address",
125
127
  readOnly: true,
@@ -140,9 +142,11 @@ class PostPublishPanelPostpublish extends Component {
140
142
  children: [!isScheduled && /*#__PURE__*/_jsx(Button, {
141
143
  variant: "primary",
142
144
  href: link,
145
+ __next40pxDefaultSize: true,
143
146
  children: viewPostLabel
144
147
  }), /*#__PURE__*/_jsx(Button, {
145
148
  variant: isScheduled ? 'primary' : 'secondary',
149
+ __next40pxDefaultSize: true,
146
150
  href: addLink,
147
151
  children: addNewPostLabel
148
152
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","Button","TextControl","__","sprintf","Component","createRef","withSelect","addQueryArgs","safeDecodeURIComponent","decodeEntities","useCopyToClipboard","store","coreStore","PostScheduleLabel","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","onCopy","children","ref","variant","PostPublishPanelPostpublish","constructor","arguments","state","showCopyConfirmation","bind","onSelectInput","postLink","componentDidMount","props","focusOnMount","current","focus","componentWillUnmount","clearTimeout","dismissCopyConfirmation","setState","setTimeout","event","target","select","render","isScheduled","postType","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","post_type","type","postPublishNonLinkHeader","className","href","title","__nextHasNoMarginBottom","readOnly","label","value","onFocus","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text, onCopy, children } ) {\n\tconst ref = useCopyToClipboard( text, onCopy );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t\tthis.postLink = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.postLink.current.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = postType?.labels?.singular_name;\n\t\tconst viewPostLabel = postType?.labels?.view_item;\n\t\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\t\tconst link =\n\t\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\t\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\t\tpost_type: post.type,\n\t\t} );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t\t<>\n\t\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t\t<PostScheduleLabel />.\n\t\t\t</>\n\t\t) : (\n\t\t\t__( 'is now live.' )\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t\t<a ref={ this.postLink } href={ link }>\n\t\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\t\tonFocus={ this.onSelectInput }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t\t<CopyButton text={ link } onCopy={ this.onCopy }>\n\t\t\t\t\t\t\t\t{ this.state.showCopyConfirmation\n\t\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t\t: __( 'Copy' ) }\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t<Button variant=\"primary\" href={ link }>\n\t\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } =\n\t\tselect( editorStore );\n\tconst { getPostType } = select( coreStore );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PanelBody","Button","TextControl","__","sprintf","Component","createRef","withSelect","addQueryArgs","safeDecodeURIComponent","decodeEntities","useCopyToClipboard","store","coreStore","PostScheduleLabel","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","onCopy","children","ref","__next40pxDefaultSize","variant","PostPublishPanelPostpublish","constructor","arguments","state","showCopyConfirmation","bind","onSelectInput","postLink","componentDidMount","props","focusOnMount","current","focus","componentWillUnmount","clearTimeout","dismissCopyConfirmation","setState","setTimeout","event","target","select","render","isScheduled","postType","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","post_type","type","postPublishNonLinkHeader","className","href","title","__nextHasNoMarginBottom","readOnly","label","value","onFocus","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","getPostType"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text, onCopy, children } ) {\n\tconst ref = useCopyToClipboard( text, onCopy );\n\treturn (\n\t\t<Button __next40pxDefaultSize variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t\tthis.postLink = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.postLink.current.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = postType?.labels?.singular_name;\n\t\tconst viewPostLabel = postType?.labels?.view_item;\n\t\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\t\tconst link =\n\t\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\t\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\t\tpost_type: post.type,\n\t\t} );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t\t<>\n\t\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t\t<PostScheduleLabel />.\n\t\t\t</>\n\t\t) : (\n\t\t\t__( 'is now live.' )\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t\t<a ref={ this.postLink } href={ link }>\n\t\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t\t<TextControl\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\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\t\tonFocus={ this.onSelectInput }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t\t<CopyButton text={ link } onCopy={ this.onCopy }>\n\t\t\t\t\t\t\t\t{ this.state.showCopyConfirmation\n\t\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t\t: __( 'Copy' ) }\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } =\n\t\tselect( editorStore );\n\tconst { getPostType } = select( coreStore );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,7 @@ function PostSlugControl() {
22
22
  } = useDispatch(editorStore);
23
23
  const [forceEmptyField, setForceEmptyField] = useState(false);
24
24
  return /*#__PURE__*/_jsx(TextControl, {
25
+ __next40pxDefaultSize: true,
25
26
  __nextHasNoMarginBottom: true,
26
27
  label: __('Slug'),
27
28
  autoComplete: "off",
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useState","__","safeDecodeURIComponent","cleanForSlug","TextControl","PostSlugCheck","store","editorStore","jsx","_jsx","PostSlugControl","postSlug","select","getEditedPostSlug","editPost","forceEmptyField","setForceEmptyField","__nextHasNoMarginBottom","label","autoComplete","spellCheck","value","onChange","newValue","slug","onBlur","event","target","className","PostSlug","children"],"sources":["@wordpress/editor/src/components/post-slug/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport PostSlugCheck from './check';\nimport { store as editorStore } from '../../store';\n\nfunction PostSlugControl() {\n\tconst postSlug = useSelect( ( select ) => {\n\t\treturn safeDecodeURIComponent(\n\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t);\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\n\treturn (\n\t\t<TextControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Slug' ) }\n\t\t\tautoComplete=\"off\"\n\t\t\tspellCheck=\"false\"\n\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t// reverted to the original value.\n\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonBlur={ ( event ) => {\n\t\t\t\teditPost( {\n\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t} );\n\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tclassName=\"editor-post-slug\"\n\t\t/>\n\t);\n}\n\n/**\n * Renders the PostSlug component. It provide a control for editing the post slug.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function PostSlug() {\n\treturn (\n\t\t<PostSlugCheck>\n\t\t\t<PostSlugControl />\n\t\t</PostSlugCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,sBAAsB,EAAEC,YAAY,QAAQ,gBAAgB;AACrE,SAASC,WAAW,QAAQ,uBAAuB;;AAEnD;AACA;AACA;AACA,OAAOC,aAAa,MAAM,SAAS;AACnC,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnD,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAGZ,SAAS,CAAIa,MAAM,IAAM;IACzC,OAAOV,sBAAsB,CAC5BU,MAAM,CAAEL,WAAY,CAAC,CAACM,iBAAiB,CAAC,CACzC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAS,CAAC,GAAGhB,WAAW,CAAES,WAAY,CAAC;EAC/C,MAAM,CAAEQ,eAAe,EAAEC,kBAAkB,CAAE,GAAGhB,QAAQ,CAAE,KAAM,CAAC;EAEjE,oBACCS,IAAA,CAACL,WAAW;IACXa,uBAAuB;IACvBC,KAAK,EAAGjB,EAAE,CAAE,MAAO,CAAG;IACtBkB,YAAY,EAAC,KAAK;IAClBC,UAAU,EAAC,OAAO;IAClBC,KAAK,EAAGN,eAAe,GAAG,EAAE,GAAGJ,QAAU;IACzCW,QAAQ,EAAKC,QAAQ,IAAM;MAC1BT,QAAQ,CAAE;QAAEU,IAAI,EAAED;MAAS,CAAE,CAAC;MAC9B;MACA;MACA;MACA;MACA,IAAK,CAAEA,QAAQ,EAAG;QACjB,IAAK,CAAER,eAAe,EAAG;UACxBC,kBAAkB,CAAE,IAAK,CAAC;QAC3B;QACA;MACD;MACA,IAAKD,eAAe,EAAG;QACtBC,kBAAkB,CAAE,KAAM,CAAC;MAC5B;IACD,CAAG;IACHS,MAAM,EAAKC,KAAK,IAAM;MACrBZ,QAAQ,CAAE;QACTU,IAAI,EAAErB,YAAY,CAAEuB,KAAK,CAACC,MAAM,CAACN,KAAM;MACxC,CAAE,CAAC;MACH,IAAKN,eAAe,EAAG;QACtBC,kBAAkB,CAAE,KAAM,CAAC;MAC5B;IACD,CAAG;IACHY,SAAS,EAAC;EAAkB,CAC5B,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,QAAQA,CAAA,EAAG;EAClC,oBACCpB,IAAA,CAACJ,aAAa;IAAAyB,QAAA,eACbrB,IAAA,CAACC,eAAe,IAAE;EAAC,CACL,CAAC;AAElB","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","useSelect","useState","__","safeDecodeURIComponent","cleanForSlug","TextControl","PostSlugCheck","store","editorStore","jsx","_jsx","PostSlugControl","postSlug","select","getEditedPostSlug","editPost","forceEmptyField","setForceEmptyField","__next40pxDefaultSize","__nextHasNoMarginBottom","label","autoComplete","spellCheck","value","onChange","newValue","slug","onBlur","event","target","className","PostSlug","children"],"sources":["@wordpress/editor/src/components/post-slug/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport PostSlugCheck from './check';\nimport { store as editorStore } from '../../store';\n\nfunction PostSlugControl() {\n\tconst postSlug = useSelect( ( select ) => {\n\t\treturn safeDecodeURIComponent(\n\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t);\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\n\treturn (\n\t\t<TextControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Slug' ) }\n\t\t\tautoComplete=\"off\"\n\t\t\tspellCheck=\"false\"\n\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t// reverted to the original value.\n\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonBlur={ ( event ) => {\n\t\t\t\teditPost( {\n\t\t\t\t\tslug: cleanForSlug( event.target.value ),\n\t\t\t\t} );\n\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tclassName=\"editor-post-slug\"\n\t\t/>\n\t);\n}\n\n/**\n * Renders the PostSlug component. It provide a control for editing the post slug.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function PostSlug() {\n\treturn (\n\t\t<PostSlugCheck>\n\t\t\t<PostSlugControl />\n\t\t</PostSlugCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,sBAAsB,EAAEC,YAAY,QAAQ,gBAAgB;AACrE,SAASC,WAAW,QAAQ,uBAAuB;;AAEnD;AACA;AACA;AACA,OAAOC,aAAa,MAAM,SAAS;AACnC,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnD,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAMC,QAAQ,GAAGZ,SAAS,CAAIa,MAAM,IAAM;IACzC,OAAOV,sBAAsB,CAC5BU,MAAM,CAAEL,WAAY,CAAC,CAACM,iBAAiB,CAAC,CACzC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAS,CAAC,GAAGhB,WAAW,CAAES,WAAY,CAAC;EAC/C,MAAM,CAAEQ,eAAe,EAAEC,kBAAkB,CAAE,GAAGhB,QAAQ,CAAE,KAAM,CAAC;EAEjE,oBACCS,IAAA,CAACL,WAAW;IACXa,qBAAqB;IACrBC,uBAAuB;IACvBC,KAAK,EAAGlB,EAAE,CAAE,MAAO,CAAG;IACtBmB,YAAY,EAAC,KAAK;IAClBC,UAAU,EAAC,OAAO;IAClBC,KAAK,EAAGP,eAAe,GAAG,EAAE,GAAGJ,QAAU;IACzCY,QAAQ,EAAKC,QAAQ,IAAM;MAC1BV,QAAQ,CAAE;QAAEW,IAAI,EAAED;MAAS,CAAE,CAAC;MAC9B;MACA;MACA;MACA;MACA,IAAK,CAAEA,QAAQ,EAAG;QACjB,IAAK,CAAET,eAAe,EAAG;UACxBC,kBAAkB,CAAE,IAAK,CAAC;QAC3B;QACA;MACD;MACA,IAAKD,eAAe,EAAG;QACtBC,kBAAkB,CAAE,KAAM,CAAC;MAC5B;IACD,CAAG;IACHU,MAAM,EAAKC,KAAK,IAAM;MACrBb,QAAQ,CAAE;QACTW,IAAI,EAAEtB,YAAY,CAAEwB,KAAK,CAACC,MAAM,CAACN,KAAM;MACxC,CAAE,CAAC;MACH,IAAKP,eAAe,EAAG;QACtBC,kBAAkB,CAAE,KAAM,CAAC;MAC5B;IACD,CAAG;IACHa,SAAS,EAAC;EAAkB,CAC5B,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,QAAQA,CAAA,EAAG;EAClC,oBACCrB,IAAA,CAACJ,aAAa;IAAA0B,QAAA,eACbtB,IAAA,CAACC,eAAe,IAAE;EAAC,CACL,CAAC;AAElB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { Button, CheckboxControl, Dropdown, __experimentalText as Text, __experimentalVStack as VStack, TextControl, RadioControl } from '@wordpress/components';
4
+ import { Button, CheckboxControl, Dropdown, __experimentalVStack as VStack, TextControl, RadioControl } from '@wordpress/components';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
6
  import { useDispatch, useSelect } from '@wordpress/data';
7
7
  import { useState, useMemo } from '@wordpress/element';
@@ -19,8 +19,8 @@ import PostSticky from '../post-sticky';
19
19
  import { PrivatePostSchedule } from '../post-schedule';
20
20
  import { store as editorStore } from '../../store';
21
21
  import { jsx as _jsx } from "react/jsx-runtime";
22
- import { Fragment as _Fragment } from "react/jsx-runtime";
23
22
  import { jsxs as _jsxs } from "react/jsx-runtime";
23
+ import { Fragment as _Fragment } from "react/jsx-runtime";
24
24
  const postStatusesInfo = {
25
25
  'auto-draft': {
26
26
  label: __('Draft'),
@@ -48,50 +48,25 @@ const postStatusesInfo = {
48
48
  }
49
49
  };
50
50
  export const STATUS_OPTIONS = [{
51
- label: /*#__PURE__*/_jsxs(_Fragment, {
52
- children: [__('Draft'), /*#__PURE__*/_jsx(Text, {
53
- variant: "muted",
54
- size: 12,
55
- children: __('Not ready to publish.')
56
- })]
57
- }),
58
- value: 'draft'
51
+ label: __('Draft'),
52
+ value: 'draft',
53
+ description: __('Not ready to publish.')
59
54
  }, {
60
- label: /*#__PURE__*/_jsxs(_Fragment, {
61
- children: [__('Pending'), /*#__PURE__*/_jsx(Text, {
62
- variant: "muted",
63
- size: 12,
64
- children: __('Waiting for review before publishing.')
65
- })]
66
- }),
67
- value: 'pending'
55
+ label: __('Pending'),
56
+ value: 'pending',
57
+ description: __('Waiting for review before publishing.')
68
58
  }, {
69
- label: /*#__PURE__*/_jsxs(_Fragment, {
70
- children: [__('Private'), /*#__PURE__*/_jsx(Text, {
71
- variant: "muted",
72
- size: 12,
73
- children: __('Only visible to site admins and editors.')
74
- })]
75
- }),
76
- value: 'private'
59
+ label: __('Private'),
60
+ value: 'private',
61
+ description: __('Only visible to site admins and editors.')
77
62
  }, {
78
- label: /*#__PURE__*/_jsxs(_Fragment, {
79
- children: [__('Scheduled'), /*#__PURE__*/_jsx(Text, {
80
- variant: "muted",
81
- size: 12,
82
- children: __('Publish automatically on a chosen date.')
83
- })]
84
- }),
85
- value: 'future'
63
+ label: __('Scheduled'),
64
+ value: 'future',
65
+ description: __('Publish automatically on a chosen date.')
86
66
  }, {
87
- label: /*#__PURE__*/_jsxs(_Fragment, {
88
- children: [__('Published'), /*#__PURE__*/_jsx(Text, {
89
- variant: "muted",
90
- size: 12,
91
- children: __('Visible to everyone.')
92
- })]
93
- }),
94
- value: 'publish'
67
+ label: __('Published'),
68
+ value: 'publish',
69
+ description: __('Visible to everyone.')
95
70
  }];
96
71
  const DESIGN_POST_TYPES = [TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_POST_TYPE, NAVIGATION_POST_TYPE];
97
72
  export default function PostStatus() {
@@ -237,7 +212,8 @@ export default function PostStatus() {
237
212
  type: "text",
238
213
  id: passwordInputId,
239
214
  __next40pxDefaultSize: true,
240
- __nextHasNoMarginBottom: true
215
+ __nextHasNoMarginBottom: true,
216
+ maxLength: 255
241
217
  })
242
218
  })]
243
219
  }), /*#__PURE__*/_jsx(PostSticky, {})]
@@ -1 +1 @@
1
- {"version":3,"names":["Button","CheckboxControl","Dropdown","__experimentalText","Text","__experimentalVStack","VStack","TextControl","RadioControl","__","sprintf","useDispatch","useSelect","useState","useMemo","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","drafts","published","scheduled","pending","notAllowed","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","PATTERN_POST_TYPE","NAVIGATION_POST_TYPE","PostPanelRow","PostSticky","PrivatePostSchedule","editorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","postStatusesInfo","label","icon","draft","private","future","publish","STATUS_OPTIONS","children","variant","size","value","DESIGN_POST_TYPES","PostStatus","status","date","password","postId","postType","canEdit","select","_getCurrentPost$_link","getEditedPostAttribute","getCurrentPostId","getCurrentPostType","getCurrentPost","_links","showPassword","setShowPassword","passwordInputId","editEntityRecord","popoverAnchor","setPopoverAnchor","popoverProps","anchor","headerTitle","placement","offset","shift","includes","updatePost","newStatus","newPassword","newDate","handleTogglePassword","handleStatus","Date","ref","className","contentClassName","focusOnMount","renderToggle","onToggle","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","showPopoverHeaderActions","isCompact","as","__nextHasNoMarginBottom","help","checked","placeholder","type","id","__next40pxDefaultSize"],"sources":["@wordpress/editor/src/components/post-status/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tCheckboxControl,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tdrafts,\n\tpublished,\n\tscheduled,\n\tpending,\n\tnotAllowed,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n} from '../../store/constants';\nimport PostPanelRow from '../post-panel-row';\nimport PostSticky from '../post-sticky';\nimport { PrivatePostSchedule } from '../post-schedule';\nimport { store as editorStore } from '../../store';\n\nconst postStatusesInfo = {\n\t'auto-draft': { label: __( 'Draft' ), icon: drafts },\n\tdraft: { label: __( 'Draft' ), icon: drafts },\n\tpending: { label: __( 'Pending' ), icon: pending },\n\tprivate: { label: __( 'Private' ), icon: notAllowed },\n\tfuture: { label: __( 'Scheduled' ), icon: scheduled },\n\tpublish: { label: __( 'Published' ), icon: published },\n};\n\nexport const STATUS_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Draft' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Not ready to publish.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'draft',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Pending' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Waiting for review before publishing.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'pending',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Private' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Only visible to site admins and editors.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'private',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Scheduled' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Publish automatically on a chosen date.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'future',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Published' ) }\n\t\t\t\t<Text variant=\"muted\" size={ 12 }>\n\t\t\t\t\t{ __( 'Visible to everyone.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'publish',\n\t},\n];\n\nconst DESIGN_POST_TYPES = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n];\n\nexport default function PostStatus() {\n\tconst { status, date, password, postId, postType, canEdit } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPost,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tstatus: getEditedPostAttribute( 'status' ),\n\t\t\t\tdate: getEditedPostAttribute( 'date' ),\n\t\t\t\tpassword: getEditedPostAttribute( 'password' ),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tcanEdit:\n\t\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst passwordInputId = useInstanceId(\n\t\tPostStatus,\n\t\t'editor-change-status__password-input'\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\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() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Status & visibility' ),\n\t\t\theaderTitle: __( 'Status & visibility' ),\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tif ( DESIGN_POST_TYPES.includes( postType ) ) {\n\t\treturn null;\n\t}\n\n\tconst updatePost = ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tstatus: newStatus,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tupdatePost( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( status === 'future' && new Date( date ) > new Date() ) {\n\t\t\tnewDate = null;\n\t\t}\n\t\tif ( value === 'private' && password ) {\n\t\t\tnewPassword = '';\n\t\t}\n\t\tupdatePost( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Status' ) } ref={ setPopoverAnchor }>\n\t\t\t{ canEdit ? (\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"editor-post-status\"\n\t\t\t\t\tcontentClassName=\"editor-change-status__content\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\ticon={ postStatusesInfo[ status ]?.icon }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post status.\n\t\t\t\t\t\t\t\t__( 'Change post status: %s' ),\n\t\t\t\t\t\t\t\tpostStatusesInfo[ status ]?.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postStatusesInfo[ status ]?.label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Status & visibility' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"editor-change-status__options\"\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\t\t\t\tstatus === 'auto-draft'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'draft'\n\t\t\t\t\t\t\t\t\t\t\t\t: status\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\t{ status === 'future' && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"editor-change-status__publish-date-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<PrivatePostSchedule\n\t\t\t\t\t\t\t\t\t\t\t\tshowPopoverHeaderActions={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\t\tas=\"fieldset\"\n\t\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-change-status__password-fieldset\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Password protected'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Only visible to those who know the password'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleTogglePassword\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"editor-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePost( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={ passwordInputId }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<PostSticky />\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"editor-post-status is-read-only\">\n\t\t\t\t\t{ postStatusesInfo[ status ]?.label }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","CheckboxControl","Dropdown","__experimentalVStack","VStack","TextControl","RadioControl","__","sprintf","useDispatch","useSelect","useState","useMemo","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","drafts","published","scheduled","pending","notAllowed","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","PATTERN_POST_TYPE","NAVIGATION_POST_TYPE","PostPanelRow","PostSticky","PrivatePostSchedule","editorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","postStatusesInfo","label","icon","draft","private","future","publish","STATUS_OPTIONS","value","description","DESIGN_POST_TYPES","PostStatus","status","date","password","postId","postType","canEdit","select","_getCurrentPost$_link","getEditedPostAttribute","getCurrentPostId","getCurrentPostType","getCurrentPost","_links","showPassword","setShowPassword","passwordInputId","editEntityRecord","popoverAnchor","setPopoverAnchor","popoverProps","anchor","headerTitle","placement","offset","shift","includes","updatePost","newStatus","newPassword","newDate","handleTogglePassword","handleStatus","Date","ref","children","className","contentClassName","focusOnMount","renderToggle","onToggle","variant","size","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","showPopoverHeaderActions","isCompact","as","__nextHasNoMarginBottom","help","checked","placeholder","type","id","__next40pxDefaultSize","maxLength"],"sources":["@wordpress/editor/src/components/post-status/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tCheckboxControl,\n\tDropdown,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tdrafts,\n\tpublished,\n\tscheduled,\n\tpending,\n\tnotAllowed,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n} from '../../store/constants';\nimport PostPanelRow from '../post-panel-row';\nimport PostSticky from '../post-sticky';\nimport { PrivatePostSchedule } from '../post-schedule';\nimport { store as editorStore } from '../../store';\n\nconst postStatusesInfo = {\n\t'auto-draft': { label: __( 'Draft' ), icon: drafts },\n\tdraft: { label: __( 'Draft' ), icon: drafts },\n\tpending: { label: __( 'Pending' ), icon: pending },\n\tprivate: { label: __( 'Private' ), icon: notAllowed },\n\tfuture: { label: __( 'Scheduled' ), icon: scheduled },\n\tpublish: { label: __( 'Published' ), icon: published },\n};\n\nexport const STATUS_OPTIONS = [\n\t{\n\t\tlabel: __( 'Draft' ),\n\t\tvalue: 'draft',\n\t\tdescription: __( 'Not ready to publish.' ),\n\t},\n\t{\n\t\tlabel: __( 'Pending' ),\n\t\tvalue: 'pending',\n\t\tdescription: __( 'Waiting for review before publishing.' ),\n\t},\n\t{\n\t\tlabel: __( 'Private' ),\n\t\tvalue: 'private',\n\t\tdescription: __( 'Only visible to site admins and editors.' ),\n\t},\n\t{\n\t\tlabel: __( 'Scheduled' ),\n\t\tvalue: 'future',\n\t\tdescription: __( 'Publish automatically on a chosen date.' ),\n\t},\n\t{\n\t\tlabel: __( 'Published' ),\n\t\tvalue: 'publish',\n\t\tdescription: __( 'Visible to everyone.' ),\n\t},\n];\n\nconst DESIGN_POST_TYPES = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n];\n\nexport default function PostStatus() {\n\tconst { status, date, password, postId, postType, canEdit } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostAttribute,\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetCurrentPost,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tstatus: getEditedPostAttribute( 'status' ),\n\t\t\t\tdate: getEditedPostAttribute( 'date' ),\n\t\t\t\tpassword: getEditedPostAttribute( 'password' ),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tcanEdit:\n\t\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst passwordInputId = useInstanceId(\n\t\tPostStatus,\n\t\t'editor-change-status__password-input'\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\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() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Status & visibility' ),\n\t\t\theaderTitle: __( 'Status & visibility' ),\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tif ( DESIGN_POST_TYPES.includes( postType ) ) {\n\t\treturn null;\n\t}\n\n\tconst updatePost = ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\teditEntityRecord( 'postType', postType, postId, {\n\t\t\tstatus: newStatus,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tupdatePost( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( status === 'future' && new Date( date ) > new Date() ) {\n\t\t\tnewDate = null;\n\t\t}\n\t\tif ( value === 'private' && password ) {\n\t\t\tnewPassword = '';\n\t\t}\n\t\tupdatePost( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Status' ) } ref={ setPopoverAnchor }>\n\t\t\t{ canEdit ? (\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"editor-post-status\"\n\t\t\t\t\tcontentClassName=\"editor-change-status__content\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\ticon={ postStatusesInfo[ status ]?.icon }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post status.\n\t\t\t\t\t\t\t\t__( 'Change post status: %s' ),\n\t\t\t\t\t\t\t\tpostStatusesInfo[ status ]?.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postStatusesInfo[ status ]?.label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Status & visibility' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"editor-change-status__options\"\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\t\t\t\tstatus === 'auto-draft'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'draft'\n\t\t\t\t\t\t\t\t\t\t\t\t: status\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\t{ status === 'future' && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"editor-change-status__publish-date-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<PrivatePostSchedule\n\t\t\t\t\t\t\t\t\t\t\t\tshowPopoverHeaderActions={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\t\tas=\"fieldset\"\n\t\t\t\t\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"editor-change-status__password-fieldset\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Password protected'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Only visible to those who know the password'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleTogglePassword\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"editor-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdatePost( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={ passwordInputId }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={ 255 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<PostSticky />\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"editor-post-status is-read-only\">\n\t\t\t\t\t{ postStatusesInfo[ status ]?.label }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  import { __, _n, _x, sprintf } from '@wordpress/i18n';
5
5
  import { useMemo, useState } from '@wordpress/element';
6
6
  import { store as noticesStore } from '@wordpress/notices';
7
- import { Button, CheckboxControl, TextControl, TreeSelect, withFilters, Flex, FlexItem } from '@wordpress/components';
7
+ import { Button, CheckboxControl, TextControl, TreeSelect, withFilters, Flex, FlexItem, SearchControl } from '@wordpress/components';
8
8
  import { useDispatch, useSelect } from '@wordpress/data';
9
9
  import { useDebounce } from '@wordpress/compose';
10
10
  import { store as coreStore } from '@wordpress/core-data';
@@ -328,7 +328,8 @@ export function HierarchicalTermSelector({
328
328
  return /*#__PURE__*/_jsxs(Flex, {
329
329
  direction: "column",
330
330
  gap: "4",
331
- children: [showFilter && /*#__PURE__*/_jsx(TextControl, {
331
+ children: [showFilter && /*#__PURE__*/_jsx(SearchControl, {
332
+ __next40pxDefaultSize: true,
332
333
  __nextHasNoMarginBottom: true,
333
334
  label: filterLabel,
334
335
  value: filterValue,
@@ -1 +1 @@
1
- {"version":3,"names":["__","_n","_x","sprintf","useMemo","useState","store","noticesStore","Button","CheckboxControl","TextControl","TreeSelect","withFilters","Flex","FlexItem","useDispatch","useSelect","useDebounce","coreStore","speak","decodeEntities","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","getTaxonomy","getEntityRecords","isResolving","_taxonomy","post","_links","rest_base","editPost","saveEntityRecord","availableTermsTree","createErrorNotice","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","termAddedMessage","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","renderTerms","renderedTerms","className","__nextHasNoMarginBottom","checked","label","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","direction","gap","tabIndex","role","onClick","variant","onSubmit","__next40pxDefaultSize","required","noOptionLabel","selectedId","tree"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\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\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_n","_x","sprintf","useMemo","useState","store","noticesStore","Button","CheckboxControl","TextControl","TreeSelect","withFilters","Flex","FlexItem","SearchControl","useDispatch","useSelect","useDebounce","coreStore","speak","decodeEntities","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","DEFAULT_QUERY","per_page","orderby","order","_fields","context","MIN_TERMS_COUNT_FOR_FILTER","EMPTY_ARRAY","sortBySelected","termsTree","terms","treeHasSelection","termTree","indexOf","id","undefined","children","map","filter","child","length","termOrChildIsSelected","termA","termB","termASelected","termBSelected","newTermTree","sort","findTerm","parent","name","find","term","parseInt","toLowerCase","getFilterMatcher","filterValue","matchTermsForFilter","originalTerm","HierarchicalTermSelector","slug","_taxonomy$labels$sear","_taxonomy$name","adding","setAdding","formName","setFormName","formParent","setFormParent","showForm","setShowForm","setFilterValue","filteredTermsTree","setFilteredTermsTree","debouncedSpeak","hasCreateAction","hasAssignAction","loading","availableTerms","taxonomy","select","_post$_links","_post$_links2","getCurrentPost","getEditedPostAttribute","getTaxonomy","getEntityRecords","isResolving","_taxonomy","post","_links","rest_base","editPost","saveEntityRecord","availableTermsTree","createErrorNotice","addTerm","throwOnError","onUpdateTerms","termIds","onChange","termId","hasTerm","includes","newTerms","onChangeFormName","value","onChangeFormParent","parentId","onToggleForm","onAddTerm","event","_taxonomy$labels$sing","preventDefault","existingTerm","some","newTerm","error","message","type","defaultName","termAddedMessage","labels","singular_name","setFilter","newFilteredTermsTree","getResultCount","count","i","resultCount","resultsFoundMessage","renderTerms","renderedTerms","className","__nextHasNoMarginBottom","checked","label","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","_taxonomy$labels$labe","newTermButtonLabel","newTermLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","filterLabel","search_items","groupLabel","showFilter","direction","gap","__next40pxDefaultSize","tabIndex","role","onClick","variant","onSubmit","required","noOptionLabel","selectedId","tree"],"sources":["@wordpress/editor/src/components/post-taxonomies/hierarchical-term-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tButton,\n\tCheckboxControl,\n\tTextControl,\n\tTreeSelect,\n\twithFilters,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n\t_fields: 'id,name,parent',\n\tcontext: 'view',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Sort Terms by Selected.\n *\n * @param {Object[]} termsTree Array of terms in tree format.\n * @param {number[]} terms Selected terms.\n *\n * @return {Object[]} Sorted array of terms.\n */\nexport function sortBySelected( termsTree, terms ) {\n\tconst treeHasSelection = ( termTree ) => {\n\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( undefined === termTree.children ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\ttermTree.children\n\t\t\t\t.map( treeHasSelection )\n\t\t\t\t.filter( ( child ) => child ).length > 0\n\t\t);\n\t};\n\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\tconst termASelected = treeHasSelection( termA );\n\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\tif ( termASelected === termBSelected ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif ( termASelected && ! termBSelected ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tif ( ! termASelected && termBSelected ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t};\n\tconst newTermTree = [ ...termsTree ];\n\tnewTermTree.sort( termOrChildIsSelected );\n\treturn newTermTree;\n}\n\n/**\n * Find term by parent id or name.\n *\n * @param {Object[]} terms Array of Terms.\n * @param {number|string} parent id.\n * @param {string} name Term name.\n * @return {Object} Term object.\n */\nexport function findTerm( terms, parent, name ) {\n\treturn terms.find( ( term ) => {\n\t\treturn (\n\t\t\t( ( ! term.parent && ! parent ) ||\n\t\t\t\tparseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\tterm.name.toLowerCase() === name.toLowerCase()\n\t\t);\n\t} );\n}\n\n/**\n * Get filter matcher function.\n *\n * @param {string} filterValue Filter value.\n * @return {(function(Object): (Object|boolean))} Matcher function.\n */\nexport function getFilterMatcher( filterValue ) {\n\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\tif ( '' === filterValue ) {\n\t\t\treturn originalTerm;\n\t\t}\n\n\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t// don't want to modify the original term.\n\t\tconst term = { ...originalTerm };\n\n\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t// and any deeper levels.\n\t\tif ( term.children.length > 0 ) {\n\t\t\tterm.children = term.children\n\t\t\t\t.map( matchTermsForFilter )\n\t\t\t\t.filter( ( child ) => child );\n\t\t}\n\n\t\t// If the term's name contains the filterValue, or it has children\n\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\tif (\n\t\t\t-1 !==\n\t\t\t\tterm.name.toLowerCase().indexOf( filterValue.toLowerCase() ) ||\n\t\t\tterm.children.length > 0\n\t\t) {\n\t\t\treturn term;\n\t\t}\n\n\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t// to have false values filtered out.\n\t\treturn false;\n\t};\n\treturn matchTermsForFilter;\n}\n\n/**\n * Hierarchical term selector.\n *\n * @param {Object} props Component props.\n * @param {string} props.slug Taxonomy slug.\n * @return {Element} Hierarchical term selector component.\n */\nexport function HierarchicalTermSelector( { slug } ) {\n\tconst [ adding, setAdding ] = useState( false );\n\tconst [ formName, setFormName ] = useState( '' );\n\t/**\n\t * @type {[number|'', Function]}\n\t */\n\tconst [ formParent, setFormParent ] = useState( '' );\n\tconst [ showForm, setShowForm ] = useState( false );\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ filteredTermsTree, setFilteredTermsTree ] = useState( [] );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst {\n\t\thasCreateAction,\n\t\thasAssignAction,\n\t\tterms,\n\t\tloading,\n\t\tavailableTerms,\n\t\ttaxonomy,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCurrentPost, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { getTaxonomy, getEntityRecords, isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst post = getCurrentPost();\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\tterms: _taxonomy\n\t\t\t\t\t? getEditedPostAttribute( _taxonomy.rest_base )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\tloading: isResolving( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tDEFAULT_QUERY,\n\t\t\t\t] ),\n\t\t\t\tavailableTerms:\n\t\t\t\t\tgetEntityRecords( 'taxonomy', slug, DEFAULT_QUERY ) ||\n\t\t\t\t\tEMPTY_ARRAY,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t};\n\t\t},\n\t\t[ slug ]\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tconst availableTermsTree = useMemo(\n\t\t() => sortBySelected( buildTermsTree( availableTerms ), terms ),\n\t\t// Remove `terms` from the dependency list to avoid reordering every time\n\t\t// checking or unchecking a term.\n\t\t[ availableTerms ]\n\t);\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Append new term.\n\t *\n\t * @param {Object} term Term object.\n\t * @return {Promise} A promise that resolves to save term object.\n\t */\n\tconst addTerm = ( term ) => {\n\t\treturn saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\tthrowOnError: true,\n\t\t} );\n\t};\n\n\t/**\n\t * Update terms for post.\n\t *\n\t * @param {number[]} termIds Term ids.\n\t */\n\tconst onUpdateTerms = ( termIds ) => {\n\t\teditPost( { [ taxonomy.rest_base ]: termIds } );\n\t};\n\n\t/**\n\t * Handler for checking term.\n\t *\n\t * @param {number} termId\n\t */\n\tconst onChange = ( termId ) => {\n\t\tconst hasTerm = terms.includes( termId );\n\t\tconst newTerms = hasTerm\n\t\t\t? terms.filter( ( id ) => id !== termId )\n\t\t\t: [ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t};\n\n\tconst onChangeFormName = ( value ) => {\n\t\tsetFormName( value );\n\t};\n\n\t/**\n\t * Handler for changing form parent.\n\t *\n\t * @param {number|''} parentId Parent post id.\n\t */\n\tconst onChangeFormParent = ( parentId ) => {\n\t\tsetFormParent( parentId );\n\t};\n\n\tconst onToggleForm = () => {\n\t\tsetShowForm( ! showForm );\n\t};\n\n\tconst onAddTerm = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( formName === '' || adding ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the term we are adding already exists.\n\t\tconst existingTerm = findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// If the term we are adding exists but is not selected select it.\n\t\t\tif ( ! terms.some( ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\n\t\t\tsetFormName( '' );\n\t\t\tsetFormParent( '' );\n\n\t\t\treturn;\n\t\t}\n\t\tsetAdding( true );\n\t\tlet newTerm;\n\t\ttry {\n\t\t\tnewTerm = await addTerm( {\n\t\t\t\tname: formName,\n\t\t\t\tparent: formParent ? formParent : undefined,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\tconst defaultName =\n\t\t\tslug === 'category' ? __( 'Category' ) : __( 'Term' );\n\t\tconst termAddedMessage = sprintf(\n\t\t\t/* translators: %s: taxonomy name */\n\t\t\t_x( '%s added', 'term' ),\n\t\t\ttaxonomy?.labels?.singular_name ?? defaultName\n\t\t);\n\t\tspeak( termAddedMessage, 'assertive' );\n\t\tsetAdding( false );\n\t\tsetFormName( '' );\n\t\tsetFormParent( '' );\n\t\tonUpdateTerms( [ ...terms, newTerm.id ] );\n\t};\n\n\tconst setFilter = ( value ) => {\n\t\tconst newFilteredTermsTree = availableTermsTree\n\t\t\t.map( getFilterMatcher( value ) )\n\t\t\t.filter( ( term ) => term );\n\t\tconst getResultCount = ( termsTree ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < termsTree.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== termsTree[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( termsTree[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\n\t\tsetFilterValue( value );\n\t\tsetFilteredTermsTree( newFilteredTermsTree );\n\n\t\tconst resultCount = getResultCount( newFilteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results */\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t};\n\n\tconst renderTerms = ( renderedTerms ) => {\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ term.id }\n\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-choice\"\n\t\t\t\t>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tchecked={ terms.indexOf( term.id ) !== -1 }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tconst termId = parseInt( term.id, 10 );\n\t\t\t\t\t\t\tonChange( termId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ decodeEntities( term.name ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t<div className=\"editor-post-taxonomies__hierarchical-terms-subchoices\">\n\t\t\t\t\t\t\t{ renderTerms( term.children ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t};\n\n\tconst labelWithFallback = (\n\t\tlabelProperty,\n\t\tfallbackIsCategory,\n\t\tfallbackIsNotCategory\n\t) =>\n\t\ttaxonomy?.labels?.[ labelProperty ] ??\n\t\t( slug === 'category' ? fallbackIsCategory : fallbackIsNotCategory );\n\n\tconst newTermButtonLabel = labelWithFallback(\n\t\t'add_new_item',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst newTermLabel = labelWithFallback(\n\t\t'new_item_name',\n\t\t__( 'Add new category' ),\n\t\t__( 'Add new term' )\n\t);\n\tconst parentSelectLabel = labelWithFallback(\n\t\t'parent_item',\n\t\t__( 'Parent Category' ),\n\t\t__( 'Parent Term' )\n\t);\n\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\tconst newTermSubmitLabel = newTermButtonLabel;\n\tconst filterLabel = taxonomy?.labels?.search_items ?? __( 'Search Terms' );\n\tconst groupLabel = taxonomy?.name ?? __( 'Terms' );\n\tconst showFilter = availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER;\n\n\treturn (\n\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t{ showFilter && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ filterLabel }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ setFilter }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-list\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ groupLabel }\n\t\t\t>\n\t\t\t\t{ renderTerms(\n\t\t\t\t\t'' !== filterValue ? filteredTermsTree : availableTermsTree\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! loading && hasCreateAction && (\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggleForm }\n\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-add\"\n\t\t\t\t\t\taria-expanded={ showForm }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t) }\n\t\t\t{ showForm && (\n\t\t\t\t<form onSubmit={ onAddTerm }>\n\t\t\t\t\t<Flex direction=\"column\" gap=\"4\">\n\t\t\t\t\t\t<TextControl\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\tclassName=\"editor-post-taxonomies__hierarchical-terms-input\"\n\t\t\t\t\t\t\tlabel={ newTermLabel }\n\t\t\t\t\t\t\tvalue={ formName }\n\t\t\t\t\t\t\tonChange={ onChangeFormName }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ !! availableTerms.length && (\n\t\t\t\t\t\t\t<TreeSelect\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ parentSelectLabel }\n\t\t\t\t\t\t\t\tnoOptionLabel={ noParentOption }\n\t\t\t\t\t\t\t\tonChange={ onChangeFormParent }\n\t\t\t\t\t\t\t\tselectedId={ formParent }\n\t\t\t\t\t\t\t\ttree={ availableTermsTree }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-taxonomies__hierarchical-terms-submit\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</form>\n\t\t\t) }\n\t\t</Flex>\n\t);\n}\n\nexport default withFilters( 'editor.PostTaxonomyType' )(\n\tHierarchicalTermSelector\n);\n"],"mappings":"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","ignoreList":[]}